commit 5f29d7ef854ad1c14e2ca5b6a082a192a5df2ed8 Author: Egutierrez Date: Mon Apr 6 00:57:17 2026 +0200 init: estudio_embeddings analysis from fn_registry diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md new file mode 100644 index 0000000..36a65c7 --- /dev/null +++ b/.claude/CLAUDE.md @@ -0,0 +1,40 @@ +# JUPYTER HABILITADO EN ESTE ANALISIS + +## Reglas OBLIGATORIAS para Claude + +### 1. CODIGO INMUTABLE — NUNCA MODIFICAR CELDAS EXISTENTES +- **PROHIBIDO** usar NotebookEdit para reemplazar celdas existentes +- **SIEMPRE** anadir celdas NUEVAS al final del notebook +- Si hay un error en una celda, crear celda nueva con la correccion +- El historial de trabajo debe quedar intacto para trazabilidad + +### 2. PROGRAMACION FUNCIONAL OBLIGATORIA +- **Funciones puras**: sin efectos secundarios, mismo input -> mismo output +- **Inmutabilidad**: nunca mutar datos, crear copias transformadas +- **Composicion**: funciones pequenas que se combinan +- Preferir: `map`, `filter`, `reduce`, list comprehensions +- Evitar: loops con mutacion, `global`, modificar argumentos in-place + +### 3. SIEMPRE usar MCP jupyter para ejecutar codigo Python +- Las ejecuciones se ven en tiempo real en Jupyter Lab del usuario +- Compartimos variables y estado del kernel +- **NUNCA usar bash para ejecutar Python en este analisis** + +### 4. Verificar Jupyter activo ANTES de ejecutar +- Si no esta activo: pedir al usuario que ejecute `./run-jupyter-lab.sh` + +### 5. Gestion de notebooks +- Notebooks en la carpeta `notebooks/` o subcarpetas +- Si un notebook tiene >50 celdas, crear uno nuevo +- Nombrar descriptivamente: `01_exploracion.ipynb`, `02_limpieza.ipynb` + +### 6. Gestion de Python +- **SIEMPRE usar `uv`** para gestionar dependencias +- Anadir paquetes con `uv add nombre_paquete` + +### 7. Acceso al fn_registry +- `FN_REGISTRY_ROOT` apunta a la raiz del registry +- Para importar funciones Python: `sys.path.insert(0, os.path.join(os.environ["FN_REGISTRY_ROOT"], "python", "functions"))` +- Para consultar registry.db: `sqlite3` o `import sqlite3` con la ruta `$FN_REGISTRY_ROOT/registry.db` + + diff --git a/.ipython/profile_default/startup/00_fn_registry.py b/.ipython/profile_default/startup/00_fn_registry.py new file mode 100644 index 0000000..43d611d --- /dev/null +++ b/.ipython/profile_default/startup/00_fn_registry.py @@ -0,0 +1,83 @@ +""" +fn_registry kernel startup +Autoconfigura acceso al registry en cada notebook. +Generado por write_jupyter_registry_kernel (fn_registry). +""" +import os +import sys +import sqlite3 +from pathlib import Path + +# ── FN_REGISTRY_ROOT ──────────────────────────────────────── +FN_REGISTRY_ROOT = Path("/home/lucas/fn_registry") +os.environ["FN_REGISTRY_ROOT"] = str(FN_REGISTRY_ROOT) + +# ── sys.path: importar funciones Python del registry ──────── +_python_functions = FN_REGISTRY_ROOT / "python" / "functions" +for _domain in sorted(_python_functions.iterdir()) if _python_functions.exists() else []: + if _domain.is_dir() and not _domain.name.startswith("_"): + _path = str(_domain) + if _path not in sys.path: + sys.path.insert(0, _path) + +# Tambien el directorio padre para imports por dominio: from core import filter_list +_pf = str(_python_functions) +if _pf not in sys.path: + sys.path.insert(0, _pf) + +# ── fn_query: consultar registry.db desde el notebook ─────── +_REGISTRY_DB = FN_REGISTRY_ROOT / "registry.db" + +def fn_query(sql, params=()): + """Ejecuta una consulta SQL sobre registry.db y retorna las filas. + + Ejemplos: + fn_query("SELECT id, description FROM functions WHERE domain = ?", ("finance",)) + fn_query("SELECT id FROM functions_fts WHERE functions_fts MATCH ?", ("slice*",)) + """ + if not _REGISTRY_DB.exists(): + raise FileNotFoundError(f"registry.db no encontrado en {_REGISTRY_DB}") + con = sqlite3.connect(str(_REGISTRY_DB)) + con.row_factory = sqlite3.Row + try: + rows = con.execute(sql, params).fetchall() + return [dict(r) for r in rows] + finally: + con.close() + +def fn_search(term): + """Busca funciones y tipos en el registry por nombre o descripcion. + + Ejemplo: + fn_search("slice") + fn_search("finance") + """ + fts_term = f"name:{term}* OR description:{term}*" + functions = fn_query( + "SELECT id, kind, purity, lang, description FROM functions " + "WHERE id IN (SELECT id FROM functions_fts WHERE functions_fts MATCH ?) " + "ORDER BY name", (fts_term,) + ) + types = fn_query( + "SELECT id, algebraic, lang, description FROM types " + "WHERE id IN (SELECT id FROM types_fts WHERE types_fts MATCH ?) " + "ORDER BY name", (fts_term,) + ) + return {"functions": functions, "types": types} + +def fn_code(function_id): + """Retorna el codigo fuente de una funcion del registry. + + Ejemplo: + print(fn_code("filter_list_py_core")) + """ + rows = fn_query("SELECT code FROM functions WHERE id = ?", (function_id,)) + if not rows: + raise KeyError(f"Funcion no encontrada: {function_id}") + return rows[0]["code"] + +# ── Mensaje de bienvenida ─────────────────────────────────── +print(f"fn_registry conectado: {FN_REGISTRY_ROOT}") +print(f" registry.db: {'OK' if _REGISTRY_DB.exists() else 'NO ENCONTRADO'}") +print(f" Python functions: {_pf}") +print(f" Helpers: fn_query(), fn_search(), fn_code()") diff --git a/.jupyter-port b/.jupyter-port new file mode 100644 index 0000000..5246073 --- /dev/null +++ b/.jupyter-port @@ -0,0 +1 @@ +8888 diff --git a/.jupyter/collaboration_sessions.json b/.jupyter/collaboration_sessions.json new file mode 100644 index 0000000..c11df8e --- /dev/null +++ b/.jupyter/collaboration_sessions.json @@ -0,0 +1,7 @@ +{ + "79e34df7-326f-4746-a11b-98ba222ef286": { + "version": "2.3.0", + "created_at": "2026-04-02T15:37:29.856134+00:00", + "document_version": "2.0.0" + } +} \ No newline at end of file diff --git a/.jupyter_ystore.db b/.jupyter_ystore.db new file mode 100644 index 0000000..2dd01d3 Binary files /dev/null and b/.jupyter_ystore.db differ diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..1037efc --- /dev/null +++ b/.mcp.json @@ -0,0 +1,12 @@ +{ + "mcpServers": { + "jupyter": { + "command": "/home/lucas/fn_registry/analysis/estudio_embeddings/.venv/bin/python", + "args": ["-m", "jupyter_mcp_server.server"], + "env": { + "SERVER_URL": "http://localhost:8888", + "TOKEN": "" + } + } + } +} diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/main.py b/main.py new file mode 100644 index 0000000..e202270 --- /dev/null +++ b/main.py @@ -0,0 +1,6 @@ +def main(): + print("Hello from estudio-embeddings!") + + +if __name__ == "__main__": + main() diff --git a/notebooks/.ipynb_checkpoints/01_exploracion_embeddings-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/01_exploracion_embeddings-checkpoint.ipynb new file mode 100644 index 0000000..8cfed3f --- /dev/null +++ b/notebooks/.ipynb_checkpoints/01_exploracion_embeddings-checkpoint.ipynb @@ -0,0 +1,16 @@ +{ + "cells": [], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.12.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/.ipynb_checkpoints/02_ram_benchmark-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/02_ram_benchmark-checkpoint.ipynb new file mode 100644 index 0000000..8cfed3f --- /dev/null +++ b/notebooks/.ipynb_checkpoints/02_ram_benchmark-checkpoint.ipynb @@ -0,0 +1,16 @@ +{ + "cells": [], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.12.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/.ipynb_checkpoints/03_modelo_local-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/03_modelo_local-checkpoint.ipynb new file mode 100644 index 0000000..8cfed3f --- /dev/null +++ b/notebooks/.ipynb_checkpoints/03_modelo_local-checkpoint.ipynb @@ -0,0 +1,16 @@ +{ + "cells": [], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.12.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/.ipynb_checkpoints/04_vector_storage-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/04_vector_storage-checkpoint.ipynb new file mode 100644 index 0000000..8cfed3f --- /dev/null +++ b/notebooks/.ipynb_checkpoints/04_vector_storage-checkpoint.ipynb @@ -0,0 +1,16 @@ +{ + "cells": [], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.12.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/01_exploracion_embeddings.ipynb b/notebooks/01_exploracion_embeddings.ipynb new file mode 100644 index 0000000..10b2afd --- /dev/null +++ b/notebooks/01_exploracion_embeddings.ipynb @@ -0,0 +1,1314 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "939ac1fa-c8f0-4285-86aa-892051cd6800", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "8e11d891", + "metadata": {}, + "source": [ + "# Exploración de Embeddings: Modelos Livianos para Retrieval\n", + "\n", + "Comparamos modelos de sentence-transformers enfocándonos en:\n", + "- **Tamaño y velocidad** — cuál es el más liviano\n", + "- **Calidad de retrieval** — precision@k, recall@k, MRR\n", + "- **Trade-off práctico** — el mejor balance peso/rendimiento" + ] + }, + { + "cell_type": "markdown", + "id": "2fafce80", + "metadata": {}, + "source": [ + "## 1. Setup e imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "29508ec1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Modelos a comparar: 6\n", + " MiniLM-L6 → all-MiniLM-L6-v2 (22M - solo inglés (baseline))\n", + " MiniLM-L12 → all-MiniLM-L12-v2 (33M - solo inglés)\n", + " paraphrase-multi-L12 → paraphrase-multilingual-MiniLM-L12-v2 (118M - multilingüe 50+ idiomas)\n", + " multi-e5-small → intfloat/multilingual-e5-small (118M - multilingüe, buen retrieval)\n", + " nomic-v1.5 → nomic-ai/nomic-embed-text-v1.5 (137M - Matryoshka, dim flexible)\n", + " BGE-m3 → BAAI/bge-m3 (568M - multilingüe SOTA, más pesado)\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from sentence_transformers import SentenceTransformer\n", + "import faiss\n", + "import time\n", + "import os\n", + "\n", + "plt.style.use('seaborn-v0_8-whitegrid')\n", + "plt.rcParams['figure.figsize'] = (12, 6)\n", + "\n", + "# Modelos a comparar: nombre -> (id huggingface, descripcion, prefijo_query, prefijo_doc)\n", + "# None = sin prefijo. Los modelos e5 y nomic necesitan prefijos especiales.\n", + "MODELS = {\n", + " 'MiniLM-L6': ('all-MiniLM-L6-v2', '22M - solo inglés (baseline)', None, None),\n", + " 'MiniLM-L12': ('all-MiniLM-L12-v2', '33M - solo inglés', None, None),\n", + " 'paraphrase-multi-L12':('paraphrase-multilingual-MiniLM-L12-v2', '118M - multilingüe 50+ idiomas', None, None),\n", + " 'multi-e5-small': ('intfloat/multilingual-e5-small', '118M - multilingüe, buen retrieval', 'query: ', 'passage: '),\n", + " 'nomic-v1.5': ('nomic-ai/nomic-embed-text-v1.5', '137M - Matryoshka, dim flexible', 'search_query: ', 'search_document: '),\n", + " 'BGE-m3': ('BAAI/bge-m3', '568M - multilingüe SOTA, más pesado', None, None),\n", + "}\n", + "\n", + "print(f'Modelos a comparar: {len(MODELS)}')\n", + "for name, (model_id, desc, _, _) in MODELS.items():\n", + " print(f' {name:25s} → {model_id:50s} ({desc})')" + ] + }, + { + "cell_type": "markdown", + "id": "cf402d89", + "metadata": {}, + "source": [ + "## 2. Corpus de prueba\n", + "\n", + "Creamos un corpus con documentos de distintas categorías para evaluar retrieval. Cada query tiene documentos relevantes conocidos (ground truth)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3550fb1c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Corpus: 25 documentos en español\n", + "Queries: 10 en español con ground truth\n", + "Categorías: programación, ciencia, cocina, finanzas, geografía\n" + ] + } + ], + "source": [ + "# Corpus: documentos agrupados por tema (en español para evaluar retrieval multilingüe)\n", + "corpus = [\n", + " # Programación (0-4)\n", + " 'Python es un lenguaje de programación de alto nivel conocido por su legibilidad y versatilidad',\n", + " 'JavaScript se ejecuta en el navegador y es esencial para el desarrollo web',\n", + " 'Rust proporciona seguridad de memoria sin recolector de basura mediante su sistema de ownership',\n", + " 'SQL es el lenguaje estándar para consultar bases de datos relacionales',\n", + " 'Git es un sistema de control de versiones distribuido para rastrear cambios en el código',\n", + "\n", + " # Ciencia (5-9)\n", + " 'La fotosíntesis convierte la luz solar en energía química dentro de las células vegetales',\n", + " 'La teoría de la relatividad describe cómo la gravedad deforma el espacio-tiempo',\n", + " 'El ADN transporta información genética usando cuatro bases de nucleótidos',\n", + " 'El entrelazamiento cuántico vincula partículas sin importar la distancia entre ellas',\n", + " 'La evolución ocurre mediante selección natural y deriva genética',\n", + "\n", + " # Cocina (10-14)\n", + " 'El pan de masa madre requiere un cultivo fermentado de harina y agua',\n", + " 'El arroz para sushi se sazona con vinagre, azúcar y sal',\n", + " 'La reacción de Maillard crea el dorado y sabor al cocinar carne a alta temperatura',\n", + " 'La emulsificación une aceite y agua usando agentes como la yema de huevo',\n", + " 'La fermentación preserva alimentos y crea sabores complejos con el tiempo',\n", + "\n", + " # Finanzas (15-19)\n", + " 'El interés compuesto hace crecer los ahorros exponencialmente a largo plazo',\n", + " 'La diversificación reduce el riesgo del portafolio distribuyendo inversiones entre activos',\n", + " 'La inflación erosiona el poder adquisitivo y afecta las inversiones de renta fija',\n", + " 'La Reserva Federal establece política monetaria ajustando las tasas de interés',\n", + " 'Los fondos indexados replican índices de mercado con comisiones mínimas de gestión',\n", + "\n", + " # Geografía (20-24)\n", + " 'La selva amazónica produce aproximadamente el 20% del oxígeno del mundo',\n", + " 'Las placas tectónicas se desplazan causando terremotos y erupciones volcánicas',\n", + " 'El desierto del Sahara se extiende por once países del norte de África',\n", + " 'Las corrientes oceánicas regulan el clima global y los patrones meteorológicos',\n", + " 'La Fosa de las Marianas es el punto más profundo conocido del océano',\n", + "]\n", + "\n", + "# Queries en español con ground truth (índices de documentos relevantes)\n", + "queries = [\n", + " ('¿Cómo manejan los lenguajes de programación la memoria?', [0, 2]),\n", + " ('¿Qué es el control de versiones para código fuente?', [4]),\n", + " ('¿Cómo producen energía las plantas a partir de la luz?', [5]),\n", + " ('Cuéntame sobre física de partículas y mecánica cuántica', [7, 8]),\n", + " ('¿Cómo funciona la fermentación del pan?', [10, 14]),\n", + " ('¿Qué hace que la comida sepa mejor al cocinarla a fuego alto?', [12, 13]),\n", + " ('¿Cómo puedo hacer crecer mis ahorros con el tiempo?', [15, 16, 19]),\n", + " ('¿Qué afecta la economía y los precios?', [17, 18]),\n", + " ('Háblame de las partes más profundas del océano', [24]),\n", + " ('¿Cómo cambia la superficie de la Tierra con el tiempo?', [21, 22]),\n", + "]\n", + "\n", + "print(f'Corpus: {len(corpus)} documentos en español')\n", + "print(f'Queries: {len(queries)} en español con ground truth')\n", + "print(f'Categorías: programación, ciencia, cocina, finanzas, geografía')" + ] + }, + { + "cell_type": "markdown", + "id": "fc3857da", + "metadata": {}, + "source": [ + "## 3. Cargar modelos y generar embeddings\n", + "\n", + "Cargamos cada modelo, medimos tiempo de carga, tiempo de encoding, y tamaño en memoria." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6470048d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Modelo | Dim | Params | Size | Load | Corpus | Queries\n", + "-------------------------------------------------------------------------------------------------------------------\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fd228d449f514e07a368b80fd5853c13", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading weights: 0%| | 0/103 [00:00\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7b68536d70734f0f83201c2feb749e1b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "tokenizer_config.json: 0.00B [00:00, ?B/s]" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b79d8be283d247eb8e2cd522e536ca39", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "vocab.txt: 0.00B [00:00, ?B/s]" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2d0f53694616493bbe303a9869972988", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "tokenizer.json: 0.00B [00:00, ?B/s]" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "588f7d602f2342e5916d1b665d0bd941", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "special_tokens_map.json: 0%| | 0.00/695 [00:004s} | {\"Params\":>10s} | {\"Size\":>6s} | {\"Load\":>5s} | {\"Corpus\":>7s} | {\"Queries\":>7s}')\n", + "print('-' * 115)\n", + "for name, (model_id, desc, q_prefix, d_prefix) in MODELS.items():\n", + " results[name] = measure_model(name, model_id, corpus, queries, q_prefix, d_prefix)" + ] + }, + { + "cell_type": "markdown", + "id": "a2598cba", + "metadata": {}, + "source": [ + "## 4. Evaluación de Retrieval\n", + "\n", + "Para cada modelo, usamos FAISS para buscar los k documentos más cercanos a cada query y comparamos contra el ground truth.\n", + "\n", + "**Métricas:**\n", + "- **Precision@k**: de los k recuperados, qué fracción es relevante\n", + "- **Recall@k**: de los relevantes, qué fracción fue recuperada\n", + "- **MRR (Mean Reciprocal Rank)**: inverso de la posición del primer resultado relevante" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "39149ab1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MiniLM-L6 | Precision@5=0.240 | Recall@5=0.733 | MRR=0.778\n", + "MiniLM-L12 | Precision@5=0.220 | Recall@5=0.683 | MRR=0.820\n", + "paraphrase-multi-L12 | Precision@5=0.320 | Recall@5=0.900 | MRR=0.933\n", + "multi-e5-small | Precision@5=0.300 | Recall@5=0.867 | MRR=0.950\n", + "nomic-v1.5 | Precision@5=0.240 | Recall@5=0.733 | MRR=0.900\n", + "BGE-m3 | Precision@5=0.300 | Recall@5=0.867 | MRR=1.000\n" + ] + } + ], + "source": [ + "def evaluate_retrieval(corpus_embs, query_embs, queries, k=5):\n", + " \"\"\"Evalúa retrieval con FAISS. Retorna métricas por query y agregadas.\"\"\"\n", + " dim = corpus_embs.shape[1]\n", + "\n", + " # Índice FAISS con inner product (embeddings ya normalizados = cosine similarity)\n", + " index = faiss.IndexFlatIP(dim)\n", + " index.add(corpus_embs.astype(np.float32))\n", + "\n", + " # Buscar k vecinos para cada query\n", + " scores, indices = index.search(query_embs.astype(np.float32), k)\n", + "\n", + " per_query = []\n", + " for i, (query_text, relevant_ids) in enumerate(queries):\n", + " retrieved = indices[i].tolist()\n", + " relevant_set = set(relevant_ids)\n", + " retrieved_relevant = [idx for idx in retrieved if idx in relevant_set]\n", + "\n", + " precision_at_k = len(retrieved_relevant) / k\n", + " recall_at_k = len(retrieved_relevant) / len(relevant_set) if relevant_set else 0\n", + "\n", + " # MRR: posición del primer relevante\n", + " rr = 0\n", + " for rank, idx in enumerate(retrieved, 1):\n", + " if idx in relevant_set:\n", + " rr = 1.0 / rank\n", + " break\n", + "\n", + " per_query.append({\n", + " 'query': query_text[:60],\n", + " 'retrieved': retrieved,\n", + " 'relevant': relevant_ids,\n", + " 'precision@k': precision_at_k,\n", + " 'recall@k': recall_at_k,\n", + " 'mrr': rr,\n", + " })\n", + "\n", + " return {\n", + " 'per_query': per_query,\n", + " 'mean_precision': np.mean([q['precision@k'] for q in per_query]),\n", + " 'mean_recall': np.mean([q['recall@k'] for q in per_query]),\n", + " 'mrr': np.mean([q['mrr'] for q in per_query]),\n", + " }\n", + "\n", + "# Evaluar cada modelo\n", + "K = 5\n", + "eval_results = {}\n", + "for name, res in results.items():\n", + " ev = evaluate_retrieval(res['corpus_embs'], res['query_embs'], queries, k=K)\n", + " eval_results[name] = ev\n", + " print(f\"{name:15s} | Precision@{K}={ev['mean_precision']:.3f} | Recall@{K}={ev['mean_recall']:.3f} | MRR={ev['mrr']:.3f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "c6ae98f7", + "metadata": {}, + "source": [ + "## 5. Tabla comparativa resumen" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "83ce9114", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 Params (M)Tamaño (MB)DimLoad (s)Encode corpus (s)Encode queries (s)Precision@5Recall@5MRR
Modelo         
MiniLM-L622.70000086.6000003842.3600000.2643000.0146000.2400000.7330000.778000
MiniLM-L1233.400000127.3000003841.8500000.0176000.0124000.2200000.6830000.820000
paraphrase-multi-L12117.700000448.8000003843.5000000.0407000.0138000.3200000.9000000.933000
multi-e5-small117.700000448.8000003844.1000000.0555000.0169000.3000000.8670000.950000
nomic-v1.5136.700000521.60000076819.0400000.0554000.0175000.2400000.7330000.900000
BGE-m3567.8000002165.800000102447.9900000.0690000.0285000.3000000.8670001.000000
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Tabla resumen: velocidad + retrieval\n", + "rows = []\n", + "for name in results:\n", + " r = results[name]\n", + " ev = eval_results[name]\n", + " rows.append({\n", + " 'Modelo': name,\n", + " 'Params (M)': r['n_params_m'],\n", + " 'Tamaño (MB)': r['model_mb'],\n", + " 'Dim': r['dim'],\n", + " 'Load (s)': r['load_time_s'],\n", + " 'Encode corpus (s)': r['corpus_encode_s'],\n", + " 'Encode queries (s)': r['query_encode_s'],\n", + " 'Precision@5': round(ev['mean_precision'], 3),\n", + " 'Recall@5': round(ev['mean_recall'], 3),\n", + " 'MRR': round(ev['mrr'], 3),\n", + " })\n", + "\n", + "df_summary = pd.DataFrame(rows).set_index('Modelo')\n", + "df_summary.style.background_gradient(subset=['Precision@5', 'Recall@5', 'MRR'], cmap='Greens') .background_gradient(subset=['Tamaño (MB)', 'Load (s)'], cmap='Reds_r')" + ] + }, + { + "cell_type": "markdown", + "id": "dc5f97a8", + "metadata": {}, + "source": [ + "## 6. Visualización comparativa" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "6bf6dd3c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABv4AAAJOCAYAAAB/dnBOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA+09JREFUeJzs3Xl8Ddf/x/F3VpEEEfteWyJExFJqb4PaQpBaWmtbe2mVtrYuVKkqLYLSWlL7GrFTW0ttLaXSFqmt9tiJJCS5ub8//HK/riTcJJdEvJ6Ph8fjzsyZM2fOTMyZ85k5Y2M0Go0CAAAAAAAAAAAA8EyzzegCAAAAAAAAAAAAAEg/An8AAAAAAAAAAABAFkDgDwAAAAAAAAAAAMgCCPwBAAAAAAAAAAAAWQCBPwAAAAAAAAAAACALIPAHAAAAAAAAAAAAZAEE/gAAAAAAAAAAAIAsgMAfAAAAAAAAAAAAkAUQ+AMAAAAAAAAAAACyAAJ/yBCdO3dW586dTdPnzp2Tp6enQkJCHrvukCFD5OfnZ9XyeHp6KigoKE3r7tu3T56entq3b59Vy5QZPIm6TquHz5lHiYqKUs2aNbV69eonXCrr+v333/XSSy8pMDBQJ06c0Keffqrg4OA05ZXcefn+++/rvffes1JpAQDPqtRcU5+E0NBQNWnSRBUqVFC1atVM82fOnKkGDRrIy8tLAQEBGVa+pyU2Nlavv/66atSooSVLlujgwYNq2bJlRhcrwyV3XxAUFCRPT0+L1k9Puz45ISEh8vT01Llz59K0fmZqT1ubtes6rVJzLwkAyBye5DWEPsZnX3L1kNFtqoSEBPn7++u7777LsDI8LDO0gcaPH6+2bdtm2PaRMvuMLgCeDWfOnNHMmTO1a9cuXb58WQ4ODvLw8FDTpk3Vvn17OTk5ZXQRs4xz586pQYMGpmkbGxvlzJlTPj4+euedd1S5cuVU5xkTE6OZM2eqevXqqlGjhjWLmynNnTtXLi4uat68eUYXJVXmzZsnPz8/JSQkqGXLlnJxcdGKFSusln+PHj0UGBioo0ePqly5clbLFwCQOpYGMObOnZvlrtsnTpzQ0KFDVbduXfXs2dPUhvz111/19ddfq2XLlurfv79y585tUX4Pt5seZevWrSpatGiay25tu3fv1o0bN/TWW29p4sSJunHjhoYMGZLRxUqTzZs3a8mSJQoLC1NUVJTc3NxUtWpVdejQQTVr1szo4mUpQUFBmjJlimna3t5eBQoUkJ+fn959913lzJkz1Xn+8ccf2rVrl7p27Zqm9QEAWVfv3r21Z88e7dq1S66ursmmGTRokDZt2qSdO3da3IYDnjVr167VxYsX1alTJ9O8w4cPKzQ0VPv27dP58+fl5uamSpUqacCAASpZsqTZ+kOGDNHKlSuT5FuyZElt3LjxiZf/Senatat+/PFHbd261eL7MjwdBP7wWD///LPee+89OTo6KiAgQB4eHoqLi9OBAwf09ddf6/jx4xo1alS6tlGkSBEdPnxY9vackon8/f1Vr149JSQk6PTp01q4cKG6dOmi5cuXW9xhmCgmJkZTpkxRv379UtWBOGrUKBmNxtQWPUPFxcVp7ty56tatm+zs7DK6OKkyfPhw5cqVS05OTho8eLCcnJyUPXt2q+Vfvnx5eXt7a/bs2Ro3bpzV8gUApM7D/wevWrVKu3btSjK/dOnST7NYT8Vvv/2mhIQEDR8+XCVKlDDN37t3r2xtbTV69Gg5OjpanJ+7u3uSepszZ44uXbqkoUOHJkmbmVSrVk0LFixQnjx59OabbyoyMlJ58uTJ6GKlitFo1LBhwxQSEqLy5cvrzTffVN68eXXlyhVt3rxZ3bp106JFi1SlSpV0badPnz7q2bOnlUqdNYwYMULOzs6KiYnRnj17NG/ePP39999atGhRqvM6ePCgpkyZotatW6cq8Hf48OFnrr0NAEidli1bavv27dqyZYtatWqVZHlMTIy2bdumOnXqZJqgH32MWVNG91HOmjVLzZs3V44cOUzzZs6cqT/++ENNmjSRp6enrly5ogULFqhNmzZasmSJPDw8zPJwdHTUF198YTbvwfyeRfny5VODBg00e/ZsAn+ZDP8D4pHOnj2r999/X4ULF9aPP/6o/Pnzm5Z17NhR//33n37++ed0b8fGxkbZsmVLdz5ZSfny5c2Guapatap69OihRYsWacSIEU9029HR0XJ2dpaDg8MT3c6T8PPPP+v69etq2rRpRhcl1QoUKGD6/aQazE2bNlVQUJCioqLk4uLyRLYBAHi0h4ex/PPPP7Vr167HDm8ZExNj1QdCMsK1a9ckJb3BvXbtmpycnFIV9JMkZ2fnJPW2fv163b59O9MPF+rq6mp6ct7R0fGZC/pJ0uzZsxUSEqKuXbtq6NChsrGxMS3r06ePQkNDrdLpZm9vT+fdQxo3bmwKZnfo0EHvv/++1q9fr8OHD8vHx+eJbTchIUFxcXHKli0b928A8Bzw8/OTi4uL1qxZk2zgb+vWrYqOjs5Uw5XTx5g1ZWQf5T///KOjR48mGZ2jW7duGj9+vNk9TLNmzdSiRQt9//33Gj9+vFl6e3v7TH+PkhZNmzbVe++9p7Nnz6pYsWIZXRz8P77xh0eaOXOmoqOjNXr0aLOgX6ISJUqoa9eupukVK1aoS5cuqlmzpry9vdWsWTMtXLjwsdtJaUziLVu2yN/fXxUrVpS/v782b96c7PqzZs1Shw4dVKNGDfn4+KhNmzbJviYdGxurMWPG6KWXXlLlypXVu3dvXbp06bHlS3Tp0iX17dtXvr6+qlmzpsaMGaPY2Nhk0/755596++23VbVqVVWqVEmdOnXSgQMHLN7WwxK/gXP27Fmz+bdv39bo0aNVv359eXt7q1GjRvr++++VkJAg6X7dJg6xNGXKFHl6epqNNz5kyBBVrlxZZ86cUY8ePVS5cmV98MEHpmUPj5+dkJCg4OBgNW/eXBUrVlStWrX06aef6tatW6Y0vXr1SvEpj/bt26tNmzam6bSeMynZsmWLihQpouLFiydZduLECb377ruqXr26KlasqDZt2mjr1q1maeLi4jRlyhS9+uqrqlixomrUqKHXX39du3btMqVJrLOzZ8/q7bfflq+vr+rUqaMpU6YkefrI0nPT09NTn3/+uemc9/b2VvPmzbVjx44kaf/55x91795dVapUUeXKldW1a1cdOnTIovqpVauWoqOjtXv3bovSAwAyRufOneXv76+//vpLHTt2VKVKlfTNN99Iun+t69mzp+rUqSNvb281bNhQU6dOlcFgSJLPkiVL1LBhQ/n4+Oi1117T/v37k91ebGysJk+erEaNGsnb21v169fXuHHjUmznJGfBggVq3ry5vL29VadOHY0cOVK3b982Lffz8zO1P2rWrGlqjyS2AaOjo03tlJCQEMXFxenEiRO6fPlyaqouWam9Hm/YsEHNmjWTj4+P2rdvr2PHjkmSFi9erEaNGqlixYrq3Llzku++7d+/X++++65efvllUz2OGTNGd+/eNUuX2JaIiIhQ3759VblyZb300kv66quvkhzH6OhojR071tTWa9y4sWbNmvXYJ54///xzVa5cWTExMUmWDRw4ULVr1zZtKywsTG+//bapfvz8/JK8Mfmwu3fv6vvvv1epUqU0ePBgs6BfolatWpmCUDdv3tRXX32lFi1aqHLlyqpSpYq6d++uo0ePPnI7UvLf+LO0XX/+/HmNGDFCjRs3lo+Pj2rUqKF333032W/2/fvvv+rSpYt8fHxUr149TZs2zdSmtoSl9y6WtKdTK/Fe4cyZM2bzH3dPEhQUZHprtkGDBqa/wcT6SfybWL16tam8O3fuNC17+BtGERERGjp0qGrVqmVqzy5fvty0/OrVqypfvrzZcKWJTp48KU9PT82fP19S+s4ZAIB1ODk56dVXX9XevXtND3A9aO3atXJxcTH1HT2uj+pRLO3ruH37tsaMGSM/Pz95e3urXr16+uijj3T9+nVJ9DEmV05L2vmp6ZeKiIjQsGHDTPcjfn5++uyzz8zyPHv2rKkPrlKlSmrXrl2yL49YWg8P91EmHudZs2aZ7nm8vb0VGBiow4cPJ1k/sX3/4PG39LuBW7ZskYODg9n3ySWpSpUqSR5cfOGFF1S2bFmdPHky2bwMBoPu3Lnz2G0+7Pbt2xoyZIiqVq2qatWqafDgwYqMjEw27Z49e/TGG2/I19dX1apVU58+fXTixIkk6R53HC3pI5Xu9zVKStLHiozFY5N4pO3bt6tYsWIWD8+zaNEilS1bVn5+frK3t9f27ds1cuRIGY1GdezYMVXb/vXXX9W/f3+VKVNGgwYN0o0bNzR06FAVLFgwSdq5c+fKz89PLVq0UFxcnNatW6f33ntPM2bM0Msvv2xKN3z4cK1evVr+/v6qUqWK9u7da/GwQXfv3lXXrl118eJFde7cWfnz59eqVau0d+/eJGn37NmjHj16yNvbW/369ZONjY3paeiFCxem6Snc8+fPS5LZ8DsxMTHq1KmTIiIi1KFDBxUqVEgHDx7UN998oytXrmj48OFyd3fXiBEjNGLECDVq1EiNGjWSZP59ofj4eFMDInGIyZR8+umnWrlypdq0aWPq8FqwYIH++ecfLVq0SA4ODmratKkGDx6c5Inj8+fP69ChQ/roo49M86x5zkj3hyqqUKFCkvn//vuvXn/9dRUoUEA9evSQs7OzNmzYoHfeeUdBQUGmepkyZYpmzJihtm3bysfHR3fu3NFff/2lv//+W7Vr1zblZzAY1L17d1WqVEkffvihdu7cqaCgIBkMBr333numdJaem5J04MAB/fTTT3rjjTfk4uKiefPm6d1339X27dtNbwD++++/6tixo1xcXNS9e3fZ29tryZIl6ty5s+bPn69KlSo9sn7KlCkjJycn/fHHH6Z9BgBkTjdv3lSPHj3UvHlztWzZ0vRG2MqVK+Xs7Kw333xTzs7O2rt3ryZPnqw7d+5o8ODBpvWXLVumTz/91NRxcvbsWfXp00e5cuVSoUKFTOkSEhLUp08fHThwQO3atVPp0qUVHh6uH3/8UadPn9a0adMeW9bE747VqlVLr7/+uk6dOqVFixYpLCzM1D4YNmyYQkNDtXnzZtMwhZ6enipevLiWLl2qw4cPm4a+qVKliiIiItSsWTO1bt1aY8eOTVddpuZ6vH//fm3btk1vvPGGJOn7779X79691b17dy1cuFBvvPGGbt26pZkzZ2rYsGGaO3euad2NGzfq7t27ev311+Xm5qbDhw9r/vz5unTpkiZPnmy2HYPBoLfffls+Pj766KOPtGfPHs2ePVvFihUzbdtoNKpPnz7at2+fXnvtNXl5eWnnzp0aN26c6UY9Jc2aNdOCBQv0888/m42EEBMTo+3bt6t169ays7PTtWvX9Pbbbyt37tzq2bOncubMqXPnzqXYGZbowIEDunnzprp06WLRcI9nz57Vli1b1KRJExUtWlRXr17VkiVL1KlTJ61bt85s5ANLWNquDwsL08GDB9W8eXMVLFhQ58+f16JFi9SlSxetW7fO9BbtlStX1KVLFxkMBvXs2VPZs2fX0qVLLX5jIDX3Lpa0p1MrMVD34L2CJfckjRo10unTp7V27VoNHTrU1OZ8cGjcvXv3asOGDerYsaNy586tIkWKJFuGq1evql27drKxsVHHjh3l7u6uHTt2aPjw4bpz5466deumvHnz6sUXX9SGDRvUr18/s/XXr18vOzs7NWnSRJL1zxkAQNq0aNFCK1eu1IYNG8y+b3bz5k39+uuvat68uZycnCzqo0qJpX0dUVFR6tixo06cOKHAwECVL19eN27c0LZt2xQREZHi0O7Pax9jatv5lvRLRURE6LXXXlNkZKTatWunUqVKKSIiQps2bdLdu3fl6Oioq1evqkOHDoqJiVHnzp2VO3durVy5Un369DEFIVNbDylZu3atoqKi1L59e9nY2GjmzJnq37+/KVgn3R8d7P33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8OHDOnjwoGlZdHS0li5dqiJFipjuIyyth/QoUKCAPDw8FBoaalaHv/32W7JtluT4+vrq33//TdI2NhgMGjBggA4dOqRJkyal2Nd27969JMP+S9K0adNkNBpTHJ0sUb169RQfH69FixaZbXv+/Plm6RLP9dDQULM2ZXh4uHbt2mW6L7P0OFraRxoZGakzZ87Q15jJ8MYfHql48eIaP3683n//fTVr1kwBAQHy8PBQbGysDh48qI0bN6pNmzaS7n8U18HBQb1791aHDh0UFRWlZcuWKU+ePLpy5Uqqtz1w4ED16tVLb7zxhgIDA3Xz5k3Nnz9fZcuWNbsw1a9fX3PmzFH37t3l7++va9euaeHChSpevLiOHTtmSufl5SV/f38tXLhQkZGRqly5svbu3Wvx0x3t2rXTggULNHjwYP3999/Kly+fVq1aleRJXVtbW33xxRfq0aOH/P391aZNGxUoUEARERHat2+fXF1dNX369FTXhyR16dJFP/74o77//nt9++23evvtt7Vt2zb17t1brVu3VoUKFRQTE6Pw8HBt2rRJW7dulbu7u5ycnFSmTBlt2LBBL7zwgtzc3FS2bFmLP2KbqHr16mrfvr1mzJihI0eOmI756dOntXHjRg0fPtxsKM/69evLxcVFX331lakz4EHWPmckqUGDBlq1apVOnTpl9jbeZ599pjfeeEMtWrRQu3btVKxYMV29elWHDh3SpUuXtHr1akn3hx2qXr26KlSoIDc3N4WFhWnTpk1JPpibLVs27dy5U4MHD5aPj4927typn3/+Wb179zY9qWPpuZkaAwYM0O7du/XGG2/ojTfekJ2dnZYsWaLY2Fh9+OGHj11/9+7dyp49e4a/fQEASJvKlSsrV65cGjJkiDp37iwbGxutWrUqSUeHg4ODBgwYoE8//VRdu3ZVs2bNdO7cOYWEhCT5xl9AQIA2bNigzz77TPv27VOVKlVkMBh08uRJbdy4UTNnzkz2o++J3N3d1atXL02ZMkXdu3eXn5+fTp06pYULF6pixYpq2bJlmvY1IiJCzZo1S/eQok/iepycUqVKqXjx4vrqq68UEREhV1dXbdq0KV0PXvn5+alGjRr69ttvdf78eXl6emrXrl3aunWrunbtmuy3Sh5WoUIFlShRQt9++61iY2PNhvmU7geDFy1apIYNG6p48eKKiorS0qVL5erq+tjAYvfu3XX8+HHNnj1b+/btU+PGjZU3b15dvXpVW7Zs0eHDh7V48WJJ0ssvv6ypU6dq6NChqly5ssLDw7VmzZok56MlUtOuf/nll7Vq1Sq5urqqTJkyOnTokHbv3p3kG3Hdu3fXqlWr1L17d3Xp0kXZs2fX0qVLVbhwYYvOE0vvXVLbnraUg4ODunTponHjxmnHjh2qV6+exfckFSpUkCR9++23atasmRwcHPTKK69YPBRookGDBmnfvn1q166d2rZtqzJlyujWrVv6+++/tWfPHrOhgqX7QekPP/xQCxcuVJ06dZQzZ06z5dY8ZwAA6VesWDFVrlzZFAR7OPBnaR9Vcizt63j77be1adMmvffeewoMDFSFChV069Ytbdu2TSNHjkzxjaPntY8xve38lOpy165d6ty5s9q1a6fSpUvrypUr2rhxoxYuXKicOXOqZ8+eWrdunXr06KHOnTsrV65cCg0N1blz5xQUFGR6YM7Sekiv999/X3379tXrr7+uNm3a6Pbt21qwYIE8PDws+l51gwYNNG3aNP3222+qU6eOaf7YsWO1bds2vfLKK7p586ZWrVpltl5AQICk+9//a926tZo3b256Q/TXX3/VL7/8orp166pBgwaP3L6fn5+qVKmiCRMm6Pz58ypTpox++umnZB/a+uijj9SjRw+1b99er732mu7evav58+crR44c6tevnymdJcfR0j7S3bt3y2g0PnY/8HQR+MNjNWjQQKtXr9asWbO0detWLVq0SI6OjvL09NSQIUPUrl07Sfc7OyZPnqyJEyfqq6++Ut68efX666/L3d1dw4YNS/V269Wrp0mTJmnixImaMGGCihcvri+//FJbt241u2msWbOmRo8erR9++EFjxoxR0aJF9cEHH+j8+fNJbtLHjBmj3Llza82aNdq6datq1Kih77//3qIn0bNnz67g4GCNGjVK8+fPl5OTk1q0aKF69eolGb+8Ro0aWrJkiaZNm6b58+crOjpa+fLlk4+Pj9q3b5/qukhUoEABtWjRQqtWrdKZM2dUvHhxzZs3TzNmzNDGjRsVGhoqV1dXvfDCC+rfv79y5MhhWveLL77QqFGj9OWXXyouLk79+vVLdeBPkj7//HN5e3tr8eLF+vbbb2VnZ6ciRYqoZcuWqlKlilnabNmyyc/PT2vWrFGtWrWUJ08es+XWPmek+8PT5s6dWxs2bFDfvn1N88uUKaMVK1ZoypQpWrlypW7evCl3d3eVL19e77zzjild586dtW3bNu3atUuxsbEqXLiwBgwYoLfffttsO3Z2dpo5c6ZGjBihr7/+2jTE0oN5pebctFTZsmW1YMECTZgwQTNmzJDRaJSPj4++/vrrZD+c/LCNGzeqUaNGj30zEACQOeXOnVvTp0/XV199pYkTJypnzpxq2bKlatasmeRa1b59exkMBs2aNUvjxo2Th4eHvvvuO02aNMksna2traZOnarg4GCtWrVKmzdvVvbs2VW0aFF17tw52Y/DP6x///5yd3fX/Pnz9eWXXypXrlxq166dBg4cKAcHB6vWQWo9ietxchwcHDR9+nR98cUXmjFjhrJly6ZGjRqpY8eOppv+1LK1tdV3332nyZMna/369QoJCVGRIkX00Ucf6a233rI4n6ZNm2r69OkqUaKEKciTqHr16goLC9P69et19epV5ciRQz4+Pho/fvxjAyy2trYaN26cGjRooKVLl2r27Nm6c+eOcufOrRdffFEffvih6cnf3r17KyYmRmvWrNH69etVvnx5zZgxQxMmTEh9xcjydv3w4cNla2urNWvW6N69e6pSpYqpQ+9B+fPn19y5c/XFF1/o+++/l5ubmzp06KD8+fNr+PDhjy2PpfcuUura06nRvn17fffdd/rhhx9Ur149i+9JfHx89N5772nx4sXauXOnEhIStHXr1lQH/vLmzatly5Zp6tSp2rx5sxYtWiQ3NzeVKVNGH3zwQZL0fn5+cnJyUlRUVJKAtGT9cwYAkH4tWrTQwYMH5ePjoxIlSpgty549u8V9VA+ztK/DxcVFCxYsUFBQkDZv3qyVK1cqT548qlmz5iO/q/a89jFao53/sAIFCmjp0qWaNGmS1qxZozt37qhAgQKqV6+eKWCXN29eLV68WF9//bXmz5+ve/fuydPTU9OnT9fLL7+cpnpIDz8/P33zzTcKCgrShAkT9MILL+jLL79UaGioRcNdent7y9PTUxs2bDAL/B09elSStH37dm3fvj3Jeon3ADlz5tTLL7+s3bt3KzQ0VAaDQSVKlNDAgQP11ltvmQKhKUm8JxgzZoxWr14tGxsb+fn5aciQIWafGJDuj8Yyc+ZMTZ48WZMnT5a9vb2pXf5g296S42hpH+nGjRtVtWpVix5KxNNjY8zMX+cEgDSYOnWqQkJC9NNPPz32ezNpMWTIEG3atMlsyIJnwZEjR9S6dWutXLkyxY9CAwAAAAAAAFldQECA3N3dNWfOnMemDQ0N1eeff66ff/45ySgFz7MrV66oQYMG+uabb5IM246MxTf+AGQ53bp1U3R0tNatW5fRRclUvv/+ezVu3JigHwAAAAAAAJ4LcXFxSb4xuW/fPh09elTVq1e3KI+WLVuqcOHCSb69/bz78ccf5eHhQdAvE+KNPwBIpWf1jT8AAAAAAADgeXLu3Dm9+eabatmypfLnz6+TJ09q8eLFypEjh9asWaPcuXNndBEBq+MbfwAAAAAAAAAAIMvJlSuXKlSooGXLlun69etydnZW/fr19cEHHxD0Q5bFG38AAAAAAAAAAABAFsA3/gAAAAAAAAAAAIAsgMAfAAAAAAAAAAAAkAVkum/8xcfH69atW8qWLZtsbYlLAgCyroSEBN27d0+5cuWSvX2muyQDmQptRADA84I2ImAZ2ocAgOdJatqIma4FeevWLZ0+fTqjiwEAwFPzwgsvKE+ePBldDCBTo40IAHje0EYEHo32IQDgeWRJGzHTBf6yZcsm6X7hs2fPnsGlebYZDAaFh4fLw8NDdnZ2GV0cZHKcL7AU54r1xMTE6PTp06ZrH4CUPdhGdHR05P+hDMa1IHPgOGQ8jkHmkNWOA21EwDKJfyPFixeXi4tLBpfm2ZTV/v982qi/9KH+0o86TJ9nrf5S00bMdIG/xFfzs2fPLmdn5wwuzbPNYDBIkpydnZ+JExcZi/MFluJcsT6GpQEe78E2YmIjl/+HMg7XgsyB45DxOAaZQ1Y9DrQRgUdL/BtxcnKiDzGNsur/n08L9Zc+1F/6UYfp86zWnyVtRFqRAAAAAAAAAAAAQBZA4A8AAAAAAAAAAADIAgj8AQAAAAAAAAAAAFkAgT8AAAAAAAAAAAAgCyDwBwAAAAAAAAAAAGQBBP4AAAAAAAAAAACALMA+owsAAAAAAACQlfn5+cnBwUFOTk6KjY1V+fLlNWrUKDk7O2vXrl2aNm2aLl26pFy5ckmSXnrpJXl5eSVZN9G4cePk6emZ5vJER0era9euunfvniQpX758GjlypIoWLZqOvQQAAEBmwBt/6eDn56eaNWsqLi7ONG/v3r3y9PTU6NGjtXXrVo0ZM+ax+UREROiNN94wy/fIkSNJ0g0ZMkSenp76559/TPPu3LmjypUrKyAgIMX8y5cvr9u3byeZbzQaFRQUpMaNG6tFixbq3LnzY8sKAAAAAABSb+LEiVq1apXWrVunyMhIrVy5Ur/++qsGDx6sQYMGaevWrQoJCdGECRN048aNZNdN/JeeoJ8kOTk5ac6cOVq9erVWr16tunXravTo0enKEwAAAJnDM/3GX6+dC59IvjPqvvH4RP+vUKFC2rZtmxo3bixJWr58uby9vSVJDRo0UIMGDR6bR4ECBbRwoWX7UqFCBa1YsULly5eXJG3YsEGlSpVSfHy8xWVONHfuXB07dkxr1qyRo6Ojrly5kuo8AAAAAACA5eLi4hQTE6OcOXNq6tSpeuedd1SlShXT8gIFCui1115LU96enp4aMGCAtm3bpmvXrmnYsGE6ceKENm3apDt37mjUqFGqUaOGbG1t5erqKun+Q8F37tyRjY2NVfYPAAAAGYs3/tIpMDBQK1askCRFRkbqzz//VN26dSVJISEh6tu3ryRp37598vf314gRI9SyZUs1b95cYWFhkqRz586pWrVqFm3v1Vdf1fbt2xUbGytJWrFihQIDA9NU9lmzZmnQoEFydHSUdH9oDwAAAAAAYH0DBgxQQECAateuLVtbWzVt2lT//POPKlWqZPG6if/u3r2bYlpnZ2ctW7ZMo0eP1ocffqh8+fIpJCRE77//vsaNG2eWtlu3bqpdu7Y2btyozz77LN37CAAAgIxH4C+dqlSpovPnzysiIkJr165VkyZNZGdnl2zakydPqnXr1lq9erU6deqkiRMnpnp7Tk5Oql27trZs2aITJ05IkkqXLp3qfO7cuaNr165p69atatu2rdq2bav169enOh8AAAAAAPB4icN17t27V0WKFNH48eOTpBk0aJDat2+vPn366M6dO0nWTfz34Pf+HtasWTNJkre3t6Kjo9W8eXNJko+Pj/777z+ztMHBwfr111/VtGlTfffdd9bYTQAAAGQwAn9WEBAQoJUrVz727bvixYubnuSrXLmyzpw5k6btBQYGavny5Vq+fLnatGmTpjzi4+MVHx+vu3fvatmyZfr22281ZswYHT16NE35AQAAAADwPImJiVF4eLgOHjyo33//XQcPHlR4eLhiYmIeuZ69vb0aN26snTt3ysvLS4cPHzYtmzBhgpYsWaJbt27JaDQ+Mp/Q0FDTG4CJIxFJ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CwtTUFCQatWqpXfffVdms9m6XnLTmdasWVNr1qxJso0zZ86oa9eukqRatWrJZDJpxIgR1mOZ2ak+33rrLXXq1EnFixdPdnmfPn00ePBgVa9eXSVKlNDLL7+swMBAff/995naLgAATxoSfwAAAAAAAMgSYWFhMhqNWrVqlUaPHq3Fixdr1apVkqT4+HgNGjRI69at05w5c3T27Flroule06ZN09ChQxUeHi6TyaSoqCjVr19fixcvVlhYmAIDA9WnTx+dO3fOZr0FCxaoQoUKCgsLU+/evTVx4kT98ssvNnVmz56tZs2aad26dapXr57eeOMNXb9+PVPbP3DggCZOnKjXXntN3377rebPn6+aNWta25s7d67Wrl2rcePG6ZtvvlG3bt305ptvaufOnan2ZUxMjJYuXaqPPvpI8+fP144dOzRgwABt3bpV8+bN09SpU7V8+XJ99913aT4+9/L29tasWbMkSd9++622bdum0aNHZ6gte7l586bdRhsCAPCkePLmJgAAAAAAAMBD4e3trVGjRslgMKhMmTI6evSoFi9erA4dOqhdu3bWesWLF9fo0aPVrl073b59W3ny5LEue+2111S3bl3r8wIFCqhChQrW54MHD9bGjRu1efNmde7c2VpevXp19e7dW5JUunRp7d69W4sXL7Zpq23btmrRooUkaciQIVq6dKn279+vevXqZXj758+fV65cudSgQQO5ubmpaNGiqlSpkiQpNjZWc+fO1aJFi+Tn52fd9127dmnFihV65plnUuzLuLg4jR07ViVKlJAkNWnSROvWrdMvv/yiPHnyqFy5cqpdu7Z+/fVXPf/886kel+QYjUblz59fkuTp6al8+fKluw17Cg8P14EDBzR+/PhsjeNxcO8oz4ysl9H1n3T0X+bQf5lHH2bO49Z/6YmTxB8AAAAAAACyRNWqVWUwGKzPq1WrpkWLFslsNuvQoUOaPXu2Dh8+rH///dc6Bej58+dVrlw56zo+Pj42bd6+fVuzZ8/Wli1bdPnyZZnNZsXExCQZ8VetWrUkzz///HObMpPJZH2cO3duubm56erVqzZ10rt9f39/FSlSRI0bN1ZgYKACAwP17LPPKleuXPrnn38UHR2tV155xabNuLg4VaxYUZLUvHlza1s1atTQ/PnzJUm5cuWyJv0kqWDBgipatKhNkrRgwYJJ4re3Tz/9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mjRJRYsWtV4/3b59WxKvgZntv8f9NZCpPh+ili1basGCBerbt68GDRqkwoUL69y5c/rhhx/Us2dPPfXUUxo4cKDGjBkjT09P1atXT7dv37Ymau63aNEieXl5qWLFinJyctK3334rLy+vJDc8T9z2zJkzNWLECA0YMEBXr17VhAkT1Lp16zQPt/bw8JDJZNK6desUEhKiSZMmaeDAgVq8eLEKFiyooKAgrVy5Un///bemT5+usmXLSpJOnTqlr7/+WvXr11eBAgV05MgR670NHW1YcVZp2rSppk6dqhUrVuiVV17R5MmTZbFYVKNGDd28eVO7d++Wm5ub2rZtq06dOmnp0qUaMmSIevfurbx582rv3r3y9fVVmTJlVKpUKa1bt04+Pj66deuWpk6dmq5pbYKCgvTCCy9o8ODB8vHxUa9evdSpUydZLBbVq1dPlStX1pAhQ9SsWTPNmTPHul5YWJhy5MhhnZL0hx9+UGhoqN5991279xcyLr03RnZ2dlbnzp01f/58vfTSSzYjf+9Vr149FStWTJ988onGjh1rh0gBPKmef/55Xb16VTNnztTly5dVsWJFzZ8/3yGny3nYLly4oCFDhuj69evy8PBQjRo1tHLlSus9X0eNGiUnJye99tprio2NVUBAgM3U0EajUZ9++qnGjh2rF154Qbly5VLbtm0zPSOFo/vjjz/UtWtX6/PJkydLujut/5QpU9SrVy9FR0frnXfe0Y0bN1SjRg3Nnz/fZraQDz74QBMmTNDLL78sJycnPffcc3rrrbesy/PmzasFCxZo/PjxCg4Olru7u/r162czHf+TLLVjMHbsWB09elRr167VzZs3VahQIdWtW1eDBg2ySWhzDDLnv//9ryQl+dw7efJk65c19ngNKl68uObOnavJkydryZIleuqpp/Tuu+8+Fl/eAE+CB13nnT9/Xk5O/xvDUL16dX3wwQeaPn26PvzwQ5UqVUpz5sxR+fLlrXXS8j7qKOzdf0ajMU3vgY4ivf136dIltWnTxvp84cKFWrhwoZ555hktXbo0TW06mqzowwd9RnEk6e2/5cuXKy4uLsnnrQEDBmjgwIGSeA3MTP897q+BBkviPI5ItxEjRujGjRv6+OOP07zs8uXL+uCDD7R161bdvn1bhQsXVp06dTR8+HDrF+7Lly/X4sWLdebMGRUoUEBNmza1fmg0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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(1, 3, figsize=(18, 6))\n", + "\n", + "models_names = list(eval_results.keys())\n", + "colors = plt.cm.Set2(np.linspace(0, 1, len(models_names)))\n", + "\n", + "# Gráfico 1: Métricas de retrieval\n", + "metrics = ['mean_precision', 'mean_recall', 'mrr']\n", + "labels = ['Precision@5', 'Recall@5', 'MRR']\n", + "x = np.arange(len(labels))\n", + "width = 0.15\n", + "for i, name in enumerate(models_names):\n", + " ev = eval_results[name]\n", + " vals = [ev[m] for m in metrics]\n", + " axes[0].bar(x + i * width, vals, width, label=name, color=colors[i])\n", + "axes[0].set_xticks(x + width * (len(models_names) - 1) / 2)\n", + "axes[0].set_xticklabels(labels)\n", + "axes[0].set_ylim(0, 1.05)\n", + "axes[0].set_title('Calidad de Retrieval (español)')\n", + "axes[0].legend(fontsize=8)\n", + "\n", + "# Gráfico 2: Tamaño vs MRR (scatter)\n", + "for i, name in enumerate(models_names):\n", + " r = results[name]\n", + " ev = eval_results[name]\n", + " axes[1].scatter(r['model_mb'], ev['mrr'], s=150, color=colors[i], label=name, zorder=5)\n", + " axes[1].annotate(name, (r['model_mb'], ev['mrr']), textcoords='offset points',\n", + " xytext=(5, 5), fontsize=8)\n", + "axes[1].set_xlabel('Tamaño del modelo (MB)')\n", + "axes[1].set_ylabel('MRR')\n", + "axes[1].set_title('Trade-off: Tamaño vs Calidad de Retrieval')\n", + "\n", + "# Gráfico 3: Tiempo de encoding del corpus\n", + "encode_times = [results[n]['corpus_encode_s'] for n in models_names]\n", + "axes[2].barh(models_names, encode_times, color=colors)\n", + "axes[2].set_xlabel('Tiempo (s)')\n", + "axes[2].set_title('Velocidad de encoding (25 docs)')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "dafabe0d", + "metadata": {}, + "source": [ + "## 7. Detalle por query\n", + "\n", + "Veamos qué documentos recupera cada modelo para cada query, para entender dónde fallan." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e6b6c58e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Q0: \"¿Cómo manejan los lenguajes de programación la memoria?\"\n", + " Relevantes esperados: [0, 2]\n", + " MiniLM-L6 → [✓0 3 8 16 ✓2] P=0.40 R=1.00 RR=1.00\n", + " MiniLM-L12 → [✓0 3 15 ✓2 14] P=0.40 R=1.00 RR=1.00\n", + " paraphrase-multi-L12 → [✓0 ✓2 14 4 7] P=0.40 R=1.00 RR=1.00\n", + " multi-e5-small → [✓0 3 ✓2 4 7] P=0.40 R=1.00 RR=1.00\n", + " nomic-v1.5 → [✓0 ✓2 3 8 18] P=0.40 R=1.00 RR=1.00\n", + " BGE-m3 → [✓0 ✓2 18 1 3] P=0.40 R=1.00 RR=1.00\n", + "\n", + "Q1: \"¿Qué es el control de versiones para código fuente?\"\n", + " Relevantes esperados: [4]\n", + " MiniLM-L6 → [✓4 16 15 6 11] P=0.20 R=1.00 RR=1.00\n", + " MiniLM-L12 → [✓4 15 14 18 11] P=0.20 R=1.00 RR=1.00\n", + " paraphrase-multi-L12 → [✓4 14 0 2 23] P=0.20 R=1.00 RR=1.00\n", + " multi-e5-small → [✓4 0 1 3 2] P=0.20 R=1.00 RR=1.00\n", + " nomic-v1.5 → [✓4 16 9 12 8] P=0.20 R=1.00 RR=1.00\n", + " BGE-m3 → [✓4 1 3 0 2] P=0.20 R=1.00 RR=1.00\n", + "\n", + "Q2: \"¿Cómo producen energía las plantas a partir de la luz?\"\n", + " Relevantes esperados: [5]\n", + " MiniLM-L6 → [✓5 20 14 8 15] P=0.20 R=1.00 RR=1.00\n", + " MiniLM-L12 → [✓5 20 15 8 14] P=0.20 R=1.00 RR=1.00\n", + " paraphrase-multi-L12 → [✓5 14 15 9 20] P=0.20 R=1.00 RR=1.00\n", + " multi-e5-small → [✓5 8 20 13 10] P=0.20 R=1.00 RR=1.00\n", + " nomic-v1.5 → [✓5 20 8 10 21] P=0.20 R=1.00 RR=1.00\n", + " BGE-m3 → [✓5 9 10 13 12] P=0.20 R=1.00 RR=1.00\n", + "\n", + "Q3: \"Cuéntame sobre física de partículas y mecánica cuántica\"\n", + " Relevantes esperados: [7, 8]\n", + " MiniLM-L6 → [✓8 14 20 21 13] P=0.20 R=0.50 RR=1.00\n", + " MiniLM-L12 → [✓8 13 14 12 9] P=0.20 R=0.50 RR=1.00\n", + " paraphrase-multi-L12 → [✓8 6 12 18 14] P=0.20 R=0.50 RR=1.00\n", + " multi-e5-small → [✓8 6 21 5 12] P=0.20 R=0.50 RR=1.00\n", + " nomic-v1.5 → [✓8 21 6 14 5] P=0.20 R=0.50 RR=1.00\n", + " BGE-m3 → [✓8 6 0 23 13] P=0.20 R=0.50 RR=1.00\n", + "\n", + "Q4: \"¿Cómo funciona la fermentación del pan?\"\n", + " Relevantes esperados: [10, 14]\n", + " MiniLM-L6 → [✓10 ✓14 12 20 13] P=0.40 R=1.00 RR=1.00\n", + " MiniLM-L12 → [✓14 ✓10 12 11 15] P=0.40 R=1.00 RR=1.00\n", + " paraphrase-multi-L12 → [✓10 ✓14 12 13 11] P=0.40 R=1.00 RR=1.00\n", + " multi-e5-small → [✓10 ✓14 12 13 7] P=0.40 R=1.00 RR=1.00\n", + " nomic-v1.5 → [✓10 ✓14 12 13 19] P=0.40 R=1.00 RR=1.00\n", + " BGE-m3 → [✓10 ✓14 13 9 5] P=0.40 R=1.00 RR=1.00\n", + "\n", + "Q5: \"¿Qué hace que la comida sepa mejor al cocinarla a fuego alto?\"\n", + " Relevantes esperados: [12, 13]\n", + " MiniLM-L6 → [ 15 14 ✓12 11 10] P=0.20 R=0.50 RR=0.33\n", + " MiniLM-L12 → [ 15 10 14 11 8] P=0.00 R=0.00 RR=0.00\n", + " paraphrase-multi-L12 → [✓12 14 10 11 ✓13] P=0.40 R=1.00 RR=1.00\n", + " multi-e5-small → [✓12 14 ✓13 10 11] P=0.40 R=1.00 RR=1.00\n", + " nomic-v1.5 → [✓12 14 8 10 15] P=0.20 R=0.50 RR=1.00\n", + " BGE-m3 → [✓12 14 11 ✓13 0] P=0.40 R=1.00 RR=1.00\n", + "\n", + "Q6: \"¿Cómo puedo hacer crecer mis ahorros con el tiempo?\"\n", + " Relevantes esperados: [15, 16, 19]\n", + " MiniLM-L6 → [✓15 6 11 14 20] P=0.20 R=0.33 RR=1.00\n", + " MiniLM-L12 → [✓15 11 14 6 8] P=0.20 R=0.33 RR=1.00\n", + " paraphrase-multi-L12 → [✓15 17 ✓16 ✓19 14] P=0.60 R=1.00 RR=1.00\n", + " multi-e5-small → [✓15 18 ✓16 17 6] P=0.40 R=0.67 RR=1.00\n", + " nomic-v1.5 → [✓15 14 6 12 24] P=0.20 R=0.33 RR=1.00\n", + " BGE-m3 → [✓15 ✓16 18 17 14] P=0.40 R=0.67 RR=1.00\n", + "\n", + "Q7: \"¿Qué afecta la economía y los precios?\"\n", + " Relevantes esperados: [17, 18]\n", + " MiniLM-L6 → [ 20 15 14 ✓18 6] P=0.20 R=0.50 RR=0.25\n", + " MiniLM-L12 → [✓18 15 14 20 24] P=0.20 R=0.50 RR=1.00\n", + " paraphrase-multi-L12 → [✓17 19 16 15 23] P=0.20 R=0.50 RR=1.00\n", + " multi-e5-small → [✓17 23 16 9 ✓18] P=0.40 R=1.00 RR=1.00\n", + " nomic-v1.5 → [✓17 14 ✓18 12 19] P=0.40 R=1.00 RR=1.00\n", + " BGE-m3 → [✓17 ✓18 23 21 15] P=0.40 R=1.00 RR=1.00\n", + "\n", + "Q8: \"Háblame de las partes más profundas del océano\"\n", + " Relevantes esperados: [24]\n", + " MiniLM-L6 → [✓24 6 8 23 15] P=0.20 R=1.00 RR=1.00\n", + " MiniLM-L12 → [✓24 23 8 15 20] P=0.20 R=1.00 RR=1.00\n", + " paraphrase-multi-L12 → [✓24 23 22 20 13] P=0.20 R=1.00 RR=1.00\n", + " multi-e5-small → [✓24 23 20 21 22] P=0.20 R=1.00 RR=1.00\n", + " nomic-v1.5 → [✓24 23 13 8 21] P=0.20 R=1.00 RR=1.00\n", + " BGE-m3 → [✓24 23 21 0 9] P=0.20 R=1.00 RR=1.00\n", + "\n", + "Q9: \"¿Cómo cambia la superficie de la Tierra con el tiempo?\"\n", + " Relevantes esperados: [21, 22]\n", + " MiniLM-L6 → [ 6 15 14 20 ✓21] P=0.20 R=0.50 RR=0.20\n", + " MiniLM-L12 → [ 15 6 24 14 ✓22] P=0.20 R=0.50 RR=0.20\n", + " paraphrase-multi-L12 → [ 23 6 ✓21 ✓22 17] P=0.40 R=1.00 RR=0.33\n", + " multi-e5-small → [ 6 ✓21 23 8 5] P=0.20 R=0.50 RR=0.50\n", + " nomic-v1.5 → [ 6 14 8 12 24] P=0.00 R=0.00 RR=0.00\n", + " BGE-m3 → [✓21 9 23 6 5] P=0.20 R=0.50 RR=1.00\n" + ] + } + ], + "source": [ + "# Detalle: para cada query, qué recuperó cada modelo\n", + "for qi, (query_text, relevant) in enumerate(queries):\n", + " print(f'\\nQ{qi}: \"{query_text}\"')\n", + " print(f' Relevantes esperados: {relevant}')\n", + " for name in results:\n", + " ev = eval_results[name]\n", + " pq = ev['per_query'][qi]\n", + " retrieved = pq['retrieved']\n", + " hits = [f'✓{idx}' if idx in set(relevant) else f' {idx}' for idx in retrieved]\n", + " print(f' {name:25s} → [{\" \".join(hits)}] P={pq[\"precision@k\"]:.2f} R={pq[\"recall@k\"]:.2f} RR={pq[\"mrr\"]:.2f}')" + ] + }, + { + "cell_type": "markdown", + "id": "f723a45e", + "metadata": {}, + "source": [ + "## 8. Visualización t-SNE: ¿Cómo agrupa cada modelo los documentos?\n", + "\n", + "Proyectamos los embeddings del corpus a 2D con t-SNE. Cada color es una categoría. Un buen modelo debería agrupar documentos del mismo tema juntos." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d6038c05", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABv4AAATBCAYAAADzQON5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XdcU9f/P/BXwo4REGQo7gEqAqIiOFBBFAduqRNHrdpqta5+XG3VOmu1LuqsW1u1igv33uKouw7qFhQRkA1JyP39wS/5EhMggIDi6/l48Ghz77n3nHtzkxzv+573EQmCIICIiIiIiIiIiIiIiIiIPmni4m4AERERERERERERERERERUcA39EREREREREREREREREJQADf0REREREREREREREREQlAAN/RERERERERERERERERCUAA39EREREREREREREREREJQADf0REREREREREREREREQlAAN/RERERERERERERERERCUAA39EREREREREREREREREJQADf0REREREREREREREREQlAAN/RERERESFTC6Xo2fPnvD29sarV6+KuzlERDrt3r0bwcHBiI+PL+6mEBERERFRPjHwR0RERESUTyEhIXByckJISEiO5ebNm4fw8HCsXr0a5cqVK6LWadK3rYUhKCgITk5ORV4vEenv2LFjmDBhAszMzGBhYfHB9y8IArp164Yvv/zyg++bPl6rVq1CgwYN0L59e+zbtw/h4eFwcnLC/fv3C7Tfly9fwsnJCRMnTtRYPn78ePj4+CA9Pb1A+yciIiL6lDHwR0RERJ+VsLAwODk5YenSpfnaPjIyEtOmTUObNm3g4uICd3d3+Pr6YujQoVi1ahVSUlI0yjs5OcHJyQkdOnRARkaG1v6io6Ph5OSEoKAgjeVLly5Vb5vdX36PQZeUlBTUr18fTk5OmD59+gfbLwFHjhzBX3/9haVLl6JWrVrF3Rz6xBVnAJf+j67v7U/ZixcvMHHiRPTv3x+DBw8ulDp2796Nu3fvYtSoUYWyf/r4pKWlYfHixWjSpAmqVKmCCRMmICAgAI0aNSq0h0FGjBiBqKgobNiwoVD2T0RERPQpMCzuBhARERF9Ku7fv4+goCAkJCSgfv36aN68OSQSCSIjI3Ht2jWcPn0a/v7+qFy5sta2//33H0JCQhAYGJinOv39/VGzZk2d6xo1apSv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Pe/evRPatGkjODo6avy+vHjxQmefQ2X27NmCo6OjcPHiRZ3riYiIiEoypvokIiIi0tOYMWPQrVs3REZGYv78+ejVqxcaNGiAbt26YdmyZUhISMhx+y+++AKVK1fGli1bckx/mNXhw4cRHBys8+/9FHrr16/HgQMH8jQa8dSpU3j79i3atm2rHiXh7++vTpGVNc0gAOzduxcAMGLECJiZmamX29raqtOoZuf777+Hqamp3m3LTZcuXVCrVi31a5FIhLFjx8LAwEArvZeukYu2trbw9/fH06dPERERoV6+detW9eiy90dOikSiXM/vsWPHkJiYiO7du2u0TywW4/vvv4ehoaHO9GMSiQTjx4+HWPx/XfSuXbvC0NAQd+7cybFOld27d8PIyAijRo3SWO7t7Y3GjRtrld+zZw+SkpIwduxYrZEaHTp0gLOzM/bv359rvdeuXcOLFy/QsmVLjdGQWd+T7No6fvx4iEQi9fI6deqga9euSEhIwLFjx9TL//zzTxgYGGDatGla15GpqekHGUUbFBSkca2UK1cODRo0QGJiIr755htYWVmp17m5uaFixYp48OCBeplSqcRff/2FSpUqYdSoURrHJZVKMWLECMjlcp2pV4cPHw5bW1v1aysrK7Rq1QrJycl48uSJXu2PjIxEWFgYatSogS+++EJjXe/evVGtWjVcunRJ6/tH1+eyVKlSMDY21qteAGjSpAm8vb01ln399dcwNzfH7t271d8l+f18GBkZ4fvvv9d5LemiUCiwbds2lC5dGlOmTNHarnTp0ihVqpT6ta7vCENDQ/Tq1QsZGRl5Srm7efNmAMCMGTM0RhqJRCL19Z71c6X6Xh0zZoxGO2vUqKEztXRRncPSpUvr/Fx5eXmhRo0auHDhgl77ef36NQCgbNmyWuuio6Nx5MgRVKpUCd9++63W+rJly6pHqBXmcY8ZM0bjere3t0f//v0hk8n0+g7MiZGRkdYoOwB6zXX377//4vr16+jSpYvW56tq1ar44osv8PDhQ62Un7o+09l9Rw4fPlxjZG/p0qXxzTffQBAEjXTG+b0e+vfvj2rVqmm0LSAgAEqlEnfv3lUvV7133377rUZ7LCws1NdGXlJ+qrIKqK4/IiIios8JU30SERER/X/37t3TCDQAmWndunXrBgAwMTHBnDlz8N133+H06dO4desWbt26hbt3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iISi+pcOEZEOsbGxaNGiBdauXQsPD4/ibk6u/v77byxYsAAnT57MNaj5qQoPD0fnzp1x+PDhXFNnERER0cdn7ty5+Pfff3Wm5PwYtWzZEn379s1XcPFTsWXLFqxfvx5Hjhz54A9sERFR3k2cOBF37txBaGhocTcFQUFBkEgkWLlyZXE3hT5CaWlpaN26NaZNm5brtC3FTSaTwcvLC/v27dNIw/k52r17N5YvX479+/drzK1JVFTExd0AIvq8WVlZoXfv3tiwYUNxN0Uv//zzDwYOHFhig35A5iiFzp07M+hHRET0ifryyy9x69Yt3L9/v7ibkqvIyEikpqZqjDwsaZRKJTZu3IgRI0Yw6EdERER5Ympqirlz50Iulxd3U3JlbGyMf/7557MP+gGZ6eBnzZrFoB8VG474I6JiFxsbiz///BNDhw79YPnrKX+USiVWrVqFLl26aMwLRERERJ+WgwcPwsLCAk2aNCnupnz2Xr9+jd27d2Po0KEQi/nsLRERERERFS4G/oiIiIiIiIiIiIiIiIhKAD5uSERERERERERERERERFQCMPBHREREREREREREREREVALoNbukQqFAfHw8TExMOCcBERERfZaUSiXS09NhYWGR5wm62ZciIiKizx37UkRERET5l5e+lF49rfj4eDx9+vRDtI2IiIjok1alShVYW1vnaRv2pYiIiIgysS9FRERElH/69KX0CvyZmJiod2hmZlbwlhERERF9YlJTU/H06VN1vygv2JciIiKizx37UkRERET5l5e+lF6BP1UaBTMzM0gkkoK1joiIiOgTlp/0UuxLEREREWViX4qIiIgo//TpSzExOhEREREREREREREREVEJwMAfERERERERERERERERUQnAwB8RERERERERERERERFRCcDAHxEREREREREREREREVEJwMAfERERERERERERERERUQnAwB8RERERERERERERERFRCcDAHxEREREREREREREREVEJUOSBP0GphOJNFGT37yL9xlXI7t+F4k0UBKWyqJtSIgmCgD///BNv3rwp7qYQERERERERERERERFRETIsysoyYt8i7fxJpF06ByElWb1cJCkFUy9vmDZtCQOrsgWqw9fXF0ZGRjA1NYVcLkffvn3Rt2/fgjb9ozRkyBBMmjQJ1apVA5AZ9Js9ezbc3d1ha2tbzK0jIiIi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YwpiIiIiIiKiz49EbJzH8p/mvO/Rsnj8HnlQ51yGSRlp2BdzBQ9TIjGifFsG/4iIiEoIBv6I6LPHFMRERERERESfFxsjC0gNTPVK9yk1MIWNkXkRtOrDUgpKHI27qTPol9WD1Agce3cLPW2aMu0nERFRCcBfcyIiIiIiIiIi+qzYGVvAx6KuXmV9LV1g9wmOhouSxeNk/B29yp54dxtRsvhCbhEREREVBQb+iIiIiIiIiIjosyIWidG6jBuczBxyLOdk5gA/S7dPciRctDxerxGNQGbaz2h5QiG3iIiIiIrCp9drISIiIiIiIiIiKiAbYwuMKN8Wnaw8IDUw1VgnNTBFJ2sPjCjfDjbGn16aTwBIUcryWD69kFpCRERERYlz/BERERERERER0WfJxtgCPW2boqVlXUTLE5CiTIdEbAIbI3PYGVt8kiP9VCRi4zyWNymklhAREVFRYuCPiIiIiIiIiIg+W2KRGOVMyqCcSZnibsoHZWNkAamBqV7pPqUGprAx+jRHNhIREZGmT/exJSIiIiIiIiIiItLJztgCPhZ19Srra+kCO2OLQm4RERERFQUG/oiIiIiIiIiIiEoYsUiM1mXc4GTmkGM5JzMH+Fm6fdJpTYmIiOj/8BediIiIiIiIiIioBLIxtsCI8m3RycoDUgNTjXVSA1N0svbAiPLtYGPMNJ9EREQlBef4IyIiIiIiIiIiKqFsjC3Q07YpWlrWRbQ8ASnKdEjEJrAxMoedsQVH+hEREZUwDPwRERERERERERGVYGKRGOVMyqCcSZnibgoREREVMj7SQ0RERERERERERERERFQCMPBHREREREREREREREREVAIw8EdERERERERERERERERUAjDwR0RERERERERERERERFQCMPBHREREREREREREREREVAIw8EdERERERERERERERERUAjDwR0RERERERERERERERFQCMPBHREREREREREREREREVAIYFncDiIiIiIiIiIiIiPSlFJSIksUjWh6PFKUMErExbIwsYGdsAbGI4xyIiOjzxsAfERERERERERERfRKiZfE4GncTJ+PvICkjTb1camAKH0sXtLZ0hY2xRTG2kIiIqHgx8EdEREREREREREQfvWhZPH6PPIgHqZFa65Iy0rAv5goepkRiRPm2DP59JJSCgDdJCkSnKJAqF2BmJIKNxBC2UkOI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q6tLq1at0owZM2QYhh5//HHddtttsixLV111lSSpu7tbH/7whyVJd911l0pLS/U///M/uuWWW/TAAw/ooosuGvRrffOb3xyTBUZra6s2btyoefPmac6cOXrttdeGrHv22Wf1+9//XgsWLFBHR8eQNY2NjXrkkUfSXjt48KDuuOMOLV26NGMf9913n7q7u9Ne+7d/+zcdOHBAc+bMSXvd5/Np48aNuv7669NeX79+vXw+n2KxWP9rgUBAq1ev1te+9jU9/PDDGXsAAOB0+tznPifTHJu9jtl8n87ktttu08KFC/v/2e/3Z/VxJ66NqqqqBq0FbNvWhz/8YS1atCjt9RdeeEF/+7d/q/e+9736yEc+olQqpVdeeUXxeLy/ZufOnbr55pv17ne/W7feeqvefPNNfeMb39CHPvQhrVu3Th6PZ9S/15FkuzY6duyYrrjiCtXX12vSpEl64YUXdPfddysajeqjH/1of92RI0d03XXXqa6uTv/yL/+iQCCgffv2DVr3nOjv//7v9Zd/+Zdpr23cuFEPPfTQoHWVz+fT1q1bFYvF5PP5+l9/8skn5XA4Bn3uG2+8UR/72Mf0/ve/X6WlpSN+TQAA6OPxePTQQw9JkhKJhHbu3KmvfvWrsm1bf/u3f9tf99RTT+nWW2/V29/+dv393/+9pk+frng8rh07duib3/ym3nzzTX3iE59I+9wnPmOSpMrKypz9Xjo7OzVjxgytWrVKlZWVeuONN/TNb35Tu3fv1s9//nO53e6MHz/UM6JNmzbpjTfeGPL5yED/8A//oP379+vzn/+8Jk2apK9//ev6yEc+op///OdyOnsfmX/729/WkiVLdP3118vn82nTpk266aab9MUvflHvec97Bn3OcDistWvX5vRrNtA73vEO3XHHHWmvnXHGGWn/nM1673Of+1xaECxJDz30kJ544gldcMEFGXu45ZZb9Prrr+u2227TlClTtG3bNn3+85+Xw+EYtJHN6XRq8+bNuuaaa/pfi8fj2rJlS9r6SZJWrlypb3zjG/rlL3+p9773vSN/MQCkIfgDxtCsWbNO++ecPXu2KioqTvvnHY+6urr085//XF/+8pfTXj9xR/1FF12k/fv36xe/+EV/8Pfb3/5Wr7/+un7wgx/0P1S74IILtGvXLj322GODgr8DBw7oRz/6ke644w597nOfy+HvqvcE3fPPPy+pd/fecA+3PvWpT+nTn/60pN6HcEOpqKgY9Ofh2WeflcPh0BVXXJGxjxP/fMZiMb366qt697vf3b/o7fPOd75TGzZsUGtra3/Y3N3drc2bN+vSSy8dtIP+ve99r9auXavf//73+vM///OMfQAAcLqceeaZY/ZrZfN9OpPa2lqdc845o/qYodZGbrd70OfZuXOnotGorrzyyv7XUqmUPvOZz+iDH/ygPvnJT/a/fuLGtQ0bNmjq1Kn6whe+IMMwJPWuN/76r/9ae/bs0XnnnTeqnrOR7droxBN2F154oQ4fPqxf/OIXacHfV77yFdXU1OjBBx/sD+FGeoglSW9729v0tre9Le21r371qzrzzDMHrWfe8Y536NVXX9WWLVvSvs7r168fcm20aNEilZSU6Be/+IX+5m/+ZsReAADoY5pm2vf6RYsWae/evXriiSf6g79wOKxPfvKTOu+883T//ffL5XL111988cX60Ic+pJdffnnQ5x7rZ0xLlizRkiVL+v954cKFmjJlij70oQ9pz549esc73jHsxw73jOjrX/96/8av4YK/3/zmN3ruuef03e9+t//Xr6ur0xVXXKEnnnii//nJf//3f6d9PRYvXqzm5mZ973vfGzL4+8pXvqJly5bp8OHDWX4FTk1JSUnG9WO2672h1syf+MQntHjx4ox/HsLhsHbu3Kl77rmnP8y74IILtHv3bm3YsGFQ8Nf3LGlg8Ld161a53W7Nnz8/LYx0OBx6z3veox/+8IcEf8BJYNQnCt6nP/1pXXnllXr++ed11VVXad68eVq9erX++Mc/6s0339Qtt9yid7zjHbr00ku1cePGtI8dajTnk08+mTbG8ETLli1Tc3Oz/vM//7P/WHzfWJ9sR312d3fr3//933XJJZdozpw5WrFihdatW3eSX4HBWlpadMstt+jCCy/U3LlztWzZMn3hC1/of//ee+/Vueeeq9/+9re67rrrNG/ePL3nPe/Rb3/7Wx0/flyf+9zntGDBAi1dulTf//730z73b37zG330ox/VkiVLdM455+hd73qXfvnLX56WvvvGco50ck2SysrKlEwm+/85lUpJUtrONdM05ff7hxwHdffdd+sv//IvVVdXN+Tnj0aj+tSnPqVzzz1XixYt0pe//OWTPh2Y7UmEkz2xsH79ei1atEihUGhUH/fUU08pFov1h6cDnX322Zo+fXrafzPPPPOMbNtWY2PjoPpp06Zp3rx5aSOuAACFq2/9tXPnTr373e/WOeeco/e9733as2dPWt3x48d1zz33aMmSJZo7d67e9a53afPmzUN+rpNZyw016vPAgQO6+eabdf7552v+/Pm6+uqrtX79+hF/LyfaunWrZs6cqddff13SyX+fPhXZro3Wr1+vQCCgZcuW9b/2/PPPq7m5WR/84AczfmwqlZLf7+8P/aS31lMD11D5WBsNpby8PG0NGI1G9dhjj+n973//kCfvRqO1tVW7du0acm3kdDp12WWXpf1ZikQieuGFF4b88yNJl19++WlbJwMAipvf7+9/7iFJ//Vf/6Wuri7deeedaaFfn1AopEsvvfS0/Np9Yxx3796tD33oQ5o/f74uu+wyPf/887IsS1/72td04YUX6sILL9RXv/rVIUeSDlRWViZJad/PhzLcOiibdcS2bdtUUlKixYsX9782Y8YMnX322dq2bVv/a0OFXmefffagkaCStGvXLj355JODTlEO9OSTT+ryyy/X3Llz9b73vU+vvPLKiL2eimzXeyf69a9/rT/+8Y9DrnkGGupZm9Q7+WmoZ21XXnmlXnjhBR09erT/tXXr1umyyy4btOFcklasWKHf/e53+v3vfz+q/gEQ/KFIhMNhffGLX9Tf/d3f6d/+7d/0hz/8QbfffrtuvfVWnXXWWbr33ns1e/ZsffKTn1Rzc/Mp/Vr33XefQqGQLrvsMj3yyCN65JFHhgxCMrnlllv0yCOP6IYbbtD999+viy66SJ/85CeHvDfwyiuv1Nlnn613vvOduv/++7N6wPKpT31Kr732mj772c/qwQcf1Mc//vFBC69kMqk77rhD1157re69916lUindfPPN+sxnPiOPx6Ovf/3ruvTSS3XPPffo17/+df/HHT58WO94xzv0r//6r/rWt76lv/iLv9BnP/tZ/eIXvxjV12Aozz//vGbNmqVJkyYNes+2baVSKXV2duqXv/yltm/frr/6q7/qf/+cc85RfX29vva1r+mNN95QZ2enfvjDH+rgwYODdiBt2rRJe/fu1U033TRsL3fddZc2b96s22+/XV/60pd04MCB/lEb48nu3bt18ODBYR84ZbJ+/XpNmzZt2B12K1euTHu4tX79ei1fvnzIfz+SdO655/bv3gcAFL5wOKy7775ba9as0de//nUdP35cN998c9pDnNtvv12PPPKIPvzhD2vt2rU688wz9bGPfUxPPfXUoM91OtZyBw8e1HXXXadDhw7pM5/5jL71rW/pmmuuybgre+XKldq3b1/a3TFS7/e92bNna8aMGSf5FUr3+c9/XmeffbYuuOACffazn9Wbb7454sdkWhv1SSaTeuKJJwZ9j3755ZdVVlam3bt367LLLtOsWbN02WWXDQqirrnmGh04cED/+Z//qWPHjumNN97Qv//7v2vWrFlpa4R8ro1SqZSi0aiefvpp/fKXv0x7uPXqq68qmUzK6XRq9erVmj17thYvXqyvfOUrIz5QPNH69etlWZZWrlw55PtXXnmlnnvuuf5Rr4899piqq6uHvaPw3HPP1e9+9ztFIpFR9QEAQCqV6v/+99RTT+mJJ57QZZdd1v/+iy++qOrqatXX14/q81qW1f+5+/43VIAzlL67BO+77z5VVVXp5ptv1r/+67+qpaVFX/rSl/T+979f3/nOd4a8M66np0fd3d06cOCAvvKVr2j27NlqaGjI+Otlsw4azuuvv666urq0jU1Sb/jXt6lrOL/61a8Grf96enr0L//yL/roRz+qqqqqIT/ud7/7nT7+8Y9r+vTpuu+++/Se97xH//AP/zDi6PFMXnzxRZ1zzjmaO3euVq9erZdeeint/WzXeyfqu8blne98Z8a6KVOmaMmSJfr2t7+t/fv3KxqNauPGjYOeyfWZN2+epk6dqk2bNknqHfX67LPPDru2evvb367S0lJt3749Yx8ABmPUJ4pCR0eHHn744f4Fz5EjR/Qv//Iv+shHPtIf7sydO1ebN2/Wk08+qb/+678+6V9r1qxZcrvdCgaDox7XJEk7duzQli1b0sYNLF68WOFwWPfee2//cfxQKKSPfexjmj9/vgzD0JYtW/T1r39dra2tI168vHv3bt12221pox/f/e53p9Ukk0ndfvvt/b+eZVn66Ec/qvnz5+vOO++U1DtOYtOmTdq0aVP/g5+B36xt29aCBQvU2tqqRx55ZMgxCKOxe/futN1YA73wwgu64YYbJPXuuP7Hf/xHXX755f3vO51OPfTQQ/q7v/u7/l1tHo9HX/va19IexsTjcX3xi1/UrbfeqkAgMOSvtX//fj3xxBO6++679b73vU9S73iKv/iLvzil318urF+/XpMmTRp1b+3t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z/9Z//Sf/tP4xV/8xfjN3/zN2L9/f7zyyivxh3/4h/Hwww+fD5hPnDgR99xzT/ziL/5i/NIv/dJFvTz55JNRKBQuOsNwKT/90z99PgBdyquvvhrFYjH++//+v2/pzwWAiHNn7b3zbKper8f3v//9+L//7/87brnllnj/+98fEed24//2b/92/NN/+k/jE5/4RPzsz/5sjI6OxtmzZ+Pw4cPxF3/xF5ccWf79739/0dSFG2644fyuwevt13/912Pz5s2xa9euKJfLMTY2Fn/0R38UW7ZsueLv0svdBx09ejSOHj16/p8PHz4cX//616Ovr+/8RKQf+7Efiw9+8IPxmc98Jv75P//nsWHDhvjd3/3duPXWWy86BueXf/mX46//+q/jN3/zN+ONN96IN9544/y1H/3RH42IuOTv8Y0bN0axWLzoGdM/+Sf/JH76p386HnnkkfjkJz8Z/+2//bf4whe+sGjU53/+z/85Hn300fjjP/7jyz6jOnToUHz+85+Pe+65J7Zv3x5vvvlm/NEf/VGMj4/H7/3e752va/V+7x1PPvlkbNu27fwCvR/2j//xP4433ngjnn766Yg4F6Bu27YtfuVXfiUeeeSR2Lp1azz//PPx//w//89FY2B/2E033dTS/X61Wo3XX3+95cVXwLsEf7CEBx98MH7wgx/E448/Hl/84hfjox/9aPzqr/5q/Nqv/dqS/96v/uqvxr/8l/8yfvmXfzlmZ2fPnw/Tqn/37/5d/If/8B/i8ccfP79LaufOnRf9GaOjo/Gf/tN/ipMnT0aWZbFjx474zGc+c9GIzUvZsGFDvOc974k/+ZM/ib/927+NQqEQt99+e3zhC1+4Loci/+t//a/j13/91+Nf/It/EZs2bYqf+7mfi2q1Gn/4h394zX/23//7fz8+97nPxbFjx84fFD04OBgbN26M3//934/x8fG44YYb4uabb45//+///UUPy2688cb44z/+4/PnGtZqtdixY0f89m//dvyDf/APlt3LY489Fv/H//F/xO/8zu9Eb29v/NRP/VR84AMfOB8ivqNarV704OlyfngU1Dv/fOH/Oy+99NJFIdu3v/3t+Pa3vx0REa+99tpF//6TTz4ZlUrlsjeJWZbFwsJCNJvNi75+9OjReO211+J//9//9yv2vBz1ej3+4i/+Iv7ZP/tn1/XPBWBt+7/+r/8r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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + } + ], + "source": [ + "from sklearn.manifold import TSNE\n", + "\n", + "categories = ['Programación'] * 5 + ['Ciencia'] * 5 + ['Cocina'] * 5 + ['Finanzas'] * 5 + ['Geografía'] * 5\n", + "cat_colors = {'Programación': '#e74c3c', 'Ciencia': '#3498db', 'Cocina': '#2ecc71', 'Finanzas': '#f39c12', 'Geografía': '#9b59b6'}\n", + "\n", + "n_models = len(results)\n", + "fig, axes = plt.subplots(2, 3, figsize=(18, 12))\n", + "axes = axes.flatten()\n", + "\n", + "for i, (name, res) in enumerate(results.items()):\n", + " embs = res['corpus_embs']\n", + " tsne = TSNE(n_components=2, random_state=42, perplexity=8)\n", + " coords = tsne.fit_transform(embs)\n", + "\n", + " ax = axes[i]\n", + " for cat in cat_colors:\n", + " mask = [c == cat for c in categories]\n", + " ax.scatter(coords[np.array(mask), 0], coords[np.array(mask), 1],\n", + " c=cat_colors[cat], label=cat, s=80, alpha=0.8, edgecolors='white', linewidth=0.5)\n", + " ax.set_title(f'{name} ({res[\"dim\"]}d, {res[\"n_params_m\"]}M)', fontsize=11)\n", + " ax.set_xticks([]); ax.set_yticks([])\n", + " if i == 0:\n", + " ax.legend(fontsize=8, loc='upper left')\n", + "\n", + "# Ocultar ejes sobrantes\n", + "for j in range(i + 1, len(axes)):\n", + " axes[j].set_visible(False)\n", + "\n", + "plt.suptitle('t-SNE: Agrupación de documentos por categoría (corpus español)', fontsize=14, y=1.01)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "5093816f", + "metadata": {}, + "source": [ + "## 9. Conclusiones\n", + "\n", + "Ejecuta todas las celdas arriba y compara:\n", + "- **Modelos solo-inglés** (MiniLM-L6, L12): muy rápidos y livianos, pero ¿entienden español?\n", + "- **Multilingüe ligero** (paraphrase-multi-L12, multi-e5-small): buen balance\n", + "- **Nomic v1.5**: más grande pero con Matryoshka — ¿compensa el tamaño extra?\n", + "- **BGE-m3**: el más pesado — ¿la diferencia en retrieval justifica 4x el tamaño?\n", + "\n", + "La tabla resumen y los gráficos dan la respuesta concreta para **tu** caso de uso." + ] + } + ], + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/02_ram_benchmark.ipynb b/notebooks/02_ram_benchmark.ipynb new file mode 100644 index 0000000..d1b4fa0 --- /dev/null +++ b/notebooks/02_ram_benchmark.ipynb @@ -0,0 +1,804 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "daf8e241-af34-4594-b406-08fe56191cf6", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "raw", + "id": "51191f74-f5fc-46bc-abb9-72db3941c796", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aa5ab0bb-f8ae-499e-8d9e-7d76c9a9b415", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "fdd06db5", + "metadata": {}, + "source": [ + "# Benchmark de RAM: BGE-m3 vs multilingual-e5-small\n", + "\n", + "Medimos consumo real de memoria en cada fase:\n", + "1. **Baseline** — RAM antes de cargar nada\n", + "2. **Carga del modelo** — cuánta RAM consume tener el modelo en memoria\n", + "3. **Encoding** — pico de RAM durante encoding a distintos tamaños de corpus\n", + "4. **Scaling** — cómo escala la RAM con corpus de 100, 500, 1000, 5000 documentos" + ] + }, + { + "cell_type": "markdown", + "id": "d3d149af", + "metadata": {}, + "source": [ + "## 1. Setup" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "9ee663ae", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sistema: 31970 MB total, 21550 MB disponible (32.6% usado)\n", + "Proceso actual: 179 MB\n", + "Modelos a probar: ['multi-e5-small', 'BGE-m3']\n" + ] + } + ], + "source": [ + "import os, gc, time, tracemalloc\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import psutil\n", + "\n", + "plt.style.use('seaborn-v0_8-whitegrid')\n", + "plt.rcParams['figure.figsize'] = (14, 6)\n", + "\n", + "MODELS = {\n", + " 'multi-e5-small': {\n", + " 'id': 'intfloat/multilingual-e5-small',\n", + " 'q_prefix': 'query: ',\n", + " 'd_prefix': 'passage: ',\n", + " },\n", + " 'BGE-m3': {\n", + " 'id': 'BAAI/bge-m3',\n", + " 'q_prefix': None,\n", + " 'd_prefix': None,\n", + " },\n", + "}\n", + "\n", + "def get_process_ram_mb():\n", + " \"\"\"RAM del proceso actual en MB (RSS).\"\"\"\n", + " return psutil.Process(os.getpid()).memory_info().rss / (1024 * 1024)\n", + "\n", + "def get_system_ram():\n", + " \"\"\"RAM del sistema: total, usada, disponible en MB.\"\"\"\n", + " m = psutil.virtual_memory()\n", + " return {'total_mb': m.total / (1024**2), 'used_mb': m.used / (1024**2), 'available_mb': m.available / (1024**2), 'percent': m.percent}\n", + "\n", + "sys_ram = get_system_ram()\n", + "print(f'Sistema: {sys_ram[\"total_mb\"]:.0f} MB total, {sys_ram[\"available_mb\"]:.0f} MB disponible ({sys_ram[\"percent\"]}% usado)')\n", + "print(f'Proceso actual: {get_process_ram_mb():.0f} MB')\n", + "print(f'Modelos a probar: {list(MODELS.keys())}')" + ] + }, + { + "cell_type": "markdown", + "id": "9f1571c1", + "metadata": {}, + "source": [ + "## 2. Corpus sintético escalable\n", + "\n", + "Generamos corpus de distintos tamaños a partir de frases semilla en español." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f5a78c0b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Corpus 100 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n", + "Corpus 500 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n", + "Corpus 1000 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n", + "Corpus 5000 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n" + ] + } + ], + "source": [ + "import random\n", + "\n", + "# Frases semilla para generar corpus de cualquier tamaño\n", + "SEEDS = [\n", + " 'Python es un lenguaje de programación de alto nivel conocido por su legibilidad',\n", + " 'La fotosíntesis convierte la luz solar en energía química en las células vegetales',\n", + " 'El pan de masa madre requiere un cultivo fermentado de harina y agua',\n", + " 'El interés compuesto hace crecer los ahorros exponencialmente a largo plazo',\n", + " 'La selva amazónica produce aproximadamente el 20 por ciento del oxígeno mundial',\n", + " 'Las redes neuronales profundas aprenden representaciones jerárquicas de los datos',\n", + " 'La criptografía asimétrica usa pares de claves pública y privada',\n", + " 'Los contenedores Docker encapsulan aplicaciones con todas sus dependencias',\n", + " 'La teoría de grafos modela relaciones entre entidades como nodos y aristas',\n", + " 'Las bases de datos columnares optimizan consultas analíticas sobre grandes volúmenes',\n", + " 'El protocolo TCP garantiza la entrega ordenada y confiable de paquetes',\n", + " 'La transformada de Fourier descompone señales en sus frecuencias componentes',\n", + " 'Los microservicios dividen una aplicación en servicios pequeños e independientes',\n", + " 'El álgebra lineal es fundamental para machine learning y procesamiento de señales',\n", + " 'La reacción de Maillard crea el dorado y sabor al cocinar proteínas a alta temperatura',\n", + " 'Los índices invertidos permiten búsqueda full-text eficiente en documentos',\n", + " 'Las corrientes oceánicas regulan el clima global y los patrones meteorológicos',\n", + " 'El garbage collector libera memoria de objetos que ya no son referenciados',\n", + " 'La diversificación reduce el riesgo del portafolio distribuyendo inversiones',\n", + " 'Los embeddings representan texto como vectores densos en un espacio semántico',\n", + "]\n", + "\n", + "def generate_corpus(n):\n", + " \"\"\"Genera corpus de n documentos variando las frases semilla.\"\"\"\n", + " random.seed(42)\n", + " suffixes = [\n", + " '', ' en sistemas modernos', ' según investigaciones recientes',\n", + " ' de manera eficiente', ' con aplicaciones prácticas',\n", + " ' en el contexto actual', ' para usuarios avanzados',\n", + " ' combinando múltiples enfoques', ' optimizando recursos',\n", + " ' a gran escala',\n", + " ]\n", + " corpus = []\n", + " for i in range(n):\n", + " base = SEEDS[i % len(SEEDS)]\n", + " suffix = suffixes[i % len(suffixes)]\n", + " corpus.append(f'{base}{suffix}')\n", + " return corpus\n", + "\n", + "CORPUS_SIZES = [100, 500, 1000, 5000]\n", + "corpora = {n: generate_corpus(n) for n in CORPUS_SIZES}\n", + "for n, c in corpora.items():\n", + " print(f'Corpus {n:5d} docs → ejemplo: \"{c[0][:70]}...\"')" + ] + }, + { + "cell_type": "markdown", + "id": "aca2f5ce", + "metadata": {}, + "source": [ + "## 3. Benchmark de RAM por modelo\n", + "\n", + "Para cada modelo medimos:\n", + "- **RAM al cargar** — delta RSS después de instanciar el modelo\n", + "- **RAM pico encoding** — tracemalloc captura el pico durante encode\n", + "- **Tiempo de encoding** — por cada tamaño de corpus\n", + "- **RAM de embeddings** — cuánto pesan los arrays numpy resultantes" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a09ef594", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "abe7fa6799534cb89e3cc572e00969fd", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading weights: 0%| | 0/199 [00:00\n", + "#T_2d890_row0_col3, #T_2d890_row0_col4, #T_2d890_row1_col3, #T_2d890_row2_col3, #T_2d890_row3_col3 {\n", + " background-color: #67000d;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_2d890_row0_col8 {\n", + " background-color: #e9f7e5;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row1_col4, #T_2d890_row2_col4 {\n", + " background-color: #fff4ee;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row1_col8 {\n", + " background-color: #005b25;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_2d890_row2_col8 {\n", + " background-color: #005924;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_2d890_row3_col4 {\n", + " background-color: #fee8dd;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row3_col8 {\n", + " background-color: #00441b;\n", + " color: #f1f1f1;\n", + "}\n", + "#T_2d890_row4_col3, #T_2d890_row4_col4, #T_2d890_row5_col3, #T_2d890_row5_col4, #T_2d890_row6_col3, #T_2d890_row6_col4, #T_2d890_row7_col3 {\n", + " background-color: #fff5f0;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row4_col8 {\n", + " background-color: #f7fcf5;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row5_col8 {\n", + " background-color: #d9f0d3;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row6_col8 {\n", + " background-color: #d4eece;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row7_col4 {\n", + " background-color: #fee0d2;\n", + " color: #000000;\n", + "}\n", + "#T_2d890_row7_col8 {\n", + " background-color: #d1edcb;\n", + " color: #000000;\n", + "}\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ModeloDocsDimRAM modelo (MB)RAM delta encode (MB)Peak tracemalloc (MB)Embeddings (MB)Tiempo (s)Docs/s
0multi-e5-small1003846841910.2000000.1500000.281000356.200000
1multi-e5-small50038468420.9000000.7300000.2790001791.300000
2multi-e5-small100038468421.8000001.4600000.5530001807.400000
3multi-e5-small5000384684159.1000007.3200002.6100001915.600000
4BGE-m3100102411000.5000000.3900000.520000192.500000
5BGE-m3500102411002.2000001.9500000.997000501.700000
6BGE-m31000102411004.3000003.9100001.867000535.700000
7BGE-m3500010241102421.30000019.5300009.011000554.900000
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame(all_results)\n", + "display_cols = ['model', 'corpus_size', 'dim', 'ram_model_mb', 'ram_delta_encode_mb',\n", + " 'tracemalloc_peak_mb', 'emb_size_mb', 'encode_time_s', 'docs_per_sec']\n", + "df_display = df[display_cols].copy()\n", + "df_display.columns = ['Modelo', 'Docs', 'Dim', 'RAM modelo (MB)', 'RAM delta encode (MB)',\n", + " 'Peak tracemalloc (MB)', 'Embeddings (MB)', 'Tiempo (s)', 'Docs/s']\n", + "df_display.style.background_gradient(subset=['RAM modelo (MB)', 'RAM delta encode (MB)'], cmap='Reds') .background_gradient(subset=['Docs/s'], cmap='Greens')" + ] + }, + { + "cell_type": "markdown", + "id": "0265a6ae", + "metadata": {}, + "source": [ + "## 5. Visualizaciones" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bf8954d8", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABv0AAAJOCAYAAACUQctNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XdYU9f/B/B3EsLeS8W9AlVBcKMo1Wq1dbRq68ZRt1+3/bWOtmqdtdZR97aOOlrFra3bukedFcW6EQegzDBCcn9/ILdGhkEJl5D363l85Nx7c+7nJJCc3M8958gEQRBARERERERERERERERERCZLLnUARERERERERERERERERPRumPQjIiIiIiIiIiIiIiIiMnFM+hERERERERERERERERGZOCb9iIiIiIiIiIiIiIiIiEwck35EREREREREREREREREJo5JPyIiIiIiIiIiIiIiIiITx6QfERERERERERERERERkYlj0o+IiIiIiIiIiIiIiIjIxDHpR0RERERERERERERERGTimPQjysHo0aPRpEkTqcMAULhiKQz4fJimiIgIeHt7Y+vWreK2efPmwdvbW8KoiIiIcuft7Y158+YZpe7sPhtzYoz+z7u07cyZM/D29saZM2fyNSZTk93zwL4qEREZgzH7JOYuJCQEISEhUoeRr0y1P5LZP16xYoXRz7V161Z4e3sjIiLijcc2adIEo0ePFsvsC1NhxqQfmZ3MN/TMf76+vmjevDm+//57REdHSx1egchMtGT+q1q1Kpo0aYLJkycjPj4+x8fNmDED3t7eGD58eLb7Mz+Yvb29sXDhwmyPGTVqFLy9vREQEJAfTSnUkpOTMW/ePHYAiIiICsCAAQNQvXp1JCYm5njMqFGjUK1aNbx48aIAIyMiIiLK3fr16+Ht7Y3PP/9c6lDISP7++2/Mmzcv1+tuRET5wULqAIikMnToUJQqVQppaWm4cOECNmzYgKNHj2LXrl2wsbHBpEmTIAiC1GEa1YQJE2Bra4vk5GScOnUKa9euxT///IMNGzZkOVYQBOzevRslS5bE4cOHkZiYCHt7+2zrtbKywu7duzFo0CC97Wq1GocOHYKVlZVR2lPYJCcnY/78+Rg8eDDq1q0rdTiF0sCBA9GvXz+pwyAioiKgTZs2OHz4MA4cOIBPP/00y/7k5GQcOnQIQUFBcHFxKfgA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/PTTTyhXrhymTZuGbdu25Xm6WCIiKrx27NgBKysrNGjQINv9crkc77//Pnbu3IkXL17ka8IhU7t27RAdHY1Nmzbh+PHjqFSpEn788Ufs27cvyzUXQ66H9evXD+XKlcPq1auxYMECABlr3zVo0CDH5GZ+xZffjNEv8fPzw7Bhw7Bx40b89ddf0Ol0OHjwIGxtbU3iWuK7XsfKq08//RRyuRy//PILYmJi4Ofnh2+//Raenp55jsnT0xNr1qzB5MmTsXTpUjg7O6NTp07w9PTEuHHj9M47fPhwWFpaYuPGjThz5gz8/PywcuVK9O/fP9/aZmdnh19++QWTJ0/GmjVrYGtri08//RQBAQEYMmSImPzz9vZGUFAQDh8+jKdPn8LGxgbe3t5YtmwZ/P398y0eKnpkAlcNJyKiImTQoEH4999/8eeff0odChEREVG++OSTT+Dq6ipO9UVERERERcvq1asxbdo0HDt2LNebBInehGv6ERGRyUpJSdEr37t3D8eOHXvrKWWJiIiIpKTRaLKs3XLmzBncuHGD/RsiIiKiIuL161mpqanYtGkTypUrx4QfvTNO70lERCaradOmaNu2LUqXLo1Hjx5h48aNUCqV+TrNFhEREVFBefr0KXr16oU2bdrA09MTd+7cwcaNG+Hh4YFOnTpJHR4RERER5YPBgweLSyolJiZix44duHPnDmbOnCl1aFQEMOlHREQmq2HDhti9ezeioqJgaWkJf39/jBw5EuXKlZM6NCIiIqI8c3JyQtWqVfHbb7/h+fPnsLW1RXBwML788kujrOdERERERAUvKCgIv//+O3bu3AmtVotKlSph9uzZ+Pjjj6UOjYoArulHREREVEgsWbIEf/75J+7cuQNra2sEBATgyy+/RIUKFcRjUlNTMX36dOzZswdpaWkICgrC+PHj4e7uLh4TGRmJCRMm4MyZM+Ki4KNGjYKFxX/3e505cwbTp0/HrVu3UKJECQwcOBDt2rUr0PYSEREREREREVH+4Zp+RERERIXE2bNn0bVrV2zevBmrVq1Ceno6evfuDbVaLR4zdepUHD58GHPmzMHatWvx7NkzDB48WNyv1WrRv39/aDQabNy4EdOnT0doaCh+/vln8ZiHDx+if//+qFu3LrZv344ePXrgm2++wV9//VWg7SUiIiIiIiIiovzDkX5EREREhdTz588RGBiIdevWoXbt2khISEBgYCBmzpyJFi1aAABu376Njz/+GJs2bYK/vz+OHj2KAQMG4K+//hJH/23YsAEzZ87EqVOnYGlpiR9//BFHjx7Frl27xHONGDEC8fHxWLFihSRtJSIiIiIiIiKid1Ok1vRLT09HXFwcrKysIJdzECMRERHlTKfTITU1FU5OTnrTXhYmCQkJADLWeAKAa9euQaPRoH79+uIxFStWhJeXFy5dugR/f39cunQJKpVKb7rPoKAgTJgwAf/++y+qVKmCS5cuITAwUO9cQUFBmDp1arZxsI9FREREhjKFPlZhwT4WERERGcrQPlaR6n3FxcXh3r17UodBREREJqRcuXJwc3OTOowsdDodpk6diho1akClUgEAoqOjoVQq4ejoqHesm5sboqKixGNeTfgBEMtvOiYxMREpKSmwtrbW28c+FhEREeVVYe1jFSbsYxEREVFevamPVaSSflZWVgAyGm1jY5Pv9Wu1WoSHh0OlUkGhUOR7/UREfJ8hKjjJycm4d++e2H8obCZOnIhbt27h119/lTqUQvscERERUeHF/sObGfs6lrGZ6/dXc2w322webQbMs91ss3m0GTD9dht6HatIJf0yp0KwsbGBra1tvtev1WoBALa2tib5S0FEhR/fZ4gKXmGcSun777/HkSNHsG7dOhQvXlzc7u7uDo1Gg/j4eL3RfjExMfDw8BCPuXLlil590dHRAKB3TOa2V4+xt7fPMsoP+O85UqlURutjXb16Fb6+vnzvI6J8x/cYooKlVqsRHh5eKPtYhY2xr2MZm7l+fzXHdrPN5tFmwDzbzTabR5uBotPuN/WxilTSj4iIiMiUCYKASZMmYf/+/Vi7di1Kly6tt79atWpQKpU4deoUmjdvDgC4c+cOIiMj4e/vDwDw9/fH4sWLERMTI073cPLkSdjb26NSpUriMceOHdOr++TJk2IdOVEoFEbtGBu7fiIyb3yPISoY/DsjIiIikg5vuyIiIiIqJCZOnIgdO3bgp59+gp2dHaKiohAVFYWUlBQAgIODA9q3b4/p06fj9OnTuHbtGsaOHYuAgAAxYRcUFIRKlSrhq6++wo0bN/DXX39hzpw56Nq1KywtLQEAnTp1wsOHDzFjxgzcvn0b69evx969e9GzZ0+JWk5ERERERERERO+KI/2IiIiICokNGzYAAEJCQvS2T5s2De3a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hLCwMISFhQEAIiIiEBYWhsjISPGYxMRE7Nu3L8epOXv06IF169aJ5R9++AFnz55FREQE/v77bwwePBhyuRytWrUybmOIiIiIXuL0nkRERJSj5P27obmVcSHEokx52LZqL3FERESm435sGjZdiwUAWClkGFKPN00QERUW165dQ/fu3cXytGnTAABt27bF9OnTAQC7d++GIAg5Ju0ePnyIFy9eiOUnT55g5MiRiI2NhaurK2rWrInNmzfD1dXViC0hIiIi+g+TfkRERJQtXUI8En5ZIpYdBoyAzIJdByIiQ805FY10XcbPXas7w8tBKW1AREQkqlu3Lm7evJnrMR07dkTHjh1z3H/o0CG98uzZs/MlNiIiIqK3xek9iYiIKFuJ65ZDSIgDAFg3+gBWvgESR0REZDpOPUzC8QdqAICnnQI9/V0kjoiIiIiIiIiKOib9iIiIKAvN7XCo920HAMisbeDQa5DEERERmY50rYDZJ6PF8v/quMNGya9eREREREREZFz85klERER6BJ0O8YtnA7qMOensOvWAwt1T4qiIiEzHlrA43I3VAAB8Pa3QorK9xBERERERERGROWDSj4iIiPSkHP4DmhvXAACKkmVg16aDxBEREZmO2BQtlp5/LpZHNfCAXCaTMCIiIiIiIiIyF0z6ERERkUiXlIiE1YvEsmO/YZAplRJGRERkWpaef4741IyR0i1VDqjqaS1xRERERERERGQumPQjIiIiUeKvK6GLfQEAsAoMhlWNOhJHRERkOv59noot1+MAADYWMvyvjpvEEREREREREZE5YdKPiIiIAACae7eh3rU1o2BpBcc+g6UNiIjIhAiCgFkno6ETMsq9AlzgYWchbVBERERERERkVpj0IyIiIgiCgPjFswGdFgBg3yEECs/iEkdFRGQ6jt1PwrlHyQAALwcLdPFzljYgIiIiIiIiMjtM+hERERFSjh2E5p/LAABFiZKwa9tJ4oiIiExHmlbAnFMxYnlYPXdYWfCrFhERERERERUsfhMlIiIyczq1GgkrF4hlh75DIbO0kjAiIiLTsvFqLCLiNQCAml42aFzeTuKIiIiIiIiIyBwx6UdERGTmkjathu55NADAqk4DWNeuL3FERESmI1qdjhV/PwcAyGXAyPrukMlkEkdFRERERERE5ohJPyIiIjOW/vAekrZvzigoLeHQd6i0ARER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xZgbSqqca665Boul+PSHFosFPz8/6tevz6BBg+jatasJ6URKbvrqZOxO19dD2kRQO8zX3EAiIiLHZGVlkZKSUqw/JSWF7OxsExKJiIiIeJdSj/R7/fXXmThxIpMmTcLnpHWSOnToUGyedRERkfKQt/xb7Fs3A2CrXY/gq28wOZFURZdccgn79+8nMDCQLl260KVLF4KCgti3bx+tW7cmMTGRO+64gx9++MHsqCKnteZADj/tcd00jQ6yMax9NZMTiYiInNC/f3/Gjh3Ld999x5EjRzhy5AjffvstTz31FJdeeqnZ8URERERMV+qRfrt37z7laL7Q0FAyMjLKJJSIiEhJObMyyXzvdXc7bPhILL4alSLlLzU1lTvuuIMHHig6tex//vMfDh06xLvvvstrr73Gf/7zH/r162dSSpHTK3QavBKf5G4/2CWKIN9zWg1ARETEIyZOnMhLL73EmDFjKCwsBMBms3Hdddfx+OOPm5xORERExHyl/i0+Ojqaffv2Fetfv349devWLZNQIiIiJZX13zk401IB8O/eE//2F5mcSKqqxYsXc+WVVxbrv+KKK1i8eLH76927d5d3NJESWbQlg12prqn7W1b3Z2CTUJMTiYiIFBUYGMiECRNYs2YNixYtYtGiRaxdu5YJEyYQFBRkdjwRERER05W66HfDDTcwefJkfv/9dywWCwkJCXzxxRe89NJL3HzzzZ7IKCIickr2PX+T89VCV8PPn7C7HjI3kFRp/v7+bNiwoVj/hg0b8Pf3B8AwDPfXIt4kPc/Bm78mu9uju0VjPcUalSIiIt4gMTGRxMREGjRoQFBQEMaxtb1FREREqrpST+9577334nQ6GTZsGLm5udx66634+flx5513ctttt3kio4iISDGGYZDxxjRwOgAIuWEotuqxJqeSquzWW29l/PjxbN68mdatWwOwadMmPv30U4YPHw7AypUrufDCC82MKXJKs9enkJ7vBGBA4xDa1Ag0OZGIiEhxqampjBw5kjVr1mCxWPjuu++oW7cu48aNIzw8nCeffNLsiCIiIiKmKnXRz2KxMGLECO666y727dtHTk4OF1xwAcHBwZ7IJyIickp5P/2A/c/fAbDVrE3woBtNTiRV3f3330+dOnX48MMP+eKLLwBo2LAhzz//PFdddRUAN910k2ZGEK+zK7WAT/9MByDAx8KDXaJN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7lxGjBjh/rz073//m+7du/PDDz9wxRVX8Pfff7NixQo+/fRTWrduDcDTTz/Nvffey+OPP05sbCxffPEFdrudF154AT8/P5o0acKWLVuYM2eOin6V1KaEPBbvyAQg3N/KPR0jTU4kIiJSckuXLvXIcTdv3szQoSfWC58yZQoAgwYN4sUXX+See+4hNzeXZ599loyMDDp27Mjbb7/tftAKYP/+/aSmprrbl19+OSkpKbz22mskJiZy4YUX8vbbb591ek8RERGRslLqot/gwYPZunUrnTt35t577+W+++7jgw8+oLCwkCeffLJUxyqLp9lFRKTyyV+3ivw1KwGwRkYRctMdJicSObtLL72URx99lPr165OWlkaPHj0A2LJlC/Xr1z/v4x84cIDExES6d+/u7gsNDaVt27Zs2LCBK664gg0bNhAWFuYu+AF0794dq9XKH3/8Qf/+/dm4cSOdOnXCz+/ESK+4uDhmz55Neno64eHh551VvIfTMJgan+hu39spkvAAL1qzQURE5Cxq167tkeN26dKFbdu2nXa7xWLhkUce4ZFHHjntPsuWLSvWd+utt7pH/omIiIiUt1IX/U6eI7179+4sXryYP//8k3r16pV60eTzfZpdREQqH8NeQMZbr7nboXc8gDUoyMREIiUzduxYateuzeHDh3nssccIDg4GIDExkVtuueW8j5+Y6CrcREVFFemPiooiKSkJcE0xGhlZdBSXj48P4eHh7tcnJSVRp06dIvscf/o8KSnpjEU/h8NR4lGLpXH8mJ44dlX3zY5M/jyaD0Cjar78q1mIvs9S5eg9RqR8efpnLSEhgfXr15OSkoLT6Syy7eSReyIiIiJVUamKfna7nbvvvpuJEye6p9isXbu2R566KsnT7KejG1IiUlHpfQayP/svjsMHAPBt2RbfuN5V+vshnlNW/19Nnz6dvn370qpVK+66665i209+YKqi2759u0ePv2nTJo8ev6rJc8D0zaGAFYCrYlLZ/EeSuaFETKT3GJGKb+HChTz77LP4+vpSrVq1ItssFouKfiIiIlLllaro5+vre8apD8pSSZ5mPx3dkBKRiq6qvs/Y0lKp/vH7WAHDYuXAJZex5/ffzY4lckZHjhzhnnvuwdfXl969e9O3b1+6du1aZPrMshATEwNAcnIy1atXd/cnJye7Z1uIjo4mJSWlyOsKCwtJ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Nzsy3X21w3yY3LcGLasHmJhMylqfPn04ePBgsf5bbrmF8ePHc9ttt7F27doi22688Uaee+45d/vQoUNMmDCBNWvWEBQUxDXXXMOYMWOKrVUj52/mmiTyCl1F+OtahtOomp/JiURERCqubt26sXXrVt2DEhERETmNEt3ZmTJlyin7IyMjadGiBR999JG7b+zYsWWTTEREypVRWEjmm6+626G334s1NMy8QFJifx7N4+mlCRzIsLv7Lm8SymNxMYT4aWrWyubTTz/F4XC42zt27OCOO+5gwIATa2/ecMMNPPzww+52YGCg+2uHw8Hw4cOJjo5m/vz5HD16lCeeeAJfX19Gjx5dPhdRRfxxJJclO7MA15qa93SMNDmRiIhIxTZp0iSefPJJduzYQZMmTYo9sNS3b1+TkomIiIh4hxIV/f76669T9terV4+srCz3dk1VJCJSceV8vZDCvbsA8GncnMB+V5icSM7G4TSY93sab6xLxuF09QX7WnjikuoMbBJqbjjxmMjIooWjt956i3r16tG5c2d3X0BAADExMad8/cqVK9m5cydz5swhOjqaCy+8kEceeYSXX36ZBx98ED8/jUQrC07DYGp8krs9/KIowgNsJiYSERGp+DZu3Mhvv/3Gzz//XGybxWJhy5YtJqQSERER8R4lKvr9c3FiERGpXBypyWR99K67HTZiFBabbk57s6PZhYxflsC6Q7nuvlbV/Xm+bw3qhPmamEzKU0FBAV988QV33HFHkYevvvzyS7744gtiYmLo3bs3999/v3u038aNG2natCnR0dHu/ePi4pgwYQI7d+6kRYsWpz2fw+EoMsqwrBw/pieObZZvdmTyV2I+ABdU8+XqpsGV6vpEKpLK+B4j4s08+bM2adIkrr76au6///4in2VERERExEULt4iICJnvvYGRkw1AYP8r8Gt6+pv+Yr6f9mTx/I9HSc93De+zAHe0r8Y9HSPxsWnUfVXyww8/kJmZyaBBg9x9V155JbVq1aJ69eps27aNl19+md27dzNz5kwAkpKSit0kO95OTEw84/m2b99exldQ1KZNmzx6/PKS54Dpm0MB1/S6V8WksvmPpDO/SEQ8rrK8x4hUZampqQwbNkwFPxEREZHTOKei36ZNm1i8eDGHDx/GbrcX2Xb8hpKIiFQMBX/9Qd6yJQBYgkMIvX24yYnkdPIKnby6KonP/spw91UP9uG5PrF0rBV4hldKZfXZZ5/Ro0cPYmNj3X033nij++tmzZoRExPDsGHD2LdvH/Xq1Tuv8zVt2pSgoKDzOsapOBwONm3aROvWrbFVglHGr/+aQro9HYAe9YO4qUdDkxOJVG2V7T1GxNvl5OR47EGhSy+9lDVr1pz3ZxoRERGRyqrURb+vv/6aJ554gri4OFauXElcXBy7d+8mOTmZ/v37eyKjiIh4iOFwkPHmq+526G33Yg2vZl4gOa2dyfmMW5rA7tQCd1+vBsE83bO61gmrog4ePEh8fDwzZsw4435t27YFYO/evdSrV4/o6Gj++OOPIvskJblGoZ1uHcDjbDabR2+Ye/r45eFghp3/bnYV5n2tMLJbdIW/JpHKojK8x4hUBJ78OWvQoAFTp05l/fr1NG3aFB+fore1hg4d6rFzi4iIiFQEpS76vfHGG4wdO5YhQ4bQvn17nnrqKerUqcOzzz571htFIiLiXXKXfEHhrh0A+DRqQuCAq01OJP9kGAaf/JnO9NXJFDgMAPx9LIzuFs2gC8OKrOMmVcvChQuJioqiV69eZ9xvy5YtwImCXrt27XjjjTdITk4mKioKgPj4eEJCQmjcuLFHM1cFr61Ocv+s3tw6grrhfiYnEhERqTw++eQTgoKCWLt2LWvXri2yzWKxqOgnIiIiVV6pi3779++nZ8+eAPj5+ZGTk4PFYmHYsGHcfvvtPPzww2UeUkREyp4zPZXMeW+522HDR2LR0+9eJTXXwXM/JrByX467r0mkH5P61aBRNRUSqjKn08nChQu55pprijzhvm/fPr788kt69uxJREQE27ZtY8qUKVx00UU0b94cgLi4OBo3bszjjz/OY489RmJiIq+++ipDhgzBz0//X52PdQdzWLbbtT5qZKCNOzpEmpxIRESkclm2bJnZEURERES8WqmLfmFhYWRnu25mVK9enR07dtCsWTMyMjLIzc0t84AiIuIZmXPfwsjOAiCgzwD8WrQxOZGcbM2BHMYvTyA5x+Huu6lVOA92icLfx2piMvEG8fHxHDp0iMGDBxfp9/X1ZdWqVcydO5ecnBxq1qzJpZdeyv333+/ex2az8cYbbzBhwgRuvPFGAgMDGTRokB7cOk8Op8Er8Unu9gOdowjx08+qiIiIiIiIiJSfUhf9LrroIuLj42nWrBkDBgxg8uTJrF69mvj4eLp16+aJjCIiUsYKtv9F7vdfA2AJCiZ02H0mJ5Lj7A6D/6xN5oM/0tx91QJsjO9dnYvrBZsXTLxKXFwc27ZtK9Zfs2ZNPvjgg7O+vnbt2syePdsT0aqs/23NYEeKa83NC6P9ubJZqMmJREREKqcjR46wdOlSDh8+jN1uL7Jt7NixJqUSERER8Q6lLvo988wz5OfnAzBixAh8fX357bffuPTSSxkxYkSZBxQRkbJlOJ1kvD4NDNeaUyG33ImtWpTJqQRgb1oBzyxNYEtSvruva51AxveOJTqo1P9ki0g5ycx38Pqvye726O7RWLXepoiISJlbtWoVI0aMoG7duuzatYsmTZpw8OBBDMOgRYsWZscTERERMV2p7yBGRES4v7Zardx7771lmUdERDws9/uvKNy5FQCf+o0IuvJakxOJYRh8uS2Tl39JJLfQVYz1scKDXaK4uXWEigciXu7t9Smk5TkBuPSCENrVDDQ5kYiISOU0depU7rzzTh5++GHat2/PjBkziIyM5NFHH+WSSy4xO56IiIiI6c5poZF9+/Yxbdo0Ro8eTXKy66nmn376iR07dpRpOBERKVvOzAwy33/L3Q4bPhKLTSPIzJSZ7+CppQk8/9NRd8GvfoQv7w2qy5A21VTwE/Fye1IL+PjPdAD8fSw81EUjp0VERDzl77//5pprrgHAx8eHvLw8goODeeSRR3j77bfNDSciIiLiBUpd9Fu7di1XXXUVf/zxB9999x05OTkAbNu2jRkzZpR5QBERKTuZ82ZjZLpuTgf06Idf6/YmJ6rafj+Sy5BP9/P931nuvn81D2PetXVpFu1vYjIRKalXVyfhcA3yY2jbCGqE+pobSEREpBILCgpyr+MXExPDvn373NtSU1PNiiUiIiLiNUpd9Js6dSojR45kzpw5+PqeuKnRtWtXNm7cWJbZRESkDNl3biN3yf8AsAQGEnrn/SYnqroKnQaz16dw7xcHOZxVCECon5Up/WrwdM/qBPqe00B8ESlnv+zL5pd9rgfgqgf7MLRtNZMTiYiIVE4zZ84kJyeHtm3bsn79egB69uzJSy+9xOuvv864ceNo27atySlFREREzFfqu4rbt2+nX79+xfojIyP1VJWIiJcynE4y3nwVDNf0kSE3DcMWFWNuqCrqcKadEV8e5K11KThdfx20rxHAR9fVpd8FIeaGE5ESK3QYTFuV5G4/3DWKABXsRUREPGLWrFnk5uYyduxY2rRpA8BDDz1E165d+eabb6hduzaTJ082OaWIiIiI+Uq9kFNoaCiJiYnUrVu3SP+WLVuIjY0ts2AiIlJ28pZ/i33rZgBsdeoTdNX1Jieqmn74O4vJPx8lq8A1F6DNAnd3jOSO9tWwWbV2n0hFsuDPdPamuaYXa1sjgEtVtBcREfEY49jDiyffiwoKCuK5554zK5KIiIiIVyr148hXXHEFL7/8MomJiVgsFpxOJ+vXr+ell15yL6YsIiLew5mVSeZ7r7vbYfc+gsVXa06Vp1y7k+d/TGDsD0fcBb+aIT68eXVt7u4YqYKfSAWTmutg9voUd3t092gsFv0ci4iIeJL+rRURERE5u1KP9Bs1ahTPPfccvXr1wuFwcMUVV+BwOLjyyisZMWKEJzKKiMh5yPrvHJxprumX/bv3xL/9RSYnqlq2Jubx1NIE9qXb3X2XXhDCk5fEEOpvMzGZiJyrN9cluwv4VzULpUVMgMmJREREKr/LLrvsrIW/tWvXllMaEREREe9U6qKfn58fkyZN4oEHHmD79u1kZ2fTokULGjRo4IF4IiJyPux7/ibnq4Wuhp8/YXc9ZG6gKsRpGHz0Rxqz1iZT6KoNEOhj4bG4GK5sGqonlUUqqB3J+SzakgFAkK+F+ztHmZxIRESkanjooYcIDQ01O4aIiIiIVytx0c/pdPL222+zbNky7HY73bp148EHHyQgQE82i4h4I8MwyHhjGjgdAITcMBRbda29Wh6ScgqZuDyB1Qdy3X0XRvszqV8s9cL9TEwmIufDMAxeiU/C6VpWiDs7RBIdVOpn6EREROQcXHHFFURF6WEbERERkTMp8V2K119/nZkzZ9K9e3f8/f2ZO3cuycnJTJkyxZP5RETkHOX99AP2P38HwFazDsHX3mRyoqrhl33ZTFx+lNQ8h7tvaNsI7rsoCl+bRveJVGTLd2ez7pCrmF87zIebW0eYG0hERKSK0CwZIiIiIiVT4qLf//73P8aPH89NN7luGsfHx3PvvfcyefJkrFarxwKKiEjpOXNyyJwzy90Ou/dhLL4aYeZJ+YVOZqxJ5uPN6e6+6CAbE3rH0qVOkInJRKQs5Bc6mb46yd0e2TUaPxXyRUREyoVhGGZHEBEREakQSlz0O3ToED179nS3u3fvjsVi4ejRo9SoUcMj4URE5NxkzZ+DMyUZAP8ucfh36mZyosptV2oBT/9whB0pBe6+S+oH8UzPWKoF2kxMJiJl5aNNaRzKLASgU61AejYINjmRiIhI1bF161azI4iIiIhUCCUu+jkcDvz9/Yu+2McHu91e5qFEROTcFe7fQ84Xn7gavn6E3v2QuYEqMcMwWLQlg1dWJZFf6Hr62M9m4ZGuUVzfMlzTEIlUEonZhcz5LRUAqwXGdI/Wz7eIiIiIiIiIeJ0SF/0Mw+DJJ5/Ez+/E9HAFBQVMmDCBwMBAd9/MmTPLNqGIiJSYYRhkvPkqOFzryQVfNwSfGrXMDVVJpeU5mPzTUX7ck+3ua1TNj8l9Y2kc5X+GV4pIRTNrbTK5xwr7114Yrp9xEREREREREfFKJS76DRo0qFjf1VdfXaZhRETk/OT/8iMFv68HwFa9JiGDh5icqHJafyiHZ5clcDTb4e67rkU4j3SLIsBH69yKVCZ/Hs3j6+2ZAIT6WRneKdLkRCIiIiIiIiIip1biot+UKVM8mUNERM6TMy+XjHdOjLYOvechLP4ajVKWCh0Gb61P4b0NqRjH+sIDrDzTM1bre4lUQoZhMDU+yd2+t1MkEVqnU0RERERERES8VImLfiIi4t2yF8zFmXQUAL8OXfDvEmdyosrlQIadZ5YeYfPRfHdfp1qBTOwTS/Vg/XMqUhl9uzOLTQl5ADSM8OW6FuEmJxIREREREREROT3dpRQRqQQKD+4je9F8V8PHl7Dhj2CxWMwNVYl8sz2Tf688SrbdNb7PZoURF0VxW9sIrPo+i1RKuXYnM9acGOU3qns0Pjb9vIuIiIiIiIiI91LRT0SkgjMMg4y3XoPCQgCCB92IT626JqeqHLIKnPx7ZSKLd2S6++qE+TKpbywtqweYmExEPG3uxlT3up1x9YLoVldT+IqIiIiIiIiId1PRT0Skgstfs5KC39YAYI2uTvANQ01OVDlsTsjj6WVHOJhR6O67omkoj10cQ7Cf1cRkIuJphzPtzPs9DXCN7B3ZLdrcQCIiIiIiIiIiJaCin4hIBWbk55M5e4a7HXbXg1gDAk1MVPE5nAZzf0/lzXUpOJyuvmA/K0/GxTCgSai54USkXMxYk0y+wzWd742tIqgf4WdyIhERERERERGRs1PRT0SkAsv67EMcRw8D4Ne2I/4X9zI3UAV3NLuQ8csSWHco193Xuro/z/etQe0wXxOTiUh52XA4l+//zgKgWoCNuztUMzmRiIiIiIiIiEjJqOgnIlJBFR45RPanH7oaNhthw0disVjMDVWB/bg7i0k/HSU93zW8z2qBO9pX4+4OkfjY9H0VqQocToOp8Unu9n0XRRLqbzMxkYiIiIiIiIhIyanoJyJSQWW+PQPsBQAEXX09PnUbmBuogsqzO5m2KomFWzLcfdWDfXi+TywdammqVJGq5KvtmWxLygegSZQf/2oeZnIiEREREREREZGSU9FPRKQCyl+3ivw1KwGwRkYRctMdJieqmHYk5/PU0gR2pxa4+3o3DOapHtUJD9DoHpGqJKvAyX/WJrvbY7rHYLNqlK+IiIiIiIiIVBwq+omIVDBGQT4Zb013t0PveABrUJCJiSoewzD4eHM6M9YkU+AwAPD3sTCmezTXNA/TNKkiVdC7v6WQkusAoG+jYDpqpK+IiIiIiIiIVDBeXfSbMWMGM2fOLNLXsGFDlixZYlIiERHzZS/6GMfhgwD4tmxLQM9+JieqWFJzHTz3YwIr9+W4+5pG+TG5bw0aVPMzMZmImGVfegH/3ZQGgJ/NwsNdo80NJCIiIiIiIiJyDry66AfQpEkT5syZ427bbJpuTUSqLsfRBLIWzHU1rDbC7hulUWmlsHp/DhN+TCA5x+Huu7l1OA92icbPpu+jSFU1fVUyhU7X17e2iaBWqK+5gUREREREREREzoHXF/1sNhsxMTFmxxAR8QoZ78yAgnwAgq68Ft8GF5icqGKwOwz+szaZD/5Ic/dFBtp4tld1Lq4XbF4wETHdmgM5/Lw3G4CYIBu3t69mciIRERERERERkXPj9UW/vXv3EhcXh7+/P+3atWPMmDHUqlXL7FgiIuUuf8Ov5Mf/BIA1ohohN99hcqKKYU9aAc8sTWBrUr67r1vdIMb3qk5UkNf/MygiHlToNJgan+RuP9gliiBfq4mJRERERERERETOnVff7WzTpg1TpkyhYcOGJCYmMmvWLIYMGcKXX35JSEjIaV/ncDhwOByn3X6ujh/TE8cWEYHTv88YdjsZb05zt4OHDscIDNL70RkYhsFX27OYuiqZvEIDAF8rPNA5khtahmG1WPT9q+L09y8L/0pnd2oBAK2q+zOgSajJiURERMRbzJgxg5kzZxbpa9iwIUuWLDntaxYvXsz06dM5ePAgDRo04NFHH6Vnz56ejioiIiLi5tVFv5M/GDVv3py2bdvSu3dvFi9ezPXXX3/a123fvt2juTZt2uTR44uI/PN9JuSXZYQf3A9Afp0GHIyoDhs3mpCsYsgphA/3BrI+1c/dFxvg4K5GOdQrTOeP300MJyJeIS3PwZvrUtztMd1jsGqNVBERqWQcRxNwZqSVeH9rWAS26rGeC1TBNGnShDlz5rjbNpvttPv+9ttvjBkzhtGjR9O7d2++/PJLHnjgARYuXEjTpk3LI66IiIiIdxf9/iksLIwGDRqwb9++M+7XtGlTgoKCyvz8DoeDTZs20bp16zN+0BMROVenep9xJCeSsuI71w4WC7Gjn6JOoyYmpvRuG4/k8e8fj3Ik68Qorn81C2Vk10gCNW2fnCQnJ8fjDwqJ95q9LoWMfCcAlzcJpVVsgMmJREREypbjaAKJ990C9oKSv8jXj5g3PlLh7xibzUZMTEyJ9p07dy6XXHIJd999NwAjR44kPj6eDz74gOeee86TMUVERETcKlTRLzs7m/3795/1A5fNZvNoUc7TxxcROfl9JvP9NyEvD4DAAf8ioElzM6N5rUKnwbu/pfDOb6k4XbN5Eupn5ame1enb6PRTQkvVpX/Lq66/U/L57K90AAJ8LDzQJcrkRCIiImXPmZFWuoIfgL0AZ0aain7H7N27l7i4OPz9/WnXrh1jxoyhVq1ap9x348aNDBs2rEhfXFwcP/zww1nP46llajytqi6DUxWv21uv2cDw3LGNk/60eO483vY99da/a0/SNXsRw3M/a4D7HcP1Y+2Zc3nye1rSY3t10e+ll16id+/e1KpVi6NHjzJjxgysVitXXnml2dFERMpF/qYN5P3s+iXREhpO6G33mJzIOx3OtPPMsgR+P5Ln7mtfM4Dn+sRSI8TXxGQi4m0Mw2DaqiQcxz7f39G+GtWDvfojsYiIiJigTZs2TJkyhYYNG5KYmMisWbMYMmQIX375JSEhxR8qTEpKIjo6ukhfVFQUSUlJZz1XRZ99oqoug1MVr9vbrjknJ9jj58jNzfHo8Td66dIt3vZ3XR50zeaLycktl/PkevA8e73gZ9qr73AcOXKE0aNHk5aWRmRkJB07dmTBggVERkaaHU1ExOOMwkIy33zV3Q69/V6soWHmBfJS3+3MZMqKRLIKXNP02SxwT6dIhrWrhs2q9blEpKgVe3NYc8D1Ab9miA+3tIkwN5CIlKlTrV/mcDrxPbQfe2gQTmvRqb61fpmInE7Pnj3dXzdv3py2bdvSu3dvFi9ezPXXX1+m5/LUMjWeVlWXwamK1+2t1xy056DHjm0YroJfYGAQnlz6u10771q+xVv/rj1J1+w915waFOjR4xu4Cn6BQYF46se6Xbt2HjpyyZep8eqi37Rp08yOICJimpyvF1K4dxcAvk0uJLC/RjmfLMfu5OVfEvlyW6a7r1aoD8/3iaVNDc9+SBCRiqnAYfDqqhNP2z/SLZoAH631KVJZnGn9supA2qlepPXLxESG0wmOQgx7IRTaMQrtUFiIUWj/R5+jyDaObT9Vn+s1rj8dSYlmX2KlEhYWRoMGDdi3b98pt0dHRxcb1ZecnFxs9N+pVPRlZCp6/nNVFa/b267Z4rHb9rin9LRYPHseb/p+nszb/q7Lg67ZC3iyws6JKT0tHjyXp5edKwmvLvqJiFRVztRksj5619WwWAi9byQWq25MH7clMY+nlyawL93u7ruscQhPxsUQ4u9FH1ZExKt8vCmN/Rmu9432NQPo09Dz0wGJSPnR+mUCpSmkHSuW/aN45u5zFJ6ykGYUFmLY7cX6sB/bVqQQV1h0n0L7sdce2+5t6+jIGWVnZ7N//35iYmJOub1du3asXr26yLp+8fHxHn3iX0REROSfVPQTEfECRkE+eSuXk7tqBdGHD5Gak4GRkw1AYP8r8GvawuSE3sFpGHz4Rxr/WZtMoWs2T4J8LTweF8PlTUKxePiJIBGpuJJzCnnntxTA9VTfmO4xes8QESkhw+k8TXHrpD5H4dkLaf8siNntZy6SnbKQdqZCXCE4VUiTsvHSSy/Ru3dvatWqxdGjR5kxYwZWq5Urr3TNwPL4448TGxvLmDFjABg6dCi33XYb7777Lj179uSbb75h8+bNPPfcc2ZehoiIiFQxKvqJiJgsb81K0qdNxsjOAosFf8PAedJ2v1btzIrmVZKyC5nwY4J7LS6AC2P8mdw3lrrhfiYmE5GK4PVfU8i2u6by+FfzMJpF+5ucSESqOsPhcI1IO1Mh7RSjxIr2lbCQZv9H0eyffUVGxqmQViasNvDxweLri8XHB3xO+tP32J82n1Ps4+vuw8fnRNvH95R9+B770+aDxf061/EKjxwmY/oLZn8nKqwjR44wevRo0tLSiIyMpGPHjixYsIDIyEgADh8+jPWk2Vg6dOjAyy+/zKuvvsorr7xCgwYNmDVrFk2bNjXrEkRERKQKUtFPRMREeWtWkjZ53ImOY3NLnyx92mQsQcEEdIkrx2TeZeXebCb+mEBanqscagGGtotgeKcofG0aqSMiZ7Y1MY8vtmYAEOxnZUTnSJMTiYg3yd/0G4WHD/6juHZiGshifcdHtJ2tkPaPUW//LMThdJ49nBRVkkLayUUyHx8otm/JC2mnLK75+LiKdf8o1BU5l80Hixesj2MJ0DrX52PatGln3D5v3rxifQMHDmTgwIGeiiQiIiJyVir6iYiYxCjIJ33a5GON4sW+k6W/+gL+7y/C4le1RqbkFzqZsSaZjzenu/uig2xM7B1L5zpBJiYTkYrCMAymxidx/F32no7ViAzUR2CRis6w23GmpeBITcaZmoIzJRn7ru3ndKysd/9TxukqGJut6OiyYyPGSldI8z1FIa6UhTQfX/c5i/b5eFUhTURERETEm+mOh4iISfJWLndN6Xk2hoGRlUneLz8S2PsyzwfzEn+n5PP00gR2phS4+3rUD+aZntWJCNQNHxEpmR92ZbHxSB4A9cJ9uaFlhLmBROS0DMPAyM7CmZqM41ghz5mWjCPlWGEvzdXnSE3ByEw/+wHN9M9Cms9pRqbZSltIO0MhrlSFtJPOf9L0hCIiIiIiUrGp6CciYpK81SvBYgWjBFM7WazkrVpRJYp+hmHw2V8ZvLoqiXyHa2yOv83CI92iua5FGBaLpvMUkZLJK3Ty2upkd3tUt2hNCSxex3E0AWdGWon3t4ZFYKse67lAHmAUFroKdqnHR+Ylu4t3zmMj9Y6P2MNecPYDlrHAK67Fp0bN4oW0UxTXiqyfpkKaiIiIiIh4GRX9RERM4sxML1nBD8BwYmRmeDaQF0jLczD5p6P8uCfb3XdBpB+T+sbSOLJqTW0qIufvg9/TOJJVCEDXOkFcXE/TAot3cRxNIPG+W0pX6PL1I+aNj0wv/BmGgZGT7SrepaW4C3nOtJQTI/NSk3GkJmNklOGoPF8/bNWisEZGYa0WiTUiEtuxr515eWS9PaPUhwzqdzm+jZuVXUYRL2ENiwBfv1K/x1jDIjwVSUREREQ8TEU/EZFyZtjt5P74Hfad20r+IosVS2iY50J5gXUHc3h2WQKJOQ533/Utw3m4axQBPnpaXkRKJyGrkPc3pgJgs8Do7tEaKSxex5mRVvqRbfYCnBlpHiv6GY5CnGmprtF3KUnu4p1rNN7xr12j9CjIL7PzWkLD3cU7a7UobMf+dP0X6Sr0VYvEEhxy2p9l+85tlGDidJEqw1Y9lpg3Pqr0o4lFRERE5AQV/UREyomRn0/O91+R/dlHOJOOlvLFTgK6XeKZYCYrdBi8uS6F9zemYhzrCw+w8mzPWHo0CDY1m4g3mjFjBjNnzizS17BhQ5YsWQJAfn4+L774It988w0FBQXExcUxfvx4oqOj3fsfOnSICRMmsGbNGoKCgrjmmmsYM2YMPj6V56PhzDVJ5BW63lWuaxlOw2p+JicSMY9hGBi5OSem1Ty2Nl6R6TaPF/Qy0sEwzn7QkvD1K1KwO/G1a6SeLSLSNWIvvJpr3TsRKXO26rEq4omIiIhUIZXnzo6IiJdy5uSQu+Rzshd9jDMtpehGmw0cjlO/8DiLBUtwCAEX9/JYRrMcSLfz9LIj/Hn0xEiBzrUDmdA7lphg/RMlcjpNmjRhzpw57rbNZnN//cILL/DTTz/x6quvEhoayvPPP8+DDz7I/PnzAXA4HAwfPpzo6Gjmz5/P0aNHeeKJJ/D19WX06NHlfi2e8MeRXJbsdI33CQ+wcm+nSJMTiXiGa1RemqtYd4ppNU8U81Iw8vPK7LyW0LCTCnnHRuJFRmGNOOnralFnHJUnIiIiIiIiZU93VEVEPMSZmUHOV5+R/cUnGFmZRbb5X9Sd4BuG4sxII23SWFfnqZ6qP3ajLHzUU1j8Kteadt9sz+CllYnk2F3XbbPCAxdFMaRtBFbdIBQ5I5vNRkxMTLH+zMxMPvvsM15++WW6desGuIqAl19+ORs3bqRdu3asXLmSnTt3MmfOHKKjo7nwwgt55JFHePnll3nwwQfx86vYI+KchsHU+CR3e3inKML8bWd4hUjFk/Z/E1zr6aWnld2oPB/fk4p3x6bYPP515ElTbEZUw+Lrne8TWr9MRERERESqOhX9RETKmCM1hZz/LSDnm4UYubknNlgsBHTvRfANt+HbqIm7O+KpF0h/9QVXYdBicd28O/anJTiE8FFPEdD5YhOuxDOyCpy8tOKoexQOQN0wXyb1i6VFTICJyUQqjr179xIXF4e/vz/t2rVjzJgx1KpVi82bN2O32+nevbt73wsuuIBatWq5i34bN26kadOmRab7jIuLY8KECezcuZMWLVqYcUll5pvtmfyV6Bo9fEGkH4MurNzroUrV5Dh0oMT7WkLDXNNoVjtWvIuIOmntvBPTbVpCQiv8qLzTrV/mcDrZvm0bTZs1w2Ytuk6w1i8TEREREZHKREU/EZEy4khMIHvhf8n57ksoOOkJc6uNgF79CbnuVnzq1i/2uoAucfi/v4i8X34kN/5nMo4cIqxGLQK79yDg4l6VaoTfpoQ8nl56hEOZhe6+K5uG8ujFMQT7Wc/wShE5rk2bNkyZMoWGDRuSmJjIrFmzGDJkCF9++SVJSUn4+voSFla00BUVFUViYiIASUlJRQp+gLt9fJ/TcTgcOM42JfE5OH7M8z12doGTWWuT3e2RXSKxGM6zzqIsYpZz/n/eZjs2reaJ4p31eGHv5Gk3SzgqzwAMp/PcsnibqGisUUXf4wyHA3tmDtYGF2C1FR/564n3NZGqTD9TIiIiIuZR0U9E5DwVHjpA9mcfkrtsCRSeKGbh40tg/8sJvvYWfGrUOuMxLH7+BPa+DL8e/di9cSN127UrskZXRedwGry/MZW31qXgODYLWbCflXGXxHBp41Bzw4lUMD179nR/3bx5c9q2bUvv3r1ZvHgxAQGeHS27fft2jx5/06ZN5/X6zw/4k5Tj+h60jbDjm7iNjWeuY4qYwpaWStDvvxK0Pv6cfiE7etcj2GvVO/0OOQWQcxgOHj7njJXR+b7HiIiIiIiIeDsV/UREzpF9726yP5lH3oqlcNLT8Rb/AAIHXE3woJux/eNJ86ooIauQ8csTWH/oxFSnbWIDeL5vLLVCfU1MJlI5hIWF0aBBA/bt20f37t2x2+1kZGQUGe2XnJzsXgMwOjqaP/74o8gxkpJca+Cdap3AkzVt2pSgoKAyvgLXiIBNmzbRunXrc37g4WCGnaW/uaY89LXCM5c2pE6Y3mPEexh5ueSvWkHe8iXYN204r7X4mjZrju8FTcswXeVWFu8xIlJyOTk5Hn9QSEREREROTUU/EZFSsu/cRtaCueSv+rlIvyUomKArBxN89XVYw6uZlM67LN+dxaSfjpKR7yqKWi1wZ/tq3NUxEh9rxV43SMRbZGdns3//fmJiYmjVqhW+vr6sWrWKyy67DIBdu3Zx6NAh2rVrB0C7du144403SE5OJioqCoD4+HhCQkJo3LjxGc9ls9k8esP8fI4/89ej2I89f3FzmwjqV9MaoWI+wzCw//UHuUsXk7dyWdG1fs+DzWpV8eocePo9TERc9HMmIiIiYh4V/URESqjgz9/JWjCXgt/WFum3hIYT/K8bCLpiENYQTVUJkGd3Mm1VEgu3ZLj7YkN8eL5PLO1rBpqYTKTie+mll+jduze1atXi6NGjzJgxA6vVypVXXkloaCiDBw/mxRdfJDw8nJCQECZNmkT79u3dRb+4uDgaN27M448/zmOPPUZiYiKvvvoqQ4YMwc/v7Gt/eaN1B3NYvjsbgKggG3e2jzQ5kVR1hQmHyVu2hNxlS3AcOVRsu61mHQL7DsSnURPSnnvchIQiIiIiIiJSGanoJyJyBoZhULDhV7IWzMX+5+9FtlkjowkedBOBA67GGqBC1nHbk/N56ocj7Emzu/v6NgpmXI/qhPnrqV+R83XkyBFGjx5NWloakZGRdOzYkQULFhAZ6Sp0jRs3DqvVysMPP0xBQQFxcXGMHz/e/XqbzcYbb7zBhAkTuPHGGwkMDGTQoEE8/PDDZl3SeSl0GrwSn+Ru339RFMF+VhMTSVXlzM0hP/4ncpcupmDThmLbLUHBBFzSh8A+A/C9sDUWiwX7zm0mJBUREREREZHKSkU/EZFTMJxO8tf+QtbHcyncubXINlv1mgRfN4TAfgOx+FbMUTGeYBgG8zenM2N1knuKvQAfC49eHMPVzUKxWDSdp0hZmDZt2hm3+/v7M378+CKFvn+qXbs2s2fPLutopvjf1gx2pBQAcGG0P1c204hrKT+G00nBn7+Tt3Qxeb/8iJH3j+k7LRb82nYisO9AArpegiWg6LSz1rAI8PUDe0HJT+rr53qdiIiIiIiIyD+o6CcichLD4SBv5XKyP5lH4d5dRbbZ6tQn5PpbCejRD4uP3j5PlpJbyMTlR4nfn+Puaxrlx+S+NWhQTYVREfGMjHwHr/+a7G6PuTgaqx4wkHJQeOQQucuWkLd0CY6jh4ttt9WuS2DfgQT2uhRbTOxpj2OrHkvMGx/hzEgr8bmtYRHYqp/+mCIiIiIiIlJ16a61iAhg2O3kLv+W7E8/xHH4QJFtPg0bE3LDUPy79cCiRemLWbU/mwnLj5KS63D33dImggc6R+Fn0813EfGct9enkJ7nGlp8WeMQ2tbQVMviOc6cHPLil5P7w+JiU34DWIJDCLikL4F9B+LbrEWJR7jbqseqiCciIiIiIkUkjbrbcwc3DGJyckkNCgQPPjgbPe1tjx1bTk9FPxGp0oz8fHK+/4rszz7CmXS0yDbfZi0JvnEo/p26aWrKUyhwGMxam8xHf6S5+yIDbUzoXZ1udYPNCyYiVcKe1AIW/JkOgL+PhQe7RJmcSCojw+mkYNMGcpcuJj/+J4z8vKI7WK34tbuIwH4DCegch8Xf35ygIiIiIiIiIqjoJyJVlDMnh9wln5O96GOcaSlFtvm16UDwDUPxa9NBxb7T2JNWwNNLE9iWlO/u6143iPG9qxMZqH9aRMTzpq1KwnFs/dDb21ajRoivuYGkUik8dIDcZUvIXbYEZ2JCse22OvVd03f2vhRbVIwJCUVERERERESK051ZEalSnJkZ5Hz1GdlffIKRlVlkm/9F3V3FvuYtTUrn/QzD4H9bM5gan0ReoQGArxUe6hrNTa3CVSQVkXLxy75s9xqisSE+3NY2wtxAUik4c7LJW7GM3GVLsP/1R7HtluAQAnr0I7DfQHybXKh/80RERERERMTrqOgnIlWCIzWFnP99TM43izByc09ssFgI6N6L4Btuw7dRE/MCVgAZ+Q5e+PkoS3dlu/saRPgyuV8NmkZpOjMRKR+FDoNpq5Lc7Ye7RBHgazUxkVRkhsNxbPrOb8iL/xkK8ovuYLXi36EzgX0vx79zdyx++vdOREREREREvJeKfiJSqTkSE8he+F9yvvsSCgpObLDaCOjVn5DrbsWnbn3zAlYQGw7n8syyBBKyCt19gy4MY3S3aN1sF5FyteDPdPam2QFoWyOA/heEmJxIKqLCg/vIXbqE3OXfFlvTF8CnXkMC+w4koFd/bJHRJiQUERERERERKT0V/USkUio8dIDsTz8gd/m3UHiiUIWPL4H9Lyf42lvwqVHLvIAVRKHT4J31Kby7IRWnazZPwvytPNWjOn0a6Ua7iJSv1FwHs9e71mG1AGO6R2uKRSkxZ1YmeSuXk7t0Mfatm4ttt4SGEdizH4F9BuLTuJn+3xIREREREZEKR0U/EalU7Ht3k/3JPPJWLAWn091v8Q8gcOC/CL7mJmxRemK/JA5l2nlmaQJ/JOS5+zrUDGBin1hqhPiamExEqqo3fk0mq8D13n5ls1AujAkwOZF4O8PhoOD3deQuXUze6hVFR/0DWG34d+xCYN+Bruk7ff3MCSoiIiIiIiJSBlT0E5FKwb5jK1kL5pK/ekWRfktQMEFXDib46uuxhkeYE64C+m5nJlNWJLpvrtssMLxTJEPbVcNm1cgHESl/25Pz+XxrBgBBvhbu7xxlciLxZoX795K7bDG5y77FmZJUbLtPg0au6Tt7XoqtWqQJCUVERERERETKnop+IlKhFfz5O1kL5lLw29oi/ZbQcIL/dQNBVwzCGhJqUrqKJ7vAycu/JPLV9kx3X61QHyb1rUHrWI2oERFzGIbBK/FJ7mmG7+oQSXSQPsZKUc6sTPJWLHVN37ntr2LbLaHhBPbqT2Dfgfg0aqLpO0VERERERKTS0d0SEalwDMOgYMOvZC2Yi/3P34tss0ZGEzzoJgIHXI01INCkhBXTX4l5PP1DAvsz7O6+yxqH8GRcDCH+NhOTiUhVt3x3NusP5QJQJ8yXm1pHmBtIvIbhKKRgw7HpO9esBPs/pu+02fDv1M01fWenblh8NT21iIiIiIiIVF4q+olIhWE4neSvWUnWgnkU7txaZJutek2CrxtCYL+BWo+nlJyGwQe/p/GfX5NxHFsGMcjXwhNxMVzeNMzccCJS5eUXOpm++sT0jCO7ReFn0witqs6+dzd5yxaT++N3OFOSi233adSEwD4DCOjZH1tENRMSioiIiIiIiJQ/Ff1ExOsZDgd5K5eT/ck8CvfuKrLNVqc+IdffSkCPflh89JZWWknZhYxfnsDag7nuvpbV/ZnUpwZ1wjUaQkTM99GmNA5lFgJwUe1AetQPNjmRmMWZmUHuzz+Qt3QJ9h1bim23hkcQ0NM1fadvoyYmJBQRERERERExl+6Qi4jXMux2cpd/S/anH+I4fKDINp+GjQm5YSj+3XpgsWnqyXPx855snv8pgbQ81/A+C3B7u2oM7xSJj0bRiIgXSMwuZM5vqQBYLTC6e7TWYatiDEch+b+tJXfpYvLX/AKF9qI7+Pjgf1F31/SdHbvqASARERERERGp0vRbsYh4HSM/n5zvvyL7s49wJh0tss23WUuCbxzqWpdHN37PSV6hkxmrk1nwZ7q7LybIxsQ+sVxUO8jEZCIiRc1am0xuoQHAtReG0zjS3+REUl7se/4md+kS8n78DmdaSrHtPhc0JbDvQAJ79MMaHlH+AUVERERERES8kIp+IuI1nDk55CxeRM7nC4rd4PNr04HgG4bi16aDin3nYWdKPk8vTeDvlAJ3X88GwTzdszoRARoxKSLe48+jeXy9PROAMH8rwy+KNDmReJozPY3cn38gd+liCv/eXmy7NaIaAb0uJbDPAHwbNjYhoYiIiIiIiIh3U9FPREznzMwg56vPyP7iE4yszCLb/C/q7ir2NW9pUrrKwTAMPv0rg+mrksh3uEbN+NssjOoezbUXhqmQKiJexTAMpv6S6G7f0zFSDyZUUkZhIfnrV7um7/w1HgoLi+7g44t/52PTd3boouk7RURERERERM5AvzWLiGkcqSnk/O9jcr5ZhJGbe2KDxUJA914E33Abvo2amBewkkjLdfD8T0f5eW+2u69xpB+T+sZygabKExEvtGRnFpuO5gPQMMKX61qEm5xIypp9905yly52Td+ZnlZsu0/j5gT2G0jgJX2xhunvX0RERERERKQkVPQTkXLnSEwge+F/yfnuSyg4Mc0kVhsBvfoTct2t+NStb17ASuTXgzmMX5ZAYo7D3Xdjq3Ae6hKFv4/VxGQiIqeWa3cyc02Suz2qezQ+No1Grgyc6ank/nRs+s5dO4ptt1aLJLD3ZQT0GYhv/YYmJBQRERERERGp2FT0E5FyU3joANmffkDu8m+LTt/l40tg/8sJvvYWfGrUMi9gJVLoMHh9XTLzNqZhHOuLCLDybK9YLqkfbGo2EZEzeX9jKkezXQ8qxNULoltdvWdVZIbdTv66Va7pO9etAoej6A4+vgR0vYTAvgPwa38RFpt+PRERERERERE5V/qtWkQ8zr53N9mfzCNvxVJwOt39Fv8AAgf+i+BrbsIWFW1iwsplf3oBTy9N4K/EfHdflzqBTOgVS3Sw3vZFxFxHMu2k5RUt/DicTvZlW8nam83cjakA2CxwdbMwjmTaqRHqa0ZUOUeGYVC4awe5SxeT+9P3GBnpxfbxbdaCwD4DCLikL9bQMBNSioiIiIiIiFQ+uvsrIqVmFOSTt3I5eatXYmSmYwkNJ6BrHAFxvbH4nVgjzr5jK1kL5pK/ekWR11uCggm6cjDBV1+PNTyinNNXXoZh8M2OTP69MpEcu2t8n48V7u8cxZA2EVgtmh5PRMx1JNPO4I/3UeAwTrE1FLYcdbccBjz+/RH8bBY+u7GeCn8VgCM1hbyfvnNN37lnV7Ht1shoAntfRmDfAfjUbVD+AUVEREREREQqORX9RKRU8tasJH3aZIzsLLBYwXCCxUr+qp/IeGs64aOfxhocQtaCuRT8trbIay2h4QT/6waCrhiENSTUpCuonLLyHby4MpFvd2a5++qF+zKpbywXxgSYmExE5IS0PMdpCn6nV+AwSMtzqOjnpQx7Aflr48ldtoT8davB+Y/pO/38jk3fORC/tp2w2GzmBBURERERERGpAlT0E5ESy1uzkrTJ4050GM4ifxrZWaQ9/2Sx11kjowkedBOBA67GGhBYHlGrlD+O5PLMsgQOZZ5YJ/GqZqE8enEMQb5WE5OJiEhlZBgGhX9vJ3fpN+T+9ANGZkaxfXybtyKw70AC4nrrQR8RERERERGRcqKin4iUiFGQT/q0yccaJRulYatek+DrhhDYbyAWXz8PpquaHE6D9zamMntdCscHzoT4WRl7SQyXNtYNVhERKVuOlCTyfvzeNX3nvt3Ftlujq7um7+wzAJ869UxIKCIiIiIiIlK1qegnIiWSt3K5a0rPEgoccDVhw0dh8dHbjCccybLz7LIENhzOc/e1rRHAc31iqaUp8EREpIwYBfmu6TuXfkP+b7+eevrO7j0J7DMQvzYdNH2niIiIiIiIiIl0N15ETstwOnEkHKZw326yPvuw5C+0WHCmp6vg5yHLdmUx+eejZOS7plW1WuDuDpHc0aEaPlaLyelERKSiMwwD+44t5P6wmLwVSzGyMovt49uiDYF9Brim7wwOMSGliIiIiIiIiPyT7siLiKu4d/QIhft2U7hvz7E/d1O4fy8U5J/DAY1Tru8j5yfX7uSV+CQ+33rie1sjxIfn+8TSrqbWShQRkfPjSE4i98dvyV26GMf+vcW2W6OrE9h3IIF9LsOnVl0TEoqIiJSfN998k++++45du3YREBBA+/btefTRR2nUqNFpX7Nw4ULGjh1bpM/Pz49NmzZ5Oq6IiIgIoKKfSJViGAbOxAR3Uc++11XkcxzYi5GXW3YnslixhIaV3fGEbUn5PL30CHvS7O6+fo1CGNsjhjB/TaUmIiLnxijIJ2/NSnJ/WEzBxl/B6Sy6g58/ARf3IrDvAPxad8BitZoTVEREpJytXbuWIUOG0Lp1axwOB6+88gp33XUXX3/9NUFBQad9XUhICEuWLHG3LRbNxiIiIiLlR0U/kUrIMAycSUeLjtrbt5vC/XswcktY3LNYsNWojU+9BvjUa4gzK5PcxZ+XMICTgG6XnHP+qii/0MnSXVks353FoaRgaiUl0LthCL0bBrNoSyYz1yRhP3YfNsDHwmMXx3BVs1D9AikiIqVmGAb2bX+Ru/TY9J2nWLPXt2VbAvsOJODiXliDgk1IKSIiYq533nmnSPvFF1+kW7du/Pnnn1x00UWnfZ3FYiEmJsbT8UREREROSUU/kQrMMAycKUkU7j2psLdvj6u4l5NdsoNYLNhq1MKnXkN3gc+nXkN8atfD4u9/4lwF+eT9/IPruIZxxuNZgkMIuLjX+V1cFfLTnmwmLk8gs8CJFXDiw86sHH7ck8NzP4LjpG9382h/nu8bS4MIP7PiiohIBeVIOkru8mPTdx7cX2y7rXpNAvpcRmCfAfjUrG1CQhEREe+Vmela4zY8PPyM++Xk5NC7d2+cTictWrRg9OjRNGnS5IyvcTgcOByOMstaXo5nrojZz0dVvG5vvWaDM9yfOt9jGyf9afHcebzte+qtf9ee5LXXfKb7r+d76JP+tHjwPKX+nnowC5TPdXvy/6OSHltFP5EKwDAMnKnJxUfu7dtzyqfzT8cWW/NEUe94ga9OfSwBAWd9rcXPn/DRT5M2aSxYLKd+Ez426ix81FNY/PyLb5diftqTzWPfHna3nf/48+SC361tIhjROQo/m0b3iYhIyRh5eeStXkHussUUbFxX7N9vS0Ag/t17EtjvcvxattX0nSIiIqfgdDp54YUX6NChA02bNj3tfg0bNuSFF16gWbNmZGZm8u6773LTTTfx9ddfU6NGjdO+bvv27Z6IXW6q6pqFVfG6ve2ac3I8PyNFbm6OR4+/ceNGjx7/XHnb33V58LZrjskpw6WYTiPXw+fYW8r/v8vjmsGz113aa/YEFf1EvIhhGDjTUlwFvb17ik7LmZVZ4uNYq9fA9+RRe/UaYqtbH2tA4HnlC+h8MRFPvUD6qy+48lisYDjdf1qCQwgf9RQBnS8+r/NUFfmFTiYuTwA467NpgT4W7rsoUgU/ERE5K8MwsG/ZRO6yJeStWHbK0f9+rdsT2Hcg/t17Yg08/bpEIiIiAhMnTmTHjh189NFHZ9yvffv2tG/fvkj78ssvZ/78+YwcOfK0r2vatOkZ1wn0Vg6Hg02bNtG6dWtstqqz1nxVvG5vveagPQc9dmzDcBX8AgOD8OTKKu3anXkkcHnz1r9rT/LWa04NOr/7uGdi4Cp8BQYF4n5753oAAGUpSURBVMk7je3atSvV/p68Ziif6y7tNZdGTk5OiR4UUtFPxCSOtNRio/YK9+3GyMwo8TGs0dVPFPbqHx+51wCrB39ZCOgSh//7i8j75UfyVq3AyMzAEhpGQLdLCLi4l0b4lcLSXVlkFjjPviOQW2iwdFc2lzcN9XAqERHPiQiw4WezUOAo+TQafjYLEQHe84uXN3McTXBN37lsMY5DB4ptt8XWdK3T1/syfGrUMiGhiIhIxfPcc8/x448/8sEHH5xxtN6p+Pr6cuGFF7Jv374z7mez2bzqRnNpVfT856oqXre3XbPFk+WKY1N6WiyePY83fT9P5m1/1+XB667Zg9Xm41NbWjx8nlJ/Pz1ZYad8rtuT/w+V9Ngq+ol4mDM9rUhRz36syGdkpJf4GNaomKLr7R2bntMa5PlpDE7F4udPYO/LCOx9mSnnr8gMw+BgRiF/Jebx9vrUEr/OCvy4J0tFPxGp0GqE+vLZjfVIyys6D73D6WT7tm00bdYM2z+ml4wIsFEj1Lc8Y1Yozrxc8lf9TO7SxRT88Vvx6TsDAwmI60NgnwH4tmij6TtFRERKyDAMnn/+eb7//nvmzZtH3bp1S30Mh8PB9u3b6dmzpwcSioiIiBSnop9IGXFmZpxy5J4zrRSFncjok9bbO1bkq9sAa4gKPRVVYrarwPfX0Xz+SsxjS2I+6fklG913MieQnudlCwqLiJyDGqG+xYp4DoeDvANOmkf7e9eTlV7KMAzsf/1B7tLF5K1cjnGKdUb82nQ4MX3neU7vLSIiUhVNnDiRr776iv/85z8EBweTmJgIQGhoKAEBAQA8/vjjxMbGMmbMGABmzpxJu3btqF+/PhkZGbzzzjscOnSI66+/3rTrEBERkapFRT+RUnJmZRYp6h3/z5maUuJjWKtFFhu151OvoYp7FVxanoMtiXn8lZjvLvIl5ZRNoc4KhGt6OxGRKs1x9Ai5y5aQu2wJjsPF1y+x1axNYN+BBPa+DFv10k0/JiIiIkX997//BeC2224r0j9lyhSuvfZaAA4fPoz1pFH0GRkZPPPMMyQmJhIeHk7Lli2ZP38+jRs3Lr/gIiIiUqWp6CdyGs7srH8U946N3EtJKvExrBHVihT1jv9nDQ3zYHIpD9kFTrYm5RcZxXcos/Csr4sMtNEixp8LY/zJLnDy0aaSTfPqBHo1CDnP1CIiUtE4c3OKTt/5D5bAIAIu6UNg34H4Xtgai4fXQBAREakqtm3bdtZ95s2bV6Q9btw4xo0b56lIIiIiImelop9Uec6c7GKj9gr37cGZnFjiY1jCwvGp1xDff47cC4/wXHApN/mFTnYkF7gKfIn5/HU0jz1pdoyzvC7Ez8qFxwp8LWMCaBHjT2yIj/uGbH6hky+3ZZJV4DzjsSzHjtW3kTlrOIqISPkynE7+v737Dm+yXv84/k7SdNBSLKtSVhlSNgVBBEFkiAz1MLUsqYCIrB+yFdkgQ0DWAeFQlCWILFERFQeiIuhRD0PKKJsilLJaOpM8vz9KIxUQlKZt2s/rurxKk6dPvh9a0sfcue9v6v7/pY3v/O5rjKTEjAeYTHjWqI1P05Z4P9wQ0/URYyIiIiIiIiKSt6noJ3mGIzEB26nrxb0TfxT5HBfO3/U5TPn9b9m5Z7kvwIUrl6xkcxgcvZTCb+fTCnwHYpI5fDEZ+x224fPyMFGxsBeVCntRuWhaga9kASvmv+i48PIwM65xIEM/PYsJbln4S//qcY0D8fIw3+IIERHJLWy/R5P45VaSvtiK/fzZm+63FC+JT5MWaeM7iwRmwwpFREREREREJCdT0U9yHUdSIvZTJzJ07qWePI7j/O93fQ6Tr1/GPfdKX+/cu6+gxmblIg7D4OSVVH47n+zci+9gbDLJtr/u4bOY4YGCXlQu8keBr0yAJx7mv/+z8WiwL288UYzxX50jLsWBmbRRnukf/TzTCoOPBqvLT0QkN3IkJJD0/VckbvuE1P3/u+l+Uz5fvBs2xadZS6whVXQdIiIiIiIiIiK3paKfuC0jKQnb6RN/2nfvGPbzv4Nxp8GLadKKexm79jxKBmMuWEgvquUyhmHwe7wtbTzn9X34Ii8kE5/y1y18JiA4wDOtwFfEiypFvSlf0DNTu+4aBfvySbdgvjh6ja+OxREde5WgQv40LpOfpmV91eEnIpLLGA4HKXt/IfHLrSR/9zVGclLGA8xmPEOvj++s2xCTl1f2LFRERERERERE3IqKfpLjGSnJ2E6fzLDfnu3kMey/R999cc8n381jOUuXwVywsIp7uVRsgu36eM70ffiSuZRkv+PXFff3oPL1/fcqF/EmpLAXvp6uL7p5eZhpVSE/T5TLx6+/niU09AEsFovLH1dERLKOLfo0iV9uJfHLrThizt10v6VEaXyatsSncXMshYpkwwpFRERERERExJ2p6Cc5hpGacr24dzzDaE7779HguMOGateZfHzwKPmnzr1SwZgLF1VxLxeLS7Y799/77XqR71y87Y5fVySfxTmes1IRLyoV8eY+bxXaREQk8zgSrpH07VckfvEJqb/tuel+k68f3o82w6dpC6wVKut6RURERERERET+MRX9JMsZqanYzpy8eSzn2TN3X9zz8sZSMhiPUsFYS/9R4DMXCdSLZblcYqqDQ7HJ7D+fVuA7EJPMySupd/y6Al5mKqV38BVN6+Ir4qunQBERyXyG3Z42vvOLLSR9/w2kJGc8wGzGq9ZDeDdpiXfdRzB5anyniIiIiIjIrVx4uZdrH8AwKJKQyKV8PuCi15ULv7nEJecVuRW94i0uY9hs2M6cytC1Zzt5HHv0aXDcecwiAJ5eeJQsnaFrz6NUGSxF78dk1j5nuV2q3eDIxeTr4znTOviOXkrBcYeprvmsJioW9rqhyOdN8fweKgiLiIhL2c6cJPGLrSR+9SmOC+dvut+jZDA+zVri3ag5lkKFs2GFIiIiIiIiIpKbqegn98yw2bCfPf1H596J6wW+6FNgv9viniceJUrftO+eJbCYins5ULLNwRdH4/n6+DWuJNkp4G3hsWBfmpb1w8vjn32/7A6D45dTnPvv/RaTxOHYZFLv0PxpNUOFwl5/7MNX1JvSBaxYzCrwiYiI6zmuxZO040sSv/yE1AP7brrf5Jcfn0aP49O0JR7lQ/QGFBERERERERFxGRX95K4Zdhv2s9E3de7ZzpwE2533TwPA6olHiVK3Lu5ZtJeaO9h+/BrjvzpHXIoDM+AAzMBXx64x47sLjGscyKPBvn95DsMwOHPVxm8xSeyPSebA+SQiLySTaPvrFj6LCcoGeDr34atcxItyBb2wWvQCqoiIZB3Dbiflfz+R+MVWkn74BlJSMh5gtuD1YF18mrbE66H6mKye2bNQEREREREREclTVPSTmxh2O/Zz0dc79v7Yc892+iTY7rx3GgAeVjxKlLxhLGdakc9yfxAmi37s3NX249cY9ulZ5+eOP32MT3Ew9NOzvPFEMRrdUPg7f83mHM+Zvg/f1eQ7799YqoDV2b1XuYgXIYW88Laq81NE8rZFixbx2WefcfToUby9valZsyZDhw6lbNmyzmO6devG7t27M3zds88+y4QJE5yfR0dHM27cOHbt2kW+fPlo06YNQ4YMwcNDv6dvx3bqBIlffkLiV5/hiI256X6P0mWvj+98HEtAoWxYoYiIiIiIiIjkZXpVJw9LK+6d/aOod+p4WpHv9Imb37F+Ox4eeASVvLlzL6i4inu5TLLNwfivzgFwu348AzABo7/4nc7V7+NwbAq/xSRxIeHOY17v9/PIUOCrWNiL/F7q/hQR+bPdu3fTpUsXqlWrht1uZ9asWfTs2ZOPP/6YfPnyOY975plnGDhwoPNzHx8f55/tdjsvvvgihQsXZs2aNZw/f54RI0ZgtVoZPHhwlubJ6RzxcSTt+ILELz4h9eBvN91vyl8An0bN0sZ3lqug8Z0iIiIiIiIikm1UlckDDIcD+/nf0wp7J45l7NxLSb67k1gsWIJKOIt61vTOvaCSmNQRkCd8cTSeuJQ7d+cZQKLNIOLnS7c9pqCP5fp4Tm8qFfGiclEvCvro50hE5G5ERERk+Hzq1KnUq1eP/fv3U6dOHeft3t7eFClS5Jbn+Pbbbzly5Ahvv/02hQsXplKlSvzf//0fM2bMoH///nh65u1xlIbdRsovP5H45Sck/fAtpP7pzVAWC16166WN76xdD5PVmj0LFRERERERERG5gV5lz0UMhwN7zLmM++2dPIb91AmM5KS7O4nZgqVY8T8690pfH80ZVFIvaOVSqXaDq8l2riY7bv6Y9Mfnu88k/qPz+3ma0wp714t8lYt4EejnoU4IEZFMEhcXB0CBAgUy3P7hhx+yefNmihQpQuPGjenbt6+z2+/XX3+lQoUKFC5c2Hl8gwYNGDduHEeOHKFy5cq3fCy73Y7dfufu7b8r/ZyuOPffYTt1nKQvPyX5689wXIq96X5LcDm8m7TA+9FmmO8LAK6PuM7mdYvIX8spzzEieYX+rYmIiIhkHxX93JBhGDhizt9Q3Lte4Dt1HCPpLgszZvMNxb0bRnMWL4nJmrff3e+ODMMgIfWP4t2VJDtxKWkfryY7iEu2c+V68S4u2cGVG4p6ibbbDeu8N8H3WZnxRDFKFrBiVoFPRMQlHA4Hr7/+OrVq1aJChQrO25988kmCgoIoWrQoBw8eZMaMGRw7doz58+cDcOHChQwFP8D5eUzMzXvVpTt06JALUvxh7969Lj3/rZgSrpFv3y/k+3U3ntEnb7rfns+XxOq1SahRh9RiJdJuPH4COJG1CxWRe5YdzzEiIiIiIiJZSUW/HMwwDByxMTd17tlOHsdITLi7k5hMWO4vnmG/PY/S14t7nl6uDSB/m81ucDXlz1126Z13f/o8yc7VFAdXkxxcTbFjv/PkzSxjBsoEeFL6PhWQRURcafz48Rw+fJh33303w+3PPvus888hISEUKVKE8PBwTp48SalSpf7x41WoUCHDvoGZxW63s3fvXqpVq4bF4vr9XNPGd/5I0pdbSdn9PdhSMx5gseBZux7eTVrgWauuph2IuLmsfo4RyesSEhJc/kYhEREREbk1Ff3ugpGSTNK3X5G4cweFz0ZzpVgQPvUa4t2gcaYUzgzDwHEx9tade9fi7+4kJhOWwGIZu/ZKlcGjRGlMXiruZSXDMEi0GVxNSuuui0vvvruxyy7JQVyKnStJf4zSjEu2cy3VNV13f+ZhhgLeFvw9zfh7W/D3MuPv9Rcfvc3sOp3A9G8v3NX5HcBjwX6uDSEiksdNmDCBr7/+mpUrV3L//ff/5bE1atQA4MSJE5QqVYrChQuzZ8+eDMdcuJD2HH+7fQABLBaLS18wd/X5U08cJXHbJyR9/RmOyxdvut+j7AP4NG2FT6OmmAsEuGwdIpI9XP0cIyJp9O9MJOs9t/6US89vYJCQ4Eu+42cw4ZppTsvbl3TJeUVE8hoV/e4gade3XHlzclrxzWTCyzBIORlFyg/fcHXxHAoMfg3vhx65q3MZhoHj8sW0ot6J4xmKfHdd3AMsRYtl3G8vvbjn7f1PY8ot2BwG8TeOwrzxY9It9r+74aMti7rufD3NFLhemMvvZabA9UKd88/eFvJ7mingnfEYbw/T395TL9DXg4W7LxKf4uCvSpMm0vbxa1rW956yiYjIrRmGwcSJE/n8889ZsWIFJUve+X+ODxw4APxR0AsNDeWtt94iNjaWQoUKAfD999/j5+dH+fLlXbf4bOC4cpnEb7aR+OVWbEcO3nS/+b4AvB9rjk+TFljL5K7sIiIiIiIiIpK3qOj3F5J2fcvlya/+cYNhZPhoJFzj8qRXuG/U63jXbXDDYQaOy5duHst56jhG3NW7fnxzkcAMnXvWUmWwlCyN2Sfzx2rlVoZhkGQznF12V5PTuuviUhzXO/HSu+wcN/w5rUPvWkrWVO48zNy+y+42XXgFvCz4eZnxMGfdXnleHmbGNQ5k6KdnMcEtC3/pqxnXOBAvD3OWrU1EJC8ZP348H330EQsWLMDX19e5B1/+/Pnx9vbm5MmTfPjhhzRq1Ij77ruPgwcPMmXKFOrUqUPFihUBaNCgAeXLl2f48OEMGzaMmJgYZs+eTZcuXfD0dP/RzIbNRvJ/fyDxi60k//gd2GwZD/DwwOuhR/Bp2hKvWnUxeeiSWERERERERETcn17huA0jJZkrb06+/slt+poMAzBxZcYEbF17YT9z6o899+Ku3PVjmQsX/aNjr1Rw2n8ly2B2wZ457sruMNIKdXfRZZe+H176aM3UrOq6s5qc3XT+XhYKeJvJ75k2GrPArYp510dr+vyDrrvs8miwL288UYzxX50jLsWBmbRRnukf/TzTCoOPBqvLT0TEVVavXg1At27dMtw+ZcoU2rVrh9VqZefOnSxfvpyEhASKFStG8+bN6du3r/NYi8XCW2+9xbhx43j22Wfx8fGhbdu2DBw4MEuzZLbUY0dI/OL6+M4rl2+636N8RXyatsDn0WaY/Qtk/QJFRERERERERFxIRb/bSPr2q7scuWlgJCUSv2TeHY80FyqScb+960U+c768USAxDINkm8HVFMct97v78z53N3bfxWdR153FDP7XC3U3d9+l//mGz70tFPBKG6HpYXGPwt29ahTsyyfdgvni6DW+Ph7PlSQ7BbwtPBbsR9OyvurwExFxsYMHbx5ReaNixYqxcuXKO56nePHi/Oc//8msZWUbx5VLJG7fRuIXn2A7evim+80BBdPGdzZtibV02WxYoYiIiIiIiIhI1lDR7zaSfvgWTGYw/n6xyVyw0J8698rgUTIYs19+F6w069kdBvEpt+qyS+/ESy/oXR+neUNxL8X+V7vBZZ58VhP5bxiFmbbPnSVt/zvnPnc3j87MZ3Wfrrvs5OVhplWF/LSqkDt+pkVEJOvYz5/DcfVyxtscDqzRp0jNnw+HOeObR8z+92EpGpjhNiM1leSfdpL4xSck/7QT7PaMD+JhxbtuA3yatcSzZh1MFl3yioiIiIiIiEjup1dAbsOIu/K3Cn6WoBIUGPhKWudefn8XrizzJNlu2MvuL7rs0ve4Sx+tGZ/iuOV+bpnNYsI5KjPDfnbXi3ZpXXbmDMW99OOteaTrTkRExJ3Yz58jpk9nSE256b6iwOVbfZHVkyJvvYu5SFFsRw+T+MUnJG7/HOPqzaPUrRUq4dO0Jd4Nm7rN9ZiIiIiIiIiISGZR0e82TPkL3H2nn8mMR+lyeFap7vqF/YnDSO+6u/V+dzd22V1NsjtHa15NdpCcRV13Ph6mu+qyu3Fkpr+XBV913YmIiOQqjquXb1nw+0upKVzbvJaU//0X2/Gom+42FyyET+MW+DRtgUfJ4ExZp4iIiIiIiIiIO1LR7za8H25A8s7td3ew4cC7XsN7erwUu3F9LGZ6l92fOu6Sbh6nmV7My4rSnfl6192N3XR/LtoV8DaT3zPto/8Nx3mq605ERETuQcIHazPeYPXEu15DfJq0xDP0QY3vFBERERERERFBRb/bMj3ciHjrm+RLTcD8F8c5gARrPu6r+ygOwyAh5Y+CXYb97pL+vP9dxm68ZFvWdN15e5hu02FnuaHL7k/FPC8z+TzNmNV1JyIiItnIWrEqPk1a4N2wSa7ZK1lEREREREREJLOo6HcbX55O5aPQF3jtx7k4MG5Z+Esb/GliVugL7FsTTbLNwJEFtTsT4H/DXnY3dtn5e2fsxkvb8+6P27w8/qqEKSIiIpLzeDdriV/7rniUKJXdSxERERERERERybHcoui3atUqIiIiiImJoWLFiowePZrq1V27f97Xx6/x38BQJtcewKD/LSF/agJ2TFgwnB+vWfPxZugL/BgYCql/v9rnZTH90V3neesuO+dH7z8+91PXnYiIiOQhvq3bq+AnIiIiIiIiInIHOb7ot2XLFqZMmcL48eOpUaMGy5Yto2fPnmzdupVChQq57HGvJNlxALvvr0n3IrN55OyP1Pv9Z/xS44m3+rHz/lp8V6wOqRYrAJ4WKFfQ63pnXVpxrsD1Yt2f97lL77rzVtediIiIiIiIiIiIiIiIZIIcX/R7++23eeaZZ2jfvj0A48eP5+uvv2b9+vX07t3bZY9bwNuCmbQRnqkWK1+XqM/XJerf8lgz8EgpX6Y3L+ay9YiIiIiIiIiIiIiIiIjcTo5uNUtJSWH//v3Ur/9Hsc1sNlO/fn1++eUXlz72Y8G+1/fsuzMH8FiwnyuXIyIiIiIiIiIiIiIiInJbObrT79KlS9jt9pvGeBYqVIijR4/e9uvsdjt2u/2eHvux0j7k9zQTn+Lgr3brMwF+nmYeK+19z48pIpL+PKLnExHX078zERERERERERHJTXJ00e+fOnToUKacp1spDxYeyXf9M9MtjjCuHxfHgX17MuUxRUQA9u7dm91LEBEREREREXE7z60/5dLzGxgkJPiS7/gZTLd8vfDeLW9f0iXnFRGR3C9HF/0CAgKwWCzExsZmuD02NpbChQvf9usqVKhAvnz5bnv/3QoFgstcY+L2C8SlOJx7/KV/zO9pYUyjIjQsfe+PJSICaZ1He/fupVq1algsluxejkiulpCQkGlvFBIREREREREREcluObro5+npSZUqVdi5cyfNmjUDwOFwsHPnTrp27Xrbr7NYLJn2Ynnjsv7UL+XHF0ev8dWxOKJjrxJUyJ/GZfLTtKwvXh45eltEEXFTmfk8JiK3pn9jWc/sfx9YPSE15e6/yOqZ9nUiIiIiIiIiIvKXcnTRD+D5559nxIgRVK1alerVq7Ns2TISExNp165dlq3By8NMqwr5eaJcPn799SyhoQ/ohUIRERGRv8lSNJAib72L4+rlDLfbHQ4OHTxIhZAQLOaMb6gy+9+HpWhgFq5SRERERERERMQ95fiiX6tWrbh48SJz584lJiaGSpUqsWTJkr8c7ykiIiIiOZOlaOBNRTyz3U5qXALWchX0xioRERERERERkX8oxxf9ALp27fqX4zxFRERERERERERERERE8jJtSCciIiIiIiIiIiIiIiLi5lT0ExEREREREREREREREXFzbjHeU0REREREREREREQkL7vwci/XPoBhUCQhkUv5fMBkcslDFH5ziUvOKyJp1OknIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERuYdWqVTRp0oRq1arRsWNH9uzZ85fHf/LJJ7Ro0YJq1arx1FNPsX379ixaqYiIiAh4ZPcCREREREREREREcpotW7YwZcoUxo8fT40aNVi2bBk9e/Zk69atFCpU6Kbjf/75Z4YMGcLgwYNp3LgxH374If369WPDhg1UqFAhGxLAc+tPuezcBgYJCb7kO34GEyaXPc7y9iVddm4REZHcRp1+IiIiIiIiIiIif/L222/zzDPP0L59e8qXL8/48ePx9vZm/fr1tzx++fLlNGzYkF69elGuXDkGDRpE5cqVWblyZRavXERERPKqXNXp53A4AEhMTHTJ+e12OwAJCQlYLBaXPIaI5G16nhHJOunXC+nXD3J7usYSEXem5xiRrJVbrrFSUlLYv38/L774ovM2s9lM/fr1+eWXX275Nb/++ivh4eEZbmvQoAHbtm275fHpf0fXrl1zPldltsKeKS45LwAGJHnb8bam4sJGP+Li4v7W8S7NDFmSW5nvTl78+U4OuLnLOLOl5ksm2dvLZedX5rvj6tyuzgz6Xme2pKQk4M7XWLmq6JecnAzA8ePHXfo4hw4dcun5RUT0PCOSdZKTk/Hz88vuZeRousYSkdxAzzEiWcvdr7EuXbqE3W6/aYxnoUKFOHr06C2/5sKFCxQuXPim4y9cuHDL49OvsU6ePJkJK761LkEuO/UNklx69kOHLv+t47MmM7gytzLfnbz4803rZ1yyjqz0+9+9JsuLmSFv5s6Lmf+BO11j5aqiX4ECBQgODsbLywuzWZNLRURE5PYcDgfJyckUKFAgu5eS4+kaS0RERO6WrrHunq6xRERE5G7d7TVWrir6eXh43HIjZREREZFbced3n2clXWOJiIjI35EbrrECAgKwWCzExsZmuD02Nvambr50hQsXvqmr76+O1zWWiIiI/B13c42ltxGJiIiIiIiIiIjcwNPTkypVqrBz507nbQ6Hg507d1KzZs1bfk1oaCg//PBDhtu+//57QkNDXblUEREREScV/URERERERERERP7k+eefZ+3atWzcuJGoqCjGjRtHYmIi7dq1A2D48OHMnDnTefxzzz3Hjh07WLp0KVFRUcybN499+/bRtWvX7IogIiIieUyuGu8pIiIiIiIiIiKSGVq1asXFixeZO3cuMTExVKpUiSVLljjHdZ49ezbDXny1atVixowZzJ49m1mzZhEcHMy///1vKlSokF0RREREJI8xGYZhZPciREREREREREREREREROSf03jPTHD27Fm6detGq1ateOqpp/jkk0+ye0kikstcvXqVdu3a8a9//Ysnn3yStWvXZveSRERcTtdYIuJqusYSEcmZfvrpJ+x2e3YvI8vlxdzKLCKSudTplwnOnz9PbGwslSpVIiYmhnbt2vHpp5+SL1++7F6aiOQSdrudlJQUfHx8SEhI4Mknn2T9+vUEBARk99JERFxG11gi4mq6xhIRyXkOHjzIv/71L/r06cOAAQOwWCzZvaQskRdzK7N7ZjYMA5PJlN3LyHJ5Mbcyuyd1+mWCokWLUqlSJQCKFClCQEAAV65cyeZViUhuYrFY8PHxASAlJQVI+yUkIpKb6RpLRFxN11giIjlPSEgIkyZNIiIign//+995piMqL+ZWZvfK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0Pj0008zf/58du/enWX7NYqIZCYV/URERERERERERNxEVFQU7du3Z9y4cbRp0wZI60br1KkTSUlJTJ06FV9fXzp27Mi//vUvmjZtelO3WmYpX748GzduzJJuqJyQu1y5cmzevJlVq1bxwAMPZOq5byWrM+eE8a1ZlTknjW4VEclM5uxegIiIiIiIiIiIiNwdPz8/nnzySaZMmcLHH3/svD1//vy0atUKPz8/Ro8ezcqVK53Hu4LFYqFDhw5UqlTJJef/s5yQu2LFisybNy9LCn6QPZlNJpOzANaqVSsefPBBLl26xIYNG7Lke52Vmf38/JxFP8j60a0iIq6gTj8REREREREREZEcKn3sYFRUFJcvX6ZkyZIMGzYMPz8/xowZg2EYPPnkkwAULFiQZs2aUalSJerVq+fytblyxGNOzX1jkSiz5ZTMWTm+Nadkzo7RrSIirqCin4iIiIiIiIiISA5lMpnYtm0bw4YNo1ChQpw/f56xY8fSrl07TCYTo0ePJj4+nocffphNmzZx6tQpRo0aRf78+bN76fckL+bOaZmzYnxrTsmc1aNbRURcxWQYhpHdixAREREREREREZGMHA4HV69e5aWXXqJNmzY8/PDDbNmyhblz5zJs2DAaNmzIF198wezZsylZsiTXrl0jIiIiy0ZuukpezJ0TM6d34blKTsuckpLi0k5OEZGsoE4/ERERERERERGRHCS92JKamoq3tzcPPfQQLVq0oECBArz00kv4+PgwdepUHA4HPXr0oFWrVsTGxhIUFERgYGB2L/8fy4u5c3JmVxX8cmpmFfxEJDdQ0U9ERERERERERCQHSR95uHr1an7//XccDgctW7akQIECAISHh2MymXjjjTeIi4vjpZdeolSpUtm86nuXF3Mrc97ILCKSVczZvQARERERERERERH5w969exkxYgQlSpSgevXqnDp1ivXr13PmzBnnMd27d2fgwIG8++67JCYmZuNqM09ezK3MeSOziEhW0Z5+IiIiIiIiIiIiOcTJkyfZtGkT3t7e9O7dG4B3332XRYsW8fTTTxMWFkbx4sWdx1+5csXZIeXO8mJuZc4bmUVEspLGe4qIiIiIiIiIiOQA8fHxvPzyy5w5c4Znn33WeXvnzp0xDINFixZhNpvp0KEDJUuWBMDf3z+7lptp8mJuZc4bmUVEsprGe4qIiIiIiIiIiOQAfn5+TJw4kQIFCrB7924OHTrkvK9Lly689NJLvP3223zwwQfYbDYgbX80d5cXcytz3sgsIpLVNN5TREREREREREQkB4mMjGTkyJFUr16dbt268cADDzjve//996lTpw7BwcHZt0AXyYu5lTlvZBYRySoq+omIiIiIiIiIiOQwv/32G6+99hqVK1cmPDyc8uXLZ/eSskRezK3MeSOziEhWUNFPREREREREREQkB/rtt98YO3YsJUuWpF+/fpQrVy67l5Ql8mJuZc4bmUVEXE17+omIiIiIiIiIiORAlStXZvTo0cTExJA/f/7sXk6WyYu5lTlvZBYRcTV1+omIiIiIiIiIiORgycnJeHl5ZfcyslxezK3MIiJyL1T0ExEREREREREREREREXFzGu8pIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERERERE3JyKfiIiIiIiIiIiIiIiIiJuTkU/ERERERERERERERERETenop+IiIiIiIiIiIiIiIiIm1PRT0RERERERERERERERMTNqegnIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERERERE3JyKfiIiIiIiIiIiIiIiIiJuTkU/ERERERERERERERERETenop+IiIiIiIiIiIiIiIiIm1PRT0RERERERERERERERMTNqegnIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERERERE3JyKfiIiIiIiIiIiIiIiIiJuTkU/ERERERERERERERERETf3/wAiCadh4YrZAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + } + ], + "source": [ + "fig, axes = plt.subplots(1, 3, figsize=(18, 6))\n", + "colors = {'multi-e5-small': '#3498db', 'BGE-m3': '#e74c3c'}\n", + "\n", + "# Gráfico 1: RAM pico vs tamaño de corpus\n", + "ax = axes[0]\n", + "for name in MODELS:\n", + " subset = df[df['model'] == name]\n", + " ax.plot(subset['corpus_size'], subset['tracemalloc_peak_mb'], 'o-',\n", + " color=colors[name], label=name, linewidth=2, markersize=8)\n", + "ax.set_xlabel('Documentos en corpus')\n", + "ax.set_ylabel('Peak RAM tracemalloc (MB)')\n", + "ax.set_title('Pico de RAM durante encoding')\n", + "ax.legend()\n", + "ax.set_xscale('log')\n", + "\n", + "# Gráfico 2: Throughput (docs/s) vs tamaño de corpus\n", + "ax = axes[1]\n", + "for name in MODELS:\n", + " subset = df[df['model'] == name]\n", + " ax.plot(subset['corpus_size'], subset['docs_per_sec'], 's-',\n", + " color=colors[name], label=name, linewidth=2, markersize=8)\n", + "ax.set_xlabel('Documentos en corpus')\n", + "ax.set_ylabel('Docs/segundo')\n", + "ax.set_title('Velocidad de encoding')\n", + "ax.legend()\n", + "ax.set_xscale('log')\n", + "\n", + "# Gráfico 3: Tamaño de embeddings vs corpus\n", + "ax = axes[2]\n", + "for name in MODELS:\n", + " subset = df[df['model'] == name]\n", + " ax.bar([f'{name}\\n{n}' for n in subset['corpus_size']],\n", + " subset['emb_size_mb'], color=colors[name], alpha=0.8)\n", + "ax.set_ylabel('Tamaño embeddings (MB)')\n", + "ax.set_title('Almacenamiento de embeddings')\n", + "ax.tick_params(axis='x', rotation=45)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "48eb2b03", + "metadata": {}, + "source": [ + "## 6. Comparación directa: coste por documento" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3d9dd845", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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JXr66adVpUoVdenSRRcuXJBhGJo5c6Zq164tPz8/9e7dW1euXEnWbmrmt6T/MxcvXtT//vc/BQQEqGbNmpo4caL5Nw0PD1dgYKAkacaMGeZpBLfPMzt37jTXVb16dfXu3VsnTpxwWNe1a9c0duxYc84MDAzUq6++muz0gaCgIMXGxqa4LQJ4sNjTDSDd/PDDDypVqpSqVq2aqvrvvPOOQkND1ahRI7366qs6cOCAPvnkE504cUIzZ850qPvnn39q4MCBateunZo1a6YFCxaoV69eGjVqlD766CO99NJLkqQ5c+bo9ddf1/r16+Xq+n/fK9rtdnXr1k1VqlTRW2+9pW3btmn69Omy2+0OF5tZuHCh6tevr6ZNmyohIUHr1q1T//799cknn6hu3boOffr555/17bffqn379sqfP79KlCiRpjZmzJih6dOnm4HC3d1dv/32m37++WcFBwen+Jr9888/6tixo86cOaP27durZMmSWr9+vYYMGaKYmBiHLzUk6euvv9b169fVtm1bubi4aN68eerbt682b94sd3f3u/5tIiIi1KlTJ9ntdvXo0UM5cuTQypUrU9yTv2bNGg0ZMkTBwcF68803dePGDS1btkwvv/yyQkNDkx0ye7vr16+rffv2OnHihFq1aqWKFSvq77//1vfff6+LFy+qQIECloy5b9++On78uDp06KASJUro8uXL+umnn3ThwoV79vdexowZo0KFCqlv37767bfftGLFCuXJk0f79u1TsWLF9MYbb+jHH3/U/PnzZbPZ1Lx5c0m39q727t1bu3bt0osvvqgKFSpo27ZtmjRpki5evKhhw4bdc71ffPGFhg8froCAAHXu3Flnz55V79695eHhoWLFipn1EhMT1bt3b/3yyy9q06aNvLy8FBYWps8//1ynT5/Wxx9/fN8xRkdHq1evXnruuefUuHFjLVu2TAMGDFBiYqLGjRundu3aqUmTJpo/f7769eunLVu2KHfu3JKkyMhItWnTRi4uLmrfvr0KFCigH3/8UW+//bauXbumV155xWFdc+bMUfbs2dWjRw/9+eefWrx4sbJkySIXFxfFxMSoT58++u2337R69WqVKFFCffr0MZ+blrnl1KlTGjhwoNq2bas2bdqobNmyKY797Nmz2rx5sxo3bqySJUsqMjJSK1asUIcOHbRu3ToVKVLknq/dvn37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0Jo1axyWhYWF6aeffjJfI7vdrqtXrzo8t2DBgipcuHCy0wSOHz+uuLi4+34JDsB67OkGkG5Kly6t999/X2+88Yaee+45vfDCC7LZbIqPj9e+ffu0fv16tWzZUtKtPTEtWrTQihUrFBMToyeeeEIHDx5UaGioGjRoYF7cKb1ky5ZN27Zt0+DBg+Xn56dt27Zpy5Yt6tWrl3kOXp06dfTpp5+qW7duatKkiaKiorR06VKVLl1aR48eTdV6UttGmTJl1KtXL3388cd6+eWX9cwzzyhr1qw6ePCgChcurIEDB6bYftu2bbVixQoNGTJEhw8fVokSJbRhwwb9+uuvGjZs2H3PoU6tbt266csvv1S3bt3UqVMn81ZAxYsXdxhH7ty5NXLkSA0aNEgtW7bUc889pwIFCuj8+fPaunWrqlatquHDh991PV27dtWGDRvUv39/tWrVSpUqVVJ0dLS+//57jRo1SuXLl0/3MZ8+fVqvvPKKGjduLG9vb7m5uWnz5s2KjIx0uEhY69atNWLECPXt21dBQUH6448/tH379vvu1Uyr+vXrq0aNGvroo4907tw5+fj46KefftJ3332nzp073/O+zu7u7nr99dc1fPhwde7cWc8995zCw8O1evXqZOd3vvDCC/r22281YsQI7dq1S1WrVpXdbtfJkye1fv16zZs3L9mto9LTwIEDtWvXLrVp00atW7eWt7e3oqOjdfjwYe3cuVO7d+9Ol/VYNbfUrVtXM2fO1NChQxUQEKCwsDCtXbs2xfNoU/L000/ryy+/1KlTpxyOuGnXrp0qVKggX19f5cmTR7///rtCQkJUrFgx9erVy6GNQYMGqXfv3urSpYuef/55hYWFacmSJWrdurXDXv1GjRrJ399fQ4cO1fHjx5U/f34tW7ZMdrtdffv2/VdtpiS180SBAgXUs2dPzZgxQ926dVP9+vV16tQpLV26VJUrV1azZs0k3Trce+TIkerdu7eaN2+uli1bytPTUydPntTx48c1f/58SbcuWvjZZ5+pa9euevHFFxUVFaXly5fL29s71dcVSY3/Or+lJHv27PL29ta3336rxx57TPny5dPjjz8um82mQYMGqXv37mrbtq1efPFF85ZhefLkMW+Jd/36ddWpU0eNGjVS+fLllTNnTu3YsUMHDx50uK+8dOtCcDly5LD86BIA90foBpCunn76aX311VeaP3++vvvuOy1btkxZs2aVj4+PhgwZ4nC44pgxY1SyZEmFhoZq8+bNKlSokHr27Olwv9304ubmpnnz5mnkyJGaPHmycuXKpT59+ui1114z6wQGBmrs2LGaO3euxo0bp5IlS+rNN9/UuXPnUh2609JG//79VbJkSS1evFgfffSRcuTIIR8fH73wwgt3bT979uxatGiR3n//fYWGhuratWsqW7asxo8fb36hkR4KFy6shQsXasyYMZozZ47y5cundu3aqXDhwnr77bcd6jZt2lSFCxfWnDlzNH/+fMXHx6tIkSKqXr36ffuUK1cuLVmyRNOnT9emTZsUGhqqggULKjAw0LzvcXqPuWjRonr++ee1c+dOffXVV3Jzc1O5cuU0ZcoUNWrUyKzXpk0bhYeHa9WqVdq2bZuqVaumTz/9NNn9pP8rV1dXzZo1S9OmTdM333xj3nd60KBB5hW376Vt27ay2+2aP3++Jk2aJJvNplmzZmnq1KnJ1jNz5kx99tln+vLLL7Vp0yblyJFDJUuWVMeOHe96f+r0UqhQIX3xxReaOXOmNm3apGXLlilfvnzy9vbWm2++ma7rsmJu6dWrl27cuKG1a9fqm2++UcWKFfXJJ5/ogw8+SNXz69Wrp/z58+vbb7/V//73P7P82Wef1datW/XTTz/pn3/+kaenp1q3bq0+ffqoUKFCydqYMWOGZsyYodGjR5th9vZ5TLo1382ZM0eTJk3SokWLFBcXp8qVK2v8+PHJLmaW2jZTkpZ5om/fvipQoIAWL16s8ePHy8PDQ23atNGAAQMcrlJfq1Ytff7555o5c6YWLFggwzBUqlQph/8dXl5emjhxoqZNm6bx48fL29tbkyZN0tdff51uX94k+S/z292MGTNGo0eP1vjx45WQkKA+ffrIZrMpKChI8+bN07Rp0zRt2jRlyZJFTzzxhN566y3zy53s2bPrpZde0k8//aSNGzfKMAyVLl1aI0aM0Msvv+ywnvXr16thw4bp9mUsgH/PxUivq+kAwENqyJAh2rBhg/bt2+fsrgB4hM2cOVOrV6/Wxo0bnXKRQTw6km4/FhoamqbrhgCwBud0AwAAPACvvPKKYmNjtW7dOmd3BZncnDlz1KhRIwI38JDg8HIAAIAHIFeuXA733gas8tFHHzm7CwBuw55uAAAAAAAswjndAAAAAABYhD3dAAAAAABYhNANAAAAAIBFHrkLqd28eVPR0dHKli2bXF35zgEAAAAAkHaJiYmKi4uTh4eHsmS5e7R+5EJ3dHS0Tp8+7exuAAAAAAAygccee0wFCxa86/JHLnRny5ZN0q0XJkeOHE7uDTILu92usLAw2Ww2ubm5Obs7APCfMKcByGyY12CFGzdu6PTp02bGvJtHLnQnHVKeI0cO5cyZ08m9QWZht9slSTlz5mQiB5DhMacByGyY12Cl+522zEnNAAAAAABY5JHb0430d/nyZc2cOVPff/+9IiIilCtXLpUvX15jxoxRqVKldPjwYc2cOVMHDhzQlStXlDdvXlWsWFG9evVS9erVk7W3ZcsW9ezZ03x84MCB+x6yAQAAAAAPI0I3/pPLly+rdevWCg8Pl7u7ux577DEZhqH9+/fr4sWL8vDw0CuvvKKYmBjlzJlTjz/+uE6dOqVt27Zp165d2rp1qwoUKGC2FxkZqWHDhjlxRAAAAACQfpx6eHn9+vXl4+OT7GfUqFGSpLi4OI0aNUo1atRQQECA+vbtq8jISIc2zp8/rx49eqhKlSoKDAzUxIkTdfPmTWcM55E0ZcoUhYeH6/HHH9f333+vr7/+WuvWrdOePXvk5+ensLAwxcTESJLGjh2r0NBQvfvuu5Kk+Pj4ZH/PoUOHKiYmRk8//fQDHwsAAAAApDen7uletWqVeVEDSTp27JheffVVNW7cWJI0btw4bd26VVOmTFGePHk0evRo9enTR8uXL5d064IIPXv2VKFChbR8+XJdunRJgwcPlru7uwYMGOCUMT1KDMPQ+vXrJUlFixZVly5dFB4ertKlS6tHjx5q0qSJHn/8cXl4eCg6Olpvv/225s2bp5MnTyp79ux65ZVXZLPZzPYWLVqkH3/8UUOGDNG1a9f03XffOWtoAAAAAJAunLqnu0CBAvL09DR/fvjhB5UuXVpPPvmkrl69qpCQEA0ZMkSBgYHy9fXVuHHjtG/fPu3fv1+StH37dh0/flyTJ09WhQoVVKdOHfXv319LlixRfHy8M4f2SLh8+bKio6MlSdu2bVNMTIzy5s2ro0ePauDAgVq/fr08PDy0ZMkSlSpVSrGxsTp8+LBu3LihggULqnz58mZbx44d0+TJkxUcHKxXXnnFSSMCAAAAgPT10JzTHR8fr6+++kqvvvqqXFxcdOjQISUkJCgoKMis4+XlpeLFi2v//v3y9/fX/v37ZbPZVKhQIbNOcHCwRo4cqePHj6tixYp3XZ/dbnfYy460u/2LjXLlymn16tWSpJYtW+rkyZNavHixnnrqKQ0ZMkRnz57VW2+9pbZt22rlypWaNGmS3njjDZUsWVIVK1bUwIEDlStXLo0dO1aJiYlKTEw0284If6uk/j3s/QSA1GBOA5DZMK/BCql9Pz00oXvz5s26evWqWrRoIenWBbXc3d2VN29eh3oFCxZURESEWef2wC3JfJxU527CwsLSq+uPrJs3bypLliy6efOmihQpot9//12SVKRIEZ08eVKnTp3S7NmzdejQIUnS448/rrCwMHl7e0u6dXj66tWrFR8fr6NHj8rNzU3PPPOM2XaSmjVr6uWXX1bDhg0f8AjT7uDBg87uAgCkG+Y0AJkN8xqc4aEJ3SEhIapdu7aKFCnyQNZns9mUM2fOB7KuzOyJJ57Qzp07denSJVWqVEmSdOnSJUm3Qna+fPnMuq6urvL399eOHTvMMm9vb/n7+0u6+x7tuLg4FSlSxKz3MLLb7Tp48KAqV64sNzc3Z3cHAP4T5jQAmQ3zGqwQGxubqp25D0XoPnfunHbs2KHp06ebZYUKFVJCQoJ5nnCSqKgoeXp6mnUOHDjg0FbS1bCT6tyNm5sbG1w6eOONN7R3716dOHHC3Et98eJFubm5qVevXvL09NTUqVOVkJCg3r17q2zZsjp9+rQkKU+ePGrYsKHc3Nx09OhRh3anT5+uGTNmSMpY9+nmfQUgM2FOA5DZPErz2vTp07V582Z9+eWXd60THh6up59+WmvWrFGFChUeYO+cx8fHRzNnzlSDBg3+8/hT+15y6oXUkqxevVoFCxZU3bp1zTJfX1+5u7tr586dZtnJkyd1/vx5c4+nv7+/wsLCFBUVZdbZsWOHcufObR7CDGtVqVJFn3/+uZ588knFxMQoLi5OQUFBWrZsmWrWrCkvLy8tXrxYTz/9tPLnz69Tp06pQIECeu6557R8+XIVLlzY2UMAAAAAMr0hQ4bof//7n0NZsWLFtH37dj3++OP/ue07bwPdtWvX/9RmZuL0Pd2JiYlavXq1mjdvrixZ/q87efLkUatWrTRhwgR5eHgod+7cGjNmjAICAszQHRwcLG9vbw0aNEhvvfWWIiIiNGXKFLVv315Zs2Z10ogePdWqVdOiRYvuutzf318ff/xxmtrs27ev+vbt+1+7BgAAAKjmvFOSPKS9px7I+vb0zBg7AN3c3O57hHBq1apVS+PHjzcfk8f+j9P3dO/YsUPnz59Xq1atki0bNmyY6tatq379+qlDhw4qVKiQwyHobm5umj17tlxdXdW2bVu99dZbat68ufr16/cghwAAAAAA/1rHjh01evRojR07Vk888YSCgoK0cuVKxcbGaujQoQoICFDDhg21detWSbeOFK5evbpDG5s3b5aPj0+K7U+fPl2hoaH67rvvzD3Ru3btUnh4uHx8fHTkyJF79m/v3r16+eWX5efnpzp16mjMmDGKjY11qJM1a1aH20F7eHjcs83o6GgNHDhQNWvWlJ+fn5555hmFhIRIktmvb775xlxvq1atdOrUKR04cEAtW7ZUQECAunXrpsuXL5ttHjhwQK+++qpq1KihatWqqUOHDjp8+PA9+/EgOH1Pd3BwcLLzeZNky5ZNI0aM0IgRI+76/BIlSmju3LlWdQ8AAAAALBcaGqpu3brpiy++0DfffKORI0dq06ZNatiwoXr27KnPPvtMgwYN0pYtW9LcdpcuXXTixAldu3bN3Bvt4eFhXgD5Xs6cOaPu3burf//+GjdunC5fvqzRo0dr9OjRDnu2d+/ercDAQOXNm1c1a9bU66+/rvz589+13alTp+rEiROaO3eu8ufPrzNnzuiff/5xqDN9+nQNGzZMxYsX17Bhw8zbDL/99tvKkSOHXn/9dU2dOlWjRo2SJF2/fl3NmzfXO++8I0lasGCBevTooQ0bNih37txpft3Si9NDNwAAAAA86sqXL2+ec92zZ08zjLZp00aS9Nprr2nZsmV33WF5L7ly5VL27NkVHx+f5sPJP/nkEzVt2lSvvPKKJOmxxx7T22+/rY4dO2rkyJHKli2batWqpYYNG6pkyZI6e/asPvzwQ3Xv3l0rVqy468XGzp8/rwoVKqhy5cqSpJIlSyar06VLF9WqVUuS1KlTJw0YMECfffaZqlWrJkl68cUXtXr1arN+YGCgw/NHjx6t6tWra8+ePapXr16axp2eCN0AAAAA4GS3Hxru5uamfPnyyWazmWWFChWSJIeLSKe3559/XufPn5d067pN8+bN0x9//KGjR49q7dq1Zj3DMJSYmKjw8HB5eXnp+eefdxiHj4+PGjRoYO797tatm3755RdJUvHixbVu3Tq99NJL6tevn37//Xc99dRTatCggapWrerQn9tfk4IFC6ZYdvvh5ZGRkZoyZYp2796tqKgoJSYm6saNG+aYnIXQ/RB74pPjzu4C0mB29fvXAQAAAFJy+0WlJcnFxcWhzMXFRdKtwOvq6irDMBzqJyQk/Oc+zJkzRzdv3pQkZc+eXdKte1G3a9dOHTt2TFa/WLFiKbZTqlQp5c+fX3/++acCAwM1duxY89DxpDHVqVNHP/zwg7Zu3aqffvpJr7zyitq3b6/Bgweb7bi7u5u/J43/ztckMTHRfDx48GBduXJFb7/9tooXL66sWbOqbdu26fLa/BeEbgAAAADIQPLnz6/r168rNjZWOXPmlCT98ccf93yOu7u7Q0BNSYkSJZKVVaxYUcePH1eZMmVS3b+//vpLV65cMQ9lL1KkSIr1ChQooBYtWqhFixZavny5Jk2a5BC60+rXX3/ViBEjVKdOHUnShQsX9Pfff//r9tKL069eDgAAAABIvSpVqihHjhz68MMPdebMGa1du9bh3OaUlChRQkePHtXJkyd1+fLlVO/97d69u/bt26f33ntPR44c0enTp7V582a99957km5dvGzixInav3+/wsPDtXPnTv3vf/9TmTJlzPOxUzJ16lRt3rxZf/75p44dO6YtW7bIy8sr9S9CCh577DF99dVXOnHihH777Te9+eab5h57ZyJ0AwAAAEAGki9fPk2ePFk//vijmjZtqnXr1qlv3773fE6bNm1UtmxZtWrVSoGBgfr1119Tta7y5ctr0aJFOn36tF5++WW1aNFC06ZNU+HChSXdOv88LCxMvXv3VuPGjfX222+rUqVKWrJkyT3v1e3u7q4PP/xQzZo1U4cOHeTq6qoPP/ww9S9CCsaOHavo6Gi1aNFCgwYNUseOHc1zwZ3JxbjzZIBMLjY2VkeOHFGFChXMQzEeVpzTnbHMrh4tf3//u16hEQAyCrvdrv379zOnAcg0mNdghdRmS/Z0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABbJ4uwOAAAAAMCjbMiQIQoNDTUf58uXT76+vnrrrbdUvnx5SZJhGPriiy8UEhKiY8eOyTAMFS9eXIGBgerYsaPKlCkjSZo+fbpmzJiRbB1ly5bV+vXr07Xfe/fu1fvvv69Tp07pxo0bKl68uNq1a6dXXnklXdeT0RG6AQAAAGRqEc3rqoSkiAe0vqJrt6X5ObVq1dL48eMlSZGRkZoyZYp69eqlLVu2yDAMDRw4UJs3b1bPnj01dOhQFS5cWJcuXdKmTZs0a9YsTZgwwWzr8ccf16effurQvpub238bVApy5sypDh06yMfHRzly5NAvv/yiESNGKEeOHGrbtm26ry+jInQDAAAAgJNlzZpVnp6ekiRPT091795d7du31+XLl7Vz506tW7dOH3/8sZ5++mnzOcWLF5e/v78Mw3Boy83NzWwrtXx8fDRq1Cj98MMP+vnnn1W8eHGNGzdOBQoU0DvvvKODBw+qfPnymjRpkkqXLi1JqlixoipWrGi2UbJkSW3atEl79+4ldN+Gc7oBAAAA4CFy/fp1ffXVVypTpozy5cunr7/+WmXLlnUI3LdzcXFJl/V+/PHHeuGFF7RmzRqVK1dOAwcO1PDhw9WjRw+FhITIMAy99957d33+77//rn379unJJ59Ml/5kFuzpBgAAAAAn27JliwICAiRJsbGx8vT01CeffCJXV1edPn1aZcuWdag/duxYrVq1SpKUJ08e/fjjj+aysLAws60kTZs2vWdglqSWLVvqueeekyR1795dbdu21f/+9z/VqlVLktSpUycNHTo02fNq166ty5cvy263q0+fPmrdunUaR5+5EboBAAAAwMlq1KihkSNHSpKio6O1bNkyde/eXV988UWK9Xv37q0OHTpo48aN+uSTTxyWlS1bVrNmzXIoy507tyRp9uzZDvXXrVun4sWLS7p1iHmSggULSpJsNptDWVxcnK5du2a2J0lLlixRbGysfvvtN33wwQcqU6aMmjRpktaXINMidAMAAACAk+XIkcO8ArkkVapUSdWrV9fKlStVpkwZnTp1yqF+gQIFVKBAATMc387d3d2hrdu1a9dOzz77rPm4cOHCDs9LknTIekpliYmJDm2WKlVK0q3QHhkZqenTpxO6b8M53QAAAADwkHFxcZGLi4vi4uLUpEkTnTp1Sps3b/7P7ebLl09lypQxf7JkSd/9sImJiUpISEjXNjM69nQDAAAAgJPFx8crIuLWTc1iYmK0ePFixcbGql69enryySe1ceNGDRgwQD169FCtWrVUsGBBnT9/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1FOaPn26QxsxMTEaPny4goKCVLlyZTVp0kQ//PCDuXzDhg16/vnn5evrq/r16yebL6OiotSrVy/5+fmpfv36Kb52MTExevvtt1WzZk1VrVpVnTp10h9//HHf8QG4u6T58fafpNso+fj4aPny5erZs6eqVKmiZ599Vvv27dOff/6pjh07yt/fX+3atdOZM2eStbt8+XLVqVNHVapUUf/+/XX16lWH5V988YWeffZZVa5cWY0bN9aSJUsclh84cEDNmzdX5cqV1bJlyxQPK9+6dasaNWokPz8/dezYUefOnXNYfufh5UmHvq9Zs0b169dXtWrV9MYbb+jatWtmnWvXrmngwIHy9/dXcHCwPvvss2SnEC1ZskTPPPOMKleurKCgIPXr1y8NrzgyEkI3MpywsDDt27dP7u7uDuU///yz/vnnHwUFBalZs2Zat26dYmNjkz3f19dXJUqUMA8TOn/+vPbs2ZPq84ZCQ0OVP39+ffHFF+rQoYNGjhyp/v37KyAgQKGhoXrqqac0aNAg3bhxQ5J08eJF9ejRQ5UrV9aXX36pkSNHatWqVZo1a5bZ5qRJk7Rnzx59/PHHmj9/vnbv3q3Dhw87rPe9997Tvn379NFHH+mrr75S48aN1a1bN50+fTrFfm7atEnjxo3Tq6++qrVr16pdu3YaNmyYfv7551SNE8D9ZcuWTQkJCZLuv43Gx8erUqVKmjNnjr7++mu1adNGgwYN0oEDB1Jse+3atRowYIDef/99NWvWLFX9+eeff8wv1+6cI1etWqVmzZopT548ql27drIjfpK0atXKIXSHhISoadOmydq7U0xMjDp37qyKFStq1apVmjdvnqKiovT666871AsNDVXOnDm1cuVKvfXWW5o5c6Z++uknSbdu+dm9e3f9+uuvmjx5sr755hsNHDhQrq63Pq4cOnRIr7/+up577jmtXbtWffr00dSpUx3GMmTIEF24cEELFy7UtGnTtHTpUkVFRTn0oX///oqKitLcuXO1evVqVapUSZ07d9aVK1fuOUYA/97HH39sBtVy5cpp4MCBGj58uHr06KGQkBAZhqH33nvP4TlnzpzRt99+q9mzZ2vevHk6cuSIRo4caS7/6quvNHXqVL3xxhv65ptvNGDAAE2bNs2cw65fv66ePXvKy8tLq1evVt++fTVx4kSHdVy4cEF9+vRRvXr1tGbNGrVu3VoffPDBfcdz5swZfffdd5o9e7Y++eQT7dmzR3PnzjWXT5gwQfv27dOsWbO0YMEC7d271+Gz3cGDBzV27Fj169dP69ev17x58zhvPDMzgIfc4MGDjQoVKhj+/v6Gr6+vYbPZjPLlyxvr1693qDdgwABj7Nix5uNmzZoZISEhDnVsNpuxadMm47PPPjM6duxoGIZhTJ8+3XjttdeM6Ohow2azGT///PNd+9KhQwfjpZdeMh/fvHnT8Pf3N9566y2z7NKlS4bNZjP27dtnGIZhfPjhh0ajRo2MxMREs87ixYsNf39/w263G9euXTMqVapkfPPNN+byv//+2/Dz8zPGjBljGIZhnDt3zqhQoYLx119/OfSnc+fOxgcffGAYhmGEhIQY1apVM5e1bdvWeOeddxzq9+vXz+jevftdxwfg7gYPHmz07t3bMAzDSExMNH766SfD19fXmDBhQqq20ZT06NHDmDBhgvm4Q4cOxpgxY4zFixcb1apVM3bt2nXPPp09e9aw2WyGn5+f4e/vb/j4+Bg2m81o0aKFER8fb9Y7deqUUalSJSMqKsowDMPYtGmTUb9+fYd5adq0aUazZs2M+Ph4IzAw0Ni9e7dx/fp1IyAgwDhy5IgxZswYo0OHDnfty8yZM40uXbo4lF24cMGw2WzGyZMnzfHdPocahmG0atXKmDx5smEYhrFt2zajfPnyZv07DRgwwHj11VcdyiZOnGg899xzhmEYxsmTJw2bzWb89ttv5vLjx48bNpvN+PTTTw3DMIw9e/YYVatWNeLi4hzaadCggbF8+fK7jg/A3d3+We32n1mzZhmGcevz10cffWTW37dvn2Gz2YwvvvjCLPv666+NypUrm4+nTZuWbF7dunWrUb58eePSpUuGYdzabteuXevQl5kzZxpt27Y1DMMwli9fbjz55JPGP//8Yy5funSpYbPZjN9//90wDMP44IMPzDkkyeTJkw2bzWZER0cbhpH8M9a0adOMKlWqGFevXjXLJk6caLRu3dowDMO4evWqUalSJePbb781l8fExBhVqlQxP9tt2LDBqFq1qkMbyLwyxS3DkPnVqFFDI0eO1I0bN/TZZ5/Jzc1NjRo1MpfHxMRo06ZNWrp0qVnWrFkzrVq1KsX7tTdr1kwffPCBzp49q9DQUL3zzjup7ouPj4/5u5ubm/LlyyebzWaWJd2qLmnPyokTJxQQECAXFxezTrVq1RQbG6u//vpLMTExSkhIcLjifr58+VS2bFnzcVhYmOx2uxo3buzQl/j4eOXLly/Ffp48eVJt27Z1KKtataoWLlyY6rECcLRlyxYFBAQoISFBhmGoSZMm6tu3r3bv3n3fbdRut2v27Nlav369Ll68qISEBMXHxyt79uwOz9mwYYMuX76spUuXys/PL1X9+uijj1SuXDkdO3ZMkydP1oQJExz2TIeEhCg4OFgFChSQJNWuXVtvv/22fv75ZwUGBjq05e7urmbNmmn16tU6e/asHnvsMZUvX/6+ffjjjz+0a9cuBQQEJFt25swZc067fQ6Vbp1HnjRfHjlyREWLFnWY/2538uRJPf300w5lSfOa3W7XiRMnlCVLFvn6+prLvby8lDdvXvPx0aNHFRsbqxo1aji0888//6R4aCuA1En6rHa7pMPLJcdtP+n86Ns/PxUsWFBxcXG6du2acufOLenWdXiKFCli1gkICFBiYqJOnTqlXLly6cyZM3r77bf17rvvmnVu3rypPHnySLr1GczHx0fZsmVzaON2J06cSDbX+vv733e8JUqUMPspSYULFzbnsvDwcCUkJDi0mydPHoe5LSgoSMWLF1eDBg1Uq1Yt1apVSw0bNlSOHDnuu25kPIRuZAg5cuRQmTJlJEnjxo3TCy+8oC+++EKtW7eWdOswzLi4OLVp08Z8jmEY5sR85we4/Pnzq27duho2bJji4uJUu3ZtXb9+PVV9yZLFcbNxcXFxKEsK14ZhpH2gdxEbGys3NzeFhITIzc3NYRkXgAMenKQPle7u7ipcuLC57admG50/f74WLlyoYcOGycfHRzly5NC4cePMw9OTVKxYUYcPH1ZISIgqV67s8IXd3RQrVkyPPfaYHnvsMd28eVN9+vTR119/raxZs8putys0NFSRkZGqWLGi+Ry73a5Vq1YlC93SrUPM27Rpo7CwMLVq1SpVr01sbKzq1aunN998M9kyT09P8/eU5tCk+fLOLyCscP36dXl6emrRokXJliV9UAeQdrd/VkvJ7V8EJs1rKZUlJiaman1JpxCOHj062a2Ck05JsdKdc5mUts9+uXPnVmhoqHbv3q3t27dr2rRpmjFjhlatWuXwRSEyB87pRobj6uqqnj17aurUqebF0EJCQtSlSxetWbPG/Pnyyy9VvXr1u16lt1WrVtq9e7eaN2+e7ENyevLy8tK+ffscJuJffvlFuXLlUtGiRVWqVCm5u7s7XPQoOjra4VztChUqyG636/LlyypTpozDz+0fZm9Xrlw5/frrrw5lv/76q7y9vdN3gMAjJOlDZfHixR0+cKVmG/3111/19NNP64UXXlD58uVVqlSpFK/JUKpUKS1cuFDfffedRo8eneY+Nm7cWG5ubuaRP1u3btX169cd5sc1a9boww8/1KZNm8z70N7u8ccfl7e3t44dO6amTZumar2VKlXSsWPHVKJEiWSvQWq/HPTx8dFff/2lU6dOpbj8bvPaY489Jjc3N5UrV043b97UoUOHzOUnT550GGOlSpUUGRkpNze3ZP1MOhIAwMPhwoULunjxovl4//79cnV1VdmyZVWoUCEVLlxYZ8+eTbYtlypVStKtz2BHjx51uM3snbeN9fLy0sGDBx3K7nYHnNQqWbKk3N3dHdq9evVqsjk/S5YsCgoK0qBBg/TVV1/p3LlzXHsnkyJ0I0Nq3LixXF1dtWTJEh05ckSHDx/Wiy++KJvN5vDz/PPPa82aNSneR7d27drauXOn5VeKfPnll/XXX39p9OjROnHihDZv3qzp06fr1Vdflaurq3LlyqVWrVpp8uTJ2rlzp8LCwjRkyBCHvVtly5ZV06ZNNWjQIG3cuFFnz57VgQMH9Mknn2jLli0prrdbt24KDQ3V0qVLdfr0aX366afatGmTunTpYul4gUdRarbRMmXKaMeOHfr111914sQJDR8+PNltvW5vb+HChdq4caPDlW5Tw8XFRR07dtScOXN048YNrVq1SnXr1lX58uUd5sdnn31WefPm1dq1a1Ns5/PPP9f27dtTvcfl5ZdfVnR0tAYMGKADBw7ozJkz2rZtm4YOHSq73Z6qNp588klVr15d/fr1008//aSzZ89q69at+vHHHyVJXbp00c6dOzVz5kydOnVKoaGhWrJkiTmvlStXTrVq1dKIESP022+/6dChQ3rnnXcc9qAHBQXJ399fr732mrZv367w8HD9+uuv+uijj5J98AaQevHx8YqIiHD4uf3uBf9GtmzZNGTIEP3xxx/au3evxowZo2effdb8MrNfv36aM2eOFi5cqFOnTuno0aMKCQnRp59+Kklq0qSJXFxc9M477+j48ePaunVrsjsetGvXTqdPn9bEiRN18uRJrV27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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Métrica | multi-e5-small | BGE-m3 | Ratio\n", + "------------------------------------------------------------------------------\n", + "RAM modelo (MB) | 684.0 | 110.0 | 0.2x\n", + "Peak RAM encode (MB) | 9.1 | 21.3 | 2.3x\n", + "Embeddings 5000 docs (MB) | 7.3 | 19.5 | 2.7x\n", + "Encode 5000 docs (s) | 2.6 | 9.0 | 3.5x\n", + "Throughput (docs/s) | 1915.6 | 554.9 | 0.3x\n" + ] + } + ], + "source": [ + "# Comparación lado a lado para el corpus más grande\n", + "biggest = df[df['corpus_size'] == max(CORPUS_SIZES)]\n", + "\n", + "fig, ax = plt.subplots(figsize=(10, 5))\n", + "metrics = ['ram_model_mb', 'tracemalloc_peak_mb', 'emb_size_mb']\n", + "labels = ['RAM modelo\\n(MB)', 'Peak RAM encode\\n(MB)', 'Embeddings\\n(MB)']\n", + "x = np.arange(len(labels))\n", + "width = 0.35\n", + "\n", + "for i, (_, row) in enumerate(biggest.iterrows()):\n", + " vals = [row[m] for m in metrics]\n", + " offset = -width/2 + i * width\n", + " bars = ax.bar(x + offset, vals, width, label=row['model'], color=list(colors.values())[i])\n", + " for bar, val in zip(bars, vals):\n", + " ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 5,\n", + " f'{val:.0f}', ha='center', va='bottom', fontsize=10, fontweight='bold')\n", + "\n", + "ax.set_xticks(x)\n", + "ax.set_xticklabels(labels)\n", + "ax.set_ylabel('MB')\n", + "ax.set_title(f'Comparación de consumo de memoria ({max(CORPUS_SIZES)} documentos)')\n", + "ax.legend()\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "# Resumen numérico\n", + "print(f'\\n{\"Métrica\":30s} | {\"multi-e5-small\":>15s} | {\"BGE-m3\":>15s} | {\"Ratio\":>8s}')\n", + "print('-' * 78)\n", + "for _, row_e5 in biggest[biggest['model'] == 'multi-e5-small'].iterrows():\n", + " for _, row_bge in biggest[biggest['model'] == 'BGE-m3'].iterrows():\n", + " for metric, label in [('ram_model_mb', 'RAM modelo (MB)'),\n", + " ('tracemalloc_peak_mb', 'Peak RAM encode (MB)'),\n", + " ('emb_size_mb', f'Embeddings {max(CORPUS_SIZES)} docs (MB)'),\n", + " ('encode_time_s', f'Encode {max(CORPUS_SIZES)} docs (s)'),\n", + " ('docs_per_sec', 'Throughput (docs/s)')]:\n", + " v_e5 = row_e5[metric]\n", + " v_bge = row_bge[metric]\n", + " ratio = v_bge / v_e5 if v_e5 > 0 else float('inf')\n", + " print(f'{label:30s} | {v_e5:>15.1f} | {v_bge:>15.1f} | {ratio:>7.1f}x')" + ] + } + ], + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/03_modelo_local.ipynb b/notebooks/03_modelo_local.ipynb new file mode 100644 index 0000000..ed7e53e --- /dev/null +++ b/notebooks/03_modelo_local.ipynb @@ -0,0 +1,713 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "6b64ed95-f2d5-440e-b90b-bfd083d63716", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "9b488857", + "metadata": {}, + "source": [ + "# Guardar multilingual-e5-small en local y benchmark de carga\n", + "\n", + "Guardamos el modelo en `.local/models/` (gitignored) y comparamos:\n", + "- Carga desde HuggingFace cache vs carga desde path local\n", + "- Tiempo de primer encoding tras carga\n", + "- Verificación de que los embeddings son idénticos" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "22b75c11", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "FN_REGISTRY_ROOT: /home/lucas/fn_registry\n", + "Destino local: /home/lucas/fn_registry/.local/models/multilingual-e5-small\n", + "RAM actual: 833 MB\n" + ] + } + ], + "source": [ + "import os, time, gc\n", + "import numpy as np\n", + "from sentence_transformers import SentenceTransformer\n", + "import psutil\n", + "\n", + "FN_ROOT = os.environ.get('FN_REGISTRY_ROOT', '/home/lucas/fn_registry')\n", + "MODEL_ID = 'intfloat/multilingual-e5-small'\n", + "LOCAL_PATH = os.path.join(FN_ROOT, '.local', 'models', 'multilingual-e5-small')\n", + "\n", + "def ram_mb():\n", + " return psutil.Process(os.getpid()).memory_info().rss / (1024 * 1024)\n", + "\n", + "print(f'FN_REGISTRY_ROOT: {FN_ROOT}')\n", + "print(f'Destino local: {LOCAL_PATH}')\n", + "print(f'RAM actual: {ram_mb():.0f} MB')" + ] + }, + { + "cell_type": "markdown", + "id": "00e8cb16", + "metadata": {}, + "source": [ + "## 1. Guardar modelo en .local/models/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "90df0aac", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cargando modelo desde HuggingFace cache...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c21758811d8c41f28cec7ecf11df90ed", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading weights: 0%| | 0/199 [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig, axes = plt.subplots(1, 2, figsize=(14, 5))\n", + "\n", + "# Box plot de tiempos\n", + "data = [hf_bench['times'], local_bench['times']]\n", + "labels = ['HF cache', 'Local (.local/)']\n", + "colors = ['#e74c3c', '#2ecc71']\n", + "\n", + "bp = axes[0].boxplot(data, labels=labels, patch_artist=True)\n", + "for patch, color in zip(bp['boxes'], colors):\n", + " patch.set_facecolor(color)\n", + " patch.set_alpha(0.7)\n", + "axes[0].set_ylabel('Tiempo de carga (s)')\n", + "axes[0].set_title('Distribución de tiempos de carga')\n", + "\n", + "# Bar chart comparativo\n", + "means = [hf_bench['mean_time'], local_bench['mean_time']]\n", + "stds = [hf_bench['std_time'], local_bench['std_time']]\n", + "bars = axes[1].bar(labels, means, yerr=stds, color=colors, alpha=0.8, capsize=10)\n", + "for bar, mean in zip(bars, means):\n", + " axes[1].text(bar.get_x() + bar.get_width()/2, bar.get_height() + 0.05,\n", + " f'{mean:.3f}s', ha='center', fontsize=12, fontweight='bold')\n", + "axes[1].set_ylabel('Tiempo medio (s)')\n", + "axes[1].set_title(f'Carga media ({N_RUNS} runs) — speedup: {speedup:.2f}x')\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + } + ], + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/04_vector_storage.ipynb b/notebooks/04_vector_storage.ipynb new file mode 100644 index 0000000..16e3ec3 --- /dev/null +++ b/notebooks/04_vector_storage.ipynb @@ -0,0 +1,1126 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "46e94147-fc78-4423-8142-024587261562", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "7edb270b", + "metadata": {}, + "source": [ + "# Comparativa: almacenamiento y recuperación local de embeddings\n", + "\n", + "Buscamos el equivalente a SQLite/DuckDB para vectores: **embebido, sin servidor, archivo local**.\n", + "\n", + "Candidatos:\n", + "- **FAISS** — Meta, gold standard ANN, sin metadata nativa\n", + "- **sqlite-vec** — Extensión SQLite pura en C, vectores junto a datos SQL\n", + "- **LanceDB** — DB columnar para vectores, persiste en directorio\n", + "- **ChromaDB** — Popular, metadata rica, modo local\n", + "- **USearch** — Ultra ligero, rivaliza FAISS en velocidad\n", + "\n", + "Medimos: inserción, búsqueda top-10, persistencia a disco, carga desde disco, tamaño en disco." + ] + }, + { + "cell_type": "markdown", + "id": "d8a2144f", + "metadata": {}, + "source": [ + "## 1. Setup y corpus de embeddings pre-generados" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "36e79f24", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dimensión: 384\n", + "Tamaños de corpus: [1000, 10000, 50000]\n", + "Queries: 100\n", + "Embeddings pre-generados (normalizados, float32)\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import time, os, shutil, json\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.style.use('seaborn-v0_8-whitegrid')\n", + "\n", + "# Generamos embeddings sintéticos (dim=384 como e5-small) para no depender del modelo\n", + "# Esto aísla el benchmark de storage del benchmark de encoding\n", + "np.random.seed(42)\n", + "\n", + "SIZES = [1_000, 10_000, 50_000]\n", + "DIM = 384\n", + "DATA_DIR = 'data/vector_bench'\n", + "os.makedirs(DATA_DIR, exist_ok=True)\n", + "\n", + "# Pre-generar embeddings normalizados (simulan output de e5-small)\n", + "datasets = {}\n", + "for n in SIZES:\n", + " vecs = np.random.randn(n, DIM).astype(np.float32)\n", + " # Normalizar como haría sentence-transformers\n", + " norms = np.linalg.norm(vecs, axis=1, keepdims=True)\n", + " vecs = vecs / norms\n", + " datasets[n] = vecs\n", + "\n", + "# Queries (100 vectores)\n", + "N_QUERIES = 100\n", + "queries = np.random.randn(N_QUERIES, DIM).astype(np.float32)\n", + "queries = queries / np.linalg.norm(queries, axis=1, keepdims=True)\n", + "\n", + "# Metadata simulada\n", + "def make_metadata(n):\n", + " categories = ['programación', 'ciencia', 'cocina', 'finanzas', 'geografía']\n", + " return [{'id': i, 'category': categories[i % len(categories)], 'text': f'documento_{i}'} for i in range(n)]\n", + "\n", + "print(f'Dimensión: {DIM}')\n", + "print(f'Tamaños de corpus: {SIZES}')\n", + "print(f'Queries: {N_QUERIES}')\n", + "print(f'Embeddings pre-generados (normalizados, float32)')" + ] + }, + { + "cell_type": "markdown", + "id": "cbadd0ba", + "metadata": {}, + "source": [ + "## 2. Benchmark framework\n", + "\n", + "Cada backend implementa: insert, search, save, load, size_on_disk." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f187cb44", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Framework de benchmark listo\n" + ] + } + ], + "source": [ + "K = 10 # top-k para búsqueda\n", + "\n", + "def bench_backend(name, insert_fn, search_fn, save_fn, load_search_fn, size_fn, cleanup_fn):\n", + " \"\"\"Benchmark completo de un backend de vectores.\"\"\"\n", + " results = []\n", + " for n in SIZES:\n", + " vecs = datasets[n]\n", + " meta = make_metadata(n)\n", + " path = os.path.join(DATA_DIR, f'{name}_{n}')\n", + "\n", + " # Limpiar estado previo\n", + " cleanup_fn(path)\n", + "\n", + " # INSERT\n", + " t0 = time.perf_counter()\n", + " state = insert_fn(vecs, meta, path)\n", + " insert_time = time.perf_counter() - t0\n", + "\n", + " # SEARCH (100 queries)\n", + " t0 = time.perf_counter()\n", + " results_search = search_fn(state, queries, K)\n", + " search_time = time.perf_counter() - t0\n", + " search_per_query = search_time / N_QUERIES\n", + "\n", + " # SAVE / persist\n", + " t0 = time.perf_counter()\n", + " save_fn(state, path)\n", + " save_time = time.perf_counter() - t0\n", + "\n", + " # SIZE on disk\n", + " disk_mb = size_fn(path)\n", + "\n", + " # LOAD from disk + search\n", + " t0 = time.perf_counter()\n", + " loaded_results = load_search_fn(path, queries[:1], K)\n", + " load_search_time = time.perf_counter() - t0\n", + "\n", + " results.append({\n", + " 'backend': name,\n", + " 'n_vectors': n,\n", + " 'insert_s': round(insert_time, 4),\n", + " 'search_100q_s': round(search_time, 4),\n", + " 'per_query_ms': round(search_per_query * 1000, 3),\n", + " 'save_s': round(save_time, 4),\n", + " 'load_and_search_s': round(load_search_time, 4),\n", + " 'disk_mb': round(disk_mb, 2),\n", + " })\n", + "\n", + " print(f' {name:12s} | {n:6d} vecs | insert={insert_time:.3f}s | '\n", + " f'search={search_per_query*1000:.2f}ms/q | save={save_time:.3f}s | '\n", + " f'load+search={load_search_time:.3f}s | disk={disk_mb:.1f}MB')\n", + "\n", + " cleanup_fn(path)\n", + "\n", + " return results\n", + "\n", + "def dir_size_mb(path):\n", + " total = 0\n", + " if os.path.isfile(path):\n", + " return os.path.getsize(path) / (1024*1024)\n", + " if not os.path.exists(path):\n", + " return 0\n", + " for dp, dn, fns in os.walk(path):\n", + " for f in fns:\n", + " total += os.path.getsize(os.path.join(dp, f))\n", + " return total / (1024*1024)\n", + "\n", + "def cleanup_path(path):\n", + " if os.path.isfile(path):\n", + " os.remove(path)\n", + " elif os.path.isdir(path):\n", + " shutil.rmtree(path, ignore_errors=True)\n", + " # También limpiar archivos con sufijos\n", + " for suffix in ['.faiss', '.ids.npy', '.usearch', '.meta.json', '.db']:\n", + " p = path + suffix\n", + " if os.path.exists(p):\n", + " os.remove(p)\n", + "\n", + "print('Framework de benchmark listo')" + ] + }, + { + "cell_type": "markdown", + "id": "47e89c3c", + "metadata": {}, + "source": [ + "## 3. Implementaciones por backend" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bc86400d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ FAISS listo\n" + ] + } + ], + "source": [ + "# ── FAISS ──────────────────────────────────────────────────────\n", + "import faiss\n", + "\n", + "def faiss_insert(vecs, meta, path):\n", + " index = faiss.IndexFlatIP(DIM)\n", + " index.add(vecs)\n", + " return index\n", + "\n", + "def faiss_search(index, queries, k):\n", + " scores, ids = index.search(queries, k)\n", + " return ids\n", + "\n", + "def faiss_save(index, path):\n", + " faiss.write_index(index, path + '.faiss')\n", + "\n", + "def faiss_load_search(path, queries, k):\n", + " index = faiss.read_index(path + '.faiss')\n", + " scores, ids = index.search(queries, k)\n", + " return ids\n", + "\n", + "def faiss_size(path):\n", + " return dir_size_mb(path + '.faiss')\n", + "\n", + "print('✓ FAISS listo')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "30a64cf0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ sqlite-vec listo\n" + ] + } + ], + "source": [ + "# ── sqlite-vec ─────────────────────────────────────────────────\n", + "import sqlite3\n", + "import sqlite_vec\n", + "\n", + "def sqlvec_insert(vecs, meta, path):\n", + " db = sqlite3.connect(path + '.db')\n", + " db.enable_load_extension(True)\n", + " sqlite_vec.load(db)\n", + " db.execute(f'CREATE VIRTUAL TABLE IF NOT EXISTS vec_items USING vec0(embedding float[{DIM}])')\n", + " # Insert en batches\n", + " batch_size = 500\n", + " for i in range(0, len(vecs), batch_size):\n", + " batch = [(j, vecs[j].tobytes()) for j in range(i, min(i + batch_size, len(vecs)))]\n", + " db.executemany('INSERT INTO vec_items(rowid, embedding) VALUES (?, ?)', batch)\n", + " db.commit()\n", + " return db\n", + "\n", + "def sqlvec_search(db, queries, k):\n", + " results = []\n", + " for q in queries:\n", + " rows = db.execute(\n", + " 'SELECT rowid, distance FROM vec_items WHERE embedding MATCH ? ORDER BY distance LIMIT ?',\n", + " (q.tobytes(), k)\n", + " ).fetchall()\n", + " results.append([r[0] for r in rows])\n", + " return results\n", + "\n", + "def sqlvec_save(db, path):\n", + " db.close() # Ya está persistido en el .db\n", + "\n", + "def sqlvec_load_search(path, queries, k):\n", + " db = sqlite3.connect(path + '.db')\n", + " db.enable_load_extension(True)\n", + " sqlite_vec.load(db)\n", + " q = queries[0]\n", + " rows = db.execute(\n", + " 'SELECT rowid, distance FROM vec_items WHERE embedding MATCH ? ORDER BY distance LIMIT ?',\n", + " (q.tobytes(), k)\n", + " ).fetchall()\n", + " db.close()\n", + " return [r[0] for r in rows]\n", + "\n", + "def sqlvec_size(path):\n", + " return dir_size_mb(path + '.db')\n", + "\n", + "print('✓ sqlite-vec listo')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "74d1bb27", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ LanceDB listo\n" + ] + } + ], + "source": [ + "# ── LanceDB ────────────────────────────────────────────────────\n", + "import lancedb\n", + "import pyarrow as pa\n", + "\n", + "def lance_insert(vecs, meta, path):\n", + " db = lancedb.connect(path)\n", + " data = pa.table({\n", + " 'id': list(range(len(vecs))),\n", + " 'category': [meta[i]['category'] for i in range(len(vecs))],\n", + " 'vector': [v.tolist() for v in vecs],\n", + " })\n", + " tbl = db.create_table('vectors', data, mode='overwrite')\n", + " return tbl\n", + "\n", + "def lance_search(tbl, queries, k):\n", + " results = []\n", + " for q in queries:\n", + " r = tbl.search(q.tolist()).limit(k).to_list()\n", + " results.append([row['id'] for row in r])\n", + " return results\n", + "\n", + "def lance_save(tbl, path):\n", + " pass # LanceDB persiste automáticamente\n", + "\n", + "def lance_load_search(path, queries, k):\n", + " db = lancedb.connect(path)\n", + " tbl = db.open_table('vectors')\n", + " q = queries[0]\n", + " r = tbl.search(q.tolist()).limit(k).to_list()\n", + " return [row['id'] for row in r]\n", + "\n", + "def lance_size(path):\n", + " return dir_size_mb(path)\n", + "\n", + "print('✓ LanceDB listo')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1541cef1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ ChromaDB listo\n" + ] + } + ], + "source": [ + "# ── ChromaDB ───────────────────────────────────────────────────\n", + "import chromadb\n", + "\n", + "def chroma_insert(vecs, meta, path):\n", + " client = chromadb.PersistentClient(path=path)\n", + " col = client.get_or_create_collection('vectors', metadata={'hnsw:space': 'ip'})\n", + " # Chroma tiene límite de batch, insertar en chunks\n", + " batch_size = 5000\n", + " for i in range(0, len(vecs), batch_size):\n", + " end = min(i + batch_size, len(vecs))\n", + " col.add(\n", + " ids=[str(j) for j in range(i, end)],\n", + " embeddings=[v.tolist() for v in vecs[i:end]],\n", + " metadatas=[meta[j] for j in range(i, end)],\n", + " )\n", + " return (client, col)\n", + "\n", + "def chroma_search(state, queries, k):\n", + " _, col = state\n", + " results = col.query(query_embeddings=[q.tolist() for q in queries], n_results=k)\n", + " return results['ids']\n", + "\n", + "def chroma_save(state, path):\n", + " pass # PersistentClient persiste automáticamente\n", + "\n", + "def chroma_load_search(path, queries, k):\n", + " client = chromadb.PersistentClient(path=path)\n", + " col = client.get_collection('vectors')\n", + " results = col.query(query_embeddings=[queries[0].tolist()], n_results=k)\n", + " return results['ids']\n", + "\n", + "def chroma_size(path):\n", + " return dir_size_mb(path)\n", + "\n", + "print('✓ ChromaDB listo')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "6bec353d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "✓ USearch listo\n" + ] + } + ], + "source": [ + "# ── USearch ────────────────────────────────────────────────────\n", + "from usearch.index import Index\n", + "\n", + "def usearch_insert(vecs, meta, path):\n", + " index = Index(ndim=DIM, metric='ip', dtype='f32')\n", + " keys = np.arange(len(vecs), dtype=np.uint64)\n", + " index.add(keys, vecs)\n", + " return index\n", + "\n", + "def usearch_search(index, queries, k):\n", + " results = index.search(queries, k)\n", + " return results.keys\n", + "\n", + "def usearch_save(index, path):\n", + " index.save(path + '.usearch')\n", + "\n", + "def usearch_load_search(path, queries, k):\n", + " index = Index(ndim=DIM, metric='ip', dtype='f32')\n", + " index.load(path + '.usearch')\n", + " results = index.search(queries[:1], k)\n", + " return results.keys\n", + "\n", + "def usearch_size(path):\n", + " return dir_size_mb(path + '.usearch')\n", + "\n", + "print('✓ USearch listo')" + ] + }, + { + "cell_type": "markdown", + "id": "c82f6260", + "metadata": {}, + "source": [ + "## 4. Ejecutar benchmarks" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "e02de33b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "── FAISS ──\n", + " FAISS | 1000 vecs | insert=0.003s | search=0.23ms/q | save=0.006s | load+search=0.003s | disk=1.5MB\n", + " FAISS | 10000 vecs | insert=0.020s | search=0.48ms/q | save=0.030s | load+search=0.034s | disk=14.6MB\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " FAISS | 50000 vecs | insert=0.240s | search=2.77ms/q | save=0.169s | load+search=0.211s | disk=73.2MB\n", + "\n", + "── sqlite-vec ──\n", + " sqlite-vec | 1000 vecs | insert=0.053s | search=0.35ms/q | save=0.001s | load+search=0.001s | disk=1.6MB\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " sqlite-vec | 10000 vecs | insert=0.293s | search=4.87ms/q | save=0.000s | load+search=0.006s | disk=15.3MB\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " sqlite-vec | 50000 vecs | insert=1.275s | search=19.50ms/q | save=0.000s | load+search=0.018s | disk=74.7MB\n", + "\n", + "── LanceDB ──\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[90m[\u001b[0m2026-04-02T15:27:41Z \u001b[33mWARN \u001b[0m lance::dataset::write::insert\u001b[90m]\u001b[0m No existing dataset at /home/lucas/fn_registry/analysis/estudio_embeddings/notebooks/data/vector_bench/LanceDB_1000/vectors.lance, it will be created\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " LanceDB | 1000 vecs | insert=0.040s | search=3.32ms/q | save=0.000s | load+search=0.007s | disk=1.5MB\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[90m[\u001b[0m2026-04-02T15:27:42Z \u001b[33mWARN \u001b[0m lance::dataset::write::insert\u001b[90m]\u001b[0m No existing dataset at /home/lucas/fn_registry/analysis/estudio_embeddings/notebooks/data/vector_bench/LanceDB_10000/vectors.lance, it will be created\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " LanceDB | 10000 vecs | insert=0.297s | search=12.30ms/q | save=0.000s | load+search=0.011s | disk=14.7MB\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[90m[\u001b[0m2026-04-02T15:27:47Z \u001b[33mWARN \u001b[0m lance::dataset::write::insert\u001b[90m]\u001b[0m No existing dataset at /home/lucas/fn_registry/analysis/estudio_embeddings/notebooks/data/vector_bench/LanceDB_50000/vectors.lance, it will be created\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " LanceDB | 50000 vecs | insert=3.740s | search=28.88ms/q | save=0.000s | load+search=0.030s | disk=73.7MB\n", + "\n", + "── ChromaDB ──\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ChromaDB | 1000 vecs | insert=0.492s | search=0.30ms/q | save=0.000s | load+search=0.006s | disk=4.1MB\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ChromaDB | 10000 vecs | insert=2.778s | search=0.53ms/q | save=0.000s | load+search=0.006s | disk=29.6MB\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ChromaDB | 50000 vecs | insert=19.123s | search=1.23ms/q | save=0.000s | load+search=0.010s | disk=108.6MB\n", + "\n", + "── USearch ──\n", + " ERROR: usearch.index.Index() got multiple values for keyword argument 'ndim'\n", + "\n", + "Benchmark completo\n" + ] + } + ], + "source": [ + "all_results = []\n", + "\n", + "backends = [\n", + " ('FAISS', faiss_insert, faiss_search, faiss_save, faiss_load_search, faiss_size, cleanup_path),\n", + " ('sqlite-vec', sqlvec_insert, sqlvec_search, sqlvec_save, sqlvec_load_search, sqlvec_size, cleanup_path),\n", + " ('LanceDB', lance_insert, lance_search, lance_save, lance_load_search, lance_size, cleanup_path),\n", + " ('ChromaDB', chroma_insert, chroma_search, chroma_save, chroma_load_search, chroma_size, cleanup_path),\n", + " ('USearch', usearch_insert, usearch_search, usearch_save, usearch_load_search, usearch_size, cleanup_path),\n", + "]\n", + "\n", + "for name, *fns in backends:\n", + " print(f'\\n── {name} ──')\n", + " try:\n", + " res = bench_backend(name, *fns)\n", + " all_results.extend(res)\n", + " except Exception as e:\n", + " print(f' ERROR: {e}')\n", + "\n", + "df = pd.DataFrame(all_results)\n", + "print('\\nBenchmark completo')" + ] + }, + { + "cell_type": "markdown", + "id": "f126167a", + "metadata": {}, + "source": [ + "## 5. Tabla resumen y visualizaciones" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "311f88fc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 BackendVectorsInsert (s)Search 100q (s)Per query (ms)Save (s)Load+Search (s)Disk (MB)
0FAISS10000.0027000.0226000.2260000.0060000.0026001.460000
1FAISS100000.0200000.0480000.4800000.0302000.03400014.650000
2FAISS500000.2405000.2772002.7720000.1692000.21090073.240000
3sqlite-vec10000.0531000.0355000.3550000.0006000.0013001.550000
4sqlite-vec100000.2926000.4868004.8680000.0003000.00600015.260000
5sqlite-vec500001.2746001.94980019.4980000.0003000.01830074.690000
6LanceDB10000.0400000.3324003.3240000.0000000.0071001.480000
7LanceDB100000.2968001.23050012.3050000.0000000.01070014.740000
8LanceDB500003.7401002.88840028.8840000.0000000.03010073.670000
9ChromaDB10000.4916000.0295000.2950000.0000000.0060004.090000
10ChromaDB100002.7781000.0535000.5350000.0000000.00550029.570000
11ChromaDB5000019.1225000.1228001.2280000.0000000.009800108.640000
12USearch10000.0108000.0013000.0130000.0011000.0015001.610000
13USearch100000.2894000.0025000.0250000.0134000.01880016.070000
14USearch500005.9657000.0135000.1350000.1117000.18830080.320000
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_display = df.copy()\n", + "df_display.columns = ['Backend', 'Vectors', 'Insert (s)', 'Search 100q (s)', 'Per query (ms)',\n", + " 'Save (s)', 'Load+Search (s)', 'Disk (MB)']\n", + "df_display.style.background_gradient(subset=['Per query (ms)', 'Insert (s)', 'Disk (MB)'], cmap='Reds_r') .background_gradient(subset=['Load+Search (s)'], cmap='Greens_r')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "6b183baa", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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cOzYMZiamqJr164YN25cnuGbXvfDDz/A3d0dW7ZsEWfrVapUCaNGjUK3bt20ys+cORPly5fHtm3bsGnTJpQpUwYDBw5EmzZtdA5s+Pj44Pfff8eyZcuwd+9e2NraonXr1hg7dqzO7z4TExOsW7cOmzZtwr///ovt27dDKpXC0dERvXr10sjbM2zYMCQkJODkyZO4evUqlEolRowYIQ5spKSk4NixY2jSpEmBJyQnIiIi/UkEXXNaiYiIiHTw8/PD5cuX8eDBg6JuChFRsbR9+3b88MMP2Lx5M2rVqlXUzfnoJCUloU6dOhg4cCC+++67om7Oe2HXrl2YPHky5syZg65duxZ1c9576vfwpk2bNGZxEBER0bvFHBtERERERETvSNeuXfHpp59i2bJlRd2Uj9LVq1dhaGiIgQMHFnVTqBjKyMjAihUr4Ovry0ENIiKiIsZQVERERERERO+IgYEBZs+ejTNnziApKUmvMGVUcBo3boxbt24VdTOomIqIiEDnzp3zlc+HiIiICgcHNoiIiIiIiN4hT09PreThRPT+K1u2LEaOHFnUzSAiIiIwxwYRERERERERERERERUjzLFBRERERERERERERETFBgc2iIiIiIiIiIiIiIio2ODABhERERERERERERERFRsc2CAiIiIiIiIiIiIiomKDAxtERERERERERERERFRscGCDiIjeK1FRUViyZAlu375d1E0hIiIiIiKibO7cuYOlS5fi1atXRd0UIvrIcWCDiD4qbm5uWLJkSaHUHRYWBjc3N+zatSvPspMmTYKvr2+B7v9tju3SpUtwc3PDpUuXCqQt6voOHz6cr+1UKhXGjx+PGzduoHLlygXSlqJW0OdW7eDBg/jss8+QnJxcoPW+j3r06IF58+YVdTOIiIiIih32f3Qr6N/o+TkX77Ndu3bBzc0NYWFhOtfHxsZi+PDhUCgUKFWq1DtuHRGRJg5sENF7aejQoahevTqSkpJyLDN+/Hh4eHggNjb2HbaMCtPixYuRlJSExYsXw9DQsKib895SKpVYsmQJ+vXrBwsLC3H5ihUrcOzYsSJsGeDv74/vv/8e7du3h7u7e64dWJVKhdWrV8PX1xfVqlVDhw4dsH//fq1yQ4YMwebNmxEVFVWYTSciIiIqMuz/0PtOEARMnDgRderUwdixY4u6OUREHNggovdTx44dkZqa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ibi4wYTTaDQiMzMTJSUl41IkERERERFNfZ/5zGfw4x//GI888ggkSUJLSwv27duHxx57DN/4xjf0Lo+IiIgihGv3QxC2KgCAnLIYpqX36lwREYXbqION1atXAwBmzZqFkpISGI3GcSuKiIiIiIimn69+9avQNA233HIL7HY7vvjFL8JkMuG//uu/8KUvfUnv8oiIiCgCeE6+C/eRF7wLShQsZc9Dknkdk2iqGXOPjWXLBodtOZ1OuN3ugO2xsbHnXxUREREREU07kiTh61//Om677TbU19ejv78fc+fORUxMjN6lERERUQQQjnY4t/y3f9m8bB3khAIdKyKi8TLmYMNut+OnP/0p3nrrLXR1dQVtP3LkSDjqIiIiIiKiacpkMiEvL0/vMoiIiCiCCCHg2HoXhL0FAKDMugqGBf+lc1VENF7GHGz85Cc/wa5du/DQQw/h3nvvxfe//320tLTgL3/5C+65557xqJGIiIiIiKaoO++8E48++ihiY2Nx5513nnHfZ555ZoKqIiIiokjjqfwj1Lo3vQvmJJhLn4QkSfoWRUTjZszBxn/+8x889thjWL58OR544AFceOGFyMrKQkZGBt544w1ce+2141EnERERERFNQXFxcSGfExEREY2W1l0L584H/MuWFT+HHD1Tx4qIaLyNOdiw2WyYPXs2AG8/DZvNBgC44IILsG7duvBWR0REREREU9r69evxzDPP4LbbbsP69ev1LoeIiIgijNBUODZ/A3D3AQAM+TfBkH2NzlUR0XiTx/qCWbNmoaGhAQCQm5uLt956C4B3JAfvsCIiIiIiorF69tln0d/fr3cZREREFIHcB5+E1rILACDFZcF88SM6V0REE2HMwcYNN9yAo0ePAgC++tWv4pVXXsGiRYuwfv163HbbbWEvkIiIiIiIpjYhhN4lEBERUQRSW/fBtfcx74Ikw1L2HCQTb7wmmg7GPBXVLbfc4n9+6aWX4q233kJFRQXmzJmD+fPnh7M2IiIiIiKaJtjck4iIiMZCePrhKL8dEB4AgLH421DSlutcFRFNlDEHG8NlZmYiMzMTp06dwoMPPogf/vCH4aiLiIiIiIimkY997GNnDTd27949QdUQERHRZOfa/RCErQoAIKcshmnpvTpXRBQ5etvscPS4Rr2/Jc6E2JSocaxo7M472BjQ1dWFv/3tbww2iIiIiIhozL75zW+yZx8RERGNiqfh33AfecG7oETBUvY8JNmob1FEEaK3zY7/vWczVLc26tcoRhk3/mzlpAo3whZsEBERERERnatPfvKTSE5O1rsMIiIimuSEox3Ozd/0L5uWPQQ5oUDHiogii6PHNaZQAwBUtwZHj2tSBRtjbh5OREREREQUTuyvQURERKMhhIBj290Q9hYAgDLrIzAuuE3nqohIDww2iIiIiIhIV0IIvUsgIiKiCOCp/CPU2n94F8xJMJc+xRskiKapUU9Fdeedd55xe3d393kXQ0REREREZ+ZxqajZdQp177fA2euGOdaIrAvTkLN8JgwmRe/yzsnRo0f1LoGIiIgmOa27Fs6dD/iXLSuegBw9U8eKiEhPow42ztbILy4uDpmZmeddEBERERERhVb3QQvKnz8IV58HkAAIABJQu6cFO/5wGGW3FyPrgjS9yyQiIiIKK6GpcGz+BuDuAwAY8m+CIftTOldFRHoadbCxfv368ayDiIiIiIjOoO6DFrzzxF5vmAEEPbr6PHjnib24+u6lDDeIiIhoSnEffBJayy4AgBSXBfPFj+hcERHpjT02iIiIiIgmOY9LRfnzBwfDjJEIoPz5g/C41Ampi4iIiGi8qW374dr7mHdBkmEpew6S6cwzyxBRaEIInD7RpXcZYTHqERtERERERKSPml2nvNNPjYKrz4Oa3aeQv4LTxBIREVFkE55+ON67HRDe34OMxd+CkrZc56qIIo8QAo0ftmPfhiq0HO/Uu5ywYLBBRERERDTJ1exsHv3OElC3p4XBBhEREUU81551ELZKAICcvBimknt1rogosggh0HiwDXs3VuF0ZZfe5YQVgw0iIiIioklI9WhoONCKyi2NqN/XOvoXCsDZ6x6/woiIiIgmgKfh33Af/q13QYmC5fLnISkmfYsiihBCCDQcaMPejZVorbIFbItNtaC31aFTZeHDYIOIiIiIaJIQQqCt2obKLU04sb3p3AIKCTDHGsNfHBEREdEEEY52ODd/079sWvYQ5IQCHSsiigxCCJzc34p9G6vQeiIw0EicFYslq/MQNyMKrz+4Q6cKw4fBBhERERGRznrb7Kja2oTKLY2wNfcFbTdaFLgdo2wILoCsi9LCXCERERHRxBBCwLHtbgh7CwBAmfURGBfcpnNVRJObEAL1e09j36sn0FY9LNCYHYuS1XnIWTYTkiyht80OxShDdWujPr5ilGGJm1wjphhsEBERERHpwNXvRu3uFlRubUTz4Y6g7YpRRtaFachfkYG0+Yn483+/N6oG4qYYA3KWzRyPkomIiIjGnafyT1Br/+FdMCfBXPoUJEnStyiiSUoIgfoPTmPvxiq013YHbEuaE4eSNXnIvjANkjz4/1BsShRu/NlKOHpco34fS5wJsSlRYas7HBhsEBERERFNEE3V0PhhO6q2NKL2/RaoruC7pGYuSEL+igzkLJ8JU/TglFJltxfjnSf2AuIMbyB59zOYlHGonoiIiGh8aT11cO58wL9sWfEE5GjesEE0nBACde+fxr6NlWiv6wnYlpzlDTSyLggMNIaKTYmadEHFWDHYICIiIiIaZ+113ajc0ogT25th73IGbbemxyBvRQbyVmQgLjU65DGyLkjD1XcvRfnzB70jNyR4Qw7foynGgLLbi5F1AaehIiIiosgjNBWO8q8D7l4AgCH/8zBkf0rnqogmF6EJ1L7fgn2vVqFjeKCRHY+la/Iw54IZ02KUE4MNIiIiIqJx0NfpwIltTajc0oTOkz1B282xRuReko780kykzrWO6uQj64I03PTslajZfQp1e1rg7HXDHGtE1kVpyFk2kyM1iIiIKGK5Dz4JrWUXAECKnQPzxY/oXBHR5CE0gdo9p7B344mgc4uUnHiUrMnDnKXTI9AYwGCDiIiIiChM3A4P6t5vQeWWJjR92AYxbNooWZEwZ+kM5K3IxOySVCgGeczvYTApyF+RifwVmWGqmoiIiEhfatt+uPY+5l2QZFjKnoNkite3KKJJQGgCNbtPYd+rVeg82RuwLTXXipIb8jB7Seq0CjQGMNggIiIiIjoPQhNoPtKByi2NqN19Cm6HGrTPjPwE5K3IQO7F6bDEmXSokoiIiGhyEp5+ON67HRAeAICx+FtQZl6sc1VE+tI0gZqdzdj36gl0NQ4LNPKsWLomH7MWp0zLQGMAgw0iIiIionPQ2dCDqq1NqNrahL4OR9D22NQo5K/IQN6KTFjTY3SokIiIiGjyc+1ZB2GrBADIyYthKrlX54qI9KNpAtU7mrHv1SrYmvoCts3IT8DSNXnILJ7egcYABhtERERERKNk73bixPZmVG1pRFtNd9B2Y5QBuRfPRH5pJtIKEiHJPOEgIiIiGomn4f/gPvxb74JigeXy5yApHN1K04+majixoxn7Xz0BW3NgoJFWkIiSG/KQuTCZgcYQDDaIiIiIiM7A41JRv/c0qrY24eSBVgg1sHGGJEuYtTgF+aWZmLN0Bht4ExEREY2CcLTDuflO/7Jp2UOQE+bpWBHRxNNUDSe2NWPfa1XoPtUfsG3m/ESUrMlDRhEDjVCmRbBxxx13YPfu3bjkkkvw1FNP6V0OEREREU1yQgi0HOtE5ZYm1OxqhqvfE7RPSk488lZkYu6l6YiymnWokoiIiCgyCSHg2HY3hL0FAKBkXgnjgi/rXBXRxNFUDVVbm7D/tRPobhkWaCxIwtI1eUgvTGKgcQbTIti4+eabccMNN+C1117TuxQiIiIimsRsp/p8fTMa0XPaHrQ9OsmMvMsykV+agcRZcTpUSERERBT5PJV/glr7D++COQnm0qd4AZemBc2joXJrI/a/diLofCO9MMk7QqMwWafqIsu0CDaWL1+OXbt26V0GEREREU1Cjl4XanaeQuXWRpw+3hW03WBWkLNsJvJKM5BemAyZfTOIiIiIzpnWUwfnzgf8y5YVT0COSdexIqLxp3k0HN/SiAOvnUBPa2CgkVGUjJI1eUhfkKRTdZFJ92Bjz549eOGFF/Dhhx+itbUVzz77LK666qqAfV555RW88MILaG1txfz58/Hggw+iuLhYp4qJiIiIKNKpHg0N+1tRubUR9XtPQ/MM65shARkLU5BXmoHsC9NgtOj+azONg6effhrPPPNMwLqcnBy8/fbbI77mrbfewpNPPonGxkZkZ2fjO9/5DsrKysa7VCIioilBaCoc5V8H3L0AAEP+52HI/pTOVRGNH9WjobK8Afv/Xo3etmGBxsJkLF2Th5nzGWicC93P0Pr7+zFv3jzccMMNuPPOO4O2b9q0CevXr8e6deuwePFivPjii7jtttvw9ttvIznZOyznuuuug6qqQa994YUXkJaWNuaaVFUNebzxNvCeerw3ERHpi98BRONPCIG26m6c2NaE6h2n4Ox1B+2TMCsWeSvSkXtJOmKSLP71/H8z2FT5O8nPz8fvf/97/7KijNz8fe/evbjnnntw991344orrsAbb7yBO+64Axs3bkRBQcFElEtERBTR3IeegtbinVVFip0D88WP6FwR0fhQ3SqOlzfiwOsn0NvmCNiWuSgFS2/IQ1pBok7VTQ26BxtlZWVnvMPp97//PT7zmc/ghhtuAACsW7cO7733HjZs2ICvfvWrAIC///3vYa3p+PHjYT3eWB06dEjX9yciIv3wO4Ao/FzdKjqOONBR4YCzM/hivCFaQuICC5IKLYhKNUCVbKistwH1OhRLE05RFKSmpo5q3z/84Q8oLS3Fl7/sbW767W9/G9u3b8fLL7+Mhx9+eDzLJCIiinhq2wG4PnjUuyDJsJQ9B8kUr29RRGGmulUce68BB16vRl97YKAxa3EKSlYz0AgX3YONM3G5XKioqMDXvvY1/zpZlnHppZdi37594/a+BQUFiI6OHrfjj0RVVRw6dAiLFi06451iREQ09fA7gCi8XHYPane34MS2Jpw60hm0XTHKmHPBDOStSEfGwmTIiqxDlZGtv79f9xuCwqGurg4rVqyA2WzGkiVLcM899yAjIyPkvvv378ctt9wSsG7FihV49913z/geeo0IH3jvoY9ERDR9TKbvAOHph/O9rwHCAwAwLPwmkHrRpKiNKBw8Lu8IjUNv1KC/0xmwbdbiFCy5PhepeQkAJsf/k5PVWP5uJnWw0dnZCVVV/VNODUhOTkZ1dfWoj3PLLbfg6NGjsNvtWLlyJZ588kmUlJSMuL+iKLpeVNL7/YmISD/8DiA6d5qqofFQO6q2NqJ2TwtUtxa0z8wFScgvzUDOspkwRRt1qHLqmAo/q4qLi7F+/Xrk5OT4+/194QtfwBtvvIHY2Nig/dva2pCSkhKwLjk5GW1tbWd8n8kQAHFEIBHR9DUZvgNmNDyLRFslAMARlYc66aPA/v36FkUUBppHoP2gHS17+uHuDTz/iM81YeYlMYiZKaOxtxaN+/Wpcaqa1MFGuPzP//yP3iUQERER0TgQQqCjrgeVWxtxYlsT7DZX0D7W9BjklWYg77IMxKVO/KhcmryGTok7f/58LF68GFdccQXeeust3HjjjWF7H71GhAMcEUhENJ1Nlu8AtfH/4Nrvm0ZescD6sf/BkgT2pqLI5nGpOPafBhz6Ry3sXYEjNGYvTcWS6+ciJYdTrY3VWEaFT+pgIzExEYqioL29PWB9e3t70J1SRERERDR99HU6cGJbEyq3NKHzZE/QdnOsEXMvSUdeaSZS51ohSZIOVVKkiY+PR3Z2NurrQzdYSUlJCRqdMZpzk8kwGm8y1EBERPrQ8ztAODrg2PYt/7Jp2UMwJi/QpRaicPA4VRz5dz0O/qMmKNDIujANJWvmIiXbqlN1kW8sP6smdbBhMplQVFSEHTt24KqrrgIAaJqGHTt24Itf/KLO1RERERHRRHI7PKh7vwWVW5rQ9GEbhAjcLisS5iydgfzSTMxakgrFwL4ZNDZ9fX04efLkiM3ElyxZgp07dwb02di+fTuWLFkyMQUSERFFECEEHNvuhuhvAQAomVfCuODLOldFdG7cDg+O/PskDv2jOmiUePZFaShZnYfkbI7QmEi6Bxt9fX0Bd0Q1NDTgyJEjsFqtyMjIwK233or77rsPCxcuRHFxMV588UXY7XasWbNGx6qJiIiIaCJomkDz4XZUbW1C7e5TcDuCm8nNyE9Afmkmci6eCUusSYcqKVI99thjuOKKK5CRkYHTp0/j6aefhizLuOaaawAA9957L9LS0nDPPfcAAG6++WZ86Utfwu9+9zuUlZVh06ZN+PDDD/Hwww/r+TGIiIgmJU/Vn6HWvuFdMCfCXPoUR9FSxHE7PDjyTj0OvlkDR3dgoJGzbCaWrJmL5DkMNPSge7Dx4Ycf4uabb/Yvr1+/HgCwevVqPProo1i1ahU6Ojrw1FNPobW1FQsWLMBvf/tbTkVFRERENIV1NvSgamsTqrY2oa/DEbQ9LjUKeaWZyLssA9b0GB0qpKng1KlTuPvuu9HV1YWkpCRccMEF+Otf/4qkpCQAQHNzM2R5cOTP0qVL8fjjj+MXv/gFnnjiCWRnZ+PZZ59FQQHnCSciIhpK66mDc8f9/mXLZU9AjknXsSKisXE7PDj8rzocerMGjh734AYJyFk+EyWr85A0O06/Akn/YGP58uU4duzYGff54he/yKmniIiIiKY4u82JEzuaUbWlEW013UHbTdEG5CxPR35pBtLmJfKOPzpvP//5z8+4/aWXXgpa94lPfAKf+MQnxqskIiKiiCc0FY7yrwPuXgCAIf9zMORcq3NVRKPjsg8GGs7ewEAjd3k6StbMReIsBhqTge7BBhERERFNXx6Xivq9p1G5pRENB9ogtMDGGZIsYdbiFOSXZmLO0hkwmNj8mIiIiGgycx96ClrLLgCAFDsH5ovX61wR0dm5+t2o+FcdPtxUGxRozL0kHUuuZ6Ax2TDYICIiIqIJJYRAy7FOVG5pQs2uZrj6PUH7pOTEI680E3MvSUeU1axDlUREREQ0VmrbAbg+eNS7IMmwlD0HycT+AzR5ufrdqHi7Dh++VQtn32CgIUlA7qUZKLl+LhIyY3WskEbCYIOIiIiIJoTtVJ+3b8aWRvS02oO2xyRZkLciA3krMng3FBEREVGEER47HOW3A8J704qx+L+hzLxY56qIQnP2uVHxdi0+fKs24EYrSQLmXpaBktV57OU3yTHYICIiIqJx4+h1oWbnKVRuacTpyq6g7QazgpzlM5G3IgPphcmQZfbNICIiIopErj3rILqOAwDk5MUwldync0VEwZy9bnz4di0q3h4WaMgS8lZkYMl1cxloRAgGG0REREQUVqpHQ8P+VlRuaUT9vtPQPMP6ZkhAxsIU5JdmIOvCNBgt/JWUiIiIKJJ5Gv4D9+HfeBcUCyyXPwdJMelbFNEQjl4XKt6qxYdv18FtDww08kszsOT6uYhPY6ARSXgWSURERETnTQiB1hM2VG1pxIkdzYEN93wSZ8civzQTcy/LQEyiRYcqiYiIiCjchKMDzi13+JdNF/0AcsI8HSsiGuToceHDt2pR8c9auO2qf72kSMgvzcSS6+YiPi1axwrpXDHYICIiIqJz1tNqR9W2RlRtaYKtuS9oe5TVhLmXZSB/RSaSsuIgSZxqioiIiGiqEELAse1uiP4WAICSeQWMhV/WuSoiwNHtwqFNNTj8rzq4HYGBRsHKWVhyfS7iUhloRDIGG0REREQ0Jq5+N2p2n0LlliacOtIRtF0xysi+KA15KzKRuSgZsiLrUCURERERjTdP1Z+h1r7hXTAnwlz6NCSJv/uRfuzdThx6sxaH/1UHj3Mw0JAVCQWXz8Lia+ciLjVKxwopXBhsEBEREdFZaaqGxkPtqNzSiLr3W6C6taB90guTkLciAznLZsIUbdShSiIiIiKaKFpPHZw77vcvWy57AnJMuo4V0XRmtzlx8M0aHHmnPjDQMEiYd/lsLL42F7EpDDSmEgYbRERERBSSEAIddT2o3NKIE9ubYLe5gvaxpscgrzQDeZdl8s4nIiIiomlCaCoc5d8A3L0AAEP+52DIuVbnqmg66rc5cegfNTjybnCgMf+K2Si+NhexyTxPmYoYbBARERFRgL5OB05sbULl1kZ0nuwN2m6ONWLupRnIW5GB1LlW9s0gIiIimmbch56G1rITACDFzoH54vU6V0TTTX+XEwffqMaRf9dDdQ2OJleMMuZdORuLP5WLmCSLjhXSeGOwQURERERwOzyofb8FVVsa0fRhO4QI3C4bJMxZOgP5KzIxa0kqFAPnTiYiIiKajtS2A3DtfdS3JMFS9ktIpnhda6Lpo7/TgQNvVOPov08GTI+rGGXM/8hsFH8qFzGJDDSmAwYbRERERNOUpgk0H25H1ZYm1Ow+FTB0e8CMggTkr8hEzsUzYYk16VAlEREREU0WwmOHo/x2QHMDAIzF/w1l5iU6V0XTQV+HN9A49n/DAg2TjAUfmYPia3IQzUBjWmGwQURERDTNdDb0oHJLE05sa0JfhyNoe1xqFPJKM5G3IgPWmTE6VEhEREREk5FrzzqIruMAADm5GKal95/lFUTnp6/djgOvV+PYew1BgUbh1VlY9MkcRCeYdayQ9MJgg4iIiGgasNucOLG9GVVbG9FW0x203RRtQM7ydOSXZiBtXiL7ZhARERFRAE/Df+A+/BvvgmKB5fLnISkc0Uvjo7fdjgN/r8ax905C8wzOk2swK1hw1RwsuiYH0VYGGtMZgw0iIiKiKcrjUlG/9zQqtzSi4UAbhBbYOENSJMwqTkF+aSbmLJ0Bg0nRqVIiIiIimsyEowPOLXf4l00X/QBywjwdK6KpqrfNjv1/P4Hj7zVAUwMDjcKPzsGiVTmIYqBx3ppdnejy9I16/wRDDNJNieNY0dgx2CAiIiKaQoQm0HK8E5VbGlGz6xRc/Z6gfVJyrchbkYG5l6TzpICIiIiIzkgIAce2eyD6WwAASuYVMBZ+WeeqaKrpae3Hgb9X43h5YKBhtCgo/GgWFq3KgSWeI4TCodnViWs/XA+XCD5XHIlJMuD1hQ9MqnCDwQYRERHRFGBr7kPV1kZUbW1CT6s9aHtMkgV5KzKQtyIDibPidKiQiIiIiCKRp+ovUGtf9y6YE2EufRqSJOtbFE0ZPaf7vSM0NjdCDA00ohQUfjQbi1ZlwxLHQCOcujx9Ywo1AMAlPOjy9DHYICIiIqLz5+h1oXpHM6q2NuF0ZVfQdqNFQfaymcgvzUT6giRIMvtmEBEREdHoaT11cO64z79suewJyDHpOlZEU0V3izfQqNwyPNAwoOhjWVi4KhuWWAYaNDIGG0REREQRRPVoOLmvFVVbG1G/73RAIz0AkCQgY2EK8kszkHVhGowW/rpHRERERGMnNBWO8m8A7l4AgCHvszDkXKtzVRTpbKf6sP+1E6ja2hTQA9AUbUDRx7Ox8OPZMMcadayQIgXPdImIiIgmOSEEWk/YULWlESd2NMPZ6w7aJ3F2HPJLMzD3sgzEJFp0qJKIiIiIphL3oaehtewEAEixc2C+5FGdK6JIZmv2BRrbggONhZ/IRtHHs2GOYaBBo8dgg4iIiGiS6mntR9XWJlRtbYKtuS9oe1SCGXMvTUd+aSaSs+J1qJCIiIiIpiK17SBceweCDAmWsl9CMvH3TRq7rqZe7H/tBE5sa4IYMtjcHGP0BRpZMEUz0KCxY7BBRERENIm4+t2o2X0KlVuacOpIR9B2xSQj+8I05JVmInNhMmSFjRuJiIiIKHyExw5H+dcAzTtK2Fj831BmXqJzVRRpOht7sf/VKlTvaA4MNGKNWLgqG0UfZaChl1Z3t94lhAWDDSIiIiKdaaqGxkPtqNzSiLr3W6C6taB90guTkL8iE9nL0ngCQERERETjxrXnYYiu4wAAObkYpqX361wRRZLOhh7se/UEqnc2A8MCjUWfzEHhR7NgiuIl6YmkCQ0f9p/E5q4KlNsqcNzerHdJYcF/RUREREQ6EEKgva4bVVuacGJ7E+w2V9A+1vQY5JdmYu5lGYhLjdKhSiIiIiKaTjwN/4H78K+9C4oFlrLnICkmfYuiiNBxsgf7Xq1Cza5TQYFG8TU5WHA1A42J1K86sbPnOMq7KrDFdgTtnh69Swo7/msiIiIimkB9HQ6c2NaEyq2N6DzZG7TdHGvE3EszkF+agZRcKyRJ0qFKIiIiIppuhKMDzi13+JdNF30fcuJ8HSuiSNBR34N9G6tQs/tUwHpLvMk7QuPqOTBaeAl6IrS4ulBuO4zNXRXY1VMJl/CE3G+uZSZOOE6F3BZJ+K+KiIiIaJy5HR7Uvt+Cqi2NaPywPeAOJgCQDRLmLJ2B/NJMzFqcCsXAvhlERERENHGEEHBsuweivwUAoGReAWPhV3Suiiaz9rpu7NtYhdo9LQHrLfEm7wiNqxhojDdNaDjS34hyWwXKuypw1N4Ycj+LbMIlcQVYmVCIldZCtLq78bkjT0xwteHHf11ERERE40DTBJor2lG1tQk1u0/B41SD9plRkID80kzkLk+HOZZ9M4iIiIhIH56qv0Ctfd27YE6EufRpSBJvtqFgbbU27Nt4AnXvBwYaUVYTiq/JxYKr5sBgVnSqbuqzay7s6q7EZlsFNtsOj9gIfIbRijJrEcoSCnFRXB4s8uCUcmweTkRERERBOht6ULmlCVXbGtHf4QzaHpcahbzSTOStyIB1ZowOFRIRERERDdJ66uHccZ9/2XLZE5Bj0nWsiCajthob9m6sQv0HpwPWRyWYsfhTOZh/JQON8XLaZcNm22GU2yqwu7sSDuEOuV9R9GystBaiLKEI86MyR5zWOMEQA5NkGHGqqlBMkgEJhsl1/spgg4iIiOg82W1OnNjejMotjWivDb77xRRtQO7F6cgrzURaQQL7ZhARERHRpCA0FY7ybwBub+83Q95nYci5VueqaDJprbZh74ZKnNzXGrA+OtGM4k/lYv6Vs2EwMdAIJyEEjtobUd5VgXJbBQ73N4TczywZsDy+AJdbi1BqLcQMk3VUx083JeL1hQ+gy9M36poSDDFINyWOev+JwGCDiIiI6Bx4XCrq955G5ZZGNBxog9ACG2dIioTZi1ORX5qB2SUz+Ms+EREREU067kPPQGvZAQCQYmfDfMmjOldEk8Xpqi7s21iFk/uHBRpJZiz+1FzMu2IWz3HCyKm5sbunEuVdh7HZdhgt7q6Q+6Ua47HSWoiV1iIsj89H1JAppsYi3ZQ46YKKsWKwQURERDRKQhNoOd6Jyi2NqN55Cm578NDdlFwr8kszkHtJOqLizTpUSURERER0dmrbQbj2rvctSbCUPQfJFK9rTaS/01Vd2LuhCg0HAgONmCQLFl+Xi3mXz4JiZKARDm3ubmy2HcbmrsPY0XMcDs0Vcr/5UZkoSyhCmbUIC6IzIbP/DQAGG0RERERnZWvuQ9XWRlRubUJvqz1oe0ySBXkrMpBXmonEzFgdKiQiIiIiGj3hscNR/jVA887Vbyz+JpSZl+hcFemp5Xgn9m2sQsPBtoD1MckWLLluLgrKMhlonCchBI7bm1BuO4zyrgp82F8fcj+TZMDyuHysTChCmbUQaaaEiS00QjDYICIiIgrB0etC9Y5mVG1pwumqrqDtRouC7GUzkV+aifQFSZBk9s0gIiIiosjg2vMwRNdxAICctAimpQ/oXBHp5dSxTuzbWInGQ+0B62NTorDkulzkl82CYuAIgXPl0jzY01OJcpt3iqlmV2fI/ZINcSi1LsDlCQuxPC4f0QpH/58Ngw0iIiIiH9Wj4eS+VlRubcTJvaehqcP6ZkhA5qIU5JVmIuuCGTBa+KsUEREREUUWT+N/4D78a++CYoHl8uchKec2Tz9FrlNHO7B3QxWaKoYFGqlRWHL9XOSXZjLQOEft7h5stR3Be7YK7Og+BvsIU0wVRKWjzFqElQlFWBg9m1NMjRHPxomIiGhaE0Kg9YTN2zdjRzOcve6gfZLmxCGvNBN5l6YjOtGiQ5VEREREROdPODvh3Hynf9l00fchJ87XsSKaaM1H2rF3QxWaD3cErI+b4Qs0VmRCZqAxJkIIVDlOYXNXBcpth3Gwrw4CImg/o6Tgorg8b5hhLUSGOUmHaqcOBhtEREQ0LfW09qNqaxOqtjbB1twXtD0qwYy8yzKQtyIDyVlsokhEREREkU0IAee2eyD6TwEAlIzLYSz8is5V0UQQQqD5cAf2bqzCqSOBgUZ8WjSWXD8XeZdlMNAYA7fmwfu9J1DuCzOaXB0h90s0xKLUugBl1iJcEl+AGIU3yoULgw0iIiKaNlz9btTsOoXKLY04dTR4blPFJCP7wjTklWYic2EyZIW/2BMRERHR1OCp+is8NX/3LpgSYF75NCROfTOlCSHQVNGOfRurgs5/4mdGo+T6PMy9LJ3nPaPU6enFVtsRlHcdxvbuo+jTnCH3y7PMRFlCEcqsRVgYMwcK/z8bFww2iIiIaErTVA2NB9tQuaUJdR+0QHVrQfukFyYhf0UmspelwRRt1KFKIiIiIqJzp/U2QDgCeyVomgZzfyW0dhnCcRrO7ff4t5kv/C7kmIyJLpMmiBACTR96p5xqOR4YaFjTY7Bk9VzMvYSBxtkIIVDtaEG5rQLlXYdxsK8WWogppgySggtj52JlQiHKrEWYZU7Wodrph8EGERERTTlCCLTXdaNqSxOqtjXB0R3crM2aEYP80kzkXZaB2JQoHaokIiIiIjp/Wm8D+v+2DFCD7x7PBuA8Hvwa567vQZn9Ucixs8a9Ppo4Qgg0HmrD3o1VOH28K2CbNT0GJWvykHtJOmRZ0qfACOAWKvb2VGOzrQLvdVWgwdUecr8EJQYrrAtQllCIS+PnI5ZTTE04BhtEREQ0ZfR1OFC1rQlVWxvRebI3aLslzojcSzOQvyIDKblWSBJ/oSciIiKiyCYc7SFDjTNSnd7XMdiYEoQQaDjYhn0bqnC6qitgW0JmDEpW5yHnYgYaI7F5+rDVdhTltgps7z6KHtURcr9cSxpWWgtRllCExTHZnGJKZww2iIiIKKK5HR7U7mlB1dZGNH7YjuEjg2WDhKylacgrzcCsxalQ2BCPiIiIiIimACEEGva3Yu/GKrSesAVsS5wViyWr85CzfCYDjRBqHad9jb8rsL+3FiqCpyw2QMbSuLko84UZs80pOlRKI2GwQURERBFH0wSaK9pRuaURtXta4HGqQfukFSQirzQDucvTYY5l3wwiIiIiIpoahBA4uc8baLRVDws0Zsd6R2gsmwmJgYafR6jY11vjCzMOo97ZGnK/eCUKK6wLsNJahMvi5yPewGmLJysGG0RERBQxOht6ULmlEVXbmtDfETzcPm5GFPJWZCJvRQasM2N0qJCIiIiIiGh8CCFQv/c09m2sQltNd8C2pDlxKFmTh+wL0xho+HR77NjWfQTlXRXY2n0UPao95H5Z5lSUJRShzFqIJbE5MEjKBFdK54LBBhEREU1q/TYnqrc3oXJLE9pru4O2m6INyL04HXmlmUgrSGDfDCIiIiKa0oTmgehrhNZdDdFdA7Vlt94l0TgTQqDu/dPY92pV0DlRcpY30Mi6gIEGANQ7WlFuO4xyWwX29VTDE2KKKQUySmJzsNIXZmRbZuhQKZ0vBhtEREQ06XhcKuo+OI2qrY1oONAGoQU2zpAUCbOXpCJ/RQZml8yAwcQ7aoiIiIho6hCqC6KnDlp3DbSeGojuGu/z7hqInjpAePQukSaA0ARq32/Bvler0FHXE7AtOTseS9fkYc4FM6b1zV0eoeJgbx3Kbd5+GTWO0yH3i1MsuCx+AcoSCnFZ/HxYDRzhH+kYbBAREdGkIDSBU8c6UbW1EdU7T8FtDz5ZS821evtmXJKOqHizDlUSEREREYWH8PRD666D6K6G1uMLLbqroXXXQvQ1ACL4TnOaHoQmULvnFPZuPIHOk4GBRkpOPErW5GHO0ukbaPSodmy3HUO5rQJbbUdgU/tD7jfbnIwy60KUJRSiJDYXRk4xNaUw2CAiIiJd2Zr7/H0zeluD5zyNSbYg77IM5JVmIjEzVocKiYiIiIjOjXB1D4606K6G1lPrfy76T439gIZoyPE5kOJzIMflQI7PgRAaXNu/E/7iacIJTaBm9ynse7UKnSd7A7al5lpRckMeZi9JnZaBRoOz3df4uwIf9JwIOcWUDAmLY7NRZi1CmbUIOZbpG/5MBww2iIiIaMI5elyo3tmMqi1NOF3VFbTdaFGQvWwm8kszkb4giXPFEtG4+NWvfoV//etfqK6uhsViQUlJCb7zne8gNzd3xNds3LgRDzzwQMA6k8mEQ4cOjXe5REQ0CQkhAGcHtO5qX2BR63+u9dQAjvaxH9QUDzk+F3J8LqS4bMjxOd7n8TmQooIv1KptB8L0aUgvmiZQs7MZ+149ga7GYYFGnhVL1+Rj1uKUaXWRXhUaDvX5ppjqOowTjtBBYIxsxmXW+VhpLUKpdQESOMXUtMFgg4iIiCaE6lZxcn8rKrc24eTe09DUYX0zJCBzUQrySjORfWEaDGYOEyai8bV792584QtfwKJFi6CqKp544gncdtttePPNNxEdHT3i62JjY/H222/7l6fTRQYioulICAHRfwqip3ZIgFHjnz4Kru6zH2QYyZIKKT4wtJDjsiHH5wLmRH63TBOaJlC9oxn7X6tCV2NfwLYZ+QlYuiYPmcXTJ9DoUx3Y0X0M5bbD2GI7jE5PX8j9Mk1JKEvwjsq4IDYXRpmXuKcj/lcnIiKicSOEQGtVFyq3NqF6RzOcve6gfZLmxCGvNBN5l6YjOtGiQ5VENF298MILAcuPPvooLrnkElRUVOCiiy4a8XWSJCE1NXXU76OqKlRVPec6z8fA++r1/kREkUJoKkR/E0R3DcRAs+6eWu/znjrAE3oO/zOKTocc5502SorLgRyfDSkuB1JcNiRTXMiXaACgja23hjbG/QNex+8HXWiqhpqdp3Dg79WwNQf+25pRkIAl189FxsIkSJJ0zv99I0WTqxObbYexufswPug9AbcI/jcpQUJxzBysjC/EyvhC5FrSBsMewd9zppKx/LdksEFERERh19Paj6qtTajc0ojuU8EngVEJZm/fjBUZSM6K16FCIqJgPT3e5pxWq/WM+/X39+OKK66ApmkoLCzE3Xffjfz8/BH3P378eFjrPBecKouICIDwwOhqgcnZCKOzGUZnE0yuJhidjTC6WiCL4Jtwzng4yHCbZsBtzoDblAGXOQNucwZcpgy4zTMh5CE37WgAugB0qQBOhPFDAQbXaeRIxjHVr0lGHD5xCp6TU/ui+WQjNIGOIw607OqHszPwAm5MphHpl8Qgdo4RrepJtB44qVOV40uDQA3asR8NOIBGNKAr5H5mGLAQ6ViCWViEDMT3WYA+oKf5FA7gHPrT0JTDYIOIiIjCwtXvRs2uU6jc0ohTRzuDtismGdkXpiG/NBMZC5MhK7IOVRIRhaZpGh555BEsXboUBQUFI+6Xk5ODRx55BPPmzUNPTw9+97vf4XOf+xzefPNNzJw5M+RrCgoKzji11XhSVRWHDh3CokWLoCic4o+Ipj7hsUP01vunivKOwPCNvOhtAELcDX5GshFS7Jwhoy58Iy7iciDFzka0YhqfDzJGWuEuwNkRsE5VVVRVVSEvLy/4O8CchIWxsyawwulNUzWc2NaMA6/XoKcl8MavmfMTsWT1XMxcMHWnILOrLuzsOY7y7sPY2n0EHZ7ekPvNNCZgpdU7KuPC2LkwcYqpaae/v3/UNwXxXwcRERGdM82joeFQG6q2NKHugxao7mF3fElARmEy8lZkIHvZTJii+KsHEU1O69atQ2VlJf74xz+ecb+SkhKUlJQELK9atQp//vOf8e1vfzvkaxRF0T1UmAw1EBGFi3D1eKeJ6q7x9bzwBhdadzVEX9PYD6hEeaeJ8vW7kOMGn0sxmZDkyf/zU7FmAcgKWCerKpxNEowzlvA7QCeaR0PV1ibse60KPaftAdvSC5NQsiYPGYXJOlU3vk75ppgq76rA7p4quIQnaB8JEhbGzEaZ1dsvIz8qfcqGOzQ6Y/lZxasLRERENCZCCLTXdqNqaxOqtjXB0e0K2seaEYP80kzkXZaB2JQoHaokIhq9hx9+GO+99x5efvnlEUddjMRoNGLBggWor68fp+qIiKYn4ewcDC38AYZv9IX99NgPaIyFHD93WIDh638RPZMXUymsNI+Gyi2N2P/aCfS0BgYaGUXJKFmTh/QFSTpVNz40oeFwfwPKbRUo7zqMY/bGkPtZZBMuiS9AmbUIK62FSDaG7jdDdDYMNoiIiGhU+jocqNrWhKotjehsCB46bIkzIvfSDOSXZiIlJ54nh0Q06Qkh8MMf/hDvvPMOXnrpJcyePXvMx1BVFcePH0dZWdk4VEhENHUJISAcrYGhRXet/zlcXWM/qCUZcly2d7qo+FzI8TmQfdNHwZLM309p3KkeDZWbG7H/7yfQOzzQWJiMpWvyMHP+1Ak07JoLu7qPo9xWgc1dh9Hm6Qm5X5pviqnLE4pwUVwezLJxgiulqYjBBhEREY3I7fCgdk8LKrc0oqmiHRCB22WDhKylacgrzcDsxamQDeybQUSRY926dfjHP/6BX/7yl4iJiUFraysAIC4uDhaLt+Hrvffei7S0NNxzzz0AgGeeeQZLlixBVlYWuru78cILL6CpqQk33nijbp+DiGiyEkKD6Gv2ThHl63nhDTC8j/D0jfmYUnQapDhfaBGfHRBgSGbrOHwKorNTPRqOlzfgwN9PoLfNEbAtc1EKlt6Qh7SCRJ2qC68WV5d3iinbYezuPg5niCmmAKAoejZWWgtRllCE+VGZDBYp7BhsEBERUQBNE2iuaEfllkbU7mmBxxncYDGtIBH5pRnIWZ4OcyzvtiGiyPSnP/0JAPClL30pYP369euxZs0aAEBzczNkeTC07e7uxoMPPojW1lZYrVYUFRXhz3/+M/Ly8iaucCKiSURoHojek74po7yjLQaadms9tYDqHOMRJUixs3x9LgYCDN8IjLgsSMaY8fgYROdEdas49l4DDrxejb72wEBj1uIUlKyO/EBDCIGj9kaUd1XgPVsFjvQ3hNzPIhmxPL4AZdZClFoLMcPEoJHGF4MNIiIiAgB0nOxB1dZGVG1tQn9n8Alo3Iwob9+MFRmIT+MJJRFFvmPHjp11n5deeilgee3atVi7du14lURENCkJ1QnRU+cNLbprfI26B57XAyPcsT0iyQApbs5gaBGXCzneN4VUXBYkxTw+H4QoTDwuFccHAo2OwEBj9pJUlKzJw4y8BH2KCwOH5sLuniqUd1Vgs+0wTrttIfdLNcZ7R2VYi7AsPh9RsmmCK6XpjMEGERHRNNZvc6J6exMqtzShvbY7aLsp2oDcS9KRX5qJGfkJHD5MRERENEUJdx+0noFRF7W+KaN8vS/6GhE0J+nZKGbfqIvBPhcDIzCk2FmQZF6Sosjjcak49p+TOPB6ddDNYLNLUrF0TR5S5yboU9x5anN3e6eY6qrAzu7jcAh3yP0WRM9CmS/MWBA9i+eIpBt+ixAREU0zHpeKug9Oo2pLIxoOtkFogSepkiJh9pJU5JdmYvaSVBhMik6VEhEREVE4CadtSJ+L6oARGKK/ZewHNMZAjsuF5BttIcfn+oMMKSYdksT+azQ1eFwqjv77JA6+UY3+rsBAY84FM7B0dR5SciNr6iUhBI7Zm1Buq0B5VwUq+k+G3M8kGbA8Lh8rE4pQZi1EmilhYgslGgGDDSIiomlAaAKnjnWicksjanadgtsePF1Aaq4VeaWZyL1kJqLiOfyfiIiIKNIIIQBHuy+wqB7sdTHQrNvZMfaDmhICQwt/z4scSJZU3q1NU5rHqeLIv+tx8B81sA8LNLIuTEPJmrlIyY6cQMOpubGnpwrltgps7jqMU+6ukPslG+L8jb+Xx+UjmtPD0STEYIOIiGgKszX3oXKLt29Gb5s9aHtMsgV5KzKRvyIDCZmxOlRIRERERGMhhAbRf8rfnFvrrh4SXlQD7t4xH1OKmjEYWsTlBAYY5shufEx0LtwOD478+yQO/aMadpsrYFv2RWkoWZ2H5Ox4naobm3Z3D7bYjqDcVoEd3cdg11wh95sXlYGV1iKUJRSiKHo2ZI64okmOwQYREdEU4+hxoXpnMyq3NKK1KrjJm9GiIGf5TOSVZiJ9fhIkmXfZEREREU0mQlMh+hqDQgvRUwutuxZQg29YORspJtPXnDtw1IUclw3JFBf+D0EUgdwOD468U4+Db9bA0R0YAOQsm4kla+Yiec7kDjSEEKhyNKO86zDKbRU41FcPEaJHjlFSsCwuH2XWIqxMKES6iSEmRRYGG0RERFOA6lZxcn8rKrc04eS+09DUYX0zJCCzOAX5pZnIuiANBjP7ZhARERHpSaguiN76wdDC17Bb66mG6KkHtNCNe0ckKZBiZw+GFkMDjLgsSIao8fkgRFOA2+HB4X/V4dCbNXD0DPl/TwJyls9Eyeo8JM2evAGgS/Pg/d4TKO+qwGZbBZpcnSH3SzTEotS6AGXWIlwSX4AYxTLBlRKFD4MNIiKiCCWEQGtVFyq3NKF6RzOcfcEnv0lZcchfkYm5l6YjOpG/tBIRERFNJOHph9ZdB9EzZNTFQMPuvgZAaGM7oGyCFJcFOT4Xcny2b8qoXG94ETsbkmwcnw9CNEW57IOBhrM3MNDIXZ6OkjVzkThrcgYaHe5ebO0+gvKuCmzvPoZ+zRlyvzzLTJQlFKHMWoSFMXOgcIopmiIYbBAREenI41JRs+sUavecQvupTnSU70f2RTORs3wmDKbQoyp6TvejamsTKrc2ovtUf9D2qAQz8i7LQF5pxqQfJk1EREQU6YSrG1p3rS+8qPYFGLUQ3dUQ/c1jP6Ah2js91NDQYqD3RUwGJJkjb4nOl6vfjYp/1eHDTbVBgcbcS9Kx5PrJF2gIIXDC0eJr/F2BA311IaeYMkgKLoyd6w8zMs1JOlRLNP4YbBAREemk7oMWlD9/EK4+DyABEEBv42nUvX8aO/5wGGW3FyPrgjQA3l+8q3edQtWWRpw6GjysWDHJyL5oJvJXZCBjYTJkhXfhEBEREYWDEAJwdvpDC+Fr2K1110B010A42sZ+UFO8r1F3ri/AyIYc730uRaVBktgDjWg8uPrdqHi7Dh++VRsw4l2SgNxLM1By/VwkZMbqWGEgt+bB3t5qlNsqUN51GA2u9pD7JSgx3immEopwSfw8xHKKKZoGGGwQERHpoO6DFrzzxF74b7AZ9ujq8+CdJ/ZiyfVzYWvuQ/0Hp6G6h01VIAEZhcnIW5GB7GUzYYri1zoRERHRuRBCQNhbfH0uBkMLrafa26zbZRvzMSVLir8590BoIftGYcCcyPCCaAI5+9yo+GctPtxUC1e/x79ekoC5l2WgZHUerOkxOlY4qMvTh622Iyi3HcZ221H0ao6Q++Va0lBmLUJZQhGKY7I4xRRNO7wCQkRENME8LhXlzx9EiFHDgQSw/9UTQasTMmOQX5qJuZdlIDaZTSCJiIiIRkMIDaKvKaDPhdbjCzC6awFP35iPKUXPhOSbLmogtJDisr3TR5k4JSiR3px9bnz4Vi0q3h4WaMgS8lZkYMl1c3UPNIQQqHWeRnlXBcpth7G/twZaqCmmIGNp3FyUWQtRllCE2eYUHaolmjwYbBAREU2wml2nvNNPjYElzoi5l2YgrzQTKTnxvMOPiIiIKAShuSF6Tw5p1F07+LynDtBcYzugJEOKmTXY52Kg10V8LuT4LEiG6PH5IER0Xhy9LlS8VYsP366D2x4YaOSXZmDJ9XMRn6ZfoOEWKvb1VqO86zA22ypQ7ww9pV28EoUV1gUosxbhMut8xCm8sY1oAIMNIiKiMBNCwNXvQX+XE/YuJ/o6HbB3OtHf5UR/pxONH45tHuYZ+Qm45sHlkA0cWkxEREQkPA5vn4ueWt+UUUMadvfWA0Id2wFlI6S4OZDjciHHD2vaHTsHkmIanw9CRGHn6HF5R2j8sxZu++DPAkmRkF+aiSXXzUV8mj6BZLenH9u6j+K9rgps6z6KHtUecr9s8wyUJRSizFqExbHZMEjKBFdKFBkYbBAREY2SEALOPrcvrHD6wgoH+oeEFv1dDvR3OaG6tLMfcJQUg8xQg4iIiKYV4e71BhUDoUXP4HPR14Szz+k5jGKBHDcstBho2B2TCUnm5RGiSOboduHQphoc/lcd3I7AQKNg5SwsuT4XcakTH2jUOVp9jb8rsK+3BiqCzxMVyCiJzUFZQhHKrEXIsqROeJ1EkYjf3ERENO0JIeDscaOvK3BkRX9XYHBh73IGN/AebxJgjjVO7HsSERERTQDh7BrWqLvG/1zYT4/9gMbYIaGFd8qogedS9ExIbKxLNOXYu5049GYtDv+rDh7nYKAhKxIKLp+FxdfORVzqxE3f5BEqDvTW+sKMw6h1hv5ZFqdYcFn8AlyeUITL4ucjntPa0QQ71eNGl2P0IxwTLApmxk2uaxMMNoiIaMoSmoCjxxUypBgYXWH3PdfUMd71NwJzjBFRCWZEJ5oRnWBGdKLF92j2PzYf7sCW33w4yg8BZF2UFpbaiIiIiCaSEALC0errcxEcYMDZOfaDmpP8jboHw4tcSPHZkCwp7ENGNE3YbU4cfLMGR96pDww0DBLmXT4bi6/NRWzKxAQaPaod22xHUW6rwDbbUdjU/pD7zTGnYKW1CGUJhSiJzYWRU0yRTk71uHHDX+rhGsN1EJMiYcNn50yqcIPBBhERRRxNE3DYBsKKIVNADYys6HR6R1/YXBDhCixijSFDCv+6BDOiEswwmM7+y2l0ogW7/nh0VA3ETTEG5CybGY6PQERERBR2QmgQ/c2DoUV3zZAAoxpw9435mFJU2mCj7vgcSHFDnpsTwv8hiChi9NucOPSPGhx5NzjQmH/FbBRfm4vY5PEPNE4621DeVYFy22Hs7TkBT4gppmRIWBKbgzJrIcoSipBtnsHwlSaFLoc6plADAFyqQJdDZbBBREQUiqZqsNtcvrDCMRhaDBtdYbc5IcKTV8ASbwoeXTEkvIhKsCA6wQTFGL67aQwmBWW3F+OdJ/aeeXpoCSi7vXhUYQkRERHReBGaB6K3wRtY9AyEF9W+8KIOUB1jPKIEKSbTN+rC27Db/zwuC5Ixdlw+BxFFrv4uJw6+UY0j/64P6GeoGGXMu3I2Fn8qFzFJlnF7f1VoONhX5wszKlDtaAm5X6xswaXW+SizFmKFdQESDDHjVhPRdMdgg4iIxp3m0dBvCw4p+jqdvrDCG2LYu11j7gMZkgREWc0hQgozYhItvkczoqxm3ZpyZ12QhqvvXory5w96R25I8H5236MpxoCy24uRdQGnoSIiIqLxJ1QnRE/94IiLnmpo3bW+53WAOPtI0wCSAikuC3LckNAiPgdyfDak2CxIhvG7AElEU0d/pwMHfSM0hvY7VIwy5n9kNoo/lYuYxPH5edKrOrCj+xjKuyqwtfsIOj2hR6DNMiWjLKEQZdYiLI3NhVHm5VaiicD/04iI6JypbhX9XS7Yuxz+kML76AhowO3odoXl/SQJ3v4VQ0ZX+EOKgXWJZkTFmyArk785ZNYFabjp2StRs/sUanefQvupTiTPTET2spnIWTaTIzWIiIgorISnH1p3LUR3NbQeX2gx0PuitwFjvsNEMXvDi/jcgEbdcnwOpNhZkOTJM10FEUWWvk4HDr5ejaP/dzIw0DDJWPCROSi+JgfR4xBoNDo7fI2/K/B+7wl4RHBzZQkSFsdkYWVCES63FiHXksYppoh0wGCDiIiCeFzqiCHF0CminL3usLyfpEiItg6Oroga3r8i0YzoBAss8SbI8tT6hdFgUpC/IhO5l8zE/v37sWTJEigKAw0iIiI6N8LVPaTPRfWQERg1EP2nxn5AQ8yQRt3ZvkbdvobdMemQpMl/MwkRRY6+djsOvFGDY/8JDjQKr87Cok/mIDrBHLb3U4WGD/vq/WFGlSP0z8lo2YxL4+ehLKEIK+IXIIlT5lEE0IRAt1NDp11Fh131PXpQ2e7Uu7SwYLBBRDSNeJxqQJPt4D4W3lEXzr7wBBayIg0JKoY13k6w+J9b4kyQplhgQURERDQehBCAswPa0NBioGl3Tw3gaB/7QU1W3zRRuUOadudCisuGFMVmt0Q0/nrb7TjwejWO/eckNM/g6DGDWcGCq+Zg0TU5iLaGJ9DoV53Y3n0M5bYKbLEdQaenN+R+GaZErLQWoSyhCBfGzoWJU0zRJGB3a0NCChWdDm9YMTS86LSr6HCo6LKrGGOP8IjC/yOJiKYAt8Pj710xNKTwBxe+8MJtH+PcyCNQjPLgqIphIcXQaaLMcUaeCBMRERGNkRACov+Urzn3sPCiuxpw94z5mJIlNTC08DXsluNzIZkTx+FTEBGdXW+bHfv/fgLH32uApgYGGoUfnYNFq3IQFYZAo9nVic1dh1Fuq8Dunkq4R5hialHMHJRZi1CWUIg8SzrPZ2nceVThCyeGhhWegJCi0zG4zeGZwknFGDHYICKapIQQcNs9I4YUA+vsXU64HcG/lJ0LxSQHBBNBwYVv9IU5hoEFERER0fkQmgrR1witJzC0EN210HpqAU//mI8pxWT4R1oEjMCIy4Zkigv/hyAiOkc9rf048PdqHC8PDDSMFgWFH83ColU5sMSbzvn4mtBQ0X8S5V2HsdlWgWP2ppD7WWQTLokvQJm1CCuthUg28mclnR9NCPQMnf7JH1p4gkZUdNpVdDu1sx90jIwykBRtQJJFQWKU90/SkMdep4bHt7eF/X0nGoMNIqIJJoSAq8/jHV0RoneFfcg6jzM8gYXBrIQcXRGVaEZMosXfgNsYZWBgQURERBQmQnND9NQPCS1qfE27qyF66gBtjNN/SjKk2NmQ43L8fS4G+19kQTJEjc8HISIKk57T/d4RGpsbIYYGGlEKCj+ajUWrsmGJO7dAo191YldPJcq7KrDFdhhtntCj29KMCShLKESZtQgXxeXBLBvP6f1o+nC4NX8QETCyYiCsGDLiotOhQg1zViEBSLAEBxSJUQoSLcPXGRBjlM54bedoqyO8BeqEwQYRUZgIIeDsdQeFFH2dTtg7nejrcsDuCyyGNkE7H8YoJXAaqCEhRdSQaaFMUfxxT0RERDQehMcOrafO16i7dkiAUQPR2wCEmO7kjGQjpLiswdDC17Bbjs+BFDsbknLudzATEemlu8UbaFRuGR5oGFD0sSwsXJUNS+zYf761uLpQbjuMzV3eKaacIvT0y0XRs1GWUIQyaxHmRWXwhr5pzqMJdIUMKkL3rLCPw/RPMUYJiVGGwUAiKKAYfG41K1DYlzQIr3QREZ2F0AQcvS7/6IrhIYV/xEWXI6DJ2fkwRRt8YYVlsPl2iCmijBb+GCciIiIab8LVA62n1jdllLdptxgYedEXenqTM1KiBkda+P54R13kQorJgCQr4f8QREQ6sJ3qw/7XTqBqaxOENni+bIo2oOjj2Vj48WyYY0c/YkITGo70N6LcVoHyrgoctTeG3M8iGXFxfAHKEopQai1EqjH+vD8LTV5CCPS4tMCpns7Qs8I2DtM/GWQgKcoQGE6EmgrKoiAhSoHFIIe9humGV8SIaNoSmoC9x+XtUzE8pBjaz6LLGXBHyfkwxxq9U0AlDE4BFdR0O9EMg4kns0REREQTSTg7B0MLf88L73PhaB37AY1xgVNFxef4p5CSomfybmEimtJszb5AY1twoLHwE9ko+ng2zDGjCzQcmgu7uitRbqvAZtthtLq7Q+6XaozHSqt3iqnl8fmwyBzhFskcHi1EQDFkZMXQnhUOFZ5xmP7JapGROBBWhBhRMTSsiDHJEfPdnmBRYFIkuMZwrcukSEiwTK5rVQw2iGjK0TQBh22EkGLI6Ap7lyvgF6zzYYkzIirBEjQF1OAUUWZEWRlYEBEREelFCAFhP+2fJmowwPBOIQVX19gPakmGHJczpFH3YNNumJMi5gIHEVG4dDX1Yv9rJ3BiWxPEkNNtc4zRF2hkwRR99kCj1d2NzV0VKLcdxq7u43CI0D2JFkTPQpkvzFgQPYs/dycxjyZgc4QOKQLCCt8+/e7wT/8UbZT8QUTANFAhpoOyWhQYpuj0TzPjjNjw2Tnocox+uswEi4KZcZOrHw2DDSKKGJpHg93mDA4pOr1BxcCyw+YM+AXqnEmAJc4UMCXU0GmgBqaFikowQ+EQQiIiIiLdCaFB9DUP9rnorh4yhVQN4Okb8zGl6JmQ4nMhx2X7Rl/kDk4fZeLUJkREANDV2It9r1ahekdzYKARa8TCVdko+uiZAw0hBI7aG1He5R2VUdF/MuR+ZsmAZfEFKLMWYqW1EGmmhDB/EhotIQR6fdM/dYUIKQLDCw9sDg3hjioUGb6QYrBx9og9KywKLEZeuxkwM8446YKKsWKwQUS6Uz0a7F3DRlcMCS3sXQ70dTrh6HEhHN+CkgRYrKFDiqHTQkVZzZAZWBARERFNKkLzQPSe9E0VVQ3RXesbgVEN0VMHqM4xHlGCFDsrMLSIy/aFGVmQjDHj8jmIiKaCzoYe7Hv1BKp3Ngecr5tjjVi0KgeFH50zYqDh1NzY3VOJ8q7D2Gw7jBZ3V8j9UgxxWJkwMMVUAaI4xdS4cQ5M/zRCY+2BsGJgGqhwT/8EeKd/ShrSmyLRYhixqXZcBE3/ROHHYIOIxo3qVoNHVviCC3uXE32+0MLRE3pI6VhJsoQoqylkSDF0nSXeBFlhYEFEREQ0WQmPA6K3Dlp3rW/KKG/vC62nFqKnHhCesR1QMkCKyxocaRE3pGl33BxIinl8PggR0RTVcbIH+16tQs2uU0GBRvE1OVhwdRZMUcGXHdvdPdhsO4xyWwV2dh+HXXOFPP68qEyU+cKMwuhZkCWew58LVROwOdUzNNUOnAaqbxymf4oySMOmfDL4m2oPDywSzAoMCoMKGh0GG0Q0Zh6XGhBSDI6scKKv0+EffeHsDVNgoUiDAUWI0RVRid51ljgT5Ck6/yERERHRVCPcfb5poqoDGnVr3TUQfY0Y81BdxeIbaZE9rGl3LqSYTEgyT3+JiM5XR/2QQGMIS7wJiz6Zg8Kr58BoGfx5K4RApb0Z5bYKlNsq8GHfSYgQP9+NkoJlcfkosxZhZUIh0k2J4/5ZIpEQAn1uEdA4e3AURfAIiy6HGv7pnyQEjJoYnPIpxMgKi4IoTv9E44S/2RGRn9vhGTbCYnB0xdA+Fq7+Md4hNwLZIHl7VwwLKWISLN6wYmCERawJEgMLIiIiojPSehsgHO2B6zQN5v5KaO0yIAdeWJAsyZBjZ41rTcJp8zXnroHwNeweCDCEvWXsBzTGQI7L9QUWgQ27peh0SLyjl4hoXLTXd2PfxirU7g782W2JN3lHaFw1GGi4NA/29FSh3Obtl9Hs6gx5zCRDLEqthSizFuKS+HmInqaj55weLSiYGB5YDJ0eyqWGf1RFvFke0lQ7sGfF8H4VcWYZMqd/okmAwQbRNOCye0JMATW8n4UDbrsalvdTjHJQSBGT6G2yPXTEhTnWyLkQiYiIiMJA621A/9+WhewvkQ3AeTzEixQzoj+9+7zCDSEEhKPN2+eiuxpaT81g0+7uWsDZMfaDmhMHQwtfw25vgJEDyZLC3x+JiCZQe2039r5ahbo9gYFGlNWE4mtyseCqOTCYFXS4e7GlzTvF1I7u4+jXQvc7yo9KR5m1CGXWQiyMmTMlp5hSNYFup4YOu2eEKZ+GjKxwqOhzhb9RhdkgITlKQYIluC/F8J4VCRYFRk7/RBGIwQZRhBJCwG33+EOKvk4H7EN7WXQNhhYeZ3gCC4NZ8Y+iGB5SDI66sMAUY+AJJxEREdEEEo72sTfNVp3e150l2BBCg+g/5Z8mytuku9b/HO7eMdcrRaX5R1rIcUOadsfnQDInjPl4REQUXm01NuzbWIW6D04HrI9KMGPxp3Iw74rZqBNteLHjPyi3HcbBvrqQU0wZJAUXxeWhzFqIldYiZJqTJuojhI0QAv1u4QskPAEhRajpoLocKrQwD6pQJCAh5IiKwZ4VQ8MKTv9E0wGDDaJJRggBZ597cPqnYSHF0Cmi1DCl+kaL4g0qztJ02xjFwIKIiIhoKhKaB6Kv0RtadA+GFsLXsBuqY4xHlCDFZPj6XPhCi7hs3/NsSMbY8fgYRER0ntqqbdi7sQr1ewMDjehEMxZek43ei1x4074f91a+gkZX6FF5iYaYgCmmYhTLRJQ+Jm5VDJn+yXOWptoqnOMw/VOcSQ5uoG0ZElYM2RbP6Z+IgjDYIJogQgg4e9wBwUSo0RX2LidUd5gCiyjDiCHFwOiKqAQzTFH8UUBEREQ0HTl33A/hbIfoqQc099heLCmQYuf4RlpkB466iM2CZJh8F7KIiKaqPVUNaGy3BawTQqC5uQP17iNBNylmJltxUd7giL3WE13Yu7EKJ/e1BuwXlWiC4SMmfFBUjWf730VvXeigO9eS5p1iKqEIxTFZUCZ4iilNCHQ7NF8fCs8ZR1R02FX0jsP0TyZFCgophjfTHggsEjn9E9F549VMovMkNAFHjytkSDEQYth9IYbmCU/Cb4o2hAgpBoOLgWmiBhp3ERERERGFop3efeYdZJN3yqg4X2Dh63chx2dDip0NSTZOTKFERDSiPVUN+GDdfhhUJWibCUA7TgatP6WowA+ALMRi74YqNBwIDDSQAFRdehrv5B+Cx6ABw2YdNEDGBXFz/WHGLHNy+D4QvKGM3SOGBRShe1Z02FXYHCrCPahCloCEgamfQoYUA+u9YUW0UeIsF0QTiFc9iUagaQKObtew0RUO/6gKf3Bhc0KE6dvTHGsMGVJ4G29b/A24DabgX1aIiIiIiM6JIXowtIgbaNSd7X2MTock83dPIqLJrLHdFjLUOBODquDwbytxoD5wBEZ/vAu7lp3A4aJGaIbAax1WJRorrAtQZi3CpdZ5iFOixvSeblWga3h/CodnxKbazjDdHDpUrEkebKY9QliR4Asr4s0yFJlBBU1N6ukWaN1do95fjk+AMiNt/Ao6Bww2aNrRVA32bpevf0XgFFB9Q0ZX2G0uiDB1e7LEmwIabA8NKQZDDBMUI08aiYiIiGjiWD72NyiZl/MOUyKiacg9JNTojrfj/eU1OFLUBE0ZvBaSY5nhHZVhLUJxbBYM0uB1C00IdDs1fygxOIpiWFjhmwKq2xn+6Z+MMpAUbRihqfbQ8MI7qsLE6Z+IoJ5uQevtNwFu1+hfZDQh9fk/Tqpwg8EGTRmaR0O/LXRIETAtVLcLCEdeIQFRA4FFomVISOHtXTEwRVSU1QzFMLFzSxIRERERjYZkSWKoQUQ0jdl8gcZRX6ChQEZxVA6KTfORKxXA4E5AR6sH79Wr2GhvDQgruuzhn/5JwuD0T8NHUwSPsDAghtM/EY2Z1t01tlADANwuaN1dDDaIxkJ1q+jvcsHe5UDfwDRQIRpwO3rCE1hIEhBl9Y2mGBZSBEwRZTVBVhhYEBEREREREVHk2XXxCbx/cQ0kyYSo3nxoHVnwdM7GUdWCowAAF4DT5/0+MUbJP2JipKbaA8+tZoXTPxHRqDDYIN14XGpwSNHpDGzC3emEs9cdlveTZAlRCSbEJFgQlThsdEXCYHBhsZoh80uUiIiIiIiIKKIIIaBBwKOpcPn+uDUNLk2F0/fo8T16t6lwC837qGlwqR64VQ0ejwa3xwOPR4NHVaGqGtyqCtWjQfUta6qApmpQNQ3akGWhahCa8P5RfY+aBqjwPmoANOH7A0i+x4HnkgbvH4HB5xoga5J/naxJ/kdZk2B0yUhB3Jj/vmpToiBXXQupdybcwjvF1GiuhhhlIDHKMMKUT0OCCouChCgFFs5iQUTjgMEGhZ3HqfpDieEhxdB+Fs6+8AQWsiIFjq5ICDG6ItGMqDgTJAYWRERERDQFVXZ3INGRDKdr9Be2zKYeNHR3YH7KOBZGRBNCEwKaBniEgFv1Xqh3aRqcvkeP73Hggr5HqIMX8zUVHqHBrWlwC+86j+9iv0do8GgeeDQNHo/vwr6mwaNqUD0qNM13QV/zXuwXHu9FfE34Luqrmu9ivvcCP1TfBX0hIFTfRX0hABWQxMCFft8FfgFIqu8CvwBkdfBivywkyBogab5HASia5F0WEmTV+yhp8uD6gD+yLxwYtl4EXoBXfH/ObuB1kdU3U+4ogGxMhwTAapEHw4oRmmoPhBUxJpnTPxGdByEE4PFAqB7A4wFU1fdc9a8LfAxeD1WF8HgAzfeoeoY8qsOWvfsPvF7raNf7ryAsGGxMAh6Xippdp1C75xTaT3Wio3w/si+aiZzlM2EwTZ4vRbfDEzKkGDriwt7lhKvfE5b3kw2SP5gYGlL4G3AnmhGTYIE51sjAgoiIiIimtZM1bdi+46fQNNOoXyPLLsye34b5ueNYGNE40YSAqgGqJuARgcveC/QaXOrgxXz3wIV81Xvx3uW7iO/RtIC79j3C+1qPpsEjVHg0FR4MLPvWCQ2q77WaR4Wqei/mq5oGoarQNDHkrn0NmiYAVQM0DULA9xyApnmnU/bdpe999N2xLwQg4Lt471323qE/cOe+8N/BLw+/0C+CL+JLmjTsAr8csM9gICD7gwFFSDBoEhRtNHfbjz4CoPATEJBGNdYi0I25Rqy+PBtWiwIDr6vQJCaECLgwP+IFf3XosuoLAM52wX9gvTokNBgMA0YdGqihQonQNUNT9f4rnRIYbOis7oMWlD9/EK4+j3e8nwB6G0+j7v3T2PGHwyi7vRhZF4xfUxYhBNx2z4ghhb+nRacDbkd4/qdTjHLw6Arf8tAposwxRt4BQEREREQ0Cs5e45hCDQDQNBOcvWHu+krjQgjhv9Fd1UTIi/lDlz2qBo8QcArvtDr+C/vq4B35Qx89AY++i/hQBy/uC813Md+7rPqXVagY3KbBNy2PpkJThfcu0oFpeHwX+wfu1h+cikcDxJAL+2Lgbn0RdEF/YJv/Ir7v4r4s4P3ju8AffHd+4IV8acgd/bImD7m7P3h/syYhaoRAYPBCsoTBC/tG3f6dUDBNFtBkASF5nwsZEPLgc0iApngfhQxAlnyPgJAlSIp3nfcPICmS98ZKWfI9lyEr3uey77msyJBlCYpBgaxIUBQZiiLDoCjeR4MMg0GBUfE9+v6YBh6NCoyKAqNRhsEow6BIMCje54ph4D28dcgG73u9+vZmdLzcP+a/nyQ4kRzNS4NTkRDen8GhRwCEutgeKggIDglGChWCgoCgUQTBAcGItYUID6AyCKBg/Omlo7oPWvDOE3sHG14Pe3T1efDOE3tx9d1LxxxuCCHg6vcENdj2hhUOX1jhXe9xhueHg8GsBPatSBzagHtwxIUp2sDAgoiIiIgojFzGRABjv6jlfd3kIwYu2Psu6Hsv5p9techzAbjVwbvwXdrg3fiu4XfnD3kcuGDvHnZX/sAd+yqGXtTXoML36LvA77+4P/AIDZpQvdPyCO8d+xhyoV8auMAvtKC79SVNQILvor4AZN9F/8EL+AKSkKD4Lvj71/vv3vdewFfU4LvxR3X3vm+dSZNgCQgEfPsODQdUGbKQIWkKZMFzvclOkwYu8A9e6B/6B0MeBy7oQ5H8y5Lvov7AxX15+KMi+/4MXtRXDPLgBX6D7L1Qr8gwGBUYDbL3Qv7AhX2TAUZFgtGg+C/cDwQGkjLkuSxBNgx/38EL/pIEXnugUTtrEDDkYvtYQoKBUQTnMgJgcCTASNtGPgaDAB1IEqAYIBkMgKL4Hg2AwQBJMQAGxffoW/bvM2z9sNcPPiqBxx927MB9RzqGd73aeBJdj31f77+x88ZgQycel4ry5w8OhhkjEUD58wdx07NXwmBSIISAs9c9JKwYElIMG3GhurWw1GqMUryjKRLMiPGHFYHTQkUnmGGMYmBBRERERJHllVdewQsvvIDW1lbMnz8fDz74IIqLi0fc/6233sKTTz6JxsZGZGdn4zvf+Q7KysomsOLw2tndj7p9x71T8cA7D78qxJC79FXfhfvBaXg0CO8Ff6FBEwMX+wW8l/YHL+oPf65BgxjyTAgVQmjeO/WFNuxivoAshO9OfO/FfWVgah4xcMe+GHwufBf9tYH1gdPxnOkCvvcCf+D6we0yDEKCSR1+vNDz9nvXK5A0wxnn7afJR0jiDBf3AaFIkIZe6B+4Y1+B/0K/JA+5uO67g18xeNcpBhmKLPku7CswGCQoiveivv8OfoPvjn7f3f2yYTAgGLi4H3QBP+iCv28UQYgL/gPLPG+ncBnp7vrhF9sDLviPGB6cZQSAGipECFw+a0gQYhRBwOtpYg0LAs5+MX+ki/oD65SAdYOPodafOSQY6RhBtcjKYI1KBE3HN0WCLwYbOqnZdco7/dQouPo82HjfVmiqgN0WvsDCFG3whRXe0CJU0+3oRDOMFv4zISIiIqKpZ9OmTVi/fj3WrVuHxYsX48UXX8Rtt92Gt99+G8nJyUH77927F/fccw/uvvtuXHHFFXjjjTdwxx13YOPGjSgoKNDhE5w/e309KtqqAu/GHzY/v6JJMIa88C+fccofSRiG3dE/PFDgxf5IMHBXP2QxZLoeQJKE/6K/NPBHGnwu+/5Isu9mf9+yIktQZPj+SL5t3kdF9j2XJRhkX4YgS5Al4b2IP3Bs3/EG3k+WhG/bwL6D7y1DBLxOkoYs+47hfZS9U2QN/ewBywIBdyYOv0lx2GsR9NqRFwP2VeFtsD3icYcvjryv5ltWB3c+w4HOsjyWzz5kB3GW+s/893SW157hswfXNHTTWD/7WPYd/X+7M+171r+3Ya912SQAc4PKPRvnnh3o2Pn3sfURGDKC4Yx/VzQ+RnNXvzxyQHDWC/5DRxGcbcRBqPXy0AAgVChhiMwggCYlXrHWSd37Lf6eGqPR3TL6YeXmGGPIKaCiE80BU0UZzPwBQkRERETT1+9//3t85jOfwQ033AAAWLduHd577z1s2LABX/3qV4P2/8Mf/oDS0lJ8+ctfBgB8+9vfxvbt2/Hyyy/j4YcfHvF9VFWFOs53xmmjPbEYZvH+OWGuZHoQ8Dd8AHzPJW83aEjQIEm+R6FBggrZt14WKiQIyFAhC+/2geey0KD49pGFBkUMrpcGXu8/puY/5uBxNe9ol4FjY6TXeWsYeO9Q+wwef2pctBy4NXBq3J9KFCwpJQddSjYM6uiv83gUFcm1h+FqqxnHyiYB/131wy7Wh7jw7r9AP9IogpBT/ihDjjf8PZSgC/8hL/gHjQbwjT4YPsJAViJ6xNXwmfinyqiBSKRq53bTvKppkMf5v9tYfmdmsKETZ6971KHGAHOsMXRIMWRaqKgEMwwmBhZERERERGficrlQUVGBr33ta/51sizj0ksvxb59+0K+Zv/+/bjlllsC1q1YsQLvvvvuGd/r+PHj513v2bS3tkFBzLi/z5kNvciv+i6KB15gD7xoPngBXhbedfKQi/lDlwNfNxAIhL6w779YPzwAGH5hP+B1I4cGg+81NDwgIpo8ittqgJS/4rQ1eLThSGb0tXtfN4yQZQjZe0F/8FEeXJZlCMV7kd37OHxZgVDkYcu+/YYcb3SvGbJ+aA3+x1C1Dr7GPyxrshEAPPBNf8UpsGjiGZtOYsY5vO74sWNw94y9p9t4YbChE3OscfQjNiQg64IZuPruC8a7LCIiIiKiaaGzsxOqqgZNOZWcnIzq6uqQr2lra0NKSkrQ/m1tbWd8r4KCAkRHR59fwWdR09KDLtjH/Dpz1klcaHZ7AwHZ199CFt7pfPxT9AwsC+9UPsCQfeHfVxo+s1TQxSRp5O1B150k+Oc5wrAGwGe7SDV8e8Dy8G1neu2ZjjNs81k+a9AdttKIC2epf/jbhOuzBu5w5nrP9j56fFZAGnrsMXzWoO1jee3Z/p7OsO9Z77o+47/5c/+3eM6fFcP/Pxy26xnfZ5w+a9D+Z/k3cq5/T0GbJ+b/2eASR36tp/Ekip9+DBjj6Avrwz+DYe68wBEGkzEIIKKwUjPT0fF7E+B2jf5FRhPmX7QMSmra+BUGoL+/f9Q3BTHY0EnWhWmo3dMyup0FkL1s5vgWRERERERE40JRFCjjPI+0fI5jCGJK52HBqshtfk5ERIDbbEHvObzOEGeFMd4a9nqIaHJTZmYg9fk/QuvuGvVr5PgEKDPGN9QAMKbfmRls6CRn+Uzs+MPhUTUQN8UYkMNgg4iIiIgobBITE6EoCtrb2wPWt7e3B43KGJCSkhI0OuNM+xMRERERTUbKjLQJCSrG0/DBwjRBDCYFZbcXhxi+OYwElN1ezL4ZRERERERhZDKZUFRUhB07dvjXaZqGHTt2oKSkJORrlixZgp07dwas2759O5YsWTKepRIRERER0TAMNnSUdUEarr57KUwxvoEzAyGH79EUY8DVdy9F1gWRnZ4REREREU1Gt956K/7617/i1VdfxYkTJ/DQQw/BbrdjzZo1AIB7770XP/vZz/z733zzzdiyZQt+97vf4cSJE3j66afx4Ycf4otf/KJeH8Ev1Wia0NcREREREemJU1HpLOuCNNz07JWo2X0KtbtPof1UJ5JnJiJ72UzkLJvJkRpERERERONk1apV6OjowFNPPYXW1lYsWLAAv/3tb/1TSzU3N0OWB+8FW7p0KR5//HH84he/wBNPPIHs7Gw8++yzKCgo0Osj+BXPmYXjaIMYwymeBA+K58wax6qIiGgiyPEJgHHsjYDl+ITxKomIaNxJQgihdxGTRX9/P44cOYIFCxYgOjp6wt9fVVXs378fS5YsGffmgkRENLnwO4CIIo3evztHgon+O7IdOwl7S2fAOlXTUF9XhzlZWVDkwAH7UWmJsM6bPe51ERHR+FNPtwQ1AlY1DcePHUPBvHlB3wET1QiYiGgsxvL7M0dsEBERERERTQHWebODggpVVXEqTsXMJYsYnBMRTWGhGgHLqgp3Tz+Mcwv4HUBEUw57bBARERERERERERERUcSY8sFGc3MzvvSlL2HVqlX41Kc+hbfeekvvkoiIiIiIiIiIiIiI6BxN+amoFEXB2rVrsWDBArS2tmLNmjUoKyvjPMBERERERERERERERBFoygcbM2bMwIwZMwAAqampSExMhM1mY7BBRERERERERERERBSBdJ+Kas+ePbj99tuxYsUKzJs3D++++27QPq+88gquvPJKLFq0CDfeeCMOHjx4Tu/14YcfQtM0pKenn2/ZRERERERERERERESkA91HbPT392PevHm44YYbcOeddwZt37RpE9avX49169Zh8eLFePHFF3Hbbbfh7bffRnJyMgDguuuug6qqQa994YUXkJaWBgDo6urCfffdhx/+8Ifj+4GIiIiIiIiIiIiIiGjc6B5slJWVoaysbMTtv//97/GZz3wGN9xwAwBg3bp1eO+997BhwwZ89atfBQD8/e9/P+N7uFwu3HHHHfjKV76CpUuXnrUmVVVDBiXjbeA99XhvIiLSF78DiCjS8OcVERERERHpRfdg40xcLhcqKirwta99zb9OlmVceuml2Ldv36iOIYTA/fffj4svvhjXX3/9qF5z/Pjxcyk3bA4dOqTr+xMRkX74HUBEREREREREdGaTOtjo7OyEqqr+KacGJCcno7q6elTH+OCDD7Bp06aA/h0/+clPMG/evBFfU1BQoEtzcVVVcejQISxatAiKokz4+xMRkX74HUBEkaa/v1/3G4KIiIiIiGh6mtTBRjhceOGFOHr06JheoyiKrheV9H5/IiLSD78DiChS8GcVERERERHpRda7gDNJTEyEoihob28PWN/e3o6UlBSdqiIiIiIiIiIiIiIiIr1M6mDDZDKhqKgIO3bs8K/TNA07duxASUmJjpUREREREREREREREZEedJ+Kqq+vD/X19f7lhoYGHDlyBFarFRkZGbj11ltx3333YeHChSguLsaLL74Iu92ONWvW6Fg1ERERERERERERERHpQfdg48MPP8TNN9/sX16/fj0AYPXq1Xj00UexatUqdHR04KmnnkJraysWLFiA3/72t+MyFZWmaQAAu90e9mOPhqqqALyNGDlnMRHR9MLvACKKNAO/Mw/8Dk3B9D6/APj9QkQ0nfE7gIgizVjOMSQhhBjvgiJFe3s7amtr9S6DiIiIiChiZGdnIzk5We8yJiWeXxARERERjd1ozjEYbAzh8Xhgs9lgNpshy5O6/QgRERERka40TYPT6YTVaoXBoPtA8EmJ5xdERERERKM3lnMMBhtERERERERERERERBQxeNsQERERERERERERERFFDAYbREREREREREREREQUMRhsEBERERERERERERFRxGCwQUREREREREREREREEYPBRoTo7u7GmjVrcN111+Gaa67BX//6V71LIiKiCWa323HFFVfgscce07sUIiKKcDy/ICIinl8QUSQz6F0AjU5MTAxeeeUVREVFob+/H9dccw2uvvpqJCYm6l0aERFNkOeffx6LFy/WuwwiIpoCeH5BREQ8vyCiSMYRGxFCURRERUUBAFwuFwBACKFnSURENIFqa2tRXV2NlStX6l0KERFNATy/ICKa3nh+QUSRjsHGBNmzZw9uv/12rFixAvPmzcO7774btM8rr7yCK6+8EosWLcKNN96IgwcPBmzv7u7Gtddei7KyMtx2221ISkqaqPKJiOg8hOM74LHHHsPdd989USUTEdEkx/MLIqLpi+cXREQMNiZMf38/5s2bhx/84Acht2/atAnr16/HHXfcgVdffRXz58/Hbbfdhvb2dv8+8fHxeP311/Hvf/8bb7zxBtra2iaqfCIiOg/n+x3w7rvvIjs7Gzk5ORNZNhERTWI8vyAimr54fkFExB4bE6asrAxlZWUjbv/973+Pz3zmM7jhhhsAAOvWrcN7772HDRs24Ktf/WrAvikpKZg/fz7ef/99fPzjHx/XuomI6Pyd73fAgQMHsGnTJvzzn/9EX18fPB4PYmJicOedd07URyAiokmG5xdERNMXzy+IiDhiY1JwuVyoqKjApZde6l8nyzIuvfRS7Nu3DwDQ1taG3t5eAEBPTw/ef/99JutERFPAaL4D7rnnHpSXl+P//u//cN999+Ezn/kMTzqIiGhEPL8gIpq+eH5BRNMFR2xMAp2dnVBVFcnJyQHrk5OTUV1dDQBoamrCgw8+CCEEhBD44he/iHnz5ulRLhERhdFovgOIiIjGgucXRETTF88viGi6YLARIYqLi/H3v/9d7zKIiEhna9as0bsEIiKaAnh+QUREAM8viChycSqqSSAxMRGKogQ08gOA9vZ2pKSk6FQVERFNBH4HEBFRuPG7hYho+uJ3ABFNFww2JgGTyYSioiLs2LHDv07TNOzYsQMlJSU6VkZEROON3wFERBRu/G4hIpq++B1ARNMFp6KaIH19faivr/cvNzQ04MiRI7BarcjIyMCtt96K++67DwsXLkRxcTFefPFF2O12DgkkIpoC+B1AREThxu8WIqLpi98BRESAJIQQehcxHezatQs333xz0PrVq1fj0UcfBQC8/PLLeOGFF9Da2ooFCxbge9/7HhYvXjzRpRIRUZjxO4CIiMKN3y1ERNMXvwOIiBhsEBERERERERERERFRBGGPDSIiIiIiIiIiIiIiihgMNoiIiIiIiIiIiIiIKGIw2CAiIiIiIiIiIiIioojBYIOIiIiIiIiIiIiIiCIGgw0iIiIiIiIiIiIiIooYDDaIiIiIiIiIiIiIiChiMNggIiIiIiIiIiIiIqKIwWCDiIiIiIiIiIiIiIgiBoMNIiIiAJs2bcI777yjdxlERERERERERHQWDDaIiGja27x5M37+859jyZIl53yMp59+Gtddd51/+f7778c3vvGNMFRHRERERERERERDMdggIooQt99+O2677baQ295//33MmzcPR48e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/Ofxk5/8BFarFRkZGfjtb38Lh8OBT3/60yPWGRsbi//6r//C+vXrIYTABRdcgJ6eHuzduxexsbFYvXo1nnzySRQVFSE/Px8ulwvvvfce5s6de87Hmyg333wz7r//fixcuBBLly7FG2+8gcrKSsyePTvk/mazGV/5ylfw05/+FEajEUuXLkVHRwcqKytx44034lOf+hReeOEFfP3rX8e3vvUtpKWloampCe+88w6+/OUvY+bMmRP22YiIiIiI9DDSec5UPschIqJzx2CDiCgCffrTn8bf/vY3lJWVBQyBnj9/Pl566SX84he/wE033QQAmD17NlatWuXf56GHHsITTzyBhx56CF1dXcjIyMDXvvY1AEBaWhq++c1v4mc/+xkeeOABXH/99Xj00Ufxne98B0II3Hvvvejr68PChQvx29/+Flar9Yx1fvvb30ZSUhJ+9atfoaGhAXFxcSgsLMTtt98OwHv31BNPPIHGxkZYLBZccMEFeOKJJ875eBNl1apVqK+vx09/+lM4nU587GMfw+c//3ls3bp1xNd84xvfgKIoeOqpp3D69Gmkpqb6+3RERUXh5ZdfxuOPP44777wTfX19SEtLwyWXXILY2NiJ+lhERERERLoKdZ4z1c9xiIjo3EhCCKF3EURERERERERERERERKPBHhtERERERERERERERBQxGGwQEREREREREREREVHEYLBBREREREREREREREQRg8EGERERERERERERERFFDAYbREREREREREREREQUMRhsEBERERERERERERFRxPj/2bvv8KiqrY/j35lJJyFACCi9JtSQUKT3YgHEilIF6QIi6hW49lcvYEGl9w5WxIIi0gQB6R2k9yYdElKnnPePmIGQQoAkk/L7PA8PnH3amklC9p519tpKbIiIiIiIiIiIiIiISLahxIaIiIiIiIiIiIiIiGQbSmyIiIiIiIiIiIiIiEi2ocSGiIiIiIiIiIiIiIhkG0psiIiIiIiIiIiIiIhItqHEhoiIiIiIiIiIiIiIZBtKbIiIiIiIiIiIiIiISLahxIaIiIiIiIiIiIiIiGQbSmyIiIiIiIiIiIiIiEi2ocSGiIiIiIiIiIiIiIhkG0psiIiIiIiIiIiIiIhItqHEhojIXQgODmbs2LGuDiNH6tKlC126dHF1GNnS0KFDadasWaI2fa+KiIiIpF1a+6IbN24kODiYjRs3ZkJU4mqnT58mODiYhQsXZvp9xo4dS3BwcIbeN7MNHTqUsLAwV4chIjmEEhsiIv+aP38+wcHBPPvss64ORTLItm3bGDt2LOHh4a4ORURERETuw8mTJ3nnnXdo3rw5VatWpXr16jz//PPMnj2bmJgYV4eXJosWLWLWrFkZcu3z588zduxY9u3blyHXFxERcTU3VwcgIpJVLFq0iKJFi7Jr1y5OnDhByZIlXR1SrjJ9+vQMv8f27dsZN24cTz75JHnz5s3w+7nSrl27sFgsrg5DREREJN2tWrWKQYMG4eHhQbt27QgKCsJqtbJ161Y++eQTDh8+zAcffODqMO/ol19+4dChQ3Tr1i3dr33hwgXGjRtH0aJFqVixYrpfXzJev3796N27t6vDEBHJspTYEBEBTp065fzQ+5133mHRokUMGDDA1WHlKh4eHq4OIUfx9PR0dQgiIiIi6e7UqVMMHjyYIkWKMHv2bAoVKuTc16lTJ06cOMGqVatcF6CL2Ww2HA6Hq8NIs6ioKHx8fDLlXrGxsbi7u2M2Z4/iJW5ubri56WO77CAzv49F5Kbs8b+5iEgGW7RoEf7+/jRu3JiHH36YRYsWpem8hLqnx44d4/XXX6dGjRrUqVOHL774AsMwOHfuHP369aN69erUr1+fGTNmJDo/Li6O0aNH89RTT1GjRg1CQ0Pp2LEjGzZsSHIvh8PB7Nmzadu2LVWrVqVOnTr06NGD3bt3Jzrup59+4qmnniIkJISHHnqIwYMHc+7cuUTHdOnShTZt2nD48GG6dOlCtWrVaNiwIVOnTr2n+BJqwk6fPp358+fTvHlzqlWrxosvvsi5c+cwDIPx48fTqFEjQkJC6NevH9euXUsS0+11jePi4hgzZgwtW7akSpUqNG7cmI8//pi4uLhExwUHB/N///d/LF++nDZt2lClShVat27Nn3/+mehr9fHHHwPQvHlzgoODCQ4O5vTp00D8IHD8+PG0aNGCKlWq0KxZMz777LMk90rJkSNHePnll3nooYeoWrUqTz31FCtWrEh0zMKFCwkODmbr1q2MGDGCOnXqEBoaSv/+/bly5Uqa7pPwGqtWrUqbNm1YtmxZssfdvsbGjRs3+N///kezZs2oUqUKdevWpXv37uzduzfReTt37qRXr17UqlWL0NBQ2rZty+zZsxMds379ejp27EhoaCg1a9akX79+HDlyJE3xi4iIiNyPadOmERUVxf/+979ESY0EJUuW5IUXXnBu308f759//uGll14iNDSUunXrMnz48DT3De/U9+rSpQurVq3izJkzzn5pwppp99IHnzVrFi1atKBq1ap8+eWXPPPMMwAMGzbMef2E9Ruio6M5cuRImvufd+of7t+/n6FDhzrLgtWvX59hw4Zx9erVRNdJGDsdPnyY1157jVq1atGxY0cgfqwzduxYGjRoQLVq1ejSpQuHDx+mWbNmDB061HmNa9eu8dFHH9G2bVvCwsKoXr06PXv2ZP/+/YnulbAWyq+//srnn39Ow4YNqVatGjdu3EjxdYaHhzN06FBq1KhBzZo1GTJkCBEREckem5a+//3eJ7k1NtatW0eHDh2oWbMmYWFhPPzww3z22WeJjomNjWXs2LE8/PDDVK1alQYNGjBgwABOnjzpPCYqKoqRI0fSuHFjqlSpwsMPP8z06dMxDCPV2MeMGUPlypWT/d55++23qVmzJrGxsXd8D06dOkWPHj0IDQ2lQYMGjBs3LtG9U1rLJrm1SC5evMiwYcNo1KgRVapUoUGDBvTr1885zkuwevVqOnfu7Py+efrppxON+7ds2cLLL79MkyZNnGPP4cOHJyltl7BOyMmTJ+nVqxdhYWG8/vrrd3zNIpL+lPoVESE+sdGyZUs8PDxo06YNX331Fbt27SIkJCRN5w8ePJiyZcvy2muvsXr1aiZOnEi+fPn4+uuvqVOnDq+//jqLFi3io48+omrVqtSqVQuIH/B89913tGnThmeffZbIyEgWLFhAz549+e677xJNG3/zzTdZuHAhjRo14plnnsFut7NlyxZ27txJ1apVAZg4cSKjR4/m0Ucf5ZlnnuHKlSvMmzePTp068eOPPyYqv3T9+nV69uxJy5YtefTRR/n999/59NNPCQoKonHjxncdX8L7aLVa6dKlC9euXWPatGm88sor1KlTh40bN9KrVy9OnDjBvHnz+OijjxgxYkSK76nD4aBfv35s3bqV9u3bU7ZsWQ4ePMjs2bM5fvw4EyZMSHT81q1bWbp0KR07diRPnjzMnTuXl19+mT/++IP8+fPTsmVLjh8/zi+//MKwYcPInz8/AAUKFADgrbfe4ocffuDhhx+me/fu7Nq1i8mTJ3PkyBHGjx+f6tf/0KFDdOjQgcKFC9OrVy98fHz47bff6N+/P2PHjqVly5aJjv/www/JmzcvAwYM4MyZM8yePZv/+7//44svvkj1PmvXrmXgwIGUK1eO1157jatXrzJs2DAeeOCBVM8DePfdd/n999/p3LkzZcuW5dq1a2zdupUjR45QuXJlIH6g1KdPHwoVKkTXrl0pWLAgR44cYdWqVc4PCP766y969epFsWLFGDBgADExMcybN48OHTqwcOFCihUrdsdYRERERO7VH3/8QfHixalevXqajr/XPl5MTAwvvPAC586do0uXLhQqVIiffvop2QeQknOnvlffvn2JiIjgn3/+YdiwYQDkyZMHuPs++MKFC4mNjaV9+/Z4eHjQsmVLIiMjGTNmDM899xw1atQAcL5nu3btomvXrgwYMICBAwem+jrS2j88deoUTz31FIGBgRw6dIhvv/2Ww4cP8+2332IymRJdc9CgQZQsWZLBgwc7P8weNWoU06ZNo2nTpjRs2JD9+/fTo0ePJB+Snzp1iuXLl/PII49QrFgxLl26xDfffEPnzp359ddfKVy4cKLjJ0yYgLu7Oz169CAuLg53d/dkX6dhGLz00kts3bqV559/nrJly7Js2TKGDBmS5Ni77fvf632Su2+fPn0IDg7m5ZdfxsPDgxMnTrBt2zbnMXa7nT59+rB+/Xpat25N165diYyMZN26dRw8eJASJUpgGAb9+vVj48aNPPPMM1SsWJE1a9bw8ccfc/78ef773/+mGEO7du0YP348ixcvpnPnzs72uLg4fv/9d1q1anXHmeN2u52ePXtSrVo1/vOf/7BmzRrGjh2L3W5n0KBBd3wfbjdw4EAOHz5M586dKVq0KFeuXGHdunWcO3fOOTZZuHAh//3vfylfvjx9+vTBz8+Pffv2sWbNGtq2bQvAkiVLiImJoUOHDuTLl49du3Yxb948/vnnH8aMGZPonjabjR49elCjRg2GDBmCl5fXXcctIunAEBHJ5Xbv3m0EBQUZ69atMwzDMBwOh9GoUSPjww8/THJsUFCQMWbMGOf2mDFjjKCgIOPtt992ttlsNqNRo0ZGcHCwMXnyZGf79evXjZCQEGPIkCGJjo2NjU10j+vXrxv16tUzhg0b5mxbv369ERQUZHzwwQdJYnI4HIZhGMbp06eNihUrGhMnTky0/8CBA0alSpUStXfu3NkICgoyfvjhB2dbbGysUb9+fWPg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Py/JMZvNSX4OEl7/ne59Ow8PD15//XU++ugj6tevT7Vq1WjSpAlPPPEEgYGBAM4ETPny5VO91tmzZxkzZgwrV65MkiS5fW0WNze3NJUDFpGMpcSGiORqGzZs4OLFi/z666/8+uuvSfYvWrQoTYmNhI7krSwWS7LHGrcsivbTTz8xdOhQWrRoQY8ePQgICMBisTB58uQ0zTS4lcPhwGQyMXXq1GTvffuHzSnFd6u7jS+layb3/gCpLk7ncDgICgpy1hy+3e0dybS833eSlo747RKelnrxxRdp2LBhssfcPki7l/fjfj322GPUrFmTZcuWsW7dOqZPn87UqVMZO3asc00VERERkazM19eXQoUKcejQobs67176ePfrfvped9sHd3V9/1deeYXt27fTo0cPKlasiI+PDw6Hg549eybbv73TGgypmTRpEqNHj+bpp59m0KBB+Pv7YzabGT58eLL3Su/35l76/unFy8uL+fPns3HjRlatWsWaNWtYvHgx33zzDTNmzEjT+C49+Pv707RpUxYtWsSAAQNYsmQJcXFxPP744+l2j5R+ZpObqdKtWzeaNWvG8uXLWbt2LaNHj2bKlCnMnj2bSpUqpel+drud7t27O9ehLFOmDD4+Ppw/f56hQ4cmue+tM4dExHWU2BCRXG3RokUEBATwzjvvJNm3bNkyli1bxvvvv59hg4Xff/+d4sWLM27cuESdt9sXJytRogRr167l2rVrKc7aSFgIrlixYml+kiy94ssIJUqUYP/+/dStWzfdBqMpXado0aI4HA5OnDjhfFIJ4NKlS4SHh1O0aNEUr5nwtJG7uzv16tVLlziTkzDL48SJE0n2HTt2LE3XKFSoEJ06daJTp05cvnyZJ598kkmTJtG4cWPn6zh48GCKryMhhuTud/ToUfLnz6/ZGiIiIpKhmjZtyjfffMP27dsJCwtL9dj76eMVLVqUgwcPYhhGoj5kWvtdkHrfC1Lum6ZHHzw9+s9p6R9ev36d9evXM3DgwERlc48fP57m+yT0MU+ePJnoSf6rV68meXL+999/p3bt2gwfPjxRe3h4OPnz50/zPW9XtGhRNmzYQGRkZKLZFLd/ve+375/W+6TEbDZTt25d6taty7Bhw5g0aRKff/45GzdudJbm3blzJ1arNcWF0osWLcr69eu5ceNGolkbR48ede6/k3bt2vHSSy+x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v18iIiIimcV+aQexa19xbnvWGY7lwfquC0iynYTZGo5/B6gO4+asjYyi8YWIiIhIxnKWnRr7UdKyU6PTXnYKIPp6LEtGbmbb9zeTGu7eFkjrMzCm+FkbWa3cqWZs3IflR24wectloqyOJPsi4xxEWu/tiz1l6zXm77pOHo+keScfdzN9awXQvIxvmq514cIFXnvtNf7zn//QokULIiMj2bJlC4ZhMGPGDH744QeGDx9O2bJlmTFjBsuWLaNOnTppuvaCBQuoW7cuI0aMoGHDhlgsFgC2bNnCkCFDeOutt6hZsyYnT57k7bffBmDAgAFJrlO6dGmqVKnCokWLeOWVV5ztP//8M23atAEgPDycF154gWeffZZhw4YRGxvLp59+yiuvvMKcOXMAGDVqFN999x3Dhg2jRo0aXLhwgWPHUq8VJyIiIuIqjugLxCzvAvYYANyCu+JW8UUXRyWultoY43aGYXA1JvnjXl1yjvxeZsCE1eqH+98nSWkCx92MMTS+0PhCREREMk582akpRC/5+b7LTgGc23eFP8buIOpafNlSkwnCni7HvmUnsUbb03YRAyIvR+OwObC4W+7q/hlJiY37MHfnVY5fs2bItSOtBpHW5L657MzdeTXNiY2LFy9is9lo2bIlRYsWBeLr1gLMnj2b3r1706pVKwDef/991q5dm+YYE6aN582bl8DAm1ORxo0bR+/evXnyyScBKF68OIMGDeKTTz5JduAB0LZtW+bPn+8ceBw7doy9e/fyySefADBv3jwqVarEq6++6jxn+PDhNG7cmGPHjhEYGMicOXN45513nPctUaIENWumPXspIiIiklkMexwxK7phRJ4FwFzoITzrfpQtSgdJxkqvMYbNARejEpIeZkh2bJEg7WMMjS80vhAREZH0ZzgcRC/7lYjZkzEibi87NRjPajXu8noGu345ypZvD2H8O7XXO58nTQdUo0ilAIIaF0vzOhsA3nk9slRSA5TYuC9dQ/MzaXP6z9gAyONuSnHGRpdq+dN8nQoVKlC3bl3atm1LgwYNaNCgAQ8//DBms5mLFy9SrVo157Fubm5UqVLlvqcV7d+/n23btjFp0iRnm91uJzY2lujoaEaMGMGiRYuc+7Zv307r1q35+OOP2bFjB6GhoSxatIjKlStTtmxZ5zU3btxIWFhYkvudPHmSiIgI4uLi0vw0mIiI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eHG6du3Kc889l6kxi4iISNZi2GOJWdENI/IsAObCtfGs+5EWC5dsxTAM4rZ8iHHtIHFbPsRSpHGGfw9rfKHxhYiISEaJ+3tXfNmpY4edbZlVdgri+1YHV5/mr5l/Y7c6AHD3dqNRn6qUfuiBDL23pJ0SG5kgtaSG85htI3AzHEDzdL//6dOn6dChA3nz5uWNN94gKCgIm83G2rVref/991myZMldX9MwDOx2O25urv0WGjFiBA0bNiQ2Npbjx4/z7bff0r59e4YPH84TTzyR6NglS5bg6+tLTEwMf/zxB++99x4lSpTItgMvERERuT+GYRC7fiiOC5sAMOUpglfzWZgsHi6OTOTu2M/8gePSdgAcl7ZjP/MHbsWaZdj9NL6Ip/GFiIhI+rJfvULErInErEzcl/Bu/ii+3fphyZc/w2Owxtj4a9bfHPrzjLMtoFRemg8KJW/hPBl+f0k7laLKYGlJaiSwbf+IgH/mpXsM77//PiaTie+++46HH36Y0qVLU758ebp37863337rPO7q1av079+fatWq0apVK1asWOHct3HjRoKDg1m9ejVPPfUUVatWZevWrcTFxfHhhx9St25dqlatSocOHdi1a1eS89asWcMTTzxBSEgIXbt25fLly6xevZpHH32U6tWr89prrxEdHe08788//6RDhw7UrFmT2rVr06dPH06ePJnkteXNm5fAwECKFStGgwYNGDNmDG3btuX//u//uH79eqJjAwICCAwMdD5NVaxYMfbu3Zueb7WIiIhkI7b9M7EdmBO/YfHCq/kczN5a/E+yF8MwiNs6HEyW+AaThbitwzEMI8PuqfFFPI0vRERE0odhtxG5aAGX+nVKlNRIVHYqE5IaV8/c4Od31idKalRsUYK279VRUiMLUmIjA91NUiNBwX/mYN05Kt1iuHbtGmvWrKFTp074+Pgk2Z83b17nv8eNG8ejjz7Kzz//TKNGjXj99de5du1aouNHjRrFa6+9xuLFiwkODubjjz/m999/Z+TIkfzwww+ULFmSnj17Jjlv3LhxvP3223z99df8888/vPLKK8yZM4dRo0YxZcoU1q5dy9y5c53HR0dH0717d77//ntmzZqFyWSif//+OByOO77mbt26ERkZybp165LdbxgGf/75J+fOnaNatWp3vJ6IiIjkPPZzfxG7fphz27PB51gCw1wYkci9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2bNnZ8uWLT3nfOtOrPXr12fmzJmpr6/Pn//853R3d2flypWZPn16Ghoactlll2Xt2rU9x73xxhu55ZZb8sEPfjANDQ35xCc+kTVr1pzIlxAAAPhf+gsAjsXQYhcAQGkZOnRoLr/88jz66KP54he/mLKysiTJ2rVr093dnSlTpmT27Nn56le/mu9+97t57bXXcs899+See+7JkiVLkiS33XZbNm/enIULF6a2tjatra3Zs2dPxo0blx/+8Ie5+eabs3bt2owaNSrDhw9PkixbtixPPvlkli5dmtNPPz2rVq3KjTfemN/97nc59dRTe+pbvnx5FixYkDPPPDOjR4/OypUr89hjj2XRokWZMGFCNm3alFtvvTVVVVWZOnVq7r///mzfvj0/+clPUllZmV27duXAgQP9/roCAMBgpL8A4FiUFQqFQrGLAKC0bN++PU1NTXnwwQdz0UUXJUmuvfbajB8/PhUVFSkvL8/dd9/ds39LS0uuu+66bN68Obt3784ll1yS1atXZ9q0aYede+PGjZk7d242bdqU0aNHJ0na29szderULFmyJJ/61KeSJAcPHsz06dPz2c9+NjfeeGPPcT/60Y9y8cUXJ/nnXVhTp07N6tWrM2XKlJ5rfPvb386BAweyfPnyzJ8/P5WVlT1NEQAA0L/0FwD0lRUbAPTZxIkTM2XKlKxZsyYXXXRRdu7cmZaWljz44INZtmxZtm3blscff7xn/0KhkO7u7rS2tmbbtm0pLy/PhRdeeNTX27VrVw4ePJgPfOADPWPDhg1LQ0NDtm/f3mvf+vr6nt937tyZjo6O3HDDDb32OXjwYCZNmpQkmT17dr7yla/k+eefz4c//OFcfPHFva4DAACcWPoLAPpKsAHAMZk1a1YWL16cO+64I4888kjOOuusTJ06Ne3t7fnMZz6T66677rBjxo0bl507d57QukaMGNHz+1vfu7ty5cqcdtppvfarqKhIkjQ2NuaPf/xj1q9fnz/96U/53Oc+l2uvvTYLFiw4oXUCAAD/R38BQF94eDgAx+STn/xkysrK8tvf/ja//vWvc8UVV6SsrCznnntuXnzxxbz3ve897KeioiLnnHNOuru7s2nTpn953mHDhiVJurq6esbOOuusDBs2LM8880zP2MGDB7N169a8733vO2KNEydOTEVFRXbv3n1YLePGjevZr6qqKs3Nzfne976X22+/PQ8//PA7fXkAAIA+0F8A0BdWbABwTEaOHJmmpqasWLEi+/btS3Nzc5Lk85//fK6++urcfffdufLKKzNixIi8+OKLefrpp3PHHXfkjDPOSHNzc26//fYsXLgwNTU12b17d9ra2tLU1JTTTz89ZWVlWbduXRobG3PKKadk5MiRmT17dpYtW5YxY8Zk/PjxWbVqVQ4cOJBZs2YdscZRo0blhhtuyJIlS1IoFHLBBRfkzTffzDPPPJNRo0alubk5999/fyZPnpz3v//96ezszLp16zJx4sT+ehkBAIDoLwDoG8EGAMds1qxZ+dWvfpXGxsaepdi1tbX52c9+lu9///u55pprkiRnnnlmmpqaeo676667smLFitx11115/fXXM378+Nx0001JktNOOy0333xzli9fnm9961v59Kc/naVLl+Yb3/hGCoVCbrvttuzfvz91dXVZtWpVxowZ87Y1fu1rX0tVVVVWrlyZ1tbWvPvd7865556b+fPnJ/nnHVwrVqzI3//+9wwfPjwXXHBBVqxYcSJeLgAA4G3oLwA4WmWFQqFQ7CIAAAAAAACOhmdsAAAAAAAAJUOwAQAAAAAAlAzBBgAAAAAAUDIEGwAAAAAAQMkQbAAAAAAAACVDsAEAAAAAAJQMwQYAAAAAAFAyBBsAAAAAAEDJEGwAAAAAAAAlQ7ABAAAAAACUDMEGAAAAAABQMv4HtgL9YWUrwhgAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data", + "transient": {} + } + ], + "source": [ + "fig, axes = plt.subplots(2, 2, figsize=(16, 12))\n", + "colors = {'FAISS': '#e74c3c', 'sqlite-vec': '#3498db', 'LanceDB': '#2ecc71', 'ChromaDB': '#f39c12', 'USearch': '#9b59b6'}\n", + "\n", + "# 1: Search latency per query\n", + "ax = axes[0, 0]\n", + "for name in df['backend'].unique():\n", + " sub = df[df['backend'] == name]\n", + " ax.plot(sub['n_vectors'], sub['per_query_ms'], 'o-', color=colors.get(name, 'gray'),\n", + " label=name, linewidth=2, markersize=8)\n", + "ax.set_xlabel('Vectores en índice')\n", + "ax.set_ylabel('Latencia por query (ms)')\n", + "ax.set_title('Velocidad de búsqueda (top-10)')\n", + "ax.legend()\n", + "ax.set_xscale('log')\n", + "ax.set_yscale('log')\n", + "\n", + "# 2: Insert time\n", + "ax = axes[0, 1]\n", + "for name in df['backend'].unique():\n", + " sub = df[df['backend'] == name]\n", + " ax.plot(sub['n_vectors'], sub['insert_s'], 's-', color=colors.get(name, 'gray'),\n", + " label=name, linewidth=2, markersize=8)\n", + "ax.set_xlabel('Vectores')\n", + "ax.set_ylabel('Tiempo de inserción (s)')\n", + "ax.set_title('Velocidad de inserción')\n", + "ax.legend()\n", + "ax.set_xscale('log')\n", + "\n", + "# 3: Disk usage\n", + "ax = axes[1, 0]\n", + "for name in df['backend'].unique():\n", + " sub = df[df['backend'] == name]\n", + " ax.plot(sub['n_vectors'], sub['disk_mb'], 'D-', color=colors.get(name, 'gray'),\n", + " label=name, linewidth=2, markersize=8)\n", + "ax.set_xlabel('Vectores')\n", + "ax.set_ylabel('Tamaño en disco (MB)')\n", + "ax.set_title('Almacenamiento en disco')\n", + "ax.legend()\n", + "ax.set_xscale('log')\n", + "\n", + "# 4: Load from disk + search\n", + "ax = axes[1, 1]\n", + "for name in df['backend'].unique():\n", + " sub = df[df['backend'] == name]\n", + " ax.plot(sub['n_vectors'], sub['load_and_search_s'], '^-', color=colors.get(name, 'gray'),\n", + " label=name, linewidth=2, markersize=8)\n", + "ax.set_xlabel('Vectores')\n", + "ax.set_ylabel('Load + 1 búsqueda (s)')\n", + "ax.set_title('Cold start: cargar de disco y buscar')\n", + "ax.legend()\n", + "ax.set_xscale('log')\n", + "ax.set_yscale('log')\n", + "\n", + "plt.suptitle('Comparativa de backends de vectores (dim=384, inner product)', fontsize=14)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "75c7c573", + "metadata": {}, + "source": [ + "## 6. Resumen: pros y contras para fn_registry\n", + "\n", + "| Backend | Pro | Contra | Ideal para |\n", + "|---|---|---|---|\n", + "| **FAISS** | Más rápido, battle-tested | Sin metadata nativa, hay que gestionar IDs aparte | Índices de solo vectores donde la velocidad importa |\n", + "| **sqlite-vec** | Mismo archivo SQLite, SQL completo, metadata con JOINs | Búsqueda más lenta en brute-force | Integrar vectores en registry.db o operations.db |\n", + "| **LanceDB** | Vector-native, filtros, columnar | Directorio no archivo único, API puede cambiar | Datasets medianos-grandes con filtros |\n", + "| **ChromaDB** | Metadata rica, popular | Más overhead, más lento, directorio grande | Prototipado rápido con metadata compleja |\n", + "| **USearch** | Ultra ligero, casi tan rápido como FAISS | Sin metadata, API minimalista | Índice puro de vectores, mínima dependencia |" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ccb97d3a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "── USearch ──\n", + " USearch | 1000 vecs | insert=0.011s | search=0.01ms/q | save=0.001s | load+search=0.002s | disk=1.6MB\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " USearch | 10000 vecs | insert=0.289s | search=0.02ms/q | save=0.013s | load+search=0.019s | disk=16.1MB\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " USearch | 50000 vecs | insert=5.966s | search=0.13ms/q | save=0.112s | load+search=0.188s | disk=80.3MB\n", + "USearch añadido al dataframe\n" + ] + } + ], + "source": [ + "# Re-run solo USearch\n", + "print('── USearch ──')\n", + "try:\n", + " usearch_res = bench_backend('USearch', usearch_insert, usearch_search, usearch_save, usearch_load_search, usearch_size, cleanup_path)\n", + " all_results.extend(usearch_res)\n", + " df = pd.DataFrame(all_results)\n", + " print('USearch añadido al dataframe')\n", + "except Exception as e:\n", + " import traceback\n", + " traceback.print_exc()" + ] + } + ], + "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.13.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/pdf/01_exploracion_embeddings.pdf b/notebooks/pdf/01_exploracion_embeddings.pdf new file mode 100644 index 0000000..197271f Binary files /dev/null and b/notebooks/pdf/01_exploracion_embeddings.pdf differ diff --git a/notebooks/pdf/02_ram_benchmark.pdf b/notebooks/pdf/02_ram_benchmark.pdf new file mode 100644 index 0000000..0b45f56 Binary files /dev/null and b/notebooks/pdf/02_ram_benchmark.pdf differ diff --git a/notebooks/pdf/03_modelo_local.pdf b/notebooks/pdf/03_modelo_local.pdf new file mode 100644 index 0000000..1b4e317 Binary files /dev/null and b/notebooks/pdf/03_modelo_local.pdf differ diff --git a/notebooks/pdf/04_vector_storage.pdf b/notebooks/pdf/04_vector_storage.pdf new file mode 100644 index 0000000..4bfe78a Binary files /dev/null and b/notebooks/pdf/04_vector_storage.pdf differ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..9e05036 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,20 @@ +[project] +name = "estudio-embeddings" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "faiss-cpu>=1.13.2", + "jupyter>=1.1.1", + "jupyter-collaboration>=4.3.0", + "jupyter-mcp-server>=0.4.0", + "jupyterlab>=4.5.6", + "matplotlib>=3.10.8", + "nbconvert>=7.17.0", + "numpy>=2.4.4", + "pandas>=3.0.2", + "playwright>=1.58.0", + "scikit-learn>=1.8.0", + "sentence-transformers>=5.3.0", +] diff --git a/run-jupyter-lab.sh b/run-jupyter-lab.sh new file mode 100755 index 0000000..cda2bb8 --- /dev/null +++ b/run-jupyter-lab.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# Jupyter Lab — modo colaborativo con autodeteccion de puerto +# Generado por write_jupyter_launcher (fn_registry) + +find_free_port() { + for port in 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899; do + if ! ss -tln 2>/dev/null | grep -q ":${port} " && \ + ! lsof -i:"$port" >/dev/null 2>&1; then + echo $port + return + fi + done + echo 8888 +} + +PORT=${1:-$(find_free_port)} +cd "$(dirname "$0")" + +echo $PORT > .jupyter-port + +source .venv/bin/activate 2>/dev/null || true + +if ! python -c "import jupyter_collaboration" 2>/dev/null; then + echo "ERROR: jupyter-collaboration no esta instalado" + echo "Instala con: uv add jupyter-collaboration" + exit 1 +fi + +echo "════════════════════════════════════════════════" +echo " Jupyter Lab + Colaboracion en puerto $PORT" +echo "════════════════════════════════════════════════" +echo "" +echo " Abre: http://localhost:$PORT" +echo " Ctrl+C para detener" +echo "" + +jupyter lab \ + --port=$PORT \ + --no-browser \ + --ServerApp.token='' \ + --ServerApp.password='' \ + --ServerApp.disable_check_xsrf=True \ + --ServerApp.allow_origin='*' \ + --ServerApp.root_dir="$(pwd)" \ + --collaborative diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..e4d028e --- /dev/null +++ b/uv.lock @@ -0,0 +1,3244 @@ +version = 1 +revision = 3 +requires-python = ">=3.13" +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] + +[[package]] +name = "annotated-doc" +version = "0.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", size = 231622, upload-time = "2026-03-24T12:59:09.671Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708", size = 114353, upload-time = "2026-03-24T12:59:08.246Z" }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, +] + +[[package]] +name = "argon2-cffi" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1", size = 45706, upload-time = "2025-06-03T06:55:32.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741", size = 14657, upload-time = "2025-06-03T06:55:30.804Z" }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/2d/db8af0df73c1cf454f71b2bbe5e356b8c1f8041c979f505b3d3186e520a9/argon2_cffi_bindings-25.1.0.tar.gz", hash = "sha256:b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d", size = 1783441, upload-time = "2025-07-30T10:02:05.147Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/3c0a35f46e52108d4707c44b95cfe2afcafc50800b5450c197454569b776/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:3d3f05610594151994ca9ccb3c771115bdb4daef161976a266f0dd8aa9996b8f", size = 54393, upload-time = "2025-07-30T10:01:40.97Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f4/98bbd6ee89febd4f212696f13c03ca302b8552e7dbf9c8efa11ea4a388c3/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8b8efee945193e667a396cbc7b4fb7d357297d6234d30a489905d96caabde56b", size = 29328, upload-time = "2025-07-30T10:01:41.916Z" }, + { url = "https://files.pythonhosted.org/packages/43/24/90a01c0ef12ac91a6be05969f29944643bc1e5e461155ae6559befa8f00b/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3c6702abc36bf3ccba3f802b799505def420a1b7039862014a65db3205967f5a", size = 31269, upload-time = "2025-07-30T10:01:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d3/942aa10782b2697eee7af5e12eeff5ebb325ccfb86dd8abda54174e377e4/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1c70058c6ab1e352304ac7e3b52554daadacd8d453c1752e547c76e9c99ac44", size = 86558, upload-time = "2025-07-30T10:01:43.943Z" }, + { url = "https://files.pythonhosted.org/packages/0d/82/b484f702fec5536e71836fc2dbc8c5267b3f6e78d2d539b4eaa6f0db8bf8/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2fd3bfbff3c5d74fef31a722f729bf93500910db650c925c2d6ef879a7e51cb", size = 92364, upload-time = "2025-07-30T10:01:44.887Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c1/a606ff83b3f1735f3759ad0f2cd9e038a0ad11a3de3b6c673aa41c24bb7b/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c4f9665de60b1b0e99bcd6be4f17d90339698ce954cfd8d9cf4f91c995165a92", size = 85637, upload-time = "2025-07-30T10:01:46.225Z" }, + { url = "https://files.pythonhosted.org/packages/44/b4/678503f12aceb0262f84fa201f6027ed77d71c5019ae03b399b97caa2f19/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ba92837e4a9aa6a508c8d2d7883ed5a8f6c308c89a4790e1e447a220deb79a85", size = 91934, upload-time = "2025-07-30T10:01:47.203Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c7/f36bd08ef9bd9f0a9cff9428406651f5937ce27b6c5b07b92d41f91ae541/argon2_cffi_bindings-25.1.0-cp314-cp314t-win32.whl", hash = "sha256:84a461d4d84ae1295871329b346a97f68eade8c53b6ed9a7ca2d7467f3c8ff6f", size = 28158, upload-time = "2025-07-30T10:01:48.341Z" }, + { url = "https://files.pythonhosted.org/packages/b3/80/0106a7448abb24a2c467bf7d527fe5413b7fdfa4ad6d6a96a43a62ef3988/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b55aec3565b65f56455eebc9b9f34130440404f27fe21c3b375bf1ea4d8fbae6", size = 32597, upload-time = "2025-07-30T10:01:49.112Z" }, + { url = "https://files.pythonhosted.org/packages/05/b8/d663c9caea07e9180b2cb662772865230715cbd573ba3b5e81793d580316/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:87c33a52407e4c41f3b70a9c2d3f6056d88b10dad7695be708c5021673f55623", size = 28231, upload-time = "2025-07-30T10:01:49.92Z" }, + { url = "https://files.pythonhosted.org/packages/1d/57/96b8b9f93166147826da5f90376e784a10582dd39a393c99bb62cfcf52f0/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:aecba1723ae35330a008418a91ea6cfcedf6d31e5fbaa056a166462ff066d500", size = 54121, upload-time = "2025-07-30T10:01:50.815Z" }, + { url = "https://files.pythonhosted.org/packages/0a/08/a9bebdb2e0e602dde230bdde8021b29f71f7841bd54801bcfd514acb5dcf/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2630b6240b495dfab90aebe159ff784d08ea999aa4b0d17efa734055a07d2f44", size = 29177, upload-time = "2025-07-30T10:01:51.681Z" }, + { url = "https://files.pythonhosted.org/packages/b6/02/d297943bcacf05e4f2a94ab6f462831dc20158614e5d067c35d4e63b9acb/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:7aef0c91e2c0fbca6fc68e7555aa60ef7008a739cbe045541e438373bc54d2b0", size = 31090, upload-time = "2025-07-30T10:01:53.184Z" }, + { url = "https://files.pythonhosted.org/packages/c1/93/44365f3d75053e53893ec6d733e4a5e3147502663554b4d864587c7828a7/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e021e87faa76ae0d413b619fe2b65ab9a037f24c60a1e6cc43457ae20de6dc6", size = 81246, upload-time = "2025-07-30T10:01:54.145Z" }, + { url = "https://files.pythonhosted.org/packages/09/52/94108adfdd6e2ddf58be64f959a0b9c7d4ef2fa71086c38356d22dc501ea/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e924cfc503018a714f94a49a149fdc0b644eaead5d1f089330399134fa028a", size = 87126, upload-time = "2025-07-30T10:01:55.074Z" }, + { url = "https://files.pythonhosted.org/packages/72/70/7a2993a12b0ffa2a9271259b79cc616e2389ed1a4d93842fac5a1f923ffd/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c87b72589133f0346a1cb8d5ecca4b933e3c9b64656c9d175270a000e73b288d", size = 80343, upload-time = "2025-07-30T10:01:56.007Z" }, + { url = "https://files.pythonhosted.org/packages/78/9a/4e5157d893ffc712b74dbd868c7f62365618266982b64accab26bab01edc/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1db89609c06afa1a214a69a462ea741cf735b29a57530478c06eb81dd403de99", size = 86777, upload-time = "2025-07-30T10:01:56.943Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/15777dfde1c29d96de7f18edf4cc94c385646852e7c7b0320aa91ccca583/argon2_cffi_bindings-25.1.0-cp39-abi3-win32.whl", hash = "sha256:473bcb5f82924b1becbb637b63303ec8d10e84c8d241119419897a26116515d2", size = 27180, upload-time = "2025-07-30T10:01:57.759Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/a759ece8f1829d1f162261226fbfd2c6832b3ff7657384045286d2afa384/argon2_cffi_bindings-25.1.0-cp39-abi3-win_amd64.whl", hash = "sha256:a98cd7d17e9f7ce244c0803cad3c23a7d379c301ba618a5fa76a67d116618b98", size = 31715, upload-time = "2025-07-30T10:01:58.56Z" }, + { url = "https://files.pythonhosted.org/packages/42/b9/f8d6fa329ab25128b7e98fd83a3cb34d9db5b059a9847eddb840a0af45dd/argon2_cffi_bindings-25.1.0-cp39-abi3-win_arm64.whl", hash = "sha256:b0fdbcf513833809c882823f98dc2f931cf659d9a1429616ac3adebb49f5db94", size = 27149, upload-time = "2025-07-30T10:01:59.329Z" }, +] + +[[package]] +name = "arrow" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/33/032cdc44182491aa708d06a68b62434140d8c50820a087fac7af37703357/arrow-1.4.0.tar.gz", hash = "sha256:ed0cc050e98001b8779e84d461b0098c4ac597e88704a655582b21d116e526d7", size = 152931, upload-time = "2025-10-18T17:46:46.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/c9/d7977eaacb9df673210491da99e6a247e93df98c715fc43fd136ce1d3d33/arrow-1.4.0-py3-none-any.whl", hash = "sha256:749f0769958ebdc79c173ff0b0670d59051a535fa26e8eba02953dc19eb43205", size = 68797, upload-time = "2025-10-18T17:46:45.663Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7", size = 62308, upload-time = "2025-11-15T16:43:48.578Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a", size = 27047, upload-time = "2025-11-15T16:43:16.109Z" }, +] + +[[package]] +name = "async-lru" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/1f/989ecfef8e64109a489fff357450cb73fa73a865a92bd8c272170a6922c2/async_lru-2.3.0.tar.gz", hash = "sha256:89bdb258a0140d7313cf8f4031d816a042202faa61d0ab310a0a538baa1c24b6", size = 16332, upload-time = "2026-03-19T01:04:32.413Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/e2/c2e3abf398f80732e58b03be77bde9022550d221dd8781bf586bd4d97cc1/async_lru-2.3.0-py3-none-any.whl", hash = "sha256:eea27b01841909316f2cc739807acea1c623df2be8c5cfad7583286397bb8315", size = 8403, upload-time = "2026-03-19T01:04:30.883Z" }, +] + +[[package]] +name = "attrs" +version = "26.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, +] + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.14.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/b0/1c6a16426d389813b48d95e26898aff79abbde42ad353958ad95cc8c9b21/beautifulsoup4-4.14.3.tar.gz", hash = "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86", size = 627737, upload-time = "2025-11-30T15:08:26.084Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721, upload-time = "2025-11-30T15:08:24.087Z" }, +] + +[[package]] +name = "bleach" +version = "6.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/07/18/3c8523962314be6bf4c8989c79ad9531c825210dd13a8669f6b84336e8bd/bleach-6.3.0.tar.gz", hash = "sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22", size = 203533, upload-time = "2025-10-27T17:57:39.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/3a/577b549de0cc09d95f11087ee63c739bba856cd3952697eec4c4bb91350a/bleach-6.3.0-py3-none-any.whl", hash = "sha256:fe10ec77c93ddf3d13a73b035abaac7a9f5e436513864ccdad516693213c65d6", size = 164437, upload-time = "2025-10-27T17:57:37.538Z" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + +[[package]] +name = "certifi" +version = "2026.2.25" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" }, + { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" }, + { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303, upload-time = "2026-04-02T09:26:48.397Z" }, + { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282, upload-time = "2026-04-02T09:26:49.684Z" }, + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" }, + { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986, upload-time = "2026-04-02T09:26:52.197Z" }, + { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711, upload-time = "2026-04-02T09:26:53.49Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" }, + { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998, upload-time = "2026-04-02T09:26:56.303Z" }, + { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056, upload-time = "2026-04-02T09:26:57.554Z" }, + { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537, upload-time = "2026-04-02T09:26:58.843Z" }, + { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176, upload-time = "2026-04-02T09:27:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" }, + { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085, upload-time = "2026-04-02T09:27:03.192Z" }, + { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819, upload-time = "2026-04-02T09:27:04.454Z" }, + { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915, upload-time = "2026-04-02T09:27:05.971Z" }, + { url = "https://files.pythonhosted.org/packages/97/c8/c67cb8c70e19ef1960b97b22ed2a1567711de46c4ddf19799923adc836c2/charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0", size = 309234, upload-time = "2026-04-02T09:27:07.194Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/c091fdee33f20de70d6c8b522743b6f831a2f1cd3ff86de4c6a827c48a76/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a", size = 208042, upload-time = "2026-04-02T09:27:08.749Z" }, + { url = "https://files.pythonhosted.org/packages/87/1c/ab2ce611b984d2fd5d86a5a8a19c1ae26acac6bad967da4967562c75114d/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b", size = 228706, upload-time = "2026-04-02T09:27:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/a8/29/2b1d2cb00bf085f59d29eb773ce58ec2d325430f8c216804a0a5cd83cbca/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41", size = 224727, upload-time = "2026-04-02T09:27:11.175Z" }, + { url = "https://files.pythonhosted.org/packages/47/5c/032c2d5a07fe4d4855fea851209cca2b6f03ebeb6d4e3afdb3358386a684/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e", size = 215882, upload-time = "2026-04-02T09:27:12.446Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c2/356065d5a8b78ed04499cae5f339f091946a6a74f91e03476c33f0ab7100/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae", size = 200860, upload-time = "2026-04-02T09:27:13.721Z" }, + { url = "https://files.pythonhosted.org/packages/0c/cd/a32a84217ced5039f53b29f460962abb2d4420def55afabe45b1c3c7483d/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18", size = 211564, upload-time = "2026-04-02T09:27:15.272Z" }, + { url = "https://files.pythonhosted.org/packages/44/86/58e6f13ce26cc3b8f4a36b94a0f22ae2f00a72534520f4ae6857c4b81f89/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b", size = 211276, upload-time = "2026-04-02T09:27:16.834Z" }, + { url = "https://files.pythonhosted.org/packages/8f/fe/d17c32dc72e17e155e06883efa84514ca375f8a528ba2546bee73fc4df81/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356", size = 201238, upload-time = "2026-04-02T09:27:18.229Z" }, + { url = "https://files.pythonhosted.org/packages/6a/29/f33daa50b06525a237451cdb6c69da366c381a3dadcd833fa5676bc468b3/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab", size = 230189, upload-time = "2026-04-02T09:27:19.445Z" }, + { url = "https://files.pythonhosted.org/packages/b6/6e/52c84015394a6a0bdcd435210a7e944c5f94ea1055f5cc5d56c5fe368e7b/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46", size = 211352, upload-time = "2026-04-02T09:27:20.79Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d7/4353be581b373033fb9198bf1da3cf8f09c1082561e8e922aa7b39bf9fe8/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44", size = 227024, upload-time = "2026-04-02T09:27:22.063Z" }, + { url = "https://files.pythonhosted.org/packages/30/45/99d18aa925bd1740098ccd3060e238e21115fffbfdcb8f3ece837d0ace6c/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72", size = 217869, upload-time = "2026-04-02T09:27:23.486Z" }, + { url = "https://files.pythonhosted.org/packages/5c/05/5ee478aa53f4bb7996482153d4bfe1b89e0f087f0ab6b294fcf92d595873/charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10", size = 148541, upload-time = "2026-04-02T09:27:25.146Z" }, + { url = "https://files.pythonhosted.org/packages/48/77/72dcb0921b2ce86420b2d79d454c7022bf5be40202a2a07906b9f2a35c97/charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f", size = 159634, upload-time = "2026-04-02T09:27:26.642Z" }, + { url = "https://files.pythonhosted.org/packages/c6/a3/c2369911cd72f02386e4e340770f6e158c7980267da16af8f668217abaa0/charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246", size = 148384, upload-time = "2026-04-02T09:27:28.271Z" }, + { url = "https://files.pythonhosted.org/packages/94/09/7e8a7f73d24dba1f0035fbbf014d2c36828fc1bf9c88f84093e57d315935/charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24", size = 330133, upload-time = "2026-04-02T09:27:29.474Z" }, + { url = "https://files.pythonhosted.org/packages/8d/da/96975ddb11f8e977f706f45cddd8540fd8242f71ecdb5d18a80723dcf62c/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79", size = 216257, upload-time = "2026-04-02T09:27:30.793Z" }, + { url = "https://files.pythonhosted.org/packages/e5/e8/1d63bf8ef2d388e95c64b2098f45f84758f6d102a087552da1485912637b/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960", size = 234851, upload-time = "2026-04-02T09:27:32.44Z" }, + { url = "https://files.pythonhosted.org/packages/9b/40/e5ff04233e70da2681fa43969ad6f66ca5611d7e669be0246c4c7aaf6dc8/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4", size = 233393, upload-time = "2026-04-02T09:27:34.03Z" }, + { url = "https://files.pythonhosted.org/packages/be/c1/06c6c49d5a5450f76899992f1ee40b41d076aee9279b49cf9974d2f313d5/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e", size = 223251, upload-time = "2026-04-02T09:27:35.369Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/f2ff16fb050946169e3e1f82134d107e5d4ae72647ec8a1b1446c148480f/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1", size = 206609, upload-time = "2026-04-02T09:27:36.661Z" }, + { url = "https://files.pythonhosted.org/packages/69/d5/a527c0cd8d64d2eab7459784fb4169a0ac76e5a6fc5237337982fd61347e/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44", size = 220014, upload-time = "2026-04-02T09:27:38.019Z" }, + { url = "https://files.pythonhosted.org/packages/7e/80/8a7b8104a3e203074dc9aa2c613d4b726c0e136bad1cc734594b02867972/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e", size = 218979, upload-time = "2026-04-02T09:27:39.37Z" }, + { url = "https://files.pythonhosted.org/packages/02/9a/b759b503d507f375b2b5c153e4d2ee0a75aa215b7f2489cf314f4541f2c0/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3", size = 209238, upload-time = "2026-04-02T09:27:40.722Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/0f3f5d47b86bdb79256e7290b26ac847a2832d9a4033f7eb2cd4bcf4bb5b/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0", size = 236110, upload-time = "2026-04-02T09:27:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/96/23/bce28734eb3ed2c91dcf93abeb8a5cf393a7b2749725030bb630e554fdd8/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e", size = 219824, upload-time = "2026-04-02T09:27:43.924Z" }, + { url = "https://files.pythonhosted.org/packages/2c/6f/6e897c6984cc4d41af319b077f2f600fc8214eb2fe2d6bcb79141b882400/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb", size = 233103, upload-time = "2026-04-02T09:27:45.348Z" }, + { url = "https://files.pythonhosted.org/packages/76/22/ef7bd0fe480a0ae9b656189ec00744b60933f68b4f42a7bb06589f6f576a/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe", size = 225194, upload-time = "2026-04-02T09:27:46.706Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a7/0e0ab3e0b5bc1219bd80a6a0d4d72ca74d9250cb2382b7c699c147e06017/charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0", size = 159827, upload-time = "2026-04-02T09:27:48.053Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1d/29d32e0fb40864b1f878c7f5a0b343ae676c6e2b271a2d55cc3a152391da/charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c", size = 174168, upload-time = "2026-04-02T09:27:49.795Z" }, + { url = "https://files.pythonhosted.org/packages/de/32/d92444ad05c7a6e41fb2036749777c163baf7a0301a040cb672d6b2b1ae9/charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d", size = 153018, upload-time = "2026-04-02T09:27:51.116Z" }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, +] + +[[package]] +name = "cryptography" +version = "46.0.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/ba/04b1bd4218cbc58dc90ce967106d51582371b898690f3ae0402876cc4f34/cryptography-46.0.6.tar.gz", hash = "sha256:27550628a518c5c6c903d84f637fbecf287f6cb9ced3804838a1295dc1fd0759", size = 750542, upload-time = "2026-03-25T23:34:53.396Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/23/9285e15e3bc57325b0a72e592921983a701efc1ee8f91c06c5f0235d86d9/cryptography-46.0.6-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:64235194bad039a10bb6d2d930ab3323baaec67e2ce36215fd0952fad0930ca8", size = 7176401, upload-time = "2026-03-25T23:33:22.096Z" }, + { url = "https://files.pythonhosted.org/packages/60/f8/e61f8f13950ab6195b31913b42d39f0f9afc7d93f76710f299b5ec286ae6/cryptography-46.0.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:26031f1e5ca62fcb9d1fcb34b2b60b390d1aacaa15dc8b895a9ed00968b97b30", size = 4275275, upload-time = "2026-03-25T23:33:23.844Z" }, + { url = "https://files.pythonhosted.org/packages/19/69/732a736d12c2631e140be2348b4ad3d226302df63ef64d30dfdb8db7ad1c/cryptography-46.0.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a693028b9cbe51b5a1136232ee8f2bc242e4e19d456ded3fa7c86e43c713b4a", size = 4425320, upload-time = "2026-03-25T23:33:25.703Z" }, + { url = "https://files.pythonhosted.org/packages/d4/12/123be7292674abf76b21ac1fc0e1af50661f0e5b8f0ec8285faac18eb99e/cryptography-46.0.6-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:67177e8a9f421aa2d3a170c3e56eca4e0128883cf52a071a7cbf53297f18b175", size = 4278082, upload-time = "2026-03-25T23:33:27.423Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ba/d5e27f8d68c24951b0a484924a84c7cdaed7502bac9f18601cd357f8b1d2/cryptography-46.0.6-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:d9528b535a6c4f8ff37847144b8986a9a143585f0540fbcb1a98115b543aa463", size = 4926514, upload-time = "2026-03-25T23:33:29.206Z" }, + { url = "https://files.pythonhosted.org/packages/34/71/1ea5a7352ae516d5512d17babe7e1b87d9db5150b21f794b1377eac1edc0/cryptography-46.0.6-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:22259338084d6ae497a19bae5d4c66b7ca1387d3264d1c2c0e72d9e9b6a77b97", size = 4457766, upload-time = "2026-03-25T23:33:30.834Z" }, + { url = "https://files.pythonhosted.org/packages/01/59/562be1e653accee4fdad92c7a2e88fced26b3fdfce144047519bbebc299e/cryptography-46.0.6-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:760997a4b950ff00d418398ad73fbc91aa2894b5c1db7ccb45b4f68b42a63b3c", size = 3986535, upload-time = "2026-03-25T23:33:33.02Z" }, + { url = "https://files.pythonhosted.org/packages/d6/8b/b1ebfeb788bf4624d36e45ed2662b8bd43a05ff62157093c1539c1288a18/cryptography-46.0.6-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3dfa6567f2e9e4c5dceb8ccb5a708158a2a871052fa75c8b78cb0977063f1507", size = 4277618, upload-time = "2026-03-25T23:33:34.567Z" }, + { url = "https://files.pythonhosted.org/packages/dd/52/a005f8eabdb28df57c20f84c44d397a755782d6ff6d455f05baa2785bd91/cryptography-46.0.6-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:cdcd3edcbc5d55757e5f5f3d330dd00007ae463a7e7aa5bf132d1f22a4b62b19", size = 4890802, upload-time = "2026-03-25T23:33:37.034Z" }, + { url = "https://files.pythonhosted.org/packages/ec/4d/8e7d7245c79c617d08724e2efa397737715ca0ec830ecb3c91e547302555/cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:d4e4aadb7fc1f88687f47ca20bb7227981b03afaae69287029da08096853b738", size = 4457425, upload-time = "2026-03-25T23:33:38.904Z" }, + { url = "https://files.pythonhosted.org/packages/1d/5c/f6c3596a1430cec6f949085f0e1a970638d76f81c3ea56d93d564d04c340/cryptography-46.0.6-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2b417edbe8877cda9022dde3a008e2deb50be9c407eef034aeeb3a8b11d9db3c", size = 4405530, upload-time = "2026-03-25T23:33:40.842Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c9/9f9cea13ee2dbde070424e0c4f621c091a91ffcc504ffea5e74f0e1daeff/cryptography-46.0.6-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:380343e0653b1c9d7e1f55b52aaa2dbb2fdf2730088d48c43ca1c7c0abb7cc2f", size = 4667896, upload-time = "2026-03-25T23:33:42.781Z" }, + { url = "https://files.pythonhosted.org/packages/ad/b5/1895bc0821226f129bc74d00eccfc6a5969e2028f8617c09790bf89c185e/cryptography-46.0.6-cp311-abi3-win32.whl", hash = "sha256:bcb87663e1f7b075e48c3be3ecb5f0b46c8fc50b50a97cf264e7f60242dca3f2", size = 3026348, upload-time = "2026-03-25T23:33:45.021Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f8/c9bcbf0d3e6ad288b9d9aa0b1dee04b063d19e8c4f871855a03ab3a297ab/cryptography-46.0.6-cp311-abi3-win_amd64.whl", hash = "sha256:6739d56300662c468fddb0e5e291f9b4d084bead381667b9e654c7dd81705124", size = 3483896, upload-time = "2026-03-25T23:33:46.649Z" }, + { url = "https://files.pythonhosted.org/packages/01/41/3a578f7fd5c70611c0aacba52cd13cb364a5dee895a5c1d467208a9380b0/cryptography-46.0.6-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:2ef9e69886cbb137c2aef9772c2e7138dc581fad4fcbcf13cc181eb5a3ab6275", size = 7117147, upload-time = "2026-03-25T23:33:48.249Z" }, + { url = "https://files.pythonhosted.org/packages/fa/87/887f35a6fca9dde90cad08e0de0c89263a8e59b2d2ff904fd9fcd8025b6f/cryptography-46.0.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7f417f034f91dcec1cb6c5c35b07cdbb2ef262557f701b4ecd803ee8cefed4f4", size = 4266221, upload-time = "2026-03-25T23:33:49.874Z" }, + { url = "https://files.pythonhosted.org/packages/aa/a8/0a90c4f0b0871e0e3d1ed126aed101328a8a57fd9fd17f00fb67e82a51ca/cryptography-46.0.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d24c13369e856b94892a89ddf70b332e0b70ad4a5c43cf3e9cb71d6d7ffa1f7b", size = 4408952, upload-time = "2026-03-25T23:33:52.128Z" }, + { url = "https://files.pythonhosted.org/packages/16/0b/b239701eb946523e4e9f329336e4ff32b1247e109cbab32d1a7b61da8ed7/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:aad75154a7ac9039936d50cf431719a2f8d4ed3d3c277ac03f3339ded1a5e707", size = 4270141, upload-time = "2026-03-25T23:33:54.11Z" }, + { url = "https://files.pythonhosted.org/packages/0f/a8/976acdd4f0f30df7b25605f4b9d3d89295351665c2091d18224f7ad5cdbf/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:3c21d92ed15e9cfc6eb64c1f5a0326db22ca9c2566ca46d845119b45b4400361", size = 4904178, upload-time = "2026-03-25T23:33:55.725Z" }, + { url = "https://files.pythonhosted.org/packages/b1/1b/bf0e01a88efd0e59679b69f42d4afd5bced8700bb5e80617b2d63a3741af/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:4668298aef7cddeaf5c6ecc244c2302a2b8e40f384255505c22875eebb47888b", size = 4441812, upload-time = "2026-03-25T23:33:57.364Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8b/11df86de2ea389c65aa1806f331cae145f2ed18011f30234cc10ca253de8/cryptography-46.0.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:8ce35b77aaf02f3b59c90b2c8a05c73bac12cea5b4e8f3fbece1f5fddea5f0ca", size = 3963923, upload-time = "2026-03-25T23:33:59.361Z" }, + { url = "https://files.pythonhosted.org/packages/91/e0/207fb177c3a9ef6a8108f234208c3e9e76a6aa8cf20d51932916bd43bda0/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:c89eb37fae9216985d8734c1afd172ba4927f5a05cfd9bf0e4863c6d5465b013", size = 4269695, upload-time = "2026-03-25T23:34:00.909Z" }, + { url = "https://files.pythonhosted.org/packages/21/5e/19f3260ed1e95bced52ace7501fabcd266df67077eeb382b79c81729d2d3/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:ed418c37d095aeddf5336898a132fba01091f0ac5844e3e8018506f014b6d2c4", size = 4869785, upload-time = "2026-03-25T23:34:02.796Z" }, + { url = "https://files.pythonhosted.org/packages/10/38/cd7864d79aa1d92ef6f1a584281433419b955ad5a5ba8d1eb6c872165bcb/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:69cf0056d6947edc6e6760e5f17afe4bea06b56a9ac8a06de9d2bd6b532d4f3a", size = 4441404, upload-time = "2026-03-25T23:34:04.35Z" }, + { url = "https://files.pythonhosted.org/packages/09/0a/4fe7a8d25fed74419f91835cf5829ade6408fd1963c9eae9c4bce390ecbb/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e7304c4f4e9490e11efe56af6713983460ee0780f16c63f219984dab3af9d2d", size = 4397549, upload-time = "2026-03-25T23:34:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/5f/a0/7d738944eac6513cd60a8da98b65951f4a3b279b93479a7e8926d9cd730b/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b928a3ca837c77a10e81a814a693f2295200adb3352395fad024559b7be7a736", size = 4651874, upload-time = "2026-03-25T23:34:07.916Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f1/c2326781ca05208845efca38bf714f76939ae446cd492d7613808badedf1/cryptography-46.0.6-cp314-cp314t-win32.whl", hash = "sha256:97c8115b27e19e592a05c45d0dd89c57f81f841cc9880e353e0d3bf25b2139ed", size = 3001511, upload-time = "2026-03-25T23:34:09.892Z" }, + { url = "https://files.pythonhosted.org/packages/c9/57/fe4a23eb549ac9d903bd4698ffda13383808ef0876cc912bcb2838799ece/cryptography-46.0.6-cp314-cp314t-win_amd64.whl", hash = "sha256:c797e2517cb7880f8297e2c0f43bb910e91381339336f75d2c1c2cbf811b70b4", size = 3471692, upload-time = "2026-03-25T23:34:11.613Z" }, + { url = "https://files.pythonhosted.org/packages/c4/cc/f330e982852403da79008552de9906804568ae9230da8432f7496ce02b71/cryptography-46.0.6-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:12cae594e9473bca1a7aceb90536060643128bb274fcea0fc459ab90f7d1ae7a", size = 7162776, upload-time = "2026-03-25T23:34:13.308Z" }, + { url = "https://files.pythonhosted.org/packages/49/b3/dc27efd8dcc4bff583b3f01d4a3943cd8b5821777a58b3a6a5f054d61b79/cryptography-46.0.6-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:639301950939d844a9e1c4464d7e07f902fe9a7f6b215bb0d4f28584729935d8", size = 4270529, upload-time = "2026-03-25T23:34:15.019Z" }, + { url = "https://files.pythonhosted.org/packages/e6/05/e8d0e6eb4f0d83365b3cb0e00eb3c484f7348db0266652ccd84632a3d58d/cryptography-46.0.6-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ed3775295fb91f70b4027aeba878d79b3e55c0b3e97eaa4de71f8f23a9f2eb77", size = 4414827, upload-time = "2026-03-25T23:34:16.604Z" }, + { url = "https://files.pythonhosted.org/packages/2f/97/daba0f5d2dc6d855e2dcb70733c812558a7977a55dd4a6722756628c44d1/cryptography-46.0.6-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8927ccfbe967c7df312ade694f987e7e9e22b2425976ddbf28271d7e58845290", size = 4271265, upload-time = "2026-03-25T23:34:18.586Z" }, + { url = "https://files.pythonhosted.org/packages/89/06/fe1fce39a37ac452e58d04b43b0855261dac320a2ebf8f5260dd55b201a9/cryptography-46.0.6-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:b12c6b1e1651e42ab5de8b1e00dc3b6354fdfd778e7fa60541ddacc27cd21410", size = 4916800, upload-time = "2026-03-25T23:34:20.561Z" }, + { url = "https://files.pythonhosted.org/packages/ff/8a/b14f3101fe9c3592603339eb5d94046c3ce5f7fc76d6512a2d40efd9724e/cryptography-46.0.6-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:063b67749f338ca9c5a0b7fe438a52c25f9526b851e24e6c9310e7195aad3b4d", size = 4448771, upload-time = "2026-03-25T23:34:22.406Z" }, + { url = "https://files.pythonhosted.org/packages/01/b3/0796998056a66d1973fd52ee89dc1bb3b6581960a91ad4ac705f182d398f/cryptography-46.0.6-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:02fad249cb0e090b574e30b276a3da6a149e04ee2f049725b1f69e7b8351ec70", size = 3978333, upload-time = "2026-03-25T23:34:24.281Z" }, + { url = "https://files.pythonhosted.org/packages/c5/3d/db200af5a4ffd08918cd55c08399dc6c9c50b0bc72c00a3246e099d3a849/cryptography-46.0.6-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e6142674f2a9291463e5e150090b95a8519b2fb6e6aaec8917dd8d094ce750d", size = 4271069, upload-time = "2026-03-25T23:34:25.895Z" }, + { url = "https://files.pythonhosted.org/packages/d7/18/61acfd5b414309d74ee838be321c636fe71815436f53c9f0334bf19064fa/cryptography-46.0.6-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:456b3215172aeefb9284550b162801d62f5f264a081049a3e94307fe20792cfa", size = 4878358, upload-time = "2026-03-25T23:34:27.67Z" }, + { url = "https://files.pythonhosted.org/packages/8b/65/5bf43286d566f8171917cae23ac6add941654ccf085d739195a4eacf1674/cryptography-46.0.6-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:341359d6c9e68834e204ceaf25936dffeafea3829ab80e9503860dcc4f4dac58", size = 4448061, upload-time = "2026-03-25T23:34:29.375Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/7e49c0fa7205cf3597e525d156a6bce5b5c9de1fd7e8cb01120e459f205a/cryptography-46.0.6-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9a9c42a2723999a710445bc0d974e345c32adfd8d2fac6d8a251fa829ad31cfb", size = 4399103, upload-time = "2026-03-25T23:34:32.036Z" }, + { url = "https://files.pythonhosted.org/packages/44/46/466269e833f1c4718d6cd496ffe20c56c9c8d013486ff66b4f69c302a68d/cryptography-46.0.6-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6617f67b1606dfd9fe4dbfa354a9508d4a6d37afe30306fe6c101b7ce3274b72", size = 4659255, upload-time = "2026-03-25T23:34:33.679Z" }, + { url = "https://files.pythonhosted.org/packages/0a/09/ddc5f630cc32287d2c953fc5d32705e63ec73e37308e5120955316f53827/cryptography-46.0.6-cp38-abi3-win32.whl", hash = "sha256:7f6690b6c55e9c5332c0b59b9c8a3fb232ebf059094c17f9019a51e9827df91c", size = 3010660, upload-time = "2026-03-25T23:34:35.418Z" }, + { url = "https://files.pythonhosted.org/packages/1b/82/ca4893968aeb2709aacfb57a30dec6fa2ab25b10fa9f064b8882ce33f599/cryptography-46.0.6-cp38-abi3-win_amd64.whl", hash = "sha256:79e865c642cfc5c0b3eb12af83c35c5aeff4fa5c672dc28c43721c2c9fdd2f0f", size = 3471160, upload-time = "2026-03-25T23:34:37.191Z" }, +] + +[[package]] +name = "cuda-bindings" +version = "12.9.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cuda-pathfinder", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/56/e465c31dc9111be3441a9ba7df1941fe98f4aa6e71e8788a3fb4534ce24d/cuda_bindings-12.9.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:32bdc5a76906be4c61eb98f546a6786c5773a881f3b166486449b5d141e4a39f", size = 11906628, upload-time = "2025-10-21T14:51:49.905Z" }, + { url = "https://files.pythonhosted.org/packages/a3/84/1e6be415e37478070aeeee5884c2022713c1ecc735e6d82d744de0252eee/cuda_bindings-12.9.4-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:56e0043c457a99ac473ddc926fe0dc4046694d99caef633e92601ab52cbe17eb", size = 11925991, upload-time = "2025-10-21T14:51:56.535Z" }, + { url = "https://files.pythonhosted.org/packages/d1/af/6dfd8f2ed90b1d4719bc053ff8940e494640fe4212dc3dd72f383e4992da/cuda_bindings-12.9.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8b72ee72a9cc1b531db31eebaaee5c69a8ec3500e32c6933f2d3b15297b53686", size = 11922703, upload-time = "2025-10-21T14:52:03.585Z" }, + { url = "https://files.pythonhosted.org/packages/6c/19/90ac264acc00f6df8a49378eedec9fd2db3061bf9263bf9f39fd3d8377c3/cuda_bindings-12.9.4-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d80bffc357df9988dca279734bc9674c3934a654cab10cadeed27ce17d8635ee", size = 11924658, upload-time = "2025-10-21T14:52:10.411Z" }, +] + +[[package]] +name = "cuda-pathfinder" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/66/0c02bd330e7d976f83fa68583d6198d76f23581bcbb5c0e98a6148f326e5/cuda_pathfinder-1.5.0-py3-none-any.whl", hash = "sha256:498f90a9e9de36044a7924742aecce11c50c49f735f1bc53e05aa46de9ea4110", size = 49739, upload-time = "2026-03-24T21:14:30.869Z" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "datalayer-pycrdt" +version = "0.12.17" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6b/85/0b46dd3db445b9ac3fae859fa6ad21b4efa54ec7ac907756e7da25c236e9/datalayer_pycrdt-0.12.17.tar.gz", hash = "sha256:9eae67e39c89508746f6571852ed903e174ab72e691ead056f9a57a302b118c1", size = 74277, upload-time = "2025-05-18T16:11:11.834Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/e8/70b326657902bf6c711718dcb772de5b228b169e09686bcc7e5009984241/datalayer_pycrdt-0.12.17-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:ec9c7d85e8684e54544dc2189b2ae7fefbba74471632def959d46f749610831a", size = 1651291, upload-time = "2025-05-18T16:10:21.518Z" }, + { url = "https://files.pythonhosted.org/packages/01/5e/ace988fdeae105edaa8ebe386a4cc8d8115a152af39c85e8e1230aaa6257/datalayer_pycrdt-0.12.17-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8b664d49724a07d633e3285ba08a84e0fd8f5e69f99b345b1a4a99c9bede34c", size = 898974, upload-time = "2025-05-18T16:10:23.039Z" }, + { url = "https://files.pythonhosted.org/packages/a7/bb/2b8de693c32e82d61962790e0a0a655556ba8a49d01ca8502bd13d63799a/datalayer_pycrdt-0.12.17-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d64833b4412569d08d1377430d8ccf10ceae617ef934dbf33eaa11a5732c498", size = 931622, upload-time = "2025-05-18T16:10:24.435Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b5/6e9abdd06ea214e273b5c9fb520beb7d1baade9bb4cb49766baba410848e/datalayer_pycrdt-0.12.17-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae361627668c6f3e0fdfc77969039881160341c9ed2e6e89cd714396769af3e8", size = 1120492, upload-time = "2025-05-18T16:10:25.795Z" }, + { url = "https://files.pythonhosted.org/packages/3b/5e/527c592bba2552c33008f5c259fcaa300b335390b5ba0e37b8a557e0af22/datalayer_pycrdt-0.12.17-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:355d47a0715376adc23e2b95a83b5b87d64331f03a5ba9d88dedf4325791df6c", size = 976431, upload-time = "2025-05-18T16:10:27.551Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b0/f7458b39e17c0e51f5039f78d54f496db6dd13fae14a6b986c3fff52baa6/datalayer_pycrdt-0.12.17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c7645351893604edc7324fb8bba757871c0b5bc12b5d4bcbdea1d99a13fa094", size = 928779, upload-time = "2025-05-18T16:10:28.98Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c0/b7b802d01530ebf58cdf4a9bcbae3a6cf363656fe7c9e9046e1390a69ad2/datalayer_pycrdt-0.12.17-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13a77a1e13c1cf65b249487d62ddb5738840455cc78e65dabe665bc0feee08d8", size = 1001812, upload-time = "2025-05-18T16:10:30.896Z" }, + { url = "https://files.pythonhosted.org/packages/67/fa/32396a73f5434ad95a4df3b02f4d9df4854b9357640fb6a7e608fccf1e0b/datalayer_pycrdt-0.12.17-cp313-cp313-win32.whl", hash = "sha256:11565cae105c965d27b42b59bf2b3993e973a998bb7020ecfa6153f31e0231a3", size = 667055, upload-time = "2025-05-18T16:10:32.752Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b1/8426abcd0bb44a7848435e012cd361884ea5cec878cb81252de2686b8360/datalayer_pycrdt-0.12.17-cp313-cp313-win_amd64.whl", hash = "sha256:10327f0715a5929f4aaa1655e8b503570e4783733f1c9986817df183eb0c0ecd", size = 723059, upload-time = "2025-05-18T16:10:34.081Z" }, +] + +[[package]] +name = "debugpy" +version = "1.8.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/b7/cd8080344452e4874aae67c40d8940e2b4d47b01601a8fd9f44786c757c7/debugpy-1.8.20.tar.gz", hash = "sha256:55bc8701714969f1ab89a6d5f2f3d40c36f91b2cbe2f65d98bf8196f6a6a2c33", size = 1645207, upload-time = "2026-01-29T23:03:28.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/e2/fc500524cc6f104a9d049abc85a0a8b3f0d14c0a39b9c140511c61e5b40b/debugpy-1.8.20-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:5dff4bb27027821fdfcc9e8f87309a28988231165147c31730128b1c983e282a", size = 2539560, upload-time = "2026-01-29T23:03:48.738Z" }, + { url = "https://files.pythonhosted.org/packages/90/83/fb33dcea789ed6018f8da20c5a9bc9d82adc65c0c990faed43f7c955da46/debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:84562982dd7cf5ebebfdea667ca20a064e096099997b175fe204e86817f64eaf", size = 4293272, upload-time = "2026-01-29T23:03:50.169Z" }, + { url = "https://files.pythonhosted.org/packages/a6/25/b1e4a01bfb824d79a6af24b99ef291e24189080c93576dfd9b1a2815cd0f/debugpy-1.8.20-cp313-cp313-win32.whl", hash = "sha256:da11dea6447b2cadbf8ce2bec59ecea87cc18d2c574980f643f2d2dfe4862393", size = 5331208, upload-time = "2026-01-29T23:03:51.547Z" }, + { url = "https://files.pythonhosted.org/packages/13/f7/a0b368ce54ffff9e9028c098bd2d28cfc5b54f9f6c186929083d4c60ba58/debugpy-1.8.20-cp313-cp313-win_amd64.whl", hash = "sha256:eb506e45943cab2efb7c6eafdd65b842f3ae779f020c82221f55aca9de135ed7", size = 5372930, upload-time = "2026-01-29T23:03:53.585Z" }, + { url = "https://files.pythonhosted.org/packages/33/2e/f6cb9a8a13f5058f0a20fe09711a7b726232cd5a78c6a7c05b2ec726cff9/debugpy-1.8.20-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9c74df62fc064cd5e5eaca1353a3ef5a5d50da5eb8058fcef63106f7bebe6173", size = 2538066, upload-time = "2026-01-29T23:03:54.999Z" }, + { url = "https://files.pythonhosted.org/packages/c5/56/6ddca50b53624e1ca3ce1d1e49ff22db46c47ea5fb4c0cc5c9b90a616364/debugpy-1.8.20-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:077a7447589ee9bc1ff0cdf443566d0ecf540ac8aa7333b775ebcb8ce9f4ecad", size = 4269425, upload-time = "2026-01-29T23:03:56.518Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d9/d64199c14a0d4c476df46c82470a3ce45c8d183a6796cfb5e66533b3663c/debugpy-1.8.20-cp314-cp314-win32.whl", hash = "sha256:352036a99dd35053b37b7803f748efc456076f929c6a895556932eaf2d23b07f", size = 5331407, upload-time = "2026-01-29T23:03:58.481Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d9/1f07395b54413432624d61524dfd98c1a7c7827d2abfdb8829ac92638205/debugpy-1.8.20-cp314-cp314-win_amd64.whl", hash = "sha256:a98eec61135465b062846112e5ecf2eebb855305acc1dfbae43b72903b8ab5be", size = 5372521, upload-time = "2026-01-29T23:03:59.864Z" }, + { url = "https://files.pythonhosted.org/packages/e0/c3/7f67dea8ccf8fdcb9c99033bbe3e90b9e7395415843accb81428c441be2d/debugpy-1.8.20-py2.py3-none-any.whl", hash = "sha256:5be9bed9ae3be00665a06acaa48f8329d2b9632f15fd09f6a9a8c8d9907e54d7", size = 5337658, upload-time = "2026-01-29T23:04:17.404Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, +] + +[[package]] +name = "estudio-embeddings" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "faiss-cpu" }, + { name = "jupyter" }, + { name = "jupyter-collaboration" }, + { name = "jupyter-mcp-server" }, + { name = "jupyterlab" }, + { name = "matplotlib" }, + { name = "nbconvert" }, + { name = "numpy" }, + { name = "pandas" }, + { name = "playwright" }, + { name = "scikit-learn" }, + { name = "sentence-transformers" }, +] + +[package.metadata] +requires-dist = [ + { name = "faiss-cpu", specifier = ">=1.13.2" }, + { name = "jupyter", specifier = ">=1.1.1" }, + { name = "jupyter-collaboration", specifier = ">=4.3.0" }, + { name = "jupyter-mcp-server", specifier = ">=0.4.0" }, + { name = "jupyterlab", specifier = ">=4.5.6" }, + { name = "matplotlib", specifier = ">=3.10.8" }, + { name = "nbconvert", specifier = ">=7.17.0" }, + { name = "numpy", specifier = ">=2.4.4" }, + { name = "pandas", specifier = ">=3.0.2" }, + { name = "playwright", specifier = ">=1.58.0" }, + { name = "scikit-learn", specifier = ">=1.8.0" }, + { name = "sentence-transformers", specifier = ">=5.3.0" }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + +[[package]] +name = "faiss-cpu" +version = "1.13.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "packaging" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/c9/671f66f6b31ec48e5825d36435f0cb91189fa8bb6b50724029dbff4ca83c/faiss_cpu-1.13.2-cp310-abi3-macosx_14_0_arm64.whl", hash = "sha256:a9064eb34f8f64438dd5b95c8f03a780b1a3f0b99c46eeacb1f0b5d15fc02dc1", size = 3452776, upload-time = "2025-12-24T10:27:01.419Z" }, + { url = "https://files.pythonhosted.org/packages/5a/4a/97150aa1582fb9c2bca95bd8fc37f27d3b470acec6f0a6833844b21e4b40/faiss_cpu-1.13.2-cp310-abi3-macosx_14_0_x86_64.whl", hash = "sha256:c8d097884521e1ecaea6467aeebbf1aa56ee4a36350b48b2ca6b39366565c317", size = 7896434, upload-time = "2025-12-24T10:27:03.592Z" }, + { url = "https://files.pythonhosted.org/packages/0b/d0/0940575f059591ca31b63a881058adb16a387020af1709dcb7669460115c/faiss_cpu-1.13.2-cp310-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ee330a284042c2480f2e90450a10378fd95655d62220159b1408f59ee83ebf1", size = 11485825, upload-time = "2025-12-24T10:27:05.681Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e1/a5acac02aa593809f0123539afe7b4aff61d1db149e7093239888c9053e1/faiss_cpu-1.13.2-cp310-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ab88ee287c25a119213153d033f7dd64c3ccec466ace267395872f554b648cd7", size = 23845772, upload-time = "2025-12-24T10:27:08.194Z" }, + { url = "https://files.pythonhosted.org/packages/9c/7b/49dcaf354834ec457e85ca769d50bc9b5f3003fab7c94a9dcf08cf742793/faiss_cpu-1.13.2-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:85511129b34f890d19c98b82a0cd5ffb27d89d1cec2ee41d2621ee9f9ef8cf3f", size = 13477567, upload-time = "2025-12-24T10:27:10.822Z" }, + { url = "https://files.pythonhosted.org/packages/f7/6b/12bb4037921c38bb2c0b4cfc213ca7e04bbbebbfea89b0b5746248ce446e/faiss_cpu-1.13.2-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:8b32eb4065bac352b52a9f5ae07223567fab0a976c7d05017c01c45a1c24264f", size = 25102239, upload-time = "2025-12-24T10:27:13.476Z" }, + { url = "https://files.pythonhosted.org/packages/60/4b/903d85bf3a8264d49964ec799e45c7ffc91098606b8bc9ef2c904c1a56cb/faiss_cpu-1.13.2-cp313-cp313-win_amd64.whl", hash = "sha256:cb4b5ee184816a4b099162ac93c0d7f0033d81a88e7c1291d0a9cc41ec348984", size = 18891330, upload-time = "2025-12-24T10:27:28.806Z" }, + { url = "https://files.pythonhosted.org/packages/b2/52/5d10642da628f63544aab27e48416be4a7ea25c6b81d8bd65016d8538b00/faiss_cpu-1.13.2-cp313-cp313-win_arm64.whl", hash = "sha256:1243967eeb2298791ff7f3683a4abd2100d7e6ec7542ca05c3b75d47a7f621e5", size = 8553088, upload-time = "2025-12-24T10:27:31.325Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b1/daaab8046f56c60079648bd83774f61b283b59a9930a2f60790ee4cdedfe/faiss_cpu-1.13.2-cp314-cp314-win_amd64.whl", hash = "sha256:c8b645e7d56591aa35dc75415bb53a62e4a494dba010e16f4b67daeffd830bd7", size = 18892621, upload-time = "2025-12-24T10:27:33.923Z" }, + { url = "https://files.pythonhosted.org/packages/06/6f/5eaf3e249c636e616ebb52e369a4a2f1d32b1caf9a611b4f917b3dd21423/faiss_cpu-1.13.2-cp314-cp314-win_arm64.whl", hash = "sha256:8113a2a80b59fe5653cf66f5c0f18be0a691825601a52a614c30beb1fca9bc7c", size = 8556374, upload-time = "2025-12-24T10:27:36.653Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" }, +] + +[[package]] +name = "filelock" +version = "3.25.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/b8/00651a0f559862f3bb7d6f7477b192afe3f583cc5e26403b44e59a55ab34/filelock-3.25.2.tar.gz", hash = "sha256:b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694", size = 40480, upload-time = "2026-03-11T20:45:38.487Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/a5/842ae8f0c08b61d6484b52f99a03510a3a72d23141942d216ebe81fefbce/filelock-3.25.2-py3-none-any.whl", hash = "sha256:ca8afb0da15f229774c9ad1b455ed96e85a81373065fb10446672f64444ddf70", size = 26759, upload-time = "2026-03-11T20:45:37.437Z" }, +] + +[[package]] +name = "fonttools" +version = "4.62.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/08/7012b00a9a5874311b639c3920270c36ee0c445b69d9989a85e5c92ebcb0/fonttools-4.62.1.tar.gz", hash = "sha256:e54c75fd6041f1122476776880f7c3c3295ffa31962dc6ebe2543c00dca58b5d", size = 3580737, upload-time = "2026-03-13T13:54:25.52Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/56/6f389de21c49555553d6a5aeed5ac9767631497ac836c4f076273d15bd72/fonttools-4.62.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c22b1014017111c401469e3acc5433e6acf6ebcc6aa9efb538a533c800971c79", size = 2865155, upload-time = "2026-03-13T13:53:16.132Z" }, + { url = "https://files.pythonhosted.org/packages/03/c5/0e3966edd5ec668d41dfe418787726752bc07e2f5fd8c8f208615e61fa89/fonttools-4.62.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68959f5fc58ed4599b44aad161c2837477d7f35f5f79402d97439974faebfebe", size = 2412802, upload-time = "2026-03-13T13:53:18.878Z" }, + { url = "https://files.pythonhosted.org/packages/52/94/e6ac4b44026de7786fe46e3bfa0c87e51d5d70a841054065d49cd62bb909/fonttools-4.62.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef46db46c9447103b8f3ff91e8ba009d5fe181b1920a83757a5762551e32bb68", size = 5013926, upload-time = "2026-03-13T13:53:21.379Z" }, + { url = "https://files.pythonhosted.org/packages/e2/98/8b1e801939839d405f1f122e7d175cebe9aeb4e114f95bfc45e3152af9a7/fonttools-4.62.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6706d1cb1d5e6251a97ad3c1b9347505c5615c112e66047abbef0f8545fa30d1", size = 4964575, upload-time = "2026-03-13T13:53:23.857Z" }, + { url = "https://files.pythonhosted.org/packages/46/76/7d051671e938b1881670528fec69cc4044315edd71a229c7fd712eaa5119/fonttools-4.62.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2e7abd2b1e11736f58c1de27819e1955a53267c21732e78243fa2fa2e5c1e069", size = 4953693, upload-time = "2026-03-13T13:53:26.569Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ae/b41f8628ec0be3c1b934fc12b84f4576a5c646119db4d3bdd76a217c90b5/fonttools-4.62.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:403d28ce06ebfc547fbcb0cb8b7f7cc2f7a2d3e1a67ba9a34b14632df9e080f9", size = 5094920, upload-time = "2026-03-13T13:53:29.329Z" }, + { url = "https://files.pythonhosted.org/packages/f2/f6/53a1e9469331a23dcc400970a27a4caa3d9f6edbf5baab0260285238b884/fonttools-4.62.1-cp313-cp313-win32.whl", hash = "sha256:93c316e0f5301b2adbe6a5f658634307c096fd5aae60a5b3412e4f3e1728ab24", size = 2279928, upload-time = "2026-03-13T13:53:32.352Z" }, + { url = "https://files.pythonhosted.org/packages/38/60/35186529de1db3c01f5ad625bde07c1f576305eab6d86bbda4c58445f721/fonttools-4.62.1-cp313-cp313-win_amd64.whl", hash = "sha256:7aa21ff53e28a9c2157acbc44e5b401149d3c9178107130e82d74ceb500e5056", size = 2330514, upload-time = "2026-03-13T13:53:34.991Z" }, + { url = "https://files.pythonhosted.org/packages/36/f0/2888cdac391807d68d90dcb16ef858ddc1b5309bfc6966195a459dd326e2/fonttools-4.62.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fa1d16210b6b10a826d71bed68dd9ec24a9e218d5a5e2797f37c573e7ec215ca", size = 2864442, upload-time = "2026-03-13T13:53:37.509Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b2/e521803081f8dc35990816b82da6360fa668a21b44da4b53fc9e77efcd62/fonttools-4.62.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:aa69d10ed420d8121118e628ad47d86e4caa79ba37f968597b958f6cceab7eca", size = 2410901, upload-time = "2026-03-13T13:53:40.55Z" }, + { url = "https://files.pythonhosted.org/packages/00/a4/8c3511ff06e53110039358dbbdc1a65d72157a054638387aa2ada300a8b8/fonttools-4.62.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd13b7999d59c5eb1c2b442eb2d0c427cb517a0b7a1f5798fc5c9e003f5ff782", size = 4999608, upload-time = "2026-03-13T13:53:42.798Z" }, + { url = "https://files.pythonhosted.org/packages/28/63/cd0c3b26afe60995a5295f37c246a93d454023726c3261cfbb3559969bb9/fonttools-4.62.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8d337fdd49a79b0d51c4da87bc38169d21c3abbf0c1aa9367eff5c6656fb6dae", size = 4912726, upload-time = "2026-03-13T13:53:45.405Z" }, + { url = "https://files.pythonhosted.org/packages/70/b9/ac677cb07c24c685cf34f64e140617d58789d67a3dd524164b63648c6114/fonttools-4.62.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d241cdc4a67b5431c6d7f115fdf63335222414995e3a1df1a41e1182acd4bcc7", size = 4951422, upload-time = "2026-03-13T13:53:48.326Z" }, + { url = "https://files.pythonhosted.org/packages/e6/10/11c08419a14b85b7ca9a9faca321accccc8842dd9e0b1c8a72908de05945/fonttools-4.62.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c05557a78f8fa514da0f869556eeda40887a8abc77c76ee3f74cf241778afd5a", size = 5060979, upload-time = "2026-03-13T13:53:51.366Z" }, + { url = "https://files.pythonhosted.org/packages/4e/3c/12eea4a4cf054e7ab058ed5ceada43b46809fce2bf319017c4d63ae55bb4/fonttools-4.62.1-cp314-cp314-win32.whl", hash = "sha256:49a445d2f544ce4a69338694cad575ba97b9a75fff02720da0882d1a73f12800", size = 2283733, upload-time = "2026-03-13T13:53:53.606Z" }, + { url = "https://files.pythonhosted.org/packages/6b/67/74b070029043186b5dd13462c958cb7c7f811be0d2e634309d9a1ffb1505/fonttools-4.62.1-cp314-cp314-win_amd64.whl", hash = "sha256:1eecc128c86c552fb963fe846ca4e011b1be053728f798185a1687502f6d398e", size = 2335663, upload-time = "2026-03-13T13:53:56.23Z" }, + { url = "https://files.pythonhosted.org/packages/42/c5/4d2ed3ca6e33617fc5624467da353337f06e7f637707478903c785bd8e20/fonttools-4.62.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1596aeaddf7f78e21e68293c011316a25267b3effdaccaf4d59bc9159d681b82", size = 2947288, upload-time = "2026-03-13T13:53:59.397Z" }, + { url = "https://files.pythonhosted.org/packages/1f/e9/7ab11ddfda48ed0f89b13380e5595ba572619c27077be0b2c447a63ff351/fonttools-4.62.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:8f8fca95d3bb3208f59626a4b0ea6e526ee51f5a8ad5d91821c165903e8d9260", size = 2449023, upload-time = "2026-03-13T13:54:01.642Z" }, + { url = "https://files.pythonhosted.org/packages/b2/10/a800fa090b5e8819942e54e19b55fc7c21fe14a08757c3aa3ca8db358939/fonttools-4.62.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee91628c08e76f77b533d65feb3fbe6d9dad699f95be51cf0d022db94089cdc4", size = 5137599, upload-time = "2026-03-13T13:54:04.495Z" }, + { url = "https://files.pythonhosted.org/packages/37/dc/8ccd45033fffd74deb6912fa1ca524643f584b94c87a16036855b498a1ed/fonttools-4.62.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5f37df1cac61d906e7b836abe356bc2f34c99d4477467755c216b72aa3dc748b", size = 4920933, upload-time = "2026-03-13T13:54:07.557Z" }, + { url = "https://files.pythonhosted.org/packages/99/eb/e618adefb839598d25ac8136cd577925d6c513dc0d931d93b8af956210f0/fonttools-4.62.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:92bb00a947e666169c99b43753c4305fc95a890a60ef3aeb2a6963e07902cc87", size = 5016232, upload-time = "2026-03-13T13:54:10.611Z" }, + { url = "https://files.pythonhosted.org/packages/d9/5f/9b5c9bfaa8ec82def8d8168c4f13615990d6ce5996fe52bd49bfb5e05134/fonttools-4.62.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:bdfe592802ef939a0e33106ea4a318eeb17822c7ee168c290273cbd5fabd746c", size = 5042987, upload-time = "2026-03-13T13:54:13.569Z" }, + { url = "https://files.pythonhosted.org/packages/90/aa/dfbbe24c6a6afc5c203d90cc0343e24bcbb09e76d67c4d6eef8c2558d7ba/fonttools-4.62.1-cp314-cp314t-win32.whl", hash = "sha256:b820fcb92d4655513d8402d5b219f94481c4443d825b4372c75a2072aa4b357a", size = 2348021, upload-time = "2026-03-13T13:54:16.98Z" }, + { url = "https://files.pythonhosted.org/packages/13/6f/ae9c4e4dd417948407b680855c2c7790efb52add6009aaecff1e3bc50e8e/fonttools-4.62.1-cp314-cp314t-win_amd64.whl", hash = "sha256:59b372b4f0e113d3746b88985f1c796e7bf830dd54b28374cd85c2b8acd7583e", size = 2414147, upload-time = "2026-03-13T13:54:19.416Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ba/56147c165442cc5ba7e82ecf301c9a68353cede498185869e6e02b4c264f/fonttools-4.62.1-py3-none-any.whl", hash = "sha256:7487782e2113861f4ddcc07c3436450659e3caa5e470b27dc2177cade2d8e7fd", size = 1152647, upload-time = "2026-03-13T13:54:22.735Z" }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, +] + +[[package]] +name = "fsspec" +version = "2026.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/cf/b50ddf667c15276a9ab15a70ef5f257564de271957933ffea49d2cdbcdfb/fsspec-2026.3.0.tar.gz", hash = "sha256:1ee6a0e28677557f8c2f994e3eea77db6392b4de9cd1f5d7a9e87a0ae9d01b41", size = 313547, upload-time = "2026-03-27T19:11:14.892Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/1f/5f4a3cd9e4440e9d9bc78ad0a91a1c8d46b4d429d5239ebe6793c9fe5c41/fsspec-2026.3.0-py3-none-any.whl", hash = "sha256:d2ceafaad1b3457968ed14efa28798162f1638dbb5d2a6868a2db002a5ee39a4", size = 202595, upload-time = "2026-03-27T19:11:13.595Z" }, +] + +[[package]] +name = "greenlet" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/51/1664f6b78fc6ebbd98019a1fd730e83fa78f2db7058f72b1463d3612b8db/greenlet-3.3.2.tar.gz", hash = "sha256:2eaf067fc6d886931c7962e8c6bede15d2f01965560f3359b27c80bde2d151f2", size = 188267, upload-time = "2026-02-20T20:54:15.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/48/f8b875fa7dea7dd9b33245e37f065af59df6a25af2f9561efa8d822fde51/greenlet-3.3.2-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:aa6ac98bdfd716a749b84d4034486863fd81c3abde9aa3cf8eff9127981a4ae4", size = 279120, upload-time = "2026-02-20T20:19:01.9Z" }, + { url = "https://files.pythonhosted.org/packages/49/8d/9771d03e7a8b1ee456511961e1b97a6d77ae1dea4a34a5b98eee706689d3/greenlet-3.3.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab0c7e7901a00bc0a7284907273dc165b32e0d109a6713babd04471327ff7986", size = 603238, upload-time = "2026-02-20T20:47:32.873Z" }, + { url = "https://files.pythonhosted.org/packages/59/0e/4223c2bbb63cd5c97f28ffb2a8aee71bdfb30b323c35d409450f51b91e3e/greenlet-3.3.2-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d248d8c23c67d2291ffd47af766e2a3aa9fa1c6703155c099feb11f526c63a92", size = 614219, upload-time = "2026-02-20T20:55:59.817Z" }, + { url = "https://files.pythonhosted.org/packages/94/2b/4d012a69759ac9d77210b8bfb128bc621125f5b20fc398bce3940d036b1c/greenlet-3.3.2-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ccd21bb86944ca9be6d967cf7691e658e43417782bce90b5d2faeda0ff78a7dd", size = 628268, upload-time = "2026-02-20T21:02:48.024Z" }, + { url = "https://files.pythonhosted.org/packages/7a/34/259b28ea7a2a0c904b11cd36c79b8cef8019b26ee5dbe24e73b469dea347/greenlet-3.3.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b6997d360a4e6a4e936c0f9625b1c20416b8a0ea18a8e19cabbefc712e7397ab", size = 616774, upload-time = "2026-02-20T20:21:02.454Z" }, + { url = "https://files.pythonhosted.org/packages/0a/03/996c2d1689d486a6e199cb0f1cf9e4aa940c500e01bdf201299d7d61fa69/greenlet-3.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:64970c33a50551c7c50491671265d8954046cb6e8e2999aacdd60e439b70418a", size = 1571277, upload-time = "2026-02-20T20:49:34.795Z" }, + { url = "https://files.pythonhosted.org/packages/d9/c4/2570fc07f34a39f2caf0bf9f24b0a1a0a47bc2e8e465b2c2424821389dfc/greenlet-3.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1a9172f5bf6bd88e6ba5a84e0a68afeac9dc7b6b412b245dd64f52d83c81e55b", size = 1640455, upload-time = "2026-02-20T20:21:10.261Z" }, + { url = "https://files.pythonhosted.org/packages/91/39/5ef5aa23bc545aa0d31e1b9b55822b32c8da93ba657295840b6b34124009/greenlet-3.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:a7945dd0eab63ded0a48e4dcade82939783c172290a7903ebde9e184333ca124", size = 230961, upload-time = "2026-02-20T20:16:58.461Z" }, + { url = "https://files.pythonhosted.org/packages/62/6b/a89f8456dcb06becff288f563618e9f20deed8dd29beea14f9a168aef64b/greenlet-3.3.2-cp313-cp313-win_arm64.whl", hash = "sha256:394ead29063ee3515b4e775216cb756b2e3b4a7e55ae8fd884f17fa579e6b327", size = 230221, upload-time = "2026-02-20T20:17:37.152Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ae/8bffcbd373b57a5992cd077cbe8858fff39110480a9d50697091faea6f39/greenlet-3.3.2-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:8d1658d7291f9859beed69a776c10822a0a799bc4bfe1bd4272bb60e62507dab", size = 279650, upload-time = "2026-02-20T20:18:00.783Z" }, + { url = "https://files.pythonhosted.org/packages/d1/c0/45f93f348fa49abf32ac8439938726c480bd96b2a3c6f4d949ec0124b69f/greenlet-3.3.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:18cb1b7337bca281915b3c5d5ae19f4e76d35e1df80f4ad3c1a7be91fadf1082", size = 650295, upload-time = "2026-02-20T20:47:34.036Z" }, + { url = "https://files.pythonhosted.org/packages/b3/de/dd7589b3f2b8372069ab3e4763ea5329940fc7ad9dcd3e272a37516d7c9b/greenlet-3.3.2-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2e47408e8ce1c6f1ceea0dffcdf6ebb85cc09e55c7af407c99f1112016e45e9", size = 662163, upload-time = "2026-02-20T20:56:01.295Z" }, + { url = "https://files.pythonhosted.org/packages/cd/ac/85804f74f1ccea31ba518dcc8ee6f14c79f73fe36fa1beba38930806df09/greenlet-3.3.2-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e3cb43ce200f59483eb82949bf1835a99cf43d7571e900d7c8d5c62cdf25d2f9", size = 675371, upload-time = "2026-02-20T21:02:49.664Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d8/09bfa816572a4d83bccd6750df1926f79158b1c36c5f73786e26dbe4ee38/greenlet-3.3.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:63d10328839d1973e5ba35e98cccbca71b232b14051fd957b6f8b6e8e80d0506", size = 664160, upload-time = "2026-02-20T20:21:04.015Z" }, + { url = "https://files.pythonhosted.org/packages/48/cf/56832f0c8255d27f6c35d41b5ec91168d74ec721d85f01a12131eec6b93c/greenlet-3.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:8e4ab3cfb02993c8cc248ea73d7dae6cec0253e9afa311c9b37e603ca9fad2ce", size = 1619181, upload-time = "2026-02-20T20:49:36.052Z" }, + { url = "https://files.pythonhosted.org/packages/0a/23/b90b60a4aabb4cec0796e55f25ffbfb579a907c3898cd2905c8918acaa16/greenlet-3.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94ad81f0fd3c0c0681a018a976e5c2bd2ca2d9d94895f23e7bb1af4e8af4e2d5", size = 1687713, upload-time = "2026-02-20T20:21:11.684Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ca/2101ca3d9223a1dc125140dbc063644dca76df6ff356531eb27bc267b446/greenlet-3.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:8c4dd0f3997cf2512f7601563cc90dfb8957c0cff1e3a1b23991d4ea1776c492", size = 232034, upload-time = "2026-02-20T20:20:08.186Z" }, + { url = "https://files.pythonhosted.org/packages/f6/4a/ecf894e962a59dea60f04877eea0fd5724618da89f1867b28ee8b91e811f/greenlet-3.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:cd6f9e2bbd46321ba3bbb4c8a15794d32960e3b0ae2cc4d49a1a53d314805d71", size = 231437, upload-time = "2026-02-20T20:18:59.722Z" }, + { url = "https://files.pythonhosted.org/packages/98/6d/8f2ef704e614bcf58ed43cfb8d87afa1c285e98194ab2cfad351bf04f81e/greenlet-3.3.2-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:e26e72bec7ab387ac80caa7496e0f908ff954f31065b0ffc1f8ecb1338b11b54", size = 286617, upload-time = "2026-02-20T20:19:29.856Z" }, + { url = "https://files.pythonhosted.org/packages/5e/0d/93894161d307c6ea237a43988f27eba0947b360b99ac5239ad3fe09f0b47/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b466dff7a4ffda6ca975979bab80bdadde979e29fc947ac3be4451428d8b0e4", size = 655189, upload-time = "2026-02-20T20:47:35.742Z" }, + { url = "https://files.pythonhosted.org/packages/f5/2c/d2d506ebd8abcb57386ec4f7ba20f4030cbe56eae541bc6fd6ef399c0b41/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b8bddc5b73c9720bea487b3bffdb1840fe4e3656fba3bd40aa1489e9f37877ff", size = 658225, upload-time = "2026-02-20T20:56:02.527Z" }, + { url = "https://files.pythonhosted.org/packages/d1/67/8197b7e7e602150938049d8e7f30de1660cfb87e4c8ee349b42b67bdb2e1/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:59b3e2c40f6706b05a9cd299c836c6aa2378cabe25d021acd80f13abf81181cf", size = 666581, upload-time = "2026-02-20T21:02:51.526Z" }, + { url = "https://files.pythonhosted.org/packages/8e/30/3a09155fbf728673a1dea713572d2d31159f824a37c22da82127056c44e4/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b26b0f4428b871a751968285a1ac9648944cea09807177ac639b030bddebcea4", size = 657907, upload-time = "2026-02-20T20:21:05.259Z" }, + { url = "https://files.pythonhosted.org/packages/f3/fd/d05a4b7acd0154ed758797f0a43b4c0962a843bedfe980115e842c5b2d08/greenlet-3.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1fb39a11ee2e4d94be9a76671482be9398560955c9e568550de0224e41104727", size = 1618857, upload-time = "2026-02-20T20:49:37.309Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e1/50ee92a5db521de8f35075b5eff060dd43d39ebd46c2181a2042f7070385/greenlet-3.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:20154044d9085151bc309e7689d6f7ba10027f8f5a8c0676ad398b951913d89e", size = 1680010, upload-time = "2026-02-20T20:21:13.427Z" }, + { url = "https://files.pythonhosted.org/packages/29/4b/45d90626aef8e65336bed690106d1382f7a43665e2249017e9527df8823b/greenlet-3.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c04c5e06ec3e022cbfe2cd4a846e1d4e50087444f875ff6d2c2ad8445495cf1a", size = 237086, upload-time = "2026-02-20T20:20:45.786Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "hf-xet" +version = "1.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/92/ec9ad04d0b5728dca387a45af7bc98fbb0d73b2118759f5f6038b61a57e8/hf_xet-1.4.3.tar.gz", hash = "sha256:8ddedb73c8c08928c793df2f3401ec26f95be7f7e516a7bee2fbb546f6676113", size = 670477, upload-time = "2026-03-31T22:40:07.874Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/43/724d307b34e353da0abd476e02f72f735cdd2bc86082dee1b32ea0bfee1d/hf_xet-1.4.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:7551659ba4f1e1074e9623996f28c3873682530aee0a846b7f2f066239228144", size = 3800935, upload-time = "2026-03-31T22:39:49.618Z" }, + { url = "https://files.pythonhosted.org/packages/2b/d2/8bee5996b699262edb87dbb54118d287c0e1b2fc78af7cdc41857ba5e3c4/hf_xet-1.4.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:bee693ada985e7045997f05f081d0e12c4c08bd7626dc397f8a7c487e6c04f7f", size = 3558942, upload-time = "2026-03-31T22:39:47.938Z" }, + { url = "https://files.pythonhosted.org/packages/c3/a1/e993d09cbe251196fb60812b09a58901c468127b7259d2bf0f68bf6088eb/hf_xet-1.4.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21644b404bb0100fe3857892f752c4d09642586fd988e61501c95bbf44b393a3", size = 4207657, upload-time = "2026-03-31T22:39:39.69Z" }, + { url = "https://files.pythonhosted.org/packages/64/44/9eb6d21e5c34c63e5e399803a6932fa983cabdf47c0ecbcfe7ea97684b8c/hf_xet-1.4.3-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:987f09cfe418237812896a6736b81b1af02a3a6dcb4b4944425c4c4fca7a7cf8", size = 3986765, upload-time = "2026-03-31T22:39:37.936Z" }, + { url = "https://files.pythonhosted.org/packages/ea/7b/8ad6f16fdb82f5f7284a34b5ec48645bd575bdcd2f6f0d1644775909c486/hf_xet-1.4.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:60cf7fc43a99da0a853345cf86d23738c03983ee5249613a6305d3e57a5dca74", size = 4188162, upload-time = "2026-03-31T22:39:58.382Z" }, + { url = "https://files.pythonhosted.org/packages/1b/c4/39d6e136cbeea9ca5a23aad4b33024319222adbdc059ebcda5fc7d9d5ff4/hf_xet-1.4.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2815a49a7a59f3e2edf0cf113ae88e8cb2ca2a221bf353fb60c609584f4884d4", size = 4424525, upload-time = "2026-03-31T22:40:00.225Z" }, + { url = "https://files.pythonhosted.org/packages/46/f2/adc32dae6bdbc367853118b9878139ac869419a4ae7ba07185dc31251b76/hf_xet-1.4.3-cp313-cp313t-win_amd64.whl", hash = "sha256:42ee323265f1e6a81b0e11094564fb7f7e0ec75b5105ffd91ae63f403a11931b", size = 3671610, upload-time = "2026-03-31T22:40:10.42Z" }, + { url = "https://files.pythonhosted.org/packages/e2/19/25d897dcc3f81953e0c2cde9ec186c7a0fee413eb0c9a7a9130d87d94d3a/hf_xet-1.4.3-cp313-cp313t-win_arm64.whl", hash = "sha256:27c976ba60079fb8217f485b9c5c7fcd21c90b0367753805f87cb9f3cdc4418a", size = 3528529, upload-time = "2026-03-31T22:40:09.106Z" }, + { url = "https://files.pythonhosted.org/packages/ec/36/3e8f85ca9fe09b8de2b2e10c63b3b3353d7dda88a0b3d426dffbe7b8313b/hf_xet-1.4.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:5251d5ece3a81815bae9abab41cf7ddb7bcb8f56411bce0827f4a3071c92fdc6", size = 3801019, upload-time = "2026-03-31T22:39:56.651Z" }, + { url = "https://files.pythonhosted.org/packages/b5/9c/defb6cb1de28bccb7bd8d95f6e60f72a3d3fa4cb3d0329c26fb9a488bfe7/hf_xet-1.4.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1feb0f3abeacee143367c326a128a2e2b60868ec12a36c225afb1d6c5a05e6d2", size = 3558746, upload-time = "2026-03-31T22:39:54.766Z" }, + { url = "https://files.pythonhosted.org/packages/c1/bd/8d001191893178ff8e826e46ad5299446e62b93cd164e17b0ffea08832ec/hf_xet-1.4.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8b301fc150290ca90b4fccd079829b84bb4786747584ae08b94b4577d82fb791", size = 4207692, upload-time = "2026-03-31T22:39:46.246Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/6790b402803250e9936435613d3a78b9aaeee7973439f0918848dde58309/hf_xet-1.4.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:d972fbe95ddc0d3c0fc49b31a8a69f47db35c1e3699bf316421705741aab6653", size = 3986281, upload-time = "2026-03-31T22:39:44.648Z" }, + { url = "https://files.pythonhosted.org/packages/51/56/ea62552fe53db652a9099eda600b032d75554d0e86c12a73824bfedef88b/hf_xet-1.4.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c5b48db1ee344a805a1b9bd2cda9b6b65fe77ed3787bd6e87ad5521141d317cd", size = 4187414, upload-time = "2026-03-31T22:40:04.951Z" }, + { url = "https://files.pythonhosted.org/packages/7d/f5/bc1456d4638061bea997e6d2db60a1a613d7b200e0755965ec312dc1ef79/hf_xet-1.4.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:22bdc1f5fb8b15bf2831440b91d1c9bbceeb7e10c81a12e8d75889996a5c9da8", size = 4424368, upload-time = "2026-03-31T22:40:06.347Z" }, + { url = "https://files.pythonhosted.org/packages/e4/76/ab597bae87e1f06d18d3ecb8ed7f0d3c9a37037fc32ce76233d369273c64/hf_xet-1.4.3-cp314-cp314t-win_amd64.whl", hash = "sha256:0392c79b7cf48418cd61478c1a925246cf10639f4cd9d94368d8ca1e8df9ea07", size = 3672280, upload-time = "2026-03-31T22:40:16.401Z" }, + { url = "https://files.pythonhosted.org/packages/62/05/2e462d34e23a09a74d73785dbed71cc5dbad82a72eee2ad60a72a554155d/hf_xet-1.4.3-cp314-cp314t-win_arm64.whl", hash = "sha256:681c92a07796325778a79d76c67011764ecc9042a8c3579332b61b63ae512075", size = 3528945, upload-time = "2026-03-31T22:40:14.995Z" }, + { url = "https://files.pythonhosted.org/packages/ac/9f/9c23e4a447b8f83120798f9279d0297a4d1360bdbf59ef49ebec78fe2545/hf_xet-1.4.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:d0da85329eaf196e03e90b84c2d0aca53bd4573d097a75f99609e80775f98025", size = 3805048, upload-time = "2026-03-31T22:39:53.105Z" }, + { url = "https://files.pythonhosted.org/packages/0b/f8/7aacb8e5f4a7899d39c787b5984e912e6c18b11be136ef13947d7a66d265/hf_xet-1.4.3-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:e23717ce4186b265f69afa66e6f0069fe7efbf331546f5c313d00e123dc84583", size = 3562178, upload-time = "2026-03-31T22:39:51.295Z" }, + { url = "https://files.pythonhosted.org/packages/df/9a/a24b26dc8a65f0ecc0fe5be981a19e61e7ca963b85e062c083f3a9100529/hf_xet-1.4.3-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc360b70c815bf340ed56c7b8c63aacf11762a4b099b2fe2c9bd6d6068668c08", size = 4212320, upload-time = "2026-03-31T22:39:42.922Z" }, + { url = "https://files.pythonhosted.org/packages/53/60/46d493db155d2ee2801b71fb1b0fd67696359047fdd8caee2c914cc50c79/hf_xet-1.4.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:39f2d2e9654cd9b4319885733993807aab6de9dfbd34c42f0b78338d6617421f", size = 3991546, upload-time = "2026-03-31T22:39:41.335Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f5/067363e1c96c6b17256910830d1b54099d06287e10f4ec6ec4e7e08371fc/hf_xet-1.4.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:49ad8a8cead2b56051aa84d7fce3e1335efe68df3cf6c058f22a65513885baac", size = 4193200, upload-time = "2026-03-31T22:40:01.936Z" }, + { url = "https://files.pythonhosted.org/packages/42/4b/53951592882d9c23080c7644542fda34a3813104e9e11fa1a7d82d419cb8/hf_xet-1.4.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7716d62015477a70ea272d2d68cd7cad140f61c52ee452e133e139abfe2c17ba", size = 4429392, upload-time = "2026-03-31T22:40:03.492Z" }, + { url = "https://files.pythonhosted.org/packages/8a/21/75a6c175b4e79662ad8e62f46a40ce341d8d6b206b06b4320d07d55b188c/hf_xet-1.4.3-cp37-abi3-win_amd64.whl", hash = "sha256:6b591fcad34e272a5b02607485e4f2a1334aebf1bc6d16ce8eb1eb8978ac2021", size = 3677359, upload-time = "2026-03-31T22:40:13.619Z" }, + { url = "https://files.pythonhosted.org/packages/8a/7c/44314ecd0e89f8b2b51c9d9e5e7a60a9c1c82024ac471d415860557d3cd8/hf_xet-1.4.3-cp37-abi3-win_arm64.whl", hash = "sha256:7c2c7e20bcfcc946dc67187c203463f5e932e395845d098cc2a93f5b67ca0b47", size = 3533664, upload-time = "2026-03-31T22:40:12.152Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "httpx-sse" +version = "0.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz", hash = "sha256:9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d", size = 15943, upload-time = "2025-10-10T21:48:22.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl", hash = "sha256:0ac1c9fe3c0afad2e0ebb25a934a59f4c7823b60792691f779fad2c5568830fc", size = 8960, upload-time = "2025-10-10T21:48:21.158Z" }, +] + +[[package]] +name = "huggingface-hub" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, + { name = "fsspec" }, + { name = "hf-xet", marker = "platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'" }, + { name = "httpx" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "tqdm" }, + { name = "typer" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8e/2a/a847fd02261cd051da218baf99f90ee7c7040c109a01833db4f838f25256/huggingface_hub-1.8.0.tar.gz", hash = "sha256:c5627b2fd521e00caf8eff4ac965ba988ea75167fad7ee72e17f9b7183ec63f3", size = 735839, upload-time = "2026-03-25T16:01:28.152Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/ae/8a3a16ea4d202cb641b51d2681bdd3d482c1c592d7570b3fa264730829ce/huggingface_hub-1.8.0-py3-none-any.whl", hash = "sha256:d3eb5047bd4e33c987429de6020d4810d38a5bef95b3b40df9b17346b7f353f2", size = 625208, upload-time = "2026-03-25T16:01:26.603Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "ipykernel" +version = "7.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/8d/b68b728e2d06b9e0051019640a40a9eb7a88fcd82c2e1b5ce70bef5ff044/ipykernel-7.2.0.tar.gz", hash = "sha256:18ed160b6dee2cbb16e5f3575858bc19d8f1fe6046a9a680c708494ce31d909e", size = 176046, upload-time = "2026-02-06T16:43:27.403Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/b9/e73d5d9f405cba7706c539aa8b311b49d4c2f3d698d9c12f815231169c71/ipykernel-7.2.0-py3-none-any.whl", hash = "sha256:3bbd4420d2b3cc105cbdf3756bfc04500b1e52f090a90716851f3916c62e1661", size = 118788, upload-time = "2026-02-06T16:43:25.149Z" }, +] + +[[package]] +name = "ipython" +version = "9.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/73/7114f80a8f9cabdb13c27732dce24af945b2923dcab80723602f7c8bc2d8/ipython-9.12.0.tar.gz", hash = "sha256:01daa83f504b693ba523b5a407246cabde4eb4513285a3c6acaff11a66735ee4", size = 4428879, upload-time = "2026-03-27T09:42:45.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/22/906c8108974c673ebef6356c506cebb6870d48cedea3c41e949e2dd556bb/ipython-9.12.0-py3-none-any.whl", hash = "sha256:0f2701e8ee86e117e37f50563205d36feaa259d2e08d4a6bc6b6d74b18ce128d", size = 625661, upload-time = "2026-03-27T09:42:42.831Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "ipywidgets" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "comm" }, + { name = "ipython" }, + { name = "jupyterlab-widgets" }, + { name = "traitlets" }, + { name = "widgetsnbextension" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4c/ae/c5ce1edc1afe042eadb445e95b0671b03cee61895264357956e61c0d2ac0/ipywidgets-8.1.8.tar.gz", hash = "sha256:61f969306b95f85fba6b6986b7fe45d73124d1d9e3023a8068710d47a22ea668", size = 116739, upload-time = "2025-11-01T21:18:12.393Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/6d/0d9848617b9f753b87f214f1c682592f7ca42de085f564352f10f0843026/ipywidgets-8.1.8-py3-none-any.whl", hash = "sha256:ecaca67aed704a338f88f67b1181b58f821ab5dc89c1f0f5ef99db43c1c2921e", size = 139808, upload-time = "2025-11-01T21:18:10.956Z" }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joblib" +version = "1.5.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz", hash = "sha256:8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", size = 331603, upload-time = "2025-12-15T08:41:46.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl", hash = "sha256:5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", size = 309071, upload-time = "2025-12-15T08:41:44.973Z" }, +] + +[[package]] +name = "json5" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/4b/6f8906aaf67d501e259b0adab4d312945bb7211e8b8d4dcc77c92320edaa/json5-0.14.0.tar.gz", hash = "sha256:b3f492fad9f6cdbced8b7d40b28b9b1c9701c5f561bef0d33b81c2ff433fefcb", size = 52656, upload-time = "2026-03-27T22:50:48.108Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/42/cf027b4ac873b076189d935b135397675dac80cb29acb13e1ab86ad6c631/json5-0.14.0-py3-none-any.whl", hash = "sha256:56cf861bab076b1178eb8c92e1311d273a9b9acea2ccc82c276abf839ebaef3a", size = 36271, upload-time = "2026-03-27T22:50:47.073Z" }, +] + +[[package]] +name = "jsonpointer" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/c7/af399a2e7a67fd18d63c40c5e62d3af4e67b836a2107468b6a5ea24c4304/jsonpointer-3.1.1.tar.gz", hash = "sha256:0b801c7db33a904024f6004d526dcc53bbb8a4a0f4e32bfd10beadf60adf1900", size = 9068, upload-time = "2026-03-23T22:32:32.458Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/6a/a83720e953b1682d2d109d3c2dbb0bc9bf28cc1cbc205be4ef4be5da709d/jsonpointer-3.1.1-py3-none-any.whl", hash = "sha256:8ff8b95779d071ba472cf5bc913028df06031797532f08a7d5b602d8b2a488ca", size = 7659, upload-time = "2026-03-23T22:32:31.568Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630, upload-time = "2026-01-07T13:41:05.306Z" }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "rfc3987-syntax" }, + { name = "uri-template" }, + { name = "webcolors" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "jupyter" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ipykernel" }, + { name = "ipywidgets" }, + { name = "jupyter-console" }, + { name = "jupyterlab" }, + { name = "nbconvert" }, + { name = "notebook" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/f3/af28ea964ab8bc1e472dba2e82627d36d470c51f5cd38c37502eeffaa25e/jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a", size = 5714959, upload-time = "2024-08-30T07:15:48.299Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/64/285f20a31679bf547b75602702f7800e74dbabae36ef324f716c02804753/jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83", size = 2657, upload-time = "2024-08-30T07:15:47.045Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", size = 348020, upload-time = "2026-01-08T13:55:47.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a", size = 107371, upload-time = "2026-01-08T13:55:45.562Z" }, +] + +[[package]] +name = "jupyter-collaboration" +version = "4.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-collaboration-ui" }, + { name = "jupyter-docprovider" }, + { name = "jupyter-server-ydoc" }, + { name = "jupyterlab" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7b/b7/86b8f2aca6a554668c55c88401ba9ba6e355fdcc7d71cb3dd0bec85c330e/jupyter_collaboration-4.3.0.tar.gz", hash = "sha256:6ef03664fdda0fddf47d2904db29a659c8ef4d2f307080b89cdef72e7e7b24c9", size = 3734, upload-time = "2026-03-31T10:08:36.166Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/1b/b518e55344a2bb787a8025d6cb51353b91d7af07e3756cc06b2ecb88098d/jupyter_collaboration-4.3.0-py3-none-any.whl", hash = "sha256:6dd3d7129e95a04e11f1fd22915f167023bebd4badc4cf1b71f73fb2690f5648", size = 4751, upload-time = "2026-03-31T10:08:34.383Z" }, +] + +[[package]] +name = "jupyter-collaboration-ui" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/cf/bbf8f4b6f27a91c5addd3e8371bb97939a1f9bf0bf988d9961532f9c26a6/jupyter_collaboration_ui-2.3.0.tar.gz", hash = "sha256:835e818614eb39645f2f583a57b2246d8d1ecff4ffd2d481ab4a6f6b2c45b997", size = 77339, upload-time = "2026-03-31T10:08:13.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/63/a1f297c16092e44a7e143fe4f414317057b8e2acf33ce3c182cd2b08c291/jupyter_collaboration_ui-2.3.0-py3-none-any.whl", hash = "sha256:e8b9f026615e9ed448b1518bb74f044e15519ad5282976fa54c002f2572139c0", size = 46498, upload-time = "2026-03-31T10:08:12.167Z" }, +] + +[[package]] +name = "jupyter-console" +version = "6.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ipykernel" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "pyzmq" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/2d/e2fd31e2fc41c14e2bcb6c976ab732597e907523f6b2420305f9fc7fdbdb/jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539", size = 34363, upload-time = "2023-03-06T14:13:31.02Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/77/71d78d58f15c22db16328a476426f7ac4a60d3a5a7ba3b9627ee2f7903d4/jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485", size = 24510, upload-time = "2023-03-06T14:13:28.229Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, +] + +[[package]] +name = "jupyter-docprovider" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/d3/45571d4a7a4a2024750e582c17c1311052476dab4a2a02dbd68c7b5d0df0/jupyter_docprovider-2.3.0.tar.gz", hash = "sha256:c09808e15e93f2ea4ff194a18c7a8c8f83d81049fa91b09de24b09adeac9d572", size = 49964, upload-time = "2026-03-31T10:08:25.383Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/4a/af30f008f176d38c183a107b6556ba36f9e1a9970d5f730739bed4663c4a/jupyter_docprovider-2.3.0-py3-none-any.whl", hash = "sha256:44f9a8bfa47f069154e111b869f71c0e4297f201c56fa15ff308fe4b64c50f43", size = 35575, upload-time = "2026-03-31T10:08:23.534Z" }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196, upload-time = "2025-02-03T17:23:41.485Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430, upload-time = "2025-02-03T17:23:38.643Z" }, +] + +[[package]] +name = "jupyter-kernel-client" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-mimetypes" }, + { name = "requests" }, + { name = "traitlets" }, + { name = "typing-extensions" }, + { name = "websocket-client" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/68/287315ba355aa93bda2e344de5febc45e6de1b47d8f4a5b69400b24cfdfd/jupyter_kernel_client-0.9.0-py3-none-any.whl", hash = "sha256:77acb8f2f738d97625d6bd01ee8cf21c4d59790b7ba464108712db3870416f20", size = 40097, upload-time = "2026-02-11T06:42:05.133Z" }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/ff/1e4a61f5170a9a1d978f3ac3872449de6c01fc71eaf89657824c878b1549/jupyter_lsp-2.3.1.tar.gz", hash = "sha256:fdf8a4aa7d85813976d6e29e95e6a2c8f752701f926f2715305249a3829805a6", size = 55677, upload-time = "2026-04-02T08:10:06.749Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/e8/9d61dcbd1dce8ef418f06befd4ac084b4720429c26b0b1222bc218685eff/jupyter_lsp-2.3.1-py3-none-any.whl", hash = "sha256:71b954d834e85ff3096400554f2eefaf7fe37053036f9a782b0f7c5e42dadb81", size = 77513, upload-time = "2026-04-02T08:10:01.753Z" }, +] + +[[package]] +name = "jupyter-mcp-server" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-kernel-client" }, + { name = "jupyter-nbmodel-client" }, + { name = "mcp", extra = ["cli"] }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/2f/0383d2b3b752a411abcb52dc3da7b7f064ecb8b902ed1c06dba5b57ac5c4/jupyter_mcp_server-0.4.0-py3-none-any.whl", hash = "sha256:54229b6201005f123479bdca1525a1d358af846027dd3067e4a37db128b87217", size = 7636, upload-time = "2025-06-13T07:51:11.072Z" }, +] + +[[package]] +name = "jupyter-mimetypes" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyarrow" }, + { name = "typing-extensions" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/45/cb4671e13fed39f721066ad1a00714d4b607982b8d3e97a25f836198d1df/jupyter_mimetypes-0.2.0-py3-none-any.whl", hash = "sha256:e6dcd989258e3fc944365b656d9173191517e0e393bd878e97ce500e5b388527", size = 16724, upload-time = "2025-08-10T18:18:27.309Z" }, +] + +[[package]] +name = "jupyter-nbmodel-client" +version = "0.11.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "datalayer-pycrdt" }, + { name = "jupyter-ydoc" }, + { name = "nbformat" }, + { name = "requests" }, + { name = "websockets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/25/9dc9a4247fac5f4b5a13c1455f6a0e52538b26d877b5de93682a1aee3782/jupyter_nbmodel_client-0.11.2.tar.gz", hash = "sha256:fcf35823a5843ce7824f8411ab08d78fef1d07c306a5e195ce1777ba9ce0683e", size = 25761, upload-time = "2025-03-25T15:09:59.127Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/60/e4de22326a765696746529c355a2cedc622bd18708c40b1ebcdc6839ddcb/jupyter_nbmodel_client-0.11.2-py3-none-any.whl", hash = "sha256:dfaec212064d16532b2bc93472aaec93c54b350efde342f581ba3bfad1e718d2", size = 26061, upload-time = "2025-03-25T15:09:57.266Z" }, +] + +[[package]] +name = "jupyter-server" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/ac/e040ec363d7b6b1f11304cc9f209dac4517ece5d5e01821366b924a64a50/jupyter_server-2.17.0.tar.gz", hash = "sha256:c38ea898566964c888b4772ae1ed58eca84592e88251d2cfc4d171f81f7e99d5", size = 731949, upload-time = "2025-08-21T14:42:54.042Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/80/a24767e6ca280f5a49525d987bf3e4d7552bf67c8be07e8ccf20271f8568/jupyter_server-2.17.0-py3-none-any.whl", hash = "sha256:e8cb9c7db4251f51ed307e329b81b72ccf2056ff82d50524debde1ee1870e13f", size = 388221, upload-time = "2025-08-21T14:42:52.034Z" }, +] + +[[package]] +name = "jupyter-server-fileid" +version = "0.9.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-events" }, + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0d/eb/7c2c09454bbf66b3727ba8c431d16159d642c0eb1aa179412a4f7af721cf/jupyter_server_fileid-0.9.3.tar.gz", hash = "sha256:521608bb87f606a8637fcbdce2f3d24a8b3cc89d2eef61751cb40e468d4e54be", size = 54959, upload-time = "2024-09-06T07:18:40.412Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/d6/5e5bca083664b1dd368e261107cbe2d350e3bdc62bdba8720fdbb9b9db39/jupyter_server_fileid-0.9.3-py3-none-any.whl", hash = "sha256:f73c01c19f90005d3fff93607b91b4955ba4e1dccdde9bfe8026646f94053791", size = 16922, upload-time = "2024-09-06T07:18:38.445Z" }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/a7/bcd0a9b0cbba88986fe944aaaf91bfda603e5a50bda8ed15123f381a3b2f/jupyter_server_terminals-0.5.4.tar.gz", hash = "sha256:bbda128ed41d0be9020349f9f1f2a4ab9952a73ed5f5ac9f1419794761fb87f5", size = 31770, upload-time = "2026-01-14T16:53:20.213Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/2d/6674563f71c6320841fc300911a55143925112a72a883e2ca71fba4c618d/jupyter_server_terminals-0.5.4-py3-none-any.whl", hash = "sha256:55be353fc74a80bc7f3b20e6be50a55a61cd525626f578dcb66a5708e2007d14", size = 13704, upload-time = "2026-01-14T16:53:18.738Z" }, +] + +[[package]] +name = "jupyter-server-ydoc" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema" }, + { name = "jupyter-events" }, + { name = "jupyter-server" }, + { name = "jupyter-server-fileid" }, + { name = "jupyter-ydoc" }, + { name = "pycrdt" }, + { name = "pycrdt-websocket" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/88/f81afcbd7cfca28c4d04086360a623319220f46a87f3206c1672f0411441/jupyter_server_ydoc-2.3.0.tar.gz", hash = "sha256:36f311491e9f289f461fcdf26afb9b72cdf0eac3ceed0c0cbc8ec43afc8efebc", size = 32103, upload-time = "2026-03-31T10:08:02.176Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/73/18007b4fad0813a039b0c63c40b2f34f0f65f278c1d1670a323ff2d18638/jupyter_server_ydoc-2.3.0-py3-none-any.whl", hash = "sha256:888c4092592585f80d34f81e093aee4ce1b9d2e2601efb9e65eb5bdd23893a79", size = 33275, upload-time = "2026-03-31T10:08:00.239Z" }, +] + +[[package]] +name = "jupyter-ydoc" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "pycrdt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/34/f5/2b68223759a2922f34ecba7aa164299ce30dfb44cafe27a84acf7a52e32a/jupyter_ydoc-3.4.0.tar.gz", hash = "sha256:d2418e42878cabf3d9208b2ecfaf5d8a6e140485fec8b738133168e60b83c89e", size = 973078, upload-time = "2026-02-06T14:13:34.512Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/f6/1032c5db3dc068c3e581db2ceb05486c9bf9d87f5833334ab13e802bc045/jupyter_ydoc-3.4.0-py3-none-any.whl", hash = "sha256:089a58209200cac8b90d66dae3f440e2d2c6701591732adcec274f842fdf963d", size = 14447, upload-time = "2026-02-06T14:13:33.061Z" }, +] + +[[package]] +name = "jupyterlab" +version = "4.5.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "setuptools" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/d5/730628e03fff2e8a8e8ccdaedde1489ab1309f9a4fa2536248884e30b7c7/jupyterlab-4.5.6.tar.gz", hash = "sha256:642fe2cfe7f0f5922a8a558ba7a0d246c7bc133b708dfe43f7b3a826d163cf42", size = 23970670, upload-time = "2026-03-11T14:17:04.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/1b/dad6fdcc658ed7af26fdf3841e7394072c9549a8b896c381ab49dd11e2d9/jupyterlab-4.5.6-py3-none-any.whl", hash = "sha256:d6b3dac883aa4d9993348e0f8e95b24624f75099aed64eab6a4351a9cdd1e580", size = 12447124, upload-time = "2026-03-11T14:17:00.229Z" }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.28.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/2c/90153f189e421e93c4bb4f9e3f59802a1f01abd2ac5cf40b152d7f735232/jupyterlab_server-2.28.0.tar.gz", hash = "sha256:35baa81898b15f93573e2deca50d11ac0ae407ebb688299d3a5213265033712c", size = 76996, upload-time = "2025-10-22T13:59:18.37Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl", hash = "sha256:e4355b148fdcf34d312bbbc80f22467d6d20460e8b8736bf235577dd18506968", size = 59830, upload-time = "2025-10-22T13:59:16.767Z" }, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/2d/ef58fed122b268c69c0aa099da20bc67657cdfb2e222688d5731bd5b971d/jupyterlab_widgets-3.0.16.tar.gz", hash = "sha256:423da05071d55cf27a9e602216d35a3a65a3e41cdf9c5d3b643b814ce38c19e0", size = 897423, upload-time = "2025-11-01T21:11:29.724Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/b5/36c712098e6191d1b4e349304ef73a8d06aed77e56ceaac8c0a306c7bda1/jupyterlab_widgets-3.0.16-py3-none-any.whl", hash = "sha256:45fa36d9c6422cf2559198e4db481aa243c7a32d9926b500781c830c80f7ecf8", size = 914926, upload-time = "2025-11-01T21:11:28.008Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/67/9c61eccb13f0bdca9307614e782fec49ffdde0f7a2314935d489fa93cd9c/kiwisolver-1.5.0.tar.gz", hash = "sha256:d4193f3d9dc3f6f79aaed0e5637f45d98850ebf01f7ca20e69457f3e8946b66a", size = 103482, upload-time = "2026-03-09T13:15:53.382Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/69/024d6711d5ba575aa65d5538042e99964104e97fa153a9f10bc369182bc2/kiwisolver-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fd40bb9cd0891c4c3cb1ddf83f8bbfa15731a248fdc8162669405451e2724b09", size = 123166, upload-time = "2026-03-09T13:13:48.032Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/adbb40df306f587054a348831220812b9b1d787aff714cfbc8556e38fccd/kiwisolver-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c0e1403fd7c26d77c1f03e096dc58a5c726503fa0db0456678b8668f76f521e3", size = 66395, upload-time = "2026-03-09T13:13:49.365Z" }, + { url = "https://files.pythonhosted.org/packages/a8/3a/d0a972b34e1c63e2409413104216cd1caa02c5a37cb668d1687d466c1c45/kiwisolver-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dda366d548e89a90d88a86c692377d18d8bd64b39c1fb2b92cb31370e2896bbd", size = 64065, upload-time = "2026-03-09T13:13:50.562Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0a/7b98e1e119878a27ba8618ca1e18b14f992ff1eda40f47bccccf4de44121/kiwisolver-1.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:332b4f0145c30b5f5ad9374881133e5aa64320428a57c2c2b61e9d891a51c2f3", size = 1477903, upload-time = "2026-03-09T13:13:52.084Z" }, + { url = "https://files.pythonhosted.org/packages/18/d8/55638d89ffd27799d5cc3d8aa28e12f4ce7a64d67b285114dbedc8ea4136/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c50b89ffd3e1a911c69a1dd3de7173c0cd10b130f56222e57898683841e4f96", size = 1278751, upload-time = "2026-03-09T13:13:54.673Z" }, + { url = "https://files.pythonhosted.org/packages/b8/97/b4c8d0d18421ecceba20ad8701358453b88e32414e6f6950b5a4bad54e65/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4db576bb8c3ef9365f8b40fe0f671644de6736ae2c27a2c62d7d8a1b4329f099", size = 1296793, upload-time = "2026-03-09T13:13:56.287Z" }, + { url = "https://files.pythonhosted.org/packages/c4/10/f862f94b6389d8957448ec9df59450b81bec4abb318805375c401a1e6892/kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0b85aad90cea8ac6797a53b5d5f2e967334fa4d1149f031c4537569972596cb8", size = 1346041, upload-time = "2026-03-09T13:13:58.269Z" }, + { url = "https://files.pythonhosted.org/packages/a3/6a/f1650af35821eaf09de398ec0bc2aefc8f211f0cda50204c9f1673741ba9/kiwisolver-1.5.0-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:d36ca54cb4c6c4686f7cbb7b817f66f5911c12ddb519450bbe86707155028f87", size = 987292, upload-time = "2026-03-09T13:13:59.871Z" }, + { url = "https://files.pythonhosted.org/packages/de/19/d7fb82984b9238115fe629c915007be608ebd23dc8629703d917dbfaffd4/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:38f4a703656f493b0ad185211ccfca7f0386120f022066b018eb5296d8613e23", size = 2227865, upload-time = "2026-03-09T13:14:01.401Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b9/46b7f386589fd222dac9e9de9c956ce5bcefe2ee73b4e79891381dda8654/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ac2360e93cb41be81121755c6462cff3beaa9967188c866e5fce5cf13170859", size = 2324369, upload-time = "2026-03-09T13:14:02.972Z" }, + { url = "https://files.pythonhosted.org/packages/92/8b/95e237cf3d9c642960153c769ddcbe278f182c8affb20cecc1cc983e7cc5/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c95cab08d1965db3d84a121f1c7ce7479bdd4072c9b3dafd8fecce48a2e6b902", size = 1977989, upload-time = "2026-03-09T13:14:04.503Z" }, + { url = "https://files.pythonhosted.org/packages/1b/95/980c9df53501892784997820136c01f62bc1865e31b82b9560f980c0e649/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc20894c3d21194d8041a28b65622d5b86db786da6e3cfe73f0c762951a61167", size = 2491645, upload-time = "2026-03-09T13:14:06.106Z" }, + { url = "https://files.pythonhosted.org/packages/cb/32/900647fd0840abebe1561792c6b31e6a7c0e278fc3973d30572a965ca14c/kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a32f72973f0f950c1920475d5c5ea3d971b81b6f0ec53b8d0a956cc965f22e0", size = 2295237, upload-time = "2026-03-09T13:14:08.891Z" }, + { url = "https://files.pythonhosted.org/packages/be/8a/be60e3bbcf513cc5a50f4a3e88e1dcecebb79c1ad607a7222877becaa101/kiwisolver-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bf3acf1419fa93064a4c2189ac0b58e3be7872bf6ee6177b0d4c63dc4cea276", size = 73573, upload-time = "2026-03-09T13:14:12.327Z" }, + { url = "https://files.pythonhosted.org/packages/4d/d2/64be2e429eb4fca7f7e1c52a91b12663aeaf25de3895e5cca0f47ef2a8d0/kiwisolver-1.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:fa8eb9ecdb7efb0b226acec134e0d709e87a909fa4971a54c0c4f6e88635484c", size = 64998, upload-time = "2026-03-09T13:14:13.469Z" }, + { url = "https://files.pythonhosted.org/packages/b0/69/ce68dd0c85755ae2de490bf015b62f2cea5f6b14ff00a463f9d0774449ff/kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:db485b3847d182b908b483b2ed133c66d88d49cacf98fd278fadafe11b4478d1", size = 125700, upload-time = "2026-03-09T13:14:14.636Z" }, + { url = "https://files.pythonhosted.org/packages/74/aa/937aac021cf9d4349990d47eb319309a51355ed1dbdc9c077cdc9224cb11/kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:be12f931839a3bdfe28b584db0e640a65a8bcbc24560ae3fdb025a449b3d754e", size = 67537, upload-time = "2026-03-09T13:14:15.808Z" }, + { url = "https://files.pythonhosted.org/packages/ee/20/3a87fbece2c40ad0f6f0aefa93542559159c5f99831d596050e8afae7a9f/kiwisolver-1.5.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:16b85d37c2cbb3253226d26e64663f755d88a03439a9c47df6246b35defbdfb7", size = 65514, upload-time = "2026-03-09T13:14:18.035Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7f/f943879cda9007c45e1f7dba216d705c3a18d6b35830e488b6c6a4e7cdf0/kiwisolver-1.5.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4432b835675f0ea7414aab3d37d119f7226d24869b7a829caeab49ebda407b0c", size = 1584848, upload-time = "2026-03-09T13:14:19.745Z" }, + { url = "https://files.pythonhosted.org/packages/37/f8/4d4f85cc1870c127c88d950913370dd76138482161cd07eabbc450deff01/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b0feb50971481a2cc44d94e88bdb02cdd497618252ae226b8eb1201b957e368", size = 1391542, upload-time = "2026-03-09T13:14:21.54Z" }, + { url = "https://files.pythonhosted.org/packages/04/0b/65dd2916c84d252b244bd405303220f729e7c17c9d7d33dca6feeff9ffc4/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56fa888f10d0f367155e76ce849fa1166fc9730d13bd2d65a2aa13b6f5424489", size = 1404447, upload-time = "2026-03-09T13:14:23.205Z" }, + { url = "https://files.pythonhosted.org/packages/39/5c/2606a373247babce9b1d056c03a04b65f3cf5290a8eac5d7bdead0a17e21/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:940dda65d5e764406b9fb92761cbf462e4e63f712ab60ed98f70552e496f3bf1", size = 1455918, upload-time = "2026-03-09T13:14:24.74Z" }, + { url = "https://files.pythonhosted.org/packages/d5/d1/c6078b5756670658e9192a2ef11e939c92918833d2745f85cd14a6004bdf/kiwisolver-1.5.0-cp313-cp313t-manylinux_2_39_riscv64.whl", hash = "sha256:89fc958c702ee9a745e4700378f5d23fddbc46ff89e8fdbf5395c24d5c1452a3", size = 1072856, upload-time = "2026-03-09T13:14:26.597Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c8/7def6ddf16eb2b3741d8b172bdaa9af882b03c78e9b0772975408801fa63/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9027d773c4ff81487181a925945743413f6069634d0b122d0b37684ccf4f1e18", size = 2333580, upload-time = "2026-03-09T13:14:28.237Z" }, + { url = "https://files.pythonhosted.org/packages/9e/87/2ac1fce0eb1e616fcd3c35caa23e665e9b1948bb984f4764790924594128/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:5b233ea3e165e43e35dba1d2b8ecc21cf070b45b65ae17dd2747d2713d942021", size = 2423018, upload-time = "2026-03-09T13:14:30.018Z" }, + { url = "https://files.pythonhosted.org/packages/67/13/c6700ccc6cc218716bfcda4935e4b2997039869b4ad8a94f364c5a3b8e63/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:ce9bf03dad3b46408c08649c6fbd6ca28a9fce0eb32fdfffa6775a13103b5310", size = 2062804, upload-time = "2026-03-09T13:14:32.888Z" }, + { url = "https://files.pythonhosted.org/packages/1b/bd/877056304626943ff0f1f44c08f584300c199b887cb3176cd7e34f1515f1/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:fc4d3f1fb9ca0ae9f97b095963bc6326f1dbfd3779d6679a1e016b9baaa153d3", size = 2597482, upload-time = "2026-03-09T13:14:34.971Z" }, + { url = "https://files.pythonhosted.org/packages/75/19/c60626c47bf0f8ac5dcf72c6c98e266d714f2fbbfd50cf6dab5ede3aaa50/kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f443b4825c50a51ee68585522ab4a1d1257fac65896f282b4c6763337ac9f5d2", size = 2394328, upload-time = "2026-03-09T13:14:36.816Z" }, + { url = "https://files.pythonhosted.org/packages/47/84/6a6d5e5bb8273756c27b7d810d47f7ef2f1f9b9fd23c9ee9a3f8c75c9cef/kiwisolver-1.5.0-cp313-cp313t-win_arm64.whl", hash = "sha256:893ff3a711d1b515ba9da14ee090519bad4610ed1962fbe298a434e8c5f8db53", size = 68410, upload-time = "2026-03-09T13:14:38.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/060f45052f2a01ad5762c8fdecd6d7a752b43400dc29ff75cd47225a40fd/kiwisolver-1.5.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8df31fe574b8b3993cc61764f40941111b25c2d9fea13d3ce24a49907cd2d615", size = 123231, upload-time = "2026-03-09T13:14:41.323Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a7/78da680eadd06ff35edef6ef68a1ad273bad3e2a0936c9a885103230aece/kiwisolver-1.5.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1d49a49ac4cbfb7c1375301cd1ec90169dfeae55ff84710d782260ce77a75a02", size = 66489, upload-time = "2026-03-09T13:14:42.534Z" }, + { url = "https://files.pythonhosted.org/packages/49/b2/97980f3ad4fae37dd7fe31626e2bf75fbf8bdf5d303950ec1fab39a12da8/kiwisolver-1.5.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0cbe94b69b819209a62cb27bdfa5dc2a8977d8de2f89dfd97ba4f53ed3af754e", size = 64063, upload-time = "2026-03-09T13:14:44.759Z" }, + { url = "https://files.pythonhosted.org/packages/e7/f9/b06c934a6aa8bc91f566bd2a214fd04c30506c2d9e2b6b171953216a65b6/kiwisolver-1.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:80aa065ffd378ff784822a6d7c3212f2d5f5e9c3589614b5c228b311fd3063ac", size = 1475913, upload-time = "2026-03-09T13:14:46.247Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f0/f768ae564a710135630672981231320bc403cf9152b5596ec5289de0f106/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e7f886f47ab881692f278ae901039a234e4025a68e6dfab514263a0b1c4ae05", size = 1282782, upload-time = "2026-03-09T13:14:48.458Z" }, + { url = "https://files.pythonhosted.org/packages/e2/9f/1de7aad00697325f05238a5f2eafbd487fb637cc27a558b5367a5f37fb7f/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5060731cc3ed12ca3a8b57acd4aeca5bbc2f49216dd0bec1650a1acd89486bcd", size = 1300815, upload-time = "2026-03-09T13:14:50.721Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c2/297f25141d2e468e0ce7f7a7b92e0cf8918143a0cbd3422c1ad627e85a06/kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a4aa69609f40fce3cbc3f87b2061f042eee32f94b8f11db707b66a26461591a", size = 1347925, upload-time = "2026-03-09T13:14:52.304Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d3/f4c73a02eb41520c47610207b21afa8cdd18fdbf64ffd94674ae21c4812d/kiwisolver-1.5.0-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:d168fda2dbff7b9b5f38e693182d792a938c31db4dac3a80a4888de603c99554", size = 991322, upload-time = "2026-03-09T13:14:54.637Z" }, + { url = "https://files.pythonhosted.org/packages/7b/46/d3f2efef7732fcda98d22bf4ad5d3d71d545167a852ca710a494f4c15343/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:413b820229730d358efd838ecbab79902fe97094565fdc80ddb6b0a18c18a581", size = 2232857, upload-time = "2026-03-09T13:14:56.471Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ec/2d9756bf2b6d26ae4349b8d3662fb3993f16d80c1f971c179ce862b9dbae/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5124d1ea754509b09e53738ec185584cc609aae4a3b510aaf4ed6aa047ef9303", size = 2329376, upload-time = "2026-03-09T13:14:58.072Z" }, + { url = "https://files.pythonhosted.org/packages/8f/9f/876a0a0f2260f1bde92e002b3019a5fabc35e0939c7d945e0fa66185eb20/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e4415a8db000bf49a6dd1c478bf70062eaacff0f462b92b0ba68791a905861f9", size = 1982549, upload-time = "2026-03-09T13:14:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/ba3624dfac23a64d54ac4179832860cb537c1b0af06024936e82ca4154a0/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d618fd27420381a4f6044faa71f46d8bfd911bd077c555f7138ed88729bfbe79", size = 2494680, upload-time = "2026-03-09T13:15:01.364Z" }, + { url = "https://files.pythonhosted.org/packages/39/b7/97716b190ab98911b20d10bf92eca469121ec483b8ce0edd314f51bc85af/kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5092eb5b1172947f57d6ea7d89b2f29650414e4293c47707eb499ec07a0ac796", size = 2297905, upload-time = "2026-03-09T13:15:03.925Z" }, + { url = "https://files.pythonhosted.org/packages/a3/36/4e551e8aa55c9188bca9abb5096805edbf7431072b76e2298e34fd3a3008/kiwisolver-1.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:d76e2d8c75051d58177e762164d2e9ab92886534e3a12e795f103524f221dd8e", size = 75086, upload-time = "2026-03-09T13:15:07.775Z" }, + { url = "https://files.pythonhosted.org/packages/70/15/9b90f7df0e31a003c71649cf66ef61c3c1b862f48c81007fa2383c8bd8d7/kiwisolver-1.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:fa6248cd194edff41d7ea9425ced8ca3a6f838bfb295f6f1d6e6bb694a8518df", size = 66577, upload-time = "2026-03-09T13:15:09.139Z" }, + { url = "https://files.pythonhosted.org/packages/17/01/7dc8c5443ff42b38e72731643ed7cf1ed9bf01691ae5cdca98501999ed83/kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:d1ffeb80b5676463d7a7d56acbe8e37a20ce725570e09549fe738e02ca6b7e1e", size = 125794, upload-time = "2026-03-09T13:15:10.525Z" }, + { url = "https://files.pythonhosted.org/packages/46/8a/b4ebe46ebaac6a303417fab10c2e165c557ddaff558f9699d302b256bc53/kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bc4d8e252f532ab46a1de9349e2d27b91fce46736a9eedaa37beaca66f574ed4", size = 67646, upload-time = "2026-03-09T13:15:12.016Z" }, + { url = "https://files.pythonhosted.org/packages/60/35/10a844afc5f19d6f567359bf4789e26661755a2f36200d5d1ed8ad0126e5/kiwisolver-1.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6783e069732715ad0c3ce96dbf21dbc2235ab0593f2baf6338101f70371f4028", size = 65511, upload-time = "2026-03-09T13:15:13.311Z" }, + { url = "https://files.pythonhosted.org/packages/f8/8a/685b297052dd041dcebce8e8787b58923b6e78acc6115a0dc9189011c44b/kiwisolver-1.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e7c4c09a490dc4d4a7f8cbee56c606a320f9dc28cf92a7157a39d1ce7676a657", size = 1584858, upload-time = "2026-03-09T13:15:15.103Z" }, + { url = "https://files.pythonhosted.org/packages/9e/80/04865e3d4638ac5bddec28908916df4a3075b8c6cc101786a96803188b96/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a075bd7bd19c70cf67c8badfa36cf7c5d8de3c9ddb8420c51e10d9c50e94920", size = 1392539, upload-time = "2026-03-09T13:15:16.661Z" }, + { url = "https://files.pythonhosted.org/packages/ba/01/77a19cacc0893fa13fafa46d1bba06fb4dc2360b3292baf4b56d8e067b24/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bdd3e53429ff02aa319ba59dfe4ceeec345bf46cf180ec2cf6fd5b942e7975e9", size = 1405310, upload-time = "2026-03-09T13:15:18.229Z" }, + { url = "https://files.pythonhosted.org/packages/53/39/bcaf5d0cca50e604cfa9b4e3ae1d64b50ca1ae5b754122396084599ef903/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cdcb35dc9d807259c981a85531048ede628eabcffb3239adf3d17463518992d", size = 1456244, upload-time = "2026-03-09T13:15:20.444Z" }, + { url = "https://files.pythonhosted.org/packages/d0/7a/72c187abc6975f6978c3e39b7cf67aeb8b3c0a8f9790aa7fd412855e9e1f/kiwisolver-1.5.0-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:70d593af6a6ca332d1df73d519fddb5148edb15cd90d5f0155e3746a6d4fcc65", size = 1073154, upload-time = "2026-03-09T13:15:22.039Z" }, + { url = "https://files.pythonhosted.org/packages/c7/ca/cf5b25783ebbd59143b4371ed0c8428a278abe68d6d0104b01865b1bbd0f/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:377815a8616074cabbf3f53354e1d040c35815a134e01d7614b7692e4bf8acfa", size = 2334377, upload-time = "2026-03-09T13:15:23.741Z" }, + { url = "https://files.pythonhosted.org/packages/4a/e5/b1f492adc516796e88751282276745340e2a72dcd0d36cf7173e0daf3210/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0255a027391d52944eae1dbb5d4cc5903f57092f3674e8e544cdd2622826b3f0", size = 2425288, upload-time = "2026-03-09T13:15:25.789Z" }, + { url = "https://files.pythonhosted.org/packages/e6/e5/9b21fbe91a61b8f409d74a26498706e97a48008bfcd1864373d32a6ba31c/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:012b1eb16e28718fa782b5e61dc6f2da1f0792ca73bd05d54de6cb9561665fc9", size = 2063158, upload-time = "2026-03-09T13:15:27.63Z" }, + { url = "https://files.pythonhosted.org/packages/b1/02/83f47986138310f95ea95531f851b2a62227c11cbc3e690ae1374fe49f0f/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0e3aafb33aed7479377e5e9a82e9d4bf87063741fc99fc7ae48b0f16e32bdd6f", size = 2597260, upload-time = "2026-03-09T13:15:29.421Z" }, + { url = "https://files.pythonhosted.org/packages/07/18/43a5f24608d8c313dd189cf838c8e68d75b115567c6279de7796197cfb6a/kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7a116ae737f0000343218c4edf5bd45893bfeaff0993c0b215d7124c9f77646", size = 2394403, upload-time = "2026-03-09T13:15:31.517Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b5/98222136d839b8afabcaa943b09bd05888c2d36355b7e448550211d1fca4/kiwisolver-1.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:1dd9b0b119a350976a6d781e7278ec7aca0b201e1a9e2d23d9804afecb6ca681", size = 79687, upload-time = "2026-03-09T13:15:33.204Z" }, + { url = "https://files.pythonhosted.org/packages/99/a2/ca7dc962848040befed12732dff6acae7fb3c4f6fc4272b3f6c9a30b8713/kiwisolver-1.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:58f812017cd2985c21fbffb4864d59174d4903dd66fa23815e74bbc7a0e2dd57", size = 70032, upload-time = "2026-03-09T13:15:34.411Z" }, +] + +[[package]] +name = "lark" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905", size = 382732, upload-time = "2025-10-27T18:25:56.653Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12", size = 113151, upload-time = "2025-10-27T18:25:54.882Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.10.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/76/d3c6e3a13fe484ebe7718d14e269c9569c4eb0020a968a327acb3b9a8fe6/matplotlib-3.10.8.tar.gz", hash = "sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3", size = 34806269, upload-time = "2025-12-10T22:56:51.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/b9/15fd5541ef4f5b9a17eefd379356cf12175fe577424e7b1d80676516031a/matplotlib-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6", size = 8261076, upload-time = "2025-12-10T22:55:44.648Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a0/2ba3473c1b66b9c74dc7107c67e9008cb1782edbe896d4c899d39ae9cf78/matplotlib-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1", size = 8148794, upload-time = "2025-12-10T22:55:46.252Z" }, + { url = "https://files.pythonhosted.org/packages/75/97/a471f1c3eb1fd6f6c24a31a5858f443891d5127e63a7788678d14e249aea/matplotlib-3.10.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486", size = 8718474, upload-time = "2025-12-10T22:55:47.864Z" }, + { url = "https://files.pythonhosted.org/packages/01/be/cd478f4b66f48256f42927d0acbcd63a26a893136456cd079c0cc24fbabf/matplotlib-3.10.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce", size = 9549637, upload-time = "2025-12-10T22:55:50.048Z" }, + { url = "https://files.pythonhosted.org/packages/5d/7c/8dc289776eae5109e268c4fb92baf870678dc048a25d4ac903683b86d5bf/matplotlib-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6", size = 9613678, upload-time = "2025-12-10T22:55:52.21Z" }, + { url = "https://files.pythonhosted.org/packages/64/40/37612487cc8a437d4dd261b32ca21fe2d79510fe74af74e1f42becb1bdb8/matplotlib-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149", size = 8142686, upload-time = "2025-12-10T22:55:54.253Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/8d8a8730e968185514680c2a6625943f70269509c3dcfc0dcf7d75928cb8/matplotlib-3.10.8-cp313-cp313-win_arm64.whl", hash = "sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645", size = 8012917, upload-time = "2025-12-10T22:55:56.268Z" }, + { url = "https://files.pythonhosted.org/packages/b5/27/51fe26e1062f298af5ef66343d8ef460e090a27fea73036c76c35821df04/matplotlib-3.10.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077", size = 8305679, upload-time = "2025-12-10T22:55:57.856Z" }, + { url = "https://files.pythonhosted.org/packages/2c/1e/4de865bc591ac8e3062e835f42dd7fe7a93168d519557837f0e37513f629/matplotlib-3.10.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22", size = 8198336, upload-time = "2025-12-10T22:55:59.371Z" }, + { url = "https://files.pythonhosted.org/packages/c6/cb/2f7b6e75fb4dce87ef91f60cac4f6e34f4c145ab036a22318ec837971300/matplotlib-3.10.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39", size = 8731653, upload-time = "2025-12-10T22:56:01.032Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/bd9c57d6ba670a37ab31fb87ec3e8691b947134b201f881665b28cc039ff/matplotlib-3.10.8-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565", size = 9561356, upload-time = "2025-12-10T22:56:02.95Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3d/8b94a481456dfc9dfe6e39e93b5ab376e50998cddfd23f4ae3b431708f16/matplotlib-3.10.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a", size = 9614000, upload-time = "2025-12-10T22:56:05.411Z" }, + { url = "https://files.pythonhosted.org/packages/bd/cd/bc06149fe5585ba800b189a6a654a75f1f127e8aab02fd2be10df7fa500c/matplotlib-3.10.8-cp313-cp313t-win_amd64.whl", hash = "sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958", size = 8220043, upload-time = "2025-12-10T22:56:07.551Z" }, + { url = "https://files.pythonhosted.org/packages/e3/de/b22cf255abec916562cc04eef457c13e58a1990048de0c0c3604d082355e/matplotlib-3.10.8-cp313-cp313t-win_arm64.whl", hash = "sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5", size = 8062075, upload-time = "2025-12-10T22:56:09.178Z" }, + { url = "https://files.pythonhosted.org/packages/3c/43/9c0ff7a2f11615e516c3b058e1e6e8f9614ddeca53faca06da267c48345d/matplotlib-3.10.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b53285e65d4fa4c86399979e956235deb900be5baa7fc1218ea67fbfaeaadd6f", size = 8262481, upload-time = "2025-12-10T22:56:10.885Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ca/e8ae28649fcdf039fda5ef554b40a95f50592a3c47e6f7270c9561c12b07/matplotlib-3.10.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:32f8dce744be5569bebe789e46727946041199030db8aeb2954d26013a0eb26b", size = 8151473, upload-time = "2025-12-10T22:56:12.377Z" }, + { url = "https://files.pythonhosted.org/packages/f1/6f/009d129ae70b75e88cbe7e503a12a4c0670e08ed748a902c2568909e9eb5/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4cf267add95b1c88300d96ca837833d4112756045364f5c734a2276038dae27d", size = 9553896, upload-time = "2025-12-10T22:56:14.432Z" }, + { url = "https://files.pythonhosted.org/packages/f5/26/4221a741eb97967bc1fd5e4c52b9aa5a91b2f4ec05b59f6def4d820f9df9/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2cf5bd12cecf46908f286d7838b2abc6c91cda506c0445b8223a7c19a00df008", size = 9824193, upload-time = "2025-12-10T22:56:16.29Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f3/3abf75f38605772cf48a9daf5821cd4f563472f38b4b828c6fba6fa6d06e/matplotlib-3.10.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:41703cc95688f2516b480f7f339d8851a6035f18e100ee6a32bc0b8536a12a9c", size = 9615444, upload-time = "2025-12-10T22:56:18.155Z" }, + { url = "https://files.pythonhosted.org/packages/93/a5/de89ac80f10b8dc615807ee1133cd99ac74082581196d4d9590bea10690d/matplotlib-3.10.8-cp314-cp314-win_amd64.whl", hash = "sha256:83d282364ea9f3e52363da262ce32a09dfe241e4080dcedda3c0db059d3c1f11", size = 8272719, upload-time = "2025-12-10T22:56:20.366Z" }, + { url = "https://files.pythonhosted.org/packages/69/ce/b006495c19ccc0a137b48083168a37bd056392dee02f87dba0472f2797fe/matplotlib-3.10.8-cp314-cp314-win_arm64.whl", hash = "sha256:2c1998e92cd5999e295a731bcb2911c75f597d937341f3030cc24ef2733d78a8", size = 8144205, upload-time = "2025-12-10T22:56:22.239Z" }, + { url = "https://files.pythonhosted.org/packages/68/d9/b31116a3a855bd313c6fcdb7226926d59b041f26061c6c5b1be66a08c826/matplotlib-3.10.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b5a2b97dbdc7d4f353ebf343744f1d1f1cca8aa8bfddb4262fcf4306c3761d50", size = 8305785, upload-time = "2025-12-10T22:56:24.218Z" }, + { url = "https://files.pythonhosted.org/packages/1e/90/6effe8103f0272685767ba5f094f453784057072f49b393e3ea178fe70a5/matplotlib-3.10.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3f5c3e4da343bba819f0234186b9004faba952cc420fbc522dc4e103c1985908", size = 8198361, upload-time = "2025-12-10T22:56:26.787Z" }, + { url = "https://files.pythonhosted.org/packages/d7/65/a73188711bea603615fc0baecca1061429ac16940e2385433cc778a9d8e7/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f62550b9a30afde8c1c3ae450e5eb547d579dd69b25c2fc7a1c67f934c1717a", size = 9561357, upload-time = "2025-12-10T22:56:28.953Z" }, + { url = "https://files.pythonhosted.org/packages/f4/3d/b5c5d5d5be8ce63292567f0e2c43dde9953d3ed86ac2de0a72e93c8f07a1/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:495672de149445ec1b772ff2c9ede9b769e3cb4f0d0aa7fa730d7f59e2d4e1c1", size = 9823610, upload-time = "2025-12-10T22:56:31.455Z" }, + { url = "https://files.pythonhosted.org/packages/4d/4b/e7beb6bbd49f6bae727a12b270a2654d13c397576d25bd6786e47033300f/matplotlib-3.10.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:595ba4d8fe983b88f0eec8c26a241e16d6376fe1979086232f481f8f3f67494c", size = 9614011, upload-time = "2025-12-10T22:56:33.85Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e6/76f2813d31f032e65f6f797e3f2f6e4aab95b65015924b1c51370395c28a/matplotlib-3.10.8-cp314-cp314t-win_amd64.whl", hash = "sha256:25d380fe8b1dc32cf8f0b1b448470a77afb195438bafdf1d858bfb876f3edf7b", size = 8362801, upload-time = "2025-12-10T22:56:36.107Z" }, + { url = "https://files.pythonhosted.org/packages/5d/49/d651878698a0b67f23aa28e17f45a6d6dd3d3f933fa29087fa4ce5947b5a/matplotlib-3.10.8-cp314-cp314t-win_arm64.whl", hash = "sha256:113bb52413ea508ce954a02c10ffd0d565f9c3bc7f2eddc27dfe1731e71c7b5f", size = 8192560, upload-time = "2025-12-10T22:56:38.008Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe", size = 8110, upload-time = "2025-10-23T09:00:22.126Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516, upload-time = "2025-10-23T09:00:20.675Z" }, +] + +[[package]] +name = "mcp" +version = "1.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "httpx" }, + { name = "httpx-sse" }, + { name = "jsonschema" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "pyjwt", extra = ["crypto"] }, + { name = "python-multipart" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "sse-starlette" }, + { name = "starlette" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/6d/62e76bbb8144d6ed86e202b5edd8a4cb631e7c8130f3f4893c3f90262b10/mcp-1.26.0.tar.gz", hash = "sha256:db6e2ef491eecc1a0d93711a76f28dec2e05999f93afd48795da1c1137142c66", size = 608005, upload-time = "2026-01-24T19:40:32.468Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/d9/eaa1f80170d2b7c5ba23f3b59f766f3a0bb41155fbc32a69adfa1adaaef9/mcp-1.26.0-py3-none-any.whl", hash = "sha256:904a21c33c25aa98ddbeb47273033c435e595bbacfdb177f4bd87f6dceebe1ca", size = 233615, upload-time = "2026-01-24T19:40:30.652Z" }, +] + +[package.optional-dependencies] +cli = [ + { name = "python-dotenv" }, + { name = "typer" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "mistune" +version = "3.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/55/d01f0c4b45ade6536c51170b9043db8b2ec6ddf4a35c7ea3f5f559ac935b/mistune-3.2.0.tar.gz", hash = "sha256:708487c8a8cdd99c9d90eb3ed4c3ed961246ff78ac82f03418f5183ab70e398a", size = 95467, upload-time = "2025-12-23T11:36:34.994Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/f7/4a5e785ec9fbd65146a27b6b70b6cdc161a66f2024e4b04ac06a67f5578b/mistune-3.2.0-py3-none-any.whl", hash = "sha256:febdc629a3c78616b94393c6580551e0e34cc289987ec6c35ed3f4be42d0eee1", size = 53598, upload-time = "2025-12-23T11:36:33.211Z" }, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload-time = "2023-03-07T16:47:11.061Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" }, +] + +[[package]] +name = "nbclient" +version = "0.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/56/91/1c1d5a4b9a9ebba2b4e32b8c852c2975c872aec1fe42ab5e516b2cecd193/nbclient-0.10.4.tar.gz", hash = "sha256:1e54091b16e6da39e297b0ece3e10f6f29f4ac4e8ee515d29f8a7099bd6553c9", size = 62554, upload-time = "2025-12-23T07:45:46.369Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/a0/5b0c2f11142ed1dddec842457d3f65eaf71a0080894eb6f018755b319c3a/nbclient-0.10.4-py3-none-any.whl", hash = "sha256:9162df5a7373d70d606527300a95a975a47c137776cd942e52d9c7e29ff83440", size = 25465, upload-time = "2025-12-23T07:45:44.51Z" }, +] + +[[package]] +name = "nbconvert" +version = "7.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", extra = ["css"] }, + { name = "defusedxml" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe" }, + { name = "mistune" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/47/81f886b699450d0569f7bc551df2b1673d18df7ff25cc0c21ca36ed8a5ff/nbconvert-7.17.0.tar.gz", hash = "sha256:1b2696f1b5be12309f6c7d707c24af604b87dfaf6d950794c7b07acab96dda78", size = 862855, upload-time = "2026-01-29T16:37:48.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/4b/8d5f796a792f8a25f6925a96032f098789f448571eb92011df1ae59e8ea8/nbconvert-7.17.0-py3-none-any.whl", hash = "sha256:4f99a63b337b9a23504347afdab24a11faa7d86b405e5c8f9881cd313336d518", size = 261510, upload-time = "2026-01-29T16:37:46.322Z" }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, +] + +[[package]] +name = "networkx" +version = "3.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025, upload-time = "2025-12-08T17:02:39.908Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" }, +] + +[[package]] +name = "notebook" +version = "7.5.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, + { name = "jupyterlab" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1f/6d/41052c48d6f6349ca0a7c4d1f6a78464de135e6d18f5829ba2510e62184c/notebook-7.5.5.tar.gz", hash = "sha256:dc0bfab0f2372c8278c457423d3256c34154ac2cc76bf20e9925260c461013c3", size = 14169167, upload-time = "2026-03-11T16:32:51.922Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/aa/cbd1deb9f07446241e88f8d5fecccd95b249bca0b4e5482214a4d1714c49/notebook-7.5.5-py3-none-any.whl", hash = "sha256:a7c14dbeefa6592e87f72290ca982e0c10f5bbf3786be2a600fda9da2764a2b8", size = 14578929, upload-time = "2026-03-11T16:32:48.021Z" }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, +] + +[[package]] +name = "numpy" +version = "2.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz", hash = "sha256:2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0", size = 20731587, upload-time = "2026-03-29T13:22:01.298Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/1d/d0a583ce4fefcc3308806a749a536c201ed6b5ad6e1322e227ee4848979d/numpy-2.4.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:08f2e31ed5e6f04b118e49821397f12767934cfdd12a1ce86a058f91e004ee50", size = 16684933, upload-time = "2026-03-29T13:19:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/c1/62/2b7a48fbb745d344742c0277f01286dead15f3f68e4f359fbfcf7b48f70f/numpy-2.4.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e823b8b6edc81e747526f70f71a9c0a07ac4e7ad13020aa736bb7c9d67196115", size = 14694532, upload-time = "2026-03-29T13:19:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/e5/87/499737bfba066b4a3bebff24a8f1c5b2dee410b209bc6668c9be692580f0/numpy-2.4.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4a19d9dba1a76618dd86b164d608566f393f8ec6ac7c44f0cc879011c45e65af", size = 5199661, upload-time = "2026-03-29T13:19:28.31Z" }, + { url = "https://files.pythonhosted.org/packages/cd/da/464d551604320d1491bc345efed99b4b7034143a85787aab78d5691d5a0e/numpy-2.4.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d2a8490669bfe99a233298348acc2d824d496dee0e66e31b66a6022c2ad74a5c", size = 6547539, upload-time = "2026-03-29T13:19:30.97Z" }, + { url = "https://files.pythonhosted.org/packages/7d/90/8d23e3b0dafd024bf31bdec225b3bb5c2dbfa6912f8a53b8659f21216cbf/numpy-2.4.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:45dbed2ab436a9e826e302fcdcbe9133f9b0006e5af7168afb8963a6520da103", size = 15668806, upload-time = "2026-03-29T13:19:33.887Z" }, + { url = "https://files.pythonhosted.org/packages/d1/73/a9d864e42a01896bb5974475438f16086be9ba1f0d19d0bb7a07427c4a8b/numpy-2.4.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83", size = 16632682, upload-time = "2026-03-29T13:19:37.336Z" }, + { url = "https://files.pythonhosted.org/packages/34/fb/14570d65c3bde4e202a031210475ae9cde9b7686a2e7dc97ee67d2833b35/numpy-2.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:99d838547ace2c4aace6c4f76e879ddfe02bb58a80c1549928477862b7a6d6ed", size = 17019810, upload-time = "2026-03-29T13:19:40.963Z" }, + { url = "https://files.pythonhosted.org/packages/8a/77/2ba9d87081fd41f6d640c83f26fb7351e536b7ce6dd9061b6af5904e8e46/numpy-2.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0aec54fd785890ecca25a6003fd9a5aed47ad607bbac5cd64f836ad8666f4959", size = 18357394, upload-time = "2026-03-29T13:19:44.859Z" }, + { url = "https://files.pythonhosted.org/packages/a2/23/52666c9a41708b0853fa3b1a12c90da38c507a3074883823126d4e9d5b30/numpy-2.4.4-cp313-cp313-win32.whl", hash = "sha256:07077278157d02f65c43b1b26a3886bce886f95d20aabd11f87932750dfb14ed", size = 5959556, upload-time = "2026-03-29T13:19:47.661Z" }, + { url = "https://files.pythonhosted.org/packages/57/fb/48649b4971cde70d817cf97a2a2fdc0b4d8308569f1dd2f2611959d2e0cf/numpy-2.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:5c70f1cc1c4efbe316a572e2d8b9b9cc44e89b95f79ca3331553fbb63716e2bf", size = 12317311, upload-time = "2026-03-29T13:19:50.67Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d8/11490cddd564eb4de97b4579ef6bfe6a736cc07e94c1598590ae25415e01/numpy-2.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:ef4059d6e5152fa1a39f888e344c73fdc926e1b2dd58c771d67b0acfbf2aa67d", size = 10222060, upload-time = "2026-03-29T13:19:54.229Z" }, + { url = "https://files.pythonhosted.org/packages/99/5d/dab4339177a905aad3e2221c915b35202f1ec30d750dd2e5e9d9a72b804b/numpy-2.4.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4bbc7f303d125971f60ec0aaad5e12c62d0d2c925f0ab1273debd0e4ba37aba5", size = 14822302, upload-time = "2026-03-29T13:19:57.585Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e4/0564a65e7d3d97562ed6f9b0fd0fb0a6f559ee444092f105938b50043876/numpy-2.4.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:4d6d57903571f86180eb98f8f0c839fa9ebbfb031356d87f1361be91e433f5b7", size = 5327407, upload-time = "2026-03-29T13:20:00.601Z" }, + { url = "https://files.pythonhosted.org/packages/29/8d/35a3a6ce5ad371afa58b4700f1c820f8f279948cca32524e0a695b0ded83/numpy-2.4.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:4636de7fd195197b7535f231b5de9e4b36d2c440b6e566d2e4e4746e6af0ca93", size = 6647631, upload-time = "2026-03-29T13:20:02.855Z" }, + { url = "https://files.pythonhosted.org/packages/f4/da/477731acbd5a58a946c736edfdabb2ac5b34c3d08d1ba1a7b437fa0884df/numpy-2.4.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ad2e2ef14e0b04e544ea2fa0a36463f847f113d314aa02e5b402fdf910ef309e", size = 15727691, upload-time = "2026-03-29T13:20:06.004Z" }, + { url = "https://files.pythonhosted.org/packages/e6/db/338535d9b152beabeb511579598418ba0212ce77cf9718edd70262cc4370/numpy-2.4.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a285b3b96f951841799528cd1f4f01cd70e7e0204b4abebac9463eecfcf2a40", size = 16681241, upload-time = "2026-03-29T13:20:09.417Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a9/ad248e8f58beb7a0219b413c9c7d8151c5d285f7f946c3e26695bdbbe2df/numpy-2.4.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f8474c4241bc18b750be2abea9d7a9ec84f46ef861dbacf86a4f6e043401f79e", size = 17085767, upload-time = "2026-03-29T13:20:13.126Z" }, + { url = "https://files.pythonhosted.org/packages/b5/1a/3b88ccd3694681356f70da841630e4725a7264d6a885c8d442a697e1146b/numpy-2.4.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4e874c976154687c1f71715b034739b45c7711bec81db01914770373d125e392", size = 18403169, upload-time = "2026-03-29T13:20:17.096Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c9/fcfd5d0639222c6eac7f304829b04892ef51c96a75d479214d77e3ce6e33/numpy-2.4.4-cp313-cp313t-win32.whl", hash = "sha256:9c585a1790d5436a5374bac930dad6ed244c046ed91b2b2a3634eb2971d21008", size = 6083477, upload-time = "2026-03-29T13:20:20.195Z" }, + { url = "https://files.pythonhosted.org/packages/d5/e3/3938a61d1c538aaec8ed6fd6323f57b0c2d2d2219512434c5c878db76553/numpy-2.4.4-cp313-cp313t-win_amd64.whl", hash = "sha256:93e15038125dc1e5345d9b5b68aa7f996ec33b98118d18c6ca0d0b7d6198b7e8", size = 12457487, upload-time = "2026-03-29T13:20:22.946Z" }, + { url = "https://files.pythonhosted.org/packages/97/6a/7e345032cc60501721ef94e0e30b60f6b0bd601f9174ebd36389a2b86d40/numpy-2.4.4-cp313-cp313t-win_arm64.whl", hash = "sha256:0dfd3f9d3adbe2920b68b5cd3d51444e13a10792ec7154cd0a2f6e74d4ab3233", size = 10292002, upload-time = "2026-03-29T13:20:25.909Z" }, + { url = "https://files.pythonhosted.org/packages/6e/06/c54062f85f673dd5c04cbe2f14c3acb8c8b95e3384869bb8cc9bff8cb9df/numpy-2.4.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:f169b9a863d34f5d11b8698ead99febeaa17a13ca044961aa8e2662a6c7766a0", size = 16684353, upload-time = "2026-03-29T13:20:29.504Z" }, + { url = "https://files.pythonhosted.org/packages/4c/39/8a320264a84404c74cc7e79715de85d6130fa07a0898f67fb5cd5bd79908/numpy-2.4.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2483e4584a1cb3092da4470b38866634bafb223cbcd551ee047633fd2584599a", size = 14704914, upload-time = "2026-03-29T13:20:33.547Z" }, + { url = "https://files.pythonhosted.org/packages/91/fb/287076b2614e1d1044235f50f03748f31fa287e3dbe6abeb35cdfa351eca/numpy-2.4.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:2d19e6e2095506d1736b7d80595e0f252d76b89f5e715c35e06e937679ea7d7a", size = 5210005, upload-time = "2026-03-29T13:20:36.45Z" }, + { url = "https://files.pythonhosted.org/packages/63/eb/fcc338595309910de6ecabfcef2419a9ce24399680bfb149421fa2df1280/numpy-2.4.4-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:6a246d5914aa1c820c9443ddcee9c02bec3e203b0c080349533fae17727dfd1b", size = 6544974, upload-time = "2026-03-29T13:20:39.014Z" }, + { url = "https://files.pythonhosted.org/packages/44/5d/e7e9044032a716cdfaa3fba27a8e874bf1c5f1912a1ddd4ed071bf8a14a6/numpy-2.4.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:989824e9faf85f96ec9c7761cd8d29c531ad857bfa1daa930cba85baaecf1a9a", size = 15684591, upload-time = "2026-03-29T13:20:42.146Z" }, + { url = "https://files.pythonhosted.org/packages/98/7c/21252050676612625449b4807d6b695b9ce8a7c9e1c197ee6216c8a65c7c/numpy-2.4.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:27a8d92cd10f1382a67d7cf4db7ce18341b66438bdd9f691d7b0e48d104c2a9d", size = 16637700, upload-time = "2026-03-29T13:20:46.204Z" }, + { url = "https://files.pythonhosted.org/packages/b1/29/56d2bbef9465db24ef25393383d761a1af4f446a1df9b8cded4fe3a5a5d7/numpy-2.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e44319a2953c738205bf3354537979eaa3998ed673395b964c1176083dd46252", size = 17035781, upload-time = "2026-03-29T13:20:50.242Z" }, + { url = "https://files.pythonhosted.org/packages/e3/2b/a35a6d7589d21f44cea7d0a98de5ddcbb3d421b2622a5c96b1edf18707c3/numpy-2.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e892aff75639bbef0d2a2cfd55535510df26ff92f63c92cd84ef8d4ba5a5557f", size = 18362959, upload-time = "2026-03-29T13:20:54.019Z" }, + { url = "https://files.pythonhosted.org/packages/64/c9/d52ec581f2390e0f5f85cbfd80fb83d965fc15e9f0e1aec2195faa142cde/numpy-2.4.4-cp314-cp314-win32.whl", hash = "sha256:1378871da56ca8943c2ba674530924bb8ca40cd228358a3b5f302ad60cf875fc", size = 6008768, upload-time = "2026-03-29T13:20:56.912Z" }, + { url = "https://files.pythonhosted.org/packages/fa/22/4cc31a62a6c7b74a8730e31a4274c5dc80e005751e277a2ce38e675e4923/numpy-2.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:715d1c092715954784bc79e1174fc2a90093dc4dc84ea15eb14dad8abdcdeb74", size = 12449181, upload-time = "2026-03-29T13:20:59.548Z" }, + { url = "https://files.pythonhosted.org/packages/70/2e/14cda6f4d8e396c612d1bf97f22958e92148801d7e4f110cabebdc0eef4b/numpy-2.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:2c194dd721e54ecad9ad387c1d35e63dce5c4450c6dc7dd5611283dda239aabb", size = 10496035, upload-time = "2026-03-29T13:21:02.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/e8/8fed8c8d848d7ecea092dc3469643f9d10bc3a134a815a3b033da1d2039b/numpy-2.4.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2aa0613a5177c264ff5921051a5719d20095ea586ca88cc802c5c218d1c67d3e", size = 14824958, upload-time = "2026-03-29T13:21:05.671Z" }, + { url = "https://files.pythonhosted.org/packages/05/1a/d8007a5138c179c2bf33ef44503e83d70434d2642877ee8fbb230e7c0548/numpy-2.4.4-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:42c16925aa5a02362f986765f9ebabf20de75cdefdca827d14315c568dcab113", size = 5330020, upload-time = "2026-03-29T13:21:08.635Z" }, + { url = "https://files.pythonhosted.org/packages/99/64/ffb99ac6ae93faf117bcbd5c7ba48a7f45364a33e8e458545d3633615dda/numpy-2.4.4-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:874f200b2a981c647340f841730fc3a2b54c9d940566a3c4149099591e2c4c3d", size = 6650758, upload-time = "2026-03-29T13:21:10.949Z" }, + { url = "https://files.pythonhosted.org/packages/6e/6e/795cc078b78a384052e73b2f6281ff7a700e9bf53bcce2ee579d4f6dd879/numpy-2.4.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9b39d38a9bd2ae1becd7eac1303d031c5c110ad31f2b319c6e7d98b135c934d", size = 15729948, upload-time = "2026-03-29T13:21:14.047Z" }, + { url = "https://files.pythonhosted.org/packages/5f/86/2acbda8cc2af5f3d7bfc791192863b9e3e19674da7b5e533fded124d1299/numpy-2.4.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b268594bccac7d7cf5844c7732e3f20c50921d94e36d7ec9b79e9857694b1b2f", size = 16679325, upload-time = "2026-03-29T13:21:17.561Z" }, + { url = "https://files.pythonhosted.org/packages/bc/59/cafd83018f4aa55e0ac6fa92aa066c0a1877b77a615ceff1711c260ffae8/numpy-2.4.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ac6b31e35612a26483e20750126d30d0941f949426974cace8e6b5c58a3657b0", size = 17084883, upload-time = "2026-03-29T13:21:21.106Z" }, + { url = "https://files.pythonhosted.org/packages/f0/85/a42548db84e65ece46ab2caea3d3f78b416a47af387fcbb47ec28e660dc2/numpy-2.4.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8e3ed142f2728df44263aaf5fb1f5b0b99f4070c553a0d7f033be65338329150", size = 18403474, upload-time = "2026-03-29T13:21:24.828Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ad/483d9e262f4b831000062e5d8a45e342166ec8aaa1195264982bca267e62/numpy-2.4.4-cp314-cp314t-win32.whl", hash = "sha256:dddbbd259598d7240b18c9d87c56a9d2fb3b02fe266f49a7c101532e78c1d871", size = 6155500, upload-time = "2026-03-29T13:21:28.205Z" }, + { url = "https://files.pythonhosted.org/packages/c7/03/2fc4e14c7bd4ff2964b74ba90ecb8552540b6315f201df70f137faa5c589/numpy-2.4.4-cp314-cp314t-win_amd64.whl", hash = "sha256:a7164afb23be6e37ad90b2f10426149fd75aee07ca55653d2aa41e66c4ef697e", size = 12637755, upload-time = "2026-03-29T13:21:31.107Z" }, + { url = "https://files.pythonhosted.org/packages/58/78/548fb8e07b1a341746bfbecb32f2c268470f45fa028aacdbd10d9bc73aab/numpy-2.4.4-cp314-cp314t-win_arm64.whl", hash = "sha256:ba203255017337d39f89bdd58417f03c4426f12beed0440cfd933cb15f8669c7", size = 10566643, upload-time = "2026-03-29T13:21:34.339Z" }, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.8.4.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/61/e24b560ab2e2eaeb3c839129175fb330dfcfc29e5203196e5541a4c44682/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8ac4e771d5a348c551b2a426eda6193c19aa630236b418086020df5ba9667142", size = 594346921, upload-time = "2025-03-07T01:44:31.254Z" }, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/02/2adcaa145158bf1a8295d83591d22e4103dbfd821bcaf6f3f53151ca4ffa/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea0cb07ebda26bb9b29ba82cda34849e73c166c18162d3913575b0c9db9a6182", size = 10248621, upload-time = "2025-03-07T01:40:21.213Z" }, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.8.93" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/6b/32f747947df2da6994e999492ab306a903659555dddc0fbdeb9d71f75e52/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:a7756528852ef889772a84c6cd89d41dfa74667e24cca16bb31f8f061e3e9994", size = 88040029, upload-time = "2025-03-07T01:42:13.562Z" }, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/9b/a997b638fcd068ad6e4d53b8551a7d30fe8b404d6f1804abf1df69838932/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adade8dcbd0edf427b7204d480d6066d33902cab2a4707dcfc48a2d0fd44ab90", size = 954765, upload-time = "2025-03-07T01:40:01.615Z" }, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "9.10.2.21" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467, upload-time = "2025-06-06T21:54:08.597Z" }, +] + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.3.3.83" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695, upload-time = "2025-03-07T01:45:27.821Z" }, +] + +[[package]] +name = "nvidia-cufile-cu12" +version = "1.13.1.3" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/fe/1bcba1dfbfb8d01be8d93f07bfc502c93fa23afa6fd5ab3fc7c1df71038a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d069003be650e131b21c932ec3d8969c1715379251f8d23a1860554b1cb24fc", size = 1197834, upload-time = "2025-03-07T01:45:50.723Z" }, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.9.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/aa/6584b56dc84ebe9cf93226a5cde4d99080c8e90ab40f0c27bda7a0f29aa1/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:b32331d4f4df5d6eefa0554c565b626c7216f87a06a4f56fab27c3b68a830ec9", size = 63619976, upload-time = "2025-03-07T01:46:23.323Z" }, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.7.3.90" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-cusparse-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905, upload-time = "2025-03-07T01:47:16.273Z" }, +] + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.5.8.93" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466, upload-time = "2025-03-07T01:48:13.779Z" }, +] + +[[package]] +name = "nvidia-cusparselt-cu12" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/79/12978b96bd44274fe38b5dde5cfb660b1d114f70a65ef962bcbbed99b549/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f1bb701d6b930d5a7cea44c19ceb973311500847f81b634d802b7b539dc55623", size = 287193691, upload-time = "2025-02-26T00:15:44.104Z" }, +] + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.27.5" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/89/f7a07dc961b60645dbbf42e80f2bc85ade7feb9a491b11a1e973aa00071f/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ad730cf15cb5d25fe849c6e6ca9eb5b76db16a80f13f425ac68d8e2e55624457", size = 322348229, upload-time = "2025-06-26T04:11:28.385Z" }, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.8.93" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/74/86a07f1d0f42998ca31312f998bd3b9a7eff7f52378f4f270c8679c77fb9/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:81ff63371a7ebd6e6451970684f916be2eab07321b73c9d244dc2b4da7f73b88", size = 39254836, upload-time = "2025-03-07T01:49:55.661Z" }, +] + +[[package]] +name = "nvidia-nvshmem-cu12" +version = "3.4.5" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/09/6ea3ea725f82e1e76684f0708bbedd871fc96da89945adeba65c3835a64c/nvidia_nvshmem_cu12-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:042f2500f24c021db8a06c5eec2539027d57460e1c1a762055a6554f72c369bd", size = 139103095, upload-time = "2025-09-06T00:32:31.266Z" }, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/eb/86626c1bbc2edb86323022371c39aa48df6fd8b0a1647bc274577f72e90b/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b17e2001cc0d751a5bc2c6ec6d26ad95913324a4adb86788c944f8ce9ba441f", size = 89954, upload-time = "2025-03-07T01:42:44.131Z" }, +] + +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, +] + +[[package]] +name = "pandas" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "python-dateutil" }, + { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/da/99/b342345300f13440fe9fe385c3c481e2d9a595ee3bab4d3219247ac94e9a/pandas-3.0.2.tar.gz", hash = "sha256:f4753e73e34c8d83221ba58f232433fca2748be8b18dbca02d242ed153945043", size = 4645855, upload-time = "2026-03-31T06:48:30.816Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/ca/3e639a1ea6fcd0617ca4e8ca45f62a74de33a56ae6cd552735470b22c8d3/pandas-3.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b5918ba197c951dec132b0c5929a00c0bf05d5942f590d3c10a807f6e15a57d3", size = 10321105, upload-time = "2026-03-31T06:46:57.327Z" }, + { url = "https://files.pythonhosted.org/packages/0b/77/dbc82ff2fb0e63c6564356682bf201edff0ba16c98630d21a1fb312a8182/pandas-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d606a041c89c0a474a4702d532ab7e73a14fe35c8d427b972a625c8e46373668", size = 9864088, upload-time = "2026-03-31T06:46:59.935Z" }, + { url = "https://files.pythonhosted.org/packages/5c/2b/341f1b04bbca2e17e13cd3f08c215b70ef2c60c5356ef1e8c6857449edc7/pandas-3.0.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:710246ba0616e86891b58ab95f2495143bb2bc83ab6b06747c74216f583a6ac9", size = 10369066, upload-time = "2026-03-31T06:47:02.792Z" }, + { url = "https://files.pythonhosted.org/packages/12/c5/cbb1ffefb20a93d3f0e1fdcda699fb84976210d411b008f97f48bf6ce27e/pandas-3.0.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5d3cfe227c725b1f3dff4278b43d8c784656a42a9325b63af6b1492a8232209e", size = 10876780, upload-time = "2026-03-31T06:47:06.205Z" }, + { url = "https://files.pythonhosted.org/packages/98/fe/2249ae5e0a69bd0ddf17353d0a5d26611d70970111f5b3600cdc8be883e7/pandas-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c3b723df9087a9a9a840e263ebd9f88b64a12075d1bf2ea401a5a42f254f084d", size = 11375181, upload-time = "2026-03-31T06:47:09.383Z" }, + { url = "https://files.pythonhosted.org/packages/de/64/77a38b09e70b6464883b8d7584ab543e748e42c1b5d337a2ee088e0df741/pandas-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a3096110bf9eac0070b7208465f2740e2d8a670d5cb6530b5bb884eca495fd39", size = 11928899, upload-time = "2026-03-31T06:47:12.686Z" }, + { url = "https://files.pythonhosted.org/packages/5e/52/42855bf626868413f761addd574acc6195880ae247a5346477a4361c3acb/pandas-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:07a10f5c36512eead51bc578eb3354ad17578b22c013d89a796ab5eee90cd991", size = 9746574, upload-time = "2026-03-31T06:47:15.64Z" }, + { url = "https://files.pythonhosted.org/packages/88/39/21304ae06a25e8bf9fc820d69b29b2c495b2ae580d1e143146c309941760/pandas-3.0.2-cp313-cp313-win_arm64.whl", hash = "sha256:5fdbfa05931071aba28b408e59226186b01eb5e92bea2ab78b65863ca3228d84", size = 9047156, upload-time = "2026-03-31T06:47:18.595Z" }, + { url = "https://files.pythonhosted.org/packages/72/20/7defa8b27d4f330a903bb68eea33be07d839c5ea6bdda54174efcec0e1d2/pandas-3.0.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:dbc20dea3b9e27d0e66d74c42b2d0c1bed9c2ffe92adea33633e3bedeb5ac235", size = 10756238, upload-time = "2026-03-31T06:47:22.012Z" }, + { url = "https://files.pythonhosted.org/packages/e9/95/49433c14862c636afc0e9b2db83ff16b3ad92959364e52b2955e44c8e94c/pandas-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b75c347eff42497452116ce05ef461822d97ce5b9ff8df6edacb8076092c855d", size = 10408520, upload-time = "2026-03-31T06:47:25.197Z" }, + { url = "https://files.pythonhosted.org/packages/3b/f8/462ad2b5881d6b8ec8e5f7ed2ea1893faa02290d13870a1600fe72ad8efc/pandas-3.0.2-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1478075142e83a5571782ad007fb201ed074bdeac7ebcc8890c71442e96adf7", size = 10324154, upload-time = "2026-03-31T06:47:28.097Z" }, + { url = "https://files.pythonhosted.org/packages/0a/65/d1e69b649cbcddda23ad6e4c40ef935340f6f652a006e5cbc3555ac8adb3/pandas-3.0.2-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5880314e69e763d4c8b27937090de570f1fb8d027059a7ada3f7f8e98bdcb677", size = 10714449, upload-time = "2026-03-31T06:47:30.85Z" }, + { url = "https://files.pythonhosted.org/packages/47/a4/85b59bc65b8190ea3689882db6cdf32a5003c0ccd5a586c30fdcc3ffc4fc/pandas-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b5329e26898896f06035241a626d7c335daa479b9bbc82be7c2742d048e41172", size = 11338475, upload-time = "2026-03-31T06:47:34.026Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c4/bc6966c6e38e5d9478b935272d124d80a589511ed1612a5d21d36f664c68/pandas-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:81526c4afd31971f8b62671442a4b2b51e0aa9acc3819c9f0f12a28b6fcf85f1", size = 11786568, upload-time = "2026-03-31T06:47:36.941Z" }, + { url = "https://files.pythonhosted.org/packages/e8/74/09298ca9740beed1d3504e073d67e128aa07e5ca5ca2824b0c674c0b8676/pandas-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:7cadd7e9a44ec13b621aec60f9150e744cfc7a3dd32924a7e2f45edff31823b0", size = 10488652, upload-time = "2026-03-31T06:47:40.612Z" }, + { url = "https://files.pythonhosted.org/packages/bb/40/c6ea527147c73b24fc15c891c3fcffe9c019793119c5742b8784a062c7db/pandas-3.0.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:db0dbfd2a6cdf3770aa60464d50333d8f3d9165b2f2671bcc299b72de5a6677b", size = 10326084, upload-time = "2026-03-31T06:47:43.834Z" }, + { url = "https://files.pythonhosted.org/packages/95/25/bdb9326c3b5455f8d4d3549fce7abcf967259de146fe2cf7a82368141948/pandas-3.0.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0555c5882688a39317179ab4a0ed41d3ebc8812ab14c69364bbee8fb7a3f6288", size = 9914146, upload-time = "2026-03-31T06:47:46.67Z" }, + { url = "https://files.pythonhosted.org/packages/8d/77/3a227ff3337aa376c60d288e1d61c5d097131d0ac71f954d90a8f369e422/pandas-3.0.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:01f31a546acd5574ef77fe199bc90b55527c225c20ccda6601cf6b0fd5ed597c", size = 10444081, upload-time = "2026-03-31T06:47:49.681Z" }, + { url = "https://files.pythonhosted.org/packages/15/88/3cdd54fa279341afa10acf8d2b503556b1375245dccc9315659f795dd2e9/pandas-3.0.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:deeca1b5a931fdf0c2212c8a659ade6d3b1edc21f0914ce71ef24456ca7a6535", size = 10897535, upload-time = "2026-03-31T06:47:53.033Z" }, + { url = "https://files.pythonhosted.org/packages/06/9d/98cc7a7624f7932e40f434299260e2917b090a579d75937cb8a57b9d2de3/pandas-3.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0f48afd9bb13300ffb5a3316973324c787054ba6665cda0da3fbd67f451995db", size = 11446992, upload-time = "2026-03-31T06:47:56.193Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cd/19ff605cc3760e80602e6826ddef2824d8e7050ed80f2e11c4b079741dc3/pandas-3.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6c4d8458b97a35717b62469a4ea0e85abd5ed8687277f5ccfc67f8a5126f8c53", size = 11968257, upload-time = "2026-03-31T06:47:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/db/60/aba6a38de456e7341285102bede27514795c1eaa353bc0e7638b6b785356/pandas-3.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:b35d14bb5d8285d9494fe93815a9e9307c0876e10f1e8e89ac5b88f728ec8dcf", size = 9865893, upload-time = "2026-03-31T06:48:02.038Z" }, + { url = "https://files.pythonhosted.org/packages/08/71/e5ec979dd2e8a093dacb8864598c0ff59a0cee0bbcdc0bfec16a51684d4f/pandas-3.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:63d141b56ef686f7f0d714cfb8de4e320475b86bf4b620aa0b7da89af8cbdbbb", size = 9188644, upload-time = "2026-03-31T06:48:05.045Z" }, + { url = "https://files.pythonhosted.org/packages/f1/6c/7b45d85db19cae1eb524f2418ceaa9d85965dcf7b764ed151386b7c540f0/pandas-3.0.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:140f0cffb1fa2524e874dde5b477d9defe10780d8e9e220d259b2c0874c89d9d", size = 10776246, upload-time = "2026-03-31T06:48:07.789Z" }, + { url = "https://files.pythonhosted.org/packages/a8/3e/7b00648b086c106e81766f25322b48aa8dfa95b55e621dbdf2fdd413a117/pandas-3.0.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ae37e833ff4fed0ba352f6bdd8b73ba3ab3256a85e54edfd1ab51ae40cca0af8", size = 10424801, upload-time = "2026-03-31T06:48:10.897Z" }, + { url = "https://files.pythonhosted.org/packages/da/6e/558dd09a71b53b4008e7fc8a98ec6d447e9bfb63cdaeea10e5eb9b2dabe8/pandas-3.0.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4d888a5c678a419a5bb41a2a93818e8ed9fd3172246555c0b37b7cc27027effd", size = 10345643, upload-time = "2026-03-31T06:48:13.7Z" }, + { url = "https://files.pythonhosted.org/packages/be/e3/921c93b4d9a280409451dc8d07b062b503bbec0531d2627e73a756e99a82/pandas-3.0.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b444dc64c079e84df91baa8bf613d58405645461cabca929d9178f2cd392398d", size = 10743641, upload-time = "2026-03-31T06:48:16.659Z" }, + { url = "https://files.pythonhosted.org/packages/56/ca/fd17286f24fa3b4d067965d8d5d7e14fe557dd4f979a0b068ac0deaf8228/pandas-3.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4544c7a54920de8eeacaa1466a6b7268ecfbc9bc64ab4dbb89c6bbe94d5e0660", size = 11361993, upload-time = "2026-03-31T06:48:19.475Z" }, + { url = "https://files.pythonhosted.org/packages/e4/a5/2f6ed612056819de445a433ca1f2821ac3dab7f150d569a59e9cc105de1d/pandas-3.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:734be7551687c00fbd760dc0522ed974f82ad230d4a10f54bf51b80d44a08702", size = 11815274, upload-time = "2026-03-31T06:48:22.695Z" }, + { url = "https://files.pythonhosted.org/packages/00/2f/b622683e99ec3ce00b0854bac9e80868592c5b051733f2cf3a868e5fea26/pandas-3.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:57a07209bebcbcf768d2d13c9b78b852f9a15978dac41b9e6421a81ad4cdd276", size = 10888530, upload-time = "2026-03-31T06:48:25.806Z" }, + { url = "https://files.pythonhosted.org/packages/cb/2b/f8434233fab2bd66a02ec014febe4e5adced20e2693e0e90a07d118ed30e/pandas-3.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:5371b72c2d4d415d08765f32d689217a43227484e81b2305b52076e328f6f482", size = 9455341, upload-time = "2026-03-31T06:48:28.418Z" }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, +] + +[[package]] +name = "parso" +version = "0.8.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/76/a1e769043c0c0c9fe391b702539d594731a4362334cdf4dc25d0c09761e7/parso-0.8.6.tar.gz", hash = "sha256:2b9a0332696df97d454fa67b81618fd69c35a7b90327cbe6ba5c92d2c68a7bfd", size = 401621, upload-time = "2026-02-09T15:45:24.425Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl", hash = "sha256:2c549f800b70a5c4952197248825584cb00f033b29c692671d3bf08bf380baff", size = 106894, upload-time = "2026-02-09T15:45:21.391Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "pillow" +version = "12.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz", hash = "sha256:a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5", size = 46987819, upload-time = "2026-04-01T14:46:17.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/01/53d10cf0dbad820a8db274d259a37ba50b88b24768ddccec07355382d5ad/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:8297651f5b5679c19968abefd6bb84d95fe30ef712eb1b2d9b2d31ca61267f4c", size = 4100837, upload-time = "2026-04-01T14:43:41.506Z" }, + { url = "https://files.pythonhosted.org/packages/0f/98/f3a6657ecb698c937f6c76ee564882945f29b79bad496abcba0e84659ec5/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:50d8520da2a6ce0af445fa6d648c4273c3eeefbc32d7ce049f22e8b5c3daecc2", size = 4176528, upload-time = "2026-04-01T14:43:43.773Z" }, + { url = "https://files.pythonhosted.org/packages/69/bc/8986948f05e3ea490b8442ea1c1d4d990b24a7e43d8a51b2c7d8b1dced36/pillow-12.2.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:766cef22385fa1091258ad7e6216792b156dc16d8d3fa607e7545b2b72061f1c", size = 3640401, upload-time = "2026-04-01T14:43:45.87Z" }, + { url = "https://files.pythonhosted.org/packages/34/46/6c717baadcd62bc8ed51d238d521ab651eaa74838291bda1f86fe1f864c9/pillow-12.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5d2fd0fa6b5d9d1de415060363433f28da8b1526c1c129020435e186794b3795", size = 5308094, upload-time = "2026-04-01T14:43:48.438Z" }, + { url = "https://files.pythonhosted.org/packages/71/43/905a14a8b17fdb1ccb58d282454490662d2cb89a6bfec26af6d3520da5ec/pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56b25336f502b6ed02e889f4ece894a72612fe885889a6e8c4c80239ff6e5f5f", size = 4695402, upload-time = "2026-04-01T14:43:51.292Z" }, + { url = "https://files.pythonhosted.org/packages/73/dd/42107efcb777b16fa0393317eac58f5b5cf30e8392e266e76e51cff28c3d/pillow-12.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f1c943e96e85df3d3478f7b691f229887e143f81fedab9b20205349ab04d73ed", size = 6280005, upload-time = "2026-04-01T14:43:54.242Z" }, + { url = "https://files.pythonhosted.org/packages/a8/68/b93e09e5e8549019e61acf49f65b1a8530765a7f812c77a7461bca7e4494/pillow-12.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03f6fab9219220f041c74aeaa2939ff0062bd5c364ba9ce037197f4c6d498cd9", size = 8090669, upload-time = "2026-04-01T14:43:57.335Z" }, + { url = "https://files.pythonhosted.org/packages/4b/6e/3ccb54ce8ec4ddd1accd2d89004308b7b0b21c4ac3d20fa70af4760a4330/pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cdfebd752ec52bf5bb4e35d9c64b40826bc5b40a13df7c3cda20a2c03a0f5ed", size = 6395194, upload-time = "2026-04-01T14:43:59.864Z" }, + { url = "https://files.pythonhosted.org/packages/67/ee/21d4e8536afd1a328f01b359b4d3997b291ffd35a237c877b331c1c3b71c/pillow-12.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eedf4b74eda2b5a4b2b2fb4c006d6295df3bf29e459e198c90ea48e130dc75c3", size = 7082423, upload-time = "2026-04-01T14:44:02.74Z" }, + { url = "https://files.pythonhosted.org/packages/78/5f/e9f86ab0146464e8c133fe85df987ed9e77e08b29d8d35f9f9f4d6f917ba/pillow-12.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:00a2865911330191c0b818c59103b58a5e697cae67042366970a6b6f1b20b7f9", size = 6505667, upload-time = "2026-04-01T14:44:05.381Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1e/409007f56a2fdce61584fd3acbc2bbc259857d555196cedcadc68c015c82/pillow-12.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1e1757442ed87f4912397c6d35a0db6a7b52592156014706f17658ff58bbf795", size = 7208580, upload-time = "2026-04-01T14:44:08.39Z" }, + { url = "https://files.pythonhosted.org/packages/23/c4/7349421080b12fb35414607b8871e9534546c128a11965fd4a7002ccfbee/pillow-12.2.0-cp313-cp313-win32.whl", hash = "sha256:144748b3af2d1b358d41286056d0003f47cb339b8c43a9ea42f5fea4d8c66b6e", size = 6375896, upload-time = "2026-04-01T14:44:11.197Z" }, + { url = "https://files.pythonhosted.org/packages/3f/82/8a3739a5e470b3c6cbb1d21d315800d8e16bff503d1f16b03a4ec3212786/pillow-12.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:390ede346628ccc626e5730107cde16c42d3836b89662a115a921f28440e6a3b", size = 7081266, upload-time = "2026-04-01T14:44:13.947Z" }, + { url = "https://files.pythonhosted.org/packages/c3/25/f968f618a062574294592f668218f8af564830ccebdd1fa6200f598e65c5/pillow-12.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:8023abc91fba39036dbce14a7d6535632f99c0b857807cbbbf21ecc9f4717f06", size = 2463508, upload-time = "2026-04-01T14:44:16.312Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a4/b342930964e3cb4dce5038ae34b0eab4653334995336cd486c5a8c25a00c/pillow-12.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:042db20a421b9bafecc4b84a8b6e444686bd9d836c7fd24542db3e7df7baad9b", size = 5309927, upload-time = "2026-04-01T14:44:18.89Z" }, + { url = "https://files.pythonhosted.org/packages/9f/de/23198e0a65a9cf06123f5435a5d95cea62a635697f8f03d134d3f3a96151/pillow-12.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd025009355c926a84a612fecf58bb315a3f6814b17ead51a8e48d3823d9087f", size = 4698624, upload-time = "2026-04-01T14:44:21.115Z" }, + { url = "https://files.pythonhosted.org/packages/01/a6/1265e977f17d93ea37aa28aa81bad4fa597933879fac2520d24e021c8da3/pillow-12.2.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88ddbc66737e277852913bd1e07c150cc7bb124539f94c4e2df5344494e0a612", size = 6321252, upload-time = "2026-04-01T14:44:23.663Z" }, + { url = "https://files.pythonhosted.org/packages/3c/83/5982eb4a285967baa70340320be9f88e57665a387e3a53a7f0db8231a0cd/pillow-12.2.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d362d1878f00c142b7e1a16e6e5e780f02be8195123f164edf7eddd911eefe7c", size = 8126550, upload-time = "2026-04-01T14:44:26.772Z" }, + { url = "https://files.pythonhosted.org/packages/4e/48/6ffc514adce69f6050d0753b1a18fd920fce8cac87620d5a31231b04bfc5/pillow-12.2.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c727a6d53cb0018aadd8018c2b938376af27914a68a492f59dfcaca650d5eea", size = 6433114, upload-time = "2026-04-01T14:44:29.615Z" }, + { url = "https://files.pythonhosted.org/packages/36/a3/f9a77144231fb8d40ee27107b4463e205fa4677e2ca2548e14da5cf18dce/pillow-12.2.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:efd8c21c98c5cc60653bcb311bef2ce0401642b7ce9d09e03a7da87c878289d4", size = 7115667, upload-time = "2026-04-01T14:44:32.773Z" }, + { url = "https://files.pythonhosted.org/packages/c1/fc/ac4ee3041e7d5a565e1c4fd72a113f03b6394cc72ab7089d27608f8aaccb/pillow-12.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f08483a632889536b8139663db60f6724bfcb443c96f1b18855860d7d5c0fd4", size = 6538966, upload-time = "2026-04-01T14:44:35.252Z" }, + { url = "https://files.pythonhosted.org/packages/c0/a8/27fb307055087f3668f6d0a8ccb636e7431d56ed0750e07a60547b1e083e/pillow-12.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dac8d77255a37e81a2efcbd1fc05f1c15ee82200e6c240d7e127e25e365c39ea", size = 7238241, upload-time = "2026-04-01T14:44:37.875Z" }, + { url = "https://files.pythonhosted.org/packages/ad/4b/926ab182c07fccae9fcb120043464e1ff1564775ec8864f21a0ebce6ac25/pillow-12.2.0-cp313-cp313t-win32.whl", hash = "sha256:ee3120ae9dff32f121610bb08e4313be87e03efeadfc6c0d18f89127e24d0c24", size = 6379592, upload-time = "2026-04-01T14:44:40.336Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c4/f9e476451a098181b30050cc4c9a3556b64c02cf6497ea421ac047e89e4b/pillow-12.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:325ca0528c6788d2a6c3d40e3568639398137346c3d6e66bb61db96b96511c98", size = 7085542, upload-time = "2026-04-01T14:44:43.251Z" }, + { url = "https://files.pythonhosted.org/packages/00/a4/285f12aeacbe2d6dc36c407dfbbe9e96d4a80b0fb710a337f6d2ad978c75/pillow-12.2.0-cp313-cp313t-win_arm64.whl", hash = "sha256:2e5a76d03a6c6dcef67edabda7a52494afa4035021a79c8558e14af25313d453", size = 2465765, upload-time = "2026-04-01T14:44:45.996Z" }, + { url = "https://files.pythonhosted.org/packages/bf/98/4595daa2365416a86cb0d495248a393dfc84e96d62ad080c8546256cb9c0/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3adc9215e8be0448ed6e814966ecf3d9952f0ea40eb14e89a102b87f450660d8", size = 4100848, upload-time = "2026-04-01T14:44:48.48Z" }, + { url = "https://files.pythonhosted.org/packages/0b/79/40184d464cf89f6663e18dfcf7ca21aae2491fff1a16127681bf1fa9b8cf/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6a9adfc6d24b10f89588096364cc726174118c62130c817c2837c60cf08a392b", size = 4176515, upload-time = "2026-04-01T14:44:51.353Z" }, + { url = "https://files.pythonhosted.org/packages/b0/63/703f86fd4c422a9cf722833670f4f71418fb116b2853ff7da722ea43f184/pillow-12.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:6a6e67ea2e6feda684ed370f9a1c52e7a243631c025ba42149a2cc5934dec295", size = 3640159, upload-time = "2026-04-01T14:44:53.588Z" }, + { url = "https://files.pythonhosted.org/packages/71/e0/fb22f797187d0be2270f83500aab851536101b254bfa1eae10795709d283/pillow-12.2.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2bb4a8d594eacdfc59d9e5ad972aa8afdd48d584ffd5f13a937a664c3e7db0ed", size = 5312185, upload-time = "2026-04-01T14:44:56.039Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:80b2da48193b2f33ed0c32c38140f9d3186583ce7d516526d462645fd98660ae", size = 4695386, upload-time = "2026-04-01T14:44:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/70/62/98f6b7f0c88b9addd0e87c217ded307b36be024d4ff8869a812b241d1345/pillow-12.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22db17c68434de69d8ecfc2fe821569195c0c373b25cccb9cbdacf2c6e53c601", size = 6280384, upload-time = "2026-04-01T14:45:01.5Z" }, + { url = "https://files.pythonhosted.org/packages/5e/03/688747d2e91cfbe0e64f316cd2e8005698f76ada3130d0194664174fa5de/pillow-12.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7b14cc0106cd9aecda615dd6903840a058b4700fcb817687d0ee4fc8b6e389be", size = 8091599, upload-time = "2026-04-01T14:45:04.5Z" }, + { url = "https://files.pythonhosted.org/packages/f6/35/577e22b936fcdd66537329b33af0b4ccfefaeabd8aec04b266528cddb33c/pillow-12.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cbeb542b2ebc6fcdacabf8aca8c1a97c9b3ad3927d46b8723f9d4f033288a0f", size = 6396021, upload-time = "2026-04-01T14:45:07.117Z" }, + { url = "https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4bfd07bc812fbd20395212969e41931001fd59eb55a60658b0e5710872e95286", size = 7083360, upload-time = "2026-04-01T14:45:09.763Z" }, + { url = "https://files.pythonhosted.org/packages/5e/26/d325f9f56c7e039034897e7380e9cc202b1e368bfd04d4cbe6a441f02885/pillow-12.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9aba9a17b623ef750a4d11b742cbafffeb48a869821252b30ee21b5e91392c50", size = 6507628, upload-time = "2026-04-01T14:45:12.378Z" }, + { url = "https://files.pythonhosted.org/packages/5f/f7/769d5632ffb0988f1c5e7660b3e731e30f7f8ec4318e94d0a5d674eb65a4/pillow-12.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:deede7c263feb25dba4e82ea23058a235dcc2fe1f6021025dc71f2b618e26104", size = 7209321, upload-time = "2026-04-01T14:45:15.122Z" }, + { url = "https://files.pythonhosted.org/packages/6a/7a/c253e3c645cd47f1aceea6a8bacdba9991bf45bb7dfe927f7c893e89c93c/pillow-12.2.0-cp314-cp314-win32.whl", hash = "sha256:632ff19b2778e43162304d50da0181ce24ac5bb8180122cbe1bf4673428328c7", size = 6479723, upload-time = "2026-04-01T14:45:17.797Z" }, + { url = "https://files.pythonhosted.org/packages/cd/8b/601e6566b957ca50e28725cb6c355c59c2c8609751efbecd980db44e0349/pillow-12.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:4e6c62e9d237e9b65fac06857d511e90d8461a32adcc1b9065ea0c0fa3a28150", size = 7217400, upload-time = "2026-04-01T14:45:20.529Z" }, + { url = "https://files.pythonhosted.org/packages/d6/94/220e46c73065c3e2951bb91c11a1fb636c8c9ad427ac3ce7d7f3359b9b2f/pillow-12.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:b1c1fbd8a5a1af3412a0810d060a78b5136ec0836c8a4ef9aa11807f2a22f4e1", size = 2554835, upload-time = "2026-04-01T14:45:23.162Z" }, + { url = "https://files.pythonhosted.org/packages/b6/ab/1b426a3974cb0e7da5c29ccff4807871d48110933a57207b5a676cccc155/pillow-12.2.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:57850958fe9c751670e49b2cecf6294acc99e562531f4bd317fa5ddee2068463", size = 5314225, upload-time = "2026-04-01T14:45:25.637Z" }, + { url = "https://files.pythonhosted.org/packages/19/1e/dce46f371be2438eecfee2a1960ee2a243bbe5e961890146d2dee1ff0f12/pillow-12.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d5d38f1411c0ed9f97bcb49b7bd59b6b7c314e0e27420e34d99d844b9ce3b6f3", size = 4698541, upload-time = "2026-04-01T14:45:28.355Z" }, + { url = "https://files.pythonhosted.org/packages/55/c3/7fbecf70adb3a0c33b77a300dc52e424dc22ad8cdc06557a2e49523b703d/pillow-12.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c0a9f29ca8e79f09de89293f82fc9b0270bb4af1d58bc98f540cc4aedf03166", size = 6322251, upload-time = "2026-04-01T14:45:30.924Z" }, + { url = "https://files.pythonhosted.org/packages/1c/3c/7fbc17cfb7e4fe0ef1642e0abc17fc6c94c9f7a16be41498e12e2ba60408/pillow-12.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1610dd6c61621ae1cf811bef44d77e149ce3f7b95afe66a4512f8c59f25d9ebe", size = 8127807, upload-time = "2026-04-01T14:45:33.908Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c3/a8ae14d6defd2e448493ff512fae903b1e9bd40b72efb6ec55ce0048c8ce/pillow-12.2.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a34329707af4f73cf1782a36cd2289c0368880654a2c11f027bcee9052d35dd", size = 6433935, upload-time = "2026-04-01T14:45:36.623Z" }, + { url = "https://files.pythonhosted.org/packages/6e/32/2880fb3a074847ac159d8f902cb43278a61e85f681661e7419e6596803ed/pillow-12.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e9c4f5b3c546fa3458a29ab22646c1c6c787ea8f5ef51300e5a60300736905e", size = 7116720, upload-time = "2026-04-01T14:45:39.258Z" }, + { url = "https://files.pythonhosted.org/packages/46/87/495cc9c30e0129501643f24d320076f4cc54f718341df18cc70ec94c44e1/pillow-12.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fb043ee2f06b41473269765c2feae53fc2e2fbf96e5e22ca94fb5ad677856f06", size = 6540498, upload-time = "2026-04-01T14:45:41.879Z" }, + { url = "https://files.pythonhosted.org/packages/18/53/773f5edca692009d883a72211b60fdaf8871cbef075eaa9d577f0a2f989e/pillow-12.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f278f034eb75b4e8a13a54a876cc4a5ab39173d2cdd93a638e1b467fc545ac43", size = 7239413, upload-time = "2026-04-01T14:45:44.705Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e4/4b64a97d71b2a83158134abbb2f5bd3f8a2ea691361282f010998f339ec7/pillow-12.2.0-cp314-cp314t-win32.whl", hash = "sha256:6bb77b2dcb06b20f9f4b4a8454caa581cd4dd0643a08bacf821216a16d9c8354", size = 6482084, upload-time = "2026-04-01T14:45:47.568Z" }, + { url = "https://files.pythonhosted.org/packages/ba/13/306d275efd3a3453f72114b7431c877d10b1154014c1ebbedd067770d629/pillow-12.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6562ace0d3fb5f20ed7290f1f929cae41b25ae29528f2af1722966a0a02e2aa1", size = 7225152, upload-time = "2026-04-01T14:45:50.032Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6e/cf826fae916b8658848d7b9f38d88da6396895c676e8086fc0988073aaf8/pillow-12.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:aa88ccfe4e32d362816319ed727a004423aab09c5cea43c01a4b435643fa34eb", size = 2556579, upload-time = "2026-04-01T14:45:52.529Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.9.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz", hash = "sha256:1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", size = 28737, upload-time = "2026-03-05T18:34:13.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl", hash = "sha256:68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", size = 21216, upload-time = "2026-03-05T18:34:12.172Z" }, +] + +[[package]] +name = "playwright" +version = "1.58.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet" }, + { name = "pyee" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/c9/9c6061d5703267f1baae6a4647bfd1862e386fbfdb97d889f6f6ae9e3f64/playwright-1.58.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:96e3204aac292ee639edbfdef6298b4be2ea0a55a16b7068df91adac077cc606", size = 42251098, upload-time = "2026-01-30T15:09:24.028Z" }, + { url = "https://files.pythonhosted.org/packages/e0/40/59d34a756e02f8c670f0fee987d46f7ee53d05447d43cd114ca015cb168c/playwright-1.58.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:70c763694739d28df71ed578b9c8202bb83e8fe8fb9268c04dd13afe36301f71", size = 41039625, upload-time = "2026-01-30T15:09:27.558Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ee/3ce6209c9c74a650aac9028c621f357a34ea5cd4d950700f8e2c4b7fe2c4/playwright-1.58.0-py3-none-macosx_11_0_universal2.whl", hash = "sha256:185e0132578733d02802dfddfbbc35f42be23a45ff49ccae5081f25952238117", size = 42251098, upload-time = "2026-01-30T15:09:30.461Z" }, + { url = "https://files.pythonhosted.org/packages/f1/af/009958cbf23fac551a940d34e3206e6c7eed2b8c940d0c3afd1feb0b0589/playwright-1.58.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:c95568ba1eda83812598c1dc9be60b4406dffd60b149bc1536180ad108723d6b", size = 46235268, upload-time = "2026-01-30T15:09:33.787Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a6/0e66ad04b6d3440dae73efb39540c5685c5fc95b17c8b29340b62abbd952/playwright-1.58.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f9999948f1ab541d98812de25e3a8c410776aa516d948807140aff797b4bffa", size = 45964214, upload-time = "2026-01-30T15:09:36.751Z" }, + { url = "https://files.pythonhosted.org/packages/0e/4b/236e60ab9f6d62ed0fd32150d61f1f494cefbf02304c0061e78ed80c1c32/playwright-1.58.0-py3-none-win32.whl", hash = "sha256:1e03be090e75a0fabbdaeab65ce17c308c425d879fa48bb1d7986f96bfad0b99", size = 36815998, upload-time = "2026-01-30T15:09:39.627Z" }, + { url = "https://files.pythonhosted.org/packages/41/f8/5ec599c5e59d2f2f336a05b4f318e733077cd5044f24adb6f86900c3e6a7/playwright-1.58.0-py3-none-win_amd64.whl", hash = "sha256:a2bf639d0ce33b3ba38de777e08697b0d8f3dc07ab6802e4ac53fb65e3907af8", size = 36816005, upload-time = "2026-01-30T15:09:42.449Z" }, + { url = "https://files.pythonhosted.org/packages/c8/c4/cc0229fea55c87d6c9c67fe44a21e2cd28d1d558a5478ed4d617e9fb0c93/playwright-1.58.0-py3-none-win_arm64.whl", hash = "sha256:32ffe5c303901a13a0ecab91d1c3f74baf73b84f4bedbb6b935f5bc11cc98e1b", size = 33085919, upload-time = "2026-01-30T15:09:45.71Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.24.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/58/a794d23feb6b00fc0c72787d7e87d872a6730dd9ed7c7b3e954637d8f280/prometheus_client-0.24.1.tar.gz", hash = "sha256:7e0ced7fbbd40f7b84962d5d2ab6f17ef88a72504dcf7c0b40737b43b2a461f9", size = 85616, upload-time = "2026-01-14T15:26:26.965Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/c3/24a2f845e3917201628ecaba4f18bab4d18a337834c1df2a159ee9d22a42/prometheus_client-0.24.1-py3-none-any.whl", hash = "sha256:150db128af71a5c2482b36e588fc8a6b95e498750da4b17065947c16070f4055", size = 64057, upload-time = "2026-01-14T15:26:24.42Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, +] + +[[package]] +name = "psutil" +version = "7.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740, upload-time = "2026-01-28T18:14:54.428Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", size = 130595, upload-time = "2026-01-28T18:14:57.293Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", size = 131082, upload-time = "2026-01-28T18:14:59.732Z" }, + { url = "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", size = 181476, upload-time = "2026-01-28T18:15:01.884Z" }, + { url = "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", size = 184062, upload-time = "2026-01-28T18:15:04.436Z" }, + { url = "https://files.pythonhosted.org/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b", size = 139893, upload-time = "2026-01-28T18:15:06.378Z" }, + { url = "https://files.pythonhosted.org/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9", size = 135589, upload-time = "2026-01-28T18:15:08.03Z" }, + { url = "https://files.pythonhosted.org/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00", size = 130664, upload-time = "2026-01-28T18:15:09.469Z" }, + { url = "https://files.pythonhosted.org/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9", size = 131087, upload-time = "2026-01-28T18:15:11.724Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a", size = 182383, upload-time = "2026-01-28T18:15:13.445Z" }, + { url = "https://files.pythonhosted.org/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf", size = 185210, upload-time = "2026-01-28T18:15:16.002Z" }, + { url = "https://files.pythonhosted.org/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1", size = 141228, upload-time = "2026-01-28T18:15:18.385Z" }, + { url = "https://files.pythonhosted.org/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841", size = 136284, upload-time = "2026-01-28T18:15:19.912Z" }, + { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090, upload-time = "2026-01-28T18:15:22.168Z" }, + { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859, upload-time = "2026-01-28T18:15:23.795Z" }, + { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560, upload-time = "2026-01-28T18:15:25.976Z" }, + { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997, upload-time = "2026-01-28T18:15:27.794Z" }, + { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972, upload-time = "2026-01-28T18:15:29.342Z" }, + { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266, upload-time = "2026-01-28T18:15:31.597Z" }, + { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737, upload-time = "2026-01-28T18:15:33.849Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "pyarrow" +version = "23.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/22/134986a4cc224d593c1afde5494d18ff629393d74cc2eddb176669f234a4/pyarrow-23.0.1.tar.gz", hash = "sha256:b8c5873e33440b2bc2f4a79d2b47017a89c5a24116c055625e6f2ee50523f019", size = 1167336, upload-time = "2026-02-16T10:14:12.39Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/10/2cbe4c6f0fb83d2de37249567373d64327a5e4d8db72f486db42875b08f6/pyarrow-23.0.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:6b8fda694640b00e8af3c824f99f789e836720aa8c9379fb435d4c4953a756b8", size = 34210066, upload-time = "2026-02-16T10:10:45.487Z" }, + { url = "https://files.pythonhosted.org/packages/cb/4f/679fa7e84dadbaca7a65f7cdba8d6c83febbd93ca12fa4adf40ba3b6362b/pyarrow-23.0.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:8ff51b1addc469b9444b7c6f3548e19dc931b172ab234e995a60aea9f6e6025f", size = 35825526, upload-time = "2026-02-16T10:10:52.266Z" }, + { url = "https://files.pythonhosted.org/packages/f9/63/d2747d930882c9d661e9398eefc54f15696547b8983aaaf11d4a2e8b5426/pyarrow-23.0.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:71c5be5cbf1e1cb6169d2a0980850bccb558ddc9b747b6206435313c47c37677", size = 44473279, upload-time = "2026-02-16T10:11:01.557Z" }, + { url = "https://files.pythonhosted.org/packages/b3/93/10a48b5e238de6d562a411af6467e71e7aedbc9b87f8d3a35f1560ae30fb/pyarrow-23.0.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:9b6f4f17b43bc39d56fec96e53fe89d94bac3eb134137964371b45352d40d0c2", size = 47585798, upload-time = "2026-02-16T10:11:09.401Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/476943001c54ef078dbf9542280e22741219a184a0632862bca4feccd666/pyarrow-23.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fc13fc6c403d1337acab46a2c4346ca6c9dec5780c3c697cf8abfd5e19b6b37", size = 48179446, upload-time = "2026-02-16T10:11:17.781Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b6/5dd0c47b335fcd8edba9bfab78ad961bd0fd55ebe53468cc393f45e0be60/pyarrow-23.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5c16ed4f53247fa3ffb12a14d236de4213a4415d127fe9cebed33d51671113e2", size = 50623972, upload-time = "2026-02-16T10:11:26.185Z" }, + { url = "https://files.pythonhosted.org/packages/d5/09/a532297c9591a727d67760e2e756b83905dd89adb365a7f6e9c72578bcc1/pyarrow-23.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:cecfb12ef629cf6be0b1887f9f86463b0dd3dc3195ae6224e74006be4736035a", size = 27540749, upload-time = "2026-02-16T10:12:23.297Z" }, + { url = "https://files.pythonhosted.org/packages/a5/8e/38749c4b1303e6ae76b3c80618f84861ae0c55dd3c2273842ea6f8258233/pyarrow-23.0.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:29f7f7419a0e30264ea261fdc0e5fe63ce5a6095003db2945d7cd78df391a7e1", size = 34471544, upload-time = "2026-02-16T10:11:32.535Z" }, + { url = "https://files.pythonhosted.org/packages/a3/73/f237b2bc8c669212f842bcfd842b04fc8d936bfc9d471630569132dc920d/pyarrow-23.0.1-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:33d648dc25b51fd8055c19e4261e813dfc4d2427f068bcecc8b53d01b81b0500", size = 35949911, upload-time = "2026-02-16T10:11:39.813Z" }, + { url = "https://files.pythonhosted.org/packages/0c/86/b912195eee0903b5611bf596833def7d146ab2d301afeb4b722c57ffc966/pyarrow-23.0.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:cd395abf8f91c673dd3589cadc8cc1ee4e8674fa61b2e923c8dd215d9c7d1f41", size = 44520337, upload-time = "2026-02-16T10:11:47.764Z" }, + { url = "https://files.pythonhosted.org/packages/69/c2/f2a717fb824f62d0be952ea724b4f6f9372a17eed6f704b5c9526f12f2f1/pyarrow-23.0.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:00be9576d970c31defb5c32eb72ef585bf600ef6d0a82d5eccaae96639cf9d07", size = 47548944, upload-time = "2026-02-16T10:11:56.607Z" }, + { url = "https://files.pythonhosted.org/packages/84/a7/90007d476b9f0dc308e3bc57b832d004f848fd6c0da601375d20d92d1519/pyarrow-23.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c2139549494445609f35a5cda4eb94e2c9e4d704ce60a095b342f82460c73a83", size = 48236269, upload-time = "2026-02-16T10:12:04.47Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3f/b16fab3e77709856eb6ac328ce35f57a6d4a18462c7ca5186ef31b45e0e0/pyarrow-23.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:7044b442f184d84e2351e5084600f0d7343d6117aabcbc1ac78eb1ae11eb4125", size = 50604794, upload-time = "2026-02-16T10:12:11.797Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a1/22df0620a9fac31d68397a75465c344e83c3dfe521f7612aea33e27ab6c0/pyarrow-23.0.1-cp313-cp313t-win_amd64.whl", hash = "sha256:a35581e856a2fafa12f3f54fce4331862b1cfb0bef5758347a858a4aa9d6bae8", size = 27660642, upload-time = "2026-02-16T10:12:17.746Z" }, + { url = "https://files.pythonhosted.org/packages/8d/1b/6da9a89583ce7b23ac611f183ae4843cd3a6cf54f079549b0e8c14031e73/pyarrow-23.0.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:5df1161da23636a70838099d4aaa65142777185cc0cdba4037a18cee7d8db9ca", size = 34238755, upload-time = "2026-02-16T10:12:32.819Z" }, + { url = "https://files.pythonhosted.org/packages/ae/b5/d58a241fbe324dbaeb8df07be6af8752c846192d78d2272e551098f74e88/pyarrow-23.0.1-cp314-cp314-macosx_12_0_x86_64.whl", hash = "sha256:fa8e51cb04b9f8c9c5ace6bab63af9a1f88d35c0d6cbf53e8c17c098552285e1", size = 35847826, upload-time = "2026-02-16T10:12:38.949Z" }, + { url = "https://files.pythonhosted.org/packages/54/a5/8cbc83f04aba433ca7b331b38f39e000efd9f0c7ce47128670e737542996/pyarrow-23.0.1-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:0b95a3994f015be13c63148fef8832e8a23938128c185ee951c98908a696e0eb", size = 44536859, upload-time = "2026-02-16T10:12:45.467Z" }, + { url = "https://files.pythonhosted.org/packages/36/2e/c0f017c405fcdc252dbccafbe05e36b0d0eb1ea9a958f081e01c6972927f/pyarrow-23.0.1-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:4982d71350b1a6e5cfe1af742c53dfb759b11ce14141870d05d9e540d13bc5d1", size = 47614443, upload-time = "2026-02-16T10:12:55.525Z" }, + { url = "https://files.pythonhosted.org/packages/af/6b/2314a78057912f5627afa13ba43809d9d653e6630859618b0fd81a4e0759/pyarrow-23.0.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c250248f1fe266db627921c89b47b7c06fee0489ad95b04d50353537d74d6886", size = 48232991, upload-time = "2026-02-16T10:13:04.729Z" }, + { url = "https://files.pythonhosted.org/packages/40/f2/1bcb1d3be3460832ef3370d621142216e15a2c7c62602a4ea19ec240dd64/pyarrow-23.0.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5f4763b83c11c16e5f4c15601ba6dfa849e20723b46aa2617cb4bffe8768479f", size = 50645077, upload-time = "2026-02-16T10:13:14.147Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3f/b1da7b61cd66566a4d4c8383d376c606d1c34a906c3f1cb35c479f59d1aa/pyarrow-23.0.1-cp314-cp314-win_amd64.whl", hash = "sha256:3a4c85ef66c134161987c17b147d6bffdca4566f9a4c1d81a0a01cdf08414ea5", size = 28234271, upload-time = "2026-02-16T10:14:09.397Z" }, + { url = "https://files.pythonhosted.org/packages/b5/78/07f67434e910a0f7323269be7bfbf58699bd0c1d080b18a1ab49ba943fe8/pyarrow-23.0.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:17cd28e906c18af486a499422740298c52d7c6795344ea5002a7720b4eadf16d", size = 34488692, upload-time = "2026-02-16T10:13:21.541Z" }, + { url = "https://files.pythonhosted.org/packages/50/76/34cf7ae93ece1f740a04910d9f7e80ba166b9b4ab9596a953e9e62b90fe1/pyarrow-23.0.1-cp314-cp314t-macosx_12_0_x86_64.whl", hash = "sha256:76e823d0e86b4fb5e1cf4a58d293036e678b5a4b03539be933d3b31f9406859f", size = 35964383, upload-time = "2026-02-16T10:13:28.63Z" }, + { url = "https://files.pythonhosted.org/packages/46/90/459b827238936d4244214be7c684e1b366a63f8c78c380807ae25ed92199/pyarrow-23.0.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:a62e1899e3078bf65943078b3ad2a6ddcacf2373bc06379aac61b1e548a75814", size = 44538119, upload-time = "2026-02-16T10:13:35.506Z" }, + { url = "https://files.pythonhosted.org/packages/28/a1/93a71ae5881e99d1f9de1d4554a87be37da11cd6b152239fb5bd924fdc64/pyarrow-23.0.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:df088e8f640c9fae3b1f495b3c64755c4e719091caf250f3a74d095ddf3c836d", size = 47571199, upload-time = "2026-02-16T10:13:42.504Z" }, + { url = "https://files.pythonhosted.org/packages/88/a3/d2c462d4ef313521eaf2eff04d204ac60775263f1fb08c374b543f79f610/pyarrow-23.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:46718a220d64677c93bc243af1d44b55998255427588e400677d7192671845c7", size = 48259435, upload-time = "2026-02-16T10:13:49.226Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f1/11a544b8c3d38a759eb3fbb022039117fd633e9a7b19e4841cc3da091915/pyarrow-23.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a09f3876e87f48bc2f13583ab551f0379e5dfb83210391e68ace404181a20690", size = 50629149, upload-time = "2026-02-16T10:13:57.238Z" }, + { url = "https://files.pythonhosted.org/packages/50/f2/c0e76a0b451ffdf0cf788932e182758eb7558953f4f27f1aff8e2518b653/pyarrow-23.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:527e8d899f14bd15b740cd5a54ad56b7f98044955373a17179d5956ddb93d9ce", size = 28365807, upload-time = "2026-02-16T10:14:03.892Z" }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, +] + +[[package]] +name = "pycrdt" +version = "0.12.50" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/bd/6e049694ad7fed0baf45a62629ff2c7aa1c26e0581a4d4987e0fd39fe951/pycrdt-0.12.50.tar.gz", hash = "sha256:506d4bc00d7d566de4018dca52998ab7cf97c787363bc59440d3a3bb3336d1a0", size = 84528, upload-time = "2026-03-16T09:39:15.924Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/ea/cdc543c51971c513f3b23c34d17ae672dd2fab40977b8d94344c6e8099be/pycrdt-0.12.50-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:f75c95335cacc459dbb3c4e55afbd231f8befd333c617ffad1bbe348018021de", size = 1721432, upload-time = "2026-03-16T09:38:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/b6/30/cde0c58cdfb0f2e4d523443637b11b9bb5963024f5f3cd9e889b8195eab4/pycrdt-0.12.50-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3842dff93946c1b46ea8c508f7d79f07f0a8c54fe8f8e83e6cbb1f9f35a62899", size = 944575, upload-time = "2026-03-16T09:38:18.574Z" }, + { url = "https://files.pythonhosted.org/packages/df/a8/b36e98bca96b9c9b3d554ce6984128dff076a47cb350462efb122a09613e/pycrdt-0.12.50-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fba48534acb7ba22a975c38ff531178d25a01c29d5d4ec2ecfe1c45754cde181", size = 962165, upload-time = "2026-03-16T09:38:20.112Z" }, + { url = "https://files.pythonhosted.org/packages/69/c2/38e0055416466feb9b33cfc96a95c3bd3985cdb547fdc0e556d8903e074f/pycrdt-0.12.50-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5ca809926c3e08965b201b277c26d319c47078ba4b22178976f0455b351155b", size = 1135011, upload-time = "2026-03-16T09:38:21.952Z" }, + { url = "https://files.pythonhosted.org/packages/fe/5f/9597d1b2fcd8f1bff78308352dc8568012e1e2c2ef44a0e5ca11cd04aa81/pycrdt-0.12.50-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bffe6a7e6a59ea1c74a53a0ffa2fee27ff54e454cff333ef952922535c7c8ffa", size = 987535, upload-time = "2026-03-16T09:38:23.459Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f8/882da205925f147610ca790304a025232c164256421655e19cd9eabfca06/pycrdt-0.12.50-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:688d8cb017a729719be8f9ecf488daba24781c05a1635f725ca257aa9a90acfd", size = 956238, upload-time = "2026-03-16T09:38:25.473Z" }, + { url = "https://files.pythonhosted.org/packages/78/91/6cf0db29eebdafe8d3a27ec0a9ece583acab0959d0de22968fcc43f51d75/pycrdt-0.12.50-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:71f9dfc24636dc9789246dae4c8db39f5b9b419c1a1f6f53b782ae22e8febbef", size = 1046621, upload-time = "2026-03-16T09:38:27.349Z" }, + { url = "https://files.pythonhosted.org/packages/b4/40/f1e79a74c12439a595f1986a403e08a35abedce5929c4f464be5f2ec8109/pycrdt-0.12.50-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a33635da609afe467e4ae644766416454535161ec7e1427294a59ed8a5e80015", size = 1121675, upload-time = "2026-03-16T09:38:28.991Z" }, + { url = "https://files.pythonhosted.org/packages/03/7f/b966b7c489e306070eef305b3f591e7ce7a34ee445cb55d1b8fd4fa6e338/pycrdt-0.12.50-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:f48c78ef3710c033d07d5de326362826eda8fa941859f06c146007d6122b3bb4", size = 1235939, upload-time = "2026-03-16T09:38:30.721Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/0a4a74c68349ee72c3e92baad0cb9fbc6a94f2c122a228489357b8ad3507/pycrdt-0.12.50-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c714c1582b804bd296f9b8530353bfab54386a145164e9693443e38b23392d69", size = 1222964, upload-time = "2026-03-16T09:38:32.323Z" }, + { url = "https://files.pythonhosted.org/packages/be/54/c96b470ebc5eaf355beeb8ffaf0235976e3e1fb9d4bc8a1169138c7e5063/pycrdt-0.12.50-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d88a146090d9d6fc64687574c6014b26be1673b8b54b450fca23f115068c2852", size = 1165811, upload-time = "2026-03-16T09:38:34.05Z" }, + { url = "https://files.pythonhosted.org/packages/78/e4/070a16212142bda9cb585571066e1aa48ffcdc2ffb3540759d96dcebd141/pycrdt-0.12.50-cp313-cp313-win32.whl", hash = "sha256:a149f0f080f19b1c9a5614885e134ebbe159ee8add9fce96b81fcb3ea261df94", size = 695256, upload-time = "2026-03-16T09:38:35.705Z" }, + { url = "https://files.pythonhosted.org/packages/03/63/e0beaeabc4bb32901cff77ac9bc0edfa1b2e81a739cc5cd3990896759f94/pycrdt-0.12.50-cp313-cp313-win_amd64.whl", hash = "sha256:96db3bff011f0f85e2c95ad3337abf9553dc08d2cafb2bba6ee4b30b53a585d0", size = 748447, upload-time = "2026-03-16T09:38:37.483Z" }, + { url = "https://files.pythonhosted.org/packages/f7/5d/ae92c859ec5ee4f63d2df3702ce7a782cb054d1cef9a72d17b15a0f787f9/pycrdt-0.12.50-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:382cf259b848db979f2cc8f37c8b1c20c46de8df10142383e8502c8eb40589ba", size = 1720667, upload-time = "2026-03-16T09:38:39.222Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d7/03d5a6d806eec5cc880d17d88a2f8868bd3ddf20aea988ce9238d433cfb4/pycrdt-0.12.50-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:022450e769b8ec37027504602f3dcfc4171d0d27ebe0f04c28d9eb5a3641fdff", size = 946541, upload-time = "2026-03-16T09:38:40.918Z" }, + { url = "https://files.pythonhosted.org/packages/9a/af/4700d71886afeb406b5b6d16d36dbd15fd0d3caa37af60894aca75dc8f3e/pycrdt-0.12.50-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:41c5470f1fe5426e81986664e786508935d00050f061a5eb341af596c67c0bc7", size = 960844, upload-time = "2026-03-16T09:38:42.605Z" }, + { url = "https://files.pythonhosted.org/packages/e9/95/b3640697e6e7dd6675e8fb41c95fba89d84cf435249ed0b8c310ae7eaa10/pycrdt-0.12.50-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bccb80466c7bcaafa1591cdd44b4f4302993324dd09b16a1c4b05f6153a0a458", size = 1136447, upload-time = "2026-03-16T09:38:44.254Z" }, + { url = "https://files.pythonhosted.org/packages/f8/50/fec4bf7fdd8b82e295be28c890a856a2d80e94d4d49098e660bb2c4520bd/pycrdt-0.12.50-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7b2061ad56d4305fce05ddfa269a662e1137997494f74f3f0633052f8beccd4", size = 986746, upload-time = "2026-03-16T09:38:45.88Z" }, + { url = "https://files.pythonhosted.org/packages/70/40/3f82b3bc35adc4ad194a2a397d0518892516e2c40663035401eca05d9bec/pycrdt-0.12.50-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b1d6a3aa808e3996cec15c2ec7d1613c39d872627eb1953877d21720e91b002", size = 957198, upload-time = "2026-03-16T09:38:47.609Z" }, + { url = "https://files.pythonhosted.org/packages/5e/5c/dfd19e979812e455add5942857a08ce2c28547fb68824dda44d4eb83c08b/pycrdt-0.12.50-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8ba83048dc394e8c0d0edf5fdee073eba5d566f372bd3cc24dc8f0f4c24a36d4", size = 1048567, upload-time = "2026-03-16T09:38:49.882Z" }, + { url = "https://files.pythonhosted.org/packages/ac/02/153f511fb0f0dd32d889aede169ea0eda52d62935728b685b6815425ce9d/pycrdt-0.12.50-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:8fbf1f7b6c8200193b602ed3307b526a9cf3db7acb63191632f77d071fb595ec", size = 1122383, upload-time = "2026-03-16T09:38:51.581Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fa/3fcdb4502ced4b7795516acbb12997ec7aaf726187e360494182f533a1a1/pycrdt-0.12.50-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:6776ad64c8a6b270683cdecd1327289587160228401af454f570a9d971eec9a3", size = 1235274, upload-time = "2026-03-16T09:38:53.598Z" }, + { url = "https://files.pythonhosted.org/packages/69/e9/1a50a55b2b2424646e61b648a1bee42f73c1830479cb8095df428bb56b2a/pycrdt-0.12.50-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:f4218a1e568f9b33fd676adc1d3a92fdf4c1c5b6ec3c885f227db7b7fb680b3b", size = 1224841, upload-time = "2026-03-16T09:38:55.528Z" }, + { url = "https://files.pythonhosted.org/packages/a4/62/bd919a4cf7265b4b01c2365820a5423dbe9744880a83a680339a1bf34875/pycrdt-0.12.50-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cde948e70e3e246638e5cd8b0156c714961fba41cd44374e7c5066e797e8ec3f", size = 1168590, upload-time = "2026-03-16T09:38:57.478Z" }, + { url = "https://files.pythonhosted.org/packages/d0/b3/d0b97dbaf7c60c6e3f6d5c9ae2cd8cca3655d8fa397c41c24c44d92dc8d2/pycrdt-0.12.50-cp314-cp314-win32.whl", hash = "sha256:1d42d7f29c1e8459cd80aefd37595e8c7062817f48c59c5e5568401527718d19", size = 694709, upload-time = "2026-03-16T09:38:59.68Z" }, + { url = "https://files.pythonhosted.org/packages/72/fc/acdb8c238f9f4a6c2757b7c2cfdb39aa3c779ac465e0b6c6862c564e6350/pycrdt-0.12.50-cp314-cp314-win_amd64.whl", hash = "sha256:a4d294295120e33fef32d51e1a7a92eab444d20c07d5bde55a5a75afe58a5d41", size = 747251, upload-time = "2026-03-16T09:39:01.435Z" }, +] + +[[package]] +name = "pycrdt-store" +version = "0.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "pycrdt" }, + { name = "sqlite-anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/61/dfecafdc0c23f56d5bacc67de620b77a68f86085df21a8007628d6045248/pycrdt_store-0.1.3.tar.gz", hash = "sha256:12a0e263b2c07eb18bbe7203c828b88ba953cb93094ad37d22aeb6c619df2ef0", size = 14847, upload-time = "2025-12-11T13:29:11.454Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/2d/85a1b3d6e65048c0553e0d06e21b235610ff4db0ea94cbae1bd34de385d7/pycrdt_store-0.1.3-py3-none-any.whl", hash = "sha256:2e74afc856c162706d178d23d57fd3706accbe79d849e73dd413646a7025afba", size = 11948, upload-time = "2025-12-11T13:29:10.522Z" }, +] + +[[package]] +name = "pycrdt-websocket" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "pycrdt" }, + { name = "pycrdt-store" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4f/91/a412af8792af22e7e67a7424e7b6c64baada4897777fed885a2cb825155d/pycrdt_websocket-0.16.0.tar.gz", hash = "sha256:89d4d830f41028c55cc9877635f73f94f49131ca73ffac7353d0be421150d0fd", size = 23152, upload-time = "2025-06-11T07:15:54.298Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/b7/a1dd4d149fa6279f321bd7dacab66ac31e728fbae175a7d75cf8211b1f30/pycrdt_websocket-0.16.0-py3-none-any.whl", hash = "sha256:4b9ffe47c40867b7e637922680e93471fd801b6e8d6c9f6aa688fd2a17351141", size = 14568, upload-time = "2025-06-11T07:15:52.364Z" }, +] + +[[package]] +name = "pydantic" +version = "2.12.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.41.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/06/8806241ff1f70d9939f9af039c6c35f2360cf16e93c2ca76f184e76b1564/pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9", size = 2120403, upload-time = "2025-11-04T13:40:25.248Z" }, + { url = "https://files.pythonhosted.org/packages/94/02/abfa0e0bda67faa65fef1c84971c7e45928e108fe24333c81f3bfe35d5f5/pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34", size = 1896206, upload-time = "2025-11-04T13:40:27.099Z" }, + { url = "https://files.pythonhosted.org/packages/15/df/a4c740c0943e93e6500f9eb23f4ca7ec9bf71b19e608ae5b579678c8d02f/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0", size = 1919307, upload-time = "2025-11-04T13:40:29.806Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e3/6324802931ae1d123528988e0e86587c2072ac2e5394b4bc2bc34b61ff6e/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33", size = 2063258, upload-time = "2025-11-04T13:40:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d4/2230d7151d4957dd79c3044ea26346c148c98fbf0ee6ebd41056f2d62ab5/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e", size = 2214917, upload-time = "2025-11-04T13:40:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/e6/9f/eaac5df17a3672fef0081b6c1bb0b82b33ee89aa5cec0d7b05f52fd4a1fa/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2", size = 2332186, upload-time = "2025-11-04T13:40:37.436Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4e/35a80cae583a37cf15604b44240e45c05e04e86f9cfd766623149297e971/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586", size = 2073164, upload-time = "2025-11-04T13:40:40.289Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e3/f6e262673c6140dd3305d144d032f7bd5f7497d3871c1428521f19f9efa2/pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d", size = 2179146, upload-time = "2025-11-04T13:40:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/20bd7fc05f0c6ea2056a4565c6f36f8968c0924f19b7d97bbfea55780e73/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740", size = 2137788, upload-time = "2025-11-04T13:40:44.752Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8d/34318ef985c45196e004bc46c6eab2eda437e744c124ef0dbe1ff2c9d06b/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e", size = 2340133, upload-time = "2025-11-04T13:40:46.66Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/013626bf8c78a5a5d9350d12e7697d3d4de951a75565496abd40ccd46bee/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858", size = 2324852, upload-time = "2025-11-04T13:40:48.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d9/c248c103856f807ef70c18a4f986693a46a8ffe1602e5d361485da502d20/pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36", size = 1994679, upload-time = "2025-11-04T13:40:50.619Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8b/341991b158ddab181cff136acd2552c9f35bd30380422a639c0671e99a91/pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11", size = 2019766, upload-time = "2025-11-04T13:40:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/73/7d/f2f9db34af103bea3e09735bb40b021788a5e834c81eedb541991badf8f5/pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd", size = 1981005, upload-time = "2025-11-04T13:40:54.734Z" }, + { url = "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", size = 2119622, upload-time = "2025-11-04T13:40:56.68Z" }, + { url = "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", size = 1891725, upload-time = "2025-11-04T13:40:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", size = 1915040, upload-time = "2025-11-04T13:41:00.853Z" }, + { url = "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", size = 2063691, upload-time = "2025-11-04T13:41:03.504Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", size = 2213897, upload-time = "2025-11-04T13:41:05.804Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", size = 2333302, upload-time = "2025-11-04T13:41:07.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", size = 2064877, upload-time = "2025-11-04T13:41:09.827Z" }, + { url = "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", size = 2180680, upload-time = "2025-11-04T13:41:12.379Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", size = 2138960, upload-time = "2025-11-04T13:41:14.627Z" }, + { url = "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", size = 2339102, upload-time = "2025-11-04T13:41:16.868Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", size = 2326039, upload-time = "2025-11-04T13:41:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e1/e08a6208bb100da7e0c4b288eed624a703f4d129bde2da475721a80cab32/pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23", size = 1995126, upload-time = "2025-11-04T13:41:21.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/5d/56ba7b24e9557f99c9237e29f5c09913c81eeb2f3217e40e922353668092/pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf", size = 2015489, upload-time = "2025-11-04T13:41:24.076Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/f7a190991ec9e3e0ba22e4993d8755bbc4a32925c0b5b42775c03e8148f9/pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0", size = 1977288, upload-time = "2025-11-04T13:41:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", size = 2120255, upload-time = "2025-11-04T13:41:28.569Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", size = 1863760, upload-time = "2025-11-04T13:41:31.055Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", size = 1878092, upload-time = "2025-11-04T13:41:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", size = 2053385, upload-time = "2025-11-04T13:41:35.508Z" }, + { url = "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", size = 2218832, upload-time = "2025-11-04T13:41:37.732Z" }, + { url = "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", size = 2327585, upload-time = "2025-11-04T13:41:40Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", size = 2041078, upload-time = "2025-11-04T13:41:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", size = 2173914, upload-time = "2025-11-04T13:41:45.221Z" }, + { url = "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", size = 2129560, upload-time = "2025-11-04T13:41:47.474Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", size = 2329244, upload-time = "2025-11-04T13:41:49.992Z" }, + { url = "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", size = 2331955, upload-time = "2025-11-04T13:41:54.079Z" }, + { url = "https://files.pythonhosted.org/packages/5c/96/5fb7d8c3c17bc8c62fdb031c47d77a1af698f1d7a406b0f79aaa1338f9ad/pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa", size = 1988906, upload-time = "2025-11-04T13:41:56.606Z" }, + { url = "https://files.pythonhosted.org/packages/22/ed/182129d83032702912c2e2d8bbe33c036f342cc735737064668585dac28f/pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c", size = 1981607, upload-time = "2025-11-04T13:41:58.889Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.13.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz", hash = "sha256:b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025", size = 223826, upload-time = "2026-02-19T13:45:08.055Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/4b/ccc026168948fec4f7555b9164c724cf4125eac006e176541483d2c959be/pydantic_settings-2.13.1-py3-none-any.whl", hash = "sha256:d56fd801823dbeae7f0975e1f8c8e25c258eb75d278ea7abb5d9cebb01b56237", size = 58929, upload-time = "2026-02-19T13:45:06.034Z" }, +] + +[[package]] +name = "pyee" +version = "13.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/04/e7c1fe4dc78a6fdbfd6c337b1c3732ff543b8a397683ab38378447baa331/pyee-13.0.1.tar.gz", hash = "sha256:0b931f7c14535667ed4c7e0d531716368715e860b988770fc7eb8578d1f67fc8", size = 31655, upload-time = "2026-02-14T21:12:28.044Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/b4d4827c93ef43c01f599ef31453ccc1c132b353284fc6c87d535c233129/pyee-13.0.1-py3-none-any.whl", hash = "sha256:af2f8fede4171ef667dfded53f96e2ed0d6e6bd7ee3bb46437f77e3b57689228", size = 15659, upload-time = "2026-02-14T21:12:26.263Z" }, +] + +[[package]] +name = "pygments" +version = "2.20.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, +] + +[[package]] +name = "pyjwt" +version = "2.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz", hash = "sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b", size = 102564, upload-time = "2026-03-13T19:27:37.25Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/7a/8dd906bd22e79e47397a61742927f6747fe93242ef86645ee9092e610244/pyjwt-2.12.1-py3-none-any.whl", hash = "sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c", size = 29726, upload-time = "2026-03-13T19:27:35.677Z" }, +] + +[package.optional-dependencies] +crypto = [ + { name = "cryptography" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", size = 50135, upload-time = "2026-03-01T16:00:26.196Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", size = 22101, upload-time = "2026-03-01T16:00:25.09Z" }, +] + +[[package]] +name = "python-json-logger" +version = "4.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f7/ff/3cc9165fd44106973cd7ac9facb674a65ed853494592541d339bdc9a30eb/python_json_logger-4.1.0.tar.gz", hash = "sha256:b396b9e3ed782b09ff9d6e4f1683d46c83ad0d35d2e407c09a9ebbf038f88195", size = 17573, upload-time = "2026-03-29T04:39:56.805Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/be/0631a861af4d1c875f096c07d34e9a63639560a717130e7a87cbc82b7e3f/python_json_logger-4.1.0-py3-none-any.whl", hash = "sha256:132994765cf75bf44554be9aa49b06ef2345d23661a96720262716438141b6b2", size = 15021, upload-time = "2026-03-29T04:39:55.266Z" }, +] + +[[package]] +name = "python-multipart" +version = "0.0.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz", hash = "sha256:7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58", size = 37612, upload-time = "2026-01-25T10:15:56.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/d0/397f9626e711ff749a95d96b7af99b9c566a9bb5129b8e4c10fc4d100304/python_multipart-0.0.22-py3-none-any.whl", hash = "sha256:2b2cd894c83d21bf49d702499531c7bafd057d730c201782048f7945d82de155", size = 24579, upload-time = "2026-01-25T10:15:54.811Z" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "pywinpty" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f7/54/37c7370ba91f579235049dc26cd2c5e657d2a943e01820844ffc81f32176/pywinpty-3.0.3.tar.gz", hash = "sha256:523441dc34d231fb361b4b00f8c99d3f16de02f5005fd544a0183112bcc22412", size = 31309, upload-time = "2026-02-04T21:51:09.524Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/cb/58d6ed3fd429c96a90ef01ac9a617af10a6d41469219c25e7dc162abbb71/pywinpty-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9c91dbb026050c77bdcef964e63a4f10f01a639113c4d3658332614544c467ab", size = 2112686, upload-time = "2026-02-04T21:52:03.035Z" }, + { url = "https://files.pythonhosted.org/packages/fd/50/724ed5c38c504d4e58a88a072776a1e880d970789deaeb2b9f7bd9a5141a/pywinpty-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:fe1f7911805127c94cf51f89ab14096c6f91ffdcacf993d2da6082b2142a2523", size = 234591, upload-time = "2026-02-04T21:52:29.821Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ad/90a110538696b12b39fd8758a06d70ded899308198ad2305ac68e361126e/pywinpty-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:3f07a6cf1c1d470d284e614733c3d0f726d2c85e78508ea10a403140c3c0c18a", size = 2112360, upload-time = "2026-02-04T21:55:33.397Z" }, + { url = "https://files.pythonhosted.org/packages/44/0f/7ffa221757a220402bc79fda44044c3f2cc57338d878ab7d622add6f4581/pywinpty-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:15c7c0b6f8e9d87aabbaff76468dabf6e6121332c40fc1d83548d02a9d6a3759", size = 233107, upload-time = "2026-02-04T21:51:45.455Z" }, + { url = "https://files.pythonhosted.org/packages/28/88/2ff917caff61e55f38bcdb27de06ee30597881b2cae44fbba7627be015c4/pywinpty-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:d4b6b7b0fe0cdcd02e956bd57cfe9f4e5a06514eecf3b5ae174da4f951b58be9", size = 2113282, upload-time = "2026-02-04T21:52:08.188Z" }, + { url = "https://files.pythonhosted.org/packages/63/32/40a775343ace542cc43ece3f1d1fce454021521ecac41c4c4573081c2336/pywinpty-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:34789d685fc0d547ce0c8a65e5a70e56f77d732fa6e03c8f74fefb8cbb252019", size = 234207, upload-time = "2026-02-04T21:51:58.687Z" }, + { url = "https://files.pythonhosted.org/packages/8d/54/5d5e52f4cb75028104ca6faf36c10f9692389b1986d34471663b4ebebd6d/pywinpty-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:0c37e224a47a971d1a6e08649a1714dac4f63c11920780977829ed5c8cadead1", size = 2112910, upload-time = "2026-02-04T21:52:30.976Z" }, + { url = "https://files.pythonhosted.org/packages/0a/44/dcd184824e21d4620b06c7db9fbb15c3ad0a0f1fa2e6de79969fb82647ec/pywinpty-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:c4e9c3dff7d86ba81937438d5819f19f385a39d8f592d4e8af67148ceb4f6ab5", size = 233425, upload-time = "2026-02-04T21:51:56.754Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + +[[package]] +name = "regex" +version = "2026.3.32" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/93/5ab3e899c47fa7994e524447135a71cd121685a35c8fe35029005f8b236f/regex-2026.3.32.tar.gz", hash = "sha256:f1574566457161678297a116fa5d1556c5a4159d64c5ff7c760e7c564bf66f16", size = 415605, upload-time = "2026-03-28T21:49:22.012Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/ba/9c1819f302b42b5fbd4139ead6280e9ec37d19bbe33379df0039b2a57bb4/regex-2026.3.32-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c6d9c6e783b348f719b6118bb3f187b2e138e3112576c9679eb458cc8b2e164b", size = 490394, upload-time = "2026-03-28T21:46:58.112Z" }, + { url = "https://files.pythonhosted.org/packages/5b/0b/f62b0ce79eb83ca82fffea1736289d29bc24400355968301406789bcebd2/regex-2026.3.32-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0f21ae18dfd15752cdd98d03cbd7a3640be826bfd58482a93f730dbd24d7b9fb", size = 291993, upload-time = "2026-03-28T21:47:00.198Z" }, + { url = "https://files.pythonhosted.org/packages/e7/d8/ba0f8f81f88cd20c0b27acc123561ac5495ea33f800f0b8ebed2038b23eb/regex-2026.3.32-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:844d88509c968dd44b30daeefac72b038b1bf31ac372d5106358ab01d393c48b", size = 289618, upload-time = "2026-03-28T21:47:02.269Z" }, + { url = "https://files.pythonhosted.org/packages/fd/0d/b47a0e68bc511c195ff129c0311a4cd79b954b8676193a9d03a97c623a91/regex-2026.3.32-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8fc918cd003ba0d066bf0003deb05a259baaaab4dc9bd4f1207bbbe64224857a", size = 796427, upload-time = "2026-03-28T21:47:04.096Z" }, + { url = "https://files.pythonhosted.org/packages/51/d7/32b05aa8fde7789ba316533c0f30e87b6b5d38d6d7f8765eadc5aab84671/regex-2026.3.32-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bbc458a292aee57d572075f22c035fa32969cdb7987d454e3e34d45a40a0a8b4", size = 865850, upload-time = "2026-03-28T21:47:05.982Z" }, + { url = "https://files.pythonhosted.org/packages/dc/67/828d8095501f237b83f630d4069eea8c0e5cb6a204e859cf0b67c223ce12/regex-2026.3.32-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:987cdfcfb97a249abc3601ad53c7de5c370529f1981e4c8c46793e4a1e1bfe8e", size = 913578, upload-time = "2026-03-28T21:47:08.172Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f8/acf1eb80f58852e85bd39a6ddfa78ce2243ddc8de8da7582e6ba657da593/regex-2026.3.32-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5d88fa37ba5e8a80ca8d956b9ea03805cfa460223ac94b7d4854ee5e30f3173", size = 801536, upload-time = "2026-03-28T21:47:10.206Z" }, + { url = "https://files.pythonhosted.org/packages/9f/05/986cdf8d12693451f5889aaf4ea4f65b2c49b1152ae814fa1fb75439e40b/regex-2026.3.32-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d082be64e51671dd5ee1c208c92da2ddda0f2f20d8ef387e57634f7e97b6aae", size = 776226, upload-time = "2026-03-28T21:47:12.891Z" }, + { url = "https://files.pythonhosted.org/packages/32/02/945a6a2348ca1c6608cb1747275c8affd2ccd957d4885c25218a86377912/regex-2026.3.32-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c1d7fa44aece1fa02b8927441614c96520253a5cad6a96994e3a81e060feed55", size = 785933, upload-time = "2026-03-28T21:47:14.795Z" }, + { url = "https://files.pythonhosted.org/packages/53/12/c5bab6cc679ad79a45427a98c4e70809586ac963c5ad54a9217533c4763e/regex-2026.3.32-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d478a2ca902b6ef28ffc9521e5f0f728d036abe35c0b250ee8ae78cfe7c5e44e", size = 860671, upload-time = "2026-03-28T21:47:16.985Z" }, + { url = "https://files.pythonhosted.org/packages/bf/68/8d85f98c2443469facabef62b82b851d369b13f92bec2ca7a3808deaa47b/regex-2026.3.32-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2820d2231885e97aff0fcf230a19ebd5d2b5b8a1ba338c20deb34f16db1c7897", size = 765335, upload-time = "2026-03-28T21:47:18.872Z" }, + { url = "https://files.pythonhosted.org/packages/89/a7/d8a9c270916107a501fca63b748547c6c77e570d19f16a29b557ce734f3d/regex-2026.3.32-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc8ced733d6cd9af5e412f256a32f7c61cd2d7371280a65c689939ac4572499f", size = 851913, upload-time = "2026-03-28T21:47:20.793Z" }, + { url = "https://files.pythonhosted.org/packages/f4/8e/03d392b26679914ccf21f83d18ad4443232d2f8c3e2c30a962d4e3918d9c/regex-2026.3.32-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:847087abe98b3c1ebf1eb49d6ef320dbba75a83ee4f83c94704580f1df007dd4", size = 788447, upload-time = "2026-03-28T21:47:22.628Z" }, + { url = "https://files.pythonhosted.org/packages/cf/df/692227d23535a50604333068b39eb262626db780ab1e1b19d83fc66853aa/regex-2026.3.32-cp313-cp313-win32.whl", hash = "sha256:d21a07edddb3e0ca12a8b8712abc8452481c3d3db19ae87fc94e9842d005964b", size = 266834, upload-time = "2026-03-28T21:47:24.778Z" }, + { url = "https://files.pythonhosted.org/packages/b9/37/13e4e56adc16ba607cffa1fe880f233eb9ded8ab8a8580619683c9e4ce48/regex-2026.3.32-cp313-cp313-win_amd64.whl", hash = "sha256:3c054e39a9f85a3d76c62a1d50c626c5e9306964eaa675c53f61ff7ec1204bbb", size = 277972, upload-time = "2026-03-28T21:47:26.627Z" }, + { url = "https://files.pythonhosted.org/packages/ab/1c/80a86dbb2b416fec003b1801462bdcebbf1d43202ed5acb176e99c1ba369/regex-2026.3.32-cp313-cp313-win_arm64.whl", hash = "sha256:b2e9c2ea2e93223579308263f359eab8837dc340530b860cb59b713651889f14", size = 270649, upload-time = "2026-03-28T21:47:28.551Z" }, + { url = "https://files.pythonhosted.org/packages/58/08/e38372da599dc1c39c599907ec535016d110034bd3701ce36554f59767ef/regex-2026.3.32-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5d86e3fb08c94f084a625c8dc2132a79a3a111c8bf6e2bc59351fa61753c2f6e", size = 494495, upload-time = "2026-03-28T21:47:30.642Z" }, + { url = "https://files.pythonhosted.org/packages/5f/27/6e29ece8c9ce01001ece1137fa21c8707529c2305b22828f63623b0eb262/regex-2026.3.32-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b6f366a5ef66a2df4d9e68035cfe9f0eb8473cdfb922c37fac1d169b468607b0", size = 293988, upload-time = "2026-03-28T21:47:32.553Z" }, + { url = "https://files.pythonhosted.org/packages/e1/98/8752e18bb87a2fe728b73b0f83c082eb162a470766063f8028759fb26844/regex-2026.3.32-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b8fca73e16c49dd972ce3a88278dfa5b93bf91ddef332a46e9443abe21ca2f7c", size = 292634, upload-time = "2026-03-28T21:47:34.651Z" }, + { url = "https://files.pythonhosted.org/packages/7f/7b/d7729fe294e23e9c7c3871cb69d49059fa7d65fd11e437a2cbea43f6615d/regex-2026.3.32-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b953d9d496d19786f4d46e6ba4b386c6e493e81e40f9c5392332458183b0599d", size = 810532, upload-time = "2026-03-28T21:47:36.839Z" }, + { url = "https://files.pythonhosted.org/packages/fd/49/4dae7b000659f611b17b9c1541fba800b0569e4060debc4635ef1b23982c/regex-2026.3.32-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b565f25171e04d4fad950d1fa837133e3af6ea6f509d96166eed745eb0cf63bc", size = 871919, upload-time = "2026-03-28T21:47:39.192Z" }, + { url = "https://files.pythonhosted.org/packages/83/85/aa8ad3977b9399861db3df62b33fe5fef6932ee23a1b9f4f357f58f2094b/regex-2026.3.32-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f28eac18a8733a124444643a66ac96fef2c0ad65f50034e0a043b90333dc677f", size = 916550, upload-time = "2026-03-28T21:47:41.618Z" }, + { url = "https://files.pythonhosted.org/packages/c8/c0/6379d7f5b59ff0656ba49cf666d5013ecee55e83245275b310b0ffc79143/regex-2026.3.32-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7cdd508664430dd51b8888deb6c5b416d8de046b2e11837254378d31febe4a98", size = 814988, upload-time = "2026-03-28T21:47:43.681Z" }, + { url = "https://files.pythonhosted.org/packages/2c/af/2dfddc64074bd9b70e27e170ee9db900542e2870210b489ad4471416ba86/regex-2026.3.32-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5c35d097f509cf7e40d20d5bee548d35d6049b36eb9965e8d43e4659923405b9", size = 786337, upload-time = "2026-03-28T21:47:46.076Z" }, + { url = "https://files.pythonhosted.org/packages/eb/2f/4eb8abd705236402b4fe0e130971634deffb1855e2028bf02a2b7c0e841c/regex-2026.3.32-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:85c9b0c131427470a6423baa0a9330be6fd8c3630cc3ee6fdee03360724cbec5", size = 800029, upload-time = "2026-03-28T21:47:48.356Z" }, + { url = "https://files.pythonhosted.org/packages/3e/2c/77d9ca2c9df483b51b4b1291c96d79c9ae301077841c4db39bc822f6b4c6/regex-2026.3.32-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:e50af656c15e2723eeb7279c0837e07accc594b95ec18b86821a4d44b51b24bf", size = 865843, upload-time = "2026-03-28T21:47:50.762Z" }, + { url = "https://files.pythonhosted.org/packages/48/10/306f477a509f4eed699071b1f031d89edd5a2b5fa28c8ede5b2638eaba82/regex-2026.3.32-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:4bc32b4dbdb4f9f300cf9f38f8ea2ce9511a068ffaa45ac1373ee7a943f1d810", size = 772473, upload-time = "2026-03-28T21:47:52.771Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f6/54bd83ec46ac037de2beb049afc9dd5d2769c6ecaadf7856254ce610e62a/regex-2026.3.32-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e3e5d1802cba785210a4a800e63fcee7a228649a880f3bf7f2aadccb151a834b", size = 856805, upload-time = "2026-03-28T21:47:55.04Z" }, + { url = "https://files.pythonhosted.org/packages/37/e8/ee0e7d14de1fc6582d5782f072db6c61465a38a4142f88e175dda494b536/regex-2026.3.32-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ef250a3f5e93182193f5c927c5e9575b2cb14b80d03e258bc0b89cc5de076b60", size = 801875, upload-time = "2026-03-28T21:47:57.434Z" }, + { url = "https://files.pythonhosted.org/packages/8a/06/0fa9daca59d07b6aabd8e0468d3b86fd578576a157206fbcddbfc2298f7d/regex-2026.3.32-cp313-cp313t-win32.whl", hash = "sha256:9cf7036dfa2370ccc8651521fcbb40391974841119e9982fa312b552929e6c85", size = 269892, upload-time = "2026-03-28T21:47:59.674Z" }, + { url = "https://files.pythonhosted.org/packages/13/47/77f16b5ad9f10ca574f03d84a354b359b0ac33f85054f2f2daafc9f7b807/regex-2026.3.32-cp313-cp313t-win_amd64.whl", hash = "sha256:c940e00e8d3d10932c929d4b8657c2ea47d2560f31874c3e174c0d3488e8b865", size = 281318, upload-time = "2026-03-28T21:48:01.562Z" }, + { url = "https://files.pythonhosted.org/packages/c6/47/db4446faaea8d01c8315c9c89c7dc6abbb3305e8e712e9b23936095c4d58/regex-2026.3.32-cp313-cp313t-win_arm64.whl", hash = "sha256:ace48c5e157c1e58b7de633c5e257285ce85e567ac500c833349c363b3df69d4", size = 272366, upload-time = "2026-03-28T21:48:03.748Z" }, + { url = "https://files.pythonhosted.org/packages/32/68/ff024bf6131b7446a791a636dbbb7fa732d586f33b276d84b3460ea49393/regex-2026.3.32-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:a416ee898ecbc5d8b283223b4cf4d560f93244f6f7615c1bd67359744b00c166", size = 490430, upload-time = "2026-03-28T21:48:05.654Z" }, + { url = "https://files.pythonhosted.org/packages/61/72/039d9164817ee298f2a2d0246001afe662241dcbec0eedd1fe03e2a2555e/regex-2026.3.32-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d76d62909bfb14521c3f7cfd5b94c0c75ec94b0a11f647d2f604998962ec7b6c", size = 291948, upload-time = "2026-03-28T21:48:07.666Z" }, + { url = "https://files.pythonhosted.org/packages/06/9d/77f684d90ffe3e99b828d3cabb87a0f1601d2b9decd1333ff345809b1d02/regex-2026.3.32-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:631f7d95c83f42bccfe18946a38ad27ff6b6717fb4807e60cf24860b5eb277fc", size = 289786, upload-time = "2026-03-28T21:48:09.562Z" }, + { url = "https://files.pythonhosted.org/packages/83/70/bd76069a0304e924682b2efd8683a01617a7e1da9b651af73039d8da76a4/regex-2026.3.32-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:12917c6c6813ffcdfb11680a04e4d63c5532b88cf089f844721c5f41f41a63ad", size = 796672, upload-time = "2026-03-28T21:48:11.568Z" }, + { url = "https://files.pythonhosted.org/packages/80/31/c2d7d9a5671e111a2c16d57e0cb03e1ce35b28a115901590528aa928bb5b/regex-2026.3.32-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3e221b615f83b15887636fcb90ed21f1a19541366f8b7ba14ba1ad8304f4ded4", size = 866556, upload-time = "2026-03-28T21:48:14.081Z" }, + { url = "https://files.pythonhosted.org/packages/d7/b9/9921a31931d0bc3416ac30205471e0e2ed60dcbd16fc922bbd69b427322b/regex-2026.3.32-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4f9ae4755fa90f1dc2d0d393d572ebc134c0fe30fcfc0ab7e67c1db15f192041", size = 912787, upload-time = "2026-03-28T21:48:16.548Z" }, + { url = "https://files.pythonhosted.org/packages/41/ab/2c1bc8ab99f63cdabdbc7823af8f4cfcd6ddbb2babf01861826c3f1ad44d/regex-2026.3.32-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a094e9dcafedfb9d333db5cf880304946683f43a6582bb86688f123335122929", size = 800879, upload-time = "2026-03-28T21:48:18.971Z" }, + { url = "https://files.pythonhosted.org/packages/49/e5/0be716eb2c0b2ae3a439e44432534e82b2f81848af64cb21c0473ad8ae46/regex-2026.3.32-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c1cecea3e477af105f32ef2119b8d895f297492e41d317e60d474bc4bffd62ff", size = 776332, upload-time = "2026-03-28T21:48:21.163Z" }, + { url = "https://files.pythonhosted.org/packages/26/80/114a61bd25dec7d1070930eaef82aadf9b05961a37629e7cca7bc3fc2257/regex-2026.3.32-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f26262900edd16272b6360014495e8d68379c6c6e95983f9b7b322dc928a1194", size = 786384, upload-time = "2026-03-28T21:48:23.277Z" }, + { url = "https://files.pythonhosted.org/packages/0c/78/be0a6531f8db426e8e60d6356aeef8e9cc3f541655a648c4968b63c87a88/regex-2026.3.32-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1cb22fa9ee6a0acb22fc9aecce5f9995fe4d2426ed849357d499d62608fbd7f9", size = 861381, upload-time = "2026-03-28T21:48:25.371Z" }, + { url = "https://files.pythonhosted.org/packages/45/b1/e5076fbe45b8fb39672584b1b606d512f5bd3a43155be68a95f6b88c1fc5/regex-2026.3.32-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:9b9118a78e031a2e4709cd2fcc3028432e89b718db70073a8da574c249b5b249", size = 765434, upload-time = "2026-03-28T21:48:27.494Z" }, + { url = "https://files.pythonhosted.org/packages/a3/da/fd65d68b897f8b52b1390d20d776fa753582484724a9cb4f4c26de657ae5/regex-2026.3.32-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:b193ed199848aa96618cd5959c1582a0bf23cd698b0b900cb0ffe81b02c8659c", size = 851501, upload-time = "2026-03-28T21:48:29.884Z" }, + { url = "https://files.pythonhosted.org/packages/e8/d6/1e9c991c32022a9312e9124cc974961b3a2501338de2cd1cce75a3612d7a/regex-2026.3.32-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:10fb2aaae1aaadf7d43c9f3c2450404253697bf8b9ce360bd5418d1d16292298", size = 788076, upload-time = "2026-03-28T21:48:32.025Z" }, + { url = "https://files.pythonhosted.org/packages/f0/5b/b23c72f6d607cbb24ef42acf0c7c2ef4eee1377a9f7ba43b312f889edfbb/regex-2026.3.32-cp314-cp314-win32.whl", hash = "sha256:110ba4920721374d16c4c8ea7ce27b09546d43e16aea1d7f43681b5b8f80ba61", size = 272255, upload-time = "2026-03-28T21:48:34.355Z" }, + { url = "https://files.pythonhosted.org/packages/2a/ec/32bbcc42366097a8cea2c481e02964be6c6fa5ccfb0fa9581686af0bec5f/regex-2026.3.32-cp314-cp314-win_amd64.whl", hash = "sha256:245667ad430745bae6a1e41081872d25819d86fbd9e0eec485ba00d9f78ad43d", size = 281160, upload-time = "2026-03-28T21:48:36.588Z" }, + { url = "https://files.pythonhosted.org/packages/6c/e4/89038a028cb68e719fa03ab1ad603649fc199bcda12270d2ac7b471b8f5d/regex-2026.3.32-cp314-cp314-win_arm64.whl", hash = "sha256:1ca02ff0ef33e9d8276a1fcd6d90ff6ea055a32c9149c0050b5b67e26c6d2c51", size = 273688, upload-time = "2026-03-28T21:48:38.976Z" }, + { url = "https://files.pythonhosted.org/packages/30/6e/87caccd608837a1fa4f8c7edc48e206103452b9bbc94fc724fa39340e807/regex-2026.3.32-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:51fb7e26f91f9091fd8ec6a946f99b15d3bc3667cb5ddc73dd6cb2222dd4a1cc", size = 494506, upload-time = "2026-03-28T21:48:41.327Z" }, + { url = "https://files.pythonhosted.org/packages/16/53/a922e6b24694d70bdd68fc3fd076950e15b1b418cff9d2cc362b3968d86f/regex-2026.3.32-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:51a93452034d671b0e21b883d48ea66c5d6a05620ee16a9d3f229e828568f3f0", size = 293986, upload-time = "2026-03-28T21:48:43.481Z" }, + { url = "https://files.pythonhosted.org/packages/60/e4/0cb32203c1aebad0577fcd5b9af1fe764869e617d5234bc6a0ad284299ea/regex-2026.3.32-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:03c2ebd15ff51e7b13bb3dc28dd5ac18cd39e59ebb40430b14ae1a19e833cff1", size = 292677, upload-time = "2026-03-28T21:48:45.772Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f8/5006b70291469d4174dd66ad162802e2f68419c0f2a7952d0c76c1288cfa/regex-2026.3.32-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5bf2f3c2c5bd8360d335c7dcd4a9006cf1dabae063ee2558ee1b07bbc8a20d88", size = 810661, upload-time = "2026-03-28T21:48:48.147Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9b/438763a20d22cd1f65f95c8f030dd25df2d80a941068a891d21a5f240456/regex-2026.3.32-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a4a3189a99ecdd1c13f42513ab3fc7fa8311b38ba7596dd98537acb8cd9acc3", size = 872156, upload-time = "2026-03-28T21:48:50.739Z" }, + { url = "https://files.pythonhosted.org/packages/6c/5b/1341287887ac982ed9f5f60125e440513ffe354aa7e3681940495af7c12a/regex-2026.3.32-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3c0bbfbd38506e1ea96a85da6782577f06239cb9fcf9696f1ea537c980c0680b", size = 916749, upload-time = "2026-03-28T21:48:53.57Z" }, + { url = "https://files.pythonhosted.org/packages/42/e2/1d2b48b8e94debfffc6fefb84d2a86a178cc208652a1d6493d5f29821c70/regex-2026.3.32-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8aaf8ee8f34b677f90742ca089b9c83d64bdc410528767273c816a863ed57327", size = 814788, upload-time = "2026-03-28T21:48:55.905Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d9/7dacb34c43adaeb954518d851f3e5d3ce495ac00a9d6010e3b4b59917c4a/regex-2026.3.32-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3ea568832eca219c2be1721afa073c1c9eb8f98a9733fdedd0a9747639fc22a5", size = 786594, upload-time = "2026-03-28T21:48:58.404Z" }, + { url = "https://files.pythonhosted.org/packages/ea/72/28295068c92dbd6d3ce4fd22554345cf504e957cc57dadeda4a64fa86a57/regex-2026.3.32-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e4c8fa46aad1a11ae2f8fcd1c90b9d55e18925829ac0d98c5bb107f93351745", size = 800167, upload-time = "2026-03-28T21:49:01.226Z" }, + { url = "https://files.pythonhosted.org/packages/ca/17/b10745adeca5b8d52da050e7c746137f5d01dabc6dbbe6e8d9d821dc65c1/regex-2026.3.32-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cec365d44835b043d7b3266487797639d07d621bec9dc0ea224b00775797cc1", size = 865906, upload-time = "2026-03-28T21:49:03.484Z" }, + { url = "https://files.pythonhosted.org/packages/45/9d/1acbcce765044ac0c87f453f4876e0897f7a61c10315262f960184310798/regex-2026.3.32-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:09e26cad1544d856da85881ad292797289e4406338afe98163f3db9f7fac816c", size = 772642, upload-time = "2026-03-28T21:49:06.811Z" }, + { url = "https://files.pythonhosted.org/packages/24/41/1ef8b4811355ad7b9d7579d3aeca00f18b7bc043ace26c8c609b9287346d/regex-2026.3.32-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:6062c4ef581a3e9e503dccf4e1b7f2d33fdc1c13ad510b287741ac73bc4c6b27", size = 856927, upload-time = "2026-03-28T21:49:09.373Z" }, + { url = "https://files.pythonhosted.org/packages/97/b1/0dc1d361be80ec1b8b707ada041090181133a7a29d438e432260a4b26f9a/regex-2026.3.32-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:88ebc0783907468f17fca3d7821b30f9c21865a721144eb498cb0ff99a67bcac", size = 801910, upload-time = "2026-03-28T21:49:11.818Z" }, + { url = "https://files.pythonhosted.org/packages/b5/db/1a23f767fa250844772a9464306d34e0fafe2c317303b88a1415096b6324/regex-2026.3.32-cp314-cp314t-win32.whl", hash = "sha256:e480d3dac06c89bc2e0fd87524cc38c546ac8b4a38177650745e64acbbcfdeba", size = 275714, upload-time = "2026-03-28T21:49:14.528Z" }, + { url = "https://files.pythonhosted.org/packages/c2/2b/616d31b125ca76079d74d6b1d84ec0860ffdb41c379151135d06e35a8633/regex-2026.3.32-cp314-cp314t-win_amd64.whl", hash = "sha256:67015a8162d413af9e3309d9a24e385816666fbf09e48e3ec43342c8536f7df6", size = 285722, upload-time = "2026-03-28T21:49:16.642Z" }, + { url = "https://files.pythonhosted.org/packages/7e/91/043d9a00d6123c5fa22a3dc96b10445ce434a8110e1d5e53efb01f243c8b/regex-2026.3.32-cp314-cp314t-win_arm64.whl", hash = "sha256:1a6ac1ed758902e664e0d95c1ee5991aa6fb355423f378ed184c6ec47a1ec0e9", size = 275700, upload-time = "2026-03-28T21:49:19.348Z" }, +] + +[[package]] +name = "requests" +version = "2.33.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517", size = 134120, upload-time = "2026-03-30T16:09:15.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a", size = 64947, upload-time = "2026-03-30T16:09:13.83Z" }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, +] + +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lark" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/06/37c1a5557acf449e8e406a830a05bf885ac47d33270aec454ef78675008d/rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d", size = 14239, upload-time = "2025-07-18T01:05:05.015Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/71/44ce230e1b7fadd372515a97e32a83011f906ddded8d03e3c6aafbdedbb7/rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f", size = 8046, upload-time = "2025-07-18T01:05:03.843Z" }, +] + +[[package]] +name = "rich" +version = "14.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/c6/f3b320c27991c46f43ee9d856302c70dc2d0fb2dba4842ff739d5f46b393/rich-14.3.3.tar.gz", hash = "sha256:b8daa0b9e4eef54dd8cf7c86c03713f53241884e814f4e2f5fb342fe520f639b", size = 230582, upload-time = "2026-02-19T17:23:12.474Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/25/b208c5683343959b670dc001595f2f3737e051da617f66c31f7c4fa93abc/rich-14.3.3-py3-none-any.whl", hash = "sha256:793431c1f8619afa7d3b52b2cdec859562b950ea0d4b6b505397612db8d5362d", size = 310458, upload-time = "2026-02-19T17:23:13.732Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.30.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", size = 69469, upload-time = "2025-11-30T20:24:38.837Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2", size = 374887, upload-time = "2025-11-30T20:22:41.812Z" }, + { url = "https://files.pythonhosted.org/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8", size = 358904, upload-time = "2025-11-30T20:22:43.479Z" }, + { url = "https://files.pythonhosted.org/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4", size = 389945, upload-time = "2025-11-30T20:22:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136", size = 407783, upload-time = "2025-11-30T20:22:46.103Z" }, + { url = "https://files.pythonhosted.org/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7", size = 515021, upload-time = "2025-11-30T20:22:47.458Z" }, + { url = "https://files.pythonhosted.org/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2", size = 414589, upload-time = "2025-11-30T20:22:48.872Z" }, + { url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6", size = 394025, upload-time = "2025-11-30T20:22:50.196Z" }, + { url = "https://files.pythonhosted.org/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e", size = 408895, upload-time = "2025-11-30T20:22:51.87Z" }, + { url = "https://files.pythonhosted.org/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d", size = 422799, upload-time = "2025-11-30T20:22:53.341Z" }, + { url = "https://files.pythonhosted.org/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7", size = 572731, upload-time = "2025-11-30T20:22:54.778Z" }, + { url = "https://files.pythonhosted.org/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31", size = 599027, upload-time = "2025-11-30T20:22:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95", size = 563020, upload-time = "2025-11-30T20:22:58.2Z" }, + { url = "https://files.pythonhosted.org/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d", size = 223139, upload-time = "2025-11-30T20:23:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15", size = 240224, upload-time = "2025-11-30T20:23:02.008Z" }, + { url = "https://files.pythonhosted.org/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1", size = 230645, upload-time = "2025-11-30T20:23:03.43Z" }, + { url = "https://files.pythonhosted.org/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a", size = 364443, upload-time = "2025-11-30T20:23:04.878Z" }, + { url = "https://files.pythonhosted.org/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e", size = 353375, upload-time = "2025-11-30T20:23:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000", size = 383850, upload-time = "2025-11-30T20:23:07.825Z" }, + { url = "https://files.pythonhosted.org/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db", size = 392812, upload-time = "2025-11-30T20:23:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2", size = 517841, upload-time = "2025-11-30T20:23:11.186Z" }, + { url = "https://files.pythonhosted.org/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa", size = 408149, upload-time = "2025-11-30T20:23:12.864Z" }, + { url = "https://files.pythonhosted.org/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083", size = 383843, upload-time = "2025-11-30T20:23:14.638Z" }, + { url = "https://files.pythonhosted.org/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9", size = 396507, upload-time = "2025-11-30T20:23:16.105Z" }, + { url = "https://files.pythonhosted.org/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0", size = 414949, upload-time = "2025-11-30T20:23:17.539Z" }, + { url = "https://files.pythonhosted.org/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94", size = 565790, upload-time = "2025-11-30T20:23:19.029Z" }, + { url = "https://files.pythonhosted.org/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08", size = 590217, upload-time = "2025-11-30T20:23:20.885Z" }, + { url = "https://files.pythonhosted.org/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27", size = 555806, upload-time = "2025-11-30T20:23:22.488Z" }, + { url = "https://files.pythonhosted.org/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6", size = 211341, upload-time = "2025-11-30T20:23:24.449Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d", size = 225768, upload-time = "2025-11-30T20:23:25.908Z" }, + { url = "https://files.pythonhosted.org/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0", size = 362099, upload-time = "2025-11-30T20:23:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be", size = 353192, upload-time = "2025-11-30T20:23:29.151Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f", size = 384080, upload-time = "2025-11-30T20:23:30.785Z" }, + { url = "https://files.pythonhosted.org/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f", size = 394841, upload-time = "2025-11-30T20:23:32.209Z" }, + { url = "https://files.pythonhosted.org/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87", size = 516670, upload-time = "2025-11-30T20:23:33.742Z" }, + { url = "https://files.pythonhosted.org/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18", size = 408005, upload-time = "2025-11-30T20:23:35.253Z" }, + { url = "https://files.pythonhosted.org/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad", size = 382112, upload-time = "2025-11-30T20:23:36.842Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07", size = 399049, upload-time = "2025-11-30T20:23:38.343Z" }, + { url = "https://files.pythonhosted.org/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f", size = 415661, upload-time = "2025-11-30T20:23:40.263Z" }, + { url = "https://files.pythonhosted.org/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65", size = 565606, upload-time = "2025-11-30T20:23:42.186Z" }, + { url = "https://files.pythonhosted.org/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f", size = 591126, upload-time = "2025-11-30T20:23:44.086Z" }, + { url = "https://files.pythonhosted.org/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53", size = 553371, upload-time = "2025-11-30T20:23:46.004Z" }, + { url = "https://files.pythonhosted.org/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed", size = 215298, upload-time = "2025-11-30T20:23:47.696Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950", size = 228604, upload-time = "2025-11-30T20:23:49.501Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6", size = 222391, upload-time = "2025-11-30T20:23:50.96Z" }, + { url = "https://files.pythonhosted.org/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb", size = 364868, upload-time = "2025-11-30T20:23:52.494Z" }, + { url = "https://files.pythonhosted.org/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8", size = 353747, upload-time = "2025-11-30T20:23:54.036Z" }, + { url = "https://files.pythonhosted.org/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7", size = 383795, upload-time = "2025-11-30T20:23:55.556Z" }, + { url = "https://files.pythonhosted.org/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898", size = 393330, upload-time = "2025-11-30T20:23:57.033Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e", size = 518194, upload-time = "2025-11-30T20:23:58.637Z" }, + { url = "https://files.pythonhosted.org/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419", size = 408340, upload-time = "2025-11-30T20:24:00.2Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551", size = 383765, upload-time = "2025-11-30T20:24:01.759Z" }, + { url = "https://files.pythonhosted.org/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8", size = 396834, upload-time = "2025-11-30T20:24:03.687Z" }, + { url = "https://files.pythonhosted.org/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5", size = 415470, upload-time = "2025-11-30T20:24:05.232Z" }, + { url = "https://files.pythonhosted.org/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404", size = 565630, upload-time = "2025-11-30T20:24:06.878Z" }, + { url = "https://files.pythonhosted.org/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856", size = 591148, upload-time = "2025-11-30T20:24:08.445Z" }, + { url = "https://files.pythonhosted.org/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40", size = 556030, upload-time = "2025-11-30T20:24:10.956Z" }, + { url = "https://files.pythonhosted.org/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0", size = 211570, upload-time = "2025-11-30T20:24:12.735Z" }, + { url = "https://files.pythonhosted.org/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3", size = 226532, upload-time = "2025-11-30T20:24:14.634Z" }, +] + +[[package]] +name = "safetensors" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/29/9c/6e74567782559a63bd040a236edca26fd71bc7ba88de2ef35d75df3bca5e/safetensors-0.7.0.tar.gz", hash = "sha256:07663963b67e8bd9f0b8ad15bb9163606cd27cc5a1b96235a50d8369803b96b0", size = 200878, upload-time = "2025-11-19T15:18:43.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/47/aef6c06649039accf914afef490268e1067ed82be62bcfa5b7e886ad15e8/safetensors-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c82f4d474cf725255d9e6acf17252991c3c8aac038d6ef363a4bf8be2f6db517", size = 467781, upload-time = "2025-11-19T15:18:35.84Z" }, + { url = "https://files.pythonhosted.org/packages/e8/00/374c0c068e30cd31f1e1b46b4b5738168ec79e7689ca82ee93ddfea05109/safetensors-0.7.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:94fd4858284736bb67a897a41608b5b0c2496c9bdb3bf2af1fa3409127f20d57", size = 447058, upload-time = "2025-11-19T15:18:34.416Z" }, + { url = "https://files.pythonhosted.org/packages/f1/06/578ffed52c2296f93d7fd2d844cabfa92be51a587c38c8afbb8ae449ca89/safetensors-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e07d91d0c92a31200f25351f4acb2bc6aff7f48094e13ebb1d0fb995b54b6542", size = 491748, upload-time = "2025-11-19T15:18:09.79Z" }, + { url = "https://files.pythonhosted.org/packages/ae/33/1debbbb70e4791dde185edb9413d1fe01619255abb64b300157d7f15dddd/safetensors-0.7.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8469155f4cb518bafb4acf4865e8bb9d6804110d2d9bdcaa78564b9fd841e104", size = 503881, upload-time = "2025-11-19T15:18:16.145Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1c/40c2ca924d60792c3be509833df711b553c60effbd91da6f5284a83f7122/safetensors-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:54bef08bf00a2bff599982f6b08e8770e09cc012d7bba00783fc7ea38f1fb37d", size = 623463, upload-time = "2025-11-19T15:18:21.11Z" }, + { url = "https://files.pythonhosted.org/packages/9b/3a/13784a9364bd43b0d61eef4bea2845039bc2030458b16594a1bd787ae26e/safetensors-0.7.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42cb091236206bb2016d245c377ed383aa7f78691748f3bb6ee1bfa51ae2ce6a", size = 532855, upload-time = "2025-11-19T15:18:25.719Z" }, + { url = "https://files.pythonhosted.org/packages/a0/60/429e9b1cb3fc651937727befe258ea24122d9663e4d5709a48c9cbfceecb/safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac7252938f0696ddea46f5e855dd3138444e82236e3be475f54929f0c510d48", size = 507152, upload-time = "2025-11-19T15:18:33.023Z" }, + { url = "https://files.pythonhosted.org/packages/3c/a8/4b45e4e059270d17af60359713ffd83f97900d45a6afa73aaa0d737d48b6/safetensors-0.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1d060c70284127fa805085d8f10fbd0962792aed71879d00864acda69dbab981", size = 541856, upload-time = "2025-11-19T15:18:31.075Z" }, + { url = "https://files.pythonhosted.org/packages/06/87/d26d8407c44175d8ae164a95b5a62707fcc445f3c0c56108e37d98070a3d/safetensors-0.7.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cdab83a366799fa730f90a4ebb563e494f28e9e92c4819e556152ad55e43591b", size = 674060, upload-time = "2025-11-19T15:18:37.211Z" }, + { url = "https://files.pythonhosted.org/packages/11/f5/57644a2ff08dc6325816ba7217e5095f17269dada2554b658442c66aed51/safetensors-0.7.0-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:672132907fcad9f2aedcb705b2d7b3b93354a2aec1b2f706c4db852abe338f85", size = 771715, upload-time = "2025-11-19T15:18:38.689Z" }, + { url = "https://files.pythonhosted.org/packages/86/31/17883e13a814bd278ae6e266b13282a01049b0c81341da7fd0e3e71a80a3/safetensors-0.7.0-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:5d72abdb8a4d56d4020713724ba81dac065fedb7f3667151c4a637f1d3fb26c0", size = 714377, upload-time = "2025-11-19T15:18:40.162Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d8/0c8a7dc9b41dcac53c4cbf9df2b9c83e0e0097203de8b37a712b345c0be5/safetensors-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0f6d66c1c538d5a94a73aa9ddca8ccc4227e6c9ff555322ea40bdd142391dd4", size = 677368, upload-time = "2025-11-19T15:18:41.627Z" }, + { url = "https://files.pythonhosted.org/packages/05/e5/cb4b713c8a93469e3c5be7c3f8d77d307e65fe89673e731f5c2bfd0a9237/safetensors-0.7.0-cp38-abi3-win32.whl", hash = "sha256:c74af94bf3ac15ac4d0f2a7c7b4663a15f8c2ab15ed0fc7531ca61d0835eccba", size = 326423, upload-time = "2025-11-19T15:18:45.74Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e6/ec8471c8072382cb91233ba7267fd931219753bb43814cbc71757bfd4dab/safetensors-0.7.0-cp38-abi3-win_amd64.whl", hash = "sha256:d1239932053f56f3456f32eb9625590cc7582e905021f94636202a864d470755", size = 341380, upload-time = "2025-11-19T15:18:44.427Z" }, +] + +[[package]] +name = "scikit-learn" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "numpy" }, + { name = "scipy" }, + { name = "threadpoolctl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/d4/40988bf3b8e34feec1d0e6a051446b1f66225f8529b9309becaeef62b6c4/scikit_learn-1.8.0.tar.gz", hash = "sha256:9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd", size = 7335585, upload-time = "2025-12-10T07:08:53.618Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/aa/e22e0768512ce9255eba34775be2e85c2048da73da1193e841707f8f039c/scikit_learn-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0d6ae97234d5d7079dc0040990a6f7aeb97cb7fa7e8945f1999a429b23569e0a", size = 8513770, upload-time = "2025-12-10T07:08:03.251Z" }, + { url = "https://files.pythonhosted.org/packages/58/37/31b83b2594105f61a381fc74ca19e8780ee923be2d496fcd8d2e1147bd99/scikit_learn-1.8.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:edec98c5e7c128328124a029bceb09eda2d526997780fef8d65e9a69eead963e", size = 8044458, upload-time = "2025-12-10T07:08:05.336Z" }, + { url = "https://files.pythonhosted.org/packages/2d/5a/3f1caed8765f33eabb723596666da4ebbf43d11e96550fb18bdec42b467b/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74b66d8689d52ed04c271e1329f0c61635bcaf5b926db9b12d58914cdc01fe57", size = 8610341, upload-time = "2025-12-10T07:08:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/38/cf/06896db3f71c75902a8e9943b444a56e727418f6b4b4a90c98c934f51ed4/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8fdf95767f989b0cfedb85f7ed8ca215d4be728031f56ff5a519ee1e3276dc2e", size = 8900022, upload-time = "2025-12-10T07:08:09.862Z" }, + { url = "https://files.pythonhosted.org/packages/1c/f9/9b7563caf3ec8873e17a31401858efab6b39a882daf6c1bfa88879c0aa11/scikit_learn-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:2de443b9373b3b615aec1bb57f9baa6bb3a9bd093f1269ba95c17d870422b271", size = 7989409, upload-time = "2025-12-10T07:08:12.028Z" }, + { url = "https://files.pythonhosted.org/packages/49/bd/1f4001503650e72c4f6009ac0c4413cb17d2d601cef6f71c0453da2732fc/scikit_learn-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:eddde82a035681427cbedded4e6eff5e57fa59216c2e3e90b10b19ab1d0a65c3", size = 7619760, upload-time = "2025-12-10T07:08:13.688Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7d/a630359fc9dcc95496588c8d8e3245cc8fd81980251079bc09c70d41d951/scikit_learn-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7cc267b6108f0a1499a734167282c00c4ebf61328566b55ef262d48e9849c735", size = 8826045, upload-time = "2025-12-10T07:08:15.215Z" }, + { url = "https://files.pythonhosted.org/packages/cc/56/a0c86f6930cfcd1c7054a2bc417e26960bb88d32444fe7f71d5c2cfae891/scikit_learn-1.8.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:fe1c011a640a9f0791146011dfd3c7d9669785f9fed2b2a5f9e207536cf5c2fd", size = 8420324, upload-time = "2025-12-10T07:08:17.561Z" }, + { url = "https://files.pythonhosted.org/packages/46/1e/05962ea1cebc1cf3876667ecb14c283ef755bf409993c5946ade3b77e303/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72358cce49465d140cc4e7792015bb1f0296a9742d5622c67e31399b75468b9e", size = 8680651, upload-time = "2025-12-10T07:08:19.952Z" }, + { url = "https://files.pythonhosted.org/packages/fe/56/a85473cd75f200c9759e3a5f0bcab2d116c92a8a02ee08ccd73b870f8bb4/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:80832434a6cc114f5219211eec13dcbc16c2bac0e31ef64c6d346cde3cf054cb", size = 8925045, upload-time = "2025-12-10T07:08:22.11Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b7/64d8cfa896c64435ae57f4917a548d7ac7a44762ff9802f75a79b77cb633/scikit_learn-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ee787491dbfe082d9c3013f01f5991658b0f38aa8177e4cd4bf434c58f551702", size = 8507994, upload-time = "2025-12-10T07:08:23.943Z" }, + { url = "https://files.pythonhosted.org/packages/5e/37/e192ea709551799379958b4c4771ec507347027bb7c942662c7fbeba31cb/scikit_learn-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf97c10a3f5a7543f9b88cbf488d33d175e9146115a451ae34568597ba33dcde", size = 7869518, upload-time = "2025-12-10T07:08:25.71Z" }, + { url = "https://files.pythonhosted.org/packages/24/05/1af2c186174cc92dcab2233f327336058c077d38f6fe2aceb08e6ab4d509/scikit_learn-1.8.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c22a2da7a198c28dd1a6e1136f19c830beab7fdca5b3e5c8bba8394f8a5c45b3", size = 8528667, upload-time = "2025-12-10T07:08:27.541Z" }, + { url = "https://files.pythonhosted.org/packages/a8/25/01c0af38fe969473fb292bba9dc2b8f9b451f3112ff242c647fee3d0dfe7/scikit_learn-1.8.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:6b595b07a03069a2b1740dc08c2299993850ea81cce4fe19b2421e0c970de6b7", size = 8066524, upload-time = "2025-12-10T07:08:29.822Z" }, + { url = "https://files.pythonhosted.org/packages/be/ce/a0623350aa0b68647333940ee46fe45086c6060ec604874e38e9ab7d8e6c/scikit_learn-1.8.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:29ffc74089f3d5e87dfca4c2c8450f88bdc61b0fc6ed5d267f3988f19a1309f6", size = 8657133, upload-time = "2025-12-10T07:08:31.865Z" }, + { url = "https://files.pythonhosted.org/packages/b8/cb/861b41341d6f1245e6ca80b1c1a8c4dfce43255b03df034429089ca2a2c5/scikit_learn-1.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fb65db5d7531bccf3a4f6bec3462223bea71384e2cda41da0f10b7c292b9e7c4", size = 8923223, upload-time = "2025-12-10T07:08:34.166Z" }, + { url = "https://files.pythonhosted.org/packages/76/18/a8def8f91b18cd1ba6e05dbe02540168cb24d47e8dcf69e8d00b7da42a08/scikit_learn-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:56079a99c20d230e873ea40753102102734c5953366972a71d5cb39a32bc40c6", size = 8096518, upload-time = "2025-12-10T07:08:36.339Z" }, + { url = "https://files.pythonhosted.org/packages/d1/77/482076a678458307f0deb44e29891d6022617b2a64c840c725495bee343f/scikit_learn-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:3bad7565bc9cf37ce19a7c0d107742b320c1285df7aab1a6e2d28780df167242", size = 7754546, upload-time = "2025-12-10T07:08:38.128Z" }, + { url = "https://files.pythonhosted.org/packages/2d/d1/ef294ca754826daa043b2a104e59960abfab4cf653891037d19dd5b6f3cf/scikit_learn-1.8.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:4511be56637e46c25721e83d1a9cea9614e7badc7040c4d573d75fbe257d6fd7", size = 8848305, upload-time = "2025-12-10T07:08:41.013Z" }, + { url = "https://files.pythonhosted.org/packages/5b/e2/b1f8b05138ee813b8e1a4149f2f0d289547e60851fd1bb268886915adbda/scikit_learn-1.8.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:a69525355a641bf8ef136a7fa447672fb54fe8d60cab5538d9eb7c6438543fb9", size = 8432257, upload-time = "2025-12-10T07:08:42.873Z" }, + { url = "https://files.pythonhosted.org/packages/26/11/c32b2138a85dcb0c99f6afd13a70a951bfdff8a6ab42d8160522542fb647/scikit_learn-1.8.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c2656924ec73e5939c76ac4c8b026fc203b83d8900362eb2599d8aee80e4880f", size = 8678673, upload-time = "2025-12-10T07:08:45.362Z" }, + { url = "https://files.pythonhosted.org/packages/c7/57/51f2384575bdec454f4fe4e7a919d696c9ebce914590abf3e52d47607ab8/scikit_learn-1.8.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15fc3b5d19cc2be65404786857f2e13c70c83dd4782676dd6814e3b89dc8f5b9", size = 8922467, upload-time = "2025-12-10T07:08:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/35/4d/748c9e2872637a57981a04adc038dacaa16ba8ca887b23e34953f0b3f742/scikit_learn-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:00d6f1d66fbcf4eba6e356e1420d33cc06c70a45bb1363cd6f6a8e4ebbbdece2", size = 8774395, upload-time = "2025-12-10T07:08:49.337Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/d7b2ebe4704a5e50790ba089d5c2ae308ab6bb852719e6c3bd4f04c3a363/scikit_learn-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:f28dd15c6bb0b66ba09728cf09fd8736c304be29409bd8445a080c1280619e8c", size = 8002647, upload-time = "2025-12-10T07:08:51.601Z" }, +] + +[[package]] +name = "scipy" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/27/07ee1b57b65e92645f219b37148a7e7928b82e2b5dbeccecb4dff7c64f0b/scipy-1.17.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5e3c5c011904115f88a39308379c17f91546f77c1667cea98739fe0fccea804c", size = 31590199, upload-time = "2026-02-23T00:19:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ae/db19f8ab842e9b724bf5dbb7db29302a91f1e55bc4d04b1025d6d605a2c5/scipy-1.17.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:6fac755ca3d2c3edcb22f479fceaa241704111414831ddd3bc6056e18516892f", size = 28154001, upload-time = "2026-02-23T00:19:22.241Z" }, + { url = "https://files.pythonhosted.org/packages/5b/58/3ce96251560107b381cbd6e8413c483bbb1228a6b919fa8652b0d4090e7f/scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:7ff200bf9d24f2e4d5dc6ee8c3ac64d739d3a89e2326ba68aaf6c4a2b838fd7d", size = 20325719, upload-time = "2026-02-23T00:19:26.329Z" }, + { url = "https://files.pythonhosted.org/packages/b2/83/15087d945e0e4d48ce2377498abf5ad171ae013232ae31d06f336e64c999/scipy-1.17.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4b400bdc6f79fa02a4d86640310dde87a21fba0c979efff5248908c6f15fad1b", size = 22683595, upload-time = "2026-02-23T00:19:30.304Z" }, + { url = "https://files.pythonhosted.org/packages/b4/e0/e58fbde4a1a594c8be8114eb4aac1a55bcd6587047efc18a61eb1f5c0d30/scipy-1.17.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b64ca7d4aee0102a97f3ba22124052b4bd2152522355073580bf4845e2550b6", size = 32896429, upload-time = "2026-02-23T00:19:35.536Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5f/f17563f28ff03c7b6799c50d01d5d856a1d55f2676f537ca8d28c7f627cd/scipy-1.17.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:581b2264fc0aa555f3f435a5944da7504ea3a065d7029ad60e7c3d1ae09c5464", size = 35203952, upload-time = "2026-02-23T00:19:42.259Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a5/9afd17de24f657fdfe4df9a3f1ea049b39aef7c06000c13db1530d81ccca/scipy-1.17.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:beeda3d4ae615106d7094f7e7cef6218392e4465cc95d25f900bebabfded0950", size = 34979063, upload-time = "2026-02-23T00:19:47.547Z" }, + { url = "https://files.pythonhosted.org/packages/8b/13/88b1d2384b424bf7c924f2038c1c409f8d88bb2a8d49d097861dd64a57b2/scipy-1.17.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6609bc224e9568f65064cfa72edc0f24ee6655b47575954ec6339534b2798369", size = 37598449, upload-time = "2026-02-23T00:19:53.238Z" }, + { url = "https://files.pythonhosted.org/packages/35/e5/d6d0e51fc888f692a35134336866341c08655d92614f492c6860dc45bb2c/scipy-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:37425bc9175607b0268f493d79a292c39f9d001a357bebb6b88fdfaff13f6448", size = 36510943, upload-time = "2026-02-23T00:20:50.89Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fd/3be73c564e2a01e690e19cc618811540ba5354c67c8680dce3281123fb79/scipy-1.17.1-cp313-cp313-win_arm64.whl", hash = "sha256:5cf36e801231b6a2059bf354720274b7558746f3b1a4efb43fcf557ccd484a87", size = 24545621, upload-time = "2026-02-23T00:20:55.871Z" }, + { url = "https://files.pythonhosted.org/packages/6f/6b/17787db8b8114933a66f9dcc479a8272e4b4da75fe03b0c282f7b0ade8cd/scipy-1.17.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:d59c30000a16d8edc7e64152e30220bfbd724c9bbb08368c054e24c651314f0a", size = 31936708, upload-time = "2026-02-23T00:19:58.694Z" }, + { url = "https://files.pythonhosted.org/packages/38/2e/524405c2b6392765ab1e2b722a41d5da33dc5c7b7278184a8ad29b6cb206/scipy-1.17.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:010f4333c96c9bb1a4516269e33cb5917b08ef2166d5556ca2fd9f082a9e6ea0", size = 28570135, upload-time = "2026-02-23T00:20:03.934Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c3/5bd7199f4ea8556c0c8e39f04ccb014ac37d1468e6cfa6a95c6b3562b76e/scipy-1.17.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2ceb2d3e01c5f1d83c4189737a42d9cb2fc38a6eeed225e7515eef71ad301dce", size = 20741977, upload-time = "2026-02-23T00:20:07.935Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b8/8ccd9b766ad14c78386599708eb745f6b44f08400a5fd0ade7cf89b6fc93/scipy-1.17.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:844e165636711ef41f80b4103ed234181646b98a53c8f05da12ca5ca289134f6", size = 23029601, upload-time = "2026-02-23T00:20:12.161Z" }, + { url = "https://files.pythonhosted.org/packages/6d/a0/3cb6f4d2fb3e17428ad2880333cac878909ad1a89f678527b5328b93c1d4/scipy-1.17.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:158dd96d2207e21c966063e1635b1063cd7787b627b6f07305315dd73d9c679e", size = 33019667, upload-time = "2026-02-23T00:20:17.208Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c3/2d834a5ac7bf3a0c806ad1508efc02dda3c8c61472a56132d7894c312dea/scipy-1.17.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:74cbb80d93260fe2ffa334efa24cb8f2f0f622a9b9febf8b483c0b865bfb3475", size = 35264159, upload-time = "2026-02-23T00:20:23.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/77/d3ed4becfdbd217c52062fafe35a72388d1bd82c2d0ba5ca19d6fcc93e11/scipy-1.17.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dbc12c9f3d185f5c737d801da555fb74b3dcfa1a50b66a1a93e09190f41fab50", size = 35102771, upload-time = "2026-02-23T00:20:28.636Z" }, + { url = "https://files.pythonhosted.org/packages/bd/12/d19da97efde68ca1ee5538bb261d5d2c062f0c055575128f11a2730e3ac1/scipy-1.17.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94055a11dfebe37c656e70317e1996dc197e1a15bbcc351bcdd4610e128fe1ca", size = 37665910, upload-time = "2026-02-23T00:20:34.743Z" }, + { url = "https://files.pythonhosted.org/packages/06/1c/1172a88d507a4baaf72c5a09bb6c018fe2ae0ab622e5830b703a46cc9e44/scipy-1.17.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e30bdeaa5deed6bc27b4cc490823cd0347d7dae09119b8803ae576ea0ce52e4c", size = 36562980, upload-time = "2026-02-23T00:20:40.575Z" }, + { url = "https://files.pythonhosted.org/packages/70/b0/eb757336e5a76dfa7911f63252e3b7d1de00935d7705cf772db5b45ec238/scipy-1.17.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a720477885a9d2411f94a93d16f9d89bad0f28ca23c3f8daa521e2dcc3f44d49", size = 24856543, upload-time = "2026-02-23T00:20:45.313Z" }, + { url = "https://files.pythonhosted.org/packages/cf/83/333afb452af6f0fd70414dc04f898647ee1423979ce02efa75c3b0f2c28e/scipy-1.17.1-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:a48a72c77a310327f6a3a920092fa2b8fd03d7deaa60f093038f22d98e096717", size = 31584510, upload-time = "2026-02-23T00:21:01.015Z" }, + { url = "https://files.pythonhosted.org/packages/ed/a6/d05a85fd51daeb2e4ea71d102f15b34fedca8e931af02594193ae4fd25f7/scipy-1.17.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:45abad819184f07240d8a696117a7aacd39787af9e0b719d00285549ed19a1e9", size = 28170131, upload-time = "2026-02-23T00:21:05.888Z" }, + { url = "https://files.pythonhosted.org/packages/db/7b/8624a203326675d7746a254083a187398090a179335b2e4a20e2ddc46e83/scipy-1.17.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3fd1fcdab3ea951b610dc4cef356d416d5802991e7e32b5254828d342f7b7e0b", size = 20342032, upload-time = "2026-02-23T00:21:09.904Z" }, + { url = "https://files.pythonhosted.org/packages/c9/35/2c342897c00775d688d8ff3987aced3426858fd89d5a0e26e020b660b301/scipy-1.17.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:7bdf2da170b67fdf10bca777614b1c7d96ae3ca5794fd9587dce41eb2966e866", size = 22678766, upload-time = "2026-02-23T00:21:14.313Z" }, + { url = "https://files.pythonhosted.org/packages/ef/f2/7cdb8eb308a1a6ae1e19f945913c82c23c0c442a462a46480ce487fdc0ac/scipy-1.17.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:adb2642e060a6549c343603a3851ba76ef0b74cc8c079a9a58121c7ec9fe2350", size = 32957007, upload-time = "2026-02-23T00:21:19.663Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2e/7eea398450457ecb54e18e9d10110993fa65561c4f3add5e8eccd2b9cd41/scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eee2cfda04c00a857206a4330f0c5e3e56535494e30ca445eb19ec624ae75118", size = 35221333, upload-time = "2026-02-23T00:21:25.278Z" }, + { url = "https://files.pythonhosted.org/packages/d9/77/5b8509d03b77f093a0d52e606d3c4f79e8b06d1d38c441dacb1e26cacf46/scipy-1.17.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d2650c1fb97e184d12d8ba010493ee7b322864f7d3d00d3f9bb97d9c21de4068", size = 35042066, upload-time = "2026-02-23T00:21:31.358Z" }, + { url = "https://files.pythonhosted.org/packages/f9/df/18f80fb99df40b4070328d5ae5c596f2f00fffb50167e31439e932f29e7d/scipy-1.17.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:08b900519463543aa604a06bec02461558a6e1cef8fdbb8098f77a48a83c8118", size = 37612763, upload-time = "2026-02-23T00:21:37.247Z" }, + { url = "https://files.pythonhosted.org/packages/4b/39/f0e8ea762a764a9dc52aa7dabcfad51a354819de1f0d4652b6a1122424d6/scipy-1.17.1-cp314-cp314-win_amd64.whl", hash = "sha256:3877ac408e14da24a6196de0ddcace62092bfc12a83823e92e49e40747e52c19", size = 37290984, upload-time = "2026-02-23T00:22:35.023Z" }, + { url = "https://files.pythonhosted.org/packages/7c/56/fe201e3b0f93d1a8bcf75d3379affd228a63d7e2d80ab45467a74b494947/scipy-1.17.1-cp314-cp314-win_arm64.whl", hash = "sha256:f8885db0bc2bffa59d5c1b72fad7a6a92d3e80e7257f967dd81abb553a90d293", size = 25192877, upload-time = "2026-02-23T00:22:39.798Z" }, + { url = "https://files.pythonhosted.org/packages/96/ad/f8c414e121f82e02d76f310f16db9899c4fcde36710329502a6b2a3c0392/scipy-1.17.1-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:1cc682cea2ae55524432f3cdff9e9a3be743d52a7443d0cba9017c23c87ae2f6", size = 31949750, upload-time = "2026-02-23T00:21:42.289Z" }, + { url = "https://files.pythonhosted.org/packages/7c/b0/c741e8865d61b67c81e255f4f0a832846c064e426636cd7de84e74d209be/scipy-1.17.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:2040ad4d1795a0ae89bfc7e8429677f365d45aa9fd5e4587cf1ea737f927b4a1", size = 28585858, upload-time = "2026-02-23T00:21:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1b/3985219c6177866628fa7c2595bfd23f193ceebbe472c98a08824b9466ff/scipy-1.17.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:131f5aaea57602008f9822e2115029b55d4b5f7c070287699fe45c661d051e39", size = 20757723, upload-time = "2026-02-23T00:21:52.039Z" }, + { url = "https://files.pythonhosted.org/packages/c0/19/2a04aa25050d656d6f7b9e7b685cc83d6957fb101665bfd9369ca6534563/scipy-1.17.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9cdc1a2fcfd5c52cfb3045feb399f7b3ce822abdde3a193a6b9a60b3cb5854ca", size = 23043098, upload-time = "2026-02-23T00:21:56.185Z" }, + { url = "https://files.pythonhosted.org/packages/86/f1/3383beb9b5d0dbddd030335bf8a8b32d4317185efe495374f134d8be6cce/scipy-1.17.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e3dcd57ab780c741fde8dc68619de988b966db759a3c3152e8e9142c26295ad", size = 33030397, upload-time = "2026-02-23T00:22:01.404Z" }, + { url = "https://files.pythonhosted.org/packages/41/68/8f21e8a65a5a03f25a79165ec9d2b28c00e66dc80546cf5eb803aeeff35b/scipy-1.17.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a9956e4d4f4a301ebf6cde39850333a6b6110799d470dbbb1e25326ac447f52a", size = 35281163, upload-time = "2026-02-23T00:22:07.024Z" }, + { url = "https://files.pythonhosted.org/packages/84/8d/c8a5e19479554007a5632ed7529e665c315ae7492b4f946b0deb39870e39/scipy-1.17.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a4328d245944d09fd639771de275701ccadf5f781ba0ff092ad141e017eccda4", size = 35116291, upload-time = "2026-02-23T00:22:12.585Z" }, + { url = "https://files.pythonhosted.org/packages/52/52/e57eceff0e342a1f50e274264ed47497b59e6a4e3118808ee58ddda7b74a/scipy-1.17.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a77cbd07b940d326d39a1d1b37817e2ee4d79cb30e7338f3d0cddffae70fcaa2", size = 37682317, upload-time = "2026-02-23T00:22:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/11/2f/b29eafe4a3fbc3d6de9662b36e028d5f039e72d345e05c250e121a230dd4/scipy-1.17.1-cp314-cp314t-win_amd64.whl", hash = "sha256:eb092099205ef62cd1782b006658db09e2fed75bffcae7cc0d44052d8aa0f484", size = 37345327, upload-time = "2026-02-23T00:22:24.442Z" }, + { url = "https://files.pythonhosted.org/packages/07/39/338d9219c4e87f3e708f18857ecd24d22a0c3094752393319553096b98af/scipy-1.17.1-cp314-cp314t-win_arm64.whl", hash = "sha256:200e1050faffacc162be6a486a984a0497866ec54149a01270adc8a59b7c7d21", size = 25489165, upload-time = "2026-02-23T00:22:29.563Z" }, +] + +[[package]] +name = "send2trash" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c5/f0/184b4b5f8d00f2a92cf96eec8967a3d550b52cf94362dad1100df9e48d57/send2trash-2.1.0.tar.gz", hash = "sha256:1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459", size = 17255, upload-time = "2026-01-14T06:27:36.056Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/78/504fdd027da3b84ff1aecd9f6957e65f35134534ccc6da8628eb71e76d3f/send2trash-2.1.0-py3-none-any.whl", hash = "sha256:0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c", size = 17610, upload-time = "2026-01-14T06:27:35.218Z" }, +] + +[[package]] +name = "sentence-transformers" +version = "5.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, + { name = "numpy" }, + { name = "scikit-learn" }, + { name = "scipy" }, + { name = "torch" }, + { name = "tqdm" }, + { name = "transformers" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/26/448453925b6ce0c29d8b54327caa71ee4835511aef02070467402273079c/sentence_transformers-5.3.0.tar.gz", hash = "sha256:414a0a881f53a4df0e6cbace75f823bfcb6b94d674c42a384b498959b7c065e2", size = 403330, upload-time = "2026-03-12T14:53:40.778Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/9c/2fa7224058cad8df68d84bafee21716f30892cecc7ad1ad73bde61d23754/sentence_transformers-5.3.0-py3-none-any.whl", hash = "sha256:dca6b98db790274a68185d27a65801b58b4caf653a4e556b5f62827509347c7d", size = 512390, upload-time = "2026-03-12T14:53:39.035Z" }, +] + +[[package]] +name = "setuptools" +version = "82.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz", hash = "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", size = 1152316, upload-time = "2026-03-09T12:47:17.221Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl", hash = "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb", size = 1006223, upload-time = "2026-03-09T12:47:15.026Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627, upload-time = "2026-01-20T04:27:02.457Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" }, +] + +[[package]] +name = "sqlite-anyio" +version = "0.2.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/a3/7830c95b37f1268dbb47e559d1f1ae027f3a4c36b1f7fc1b2dc5de1c5073/sqlite_anyio-0.2.8.tar.gz", hash = "sha256:d68b51a18c01a7dfa9cedbc319871ce77ab3ed0822518fb32810bb465b52d761", size = 3271, upload-time = "2026-03-02T10:37:43.466Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/aa/182981b92659df83c3eb7d6f8fb0874984d72ad688fa4054cb96bc044bb0/sqlite_anyio-0.2.8-py3-none-any.whl", hash = "sha256:bbdfefb144aed2633d2618ee1508edd3abe67a00389379360949da4671640d86", size = 4041, upload-time = "2026-03-02T10:37:42.246Z" }, +] + +[[package]] +name = "sse-starlette" +version = "3.3.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "starlette" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/26/8c/f9290339ef6d79badbc010f067cd769d6601ec11a57d78569c683fb4dd87/sse_starlette-3.3.4.tar.gz", hash = "sha256:aaf92fc067af8a5427192895ac028e947b484ac01edbc3caf00e7e7137c7bef1", size = 32427, upload-time = "2026-03-29T09:00:23.307Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/7f/3de5402f39890ac5660b86bcf5c03f9d855dad5c4ed764866d7b592b46fd/sse_starlette-3.3.4-py3-none-any.whl", hash = "sha256:84bb06e58939a8b38d8341f1bc9792f06c2b53f48c608dd207582b664fc8f3c1", size = 14330, upload-time = "2026-03-29T09:00:21.846Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "starlette" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/81/69/17425771797c36cded50b7fe44e850315d039f28b15901ab44839e70b593/starlette-1.0.0.tar.gz", hash = "sha256:6a4beaf1f81bb472fd19ea9b918b50dc3a77a6f2e190a12954b25e6ed5eea149", size = 2655289, upload-time = "2026-03-22T18:29:46.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/c9/584bc9651441b4ba60cc4d557d8a547b5aff901af35bda3a4ee30c819b82/starlette-1.0.0-py3-none-any.whl", hash = "sha256:d3ec55e0bb321692d275455ddfd3df75fff145d009685eb40dc91fc66b03d38b", size = 72651, upload-time = "2026-03-22T18:29:45.111Z" }, +] + +[[package]] +name = "sympy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mpmath" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, +] + +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tokenizers" +version = "0.22.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/73/6f/f80cfef4a312e1fb34baf7d85c72d4411afde10978d4657f8cdd811d3ccc/tokenizers-0.22.2.tar.gz", hash = "sha256:473b83b915e547aa366d1eee11806deaf419e17be16310ac0a14077f1e28f917", size = 372115, upload-time = "2026-01-05T10:45:15.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/97/5dbfabf04c7e348e655e907ed27913e03db0923abb5dfdd120d7b25630e1/tokenizers-0.22.2-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:544dd704ae7238755d790de45ba8da072e9af3eea688f698b137915ae959281c", size = 3100275, upload-time = "2026-01-05T10:41:02.158Z" }, + { url = "https://files.pythonhosted.org/packages/2e/47/174dca0502ef88b28f1c9e06b73ce33500eedfac7a7692108aec220464e7/tokenizers-0.22.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:1e418a55456beedca4621dbab65a318981467a2b188e982a23e117f115ce5001", size = 2981472, upload-time = "2026-01-05T10:41:00.276Z" }, + { url = "https://files.pythonhosted.org/packages/d6/84/7990e799f1309a8b87af6b948f31edaa12a3ed22d11b352eaf4f4b2e5753/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249487018adec45d6e3554c71d46eb39fa8ea67156c640f7513eb26f318cec7", size = 3290736, upload-time = "2026-01-05T10:40:32.165Z" }, + { url = "https://files.pythonhosted.org/packages/78/59/09d0d9ba94dcd5f4f1368d4858d24546b4bdc0231c2354aa31d6199f0399/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25b85325d0815e86e0bac263506dd114578953b7b53d7de09a6485e4a160a7dd", size = 3168835, upload-time = "2026-01-05T10:40:38.847Z" }, + { url = "https://files.pythonhosted.org/packages/47/50/b3ebb4243e7160bda8d34b731e54dd8ab8b133e50775872e7a434e524c28/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfb88f22a209ff7b40a576d5324bf8286b519d7358663db21d6246fb17eea2d5", size = 3521673, upload-time = "2026-01-05T10:40:56.614Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fa/89f4cb9e08df770b57adb96f8cbb7e22695a4cb6c2bd5f0c4f0ebcf33b66/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c774b1276f71e1ef716e5486f21e76333464f47bece56bbd554485982a9e03e", size = 3724818, upload-time = "2026-01-05T10:40:44.507Z" }, + { url = "https://files.pythonhosted.org/packages/64/04/ca2363f0bfbe3b3d36e95bf67e56a4c88c8e3362b658e616d1ac185d47f2/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df6c4265b289083bf710dff49bc51ef252f9d5be33a45ee2bed151114a56207b", size = 3379195, upload-time = "2026-01-05T10:40:51.139Z" }, + { url = "https://files.pythonhosted.org/packages/2e/76/932be4b50ef6ccedf9d3c6639b056a967a86258c6d9200643f01269211ca/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:369cc9fc8cc10cb24143873a0d95438bb8ee257bb80c71989e3ee290e8d72c67", size = 3274982, upload-time = "2026-01-05T10:40:58.331Z" }, + { url = "https://files.pythonhosted.org/packages/1d/28/5f9f5a4cc211b69e89420980e483831bcc29dade307955cc9dc858a40f01/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:29c30b83d8dcd061078b05ae0cb94d3c710555fbb44861139f9f83dcca3dc3e4", size = 9478245, upload-time = "2026-01-05T10:41:04.053Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fb/66e2da4704d6aadebf8cb39f1d6d1957df667ab24cff2326b77cda0dcb85/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:37ae80a28c1d3265bb1f22464c856bd23c02a05bb211e56d0c5301a435be6c1a", size = 9560069, upload-time = "2026-01-05T10:45:10.673Z" }, + { url = "https://files.pythonhosted.org/packages/16/04/fed398b05caa87ce9b1a1bb5166645e38196081b225059a6edaff6440fac/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:791135ee325f2336f498590eb2f11dc5c295232f288e75c99a36c5dbce63088a", size = 9899263, upload-time = "2026-01-05T10:45:12.559Z" }, + { url = "https://files.pythonhosted.org/packages/05/a1/d62dfe7376beaaf1394917e0f8e93ee5f67fea8fcf4107501db35996586b/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38337540fbbddff8e999d59970f3c6f35a82de10053206a7562f1ea02d046fa5", size = 10033429, upload-time = "2026-01-05T10:45:14.333Z" }, + { url = "https://files.pythonhosted.org/packages/fd/18/a545c4ea42af3df6effd7d13d250ba77a0a86fb20393143bbb9a92e434d4/tokenizers-0.22.2-cp39-abi3-win32.whl", hash = "sha256:a6bf3f88c554a2b653af81f3204491c818ae2ac6fbc09e76ef4773351292bc92", size = 2502363, upload-time = "2026-01-05T10:45:20.593Z" }, + { url = "https://files.pythonhosted.org/packages/65/71/0670843133a43d43070abeb1949abfdef12a86d490bea9cd9e18e37c5ff7/tokenizers-0.22.2-cp39-abi3-win_amd64.whl", hash = "sha256:c9ea31edff2968b44a88f97d784c2f16dc0729b8b143ed004699ebca91f05c48", size = 2747786, upload-time = "2026-01-05T10:45:18.411Z" }, + { url = "https://files.pythonhosted.org/packages/72/f4/0de46cfa12cdcbcd464cc59fde36912af405696f687e53a091fb432f694c/tokenizers-0.22.2-cp39-abi3-win_arm64.whl", hash = "sha256:9ce725d22864a1e965217204946f830c37876eee3b2ba6fc6255e8e903d5fcbc", size = 2612133, upload-time = "2026-01-05T10:45:17.232Z" }, +] + +[[package]] +name = "torch" +version = "2.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cuda-bindings", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "filelock" }, + { name = "fsspec" }, + { name = "jinja2" }, + { name = "networkx" }, + { name = "nvidia-cublas-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-cupti-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-nvrtc-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-runtime-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cudnn-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cufft-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cufile-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-curand-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusolver-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusparse-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusparselt-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nccl-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nvjitlink-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nvshmem-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nvtx-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "setuptools" }, + { name = "sympy" }, + { name = "triton", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "typing-extensions" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/23/2c9fe0c9c27f7f6cb865abcea8a4568f29f00acaeadfc6a37f6801f84cb4/torch-2.10.0-2-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:e521c9f030a3774ed770a9c011751fb47c4d12029a3d6522116e48431f2ff89e", size = 79498254, upload-time = "2026-02-10T21:44:44.095Z" }, + { url = "https://files.pythonhosted.org/packages/ab/c6/4dfe238342ffdcec5aef1c96c457548762d33c40b45a1ab7033bb26d2ff2/torch-2.10.0-3-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:80b1b5bfe38eb0e9f5ff09f206dcac0a87aadd084230d4a36eea5ec5232c115b", size = 915627275, upload-time = "2026-03-11T14:16:11.325Z" }, + { url = "https://files.pythonhosted.org/packages/d8/f0/72bf18847f58f877a6a8acf60614b14935e2f156d942483af1ffc081aea0/torch-2.10.0-3-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:46b3574d93a2a8134b3f5475cfb98e2eb46771794c57015f6ad1fb795ec25e49", size = 915523474, upload-time = "2026-03-11T14:17:44.422Z" }, + { url = "https://files.pythonhosted.org/packages/f4/39/590742415c3030551944edc2ddc273ea1fdfe8ffb2780992e824f1ebee98/torch-2.10.0-3-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:b1d5e2aba4eb7f8e87fbe04f86442887f9167a35f092afe4c237dfcaaef6e328", size = 915632474, upload-time = "2026-03-11T14:15:13.666Z" }, + { url = "https://files.pythonhosted.org/packages/b6/8e/34949484f764dde5b222b7fe3fede43e4a6f0da9d7f8c370bb617d629ee2/torch-2.10.0-3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:0228d20b06701c05a8f978357f657817a4a63984b0c90745def81c18aedfa591", size = 915523882, upload-time = "2026-03-11T14:14:46.311Z" }, + { url = "https://files.pythonhosted.org/packages/c9/6f/f2e91e34e3fcba2e3fc8d8f74e7d6c22e74e480bbd1db7bc8900fdf3e95c/torch-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5c4d217b14741e40776dd7074d9006fd28b8a97ef5654db959d8635b2fe5f29b", size = 146004247, upload-time = "2026-01-21T16:24:29.335Z" }, + { url = "https://files.pythonhosted.org/packages/98/fb/5160261aeb5e1ee12ee95fe599d0541f7c976c3701d607d8fc29e623229f/torch-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6b71486353fce0f9714ca0c9ef1c850a2ae766b409808acd58e9678a3edb7738", size = 915716445, upload-time = "2026-01-21T16:22:45.353Z" }, + { url = "https://files.pythonhosted.org/packages/6a/16/502fb1b41e6d868e8deb5b0e3ae926bbb36dab8ceb0d1b769b266ad7b0c3/torch-2.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c2ee399c644dc92ef7bc0d4f7e74b5360c37cdbe7c5ba11318dda49ffac2bc57", size = 113757050, upload-time = "2026-01-21T16:24:19.204Z" }, + { url = "https://files.pythonhosted.org/packages/1a/0b/39929b148f4824bc3ad6f9f72a29d4ad865bcf7ebfc2fa67584773e083d2/torch-2.10.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:3202429f58309b9fa96a614885eace4b7995729f44beb54d3e4a47773649d382", size = 79851305, upload-time = "2026-01-21T16:24:09.209Z" }, + { url = "https://files.pythonhosted.org/packages/d8/14/21fbce63bc452381ba5f74a2c0a959fdf5ad5803ccc0c654e752e0dbe91a/torch-2.10.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:aae1b29cd68e50a9397f5ee897b9c24742e9e306f88a807a27d617f07adb3bd8", size = 146005472, upload-time = "2026-01-21T16:22:29.022Z" }, + { url = "https://files.pythonhosted.org/packages/54/fd/b207d1c525cb570ef47f3e9f836b154685011fce11a2f444ba8a4084d042/torch-2.10.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:6021db85958db2f07ec94e1bc77212721ba4920c12a18dc552d2ae36a3eb163f", size = 915612644, upload-time = "2026-01-21T16:21:47.019Z" }, + { url = "https://files.pythonhosted.org/packages/36/53/0197f868c75f1050b199fe58f9bf3bf3aecac9b4e85cc9c964383d745403/torch-2.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff43db38af76fda183156153983c9a096fc4c78d0cd1e07b14a2314c7f01c2c8", size = 113997015, upload-time = "2026-01-21T16:23:00.767Z" }, + { url = "https://files.pythonhosted.org/packages/0e/13/e76b4d9c160e89fff48bf16b449ea324bda84745d2ab30294c37c2434c0d/torch-2.10.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:cdf2a523d699b70d613243211ecaac14fe9c5df8a0b0a9c02add60fb2a413e0f", size = 79498248, upload-time = "2026-01-21T16:23:09.315Z" }, + { url = "https://files.pythonhosted.org/packages/4f/93/716b5ac0155f1be70ed81bacc21269c3ece8dba0c249b9994094110bfc51/torch-2.10.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:bf0d9ff448b0218e0433aeb198805192346c4fd659c852370d5cc245f602a06a", size = 79464992, upload-time = "2026-01-21T16:23:05.162Z" }, + { url = "https://files.pythonhosted.org/packages/69/2b/51e663ff190c9d16d4a8271203b71bc73a16aa7619b9f271a69b9d4a936b/torch-2.10.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:233aed0659a2503b831d8a67e9da66a62c996204c0bba4f4c442ccc0c68a3f60", size = 146018567, upload-time = "2026-01-21T16:22:23.393Z" }, + { url = "https://files.pythonhosted.org/packages/5e/cd/4b95ef7f293b927c283db0b136c42be91c8ec6845c44de0238c8c23bdc80/torch-2.10.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:682497e16bdfa6efeec8cde66531bc8d1fbbbb4d8788ec6173c089ed3cc2bfe5", size = 915721646, upload-time = "2026-01-21T16:21:16.983Z" }, + { url = "https://files.pythonhosted.org/packages/56/97/078a007208f8056d88ae43198833469e61a0a355abc0b070edd2c085eb9a/torch-2.10.0-cp314-cp314-win_amd64.whl", hash = "sha256:6528f13d2a8593a1a412ea07a99812495bec07e9224c28b2a25c0a30c7da025c", size = 113752373, upload-time = "2026-01-21T16:22:13.471Z" }, + { url = "https://files.pythonhosted.org/packages/d8/94/71994e7d0d5238393df9732fdab607e37e2b56d26a746cb59fdb415f8966/torch-2.10.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:f5ab4ba32383061be0fb74bda772d470140a12c1c3b58a0cfbf3dae94d164c28", size = 79850324, upload-time = "2026-01-21T16:22:09.494Z" }, + { url = "https://files.pythonhosted.org/packages/e2/65/1a05346b418ea8ccd10360eef4b3e0ce688fba544e76edec26913a8d0ee0/torch-2.10.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:716b01a176c2a5659c98f6b01bf868244abdd896526f1c692712ab36dbaf9b63", size = 146006482, upload-time = "2026-01-21T16:22:18.42Z" }, + { url = "https://files.pythonhosted.org/packages/1d/b9/5f6f9d9e859fc3235f60578fa64f52c9c6e9b4327f0fe0defb6de5c0de31/torch-2.10.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:d8f5912ba938233f86361e891789595ff35ca4b4e2ac8fe3670895e5976731d6", size = 915613050, upload-time = "2026-01-21T16:20:49.035Z" }, + { url = "https://files.pythonhosted.org/packages/66/4d/35352043ee0eaffdeff154fad67cd4a31dbed7ff8e3be1cc4549717d6d51/torch-2.10.0-cp314-cp314t-win_amd64.whl", hash = "sha256:71283a373f0ee2c89e0f0d5f446039bdabe8dbc3c9ccf35f0f784908b0acd185", size = 113995816, upload-time = "2026-01-21T16:22:05.312Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz", hash = "sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9", size = 516006, upload-time = "2026-03-10T21:31:02.067Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa", size = 445983, upload-time = "2026-03-10T21:30:44.28Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521", size = 444246, upload-time = "2026-03-10T21:30:46.571Z" }, + { url = "https://files.pythonhosted.org/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5", size = 447229, upload-time = "2026-03-10T21:30:48.273Z" }, + { url = "https://files.pythonhosted.org/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07", size = 448192, upload-time = "2026-03-10T21:30:51.22Z" }, + { url = "https://files.pythonhosted.org/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e", size = 448039, upload-time = "2026-03-10T21:30:53.52Z" }, + { url = "https://files.pythonhosted.org/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca", size = 447445, upload-time = "2026-03-10T21:30:55.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/76/4921c00511f88af86a33de770d64141170f1cfd9c00311aea689949e274e/tornado-6.5.5-cp39-abi3-win32.whl", hash = "sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7", size = 448582, upload-time = "2026-03-10T21:30:57.142Z" }, + { url = "https://files.pythonhosted.org/packages/2c/23/f6c6112a04d28eed765e374435fb1a9198f73e1ec4b4024184f21faeb1ad/tornado-6.5.5-cp39-abi3-win_amd64.whl", hash = "sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b", size = 448990, upload-time = "2026-03-10T21:30:58.857Z" }, + { url = "https://files.pythonhosted.org/packages/b7/c8/876602cbc96469911f0939f703453c1157b0c826ecb05bdd32e023397d4e/tornado-6.5.5-cp39-abi3-win_arm64.whl", hash = "sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6", size = 448016, upload-time = "2026-03-10T21:31:00.43Z" }, +] + +[[package]] +name = "tqdm" +version = "4.67.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", hash = "sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", size = 169598, upload-time = "2026-02-03T17:35:53.048Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", size = 78374, upload-time = "2026-02-03T17:35:50.982Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "transformers" +version = "5.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "regex" }, + { name = "safetensors" }, + { name = "tokenizers" }, + { name = "tqdm" }, + { name = "typer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/4c/42a8e1c7bbe668d8e073941ec3205263afb1cd02683fa5a8a75e615fdfbe/transformers-5.4.0.tar.gz", hash = "sha256:cb34ca89dce345ae3224b290346b9c0fa9694b951d54f3ed16334a4b1bfe3d04", size = 8152836, upload-time = "2026-03-27T00:24:24.692Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/a0/0a87883e564e364baab32adcacb4bec2e200b28a568423c8cf7fde316461/transformers-5.4.0-py3-none-any.whl", hash = "sha256:9fbe50602d2a4e6d0aa8a35a605433dfac72d595ee2192eae192590a6cc2df86", size = 10105556, upload-time = "2026-03-27T00:24:21.735Z" }, +] + +[[package]] +name = "triton" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/0b/37d991d8c130ce81a8728ae3c25b6e60935838e9be1b58791f5997b24a54/triton-3.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10c7f76c6e72d2ef08df639e3d0d30729112f47a56b0c81672edc05ee5116ac9", size = 188289450, upload-time = "2026-01-20T16:00:49.136Z" }, + { url = "https://files.pythonhosted.org/packages/35/f8/9c66bfc55361ec6d0e4040a0337fb5924ceb23de4648b8a81ae9d33b2b38/triton-3.6.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d002e07d7180fd65e622134fbd980c9a3d4211fb85224b56a0a0efbd422ab72f", size = 188400296, upload-time = "2026-01-20T16:00:56.042Z" }, + { url = "https://files.pythonhosted.org/packages/df/3d/9e7eee57b37c80cec63322c0231bb6da3cfe535a91d7a4d64896fcb89357/triton-3.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a17a5d5985f0ac494ed8a8e54568f092f7057ef60e1b0fa09d3fd1512064e803", size = 188273063, upload-time = "2026-01-20T16:01:07.278Z" }, + { url = "https://files.pythonhosted.org/packages/f6/56/6113c23ff46c00aae423333eb58b3e60bdfe9179d542781955a5e1514cb3/triton-3.6.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:46bd1c1af4b6704e554cad2eeb3b0a6513a980d470ccfa63189737340c7746a7", size = 188397994, upload-time = "2026-01-20T16:01:14.236Z" }, +] + +[[package]] +name = "typer" +version = "0.24.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-doc" }, + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/24/cb09efec5cc954f7f9b930bf8279447d24618bb6758d4f6adf2574c41780/typer-0.24.1.tar.gz", hash = "sha256:e39b4732d65fbdcde189ae76cf7cd48aeae72919dea1fdfc16593be016256b45", size = 118613, upload-time = "2026-02-21T16:54:40.609Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/91/48db081e7a63bb37284f9fbcefda7c44c277b18b0e13fbc36ea2335b71e6/typer-0.24.1-py3-none-any.whl", hash = "sha256:112c1f0ce578bfb4cab9ffdabc68f031416ebcc216536611ba21f04e9aa84c9e", size = 56085, upload-time = "2026-02-21T16:54:41.616Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", size = 196772, upload-time = "2025-12-13T17:45:35.667Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521, upload-time = "2025-12-13T17:45:33.889Z" }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.42.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click", marker = "sys_platform != 'emscripten'" }, + { name = "h11", marker = "sys_platform != 'emscripten'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e3/ad/4a96c425be6fb67e0621e62d86c402b4a17ab2be7f7c055d9bd2f638b9e2/uvicorn-0.42.0.tar.gz", hash = "sha256:9b1f190ce15a2dd22e7758651d9b6d12df09a13d51ba5bf4fc33c383a48e1775", size = 85393, upload-time = "2026-03-16T06:19:50.077Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/89/f8827ccff89c1586027a105e5630ff6139a64da2515e24dafe860bd9ae4d/uvicorn-0.42.0-py3-none-any.whl", hash = "sha256:96c30f5c7abe6f74ae8900a70e92b85ad6613b745d4879eb9b16ccad15645359", size = 68830, upload-time = "2026-03-16T06:19:48.325Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz", hash = "sha256:cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159", size = 159684, upload-time = "2026-02-06T19:19:40.919Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl", hash = "sha256:1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad", size = 94189, upload-time = "2026-02-06T19:19:39.646Z" }, +] + +[[package]] +name = "webcolors" +version = "25.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/7a/eb316761ec35664ea5174709a68bbd3389de60d4a1ebab8808bfc264ed67/webcolors-25.10.0.tar.gz", hash = "sha256:62abae86504f66d0f6364c2a8520de4a0c47b80c03fc3a5f1815fedbef7c19bf", size = 53491, upload-time = "2025-10-31T07:51:03.977Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/cc/e097523dd85c9cf5d354f78310927f1656c422bd7b2613b2db3e3f9a0f2c/webcolors-25.10.0-py3-none-any.whl", hash = "sha256:032c727334856fc0b968f63daa252a1ac93d33db2f5267756623c210e57a4f1d", size = 14905, upload-time = "2025-10-31T07:51:01.778Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "websocket-client" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/41/aa4bf9664e4cda14c3b39865b12251e8e7d239f4cd0e3cc1b6c2ccde25c1/websocket_client-1.9.0.tar.gz", hash = "sha256:9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98", size = 70576, upload-time = "2025-10-07T21:16:36.495Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/db/b10e48aa8fff7407e67470363eac595018441cf32d5e1001567a7aeba5d2/websocket_client-1.9.0-py3-none-any.whl", hash = "sha256:af248a825037ef591efbf6ed20cc5faa03d3b47b9e5a2230a529eeee1c1fc3ef", size = 82616, upload-time = "2025-10-07T21:16:34.951Z" }, +] + +[[package]] +name = "websockets" +version = "16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz", hash = "sha256:5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5", size = 179346, upload-time = "2026-01-10T09:23:47.181Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/9c/baa8456050d1c1b08dd0ec7346026668cbc6f145ab4e314d707bb845bf0d/websockets-16.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:878b336ac47938b474c8f982ac2f7266a540adc3fa4ad74ae96fea9823a02cc9", size = 177364, upload-time = "2026-01-10T09:22:59.333Z" }, + { url = "https://files.pythonhosted.org/packages/7e/0c/8811fc53e9bcff68fe7de2bcbe75116a8d959ac699a3200f4847a8925210/websockets-16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:52a0fec0e6c8d9a784c2c78276a48a2bdf099e4ccc2a4cad53b27718dbfd0230", size = 175039, upload-time = "2026-01-10T09:23:01.171Z" }, + { url = "https://files.pythonhosted.org/packages/aa/82/39a5f910cb99ec0b59e482971238c845af9220d3ab9fa76dd9162cda9d62/websockets-16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e6578ed5b6981005df1860a56e3617f14a6c307e6a71b4fff8c48fdc50f3ed2c", size = 175323, upload-time = "2026-01-10T09:23:02.341Z" }, + { url = "https://files.pythonhosted.org/packages/bd/28/0a25ee5342eb5d5f297d992a77e56892ecb65e7854c7898fb7d35e9b33bd/websockets-16.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:95724e638f0f9c350bb1c2b0a7ad0e83d9cc0c9259f3ea94e40d7b02a2179ae5", size = 184975, upload-time = "2026-01-10T09:23:03.756Z" }, + { url = "https://files.pythonhosted.org/packages/f9/66/27ea52741752f5107c2e41fda05e8395a682a1e11c4e592a809a90c6a506/websockets-16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0204dc62a89dc9d50d682412c10b3542d748260d743500a85c13cd1ee4bde82", size = 186203, upload-time = "2026-01-10T09:23:05.01Z" }, + { url = "https://files.pythonhosted.org/packages/37/e5/8e32857371406a757816a2b471939d51c463509be73fa538216ea52b792a/websockets-16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:52ac480f44d32970d66763115edea932f1c5b1312de36df06d6b219f6741eed8", size = 185653, upload-time = "2026-01-10T09:23:06.301Z" }, + { url = "https://files.pythonhosted.org/packages/9b/67/f926bac29882894669368dc73f4da900fcdf47955d0a0185d60103df5737/websockets-16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6e5a82b677f8f6f59e8dfc34ec06ca6b5b48bc4fcda346acd093694cc2c24d8f", size = 184920, upload-time = "2026-01-10T09:23:07.492Z" }, + { url = "https://files.pythonhosted.org/packages/3c/a1/3d6ccdcd125b0a42a311bcd15a7f705d688f73b2a22d8cf1c0875d35d34a/websockets-16.0-cp313-cp313-win32.whl", hash = "sha256:abf050a199613f64c886ea10f38b47770a65154dc37181bfaff70c160f45315a", size = 178255, upload-time = "2026-01-10T09:23:09.245Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ae/90366304d7c2ce80f9b826096a9e9048b4bb760e44d3b873bb272cba696b/websockets-16.0-cp313-cp313-win_amd64.whl", hash = "sha256:3425ac5cf448801335d6fdc7ae1eb22072055417a96cc6b31b3861f455fbc156", size = 178689, upload-time = "2026-01-10T09:23:10.483Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1d/e88022630271f5bd349ed82417136281931e558d628dd52c4d8621b4a0b2/websockets-16.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8cc451a50f2aee53042ac52d2d053d08bf89bcb31ae799cb4487587661c038a0", size = 177406, upload-time = "2026-01-10T09:23:12.178Z" }, + { url = "https://files.pythonhosted.org/packages/f2/78/e63be1bf0724eeb4616efb1ae1c9044f7c3953b7957799abb5915bffd38e/websockets-16.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:daa3b6ff70a9241cf6c7fc9e949d41232d9d7d26fd3522b1ad2b4d62487e9904", size = 175085, upload-time = "2026-01-10T09:23:13.511Z" }, + { url = "https://files.pythonhosted.org/packages/bb/f4/d3c9220d818ee955ae390cf319a7c7a467beceb24f05ee7aaaa2414345ba/websockets-16.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fd3cb4adb94a2a6e2b7c0d8d05cb94e6f1c81a0cf9dc2694fb65c7e8d94c42e4", size = 175328, upload-time = "2026-01-10T09:23:14.727Z" }, + { url = "https://files.pythonhosted.org/packages/63/bc/d3e208028de777087e6fb2b122051a6ff7bbcca0d6df9d9c2bf1dd869ae9/websockets-16.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:781caf5e8eee67f663126490c2f96f40906594cb86b408a703630f95550a8c3e", size = 185044, upload-time = "2026-01-10T09:23:15.939Z" }, + { url = "https://files.pythonhosted.org/packages/ad/6e/9a0927ac24bd33a0a9af834d89e0abc7cfd8e13bed17a86407a66773cc0e/websockets-16.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:caab51a72c51973ca21fa8a18bd8165e1a0183f1ac7066a182ff27107b71e1a4", size = 186279, upload-time = "2026-01-10T09:23:17.148Z" }, + { url = "https://files.pythonhosted.org/packages/b9/ca/bf1c68440d7a868180e11be653c85959502efd3a709323230314fda6e0b3/websockets-16.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19c4dc84098e523fd63711e563077d39e90ec6702aff4b5d9e344a60cb3c0cb1", size = 185711, upload-time = "2026-01-10T09:23:18.372Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f8/fdc34643a989561f217bb477cbc47a3a07212cbda91c0e4389c43c296ebf/websockets-16.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a5e18a238a2b2249c9a9235466b90e96ae4795672598a58772dd806edc7ac6d3", size = 184982, upload-time = "2026-01-10T09:23:19.652Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d1/574fa27e233764dbac9c52730d63fcf2823b16f0856b3329fc6268d6ae4f/websockets-16.0-cp314-cp314-win32.whl", hash = "sha256:a069d734c4a043182729edd3e9f247c3b2a4035415a9172fd0f1b71658a320a8", size = 177915, upload-time = "2026-01-10T09:23:21.458Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f1/ae6b937bf3126b5134ce1f482365fde31a357c784ac51852978768b5eff4/websockets-16.0-cp314-cp314-win_amd64.whl", hash = "sha256:c0ee0e63f23914732c6d7e0cce24915c48f3f1512ec1d079ed01fc629dab269d", size = 178381, upload-time = "2026-01-10T09:23:22.715Z" }, + { url = "https://files.pythonhosted.org/packages/06/9b/f791d1db48403e1f0a27577a6beb37afae94254a8c6f08be4a23e4930bc0/websockets-16.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a35539cacc3febb22b8f4d4a99cc79b104226a756aa7400adc722e83b0d03244", size = 177737, upload-time = "2026-01-10T09:23:24.523Z" }, + { url = "https://files.pythonhosted.org/packages/bd/40/53ad02341fa33b3ce489023f635367a4ac98b73570102ad2cdd770dacc9a/websockets-16.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b784ca5de850f4ce93ec85d3269d24d4c82f22b7212023c974c401d4980ebc5e", size = 175268, upload-time = "2026-01-10T09:23:25.781Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/6158d4e459b984f949dcbbb0c5d270154c7618e11c01029b9bbd1bb4c4f9/websockets-16.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:569d01a4e7fba956c5ae4fc988f0d4e187900f5497ce46339c996dbf24f17641", size = 175486, upload-time = "2026-01-10T09:23:27.033Z" }, + { url = "https://files.pythonhosted.org/packages/e5/2d/7583b30208b639c8090206f95073646c2c9ffd66f44df967981a64f849ad/websockets-16.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50f23cdd8343b984957e4077839841146f67a3d31ab0d00e6b824e74c5b2f6e8", size = 185331, upload-time = "2026-01-10T09:23:28.259Z" }, + { url = "https://files.pythonhosted.org/packages/45/b0/cce3784eb519b7b5ad680d14b9673a31ab8dcb7aad8b64d81709d2430aa8/websockets-16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:152284a83a00c59b759697b7f9e9cddf4e3c7861dd0d964b472b70f78f89e80e", size = 186501, upload-time = "2026-01-10T09:23:29.449Z" }, + { url = "https://files.pythonhosted.org/packages/19/60/b8ebe4c7e89fb5f6cdf080623c9d92789a53636950f7abacfc33fe2b3135/websockets-16.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bc59589ab64b0022385f429b94697348a6a234e8ce22544e3681b2e9331b5944", size = 186062, upload-time = "2026-01-10T09:23:31.368Z" }, + { url = "https://files.pythonhosted.org/packages/88/a8/a080593f89b0138b6cba1b28f8df5673b5506f72879322288b031337c0b8/websockets-16.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32da954ffa2814258030e5a57bc73a3635463238e797c7375dc8091327434206", size = 185356, upload-time = "2026-01-10T09:23:32.627Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b6/b9afed2afadddaf5ebb2afa801abf4b0868f42f8539bfe4b071b5266c9fe/websockets-16.0-cp314-cp314t-win32.whl", hash = "sha256:5a4b4cc550cb665dd8a47f868c8d04c8230f857363ad3c9caf7a0c3bf8c61ca6", size = 178085, upload-time = "2026-01-10T09:23:33.816Z" }, + { url = "https://files.pythonhosted.org/packages/9f/3e/28135a24e384493fa804216b79a6a6759a38cc4ff59118787b9fb693df93/websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd", size = 178531, upload-time = "2026-01-10T09:23:35.016Z" }, + { url = "https://files.pythonhosted.org/packages/6f/28/258ebab549c2bf3e64d2b0217b973467394a9cea8c42f70418ca2c5d0d2e/websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec", size = 171598, upload-time = "2026-01-10T09:23:45.395Z" }, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/f4/c67440c7fb409a71b7404b7aefcd7569a9c0d6bd071299bf4198ae7a5d95/widgetsnbextension-4.0.15.tar.gz", hash = "sha256:de8610639996f1567952d763a5a41af8af37f2575a41f9852a38f947eb82a3b9", size = 1097402, upload-time = "2025-11-01T21:15:55.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/0e/fa3b193432cfc60c93b42f3be03365f5f909d2b3ea410295cf36df739e31/widgetsnbextension-4.0.15-py3-none-any.whl", hash = "sha256:8156704e4346a571d9ce73b84bee86a29906c9abfd7223b7228a28899ccf3366", size = 2196503, upload-time = "2025-11-01T21:15:53.565Z" }, +]