From 320c3ae4c827ea7b752c8a29f06a06ae07d2a3b2 Mon Sep 17 00:00:00 2001 From: Lance Martin <122662504+rlancemartin@users.noreply.github.com> Date: Wed, 20 Dec 2023 15:28:53 -0800 Subject: [PATCH] templates: Add Ollama multi-modal templates (#14868) Templates for [local multi-modal LLMs](https://llava-vl.github.io/llava-interactive/) using - * Image summaries * Multi-modal embeddings --------- Co-authored-by: Erick Friis --- .../README.md | 69 +- .../ingest.py | 24 +- .../chain.py | 20 +- templates/rag-chroma-multi-modal/README.md | 29 +- templates/rag-gemini-multi-modal/README.md | 29 +- templates/rag-multi-modal-local/.gitignore | 2 + templates/rag-multi-modal-local/LICENSE | 21 + templates/rag-multi-modal-local/README.md | 122 + .../rag-multi-modal-local/docs/bread_bowl.jpg | Bin 0 -> 61289 bytes .../rag-multi-modal-local/docs/in_and_out.jpg | Bin 0 -> 96200 bytes .../rag-multi-modal-local/docs/matcha.jpg | Bin 0 -> 57174 bytes templates/rag-multi-modal-local/ingest.py | 35 + templates/rag-multi-modal-local/poetry.lock | 3490 +++++++++++++++++ .../rag-multi-modal-local/pyproject.toml | 38 + .../rag_multi_modal_local.ipynb | 52 + .../rag_multi_modal_local/__init__.py | 3 + .../rag_multi_modal_local/chain.py | 122 + .../rag-multi-modal-local/tests/__init__.py | 0 templates/rag-multi-modal-mv-local/.gitignore | 3 + templates/rag-multi-modal-mv-local/LICENSE | 21 + templates/rag-multi-modal-mv-local/README.md | 118 + .../docs/bread_bowl.jpg | Bin 0 -> 61289 bytes .../docs/in_and_out.jpg | Bin 0 -> 96200 bytes .../rag-multi-modal-mv-local/docs/matcha.jpg | Bin 0 -> 57174 bytes templates/rag-multi-modal-mv-local/ingest.py | 192 + .../rag-multi-modal-mv-local/poetry.lock | 2920 ++++++++++++++ .../rag-multi-modal-mv-local/pyproject.toml | 38 + .../rag-multi-modal-mv-local.ipynb | 52 + .../rag_multi_modal_mv_local/__init__.py | 3 + .../rag_multi_modal_mv_local/chain.py | 131 + .../tests/__init__.py | 0 31 files changed, 7478 insertions(+), 56 deletions(-) create mode 100644 templates/rag-multi-modal-local/.gitignore create mode 100644 templates/rag-multi-modal-local/LICENSE create mode 100644 templates/rag-multi-modal-local/README.md create mode 100644 templates/rag-multi-modal-local/docs/bread_bowl.jpg create mode 100644 templates/rag-multi-modal-local/docs/in_and_out.jpg create mode 100644 templates/rag-multi-modal-local/docs/matcha.jpg create mode 100644 templates/rag-multi-modal-local/ingest.py create mode 100644 templates/rag-multi-modal-local/poetry.lock create mode 100644 templates/rag-multi-modal-local/pyproject.toml create mode 100644 templates/rag-multi-modal-local/rag_multi_modal_local.ipynb create mode 100644 templates/rag-multi-modal-local/rag_multi_modal_local/__init__.py create mode 100644 templates/rag-multi-modal-local/rag_multi_modal_local/chain.py create mode 100644 templates/rag-multi-modal-local/tests/__init__.py create mode 100644 templates/rag-multi-modal-mv-local/.gitignore create mode 100644 templates/rag-multi-modal-mv-local/LICENSE create mode 100644 templates/rag-multi-modal-mv-local/README.md create mode 100644 templates/rag-multi-modal-mv-local/docs/bread_bowl.jpg create mode 100644 templates/rag-multi-modal-mv-local/docs/in_and_out.jpg create mode 100644 templates/rag-multi-modal-mv-local/docs/matcha.jpg create mode 100644 templates/rag-multi-modal-mv-local/ingest.py create mode 100644 templates/rag-multi-modal-mv-local/poetry.lock create mode 100644 templates/rag-multi-modal-mv-local/pyproject.toml create mode 100644 templates/rag-multi-modal-mv-local/rag-multi-modal-mv-local.ipynb create mode 100644 templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/__init__.py create mode 100644 templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/chain.py create mode 100644 templates/rag-multi-modal-mv-local/tests/__init__.py diff --git a/templates/rag-chroma-multi-modal-multi-vector/README.md b/templates/rag-chroma-multi-modal-multi-vector/README.md index cd4486c9411..ad3f9795f07 100644 --- a/templates/rag-chroma-multi-modal-multi-vector/README.md +++ b/templates/rag-chroma-multi-modal-multi-vector/README.md @@ -1,53 +1,72 @@ # rag-chroma-multi-modal-multi-vector -Presentations (slide decks, etc) contain visual content that challenges conventional RAG. +Multi-modal LLMs enable text-to-image retrieval and question-answering over images. -Multi-modal LLMs unlock new ways to build apps over visual content like presentations. - -This template performs multi-modal RAG using Chroma with the multi-vector retriever (see [blog](https://blog.langchain.dev/multi-modal-rag-template/)): +You can ask questions in natural language about a collection of photos, retrieve relevant ones, and have a multi-modal LLM answer questions about the retrieved images. -* Extracts the slides as images -* Uses GPT-4V to summarize each image -* Embeds the image summaries with a link to the original images -* Retrieves relevant image based on similarity between the image summary and the user input -* Finally pass those images to GPT-4V for answer synthesis +This template performs text-to-image retrieval for question-answering about a slide deck, which often contains visual elements that are not captured in standard RAG. + +This will use GPT-4V for image captioning and answer synthesis. + +## Input + +Supply a slide deck as pdf in the `/docs` directory. + +By default, this template has a slide deck about Q3 earnings from DataDog, a public techologyy company. + +Example questions to ask can be: +``` +How many customers does Datadog have? +What is Datadog platform % Y/Y growth in FY20, FY21, and FY22? +``` + +To create an index of the slide deck, run: +``` +poetry install +python ingest.py +``` ## Storage +Here is the process the template will use to create an index of the slides (see [blog](https://blog.langchain.dev/multi-modal-rag-template/)): + +* Extract the slides as a collection of images +* Use GPT-4V to summarize each image +* Embed the image summaries using text embeddings with a link to the original images +* Retrieve relevant image based on similarity between the image summary and the user input question +* Pass those images to GPT-4V for answer synthesis + +By default, this will use [LocalFileStore](https://python.langchain.com/docs/integrations/stores/file_system) to store images and Chroma to store summaries. + +For production, it may be desirable to use a remote option such as Redis. + +You can set the `local_file_store` flag in `chain.py` and `ingest.py` to switch between the two options. + +For Redis, the template will use [UpstashRedisByteStore](https://python.langchain.com/docs/integrations/stores/upstash_redis). + We will use Upstash to store the images, which offers Redis with a REST API. Simply login [here](https://upstash.com/) and create a database. This will give you a REST API with: -* UPSTASH_URL -* UPSTASH_TOKEN - +* `UPSTASH_URL` +* `UPSTASH_TOKEN` + Set `UPSTASH_URL` and `UPSTASH_TOKEN` as environment variables to access your database. We will use Chroma to store and index the image summaries, which will be created locally in the template directory. -## Input - -Supply a slide deck as pdf in the `/docs` directory. - -Create your vectorstore (Chroma) and populae Upstash with: - -``` -poetry install -python ingest.py -``` - ## LLM -The app will retrieve images using multi-modal embeddings, and pass them to GPT-4V. +The app will retrieve images based on similarity between the text input and the image summary, and pass the images to GPT-4V. ## Environment Setup Set the `OPENAI_API_KEY` environment variable to access the OpenAI GPT-4V. -Set `UPSTASH_URL` and `UPSTASH_TOKEN` as environment variables to access your database. +Set `UPSTASH_URL` and `UPSTASH_TOKEN` as environment variables to access your database if you use `UpstashRedisByteStore`. ## Usage diff --git a/templates/rag-chroma-multi-modal-multi-vector/ingest.py b/templates/rag-chroma-multi-modal-multi-vector/ingest.py index c2a6358d686..d9918a75545 100644 --- a/templates/rag-chroma-multi-modal-multi-vector/ingest.py +++ b/templates/rag-chroma-multi-modal-multi-vector/ingest.py @@ -11,7 +11,7 @@ from langchain.embeddings import OpenAIEmbeddings from langchain.retrievers.multi_vector import MultiVectorRetriever from langchain.schema.document import Document from langchain.schema.messages import HumanMessage -from langchain.storage import UpstashRedisByteStore +from langchain.storage import LocalFileStore, UpstashRedisByteStore from langchain.vectorstores import Chroma from PIL import Image @@ -126,20 +126,31 @@ def convert_to_base64(pil_image): return img_str -def create_multi_vector_retriever(vectorstore, image_summaries, images): +def create_multi_vector_retriever( + vectorstore, image_summaries, images, local_file_store +): """ Create retriever that indexes summaries, but returns raw images or texts :param vectorstore: Vectorstore to store embedded image sumamries :param image_summaries: Image summaries :param images: Base64 encoded images + :param local_file_store: Use local file storage :return: Retriever """ - # Initialize the storage layer for images - UPSTASH_URL = os.getenv("UPSTASH_URL") - UPSTASH_TOKEN = os.getenv("UPSTASH_TOKEN") - store = UpstashRedisByteStore(url=UPSTASH_URL, token=UPSTASH_TOKEN) + # File storage option + if local_file_store: + store = LocalFileStore( + str(Path(__file__).parent / "multi_vector_retriever_metadata") + ) + else: + # Initialize the storage layer for images using Redis + UPSTASH_URL = os.getenv("UPSTASH_URL") + UPSTASH_TOKEN = os.getenv("UPSTASH_TOKEN") + store = UpstashRedisByteStore(url=UPSTASH_URL, token=UPSTASH_TOKEN) + + # Doc ID id_key = "doc_id" # Create the multi-vector retriever @@ -194,4 +205,5 @@ retriever_multi_vector_img = create_multi_vector_retriever( vectorstore_mvr, image_summaries, images_base_64_processed_documents, + local_file_store=True, ) diff --git a/templates/rag-chroma-multi-modal-multi-vector/rag_chroma_multi_modal_multi_vector/chain.py b/templates/rag-chroma-multi-modal-multi-vector/rag_chroma_multi_modal_multi_vector/chain.py index 648486cbfb9..39f448b297a 100644 --- a/templates/rag-chroma-multi-modal-multi-vector/rag_chroma_multi_modal_multi_vector/chain.py +++ b/templates/rag-chroma-multi-modal-multi-vector/rag_chroma_multi_modal_multi_vector/chain.py @@ -11,7 +11,7 @@ from langchain.schema.document import Document from langchain.schema.messages import HumanMessage from langchain.schema.output_parser import StrOutputParser from langchain.schema.runnable import RunnableLambda, RunnablePassthrough -from langchain.storage import UpstashRedisByteStore +from langchain.storage import LocalFileStore, UpstashRedisByteStore from langchain.vectorstores import Chroma from PIL import Image @@ -101,6 +101,9 @@ def multi_modal_rag_chain(retriever): return chain +# Flag +local_file_store = True + # Load chroma vectorstore_mvr = Chroma( collection_name="image_summaries", @@ -108,10 +111,17 @@ vectorstore_mvr = Chroma( embedding_function=OpenAIEmbeddings(), ) -# Load redis -UPSTASH_URL = os.getenv("UPSTASH_URL") -UPSTASH_TOKEN = os.getenv("UPSTASH_TOKEN") -store = UpstashRedisByteStore(url=UPSTASH_URL, token=UPSTASH_TOKEN) +if local_file_store: + store = LocalFileStore( + str(Path(__file__).parent.parent / "multi_vector_retriever_metadata") + ) +else: + # Load redis + UPSTASH_URL = os.getenv("UPSTASH_URL") + UPSTASH_TOKEN = os.getenv("UPSTASH_TOKEN") + store = UpstashRedisByteStore(url=UPSTASH_URL, token=UPSTASH_TOKEN) + +# id_key = "doc_id" # Create the multi-vector retriever diff --git a/templates/rag-chroma-multi-modal/README.md b/templates/rag-chroma-multi-modal/README.md index e6226afe100..ea66ac733c2 100644 --- a/templates/rag-chroma-multi-modal/README.md +++ b/templates/rag-chroma-multi-modal/README.md @@ -1,32 +1,41 @@ # rag-chroma-multi-modal -Presentations (slide decks, etc) contain visual content that challenges conventional RAG. +Multi-modal LLMs enable text-to-image retrieval and question-answering over images. -Multi-modal LLMs unlock new ways to build apps over visual content like presentations. - -This template performs multi-modal RAG using Chroma with multi-modal OpenCLIP embeddings and OpenAI GPT-4V. +You can ask questions in natural language about a collection of photos, retrieve relevant ones, and have a multi-modal LLM answer questions about the retrieved images. + +This template performs text-to-image retrieval for question-answering about a slide deck, which often contains visual elements that are not captured in standard RAG. + +This will use OpenCLIP embeddings and GPT-4V for answer synthesis. ## Input Supply a slide deck as pdf in the `/docs` directory. -Create your vectorstore with: +By default, this template has a slide deck about Q3 earnings from DataDog, a public techologyy company. +Example questions to ask can be: +``` +How many customers does Datadog have? +What is Datadog platform % Y/Y growth in FY20, FY21, and FY22? +``` + +To create an index of the slide deck, run: ``` poetry install python ingest.py ``` -## Embeddings +## Storage -This template will use [OpenCLIP](https://github.com/mlfoundations/open_clip) multi-modal embeddings. +This template will use [OpenCLIP](https://github.com/mlfoundations/open_clip) multi-modal embeddings to embed the images. -You can select different options (see results [here](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv)). +You can select different embedding model options (see results [here](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv)). The first time you run the app, it will automatically download the multimodal embedding model. -By default, LangChain will use an embedding model with reasonably strong performance, `ViT-H-14`. +By default, LangChain will use an embedding model with moderate performance but lower memory requirments, `ViT-H-14`. You can choose alternative `OpenCLIPEmbeddings` models in `rag_chroma_multi_modal/ingest.py`: ``` @@ -41,7 +50,7 @@ vectorstore_mmembd = Chroma( ## LLM -The app will retrieve images using multi-modal embeddings, and pass them to GPT-4V. +The app will retrieve images based on similarity between the text input and the image, which are both mapped to multi-modal embedding space. It will then pass the images to GPT-4V. ## Environment Setup diff --git a/templates/rag-gemini-multi-modal/README.md b/templates/rag-gemini-multi-modal/README.md index 00fab060b59..49d736fb0f7 100644 --- a/templates/rag-gemini-multi-modal/README.md +++ b/templates/rag-gemini-multi-modal/README.md @@ -1,34 +1,43 @@ # rag-gemini-multi-modal -Presentations (slide decks, etc) contain visual content that challenges conventional RAG. +Multi-modal LLMs enable text-to-image retrieval and question-answering over images. -Multi-modal LLMs unlock new ways to build apps over visual content like presentations. +You can ask questions in natural language about a collection of photos, retrieve relevant ones, and have a multi-modal LLM answer questions about the retrieved images. + +This template performs text-to-image retrieval for question-answering about a slide deck, which often contains visual elements that are not captured in standard RAG. -This template performs multi-modal RAG using Chroma with multi-modal OpenCLIP embeddings and [Google Gemini](https://deepmind.google/technologies/gemini/#introduction). +This will use OpenCLIP embeddings and [Google Gemini](https://deepmind.google/technologies/gemini/#introduction) for answer synthesis. ## Input Supply a slide deck as pdf in the `/docs` directory. -Create your vectorstore with: +By default, this template has a slide deck about Q3 earnings from DataDog, a public techologyy company. +Example questions to ask can be: +``` +How many customers does Datadog have? +What is Datadog platform % Y/Y growth in FY20, FY21, and FY22? +``` + +To create an index of the slide deck, run: ``` poetry install python ingest.py ``` -## Embeddings +## Storage -This template will use [OpenCLIP](https://github.com/mlfoundations/open_clip) multi-modal embeddings. +This template will use [OpenCLIP](https://github.com/mlfoundations/open_clip) multi-modal embeddings to embed the images. -You can select different options (see results [here](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv)). +You can select different embedding model options (see results [here](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv)). The first time you run the app, it will automatically download the multimodal embedding model. -By default, LangChain will use an embedding model with reasonably strong performance, `ViT-H-14`. +By default, LangChain will use an embedding model with moderate performance but lower memory requirments, `ViT-H-14`. -You can choose alternative `OpenCLIPEmbeddings` models in `ingest.py`: +You can choose alternative `OpenCLIPEmbeddings` models in `rag_chroma_multi_modal/ingest.py`: ``` vectorstore_mmembd = Chroma( collection_name="multi-modal-rag", @@ -45,7 +54,7 @@ The app will retrieve images using multi-modal embeddings, and pass them to Goog ## Environment Setup -Set the `GOOGLE_API_KEY` environment variable to access Gemini. +Set your `GOOGLE_API_KEY` environment variable in order to access Gemini. ## Usage diff --git a/templates/rag-multi-modal-local/.gitignore b/templates/rag-multi-modal-local/.gitignore new file mode 100644 index 00000000000..f95995b3698 --- /dev/null +++ b/templates/rag-multi-modal-local/.gitignore @@ -0,0 +1,2 @@ +docs/img_*.jpg +chroma_db_multi_modal \ No newline at end of file diff --git a/templates/rag-multi-modal-local/LICENSE b/templates/rag-multi-modal-local/LICENSE new file mode 100644 index 00000000000..426b6509034 --- /dev/null +++ b/templates/rag-multi-modal-local/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 LangChain, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/templates/rag-multi-modal-local/README.md b/templates/rag-multi-modal-local/README.md new file mode 100644 index 00000000000..38d8bcefcde --- /dev/null +++ b/templates/rag-multi-modal-local/README.md @@ -0,0 +1,122 @@ + +# rag-multi-modal-local + +Visual search is a famililar application to many with iPhones or Android devices: use natural language to search across your photo collection. + +With the release of open source, multi-modal LLMs it's possible to build this kind of application for yourself and have it run on your personal laptop. + +This template demonstrates how to perform visual search and question-answering over a collection of photos. + +Given a set of photos, it will use OpenCLIP embeddings to index them, retrieve photos relevant to user question, and use Ollama to run a local, open-source multi-modal LLM to answer questions about the retrieved photos. + +## Input + +Supply a set of photos in the `/docs` directory. + +By default, this template has a toy collection of 3 food pictures. + +Example questions to ask can be: +``` +What kind of soft serve did I have? +``` + +In practice, a larger corpus of images can be tested. + +To create an index of the images, run: +``` +poetry install +python ingest.py +``` + +## Storage + +This template will use [OpenCLIP](https://github.com/mlfoundations/open_clip) multi-modal embeddings to embed the images. + +You can select different embedding model options (see results [here](https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_results.csv)). + +The first time you run the app, it will automatically download the multimodal embedding model. + +By default, LangChain will use an embedding model with moderate performance but lower memory requirments, `ViT-H-14`. + +You can choose alternative `OpenCLIPEmbeddings` models in `rag_chroma_multi_modal/ingest.py`: +``` +vectorstore_mmembd = Chroma( + collection_name="multi-modal-rag", + persist_directory=str(re_vectorstore_path), + embedding_function=OpenCLIPEmbeddings( + model_name="ViT-H-14", checkpoint="laion2b_s32b_b79k" + ), +) +``` + +## LLM + +This template will use [Ollama](https://python.langchain.com/docs/integrations/chat/ollama#multi-modal). + +Download the latest version of Ollama: https://ollama.ai/ + +Pull the an open source multi-modal LLM: e.g., https://ollama.ai/library/bakllava + +``` +ollama pull bakllava +``` + +The app is by default configured for `bakllava`. But you can change this in `chain.py` and `ingest.py` for different downloaded models. + +## Usage + +To use this package, you should first have the LangChain CLI installed: + +```shell +pip install -U langchain-cli +``` + +To create a new LangChain project and install this as the only package, you can do: + +```shell +langchain app new my-app --package rag-chroma-multi-modal +``` + +If you want to add this to an existing project, you can just run: + +```shell +langchain app add rag-chroma-multi-modal +``` + +And add the following code to your `server.py` file: +```python +from rag_chroma_multi_modal import chain as rag_chroma_multi_modal_chain + +add_routes(app, rag_chroma_multi_modal_chain, path="/rag-chroma-multi-modal") +``` + +(Optional) Let's now configure LangSmith. +LangSmith will help us trace, monitor and debug LangChain applications. +LangSmith is currently in private beta, you can sign up [here](https://smith.langchain.com/). +If you don't have access, you can skip this section + +```shell +export LANGCHAIN_TRACING_V2=true +export LANGCHAIN_API_KEY= +export LANGCHAIN_PROJECT= # if not specified, defaults to "default" +``` + +If you are inside this directory, then you can spin up a LangServe instance directly by: + +```shell +langchain serve +``` + +This will start the FastAPI app with a server is running locally at +[http://localhost:8000](http://localhost:8000) + +We can see all templates at [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) +We can access the playground at [http://127.0.0.1:8000/rag-chroma-multi-modal/playground](http://127.0.0.1:8000/rag-chroma-multi-modal/playground) + +We can access the template from code with: + +```python +from langserve.client import RemoteRunnable + +runnable = RemoteRunnable("http://localhost:8000/rag-chroma-multi-modal") +``` \ No newline at end of file diff --git a/templates/rag-multi-modal-local/docs/bread_bowl.jpg b/templates/rag-multi-modal-local/docs/bread_bowl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5056727981525ffca60267e518051d2df7e4b87 GIT binary patch literal 61289 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

vzfep1L*rJY4aSX3YS49LY^>b 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 z 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ξ5a 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≥9=wOD>GTk_Hf9ti3RP@ z(fW3zfb2b*O20{|vR=P`o?-syNuQ97GZN{kp+tFE{u{L3k3S;Jvz7L7Ez$9NuZ$6Y zUPXpRH|V-cX?98q?plmRl~ul-m@JT0U0jvK^{HG4j5pzOl0vezw6PrzmA1jhLpOHE zF&Q*hCGXaMzQAO#4cFRwDLYH9+MyQPy}%}$mk@jUtf*-i1W3^P;< z(cELuK*|#J(T_Ai=l~YuOybF$=X{Um=;91b?VN_N`SA`knU4n;2^#G zE-COdsnOQ?GIl6-wQF4eMAS%SYb@;37JzqrbD(jNa#8ZEX&tfe546^1c;$fuYYxn% z<~=`rzZ_mXYS~bApnvY;2wZ~u4={}fY$Br1aFOw6?}ve>Zu`08fDsNwwJ62B-RIwP zb^iW1Dc2OD9_?gSQr4m}OZ<0E%aF|hsGT*)>XtBsL#fQjoDYd80tWtpmKSS^e^@3# zHV4ox2bCShT_<&QZ|$VSEBi-l|2o*Ra8Vv=jhG|{??Q3EIL!Lsy!IHlxbEmQvrGXX zr5igh=-JB_ROii8C_Q1vd??MvX6FwJ_7Xh#ER?3p7?-%}7J0r~d9@}CW?gJ4{|Pzi zw5|LVNiFOtpGLQr6Yn3XGG}g*6P=Yyeu4+^n~>G@mlL&>*Ly|Ot&|sY*W51oO8yc zOXID@Y;BaYxE+Pu%@N~X11y}fe_gBP)w%OpnU>}cb;W0^kex@$5)bAnGiaeepR7i^ zno6oVboHB%UUl~_Wj-uh0lagd&dLFahr+%E4Ot`|ar%~*Du_a?V|BzQ!+&f{}#c5$L>EXESUQ{DkG535sUQ1OO}C~V|UV3GMtrcjMJ(Y)P<9Qs_F zdktoYM{W0*y9V14{vvl|<=%?hPT4={YO1gL_;RJB=C)u(yl@ld#a@sAs#JGr(RP41 zA2;EKa#tQKIb~J2=v09ek zjvMi0*|9!y`OU-09Wl96FLh+!jwk4ou!Uk16DVHMOywmuyWELH76(3f2tb}+P_xi$ zxK_;xL&@4+cx6+y+kJ3Pys&oU3nj4_3rWNqI923;r89y83RB~^J@j6e`GW8?){2K) zow)b|tENFFGd^+CBseIR_AN|$AFW#Zl!ZI|sAlV+(m>qn!vkM=-O7g^3ISkWx-=E= zJq5#XRdz`6MmXP7ZE6u>YYe&=kkr%&&wW?96WL@u>-NSQVy*ZJy#`{sD|(dXP){PF16jD9 zQ^GoPy%8E z(KHM&w*iN^Zrmt<(Yu|d&vvVn;E|`mN7t^16f*bz8vZbDomzS_3;nE33%b@J%u*0p zk>1NhWG}#5r*ElC1-wjQ10Rs`5>>*QrlmcX|60lZ(IVj6kR+!ga?LZ;42bdZ)jP|3 zuA{8{uHC1wnNm(^n>qda)0Ps0lIwNwK5w7vSS(B;L7!Ymk^Th+PuriF;fP*Gwb>FB z&$BGQ_a|3QEgFm?ILd<9fS<{r?>HMq> z_4TKPO+@ST4W~R`#)C-gab>D9JQH-dYAM@7y3L%MH2}ask|W!dJSJ`ucc6*YN;)rd&95WGAI4S6NmauyrEeh3Nt#u8;@d7jnCZ&mZl;1Gc(lKh-+sJ$+wnot&+7 z@d?DiOD%(L&7Awj@8Fq?bn>?gLrg37RAMwrgo)i-+AaeZ@i=!0hNoSxa_tke3pYGt zeRKbYPep^luT1H?t>;g?qCbwj-lcC;|El=qes3R&a*(aRhiD=fS2J`M>jup4?%Nsw zwC*3pdQJ#wct|!TD-XtbWMc!TJFNjk)wiq^!AeuU4t`^wt7g1onh|j+GPgT}QG9yE z31SRC!5DMCle3iz^o1=%ELo4jmcD@;nPKXjCBPgIcC0v0jE{W!(@teaM;C}lc1M|J zuEnA?xB#d*-$<@dcYiL;R*-%kA#Fr0!4wRw^OHHJPpb*=8yzR|G!kwKdD0P<*`9lK zXCim526oq?s0pRRj8W7%f_)^(S)&BMUAxqvCHyjzk`mT&Ddg=6E#Iox>1WSeFG}o? z;*GY2<2-!#JDD4he%4(WCD?BGuGBj=DCO$vJEyPt1fq^UpAX5wmnSRhWz|C`^F2m^ z&9~^gCbwSZShnR|(`e9n`&shcOcgZpI{B~Ktvu1DnH!7^Jg(gqJ3hq8ew!P6@BYUSA+fsVk zd8hg+ev(4-uFJ-N{3w)h5wxmtoxKdrvCy>50^UOStLijV9$+cWk0)?^=b~sUsd5L% z05Whd_UE18+Jw3TzEQBFYq>5?De{Icn2sd7Tr1V%vRsJ2snR;sIUsDPCfD&wZ?l}3iTNuz86a384bI-YPf+6+;?vlJV_aGY~q-B-4@!*C&wJJE^LmtA4X zdT7-MRER6-E=2yD@D>m;8L^Vp^l+@ar?FP#y~h|c((4at%TEr`78V#De5ILpCu?sPRO z6i5UK(TGaE^_F_n9SJtz^axHUY zY&C{%N1F1$Cy-upawvN{x)VstlY~%G`+zO*%inQ>Oxku=w&l?1vJ`RlV-&v-Hq4*l zCsXWP!8Y7M8%Uh-q~JMAbhi3;|jRq1@2$FQAK zGOM{NrCeEAN9uj?A}_e}Z9mEkxSACrF#lBc@-F3CPJS`jZ&7$keE~&?^_}E&sO%c` zBJ5Q;Fu0)zo+Hu8X0;-E(Sew@ALi;g@6?)3run)~=p_3+)!(`77kRJihW=hNrV?6j z9pz}Gkmvl9t%QQmZvwgN#MV5r-UkDPUxA^M8!%wvKVW6<3eHF`^zav#nGjeR{35T} z;Cj>yK~hB)T=~q+V9pBc}eK2=z7Pnxfz`8a3AZ!=3&f%E1LD$#LS+4zZ~QiA z=o8d$fcZ}?cEG!~&D!dv-?w#J6m+Fohj}!e{D#7c5r?3H)7*%)qRDY#MOv`u| zwafs4?}jN(sp`G6N}Hx$uJ!N(H$`<p$M^)TdOybxo+v(pv-mrD07JJ#;%C;t-nqVI~);OhTXD2zLQyuX=3a+ z7O>wPexNuQSS?MJWo;f+{G8$sS)Llg!K?UBxtpdXfFKrDglPvYR zXk*6#TWfnTQoDs@I)2QzEcVcJzExhvHV8klzpUdFz$D|8ZD9lHjn}c!m3p7nS&6Ma zr_NNYy@eI*N@!zY4jV;?G?Nlh!MY z&8<3&raw}MWA`lFL_SZ^T1nobZrMMY?%ys}&5O^+vL&a9%`}pN`lhoSJ9Mnf$4AUh z9SKc=DJs>>KejOJjMnTJ;ix#a@I8&@lvvv56^lIja_%^0?ny4fQ0$Ia%vOy>ciEJK_>=0UhK{rFfLyM#N5&-t;6azXI%<2S8+K{yD|tq zq^TTA!7X(Sr?&%%TKh=%2yBjse}z5Iy!{VTZD^aExKCCIB23qELO#pncAKdk9tb#} zp$)BP-v)mh;O3C|5sdHy=ImHQ{>*eSVCZ!5h+DINsAr}QvXd-*m0A!KkzPn|Sg*?p z)cbdf)UDpVnz3wYevJ4moavBxGG@Tmuk%O*ElE>GJKsgL=vP=faV6%14>V*L9BN`+ zn!gVs6PHaY5>G*Tt2x~INNXR}fv|mHQqDefhP)=i&!WwBa$ zyVLDNZJAcX$Ux|evP8ey(QN7X-_igwR2RzpQC=d@mkm!j%yuA`I@S|TYJ5?G)M4)% zr@Z=0HHMwQij6Ucod5)?Bcss#ZK9;L@i?2Br24@0H6K?8s7^54P6cqJ4UwKSqG(qq`$0Sq93iT^ekw+>b|JA=U< zSuq_+VswnjcKy>Pa>-G4l*o;ME5+f|nT8cssAi$Nm$JEGbWWkl9+BEQ}B8l)p$u%6=3*bFb2{#;xa{BQ4f-aCrzDZa8 zQ0L;m;dRB)yKiXUQXgB=){~3!)X6_5r1_$C8wSv~v+DFRKj5I$3ltFNgcecH}y-Swobg3?54dMT=Y3Z4y-QTI#ZeW)p05aK~3!f__5ROH1Lr!oQWRyNe| zAn*^zJowAhY=IL{Mk&5v^S@_!rX)x z_)S_`bvZB@e2A+36kn@t={gzg&eOQ+mhg7>BTODfN}!tN`o*7_hLtb~298gUXw4jP zAz-(R==V@4AP6neSS&V}SCVXLEM5oLW+%M_A|SUMHG6v$b(z4W+20 z$-Qk|m|+Be3-8$P_T<{sv0NQ=70+W{ZS--{bh8gaHm2Wo|0vIA8{1RJrX0 z+j{qWjC0n7PR;PPWd!N-n3Bdb`9r66GmATYP8SIzjq*}{)7XgxyTsw5gUCUc~ zKAmhv*NuT+lrv?mSGQ<@R`FPRb7|lU(2?tpz>pmwl{=fX@0bS24f~}?qG8kVIzP$C z;@)f>h|?Mq<4eEP_Z#30z07&%_zgfAQLpLxb%)7#*HlxGz~*EL#}Bu2_i2Q6r&gMK z1@@}MiSp~6|7bkrT`o217ZM_n8*gDErz8L`!{|&(seY$TcV%kw9B(RE|5EGq8 zF(E5A7TS~rW#!nYm5fl<4i>9Xz} zN9X-P=9-#}hOKZD5?KVUV+M_7*UDHH*n>Vz|2C}}YD%-r8Ipc5a8#9!498eQm0hOS zvKO}iKjHblYerD(or&`X$;>Z=x)Bxlt)X)L8uPHG<$!WmP$z1}@o(vPugS5?TrLpw zD43Xbbd`vaPIkFSEDEp7cVq3rSs%wduV1q+9C$qn(Sj%U7G6fxA%7M1l#;zSbVKc4Mn3D1hkw>+ znO5Fr3@~;^<0e?=)0NlrAc*eMoc4eks{YRGxwUhjJyj1*txzdc9XU6u_S@(Uf62L; zp8!Z3A8*W%$)EwR*_!YD8l{tkUS+Lgx7Scu<$Fphu$-ln^= z=!;UkVJWpU@bru@>8$jO8Hv&ybJUxYzP2rXEq2ZH6Qg&?FXn}b0y~8t7C&j#|HrQE>@2tI zw@sogV~7Dx!-uO%CwDdZU~T1Gi%6rWe__vWz6ECyOJk@Ru12E+IXDoEtx~?tH-p-} z>+av*t)?;*c(`0M3GP?pxHGja;1Fo9!u)ExRd}&oLIIWYK&eC;nu#inrEO+qKcbhy zMkp83zyq4fb8^sgtJc+P?#0_oQ`#YxzV)|Y`rbX1VaZbnJ0aAgw#q^QFYq| z?xFH9m&S{ZdNs<@P9t+hMQ_-E%vpfw%aEB0U|XIUmb`frDea)bWS1EUHe^?%ISsB+ zfhHnkwWfw~F0(<<=qY%Re;I+Y_1|=uQ>531obrBQJ__5GxRDa! z&1%)&FyG33rfWzz`Rx(EIeO$hyspsTGiqcgHY&5o*ij*ogY1!eN72~ln;+SMrepF2 zEJ43jUYzCqmcd`mhTyHtrj3I{c1eE>xD$L<=v(~T7{j93k zgAd?8E^fy0ero5$>D1PC(#qUOmbq!#c$Y-l`~FeW{w*Q!ACSRzzo{Eh(Pr7$e*jpF zHv>gW-aq+kfl(z)#vJ`DP*`K}c2`b%==q@ef7ZW=;jV(O-KLbG)S~#WQBD0TXBW}K z;2GsISiWP=Jv5G=LFSUDZXgrI4;wjt2zubdKD-{o(CCByGgBSMrZi&QS+^ej zd<^?-?6JD3<5r(%yvjTn(b|T$T`BWH74_!!rZ;Zy@0z_#Iuvi5g2b{~PmbpfWVl3$OqXE7 zJ@BDmh2mXClOF;0IshVt_xc@idiUD7DDTR^Za6-Y__94*?Uq)*vEL(z-}Qb_6U%U( zyPT~nmm}}#Ui_y&@{Ld3&h9EvaH!#v&g)^I?$Ot+R~^x<1aTuI+xMdos%R#k6zkJ) zTDRWAcUBVzVZ!St%baH56K~{gA+kY)J9v{T+SI)A4q_I$$`%I%kvfCH8)M{5qvlsJ z8r>F6{^nk#EGwQDw=@Qr-toxe0Q%<+a&Bzo%VEex#N%CQKGH*I@6+Ou_j|5k$C}>D zr?qu{V*gnbkdFR2O3av*~FFS>gnL};xhPn=%#GgB;fSeEN2{PC3&lR&R45K3C}>PJfl zO7Sd#2M;ki&^;lAtSZlRSxmIqu(B!tc@Lf36zU1rI^1$&_%A2+zE>#kPu-&untzpU zOUZq0*%x{as^vgDIO#cRB>hN=sgm5%2cgZGG3I zOGw(Qtdnp8#@(AihPCS1NU;+ZEs&3moJrx}MTAd@y9wUTiNCLDF>>@GGfd-DR=rB> zMV;B>R-)e5P2VPbsB@$*{@gix@T^A49W*)kv?OaF!zE1fJ7E>^N4l<6uNzV0*l2MhF85VJMQuRagoQmq7PjiD1*OcnIPTK=V-X2} zugUTZ*m;pB9I=Y5SRH=)MMjnBo?|f3zT@(N-F@c`+`v5S181%CaQwBh>i)JSKNT!# zl)vzmXrM``u;5Ma7k?ud)v*{|pu>yV&jO+~fF)?>L6V5FNUtBc;=Z?Rn-|w(q02}B zN0TiBtNZF7UXQoRPYPHLB_~X7#u7qAL*D{D{5h$9QMxBBy!Aj8EmETNaD}>K_th?V z7H0kG3tE)4X0Q2YBc!W=(XH2dmUiG=hijn{0Zx!W@Hcz~Q;}J;QJu_VyEG3x7W6(C z_(#TA%YSNm@G&VIzQAPt2V5*~^dLTcTTUT<{Y%rZNVwq6Ii3)5_9|gR<5-c@7rmNn zjTVgo0F_(vlMj<|G@1st-l|=RpcIKbE$PE%C3>wr5DNKj&{)_uCJ95;U9H-$mnZ&E z_JUM|384>i{W2LR=cpNuH)sUHG^J6`gOczSu%p$Umo}BA^H*KcOlFS%z3jv{_H$RD z_nu-^ll`PS+Q{-G^r7`>e)UQ2HO2bcxo+{i%UZHvjU%|#6)C#mmAuh&h1DAp@oScZ6ML?UH;c~OP{UX%|p?x^>3>bQ!G8M(J)HBm@ zFa(`(?-|EWIb&Z{|J-(_0nFdpAU^8H$wunj%zF#X-^N2FHqR7SP32O&jFJ4C9G^0* z=F%AfDn9QUu3;OF8foDuAxk;#ODLn7HohUeDL*NV({$o+Hp^w=kn>$$WS>ru-dC1( zfmH7RQ6=hMq_qQ{2J8#ATp3%wCEu`|ZgJO;>0p)ZnBne`GY}sOmCPQ%3of4C?wcji z9<{X>U|APva<@Eczw1f1192sD9l+5~;kTZjO6F#b5px7?f{m;C`*j=y= z+DT=Ej_9PS!Vu57ebvBAp>@`qpYgCLr2#~p*+aQ1kQV7>d~V23z@-E*;c#2VM-@HJ zRmvjixQ8Yxwh*yTw}YQ~YiPz5CjInEW&rOkgryg$*uXD1tOJ&Q8?B={t+d`o+zx31 za#b$l5?0k7>`qC@5ADpLL+F|U4o-0Z^gUX^l%4He(wYuZ&EMnToLPd!p%3C^Q*W-Z zarBL#OS+_-bugo2Hfs6Uh(+&=g4tx4Q*`<(!zpt+!15e*JDP?g)@T5LtJqVw(?D>Qk>Wm z5AjNZ6b{D~hji{NBPZ*bnBtp;tn9#tZ|{wWFZMzRe>1lq1OSo^=@*Y7o4-^3cLK(0 zrXS3dLHiusc4A@IM*BDSsJwd4b``e6c7Ukq7)mfG$hiNs1jubxU}{q3b5|tzH=o>z zsv7_NZ#n=Rhpe9?0svNe)fWIXk!%1UpM3@7?)ZGNFt}`BzPrjGPJLgS`>_Ma!!Z^) za+iS=agWpq;Q#nH`VLv+}*7Of))*~Cw-pxyWa1| zIls={dncRS+1Z)dnbo=Sy8QYJfG#U3BMEr(1^{>ieE_f9Z)s%2#Eg_xl_X{4CH^UR zi*ILU@A?)U0I+v(b5WHNCDYc?C4*mw!hZn30B8ZcCT6ZqBFf70fd6N>S^SF~0GMO^ zi|hXh_J1!xG`DaygBCqOUmG(g7dI%e*3dMPr<>E?H1q{vo7(=9{`NQR0woZdpY=Cw z^>6z7KQRBM`~QJaR~3W8EJM?uO#fHf>VKvG(=HSQfa3a>aRo;oS!D^SzZrkSKP>(8 z@$c{dpHDXnufKc%l*Ivnzw-ST*MH^q-#i#x004#^0C-#U-#o_x0D$Kjnjin)JktyS zpd}Olz+e4u9%UW?fEEG(G*6kiyLkND27mziJ@#e<#tbeI!4~NTT^L7&kc0e!Hl7Wi zKT#4+#na%#*2xDhq7LL&^|{A?uJ4fL_4RcP5CVYtC%{4j+}{8X|Lz?;JQBit=!1lT zgp34@7-*PisL+=X2MY^_kd)v90V&nTk5nv-EJ8x+Z~mzU2lwtB90CG70s<1^`}c@Q z7|1Bl2ZI0|3mqB>@Cb2na0&5f$%u%^Xql;j)Xco>?7ULqQU(V8uRj482ry)CabVtH z0N!G}fx&q5+7IA@b`31dU#0$^@b(Q1EF9n+Ji_}o{}cYF2=L}DwCo-H>nZ>l<_+L2 zIt*0P0rydTIyxT^XrsPWl)%!6l!ugH^U_y1$;!H9)zFT*Bv%O1LsX?!J*jbqou%2a z#p{3rE^HxcZ?VZGzS;tZX{$gYfJNst>saEmyJeFw#8y+xUj-qU={6$pNfq|Iu-K&> z+gUZT$~LNEj9S*`fRO ztuhRerUVhQ>?mHju)eiM_E-L>t9gyc1U5ldP2WvVCbBQ~Ai6RP-y|rKHmDqyrvw|DppD~~X?QlF6m7Xk`Ka<$?HUE= zwX;Dm6pi}VJb8UJY!P{EvfyZtv}S^;dI&nPc&khFcFtK`&^Nl@VTiOr6=4LeOtL&R zvfJ^p-bE!fvZ|ou5`Ow)C>n1?qLd#g;&1?o0akGqaxr9{k)kvl93TccjU8dQbu8oA z-7&s#Pz@D+h3PM`NE0|DRQkx>BJ>6++RDVN5~8A-z7y#Qe*-NSXZ`n1KP0EslcUj9 z#E1|m*j;R4Ka;78WA-l+Nuko7-s97T(NV#YM}@)G(1t*{%2X7I#7uSj<*F!aGAjE= zXgMW#w!WkPn8l0Rk9==)soqmUt@Ns#6T{8l+Vab|UvCLbU-4hM3&s9|gH7N$%W^D3%oncU>+V0NL( zI_*f(M3Rx!z#0c-m<7+q%Ovi(RglvUr&85>0;`B)OW$7Iv3(!zgJsd^Lw+yKsr)N% zVMRfj0()V63CQ^ulN8wB+_D>cF0r);{Y%iB$WQ5}jJ%4yy@-}JP#rl5Ha@0yY42Tc zcVd=`LavHt>BE6z86XQ*MPSI%!UmIts%il}Ip)DEB{|{Ys|obe+imno;FyHM%lcO)6g5Z)qGyrs&IrOc#~Ax8$%YU)#JgTK1q;*8oNndCU0?f05d zAQ!Q*3=F7gzqYB(>L+4#s3uNh~KxShZ9np}DR6|x7Q6xfD(@<3<8d>0qB}xXn z8$xjrX^{^`lbaFXJM?4fSJgd|S}KfZ0*9|L(G%m3T7%$%T|pzZ?=q}F+#%R~IflsQm)=?ru^Xsqx#|aLY1{>9rL0Ih%Sda>NKSt@!=vpF7-1M*B$bgq zXb+E1FCjqK0FKzwJ9!XzmzFpU_aUPXj}^^;MH-Ejop*e!Ex zeexFy%%FrXG3($67cTPN+h}w(T4en+a#3vM`Cro@9v)6-byjt-hnB{OAqmJuE4)Co zvqsj*MlSvfz1u1vDuR*P7EOmj+dnOwNlj0406JE-!6l`Fn-Yg=(_5rtbQA-u5YYEV5ZhsC!S1YNe*j=m^X9)F}n z6N^*@m3^tS86I9Hr|if?iqIWvp*H)rS6{}(j+5j>6{fF_gF9aL#*lw)Dk$CbcVd-s z2`suI$U>uXTzk1)_d`bgQ=SD{)_Mix^^0b~2Mfo`u)J9TU=eKf;( zy-@^IJ6Y3E^VnD1?fCADx4ZtMPLLM!*{;f4)+&~M9Vc>8WF8u_RUT&T5RRc|(-Iybw6`Y`-vyngjQYp@?r0t0`DJ4TzQDVWT z-ICTe8UROC^fVwn@lS>`waQwe6@Wl64I?kX}OU0=ru-YNy(FJ1eko4Vv0 zO{o#|s{wl@-ea>All>lWF+9G^6%BmvF?xBs`io~Pp+}{f^uT_^Fy-Eyem69MAw5x+ zG~5D6fzyOwZK3@g8w1lKiHWpsEwPOpB{R*af;96HH=gB$Z1D3DFbDM^AQ0~vO-LtU z|Qqd4?E0+5DvL_WZ%q$i|{9jr|Z8S!6lnlK^_=qc$snyc@k@6RxzY$6K) ziWeuK%G#8ml+lZ^)hR5aN3iYLCw_3*O%NA6x#&(S5im@@n_CSulPb}N4j#^8CA^t2(;BH-XilV5^Gu9!h>slpQ?`<^gE6&Ao~qz9(Or$pupMb zCWDlLL?K~@MA2a#Rwhy{oMAPbGPw8J&4O&)AF*l}Ys}YMv13W)14!qNgdFaq2D97V zm(5V};7S%3cnWQp(-~%^3<5RdE)0$luMAx0TpO$%{$TT3B?A4-&InGe^yw zC`DYY*NqWqgt5x0;zBO_j?cF@bG#zTB#Cm@F6RgOwbiInBi|#i6nl`QxmyT7vrBhwz@(b@Xg7kyB&0g9O$nH| zqGOcie~9SvW}B;#tK_sleAQcv(n)M+@qX|px-*iA{+yqoSUAS*714INc67cilw>H_mvkkhy+JL0e&%!TelB%| zRN-?x`Y;TH+8d^(43(DgZ*`L<%f*GzD3w7A%!^D*s+DW3U(dvAV_URsrml03eJP+E z$(zgj>uVl%lxfur)8%lwo2RB|HrzUO9R*~v{9$i@m<#u_+@Cfm9d-^`?r7c@o?8$# zAK*T`?!Cbs=~j;6v*Cu;q6kd_LxBtx<>;wxPzAE=Y?C~LsbJM8+!%M7P{+CFP437I zdp0+{81G!)2J2+|J{W!#V%r`QQx;|U@yKMftB08aj*Ueb#HArmKAtNS`$Ags3bX`lGXD27%e=G2i)_~htDsg_@^1J8FD?qf#zwr{vsSM@_P&}eEe^>(}qoh1Ph;FDU z-QGdx;Lcy|j^w^|xso?u4s_Fi=eoze0J%R~n!st(!@&J+Afc%7=ibZQxCF7HBm{kz z$jGHfKM>@;Sg?h%sn@N^;H`AxeZMucZ#L27T`P0H(OLe`g82L{M+b=}QCbIsi8STT zMFUPpQ!*upvo5R{rzPV-@Y3Hf{Qf1?wUjen6PRMgxqIeGn)3?K8+%_hf%68gN_4&- z9MF@N95e`>8mwi-;&**YA(^+-J53@@sZ6f`#u5erB`$wM0oP-fx}RrJg?=xM{%2vr zf%Q7D#fdVhB2<)OD>EU8^;M%QB!zk(bfeR{&zI)W!cVLS1ucNRZ8`?@J;G^$uDw&9 zCKC*0#Y<>^9PiNIVQ@oY-sn90F?Cb>YuXxUtng*BX z6%|@WsvCxu26Nk7UjfDCNI>&MsDL9dyAsL~II3i4>r|v~6)f0{sYUtLL*)w#UC73t8i?(0RSHjZxSUBkxY}JF zx{T4^Z+D7M}9nry{ z(qXx(>8(H>9c`{sHx=wqV)VCtx}9!Mu^Z8wP;8SoP-+%3em=`o=+spBd>X&EXbYVh zRn7Z&wK~8i@uJ_*mDN?VWa27c0TcZEyBZ#8JRL+`FezUb#riUChLVM4eg?8gw9q!3 zca(^yX@EbGFoyxY-@1O% z=idOE>UvzupHj$iCW&J+GRBH#wLm%6RwI`{paTlDqeVU&zF2J~-SnU6+!<`2W}SHK zw(f5q1jhM9I1<>I8bnQbs=7+E{)8Mxt& z0hVRRd}sr|0z7m30?qa#P(E8;XS7yh&sa&KOR9uYGvE3ZV=uVMJ6udQSWG&yUqLS84!n3lm@@s}d)HaLjQ%`oK0r6;e^-Q-BP8KK32O&s z&3W)c`T27fQk?pi32g&{`PqjZ@a@KZiXh8`xJ?@0lEDXSNZ|x0OZ4~YSd)``?aIVR z<9yZf;a#642(h5!-D%bAMAw%g)? zX;$OfD+%-@O`>HXqeqy6({$}Pb>-Wz=M$NkMh?i|3~+vS#Cv~pFPTxMrk>|PUWgYkTb}JQlMxh0h0aY!5E8} zHMMeiuA!d{CBcPAC@GNRL?nVc+x49*UmD8VcDLPQj^C~89;sGHREAa63wLE8xZEFv z){xV;vneNG*`r&tSKE2CISyg&sBye`{1C}jaTCa`RNRBNzUZMlEUSLH^BGcjboaD! z3Sl$Go=7OEbZu{|vxXET7rXJ}_KEVQHGq>V7-*Wl!lTOZvmf4Gc0V{Y;JtH6N>ljV zUFk3}y(I57cYMB=UHI&LLK<^;*x4?70#lHNrL#kM9dA)M8|$s&A+*3q;$Rxw{%;`CQnh3vsNCn>?%g9p^I4g~Cx+Ts?VIDxx+SsYTXT&_>?B z7qFG8T4ljNSA}j8C$+@9*L8E2l@cYSb8S@!(j4%gEWEmR&1u{8TRY6+cAp`r@NTNo zWhldx@>{u1#woi71s3x4`0CVT?O#2AbZ1zqdhsk>CuLvxmXcZ=_PITmzI%Uakq=@y z_y_%S0mp)+rxq6qKZk0Ll!WQB_2-GMTviKSr+(ltOJAwW1MOXGPQlaW{`^Ui9=lB} zZXsi!ssp6l*L%@D(-XyB;3~cG@)*phd}NyqG}3qMNE6K3DVpZbJF8`Xrq(^3bKIFb zD(!o~F6ZniBwDlji) zX7SZqNs->(f_r=&hGs~k&dy$pMAa5iF!1muNhXDP0;VF?l0VI3F}x`dSTOX|;G)|t z<*2ZhN#%)UpYqS;DIV6)?iEF5_dZuDHVQs&yYp;u&qyAn*MlA>?OR_JZptBbucRDI z1Pu=qO)OQ)o@8syapuZb9EIDoblo5KNS?m}dTOq>Pp+bN{NaiSQzdu2ZTS2^kKHI{ zHI(|r5ys1TF&HHk4ecefT0mMEX@1Pzg!yTIBS8)0Xhhs^E_}J;xe9?Wi;%I}kB@Cz z8$K;ll`Pxs^tjy|4RXhHE$LwcsXMDO^9c;R?h}fxhf~5gO{Wh64uOJlgSB<;!X3GJ zFT$mZJXgAQzG}cozvG8ZVY)}J9#?7=2NkyOB8eOenx2}o3PeT4wAz;XjA7ORwOJL) z%F2yS?ycUWT7fxk8&8@0oO@4+ z%@F8jotAfkSQa$;$sIJ_b0}#|(W=uZ2a^hYd!Y|#c)HnJn_|zwIUXRTZ}z@j6j%#i zb+`3eYDujeJ?r$?u+jYdP1UwLqu`;g@pq$rtL#Z*rY*6({b7L*2)>7qVXKPu$~TbY znS##)Sp&R5Juch>amz`MmR+>4rA$x%m^VUTQ{qrz50f$?8|_k;DE5~C>IP&*hV^kMFevYHlBNvIeD*cQxO4Q*hPZAaF-wAI zQ=T=x{;eOjsBb5&u2_$9gvA#0{r&L>J+y!c=D_>0n@$q@+xyDl{xRS&Rr)tF3OOhN zHu;TO>4mujg@#UG8KO@drf`)V$JzpiSfIdbej3p(x1vkd!j; zB2LivM3_h*lh2C#hrBp$6?^?zC=*x949C=|u|x z1$)QKjTVygzR7}AZF5|!nMKVwrB~L58JH)XXQB@V{H{y0B@ggI8&P}-Z-B$iv zX=;shUqtYAs>bG>VF4=jeEq2z6{(48#3{2PXb>9hA^wt zG|de*Dt|XkVz13N3V+-%+wn6f&AAa;shinY@~GJNZh_~fY054|xdd+x9?>EiXsJn@ zWh2djm@b1m!;4G}nH3?&4pRoy2fhz`d_Ed$o|8ocN&$gPfnt}&I=IU?Z^#&2+!GxP zzI@2jOyor<(k-bo(8@nZYybv;7udoBG_YBIa_8b1l?6^d)Wv#!sNKZ>W(5m&f!D6{4bN-`9C z2oV0@?+Bo@HBkqCl`k5j%nwFch7mVKoL*C}s1+N%v8&e|mI|V4*;5fqD}H(fD2d(+ z_`kpOf1ca*GD@W)YC*ZpIT6fQ=@{}fcGZNanjW=vz5;4^JzEI2?A&sxnh93lanfyYz3r&d z)$>*%sxcy}_`=p%+1B5R_u4Gow~dKf^zwA8sE0b*e)2i#)3t$F&HY&ePsb}Db7{SE zb8;*;o9$?=a9?Zwx51T=t+)&E_v?=|{e$K+Kb8R*#u#ZvG&l)+MdHONm|!orpF*uP zmCSetfsm<{qd@Ml!UBKRP%b{in!Sr`nZLbNP7 zfr)gU2NtpS1A)coQHzk)dW#gyRCS>uix^&fmxMn?cEBI{JMEvk)Ty$b0_UV38m%)c88Lh_6Z{%yCr=$m6PhThDGWA&iFB zH^`Jd7d5(DDj$Cae}3h#hHJ(S=wRMd79I$L1ZG4)trgh zI~tW;Mu*rXtDq2ARkgmzKjAu)o+-a^pzrYe=SjD)0jZHgMs4*TbIVGtR=E9RV5Xfz zVZyh@_g_)xB0d5YWG0}ORAxBCKpT{D-ujd~Co(LpO>@f*#O5bHpSg3R`WT3>*!KE_Seyzf4V5t(xcepHHKA2!8_F90c2@wuwz905^C>mYgycRU>FSv^l;DV`nWSI5D;D~gm-uc-?2Q@1J>{-g;PIlcxH|X zJUahTW=;^HGOi-|hmabNr=d6@TNt$G=F-DZ#)cbM4!Q9_80bHK1<)TH zz5)`TxyIIFrU=`Q<5=&7Wg&-t!!1RQj(fgJrMpKt_O4Hys4-@B3Oye-Sffr%P716; zG-50mK|?ZA{Kr|>XU@Bi&yc<6R{+m*x31Cbed9~6fZy3n_bVWr+0SI2AV_NkNtp(t z!lrb4!*Y4AyT(ci^i&VbK#jj9DxV#PiUvJc$YCGWG~afpXlfv!dChN(V6`Z`&nGmK zyK(}p@3`vrMXTvCfL{N!a`YhapvxhDqw;~V1n&vbvQHSxJ5p}}r+H-i&^ddYclWZD z)tz?erc}8bcYF`JmFe+*@Uh*vAgt%b4$(ULG;cac#~9xPG+nn+YcPTy?pvvX19Z@x z31x7&sO2b~$V`oL>);SuG5qhg=1;U2%VT=R{05GW^v*XtAX1kPO0^*mFJ`94yKy)= z3o2D(g&ysA1qUQuwnEuqMFZc77a5#AnVGvQ=PtZ!8;*_w;))yY{c&0l;b$e_7#TZ8(=yMMHU+F|WZdve zX@#N6oyV>rbH3T(?}klz%Ri4hF5oGlz=Gq00A0txBphSQMLEUBYMYKfO4A3A*DIS@ zw+EMt{+s?S6I-7zjRamYcg9mu+(_{%m2SN0vIYIlPqY21kdfz|qX@oprj} zbtyBzUf6e-DtDwdEd$3>%-#>RkS0(9yXB6d?e(K?Aaic9Sr|$!1iW9%LFdtq7v5veLc@LlLt08e)(F%eMOM5X1(mOEH z9DHAbjkTvAy53fePP$E6?@NF#t2mRQI1&Zn=wuVG9nwXB2%nJ9NXv!LmS#IQE4XfH zGeDCa;45W52y!T=d~IaPz#J`*= z;>ypbwr4Q(*bYC4OM6qIZ3N~&OY!N?rLb#H zxKJj+gK1R>(&{{S$z%as>i(r(MvPZ95;gqA@SAg6=kv|&N_fx);&SFyi2U(|6 z1A%-qgr7~uUxM>8jPp=Y%NYD@xZFwfCuoZ%hziXV_BxX^9js*s?Rb4_TPD%T004|! zm=l#J$1-A9ld7S?)4TGT6K)VHf5E~mua7TN=W5Br@^LuNV<J_imvs`ldri zU{?E7((I|ZA#t13?Bu{y3U^DW1zI6tZEz{fGklcsrQ59Fi@)n!uGWk1%5LrKQ>#!e ze}Xgkdg|)#q^?K$`rHn*JHZhXWPypU-t;Amr&@NFv|1uy9FkcmTIx7kf)+EdOHNoOhOmSv8gCSl2x7 zzT6d<^P3=~%{hzt)T^rXO!vmAda+CAe#$B>P~+kxqYc~%o)I)OkaM)UzHf7xp5Q<> zHk-eW4Kr@e;;6Q4K?1qT(e0I}u$KKCZJX2iUK~!3wAr=ELI|+4vunHXX`C8*sd#K5 zew^8@*;$+FR;ph1H{yd`5Jv4lnM|3QasNqL8*#la#;Mz6U|Dy#FLAU(A8y5JcruDx z5^*EsQ8>pb*fug)`RKIHa-9|k`msE{%$6Vj>l)t#6;+pPlqIo?b}T-l4x$^BY!Man z3G|JX+5YC9@Si}m-}J=&M{kpQ`wzpC!CnJqvGWF(XW_<)q3=*Ys)rQtaI)4_>$o+$ z^>g>8s`mjWh*|5s--D}g?PaNnUS-35N1P!s`P4MAA7cy()J=;eKhpFUSf=p33$9i; z8F)nZYiLU65tH2q)6w3=t^g;=!Na<`x{5>LjK^xfGj~#whpniU9^X#ffM{DoQq4N> zmDrWbVtWgdn$aP>kCox7aDci{1fln`z{7&iu;9H7snkf*y)Q(#8j=9&YBmzqer~C2Jyq2F!hOTXHrN5UH59w-ZdEqy}3z_AIoZWZLYbsZ!kg;mBg~^_| zKAr3H4ZrNGxWeDz-5N_J3u9UaJlBGEHJ<(Nj$xzGMc`O^X=aYx4M~}ZlY!=z z&`aA94Nuf3SUa090Lh^j?!`ZWXh-t=kO#zlrIi{fVzY`w4L zlm1EdcP#@iwYhos1TCehbw}VDAMeuup)AOem%S@P+f`z`kIR`sx9ieJph-|LK3U0I zATW|RHV$?4z)dAFBoDC6wo5dZPM~vvlCdS0|1@s?ay* zX})b`A$tI?G|PatBChx#z!UAEv$;m6dVT2;656?V#u3oNfwC9eLY>iL*6n_OsPK)Z z1fM(%0q|{uvy3L$+U?gxVijeX=`KT!>~3u;Xv`QT2EYL)J=i4(UDD55=Q1B!PT#pl z^m+cBMKX#Fw=WM(=Ca}aIF~pUj~~16a=cnPnDrYvkA-?TQ3vK?I}UfOQtb7t1ToJK zyZm%M(I$(gla;(jc_XhqFs>loo^btkyf9je?6+kWQOeU2I4N5$NF)z{Zig-*$a?QM zz3?Plho{o5*Va~W3_?w>v>DYk7#`8EQy2}@u7fGTE5k8} z4}`RE*eUP&yyW`+wudy}^VO3|yQ>~(VvJcTeCF=Az^8H47*^?CQI#A z-o=NJ*?S$%QIvAbT=MnBX$L1KbOt%~ptG~y;XfmGaveUR3!p0|)aV=Cv449KtqHC1bS)Y(=j zD5c0fxz+8=t>^NuG|B!FL9j6XZh~n1B?cW>Q_(@^4$9subZPL8D4U3@8nN1&h?rA@ zSb@20?BqWsi;JfKdu6cnZka2qEWOqaUKBI^3fSg(K9#MS&qs7Q){r~0G)7e{%wcbo z)pGKwF|}Q<2|RZ#{JNGWLiizpt^AW^Kw0t|tD%;LLxW!D;%6is)4^*>%#x!142v;t z+5{#WbwgW5*<}_wwq2nu>EG8kvBF}C0~hcMPh6Q>LwZhi1o`teDKXNSOAp(nB_{Tm z8H=EI2O5i2K)<>n#k!pI3}tEz~XeKaRmrUtg%>F9zm2bSyG>mQUC?%D7M;U<7FCo40SC z(+|jk-k9B>-QgpUg`bh02a%q`?;`l;!wP%70z%M5(AI^2{ry_|!g@C}%a1_*$Qo_T zO&ab06&C$j`-=2jN(60FnC9^<0{Mf~_g6p=A3^~7m%;Yqn*8=u=tt`l#ky|@y4blf z2e*OyoC1vdl7TzQ&>1nT(628504_fa=|vC%`7Hq2Mxk)0hu~XMClOe5u{GXF*R0@I z04!PfD!N!+c#UgTQr1cHE1=BB1Qy=wS|~;Y_8ok_`2JtG{j1oY#34d^c~DG8;H;CZ zeR^T1M|csqFJF-Ghsv*Qh|x@Q8nX6zN2d;nVbKrB0E4*vG=-Z4Al5i7yhK+hVvng+ zp&!ud(;|SnIMv8OEH&k;Nx7_jz76ZbyI99?W_>k&$L_5>vLFO#Bwu8yn~@;>1PU*g z;C0G@kr0=0l^PZ%%AJIdgEk-n%LfJF8`7q^L01r)E{Ob{rIE0&+|a`N9sQj!g8J2y z;}-+7&gE}V;Ul=Ai)|r1z|PML%9fVwq}ny{ng?|o6;WJ#{n^^o%)g+pTJQ?MgUSRN zKcVFn9?YZP-1WtB7VQAxC|)$4zB-WzY97x&$uju^A>aQc?<(1!AiP|YUxShBEzqQh z8(bN;gY^&t;k;QTwA@%?bwfp*K7!`XU}C~ zR+%LG^Dm@7kW{iH_Is;;5LJk-G?0_yDHFODr|!F19XT1x9kNOVqbU3j*1xb+(Pk)C znBUC`BFJ4PMRYXoer~&|RB%CB^W3mpWl@9vk&;kiq~IVZJdn`&Ty&ZGV`ODHbZveS zYEsz2N5$&;u98@at>xe5$%05lBuI7?h;^#f-I!dMK3!jWQa_o%T^Q7WIq8Yo2=y7S znTTRn|KaLi;BB#l_^5G`MV zBq*vIZHOdmTLc(7s?*j({`6H@bqq`A(@R_hcUhKW&zday=rW#385Q#{M&2rH} zI3oc&kKZi`rhNI-&DXT9-|JwOl=3?g3#%==>R6Szfml#`>w(uC-5J z;Vwd}FD1uZoTeyIlr!BHRF-B@|DoI`*@vcZU3SQ(xY*fA(N#osV#*tDuVt1k5f{!8 zHubV~Tctv)6(Z;LS8>R~^AE06q*~L4{CrE@E7o?I6zF?sjPP}8YK(0P;Bdw=Fm0me z6#NPq|LN`U@;?P}B2GdAK|+ay8?z@y)Zq7(UsvgiqB&Jzug5>&$#dNkZ7PWWOGr*6 z%`L2e?m#M4;!|4Egg0`9(nNo?A~Hq^0)g5RBYHe2&(~nQO!===pghJI;aqfv#S*wQXTFEmOHDP_U{SV>EC=&9K|?#N9SN(lc-98nNkMU!6w4wW_Z3$vE&!vJmC zWnHIg&;_M50k8u+MXf+SaM7OXcj;sN4>i8YK6hKurHSA73r_7vFw{N>Gk+-jqCQ5d z?&udL$)t$R#L8PQp%GZ}FQfTa^g+(E^}nu^k#TlJ-x*J4^dOQcfDyD`62_0HwTM5shwmwpyyjQ z{cW3nZ077DjhLn+I<-7^(i=~_bJXBIfLROlZ6onmTLfz?2SaTPs}SlcMfmiMp>c~e z2S#rY=`8~JiAAIG+758?llzpnjE9V~cLM3yMGAJ@XVi&02THfByt<^iqa~}xWnPWu z2_+H9eHjMGy4^x2Tm3rJ-uGjNL9F$3_wKFh?1}q$)P?tNOG3*qZ$?B|DL-jWDds{h=HI#isQGtEWc?9o51wKEeAN;?kj1E9vaj#8 zu%#n(wU8qV>$OJiuT9OH*mW&tr%O{T(wKi9AjPR8pYy$kPv#w(E+~?^}AioN1jul$ku_=%jC(BFD97hu8rZD>loJV-Z))iKT=VpxPNZ`(SF(I<>)Mc;?T zO4;nb^>l2LkdB)c>Si8fXr?=?N$K>ASDELa<{4wJC|{4RQG(bw(sg^i4EM@Yd8jRZE86$}(1rnA>_oZEAX@7W=mB)V1w;W>iChQ-RkhBMqO) zRP+*vgFYtrG^x5E#hI9xSb!HB;o3IE;G5(>>XJbE1KkMkVtRV5-&IXUL~PKwK8I$w zrc*KW;{6BS9D)E|E%U@0`T@ZQzQJ;s)w@%Au2ES&J^SMPe#|z`Rfw~v!Y%EncpyN1 zM)wdzQfQw13K+9-jFNg=5-Cg2-k@T)6U#|gK{qMLz-suJxo(|kcJq^&e!z-#^B1Bo zsfOOe>)CV4H~*l}M4w-vVQN(!EYF55;^7s*TT)S0^`>+i)f}b@Yo30fIi_Kro*Km? zY0(`PF~OSh=7@Fqw|Rf5MVv^FwzA09a(X)JbhAXd#GE2Utfnb@E0C0I&Ilo;yYiH{ zb(v}VoZiCwV&As|N5|f6yu7@y^Ma938K@kG#(u|A!foTINVhR5Y!yOglT_ICN|?=% z%Xr3EA1jI!p)fZ~r??nXvBe&5kZJv}e_N21^&iUpMM=^JS))z-^oDzhHD=YtM-FZG zzShGx>!`<2iLvK&PVB0uX{jlFPR!JzO@U>l7l_6O-&REE|Ha@R3FZAi7>v0?&mTM+ zcR1BG)axT{=hbl9685w$?P^jk`SLIM63-MyS5&kdTIto@s`Hws^+cKWwSuyUva*6~ zNQ$w+bb_cq|56fT93FSR#KnqS_OUdwenmxbPR=*h8$CXevNR_(uRU+9J+dS!aehEV zL6ISkn<#8YpcpEO|Hy(Q96B|z*0dkT@=6XO9AZ}&S4i-J|SqO*jn)bh*=dji! z(!1|j&aE&1+RiCuk6g1?Af&f$qj2PhXH7%|eJdyj#)xGTKPMkmMCxi=mbMcP z2x`s^=|~7*u~k?bNspP8YoI8Rb;>&j5k=Af{vtFvNr|-t05|}w(PjicUr61n3K(s5 zSBU*vIFqkqnhEuOzXBXqD;RJzD+)Cj2F1|ubEa^9f^L<(!tPacI1>#iUID3*Q;wx2 z<{w`k(!YzKqQU~+31$`9E^8AI0IVHYW89aFBKJE8WWTVgZ_v?X5O){#{c@+L88`1r z>C`O^(Y?!$mA3hV<0mOcdVfBB*ND-iHm}N+?qXAMl!Y!9{MF$vownt+=?CM6S_e%Q+8S0WT?$Mh}{@q<4PAKnNe$KKFv*m{X+8TGL<@s8$`~Fz?e5Y>N%D zw)Jo|oGeyCv#WL&bFAK#Z^Nf7g5JE)B z&%X(fp#PX6jf+K;p|z+5MK*poJo=c?cxzc+4!V(DO)ISzKhKegmmOlps?6I}b~$jk zS_D=2rqPyUBgmfvhpbU~f^!hk0LNZ2LTA$5&O&k!&qRrmtSEC>!&l$i7 zSmfu&M2nK0d%?aXMGGHr^xrE;#g&%20^K>Ja6LrQrW+{vNB-f%bjZp^p6A3ZKXF%A z(&OaX;vBs(X+sXb0ScT+ZWE^mvGVr zeryKVs*|hUFh|uIT!-Xt&KtCCl%8SI2D|I!gbeQ33yqv^0-8%>=obD83Y+9oiU-+H z+)N>T+ZU;y3GshyxKB&s6X;dyF1~yB?sIJv6tP#CdB;pW{ss)GYi(^tl`Hf70xG-m z{2F!36!vLJht$Zg-GmK7tv06E<_|R1Z^b62tTif)+;2OQDBc`G~A$Um6>OW@jfj zF4D&pzDev{9F{4-H0QzBfR1b0*9Qc)^?sI`MIeWrIJK8ZatI5cJGnL`sztZWlJmP%u5J8!$@N`-X~i$0{(>mh3M1 zCa*`zEmxJtdYpsUBB2V2Kgjt5zZVuGnqrzPctxmx@OZhoUfQILK5@b(+^V9`Bq~`` z&-(OgFO1$@f_Pg}Z?9P>Epqi9gO!bs$3{Z+H-?+a^&smP77+d;_h^f6mVnLLf5{q|*s79G&OFUb z|I}&O3MBIiSc9@6^Ct~6PVX-<-HQp}dQD>!xL8oFsZ7 zvjfNuiq1M zXr3P}h?T%r2-|mRVk|-SWSIr}w{w^0)b3Hb)sISB8Cqp|+9hv!$Jz28Y_bo>@g_<1oF=$#)}I zWe!Ub^I#-=sDVIL6AoL&<3))(b7JrE-Y@9W`T4Jt+bz3&-ih{7t>zD0Wx#r=PY3EJ z&hLIxC(g*Is4?1WNMYkiQGNSj0b(%IH^cvHx2j8Tp=+9~9rAQVs>^%vg1=~7v#K7n zkBwdFvcL?Jppt?VIl>=Ua_ajMHXwJ3Y@B$-rFRI)oY>Agf9)O`Ii~BzT@9B?%aOA7 z?_mp6$b1b+mN*)pxjp8L^7hmPdR_sVtEDRQE1$_?%O@(6yHnCKs$A65CIko9JQHt$ z=lXk~AuOGm_Rr9<9~#STL3>@bnD4RX9$?XRb#>FzLAb1Ox(CDBf{0(;+>iKs9xu0g zmMykR6Y6(>wnf7fWol`-!GB3{h6;uPmWM}Bx>%JKYY~8gVynB@^fku%ACbNJQ)a>o z|%V8IBW@i4A%Xv_MP3peX#wAfMD@bmizr1 z4>vE`&?AQ|m*2}GoH(`?slu(L)TO22;hf_a2NY2Fx@uc7UBH|H$C3ez4lzzkno1|S zihO))Q$+8l9Q8@?Bv-yd#x2CM<4~8uxMZ+mXb<--6w1^O5?s67N?zW zV(j9oK}pU9*Cu)O{k#8rxCkQzp#(j4I4ZCTnTW|Uiv4A6Y03Tms;0usykgb!H(3`_ zs^>RdmmXIgr26dI>X+{~?SQ4C*Z#JdaM+`rPOMK5-LOQ+sOeghgH;aUkHD*#l5dAsx zig~U=x<$w2Qrh3DHP57aRnzul|N4z$uvm=9QKENr&l1HD2Y@P-j=A%lDj>D&gm>>t3wL&qak*KkQ;^H}I{)svC6 zyI1WLlfcppD@I90PDf4Y`rPoLB zOeuMiVp1(^oTl!y&;5PuLGooufZv2~(Zw8x^1RoP{g_*m*-^6NVKg^5u6$TrPgQQG zuJx-T$gaUbaQl62pnHo?z}LjP<=OZj;Qh-d_w@qsrvXy64?!u5aEA=?>Wli}ZHBXvcA0J1%=mB8X|VP`NqI%{4%;Mx3}%L}@rvZ&4L| z)rkosEk7?u;J++#|LiLUw?X1(069G!+A~@8`-4`Q^^9u34(JMi0iX&yeP7W;fZ91G zXvl?Ydlu248nR~EX}lc%Lvi<{zi8cFg-=!2wDnV>yk0U%!Jn*3VwzuZ0eV^L4f!3{ zL>=YPiNl3W+>aCMuXd!7-%V%B$<>s1ur`x)En-i@8#TAC(2tB+1s{L3u}{%8W~AA3 zezM+1)+_EHp@wy8>Bxtg0eB$}Mmw>il&2iuMSb{J3hdBq3citHxe^xCmN9KBlQY{2 zm0_>J{)nHSe`wlYm(1SiFK(=a9|}B!7KEZfY&R;IqG&@jZ!{z~JYNl@@962C1i9ts z;wnBJFLRYgMP=W~cvsqeMCl6+k=UOWa#}tawA@6|dFu+AZ;c7^deE-g&SX+2a6wR3 z^Nr3>Zdn2)kff#FwX(CE#cvu%RD#>Zjhm-T2;Vq|W6-Fug!lwiaffK^7PQV5^qIi? zZ)>Lgx8J$!iv|OqA!t7*%4L+ru#;nk>NjsjTy;*Z7R3cO#`g_{%cnuf4$hkB36&kc zzBG%>v#80Mgv0TaMA>nX;(e`=S|$1KI2SjoUy^_&O^Llj3cOkU7*e87DjgS z;`i${xXFH3JM`?Jt8nhO_bs8m*QY4!AEfnjTDQ;l)(7?f08rd$7-6{_hB)mp1Yn}BRJ!;svNJT~VJES5Zn-a&qc~EmM zepY|-Q(OAaPxtK~unS~$Tq#UpZgx0s9!OV zmFio7Lxh#&yCT@#)f2K$1-b_B2bjCHchuOkf5PszR2e+wCf)k7d3j0xDu#Kn5n%n2 z1-Gh()BJq7*T;99L3tKC>h$T7i&CJgy;vyj-6~hfywMJaF7UAf5ZvUp4h=@E2Kj71MJQJVr7xmhE?2Q|Pq%Q-fnXvXrVqurR z_K3vlY`Q?)E%6=Q?e(AC>=^=kK%2yU6ee&#*oOs0NGb-9T8{|V^Fq(7RF*s|8LBWE zlS2>$>E-Gc>RJVs{O#Q#wj{X0=l`?Pvi6Pj_HWIYsVjW}m)5POfl4fqfl1)TrJw(G zq$A~et~<7mjLZt5+gvo)@50l9g|O&cqyoEC-}P`4$EBInwA@p5y@MIn>$p74(lZaA zgv1VqXd-R*Pa_-t{*GygI&V!vm6-<(ewI*ywuVencE{tCJ60A^;Xw{B);Zpbyzo(( zk!lmlw3MxPPk{s6*nG0KFP~c8=FH1H=iS9RX2+MINJcUL2#4{%?c3fVIo*woQU;UZJ zL)x@m43g%r%pT?rE->j5*R<~>VIDroZ*i<%{0E@USCkQc#t)Ib`d#6XQ!$tVYe$kf zmufGJP#HV3U~0b z45&lKm1hex08lu-ClUh}anSdhT*c18x9ap}oA-Fx!G`X7g>J3Q$KQ3S2&KLq3QRmn zBERqO31w7(nXe`P0lwazRyx!|kL$(y=@yJ;P}HnGtJmK9FB))>=0x zb(>Cws8&R`P7o%Pjy!7SX3hj~H4Mf&#w=#h5wGGU3V=DW2W`%Ld#|tYSDP#&GFt~_ zl`lSC9LBwdhF%<;6S&9djP_A&w;MzTRZA;Yf6z+YE7R8m2(R>N@O;9zElxu~HG(+W zkzC)gx5WQ4;NHfOAPFW_Rys8Cb=kN`B$b^%yW6M#y;Y?D65F2h1elpmB|X1_k4hV8 z5_pN%$i0pfv6z0ukYc%d3)K>9q5M79Q9@GP}BWZ#+*1I*{lcm`VIi=l9Vw zqE|m@sFqg{jxWV5ugtH;x*arn_gySfe`24`%*NwyMo_SzWg+f(2t1a^+Aa>;1ozc&R%1FyCtWTB}*+!a5-Es^?kjfE7 z{W5VI^ryrdZ$#>da}mn%5qd(B{sx7cBDm4i{=$up0oI{~hUg+r83_DUveT`*o#wrzz|EtH3J73pl1B z-Btf9nPOvO{oXWBzFC#^*IGS6t6*s7Xkl;x2vmiZ055G{P*s%pAZL?}#wJM0p=_YE zhO2$bE2X^{=x1hvr)U@ZVw-i&&C$OGY{ho{egBvEd5>47p+*d}6x={L&|TgVE+j9< z6hD&q@(+;bVSvgpS3kFadUaoC?SO>z6X9)P2CyR5=V9B#>|W3Chl3ft!snJSoydE8 zC%0jq-ELiUL*IgC#ta-`jaU`$B7~8op_P|PVZ`J-V2f3s93UAeXA+Hik{^u9Ieje5aaod=+`@HK^{A zgA|*H@iG9I^CK?b@w3)J978K{_N1D`A+P58?9K#Tb+;Qk%P|RIzO=$pTX)^sGb6p! zio0Vs>%?dEjY`flTe26F>wV7^gX5mAPVCWZ#Np+e?`0QUE521-c_ej(f)vlB>@l%H zm!1GLjKcTa9o9a3-H*4aj~WT=phJzr8i-@B2FW1)eUb1%ccjcra`L?$QgzIMmsOHq zH@08ODDKvARUBve!HF20gd#Sx(mnMka}jJFHMH2FsFZPe78=3x`Rj(m;yaL2eyBa~ zcajfw{Vpm_4S7;#Sa8?e9+*?!+g80oiyt%O@Lu9WFxUsXz&)N+akYeBJ-@pe(^BL) zd%+B4NzL_l#n)B=*i^JH+gjoFU9!pWmGq`*W?!_|=QWIGL>Y zF}soP?nc}Fd&z^&(b%^S9~@qb2Ti^ZW^X$`ODlq~3hpgBJ*M-uU+^bfBT+ffy~H*A zso(lA)`mpXHd2ZXcK#8XLyg_&s4U6ZbUw>XI!ur z#C=zCk$n9!Z8sysxG})wgX{aa&w-&}54PT2Z0Ef^5mS(MSr)*=aToMv z5g`rX*a*x_dp~Gg5L=i}G*iFYgLE-|CWzqS5Y{w^Q1*mBsDLKQh7?7F4E1G6W9K<~ ze@tcxV(pZlCGE2WxCbm#_xQX8kv%_W`APThDGH|bI~oc2NnfML`Tw~4D!VSAUTt|o z-bMlNbk=}M=j^LJ?GU!zvawJ4#ATQyGfTpG5D)vDW#?>LfY?7$bZ_cj%}Gb2HvCs4 zD)>B30kr-tWJD4D>WciM$TzhounKOlaIkz57VUxM)zn$=oeO`LWma6EA$gik0scEN zKQiCVG;?NTy!i?D8eU4 z3%Iz3wvp@anEG?+TD(0() z792JvjyZn?$9Agwd^$S^%??3baa&q5Q6@XN3%;!?kiHI^d#$`@eqcKvFAe;7e52RP z9=+AVQ=UHt*T#ZIl!m<^tpd=p)4=G*REJ&RS2?oO=_@`JZHw(b5y zX4@~Ni#9xqm4_UJ1?EK)m@{{reV;>kS@uu$K0ManjQh<{q5*1Vy}Q-R)WQ;jf#OI@ z()-I8UU1+ib##}|7$VAmd-j#C&T zO+m;9c4Bd;l=Pj+iNpI_CJ`XTcs3>`2-8b>VEkH9JsEpLd&|vHuwPTx%Yml-J{_2U zMZ8;gj3ZKT%#Mp`9+PrOrThHFy#kDu-m?`mjpTo5@~)P##VqMi-S6-ZP>$KCh&#!7 zJP5`#wJ$`dxGLlQl(3ZbMi(9tu%d13+jGjkTrNn6^TQa~esA-`4EbKXZJ=y?ej2fl zel_7A;NnITU_J%=_M|thd$w^jYOOrq$q_p%NJ~7mwIVG~ex7wfKB(7&Q5x|S`c|u9 z=GJ*t>r`B7w|suD9m7B@EguuP)zcroYTRQWBBI6fjM&MUGTZNKa-H>r%e|iLOFYB`z+3w^bZv zPH4PqvV42BMTn9;dY~YpR2aqtRrBDwp8A!Nrj~rq*vX>7aN4n1mDg%|FdItdU1_t3cWZn$(u%+`X69LYNVxUsF&*+q*gGz zNtDX}F%Wtg4b!;wMaq8%PyJ^o#D6${#&%X%#xJsVhBcU6XHs$a3 zzcDLYL`S{y&KV+hvU)J;0F=|}Gu{3JoP6dB8=c)O59>-tg~$86#L$#j91DSFExLaV zE3>9Rvu5Gbc{(_r`8MFIlVUdZMwlUcib9^-SE4wN z_Qqdr?lp&DflI}w!n*DY6~sP>OMdB^?;-ZMM=6BdIqwhW$aifGh6j^EmI3oK1Qm zDuz$zjwCV?D-9@OH5{_TW%?9f9^d9pHu86;kPNFN7JU8+xjB>_!grM*&W*nicf@|| zxEkOV8`|}{72fJ)vpdE`6E%lE68RY%%Y9q(-?zb<+Z+eU~ zV)Tg1P|0?03AhX+RFv)uI}N{-x6#FCI@kU*!vnZlL&H=A#LWOR2Xo)Zq$byoT)}dRBR6T zHK^w?NLG}67*$_+r|yYn@gs_aScckLB;it7Fld-RPF^wY*8pp$;#zOs<(=cy$$n>yB7 z1Y~PCo^4lFW({I0hh8|Nf;-Gv-$ut>zlDJ@scrPvtB{@JdYLzgB#LGC)WUnBR{wfA z2T}%*Qb`VQ+ZdOaNTfNbbhj|^l?)8*psqI>%#1TUFaH1`=%<^XOR)R`vkAtdn@w3j%)r%=pvVR!3Vwh(24oG z1_ivq^JNJrna8FBN0~{+=#z4!Wk_ok!N`65Q?ZXaf#fwTfq#Z_%bhUSKM7Hb9wlqQ zp~p)(31zZlpulIV5$oopLHG3?yKWRsAu2#-hQ|ZXP5Dny<-$tZV{n>NIUReu>PpLX zOsWC}12O=6*b?Q0c#SKQIQT)4ysHyKT)1vtsJ&#jSh8(jV!+lJG^cm1n0L>kD-sMm zUADGHb_?#1tmoRmAO(l@8ZSvmj)EE1Gz}0FqgyW>=c_pezg*ZYv&0=!|8alTwFpPD zPTLfCERP`Kle(~v%-unbH5w`GC?~Ye$Di7 ztIk73*k=Vgh2t^`6=S?IT61^K%UjWW({IP8;riF6=?`5wD=bMfl4xc186?+nUTq1O z)7n2Q+3K^;0lXM~kxh*ADDQZ>FQw0+LgrVNw!cc!#ln*q930lE6?*4-@<=I1qR|}+ zL)$es$ef@!@?|UFlXe~`YdR8PJ1jQ*Dt%*;9kj88dc z*7ZfEU|-<|Pr?;dj$LbGCd~3iT;w>vNB3JWI3yyacQW>wP zqDtKKXBS}B*?UgwGKs1>=a9YZybnZthBwX+J_)azAjU40m?uJxaf0ooE>@dxP%D<$ zvO`wNRtY8!hTOG2wpx)qLSo*O{i0hU0IGTe#+NG>r!{dV{u0I22;;{~$gon?_1h-K}nAA zC>mtdvz;*4uiGCu-y&PInwGbJ60Xm3AQelaY#B0!K5B_w@(qyCHlZ9#?C9CxB2Ko_ zE>RL{Nz1v6C6s!k#(>ZFk3Dla1h^W3O*8o4C8=)gq>>aEP)A!h^_TP#$Tygpww+(T zPR2$U!SiqI*KB%B6B-iw91x>(_T?d+oJxXTTrEi!0{t>`$$kQpW#g*!j_gAP_|^)* z7m;IXbwX+nu>EIJ6HN{o&3fA~zUfHiys?{`S?Qm56kla&jZw|6-Dp!g8E08Ha(tt8 zY-!{{Mw z)b9sAChJ$#djO312~Q|wrG-{Z4RBmZ9h++2r_qn`mT>yq#e`d7 z{ITq^tHaf}fV(UzqPs{No9;XIYy~^YlCqze1OEYN??jy3TlQ5AU^HjW3(UH1CdIee zHQxtJ{327c1ZiB&RkiS9juf!@FCt`S3T0LC<*u|g6vKpFiTwPmqi7IK$+++CMEajv zB52z~I1ITo8fcg^!raaxV(wMM&ucG38`^}vGq|zpb&i*nIN02U$}3-JpTs{>Dp;;K z35heBWj#ZAN(xv^*B@c?OtlpCo@z=Qz zH*ZjA_uv&W8WV?rN^ezf9QF^a;|%t$p)P3Cy3<1kWuM=XvCa|vX^AB_aM)t(JdZS~ zEo%477{jhCU+HNF&iNMK=FKm`dk_36H*Z|c2bK$^gf%gzeWw+M+--o>A#VQ#tIuiP z?xFK4F+yX+k@rZLFZ3E9}w8sjnin-boHm@j`k@xj36CLuF5515X5R9Kt+0~E?y z5l0`HmmZP*WM76VQccqBYvEW`JDYcyW-15FPF=i|@IrYfJzaLtX=c6)oyNPmGRjht zatPQdlxE1!L~xWi;Q9ppLSZso^DbBCSTvj`HZd--ze6c`khAyTVxlNVmsqjgD<6I> zdu1V-Bp+C5PY$12e1n1gdP-*U<8lY~C1nLR4F*?f%(rE8EbO53vc#_4$ABs?TV&}7 zvJ*&OtN|{|Y4sve*XKL?Lm%N(#%|zHd+gZP8)J4jV)ZJJ99*^B1a?0WxE(4!s)A5h z**mke^1r{*4E)L|kPvjwOmiZ}O1)yTk!`)J2w&w}olM?PlDiP(p4_daGTv?Q!c zDjza99`zAs`uED(KG(!dnI;)i^fWARRB?&~9TmV`HZReGMl)(}Sr&aqjIk0yh=lWI zY#yu92lasT!1x)Cm|C~D#JJd=$Rib0n$OmDUR0Er=X^%{c`ou+Zb5#S3wX4AiM*0J zB-WKOE5FEVAg;#6akQ>N1$&MT^_#`Y!C`dGKfpnd;F6eOfV1a4QEHRN;RoH(zQ!ss zCV@bUrbqrj*=dW z)rDHzY|R0E1~qn2*OAdAH=U&Fn1GzAY6G-g-(P1@B_xTow7sOPVOfSN?3Jf)&NCQ0 zemZfH52^@zxC>75E%o8SXXOxpLIxut51i_t<$-7NDmUF%GIXB5Il8*S`+25JCWIE; zX6tY19?l9Fn78#w5}-67b5TCdAI7VS###QL+Ix5qJC-+K@oxEx)7`C7c=NL(xAxb) z)9)Yq9JaOlG4NvTv^yppj6A1J?ArLwm93rSTm2=&yUkaTKrXk#7ukiL13{CsP>>+P? zhO2LA$8&qTKgCwL6sz1%w#%)DHt_4yNPuD;&Bo~$wqWVm&!s8;b8c)E3OB7*T>ZOf ztGHUy(pZ&=?fQP@(x<-&!n)^Rdg;Q!+o2toT%Z}}I-+@p6YqLdoG_A6+KT5a2}x@% zZEeD7-?5^{(`t@TYg(B~6QT?4AE;1j%w_&oD~}eYq+8Lx_hcxI3DTlT@xoj3={A&2 zDoBTYKn^6G3_{`v1-M>-WE4iyk%HLzl~K+p(vyo*dJjm>vhT2a?i)owqg&i818+5H zpXC7Hg2-&q)5ddh0rM>5gv!R&`yT*@ADfXwzfPBrSdyTp-hTP0NtR}Qr$hmhdbeoy zZ*wC@Rb4mqj*_aSb6DP|iSWAZq$e%a{h_WWZoP&~BHt6~q4pA04eO-7)%ZAQ*e7N% zBtpn~S2GiD_m)Mvm8=hO!c~vNU3?5Thj8bd)&wxE^We+RXY z4iRZIo|UIK+M3B*h(#nk?}IBwnd_9rH)0zOn|zX8UcWYfYwE;xlde>-#Vkq@o&k5$ zeMQDa>Ch+kvzq(;M3^8%h2YSk##G`izyAIL1(u=XMOYmUTZb{F+Kr!8$cdtboya1pa%8s`ML@kR=4p<%DyVDMVMD}5zH}SB0++69gkJXNFew zLQQ^BmGq0I8@|}k{?Tn$15O8F^fZ}h>-m|9zam+B=tbP!$j_ymAQ{L0+FG$x{8b#6 z#U0+%;@Z-_Lu&P^CY#Hj&SldKzu#)>N)RJoi+9{1*-^jdqANZ6^5x_Q7cLY|AC|?B z_6zRdG1w!zuNh0GYXazQb}6$t;{-;S8Gk@bd$nRufpx93Y}J+XV6+VKZ9-jkM#b-q z@cFMlq?UL$cItzQeZR3-H%*&svmQIWGLi&#)RybuCu>0sZ#(HNhBpSWARd=Ri=g$1 z8hMQ3z0g{cXXNj+PuSs~>}Ef5KXry(a;eA;nVL=f%z`E81rStceM$omsfK1qQV!40 zHLs21l(FC1h+dqYnxg)pJn=6dpXiFA;R=B_wJO=#Z_<#Bt@`W5h%dqYfEwi$&U3{J z1|eJca;Ari!w)h)aZL1QWOP->EC>BmMfEbnn`(Zg2WQAYti4f7+??@~9`1j+ zMjUE6{*@d#2Qe=UQ-R8&OW1yO zm*!cAoK2#w1wu<5m)cJt4JD{1Gj(UknYq_nfv%YJ*=8DI)ak>ILgM8ugx#ots$sF(f8vv#*Y5OXB(=#eB;wQ6NiPjFNKRbW6U4&x#&}rKwJ^yj(n} z$3ws>1-ZW~Sf{jUO%vV}Ui0QgM`CWtKmTx^!8_n08I`Dr(mm?(FDVdSVozedK$W4u zG+~~n`=vbhs0`DEUS^QtFDY?}~%V7deV)l<-5PYR)WA~~wA z4%i4J!fc(NWRdM`fACTF!Q?Jf=>Bmkf`xB?Iu51E;+we>mKb5-T+7s<%P1G&5AAI+ ze||2>Z0BK4?xEtKy!3&rqvCB$F|of*{U>>>9acEXqwaEBNzRw((ZMozkUjh#U;|99eTNgWdWlT0P|H%P zsK%{JSYrotZ5zdh?=4>obI?cI4K*GAl(+an8WEh#%( zS#vxno%d{ctnT)Ig^`B7-Au}2rTJLwtCm~1i0*Tgq^Z}A0q}^2U~;!&Yk0aE+IQmo z3`eXv2K;hP?5FdvR(8!S%LTK5LE8B^g>Jwva_>k(~Jo7GFZ46+Wl~!g6__W;4 zL_LzR)iFk><7``603l}xT_y--ErDf69gL`l5W-M;C7!!6s};t65ka69ZVroG!)=9cjH!PB8|B(-Ioun)HMr`F`C#iaA_-WHb~g3a4(ikKGd0K&jnl%ns3xYGLHj3= zW7D<3wyq&Lb-h#v@rKxn18CC0nSsdhK_xu#*D~?6)!5|po0bG;0#Z3oFWXaR5`XO;So^SJF!{+q|{pP~gx43fJdyjCqL_ z%4C!tvb=6Kpx~f&(W@pc(Z}7?Sz~q%6Ot?eFPf)d@Ec@}$u|B<@SrDTD1fH7K`z@J zP23$xj@o5>v@VC2mD0c=eOaj&!d^n3`vn@?t&EqwPLc~<(usA%FJK#)g{E$3q*|B94_p%Y z7nO6N=3Ax?jLi5jV>hMF1yEA>Drn+B01uVWO_d!V`Y~RgAuuNT_8Q)Y&<(;T3k%TA zf)=ng3`f}}-LhBc^VUpum6_vyXcyPL#Y||bIiqSkNAb_AvnRbN%tFSr3AzJK?THK; z+uf59Q^F9^IO}Dd17Dm8!>SWVvvf06D%BI=BYRKEp0x&;$p!;)i7f>OW`qSW0opz< zd3)X~Q1zeB)Pm}`v^0bULO1n>sznYvc>fEtUE0MAgN2z8*fq%oh+?nxV&X{XU5!KU zLMz_>GAGtkk1`O_@Hl-y9gp{Sq~Ww_9ac{B3+_VD=QKbF+8pwOfnd)6N4f$EfKJW| z6j3%Ja|}$(hX^k8?Ogw#a)l7^u(c+!&j%I(NG2Ro0QsX5rGrqpdw~ID!hr)EeRt#t zHxUDALfA6f++|8sj!J=0r9_ZwOt7fXum~7=qOkZu$UrhtBG}Sfhg%;yA(%8FDw))q zlBn%)STZ1)SP(EAmYWAb6c~=|NlqGxIIkEBNxo!>0=J*xdqc<(L`na*j06?IDGTJs z%$4$zl?CJ>M~nQgU=RVs<6(jpdo2oErnR$k@EoK}e|YWS-~eeL1kb_2CqR_+6F+c& zJFt($COoCJH3<@^3R04VkfS1qZ4-r%{r}?Ugg~_5AqO6#!99*CkCt7rAPsnEB47x4 zA1cfbNL3ONw7@=8uYH`s~VFJPm998l#;%^B<5S)PF@UUc}z!0+Fg#Y?+=QE7JIvBDAi|-hk z&ZLXi19OyvN(Td#3Qa_$3XLGV4J31bOmg7Zz|DVb{Wm8W1W0#; z10mWNfrtj5gkVq{5DWt+@C2na$)hr#mwNFup!#}+!;FR;go7aS9}o;NkPuLrF3l*= z0Vvc@fd*o5(t+|3kP^4%kC!w53tWytf_X92e%K$-z2sh&j5({q4r~HrJ zd&}TeiM}I>04kq9k$tGpynqQNUE&R>tKTEZ*(F!qoqy(>%^rt#P1Fd{1pI?F6eORxCyFyTC&i5Ax5cB1S?+ZcH zr8Jg6mE#%}+ZLTUVaq)ZsmvT=etaTGm;?DY5$MIhK=$NXBFnJ$PQqcYv>E-tB&t%Z zC(Z4n?hef&yaXeBrPLd4ZUkTm0)_1Pu!QAumjFJzjcM75 z1^*|f;9morO~(i#@hhm&eSNp&s8XUpF|!`A&cHzUU$v|cIL!gipKLDm53KamPYKO? z8LrC2nQCMmn>6U5NrA|upTweKOfXQ9HJySq0FlbV{L8PM!dP`d@WS`v_|pd=Ycrm4 z&cao)y1tcvG*Mt$lsu8-pRf^>tuAKhx1NQ!?i_~(qCzSTs1GcH|68>bj0w&FOjQGL z3?_q}XcMY-P;2D{gG-S?YdA}Yzm$k7#RW7(n*+~q+b9qkwls^CeES-V6snX&OKjE4 zs38I$c}8t=Y%aeRug}CKYqoZA$^(5sw^DBMsG5v$dJ*_`JDKpRrG)7%scaUFR+zWH z``q)h4?z^MbHikd;&zOG^3#XrlZm4Ks6CU-Ck|MK&uW|AtuKqu4@KMif>sGUQi<{X zEbEw>WHLEl$w&-LSIK1|K80+}DpQk&dN+clmzvNT6pD5s^qG$Sc2SdXcl;~rj&t@s zTC>*k*`o>ievF_6JPd*Zj*au_8cV<0@eq1aOE12X%4O$6!bj2c2D{kP1Y6(0<|CDp zHpE;>98nR5S)U~c!y}-PTg+|p|NNq&L)L%tmLV5zSn6I0Q|lBQT`aKm!KfoB_><0n zj*$ONm?`?*JBWQxt*UB>*Ubn1A0W|W07X&=X4gR!9*V%}O9gchoRUZX*K#RRG&{%z zz?JP5v%5$;%Bii0ex_A;f2bwC@fxVLy|D<2k&=)@vr>?T8MU&AiMPsnZA)hdUwImz zoILiaRG0vC-p92Z*1f)nPs6dYk8g8O!#C4)Tr}9ZqJdky@ZNbTUcVQ$dqiLJ2ui}k za@#YHc$JO(6@9XYt{ZIDIpC$PH?+q3uDGhJY{@T925y0B2YC;Zt>{EsXaZmGe9%WD z@!q~M5+pbxm}S5#`~!58vDX9eU?gW?7&Vpt-XW0TShx_TEturae6`ezA~^sVC9k@O zi`j*?+R?TsO0L73T>PdW4J5q|gKYVTmD_)t7zQ$+GWw)${{~ev&!0PFXyeT&3rB|) zMdM&~di;F-PFQf!781Z|-Bq_B)oBBFXzbnef(lI<$}f&lBp%&xd?GTu^1(7|#wV=$ONOM!sZ-;OjSnD6JLqGOWWfVa zy(MT>jTkG#RPR|fY|iY0yVZG(j2iXTK@gbUCu1W1_&%2PGt?N9O1ADG#3x`4#bfHmgS6Rt>eTFx-OVXa=tvHxz7=O84uC~TL;;dht8dM|J`Zh}lH3R+Y zAE3E-Iy@qHJHp9B2)Xw+Z$J|RgeA2;2R;qHhzL1f7cOW%eS1mW%9z+iVj0d+`+>@r zs#3bB9;}2pEad+ZCLF3k*H!;)5aHz9Digv@CL&n6lW9DqkmP>NQkuW2DeomeIRC#9JKa;v#K^uw+~84J$%8 z5^p3+Ce-~`jQi{O#{q&2TUloP+}}Ie$zTkn_&UB|MsIJ!#RGP!jO@>sh}ddsniTFZ z1J{DS*TNxWDdIiFktx2LR43ApY2w3{58fuNT%ziP24=7C< z^CD8eYMX)<(lw6bY7w`&2VvMqr_^rq2S)EA3Y3W{TBb!_j<7ksRr2JjBdDN=4$f=| zyW4}YQ$ZKLzsYBh?!^?yB#j90*}$Q3)TZjsZT^^hy2kL7WRjNf%_d*D8Use8{NCgM zxI1c+jAh+okO zr~$l@fJo?m!%tpltuoM?vx5WxvvPO4UIxdHZ5Hjp;!~H}419CIrh&NCVyEpI-XUIn zI+FnneD5zjy4C195cZq+JgF^-=i#G*_5r@UdEVC+_LK=9ARP; zg$ozFZV=t#3cPsm_<@ECU=JZ9wNyf+e+VMV12D00@JHZqEJ5w)JFl*MKz&A!$Hu^k z|1sh}i{0P#55U$R`-j=7Es)I+F;R8`FlXh$g^?r7KUDXO)<}+us+b7z(A_Wo0n`Aw z&~UrxnkF`_P#nJ1g?N>QPW3mzFPhr16F`K=b6`&cwkSlI=$ioS7oOM{EEy*L31b0H zS<`{w0oH92g71xJCC@)L4(fPtkzzdSZr+TV)!If<8y_3Ic-)avE9Q#{0&KlQ|F-I~ zRbc{#cOv?zG^}soLv=TSA+1h6)*6s#NO!2bheTO?Vg0f1m&0+H@TjNpg!A`tQ_NSx z@@06mHroifD`{eaHS~CNAXWDl2X$6Lo`J!c-c5s@U7=v*L&MJ`!+39LAjSN`EnBN$ zacO$F@j9ddh$xmmULYY8y1($C&nG5sD&71-A1$2RISuGXO1Na^ZW@0YKoMoR_w^9{Df?agGxxT=#8)Il+j z_#ekfy+=z%bCvn@QwK*FXX%EV$Vb5g4IH(7#%kSbofL11ib#4NVfK+0ir?-GKvI}h za=y)t)loNP9ZF=3wV2-NCrvY(C7`YE8>5qi3_TNn>&<@=SqtkO`R5P;!tOGnE17?Q zNO97eZ@jta?2Np4t@~QmDdl~kwisJ&8n~abVR7-5eTM-epC@|D%wW=2po!(^=JS8p z%?*+#K@XYMzoAF~8KV{?&7#t9A_~1a)|IqalJU-oVv_+ZW{>^KD!0vfVDgPrNcN#g zxtzZin-51RZ2#`V5NW zv`ubxlHuts=)rvm{J?6oLjO+!|~;OW7_=Zi9TATFR$zYZ3A?WON{q>PPj;S$JUedt0t-<=}%GKX&8qG>D=gIlNzzX`F zBiR081LicnzToeKz8JGzxf}DP8H zacz|6OExLlR`ZN&FSZrb}lDX+E(ff=jTx_CiN~xSo8qPduLEOPj!PCO6jk*-zAidh)xd1Dye|S zaE;=89JTnEN6}*Gu+6Pz{Xn_%ps$1$F{Qzw6Q@+PhuaZ=R2PsGoo@_YYcvT7@m^*> zGB>^t#JYsvM&ZKa^xGsLQxdp!J{Rw@pX(A@HRH5a7 zFf3=7G2*sKdtne8*l`Z4m;%(ktT z`TsHXS7C8BP1Gnn4DRmkgL`no;O_1c$l&f0+&#E6*x>Gv;10o^-~+cMM|ps&?;1DwZ0_FP z-9#}Dn|1SMapdoZqu~t`WD}CaKIUFDFP`5i%Y7i}a#;8>$vTCUD9)&Z%ZMVDC_qw# zIDQp_DPJ%(N^9p5I7-lc@%<@hh5HbQ42#Ov^$kpJMI=scZa`vlI+y`tK145LE(u0w zX8lF{)h%MKkfht}5uw*mgD7D1Ye-o zWjA)R|9myX6Mh0d{R7p*3_)2B$W9@V|c)P?s=0vJmDJmo}d`M%|&34n63B*`(QPrrU zdRkLqjyg$rA_#4uD^h7j(O}m@8agfK;kL76fTyV*%3nDErxg#MpJPp+8CKc5+V;q+ zph)ANfBlQDe`;qRLNcUN~)35f7j#sS~-K>!EvF-?}`u(z>-(B*paqE4(Cpa zOY%#f2Js(`o7wC`XX%Fak0WnI(D3&y$ksb~nSy7;;T&KK)dk_ExX#??eKd!^_9_xm zIdfnO7ymm;p3@(M-7~Acp=rI(-w?o;yP~`|V*ta}zfu?l7$XgFn^2Fq>VOqRh%Oj7 z{N{00WKnU(cvq2~hUZ?ed!mv#R0GgBD578}S<&HH+ciF?TZ3KR3Udf-^Q6Sm+*T`) zFCv4L&cmPWkH=FFJQS&E?Bs}q4o!9t+2=mx9)Tf^>XZN!3r+5ghqRgw-P#sA>H)f3^^f@(r1#C&@zmrs{cp4^CG0`c zJ4hHVw^R5%B2dX5k`h8kgx0^5F7RCTE!qUvA!eiv+coxXmL(L8*zhc{*xRzv$yjA-t`IEYPm zkuaokxj;roy8(?Ks25t@MjBVw9FYL-m2C=$Oti9e=>?_A^%=J_PKPX#N*~^zV0>hI z7Hz}Uz-yDm2Rzc!go1$#QQj)R%csfM@O}3tOP$vv!MbjGq)l#8B93kV>40q0MciSs z!^KWb;mjk>7@>2Y%U; zHbZBL4ci8H5)hJt$8g`e$0A7(yvsED#{?R_S2@kOT@w!L8IwU)C`#T%6fKL}EbY_l zGqclr=HHMYc7pPrcKn|x4T)10HNs%and4~25p@KE+H#&}G*r_m2OoS}K4&yxyoNc~rM1`Tl_xnCm7*rlxNAo4o)y zIr}^D#&uv6uXT+%D65=q+*-h8`oSDbQkoj&-H}Z35XVEQC_h+EFC(_G!ib_cZSZjs z2!n4a!(&Le>&`Te2TgW#f;_(0bjCIEZJo*b@V|z?H)6(%aD$4xW53a}LS+6El<5e9 zY4#z@bo5~i+3a7l8RGd-8S{;|&`joHBtHLsy`c>L7z3x@HO@i7qCrKN6w!l8C&_~p zH-YHYOrtD}DEws(K#C?_zU}nLm=)}jj~_6oV%)adcFqKGZoMa3YsH_iP{NwuU>FOX zwciZ7N8Ka6y}7If0gQFJ-)hoL7*b5I@UxW>1KADd_z^j95NH(YRR{4B@Lt{$3^)HS zHPtDzJqD^Pi~yDY z;?THo$_{}R`;Er8;4e0O{; zjW{Ic%WWCcMt`)FcZQGWih*P1x10G}l%M||s;_{eCpiE-&!>C)lP*Q}oa zuPU6hHkg4Il%#m-MoZwEWL}lwip^fON%tFLRgbW`1!lUi+LiYv(E5M_9@M6VuAJq- zXEhFhM{3(DP6Dhk!wU>6PTAofuSu2VxPG-+)}x&X+8zIVFs;%cc8~W;XWUWCW z-7XQ0%BPFp1$_v2^W`-`F0WaooLgrGn@?OprtRz-9*zaviEG?aE}NHXPznVip(Imm zbV-76Z(^7&GSs9p!Lxzq3lPmZk{8U*$4J9%(*|*;iy_0K3#LaRm_@8uq_9h2$W#gE z!``vR?NEj4JDB8rZ2xBGJ>Ewg^|?cmjy z93cTc$FXQ2urpa7pZXTahDDHBBj6^+yMv6rB9R63vv|&)ZdC2@_27_oWQU-C`VZhe zEjWVMc7cvDNy1++AOO_%uKoRUrEiICU(kjiSxvAnJ+z9&Fs0qWjlaciGwXEkLM(Z# zbo!?|RUBq3H3GXToV1R|KKa}4RD!n|Yd;Vg5mg4k5y=u6Hqij;MR*ddMu;@y?hE7k zH(-52wX{ea!c*58Op@R?7~GxOD#?vV%?^^aJrtLxeg%)uPZnl#6X40TXrO%pla0*V zYe>hCSsz*3Jslw6z}XF8t)zXkg!V5kDv)0 z#3B{0Pw2=Wi3J>|sGWnn^8~QS0PfnTDk{ZnOoVn7J|&YG)PYIAhnhatExr@S=Btv{OoW zKx1;Fdm4v$a!Gp29ct;jNmmixG-PnQxVGkg2)sQ6kOt(yhrbXLU^3^B?6||;G;lna zGBjiNWE{(b&@EP8VIjj-W4b<^?^I17Gp*1BrRvlj!+#OhNHIUEBo%0}v6)AI=vYVI z%i>6MWLd#o(kt%%8Le@TF*hYTTCtw*me)x4$6Rhq4;EY+94+Lly0jiPz=b&wugm?A zh@_TD_)N%Z(0=+e37mo>-fo%3+RjfI{A-5FG1I{&NAOD&ijmEVG>la8muu7FVa! z^0U*?SUTnBFDU+0alQ-Mc1w|^x22r3HIMqDYcC@!6TrHgQ%V*KJC|9UltV~SpC0R$ z;c@J0n$7Pl2J?f3j?ce;KVW)?%&^UU8q)~F8m%#yCi5sVBuOFkfbLgzSCDQcOGm;~{Q_e=}s zc@cf3m246YZ{wI}?oo|b;aT+GjiJlQQVc98MK=C);6Q}n;2|jK7~Z>RaNnfUc$@F zkO0+~Rz?>$myq(zFZ5o@hjymqCddy|!rd3A)vSf(LCP-sIg@IynWv${E4uzTS$TI`Ss$S_hS6d3o{)G;6@uPF4Z4m2Kx&luCik2%Z z{cH=Jj=jlz?ipbiPT>+>Aj?$vBk(dF@8UgX zMKhS^S%Tp6Ph1O9Gz&WJ@&S2u`M~%?nlu_#XyC`S5UWXYnUIV#6I7_I;}AkbIXP3E zTJcnCuKp#h{gIwp%IdzPqIEl8VJ(~3rTz~YMNwiA%t0(n4vZuh_ti9mhZ5b^%t$+` zzcY@iwyE{1U~~+&B25y)m4E|ydp)m`^3Zq2353Mt2kv+AFg7gZ#CypJ`(8r z($BH=_4l&NMGv|2lEr=)#0b_wcwgo9%H;-1;>Op+BaQx*BjQ7T?kLIzX}J#YFBW@) z);`+knWt{dDHm9bEh4z2I3d)bWguQgHn(*Gq;a@Y_p^49y<*g(6^vtBkZW^-O4bSa z4xh41LBtoF7d41y2|RS0Cw%IqW#v=I(A8Z^O)ulfk7XFLlq$H7gJ0TZNnNdG#$2c- z;0kBSGi05WIgqCQ7R#@2UBTWyH-e(_9b#eLkOV(RPCDNLlbEu6o^7s+K-Q|jA60?f zQq3CWnOHJMC@9GLAa{1rZ<>SY%*@v3II`!IncVRkqo=-#NZo~`k{Pj$-^)%FEY<$x zlvQMXFO{L(JpVcom+OuTw3;0dL(U#Bt7fdd*iDyZbg1@9$%WG!)XnT2>@Zyvm}-|m zL4wFycMl#w(%@8zkU?f4f3{LLSP{aVy4c?YB;?w;zjDZJJm|F? z7g_V=)&j=wu?H(dQNeme@}`omc4OdizISwCcR9J3ZH|Wc2(E&3-M{~yVr1z`5~zgn z5_!e~N#lQ}R#@WOB-z5OBadyYQpbBepzs7)q7*nD_%DrvfcWY3BeSn8lO7_5V@n&F z8{$*TL?EQ(FzLJ6WWBU<{M6Y zGYJOiBd|0)C*wL!Wy#0LCPr^S)E#LaBd2(rW}9HMygfEaw~QMom3wjKnk(-cGA~oY z-=hnI^BsSD98>WHf#ZuHamefXSlO+%bF(~kG5-NB-1;W=FsI@#j1f}n-xID1I0l|d zf~n=CG=FnjV$8oIla#_~J*H5a(AP?s;Z}tMtCL`U;)yl!Zrv9j9<@5Tj^my!WSxtB z9@ChTa@d-nZ@*$>!D#2^LFRrBcKN?tdFO7L=ID#<;F5crY(a!m;AfH-lpU4f#=Jfp zI<~voM~b{cg{1^(Nanld%EuU2iRrMFjow(uY2^7wCuH<5AYJrkt>k)LEDq&3xe>?{Hg5p?@}eC&i_ zBl(#}4~KI{5=6=3hKJmPH68K+rN!d}P8YoFWke(oT4$c(2kLI4%9-C5WFrmD9Ltod zF`&J_bwZW7bv<_+LXRXvn{AD7sLS&J2;8-Y6A@Sv{;IU1{dCIdzpTh#EqAO zQ)R}`*kYnO0MrfPMdOUB^50h?1|!;VMi%B9hn?6CgEE8hZEC7s?fUdKJ59MRxaSVV zYuzYQSr)P#H(WgeRoVfBE()#s)uY5eSR@p=1tO*y=vm6h#;COHW}Y8u5N2^M`PWV5 zXjD**tp2c^Cq~- z5?Tn1@QwQi_nI628P0yjgx}KPlW+866WJqJynY=*+e!v{!Rcv3{J#Z`Nv1ibh=(an z;`@04zv&(a1h5Dauaa(X|Eglt3nMM1<_G^|Zj6No?E`F50Of??|uzADhG$XxL z7g|Z!d?vKz)JJTB)^6eYPL*$)G+L+77NNuVtLJA#6O>;&)RDe9?keBoqTNJiBa<@o#xQ2qkk&-@-fh770sRky1;;~fBdZdd(t2E2D?qJV zButLulr4Wc9 z`zKC+#ZoOjCoTo^RyG1*+Mf!G#$d;ph{6AEERlrM0-TKvOO8N(1P{f^{Uo;04_9J& zFx>7mMbi7u%*8jpf{-BWhdv#i@$)*wo#iN~Di1w9q_q>{()YE1sf1BN0}G(Z|0UB~Tw7}!YK{%V zSN@Z0#BUpVLQE25_W}Ly$Y1_XK7%)8{x}>tWQ92h=u9UWqAL4n-HGACWOmuc)~PT% zMw))+^ITF;`RYV~q5BQ!D-rmI7cH-K%0wuXH*Gk#dyMQDLwdX*o3B>bwOon+r9}&c zOHdHibA`LafEx-{E$Pw)Fv*ra$nZ>M zaZ#<`-T=QQ(J-300-~JuoJ5;%W<-plK$fY3qvFF)c~lsDkL&w5jNNpA^FMFpmj*Tzh}`M?b_27?J{Uy z*+7?#|E$PDQx7W;govGI>ILqU6y@Rvl7lqOr_D;f`}!!@&F%tvZLb+D8VU?y=`3_B zlC66i?Xf~yYaqyuBO&2=EIaMC_xH$O{QBR8+rhgEShMB#6-$Lhm!(clEK6@?+>LTC_zJPpiiRR429 ziv=^W-O25*x)&bZxopwlhlQ`P(FNg2(PA*P8PjZF*$a!P3ALs6Ag|8Yzs;EZEq{fl zUkYp1!THX-Co4_aMLjcIQ5W_cRR}Z=0vXT3h*zly@Voy$)Bfw5GNXuoR0a<6;XHVc zD5-UZvvq`H6d=E2fWeS6*ySGINC-0a*v4B#_HVWM4BR)ct;d6!Isa6+io3W96<7ioGG%9>Dl%Mda6xs zmu+O7tu*%~QsOq9Vkte$$k0-Y>V%L%VVfe>F{pY}M+n(n+GnJW=HeYe!#0s0t6?Og z$mqIZm_0o*>F|&Vlxp_@W{^+T@U6~)l*fZFQ7;cAPgdACz!`B>fFDg}%vNSia=IRq zULLct0~J_7b7(@RzZ82|I$b6}wqJV<%-&w#3H&V|qUYO7?h07_z|H3uJ+}Ww@Ld@d z5P_S7D`=f~5JRTtzhU!c&S;CTR=pV;(*L&ewYyEX)O<_}1ezu!Wdu$?K?1mfJ`hAWD3~DihJh?c@C6z%hjC3cbUGDOSAl*IdY-K6n52Jek?op~8=fL5<|( zotY=&iy^npHn#f^2pywXa|ww;s|#SkxGmSLscQ|Dl)FtP`3z@cH4dj@--8BZer>j> z-5N1IH;wGL%kC4Sd8Q^Gk5r<} zJapZOj7lK0ah8|f;~Q`(+Xuq*Y#r6A)%O<@p9+cyXP*^1Gk~x2!GkiW@?9usf8ocT z`!R!2T>ZPmFPL5MnkLSLII&Sm1l4*yA3LIjb*K2`W(-767{R`f!3B-zVo}+g+e?nv zoR$K88gqh`CekzEK{X{0-mOR6diQ#FkY>MR+12P{)aK6P%^t8Ei=ErTg3rN*=y2%^ z0S~=KvCa0m-P+%Ya2@Q$8e^UaDGMly~UKi};|!y~#|I*Z-)`*G4#-lR=K;2ksx z5H6(K7YQQChNGr$>EIHkrdR~CND~`~sA=ql!GLgqfG{UAjClj_r+l=v6uHZL_QX#3 zS&^9TKLENP$3N+2DX5N{*7^#d8q@~M$(_SZXr84+(rY@x)lF|tVF)z9IQ&94#PN~u z_UiKrJ(@_I=<#3c(UJKsg_>U1*u_ZE=73CVkobR|9 zlG-I-PjCS;TDX7rr)5g+EjTbc_#tAgRiXn}1hV}b#V`hTsJ<0S*)MfMiJPWbMN;zy zZ)0bFATlfCxFmmzmeT628v9$tW_v2hB>=M0uM!pf%k6?LA{aZiax4<8wALr3mhe^cDvS|p+WbOKNMd=NZQev6Oj%n zK8oQMB&9u*z9l0asv^8iqzm2`6|tMykL6Sf2pWk^SUs@BpXVX1+kf`RQcOM|9Yq0{ z5}gszZpcGJ3Zf0&6ZJ`jqU-DU`U3ZA^o3$M8<Q={}v}4j;QY1o#p1LQn z2-&(w^8OlGy~eON91L+=l5*qiD@`1vhzjK8z9_!GnU>g3lF-CtMS`dS^z^3Po>SEZ zNGi`ch{-W@>qX;j-#MKrY)7x>ng_SwcEQ%ZoaKfgb(5^Ct8T&y$O^uYFn%LzVHZA> zB(%Y!Msru)Po4WgFwfClABowvej8SWCV)pZPHxkW6^kNYiZ5-UUDE=QL!F92c_P;4 zFz!qF*^<-I%Ui*WRm$PdVuv)y2^vK!mpTgnP0HCXpJ+W;lSsfKMabJ2juwo2E5Gv| z{p!GU+MtQ zMu}sHz~7|TgW;^8wxjnOPVizZ+gI|N631ZKSMZbmL8Zmn^Uv_ZkU;(6e&PcJ!#=5v zAp9%bUK;$tPtH=K{{ieIG?QLX$0b#6bs8DNo??eXcKsD=KXtD^MqWnH#P5F^z$G_m zO0F|#dd-!MyUC#Jskqcbd@z^C*T=m>V(DM5cyjA13(0AsKI2YA*|XM6~X zZ+C@pu0EEhb=erugx+ZH?QHx!D{+)CijU%C&D#{|8O@;-uWQxUXP4av9Z!QXgyYH9 zeICCB87=(~0SGhO201E!2zIAxNfz*8=TyrJbJ{U$?%t8+BIw+lEp-M;HUvh6p^GEO zkCK02&0%&Z*R>;_U-jykv$C6|+J4+^+HxILI%Durzz(UKfewu`#4q)LNTO#4nL*KX-XJjwS>%!KZ-rI>R<4$QQkc&&Z``r&MA9MOkZqWM*cu+zIjUMS3G4+aY zU?Qb#^sv;odAGhnHW_YO{ zz?_&7Y;LlPEfd4Y7)G^BLAJ2i{5Vh}4(H!cOO{f-o>)+{s(AZsylX@E8!?|nTr;hh zE5YD60JDV;XhvuECpV<@zUA|iGZ$snhXPhT;mW{m1qvMm>%;5Kk9U3@<1;(f zd;}H^))knE{S!alpcN|xT756wUT{h+SsN0*EO}pU*6uMuk!8!Wr&bAtrNipX>7zUC zs?Rr_s3*n^S!;3Bp}-#_*d%_&GzPD3hip5u5?aCm)J+T0r_9?XKYBe@U`77{jxv{P zi}J#e9Va%9`-F+#)`(MBXLqT8@wJ`$Dioy&)mEzJ6FJ}P*%4yyPzbXn;kOG0#x7k= z&32yye3KBMX+$E_nc5-;dE9w&d2TOUAk`a10ybuUU39FX{w={FmgRsKEd{O*hQkjMEXug%Wj zDPmj-uEg)&2*qFFlm)vjIkifNLkAC0Sg|R8nN)|QqTg#)DM6SnNmz6_rUrnXOY3?| zKIae-A^_O>aQ?s+eD&(-L4wx$kai*+P$={6t7>+o;=lc8BiVeC8-HS$4sR^+hEeGh z7LJ&>+gG_~&FbV5IxL43C>xG%7t5+s?Xfg^IjGVU89skh{@fu-S;YyXAy5#6F zrMssb3pm!H5Pf^vQA!9lQfd_tr6_TOhfzh^EWTG;fYMw zx^4KA)?t#7@9=Vc!CyKd;3L{ih@Z?BGUM+Xu-zT|7R@{9@@sU zCgM*UJA8$}OpR;t%*Ba3v&B*(?Hmz+kT~cFzgf^-O8nu~68~*pOg*?kP%6T;GZ3nu z#d`RyNK12BeskglcH^1X$z_hO+FJeVCK>5sPU7PN4KN-+;EPGfm%az6n~gca#`kP9 zNQ@a0>XaE8N$=V1+5WjeGtz$he)@p<6F-0Iu1F4ni=bA8zj8M<-ln7#?n8bmDr+LL zh@+vkjd;)Ohd-9pNiT>a$%VWq*sD3_4V_@G4yDx)me#p?PU@o$8tt!DA#R6i>b(*o z$DCD(bX@7`t3wjoQ^d;Ub_|0hKU-*!APITxu3bg}Sh{>8?k;k-OwRtBgS7bj!Kh=5 zubmkc9_iN}rhpo}2t?O#YIDmTZ3PQyL{n`A1}li-_Gjs=E!{!|?vHyH?DRc~$)y@m ztd3k({{hxM?ja7=nC3E;nJ2#wh?&%=fBz`OcwzH{$4Bsw%zL!oCPl=MdaekFkrF@F zHAT_DH^|)1{*REK*|FCZ@67aM@)Ov$=^8}Nnm_#%_!SNo#Va0Mc53-?T@4WzpE;1K z;)XwG;Z%wgqkb@G$8#yEAR(Z+JuVq_8y~>``3X-s2W{=s=<$^j8UzTcc8*2mBz>8E z-PZy^+DZ_#4=>U*4HeZ@hQBToR)b!G}O<*KnvB z<`t^l>I5>bv+l4O#lZ@6Ly2=5C>acJ8KJ3FBAA~^2F_HbDU*q-`rM^Aq zyPsQ!xh}f?T}CkoOJHCAMp%3KAK*d6RhMF|xjReZigZyu-fK>9!N?(x&I!Gm&5>nO zGa!9Uy)=*mq|D)i%YnVs4Z}%kZvNXtIPqWvz97;a5$Qh0x##ox7=j%UA`+JWoy4Hh z8EWkn2AoddBScjEwcm)kZEGiz6nsbcGRGlTXHa-jWDLSQZT`X70Uk|M_vuEK*hC;L z)tNrW9mZ~-bQ#3Hj`$Ri*{S8d%+JZCKb(eMCig?ZC55h@)lqDO^>1M~e70849{eBd z5NkAiGEsg+c1U9$$Sn=aX7x?2%c|2`7R0N`y`b<%x^~xDa zWqs>kB_4d-bq4(vrJ68()B{dr_DJ5OhTRn{qenFpU|KAkrUek4elJr(*O%iGd^OCT zo-9e>U&p%H2xMP^QKr%>;Da zIbLA}wX~l41nYb}2JBP|$Q*QzdZD>vJZNBxUBaU9&}Y|%Q*?Hz!jXw&Di#Wq>lcF0 za<{-0i_(CUsY_B@`OS?rq1}~y!j^-?0!Du9X|YUg!I<6~_IIRsz!T5vV|Bnj|Aq=yn5Zj8v78cAb>Nlzqy3+3OC1aRD-=N!F7> zv+xsZk4__^dwE8U!p*^8rV6td!(WA;Z7rI?xXyhO-(WiZ(@zq`PF{nz6j@P`AY9+K zZd`+I!@8u=E=56HdB+r%7#B)t@x8nD^!h}=9>p|qFF0QTl za)u;5_6DTB=rY@Pc=XfVI1VX{Hj#^gG#@sUW!^<0IQT$t&ccAFod&{k`3A~HMnMya z6u4TiQoG~iAFuO+>zAJnlpwb6yHJVj{KZ5??1fFLl<8bmkb)D{g~}*clspTEx8&`q zzO01zcl?p*DHers!WHERLO;`@ms%KC|8)BgFuGxJ>&)fNv`7?B*c=0KV>xvte2&i-D z0pFhp&jtgnNPP?h$M1m_gQaJC1^vj44O@a=GmWM5zeG8A$Ww=YR?yNnflNCS)9@RF zG1X8mZdDaB%~$0pc>h5=u;5(qf7Xa{WKWe(OEE(?;!;hQ+hi8q;gK&T>Ldx{b~h5? zPq|5L`joJYEeh`?o!TzO-E_qh)v)do@+FLcVd}*xo;6(jrj2&By33Hl^IzIl9{RR+ z1t4~(N<*)%md9bf1uC~qmAx~VUMvJU*-nv>eIm3BjAkLGEDT$vjiP|M6lLP0 z<)TW3;{OttL5vyKq=rx_y@=hgU5Q7nb16(Jm@Pezg&T+_9w-qIcdWmtaFyLO9YwQ) zt20(y2_aEnFe21p6WBliPsiJ))x|gn#vp7N5|ttFzoXdohyj&H%TY2$L9Wr}fbzvX zF2k|e1{nvLAsnYTMjH})smK^Zefwj5(P|62%!9z+`h#?M)Ff(yQ5)taVvDYpQ|)1A zx)#nRxTq=Ad1Ph*Q0F=gjGUziM#d2t2sQ+=5hQkhWeIff?Q#@E9l}S#*WmDsnCUH> zWgS;2_eMw6iWZmGK%DkIiyYdMX$r^4)e8IHyGP} zLFb?OQ4thV1xG9C7X(8$6D5lC#-knYdo~7VOHR?Zq@e0PMzia%tb{AJiuB|Dm|Z~O zAv~TvQ|EEo1KFX0RpA3A(I+c3vS*MAD_=LZwmRwKM5+-bQM~nX%Iy!1gdf)RR#l?e zrCHLURs&%5Bmjx_4X`Onh7MnjRa%Hku$((Wq4#qk4Pwlg3A6r9bmcX`Ro8@KVR14@ z<-y}FuDLbChan`rZZpG40@8x4w}4u=rW4M+~K zNh+<31ops}icQH^WX)DU0f|eZ_oH0iJs+$P4}5bV?}-^2D=A1AP-V3H=Ql6eFmah?>fpp24v>LN! z*wJ}Vi?i?3{@qdds%gn7`>dVFMuCAa&nluENkES$4B0C6q3$R;i1GZ8iFb%I(ziV; zY4nRWM`FCsb>I6ra*yxJ^OZUkett`k*+Jc*KI6}PEd1}-MUO%(qJ#)00A${aqCIAc z!=NG;Y+YSuFK=qCtVYdRw2m@!v*(A&D>41VJfc3^6MwHMV|d6rAi zpE_Yz@O#w7J9T&8SnuaQ^>y@^%zx=dZN;uzqfd|Z+~PjLsBcX2Bt^8pwzDQ}`ui>D z!Y`{I5Sc#RbO2ymiTHv+Vk_pQ5YzT zIG8gMZ_!o3lE`8?Z^d!{tK2Fo^lHMb;mK@Wbjk=bDwK}kbuB!~f~$zGdI($Bwb22j zR8CY8{>8uEqb97@8MJX2G?;Y2$Me6>o6PJp=IMI0M8IoTN9PG*#pK`(9NpKC95%2h zrE_qNjQRFAVI?@aOkZJ0EgL3cIo-b(Pr)E~5m(wvT#Xlo#_QNBZuL_}RCpR=+Q}d- z0%N(p(Gfp0qQ%uVIo~}F{u~FZr=d7(6@FKmq=+a@SufxzGj!9m@P*|69faeWU7r1s zXrY&DZV_*YGk*~r;7@a7~wTf%jrvu{vD@K(CmcfZg z=k)_B4)*X0_tTiE+wAIrK6^~wAX%_@wKdf_IjOGiI|Y0y7XWD7mJ;vYE&TsuE63-Y z`m>&oMq$h`1~e}0O0)dwfhOY$)K>q*&!U=s4P_VQ!8zPpA<#gAI@Lb)AaifmF3lwI zE727D^F}?iRnlpbwVWIwXqZGqrx+}|?*#8)%1Ey+8aa&}gtYQqxer!wI=49Kstigi zd=Q8m^;5!+weAg3VaHC z3e}6DZ**Wnn8hmqF)4C5{s$nd{%w4ndDJ4JRR;uVa4m;>@NXqfD33@SX|ge`AD;y z9mRYoFjYb5|HcM=crw}qQ!~|)k@J)t2Dp5K=L;npS;ZBi8jMc{0PlMjheiR3 zfXzvf1obqQ-al1~u2UPn?@cP)v)a-V4Bnuc@93KV7@I zORS-`QB$@}|KiU|hAhyR(t;7ynS~8$|Np@ZA%>LiGn+8OXRye=T6d2#gJ;Ia13A?# z=!?B>r>iM6r7`{f*~Y=nAU-^j+g16}jxaYvVOpuRbAEu+oKpft0PEU;%PGaTeUa{- ztvl=~&8OjI>BJDq^1O-uS+b94RzDQX4=J%ZM;ob4_-96=bYNO4D)S#;`N+2n?)o5K zE86$Hp~y+ATga3LzbGkiq!`bc#g0q3xra<`pw{XS=P zzs%0JI@-j*#+Lw-!ym2&B&-8-Tq~}+dCY5>xx2(zb(Fbb6h7u@*d<|FR7`>sAO!~* zuQ2(wT(?vB8CZVoSu<-M(nRD&6)MKy}kkD2iO)sFI-Xg&j;#{0GQwaM7R|gVGlaM&i znGUR{>>pbyaEg8YqdT#ao!CD-F{zQY*fTd(8<2i)f#GFF4l7e_8#hX>`2abMx^jD# z@lf&m5n8}K4dnfoRij8Sm;$;(@N4o+ZX5tQe<>>*NGgLuBl^gTOU6mKkiCnsaopW1I!!@NM2 z^tAyl**UxErP};QNY1U(KhhXI{#3rzr_h~vx)NBw=-#A4W*^U*wL~vN)uWMi2>+xN zL|TdUh=FovW@_Uu?w4KVPCx(LpvC{cete_TNQkxAcdo>VS4~Vwp>d+$jAWAZ%bH|n zgT_wfQAL^YmbRM%4j7odqGlx%eGbzKwL8IHU;_!b=3Xzk8^&O75%YBL(lIL?iQni$nEwGzR4W)s;fgQRAATV$w2+pQtWZFo6{2$`@|2?x$e|iNrF4X5peWl* z655s?E_i0-17=LCaXv!RE0;!>*OqbAI3RcO#~Hb(3_Ywlh2Uz0#)^8BT@pQFB)kNwA*+na0LQ@I0!dU>{}AYWJac0oVPkRj6Uv8zo$)3E7{^ zGU^#^UmGKfU5;J<>?kjv@~par-?ao;~c`b8oGM<4In!;&9D%Q>Z52TF~E<|=Rzhb?-XtxWW>W&6? zfL8lq7Z**(3$spz3_bo)rAii??KjHp6;3UNzy^3(OvFVyyS=iYnrmP!cLxpajMa9U zVDNCdPZ55w@!ce~C3?2`tPm-|K6bw1{1Zw7z=)az13&JQuLb1^cWa@Xr)2oSG3`t( za+go7t9ENptgoi8n90yM^XFOb2Hm}=_>+O%b^fGh!%wYI&+z^(GtkH6V+1@6e_#6j zf0^c)2sdq84)7BpTW@zT$IV_lJu#f*@5qAFmSR>fqH9%Yr%}!{?4rfEL|`*FCJY(m zIfg#3S}3Gp6|%9`rNeg{OWFKR`-fOM)b$AxMzyYUm%n@`9>vJFh-$K^?SqH+M~zgk zx`mP>&&aQ*rH}i3^oy)R{e}*{W2qIzk~Q~e|624QYwu1(FEa1;;xVBgvt^mZd^$!} zpkzHJA7AfRx?+K@W0uI=;&3_D6K;tel{rOk);^NT43@Cjt!kAgUAUHO!{GZ`tur zJv1c=-(d_?y2BR+&hn$vq}WM6hxviBy=od0E-J5-LfY*rGji@Q&H?dyIxD6|9PD#g zTec&$D_xRY%vvH%Q^Kxb@Pc${&naQL3Ck18cdU1_Rlh3|)FU(@;wnWqs*$(`oU67? z{M-G>T3FQ~x2;2w4Che=2uSrJ8TyaEW!ew0DHfPua=B^|U$PlS{GU<$Z!kxpoTjoj zcae*{b~ujX|4&I*0uIId#~15b$1b~+Yu&6f$$jpwD{`$}C6!z`BG!?FSj%E_U%9n* zof~o$9m-9c%2mowg~*X45fy&_>Gz*!o@bt!d1mIF_xsLwKHty#JkXGf#=+-R~>cfRrJwW&xrA$UcYl zt`0#Zy}tBPa$3BNA;!~cQPd|m70_-i8nBJf#pFso;~^o@ddEuB`J}IY=pMKzbC<`k zpr6uRPWO{~PdFH`N6h?kQ{9*iKrGKFjZf&j5HD%?DNj*7d)oE?@~QElgnhLp?RFf{ zdcJAtq^C{frO&txP${pmk~M)}=7Re5+Tj~^eXAgVdh7w4!{F?9Jz*Hm|33-%T+cwZWBs_hAM~rc zq#49x>zgjbxH+-ZG?%S71nHR`D_l3NE~wbDSmHU(`y<`rGiaqw!kYki0C?e|A-z># zL|nxhj$SEV%A6WP7+H>Qrm{~PHqpx1#B;I^M`Xx6e>;@W086u!GgZ2L(q&F7A8I0S z(BTq=ls=ywLFlHSKO=up0zB7^&yD*vba3by)J^j>$*qoW_ zq0{?)0tyvycMI|~J))t`RYZ&=u^Mz#?a^=N*5N!qaSK8pqj!XRfw0GKpKoge4>CvH@~{ZfnMoQA_H5zr#9>XWbl+pP05vnn3XvggiX9D*Y4Qj>Fa+aad>2_ zE8?-bd7FW~;RmiW6NjhxSX>FoTG640KnPwku{hxn*j+~+eS3JJaJz)mchmfN`@THC z%|R`2`fc(1V)H%_v03wc!Ek~vkopn!UHB%7F>j_>u5t$S+IzZZVTzr@lD(QcjULCu z`@c(uVW4cPd%`!(s$*J+cLi|D>CSUd8vcc@$(MDYkz@eKZz2^h*664{SF^Yb5I@>DQf^331Bw+3>L^LgiJ4N=xm@I%BxBq&<7yw={9PFHbR}L^6C+I&f z7$FWASXf5(xE2P7_Tq%gX#=Tsa}h38@>oLN2@y-YXX}3sFhCApbI<`e0GShzeV8b2 zXVwV(zP>Y=VqW7wZM%dYIO!vR~6ySz(Gf- zeWdc)37nNg1qUJKZP)fC31CULn#WQgro?R<+cEZJcK(E)x98*P_N=PIH6RGon2t2o z6tlu+#XC)AzSe)tE&^}}QQkr_d#)f)S$=m1QUr+_3U>Z{zWhzU4OE>?9`khDg5Z%zhk zYhk(^VB8ETjygUkwNsA@yhHoad8|x6p9t7K|5kak;ow<+(pV*J&AILe(u5NR;^{$e zkuDTn`CArk9sZtUcH2hZRCKq+X->xL*{tj^Iz~8)1jJ1(dgs|6(|d1~t@4til3k%I zFVZT7x|+z|pA1Z#^^EX#4^oC6tT?>5X@tVRoTCYlNZG=SOUK!G%N&3BcfmOleO3iN z{w%|r=Dtl@lNw5mE%ql^nPqZuGV#3+nD$bdK5L&WrdlqgZdW~W# z^fK>ud*+NUSkJ6{CevhMp(cuNv+hdcC&lY31JEAJBC#)7NtS%Ot*(ZTASSZI_K~ch z2*glN8rr^$baTVbjGeh^i1~E;w7RR~G?zfxY>cc|4B}HbqNxh1cm?@pgRuv>vqjyA zwit7~FR;xwH8$B|6QGC8%^Y2n=vgoC?DV|P5vfqH8|=Go=ol7T19f~~M)Rl>m+;%+ zw$9h49v+#=W0=*;P`W(AY72CVRinloZ5X69>!MfBRh&^keA= z+Lh@W{Awz?1tVCs(jwoqA9xuh*0myl(Xq7`b2n+ot8t(%Kf`nEgO@G$T#=Ve9`=Gw z)ht0-o!_gEwmVfp@^2_JAdB>Cu4_(X=CR4@rl79b#PNigkPwK3lm+3fNBRk| zb-4HZHB_;5+3AMdN8!;ORbH!ZX3gn)(w@9m=d^WtVjt04`m<<~LY(s#{9>g^1 z9vqqnn@Tp=FCmRY45n4G)>9f*aG?qF0^}v(Dmzs#Z)s(ed4((=)W$)I!^%+uRo16M zd)aGyIOSpU$GIMAtg@2)rsyc4OiPv^MJAJ%h(f^ohCcY@i~;LZwsQ?M|K_@x)?fv4 z;w|XEzC;L=Nd8z~O9Fcw;nM~qDN5*FhquDi4$UJf8;K8NpU*lh%<~B-H^Ihq(hCm8 zd1^cIN_)n=+j?_qBg=FTvY1!$P02x?a?zp^a#5X-_Gg9(6&SEO@T39{2>X&S#!4)V zB%-&3{C$e>>w)$9@%tnNV4sVmgY1#Ne3$hx{ym%5sv&5Gi(anCo{BY5X?=7JyM3-J zQZ`nx?9d5+AIIu2c|{*abB9-P2DP z#e&~c=<|kSmFq*eR(!QgO8eC8I^3O;>JYU_*DbSq%aFHiL8I;mpij|MukZ(mXR+=q z<`}fLPQg}?40lj_SBKKWD3kifD{?;?WxbtMlN3IqLL%87rUApcb9U8;jLc+ozv##E zbVPW6z*1@zs?K|yIGuFV>_ZR?qyeq z(tp8H=g!O(gg7g*lQ5>7c9qtD3dRFEl|)}4zX-X+C;nMA>Jz`@b4Atp?KyVsPWh?{89x4!rela`>AKcw_3i z0iL#P!;m0F<}j*pZ(uz3wVPxJ$dcYF5+xw@>kAaC*)I_!UvF0kWI7;w7Ritty3eF^ z1DdSMaqq~xh%RAt!}Bx%iR-noy^EctnzJMy=q58X9Jy$YMo zJsV#az$K9O2CJcZ5;O0Vi5;W&O9^of8q4 zrDO=Ok&b2HuNd{P@xF@P`h0@@*gO*NkhTI7;sO4>iDLrP_c}+24U_E3;icr9GqayN zuBk1ERNv2;f70EoL5#46`HG|rb{?_HmN4KU?p_qBb8M2F+|kF(OQU2$Fp{C3^g-cF zigK=r-0(d>zy@IZrpNW*(b^oi$NT(~YWEtnvKzc3_Lo1yfHQsOKIk?z{|Tn;s_0X}&(`C-^HXc4bvX`Xh@#Mu$_$PD22}z* z4Jj1hOctfB#HlMnZ@ZY!jBC32`GR`*q}|UC#eZ2ao<4YJW9fl#N61tGr~p6!$C3;> zC8WyxAkwzc6-5JDucfGsXYF(BM<9ImLSVP^9Xpvd4r#bR!fg@o-4wEA(r)o>&kDlv zr)|vro%0K=POm(wcC#8i5Gb7I-&+FPfQ$TwVIBUDDd&*@Kl7lOjl>$7`{$zITBFym zf?sCNEhx7(TyS_6bw$Fet#Z&}-%j{?Ac3g+UHZ}qq+_rC+)j8`SBH5gh2+)m9GEbx zgw;*2wPSvFEPKCBcv=5i+F(Fon6>Fh&&uwUE zps{90mTo%(j~4^VJ0{IBr&Q)y<@hKWX;Z?yGAc z7x@`&gMfGzgn-I8?`nL?-FrS7F=)pih)7v1g-?}I==tRc&P(dPnxNcCCr!4oYk4Kf zL1D6^H9G*Kd9p)Cd2a1B+f#Met4{61njiwy#SAa$SFxpD23kvxpsCtc7c0`)j3*$Br(pq#5b zRTq!>Z-^otwD8X=^5u!{@ZKO2yeOw3t=i+HFtg>sxZ;ColySs%V?w{`MC=+)_@z%5 zx?vnd?@5OwjqzqtHksyn%?a!9KTO%F)paFX?aD1By9PIZmDhaPqRkPnukYdlRzOwQ z)Sigj&Ew8 z+^oGS9Gmn=)4^!G@eF`WgR8{jAv)#8a&n8aBAbsd897}wYGzFXjv$mXh@PIASaPPV zFmADmRUh7R`x5KFkyDMDJOU))1Nyt36ri)mn^lqh^>Q$@9x_09p4;Tg7I~}oK~JI( zClH){DtfE+qZ$k-6*`+(P&w#LbS0Kk1Lv|*=Gk!?=EMS&9?dYY>+s07i2mDbRuqJ` zQL?%AZ9!!JH%kM2Jx>5?WoR4?or@B&ui{Na`G3%DlG z_Yb0~6n-mxm!;Oj)5qpR=o7#F(2GdyM>GasyOzx#s_5B5ShWocsu*$AI_f@rqJe*o zs8@i}ZRF=q$?EqF>?CHg&1r{ahrl2kSxG%sPPic{y=MJe2Re7$SLW4Y>Pl{ zSppicH36awo3~6f?!EZiH1yEAZeOqagz)5^Q}u5@ zM4iJ6vFMAz#fd$5rBhvw#s!Axdk-R@YLfF?r9$_P?{K>H+g&b(G=DRCg_a#lAGVo) zJ@W<@t1MKewb8(3_+pg#*pH?9ifSKqBaNJXG7NG8OMFrIL|h(T^ag$OxEqqJ<@Bso;@ftvZV z%qu?px+4bS<MxjxCkoqCLGS3nRrYHCJAz$(9IcPq?zTLdm zLcypOS#BTg)XGErh)hC(ngP))$9RkOT4P4i?ywwmDx(iEyZb1G9r_p?_-Lu$=E@^g z$}8WvyUl>T5IAxUu1#glKF+%o*LE$3)+_v4U}G*B!-{fUJ6=^aC~0BLo+b11vd@Rz z5LXYYJLMhdaWm52MnwL<$UzhA+~bCw(!D$ z0a!`ji4Ef*c211J8XAgXJ76MI<@1;k!M1;FXi_|nQO=C>OkY>Jq#>Y=NBsL53|Ykv zCt4kA9h_(42I{8k*?d03Pw*y{)Nn7WsTA7MY@^1XS*_P!0G#aK!h2m+z4-);ycz@2 zNo_fXjc;DVd81lh)p?LA- z)0{)d49}{JXhrYx+0o$a$TzwlzhROQp9|jfD5N>c z%l<5M3b!LFVR$;2S5i@*2AFMY_n;5?F*LcAV5}nJy`KW&lR_D*f_uzixh^S^AU{IT zudZaHTxbpq>Z9$RQ4b8|^o}p}sOcm;=o#m+ht!ehL!*@in`3|C&Ot%3POy#r@=S1JRaGWY~Bf?_P##ooBCK5O;nh z*?3oKJm}8@6NAta%m{?4P~U#vn-At)jC>eFkX-f(d>Bo*T|wI2NO_^?71+7No%@hE zO=#5acaL%i3l9Aw97RE<#I%p^`MUNKyw>qhRzjt9fSCChYrcJs~wMFPKc z#ze-|M;BUKsCw0|GP_T8sd3FemD8O%>gAclG;K1yIT$Ps`!yi^h7IYe9QU&%*d+M2 zqpz*S=i}rucb>(o=;Z5M&M5ME^d`JFQ0tn5!j^tJ9d2)+^z2tHyfZwF zcR;ln%#`;*Vh0kItVcJpXIlk}*gj4ErI0^3qZ?XQ;xyaEPw~-4>vB7g&(lm0d>N@k zeODgJjtHl28%bK{Cx_}HT%yRWP~~Yj_lgMN^5&-mPz3 zc6rxKZO1~c+7*`0?WnyxD@i%EV8A+l>k*^(J$~;{#yaN8wLQY2c`7lr6>!E@xh>jb zUOFcoIU6O_v(z|Yu5zz*+37_fQc=6x6mTSrntN1m_+jt}7Y!pSAOq*6-8%fEbTCMW zwb5iVhg&_K3f*G*)H}X*FZnL1=I+7^sYYBcIXyZ5JCcyKx?G@TD(P znWk=32yPwuK%ngkEL>Z|6aeip9-*NpIQ^Pr1z_` z2LA;;YuK;K9)cdccKRd#o!?97z`P+$+*Hg;N{fW6j{L$?zlfWFwXP{24$5VDdGfgs#C0jPym^g$U_ z+T^z9E*X6f^P%ff>_bv|V&tQp0X)h%Z(Z^@Am~&EXKG(cui66P#Jnv>6g}=4.0,<5.0", markers = "python_version < \"3.11\""} +attrs = ">=17.3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +yarl = ">=1.0,<2.0" + +[package.extras] +speedups = ["Brotli", "aiodns", "brotlicffi"] + +[[package]] +name = "aiosignal" +version = "1.3.1" +description = "aiosignal: a list of registered asynchronous callbacks" +optional = false +python-versions = ">=3.7" +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] + +[package.dependencies] +frozenlist = ">=1.1.0" + +[[package]] +name = "annotated-types" +version = "0.6.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, + {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} + +[[package]] +name = "anyio" +version = "3.7.1" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.7" +files = [ + {file = "anyio-3.7.1-py3-none-any.whl", hash = "sha256:91dee416e570e92c64041bd18b900d1d6fa78dff7048769ce5ac5ddad004fbb5"}, + {file = "anyio-3.7.1.tar.gz", hash = "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780"}, +] + +[package.dependencies] +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" + +[package.extras] +doc = ["Sphinx", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-jquery"] +test = ["anyio[trio]", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (<0.22)"] + +[[package]] +name = "async-timeout" +version = "4.0.3" +description = "Timeout context manager for asyncio programs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + +[[package]] +name = "attrs" +version = "23.1.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, + {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] + +[[package]] +name = "backoff" +version = "2.2.1" +description = "Function decoration for backoff and retry" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] + +[[package]] +name = "bcrypt" +version = "4.1.1" +description = "Modern password hashing for your software and your servers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bcrypt-4.1.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:196008d91201bbb1aa4e666fee5e610face25d532e433a560cabb33bfdff958b"}, + {file = "bcrypt-4.1.1-cp37-abi3-macosx_13_0_universal2.whl", hash = "sha256:2e197534c884336f9020c1f3a8efbaab0aa96fc798068cb2da9c671818b7fbb0"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d573885b637815a7f3a3cd5f87724d7d0822da64b0ab0aa7f7c78bae534e86dc"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bab33473f973e8058d1b2df8d6e095d237c49fbf7a02b527541a86a5d1dc4444"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fb931cd004a7ad36a89789caf18a54c20287ec1cd62161265344b9c4554fdb2e"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:12f40f78dcba4aa7d1354d35acf45fae9488862a4fb695c7eeda5ace6aae273f"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2ade10e8613a3b8446214846d3ddbd56cfe9205a7d64742f0b75458c868f7492"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f33b385c3e80b5a26b3a5e148e6165f873c1c202423570fdf45fe34e00e5f3e5"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:755b9d27abcab678e0b8fb4d0abdebeea1f68dd1183b3f518bad8d31fa77d8be"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a7a7b8a87e51e5e8ca85b9fdaf3a5dc7aaf123365a09be7a27883d54b9a0c403"}, + {file = "bcrypt-4.1.1-cp37-abi3-win32.whl", hash = "sha256:3d6c4e0d6963c52f8142cdea428e875042e7ce8c84812d8e5507bd1e42534e07"}, + {file = "bcrypt-4.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:14d41933510717f98aac63378b7956bbe548986e435df173c841d7f2bd0b2de7"}, + {file = "bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:24c2ebd287b5b11016f31d506ca1052d068c3f9dc817160628504690376ff050"}, + {file = "bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:476aa8e8aca554260159d4c7a97d6be529c8e177dbc1d443cb6b471e24e82c74"}, + {file = "bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:12611c4b0a8b1c461646228344784a1089bc0c49975680a2f54f516e71e9b79e"}, + {file = "bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6450538a0fc32fb7ce4c6d511448c54c4ff7640b2ed81badf9898dcb9e5b737"}, + {file = "bcrypt-4.1.1.tar.gz", hash = "sha256:df37f5418d4f1cdcff845f60e747a015389fa4e63703c918330865e06ad80007"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + +[[package]] +name = "certifi" +version = "2023.11.17" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "chroma-hnswlib" +version = "0.7.3" +description = "Chromas fork of hnswlib" +optional = false +python-versions = "*" +files = [ + {file = "chroma-hnswlib-0.7.3.tar.gz", hash = "sha256:b6137bedde49fffda6af93b0297fe00429fc61e5a072b1ed9377f909ed95a932"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:59d6a7c6f863c67aeb23e79a64001d537060b6995c3eca9a06e349ff7b0998ca"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d71a3f4f232f537b6152947006bd32bc1629a8686df22fd97777b70f416c127a"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c92dc1ebe062188e53970ba13f6b07e0ae32e64c9770eb7f7ffa83f149d4210"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49da700a6656fed8753f68d44b8cc8ae46efc99fc8a22a6d970dc1697f49b403"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-win_amd64.whl", hash = "sha256:108bc4c293d819b56476d8f7865803cb03afd6ca128a2a04d678fffc139af029"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:11e7ca93fb8192214ac2b9c0943641ac0daf8f9d4591bb7b73be808a83835667"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f552e4d23edc06cdeb553cdc757d2fe190cdeb10d43093d6a3319f8d4bf1c6b"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f96f4d5699e486eb1fb95849fe35ab79ab0901265805be7e60f4eaa83ce263ec"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:368e57fe9ebae05ee5844840fa588028a023d1182b0cfdb1d13f607c9ea05756"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-win_amd64.whl", hash = "sha256:b7dca27b8896b494456db0fd705b689ac6b73af78e186eb6a42fea2de4f71c6f"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:70f897dc6218afa1d99f43a9ad5eb82f392df31f57ff514ccf4eeadecd62f544"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aef10b4952708f5a1381c124a29aead0c356f8d7d6e0b520b778aaa62a356f4"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ee2d8d1529fca3898d512079144ec3e28a81d9c17e15e0ea4665697a7923253"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-win_amd64.whl", hash = "sha256:a4021a70e898783cd6f26e00008b494c6249a7babe8774e90ce4766dd288c8ba"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a8f61fa1d417fda848e3ba06c07671f14806a2585272b175ba47501b066fe6b1"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d7563be58bc98e8f0866907368e22ae218d6060601b79c42f59af4eccbbd2e0a"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51b8d411486ee70d7b66ec08cc8b9b6620116b650df9c19076d2d8b6ce2ae914"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d706782b628e4f43f1b8a81e9120ac486837fbd9bcb8ced70fe0d9b95c72d77"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-win_amd64.whl", hash = "sha256:54f053dedc0e3ba657f05fec6e73dd541bc5db5b09aa8bc146466ffb734bdc86"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e607c5a71c610a73167a517062d302c0827ccdd6e259af6e4869a5c1306ffb5d"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2358a795870156af6761890f9eb5ca8cade57eb10c5f046fe94dae1faa04b9e"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cea425df2e6b8a5e201fff0d922a1cc1d165b3cfe762b1408075723c8892218"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:454df3dd3e97aa784fba7cf888ad191e0087eef0fd8c70daf28b753b3b591170"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-win_amd64.whl", hash = "sha256:df587d15007ca701c6de0ee7d5585dd5e976b7edd2b30ac72bc376b3c3f85882"}, +] + +[package.dependencies] +numpy = "*" + +[[package]] +name = "chromadb" +version = "0.4.14" +description = "Chroma." +optional = false +python-versions = ">=3.7" +files = [ + {file = "chromadb-0.4.14-py3-none-any.whl", hash = "sha256:c1b59bdfb4b35a40bad0b8927c5ed757adf191ff9db2b9a384dc46a76e1ff10f"}, + {file = "chromadb-0.4.14.tar.gz", hash = "sha256:0fcef603bcf9c854305020c3f8d368c09b1545d48bd2bceefd51861090f87dad"}, +] + +[package.dependencies] +bcrypt = ">=4.0.1" +chroma-hnswlib = "0.7.3" +fastapi = ">=0.95.2" +graphlib-backport = {version = ">=1.0.3", markers = "python_version < \"3.9\""} +grpcio = ">=1.58.0" +importlib-resources = "*" +numpy = {version = ">=1.22.5", markers = "python_version >= \"3.8\""} +onnxruntime = ">=1.14.1" +overrides = ">=7.3.1" +posthog = ">=2.4.0" +pulsar-client = ">=3.1.0" +pydantic = ">=1.9" +pypika = ">=0.48.9" +requests = ">=2.28" +tokenizers = ">=0.13.2" +tqdm = ">=4.65.0" +typer = ">=0.9.0" +typing-extensions = ">=4.5.0" +uvicorn = {version = ">=0.18.3", extras = ["standard"]} + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "coloredlogs" +version = "15.0.1" +description = "Colored terminal output for Python's logging module" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] + +[package.dependencies] +humanfriendly = ">=9.1" + +[package.extras] +cron = ["capturer (>=2.4)"] + +[[package]] +name = "dataclasses-json" +version = "0.6.3" +description = "Easily serialize dataclasses to and from JSON." +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "dataclasses_json-0.6.3-py3-none-any.whl", hash = "sha256:4aeb343357997396f6bca1acae64e486c3a723d8f5c76301888abeccf0c45176"}, + {file = "dataclasses_json-0.6.3.tar.gz", hash = "sha256:35cb40aae824736fdf959801356641836365219cfe14caeb115c39136f775d2a"}, +] + +[package.dependencies] +marshmallow = ">=3.18.0,<4.0.0" +typing-inspect = ">=0.4.0,<1" + +[[package]] +name = "distro" +version = "1.8.0" +description = "Distro - an OS platform information API" +optional = false +python-versions = ">=3.6" +files = [ + {file = "distro-1.8.0-py3-none-any.whl", hash = "sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff"}, + {file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.0" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "fastapi" +version = "0.104.1" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fastapi-0.104.1-py3-none-any.whl", hash = "sha256:752dc31160cdbd0436bb93bad51560b57e525cbb1d4bbf6f4904ceee75548241"}, + {file = "fastapi-0.104.1.tar.gz", hash = "sha256:e5e4540a7c5e1dcfbbcf5b903c234feddcdcd881f191977a1c5dfd917487e7ae"}, +] + +[package.dependencies] +anyio = ">=3.7.1,<4.0.0" +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +starlette = ">=0.27.0,<0.28.0" +typing-extensions = ">=4.8.0" + +[package.extras] +all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] + +[[package]] +name = "filelock" +version = "3.13.1" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, + {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +typing = ["typing-extensions (>=4.8)"] + +[[package]] +name = "flatbuffers" +version = "23.5.26" +description = "The FlatBuffers serialization format for Python" +optional = false +python-versions = "*" +files = [ + {file = "flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, + {file = "flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, +] + +[[package]] +name = "frozenlist" +version = "1.4.0" +description = "A list-like structure which implements collections.abc.MutableSequence" +optional = false +python-versions = ">=3.8" +files = [ + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, + {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, + {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, + {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, + {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, + {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, + {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, + {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, + {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, + {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, +] + +[[package]] +name = "fsspec" +version = "2023.10.0" +description = "File-system specification" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fsspec-2023.10.0-py3-none-any.whl", hash = "sha256:346a8f024efeb749d2a5fca7ba8854474b1ff9af7c3faaf636a4548781136529"}, + {file = "fsspec-2023.10.0.tar.gz", hash = "sha256:330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5"}, +] + +[package.extras] +abfs = ["adlfs"] +adl = ["adlfs"] +arrow = ["pyarrow (>=1)"] +dask = ["dask", "distributed"] +devel = ["pytest", "pytest-cov"] +dropbox = ["dropbox", "dropboxdrivefs", "requests"] +full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] +fuse = ["fusepy"] +gcs = ["gcsfs"] +git = ["pygit2"] +github = ["requests"] +gs = ["gcsfs"] +gui = ["panel"] +hdfs = ["pyarrow (>=1)"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "requests"] +libarchive = ["libarchive-c"] +oci = ["ocifs"] +s3 = ["s3fs"] +sftp = ["paramiko"] +smb = ["smbprotocol"] +ssh = ["paramiko"] +tqdm = ["tqdm"] + +[[package]] +name = "ftfy" +version = "6.1.3" +description = "Fixes mojibake and other problems with Unicode, after the fact" +optional = false +python-versions = ">=3.8,<4" +files = [ + {file = "ftfy-6.1.3-py3-none-any.whl", hash = "sha256:e49c306c06a97f4986faa7a8740cfe3c13f3106e85bcec73eb629817e671557c"}, + {file = "ftfy-6.1.3.tar.gz", hash = "sha256:693274aead811cff24c1e8784165aa755cd2f6e442a5ec535c7d697f6422a422"}, +] + +[package.dependencies] +wcwidth = ">=0.2.12,<0.3.0" + +[[package]] +name = "gitdb" +version = "4.0.11" +description = "Git Object Database" +optional = false +python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, + {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, +] + +[package.dependencies] +smmap = ">=3.0.1,<6" + +[[package]] +name = "gitpython" +version = "3.1.40" +description = "GitPython is a Python library used to interact with Git repositories" +optional = false +python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.40-py3-none-any.whl", hash = "sha256:cf14627d5a8049ffbf49915732e5eddbe8134c3bdb9d476e6182b676fc573f8a"}, + {file = "GitPython-3.1.40.tar.gz", hash = "sha256:22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4"}, +] + +[package.dependencies] +gitdb = ">=4.0.1,<5" + +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-instafail", "pytest-subtests", "pytest-sugar"] + +[[package]] +name = "graphlib-backport" +version = "1.0.3" +description = "Backport of the Python 3.9 graphlib module for Python 3.6+" +optional = false +python-versions = ">=3.6,<4.0" +files = [ + {file = "graphlib_backport-1.0.3-py3-none-any.whl", hash = "sha256:24246967b9e7e6a91550bc770e6169585d35aa32790258579a8a3899a8c18fde"}, + {file = "graphlib_backport-1.0.3.tar.gz", hash = "sha256:7bb8fc7757b8ae4e6d8000a26cd49e9232aaa9a3aa57edb478474b8424bfaae2"}, +] + +[[package]] +name = "greenlet" +version = "3.0.1" +description = "Lightweight in-process concurrent programming" +optional = false +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f89e21afe925fcfa655965ca8ea10f24773a1791400989ff32f467badfe4a064"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28e89e232c7593d33cac35425b58950789962011cc274aa43ef8865f2e11f46d"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8ba29306c5de7717b5761b9ea74f9c72b9e2b834e24aa984da99cbfc70157fd"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19bbdf1cce0346ef7341705d71e2ecf6f41a35c311137f29b8a2dc2341374565"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:599daf06ea59bfedbec564b1692b0166a0045f32b6f0933b0dd4df59a854caf2"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b641161c302efbb860ae6b081f406839a8b7d5573f20a455539823802c655f63"}, + {file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d57e20ba591727da0c230ab2c3f200ac9d6d333860d85348816e1dca4cc4792e"}, + {file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5805e71e5b570d490938d55552f5a9e10f477c19400c38bf1d5190d760691846"}, + {file = "greenlet-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:52e93b28db27ae7d208748f45d2db8a7b6a380e0d703f099c949d0f0d80b70e9"}, + {file = "greenlet-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f7bfb769f7efa0eefcd039dd19d843a4fbfbac52f1878b1da2ed5793ec9b1a65"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e6c7db42638dc45cf2e13c73be16bf83179f7859b07cfc139518941320be96"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1757936efea16e3f03db20efd0cd50a1c86b06734f9f7338a90c4ba85ec2ad5a"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19075157a10055759066854a973b3d1325d964d498a805bb68a1f9af4aaef8ec"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9d21aaa84557d64209af04ff48e0ad5e28c5cca67ce43444e939579d085da72"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2847e5d7beedb8d614186962c3d774d40d3374d580d2cbdab7f184580a39d234"}, + {file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:97e7ac860d64e2dcba5c5944cfc8fa9ea185cd84061c623536154d5a89237884"}, + {file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b2c02d2ad98116e914d4f3155ffc905fd0c025d901ead3f6ed07385e19122c94"}, + {file = "greenlet-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:22f79120a24aeeae2b4471c711dcf4f8c736a2bb2fabad2a67ac9a55ea72523c"}, + {file = "greenlet-3.0.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:100f78a29707ca1525ea47388cec8a049405147719f47ebf3895e7509c6446aa"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60d5772e8195f4e9ebf74046a9121bbb90090f6550f81d8956a05387ba139353"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:daa7197b43c707462f06d2c693ffdbb5991cbb8b80b5b984007de431493a319c"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea6b8aa9e08eea388c5f7a276fabb1d4b6b9d6e4ceb12cc477c3d352001768a9"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d11ebbd679e927593978aa44c10fc2092bc454b7d13fdc958d3e9d508aba7d0"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dbd4c177afb8a8d9ba348d925b0b67246147af806f0b104af4d24f144d461cd5"}, + {file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20107edf7c2c3644c67c12205dc60b1bb11d26b2610b276f97d666110d1b511d"}, + {file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8bef097455dea90ffe855286926ae02d8faa335ed8e4067326257cb571fc1445"}, + {file = "greenlet-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:b2d3337dcfaa99698aa2377c81c9ca72fcd89c07e7eb62ece3f23a3fe89b2ce4"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80ac992f25d10aaebe1ee15df45ca0d7571d0f70b645c08ec68733fb7a020206"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:337322096d92808f76ad26061a8f5fccb22b0809bea39212cd6c406f6a7060d2"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9934adbd0f6e476f0ecff3c94626529f344f57b38c9a541f87098710b18af0a"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc4d815b794fd8868c4d67602692c21bf5293a75e4b607bb92a11e821e2b859a"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41bdeeb552d814bcd7fb52172b304898a35818107cc8778b5101423c9017b3de"}, + {file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6e6061bf1e9565c29002e3c601cf68569c450be7fc3f7336671af7ddb4657166"}, + {file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fa24255ae3c0ab67e613556375a4341af04a084bd58764731972bcbc8baeba36"}, + {file = "greenlet-3.0.1-cp37-cp37m-win32.whl", hash = "sha256:b489c36d1327868d207002391f662a1d163bdc8daf10ab2e5f6e41b9b96de3b1"}, + {file = "greenlet-3.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f33f3258aae89da191c6ebaa3bc517c6c4cbc9b9f689e5d8452f7aedbb913fa8"}, + {file = "greenlet-3.0.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:d2905ce1df400360463c772b55d8e2518d0e488a87cdea13dd2c71dcb2a1fa16"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a02d259510b3630f330c86557331a3b0e0c79dac3d166e449a39363beaae174"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55d62807f1c5a1682075c62436702aaba941daa316e9161e4b6ccebbbf38bda3"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3fcc780ae8edbb1d050d920ab44790201f027d59fdbd21362340a85c79066a74"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4eddd98afc726f8aee1948858aed9e6feeb1758889dfd869072d4465973f6bfd"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eabe7090db68c981fca689299c2d116400b553f4b713266b130cfc9e2aa9c5a9"}, + {file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f2f6d303f3dee132b322a14cd8765287b8f86cdc10d2cb6a6fae234ea488888e"}, + {file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d923ff276f1c1f9680d32832f8d6c040fe9306cbfb5d161b0911e9634be9ef0a"}, + {file = "greenlet-3.0.1-cp38-cp38-win32.whl", hash = "sha256:0b6f9f8ca7093fd4433472fd99b5650f8a26dcd8ba410e14094c1e44cd3ceddd"}, + {file = "greenlet-3.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:990066bff27c4fcf3b69382b86f4c99b3652bab2a7e685d968cd4d0cfc6f67c6"}, + {file = "greenlet-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ce85c43ae54845272f6f9cd8320d034d7a946e9773c693b27d620edec825e376"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89ee2e967bd7ff85d84a2de09df10e021c9b38c7d91dead95b406ed6350c6997"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87c8ceb0cf8a5a51b8008b643844b7f4a8264a2c13fcbcd8a8316161725383fe"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6a8c9d4f8692917a3dc7eb25a6fb337bff86909febe2f793ec1928cd97bedfc"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fbc5b8f3dfe24784cee8ce0be3da2d8a79e46a276593db6868382d9c50d97b1"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85d2b77e7c9382f004b41d9c72c85537fac834fb141b0296942d52bf03fe4a3d"}, + {file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:696d8e7d82398e810f2b3622b24e87906763b6ebfd90e361e88eb85b0e554dc8"}, + {file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:329c5a2e5a0ee942f2992c5e3ff40be03e75f745f48847f118a3cfece7a28546"}, + {file = "greenlet-3.0.1-cp39-cp39-win32.whl", hash = "sha256:cf868e08690cb89360eebc73ba4be7fb461cfbc6168dd88e2fbbe6f31812cd57"}, + {file = "greenlet-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:ac4a39d1abae48184d420aa8e5e63efd1b75c8444dd95daa3e03f6c6310e9619"}, + {file = "greenlet-3.0.1.tar.gz", hash = "sha256:816bd9488a94cba78d93e1abb58000e8266fa9cc2aa9ccdd6eb0696acb24005b"}, +] + +[package.extras] +docs = ["Sphinx"] +test = ["objgraph", "psutil"] + +[[package]] +name = "grpcio" +version = "1.59.3" +description = "HTTP/2-based RPC framework" +optional = false +python-versions = ">=3.7" +files = [ + {file = "grpcio-1.59.3-cp310-cp310-linux_armv7l.whl", hash = "sha256:aca028a6c7806e5b61e5f9f4232432c52856f7fcb98e330b20b6bc95d657bdcc"}, + {file = "grpcio-1.59.3-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:19ad26a7967f7999c8960d2b9fe382dae74c55b0c508c613a6c2ba21cddf2354"}, + {file = "grpcio-1.59.3-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:72b71dad2a3d1650e69ad42a5c4edbc59ee017f08c32c95694172bc501def23c"}, + {file = "grpcio-1.59.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0f0a11d82d0253656cc42e04b6a149521e02e755fe2e4edd21123de610fd1d4"}, + {file = "grpcio-1.59.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60cddafb70f9a2c81ba251b53b4007e07cca7389e704f86266e22c4bffd8bf1d"}, + {file = "grpcio-1.59.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6c75a1fa0e677c1d2b6d4196ad395a5c381dfb8385f07ed034ef667cdcdbcc25"}, + {file = "grpcio-1.59.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e1d8e01438d5964a11167eec1edb5f85ed8e475648f36c834ed5db4ffba24ac8"}, + {file = "grpcio-1.59.3-cp310-cp310-win32.whl", hash = "sha256:c4b0076f0bf29ee62335b055a9599f52000b7941f577daa001c7ef961a1fbeab"}, + {file = "grpcio-1.59.3-cp310-cp310-win_amd64.whl", hash = "sha256:b1f00a3e6e0c3dccccffb5579fc76ebfe4eb40405ba308505b41ef92f747746a"}, + {file = "grpcio-1.59.3-cp311-cp311-linux_armv7l.whl", hash = "sha256:3996aaa21231451161dc29df6a43fcaa8b332042b6150482c119a678d007dd86"}, + {file = "grpcio-1.59.3-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:cb4e9cbd9b7388fcb06412da9f188c7803742d06d6f626304eb838d1707ec7e3"}, + {file = "grpcio-1.59.3-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:8022ca303d6c694a0d7acfb2b472add920217618d3a99eb4b14edc7c6a7e8fcf"}, + {file = "grpcio-1.59.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b36683fad5664283755a7f4e2e804e243633634e93cd798a46247b8e54e3cb0d"}, + {file = "grpcio-1.59.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8239b853226e4824e769517e1b5232e7c4dda3815b200534500338960fcc6118"}, + {file = "grpcio-1.59.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0511af8653fbda489ff11d542a08505d56023e63cafbda60e6e00d4e0bae86ea"}, + {file = "grpcio-1.59.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78dc982bda74cef2ddfce1c91d29b96864c4c680c634e279ed204d51e227473"}, + {file = "grpcio-1.59.3-cp311-cp311-win32.whl", hash = "sha256:6a5c3a96405966c023e139c3bcccb2c7c776a6f256ac6d70f8558c9041bdccc3"}, + {file = "grpcio-1.59.3-cp311-cp311-win_amd64.whl", hash = "sha256:ed26826ee423b11477297b187371cdf4fa1eca874eb1156422ef3c9a60590dd9"}, + {file = "grpcio-1.59.3-cp312-cp312-linux_armv7l.whl", hash = "sha256:45dddc5cb5227d30fa43652d8872dc87f086d81ab4b500be99413bad0ae198d7"}, + {file = "grpcio-1.59.3-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:1736496d74682e53dd0907fd515f2694d8e6a96c9a359b4080b2504bf2b2d91b"}, + {file = "grpcio-1.59.3-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:ddbd1a16138e52e66229047624de364f88a948a4d92ba20e4e25ad7d22eef025"}, + {file = "grpcio-1.59.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcfa56f8d031ffda902c258c84c4b88707f3a4be4827b4e3ab8ec7c24676320d"}, + {file = "grpcio-1.59.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2eb8f0c7c0c62f7a547ad7a91ba627a5aa32a5ae8d930783f7ee61680d7eb8d"}, + {file = "grpcio-1.59.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8d993399cc65e3a34f8fd48dd9ad7a376734564b822e0160dd18b3d00c1a33f9"}, + {file = "grpcio-1.59.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c0bd141f4f41907eb90bda74d969c3cb21c1c62779419782a5b3f5e4b5835718"}, + {file = "grpcio-1.59.3-cp312-cp312-win32.whl", hash = "sha256:33b8fd65d4e97efa62baec6171ce51f9cf68f3a8ba9f866f4abc9d62b5c97b79"}, + {file = "grpcio-1.59.3-cp312-cp312-win_amd64.whl", hash = "sha256:0e735ed002f50d4f3cb9ecfe8ac82403f5d842d274c92d99db64cfc998515e07"}, + {file = "grpcio-1.59.3-cp37-cp37m-linux_armv7l.whl", hash = "sha256:ea40ce4404e7cca0724c91a7404da410f0144148fdd58402a5942971e3469b94"}, + {file = "grpcio-1.59.3-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:83113bcc393477b6f7342b9f48e8a054330c895205517edc66789ceea0796b53"}, + {file = "grpcio-1.59.3-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:73afbac602b8f1212a50088193601f869b5073efa9855b3e51aaaec97848fc8a"}, + {file = "grpcio-1.59.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:575d61de1950b0b0699917b686b1ca108690702fcc2df127b8c9c9320f93e069"}, + {file = "grpcio-1.59.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cd76057b5c9a4d68814610ef9226925f94c1231bbe533fdf96f6181f7d2ff9e"}, + {file = "grpcio-1.59.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:95d6fd804c81efe4879e38bfd84d2b26e339a0a9b797e7615e884ef4686eb47b"}, + {file = "grpcio-1.59.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0d42048b8a3286ea4134faddf1f9a59cf98192b94aaa10d910a25613c5eb5bfb"}, + {file = "grpcio-1.59.3-cp37-cp37m-win_amd64.whl", hash = "sha256:4619fea15c64bcdd9d447cdbdde40e3d5f1da3a2e8ae84103d94a9c1df210d7e"}, + {file = "grpcio-1.59.3-cp38-cp38-linux_armv7l.whl", hash = "sha256:95b5506e70284ac03b2005dd9ffcb6708c9ae660669376f0192a710687a22556"}, + {file = "grpcio-1.59.3-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:9e17660947660ccfce56c7869032910c179a5328a77b73b37305cd1ee9301c2e"}, + {file = "grpcio-1.59.3-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:00912ce19914d038851be5cd380d94a03f9d195643c28e3ad03d355cc02ce7e8"}, + {file = "grpcio-1.59.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e58b3cadaa3c90f1efca26ba33e0d408b35b497307027d3d707e4bcd8de862a6"}, + {file = "grpcio-1.59.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d787ecadea865bdf78f6679f6f5bf4b984f18f659257ba612979df97a298b3c3"}, + {file = "grpcio-1.59.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0814942ba1bba269db4e760a34388640c601dece525c6a01f3b4ff030cc0db69"}, + {file = "grpcio-1.59.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fb111aa99d3180c361a35b5ae1e2c63750220c584a1344229abc139d5c891881"}, + {file = "grpcio-1.59.3-cp38-cp38-win32.whl", hash = "sha256:eb8ba504c726befe40a356ecbe63c6c3c64c9a439b3164f5a718ec53c9874da0"}, + {file = "grpcio-1.59.3-cp38-cp38-win_amd64.whl", hash = "sha256:cdbc6b32fadab9bebc6f49d3e7ec4c70983c71e965497adab7f87de218e84391"}, + {file = "grpcio-1.59.3-cp39-cp39-linux_armv7l.whl", hash = "sha256:c82ca1e4be24a98a253d6dbaa216542e4163f33f38163fc77964b0f0d255b552"}, + {file = "grpcio-1.59.3-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:36636babfda14f9e9687f28d5b66d349cf88c1301154dc71c6513de2b6c88c59"}, + {file = "grpcio-1.59.3-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:5f9b2e591da751ac7fdd316cc25afafb7a626dededa9b414f90faad7f3ccebdb"}, + {file = "grpcio-1.59.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a93a82876a4926bf451db82ceb725bd87f42292bacc94586045261f501a86994"}, + {file = "grpcio-1.59.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce31fa0bfdd1f2bb15b657c16105c8652186eab304eb512e6ae3b99b2fdd7d13"}, + {file = "grpcio-1.59.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:16da0e40573962dab6cba16bec31f25a4f468e6d05b658e589090fe103b03e3d"}, + {file = "grpcio-1.59.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1d1a17372fd425addd5812049fa7374008ffe689585f27f802d0935522cf4b7"}, + {file = "grpcio-1.59.3-cp39-cp39-win32.whl", hash = "sha256:52cc38a7241b5f7b4a91aaf9000fdd38e26bb00d5e8a71665ce40cfcee716281"}, + {file = "grpcio-1.59.3-cp39-cp39-win_amd64.whl", hash = "sha256:b491e5bbcad3020a96842040421e508780cade35baba30f402df9d321d1c423e"}, + {file = "grpcio-1.59.3.tar.gz", hash = "sha256:7800f99568a74a06ebdccd419dd1b6e639b477dcaf6da77ea702f8fb14ce5f80"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.59.3)"] + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "httpcore" +version = "1.0.2" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-1.0.2-py3-none-any.whl", hash = "sha256:096cc05bca73b8e459a1fc3dcf585148f63e534eae4339559c9b8a8d6399acc7"}, + {file = "httpcore-1.0.2.tar.gz", hash = "sha256:9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<0.23.0)"] + +[[package]] +name = "httptools" +version = "0.6.1" +description = "A collection of framework independent HTTP protocol utils." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "httptools-0.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d2f6c3c4cb1948d912538217838f6e9960bc4a521d7f9b323b3da579cd14532f"}, + {file = "httptools-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:00d5d4b68a717765b1fabfd9ca755bd12bf44105eeb806c03d1962acd9b8e563"}, + {file = "httptools-0.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:639dc4f381a870c9ec860ce5c45921db50205a37cc3334e756269736ff0aac58"}, + {file = "httptools-0.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e57997ac7fb7ee43140cc03664de5f268813a481dff6245e0075925adc6aa185"}, + {file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0ac5a0ae3d9f4fe004318d64b8a854edd85ab76cffbf7ef5e32920faef62f142"}, + {file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3f30d3ce413088a98b9db71c60a6ada2001a08945cb42dd65a9a9fe228627658"}, + {file = "httptools-0.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:1ed99a373e327f0107cb513b61820102ee4f3675656a37a50083eda05dc9541b"}, + {file = "httptools-0.6.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7a7ea483c1a4485c71cb5f38be9db078f8b0e8b4c4dc0210f531cdd2ddac1ef1"}, + {file = "httptools-0.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:85ed077c995e942b6f1b07583e4eb0a8d324d418954fc6af913d36db7c05a5a0"}, + {file = "httptools-0.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b0bb634338334385351a1600a73e558ce619af390c2b38386206ac6a27fecfc"}, + {file = "httptools-0.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d9ceb2c957320def533671fc9c715a80c47025139c8d1f3797477decbc6edd2"}, + {file = "httptools-0.6.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4f0f8271c0a4db459f9dc807acd0eadd4839934a4b9b892f6f160e94da309837"}, + {file = "httptools-0.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6a4f5ccead6d18ec072ac0b84420e95d27c1cdf5c9f1bc8fbd8daf86bd94f43d"}, + {file = "httptools-0.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:5cceac09f164bcba55c0500a18fe3c47df29b62353198e4f37bbcc5d591172c3"}, + {file = "httptools-0.6.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:75c8022dca7935cba14741a42744eee13ba05db00b27a4b940f0d646bd4d56d0"}, + {file = "httptools-0.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:48ed8129cd9a0d62cf4d1575fcf90fb37e3ff7d5654d3a5814eb3d55f36478c2"}, + {file = "httptools-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f58e335a1402fb5a650e271e8c2d03cfa7cea46ae124649346d17bd30d59c90"}, + {file = "httptools-0.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93ad80d7176aa5788902f207a4e79885f0576134695dfb0fefc15b7a4648d503"}, + {file = "httptools-0.6.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9bb68d3a085c2174c2477eb3ffe84ae9fb4fde8792edb7bcd09a1d8467e30a84"}, + {file = "httptools-0.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b512aa728bc02354e5ac086ce76c3ce635b62f5fbc32ab7082b5e582d27867bb"}, + {file = "httptools-0.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:97662ce7fb196c785344d00d638fc9ad69e18ee4bfb4000b35a52efe5adcc949"}, + {file = "httptools-0.6.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8e216a038d2d52ea13fdd9b9c9c7459fb80d78302b257828285eca1c773b99b3"}, + {file = "httptools-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3e802e0b2378ade99cd666b5bffb8b2a7cc8f3d28988685dc300469ea8dd86cb"}, + {file = "httptools-0.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd3e488b447046e386a30f07af05f9b38d3d368d1f7b4d8f7e10af85393db97"}, + {file = "httptools-0.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe467eb086d80217b7584e61313ebadc8d187a4d95bb62031b7bab4b205c3ba3"}, + {file = "httptools-0.6.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3c3b214ce057c54675b00108ac42bacf2ab8f85c58e3f324a4e963bbc46424f4"}, + {file = "httptools-0.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8ae5b97f690badd2ca27cbf668494ee1b6d34cf1c464271ef7bfa9ca6b83ffaf"}, + {file = "httptools-0.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:405784577ba6540fa7d6ff49e37daf104e04f4b4ff2d1ac0469eaa6a20fde084"}, + {file = "httptools-0.6.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:95fb92dd3649f9cb139e9c56604cc2d7c7bf0fc2e7c8d7fbd58f96e35eddd2a3"}, + {file = "httptools-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dcbab042cc3ef272adc11220517278519adf8f53fd3056d0e68f0a6f891ba94e"}, + {file = "httptools-0.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cf2372e98406efb42e93bfe10f2948e467edfd792b015f1b4ecd897903d3e8d"}, + {file = "httptools-0.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:678fcbae74477a17d103b7cae78b74800d795d702083867ce160fc202104d0da"}, + {file = "httptools-0.6.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e0b281cf5a125c35f7f6722b65d8542d2e57331be573e9e88bc8b0115c4a7a81"}, + {file = "httptools-0.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:95658c342529bba4e1d3d2b1a874db16c7cca435e8827422154c9da76ac4e13a"}, + {file = "httptools-0.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ebaec1bf683e4bf5e9fbb49b8cc36da482033596a415b3e4ebab5a4c0d7ec5e"}, + {file = "httptools-0.6.1.tar.gz", hash = "sha256:c6e26c30455600b95d94b1b836085138e82f177351454ee841c148f93a9bad5a"}, +] + +[package.extras] +test = ["Cython (>=0.29.24,<0.30.0)"] + +[[package]] +name = "httpx" +version = "0.25.2" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.25.2-py3-none-any.whl", hash = "sha256:a05d3d052d9b2dfce0e3896636467f8a5342fb2b902c819428e1ac65413ca118"}, + {file = "httpx-0.25.2.tar.gz", hash = "sha256:8b8fcaa0c8ea7b05edd69a094e63a2094c4efcb48129fb757361bc423c0ad9e8"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = "==1.*" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] + +[[package]] +name = "httpx-sse" +version = "0.3.1" +description = "Consume Server-Sent Event (SSE) messages with HTTPX." +optional = false +python-versions = ">=3.7" +files = [ + {file = "httpx-sse-0.3.1.tar.gz", hash = "sha256:3bb3289b2867f50cbdb2fee3eeeefecb1e86653122e164faac0023f1ffc88aea"}, + {file = "httpx_sse-0.3.1-py3-none-any.whl", hash = "sha256:7376dd88732892f9b6b549ac0ad05a8e2341172fe7dcf9f8f9c8050934297316"}, +] + +[[package]] +name = "huggingface-hub" +version = "0.19.4" +description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "huggingface_hub-0.19.4-py3-none-any.whl", hash = "sha256:dba013f779da16f14b606492828f3760600a1e1801432d09fe1c33e50b825bb5"}, + {file = "huggingface_hub-0.19.4.tar.gz", hash = "sha256:176a4fc355a851c17550e7619488f383189727eab209534d7cef2114dae77b22"}, +] + +[package.dependencies] +filelock = "*" +fsspec = ">=2023.5.0" +packaging = ">=20.9" +pyyaml = ">=5.1" +requests = "*" +tqdm = ">=4.42.1" +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +cli = ["InquirerPy (==0.3.4)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +docs = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "hf-doc-builder", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)", "watchdog"] +fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] +inference = ["aiohttp", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)"] +quality = ["mypy (==1.5.1)", "ruff (>=0.1.3)"] +tensorflow = ["graphviz", "pydot", "tensorflow"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +torch = ["torch"] +typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] + +[[package]] +name = "humanfriendly" +version = "10.0" +description = "Human friendly output for text interfaces using Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] + +[package.dependencies] +pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] + +[[package]] +name = "importlib-resources" +version = "6.1.1" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.1.1-py3-none-any.whl", hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6"}, + {file = "importlib_resources-6.1.1.tar.gz", hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"] + +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonpatch" +version = "1.33" +description = "Apply JSON-Patches (RFC 6902)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, + {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, +] + +[[package]] +name = "langchain" +version = "0.0.351" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain-0.0.351-py3-none-any.whl", hash = "sha256:90cdaee27db2b2aeeb7b0709a79cbfe3e858fc9536b6bc3ea262135a6affc70f"}, + {file = "langchain-0.0.351.tar.gz", hash = "sha256:6bf2a8665a7a3ca2bbd4eea9889ecfd3d39ab23a505549a03860272474399b38"}, +] + +[package.dependencies] +aiohttp = ">=3.8.3,<4.0.0" +async-timeout = {version = ">=4.0.0,<5.0.0", markers = "python_version < \"3.11\""} +dataclasses-json = ">=0.5.7,<0.7" +jsonpatch = ">=1.33,<2.0" +langchain-community = ">=0.0.2,<0.1" +langchain-core = ">=0.1,<0.2" +langsmith = ">=0.0.70,<0.1.0" +numpy = ">=1,<2" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +requests = ">=2,<3" +SQLAlchemy = ">=1.4,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +azure = ["azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-textanalytics (>=5.3.0,<6.0.0)", "azure-ai-vision (>=0.11.1b1,<0.12.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-core (>=1.26.4,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "azure-search-documents (==11.4.0b8)", "openai (<2)"] +clarifai = ["clarifai (>=9.1.0)"] +cli = ["typer (>=0.9.0,<0.10.0)"] +cohere = ["cohere (>=4,<5)"] +docarray = ["docarray[hnswlib] (>=0.32.0,<0.33.0)"] +embeddings = ["sentence-transformers (>=2,<3)"] +extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<5)", "couchbase (>=4.1.9,<5.0.0)", "dashvector (>=1.0.1,<2.0.0)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "lxml (>=4.9.2,<5.0.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"] +javascript = ["esprima (>=4.0.1,<5.0.0)"] +llms = ["clarifai (>=9.1.0)", "cohere (>=4,<5)", "huggingface_hub (>=0,<1)", "manifest-ml (>=0.0.1,<0.0.2)", "nlpcloud (>=1,<2)", "openai (<2)", "openlm (>=0.0.5,<0.0.6)", "torch (>=1,<3)", "transformers (>=4,<5)"] +openai = ["openai (<2)", "tiktoken (>=0.3.2,<0.6.0)"] +qdrant = ["qdrant-client (>=1.3.1,<2.0.0)"] +text-helpers = ["chardet (>=5.1.0,<6.0.0)"] + +[[package]] +name = "langchain-cli" +version = "0.0.20" +description = "CLI for interacting with LangChain" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_cli-0.0.20-py3-none-any.whl", hash = "sha256:bfcf21a8a36362dc2aa406acb435468eab33847dc0ccaef6877d3d3d9e2fcfc9"}, + {file = "langchain_cli-0.0.20.tar.gz", hash = "sha256:a4d2eab44587851f44e14fd3d7eb9a17209d935d3adb07305c56602d07dcc722"}, +] + +[package.dependencies] +gitpython = ">=3.1.40,<4.0.0" +langserve = {version = ">=0.0.16", extras = ["all"]} +tomlkit = ">=0.12.2,<0.13.0" +typer = {version = ">=0.9.0,<0.10.0", extras = ["all"]} +uvicorn = ">=0.23.2,<0.24.0" + +[[package]] +name = "langchain-community" +version = "0.0.4" +description = "Community contributed LangChain integrations." +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_community-0.0.4-py3-none-any.whl", hash = "sha256:c021357e8d7570e3a5a03eaae9132b818d4376e39f3e865909464c6a9c4e6119"}, + {file = "langchain_community-0.0.4.tar.gz", hash = "sha256:7a5f8fff6272d6472004c86cb0b6202129a15d42bf94fb7da0c2477c5967212c"}, +] + +[package.dependencies] +aiohttp = ">=3.8.3,<4.0.0" +dataclasses-json = ">=0.5.7,<0.7" +langchain-core = ">=0.1,<0.2" +langsmith = ">=0.0.63,<0.1.0" +numpy = ">=1,<2" +PyYAML = ">=5.3" +requests = ">=2,<3" +SQLAlchemy = ">=1.4,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +cli = ["typer (>=0.9.0,<0.10.0)"] +extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<5)", "dashvector (>=1.0.1,<2.0.0)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "lxml (>=4.9.2,<5.0.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"] + +[[package]] +name = "langchain-core" +version = "0.1.1" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_core-0.1.1-py3-none-any.whl", hash = "sha256:35b49abde43f37aa2fb2f9a2e11331218036dc34395943d12c2d305d5512a8be"}, + {file = "langchain_core-0.1.1.tar.gz", hash = "sha256:1253acc691548e8ae97c864cc94370d94fbc9e3244751aeaad0b1e9d5150eca4"}, +] + +[package.dependencies] +anyio = ">=3,<5" +jsonpatch = ">=1.33,<2.0" +langsmith = ">=0.0.63,<0.1.0" +packaging = ">=23.2,<24.0" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +requests = ">=2,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +extended-testing = ["jinja2 (>=3,<4)"] + +[[package]] +name = "langchain-experimental" +version = "0.0.43" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_experimental-0.0.43-py3-none-any.whl", hash = "sha256:acc2af426f62ad18d5632b9136a5f851ed6bec662096dcbaea4bc94704968141"}, + {file = "langchain_experimental-0.0.43.tar.gz", hash = "sha256:d68eb7e5253575a8a30b4d6f218edbaf6db153a2bf344bdcd5ccf90b048f8477"}, +] + +[package.dependencies] +langchain = ">=0.0.342,<0.1" + +[package.extras] +extended-testing = ["faker (>=19.3.1,<20.0.0)", "presidio-analyzer (>=2.2.33,<3.0.0)", "presidio-anonymizer (>=2.2.33,<3.0.0)", "sentence-transformers (>=2,<3)", "vowpal-wabbit-next (==0.6.0)"] + +[[package]] +name = "langserve" +version = "0.0.32" +description = "" +optional = false +python-versions = ">=3.8.1,<4.0.0" +files = [ + {file = "langserve-0.0.32-py3-none-any.whl", hash = "sha256:41cc522fcec22f1d4e2ec05bd8952783a297fbf57c65eb2ab5ad29dff03caa86"}, + {file = "langserve-0.0.32.tar.gz", hash = "sha256:8773fe87ec27c263756d4f2dcd2f0fc8a970ac90e475a517703821bd5ae1836d"}, +] + +[package.dependencies] +fastapi = {version = ">=0.90.1,<1", optional = true, markers = "extra == \"server\" or extra == \"all\""} +httpx = ">=0.23.0" +httpx-sse = {version = ">=0.3.1", optional = true, markers = "extra == \"client\" or extra == \"all\""} +langchain = ">=0.0.333" +orjson = ">=2" +pydantic = ">=1" +sse-starlette = {version = ">=1.3.0,<2.0.0", optional = true, markers = "extra == \"server\" or extra == \"all\""} + +[package.extras] +all = ["fastapi (>=0.90.1,<1)", "httpx-sse (>=0.3.1)", "sse-starlette (>=1.3.0,<2.0.0)"] +client = ["httpx-sse (>=0.3.1)"] +server = ["fastapi (>=0.90.1,<1)", "sse-starlette (>=1.3.0,<2.0.0)"] + +[[package]] +name = "langsmith" +version = "0.0.71" +description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langsmith-0.0.71-py3-none-any.whl", hash = "sha256:dccc8522acbe64723ee6d54cb043f5c8d55512782b5eb3031add6691a00a28e1"}, + {file = "langsmith-0.0.71.tar.gz", hash = "sha256:1c6147563d7d658f5514299526a18d4e69e0e8ed59b99ad87abaf894eed1477a"}, +] + +[package.dependencies] +pydantic = ">=1,<3" +requests = ">=2,<3" + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "2.1.3" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + +[[package]] +name = "marshmallow" +version = "3.20.1" +description = "A lightweight library for converting complex datatypes to and from native Python datatypes." +optional = false +python-versions = ">=3.8" +files = [ + {file = "marshmallow-3.20.1-py3-none-any.whl", hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"}, + {file = "marshmallow-3.20.1.tar.gz", hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"}, +] + +[package.dependencies] +packaging = ">=17.0" + +[package.extras] +dev = ["flake8 (==6.0.0)", "flake8-bugbear (==23.7.10)", "mypy (==1.4.1)", "pre-commit (>=2.4,<4.0)", "pytest", "pytz", "simplejson", "tox"] +docs = ["alabaster (==0.7.13)", "autodocsumm (==0.2.11)", "sphinx (==7.0.1)", "sphinx-issues (==3.0.1)", "sphinx-version-warning (==1.1.2)"] +lint = ["flake8 (==6.0.0)", "flake8-bugbear (==23.7.10)", "mypy (==1.4.1)", "pre-commit (>=2.4,<4.0)"] +tests = ["pytest", "pytz", "simplejson"] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "monotonic" +version = "1.6" +description = "An implementation of time.monotonic() for Python 2 & < 3.3" +optional = false +python-versions = "*" +files = [ + {file = "monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"}, + {file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +description = "Python library for arbitrary-precision floating-point arithmetic" +optional = false +python-versions = "*" +files = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] + +[package.extras] +develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] +docs = ["sphinx"] +gmpy = ["gmpy2 (>=2.1.0a4)"] +tests = ["pytest (>=4.6)"] + +[[package]] +name = "multidict" +version = "6.0.4" +description = "multidict implementation" +optional = false +python-versions = ">=3.7" +files = [ + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, + {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, + {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, + {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, + {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, + {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, + {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, + {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, + {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, + {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, + {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, + {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, + {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "networkx" +version = "3.1" +description = "Python package for creating and manipulating graphs and networks" +optional = false +python-versions = ">=3.8" +files = [ + {file = "networkx-3.1-py3-none-any.whl", hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36"}, + {file = "networkx-3.1.tar.gz", hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61"}, +] + +[package.extras] +default = ["matplotlib (>=3.4)", "numpy (>=1.20)", "pandas (>=1.3)", "scipy (>=1.8)"] +developer = ["mypy (>=1.1)", "pre-commit (>=3.2)"] +doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.13)", "sphinx (>=6.1)", "sphinx-gallery (>=0.12)", "texext (>=0.6.7)"] +extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.10)", "sympy (>=1.10)"] +test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] + +[[package]] +name = "numpy" +version = "1.24.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, + {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, + {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, + {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, + {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, + {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, + {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, + {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, + {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, + {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.1.3.1" +description = "CUBLAS native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728"}, + {file = "nvidia_cublas_cu12-12.1.3.1-py3-none-win_amd64.whl", hash = "sha256:2b964d60e8cf11b5e1073d179d85fa340c120e99b3067558f3cf98dd69d02906"}, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.1.105" +description = "CUDA profiling tools runtime libs." +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e"}, + {file = "nvidia_cuda_cupti_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:bea8236d13a0ac7190bd2919c3e8e6ce1e402104276e6f9694479e48bb0eb2a4"}, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.1.105" +description = "NVRTC native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2"}, + {file = "nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:0a98a522d9ff138b96c010a65e145dc1b4850e9ecb75a0172371793752fd46ed"}, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.1.105" +description = "CUDA Runtime native Libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40"}, + {file = "nvidia_cuda_runtime_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:dfb46ef84d73fababab44cf03e3b83f80700d27ca300e537f85f636fac474344"}, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "8.9.2.26" +description = "cuDNN runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl", hash = "sha256:5ccb288774fdfb07a7e7025ffec286971c06d8d7b4fb162525334616d7629ff9"}, +] + +[package.dependencies] +nvidia-cublas-cu12 = "*" + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.0.2.54" +description = "CUFFT native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl", hash = "sha256:794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56"}, + {file = "nvidia_cufft_cu12-11.0.2.54-py3-none-win_amd64.whl", hash = "sha256:d9ac353f78ff89951da4af698f80870b1534ed69993f10a4cf1d96f21357e253"}, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.2.106" +description = "CURAND native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0"}, + {file = "nvidia_curand_cu12-10.3.2.106-py3-none-win_amd64.whl", hash = "sha256:75b6b0c574c0037839121317e17fd01f8a69fd2ef8e25853d826fec30bdba74a"}, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.4.5.107" +description = "CUDA solver native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl", hash = "sha256:8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd"}, + {file = "nvidia_cusolver_cu12-11.4.5.107-py3-none-win_amd64.whl", hash = "sha256:74e0c3a24c78612192a74fcd90dd117f1cf21dea4822e66d89e8ea80e3cd2da5"}, +] + +[package.dependencies] +nvidia-cublas-cu12 = "*" +nvidia-cusparse-cu12 = "*" +nvidia-nvjitlink-cu12 = "*" + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.1.0.106" +description = "CUSPARSE native runtime libraries" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c"}, + {file = "nvidia_cusparse_cu12-12.1.0.106-py3-none-win_amd64.whl", hash = "sha256:b798237e81b9719373e8fae8d4f091b70a0cf09d9d85c95a557e11df2d8e9a5a"}, +] + +[package.dependencies] +nvidia-nvjitlink-cu12 = "*" + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.18.1" +description = "NVIDIA Collective Communication Library (NCCL) Runtime" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_nccl_cu12-2.18.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:1a6c4acefcbebfa6de320f412bf7866de856e786e0462326ba1bac40de0b5e71"}, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.3.101" +description = "Nvidia JIT LTO Library" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-manylinux1_x86_64.whl", hash = "sha256:64335a8088e2b9d196ae8665430bc6a2b7e6ef2eb877a9c735c804bd4ff6467c"}, + {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-win_amd64.whl", hash = "sha256:1b2e317e437433753530792f13eece58f0aec21a2b05903be7bffe58a606cbd1"}, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.1.105" +description = "NVIDIA Tools Extension" +optional = false +python-versions = ">=3" +files = [ + {file = "nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5"}, + {file = "nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82"}, +] + +[[package]] +name = "onnxruntime" +version = "1.16.3" +description = "ONNX Runtime is a runtime accelerator for Machine Learning models" +optional = false +python-versions = "*" +files = [ + {file = "onnxruntime-1.16.3-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3bc41f323ac77acfed190be8ffdc47a6a75e4beeb3473fbf55eeb075ccca8df2"}, + {file = "onnxruntime-1.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:212741b519ee61a4822c79c47147d63a8b0ffde25cd33988d3d7be9fbd51005d"}, + {file = "onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f91f5497fe3df4ceee2f9e66c6148d9bfeb320cd6a71df361c66c5b8bac985a"}, + {file = "onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b1fc269cabd27f129fb9058917d6fdc89b188c49ed8700f300b945c81f889"}, + {file = "onnxruntime-1.16.3-cp310-cp310-win32.whl", hash = "sha256:f36b56a593b49a3c430be008c2aea6658d91a3030115729609ec1d5ffbaab1b6"}, + {file = "onnxruntime-1.16.3-cp310-cp310-win_amd64.whl", hash = "sha256:3c467eaa3d2429c026b10c3d17b78b7f311f718ef9d2a0d6938e5c3c2611b0cf"}, + {file = "onnxruntime-1.16.3-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a225bb683991001d111f75323d355b3590e75e16b5e0f07a0401e741a0143ea1"}, + {file = "onnxruntime-1.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9aded21fe3d898edd86be8aa2eb995aa375e800ad3dfe4be9f618a20b8ee3630"}, + {file = "onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00cccc37a5195c8fca5011b9690b349db435986bd508eb44c9fce432da9228a4"}, + {file = "onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e253e572021563226a86f1c024f8f70cdae28f2fb1cc8c3a9221e8b1ce37db5"}, + {file = "onnxruntime-1.16.3-cp311-cp311-win32.whl", hash = "sha256:a82a8f0b4c978d08f9f5c7a6019ae51151bced9fd91e5aaa0c20a9e4ac7a60b6"}, + {file = "onnxruntime-1.16.3-cp311-cp311-win_amd64.whl", hash = "sha256:78d81d9af457a1dc90db9a7da0d09f3ccb1288ea1236c6ab19f0ca61f3eee2d3"}, + {file = "onnxruntime-1.16.3-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:04ebcd29c20473596a1412e471524b2fb88d55e6301c40b98dd2407b5911595f"}, + {file = "onnxruntime-1.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9996bab0f202a6435ab867bc55598f15210d0b72794d5de83712b53d564084ae"}, + {file = "onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b8f5083f903408238883821dd8c775f8120cb4a604166dbdabe97f4715256d5"}, + {file = "onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c2dcf1b70f8434abb1116fe0975c00e740722aaf321997195ea3618cc00558e"}, + {file = "onnxruntime-1.16.3-cp38-cp38-win32.whl", hash = "sha256:d4a0151e1accd04da6711f6fd89024509602f82c65a754498e960b032359b02d"}, + {file = "onnxruntime-1.16.3-cp38-cp38-win_amd64.whl", hash = "sha256:e8aa5bba78afbd4d8a2654b14ec7462ff3ce4a6aad312a3c2d2c2b65009f2541"}, + {file = "onnxruntime-1.16.3-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:6829dc2a79d48c911fedaf4c0f01e03c86297d32718a3fdee7a282766dfd282a"}, + {file = "onnxruntime-1.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:76f876c53bfa912c6c242fc38213a6f13f47612d4360bc9d599bd23753e53161"}, + {file = "onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4137e5d443e2dccebe5e156a47f1d6d66f8077b03587c35f11ee0c7eda98b533"}, + {file = "onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c56695c1a343c7c008b647fff3df44da63741fbe7b6003ef576758640719be7b"}, + {file = "onnxruntime-1.16.3-cp39-cp39-win32.whl", hash = "sha256:985a029798744ce4743fcf8442240fed35c8e4d4d30ec7d0c2cdf1388cd44408"}, + {file = "onnxruntime-1.16.3-cp39-cp39-win_amd64.whl", hash = "sha256:28ff758b17ce3ca6bcad3d936ec53bd7f5482e7630a13f6dcae518eba8f71d85"}, +] + +[package.dependencies] +coloredlogs = "*" +flatbuffers = "*" +numpy = ">=1.21.6" +packaging = "*" +protobuf = "*" +sympy = "*" + +[[package]] +name = "open-clip-torch" +version = "2.23.0" +description = "OpenCLIP" +optional = false +python-versions = ">=3.7" +files = [ + {file = "open_clip_torch-2.23.0-py3-none-any.whl", hash = "sha256:56be35f2b5c5104bd16653f202102f7557246fa7cc487cace173db9ce9e56b1b"}, + {file = "open_clip_torch-2.23.0.tar.gz", hash = "sha256:7974ab756906a8ff3b7ad7cf9339a2927df0748ab001f36b0b367e22e4dada75"}, +] + +[package.dependencies] +ftfy = "*" +huggingface-hub = "*" +protobuf = "*" +regex = "*" +sentencepiece = "*" +timm = "*" +torch = ">=1.9.0" +torchvision = "*" +tqdm = "*" + +[package.extras] +training = ["braceexpand", "fsspec", "ftfy", "huggingface-hub", "pandas", "regex", "timm (>=0.9.8)", "torch (>=1.9.0)", "torchvision", "tqdm", "transformers", "webdataset (>=0.2.5)"] + +[[package]] +name = "openai" +version = "1.3.7" +description = "The official Python library for the openai API" +optional = false +python-versions = ">=3.7.1" +files = [ + {file = "openai-1.3.7-py3-none-any.whl", hash = "sha256:e5c51367a910297e4d1cd33d2298fb87d7edf681edbe012873925ac16f95bee0"}, + {file = "openai-1.3.7.tar.gz", hash = "sha256:18074a0f51f9b49d1ae268c7abc36f7f33212a0c0d08ce11b7053ab2d17798de"}, +] + +[package.dependencies] +anyio = ">=3.5.0,<4" +distro = ">=1.7.0,<2" +httpx = ">=0.23.0,<1" +pydantic = ">=1.9.0,<3" +sniffio = "*" +tqdm = ">4" +typing-extensions = ">=4.5,<5" + +[package.extras] +datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] + +[[package]] +name = "orjson" +version = "3.9.10" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.9.10-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c18a4da2f50050a03d1da5317388ef84a16013302a5281d6f64e4a3f406aabc4"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5148bab4d71f58948c7c39d12b14a9005b6ab35a0bdf317a8ade9a9e4d9d0bd5"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cf7837c3b11a2dfb589f8530b3cff2bd0307ace4c301e8997e95c7468c1378e"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c62b6fa2961a1dcc51ebe88771be5319a93fd89bd247c9ddf732bc250507bc2b"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:deeb3922a7a804755bbe6b5be9b312e746137a03600f488290318936c1a2d4dc"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1234dc92d011d3554d929b6cf058ac4a24d188d97be5e04355f1b9223e98bbe9"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:06ad5543217e0e46fd7ab7ea45d506c76f878b87b1b4e369006bdb01acc05a83"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fd72fab7bddce46c6826994ce1e7de145ae1e9e106ebb8eb9ce1393ca01444d"}, + {file = "orjson-3.9.10-cp310-none-win32.whl", hash = "sha256:b5b7d4a44cc0e6ff98da5d56cde794385bdd212a86563ac321ca64d7f80c80d1"}, + {file = "orjson-3.9.10-cp310-none-win_amd64.whl", hash = "sha256:61804231099214e2f84998316f3238c4c2c4aaec302df12b21a64d72e2a135c7"}, + {file = "orjson-3.9.10-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cff7570d492bcf4b64cc862a6e2fb77edd5e5748ad715f487628f102815165e9"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8bc367f725dfc5cabeed1ae079d00369900231fbb5a5280cf0736c30e2adf7"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c812312847867b6335cfb264772f2a7e85b3b502d3a6b0586aa35e1858528ab1"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edd2856611e5050004f4722922b7b1cd6268da34102667bd49d2a2b18bafb81"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:674eb520f02422546c40401f4efaf8207b5e29e420c17051cddf6c02783ff5ca"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0dc4310da8b5f6415949bd5ef937e60aeb0eb6b16f95041b5e43e6200821fb"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99c625b8c95d7741fe057585176b1b8783d46ed4b8932cf98ee145c4facf499"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec6f18f96b47299c11203edfbdc34e1b69085070d9a3d1f302810cc23ad36bf3"}, + {file = "orjson-3.9.10-cp311-none-win32.whl", hash = "sha256:ce0a29c28dfb8eccd0f16219360530bc3cfdf6bf70ca384dacd36e6c650ef8e8"}, + {file = "orjson-3.9.10-cp311-none-win_amd64.whl", hash = "sha256:cf80b550092cc480a0cbd0750e8189247ff45457e5a023305f7ef1bcec811616"}, + {file = "orjson-3.9.10-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:602a8001bdf60e1a7d544be29c82560a7b49319a0b31d62586548835bbe2c862"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f295efcd47b6124b01255d1491f9e46f17ef40d3d7eabf7364099e463fb45f0f"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92af0d00091e744587221e79f68d617b432425a7e59328ca4c496f774a356071"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5a02360e73e7208a872bf65a7554c9f15df5fe063dc047f79738998b0506a14"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:858379cbb08d84fe7583231077d9a36a1a20eb72f8c9076a45df8b083724ad1d"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666c6fdcaac1f13eb982b649e1c311c08d7097cbda24f32612dae43648d8db8d"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3fb205ab52a2e30354640780ce4587157a9563a68c9beaf52153e1cea9aa0921"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7ec960b1b942ee3c69323b8721df2a3ce28ff40e7ca47873ae35bfafeb4555ca"}, + {file = "orjson-3.9.10-cp312-none-win_amd64.whl", hash = "sha256:3e892621434392199efb54e69edfff9f699f6cc36dd9553c5bf796058b14b20d"}, + {file = "orjson-3.9.10-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8b9ba0ccd5a7f4219e67fbbe25e6b4a46ceef783c42af7dbc1da548eb28b6531"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e2ecd1d349e62e3960695214f40939bbfdcaeaaa62ccc638f8e651cf0970e5f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f433be3b3f4c66016d5a20e5b4444ef833a1f802ced13a2d852c637f69729c1"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4689270c35d4bb3102e103ac43c3f0b76b169760aff8bcf2d401a3e0e58cdb7f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bd176f528a8151a6efc5359b853ba3cc0e82d4cd1fab9c1300c5d957dc8f48c"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a2ce5ea4f71681623f04e2b7dadede3c7435dfb5e5e2d1d0ec25b35530e277b"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:49f8ad582da6e8d2cf663c4ba5bf9f83cc052570a3a767487fec6af839b0e777"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2a11b4b1a8415f105d989876a19b173f6cdc89ca13855ccc67c18efbd7cbd1f8"}, + {file = "orjson-3.9.10-cp38-none-win32.whl", hash = "sha256:a353bf1f565ed27ba71a419b2cd3db9d6151da426b61b289b6ba1422a702e643"}, + {file = "orjson-3.9.10-cp38-none-win_amd64.whl", hash = "sha256:e28a50b5be854e18d54f75ef1bb13e1abf4bc650ab9d635e4258c58e71eb6ad5"}, + {file = "orjson-3.9.10-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ee5926746232f627a3be1cc175b2cfad24d0170d520361f4ce3fa2fd83f09e1d"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a73160e823151f33cdc05fe2cea557c5ef12fdf276ce29bb4f1c571c8368a60"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c338ed69ad0b8f8f8920c13f529889fe0771abbb46550013e3c3d01e5174deef"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5869e8e130e99687d9e4be835116c4ebd83ca92e52e55810962446d841aba8de"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2c1e559d96a7f94a4f581e2a32d6d610df5840881a8cba8f25e446f4d792df3"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a3a3a72c9811b56adf8bcc829b010163bb2fc308877e50e9910c9357e78521"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7f8fb7f5ecf4f6355683ac6881fd64b5bb2b8a60e3ccde6ff799e48791d8f864"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c943b35ecdf7123b2d81d225397efddf0bce2e81db2f3ae633ead38e85cd5ade"}, + {file = "orjson-3.9.10-cp39-none-win32.whl", hash = "sha256:fb0b361d73f6b8eeceba47cd37070b5e6c9de5beaeaa63a1cb35c7e1a73ef088"}, + {file = "orjson-3.9.10-cp39-none-win_amd64.whl", hash = "sha256:b90f340cb6397ec7a854157fac03f0c82b744abdd1c0941a024c3c29d1340aff"}, + {file = "orjson-3.9.10.tar.gz", hash = "sha256:9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1"}, +] + +[[package]] +name = "overrides" +version = "7.4.0" +description = "A decorator to automatically detect mismatch when overriding a method." +optional = false +python-versions = ">=3.6" +files = [ + {file = "overrides-7.4.0-py3-none-any.whl", hash = "sha256:3ad24583f86d6d7a49049695efe9933e67ba62f0c7625d53c59fa832ce4b8b7d"}, + {file = "overrides-7.4.0.tar.gz", hash = "sha256:9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757"}, +] + +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + +[[package]] +name = "pillow" +version = "10.1.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "Pillow-10.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1ab05f3db77e98f93964697c8efc49c7954b08dd61cff526b7f2531a22410106"}, + {file = "Pillow-10.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6932a7652464746fcb484f7fc3618e6503d2066d853f68a4bd97193a3996e273"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f63b5a68daedc54c7c3464508d8c12075e56dcfbd42f8c1bf40169061ae666"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0949b55eb607898e28eaccb525ab104b2d86542a85c74baf3a6dc24002edec2"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ae88931f93214777c7a3aa0a8f92a683f83ecde27f65a45f95f22d289a69e593"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b0eb01ca85b2361b09480784a7931fc648ed8b7836f01fb9241141b968feb1db"}, + {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d27b5997bdd2eb9fb199982bb7eb6164db0426904020dc38c10203187ae2ff2f"}, + {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7df5608bc38bd37ef585ae9c38c9cd46d7c81498f086915b0f97255ea60c2818"}, + {file = "Pillow-10.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:41f67248d92a5e0a2076d3517d8d4b1e41a97e2df10eb8f93106c89107f38b57"}, + {file = "Pillow-10.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1fb29c07478e6c06a46b867e43b0bcdb241b44cc52be9bc25ce5944eed4648e7"}, + {file = "Pillow-10.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2cdc65a46e74514ce742c2013cd4a2d12e8553e3a2563c64879f7c7e4d28bce7"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50d08cd0a2ecd2a8657bd3d82c71efd5a58edb04d9308185d66c3a5a5bed9610"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062a1610e3bc258bff2328ec43f34244fcec972ee0717200cb1425214fe5b839"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:61f1a9d247317fa08a308daaa8ee7b3f760ab1809ca2da14ecc88ae4257d6172"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a646e48de237d860c36e0db37ecaecaa3619e6f3e9d5319e527ccbc8151df061"}, + {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:47e5bf85b80abc03be7455c95b6d6e4896a62f6541c1f2ce77a7d2bb832af262"}, + {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a92386125e9ee90381c3369f57a2a50fa9e6aa8b1cf1d9c4b200d41a7dd8e992"}, + {file = "Pillow-10.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f7c276c05a9767e877a0b4c5050c8bee6a6d960d7f0c11ebda6b99746068c2a"}, + {file = "Pillow-10.1.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:a89b8312d51715b510a4fe9fc13686283f376cfd5abca8cd1c65e4c76e21081b"}, + {file = "Pillow-10.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:00f438bb841382b15d7deb9a05cc946ee0f2c352653c7aa659e75e592f6fa17d"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d929a19f5469b3f4df33a3df2983db070ebb2088a1e145e18facbc28cae5b27"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a92109192b360634a4489c0c756364c0c3a2992906752165ecb50544c251312"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:0248f86b3ea061e67817c47ecbe82c23f9dd5d5226200eb9090b3873d3ca32de"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9882a7451c680c12f232a422730f986a1fcd808da0fd428f08b671237237d651"}, + {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c3ac5423c8c1da5928aa12c6e258921956757d976405e9467c5f39d1d577a4b"}, + {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:806abdd8249ba3953c33742506fe414880bad78ac25cc9a9b1c6ae97bedd573f"}, + {file = "Pillow-10.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:eaed6977fa73408b7b8a24e8b14e59e1668cfc0f4c40193ea7ced8e210adf996"}, + {file = "Pillow-10.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:fe1e26e1ffc38be097f0ba1d0d07fcade2bcfd1d023cda5b29935ae8052bd793"}, + {file = "Pillow-10.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7a7e3daa202beb61821c06d2517428e8e7c1aab08943e92ec9e5755c2fc9ba5e"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24fadc71218ad2b8ffe437b54876c9382b4a29e030a05a9879f615091f42ffc2"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1d323703cfdac2036af05191b969b910d8f115cf53093125e4058f62012c9a"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:912e3812a1dbbc834da2b32299b124b5ddcb664ed354916fd1ed6f193f0e2d01"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7dbaa3c7de82ef37e7708521be41db5565004258ca76945ad74a8e998c30af8d"}, + {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9d7bc666bd8c5a4225e7ac71f2f9d12466ec555e89092728ea0f5c0c2422ea80"}, + {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baada14941c83079bf84c037e2d8b7506ce201e92e3d2fa0d1303507a8538212"}, + {file = "Pillow-10.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:2ef6721c97894a7aa77723740a09547197533146fba8355e86d6d9a4a1056b14"}, + {file = "Pillow-10.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0a026c188be3b443916179f5d04548092e253beb0c3e2ee0a4e2cdad72f66099"}, + {file = "Pillow-10.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04f6f6149f266a100374ca3cc368b67fb27c4af9f1cc8cb6306d849dcdf12616"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb40c011447712d2e19cc261c82655f75f32cb724788df315ed992a4d65696bb"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a8413794b4ad9719346cd9306118450b7b00d9a15846451549314a58ac42219"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c9aeea7b63edb7884b031a35305629a7593272b54f429a9869a4f63a1bf04c34"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b4005fee46ed9be0b8fb42be0c20e79411533d1fd58edabebc0dd24626882cfd"}, + {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0152565c6aa6ebbfb1e5d8624140a440f2b99bf7afaafbdbf6430426497f28"}, + {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d921bc90b1defa55c9917ca6b6b71430e4286fc9e44c55ead78ca1a9f9eba5f2"}, + {file = "Pillow-10.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfe96560c6ce2f4c07d6647af2d0f3c54cc33289894ebd88cfbb3bcd5391e256"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:937bdc5a7f5343d1c97dc98149a0be7eb9704e937fe3dc7140e229ae4fc572a7"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c25762197144e211efb5f4e8ad656f36c8d214d390585d1d21281f46d556ba"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:afc8eef765d948543a4775f00b7b8c079b3321d6b675dde0d02afa2ee23000b4"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:883f216eac8712b83a63f41b76ddfb7b2afab1b74abbb413c5df6680f071a6b9"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b920e4d028f6442bea9a75b7491c063f0b9a3972520731ed26c83e254302eb1e"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c41d960babf951e01a49c9746f92c5a7e0d939d1652d7ba30f6b3090f27e412"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1fafabe50a6977ac70dfe829b2d5735fd54e190ab55259ec8aea4aaea412fa0b"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b834f4b16173e5b92ab6566f0473bfb09f939ba14b23b8da1f54fa63e4b623f"}, + {file = "Pillow-10.1.0.tar.gz", hash = "sha256:e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "posthog" +version = "3.0.2" +description = "Integrate PostHog into any python application." +optional = false +python-versions = "*" +files = [ + {file = "posthog-3.0.2-py2.py3-none-any.whl", hash = "sha256:a8c0af6f2401fbe50f90e68c4143d0824b54e872de036b1c2f23b5abb39d88ce"}, + {file = "posthog-3.0.2.tar.gz", hash = "sha256:701fba6e446a4de687c6e861b587e7b7741955ad624bf34fe013c06a0fec6fb3"}, +] + +[package.dependencies] +backoff = ">=1.10.0" +monotonic = ">=1.5" +python-dateutil = ">2.1" +requests = ">=2.7,<3.0" +six = ">=1.5" + +[package.extras] +dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] +sentry = ["django", "sentry-sdk"] +test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest"] + +[[package]] +name = "protobuf" +version = "4.25.1" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "protobuf-4.25.1-cp310-abi3-win32.whl", hash = "sha256:193f50a6ab78a970c9b4f148e7c750cfde64f59815e86f686c22e26b4fe01ce7"}, + {file = "protobuf-4.25.1-cp310-abi3-win_amd64.whl", hash = "sha256:3497c1af9f2526962f09329fd61a36566305e6c72da2590ae0d7d1322818843b"}, + {file = "protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:0bf384e75b92c42830c0a679b0cd4d6e2b36ae0cf3dbb1e1dfdda48a244f4bcd"}, + {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:0f881b589ff449bf0b931a711926e9ddaad3b35089cc039ce1af50b21a4ae8cb"}, + {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:ca37bf6a6d0046272c152eea90d2e4ef34593aaa32e8873fc14c16440f22d4b7"}, + {file = "protobuf-4.25.1-cp38-cp38-win32.whl", hash = "sha256:abc0525ae2689a8000837729eef7883b9391cd6aa7950249dcf5a4ede230d5dd"}, + {file = "protobuf-4.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:1484f9e692091450e7edf418c939e15bfc8fc68856e36ce399aed6889dae8bb0"}, + {file = "protobuf-4.25.1-cp39-cp39-win32.whl", hash = "sha256:8bdbeaddaac52d15c6dce38c71b03038ef7772b977847eb6d374fc86636fa510"}, + {file = "protobuf-4.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:becc576b7e6b553d22cbdf418686ee4daa443d7217999125c045ad56322dda10"}, + {file = "protobuf-4.25.1-py3-none-any.whl", hash = "sha256:a19731d5e83ae4737bb2a089605e636077ac001d18781b3cf489b9546c7c80d6"}, + {file = "protobuf-4.25.1.tar.gz", hash = "sha256:57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2"}, +] + +[[package]] +name = "pulsar-client" +version = "3.3.0" +description = "Apache Pulsar Python client library" +optional = false +python-versions = "*" +files = [ + {file = "pulsar_client-3.3.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:c31afd3e67a044ff93177df89e08febf214cc965e95ede097d9fe8755af00e01"}, + {file = "pulsar_client-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f66982284571674b215324cc26b5c2f7c56c7043113c47a7084cb70d67a8afb"}, + {file = "pulsar_client-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fe50a06f81c48a75a9b95c27a6446260039adca71d9face273740de96b2efca"}, + {file = "pulsar_client-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d4c46a4b96a6e9919cfe220156d69a2ede8053d9ea1add4ada108abcf2ba9775"}, + {file = "pulsar_client-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1e4b5d44b992c9b036286b483f3588c10b89c6047fb59d80c7474445997f4e10"}, + {file = "pulsar_client-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:497a59ac6b650835a3b2c502f53477e5c98e5226998ca3f17c0b0a3eb4d67d08"}, + {file = "pulsar_client-3.3.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:386e78ff52058d881780bae1f6e84ac9434ae0b01a8581755ca8cc0dc844a332"}, + {file = "pulsar_client-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e4ecb780df58bcfd3918590bd3ff31ed79bccfbef3a1a60370642eb1e14a9d2"}, + {file = "pulsar_client-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ce1e215c252f22a6f26ca5e9076826041a04d88dc213b92c86b524be2774a64"}, + {file = "pulsar_client-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:88b0fd5be73a4103986b9dbe3a66468cf8829371e34af87ff8f216e3980f4cbe"}, + {file = "pulsar_client-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33656450536d83eed1563ff09692c2c415fb199d88e9ed97d701ca446a119e1b"}, + {file = "pulsar_client-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:ce33de700b06583df8777e139d68cb4b4b3d0a2eac168d74278d8935f357fb10"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-macosx_10_15_universal2.whl", hash = "sha256:7b5dd25cf778d6c980d36c53081e843ea272afe7af4f0ad6394ae9513f94641b"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c4e6865fda62a2e460f823dce4d49ac2973a4459b8ff99eda5fdd6aaaebf46"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1810ddc623c8de2675d17405ce47057a9a2b92298e708ce4d9564847f5ad904"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8259c3b856eb6deaa1f93dce893ab18d99d36d102da5612c8e97a4fb41b70ab1"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:5e7a48b2e505cde758fd51a601b5da0671fa98c9baee38362aaaa3ab2b930c28"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ede264385d47257b2f2b08ecde9181ec5338bea5639cc543d1856f01736778d2"}, + {file = "pulsar_client-3.3.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:0f64c62746ccd5b65a0c505f5f40b9af1f147eb1fa2d8f9c90cd5c8b92dd8597"}, + {file = "pulsar_client-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b84a20c9012e3c4ef1b7085acd7467197118c090b378dec27d773fb79d91556"}, + {file = "pulsar_client-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4e15fa696e275ccb66d0791fdc19c4dea0420d81349c8055e485b134125e14f"}, + {file = "pulsar_client-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:72cbb1bdcba2dd1265296b5ba65331622ee89c16db75edaad46dd7b90c6dd447"}, + {file = "pulsar_client-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d54dd12955bf587dd46d9184444af5e853d9da2a14bbfb739ed2c7c3b78ce280"}, + {file = "pulsar_client-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:43f98afdf0334b2b957a4d96f97a1fe8a7f7fd1e2631d40c3f00b4162f396485"}, + {file = "pulsar_client-3.3.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:efe7c1e6a96daccc522c3567b6847ffa54c13e0f510d9a427b4aeff9fbebe54b"}, + {file = "pulsar_client-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f28e94420090fceeb38e23fc744f3edf8710e48314ef5927d2b674a1d1e43ee0"}, + {file = "pulsar_client-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42c8f3eaa98e2351805ecb6efb6d5fedf47a314a3ce6af0e05ea1449ea7244ed"}, + {file = "pulsar_client-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5e69750f8ae57e55fddf97b459ce0d8b38b2bb85f464a71e871ee6a86d893be7"}, + {file = "pulsar_client-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7e147e5ba460c1818bc05254279a885b4e552bcafb8961d40e31f98d5ff46628"}, + {file = "pulsar_client-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:694530af1d6c75fb81456fb509778c1868adee31e997ddece6e21678200182ea"}, +] + +[package.dependencies] +certifi = "*" + +[package.extras] +all = ["apache-bookkeeper-client (>=4.16.1)", "fastavro (==1.7.3)", "grpcio (>=1.8.2)", "prometheus-client", "protobuf (>=3.6.1,<=3.20.3)", "ratelimit"] +avro = ["fastavro (==1.7.3)"] +functions = ["apache-bookkeeper-client (>=4.16.1)", "grpcio (>=1.8.2)", "prometheus-client", "protobuf (>=3.6.1,<=3.20.3)", "ratelimit"] + +[[package]] +name = "pydantic" +version = "2.5.2" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-2.5.2-py3-none-any.whl", hash = "sha256:80c50fb8e3dcecfddae1adbcc00ec5822918490c99ab31f6cf6140ca1c1429f0"}, + {file = "pydantic-2.5.2.tar.gz", hash = "sha256:ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd"}, +] + +[package.dependencies] +annotated-types = ">=0.4.0" +pydantic-core = "2.14.5" +typing-extensions = ">=4.6.1" + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.14.5" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:7e88f5696153dc516ba6e79f82cc4747e87027205f0e02390c21f7cb3bd8abfd"}, + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4641e8ad4efb697f38a9b64ca0523b557c7931c5f84e0fd377a9a3b05121f0de"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774de879d212db5ce02dfbf5b0da9a0ea386aeba12b0b95674a4ce0593df3d07"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebb4e035e28f49b6f1a7032920bb9a0c064aedbbabe52c543343d39341a5b2a3"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b53e9ad053cd064f7e473a5f29b37fc4cc9dc6d35f341e6afc0155ea257fc911"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aa1768c151cf562a9992462239dfc356b3d1037cc5a3ac829bb7f3bda7cc1f9"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eac5c82fc632c599f4639a5886f96867ffced74458c7db61bc9a66ccb8ee3113"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae91f50ccc5810b2f1b6b858257c9ad2e08da70bf890dee02de1775a387c66"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6b9ff467ffbab9110e80e8c8de3bcfce8e8b0fd5661ac44a09ae5901668ba997"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61ea96a78378e3bd5a0be99b0e5ed00057b71f66115f5404d0dae4819f495093"}, + {file = "pydantic_core-2.14.5-cp310-none-win32.whl", hash = "sha256:bb4c2eda937a5e74c38a41b33d8c77220380a388d689bcdb9b187cf6224c9720"}, + {file = "pydantic_core-2.14.5-cp310-none-win_amd64.whl", hash = "sha256:b7851992faf25eac90bfcb7bfd19e1f5ffa00afd57daec8a0042e63c74a4551b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4e40f2bd0d57dac3feb3a3aed50f17d83436c9e6b09b16af271b6230a2915459"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ab1cdb0f14dc161ebc268c09db04d2c9e6f70027f3b42446fa11c153521c0e88"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aae7ea3a1c5bb40c93cad361b3e869b180ac174656120c42b9fadebf685d121b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60b7607753ba62cf0739177913b858140f11b8af72f22860c28eabb2f0a61937"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2248485b0322c75aee7565d95ad0e16f1c67403a470d02f94da7344184be770f"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:823fcc638f67035137a5cd3f1584a4542d35a951c3cc68c6ead1df7dac825c26"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96581cfefa9123accc465a5fd0cc833ac4d75d55cc30b633b402e00e7ced00a6"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a33324437018bf6ba1bb0f921788788641439e0ed654b233285b9c69704c27b4"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9bd18fee0923ca10f9a3ff67d4851c9d3e22b7bc63d1eddc12f439f436f2aada"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:853a2295c00f1d4429db4c0fb9475958543ee80cfd310814b5c0ef502de24dda"}, + {file = "pydantic_core-2.14.5-cp311-none-win32.whl", hash = "sha256:cb774298da62aea5c80a89bd58c40205ab4c2abf4834453b5de207d59d2e1651"}, + {file = "pydantic_core-2.14.5-cp311-none-win_amd64.whl", hash = "sha256:e87fc540c6cac7f29ede02e0f989d4233f88ad439c5cdee56f693cc9c1c78077"}, + {file = "pydantic_core-2.14.5-cp311-none-win_arm64.whl", hash = "sha256:57d52fa717ff445cb0a5ab5237db502e6be50809b43a596fb569630c665abddf"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e60f112ac88db9261ad3a52032ea46388378034f3279c643499edb982536a093"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6e227c40c02fd873c2a73a98c1280c10315cbebe26734c196ef4514776120aeb"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0cbc7fff06a90bbd875cc201f94ef0ee3929dfbd5c55a06674b60857b8b85ed"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:103ef8d5b58596a731b690112819501ba1db7a36f4ee99f7892c40da02c3e189"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c949f04ecad823f81b1ba94e7d189d9dfb81edbb94ed3f8acfce41e682e48cef"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1452a1acdf914d194159439eb21e56b89aa903f2e1c65c60b9d874f9b950e5d"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4679d4c2b089e5ef89756bc73e1926745e995d76e11925e3e96a76d5fa51fc"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf9d3fe53b1ee360e2421be95e62ca9b3296bf3f2fb2d3b83ca49ad3f925835e"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:70f4b4851dbb500129681d04cc955be2a90b2248d69273a787dda120d5cf1f69"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:59986de5710ad9613ff61dd9b02bdd2f615f1a7052304b79cc8fa2eb4e336d2d"}, + {file = "pydantic_core-2.14.5-cp312-none-win32.whl", hash = "sha256:699156034181e2ce106c89ddb4b6504c30db8caa86e0c30de47b3e0654543260"}, + {file = "pydantic_core-2.14.5-cp312-none-win_amd64.whl", hash = "sha256:5baab5455c7a538ac7e8bf1feec4278a66436197592a9bed538160a2e7d11e36"}, + {file = "pydantic_core-2.14.5-cp312-none-win_arm64.whl", hash = "sha256:e47e9a08bcc04d20975b6434cc50bf82665fbc751bcce739d04a3120428f3e27"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:af36f36538418f3806048f3b242a1777e2540ff9efaa667c27da63d2749dbce0"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:45e95333b8418ded64745f14574aa9bfc212cb4fbeed7a687b0c6e53b5e188cd"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e47a76848f92529879ecfc417ff88a2806438f57be4a6a8bf2961e8f9ca9ec7"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d81e6987b27bc7d101c8597e1cd2bcaa2fee5e8e0f356735c7ed34368c471550"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34708cc82c330e303f4ce87758828ef6e457681b58ce0e921b6e97937dd1e2a3"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:652c1988019752138b974c28f43751528116bcceadad85f33a258869e641d753"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e4d090e73e0725b2904fdbdd8d73b8802ddd691ef9254577b708d413bf3006e"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5c7d5b5005f177764e96bd584d7bf28d6e26e96f2a541fdddb934c486e36fd59"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a71891847f0a73b1b9eb86d089baee301477abef45f7eaf303495cd1473613e4"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a717aef6971208f0851a2420b075338e33083111d92041157bbe0e2713b37325"}, + {file = "pydantic_core-2.14.5-cp37-none-win32.whl", hash = "sha256:de790a3b5aa2124b8b78ae5faa033937a72da8efe74b9231698b5a1dd9be3405"}, + {file = "pydantic_core-2.14.5-cp37-none-win_amd64.whl", hash = "sha256:6c327e9cd849b564b234da821236e6bcbe4f359a42ee05050dc79d8ed2a91588"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:ef98ca7d5995a82f43ec0ab39c4caf6a9b994cb0b53648ff61716370eadc43cf"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6eae413494a1c3f89055da7a5515f32e05ebc1a234c27674a6956755fb2236f"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcf4e6d85614f7a4956c2de5a56531f44efb973d2fe4a444d7251df5d5c4dcfd"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6637560562134b0e17de333d18e69e312e0458ee4455bdad12c37100b7cad706"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77fa384d8e118b3077cccfcaf91bf83c31fe4dc850b5e6ee3dc14dc3d61bdba1"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16e29bad40bcf97aac682a58861249ca9dcc57c3f6be22f506501833ddb8939c"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531f4b4252fac6ca476fbe0e6f60f16f5b65d3e6b583bc4d87645e4e5ddde331"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:074f3d86f081ce61414d2dc44901f4f83617329c6f3ab49d2bc6c96948b2c26b"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c2adbe22ab4babbca99c75c5d07aaf74f43c3195384ec07ccbd2f9e3bddaecec"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0f6116a558fd06d1b7c2902d1c4cf64a5bd49d67c3540e61eccca93f41418124"}, + {file = "pydantic_core-2.14.5-cp38-none-win32.whl", hash = "sha256:fe0a5a1025eb797752136ac8b4fa21aa891e3d74fd340f864ff982d649691867"}, + {file = "pydantic_core-2.14.5-cp38-none-win_amd64.whl", hash = "sha256:079206491c435b60778cf2b0ee5fd645e61ffd6e70c47806c9ed51fc75af078d"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a6a16f4a527aae4f49c875da3cdc9508ac7eef26e7977952608610104244e1b7"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abf058be9517dc877227ec3223f0300034bd0e9f53aebd63cf4456c8cb1e0863"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b08aae5013640a3bfa25a8eebbd95638ec3f4b2eaf6ed82cf0c7047133f03b"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2d97e906b4ff36eb464d52a3bc7d720bd6261f64bc4bcdbcd2c557c02081ed2"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3128e0bbc8c091ec4375a1828d6118bc20404883169ac95ffa8d983b293611e6"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88e74ab0cdd84ad0614e2750f903bb0d610cc8af2cc17f72c28163acfcf372a4"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c339dabd8ee15f8259ee0f202679b6324926e5bc9e9a40bf981ce77c038553db"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3387277f1bf659caf1724e1afe8ee7dbc9952a82d90f858ebb931880216ea955"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ba6b6b3846cfc10fdb4c971980a954e49d447cd215ed5a77ec8190bc93dd7bc5"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca61d858e4107ce5e1330a74724fe757fc7135190eb5ce5c9d0191729f033209"}, + {file = "pydantic_core-2.14.5-cp39-none-win32.whl", hash = "sha256:ec1e72d6412f7126eb7b2e3bfca42b15e6e389e1bc88ea0069d0cc1742f477c6"}, + {file = "pydantic_core-2.14.5-cp39-none-win_amd64.whl", hash = "sha256:c0b97ec434041827935044bbbe52b03d6018c2897349670ff8fe11ed24d1d4ab"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79e0a2cdbdc7af3f4aee3210b1172ab53d7ddb6a2d8c24119b5706e622b346d0"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:678265f7b14e138d9a541ddabbe033012a2953315739f8cfa6d754cc8063e8ca"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b15e855ae44f0c6341ceb74df61b606e11f1087e87dcb7482377374aac6abe"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09b0e985fbaf13e6b06a56d21694d12ebca6ce5414b9211edf6f17738d82b0f8"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ad873900297bb36e4b6b3f7029d88ff9829ecdc15d5cf20161775ce12306f8a"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2d0ae0d8670164e10accbeb31d5ad45adb71292032d0fdb9079912907f0085f4"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d37f8ec982ead9ba0a22a996129594938138a1503237b87318392a48882d50b7"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:35613015f0ba7e14c29ac6c2483a657ec740e5ac5758d993fdd5870b07a61d8b"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab4ea451082e684198636565224bbb179575efc1658c48281b2c866bfd4ddf04"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ce601907e99ea5b4adb807ded3570ea62186b17f88e271569144e8cca4409c7"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb2ed8b3fe4bf4506d6dab3b93b83bbc22237e230cba03866d561c3577517d18"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70f947628e074bb2526ba1b151cee10e4c3b9670af4dbb4d73bc8a89445916b5"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4bc536201426451f06f044dfbf341c09f540b4ebdb9fd8d2c6164d733de5e634"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4791cf0f8c3104ac668797d8c514afb3431bc3305f5638add0ba1a5a37e0d88"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:038c9f763e650712b899f983076ce783175397c848da04985658e7628cbe873b"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:27548e16c79702f1e03f5628589c6057c9ae17c95b4c449de3c66b589ead0520"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97bee68898f3f4344eb02fec316db93d9700fb1e6a5b760ffa20d71d9a46ce3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9b759b77f5337b4ea024f03abc6464c9f35d9718de01cfe6bae9f2e139c397e"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:439c9afe34638ace43a49bf72d201e0ffc1a800295bed8420c2a9ca8d5e3dbb3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ba39688799094c75ea8a16a6b544eb57b5b0f3328697084f3f2790892510d144"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ccd4d5702bb90b84df13bd491be8d900b92016c5a455b7e14630ad7449eb03f8"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:81982d78a45d1e5396819bbb4ece1fadfe5f079335dd28c4ab3427cd95389944"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7f8210297b04e53bc3da35db08b7302a6a1f4889c79173af69b72ec9754796b8"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8c8a8812fe6f43a3a5b054af6ac2d7b8605c7bcab2804a8a7d68b53f3cd86e00"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:206ed23aecd67c71daf5c02c3cd19c0501b01ef3cbf7782db9e4e051426b3d0d"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2027d05c8aebe61d898d4cffd774840a9cb82ed356ba47a90d99ad768f39789"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40180930807ce806aa71eda5a5a5447abb6b6a3c0b4b3b1b1962651906484d68"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:615a0a4bff11c45eb3c1996ceed5bdaa2f7b432425253a7c2eed33bb86d80abc"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5e412d717366e0677ef767eac93566582518fe8be923361a5c204c1a62eaafe"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:513b07e99c0a267b1d954243845d8a833758a6726a3b5d8948306e3fe14675e3"}, + {file = "pydantic_core-2.14.5.tar.gz", hash = "sha256:6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + +[[package]] +name = "pygments" +version = "2.17.2" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, +] + +[package.extras] +plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pypika" +version = "0.48.9" +description = "A SQL query builder API for Python" +optional = false +python-versions = "*" +files = [ + {file = "PyPika-0.48.9.tar.gz", hash = "sha256:838836a61747e7c8380cd1b7ff638694b7a7335345d0f559b04b2cd832ad5378"}, +] + +[[package]] +name = "pyreadline3" +version = "3.4.1" +description = "A python implementation of GNU readline." +optional = false +python-versions = "*" +files = [ + {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, + {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, +] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "1.0.0" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, + {file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "regex" +version = "2023.10.3" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.7" +files = [ + {file = "regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc"}, + {file = "regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a"}, + {file = "regex-2023.10.3-cp310-cp310-win32.whl", hash = "sha256:36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec"}, + {file = "regex-2023.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54"}, + {file = "regex-2023.10.3-cp311-cp311-win32.whl", hash = "sha256:9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2"}, + {file = "regex-2023.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a"}, + {file = "regex-2023.10.3-cp312-cp312-win32.whl", hash = "sha256:ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a"}, + {file = "regex-2023.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b"}, + {file = "regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb"}, + {file = "regex-2023.10.3-cp37-cp37m-win32.whl", hash = "sha256:ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a"}, + {file = "regex-2023.10.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4"}, + {file = "regex-2023.10.3-cp38-cp38-win32.whl", hash = "sha256:58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d"}, + {file = "regex-2023.10.3-cp38-cp38-win_amd64.whl", hash = "sha256:c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48"}, + {file = "regex-2023.10.3-cp39-cp39-win32.whl", hash = "sha256:3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd"}, + {file = "regex-2023.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988"}, + {file = "regex-2023.10.3.tar.gz", hash = "sha256:3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f"}, +] + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rich" +version = "13.7.0" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"}, + {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "safetensors" +version = "0.4.1" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "safetensors-0.4.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cba01c6b76e01ec453933b3b3c0157c59b52881c83eaa0f7666244e71aa75fd1"}, + {file = "safetensors-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a8f6f679d97ea0135c7935c202feefbd042c149aa70ee759855e890c01c7814"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbc2ce1f5ae5143a7fb72b71fa71db6a42b4f6cf912aa3acdc6b914084778e68"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2d87d993eaefe6611a9c241a8bd364a5f1ffed5771c74840363a6c4ed8d868f6"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:097e9af2efa8778cd2f0cba451784253e62fa7cc9fc73c0744d27212f7294e25"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d10a9f7bae608ccfdc009351f01dc3d8535ff57f9488a58a4c38e45bf954fe93"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:270b99885ec14abfd56c1d7f28ada81740a9220b4bae960c3de1c6fe84af9e4d"}, + {file = "safetensors-0.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:285b52a481e7ba93e29ad4ec5841ef2c4479ef0a6c633c4e2629e0508453577b"}, + {file = "safetensors-0.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c3c9f0ca510e0de95abd6424789dcbc879942a3a4e29b0dfa99d9427bf1da75c"}, + {file = "safetensors-0.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:88b4653059c903015284a9722f9a46838c654257173b279c8f6f46dbe80b612d"}, + {file = "safetensors-0.4.1-cp310-none-win32.whl", hash = "sha256:2fe6926110e3d425c4b684a4379b7796fdc26ad7d16922ea1696c8e6ea7e920f"}, + {file = "safetensors-0.4.1-cp310-none-win_amd64.whl", hash = "sha256:a79e16222106b2f5edbca1b8185661477d8971b659a3c814cc6f15181a9b34c8"}, + {file = "safetensors-0.4.1-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:d93321eea0dd7e81b283e47a1d20dee6069165cc158286316d0d06d340de8fe8"}, + {file = "safetensors-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8ff8e41c8037db17de0ea2a23bc684f43eaf623be7d34906fe1ac10985b8365e"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39d36f1d88468a87c437a1bc27c502e71b6ca44c385a9117a9f9ba03a75cc9c6"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7ef010e9afcb4057fb6be3d0a0cfa07aac04fe97ef73fe4a23138d8522ba7c17"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b287304f2b2220d51ccb51fd857761e78bcffbeabe7b0238f8dc36f2edfd9542"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e09000b2599e1836314430f81a3884c66a5cbabdff5d9f175b5d560d4de38d78"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9c80ce0001efa16066358d2dd77993adc25f5a6c61850e4ad096a2232930bce"}, + {file = "safetensors-0.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:413e1f6ac248f7d1b755199a06635e70c3515493d3b41ba46063dec33aa2ebb7"}, + {file = "safetensors-0.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3ac139377cfe71ba04573f1cda66e663b7c3e95be850e9e6c2dd4b5984bd513"}, + {file = "safetensors-0.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:04157d008385bea66d12fe90844a80d4a76dc25ec5230b5bd9a630496d1b7c03"}, + {file = "safetensors-0.4.1-cp311-none-win32.whl", hash = "sha256:5f25297148ec665f0deb8bd67e9564634d8d6841041ab5393ccfe203379ea88b"}, + {file = "safetensors-0.4.1-cp311-none-win_amd64.whl", hash = "sha256:b2f8877990a72ff595507b80f4b69036a9a1986a641f8681adf3425d97d3d2a5"}, + {file = "safetensors-0.4.1-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:eb2c1da1cc39509d1a55620a5f4d14f8911c47a89c926a96e6f4876e864375a3"}, + {file = "safetensors-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:303d2c0415cf15a28f8d7f17379ea3c34c2b466119118a34edd9965983a1a8a6"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb4cb3e37a9b961ddd68e873b29fe9ab4a081e3703412e34aedd2b7a8e9cafd9"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae5497adc68669db2fed7cb2dad81e6a6106e79c9a132da3efdb6af1db1014fa"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b30abd0cddfe959d1daedf92edcd1b445521ebf7ddefc20860ed01486b33c90"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d784a98c492c751f228a4a894c3b8a092ff08b24e73b5568938c28b8c0e8f8df"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e57a5ab08b0ec7a7caf30d2ac79bb30c89168431aca4f8854464bb9461686925"}, + {file = "safetensors-0.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:edcf3121890b5f0616aa5a54683b1a5d2332037b970e507d6bb7841a3a596556"}, + {file = "safetensors-0.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fdb58dee173ef33634c3016c459d671ca12d11e6acf9db008261cbe58107e579"}, + {file = "safetensors-0.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:780dc21eb3fd32ddd0e8c904bdb0290f2454f4ac21ae71e94f9ce72db1900a5a"}, + {file = "safetensors-0.4.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:48901bd540f8a3c1791314bc5c8a170927bf7f6acddb75bf0a263d081a3637d4"}, + {file = "safetensors-0.4.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:3b0b7b2d5976fbed8a05e2bbdce5816a59e6902e9e7c7e07dc723637ed539787"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f69903ff49cb30b9227fb5d029bea276ea20d04b06803877a420c5b1b74c689"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0ddd050e01f3e843aa8c1c27bf68675b8a08e385d0045487af4d70418c3cb356"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a82bc2bd7a9a0e08239bdd6d7774d64121f136add93dfa344a2f1a6d7ef35fa"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ace9e66a40f98a216ad661245782483cf79cf56eb2b112650bb904b0baa9db5"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82cbb8f4d022f2e94498cbefca900698b8ded3d4f85212f47da614001ff06652"}, + {file = "safetensors-0.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:791edc10a3c359a2f5f52d5cddab0df8a45107d91027d86c3d44e57162e5d934"}, + {file = "safetensors-0.4.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:83c2cfbe8c6304f0891e7bb378d56f66d2148972eeb5f747cd8a2246886f0d8c"}, + {file = "safetensors-0.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:04dd14f53f5500eb4c4149674216ba1000670efbcf4b1b5c2643eb244e7882ea"}, + {file = "safetensors-0.4.1-cp37-none-win32.whl", hash = "sha256:d5b3defa74f3723a388bfde2f5d488742bc4879682bd93267c09a3bcdf8f869b"}, + {file = "safetensors-0.4.1-cp37-none-win_amd64.whl", hash = "sha256:25a043cbb59d4f75e9dd87fdf5c009dd8830105a2c57ace49b72167dd9808111"}, + {file = "safetensors-0.4.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:3f6a520af7f2717c5ecba112041f2c8af1ca6480b97bf957aba81ed9642e654c"}, + {file = "safetensors-0.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c3807ac3b16288dffebb3474b555b56fe466baa677dfc16290dcd02dca1ab228"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b58ba13a9e82b4bc3fc221914f6ef237fe6c2adb13cede3ace64d1aacf49610"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dac4bb42f8679aadc59bd91a4c5a1784a758ad49d0912995945cd674089f628e"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:911b48dc09e321a194def3a7431662ff4f03646832f3a8915bbf0f449b8a5fcb"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82571d20288c975c1b30b08deb9b1c3550f36b31191e1e81fae87669a92217d0"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da52ee0dc8ba03348ffceab767bd8230842fdf78f8a996e2a16445747143a778"}, + {file = "safetensors-0.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2536b11ce665834201072e9397404170f93f3be10cca9995b909f023a04501ee"}, + {file = "safetensors-0.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:998fbac99ca956c3a09fe07cc0b35fac26a521fa8865a690686d889f0ff4e4a6"}, + {file = "safetensors-0.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:845be0aafabf2a60c2d482d4e93023fecffe5e5443d801d7a7741bae9de41233"}, + {file = "safetensors-0.4.1-cp38-none-win32.whl", hash = "sha256:ce7a28bc8af685a69d7e869d09d3e180a275e3281e29cf5f1c7319e231932cc7"}, + {file = "safetensors-0.4.1-cp38-none-win_amd64.whl", hash = "sha256:e056fb9e22d118cc546107f97dc28b449d88274207dd28872bd668c86216e4f6"}, + {file = "safetensors-0.4.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:bdc0d039e44a727824639824090bd8869535f729878fa248addd3dc01db30eae"}, + {file = "safetensors-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c1b1d510c7aba71504ece87bf393ea82638df56303e371e5e2cf09d18977dd7"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd0afd95c1e497f520e680ea01e0397c0868a3a3030e128438cf6e9e3fcd671"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f603bdd8deac6726d39f41688ed353c532dd53935234405d79e9eb53f152fbfb"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8a85e3e47e0d4eebfaf9a58b40aa94f977a56050cb5598ad5396a9ee7c087c6"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0ccb5aa0f3be2727117e5631200fbb3a5b3a2b3757545a92647d6dd8be6658f"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d784938534e255473155e4d9f276ee69eb85455b6af1292172c731409bf9adee"}, + {file = "safetensors-0.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a257de175c254d39ccd6a21341cd62eb7373b05c1e618a78096a56a857e0c316"}, + {file = "safetensors-0.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6fd80f7794554091836d4d613d33a7d006e2b8d6ba014d06f97cebdfda744f64"}, + {file = "safetensors-0.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:35803201d980efcf964b75a0a2aee97fe5e9ecc5f3ad676b38fafdfe98e0620d"}, + {file = "safetensors-0.4.1-cp39-none-win32.whl", hash = "sha256:7ff8a36e0396776d3ed9a106fc9a9d7c55d4439ca9a056a24bf66d343041d3e6"}, + {file = "safetensors-0.4.1-cp39-none-win_amd64.whl", hash = "sha256:bfa2e20342b81921b98edba52f8deb68843fa9c95250739a56b52ceda5ea5c61"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ae2d5a31cfb8a973a318f7c4d2cffe0bd1fe753cdf7bb41a1939d45a0a06f964"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1a45dbf03e8334d3a5dc93687d98b6dc422f5d04c7d519dac09b84a3c87dd7c6"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297b359d91126c0f9d4fd17bae3cfa2fe3a048a6971b8db07db746ad92f850c"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bda3d98e2bcece388232cfc551ebf063b55bdb98f65ab54df397da30efc7dcc5"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8934bdfd202ebd0697040a3dff40dd77bc4c5bbf3527ede0532f5e7fb4d970f"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:42c3710cec7e5c764c7999697516370bee39067de0aa089b7e2cfb97ac8c6b20"}, + {file = "safetensors-0.4.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:53134226053e56bd56e73f7db42596e7908ed79f3c9a1016e4c1dade593ac8e5"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:257d59e40a1b367cb544122e7451243d65b33c3f34d822a347f4eea6fdf97fdf"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d54c2f1826e790d1eb2d2512bfd0ee443f0206b423d6f27095057c7f18a0687"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:645b3f1138fce6e818e79d4128afa28f0657430764cc045419c1d069ff93f732"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e9a7ffb1e551c6df51d267f5a751f042b183df22690f6feceac8d27364fd51d7"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:44e230fbbe120de564b64f63ef3a8e6ff02840fa02849d9c443d56252a1646d4"}, + {file = "safetensors-0.4.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:9d16b3b2fcc6fca012c74bd01b5619c655194d3e3c13e4d4d0e446eefa39a463"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:5d95ea4d8b32233910734a904123bdd3979c137c461b905a5ed32511defc075f"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:dab431699b5d45e0ca043bc580651ce9583dda594e62e245b7497adb32e99809"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16d8bbb7344e39cb9d4762e85c21df94ebeb03edac923dd94bb9ed8c10eac070"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1faf5111c66a6ba91f85dff2e36edaaf36e6966172703159daeef330de4ddc7b"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:660ca1d8bff6c7bc7c6b30b9b32df74ef3ab668f5df42cefd7588f0d40feadcb"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ae2f67f04ed0bb2e56fd380a8bd3eef03f609df53f88b6f5c7e89c08e52aae00"}, + {file = "safetensors-0.4.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:c8ed5d2c04cdc1afc6b3c28d59580448ac07732c50d94c15e14670f9c473a2ce"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:2b6a2814278b6660261aa9a9aae524616de9f1ec364e3716d219b6ed8f91801f"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:3cfd1ca35eacc635f0eaa894e5c5ed83ffebd0f95cac298fd430014fa7323631"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4177b456c6b0c722d82429127b5beebdaf07149d265748e97e0a34ff0b3694c8"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:313e8472197bde54e3ec54a62df184c414582979da8f3916981b6a7954910a1b"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fdb4adb76e21bad318210310590de61c9f4adcef77ee49b4a234f9dc48867869"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:1d568628e9c43ca15eb96c217da73737c9ccb07520fafd8a1eba3f2750614105"}, + {file = "safetensors-0.4.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:573b6023a55a2f28085fc0a84e196c779b6cbef4d9e73acea14c8094fee7686f"}, + {file = "safetensors-0.4.1.tar.gz", hash = "sha256:2304658e6ada81a5223225b4efe84748e760c46079bffedf7e321763cafb36c9"}, +] + +[package.extras] +all = ["safetensors[jax]", "safetensors[numpy]", "safetensors[paddlepaddle]", "safetensors[pinned-tf]", "safetensors[quality]", "safetensors[testing]", "safetensors[torch]"] +dev = ["safetensors[all]"] +jax = ["flax (>=0.6.3)", "jax (>=0.3.25)", "jaxlib (>=0.3.25)", "safetensors[numpy]"] +numpy = ["numpy (>=1.21.6)"] +paddlepaddle = ["paddlepaddle (>=2.4.1)", "safetensors[numpy]"] +pinned-tf = ["safetensors[numpy]", "tensorflow (==2.11.0)"] +quality = ["black (==22.3)", "click (==8.0.4)", "flake8 (>=3.8.3)", "isort (>=5.5.4)"] +tensorflow = ["safetensors[numpy]", "tensorflow (>=2.11.0)"] +testing = ["h5py (>=3.7.0)", "huggingface_hub (>=0.12.1)", "hypothesis (>=6.70.2)", "pytest (>=7.2.0)", "pytest-benchmark (>=4.0.0)", "safetensors[numpy]", "setuptools_rust (>=1.5.2)"] +torch = ["safetensors[numpy]", "torch (>=1.10)"] + +[[package]] +name = "sentencepiece" +version = "0.1.99" +description = "SentencePiece python wrapper" +optional = false +python-versions = "*" +files = [ + {file = "sentencepiece-0.1.99-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0eb528e70571b7c02723e5804322469b82fe7ea418c96051d0286c0fa028db73"}, + {file = "sentencepiece-0.1.99-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:77d7fafb2c4e4659cbdf303929503f37a26eabc4ff31d3a79bf1c5a1b338caa7"}, + {file = "sentencepiece-0.1.99-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be9cf5b9e404c245aeb3d3723c737ba7a8f5d4ba262ef233a431fa6c45f732a0"}, + {file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baed1a26464998f9710d20e52607c29ffd4293e7c71c6a1f83f51ad0911ec12c"}, + {file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9832f08bb372d4c8b567612f8eab9e36e268dff645f1c28f9f8e851be705f6d1"}, + {file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:019e7535108e309dae2b253a75834fc3128240aa87c00eb80732078cdc182588"}, + {file = "sentencepiece-0.1.99-cp310-cp310-win32.whl", hash = "sha256:fa16a830416bb823fa2a52cbdd474d1f7f3bba527fd2304fb4b140dad31bb9bc"}, + {file = "sentencepiece-0.1.99-cp310-cp310-win_amd64.whl", hash = "sha256:14b0eccb7b641d4591c3e12ae44cab537d68352e4d3b6424944f0c447d2348d5"}, + {file = "sentencepiece-0.1.99-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6d3c56f24183a1e8bd61043ff2c58dfecdc68a5dd8955dc13bab83afd5f76b81"}, + {file = "sentencepiece-0.1.99-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed6ea1819fd612c989999e44a51bf556d0ef6abfb553080b9be3d347e18bcfb7"}, + {file = "sentencepiece-0.1.99-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2a0260cd1fb7bd8b4d4f39dc2444a8d5fd4e0a0c4d5c899810ef1abf99b2d45"}, + {file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a1abff4d1ff81c77cac3cc6fefa34fa4b8b371e5ee51cb7e8d1ebc996d05983"}, + {file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:004e6a621d4bc88978eecb6ea7959264239a17b70f2cbc348033d8195c9808ec"}, + {file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db361e03342c41680afae5807590bc88aa0e17cfd1a42696a160e4005fcda03b"}, + {file = "sentencepiece-0.1.99-cp311-cp311-win32.whl", hash = "sha256:2d95e19168875b70df62916eb55428a0cbcb834ac51d5a7e664eda74def9e1e0"}, + {file = "sentencepiece-0.1.99-cp311-cp311-win_amd64.whl", hash = "sha256:f90d73a6f81248a909f55d8e6ef56fec32d559e1e9af045f0b0322637cb8e5c7"}, + {file = "sentencepiece-0.1.99-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:62e24c81e74bd87a6e0d63c51beb6527e4c0add67e1a17bac18bcd2076afcfeb"}, + {file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57efcc2d51caff20d9573567d9fd3f854d9efe613ed58a439c78c9f93101384a"}, + {file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a904c46197993bd1e95b93a6e373dca2f170379d64441041e2e628ad4afb16f"}, + {file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d89adf59854741c0d465f0e1525b388c0d174f611cc04af54153c5c4f36088c4"}, + {file = "sentencepiece-0.1.99-cp36-cp36m-win32.whl", hash = "sha256:47c378146928690d1bc106fdf0da768cebd03b65dd8405aa3dd88f9c81e35dba"}, + {file = "sentencepiece-0.1.99-cp36-cp36m-win_amd64.whl", hash = "sha256:9ba142e7a90dd6d823c44f9870abdad45e6c63958eb60fe44cca6828d3b69da2"}, + {file = "sentencepiece-0.1.99-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b7b1a9ae4d7c6f1f867e63370cca25cc17b6f4886729595b885ee07a58d3cec3"}, + {file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0f644c9d4d35c096a538507b2163e6191512460035bf51358794a78515b74f7"}, + {file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c8843d23a0f686d85e569bd6dcd0dd0e0cbc03731e63497ca6d5bacd18df8b85"}, + {file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33e6f690a1caebb4867a2e367afa1918ad35be257ecdb3455d2bbd787936f155"}, + {file = "sentencepiece-0.1.99-cp37-cp37m-win32.whl", hash = "sha256:8a321866c2f85da7beac74a824b4ad6ddc2a4c9bccd9382529506d48f744a12c"}, + {file = "sentencepiece-0.1.99-cp37-cp37m-win_amd64.whl", hash = "sha256:c42f753bcfb7661c122a15b20be7f684b61fc8592c89c870adf52382ea72262d"}, + {file = "sentencepiece-0.1.99-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:85b476406da69c70586f0bb682fcca4c9b40e5059814f2db92303ea4585c650c"}, + {file = "sentencepiece-0.1.99-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cfbcfe13c69d3f87b7fcd5da168df7290a6d006329be71f90ba4f56bc77f8561"}, + {file = "sentencepiece-0.1.99-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:445b0ec381af1cd4eef95243e7180c63d9c384443c16c4c47a28196bd1cda937"}, + {file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6890ea0f2b4703f62d0bf27932e35808b1f679bdb05c7eeb3812b935ba02001"}, + {file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb71af492b0eefbf9f2501bec97bcd043b6812ab000d119eaf4bd33f9e283d03"}, + {file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27b866b5bd3ddd54166bbcbf5c8d7dd2e0b397fac8537991c7f544220b1f67bc"}, + {file = "sentencepiece-0.1.99-cp38-cp38-win32.whl", hash = "sha256:b133e8a499eac49c581c3c76e9bdd08c338cc1939e441fee6f92c0ccb5f1f8be"}, + {file = "sentencepiece-0.1.99-cp38-cp38-win_amd64.whl", hash = "sha256:0eaf3591dd0690a87f44f4df129cf8d05d8a4029b5b6709b489b8e27f9a9bcff"}, + {file = "sentencepiece-0.1.99-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38efeda9bbfb55052d482a009c6a37e52f42ebffcea9d3a98a61de7aee356a28"}, + {file = "sentencepiece-0.1.99-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6c030b081dc1e1bcc9fadc314b19b740715d3d566ad73a482da20d7d46fd444c"}, + {file = "sentencepiece-0.1.99-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:84dbe53e02e4f8a2e45d2ac3e430d5c83182142658e25edd76539b7648928727"}, + {file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b0f55d0a0ee1719b4b04221fe0c9f0c3461dc3dabd77a035fa2f4788eb3ef9a"}, + {file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18e800f206cd235dc27dc749299e05853a4e4332e8d3dfd81bf13d0e5b9007d9"}, + {file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae1c40cda8f9d5b0423cfa98542735c0235e7597d79caf318855cdf971b2280"}, + {file = "sentencepiece-0.1.99-cp39-cp39-win32.whl", hash = "sha256:c84ce33af12ca222d14a1cdd37bd76a69401e32bc68fe61c67ef6b59402f4ab8"}, + {file = "sentencepiece-0.1.99-cp39-cp39-win_amd64.whl", hash = "sha256:350e5c74d739973f1c9643edb80f7cc904dc948578bcb1d43c6f2b173e5d18dd"}, + {file = "sentencepiece-0.1.99.tar.gz", hash = "sha256:189c48f5cb2949288f97ccdb97f0473098d9c3dcf5a3d99d4eabe719ec27297f"}, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +description = "Tool to Detect Surrounding Shell" +optional = false +python-versions = ">=3.7" +files = [ + {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, + {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, +] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "smmap" +version = "5.0.1" +description = "A pure Python implementation of a sliding window memory map manager" +optional = false +python-versions = ">=3.7" +files = [ + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, +] + +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.23" +description = "Database Abstraction Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:638c2c0b6b4661a4fd264f6fb804eccd392745c5887f9317feb64bb7cb03b3ea"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3b5036aa326dc2df50cba3c958e29b291a80f604b1afa4c8ce73e78e1c9f01d"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c14eba45983d2f48f7546bb32b47937ee2cafae353646295f0e99f35b14286ab"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:89a01238fcb9a8af118eaad3ffcc5dedaacbd429dc6fdc43fe430d3a941ff965"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-win32.whl", hash = "sha256:cabafc7837b6cec61c0e1e5c6d14ef250b675fa9c3060ed8a7e38653bd732ff8"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-win_amd64.whl", hash = "sha256:87a3d6b53c39cd173990de2f5f4b83431d534a74f0e2f88bd16eabb5667e65c6"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d5578e6863eeb998980c212a39106ea139bdc0b3f73291b96e27c929c90cd8e1"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62d9e964870ea5ade4bc870ac4004c456efe75fb50404c03c5fd61f8bc669a72"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c80c38bd2ea35b97cbf7c21aeb129dcbebbf344ee01a7141016ab7b851464f8e"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75eefe09e98043cff2fb8af9796e20747ae870c903dc61d41b0c2e55128f958d"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd45a5b6c68357578263d74daab6ff9439517f87da63442d244f9f23df56138d"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a86cb7063e2c9fb8e774f77fbf8475516d270a3e989da55fa05d08089d77f8c4"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-win32.whl", hash = "sha256:b41f5d65b54cdf4934ecede2f41b9c60c9f785620416e8e6c48349ab18643855"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-win_amd64.whl", hash = "sha256:9ca922f305d67605668e93991aaf2c12239c78207bca3b891cd51a4515c72e22"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0f7fb0c7527c41fa6fcae2be537ac137f636a41b4c5a4c58914541e2f436b45"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7c424983ab447dab126c39d3ce3be5bee95700783204a72549c3dceffe0fc8f4"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f508ba8f89e0a5ecdfd3761f82dda2a3d7b678a626967608f4273e0dba8f07ac"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6463aa765cf02b9247e38b35853923edbf2f6fd1963df88706bc1d02410a5577"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e599a51acf3cc4d31d1a0cf248d8f8d863b6386d2b6782c5074427ebb7803bda"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd54601ef9cc455a0c61e5245f690c8a3ad67ddb03d3b91c361d076def0b4c60"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-win32.whl", hash = "sha256:42d0b0290a8fb0165ea2c2781ae66e95cca6e27a2fbe1016ff8db3112ac1e846"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-win_amd64.whl", hash = "sha256:227135ef1e48165f37590b8bfc44ed7ff4c074bf04dc8d6f8e7f1c14a94aa6ca"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:14aebfe28b99f24f8a4c1346c48bc3d63705b1f919a24c27471136d2f219f02d"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e983fa42164577d073778d06d2cc5d020322425a509a08119bdcee70ad856bf"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e0dc9031baa46ad0dd5a269cb7a92a73284d1309228be1d5935dac8fb3cae24"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5f94aeb99f43729960638e7468d4688f6efccb837a858b34574e01143cf11f89"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:63bfc3acc970776036f6d1d0e65faa7473be9f3135d37a463c5eba5efcdb24c8"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-win32.whl", hash = "sha256:f48ed89dd11c3c586f45e9eec1e437b355b3b6f6884ea4a4c3111a3358fd0c18"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-win_amd64.whl", hash = "sha256:1e018aba8363adb0599e745af245306cb8c46b9ad0a6fc0a86745b6ff7d940fc"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:64ac935a90bc479fee77f9463f298943b0e60005fe5de2aa654d9cdef46c54df"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c4722f3bc3c1c2fcc3702dbe0016ba31148dd6efcd2a2fd33c1b4897c6a19693"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4af79c06825e2836de21439cb2a6ce22b2ca129bad74f359bddd173f39582bf5"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:683ef58ca8eea4747737a1c35c11372ffeb84578d3aab8f3e10b1d13d66f2bc4"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d4041ad05b35f1f4da481f6b811b4af2f29e83af253bf37c3c4582b2c68934ab"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aeb397de65a0a62f14c257f36a726945a7f7bb60253462e8602d9b97b5cbe204"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-win32.whl", hash = "sha256:42ede90148b73fe4ab4a089f3126b2cfae8cfefc955c8174d697bb46210c8306"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-win_amd64.whl", hash = "sha256:964971b52daab357d2c0875825e36584d58f536e920f2968df8d581054eada4b"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:616fe7bcff0a05098f64b4478b78ec2dfa03225c23734d83d6c169eb41a93e55"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e680527245895aba86afbd5bef6c316831c02aa988d1aad83c47ffe92655e74"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4895a63e2c271ffc7a81ea424b94060f7b3b03b4ea0cd58ab5bb676ed02f4221"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:967c0b71156f793e6662dd839da54f884631755275ed71f1539c95bbada9aaab"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-win32.whl", hash = "sha256:0a8c6aa506893e25a04233bc721c6b6cf844bafd7250535abb56cb6cc1368884"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-win_amd64.whl", hash = "sha256:f3420d00d2cb42432c1d0e44540ae83185ccbbc67a6054dcc8ab5387add6620b"}, + {file = "SQLAlchemy-2.0.23-py3-none-any.whl", hash = "sha256:31952bbc527d633b9479f5f81e8b9dfada00b91d6baba021a869095f1a97006d"}, + {file = "SQLAlchemy-2.0.23.tar.gz", hash = "sha256:c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69"}, +] + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} +typing-extensions = ">=4.2.0" + +[package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx-oracle (>=8)"] +oracle-oracledb = ["oracledb (>=1.0.1)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.29.1)"] +postgresql-psycopg = ["psycopg (>=3.0.7)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] +pymysql = ["pymysql"] +sqlcipher = ["sqlcipher3-binary"] + +[[package]] +name = "sse-starlette" +version = "1.8.2" +description = "SSE plugin for Starlette" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sse_starlette-1.8.2-py3-none-any.whl", hash = "sha256:70cc7ef5aca4abe8a25dec1284cce4fe644dd7bf0c406d3e852e516092b7f849"}, + {file = "sse_starlette-1.8.2.tar.gz", hash = "sha256:e0f9b8dec41adc092a0a6e0694334bd3cfd3084c44c497a6ebc1fb4bdd919acd"}, +] + +[package.dependencies] +anyio = "*" +fastapi = "*" +starlette = "*" +uvicorn = "*" + +[[package]] +name = "starlette" +version = "0.27.0" +description = "The little ASGI library that shines." +optional = false +python-versions = ">=3.7" +files = [ + {file = "starlette-0.27.0-py3-none-any.whl", hash = "sha256:918416370e846586541235ccd38a474c08b80443ed31c578a418e2209b3eef91"}, + {file = "starlette-0.27.0.tar.gz", hash = "sha256:6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75"}, +] + +[package.dependencies] +anyio = ">=3.4.0,<5" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"] + +[[package]] +name = "sympy" +version = "1.12" +description = "Computer algebra system (CAS) in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, + {file = "sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, +] + +[package.dependencies] +mpmath = ">=0.19" + +[[package]] +name = "tenacity" +version = "8.2.3" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, + {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, +] + +[package.extras] +doc = ["reno", "sphinx", "tornado (>=4.5)"] + +[[package]] +name = "tiktoken" +version = "0.5.1" +description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tiktoken-0.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2b0bae3fd56de1c0a5874fb6577667a3c75bf231a6cef599338820210c16e40a"}, + {file = "tiktoken-0.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e529578d017045e2f0ed12d2e00e7e99f780f477234da4aae799ec4afca89f37"}, + {file = "tiktoken-0.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edd2ffbb789712d83fee19ab009949f998a35c51ad9f9beb39109357416344ff"}, + {file = "tiktoken-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4c73d47bdc1a3f1f66ffa019af0386c48effdc6e8797e5e76875f6388ff72e9"}, + {file = "tiktoken-0.5.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:46b8554b9f351561b1989157c6bb54462056f3d44e43aa4e671367c5d62535fc"}, + {file = "tiktoken-0.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:92ed3bbf71a175a6a4e5fbfcdb2c422bdd72d9b20407e00f435cf22a68b4ea9b"}, + {file = "tiktoken-0.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:714efb2f4a082635d9f5afe0bf7e62989b72b65ac52f004eb7ac939f506c03a4"}, + {file = "tiktoken-0.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a10488d1d1a5f9c9d2b2052fdb4cf807bba545818cb1ef724a7f5d44d9f7c3d4"}, + {file = "tiktoken-0.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8079ac065572fe0e7c696dbd63e1fdc12ce4cdca9933935d038689d4732451df"}, + {file = "tiktoken-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ef730db4097f5b13df8d960f7fdda2744fe21d203ea2bb80c120bb58661b155"}, + {file = "tiktoken-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:426e7def5f3f23645dada816be119fa61e587dfb4755de250e136b47a045c365"}, + {file = "tiktoken-0.5.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:323cec0031358bc09aa965c2c5c1f9f59baf76e5b17e62dcc06d1bb9bc3a3c7c"}, + {file = "tiktoken-0.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5abd9436f02e2c8eda5cce2ff8015ce91f33e782a7423de2a1859f772928f714"}, + {file = "tiktoken-0.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:1fe99953b63aabc0c9536fbc91c3c9000d78e4755edc28cc2e10825372046a2d"}, + {file = "tiktoken-0.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dcdc630461927718b317e6f8be7707bd0fc768cee1fdc78ddaa1e93f4dc6b2b1"}, + {file = "tiktoken-0.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1f2b3b253e22322b7f53a111e1f6d7ecfa199b4f08f3efdeb0480f4033b5cdc6"}, + {file = "tiktoken-0.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:43ce0199f315776dec3ea7bf86f35df86d24b6fcde1babd3e53c38f17352442f"}, + {file = "tiktoken-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a84657c083d458593c0235926b5c993eec0b586a2508d6a2020556e5347c2f0d"}, + {file = "tiktoken-0.5.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c008375c0f3d97c36e81725308699116cd5804fdac0f9b7afc732056329d2790"}, + {file = "tiktoken-0.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:779c4dea5edd1d3178734d144d32231e0b814976bec1ec09636d1003ffe4725f"}, + {file = "tiktoken-0.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:b5dcfcf9bfb798e86fbce76d40a1d5d9e3f92131aecfa3d1e5c9ea1a20f1ef1a"}, + {file = "tiktoken-0.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b180a22db0bbcc447f691ffc3cf7a580e9e0587d87379e35e58b826ebf5bc7b"}, + {file = "tiktoken-0.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b756a65d98b7cf760617a6b68762a23ab8b6ef79922be5afdb00f5e8a9f4e76"}, + {file = "tiktoken-0.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba9873c253ca1f670e662192a0afcb72b41e0ba3e730f16c665099e12f4dac2d"}, + {file = "tiktoken-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74c90d2be0b4c1a2b3f7dde95cd976757817d4df080d6af0ee8d461568c2e2ad"}, + {file = "tiktoken-0.5.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:709a5220891f2b56caad8327fab86281787704931ed484d9548f65598dea9ce4"}, + {file = "tiktoken-0.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d5a187ff9c786fae6aadd49f47f019ff19e99071dc5b0fe91bfecc94d37c686"}, + {file = "tiktoken-0.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:e21840043dbe2e280e99ad41951c00eff8ee3b63daf57cd4c1508a3fd8583ea2"}, + {file = "tiktoken-0.5.1.tar.gz", hash = "sha256:27e773564232004f4f810fd1f85236673ec3a56ed7f1206fc9ed8670ebedb97a"}, +] + +[package.dependencies] +regex = ">=2022.1.18" +requests = ">=2.26.0" + +[package.extras] +blobfile = ["blobfile (>=2)"] + +[[package]] +name = "timm" +version = "0.9.12" +description = "PyTorch Image Models" +optional = false +python-versions = ">=3.7" +files = [ + {file = "timm-0.9.12-py3-none-any.whl", hash = "sha256:2a828afac5b710a80ec66d0f85807e171e342faf5c0703b33102d8aa206f19dc"}, + {file = "timm-0.9.12.tar.gz", hash = "sha256:9121d1cf320f7f32490d893340fd33117bda0a0270eb8282dfd52ae5fd3e1af6"}, +] + +[package.dependencies] +huggingface-hub = "*" +pyyaml = "*" +safetensors = "*" +torch = ">=1.7" +torchvision = "*" + +[[package]] +name = "tokenizers" +version = "0.15.0" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tokenizers-0.15.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cd3cd0299aaa312cd2988957598f80becd04d5a07338741eca076057a2b37d6e"}, + {file = "tokenizers-0.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a922c492c721744ee175f15b91704be2d305569d25f0547c77cd6c9f210f9dc"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:331dd786d02fc38698f835fff61c99480f98b73ce75a4c65bd110c9af5e4609a"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88dd0961c437d413ab027f8b115350c121d49902cfbadf08bb8f634b15fa1814"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6fdcc55339df7761cd52e1fbe8185d3b3963bc9e3f3545faa6c84f9e8818259a"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1480b0051d8ab5408e8e4db2dc832f7082ea24aa0722c427bde2418c6f3bd07"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9855e6c258918f9cf62792d4f6ddfa6c56dccd8c8118640f867f6393ecaf8bd7"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de9529fe75efcd54ba8d516aa725e1851df9199f0669b665c55e90df08f5af86"}, + {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8edcc90a36eab0705fe9121d6c77c6e42eeef25c7399864fd57dfb27173060bf"}, + {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ae17884aafb3e94f34fb7cfedc29054f5f54e142475ebf8a265a4e388fee3f8b"}, + {file = "tokenizers-0.15.0-cp310-none-win32.whl", hash = "sha256:9a3241acdc9b44cff6e95c4a55b9be943ef3658f8edb3686034d353734adba05"}, + {file = "tokenizers-0.15.0-cp310-none-win_amd64.whl", hash = "sha256:4b31807cb393d6ea31926b307911c89a1209d5e27629aa79553d1599c8ffdefe"}, + {file = "tokenizers-0.15.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:af7e9be8c05d30bb137b9fd20f9d99354816599e5fd3d58a4b1e28ba3b36171f"}, + {file = "tokenizers-0.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c3d7343fa562ea29661783344a2d83662db0d3d17a6fa6a403cac8e512d2d9fd"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:32371008788aeeb0309a9244809a23e4c0259625e6b74a103700f6421373f395"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9db64c7c9954fbae698884c5bb089764edc549731e5f9b7fa1dd4e4d78d77f"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dbed5944c31195514669cf6381a0d8d47f164943000d10f93d6d02f0d45c25e0"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aab16c4a26d351d63e965b0c792f5da7227a37b69a6dc6d922ff70aa595b1b0c"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c2b60b12fdd310bf85ce5d7d3f823456b9b65eed30f5438dd7761879c495983"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0344d6602740e44054a9e5bbe9775a5e149c4dddaff15959bb07dcce95a5a859"}, + {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4525f6997d81d9b6d9140088f4f5131f6627e4c960c2c87d0695ae7304233fc3"}, + {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65975094fef8cc68919644936764efd2ce98cf1bacbe8db2687155d2b0625bee"}, + {file = "tokenizers-0.15.0-cp311-none-win32.whl", hash = "sha256:ff5d2159c5d93015f5a4542aac6c315506df31853123aa39042672031768c301"}, + {file = "tokenizers-0.15.0-cp311-none-win_amd64.whl", hash = "sha256:2dd681b53cf615e60a31a115a3fda3980e543d25ca183797f797a6c3600788a3"}, + {file = "tokenizers-0.15.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c9cce6ee149a3d703f86877bc2a6d997e34874b2d5a2d7839e36b2273f31d3d9"}, + {file = "tokenizers-0.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a0a94bc3370e6f1cc8a07a8ae867ce13b7c1b4291432a773931a61f256d44ea"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:309cfcccfc7e502cb1f1de2c9c1c94680082a65bfd3a912d5a5b2c90c677eb60"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8413e994dd7d875ab13009127fc85633916c71213917daf64962bafd488f15dc"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d0ebf9430f901dbdc3dcb06b493ff24a3644c9f88c08e6a1d6d0ae2228b9b818"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10361e9c7864b22dd791ec5126327f6c9292fb1d23481d4895780688d5e298ac"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:babe42635b8a604c594bdc56d205755f73414fce17ba8479d142a963a6c25cbc"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3768829861e964c7a4556f5f23307fce6a23872c2ebf030eb9822dbbbf7e9b2a"}, + {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9c91588a630adc88065e1c03ac6831e3e2112558869b9ebcb2b8afd8a14c944d"}, + {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:77606994e793ca54ecf3a3619adc8a906a28ca223d9354b38df41cb8766a0ed6"}, + {file = "tokenizers-0.15.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:6fe143939f3b596681922b2df12a591a5b010e7dcfbee2202482cd0c1c2f2459"}, + {file = "tokenizers-0.15.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:b7bee0f1795e3e3561e9a557061b1539e5255b8221e3f928f58100282407e090"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5d37e7f4439b4c46192ab4f2ff38ab815e4420f153caa13dec9272ef14403d34"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caadf255cf7f951b38d10097836d1f3bcff4aeaaffadfdf748bab780bf5bff95"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:05accb9162bf711a941b1460b743d62fec61c160daf25e53c5eea52c74d77814"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26a2ef890740127cb115ee5260878f4a677e36a12831795fd7e85887c53b430b"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e54c5f26df14913620046b33e822cb3bcd091a332a55230c0e63cc77135e2169"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669b8ed653a578bcff919566631156f5da3aab84c66f3c0b11a6281e8b4731c7"}, + {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0ea480d943297df26f06f508dab6e012b07f42bf3dffdd36e70799368a5f5229"}, + {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bc80a0a565ebfc7cd89de7dd581da8c2b3238addfca6280572d27d763f135f2f"}, + {file = "tokenizers-0.15.0-cp37-none-win32.whl", hash = "sha256:cdd945e678bbdf4517d5d8de66578a5030aeefecdb46f5320b034de9cad8d4dd"}, + {file = "tokenizers-0.15.0-cp37-none-win_amd64.whl", hash = "sha256:1ab96ab7dc706e002c32b2ea211a94c1c04b4f4de48354728c3a6e22401af322"}, + {file = "tokenizers-0.15.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:f21c9eb71c9a671e2a42f18b456a3d118e50c7f0fc4dd9fa8f4eb727fea529bf"}, + {file = "tokenizers-0.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a5f4543a35889679fc3052086e69e81880b2a5a28ff2a52c5a604be94b77a3f"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f8aa81afec893e952bd39692b2d9ef60575ed8c86fce1fd876a06d2e73e82dca"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1574a5a4af22c3def93fe8fe4adcc90a39bf5797ed01686a4c46d1c3bc677d2f"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c7982fd0ec9e9122d03b209dac48cebfea3de0479335100ef379a9a959b9a5a"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d16b647032df2ce2c1f9097236e046ea9fedd969b25637b9d5d734d78aa53b"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b3cdf29e6f9653da330515dc8fa414be5a93aae79e57f8acc50d4028dd843edf"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7286f3df10de840867372e3e64b99ef58c677210e3ceb653cd0e740a5c53fe78"}, + {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aabc83028baa5a36ce7a94e7659250f0309c47fa4a639e5c2c38e6d5ea0de564"}, + {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:72f78b0e0e276b1fc14a672fa73f3acca034ba8db4e782124a2996734a9ba9cf"}, + {file = "tokenizers-0.15.0-cp38-none-win32.whl", hash = "sha256:9680b0ecc26e7e42f16680c1aa62e924d58d1c2dd992707081cc10a374896ea2"}, + {file = "tokenizers-0.15.0-cp38-none-win_amd64.whl", hash = "sha256:f17cbd88dab695911cbdd385a5a7e3709cc61dff982351f5d1b5939f074a2466"}, + {file = "tokenizers-0.15.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:3661862df7382c5eb23ac4fbf7c75e69b02dc4f5784e4c5a734db406b5b24596"}, + {file = "tokenizers-0.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3045d191dad49647f5a5039738ecf1c77087945c7a295f7bcf051c37067e883"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a9fcaad9ab0801f14457d7c820d9f246b5ab590c407fc6b073819b1573097aa7"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79f17027f24fe9485701c8dbb269b9c713954ec3bdc1e7075a66086c0c0cd3c"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:01a3aa332abc4bee7640563949fcfedca4de8f52691b3b70f2fc6ca71bfc0f4e"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05b83896a893cdfedad8785250daa3ba9f0504848323471524d4783d7291661e"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbbf2489fcf25d809731ba2744ff278dd07d9eb3f8b7482726bd6cae607073a4"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab806ad521a5e9de38078b7add97589c313915f6f5fec6b2f9f289d14d607bd6"}, + {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4a522612d5c88a41563e3463226af64e2fa00629f65cdcc501d1995dd25d23f5"}, + {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e58a38c4e6075810bdfb861d9c005236a72a152ebc7005941cc90d1bbf16aca9"}, + {file = "tokenizers-0.15.0-cp39-none-win32.whl", hash = "sha256:b8034f1041fd2bd2b84ff9f4dc4ae2e1c3b71606820a9cd5c562ebd291a396d1"}, + {file = "tokenizers-0.15.0-cp39-none-win_amd64.whl", hash = "sha256:edde9aa964145d528d0e0dbf14f244b8a85ebf276fb76869bc02e2530fa37a96"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:309445d10d442b7521b98083dc9f0b5df14eca69dbbfebeb98d781ee2cef5d30"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d3125a6499226d4d48efc54f7498886b94c418e93a205b673bc59364eecf0804"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ed56ddf0d54877bb9c6d885177db79b41576e61b5ef6defeb579dcb803c04ad5"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b22cd714706cc5b18992a232b023f736e539495f5cc61d2d28d176e55046f6c"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac2719b1e9bc8e8e7f6599b99d0a8e24f33d023eb8ef644c0366a596f0aa926"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:85ddae17570ec7e5bfaf51ffa78d044f444a8693e1316e1087ee6150596897ee"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:76f1bed992e396bf6f83e3df97b64ff47885e45e8365f8983afed8556a0bc51f"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3bb0f4df6dce41a1c7482087b60d18c372ef4463cb99aa8195100fcd41e0fd64"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:22c27672c27a059a5f39ff4e49feed8c7f2e1525577c8a7e3978bd428eb5869d"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78104f5d035c9991f92831fc0efe9e64a05d4032194f2a69f67aaa05a4d75bbb"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a40b73dc19d82c3e3ffb40abdaacca8fbc95eeb26c66b7f9f860aebc07a73998"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d801d1368188c74552cd779b1286e67cb9fd96f4c57a9f9a2a09b6def9e1ab37"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82641ffb13a4da1293fcc9f437d457647e60ed0385a9216cd135953778b3f0a1"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:160f9d1810f2c18fffa94aa98bf17632f6bd2dabc67fcb01a698ca80c37d52ee"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:8d7d6eea831ed435fdeeb9bcd26476226401d7309d115a710c65da4088841948"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f6456bec6c557d63d8ec0023758c32f589e1889ed03c055702e84ce275488bed"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eef39a502fad3bf104b9e1906b4fb0cee20e44e755e51df9a98f8922c3bf6d4"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1e4664c5b797e093c19b794bbecc19d2367e782b4a577d8b7c1821db5dc150d"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ca003fb5f3995ff5cf676db6681b8ea5d54d3b30bea36af1120e78ee1a4a4cdf"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7f17363141eb0c53752c89e10650b85ef059a52765d0802ba9613dbd2d21d425"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:8a765db05581c7d7e1280170f2888cda351760d196cc059c37ea96f121125799"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2a0dd641a72604486cd7302dd8f87a12c8a9b45e1755e47d2682733f097c1af5"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a1a3c973e4dc97797fc19e9f11546c95278ffc55c4492acb742f69e035490bc"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4fab75642aae4e604e729d6f78e0addb9d7e7d49e28c8f4d16b24da278e5263"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65f80be77f6327a86d8fd35a4467adcfe6174c159b4ab52a1a8dd4c6f2d7d9e1"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a8da7533dbe66b88afd430c56a2f2ce1fd82e2681868f857da38eeb3191d7498"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa8eb4584fc6cbe6a84d7a7864be3ed28e23e9fd2146aa8ef1814d579df91958"}, + {file = "tokenizers-0.15.0.tar.gz", hash = "sha256:10c7e6e7b4cabd757da59e93f5f8d1126291d16f8b54f28510825ef56a3e5d0e"}, +] + +[package.dependencies] +huggingface_hub = ">=0.16.4,<1.0" + +[package.extras] +dev = ["tokenizers[testing]"] +docs = ["setuptools_rust", "sphinx", "sphinx_rtd_theme"] +testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] + +[[package]] +name = "tomlkit" +version = "0.12.3" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, + {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, +] + +[[package]] +name = "torch" +version = "2.1.1" +description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "torch-2.1.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:5ebc43f5355a9b7be813392b3fb0133991f0380f6f0fcc8218d5468dc45d1071"}, + {file = "torch-2.1.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:84fefd63356416c0cd20578637ccdbb82164993400ed17b57c951dd6376dcee8"}, + {file = "torch-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:0a7a9da0c324409bcb5a7bdad1b4e94e936d21c2590aaa7ac2f63968da8c62f7"}, + {file = "torch-2.1.1-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:1e1e5faddd43a8f2c0e0e22beacd1e235a2e447794d807483c94a9e31b54a758"}, + {file = "torch-2.1.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:e76bf3c5c354874f1da465c852a2fb60ee6cbce306e935337885760f080f9baa"}, + {file = "torch-2.1.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:98fea993639b0bb432dfceb7b538f07c0f1c33386d63f635219f49254968c80f"}, + {file = "torch-2.1.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:61b51b33c61737c287058b0c3061e6a9d3c363863e4a094f804bc486888a188a"}, + {file = "torch-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:1d70920da827e2276bf07f7ec46958621cad18d228c97da8f9c19638474dbd52"}, + {file = "torch-2.1.1-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:a70593806f1d7e6b53657d96810518da0f88ef2608c98a402955765b8c79d52c"}, + {file = "torch-2.1.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:e312f7e82e49565f7667b0bbf9559ab0c597063d93044740781c02acd5a87978"}, + {file = "torch-2.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:1e3cbecfa5a7314d828f4a37b0c286714dc9aa2e69beb7a22f7aca76567ed9f4"}, + {file = "torch-2.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:9ca0fcbf3d5ba644d6a8572c83a9abbdf5f7ff575bc38529ef6c185a3a71bde9"}, + {file = "torch-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:2dc9f312fc1fa0d61a565a0292ad73119d4b74c9f8b5031b55f8b4722abca079"}, + {file = "torch-2.1.1-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:d56b032176458e2af4709627bbd2c20fe2917eff8cd087a7fe313acccf5ce2f1"}, + {file = "torch-2.1.1-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:29e3b90a8c281f6660804a939d1f4218604c80162e521e1e6d8c8557325902a0"}, + {file = "torch-2.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:bd95cee8511584b67ddc0ba465c3f1edeb5708d833ee02af1206b4486f1d9096"}, + {file = "torch-2.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b31230bd058424e56dba7f899280dbc6ac8b9948e43902e0c84a44666b1ec151"}, + {file = "torch-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:403f1095e665e4f35971b43797a920725b8b205723aa68254a4050c6beca29b6"}, + {file = "torch-2.1.1-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:715b50d8c1de5da5524a68287eb000f73e026e74d5f6b12bc450ef6995fcf5f9"}, + {file = "torch-2.1.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:db67e8725c76f4c7f4f02e7551bb16e81ba1a1912867bc35d7bb96d2be8c78b4"}, +] + +[package.dependencies] +filelock = "*" +fsspec = "*" +jinja2 = "*" +networkx = "*" +nvidia-cublas-cu12 = {version = "12.1.3.1", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-cupti-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-nvrtc-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cuda-runtime-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cudnn-cu12 = {version = "8.9.2.26", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cufft-cu12 = {version = "11.0.2.54", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-curand-cu12 = {version = "10.3.2.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cusolver-cu12 = {version = "11.4.5.107", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cusparse-cu12 = {version = "12.1.0.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nccl-cu12 = {version = "2.18.1", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nvtx-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +sympy = "*" +triton = {version = "2.1.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +typing-extensions = "*" + +[package.extras] +dynamo = ["jinja2"] +opt-einsum = ["opt-einsum (>=3.3)"] + +[[package]] +name = "torchvision" +version = "0.16.1" +description = "image and video datasets and models for torch deep learning" +optional = false +python-versions = ">=3.8" +files = [ + {file = "torchvision-0.16.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:987132795e5c037cb74e7be35a693999fdb2f603152266ee15b80206e83a5b0c"}, + {file = "torchvision-0.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:25da6a7b22ea0348f62c45ec0daf157731096babcae65d222404081af96e085c"}, + {file = "torchvision-0.16.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:c82e291e674a18b67f92ddb476ae18498fb46d7032ae914f3fda90c955e7d86f"}, + {file = "torchvision-0.16.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:632887b22e67ce32a3ede806b868bba4057601e46d680de14b32a391eac1b483"}, + {file = "torchvision-0.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:92c76a5092b4033efdb183b11fa4854a7630e23c46f4a1c3ffd70c30cb5be4fc"}, + {file = "torchvision-0.16.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:4aea5cf491c6c21b1cbdbb1bf2a3838a59d4db93ad5f49019a6564d3ca7127c7"}, + {file = "torchvision-0.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3391757167637ace3ef33a67c9d5ef86b1f8cbd93eaa5bad45eebcf266ea6089"}, + {file = "torchvision-0.16.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:4f9d5b192b336982e6dbe32c070b05606f0b53e87d722ae332a02909fbf988ed"}, + {file = "torchvision-0.16.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:3d34601614958c4e30f53ec0eb7bf3f282ee72bb747734be2d75422831a43384"}, + {file = "torchvision-0.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:e11af530585574eb5ca837b8f151bcdd57c10e35c3af56c76a10f3281d2a2f2c"}, + {file = "torchvision-0.16.1-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:4f2cad621fb96cf10e29af93e16c98b3226bdd53ae712b57e873c3deaf061617"}, + {file = "torchvision-0.16.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1d614b3c9e2de9cd75cc0e4e1923fcfbbcd9fdb9f08a0bbbbf7e135e4a0a1cfa"}, + {file = "torchvision-0.16.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:73271e930501a008fe24ba38945b2a75b25a6098f4c2f4402e39a9d0dd305ca6"}, + {file = "torchvision-0.16.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fab67ddc4809fcc2a04610b13cac5193b9d3be2896b77538bfdff401b13022e5"}, + {file = "torchvision-0.16.1-cp38-cp38-win_amd64.whl", hash = "sha256:13782d574033efec6646d1a2f5d85f4c59fcf3f403367bb407b15df07adc87e0"}, + {file = "torchvision-0.16.1-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:f14d201c37176dc4106eec76b229d6585a1505266b8cea99d3366fd38897b7c0"}, + {file = "torchvision-0.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a15e88a93a7501cc75b761a2dcd07aaedaaf9cbfaf48c8affa8c98989ecbb19d"}, + {file = "torchvision-0.16.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:72fde5fdb462e66ebe25ae42d2ee11434cbc395f74cad0d3b22cf60524345cc5"}, + {file = "torchvision-0.16.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:153f753f14eba58969cdc86360893a57f8bf63f8136c7d1cd4388108560b5446"}, + {file = "torchvision-0.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:75e33b198b1265f61d822aa66d646ec3df67a712470ffec1e0c37ff46d4103c1"}, +] + +[package.dependencies] +numpy = "*" +pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" +requests = "*" +torch = "2.1.1" + +[package.extras] +scipy = ["scipy"] + +[[package]] +name = "tqdm" +version = "4.66.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + +[[package]] +name = "triton" +version = "2.1.0" +description = "A language and compiler for custom Deep Learning operations" +optional = false +python-versions = "*" +files = [ + {file = "triton-2.1.0-0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:66439923a30d5d48399b08a9eae10370f6c261a5ec864a64983bae63152d39d7"}, + {file = "triton-2.1.0-0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:919b06453f0033ea52c13eaf7833de0e57db3178d23d4e04f9fc71c4f2c32bf8"}, + {file = "triton-2.1.0-0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ae4bb8a91de790e1866405211c4d618379781188f40d5c4c399766914e84cd94"}, + {file = "triton-2.1.0-0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39f6fb6bdccb3e98f3152e3fbea724f1aeae7d749412bbb1fa9c441d474eba26"}, + {file = "triton-2.1.0-0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21544e522c02005a626c8ad63d39bdff2f31d41069592919ef281e964ed26446"}, + {file = "triton-2.1.0-0-pp37-pypy37_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:143582ca31dd89cd982bd3bf53666bab1c7527d41e185f9e3d8a3051ce1b663b"}, + {file = "triton-2.1.0-0-pp38-pypy38_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:82fc5aeeedf6e36be4e4530cbdcba81a09d65c18e02f52dc298696d45721f3bd"}, + {file = "triton-2.1.0-0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:81a96d110a738ff63339fc892ded095b31bd0d205e3aace262af8400d40b6fa8"}, +] + +[package.dependencies] +filelock = "*" + +[package.extras] +build = ["cmake (>=3.18)", "lit"] +tests = ["autopep8", "flake8", "isort", "numpy", "pytest", "scipy (>=1.7.1)"] +tutorials = ["matplotlib", "pandas", "tabulate"] + +[[package]] +name = "typer" +version = "0.9.0" +description = "Typer, build great CLIs. Easy to code. Based on Python type hints." +optional = false +python-versions = ">=3.6" +files = [ + {file = "typer-0.9.0-py3-none-any.whl", hash = "sha256:5d96d986a21493606a358cae4461bd8cdf83cbf33a5aa950ae629ca3b51467ee"}, + {file = "typer-0.9.0.tar.gz", hash = "sha256:50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2"}, +] + +[package.dependencies] +click = ">=7.1.1,<9.0.0" +colorama = {version = ">=0.4.3,<0.5.0", optional = true, markers = "extra == \"all\""} +rich = {version = ">=10.11.0,<14.0.0", optional = true, markers = "extra == \"all\""} +shellingham = {version = ">=1.3.0,<2.0.0", optional = true, markers = "extra == \"all\""} +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["colorama (>=0.4.3,<0.5.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] +dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2.17.0,<3.0.0)"] +doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"] +test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] + +[[package]] +name = "typing-extensions" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, +] + +[[package]] +name = "typing-inspect" +version = "0.9.0" +description = "Runtime inspection utilities for typing module." +optional = false +python-versions = "*" +files = [ + {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"}, + {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"}, +] + +[package.dependencies] +mypy-extensions = ">=0.3.0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "urllib3" +version = "2.1.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "uvicorn" +version = "0.23.2" +description = "The lightning-fast ASGI server." +optional = false +python-versions = ">=3.8" +files = [ + {file = "uvicorn-0.23.2-py3-none-any.whl", hash = "sha256:1f9be6558f01239d4fdf22ef8126c39cb1ad0addf76c40e760549d2c2f43ab53"}, + {file = "uvicorn-0.23.2.tar.gz", hash = "sha256:4d3cc12d7727ba72b64d12d3cc7743124074c0a69f7b201512fc50c3e3f1569a"}, +] + +[package.dependencies] +click = ">=7.0" +colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} +h11 = ">=0.8" +httptools = {version = ">=0.5.0", optional = true, markers = "extra == \"standard\""} +python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} + +[package.extras] +standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] + +[[package]] +name = "uvloop" +version = "0.19.0" +description = "Fast implementation of asyncio event loop on top of libuv" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, + {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, +] + +[package.extras] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] + +[[package]] +name = "watchfiles" +version = "0.21.0" +description = "Simple, modern and high performance file watching and code reload in python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "watchfiles-0.21.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:27b4035013f1ea49c6c0b42d983133b136637a527e48c132d368eb19bf1ac6aa"}, + {file = "watchfiles-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c81818595eff6e92535ff32825f31c116f867f64ff8cdf6562cd1d6b2e1e8f3e"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6c107ea3cf2bd07199d66f156e3ea756d1b84dfd43b542b2d870b77868c98c03"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d9ac347653ebd95839a7c607608703b20bc07e577e870d824fa4801bc1cb124"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5eb86c6acb498208e7663ca22dbe68ca2cf42ab5bf1c776670a50919a56e64ab"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f564bf68404144ea6b87a78a3f910cc8de216c6b12a4cf0b27718bf4ec38d303"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d0f32ebfaa9c6011f8454994f86108c2eb9c79b8b7de00b36d558cadcedaa3d"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d45d9b699ecbac6c7bd8e0a2609767491540403610962968d258fd6405c17c"}, + {file = "watchfiles-0.21.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:aff06b2cac3ef4616e26ba17a9c250c1fe9dd8a5d907d0193f84c499b1b6e6a9"}, + {file = "watchfiles-0.21.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d9792dff410f266051025ecfaa927078b94cc7478954b06796a9756ccc7e14a9"}, + {file = "watchfiles-0.21.0-cp310-none-win32.whl", hash = "sha256:214cee7f9e09150d4fb42e24919a1e74d8c9b8a9306ed1474ecaddcd5479c293"}, + {file = "watchfiles-0.21.0-cp310-none-win_amd64.whl", hash = "sha256:1ad7247d79f9f55bb25ab1778fd47f32d70cf36053941f07de0b7c4e96b5d235"}, + {file = "watchfiles-0.21.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:668c265d90de8ae914f860d3eeb164534ba2e836811f91fecc7050416ee70aa7"}, + {file = "watchfiles-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a23092a992e61c3a6a70f350a56db7197242f3490da9c87b500f389b2d01eef"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e7941bbcfdded9c26b0bf720cb7e6fd803d95a55d2c14b4bd1f6a2772230c586"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11cd0c3100e2233e9c53106265da31d574355c288e15259c0d40a4405cbae317"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78f30cbe8b2ce770160d3c08cff01b2ae9306fe66ce899b73f0409dc1846c1b"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6674b00b9756b0af620aa2a3346b01f8e2a3dc729d25617e1b89cf6af4a54eb1"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd7ac678b92b29ba630d8c842d8ad6c555abda1b9ef044d6cc092dacbfc9719d"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c873345680c1b87f1e09e0eaf8cf6c891b9851d8b4d3645e7efe2ec20a20cc7"}, + {file = "watchfiles-0.21.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49f56e6ecc2503e7dbe233fa328b2be1a7797d31548e7a193237dcdf1ad0eee0"}, + {file = "watchfiles-0.21.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:02d91cbac553a3ad141db016e3350b03184deaafeba09b9d6439826ee594b365"}, + {file = "watchfiles-0.21.0-cp311-none-win32.whl", hash = "sha256:ebe684d7d26239e23d102a2bad2a358dedf18e462e8808778703427d1f584400"}, + {file = "watchfiles-0.21.0-cp311-none-win_amd64.whl", hash = "sha256:4566006aa44cb0d21b8ab53baf4b9c667a0ed23efe4aaad8c227bfba0bf15cbe"}, + {file = "watchfiles-0.21.0-cp311-none-win_arm64.whl", hash = "sha256:c550a56bf209a3d987d5a975cdf2063b3389a5d16caf29db4bdddeae49f22078"}, + {file = "watchfiles-0.21.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:51ddac60b96a42c15d24fbdc7a4bfcd02b5a29c047b7f8bf63d3f6f5a860949a"}, + {file = "watchfiles-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:511f0b034120cd1989932bf1e9081aa9fb00f1f949fbd2d9cab6264916ae89b1"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cfb92d49dbb95ec7a07511bc9efb0faff8fe24ef3805662b8d6808ba8409a71a"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f92944efc564867bbf841c823c8b71bb0be75e06b8ce45c084b46411475a915"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:642d66b75eda909fd1112d35c53816d59789a4b38c141a96d62f50a3ef9b3360"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d23bcd6c8eaa6324fe109d8cac01b41fe9a54b8c498af9ce464c1aeeb99903d6"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18d5b4da8cf3e41895b34e8c37d13c9ed294954907929aacd95153508d5d89d7"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b8d1eae0f65441963d805f766c7e9cd092f91e0c600c820c764a4ff71a0764c"}, + {file = "watchfiles-0.21.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1fd9a5205139f3c6bb60d11f6072e0552f0a20b712c85f43d42342d162be1235"}, + {file = "watchfiles-0.21.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a1e3014a625bcf107fbf38eece0e47fa0190e52e45dc6eee5a8265ddc6dc5ea7"}, + {file = "watchfiles-0.21.0-cp312-none-win32.whl", hash = "sha256:9d09869f2c5a6f2d9df50ce3064b3391d3ecb6dced708ad64467b9e4f2c9bef3"}, + {file = "watchfiles-0.21.0-cp312-none-win_amd64.whl", hash = "sha256:18722b50783b5e30a18a8a5db3006bab146d2b705c92eb9a94f78c72beb94094"}, + {file = "watchfiles-0.21.0-cp312-none-win_arm64.whl", hash = "sha256:a3b9bec9579a15fb3ca2d9878deae789df72f2b0fdaf90ad49ee389cad5edab6"}, + {file = "watchfiles-0.21.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:4ea10a29aa5de67de02256a28d1bf53d21322295cb00bd2d57fcd19b850ebd99"}, + {file = "watchfiles-0.21.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:40bca549fdc929b470dd1dbfcb47b3295cb46a6d2c90e50588b0a1b3bd98f429"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9b37a7ba223b2f26122c148bb8d09a9ff312afca998c48c725ff5a0a632145f7"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec8c8900dc5c83650a63dd48c4d1d245343f904c4b64b48798c67a3767d7e165"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ad3fe0a3567c2f0f629d800409cd528cb6251da12e81a1f765e5c5345fd0137"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d353c4cfda586db2a176ce42c88f2fc31ec25e50212650c89fdd0f560ee507b"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:83a696da8922314ff2aec02987eefb03784f473281d740bf9170181829133765"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a03651352fc20975ee2a707cd2d74a386cd303cc688f407296064ad1e6d1562"}, + {file = "watchfiles-0.21.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3ad692bc7792be8c32918c699638b660c0de078a6cbe464c46e1340dadb94c19"}, + {file = "watchfiles-0.21.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06247538e8253975bdb328e7683f8515ff5ff041f43be6c40bff62d989b7d0b0"}, + {file = "watchfiles-0.21.0-cp38-none-win32.whl", hash = "sha256:9a0aa47f94ea9a0b39dd30850b0adf2e1cd32a8b4f9c7aa443d852aacf9ca214"}, + {file = "watchfiles-0.21.0-cp38-none-win_amd64.whl", hash = "sha256:8d5f400326840934e3507701f9f7269247f7c026d1b6cfd49477d2be0933cfca"}, + {file = "watchfiles-0.21.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:7f762a1a85a12cc3484f77eee7be87b10f8c50b0b787bb02f4e357403cad0c0e"}, + {file = "watchfiles-0.21.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6e9be3ef84e2bb9710f3f777accce25556f4a71e15d2b73223788d528fcc2052"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4c48a10d17571d1275701e14a601e36959ffada3add8cdbc9e5061a6e3579a5d"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c889025f59884423428c261f212e04d438de865beda0b1e1babab85ef4c0f01"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:66fac0c238ab9a2e72d026b5fb91cb902c146202bbd29a9a1a44e8db7b710b6f"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a21f71885aa2744719459951819e7bf5a906a6448a6b2bbce8e9cc9f2c8128"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c9198c989f47898b2c22201756f73249de3748e0fc9de44adaf54a8b259cc0c"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f57c4461cd24fda22493109c45b3980863c58a25b8bec885ca8bea6b8d4b28"}, + {file = "watchfiles-0.21.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:853853cbf7bf9408b404754b92512ebe3e3a83587503d766d23e6bf83d092ee6"}, + {file = "watchfiles-0.21.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d5b1dc0e708fad9f92c296ab2f948af403bf201db8fb2eb4c8179db143732e49"}, + {file = "watchfiles-0.21.0-cp39-none-win32.whl", hash = "sha256:59137c0c6826bd56c710d1d2bda81553b5e6b7c84d5a676747d80caf0409ad94"}, + {file = "watchfiles-0.21.0-cp39-none-win_amd64.whl", hash = "sha256:6cb8fdc044909e2078c248986f2fc76f911f72b51ea4a4fbbf472e01d14faa58"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab03a90b305d2588e8352168e8c5a1520b721d2d367f31e9332c4235b30b8994"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:927c589500f9f41e370b0125c12ac9e7d3a2fd166b89e9ee2828b3dda20bfe6f"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd467213195e76f838caf2c28cd65e58302d0254e636e7c0fca81efa4a2e62c"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02b73130687bc3f6bb79d8a170959042eb56eb3a42df3671c79b428cd73f17cc"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:08dca260e85ffae975448e344834d765983237ad6dc308231aa16e7933db763e"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ccceb50c611c433145502735e0370877cced72a6c70fd2410238bcbc7fe51d8"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57d430f5fb63fea141ab71ca9c064e80de3a20b427ca2febcbfcef70ff0ce895"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd5fad9b9c0dd89904bbdea978ce89a2b692a7ee8a0ce19b940e538c88a809c"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:be6dd5d52b73018b21adc1c5d28ac0c68184a64769052dfeb0c5d9998e7f56a2"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b3cab0e06143768499384a8a5efb9c4dc53e19382952859e4802f294214f36ec"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c6ed10c2497e5fedadf61e465b3ca12a19f96004c15dcffe4bd442ebadc2d85"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43babacef21c519bc6631c5fce2a61eccdfc011b4bcb9047255e9620732c8097"}, + {file = "watchfiles-0.21.0.tar.gz", hash = "sha256:c76c635fabf542bb78524905718c39f736a98e5ab25b23ec6d4abede1a85a6a3"}, +] + +[package.dependencies] +anyio = ">=3.0.0" + +[[package]] +name = "wcwidth" +version = "0.2.12" +description = "Measures the displayed width of unicode strings in a terminal" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, + {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, +] + +[[package]] +name = "websockets" +version = "12.0" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "websockets-12.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374"}, + {file = "websockets-12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be"}, + {file = "websockets-12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603"}, + {file = "websockets-12.0-cp310-cp310-win32.whl", hash = "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f"}, + {file = "websockets-12.0-cp310-cp310-win_amd64.whl", hash = "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf"}, + {file = "websockets-12.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4"}, + {file = "websockets-12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f"}, + {file = "websockets-12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53"}, + {file = "websockets-12.0-cp311-cp311-win32.whl", hash = "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402"}, + {file = "websockets-12.0-cp311-cp311-win_amd64.whl", hash = "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b"}, + {file = "websockets-12.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df"}, + {file = "websockets-12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc"}, + {file = "websockets-12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113"}, + {file = "websockets-12.0-cp312-cp312-win32.whl", hash = "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d"}, + {file = "websockets-12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f"}, + {file = "websockets-12.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5f6ffe2c6598f7f7207eef9a1228b6f5c818f9f4d53ee920aacd35cec8110438"}, + {file = "websockets-12.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9edf3fc590cc2ec20dc9d7a45108b5bbaf21c0d89f9fd3fd1685e223771dc0b2"}, + {file = "websockets-12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8572132c7be52632201a35f5e08348137f658e5ffd21f51f94572ca6c05ea81d"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:604428d1b87edbf02b233e2c207d7d528460fa978f9e391bd8aaf9c8311de137"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a9d160fd080c6285e202327aba140fc9a0d910b09e423afff4ae5cbbf1c7205"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87b4aafed34653e465eb77b7c93ef058516cb5acf3eb21e42f33928616172def"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b2ee7288b85959797970114deae81ab41b731f19ebcd3bd499ae9ca0e3f1d2c8"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7fa3d25e81bfe6a89718e9791128398a50dec6d57faf23770787ff441d851967"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a571f035a47212288e3b3519944f6bf4ac7bc7553243e41eac50dd48552b6df7"}, + {file = "websockets-12.0-cp38-cp38-win32.whl", hash = "sha256:3c6cc1360c10c17463aadd29dd3af332d4a1adaa8796f6b0e9f9df1fdb0bad62"}, + {file = "websockets-12.0-cp38-cp38-win_amd64.whl", hash = "sha256:1bf386089178ea69d720f8db6199a0504a406209a0fc23e603b27b300fdd6892"}, + {file = "websockets-12.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ab3d732ad50a4fbd04a4490ef08acd0517b6ae6b77eb967251f4c263011a990d"}, + {file = "websockets-12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1d9697f3337a89691e3bd8dc56dea45a6f6d975f92e7d5f773bc715c15dde28"}, + {file = "websockets-12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1df2fbd2c8a98d38a66f5238484405b8d1d16f929bb7a33ed73e4801222a6f53"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23509452b3bc38e3a057382c2e941d5ac2e01e251acce7adc74011d7d8de434c"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e5fc14ec6ea568200ea4ef46545073da81900a2b67b3e666f04adf53ad452ec"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46e71dbbd12850224243f5d2aeec90f0aaa0f2dde5aeeb8fc8df21e04d99eff9"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b81f90dcc6c85a9b7f29873beb56c94c85d6f0dac2ea8b60d995bd18bf3e2aae"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a02413bc474feda2849c59ed2dfb2cddb4cd3d2f03a2fedec51d6e959d9b608b"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bbe6013f9f791944ed31ca08b077e26249309639313fff132bfbf3ba105673b9"}, + {file = "websockets-12.0-cp39-cp39-win32.whl", hash = "sha256:cbe83a6bbdf207ff0541de01e11904827540aa069293696dd528a6640bd6a5f6"}, + {file = "websockets-12.0-cp39-cp39-win_amd64.whl", hash = "sha256:fc4e7fa5414512b481a2483775a8e8be7803a35b30ca805afa4998a84f9fd9e8"}, + {file = "websockets-12.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b"}, + {file = "websockets-12.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30"}, + {file = "websockets-12.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0bee75f400895aef54157b36ed6d3b308fcab62e5260703add87f44cee9c82a6"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:423fc1ed29f7512fceb727e2d2aecb952c46aa34895e9ed96071821309951123"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27a5e9964ef509016759f2ef3f2c1e13f403725a5e6a1775555994966a66e931"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3181df4583c4d3994d31fb235dc681d2aaad744fbdbf94c4802485ececdecf2"}, + {file = "websockets-12.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:b067cb952ce8bf40115f6c19f478dc71c5e719b7fbaa511359795dfd9d1a6468"}, + {file = "websockets-12.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:00700340c6c7ab788f176d118775202aadea7602c5cc6be6ae127761c16d6b0b"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e469d01137942849cff40517c97a30a93ae79917752b34029f0ec72df6b46399"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffefa1374cd508d633646d51a8e9277763a9b78ae71324183693959cf94635a7"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0cab91b3956dfa9f512147860783a1829a8d905ee218a9837c18f683239611"}, + {file = "websockets-12.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2cb388a5bfb56df4d9a406783b7f9dbefb888c09b71629351cc6b036e9259370"}, + {file = "websockets-12.0-py3-none-any.whl", hash = "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e"}, + {file = "websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"}, +] + +[[package]] +name = "yarl" +version = "1.9.3" +description = "Yet another URL library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32435d134414e01d937cd9d6cc56e8413a8d4741dea36af5840c7750f04d16ab"}, + {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9a5211de242754b5e612557bca701f39f8b1a9408dff73c6db623f22d20f470e"}, + {file = "yarl-1.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:525cd69eff44833b01f8ef39aa33a9cc53a99ff7f9d76a6ef6a9fb758f54d0ff"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc94441bcf9cb8c59f51f23193316afefbf3ff858460cb47b5758bf66a14d130"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e36021db54b8a0475805acc1d6c4bca5d9f52c3825ad29ae2d398a9d530ddb88"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0f17d1df951336a02afc8270c03c0c6e60d1f9996fcbd43a4ce6be81de0bd9d"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5f3faeb8100a43adf3e7925d556801d14b5816a0ac9e75e22948e787feec642"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aed37db837ecb5962469fad448aaae0f0ee94ffce2062cf2eb9aed13328b5196"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:721ee3fc292f0d069a04016ef2c3a25595d48c5b8ddc6029be46f6158d129c92"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b8bc5b87a65a4e64bc83385c05145ea901b613d0d3a434d434b55511b6ab0067"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:dd952b9c64f3b21aedd09b8fe958e4931864dba69926d8a90c90d36ac4e28c9a"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:c405d482c320a88ab53dcbd98d6d6f32ada074f2d965d6e9bf2d823158fa97de"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9df9a0d4c5624790a0dea2e02e3b1b3c69aed14bcb8650e19606d9df3719e87d"}, + {file = "yarl-1.9.3-cp310-cp310-win32.whl", hash = "sha256:d34c4f80956227f2686ddea5b3585e109c2733e2d4ef12eb1b8b4e84f09a2ab6"}, + {file = "yarl-1.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:cf7a4e8de7f1092829caef66fd90eaf3710bc5efd322a816d5677b7664893c93"}, + {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d61a0ca95503867d4d627517bcfdc28a8468c3f1b0b06c626f30dd759d3999fd"}, + {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73cc83f918b69110813a7d95024266072d987b903a623ecae673d1e71579d566"}, + {file = "yarl-1.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d81657b23e0edb84b37167e98aefb04ae16cbc5352770057893bd222cdc6e45f"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a1a8443091c7fbc17b84a0d9f38de34b8423b459fb853e6c8cdfab0eacf613"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe34befb8c765b8ce562f0200afda3578f8abb159c76de3ab354c80b72244c41"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c757f64afe53a422e45e3e399e1e3cf82b7a2f244796ce80d8ca53e16a49b9f"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72a57b41a0920b9a220125081c1e191b88a4cdec13bf9d0649e382a822705c65"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632c7aeb99df718765adf58eacb9acb9cbc555e075da849c1378ef4d18bf536a"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b0b8c06afcf2bac5a50b37f64efbde978b7f9dc88842ce9729c020dc71fae4ce"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1d93461e2cf76c4796355494f15ffcb50a3c198cc2d601ad8d6a96219a10c363"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4003f380dac50328c85e85416aca6985536812c082387255c35292cb4b41707e"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4d6d74a97e898c1c2df80339aa423234ad9ea2052f66366cef1e80448798c13d"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b61e64b06c3640feab73fa4ff9cb64bd8182de52e5dc13038e01cfe674ebc321"}, + {file = "yarl-1.9.3-cp311-cp311-win32.whl", hash = "sha256:29beac86f33d6c7ab1d79bd0213aa7aed2d2f555386856bb3056d5fdd9dab279"}, + {file = "yarl-1.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:f7271d6bd8838c49ba8ae647fc06469137e1c161a7ef97d778b72904d9b68696"}, + {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:dd318e6b75ca80bff0b22b302f83a8ee41c62b8ac662ddb49f67ec97e799885d"}, + {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c4b1efb11a8acd13246ffb0bee888dd0e8eb057f8bf30112e3e21e421eb82d4a"}, + {file = "yarl-1.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c6f034386e5550b5dc8ded90b5e2ff7db21f0f5c7de37b6efc5dac046eb19c10"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd49a908cb6d387fc26acee8b7d9fcc9bbf8e1aca890c0b2fdfd706057546080"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa4643635f26052401750bd54db911b6342eb1a9ac3e74f0f8b58a25d61dfe41"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e741bd48e6a417bdfbae02e088f60018286d6c141639359fb8df017a3b69415a"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c86d0d0919952d05df880a1889a4f0aeb6868e98961c090e335671dea5c0361"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3d5434b34100b504aabae75f0622ebb85defffe7b64ad8f52b8b30ec6ef6e4b9"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79e1df60f7c2b148722fb6cafebffe1acd95fd8b5fd77795f56247edaf326752"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:44e91a669c43f03964f672c5a234ae0d7a4d49c9b85d1baa93dec28afa28ffbd"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3cfa4dbe17b2e6fca1414e9c3bcc216f6930cb18ea7646e7d0d52792ac196808"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:88d2c3cc4b2f46d1ba73d81c51ec0e486f59cc51165ea4f789677f91a303a9a7"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cccdc02e46d2bd7cb5f38f8cc3d9db0d24951abd082b2f242c9e9f59c0ab2af3"}, + {file = "yarl-1.9.3-cp312-cp312-win32.whl", hash = "sha256:96758e56dceb8a70f8a5cff1e452daaeff07d1cc9f11e9b0c951330f0a2396a7"}, + {file = "yarl-1.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:c4472fe53ebf541113e533971bd8c32728debc4c6d8cc177f2bff31d011ec17e"}, + {file = "yarl-1.9.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:126638ab961633f0940a06e1c9d59919003ef212a15869708dcb7305f91a6732"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c99ddaddb2fbe04953b84d1651149a0d85214780e4d0ee824e610ab549d98d92"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dab30b21bd6fb17c3f4684868c7e6a9e8468078db00f599fb1c14e324b10fca"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:828235a2a169160ee73a2fcfb8a000709edf09d7511fccf203465c3d5acc59e4"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc391e3941045fd0987c77484b2799adffd08e4b6735c4ee5f054366a2e1551d"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51382c72dd5377861b573bd55dcf680df54cea84147c8648b15ac507fbef984d"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:28a108cb92ce6cf867690a962372996ca332d8cda0210c5ad487fe996e76b8bb"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8f18a7832ff85dfcd77871fe677b169b1bc60c021978c90c3bb14f727596e0ae"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:7eaf13af79950142ab2bbb8362f8d8d935be9aaf8df1df89c86c3231e4ff238a"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:66a6dbf6ca7d2db03cc61cafe1ee6be838ce0fbc97781881a22a58a7c5efef42"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a0a4f3aaa18580038cfa52a7183c8ffbbe7d727fe581300817efc1e96d1b0e9"}, + {file = "yarl-1.9.3-cp37-cp37m-win32.whl", hash = "sha256:946db4511b2d815979d733ac6a961f47e20a29c297be0d55b6d4b77ee4b298f6"}, + {file = "yarl-1.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:2dad8166d41ebd1f76ce107cf6a31e39801aee3844a54a90af23278b072f1ccf"}, + {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bb72d2a94481e7dc7a0c522673db288f31849800d6ce2435317376a345728225"}, + {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9a172c3d5447b7da1680a1a2d6ecdf6f87a319d21d52729f45ec938a7006d5d8"}, + {file = "yarl-1.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2dc72e891672343b99db6d497024bf8b985537ad6c393359dc5227ef653b2f17"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8d51817cf4b8d545963ec65ff06c1b92e5765aa98831678d0e2240b6e9fd281"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53ec65f7eee8655bebb1f6f1607760d123c3c115a324b443df4f916383482a67"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cfd77e8e5cafba3fb584e0f4b935a59216f352b73d4987be3af51f43a862c403"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e73db54c967eb75037c178a54445c5a4e7461b5203b27c45ef656a81787c0c1b"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09c19e5f4404574fcfb736efecf75844ffe8610606f3fccc35a1515b8b6712c4"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6280353940f7e5e2efaaabd686193e61351e966cc02f401761c4d87f48c89ea4"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c25ec06e4241e162f5d1f57c370f4078797ade95c9208bd0c60f484834f09c96"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7217234b10c64b52cc39a8d82550342ae2e45be34f5bff02b890b8c452eb48d7"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4ce77d289f8d40905c054b63f29851ecbfd026ef4ba5c371a158cfe6f623663e"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f74b015c99a5eac5ae589de27a1201418a5d9d460e89ccb3366015c6153e60a"}, + {file = "yarl-1.9.3-cp38-cp38-win32.whl", hash = "sha256:8a2538806be846ea25e90c28786136932ec385c7ff3bc1148e45125984783dc6"}, + {file = "yarl-1.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:6465d36381af057d0fab4e0f24ef0e80ba61f03fe43e6eeccbe0056e74aadc70"}, + {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2f3c8822bc8fb4a347a192dd6a28a25d7f0ea3262e826d7d4ef9cc99cd06d07e"}, + {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7831566595fe88ba17ea80e4b61c0eb599f84c85acaa14bf04dd90319a45b90"}, + {file = "yarl-1.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff34cb09a332832d1cf38acd0f604c068665192c6107a439a92abfd8acf90fe2"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe8080b4f25dfc44a86bedd14bc4f9d469dfc6456e6f3c5d9077e81a5fedfba7"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8535e111a064f3bdd94c0ed443105934d6f005adad68dd13ce50a488a0ad1bf3"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d155a092bf0ebf4a9f6f3b7a650dc5d9a5bbb585ef83a52ed36ba46f55cc39d"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:778df71c8d0c8c9f1b378624b26431ca80041660d7be7c3f724b2c7a6e65d0d6"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9f9cafaf031c34d95c1528c16b2fa07b710e6056b3c4e2e34e9317072da5d1a"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ca6b66f69e30f6e180d52f14d91ac854b8119553b524e0e28d5291a724f0f423"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e0e7e83f31e23c5d00ff618045ddc5e916f9e613d33c5a5823bc0b0a0feb522f"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:af52725c7c39b0ee655befbbab5b9a1b209e01bb39128dce0db226a10014aacc"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0ab5baaea8450f4a3e241ef17e3d129b2143e38a685036b075976b9c415ea3eb"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d350388ba1129bc867c6af1cd17da2b197dff0d2801036d2d7d83c2d771a682"}, + {file = "yarl-1.9.3-cp39-cp39-win32.whl", hash = "sha256:e2a16ef5fa2382af83bef4a18c1b3bcb4284c4732906aa69422cf09df9c59f1f"}, + {file = "yarl-1.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:d92d897cb4b4bf915fbeb5e604c7911021a8456f0964f3b8ebbe7f9188b9eabb"}, + {file = "yarl-1.9.3-py3-none-any.whl", hash = "sha256:271d63396460b6607b588555ea27a1a02b717ca2e3f2cf53bdde4013d7790929"}, + {file = "yarl-1.9.3.tar.gz", hash = "sha256:4a14907b597ec55740f63e52d7fee0e9ee09d5b9d57a4f399a7423268e457b57"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + +[[package]] +name = "zipp" +version = "3.17.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + +[metadata] +lock-version = "2.0" +python-versions = ">=3.8.1,<4.0" +content-hash = "7bef805add43f627e8e8b81151e1dd09332abfd965631d00fcbb360461b654d3" diff --git a/templates/rag-multi-modal-local/pyproject.toml b/templates/rag-multi-modal-local/pyproject.toml new file mode 100644 index 00000000000..8e4543e119e --- /dev/null +++ b/templates/rag-multi-modal-local/pyproject.toml @@ -0,0 +1,38 @@ +[tool.poetry] +name = "rag-multi-modal-local" +version = "0.1.0" +description = "Multi-modal RAG using Chroma" +authors = [ + "Lance Martin ", +] +readme = "README.md" + +[tool.poetry.dependencies] +python = ">=3.8.1,<4.0" +langchain = ">=0.0.351" +openai = "<2" +tiktoken = ">=0.5.1" +chromadb = ">=0.4.14" +open-clip-torch = ">=2.23.0" +torch = ">=2.1.0" +langchain-experimental = "^0.0.43" +langchain-community = ">=0.0.4" + +[tool.poetry.group.dev.dependencies] +langchain-cli = ">=0.0.15" + +[tool.langserve] +export_module = "rag_multi_modal_local" +export_attr = "chain" + +[tool.templates-hub] +use-case = "rag" +author = "LangChain" +integrations = ["Ollama", "Chroma"] +tags = ["multi-modal"] + +[build-system] +requires = [ + "poetry-core", +] +build-backend = "poetry.core.masonry.api" diff --git a/templates/rag-multi-modal-local/rag_multi_modal_local.ipynb b/templates/rag-multi-modal-local/rag_multi_modal_local.ipynb new file mode 100644 index 00000000000..2b1245441a8 --- /dev/null +++ b/templates/rag-multi-modal-local/rag_multi_modal_local.ipynb @@ -0,0 +1,52 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "681a5d1e", + "metadata": {}, + "source": [ + "## Run Template\n", + "\n", + "In `server.py`, set -\n", + "```\n", + "add_routes(app, chain_rag_conv, path=\"/rag-multi-modal-local\")\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d774be2a", + "metadata": {}, + "outputs": [], + "source": [ + "from langserve.client import RemoteRunnable\n", + "\n", + "rag_app = RemoteRunnable(\"http://localhost:8001/rag-multi-modal-local\")\n", + "rag_app.invoke(\" < keywords here > \")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/templates/rag-multi-modal-local/rag_multi_modal_local/__init__.py b/templates/rag-multi-modal-local/rag_multi_modal_local/__init__.py new file mode 100644 index 00000000000..0cb30ad6b1c --- /dev/null +++ b/templates/rag-multi-modal-local/rag_multi_modal_local/__init__.py @@ -0,0 +1,3 @@ +from rag_multi_modal_local.chain import chain + +__all__ = ["chain"] diff --git a/templates/rag-multi-modal-local/rag_multi_modal_local/chain.py b/templates/rag-multi-modal-local/rag_multi_modal_local/chain.py new file mode 100644 index 00000000000..b45e2e83b3d --- /dev/null +++ b/templates/rag-multi-modal-local/rag_multi_modal_local/chain.py @@ -0,0 +1,122 @@ +import base64 +import io +from pathlib import Path + +from langchain.chat_models import ChatOllama +from langchain.vectorstores import Chroma +from langchain_core.documents import Document +from langchain_core.messages import HumanMessage +from langchain_core.output_parsers import StrOutputParser +from langchain_core.pydantic_v1 import BaseModel +from langchain_core.runnables import RunnableLambda, RunnablePassthrough +from langchain_experimental.open_clip import OpenCLIPEmbeddings +from PIL import Image + + +def resize_base64_image(base64_string, size=(128, 128)): + """ + Resize an image encoded as a Base64 string. + + :param base64_string: A Base64 encoded string of the image to be resized. + :param size: A tuple representing the new size (width, height) for the image. + :return: A Base64 encoded string of the resized image. + """ + img_data = base64.b64decode(base64_string) + img = Image.open(io.BytesIO(img_data)) + resized_img = img.resize(size, Image.LANCZOS) + buffered = io.BytesIO() + resized_img.save(buffered, format=img.format) + return base64.b64encode(buffered.getvalue()).decode("utf-8") + + +def get_resized_images(docs): + """ + Resize images from base64-encoded strings. + + :param docs: A list of base64-encoded image to be resized. + :return: Dict containing a list of resized base64-encoded strings. + """ + b64_images = [] + for doc in docs: + if isinstance(doc, Document): + doc = doc.page_content + # Optional: re-size image + # resized_image = resize_base64_image(doc, size=(1280, 720)) + b64_images.append(doc) + return {"images": b64_images} + + +def img_prompt_func(data_dict, num_images=1): + """ + GPT-4V prompt for image analysis. + + :param data_dict: A dict with images and a user-provided question. + :param num_images: Number of images to include in the prompt. + :return: A list containing message objects for each image and the text prompt. + """ + messages = [] + if data_dict["context"]["images"]: + for image in data_dict["context"]["images"][:num_images]: + image_message = { + "type": "image_url", + "image_url": f"data:image/jpeg;base64,{image}", + } + messages.append(image_message) + text_message = { + "type": "text", + "text": ( + "You are a helpful assistant that gives a description of food pictures.\n" + "Give a detailed summary of the image.\n" + "Give reccomendations for similar foods to try.\n" + ), + } + messages.append(text_message) + return [HumanMessage(content=messages)] + + +def multi_modal_rag_chain(retriever): + """ + Multi-modal RAG chain, + + :param retriever: A function that retrieves the necessary context for the model. + :return: A chain of functions representing the multi-modal RAG process. + """ + # Initialize the multi-modal Large Language Model with specific parameters + model = ChatOllama(model="bakllava", temperature=0) + + # Define the RAG pipeline + chain = ( + { + "context": retriever | RunnableLambda(get_resized_images), + "question": RunnablePassthrough(), + } + | RunnableLambda(img_prompt_func) + | model + | StrOutputParser() + ) + + return chain + + +# Load chroma +vectorstore_mmembd = Chroma( + collection_name="multi-modal-rag", + persist_directory=str(Path(__file__).parent.parent / "chroma_db_multi_modal"), + embedding_function=OpenCLIPEmbeddings( + model_name="ViT-H-14", checkpoint="laion2b_s32b_b79k" + ), +) + +# Make retriever +retriever_mmembd = vectorstore_mmembd.as_retriever() + +# Create RAG chain +chain = multi_modal_rag_chain(retriever_mmembd) + + +# Add typing for input +class Question(BaseModel): + __root__: str + + +chain = chain.with_types(input_type=Question) diff --git a/templates/rag-multi-modal-local/tests/__init__.py b/templates/rag-multi-modal-local/tests/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/templates/rag-multi-modal-mv-local/.gitignore b/templates/rag-multi-modal-mv-local/.gitignore new file mode 100644 index 00000000000..0854886a476 --- /dev/null +++ b/templates/rag-multi-modal-mv-local/.gitignore @@ -0,0 +1,3 @@ +docs/img_*.jpg +chroma_db_multi_modal +multi_vector_retriever_metadata \ No newline at end of file diff --git a/templates/rag-multi-modal-mv-local/LICENSE b/templates/rag-multi-modal-mv-local/LICENSE new file mode 100644 index 00000000000..426b6509034 --- /dev/null +++ b/templates/rag-multi-modal-mv-local/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 LangChain, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/templates/rag-multi-modal-mv-local/README.md b/templates/rag-multi-modal-mv-local/README.md new file mode 100644 index 00000000000..9a037b4acdb --- /dev/null +++ b/templates/rag-multi-modal-mv-local/README.md @@ -0,0 +1,118 @@ + +# rag-multi-modal-mv-local + +Visual search is a famililar application to many with iPhones or Android devices: use natural language to search across your photo collection. + +With the release of open source, multi-modal LLMs it's possible to build this kind of application for yourself and have it run on your personal laptop. + +This template demonstrates how to perform visual search and question-answering over a collection of photos. + +Given a set of photos, it will produce image summaries and index them, retrieve photos relevant to user question using the summaries, and use Ollama to run a local, open-source multi-modal LLM to answer questions about the retrieved photos. + +## Input + +Supply a set of photos in the `/docs` directory. + +By default, this template has a toy collection of 3 food pictures. + +The app will look up and summarize photos based upon provided keywords or questions: +``` +What kind of ice cream did I have? +``` + +In practice, a larger corpus of images can be tested. + +To create an index of the images, run: +``` +poetry install +python ingest.py +``` + +## Storage + +Here is the process the template will use to create an index of the slides (see [blog](https://blog.langchain.dev/multi-modal-rag-template/)): + +* Given a set of images +* It uses a local multi-modal LLM ([bakllava](https://ollama.ai/library/bakllava)) to summarize each image +* Embeds the image summaries with a link to the original images +* Given a user question, it will relevant image(s) based on similarity between the image summary and user input (using Ollama embeddings) +* It will pass those images to bakllava for answer synthesis + +By default, this will use [LocalFileStore](https://python.langchain.com/docs/integrations/stores/file_system) to store images and Chroma to store summaries. + +## LLM and Embedding Models + +We will use [Ollama](https://python.langchain.com/docs/integrations/chat/ollama#multi-modal) for generating image summaries, embeddings, and the final image QA. + +Download the latest version of Ollama: https://ollama.ai/ + +Pull an open source multi-modal LLM: e.g., https://ollama.ai/library/bakllava + +Pull an open source embedding model: e.g., https://ollama.ai/library/llama2:7b + +``` +ollama pull bakllava +ollama pull llama2:7b +``` + +The app is by default configured for `bakllava`. But you can change this in `chain.py` and `ingest.py` for different downloaded models. + +The app will retrieve images based on similarity between the text input and the image summary, and pass the images to `bakllava`. + +## Usage + +To use this package, you should first have the LangChain CLI installed: + +```shell +pip install -U langchain-cli +``` + +To create a new LangChain project and install this as the only package, you can do: + +```shell +langchain app new my-app --package rag-multi-modal-mv-local +``` + +If you want to add this to an existing project, you can just run: + +```shell +langchain app add rag-multi-modal-mv-local +``` + +And add the following code to your `server.py` file: +```python +from rag_multi_modal_mv_local import chain as rag_multi_modal_mv_local_chain + +add_routes(app, rag_multi_modal_mv_local_chain, path="/rag-multi-modal-mv-local") +``` + +(Optional) Let's now configure LangSmith. +LangSmith will help us trace, monitor and debug LangChain applications. +LangSmith is currently in private beta, you can sign up [here](https://smith.langchain.com/). +If you don't have access, you can skip this section + +```shell +export LANGCHAIN_TRACING_V2=true +export LANGCHAIN_API_KEY= +export LANGCHAIN_PROJECT= # if not specified, defaults to "default" +``` + +If you are inside this directory, then you can spin up a LangServe instance directly by: + +```shell +langchain serve +``` + +This will start the FastAPI app with a server is running locally at +[http://localhost:8000](http://localhost:8000) + +We can see all templates at [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) +We can access the playground at [http://127.0.0.1:8000/rag-multi-modal-mv-local/playground](http://127.0.0.1:8000/rag-multi-modal-mv-local/playground) + +We can access the template from code with: + +```python +from langserve.client import RemoteRunnable + +runnable = RemoteRunnable("http://localhost:8000/rag-multi-modal-mv-local") +``` \ No newline at end of file diff --git a/templates/rag-multi-modal-mv-local/docs/bread_bowl.jpg b/templates/rag-multi-modal-mv-local/docs/bread_bowl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f5056727981525ffca60267e518051d2df7e4b87 GIT binary patch literal 61289 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

vzfep1L*rJY4aSX3YS49LY^>b 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 z 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ξ5a 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≥9=wOD>GTk_Hf9ti3RP@ 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.0,<5.0", markers = "python_version < \"3.11\""} +attrs = ">=17.3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +yarl = ">=1.0,<2.0" + +[package.extras] +speedups = ["Brotli", "aiodns", "brotlicffi"] + +[[package]] +name = "aiosignal" +version = "1.3.1" +description = "aiosignal: a list of registered asynchronous callbacks" +optional = false +python-versions = ">=3.7" +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] + +[package.dependencies] +frozenlist = ">=1.1.0" + +[[package]] +name = "annotated-types" +version = "0.6.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, + {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} + +[[package]] +name = "anyio" +version = "3.7.1" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.7" +files = [ + {file = "anyio-3.7.1-py3-none-any.whl", hash = "sha256:91dee416e570e92c64041bd18b900d1d6fa78dff7048769ce5ac5ddad004fbb5"}, + {file = "anyio-3.7.1.tar.gz", hash = "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780"}, +] + +[package.dependencies] +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" + +[package.extras] +doc = ["Sphinx", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-jquery"] +test = ["anyio[trio]", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (<0.22)"] + +[[package]] +name = "async-timeout" +version = "4.0.3" +description = "Timeout context manager for asyncio programs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + +[[package]] +name = "attrs" +version = "23.1.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, + {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] + +[[package]] +name = "backoff" +version = "2.2.1" +description = "Function decoration for backoff and retry" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] + +[[package]] +name = "bcrypt" +version = "4.1.1" +description = "Modern password hashing for your software and your servers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bcrypt-4.1.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:196008d91201bbb1aa4e666fee5e610face25d532e433a560cabb33bfdff958b"}, + {file = "bcrypt-4.1.1-cp37-abi3-macosx_13_0_universal2.whl", hash = "sha256:2e197534c884336f9020c1f3a8efbaab0aa96fc798068cb2da9c671818b7fbb0"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d573885b637815a7f3a3cd5f87724d7d0822da64b0ab0aa7f7c78bae534e86dc"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bab33473f973e8058d1b2df8d6e095d237c49fbf7a02b527541a86a5d1dc4444"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fb931cd004a7ad36a89789caf18a54c20287ec1cd62161265344b9c4554fdb2e"}, + {file = "bcrypt-4.1.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:12f40f78dcba4aa7d1354d35acf45fae9488862a4fb695c7eeda5ace6aae273f"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2ade10e8613a3b8446214846d3ddbd56cfe9205a7d64742f0b75458c868f7492"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f33b385c3e80b5a26b3a5e148e6165f873c1c202423570fdf45fe34e00e5f3e5"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:755b9d27abcab678e0b8fb4d0abdebeea1f68dd1183b3f518bad8d31fa77d8be"}, + {file = "bcrypt-4.1.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a7a7b8a87e51e5e8ca85b9fdaf3a5dc7aaf123365a09be7a27883d54b9a0c403"}, + {file = "bcrypt-4.1.1-cp37-abi3-win32.whl", hash = "sha256:3d6c4e0d6963c52f8142cdea428e875042e7ce8c84812d8e5507bd1e42534e07"}, + {file = "bcrypt-4.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:14d41933510717f98aac63378b7956bbe548986e435df173c841d7f2bd0b2de7"}, + {file = "bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:24c2ebd287b5b11016f31d506ca1052d068c3f9dc817160628504690376ff050"}, + {file = "bcrypt-4.1.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:476aa8e8aca554260159d4c7a97d6be529c8e177dbc1d443cb6b471e24e82c74"}, + {file = "bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:12611c4b0a8b1c461646228344784a1089bc0c49975680a2f54f516e71e9b79e"}, + {file = "bcrypt-4.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c6450538a0fc32fb7ce4c6d511448c54c4ff7640b2ed81badf9898dcb9e5b737"}, + {file = "bcrypt-4.1.1.tar.gz", hash = "sha256:df37f5418d4f1cdcff845f60e747a015389fa4e63703c918330865e06ad80007"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + +[[package]] +name = "certifi" +version = "2023.11.17" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "chroma-hnswlib" +version = "0.7.3" +description = "Chromas fork of hnswlib" +optional = false +python-versions = "*" +files = [ + {file = "chroma-hnswlib-0.7.3.tar.gz", hash = "sha256:b6137bedde49fffda6af93b0297fe00429fc61e5a072b1ed9377f909ed95a932"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:59d6a7c6f863c67aeb23e79a64001d537060b6995c3eca9a06e349ff7b0998ca"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d71a3f4f232f537b6152947006bd32bc1629a8686df22fd97777b70f416c127a"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c92dc1ebe062188e53970ba13f6b07e0ae32e64c9770eb7f7ffa83f149d4210"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49da700a6656fed8753f68d44b8cc8ae46efc99fc8a22a6d970dc1697f49b403"}, + {file = "chroma_hnswlib-0.7.3-cp310-cp310-win_amd64.whl", hash = "sha256:108bc4c293d819b56476d8f7865803cb03afd6ca128a2a04d678fffc139af029"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:11e7ca93fb8192214ac2b9c0943641ac0daf8f9d4591bb7b73be808a83835667"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f552e4d23edc06cdeb553cdc757d2fe190cdeb10d43093d6a3319f8d4bf1c6b"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f96f4d5699e486eb1fb95849fe35ab79ab0901265805be7e60f4eaa83ce263ec"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:368e57fe9ebae05ee5844840fa588028a023d1182b0cfdb1d13f607c9ea05756"}, + {file = "chroma_hnswlib-0.7.3-cp311-cp311-win_amd64.whl", hash = "sha256:b7dca27b8896b494456db0fd705b689ac6b73af78e186eb6a42fea2de4f71c6f"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:70f897dc6218afa1d99f43a9ad5eb82f392df31f57ff514ccf4eeadecd62f544"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aef10b4952708f5a1381c124a29aead0c356f8d7d6e0b520b778aaa62a356f4"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ee2d8d1529fca3898d512079144ec3e28a81d9c17e15e0ea4665697a7923253"}, + {file = "chroma_hnswlib-0.7.3-cp37-cp37m-win_amd64.whl", hash = "sha256:a4021a70e898783cd6f26e00008b494c6249a7babe8774e90ce4766dd288c8ba"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a8f61fa1d417fda848e3ba06c07671f14806a2585272b175ba47501b066fe6b1"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d7563be58bc98e8f0866907368e22ae218d6060601b79c42f59af4eccbbd2e0a"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51b8d411486ee70d7b66ec08cc8b9b6620116b650df9c19076d2d8b6ce2ae914"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d706782b628e4f43f1b8a81e9120ac486837fbd9bcb8ced70fe0d9b95c72d77"}, + {file = "chroma_hnswlib-0.7.3-cp38-cp38-win_amd64.whl", hash = "sha256:54f053dedc0e3ba657f05fec6e73dd541bc5db5b09aa8bc146466ffb734bdc86"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e607c5a71c610a73167a517062d302c0827ccdd6e259af6e4869a5c1306ffb5d"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c2358a795870156af6761890f9eb5ca8cade57eb10c5f046fe94dae1faa04b9e"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cea425df2e6b8a5e201fff0d922a1cc1d165b3cfe762b1408075723c8892218"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:454df3dd3e97aa784fba7cf888ad191e0087eef0fd8c70daf28b753b3b591170"}, + {file = "chroma_hnswlib-0.7.3-cp39-cp39-win_amd64.whl", hash = "sha256:df587d15007ca701c6de0ee7d5585dd5e976b7edd2b30ac72bc376b3c3f85882"}, +] + +[package.dependencies] +numpy = "*" + +[[package]] +name = "chromadb" +version = "0.4.14" +description = "Chroma." +optional = false +python-versions = ">=3.7" +files = [ + {file = "chromadb-0.4.14-py3-none-any.whl", hash = "sha256:c1b59bdfb4b35a40bad0b8927c5ed757adf191ff9db2b9a384dc46a76e1ff10f"}, + {file = "chromadb-0.4.14.tar.gz", hash = "sha256:0fcef603bcf9c854305020c3f8d368c09b1545d48bd2bceefd51861090f87dad"}, +] + +[package.dependencies] +bcrypt = ">=4.0.1" +chroma-hnswlib = "0.7.3" +fastapi = ">=0.95.2" +graphlib-backport = {version = ">=1.0.3", markers = "python_version < \"3.9\""} +grpcio = ">=1.58.0" +importlib-resources = "*" +numpy = {version = ">=1.22.5", markers = "python_version >= \"3.8\""} +onnxruntime = ">=1.14.1" +overrides = ">=7.3.1" +posthog = ">=2.4.0" +pulsar-client = ">=3.1.0" +pydantic = ">=1.9" +pypika = ">=0.48.9" +requests = ">=2.28" +tokenizers = ">=0.13.2" +tqdm = ">=4.65.0" +typer = ">=0.9.0" +typing-extensions = ">=4.5.0" +uvicorn = {version = ">=0.18.3", extras = ["standard"]} + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "coloredlogs" +version = "15.0.1" +description = "Colored terminal output for Python's logging module" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] + +[package.dependencies] +humanfriendly = ">=9.1" + +[package.extras] +cron = ["capturer (>=2.4)"] + +[[package]] +name = "dataclasses-json" +version = "0.6.3" +description = "Easily serialize dataclasses to and from JSON." +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "dataclasses_json-0.6.3-py3-none-any.whl", hash = "sha256:4aeb343357997396f6bca1acae64e486c3a723d8f5c76301888abeccf0c45176"}, + {file = "dataclasses_json-0.6.3.tar.gz", hash = "sha256:35cb40aae824736fdf959801356641836365219cfe14caeb115c39136f775d2a"}, +] + +[package.dependencies] +marshmallow = ">=3.18.0,<4.0.0" +typing-inspect = ">=0.4.0,<1" + +[[package]] +name = "distro" +version = "1.8.0" +description = "Distro - an OS platform information API" +optional = false +python-versions = ">=3.6" +files = [ + {file = "distro-1.8.0-py3-none-any.whl", hash = "sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff"}, + {file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.0" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "fastapi" +version = "0.104.1" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fastapi-0.104.1-py3-none-any.whl", hash = "sha256:752dc31160cdbd0436bb93bad51560b57e525cbb1d4bbf6f4904ceee75548241"}, + {file = "fastapi-0.104.1.tar.gz", hash = "sha256:e5e4540a7c5e1dcfbbcf5b903c234feddcdcd881f191977a1c5dfd917487e7ae"}, +] + +[package.dependencies] +anyio = ">=3.7.1,<4.0.0" +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +starlette = ">=0.27.0,<0.28.0" +typing-extensions = ">=4.8.0" + +[package.extras] +all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] + +[[package]] +name = "filelock" +version = "3.13.1" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, + {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +typing = ["typing-extensions (>=4.8)"] + +[[package]] +name = "flatbuffers" +version = "23.5.26" +description = "The FlatBuffers serialization format for Python" +optional = false +python-versions = "*" +files = [ + {file = "flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, + {file = "flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, +] + +[[package]] +name = "frozenlist" +version = "1.4.0" +description = "A list-like structure which implements collections.abc.MutableSequence" +optional = false +python-versions = ">=3.8" +files = [ + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, + {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, + {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, + {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, + {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, + {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, + {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, + {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, + {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, + {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, +] + +[[package]] +name = "fsspec" +version = "2023.10.0" +description = "File-system specification" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fsspec-2023.10.0-py3-none-any.whl", hash = "sha256:346a8f024efeb749d2a5fca7ba8854474b1ff9af7c3faaf636a4548781136529"}, + {file = "fsspec-2023.10.0.tar.gz", hash = "sha256:330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5"}, +] + +[package.extras] +abfs = ["adlfs"] +adl = ["adlfs"] +arrow = ["pyarrow (>=1)"] +dask = ["dask", "distributed"] +devel = ["pytest", "pytest-cov"] +dropbox = ["dropbox", "dropboxdrivefs", "requests"] +full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] +fuse = ["fusepy"] +gcs = ["gcsfs"] +git = ["pygit2"] +github = ["requests"] +gs = ["gcsfs"] +gui = ["panel"] +hdfs = ["pyarrow (>=1)"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "requests"] +libarchive = ["libarchive-c"] +oci = ["ocifs"] +s3 = ["s3fs"] +sftp = ["paramiko"] +smb = ["smbprotocol"] +ssh = ["paramiko"] +tqdm = ["tqdm"] + +[[package]] +name = "gitdb" +version = "4.0.11" +description = "Git Object Database" +optional = false +python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, + {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, +] + +[package.dependencies] +smmap = ">=3.0.1,<6" + +[[package]] +name = "gitpython" +version = "3.1.40" +description = "GitPython is a Python library used to interact with Git repositories" +optional = false +python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.40-py3-none-any.whl", hash = "sha256:cf14627d5a8049ffbf49915732e5eddbe8134c3bdb9d476e6182b676fc573f8a"}, + {file = "GitPython-3.1.40.tar.gz", hash = "sha256:22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4"}, +] + +[package.dependencies] +gitdb = ">=4.0.1,<5" + +[package.extras] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-instafail", "pytest-subtests", "pytest-sugar"] + +[[package]] +name = "graphlib-backport" +version = "1.0.3" +description = "Backport of the Python 3.9 graphlib module for Python 3.6+" +optional = false +python-versions = ">=3.6,<4.0" +files = [ + {file = "graphlib_backport-1.0.3-py3-none-any.whl", hash = "sha256:24246967b9e7e6a91550bc770e6169585d35aa32790258579a8a3899a8c18fde"}, + {file = "graphlib_backport-1.0.3.tar.gz", hash = "sha256:7bb8fc7757b8ae4e6d8000a26cd49e9232aaa9a3aa57edb478474b8424bfaae2"}, +] + +[[package]] +name = "greenlet" +version = "3.0.1" +description = "Lightweight in-process concurrent programming" +optional = false +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f89e21afe925fcfa655965ca8ea10f24773a1791400989ff32f467badfe4a064"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28e89e232c7593d33cac35425b58950789962011cc274aa43ef8865f2e11f46d"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8ba29306c5de7717b5761b9ea74f9c72b9e2b834e24aa984da99cbfc70157fd"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19bbdf1cce0346ef7341705d71e2ecf6f41a35c311137f29b8a2dc2341374565"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:599daf06ea59bfedbec564b1692b0166a0045f32b6f0933b0dd4df59a854caf2"}, + {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b641161c302efbb860ae6b081f406839a8b7d5573f20a455539823802c655f63"}, + {file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d57e20ba591727da0c230ab2c3f200ac9d6d333860d85348816e1dca4cc4792e"}, + {file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5805e71e5b570d490938d55552f5a9e10f477c19400c38bf1d5190d760691846"}, + {file = "greenlet-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:52e93b28db27ae7d208748f45d2db8a7b6a380e0d703f099c949d0f0d80b70e9"}, + {file = "greenlet-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f7bfb769f7efa0eefcd039dd19d843a4fbfbac52f1878b1da2ed5793ec9b1a65"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e6c7db42638dc45cf2e13c73be16bf83179f7859b07cfc139518941320be96"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1757936efea16e3f03db20efd0cd50a1c86b06734f9f7338a90c4ba85ec2ad5a"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19075157a10055759066854a973b3d1325d964d498a805bb68a1f9af4aaef8ec"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9d21aaa84557d64209af04ff48e0ad5e28c5cca67ce43444e939579d085da72"}, + {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2847e5d7beedb8d614186962c3d774d40d3374d580d2cbdab7f184580a39d234"}, + {file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:97e7ac860d64e2dcba5c5944cfc8fa9ea185cd84061c623536154d5a89237884"}, + {file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b2c02d2ad98116e914d4f3155ffc905fd0c025d901ead3f6ed07385e19122c94"}, + {file = "greenlet-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:22f79120a24aeeae2b4471c711dcf4f8c736a2bb2fabad2a67ac9a55ea72523c"}, + {file = "greenlet-3.0.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:100f78a29707ca1525ea47388cec8a049405147719f47ebf3895e7509c6446aa"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60d5772e8195f4e9ebf74046a9121bbb90090f6550f81d8956a05387ba139353"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:daa7197b43c707462f06d2c693ffdbb5991cbb8b80b5b984007de431493a319c"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea6b8aa9e08eea388c5f7a276fabb1d4b6b9d6e4ceb12cc477c3d352001768a9"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d11ebbd679e927593978aa44c10fc2092bc454b7d13fdc958d3e9d508aba7d0"}, + {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dbd4c177afb8a8d9ba348d925b0b67246147af806f0b104af4d24f144d461cd5"}, + {file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20107edf7c2c3644c67c12205dc60b1bb11d26b2610b276f97d666110d1b511d"}, + {file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8bef097455dea90ffe855286926ae02d8faa335ed8e4067326257cb571fc1445"}, + {file = "greenlet-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:b2d3337dcfaa99698aa2377c81c9ca72fcd89c07e7eb62ece3f23a3fe89b2ce4"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80ac992f25d10aaebe1ee15df45ca0d7571d0f70b645c08ec68733fb7a020206"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:337322096d92808f76ad26061a8f5fccb22b0809bea39212cd6c406f6a7060d2"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9934adbd0f6e476f0ecff3c94626529f344f57b38c9a541f87098710b18af0a"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc4d815b794fd8868c4d67602692c21bf5293a75e4b607bb92a11e821e2b859a"}, + {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41bdeeb552d814bcd7fb52172b304898a35818107cc8778b5101423c9017b3de"}, + {file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6e6061bf1e9565c29002e3c601cf68569c450be7fc3f7336671af7ddb4657166"}, + {file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fa24255ae3c0ab67e613556375a4341af04a084bd58764731972bcbc8baeba36"}, + {file = "greenlet-3.0.1-cp37-cp37m-win32.whl", hash = "sha256:b489c36d1327868d207002391f662a1d163bdc8daf10ab2e5f6e41b9b96de3b1"}, + {file = "greenlet-3.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f33f3258aae89da191c6ebaa3bc517c6c4cbc9b9f689e5d8452f7aedbb913fa8"}, + {file = "greenlet-3.0.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:d2905ce1df400360463c772b55d8e2518d0e488a87cdea13dd2c71dcb2a1fa16"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a02d259510b3630f330c86557331a3b0e0c79dac3d166e449a39363beaae174"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55d62807f1c5a1682075c62436702aaba941daa316e9161e4b6ccebbbf38bda3"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3fcc780ae8edbb1d050d920ab44790201f027d59fdbd21362340a85c79066a74"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4eddd98afc726f8aee1948858aed9e6feeb1758889dfd869072d4465973f6bfd"}, + {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eabe7090db68c981fca689299c2d116400b553f4b713266b130cfc9e2aa9c5a9"}, + {file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f2f6d303f3dee132b322a14cd8765287b8f86cdc10d2cb6a6fae234ea488888e"}, + {file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d923ff276f1c1f9680d32832f8d6c040fe9306cbfb5d161b0911e9634be9ef0a"}, + {file = "greenlet-3.0.1-cp38-cp38-win32.whl", hash = "sha256:0b6f9f8ca7093fd4433472fd99b5650f8a26dcd8ba410e14094c1e44cd3ceddd"}, + {file = "greenlet-3.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:990066bff27c4fcf3b69382b86f4c99b3652bab2a7e685d968cd4d0cfc6f67c6"}, + {file = "greenlet-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ce85c43ae54845272f6f9cd8320d034d7a946e9773c693b27d620edec825e376"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89ee2e967bd7ff85d84a2de09df10e021c9b38c7d91dead95b406ed6350c6997"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87c8ceb0cf8a5a51b8008b643844b7f4a8264a2c13fcbcd8a8316161725383fe"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6a8c9d4f8692917a3dc7eb25a6fb337bff86909febe2f793ec1928cd97bedfc"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fbc5b8f3dfe24784cee8ce0be3da2d8a79e46a276593db6868382d9c50d97b1"}, + {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85d2b77e7c9382f004b41d9c72c85537fac834fb141b0296942d52bf03fe4a3d"}, + {file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:696d8e7d82398e810f2b3622b24e87906763b6ebfd90e361e88eb85b0e554dc8"}, + {file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:329c5a2e5a0ee942f2992c5e3ff40be03e75f745f48847f118a3cfece7a28546"}, + {file = "greenlet-3.0.1-cp39-cp39-win32.whl", hash = "sha256:cf868e08690cb89360eebc73ba4be7fb461cfbc6168dd88e2fbbe6f31812cd57"}, + {file = "greenlet-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:ac4a39d1abae48184d420aa8e5e63efd1b75c8444dd95daa3e03f6c6310e9619"}, + {file = "greenlet-3.0.1.tar.gz", hash = "sha256:816bd9488a94cba78d93e1abb58000e8266fa9cc2aa9ccdd6eb0696acb24005b"}, +] + +[package.extras] +docs = ["Sphinx"] +test = ["objgraph", "psutil"] + +[[package]] +name = "grpcio" +version = "1.59.3" +description = "HTTP/2-based RPC framework" +optional = false +python-versions = ">=3.7" +files = [ + {file = "grpcio-1.59.3-cp310-cp310-linux_armv7l.whl", hash = "sha256:aca028a6c7806e5b61e5f9f4232432c52856f7fcb98e330b20b6bc95d657bdcc"}, + {file = "grpcio-1.59.3-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:19ad26a7967f7999c8960d2b9fe382dae74c55b0c508c613a6c2ba21cddf2354"}, + {file = "grpcio-1.59.3-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:72b71dad2a3d1650e69ad42a5c4edbc59ee017f08c32c95694172bc501def23c"}, + {file = "grpcio-1.59.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0f0a11d82d0253656cc42e04b6a149521e02e755fe2e4edd21123de610fd1d4"}, + {file = "grpcio-1.59.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60cddafb70f9a2c81ba251b53b4007e07cca7389e704f86266e22c4bffd8bf1d"}, + {file = "grpcio-1.59.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6c75a1fa0e677c1d2b6d4196ad395a5c381dfb8385f07ed034ef667cdcdbcc25"}, + {file = "grpcio-1.59.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e1d8e01438d5964a11167eec1edb5f85ed8e475648f36c834ed5db4ffba24ac8"}, + {file = "grpcio-1.59.3-cp310-cp310-win32.whl", hash = "sha256:c4b0076f0bf29ee62335b055a9599f52000b7941f577daa001c7ef961a1fbeab"}, + {file = "grpcio-1.59.3-cp310-cp310-win_amd64.whl", hash = "sha256:b1f00a3e6e0c3dccccffb5579fc76ebfe4eb40405ba308505b41ef92f747746a"}, + {file = "grpcio-1.59.3-cp311-cp311-linux_armv7l.whl", hash = "sha256:3996aaa21231451161dc29df6a43fcaa8b332042b6150482c119a678d007dd86"}, + {file = "grpcio-1.59.3-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:cb4e9cbd9b7388fcb06412da9f188c7803742d06d6f626304eb838d1707ec7e3"}, + {file = "grpcio-1.59.3-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:8022ca303d6c694a0d7acfb2b472add920217618d3a99eb4b14edc7c6a7e8fcf"}, + {file = "grpcio-1.59.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b36683fad5664283755a7f4e2e804e243633634e93cd798a46247b8e54e3cb0d"}, + {file = "grpcio-1.59.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8239b853226e4824e769517e1b5232e7c4dda3815b200534500338960fcc6118"}, + {file = "grpcio-1.59.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0511af8653fbda489ff11d542a08505d56023e63cafbda60e6e00d4e0bae86ea"}, + {file = "grpcio-1.59.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78dc982bda74cef2ddfce1c91d29b96864c4c680c634e279ed204d51e227473"}, + {file = "grpcio-1.59.3-cp311-cp311-win32.whl", hash = "sha256:6a5c3a96405966c023e139c3bcccb2c7c776a6f256ac6d70f8558c9041bdccc3"}, + {file = "grpcio-1.59.3-cp311-cp311-win_amd64.whl", hash = "sha256:ed26826ee423b11477297b187371cdf4fa1eca874eb1156422ef3c9a60590dd9"}, + {file = "grpcio-1.59.3-cp312-cp312-linux_armv7l.whl", hash = "sha256:45dddc5cb5227d30fa43652d8872dc87f086d81ab4b500be99413bad0ae198d7"}, + {file = "grpcio-1.59.3-cp312-cp312-macosx_10_10_universal2.whl", hash = "sha256:1736496d74682e53dd0907fd515f2694d8e6a96c9a359b4080b2504bf2b2d91b"}, + {file = "grpcio-1.59.3-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:ddbd1a16138e52e66229047624de364f88a948a4d92ba20e4e25ad7d22eef025"}, + {file = "grpcio-1.59.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcfa56f8d031ffda902c258c84c4b88707f3a4be4827b4e3ab8ec7c24676320d"}, + {file = "grpcio-1.59.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2eb8f0c7c0c62f7a547ad7a91ba627a5aa32a5ae8d930783f7ee61680d7eb8d"}, + {file = "grpcio-1.59.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8d993399cc65e3a34f8fd48dd9ad7a376734564b822e0160dd18b3d00c1a33f9"}, + {file = "grpcio-1.59.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c0bd141f4f41907eb90bda74d969c3cb21c1c62779419782a5b3f5e4b5835718"}, + {file = "grpcio-1.59.3-cp312-cp312-win32.whl", hash = "sha256:33b8fd65d4e97efa62baec6171ce51f9cf68f3a8ba9f866f4abc9d62b5c97b79"}, + {file = "grpcio-1.59.3-cp312-cp312-win_amd64.whl", hash = "sha256:0e735ed002f50d4f3cb9ecfe8ac82403f5d842d274c92d99db64cfc998515e07"}, + {file = "grpcio-1.59.3-cp37-cp37m-linux_armv7l.whl", hash = "sha256:ea40ce4404e7cca0724c91a7404da410f0144148fdd58402a5942971e3469b94"}, + {file = "grpcio-1.59.3-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:83113bcc393477b6f7342b9f48e8a054330c895205517edc66789ceea0796b53"}, + {file = "grpcio-1.59.3-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:73afbac602b8f1212a50088193601f869b5073efa9855b3e51aaaec97848fc8a"}, + {file = "grpcio-1.59.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:575d61de1950b0b0699917b686b1ca108690702fcc2df127b8c9c9320f93e069"}, + {file = "grpcio-1.59.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cd76057b5c9a4d68814610ef9226925f94c1231bbe533fdf96f6181f7d2ff9e"}, + {file = "grpcio-1.59.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:95d6fd804c81efe4879e38bfd84d2b26e339a0a9b797e7615e884ef4686eb47b"}, + {file = "grpcio-1.59.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0d42048b8a3286ea4134faddf1f9a59cf98192b94aaa10d910a25613c5eb5bfb"}, + {file = "grpcio-1.59.3-cp37-cp37m-win_amd64.whl", hash = "sha256:4619fea15c64bcdd9d447cdbdde40e3d5f1da3a2e8ae84103d94a9c1df210d7e"}, + {file = "grpcio-1.59.3-cp38-cp38-linux_armv7l.whl", hash = "sha256:95b5506e70284ac03b2005dd9ffcb6708c9ae660669376f0192a710687a22556"}, + {file = "grpcio-1.59.3-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:9e17660947660ccfce56c7869032910c179a5328a77b73b37305cd1ee9301c2e"}, + {file = "grpcio-1.59.3-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:00912ce19914d038851be5cd380d94a03f9d195643c28e3ad03d355cc02ce7e8"}, + {file = "grpcio-1.59.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e58b3cadaa3c90f1efca26ba33e0d408b35b497307027d3d707e4bcd8de862a6"}, + {file = "grpcio-1.59.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d787ecadea865bdf78f6679f6f5bf4b984f18f659257ba612979df97a298b3c3"}, + {file = "grpcio-1.59.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0814942ba1bba269db4e760a34388640c601dece525c6a01f3b4ff030cc0db69"}, + {file = "grpcio-1.59.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fb111aa99d3180c361a35b5ae1e2c63750220c584a1344229abc139d5c891881"}, + {file = "grpcio-1.59.3-cp38-cp38-win32.whl", hash = "sha256:eb8ba504c726befe40a356ecbe63c6c3c64c9a439b3164f5a718ec53c9874da0"}, + {file = "grpcio-1.59.3-cp38-cp38-win_amd64.whl", hash = "sha256:cdbc6b32fadab9bebc6f49d3e7ec4c70983c71e965497adab7f87de218e84391"}, + {file = "grpcio-1.59.3-cp39-cp39-linux_armv7l.whl", hash = "sha256:c82ca1e4be24a98a253d6dbaa216542e4163f33f38163fc77964b0f0d255b552"}, + {file = "grpcio-1.59.3-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:36636babfda14f9e9687f28d5b66d349cf88c1301154dc71c6513de2b6c88c59"}, + {file = "grpcio-1.59.3-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:5f9b2e591da751ac7fdd316cc25afafb7a626dededa9b414f90faad7f3ccebdb"}, + {file = "grpcio-1.59.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a93a82876a4926bf451db82ceb725bd87f42292bacc94586045261f501a86994"}, + {file = "grpcio-1.59.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce31fa0bfdd1f2bb15b657c16105c8652186eab304eb512e6ae3b99b2fdd7d13"}, + {file = "grpcio-1.59.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:16da0e40573962dab6cba16bec31f25a4f468e6d05b658e589090fe103b03e3d"}, + {file = "grpcio-1.59.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1d1a17372fd425addd5812049fa7374008ffe689585f27f802d0935522cf4b7"}, + {file = "grpcio-1.59.3-cp39-cp39-win32.whl", hash = "sha256:52cc38a7241b5f7b4a91aaf9000fdd38e26bb00d5e8a71665ce40cfcee716281"}, + {file = "grpcio-1.59.3-cp39-cp39-win_amd64.whl", hash = "sha256:b491e5bbcad3020a96842040421e508780cade35baba30f402df9d321d1c423e"}, + {file = "grpcio-1.59.3.tar.gz", hash = "sha256:7800f99568a74a06ebdccd419dd1b6e639b477dcaf6da77ea702f8fb14ce5f80"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.59.3)"] + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "httpcore" +version = "1.0.2" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-1.0.2-py3-none-any.whl", hash = "sha256:096cc05bca73b8e459a1fc3dcf585148f63e534eae4339559c9b8a8d6399acc7"}, + {file = "httpcore-1.0.2.tar.gz", hash = "sha256:9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<0.23.0)"] + +[[package]] +name = "httptools" +version = "0.6.1" +description = "A collection of framework independent HTTP protocol utils." +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "httptools-0.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d2f6c3c4cb1948d912538217838f6e9960bc4a521d7f9b323b3da579cd14532f"}, + {file = "httptools-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:00d5d4b68a717765b1fabfd9ca755bd12bf44105eeb806c03d1962acd9b8e563"}, + {file = "httptools-0.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:639dc4f381a870c9ec860ce5c45921db50205a37cc3334e756269736ff0aac58"}, + {file = "httptools-0.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e57997ac7fb7ee43140cc03664de5f268813a481dff6245e0075925adc6aa185"}, + {file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0ac5a0ae3d9f4fe004318d64b8a854edd85ab76cffbf7ef5e32920faef62f142"}, + {file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3f30d3ce413088a98b9db71c60a6ada2001a08945cb42dd65a9a9fe228627658"}, + {file = "httptools-0.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:1ed99a373e327f0107cb513b61820102ee4f3675656a37a50083eda05dc9541b"}, + {file = "httptools-0.6.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7a7ea483c1a4485c71cb5f38be9db078f8b0e8b4c4dc0210f531cdd2ddac1ef1"}, + {file = "httptools-0.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:85ed077c995e942b6f1b07583e4eb0a8d324d418954fc6af913d36db7c05a5a0"}, + {file = "httptools-0.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b0bb634338334385351a1600a73e558ce619af390c2b38386206ac6a27fecfc"}, + {file = "httptools-0.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d9ceb2c957320def533671fc9c715a80c47025139c8d1f3797477decbc6edd2"}, + {file = "httptools-0.6.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4f0f8271c0a4db459f9dc807acd0eadd4839934a4b9b892f6f160e94da309837"}, + {file = "httptools-0.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6a4f5ccead6d18ec072ac0b84420e95d27c1cdf5c9f1bc8fbd8daf86bd94f43d"}, + {file = "httptools-0.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:5cceac09f164bcba55c0500a18fe3c47df29b62353198e4f37bbcc5d591172c3"}, + {file = "httptools-0.6.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:75c8022dca7935cba14741a42744eee13ba05db00b27a4b940f0d646bd4d56d0"}, + {file = "httptools-0.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:48ed8129cd9a0d62cf4d1575fcf90fb37e3ff7d5654d3a5814eb3d55f36478c2"}, + {file = "httptools-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f58e335a1402fb5a650e271e8c2d03cfa7cea46ae124649346d17bd30d59c90"}, + {file = "httptools-0.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93ad80d7176aa5788902f207a4e79885f0576134695dfb0fefc15b7a4648d503"}, + {file = "httptools-0.6.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9bb68d3a085c2174c2477eb3ffe84ae9fb4fde8792edb7bcd09a1d8467e30a84"}, + {file = "httptools-0.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b512aa728bc02354e5ac086ce76c3ce635b62f5fbc32ab7082b5e582d27867bb"}, + {file = "httptools-0.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:97662ce7fb196c785344d00d638fc9ad69e18ee4bfb4000b35a52efe5adcc949"}, + {file = "httptools-0.6.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8e216a038d2d52ea13fdd9b9c9c7459fb80d78302b257828285eca1c773b99b3"}, + {file = "httptools-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3e802e0b2378ade99cd666b5bffb8b2a7cc8f3d28988685dc300469ea8dd86cb"}, + {file = "httptools-0.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd3e488b447046e386a30f07af05f9b38d3d368d1f7b4d8f7e10af85393db97"}, + {file = "httptools-0.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe467eb086d80217b7584e61313ebadc8d187a4d95bb62031b7bab4b205c3ba3"}, + {file = "httptools-0.6.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3c3b214ce057c54675b00108ac42bacf2ab8f85c58e3f324a4e963bbc46424f4"}, + {file = "httptools-0.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8ae5b97f690badd2ca27cbf668494ee1b6d34cf1c464271ef7bfa9ca6b83ffaf"}, + {file = "httptools-0.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:405784577ba6540fa7d6ff49e37daf104e04f4b4ff2d1ac0469eaa6a20fde084"}, + {file = "httptools-0.6.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:95fb92dd3649f9cb139e9c56604cc2d7c7bf0fc2e7c8d7fbd58f96e35eddd2a3"}, + {file = "httptools-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dcbab042cc3ef272adc11220517278519adf8f53fd3056d0e68f0a6f891ba94e"}, + {file = "httptools-0.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cf2372e98406efb42e93bfe10f2948e467edfd792b015f1b4ecd897903d3e8d"}, + {file = "httptools-0.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:678fcbae74477a17d103b7cae78b74800d795d702083867ce160fc202104d0da"}, + {file = "httptools-0.6.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e0b281cf5a125c35f7f6722b65d8542d2e57331be573e9e88bc8b0115c4a7a81"}, + {file = "httptools-0.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:95658c342529bba4e1d3d2b1a874db16c7cca435e8827422154c9da76ac4e13a"}, + {file = "httptools-0.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ebaec1bf683e4bf5e9fbb49b8cc36da482033596a415b3e4ebab5a4c0d7ec5e"}, + {file = "httptools-0.6.1.tar.gz", hash = "sha256:c6e26c30455600b95d94b1b836085138e82f177351454ee841c148f93a9bad5a"}, +] + +[package.extras] +test = ["Cython (>=0.29.24,<0.30.0)"] + +[[package]] +name = "httpx" +version = "0.25.2" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.25.2-py3-none-any.whl", hash = "sha256:a05d3d052d9b2dfce0e3896636467f8a5342fb2b902c819428e1ac65413ca118"}, + {file = "httpx-0.25.2.tar.gz", hash = "sha256:8b8fcaa0c8ea7b05edd69a094e63a2094c4efcb48129fb757361bc423c0ad9e8"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = "==1.*" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] + +[[package]] +name = "httpx-sse" +version = "0.3.1" +description = "Consume Server-Sent Event (SSE) messages with HTTPX." +optional = false +python-versions = ">=3.7" +files = [ + {file = "httpx-sse-0.3.1.tar.gz", hash = "sha256:3bb3289b2867f50cbdb2fee3eeeefecb1e86653122e164faac0023f1ffc88aea"}, + {file = "httpx_sse-0.3.1-py3-none-any.whl", hash = "sha256:7376dd88732892f9b6b549ac0ad05a8e2341172fe7dcf9f8f9c8050934297316"}, +] + +[[package]] +name = "huggingface-hub" +version = "0.19.4" +description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "huggingface_hub-0.19.4-py3-none-any.whl", hash = "sha256:dba013f779da16f14b606492828f3760600a1e1801432d09fe1c33e50b825bb5"}, + {file = "huggingface_hub-0.19.4.tar.gz", hash = "sha256:176a4fc355a851c17550e7619488f383189727eab209534d7cef2114dae77b22"}, +] + +[package.dependencies] +filelock = "*" +fsspec = ">=2023.5.0" +packaging = ">=20.9" +pyyaml = ">=5.1" +requests = "*" +tqdm = ">=4.42.1" +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +cli = ["InquirerPy (==0.3.4)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +docs = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "hf-doc-builder", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)", "watchdog"] +fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] +inference = ["aiohttp", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)"] +quality = ["mypy (==1.5.1)", "ruff (>=0.1.3)"] +tensorflow = ["graphviz", "pydot", "tensorflow"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +torch = ["torch"] +typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] + +[[package]] +name = "humanfriendly" +version = "10.0" +description = "Human friendly output for text interfaces using Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] + +[package.dependencies] +pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] + +[[package]] +name = "importlib-resources" +version = "6.1.1" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.1.1-py3-none-any.whl", hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6"}, + {file = "importlib_resources-6.1.1.tar.gz", hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"] + +[[package]] +name = "jsonpatch" +version = "1.33" +description = "Apply JSON-Patches (RFC 6902)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, + {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, +] + +[[package]] +name = "langchain" +version = "0.0.351" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain-0.0.351-py3-none-any.whl", hash = "sha256:90cdaee27db2b2aeeb7b0709a79cbfe3e858fc9536b6bc3ea262135a6affc70f"}, + {file = "langchain-0.0.351.tar.gz", hash = "sha256:6bf2a8665a7a3ca2bbd4eea9889ecfd3d39ab23a505549a03860272474399b38"}, +] + +[package.dependencies] +aiohttp = ">=3.8.3,<4.0.0" +async-timeout = {version = ">=4.0.0,<5.0.0", markers = "python_version < \"3.11\""} +dataclasses-json = ">=0.5.7,<0.7" +jsonpatch = ">=1.33,<2.0" +langchain-community = ">=0.0.2,<0.1" +langchain-core = ">=0.1,<0.2" +langsmith = ">=0.0.70,<0.1.0" +numpy = ">=1,<2" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +requests = ">=2,<3" +SQLAlchemy = ">=1.4,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +azure = ["azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-textanalytics (>=5.3.0,<6.0.0)", "azure-ai-vision (>=0.11.1b1,<0.12.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-core (>=1.26.4,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "azure-search-documents (==11.4.0b8)", "openai (<2)"] +clarifai = ["clarifai (>=9.1.0)"] +cli = ["typer (>=0.9.0,<0.10.0)"] +cohere = ["cohere (>=4,<5)"] +docarray = ["docarray[hnswlib] (>=0.32.0,<0.33.0)"] +embeddings = ["sentence-transformers (>=2,<3)"] +extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<5)", "couchbase (>=4.1.9,<5.0.0)", "dashvector (>=1.0.1,<2.0.0)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "lxml (>=4.9.2,<5.0.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"] +javascript = ["esprima (>=4.0.1,<5.0.0)"] +llms = ["clarifai (>=9.1.0)", "cohere (>=4,<5)", "huggingface_hub (>=0,<1)", "manifest-ml (>=0.0.1,<0.0.2)", "nlpcloud (>=1,<2)", "openai (<2)", "openlm (>=0.0.5,<0.0.6)", "torch (>=1,<3)", "transformers (>=4,<5)"] +openai = ["openai (<2)", "tiktoken (>=0.3.2,<0.6.0)"] +qdrant = ["qdrant-client (>=1.3.1,<2.0.0)"] +text-helpers = ["chardet (>=5.1.0,<6.0.0)"] + +[[package]] +name = "langchain-cli" +version = "0.0.20" +description = "CLI for interacting with LangChain" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_cli-0.0.20-py3-none-any.whl", hash = "sha256:bfcf21a8a36362dc2aa406acb435468eab33847dc0ccaef6877d3d3d9e2fcfc9"}, + {file = "langchain_cli-0.0.20.tar.gz", hash = "sha256:a4d2eab44587851f44e14fd3d7eb9a17209d935d3adb07305c56602d07dcc722"}, +] + +[package.dependencies] +gitpython = ">=3.1.40,<4.0.0" +langserve = {version = ">=0.0.16", extras = ["all"]} +tomlkit = ">=0.12.2,<0.13.0" +typer = {version = ">=0.9.0,<0.10.0", extras = ["all"]} +uvicorn = ">=0.23.2,<0.24.0" + +[[package]] +name = "langchain-community" +version = "0.0.4" +description = "Community contributed LangChain integrations." +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_community-0.0.4-py3-none-any.whl", hash = "sha256:c021357e8d7570e3a5a03eaae9132b818d4376e39f3e865909464c6a9c4e6119"}, + {file = "langchain_community-0.0.4.tar.gz", hash = "sha256:7a5f8fff6272d6472004c86cb0b6202129a15d42bf94fb7da0c2477c5967212c"}, +] + +[package.dependencies] +aiohttp = ">=3.8.3,<4.0.0" +dataclasses-json = ">=0.5.7,<0.7" +langchain-core = ">=0.1,<0.2" +langsmith = ">=0.0.63,<0.1.0" +numpy = ">=1,<2" +PyYAML = ">=5.3" +requests = ">=2,<3" +SQLAlchemy = ">=1.4,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +cli = ["typer (>=0.9.0,<0.10.0)"] +extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<5)", "dashvector (>=1.0.1,<2.0.0)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "lxml (>=4.9.2,<5.0.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"] + +[[package]] +name = "langchain-core" +version = "0.1.0" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_core-0.1.0-py3-none-any.whl", hash = "sha256:6b155a175e1f1555860b22333c14161c652b0013e229e7b8a083639c821312a8"}, + {file = "langchain_core-0.1.0.tar.gz", hash = "sha256:4c70aa62905896b65c47a966f87584f72026cbe402655749281df81c794e0d6e"}, +] + +[package.dependencies] +anyio = ">=3,<5" +jsonpatch = ">=1.33,<2.0" +langsmith = ">=0.0.63,<0.1.0" +packaging = ">=23.2,<24.0" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +requests = ">=2,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +extended-testing = ["jinja2 (>=3,<4)"] + +[[package]] +name = "langchain-experimental" +version = "0.0.43" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_experimental-0.0.43-py3-none-any.whl", hash = "sha256:acc2af426f62ad18d5632b9136a5f851ed6bec662096dcbaea4bc94704968141"}, + {file = "langchain_experimental-0.0.43.tar.gz", hash = "sha256:d68eb7e5253575a8a30b4d6f218edbaf6db153a2bf344bdcd5ccf90b048f8477"}, +] + +[package.dependencies] +langchain = ">=0.0.342,<0.1" + +[package.extras] +extended-testing = ["faker (>=19.3.1,<20.0.0)", "presidio-analyzer (>=2.2.33,<3.0.0)", "presidio-anonymizer (>=2.2.33,<3.0.0)", "sentence-transformers (>=2,<3)", "vowpal-wabbit-next (==0.6.0)"] + +[[package]] +name = "langserve" +version = "0.0.32" +description = "" +optional = false +python-versions = ">=3.8.1,<4.0.0" +files = [ + {file = "langserve-0.0.32-py3-none-any.whl", hash = "sha256:41cc522fcec22f1d4e2ec05bd8952783a297fbf57c65eb2ab5ad29dff03caa86"}, + {file = "langserve-0.0.32.tar.gz", hash = "sha256:8773fe87ec27c263756d4f2dcd2f0fc8a970ac90e475a517703821bd5ae1836d"}, +] + +[package.dependencies] +fastapi = {version = ">=0.90.1,<1", optional = true, markers = "extra == \"server\" or extra == \"all\""} +httpx = ">=0.23.0" +httpx-sse = {version = ">=0.3.1", optional = true, markers = "extra == \"client\" or extra == \"all\""} +langchain = ">=0.0.333" +orjson = ">=2" +pydantic = ">=1" +sse-starlette = {version = ">=1.3.0,<2.0.0", optional = true, markers = "extra == \"server\" or extra == \"all\""} + +[package.extras] +all = ["fastapi (>=0.90.1,<1)", "httpx-sse (>=0.3.1)", "sse-starlette (>=1.3.0,<2.0.0)"] +client = ["httpx-sse (>=0.3.1)"] +server = ["fastapi (>=0.90.1,<1)", "sse-starlette (>=1.3.0,<2.0.0)"] + +[[package]] +name = "langsmith" +version = "0.0.71" +description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langsmith-0.0.71-py3-none-any.whl", hash = "sha256:dccc8522acbe64723ee6d54cb043f5c8d55512782b5eb3031add6691a00a28e1"}, + {file = "langsmith-0.0.71.tar.gz", hash = "sha256:1c6147563d7d658f5514299526a18d4e69e0e8ed59b99ad87abaf894eed1477a"}, +] + +[package.dependencies] +pydantic = ">=1,<3" +requests = ">=2,<3" + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "marshmallow" +version = "3.20.1" +description = "A lightweight library for converting complex datatypes to and from native Python datatypes." +optional = false +python-versions = ">=3.8" +files = [ + {file = "marshmallow-3.20.1-py3-none-any.whl", hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"}, + {file = "marshmallow-3.20.1.tar.gz", hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"}, +] + +[package.dependencies] +packaging = ">=17.0" + +[package.extras] +dev = ["flake8 (==6.0.0)", "flake8-bugbear (==23.7.10)", "mypy (==1.4.1)", "pre-commit (>=2.4,<4.0)", "pytest", "pytz", "simplejson", "tox"] +docs = ["alabaster (==0.7.13)", "autodocsumm (==0.2.11)", "sphinx (==7.0.1)", "sphinx-issues (==3.0.1)", "sphinx-version-warning (==1.1.2)"] +lint = ["flake8 (==6.0.0)", "flake8-bugbear (==23.7.10)", "mypy (==1.4.1)", "pre-commit (>=2.4,<4.0)"] +tests = ["pytest", "pytz", "simplejson"] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "monotonic" +version = "1.6" +description = "An implementation of time.monotonic() for Python 2 & < 3.3" +optional = false +python-versions = "*" +files = [ + {file = "monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"}, + {file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"}, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +description = "Python library for arbitrary-precision floating-point arithmetic" +optional = false +python-versions = "*" +files = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] + +[package.extras] +develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] +docs = ["sphinx"] +gmpy = ["gmpy2 (>=2.1.0a4)"] +tests = ["pytest (>=4.6)"] + +[[package]] +name = "multidict" +version = "6.0.4" +description = "multidict implementation" +optional = false +python-versions = ">=3.7" +files = [ + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, + {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, + {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, + {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, + {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, + {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, + {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, + {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, + {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, + {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, + {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, + {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, + {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "numpy" +version = "1.24.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, + {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, + {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, + {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, + {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, + {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, + {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, + {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, + {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, + {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, +] + +[[package]] +name = "onnxruntime" +version = "1.16.3" +description = "ONNX Runtime is a runtime accelerator for Machine Learning models" +optional = false +python-versions = "*" +files = [ + {file = "onnxruntime-1.16.3-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3bc41f323ac77acfed190be8ffdc47a6a75e4beeb3473fbf55eeb075ccca8df2"}, + {file = "onnxruntime-1.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:212741b519ee61a4822c79c47147d63a8b0ffde25cd33988d3d7be9fbd51005d"}, + {file = "onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f91f5497fe3df4ceee2f9e66c6148d9bfeb320cd6a71df361c66c5b8bac985a"}, + {file = "onnxruntime-1.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b1fc269cabd27f129fb9058917d6fdc89b188c49ed8700f300b945c81f889"}, + {file = "onnxruntime-1.16.3-cp310-cp310-win32.whl", hash = "sha256:f36b56a593b49a3c430be008c2aea6658d91a3030115729609ec1d5ffbaab1b6"}, + {file = "onnxruntime-1.16.3-cp310-cp310-win_amd64.whl", hash = "sha256:3c467eaa3d2429c026b10c3d17b78b7f311f718ef9d2a0d6938e5c3c2611b0cf"}, + {file = "onnxruntime-1.16.3-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a225bb683991001d111f75323d355b3590e75e16b5e0f07a0401e741a0143ea1"}, + {file = "onnxruntime-1.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9aded21fe3d898edd86be8aa2eb995aa375e800ad3dfe4be9f618a20b8ee3630"}, + {file = "onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00cccc37a5195c8fca5011b9690b349db435986bd508eb44c9fce432da9228a4"}, + {file = "onnxruntime-1.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e253e572021563226a86f1c024f8f70cdae28f2fb1cc8c3a9221e8b1ce37db5"}, + {file = "onnxruntime-1.16.3-cp311-cp311-win32.whl", hash = "sha256:a82a8f0b4c978d08f9f5c7a6019ae51151bced9fd91e5aaa0c20a9e4ac7a60b6"}, + {file = "onnxruntime-1.16.3-cp311-cp311-win_amd64.whl", hash = "sha256:78d81d9af457a1dc90db9a7da0d09f3ccb1288ea1236c6ab19f0ca61f3eee2d3"}, + {file = "onnxruntime-1.16.3-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:04ebcd29c20473596a1412e471524b2fb88d55e6301c40b98dd2407b5911595f"}, + {file = "onnxruntime-1.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9996bab0f202a6435ab867bc55598f15210d0b72794d5de83712b53d564084ae"}, + {file = "onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b8f5083f903408238883821dd8c775f8120cb4a604166dbdabe97f4715256d5"}, + {file = "onnxruntime-1.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c2dcf1b70f8434abb1116fe0975c00e740722aaf321997195ea3618cc00558e"}, + {file = "onnxruntime-1.16.3-cp38-cp38-win32.whl", hash = "sha256:d4a0151e1accd04da6711f6fd89024509602f82c65a754498e960b032359b02d"}, + {file = "onnxruntime-1.16.3-cp38-cp38-win_amd64.whl", hash = "sha256:e8aa5bba78afbd4d8a2654b14ec7462ff3ce4a6aad312a3c2d2c2b65009f2541"}, + {file = "onnxruntime-1.16.3-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:6829dc2a79d48c911fedaf4c0f01e03c86297d32718a3fdee7a282766dfd282a"}, + {file = "onnxruntime-1.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:76f876c53bfa912c6c242fc38213a6f13f47612d4360bc9d599bd23753e53161"}, + {file = "onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4137e5d443e2dccebe5e156a47f1d6d66f8077b03587c35f11ee0c7eda98b533"}, + {file = "onnxruntime-1.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c56695c1a343c7c008b647fff3df44da63741fbe7b6003ef576758640719be7b"}, + {file = "onnxruntime-1.16.3-cp39-cp39-win32.whl", hash = "sha256:985a029798744ce4743fcf8442240fed35c8e4d4d30ec7d0c2cdf1388cd44408"}, + {file = "onnxruntime-1.16.3-cp39-cp39-win_amd64.whl", hash = "sha256:28ff758b17ce3ca6bcad3d936ec53bd7f5482e7630a13f6dcae518eba8f71d85"}, +] + +[package.dependencies] +coloredlogs = "*" +flatbuffers = "*" +numpy = ">=1.21.6" +packaging = "*" +protobuf = "*" +sympy = "*" + +[[package]] +name = "openai" +version = "1.3.7" +description = "The official Python library for the openai API" +optional = false +python-versions = ">=3.7.1" +files = [ + {file = "openai-1.3.7-py3-none-any.whl", hash = "sha256:e5c51367a910297e4d1cd33d2298fb87d7edf681edbe012873925ac16f95bee0"}, + {file = "openai-1.3.7.tar.gz", hash = "sha256:18074a0f51f9b49d1ae268c7abc36f7f33212a0c0d08ce11b7053ab2d17798de"}, +] + +[package.dependencies] +anyio = ">=3.5.0,<4" +distro = ">=1.7.0,<2" +httpx = ">=0.23.0,<1" +pydantic = ">=1.9.0,<3" +sniffio = "*" +tqdm = ">4" +typing-extensions = ">=4.5,<5" + +[package.extras] +datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] + +[[package]] +name = "orjson" +version = "3.9.10" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.9.10-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c18a4da2f50050a03d1da5317388ef84a16013302a5281d6f64e4a3f406aabc4"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5148bab4d71f58948c7c39d12b14a9005b6ab35a0bdf317a8ade9a9e4d9d0bd5"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cf7837c3b11a2dfb589f8530b3cff2bd0307ace4c301e8997e95c7468c1378e"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c62b6fa2961a1dcc51ebe88771be5319a93fd89bd247c9ddf732bc250507bc2b"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:deeb3922a7a804755bbe6b5be9b312e746137a03600f488290318936c1a2d4dc"}, + {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1234dc92d011d3554d929b6cf058ac4a24d188d97be5e04355f1b9223e98bbe9"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:06ad5543217e0e46fd7ab7ea45d506c76f878b87b1b4e369006bdb01acc05a83"}, + {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fd72fab7bddce46c6826994ce1e7de145ae1e9e106ebb8eb9ce1393ca01444d"}, + {file = "orjson-3.9.10-cp310-none-win32.whl", hash = "sha256:b5b7d4a44cc0e6ff98da5d56cde794385bdd212a86563ac321ca64d7f80c80d1"}, + {file = "orjson-3.9.10-cp310-none-win_amd64.whl", hash = "sha256:61804231099214e2f84998316f3238c4c2c4aaec302df12b21a64d72e2a135c7"}, + {file = "orjson-3.9.10-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cff7570d492bcf4b64cc862a6e2fb77edd5e5748ad715f487628f102815165e9"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8bc367f725dfc5cabeed1ae079d00369900231fbb5a5280cf0736c30e2adf7"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c812312847867b6335cfb264772f2a7e85b3b502d3a6b0586aa35e1858528ab1"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edd2856611e5050004f4722922b7b1cd6268da34102667bd49d2a2b18bafb81"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:674eb520f02422546c40401f4efaf8207b5e29e420c17051cddf6c02783ff5ca"}, + {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0dc4310da8b5f6415949bd5ef937e60aeb0eb6b16f95041b5e43e6200821fb"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99c625b8c95d7741fe057585176b1b8783d46ed4b8932cf98ee145c4facf499"}, + {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec6f18f96b47299c11203edfbdc34e1b69085070d9a3d1f302810cc23ad36bf3"}, + {file = "orjson-3.9.10-cp311-none-win32.whl", hash = "sha256:ce0a29c28dfb8eccd0f16219360530bc3cfdf6bf70ca384dacd36e6c650ef8e8"}, + {file = "orjson-3.9.10-cp311-none-win_amd64.whl", hash = "sha256:cf80b550092cc480a0cbd0750e8189247ff45457e5a023305f7ef1bcec811616"}, + {file = "orjson-3.9.10-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:602a8001bdf60e1a7d544be29c82560a7b49319a0b31d62586548835bbe2c862"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f295efcd47b6124b01255d1491f9e46f17ef40d3d7eabf7364099e463fb45f0f"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92af0d00091e744587221e79f68d617b432425a7e59328ca4c496f774a356071"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5a02360e73e7208a872bf65a7554c9f15df5fe063dc047f79738998b0506a14"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:858379cbb08d84fe7583231077d9a36a1a20eb72f8c9076a45df8b083724ad1d"}, + {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666c6fdcaac1f13eb982b649e1c311c08d7097cbda24f32612dae43648d8db8d"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3fb205ab52a2e30354640780ce4587157a9563a68c9beaf52153e1cea9aa0921"}, + {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7ec960b1b942ee3c69323b8721df2a3ce28ff40e7ca47873ae35bfafeb4555ca"}, + {file = "orjson-3.9.10-cp312-none-win_amd64.whl", hash = "sha256:3e892621434392199efb54e69edfff9f699f6cc36dd9553c5bf796058b14b20d"}, + {file = "orjson-3.9.10-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8b9ba0ccd5a7f4219e67fbbe25e6b4a46ceef783c42af7dbc1da548eb28b6531"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e2ecd1d349e62e3960695214f40939bbfdcaeaaa62ccc638f8e651cf0970e5f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f433be3b3f4c66016d5a20e5b4444ef833a1f802ced13a2d852c637f69729c1"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4689270c35d4bb3102e103ac43c3f0b76b169760aff8bcf2d401a3e0e58cdb7f"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bd176f528a8151a6efc5359b853ba3cc0e82d4cd1fab9c1300c5d957dc8f48c"}, + {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a2ce5ea4f71681623f04e2b7dadede3c7435dfb5e5e2d1d0ec25b35530e277b"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:49f8ad582da6e8d2cf663c4ba5bf9f83cc052570a3a767487fec6af839b0e777"}, + {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2a11b4b1a8415f105d989876a19b173f6cdc89ca13855ccc67c18efbd7cbd1f8"}, + {file = "orjson-3.9.10-cp38-none-win32.whl", hash = "sha256:a353bf1f565ed27ba71a419b2cd3db9d6151da426b61b289b6ba1422a702e643"}, + {file = "orjson-3.9.10-cp38-none-win_amd64.whl", hash = "sha256:e28a50b5be854e18d54f75ef1bb13e1abf4bc650ab9d635e4258c58e71eb6ad5"}, + {file = "orjson-3.9.10-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ee5926746232f627a3be1cc175b2cfad24d0170d520361f4ce3fa2fd83f09e1d"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a73160e823151f33cdc05fe2cea557c5ef12fdf276ce29bb4f1c571c8368a60"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c338ed69ad0b8f8f8920c13f529889fe0771abbb46550013e3c3d01e5174deef"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5869e8e130e99687d9e4be835116c4ebd83ca92e52e55810962446d841aba8de"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2c1e559d96a7f94a4f581e2a32d6d610df5840881a8cba8f25e446f4d792df3"}, + {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a3a3a72c9811b56adf8bcc829b010163bb2fc308877e50e9910c9357e78521"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7f8fb7f5ecf4f6355683ac6881fd64b5bb2b8a60e3ccde6ff799e48791d8f864"}, + {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c943b35ecdf7123b2d81d225397efddf0bce2e81db2f3ae633ead38e85cd5ade"}, + {file = "orjson-3.9.10-cp39-none-win32.whl", hash = "sha256:fb0b361d73f6b8eeceba47cd37070b5e6c9de5beaeaa63a1cb35c7e1a73ef088"}, + {file = "orjson-3.9.10-cp39-none-win_amd64.whl", hash = "sha256:b90f340cb6397ec7a854157fac03f0c82b744abdd1c0941a024c3c29d1340aff"}, + {file = "orjson-3.9.10.tar.gz", hash = "sha256:9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1"}, +] + +[[package]] +name = "overrides" +version = "7.4.0" +description = "A decorator to automatically detect mismatch when overriding a method." +optional = false +python-versions = ">=3.6" +files = [ + {file = "overrides-7.4.0-py3-none-any.whl", hash = "sha256:3ad24583f86d6d7a49049695efe9933e67ba62f0c7625d53c59fa832ce4b8b7d"}, + {file = "overrides-7.4.0.tar.gz", hash = "sha256:9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757"}, +] + +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + +[[package]] +name = "pillow" +version = "10.1.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "Pillow-10.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1ab05f3db77e98f93964697c8efc49c7954b08dd61cff526b7f2531a22410106"}, + {file = "Pillow-10.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6932a7652464746fcb484f7fc3618e6503d2066d853f68a4bd97193a3996e273"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f63b5a68daedc54c7c3464508d8c12075e56dcfbd42f8c1bf40169061ae666"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0949b55eb607898e28eaccb525ab104b2d86542a85c74baf3a6dc24002edec2"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ae88931f93214777c7a3aa0a8f92a683f83ecde27f65a45f95f22d289a69e593"}, + {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b0eb01ca85b2361b09480784a7931fc648ed8b7836f01fb9241141b968feb1db"}, + {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d27b5997bdd2eb9fb199982bb7eb6164db0426904020dc38c10203187ae2ff2f"}, + {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7df5608bc38bd37ef585ae9c38c9cd46d7c81498f086915b0f97255ea60c2818"}, + {file = "Pillow-10.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:41f67248d92a5e0a2076d3517d8d4b1e41a97e2df10eb8f93106c89107f38b57"}, + {file = "Pillow-10.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1fb29c07478e6c06a46b867e43b0bcdb241b44cc52be9bc25ce5944eed4648e7"}, + {file = "Pillow-10.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2cdc65a46e74514ce742c2013cd4a2d12e8553e3a2563c64879f7c7e4d28bce7"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50d08cd0a2ecd2a8657bd3d82c71efd5a58edb04d9308185d66c3a5a5bed9610"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062a1610e3bc258bff2328ec43f34244fcec972ee0717200cb1425214fe5b839"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:61f1a9d247317fa08a308daaa8ee7b3f760ab1809ca2da14ecc88ae4257d6172"}, + {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a646e48de237d860c36e0db37ecaecaa3619e6f3e9d5319e527ccbc8151df061"}, + {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:47e5bf85b80abc03be7455c95b6d6e4896a62f6541c1f2ce77a7d2bb832af262"}, + {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a92386125e9ee90381c3369f57a2a50fa9e6aa8b1cf1d9c4b200d41a7dd8e992"}, + {file = "Pillow-10.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f7c276c05a9767e877a0b4c5050c8bee6a6d960d7f0c11ebda6b99746068c2a"}, + {file = "Pillow-10.1.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:a89b8312d51715b510a4fe9fc13686283f376cfd5abca8cd1c65e4c76e21081b"}, + {file = "Pillow-10.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:00f438bb841382b15d7deb9a05cc946ee0f2c352653c7aa659e75e592f6fa17d"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d929a19f5469b3f4df33a3df2983db070ebb2088a1e145e18facbc28cae5b27"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a92109192b360634a4489c0c756364c0c3a2992906752165ecb50544c251312"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:0248f86b3ea061e67817c47ecbe82c23f9dd5d5226200eb9090b3873d3ca32de"}, + {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9882a7451c680c12f232a422730f986a1fcd808da0fd428f08b671237237d651"}, + {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c3ac5423c8c1da5928aa12c6e258921956757d976405e9467c5f39d1d577a4b"}, + {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:806abdd8249ba3953c33742506fe414880bad78ac25cc9a9b1c6ae97bedd573f"}, + {file = "Pillow-10.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:eaed6977fa73408b7b8a24e8b14e59e1668cfc0f4c40193ea7ced8e210adf996"}, + {file = "Pillow-10.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:fe1e26e1ffc38be097f0ba1d0d07fcade2bcfd1d023cda5b29935ae8052bd793"}, + {file = "Pillow-10.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7a7e3daa202beb61821c06d2517428e8e7c1aab08943e92ec9e5755c2fc9ba5e"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24fadc71218ad2b8ffe437b54876c9382b4a29e030a05a9879f615091f42ffc2"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1d323703cfdac2036af05191b969b910d8f115cf53093125e4058f62012c9a"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:912e3812a1dbbc834da2b32299b124b5ddcb664ed354916fd1ed6f193f0e2d01"}, + {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7dbaa3c7de82ef37e7708521be41db5565004258ca76945ad74a8e998c30af8d"}, + {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9d7bc666bd8c5a4225e7ac71f2f9d12466ec555e89092728ea0f5c0c2422ea80"}, + {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baada14941c83079bf84c037e2d8b7506ce201e92e3d2fa0d1303507a8538212"}, + {file = "Pillow-10.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:2ef6721c97894a7aa77723740a09547197533146fba8355e86d6d9a4a1056b14"}, + {file = "Pillow-10.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0a026c188be3b443916179f5d04548092e253beb0c3e2ee0a4e2cdad72f66099"}, + {file = "Pillow-10.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04f6f6149f266a100374ca3cc368b67fb27c4af9f1cc8cb6306d849dcdf12616"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb40c011447712d2e19cc261c82655f75f32cb724788df315ed992a4d65696bb"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a8413794b4ad9719346cd9306118450b7b00d9a15846451549314a58ac42219"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c9aeea7b63edb7884b031a35305629a7593272b54f429a9869a4f63a1bf04c34"}, + {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b4005fee46ed9be0b8fb42be0c20e79411533d1fd58edabebc0dd24626882cfd"}, + {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0152565c6aa6ebbfb1e5d8624140a440f2b99bf7afaafbdbf6430426497f28"}, + {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d921bc90b1defa55c9917ca6b6b71430e4286fc9e44c55ead78ca1a9f9eba5f2"}, + {file = "Pillow-10.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfe96560c6ce2f4c07d6647af2d0f3c54cc33289894ebd88cfbb3bcd5391e256"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:937bdc5a7f5343d1c97dc98149a0be7eb9704e937fe3dc7140e229ae4fc572a7"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c25762197144e211efb5f4e8ad656f36c8d214d390585d1d21281f46d556ba"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:afc8eef765d948543a4775f00b7b8c079b3321d6b675dde0d02afa2ee23000b4"}, + {file = "Pillow-10.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:883f216eac8712b83a63f41b76ddfb7b2afab1b74abbb413c5df6680f071a6b9"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b920e4d028f6442bea9a75b7491c063f0b9a3972520731ed26c83e254302eb1e"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c41d960babf951e01a49c9746f92c5a7e0d939d1652d7ba30f6b3090f27e412"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1fafabe50a6977ac70dfe829b2d5735fd54e190ab55259ec8aea4aaea412fa0b"}, + {file = "Pillow-10.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b834f4b16173e5b92ab6566f0473bfb09f939ba14b23b8da1f54fa63e4b623f"}, + {file = "Pillow-10.1.0.tar.gz", hash = "sha256:e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "posthog" +version = "3.0.2" +description = "Integrate PostHog into any python application." +optional = false +python-versions = "*" +files = [ + {file = "posthog-3.0.2-py2.py3-none-any.whl", hash = "sha256:a8c0af6f2401fbe50f90e68c4143d0824b54e872de036b1c2f23b5abb39d88ce"}, + {file = "posthog-3.0.2.tar.gz", hash = "sha256:701fba6e446a4de687c6e861b587e7b7741955ad624bf34fe013c06a0fec6fb3"}, +] + +[package.dependencies] +backoff = ">=1.10.0" +monotonic = ">=1.5" +python-dateutil = ">2.1" +requests = ">=2.7,<3.0" +six = ">=1.5" + +[package.extras] +dev = ["black", "flake8", "flake8-print", "isort", "pre-commit"] +sentry = ["django", "sentry-sdk"] +test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint", "pytest"] + +[[package]] +name = "protobuf" +version = "4.25.1" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "protobuf-4.25.1-cp310-abi3-win32.whl", hash = "sha256:193f50a6ab78a970c9b4f148e7c750cfde64f59815e86f686c22e26b4fe01ce7"}, + {file = "protobuf-4.25.1-cp310-abi3-win_amd64.whl", hash = "sha256:3497c1af9f2526962f09329fd61a36566305e6c72da2590ae0d7d1322818843b"}, + {file = "protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:0bf384e75b92c42830c0a679b0cd4d6e2b36ae0cf3dbb1e1dfdda48a244f4bcd"}, + {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:0f881b589ff449bf0b931a711926e9ddaad3b35089cc039ce1af50b21a4ae8cb"}, + {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:ca37bf6a6d0046272c152eea90d2e4ef34593aaa32e8873fc14c16440f22d4b7"}, + {file = "protobuf-4.25.1-cp38-cp38-win32.whl", hash = "sha256:abc0525ae2689a8000837729eef7883b9391cd6aa7950249dcf5a4ede230d5dd"}, + {file = "protobuf-4.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:1484f9e692091450e7edf418c939e15bfc8fc68856e36ce399aed6889dae8bb0"}, + {file = "protobuf-4.25.1-cp39-cp39-win32.whl", hash = "sha256:8bdbeaddaac52d15c6dce38c71b03038ef7772b977847eb6d374fc86636fa510"}, + {file = "protobuf-4.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:becc576b7e6b553d22cbdf418686ee4daa443d7217999125c045ad56322dda10"}, + {file = "protobuf-4.25.1-py3-none-any.whl", hash = "sha256:a19731d5e83ae4737bb2a089605e636077ac001d18781b3cf489b9546c7c80d6"}, + {file = "protobuf-4.25.1.tar.gz", hash = "sha256:57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2"}, +] + +[[package]] +name = "pulsar-client" +version = "3.3.0" +description = "Apache Pulsar Python client library" +optional = false +python-versions = "*" +files = [ + {file = "pulsar_client-3.3.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:c31afd3e67a044ff93177df89e08febf214cc965e95ede097d9fe8755af00e01"}, + {file = "pulsar_client-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f66982284571674b215324cc26b5c2f7c56c7043113c47a7084cb70d67a8afb"}, + {file = "pulsar_client-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fe50a06f81c48a75a9b95c27a6446260039adca71d9face273740de96b2efca"}, + {file = "pulsar_client-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d4c46a4b96a6e9919cfe220156d69a2ede8053d9ea1add4ada108abcf2ba9775"}, + {file = "pulsar_client-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1e4b5d44b992c9b036286b483f3588c10b89c6047fb59d80c7474445997f4e10"}, + {file = "pulsar_client-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:497a59ac6b650835a3b2c502f53477e5c98e5226998ca3f17c0b0a3eb4d67d08"}, + {file = "pulsar_client-3.3.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:386e78ff52058d881780bae1f6e84ac9434ae0b01a8581755ca8cc0dc844a332"}, + {file = "pulsar_client-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e4ecb780df58bcfd3918590bd3ff31ed79bccfbef3a1a60370642eb1e14a9d2"}, + {file = "pulsar_client-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ce1e215c252f22a6f26ca5e9076826041a04d88dc213b92c86b524be2774a64"}, + {file = "pulsar_client-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:88b0fd5be73a4103986b9dbe3a66468cf8829371e34af87ff8f216e3980f4cbe"}, + {file = "pulsar_client-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33656450536d83eed1563ff09692c2c415fb199d88e9ed97d701ca446a119e1b"}, + {file = "pulsar_client-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:ce33de700b06583df8777e139d68cb4b4b3d0a2eac168d74278d8935f357fb10"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-macosx_10_15_universal2.whl", hash = "sha256:7b5dd25cf778d6c980d36c53081e843ea272afe7af4f0ad6394ae9513f94641b"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c4e6865fda62a2e460f823dce4d49ac2973a4459b8ff99eda5fdd6aaaebf46"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1810ddc623c8de2675d17405ce47057a9a2b92298e708ce4d9564847f5ad904"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8259c3b856eb6deaa1f93dce893ab18d99d36d102da5612c8e97a4fb41b70ab1"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:5e7a48b2e505cde758fd51a601b5da0671fa98c9baee38362aaaa3ab2b930c28"}, + {file = "pulsar_client-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ede264385d47257b2f2b08ecde9181ec5338bea5639cc543d1856f01736778d2"}, + {file = "pulsar_client-3.3.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:0f64c62746ccd5b65a0c505f5f40b9af1f147eb1fa2d8f9c90cd5c8b92dd8597"}, + {file = "pulsar_client-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b84a20c9012e3c4ef1b7085acd7467197118c090b378dec27d773fb79d91556"}, + {file = "pulsar_client-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4e15fa696e275ccb66d0791fdc19c4dea0420d81349c8055e485b134125e14f"}, + {file = "pulsar_client-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:72cbb1bdcba2dd1265296b5ba65331622ee89c16db75edaad46dd7b90c6dd447"}, + {file = "pulsar_client-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d54dd12955bf587dd46d9184444af5e853d9da2a14bbfb739ed2c7c3b78ce280"}, + {file = "pulsar_client-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:43f98afdf0334b2b957a4d96f97a1fe8a7f7fd1e2631d40c3f00b4162f396485"}, + {file = "pulsar_client-3.3.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:efe7c1e6a96daccc522c3567b6847ffa54c13e0f510d9a427b4aeff9fbebe54b"}, + {file = "pulsar_client-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f28e94420090fceeb38e23fc744f3edf8710e48314ef5927d2b674a1d1e43ee0"}, + {file = "pulsar_client-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42c8f3eaa98e2351805ecb6efb6d5fedf47a314a3ce6af0e05ea1449ea7244ed"}, + {file = "pulsar_client-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5e69750f8ae57e55fddf97b459ce0d8b38b2bb85f464a71e871ee6a86d893be7"}, + {file = "pulsar_client-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7e147e5ba460c1818bc05254279a885b4e552bcafb8961d40e31f98d5ff46628"}, + {file = "pulsar_client-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:694530af1d6c75fb81456fb509778c1868adee31e997ddece6e21678200182ea"}, +] + +[package.dependencies] +certifi = "*" + +[package.extras] +all = ["apache-bookkeeper-client (>=4.16.1)", "fastavro (==1.7.3)", "grpcio (>=1.8.2)", "prometheus-client", "protobuf (>=3.6.1,<=3.20.3)", "ratelimit"] +avro = ["fastavro (==1.7.3)"] +functions = ["apache-bookkeeper-client (>=4.16.1)", "grpcio (>=1.8.2)", "prometheus-client", "protobuf (>=3.6.1,<=3.20.3)", "ratelimit"] + +[[package]] +name = "pydantic" +version = "2.5.2" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-2.5.2-py3-none-any.whl", hash = "sha256:80c50fb8e3dcecfddae1adbcc00ec5822918490c99ab31f6cf6140ca1c1429f0"}, + {file = "pydantic-2.5.2.tar.gz", hash = "sha256:ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd"}, +] + +[package.dependencies] +annotated-types = ">=0.4.0" +pydantic-core = "2.14.5" +typing-extensions = ">=4.6.1" + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.14.5" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:7e88f5696153dc516ba6e79f82cc4747e87027205f0e02390c21f7cb3bd8abfd"}, + {file = "pydantic_core-2.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4641e8ad4efb697f38a9b64ca0523b557c7931c5f84e0fd377a9a3b05121f0de"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774de879d212db5ce02dfbf5b0da9a0ea386aeba12b0b95674a4ce0593df3d07"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebb4e035e28f49b6f1a7032920bb9a0c064aedbbabe52c543343d39341a5b2a3"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b53e9ad053cd064f7e473a5f29b37fc4cc9dc6d35f341e6afc0155ea257fc911"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aa1768c151cf562a9992462239dfc356b3d1037cc5a3ac829bb7f3bda7cc1f9"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eac5c82fc632c599f4639a5886f96867ffced74458c7db61bc9a66ccb8ee3113"}, + {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae91f50ccc5810b2f1b6b858257c9ad2e08da70bf890dee02de1775a387c66"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6b9ff467ffbab9110e80e8c8de3bcfce8e8b0fd5661ac44a09ae5901668ba997"}, + {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61ea96a78378e3bd5a0be99b0e5ed00057b71f66115f5404d0dae4819f495093"}, + {file = "pydantic_core-2.14.5-cp310-none-win32.whl", hash = "sha256:bb4c2eda937a5e74c38a41b33d8c77220380a388d689bcdb9b187cf6224c9720"}, + {file = "pydantic_core-2.14.5-cp310-none-win_amd64.whl", hash = "sha256:b7851992faf25eac90bfcb7bfd19e1f5ffa00afd57daec8a0042e63c74a4551b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4e40f2bd0d57dac3feb3a3aed50f17d83436c9e6b09b16af271b6230a2915459"}, + {file = "pydantic_core-2.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ab1cdb0f14dc161ebc268c09db04d2c9e6f70027f3b42446fa11c153521c0e88"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aae7ea3a1c5bb40c93cad361b3e869b180ac174656120c42b9fadebf685d121b"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60b7607753ba62cf0739177913b858140f11b8af72f22860c28eabb2f0a61937"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2248485b0322c75aee7565d95ad0e16f1c67403a470d02f94da7344184be770f"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:823fcc638f67035137a5cd3f1584a4542d35a951c3cc68c6ead1df7dac825c26"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96581cfefa9123accc465a5fd0cc833ac4d75d55cc30b633b402e00e7ced00a6"}, + {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a33324437018bf6ba1bb0f921788788641439e0ed654b233285b9c69704c27b4"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9bd18fee0923ca10f9a3ff67d4851c9d3e22b7bc63d1eddc12f439f436f2aada"}, + {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:853a2295c00f1d4429db4c0fb9475958543ee80cfd310814b5c0ef502de24dda"}, + {file = "pydantic_core-2.14.5-cp311-none-win32.whl", hash = "sha256:cb774298da62aea5c80a89bd58c40205ab4c2abf4834453b5de207d59d2e1651"}, + {file = "pydantic_core-2.14.5-cp311-none-win_amd64.whl", hash = "sha256:e87fc540c6cac7f29ede02e0f989d4233f88ad439c5cdee56f693cc9c1c78077"}, + {file = "pydantic_core-2.14.5-cp311-none-win_arm64.whl", hash = "sha256:57d52fa717ff445cb0a5ab5237db502e6be50809b43a596fb569630c665abddf"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e60f112ac88db9261ad3a52032ea46388378034f3279c643499edb982536a093"}, + {file = "pydantic_core-2.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6e227c40c02fd873c2a73a98c1280c10315cbebe26734c196ef4514776120aeb"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0cbc7fff06a90bbd875cc201f94ef0ee3929dfbd5c55a06674b60857b8b85ed"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:103ef8d5b58596a731b690112819501ba1db7a36f4ee99f7892c40da02c3e189"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c949f04ecad823f81b1ba94e7d189d9dfb81edbb94ed3f8acfce41e682e48cef"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1452a1acdf914d194159439eb21e56b89aa903f2e1c65c60b9d874f9b950e5d"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4679d4c2b089e5ef89756bc73e1926745e995d76e11925e3e96a76d5fa51fc"}, + {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf9d3fe53b1ee360e2421be95e62ca9b3296bf3f2fb2d3b83ca49ad3f925835e"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:70f4b4851dbb500129681d04cc955be2a90b2248d69273a787dda120d5cf1f69"}, + {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:59986de5710ad9613ff61dd9b02bdd2f615f1a7052304b79cc8fa2eb4e336d2d"}, + {file = "pydantic_core-2.14.5-cp312-none-win32.whl", hash = "sha256:699156034181e2ce106c89ddb4b6504c30db8caa86e0c30de47b3e0654543260"}, + {file = "pydantic_core-2.14.5-cp312-none-win_amd64.whl", hash = "sha256:5baab5455c7a538ac7e8bf1feec4278a66436197592a9bed538160a2e7d11e36"}, + {file = "pydantic_core-2.14.5-cp312-none-win_arm64.whl", hash = "sha256:e47e9a08bcc04d20975b6434cc50bf82665fbc751bcce739d04a3120428f3e27"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:af36f36538418f3806048f3b242a1777e2540ff9efaa667c27da63d2749dbce0"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:45e95333b8418ded64745f14574aa9bfc212cb4fbeed7a687b0c6e53b5e188cd"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e47a76848f92529879ecfc417ff88a2806438f57be4a6a8bf2961e8f9ca9ec7"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d81e6987b27bc7d101c8597e1cd2bcaa2fee5e8e0f356735c7ed34368c471550"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34708cc82c330e303f4ce87758828ef6e457681b58ce0e921b6e97937dd1e2a3"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:652c1988019752138b974c28f43751528116bcceadad85f33a258869e641d753"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e4d090e73e0725b2904fdbdd8d73b8802ddd691ef9254577b708d413bf3006e"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5c7d5b5005f177764e96bd584d7bf28d6e26e96f2a541fdddb934c486e36fd59"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a71891847f0a73b1b9eb86d089baee301477abef45f7eaf303495cd1473613e4"}, + {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a717aef6971208f0851a2420b075338e33083111d92041157bbe0e2713b37325"}, + {file = "pydantic_core-2.14.5-cp37-none-win32.whl", hash = "sha256:de790a3b5aa2124b8b78ae5faa033937a72da8efe74b9231698b5a1dd9be3405"}, + {file = "pydantic_core-2.14.5-cp37-none-win_amd64.whl", hash = "sha256:6c327e9cd849b564b234da821236e6bcbe4f359a42ee05050dc79d8ed2a91588"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:ef98ca7d5995a82f43ec0ab39c4caf6a9b994cb0b53648ff61716370eadc43cf"}, + {file = "pydantic_core-2.14.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6eae413494a1c3f89055da7a5515f32e05ebc1a234c27674a6956755fb2236f"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcf4e6d85614f7a4956c2de5a56531f44efb973d2fe4a444d7251df5d5c4dcfd"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6637560562134b0e17de333d18e69e312e0458ee4455bdad12c37100b7cad706"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77fa384d8e118b3077cccfcaf91bf83c31fe4dc850b5e6ee3dc14dc3d61bdba1"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16e29bad40bcf97aac682a58861249ca9dcc57c3f6be22f506501833ddb8939c"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531f4b4252fac6ca476fbe0e6f60f16f5b65d3e6b583bc4d87645e4e5ddde331"}, + {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:074f3d86f081ce61414d2dc44901f4f83617329c6f3ab49d2bc6c96948b2c26b"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c2adbe22ab4babbca99c75c5d07aaf74f43c3195384ec07ccbd2f9e3bddaecec"}, + {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0f6116a558fd06d1b7c2902d1c4cf64a5bd49d67c3540e61eccca93f41418124"}, + {file = "pydantic_core-2.14.5-cp38-none-win32.whl", hash = "sha256:fe0a5a1025eb797752136ac8b4fa21aa891e3d74fd340f864ff982d649691867"}, + {file = "pydantic_core-2.14.5-cp38-none-win_amd64.whl", hash = "sha256:079206491c435b60778cf2b0ee5fd645e61ffd6e70c47806c9ed51fc75af078d"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a6a16f4a527aae4f49c875da3cdc9508ac7eef26e7977952608610104244e1b7"}, + {file = "pydantic_core-2.14.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abf058be9517dc877227ec3223f0300034bd0e9f53aebd63cf4456c8cb1e0863"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b08aae5013640a3bfa25a8eebbd95638ec3f4b2eaf6ed82cf0c7047133f03b"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2d97e906b4ff36eb464d52a3bc7d720bd6261f64bc4bcdbcd2c557c02081ed2"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3128e0bbc8c091ec4375a1828d6118bc20404883169ac95ffa8d983b293611e6"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88e74ab0cdd84ad0614e2750f903bb0d610cc8af2cc17f72c28163acfcf372a4"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c339dabd8ee15f8259ee0f202679b6324926e5bc9e9a40bf981ce77c038553db"}, + {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3387277f1bf659caf1724e1afe8ee7dbc9952a82d90f858ebb931880216ea955"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ba6b6b3846cfc10fdb4c971980a954e49d447cd215ed5a77ec8190bc93dd7bc5"}, + {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca61d858e4107ce5e1330a74724fe757fc7135190eb5ce5c9d0191729f033209"}, + {file = "pydantic_core-2.14.5-cp39-none-win32.whl", hash = "sha256:ec1e72d6412f7126eb7b2e3bfca42b15e6e389e1bc88ea0069d0cc1742f477c6"}, + {file = "pydantic_core-2.14.5-cp39-none-win_amd64.whl", hash = "sha256:c0b97ec434041827935044bbbe52b03d6018c2897349670ff8fe11ed24d1d4ab"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79e0a2cdbdc7af3f4aee3210b1172ab53d7ddb6a2d8c24119b5706e622b346d0"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:678265f7b14e138d9a541ddabbe033012a2953315739f8cfa6d754cc8063e8ca"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b15e855ae44f0c6341ceb74df61b606e11f1087e87dcb7482377374aac6abe"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09b0e985fbaf13e6b06a56d21694d12ebca6ce5414b9211edf6f17738d82b0f8"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ad873900297bb36e4b6b3f7029d88ff9829ecdc15d5cf20161775ce12306f8a"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2d0ae0d8670164e10accbeb31d5ad45adb71292032d0fdb9079912907f0085f4"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d37f8ec982ead9ba0a22a996129594938138a1503237b87318392a48882d50b7"}, + {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:35613015f0ba7e14c29ac6c2483a657ec740e5ac5758d993fdd5870b07a61d8b"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab4ea451082e684198636565224bbb179575efc1658c48281b2c866bfd4ddf04"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ce601907e99ea5b4adb807ded3570ea62186b17f88e271569144e8cca4409c7"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb2ed8b3fe4bf4506d6dab3b93b83bbc22237e230cba03866d561c3577517d18"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70f947628e074bb2526ba1b151cee10e4c3b9670af4dbb4d73bc8a89445916b5"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4bc536201426451f06f044dfbf341c09f540b4ebdb9fd8d2c6164d733de5e634"}, + {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4791cf0f8c3104ac668797d8c514afb3431bc3305f5638add0ba1a5a37e0d88"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:038c9f763e650712b899f983076ce783175397c848da04985658e7628cbe873b"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:27548e16c79702f1e03f5628589c6057c9ae17c95b4c449de3c66b589ead0520"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97bee68898f3f4344eb02fec316db93d9700fb1e6a5b760ffa20d71d9a46ce3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9b759b77f5337b4ea024f03abc6464c9f35d9718de01cfe6bae9f2e139c397e"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:439c9afe34638ace43a49bf72d201e0ffc1a800295bed8420c2a9ca8d5e3dbb3"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ba39688799094c75ea8a16a6b544eb57b5b0f3328697084f3f2790892510d144"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ccd4d5702bb90b84df13bd491be8d900b92016c5a455b7e14630ad7449eb03f8"}, + {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:81982d78a45d1e5396819bbb4ece1fadfe5f079335dd28c4ab3427cd95389944"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7f8210297b04e53bc3da35db08b7302a6a1f4889c79173af69b72ec9754796b8"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8c8a8812fe6f43a3a5b054af6ac2d7b8605c7bcab2804a8a7d68b53f3cd86e00"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:206ed23aecd67c71daf5c02c3cd19c0501b01ef3cbf7782db9e4e051426b3d0d"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2027d05c8aebe61d898d4cffd774840a9cb82ed356ba47a90d99ad768f39789"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40180930807ce806aa71eda5a5a5447abb6b6a3c0b4b3b1b1962651906484d68"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:615a0a4bff11c45eb3c1996ceed5bdaa2f7b432425253a7c2eed33bb86d80abc"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5e412d717366e0677ef767eac93566582518fe8be923361a5c204c1a62eaafe"}, + {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:513b07e99c0a267b1d954243845d8a833758a6726a3b5d8948306e3fe14675e3"}, + {file = "pydantic_core-2.14.5.tar.gz", hash = "sha256:6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + +[[package]] +name = "pygments" +version = "2.17.2" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, +] + +[package.extras] +plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pypdfium2" +version = "4.24.0" +description = "Python bindings to PDFium" +optional = false +python-versions = ">= 3.6" +files = [ + {file = "pypdfium2-4.24.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:94b722c4dddbd858d62fe4df3192651f9376f1c99e7c2bc74d7d8c8d06362bf3"}, + {file = "pypdfium2-4.24.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c2891aa6059acf9bdabccb7aa193f111ebf96fabae3fb968f04ec925d710ec95"}, + {file = "pypdfium2-4.24.0-py3-none-manylinux_2_17_aarch64.whl", hash = "sha256:147d101686af8828fbaeb3ac3fd82114f0900d58a24e80eff96496fd89fd9d2d"}, + {file = "pypdfium2-4.24.0-py3-none-manylinux_2_17_armv7l.whl", hash = "sha256:60c7d9c442aff40d30dbf044ffb67cdc5eb56acca59ac640bc3adad77fc4d781"}, + {file = "pypdfium2-4.24.0-py3-none-manylinux_2_17_i686.whl", hash = "sha256:025553c8b3633b32e2ef0e9ec9ee07be4a4fda76519889607ad3283090eef7f1"}, + {file = "pypdfium2-4.24.0-py3-none-manylinux_2_17_x86_64.whl", hash = "sha256:3b26ad59ebef92edfcb44400838edce2e299a9709fe472742a4800251b30e5c9"}, + {file = "pypdfium2-4.24.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:4034e6b4bde7cb6d281898c43ccb9a5522e25edb1e24689bf89fc7eb2a0c9a15"}, + {file = "pypdfium2-4.24.0-py3-none-musllinux_1_1_i686.whl", hash = "sha256:a1776dde55b55d81e18026cf746274c1e2959bc8ed2f502a997401e1f0e7c3c1"}, + {file = "pypdfium2-4.24.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:39a1e1cc02bc39233f742b8cdf60a81e5b4868bfee28ec79457e37e3d41304e6"}, + {file = "pypdfium2-4.24.0-py3-none-win32.whl", hash = "sha256:7556801f2b42c91590e3f862034ab61e30e732b09e1487b0cf1a3c5250cb29d4"}, + {file = "pypdfium2-4.24.0-py3-none-win_amd64.whl", hash = "sha256:fa65834fbc6540114ceaebc5e9ca90c5455b0ebedaaaf6c2c8351c851ada366b"}, + {file = "pypdfium2-4.24.0-py3-none-win_arm64.whl", hash = "sha256:9333304e289fa727fbeae6dab793a9bacb68375184e14ad3d38a65d9a7490be1"}, + {file = "pypdfium2-4.24.0.tar.gz", hash = "sha256:62706c06bc5be39aa7a2531af802420429b6c4c47498eebd2521af7e988d0848"}, +] + +[[package]] +name = "pypika" +version = "0.48.9" +description = "A SQL query builder API for Python" +optional = false +python-versions = "*" +files = [ + {file = "PyPika-0.48.9.tar.gz", hash = "sha256:838836a61747e7c8380cd1b7ff638694b7a7335345d0f559b04b2cd832ad5378"}, +] + +[[package]] +name = "pyreadline3" +version = "3.4.1" +description = "A python implementation of GNU readline." +optional = false +python-versions = "*" +files = [ + {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, + {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, +] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "1.0.0" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, + {file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "regex" +version = "2023.10.3" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.7" +files = [ + {file = "regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc"}, + {file = "regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a"}, + {file = "regex-2023.10.3-cp310-cp310-win32.whl", hash = "sha256:36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec"}, + {file = "regex-2023.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54"}, + {file = "regex-2023.10.3-cp311-cp311-win32.whl", hash = "sha256:9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2"}, + {file = "regex-2023.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a"}, + {file = "regex-2023.10.3-cp312-cp312-win32.whl", hash = "sha256:ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a"}, + {file = "regex-2023.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b"}, + {file = "regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb"}, + {file = "regex-2023.10.3-cp37-cp37m-win32.whl", hash = "sha256:ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a"}, + {file = "regex-2023.10.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4"}, + {file = "regex-2023.10.3-cp38-cp38-win32.whl", hash = "sha256:58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d"}, + {file = "regex-2023.10.3-cp38-cp38-win_amd64.whl", hash = "sha256:c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48"}, + {file = "regex-2023.10.3-cp39-cp39-win32.whl", hash = "sha256:3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd"}, + {file = "regex-2023.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988"}, + {file = "regex-2023.10.3.tar.gz", hash = "sha256:3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f"}, +] + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rich" +version = "13.7.0" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"}, + {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "shellingham" +version = "1.5.4" +description = "Tool to Detect Surrounding Shell" +optional = false +python-versions = ">=3.7" +files = [ + {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, + {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, +] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "smmap" +version = "5.0.1" +description = "A pure Python implementation of a sliding window memory map manager" +optional = false +python-versions = ">=3.7" +files = [ + {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, + {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, +] + +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.23" +description = "Database Abstraction Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:638c2c0b6b4661a4fd264f6fb804eccd392745c5887f9317feb64bb7cb03b3ea"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3b5036aa326dc2df50cba3c958e29b291a80f604b1afa4c8ce73e78e1c9f01d"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c14eba45983d2f48f7546bb32b47937ee2cafae353646295f0e99f35b14286ab"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:89a01238fcb9a8af118eaad3ffcc5dedaacbd429dc6fdc43fe430d3a941ff965"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-win32.whl", hash = "sha256:cabafc7837b6cec61c0e1e5c6d14ef250b675fa9c3060ed8a7e38653bd732ff8"}, + {file = "SQLAlchemy-2.0.23-cp310-cp310-win_amd64.whl", hash = "sha256:87a3d6b53c39cd173990de2f5f4b83431d534a74f0e2f88bd16eabb5667e65c6"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d5578e6863eeb998980c212a39106ea139bdc0b3f73291b96e27c929c90cd8e1"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62d9e964870ea5ade4bc870ac4004c456efe75fb50404c03c5fd61f8bc669a72"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c80c38bd2ea35b97cbf7c21aeb129dcbebbf344ee01a7141016ab7b851464f8e"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75eefe09e98043cff2fb8af9796e20747ae870c903dc61d41b0c2e55128f958d"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd45a5b6c68357578263d74daab6ff9439517f87da63442d244f9f23df56138d"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a86cb7063e2c9fb8e774f77fbf8475516d270a3e989da55fa05d08089d77f8c4"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-win32.whl", hash = "sha256:b41f5d65b54cdf4934ecede2f41b9c60c9f785620416e8e6c48349ab18643855"}, + {file = "SQLAlchemy-2.0.23-cp311-cp311-win_amd64.whl", hash = "sha256:9ca922f305d67605668e93991aaf2c12239c78207bca3b891cd51a4515c72e22"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0f7fb0c7527c41fa6fcae2be537ac137f636a41b4c5a4c58914541e2f436b45"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7c424983ab447dab126c39d3ce3be5bee95700783204a72549c3dceffe0fc8f4"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f508ba8f89e0a5ecdfd3761f82dda2a3d7b678a626967608f4273e0dba8f07ac"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6463aa765cf02b9247e38b35853923edbf2f6fd1963df88706bc1d02410a5577"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e599a51acf3cc4d31d1a0cf248d8f8d863b6386d2b6782c5074427ebb7803bda"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd54601ef9cc455a0c61e5245f690c8a3ad67ddb03d3b91c361d076def0b4c60"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-win32.whl", hash = "sha256:42d0b0290a8fb0165ea2c2781ae66e95cca6e27a2fbe1016ff8db3112ac1e846"}, + {file = "SQLAlchemy-2.0.23-cp312-cp312-win_amd64.whl", hash = "sha256:227135ef1e48165f37590b8bfc44ed7ff4c074bf04dc8d6f8e7f1c14a94aa6ca"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:14aebfe28b99f24f8a4c1346c48bc3d63705b1f919a24c27471136d2f219f02d"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e983fa42164577d073778d06d2cc5d020322425a509a08119bdcee70ad856bf"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e0dc9031baa46ad0dd5a269cb7a92a73284d1309228be1d5935dac8fb3cae24"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5f94aeb99f43729960638e7468d4688f6efccb837a858b34574e01143cf11f89"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:63bfc3acc970776036f6d1d0e65faa7473be9f3135d37a463c5eba5efcdb24c8"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-win32.whl", hash = "sha256:f48ed89dd11c3c586f45e9eec1e437b355b3b6f6884ea4a4c3111a3358fd0c18"}, + {file = "SQLAlchemy-2.0.23-cp37-cp37m-win_amd64.whl", hash = "sha256:1e018aba8363adb0599e745af245306cb8c46b9ad0a6fc0a86745b6ff7d940fc"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:64ac935a90bc479fee77f9463f298943b0e60005fe5de2aa654d9cdef46c54df"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c4722f3bc3c1c2fcc3702dbe0016ba31148dd6efcd2a2fd33c1b4897c6a19693"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4af79c06825e2836de21439cb2a6ce22b2ca129bad74f359bddd173f39582bf5"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:683ef58ca8eea4747737a1c35c11372ffeb84578d3aab8f3e10b1d13d66f2bc4"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d4041ad05b35f1f4da481f6b811b4af2f29e83af253bf37c3c4582b2c68934ab"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aeb397de65a0a62f14c257f36a726945a7f7bb60253462e8602d9b97b5cbe204"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-win32.whl", hash = "sha256:42ede90148b73fe4ab4a089f3126b2cfae8cfefc955c8174d697bb46210c8306"}, + {file = "SQLAlchemy-2.0.23-cp38-cp38-win_amd64.whl", hash = "sha256:964971b52daab357d2c0875825e36584d58f536e920f2968df8d581054eada4b"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:616fe7bcff0a05098f64b4478b78ec2dfa03225c23734d83d6c169eb41a93e55"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e680527245895aba86afbd5bef6c316831c02aa988d1aad83c47ffe92655e74"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4895a63e2c271ffc7a81ea424b94060f7b3b03b4ea0cd58ab5bb676ed02f4221"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:967c0b71156f793e6662dd839da54f884631755275ed71f1539c95bbada9aaab"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-win32.whl", hash = "sha256:0a8c6aa506893e25a04233bc721c6b6cf844bafd7250535abb56cb6cc1368884"}, + {file = "SQLAlchemy-2.0.23-cp39-cp39-win_amd64.whl", hash = "sha256:f3420d00d2cb42432c1d0e44540ae83185ccbbc67a6054dcc8ab5387add6620b"}, + {file = "SQLAlchemy-2.0.23-py3-none-any.whl", hash = "sha256:31952bbc527d633b9479f5f81e8b9dfada00b91d6baba021a869095f1a97006d"}, + {file = "SQLAlchemy-2.0.23.tar.gz", hash = "sha256:c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69"}, +] + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} +typing-extensions = ">=4.2.0" + +[package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx-oracle (>=8)"] +oracle-oracledb = ["oracledb (>=1.0.1)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.29.1)"] +postgresql-psycopg = ["psycopg (>=3.0.7)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] +pymysql = ["pymysql"] +sqlcipher = ["sqlcipher3-binary"] + +[[package]] +name = "sse-starlette" +version = "1.8.2" +description = "SSE plugin for Starlette" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sse_starlette-1.8.2-py3-none-any.whl", hash = "sha256:70cc7ef5aca4abe8a25dec1284cce4fe644dd7bf0c406d3e852e516092b7f849"}, + {file = "sse_starlette-1.8.2.tar.gz", hash = "sha256:e0f9b8dec41adc092a0a6e0694334bd3cfd3084c44c497a6ebc1fb4bdd919acd"}, +] + +[package.dependencies] +anyio = "*" +fastapi = "*" +starlette = "*" +uvicorn = "*" + +[[package]] +name = "starlette" +version = "0.27.0" +description = "The little ASGI library that shines." +optional = false +python-versions = ">=3.7" +files = [ + {file = "starlette-0.27.0-py3-none-any.whl", hash = "sha256:918416370e846586541235ccd38a474c08b80443ed31c578a418e2209b3eef91"}, + {file = "starlette-0.27.0.tar.gz", hash = "sha256:6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75"}, +] + +[package.dependencies] +anyio = ">=3.4.0,<5" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"] + +[[package]] +name = "sympy" +version = "1.12" +description = "Computer algebra system (CAS) in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, + {file = "sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, +] + +[package.dependencies] +mpmath = ">=0.19" + +[[package]] +name = "tenacity" +version = "8.2.3" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, + {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, +] + +[package.extras] +doc = ["reno", "sphinx", "tornado (>=4.5)"] + +[[package]] +name = "tiktoken" +version = "0.5.1" +description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tiktoken-0.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2b0bae3fd56de1c0a5874fb6577667a3c75bf231a6cef599338820210c16e40a"}, + {file = "tiktoken-0.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e529578d017045e2f0ed12d2e00e7e99f780f477234da4aae799ec4afca89f37"}, + {file = "tiktoken-0.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edd2ffbb789712d83fee19ab009949f998a35c51ad9f9beb39109357416344ff"}, + {file = "tiktoken-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4c73d47bdc1a3f1f66ffa019af0386c48effdc6e8797e5e76875f6388ff72e9"}, + {file = "tiktoken-0.5.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:46b8554b9f351561b1989157c6bb54462056f3d44e43aa4e671367c5d62535fc"}, + {file = "tiktoken-0.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:92ed3bbf71a175a6a4e5fbfcdb2c422bdd72d9b20407e00f435cf22a68b4ea9b"}, + {file = "tiktoken-0.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:714efb2f4a082635d9f5afe0bf7e62989b72b65ac52f004eb7ac939f506c03a4"}, + {file = "tiktoken-0.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a10488d1d1a5f9c9d2b2052fdb4cf807bba545818cb1ef724a7f5d44d9f7c3d4"}, + {file = "tiktoken-0.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8079ac065572fe0e7c696dbd63e1fdc12ce4cdca9933935d038689d4732451df"}, + {file = "tiktoken-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ef730db4097f5b13df8d960f7fdda2744fe21d203ea2bb80c120bb58661b155"}, + {file = "tiktoken-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:426e7def5f3f23645dada816be119fa61e587dfb4755de250e136b47a045c365"}, + {file = "tiktoken-0.5.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:323cec0031358bc09aa965c2c5c1f9f59baf76e5b17e62dcc06d1bb9bc3a3c7c"}, + {file = "tiktoken-0.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5abd9436f02e2c8eda5cce2ff8015ce91f33e782a7423de2a1859f772928f714"}, + {file = "tiktoken-0.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:1fe99953b63aabc0c9536fbc91c3c9000d78e4755edc28cc2e10825372046a2d"}, + {file = "tiktoken-0.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dcdc630461927718b317e6f8be7707bd0fc768cee1fdc78ddaa1e93f4dc6b2b1"}, + {file = "tiktoken-0.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1f2b3b253e22322b7f53a111e1f6d7ecfa199b4f08f3efdeb0480f4033b5cdc6"}, + {file = "tiktoken-0.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:43ce0199f315776dec3ea7bf86f35df86d24b6fcde1babd3e53c38f17352442f"}, + {file = "tiktoken-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a84657c083d458593c0235926b5c993eec0b586a2508d6a2020556e5347c2f0d"}, + {file = "tiktoken-0.5.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c008375c0f3d97c36e81725308699116cd5804fdac0f9b7afc732056329d2790"}, + {file = "tiktoken-0.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:779c4dea5edd1d3178734d144d32231e0b814976bec1ec09636d1003ffe4725f"}, + {file = "tiktoken-0.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:b5dcfcf9bfb798e86fbce76d40a1d5d9e3f92131aecfa3d1e5c9ea1a20f1ef1a"}, + {file = "tiktoken-0.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b180a22db0bbcc447f691ffc3cf7a580e9e0587d87379e35e58b826ebf5bc7b"}, + {file = "tiktoken-0.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b756a65d98b7cf760617a6b68762a23ab8b6ef79922be5afdb00f5e8a9f4e76"}, + {file = "tiktoken-0.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba9873c253ca1f670e662192a0afcb72b41e0ba3e730f16c665099e12f4dac2d"}, + {file = "tiktoken-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74c90d2be0b4c1a2b3f7dde95cd976757817d4df080d6af0ee8d461568c2e2ad"}, + {file = "tiktoken-0.5.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:709a5220891f2b56caad8327fab86281787704931ed484d9548f65598dea9ce4"}, + {file = "tiktoken-0.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d5a187ff9c786fae6aadd49f47f019ff19e99071dc5b0fe91bfecc94d37c686"}, + {file = "tiktoken-0.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:e21840043dbe2e280e99ad41951c00eff8ee3b63daf57cd4c1508a3fd8583ea2"}, + {file = "tiktoken-0.5.1.tar.gz", hash = "sha256:27e773564232004f4f810fd1f85236673ec3a56ed7f1206fc9ed8670ebedb97a"}, +] + +[package.dependencies] +regex = ">=2022.1.18" +requests = ">=2.26.0" + +[package.extras] +blobfile = ["blobfile (>=2)"] + +[[package]] +name = "tokenizers" +version = "0.15.0" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tokenizers-0.15.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cd3cd0299aaa312cd2988957598f80becd04d5a07338741eca076057a2b37d6e"}, + {file = "tokenizers-0.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a922c492c721744ee175f15b91704be2d305569d25f0547c77cd6c9f210f9dc"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:331dd786d02fc38698f835fff61c99480f98b73ce75a4c65bd110c9af5e4609a"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88dd0961c437d413ab027f8b115350c121d49902cfbadf08bb8f634b15fa1814"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6fdcc55339df7761cd52e1fbe8185d3b3963bc9e3f3545faa6c84f9e8818259a"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1480b0051d8ab5408e8e4db2dc832f7082ea24aa0722c427bde2418c6f3bd07"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9855e6c258918f9cf62792d4f6ddfa6c56dccd8c8118640f867f6393ecaf8bd7"}, + {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de9529fe75efcd54ba8d516aa725e1851df9199f0669b665c55e90df08f5af86"}, + {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8edcc90a36eab0705fe9121d6c77c6e42eeef25c7399864fd57dfb27173060bf"}, + {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ae17884aafb3e94f34fb7cfedc29054f5f54e142475ebf8a265a4e388fee3f8b"}, + {file = "tokenizers-0.15.0-cp310-none-win32.whl", hash = "sha256:9a3241acdc9b44cff6e95c4a55b9be943ef3658f8edb3686034d353734adba05"}, + {file = "tokenizers-0.15.0-cp310-none-win_amd64.whl", hash = "sha256:4b31807cb393d6ea31926b307911c89a1209d5e27629aa79553d1599c8ffdefe"}, + {file = "tokenizers-0.15.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:af7e9be8c05d30bb137b9fd20f9d99354816599e5fd3d58a4b1e28ba3b36171f"}, + {file = "tokenizers-0.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c3d7343fa562ea29661783344a2d83662db0d3d17a6fa6a403cac8e512d2d9fd"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:32371008788aeeb0309a9244809a23e4c0259625e6b74a103700f6421373f395"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9db64c7c9954fbae698884c5bb089764edc549731e5f9b7fa1dd4e4d78d77f"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dbed5944c31195514669cf6381a0d8d47f164943000d10f93d6d02f0d45c25e0"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aab16c4a26d351d63e965b0c792f5da7227a37b69a6dc6d922ff70aa595b1b0c"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c2b60b12fdd310bf85ce5d7d3f823456b9b65eed30f5438dd7761879c495983"}, + {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0344d6602740e44054a9e5bbe9775a5e149c4dddaff15959bb07dcce95a5a859"}, + {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4525f6997d81d9b6d9140088f4f5131f6627e4c960c2c87d0695ae7304233fc3"}, + {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65975094fef8cc68919644936764efd2ce98cf1bacbe8db2687155d2b0625bee"}, + {file = "tokenizers-0.15.0-cp311-none-win32.whl", hash = "sha256:ff5d2159c5d93015f5a4542aac6c315506df31853123aa39042672031768c301"}, + {file = "tokenizers-0.15.0-cp311-none-win_amd64.whl", hash = "sha256:2dd681b53cf615e60a31a115a3fda3980e543d25ca183797f797a6c3600788a3"}, + {file = "tokenizers-0.15.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c9cce6ee149a3d703f86877bc2a6d997e34874b2d5a2d7839e36b2273f31d3d9"}, + {file = "tokenizers-0.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a0a94bc3370e6f1cc8a07a8ae867ce13b7c1b4291432a773931a61f256d44ea"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:309cfcccfc7e502cb1f1de2c9c1c94680082a65bfd3a912d5a5b2c90c677eb60"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8413e994dd7d875ab13009127fc85633916c71213917daf64962bafd488f15dc"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d0ebf9430f901dbdc3dcb06b493ff24a3644c9f88c08e6a1d6d0ae2228b9b818"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10361e9c7864b22dd791ec5126327f6c9292fb1d23481d4895780688d5e298ac"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:babe42635b8a604c594bdc56d205755f73414fce17ba8479d142a963a6c25cbc"}, + {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3768829861e964c7a4556f5f23307fce6a23872c2ebf030eb9822dbbbf7e9b2a"}, + {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9c91588a630adc88065e1c03ac6831e3e2112558869b9ebcb2b8afd8a14c944d"}, + {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:77606994e793ca54ecf3a3619adc8a906a28ca223d9354b38df41cb8766a0ed6"}, + {file = "tokenizers-0.15.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:6fe143939f3b596681922b2df12a591a5b010e7dcfbee2202482cd0c1c2f2459"}, + {file = "tokenizers-0.15.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:b7bee0f1795e3e3561e9a557061b1539e5255b8221e3f928f58100282407e090"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5d37e7f4439b4c46192ab4f2ff38ab815e4420f153caa13dec9272ef14403d34"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caadf255cf7f951b38d10097836d1f3bcff4aeaaffadfdf748bab780bf5bff95"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:05accb9162bf711a941b1460b743d62fec61c160daf25e53c5eea52c74d77814"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26a2ef890740127cb115ee5260878f4a677e36a12831795fd7e85887c53b430b"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e54c5f26df14913620046b33e822cb3bcd091a332a55230c0e63cc77135e2169"}, + {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669b8ed653a578bcff919566631156f5da3aab84c66f3c0b11a6281e8b4731c7"}, + {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0ea480d943297df26f06f508dab6e012b07f42bf3dffdd36e70799368a5f5229"}, + {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bc80a0a565ebfc7cd89de7dd581da8c2b3238addfca6280572d27d763f135f2f"}, + {file = "tokenizers-0.15.0-cp37-none-win32.whl", hash = "sha256:cdd945e678bbdf4517d5d8de66578a5030aeefecdb46f5320b034de9cad8d4dd"}, + {file = "tokenizers-0.15.0-cp37-none-win_amd64.whl", hash = "sha256:1ab96ab7dc706e002c32b2ea211a94c1c04b4f4de48354728c3a6e22401af322"}, + {file = "tokenizers-0.15.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:f21c9eb71c9a671e2a42f18b456a3d118e50c7f0fc4dd9fa8f4eb727fea529bf"}, + {file = "tokenizers-0.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a5f4543a35889679fc3052086e69e81880b2a5a28ff2a52c5a604be94b77a3f"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f8aa81afec893e952bd39692b2d9ef60575ed8c86fce1fd876a06d2e73e82dca"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1574a5a4af22c3def93fe8fe4adcc90a39bf5797ed01686a4c46d1c3bc677d2f"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c7982fd0ec9e9122d03b209dac48cebfea3de0479335100ef379a9a959b9a5a"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d16b647032df2ce2c1f9097236e046ea9fedd969b25637b9d5d734d78aa53b"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b3cdf29e6f9653da330515dc8fa414be5a93aae79e57f8acc50d4028dd843edf"}, + {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7286f3df10de840867372e3e64b99ef58c677210e3ceb653cd0e740a5c53fe78"}, + {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aabc83028baa5a36ce7a94e7659250f0309c47fa4a639e5c2c38e6d5ea0de564"}, + {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:72f78b0e0e276b1fc14a672fa73f3acca034ba8db4e782124a2996734a9ba9cf"}, + {file = "tokenizers-0.15.0-cp38-none-win32.whl", hash = "sha256:9680b0ecc26e7e42f16680c1aa62e924d58d1c2dd992707081cc10a374896ea2"}, + {file = "tokenizers-0.15.0-cp38-none-win_amd64.whl", hash = "sha256:f17cbd88dab695911cbdd385a5a7e3709cc61dff982351f5d1b5939f074a2466"}, + {file = "tokenizers-0.15.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:3661862df7382c5eb23ac4fbf7c75e69b02dc4f5784e4c5a734db406b5b24596"}, + {file = "tokenizers-0.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3045d191dad49647f5a5039738ecf1c77087945c7a295f7bcf051c37067e883"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a9fcaad9ab0801f14457d7c820d9f246b5ab590c407fc6b073819b1573097aa7"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79f17027f24fe9485701c8dbb269b9c713954ec3bdc1e7075a66086c0c0cd3c"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:01a3aa332abc4bee7640563949fcfedca4de8f52691b3b70f2fc6ca71bfc0f4e"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05b83896a893cdfedad8785250daa3ba9f0504848323471524d4783d7291661e"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbbf2489fcf25d809731ba2744ff278dd07d9eb3f8b7482726bd6cae607073a4"}, + {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab806ad521a5e9de38078b7add97589c313915f6f5fec6b2f9f289d14d607bd6"}, + {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4a522612d5c88a41563e3463226af64e2fa00629f65cdcc501d1995dd25d23f5"}, + {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e58a38c4e6075810bdfb861d9c005236a72a152ebc7005941cc90d1bbf16aca9"}, + {file = "tokenizers-0.15.0-cp39-none-win32.whl", hash = "sha256:b8034f1041fd2bd2b84ff9f4dc4ae2e1c3b71606820a9cd5c562ebd291a396d1"}, + {file = "tokenizers-0.15.0-cp39-none-win_amd64.whl", hash = "sha256:edde9aa964145d528d0e0dbf14f244b8a85ebf276fb76869bc02e2530fa37a96"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:309445d10d442b7521b98083dc9f0b5df14eca69dbbfebeb98d781ee2cef5d30"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d3125a6499226d4d48efc54f7498886b94c418e93a205b673bc59364eecf0804"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ed56ddf0d54877bb9c6d885177db79b41576e61b5ef6defeb579dcb803c04ad5"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b22cd714706cc5b18992a232b023f736e539495f5cc61d2d28d176e55046f6c"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac2719b1e9bc8e8e7f6599b99d0a8e24f33d023eb8ef644c0366a596f0aa926"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:85ddae17570ec7e5bfaf51ffa78d044f444a8693e1316e1087ee6150596897ee"}, + {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:76f1bed992e396bf6f83e3df97b64ff47885e45e8365f8983afed8556a0bc51f"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3bb0f4df6dce41a1c7482087b60d18c372ef4463cb99aa8195100fcd41e0fd64"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:22c27672c27a059a5f39ff4e49feed8c7f2e1525577c8a7e3978bd428eb5869d"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78104f5d035c9991f92831fc0efe9e64a05d4032194f2a69f67aaa05a4d75bbb"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a40b73dc19d82c3e3ffb40abdaacca8fbc95eeb26c66b7f9f860aebc07a73998"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d801d1368188c74552cd779b1286e67cb9fd96f4c57a9f9a2a09b6def9e1ab37"}, + {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82641ffb13a4da1293fcc9f437d457647e60ed0385a9216cd135953778b3f0a1"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:160f9d1810f2c18fffa94aa98bf17632f6bd2dabc67fcb01a698ca80c37d52ee"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:8d7d6eea831ed435fdeeb9bcd26476226401d7309d115a710c65da4088841948"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f6456bec6c557d63d8ec0023758c32f589e1889ed03c055702e84ce275488bed"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eef39a502fad3bf104b9e1906b4fb0cee20e44e755e51df9a98f8922c3bf6d4"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1e4664c5b797e093c19b794bbecc19d2367e782b4a577d8b7c1821db5dc150d"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ca003fb5f3995ff5cf676db6681b8ea5d54d3b30bea36af1120e78ee1a4a4cdf"}, + {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7f17363141eb0c53752c89e10650b85ef059a52765d0802ba9613dbd2d21d425"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:8a765db05581c7d7e1280170f2888cda351760d196cc059c37ea96f121125799"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2a0dd641a72604486cd7302dd8f87a12c8a9b45e1755e47d2682733f097c1af5"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a1a3c973e4dc97797fc19e9f11546c95278ffc55c4492acb742f69e035490bc"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4fab75642aae4e604e729d6f78e0addb9d7e7d49e28c8f4d16b24da278e5263"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65f80be77f6327a86d8fd35a4467adcfe6174c159b4ab52a1a8dd4c6f2d7d9e1"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a8da7533dbe66b88afd430c56a2f2ce1fd82e2681868f857da38eeb3191d7498"}, + {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa8eb4584fc6cbe6a84d7a7864be3ed28e23e9fd2146aa8ef1814d579df91958"}, + {file = "tokenizers-0.15.0.tar.gz", hash = "sha256:10c7e6e7b4cabd757da59e93f5f8d1126291d16f8b54f28510825ef56a3e5d0e"}, +] + +[package.dependencies] +huggingface_hub = ">=0.16.4,<1.0" + +[package.extras] +dev = ["tokenizers[testing]"] +docs = ["setuptools_rust", "sphinx", "sphinx_rtd_theme"] +testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] + +[[package]] +name = "tomlkit" +version = "0.12.3" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, + {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, +] + +[[package]] +name = "tqdm" +version = "4.66.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + +[[package]] +name = "typer" +version = "0.9.0" +description = "Typer, build great CLIs. Easy to code. Based on Python type hints." +optional = false +python-versions = ">=3.6" +files = [ + {file = "typer-0.9.0-py3-none-any.whl", hash = "sha256:5d96d986a21493606a358cae4461bd8cdf83cbf33a5aa950ae629ca3b51467ee"}, + {file = "typer-0.9.0.tar.gz", hash = "sha256:50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2"}, +] + +[package.dependencies] +click = ">=7.1.1,<9.0.0" +colorama = {version = ">=0.4.3,<0.5.0", optional = true, markers = "extra == \"all\""} +rich = {version = ">=10.11.0,<14.0.0", optional = true, markers = "extra == \"all\""} +shellingham = {version = ">=1.3.0,<2.0.0", optional = true, markers = "extra == \"all\""} +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["colorama (>=0.4.3,<0.5.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] +dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2.17.0,<3.0.0)"] +doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"] +test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"] + +[[package]] +name = "typing-extensions" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, +] + +[[package]] +name = "typing-inspect" +version = "0.9.0" +description = "Runtime inspection utilities for typing module." +optional = false +python-versions = "*" +files = [ + {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"}, + {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"}, +] + +[package.dependencies] +mypy-extensions = ">=0.3.0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "urllib3" +version = "2.1.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "uvicorn" +version = "0.23.2" +description = "The lightning-fast ASGI server." +optional = false +python-versions = ">=3.8" +files = [ + {file = "uvicorn-0.23.2-py3-none-any.whl", hash = "sha256:1f9be6558f01239d4fdf22ef8126c39cb1ad0addf76c40e760549d2c2f43ab53"}, + {file = "uvicorn-0.23.2.tar.gz", hash = "sha256:4d3cc12d7727ba72b64d12d3cc7743124074c0a69f7b201512fc50c3e3f1569a"}, +] + +[package.dependencies] +click = ">=7.0" +colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""} +h11 = ">=0.8" +httptools = {version = ">=0.5.0", optional = true, markers = "extra == \"standard\""} +python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} +typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} +websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} + +[package.extras] +standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] + +[[package]] +name = "uvloop" +version = "0.19.0" +description = "Fast implementation of asyncio event loop on top of libuv" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, + {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, +] + +[package.extras] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] + +[[package]] +name = "watchfiles" +version = "0.21.0" +description = "Simple, modern and high performance file watching and code reload in python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "watchfiles-0.21.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:27b4035013f1ea49c6c0b42d983133b136637a527e48c132d368eb19bf1ac6aa"}, + {file = "watchfiles-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c81818595eff6e92535ff32825f31c116f867f64ff8cdf6562cd1d6b2e1e8f3e"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6c107ea3cf2bd07199d66f156e3ea756d1b84dfd43b542b2d870b77868c98c03"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d9ac347653ebd95839a7c607608703b20bc07e577e870d824fa4801bc1cb124"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5eb86c6acb498208e7663ca22dbe68ca2cf42ab5bf1c776670a50919a56e64ab"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f564bf68404144ea6b87a78a3f910cc8de216c6b12a4cf0b27718bf4ec38d303"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d0f32ebfaa9c6011f8454994f86108c2eb9c79b8b7de00b36d558cadcedaa3d"}, + {file = "watchfiles-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d45d9b699ecbac6c7bd8e0a2609767491540403610962968d258fd6405c17c"}, + {file = "watchfiles-0.21.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:aff06b2cac3ef4616e26ba17a9c250c1fe9dd8a5d907d0193f84c499b1b6e6a9"}, + {file = "watchfiles-0.21.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d9792dff410f266051025ecfaa927078b94cc7478954b06796a9756ccc7e14a9"}, + {file = "watchfiles-0.21.0-cp310-none-win32.whl", hash = "sha256:214cee7f9e09150d4fb42e24919a1e74d8c9b8a9306ed1474ecaddcd5479c293"}, + {file = "watchfiles-0.21.0-cp310-none-win_amd64.whl", hash = "sha256:1ad7247d79f9f55bb25ab1778fd47f32d70cf36053941f07de0b7c4e96b5d235"}, + {file = "watchfiles-0.21.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:668c265d90de8ae914f860d3eeb164534ba2e836811f91fecc7050416ee70aa7"}, + {file = "watchfiles-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a23092a992e61c3a6a70f350a56db7197242f3490da9c87b500f389b2d01eef"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e7941bbcfdded9c26b0bf720cb7e6fd803d95a55d2c14b4bd1f6a2772230c586"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11cd0c3100e2233e9c53106265da31d574355c288e15259c0d40a4405cbae317"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78f30cbe8b2ce770160d3c08cff01b2ae9306fe66ce899b73f0409dc1846c1b"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6674b00b9756b0af620aa2a3346b01f8e2a3dc729d25617e1b89cf6af4a54eb1"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd7ac678b92b29ba630d8c842d8ad6c555abda1b9ef044d6cc092dacbfc9719d"}, + {file = "watchfiles-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c873345680c1b87f1e09e0eaf8cf6c891b9851d8b4d3645e7efe2ec20a20cc7"}, + {file = "watchfiles-0.21.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49f56e6ecc2503e7dbe233fa328b2be1a7797d31548e7a193237dcdf1ad0eee0"}, + {file = "watchfiles-0.21.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:02d91cbac553a3ad141db016e3350b03184deaafeba09b9d6439826ee594b365"}, + {file = "watchfiles-0.21.0-cp311-none-win32.whl", hash = "sha256:ebe684d7d26239e23d102a2bad2a358dedf18e462e8808778703427d1f584400"}, + {file = "watchfiles-0.21.0-cp311-none-win_amd64.whl", hash = "sha256:4566006aa44cb0d21b8ab53baf4b9c667a0ed23efe4aaad8c227bfba0bf15cbe"}, + {file = "watchfiles-0.21.0-cp311-none-win_arm64.whl", hash = "sha256:c550a56bf209a3d987d5a975cdf2063b3389a5d16caf29db4bdddeae49f22078"}, + {file = "watchfiles-0.21.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:51ddac60b96a42c15d24fbdc7a4bfcd02b5a29c047b7f8bf63d3f6f5a860949a"}, + {file = "watchfiles-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:511f0b034120cd1989932bf1e9081aa9fb00f1f949fbd2d9cab6264916ae89b1"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cfb92d49dbb95ec7a07511bc9efb0faff8fe24ef3805662b8d6808ba8409a71a"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f92944efc564867bbf841c823c8b71bb0be75e06b8ce45c084b46411475a915"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:642d66b75eda909fd1112d35c53816d59789a4b38c141a96d62f50a3ef9b3360"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d23bcd6c8eaa6324fe109d8cac01b41fe9a54b8c498af9ce464c1aeeb99903d6"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18d5b4da8cf3e41895b34e8c37d13c9ed294954907929aacd95153508d5d89d7"}, + {file = "watchfiles-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b8d1eae0f65441963d805f766c7e9cd092f91e0c600c820c764a4ff71a0764c"}, + {file = "watchfiles-0.21.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1fd9a5205139f3c6bb60d11f6072e0552f0a20b712c85f43d42342d162be1235"}, + {file = "watchfiles-0.21.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a1e3014a625bcf107fbf38eece0e47fa0190e52e45dc6eee5a8265ddc6dc5ea7"}, + {file = "watchfiles-0.21.0-cp312-none-win32.whl", hash = "sha256:9d09869f2c5a6f2d9df50ce3064b3391d3ecb6dced708ad64467b9e4f2c9bef3"}, + {file = "watchfiles-0.21.0-cp312-none-win_amd64.whl", hash = "sha256:18722b50783b5e30a18a8a5db3006bab146d2b705c92eb9a94f78c72beb94094"}, + {file = "watchfiles-0.21.0-cp312-none-win_arm64.whl", hash = "sha256:a3b9bec9579a15fb3ca2d9878deae789df72f2b0fdaf90ad49ee389cad5edab6"}, + {file = "watchfiles-0.21.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:4ea10a29aa5de67de02256a28d1bf53d21322295cb00bd2d57fcd19b850ebd99"}, + {file = "watchfiles-0.21.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:40bca549fdc929b470dd1dbfcb47b3295cb46a6d2c90e50588b0a1b3bd98f429"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9b37a7ba223b2f26122c148bb8d09a9ff312afca998c48c725ff5a0a632145f7"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec8c8900dc5c83650a63dd48c4d1d245343f904c4b64b48798c67a3767d7e165"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ad3fe0a3567c2f0f629d800409cd528cb6251da12e81a1f765e5c5345fd0137"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d353c4cfda586db2a176ce42c88f2fc31ec25e50212650c89fdd0f560ee507b"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:83a696da8922314ff2aec02987eefb03784f473281d740bf9170181829133765"}, + {file = "watchfiles-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a03651352fc20975ee2a707cd2d74a386cd303cc688f407296064ad1e6d1562"}, + {file = "watchfiles-0.21.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3ad692bc7792be8c32918c699638b660c0de078a6cbe464c46e1340dadb94c19"}, + {file = "watchfiles-0.21.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06247538e8253975bdb328e7683f8515ff5ff041f43be6c40bff62d989b7d0b0"}, + {file = "watchfiles-0.21.0-cp38-none-win32.whl", hash = "sha256:9a0aa47f94ea9a0b39dd30850b0adf2e1cd32a8b4f9c7aa443d852aacf9ca214"}, + {file = "watchfiles-0.21.0-cp38-none-win_amd64.whl", hash = "sha256:8d5f400326840934e3507701f9f7269247f7c026d1b6cfd49477d2be0933cfca"}, + {file = "watchfiles-0.21.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:7f762a1a85a12cc3484f77eee7be87b10f8c50b0b787bb02f4e357403cad0c0e"}, + {file = "watchfiles-0.21.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6e9be3ef84e2bb9710f3f777accce25556f4a71e15d2b73223788d528fcc2052"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4c48a10d17571d1275701e14a601e36959ffada3add8cdbc9e5061a6e3579a5d"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c889025f59884423428c261f212e04d438de865beda0b1e1babab85ef4c0f01"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:66fac0c238ab9a2e72d026b5fb91cb902c146202bbd29a9a1a44e8db7b710b6f"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a21f71885aa2744719459951819e7bf5a906a6448a6b2bbce8e9cc9f2c8128"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c9198c989f47898b2c22201756f73249de3748e0fc9de44adaf54a8b259cc0c"}, + {file = "watchfiles-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f57c4461cd24fda22493109c45b3980863c58a25b8bec885ca8bea6b8d4b28"}, + {file = "watchfiles-0.21.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:853853cbf7bf9408b404754b92512ebe3e3a83587503d766d23e6bf83d092ee6"}, + {file = "watchfiles-0.21.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d5b1dc0e708fad9f92c296ab2f948af403bf201db8fb2eb4c8179db143732e49"}, + {file = "watchfiles-0.21.0-cp39-none-win32.whl", hash = "sha256:59137c0c6826bd56c710d1d2bda81553b5e6b7c84d5a676747d80caf0409ad94"}, + {file = "watchfiles-0.21.0-cp39-none-win_amd64.whl", hash = "sha256:6cb8fdc044909e2078c248986f2fc76f911f72b51ea4a4fbbf472e01d14faa58"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab03a90b305d2588e8352168e8c5a1520b721d2d367f31e9332c4235b30b8994"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:927c589500f9f41e370b0125c12ac9e7d3a2fd166b89e9ee2828b3dda20bfe6f"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd467213195e76f838caf2c28cd65e58302d0254e636e7c0fca81efa4a2e62c"}, + {file = "watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02b73130687bc3f6bb79d8a170959042eb56eb3a42df3671c79b428cd73f17cc"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:08dca260e85ffae975448e344834d765983237ad6dc308231aa16e7933db763e"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ccceb50c611c433145502735e0370877cced72a6c70fd2410238bcbc7fe51d8"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57d430f5fb63fea141ab71ca9c064e80de3a20b427ca2febcbfcef70ff0ce895"}, + {file = "watchfiles-0.21.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd5fad9b9c0dd89904bbdea978ce89a2b692a7ee8a0ce19b940e538c88a809c"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:be6dd5d52b73018b21adc1c5d28ac0c68184a64769052dfeb0c5d9998e7f56a2"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b3cab0e06143768499384a8a5efb9c4dc53e19382952859e4802f294214f36ec"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c6ed10c2497e5fedadf61e465b3ca12a19f96004c15dcffe4bd442ebadc2d85"}, + {file = "watchfiles-0.21.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43babacef21c519bc6631c5fce2a61eccdfc011b4bcb9047255e9620732c8097"}, + {file = "watchfiles-0.21.0.tar.gz", hash = "sha256:c76c635fabf542bb78524905718c39f736a98e5ab25b23ec6d4abede1a85a6a3"}, +] + +[package.dependencies] +anyio = ">=3.0.0" + +[[package]] +name = "websockets" +version = "12.0" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "websockets-12.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374"}, + {file = "websockets-12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be"}, + {file = "websockets-12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558"}, + {file = "websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8"}, + {file = "websockets-12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603"}, + {file = "websockets-12.0-cp310-cp310-win32.whl", hash = "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f"}, + {file = "websockets-12.0-cp310-cp310-win_amd64.whl", hash = "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf"}, + {file = "websockets-12.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4"}, + {file = "websockets-12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f"}, + {file = "websockets-12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45"}, + {file = "websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca"}, + {file = "websockets-12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53"}, + {file = "websockets-12.0-cp311-cp311-win32.whl", hash = "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402"}, + {file = "websockets-12.0-cp311-cp311-win_amd64.whl", hash = "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b"}, + {file = "websockets-12.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df"}, + {file = "websockets-12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc"}, + {file = "websockets-12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92"}, + {file = "websockets-12.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2"}, + {file = "websockets-12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113"}, + {file = "websockets-12.0-cp312-cp312-win32.whl", hash = "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d"}, + {file = "websockets-12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f"}, + {file = "websockets-12.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5f6ffe2c6598f7f7207eef9a1228b6f5c818f9f4d53ee920aacd35cec8110438"}, + {file = "websockets-12.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9edf3fc590cc2ec20dc9d7a45108b5bbaf21c0d89f9fd3fd1685e223771dc0b2"}, + {file = "websockets-12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8572132c7be52632201a35f5e08348137f658e5ffd21f51f94572ca6c05ea81d"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:604428d1b87edbf02b233e2c207d7d528460fa978f9e391bd8aaf9c8311de137"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a9d160fd080c6285e202327aba140fc9a0d910b09e423afff4ae5cbbf1c7205"}, + {file = "websockets-12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87b4aafed34653e465eb77b7c93ef058516cb5acf3eb21e42f33928616172def"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b2ee7288b85959797970114deae81ab41b731f19ebcd3bd499ae9ca0e3f1d2c8"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7fa3d25e81bfe6a89718e9791128398a50dec6d57faf23770787ff441d851967"}, + {file = "websockets-12.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a571f035a47212288e3b3519944f6bf4ac7bc7553243e41eac50dd48552b6df7"}, + {file = "websockets-12.0-cp38-cp38-win32.whl", hash = "sha256:3c6cc1360c10c17463aadd29dd3af332d4a1adaa8796f6b0e9f9df1fdb0bad62"}, + {file = "websockets-12.0-cp38-cp38-win_amd64.whl", hash = "sha256:1bf386089178ea69d720f8db6199a0504a406209a0fc23e603b27b300fdd6892"}, + {file = "websockets-12.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ab3d732ad50a4fbd04a4490ef08acd0517b6ae6b77eb967251f4c263011a990d"}, + {file = "websockets-12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1d9697f3337a89691e3bd8dc56dea45a6f6d975f92e7d5f773bc715c15dde28"}, + {file = "websockets-12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1df2fbd2c8a98d38a66f5238484405b8d1d16f929bb7a33ed73e4801222a6f53"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23509452b3bc38e3a057382c2e941d5ac2e01e251acce7adc74011d7d8de434c"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e5fc14ec6ea568200ea4ef46545073da81900a2b67b3e666f04adf53ad452ec"}, + {file = "websockets-12.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46e71dbbd12850224243f5d2aeec90f0aaa0f2dde5aeeb8fc8df21e04d99eff9"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b81f90dcc6c85a9b7f29873beb56c94c85d6f0dac2ea8b60d995bd18bf3e2aae"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a02413bc474feda2849c59ed2dfb2cddb4cd3d2f03a2fedec51d6e959d9b608b"}, + {file = "websockets-12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bbe6013f9f791944ed31ca08b077e26249309639313fff132bfbf3ba105673b9"}, + {file = "websockets-12.0-cp39-cp39-win32.whl", hash = "sha256:cbe83a6bbdf207ff0541de01e11904827540aa069293696dd528a6640bd6a5f6"}, + {file = "websockets-12.0-cp39-cp39-win_amd64.whl", hash = "sha256:fc4e7fa5414512b481a2483775a8e8be7803a35b30ca805afa4998a84f9fd9e8"}, + {file = "websockets-12.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077"}, + {file = "websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b"}, + {file = "websockets-12.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30"}, + {file = "websockets-12.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0bee75f400895aef54157b36ed6d3b308fcab62e5260703add87f44cee9c82a6"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:423fc1ed29f7512fceb727e2d2aecb952c46aa34895e9ed96071821309951123"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27a5e9964ef509016759f2ef3f2c1e13f403725a5e6a1775555994966a66e931"}, + {file = "websockets-12.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3181df4583c4d3994d31fb235dc681d2aaad744fbdbf94c4802485ececdecf2"}, + {file = "websockets-12.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:b067cb952ce8bf40115f6c19f478dc71c5e719b7fbaa511359795dfd9d1a6468"}, + {file = "websockets-12.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:00700340c6c7ab788f176d118775202aadea7602c5cc6be6ae127761c16d6b0b"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e469d01137942849cff40517c97a30a93ae79917752b34029f0ec72df6b46399"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffefa1374cd508d633646d51a8e9277763a9b78ae71324183693959cf94635a7"}, + {file = "websockets-12.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0cab91b3956dfa9f512147860783a1829a8d905ee218a9837c18f683239611"}, + {file = "websockets-12.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2cb388a5bfb56df4d9a406783b7f9dbefb888c09b71629351cc6b036e9259370"}, + {file = "websockets-12.0-py3-none-any.whl", hash = "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e"}, + {file = "websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"}, +] + +[[package]] +name = "yarl" +version = "1.9.3" +description = "Yet another URL library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32435d134414e01d937cd9d6cc56e8413a8d4741dea36af5840c7750f04d16ab"}, + {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9a5211de242754b5e612557bca701f39f8b1a9408dff73c6db623f22d20f470e"}, + {file = "yarl-1.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:525cd69eff44833b01f8ef39aa33a9cc53a99ff7f9d76a6ef6a9fb758f54d0ff"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc94441bcf9cb8c59f51f23193316afefbf3ff858460cb47b5758bf66a14d130"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e36021db54b8a0475805acc1d6c4bca5d9f52c3825ad29ae2d398a9d530ddb88"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0f17d1df951336a02afc8270c03c0c6e60d1f9996fcbd43a4ce6be81de0bd9d"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5f3faeb8100a43adf3e7925d556801d14b5816a0ac9e75e22948e787feec642"}, + {file = "yarl-1.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aed37db837ecb5962469fad448aaae0f0ee94ffce2062cf2eb9aed13328b5196"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:721ee3fc292f0d069a04016ef2c3a25595d48c5b8ddc6029be46f6158d129c92"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b8bc5b87a65a4e64bc83385c05145ea901b613d0d3a434d434b55511b6ab0067"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:dd952b9c64f3b21aedd09b8fe958e4931864dba69926d8a90c90d36ac4e28c9a"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:c405d482c320a88ab53dcbd98d6d6f32ada074f2d965d6e9bf2d823158fa97de"}, + {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9df9a0d4c5624790a0dea2e02e3b1b3c69aed14bcb8650e19606d9df3719e87d"}, + {file = "yarl-1.9.3-cp310-cp310-win32.whl", hash = "sha256:d34c4f80956227f2686ddea5b3585e109c2733e2d4ef12eb1b8b4e84f09a2ab6"}, + {file = "yarl-1.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:cf7a4e8de7f1092829caef66fd90eaf3710bc5efd322a816d5677b7664893c93"}, + {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d61a0ca95503867d4d627517bcfdc28a8468c3f1b0b06c626f30dd759d3999fd"}, + {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73cc83f918b69110813a7d95024266072d987b903a623ecae673d1e71579d566"}, + {file = "yarl-1.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d81657b23e0edb84b37167e98aefb04ae16cbc5352770057893bd222cdc6e45f"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a1a8443091c7fbc17b84a0d9f38de34b8423b459fb853e6c8cdfab0eacf613"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe34befb8c765b8ce562f0200afda3578f8abb159c76de3ab354c80b72244c41"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c757f64afe53a422e45e3e399e1e3cf82b7a2f244796ce80d8ca53e16a49b9f"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72a57b41a0920b9a220125081c1e191b88a4cdec13bf9d0649e382a822705c65"}, + {file = "yarl-1.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632c7aeb99df718765adf58eacb9acb9cbc555e075da849c1378ef4d18bf536a"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b0b8c06afcf2bac5a50b37f64efbde978b7f9dc88842ce9729c020dc71fae4ce"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1d93461e2cf76c4796355494f15ffcb50a3c198cc2d601ad8d6a96219a10c363"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4003f380dac50328c85e85416aca6985536812c082387255c35292cb4b41707e"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4d6d74a97e898c1c2df80339aa423234ad9ea2052f66366cef1e80448798c13d"}, + {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b61e64b06c3640feab73fa4ff9cb64bd8182de52e5dc13038e01cfe674ebc321"}, + {file = "yarl-1.9.3-cp311-cp311-win32.whl", hash = "sha256:29beac86f33d6c7ab1d79bd0213aa7aed2d2f555386856bb3056d5fdd9dab279"}, + {file = "yarl-1.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:f7271d6bd8838c49ba8ae647fc06469137e1c161a7ef97d778b72904d9b68696"}, + {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:dd318e6b75ca80bff0b22b302f83a8ee41c62b8ac662ddb49f67ec97e799885d"}, + {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c4b1efb11a8acd13246ffb0bee888dd0e8eb057f8bf30112e3e21e421eb82d4a"}, + {file = "yarl-1.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c6f034386e5550b5dc8ded90b5e2ff7db21f0f5c7de37b6efc5dac046eb19c10"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd49a908cb6d387fc26acee8b7d9fcc9bbf8e1aca890c0b2fdfd706057546080"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa4643635f26052401750bd54db911b6342eb1a9ac3e74f0f8b58a25d61dfe41"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e741bd48e6a417bdfbae02e088f60018286d6c141639359fb8df017a3b69415a"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c86d0d0919952d05df880a1889a4f0aeb6868e98961c090e335671dea5c0361"}, + {file = "yarl-1.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3d5434b34100b504aabae75f0622ebb85defffe7b64ad8f52b8b30ec6ef6e4b9"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79e1df60f7c2b148722fb6cafebffe1acd95fd8b5fd77795f56247edaf326752"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:44e91a669c43f03964f672c5a234ae0d7a4d49c9b85d1baa93dec28afa28ffbd"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3cfa4dbe17b2e6fca1414e9c3bcc216f6930cb18ea7646e7d0d52792ac196808"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:88d2c3cc4b2f46d1ba73d81c51ec0e486f59cc51165ea4f789677f91a303a9a7"}, + {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cccdc02e46d2bd7cb5f38f8cc3d9db0d24951abd082b2f242c9e9f59c0ab2af3"}, + {file = "yarl-1.9.3-cp312-cp312-win32.whl", hash = "sha256:96758e56dceb8a70f8a5cff1e452daaeff07d1cc9f11e9b0c951330f0a2396a7"}, + {file = "yarl-1.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:c4472fe53ebf541113e533971bd8c32728debc4c6d8cc177f2bff31d011ec17e"}, + {file = "yarl-1.9.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:126638ab961633f0940a06e1c9d59919003ef212a15869708dcb7305f91a6732"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c99ddaddb2fbe04953b84d1651149a0d85214780e4d0ee824e610ab549d98d92"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dab30b21bd6fb17c3f4684868c7e6a9e8468078db00f599fb1c14e324b10fca"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:828235a2a169160ee73a2fcfb8a000709edf09d7511fccf203465c3d5acc59e4"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc391e3941045fd0987c77484b2799adffd08e4b6735c4ee5f054366a2e1551d"}, + {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51382c72dd5377861b573bd55dcf680df54cea84147c8648b15ac507fbef984d"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:28a108cb92ce6cf867690a962372996ca332d8cda0210c5ad487fe996e76b8bb"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8f18a7832ff85dfcd77871fe677b169b1bc60c021978c90c3bb14f727596e0ae"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:7eaf13af79950142ab2bbb8362f8d8d935be9aaf8df1df89c86c3231e4ff238a"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:66a6dbf6ca7d2db03cc61cafe1ee6be838ce0fbc97781881a22a58a7c5efef42"}, + {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a0a4f3aaa18580038cfa52a7183c8ffbbe7d727fe581300817efc1e96d1b0e9"}, + {file = "yarl-1.9.3-cp37-cp37m-win32.whl", hash = "sha256:946db4511b2d815979d733ac6a961f47e20a29c297be0d55b6d4b77ee4b298f6"}, + {file = "yarl-1.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:2dad8166d41ebd1f76ce107cf6a31e39801aee3844a54a90af23278b072f1ccf"}, + {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bb72d2a94481e7dc7a0c522673db288f31849800d6ce2435317376a345728225"}, + {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9a172c3d5447b7da1680a1a2d6ecdf6f87a319d21d52729f45ec938a7006d5d8"}, + {file = "yarl-1.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2dc72e891672343b99db6d497024bf8b985537ad6c393359dc5227ef653b2f17"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8d51817cf4b8d545963ec65ff06c1b92e5765aa98831678d0e2240b6e9fd281"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53ec65f7eee8655bebb1f6f1607760d123c3c115a324b443df4f916383482a67"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cfd77e8e5cafba3fb584e0f4b935a59216f352b73d4987be3af51f43a862c403"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e73db54c967eb75037c178a54445c5a4e7461b5203b27c45ef656a81787c0c1b"}, + {file = "yarl-1.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09c19e5f4404574fcfb736efecf75844ffe8610606f3fccc35a1515b8b6712c4"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6280353940f7e5e2efaaabd686193e61351e966cc02f401761c4d87f48c89ea4"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c25ec06e4241e162f5d1f57c370f4078797ade95c9208bd0c60f484834f09c96"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7217234b10c64b52cc39a8d82550342ae2e45be34f5bff02b890b8c452eb48d7"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4ce77d289f8d40905c054b63f29851ecbfd026ef4ba5c371a158cfe6f623663e"}, + {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f74b015c99a5eac5ae589de27a1201418a5d9d460e89ccb3366015c6153e60a"}, + {file = "yarl-1.9.3-cp38-cp38-win32.whl", hash = "sha256:8a2538806be846ea25e90c28786136932ec385c7ff3bc1148e45125984783dc6"}, + {file = "yarl-1.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:6465d36381af057d0fab4e0f24ef0e80ba61f03fe43e6eeccbe0056e74aadc70"}, + {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2f3c8822bc8fb4a347a192dd6a28a25d7f0ea3262e826d7d4ef9cc99cd06d07e"}, + {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7831566595fe88ba17ea80e4b61c0eb599f84c85acaa14bf04dd90319a45b90"}, + {file = "yarl-1.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff34cb09a332832d1cf38acd0f604c068665192c6107a439a92abfd8acf90fe2"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe8080b4f25dfc44a86bedd14bc4f9d469dfc6456e6f3c5d9077e81a5fedfba7"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8535e111a064f3bdd94c0ed443105934d6f005adad68dd13ce50a488a0ad1bf3"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d155a092bf0ebf4a9f6f3b7a650dc5d9a5bbb585ef83a52ed36ba46f55cc39d"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:778df71c8d0c8c9f1b378624b26431ca80041660d7be7c3f724b2c7a6e65d0d6"}, + {file = "yarl-1.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9f9cafaf031c34d95c1528c16b2fa07b710e6056b3c4e2e34e9317072da5d1a"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ca6b66f69e30f6e180d52f14d91ac854b8119553b524e0e28d5291a724f0f423"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e0e7e83f31e23c5d00ff618045ddc5e916f9e613d33c5a5823bc0b0a0feb522f"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:af52725c7c39b0ee655befbbab5b9a1b209e01bb39128dce0db226a10014aacc"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0ab5baaea8450f4a3e241ef17e3d129b2143e38a685036b075976b9c415ea3eb"}, + {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d350388ba1129bc867c6af1cd17da2b197dff0d2801036d2d7d83c2d771a682"}, + {file = "yarl-1.9.3-cp39-cp39-win32.whl", hash = "sha256:e2a16ef5fa2382af83bef4a18c1b3bcb4284c4732906aa69422cf09df9c59f1f"}, + {file = "yarl-1.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:d92d897cb4b4bf915fbeb5e604c7911021a8456f0964f3b8ebbe7f9188b9eabb"}, + {file = "yarl-1.9.3-py3-none-any.whl", hash = "sha256:271d63396460b6607b588555ea27a1a02b717ca2e3f2cf53bdde4013d7790929"}, + {file = "yarl-1.9.3.tar.gz", hash = "sha256:4a14907b597ec55740f63e52d7fee0e9ee09d5b9d57a4f399a7423268e457b57"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + +[[package]] +name = "zipp" +version = "3.17.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + +[metadata] +lock-version = "2.0" +python-versions = ">=3.8.1,<4.0" +content-hash = "2b6e280e9f94fbe477fa6bf6b007236a80626f74b7dcd2627fbd7f595f746fab" diff --git a/templates/rag-multi-modal-mv-local/pyproject.toml b/templates/rag-multi-modal-mv-local/pyproject.toml new file mode 100644 index 00000000000..86e67892af2 --- /dev/null +++ b/templates/rag-multi-modal-mv-local/pyproject.toml @@ -0,0 +1,38 @@ +[tool.poetry] +name = "rag-multi-modal-mv-local" +version = "0.1.0" +description = "Multi-modal RAG using Chroma and multi-vector retriever" +authors = [ + "Lance Martin ", +] +readme = "README.md" + +[tool.poetry.dependencies] +python = ">=3.8.1,<4.0" +langchain = ">=0.0.351" +openai = "<2" +tiktoken = ">=0.5.1" +chromadb = ">=0.4.14" +pypdfium2 = ">=4.20.0" +langchain-experimental = "^0.0.43" +pillow = ">=10.1.0" +langchain-community = ">=0.0.4" + +[tool.poetry.group.dev.dependencies] +langchain-cli = ">=0.0.15" + +[tool.langserve] +export_module = "rag_multi_modal_mv_local" +export_attr = "chain" + +[tool.templates-hub] +use-case = "rag" +author = "LangChain" +integrations = ["Ollama", "Chroma"] +tags = ["multi-modal"] + +[build-system] +requires = [ + "poetry-core", +] +build-backend = "poetry.core.masonry.api" diff --git a/templates/rag-multi-modal-mv-local/rag-multi-modal-mv-local.ipynb b/templates/rag-multi-modal-mv-local/rag-multi-modal-mv-local.ipynb new file mode 100644 index 00000000000..37e42643fb6 --- /dev/null +++ b/templates/rag-multi-modal-mv-local/rag-multi-modal-mv-local.ipynb @@ -0,0 +1,52 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "id": "681a5d1e", + "metadata": {}, + "source": [ + "## Run Template\n", + "\n", + "In `server.py`, set -\n", + "```\n", + "add_routes(app, chain_rag_conv, path=\"/rag-multi-modal-mv-local\")\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d774be2a", + "metadata": {}, + "outputs": [], + "source": [ + "from langserve.client import RemoteRunnable\n", + "\n", + "rag_app = RemoteRunnable(\"http://localhost:8001/rag-multi-modal-mv-local\")\n", + "rag_app.invoke(\" < keywords here > \")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/__init__.py b/templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/__init__.py new file mode 100644 index 00000000000..396ac4e7ac5 --- /dev/null +++ b/templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/__init__.py @@ -0,0 +1,3 @@ +from rag_multi_modal_mv_local.chain import chain + +__all__ = ["chain"] diff --git a/templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/chain.py b/templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/chain.py new file mode 100644 index 00000000000..4808aacf0f7 --- /dev/null +++ b/templates/rag-multi-modal-mv-local/rag_multi_modal_mv_local/chain.py @@ -0,0 +1,131 @@ +import base64 +import io +from pathlib import Path + +from langchain.chat_models import ChatOllama +from langchain.embeddings import OllamaEmbeddings +from langchain.pydantic_v1 import BaseModel +from langchain.retrievers.multi_vector import MultiVectorRetriever +from langchain.schema.document import Document +from langchain.schema.messages import HumanMessage +from langchain.schema.output_parser import StrOutputParser +from langchain.schema.runnable import RunnableLambda, RunnablePassthrough +from langchain.storage import LocalFileStore +from langchain.vectorstores import Chroma +from PIL import Image + + +def resize_base64_image(base64_string, size=(128, 128)): + """ + Resize an image encoded as a Base64 string. + + :param base64_string: A Base64 encoded string of the image to be resized. + :param size: A tuple representing the new size (width, height) for the image. + :return: A Base64 encoded string of the resized image. + """ + img_data = base64.b64decode(base64_string) + img = Image.open(io.BytesIO(img_data)) + resized_img = img.resize(size, Image.LANCZOS) + buffered = io.BytesIO() + resized_img.save(buffered, format=img.format) + return base64.b64encode(buffered.getvalue()).decode("utf-8") + + +def get_resized_images(docs): + """ + Resize images from base64-encoded strings. + + :param docs: A list of base64-encoded image to be resized. + :return: Dict containing a list of resized base64-encoded strings. + """ + b64_images = [] + for doc in docs: + if isinstance(doc, Document): + doc = doc.page_content + # Optional: re-size image + # resized_image = resize_base64_image(doc, size=(1280, 720)) + b64_images.append(doc) + return {"images": b64_images} + + +def img_prompt_func(data_dict, num_images=1): + """ + Ollama prompt for image analysis. + + :param data_dict: A dict with images and a user-provided question. + :param num_images: Number of images to include in the prompt. + :return: A list containing message objects for each image and the text prompt. + """ + messages = [] + if data_dict["context"]["images"]: + for image in data_dict["context"]["images"][:num_images]: + image_message = { + "type": "image_url", + "image_url": f"data:image/jpeg;base64,{image}", + } + messages.append(image_message) + text_message = { + "type": "text", + "text": ( + "You are a helpful assistant that gives a description of food pictures.\n" + "Give a detailed summary of the image.\n" + ), + } + messages.append(text_message) + return [HumanMessage(content=messages)] + + +def multi_modal_rag_chain(retriever): + """ + Multi-modal RAG chain, + + :param retriever: A function that retrieves the necessary context for the model. + :return: A chain of functions representing the multi-modal RAG process. + """ + # Initialize the multi-modal Large Language Model with specific parameters + model = ChatOllama(model="bakllava", temperature=0) + + # Define the RAG pipeline + chain = ( + { + "context": retriever | RunnableLambda(get_resized_images), + "question": RunnablePassthrough(), + } + | RunnableLambda(img_prompt_func) + | model + | StrOutputParser() + ) + + return chain + + +# Load chroma +vectorstore_mvr = Chroma( + collection_name="image_summaries", + persist_directory=str(Path(__file__).parent.parent / "chroma_db_multi_modal"), + embedding_function=OllamaEmbeddings(model="llama2:7b"), +) + +# Load file store +store = LocalFileStore( + str(Path(__file__).parent.parent / "multi_vector_retriever_metadata") +) +id_key = "doc_id" + +# Create the multi-vector retriever +retriever = MultiVectorRetriever( + vectorstore=vectorstore_mvr, + byte_store=store, + id_key=id_key, +) + +# Create RAG chain +chain = multi_modal_rag_chain(retriever) + + +# Add typing for input +class Question(BaseModel): + __root__: str + + +chain = chain.with_types(input_type=Question) diff --git a/templates/rag-multi-modal-mv-local/tests/__init__.py b/templates/rag-multi-modal-mv-local/tests/__init__.py new file mode 100644 index 00000000000..e69de29bb2d