From 326ea249554aca559f37d79fe77c2cf1aa62952d Mon Sep 17 00:00:00 2001 From: Vineeth Voruganti <13438633+VVoruganti@users.noreply.github.com> Date: Thu, 26 Jun 2025 14:57:09 -0400 Subject: [PATCH] Peer Paradigm Documentation (#133) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * new layout boilerplate * feat: new sdk documentation * feat: features documentation * fix (docs): Update API Reference * chore (mintlify): Upgrade mintlify * fix (docs): titles * feat: glossary of terms * feat (docs): Add Contextual Menu * chore: clean up architecture.mdx * chore: remove old/unused files, clean up architecture/intro * fix: use `id` over `name` in curl requests * chore: nits on faq * chore: refactor mermaid * feat: quickstart * chore: quickstart doc casing + info about dialectic response * chore: update discord spellbook * chore: update streaming-response, dialectic-endpoint, remove old simple-memory * chore: ts everywhere, update guided tutorial * add get context, search spellbooks * chore: rm faq page * fix contribution page * feat: platform overview and screen grabs * add get context to features * chore: fix self-hosting page * chore: move deriver description into architecture, flesh it out, stub out dialectic architecture * add versioning to docs * quickstart reformat and links * fix v1 api reference * chore: rm deriver from docs sidebar * chore: fix internal links * add sdk changelog and update latest release to 2.0.0 for api changelog * glossary updates and icons * ♻️ Feat: layout for architecture page feat: layout reformat for architecture page * fix changelog * ✨ Feat: vibe coder one-shot prompts feat: vibe coder one-shot prompts * chore: align get context text to spellbook * condense changelog pages * feat: add working-rep spellbook * chore: rename Changelog group * chore: Code Rabbit Suggestions * fix (docs): Update Changelog and API Reference Introduction * fix: remove accordion from glossary * feat: document new filtering system * feat: add telegram bot guide (using new template repo) * checkpoint * Docs MVP * chore (docs): Code Rabbit * Reorganization --------- Co-authored-by: Erosika Co-authored-by: Benjamin McCormick Co-authored-by: Rajat Ahuja --- CHANGELOG.md | 3 + README.md | 29 +- docs/changelog/compatibility-guide.mdx | 37 + docs/changelog/introduction.mdx | 142 + docs/docs.json | 359 ++ .../images/app-screenshots/api-keys-small.png | Bin 0 -> 89667 bytes docs/images/app-screenshots/api-keys.png | Bin 0 -> 176008 bytes .../images/app-screenshots/api-playground.png | Bin 0 -> 194097 bytes .../app-screenshots/get-started copy.png | Bin 0 -> 163672 bytes .../images/app-screenshots/machine-status.png | Bin 0 -> 109373 bytes .../app-screenshots/performance-analytics.png | Bin 0 -> 216331 bytes .../app-screenshots/welcome-to-honcho.png | Bin 0 -> 680858 bytes docs/mint.json | 169 - docs/openapi.json | 3475 ----------- docs/package.json | 9 +- docs/pnpm-lock.yaml | 1861 ++---- docs/v1/README.md | 1 + .../endpoint/apps/create-app.mdx | 0 .../endpoint/apps/get-all-apps.mdx | 0 .../endpoint/apps/get-app-by-name.mdx | 0 .../api-reference/endpoint/apps/get-app.mdx | 0 .../endpoint/apps/get-or-create-app.mdx | 0 .../endpoint/apps/update-app.mdx | 0 .../collections/create-collection.mdx | 0 .../collections/delete-collection.mdx | 0 .../collections/get-collection-by-name.mdx | 0 .../endpoint/collections/get-collection.mdx | 0 .../endpoint/collections/get-collections.mdx | 0 .../collections/update-collection.mdx | 0 .../endpoint/documents/create-document.mdx | 0 .../endpoint/documents/delete-document.mdx | 0 .../endpoint/documents/get-document.mdx | 0 .../endpoint/documents/get-documents.mdx | 0 .../endpoint/documents/query-documents.mdx | 0 .../endpoint/documents/update-document.mdx | 0 .../endpoint/keys/create-key.mdx | 0 .../create-batch-messages-for-session.mdx | 0 .../messages/create-message-for-session.mdx | 0 .../endpoint/messages/get-message.mdx | 0 .../endpoint/messages/get-messages.mdx | 0 .../endpoint/messages/update-message.mdx | 0 .../metamessages/create-metamessage.mdx | 0 .../endpoint/metamessages/get-metamessage.mdx | 0 .../metamessages/get-metamessages.mdx | 0 .../metamessages/update-metamessage.mdx | 0 .../endpoint/sessions/chat-stream.mdx | 0 .../api-reference/endpoint/sessions/chat.mdx | 0 .../endpoint/sessions/clone-session.mdx | 0 .../endpoint/sessions/create-session.mdx | 0 .../endpoint/sessions/delete-session.mdx | 0 .../endpoint/sessions/get-chat-stream.mdx | 0 .../endpoint/sessions/get-session.mdx | 0 .../endpoint/sessions/get-sessions.mdx | 0 .../endpoint/sessions/update-session.mdx | 0 .../endpoint/users/create-user.mdx | 0 .../endpoint/users/get-or-create-user.mdx | 0 .../endpoint/users/get-user-by-name.mdx | 0 .../api-reference/endpoint/users/get-user.mdx | 0 .../endpoint/users/get-users.mdx | 0 .../endpoint/users/update-user.mdx | 0 docs/{ => v1}/api-reference/introduction.mdx | 2 +- docs/{ => v1}/contributing/deploying.mdx | 0 docs/{ => v1}/contributing/error-handling.mdx | 0 docs/{ => v1}/contributing/guidelines.mdx | 0 docs/{ => v1}/contributing/license.mdx | 0 docs/{ => v1}/contributing/self-hosting.mdx | 0 .../{ => v1}/getting-started/architecture.mdx | 0 docs/{ => v1}/getting-started/development.mdx | 2 +- .../{ => v1}/getting-started/introduction.mdx | 4 +- docs/{ => v1}/getting-started/quickstart.mdx | 2 +- docs/{ => v1}/guides/dialectic-endpoint.mdx | 0 docs/{ => v1}/guides/discord.mdx | 4 +- docs/{ => v1}/guides/honcho-mcp.mdx | 0 docs/{ => v1}/guides/overview.mdx | 0 docs/{ => v1}/guides/simple-memory.mdx | 0 docs/{ => v1}/guides/streaming-response.mdx | 0 docs/v1/openapi.json | 5172 +++++++++++++++++ docs/v2/README.md | 1 + .../endpoint/keys/create-key.mdx | 3 + .../messages/create-messages-for-session.mdx | 3 + .../endpoint/messages/get-message.mdx | 3 + .../endpoint/messages/get-messages.mdx | 3 + .../endpoint/messages/update-message.mdx | 3 + docs/v2/api-reference/endpoint/peers/chat.mdx | 3 + .../peers/create-messages-for-peer.mdx | 3 + .../endpoint/peers/get-messages-for-peer.mdx | 3 + .../endpoint/peers/get-or-create-peer.mdx | 3 + .../endpoint/peers/get-peers.mdx | 3 + .../endpoint/peers/get-sessions-for-peer.mdx | 3 + .../peers/get-working-representation.mdx | 3 + .../endpoint/peers/search-peer.mdx | 3 + .../endpoint/peers/update-peer.mdx | 3 + .../sessions/add-peers-to-session.mdx | 3 + .../endpoint/sessions/clone-session.mdx | 3 + .../endpoint/sessions/delete-session.mdx | 3 + .../sessions/get-or-create-session.mdx | 3 + .../endpoint/sessions/get-peer-config.mdx | 3 + .../endpoint/sessions/get-session-context.mdx | 3 + .../endpoint/sessions/get-session-peers.mdx | 3 + .../endpoint/sessions/get-sessions.mdx | 3 + .../sessions/remove-peers-from-session.mdx | 3 + .../endpoint/sessions/search-session.mdx | 3 + .../endpoint/sessions/set-peer-config.mdx | 3 + .../endpoint/sessions/set-session-peers.mdx | 3 + .../endpoint/sessions/update-session.mdx | 3 + .../workspaces/get-all-workspaces.mdx | 3 + .../workspaces/get-or-create-workspace.mdx | 3 + .../endpoint/workspaces/search-workspace.mdx | 3 + .../endpoint/workspaces/update-workspace.mdx | 3 + docs/v2/api-reference/introduction.mdx | 27 + docs/v2/contributing/configuration.mdx | 433 ++ docs/v2/contributing/guidelines.mdx | 172 + docs/v2/contributing/license.mdx | 671 +++ docs/v2/contributing/self-hosting.mdx | 325 ++ .../core-concepts/architecture.mdx | 247 + .../documentation/core-concepts/features.mdx | 37 + .../documentation/core-concepts/glossary.mdx | 222 + .../documentation/introduction/overview.mdx | 70 + .../documentation/introduction/quickstart.mdx | 179 + .../tutorial/guided-tutorial.mdx | 425 ++ docs/v2/documentation/tutorial/overview.mdx | 139 + docs/v2/documentation/tutorial/sdk.mdx | 697 +++ docs/v2/guides/ai-assisted-setup.mdx | 296 + docs/v2/guides/dialectic-endpoint.mdx | 90 + docs/v2/guides/discord.mdx | 254 + docs/v2/guides/get-context.mdx | 506 ++ docs/v2/guides/mcp.mdx | 62 + docs/v2/guides/overview.mdx | 40 + docs/v2/guides/search.mdx | 298 + docs/v2/guides/streaming-response.mdx | 243 + docs/v2/guides/telegram.mdx | 359 ++ docs/v2/guides/using-filters.mdx | 657 +++ docs/v2/guides/working-rep.mdx | 275 + docs/v2/openapi.documented.yml | 3146 ++++++++++ uv.lock | 2336 ++++---- 135 files changed, 17560 insertions(+), 6011 deletions(-) create mode 100644 docs/changelog/compatibility-guide.mdx create mode 100644 docs/changelog/introduction.mdx create mode 100644 docs/docs.json create mode 100644 docs/images/app-screenshots/api-keys-small.png create mode 100644 docs/images/app-screenshots/api-keys.png create mode 100644 docs/images/app-screenshots/api-playground.png create mode 100644 docs/images/app-screenshots/get-started copy.png create mode 100644 docs/images/app-screenshots/machine-status.png create mode 100644 docs/images/app-screenshots/performance-analytics.png create mode 100644 docs/images/app-screenshots/welcome-to-honcho.png delete mode 100644 docs/mint.json delete mode 100644 docs/openapi.json create mode 100644 docs/v1/README.md rename docs/{ => v1}/api-reference/endpoint/apps/create-app.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/apps/get-all-apps.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/apps/get-app-by-name.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/apps/get-app.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/apps/get-or-create-app.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/apps/update-app.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/collections/create-collection.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/collections/delete-collection.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/collections/get-collection-by-name.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/collections/get-collection.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/collections/get-collections.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/collections/update-collection.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/documents/create-document.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/documents/delete-document.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/documents/get-document.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/documents/get-documents.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/documents/query-documents.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/documents/update-document.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/keys/create-key.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/messages/create-batch-messages-for-session.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/messages/create-message-for-session.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/messages/get-message.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/messages/get-messages.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/messages/update-message.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/metamessages/create-metamessage.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/metamessages/get-metamessage.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/metamessages/get-metamessages.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/metamessages/update-metamessage.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/chat-stream.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/chat.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/clone-session.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/create-session.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/delete-session.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/get-chat-stream.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/get-session.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/get-sessions.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/sessions/update-session.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/users/create-user.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/users/get-or-create-user.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/users/get-user-by-name.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/users/get-user.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/users/get-users.mdx (100%) rename docs/{ => v1}/api-reference/endpoint/users/update-user.mdx (100%) rename docs/{ => v1}/api-reference/introduction.mdx (93%) rename docs/{ => v1}/contributing/deploying.mdx (100%) rename docs/{ => v1}/contributing/error-handling.mdx (100%) rename docs/{ => v1}/contributing/guidelines.mdx (100%) rename docs/{ => v1}/contributing/license.mdx (100%) rename docs/{ => v1}/contributing/self-hosting.mdx (100%) rename docs/{ => v1}/getting-started/architecture.mdx (100%) rename docs/{ => v1}/getting-started/development.mdx (98%) rename docs/{ => v1}/getting-started/introduction.mdx (95%) rename docs/{ => v1}/getting-started/quickstart.mdx (99%) rename docs/{ => v1}/guides/dialectic-endpoint.mdx (100%) rename docs/{ => v1}/guides/discord.mdx (98%) rename docs/{ => v1}/guides/honcho-mcp.mdx (100%) rename docs/{ => v1}/guides/overview.mdx (100%) rename docs/{ => v1}/guides/simple-memory.mdx (100%) rename docs/{ => v1}/guides/streaming-response.mdx (100%) create mode 100644 docs/v1/openapi.json create mode 100644 docs/v2/README.md create mode 100644 docs/v2/api-reference/endpoint/keys/create-key.mdx create mode 100644 docs/v2/api-reference/endpoint/messages/create-messages-for-session.mdx create mode 100644 docs/v2/api-reference/endpoint/messages/get-message.mdx create mode 100644 docs/v2/api-reference/endpoint/messages/get-messages.mdx create mode 100644 docs/v2/api-reference/endpoint/messages/update-message.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/chat.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/create-messages-for-peer.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/get-messages-for-peer.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/get-or-create-peer.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/get-peers.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/get-sessions-for-peer.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/get-working-representation.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/search-peer.mdx create mode 100644 docs/v2/api-reference/endpoint/peers/update-peer.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/add-peers-to-session.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/clone-session.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/delete-session.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/get-or-create-session.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/get-peer-config.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/get-session-context.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/get-session-peers.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/get-sessions.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/remove-peers-from-session.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/search-session.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/set-peer-config.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/set-session-peers.mdx create mode 100644 docs/v2/api-reference/endpoint/sessions/update-session.mdx create mode 100644 docs/v2/api-reference/endpoint/workspaces/get-all-workspaces.mdx create mode 100644 docs/v2/api-reference/endpoint/workspaces/get-or-create-workspace.mdx create mode 100644 docs/v2/api-reference/endpoint/workspaces/search-workspace.mdx create mode 100644 docs/v2/api-reference/endpoint/workspaces/update-workspace.mdx create mode 100644 docs/v2/api-reference/introduction.mdx create mode 100644 docs/v2/contributing/configuration.mdx create mode 100644 docs/v2/contributing/guidelines.mdx create mode 100644 docs/v2/contributing/license.mdx create mode 100644 docs/v2/contributing/self-hosting.mdx create mode 100644 docs/v2/documentation/core-concepts/architecture.mdx create mode 100644 docs/v2/documentation/core-concepts/features.mdx create mode 100644 docs/v2/documentation/core-concepts/glossary.mdx create mode 100644 docs/v2/documentation/introduction/overview.mdx create mode 100644 docs/v2/documentation/introduction/quickstart.mdx create mode 100644 docs/v2/documentation/tutorial/guided-tutorial.mdx create mode 100644 docs/v2/documentation/tutorial/overview.mdx create mode 100644 docs/v2/documentation/tutorial/sdk.mdx create mode 100644 docs/v2/guides/ai-assisted-setup.mdx create mode 100644 docs/v2/guides/dialectic-endpoint.mdx create mode 100644 docs/v2/guides/discord.mdx create mode 100644 docs/v2/guides/get-context.mdx create mode 100644 docs/v2/guides/mcp.mdx create mode 100644 docs/v2/guides/overview.mdx create mode 100644 docs/v2/guides/search.mdx create mode 100644 docs/v2/guides/streaming-response.mdx create mode 100644 docs/v2/guides/telegram.mdx create mode 100644 docs/v2/guides/using-filters.mdx create mode 100644 docs/v2/guides/working-rep.mdx create mode 100644 docs/v2/openapi.documented.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index fca4653e..103b3098 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Internal metadata to store Honcho's state no longer exposed in API - Batch message operations and enhanced message querying with token and message count limits - Search and summary functionalities scoped by workspace, peer, and session +- Ability to search message histories using semantic search with cosine + similarity - Session context retrieval with summaries and token allocation - HNSW Index for Documents Table - Centralized Configuration via Environment Variables or `config.toml` file @@ -36,6 +38,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Queue processing now works on 'work units' instead of sessions - Message token counting updated with tiktoken integration and fallback heuristic - Queue and message processing updated to handle sender/target and task types for multi-peer scenarios +- Resource filtering expanded to include logical operators ### Fixed diff --git a/README.md b/README.md index b6b81066..58e11391 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # 🫡 Honcho -![Static Badge](https://img.shields.io/badge/Version-2.0.1-blue) +![Static Badge](https://img.shields.io/badge/Version-2.0.0-blue) [![Discord](https://img.shields.io/discord/1016845111637839922?style=flat&logo=discord&logoColor=23ffffff&label=Plastic%20Labs&labelColor=235865F2)](https://discord.gg/plasticlabs) [![arXiv](https://img.shields.io/badge/arXiv-2310.06983-b31b1b.svg)](https://arxiv.org/abs/2310.06983) ![GitHub License](https://img.shields.io/github/license/plastic-labs/honcho) ![GitHub Repo stars](https://img.shields.io/github/stars/plastic-labs/honcho) [![X (formerly Twitter) URL](https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2Fplastic_labs)](https://twitter.com/plastic_labs) [![PyPI version](https://img.shields.io/pypi/v/honcho-ai.svg)](https://pypi.org/project/honcho-ai/) -[![NPM version](https://img.shields.io/npm/v/honcho-ai.svg)](https://npmjs.org/package/honcho-ai) +[![NPM version](https://img.shields.io/npm/v/@honcho-ai/sdk.svg)](https://npmjs.org/package/@honcho-ai/sdk) Honcho is an infrastructure layer for building AI agents with social cognition and theory-of-mind capabilities. It enables developers to create AI agents and LLM-powered applications that are personalized to their end users by leveraging the inherent theory-of-mind capabilities of LLMs to build coherent models of user psychology over time. @@ -41,13 +41,26 @@ The Honcho project is split between several repositories with this one hosting the core service logic. This is implemented as a FastAPI server/API to store data about an application's state. -There are also client-sdks that are created using -[Stainless](https://www.stainlessapi.com/). Currently, there is a [Python](https://github.com/plastic-labs/honcho-python) and -[TypeScript/JavaScript](https://github.com/plastic-labs/honcho-node) SDK available. +There are also client sdks in implemented in the `sdks/` directory with support +for Python and TypeScript. These SDKs wrap core SDKs that are generated using +[Stainless](https://www.stainlessapi.com/). -Examples on how to use the SDK are located within each SDK repository. There is -also SDK example usage available in the [API Reference](https://docs.honcho.dev/api-reference/introduction) -along with various guides. +- [Python](https://pypi.org/project/honcho-ai/) +- [TypeScript](https://www.npmjs.com/package/@honcho-ai/sdk) + +We recommend using the official client SDKs instead of the core ones for better +developer experience, however for any custom use cases you can still access the +core SDKs in their own repos: + +[Honcho Core Python](https://github.com/plastic-labs/honcho-python-core) +[Honcho Core TypeScript](https://github.com/plastic-labs/honcho-node-core) + +Examples on how to use the SDK are located within each SDK folder and in the +[SDK Reference](https://docs.honcho.dev/v2/documentation/tutorial/SDK) + +There are also documented examples of how to use the core SDKs in the +[API Reference](https://docs.honcho.dev/api-reference/introduction) section of +the documentation. ## Usage diff --git a/docs/changelog/compatibility-guide.mdx b/docs/changelog/compatibility-guide.mdx new file mode 100644 index 00000000..5a7455c6 --- /dev/null +++ b/docs/changelog/compatibility-guide.mdx @@ -0,0 +1,37 @@ +--- +title: "SDK and API Compatibility Guide" +description: "Compatibility guide for Honcho's SDKs and API" +icon: "shield-check" +--- + +This guide helps you understand which versions of Honcho's API are compatible with which SDK versions. + +## Version Compatibility + +### Honcho API v2.0.0 (Current) + + + + **Compatible Version:** v1.0.2 + + Install with: + ```bash + npm install @honcho-ai/sdk@1.0.2 + ``` + + + + **Compatible Version:** v1.0.2 + + Install with: + ```bash + pip install honcho-ai==1.0.2 + ``` + + + +## Version Compatibility Table + +| Honcho API Version | TypeScript SDK | Python SDK | Notes | +|-------------------|---------------|------------|-------| +| v2.0.0 (Current) | v1.0.2 | v1.0.2 | Full compatibility with new peer architecture | \ No newline at end of file diff --git a/docs/changelog/introduction.mdx b/docs/changelog/introduction.mdx new file mode 100644 index 00000000..d25fc9a6 --- /dev/null +++ b/docs/changelog/introduction.mdx @@ -0,0 +1,142 @@ +--- +title: "Changelog" +icon: "clock-rotate-left" +--- + +Welcome to the Honcho changelog! This section documents all notable changes to the Honcho API and SDKs. + + + + Each release is documented with: + + - **Added**: New features and capabilities + - **Changed**: Modifications to existing functionality + - **Deprecated**: Features that will be removed in future versions + - **Removed**: Features that have been removed + - **Fixed**: Bug fixes and corrections + - **Security**: Security-related improvements + + ## Version Format + + Honcho follows [Semantic Versioning](https://semver.org/): + - **MAJOR** version for incompatible API changes + - **MINOR** version for backwards-compatible functionality additions + - **PATCH** version for backwards-compatible bug fixes + + +### Honcho API and SDK Changelogs + + + + ### Added + + - Ability to get a peer's working representation + - Metadata to all data primitives (Workspaces, Peers, Sessions, Messages) + - Internal metadata to store Honcho's state no longer exposed in API + - Batch message operations and enhanced message querying with token and message count limits + - Search and summary functionalities scoped by workspace, peer, and session + - Ability to search message histories using semantic search with cosine + similarity + - Session context retrieval with summaries and token allocatio + - HNSW Index for Documents Table + - Centralized Configuration via Environment Variables or config.toml file + + ### Changed + + - New architecture centered around the concept of a "peer" replaces the former + "app"/"user"/"session" paradigm + - Workspaces replace "apps" as top-level namespace + - Peers replace "users" + - Sessions no longer nested beneath peers and no longer limited to a single + user-assistant model. A session exists independently of any one peer and + peers can be added to and removed from sessions. + - Dialectic API is now part of the Peer, not the Session + - Dialectic API now allows queries to be scoped to a session or "targeted" + to a fellow peer + - Database schema migrated to adopt workspace/peer/session naming and structure + - Authentication and JWT scopes updated to workspace/peer/session hierarchy + - Queue processing now works on 'work units' instead of sessions + - Message token counting updated with tiktoken integration and fallback heuristic + - Queue and message processing updated to handle sender/target and task types for multi-peer scenarios + - Resource filtering expanded to include logical operators + + ### Fixed + + - Improved error handling and validation for batch message operations and metadata + - Database Sessions to be more atomic to reduce idle in transaction time + + ### Removed + + - Metamessages removed in favor of metadata + - Collections and Documents no longer exposed in the API, solely internal + - Obsolete tests for apps, users, collections, documents, and metamessages + --- + + + + ### Added + + - Normalize resources to remove joins and increase query performance + - Query tracing for debugging + + ### Changed + + - `/list` endpoints to not require a request body + - `metamessage_type` to `label` with backwards compatability + - Database Provisioning to rely on alembic + - Database Session Manager to explicitly rollback transactions before closing + the connection + + ### Fixed + + - Alembic Migrations to include initial database migrations + - Sentry Middleware to not report Honcho Exceptions + + + + ### Added + + - JWT based API authentication + - Configurable logging + - Consolidated LLM Inference via `ModelClient` class + - Dynamic logging configurable via environment variables + + ### Changed + + - Deriver & Dialectic API to use Hybrid Memory Architecture + - Metamessages are not strictly tied to a message + - Database provisioning is a separate script instead of happening on startup + - Consolidated `session/chat` and `session/chat/stream` endpoints + + + ## Previous Releases + + For a complete history of all releases, see our [GitHub Releases](https://github.com/plastic-labs/honcho/tags) page. + + + + [Python SDK](https://pypi.org/project/honcho-ai/) + + ### Fixed + + - Properly handle AsyncClient + + + + + [TypeScript SDK](https://www.npmjs.com/package/@honcho-ai/sdk) + + ### Fixed + + - Create default workspace on Honcho client instantiation + - Simplified Honcho client import path + + + + +## Getting Help + +If you encounter issues using the Honcho API or its SDKs: + +1. Open an issue on [GitHub](https://github.com/plastic-labs/honcho/issues) +2. Join our [Discord community](http://discord.gg/plasticlabs) for support diff --git a/docs/docs.json b/docs/docs.json new file mode 100644 index 00000000..1b7b5df2 --- /dev/null +++ b/docs/docs.json @@ -0,0 +1,359 @@ +{ + "$schema": "https://mintlify.com/docs.json", + "theme": "mint", + "name": "Honcho", + "colors": { + "primary": "#FF5A7E", + "light": "#FF5A7E", + "dark": "#FF5A7E" + }, + "favicon": "/favicon.svg", + "contextual": { + "options": ["copy", "view", "chatgpt", "claude"] + }, + "navigation": { + "versions": [ + { + "version": "v2.0.0", + "api": { + "openapi": ["openapi.documented.yml"] + }, + "tabs": [ + { + "tab": "Documentation", + "groups": [ + { + "group": "Introduction", + "pages": [ + "v2/documentation/introduction/overview", + "v2/documentation/introduction/quickstart" + ] + }, + { + "group": "Core Concepts", + "pages": [ + "v2/documentation/core-concepts/glossary", + "v2/documentation/core-concepts/architecture", + "v2/documentation/core-concepts/features" + ] + }, + { + "group": "Tutorial", + "pages": [ + "v2/documentation/tutorial/overview", + "v2/documentation/tutorial/guided-tutorial", + "v2/documentation/tutorial/sdk" + ] + } + ] + }, + { + "tab": "Spellbooks", + "groups": [ + { + "group": "Getting Started", + "pages": [ + "v2/guides/overview", + "v2/guides/ai-assisted-setup", + "v2/guides/mcp" + ] + }, + { + "group": "Application Interfaces", + "pages": ["v2/guides/discord", "v2/guides/telegram"] + }, + { + "group": "Design Patterns", + "pages": [ + "v2/guides/dialectic-endpoint", + "v2/guides/get-context", + "v2/guides/search", + "v2/guides/working-rep", + "v2/guides/streaming-response", + "v2/guides/using-filters" + ] + } + ] + }, + { + "tab": "Contributing", + "groups": [ + { + "group": "Contributing", + "pages": [ + "v2/contributing/guidelines", + "v2/contributing/self-hosting", + "v2/contributing/configuration", + "v2/contributing/license" + ] + } + ] + }, + { + "tab": "API Reference", + "groups": [ + { + "group": "API Documentation", + "pages": ["v2/api-reference/introduction"] + }, + { + "group": "workspaces", + "pages": [ + "v2/api-reference/endpoint/workspaces/get-or-create-workspace", + "v2/api-reference/endpoint/workspaces/get-all-workspaces", + "v2/api-reference/endpoint/workspaces/update-workspace", + "v2/api-reference/endpoint/workspaces/search-workspace" + ] + }, + { + "group": "peers", + "pages": [ + "v2/api-reference/endpoint/peers/get-peers", + "v2/api-reference/endpoint/peers/get-or-create-peer", + "v2/api-reference/endpoint/peers/update-peer", + "v2/api-reference/endpoint/peers/get-sessions-for-peer", + "v2/api-reference/endpoint/peers/chat", + "v2/api-reference/endpoint/peers/create-messages-for-peer", + "v2/api-reference/endpoint/peers/get-messages-for-peer", + "v2/api-reference/endpoint/peers/get-working-representation", + "v2/api-reference/endpoint/peers/search-peer" + ] + }, + { + "group": "sessions", + "pages": [ + "v2/api-reference/endpoint/sessions/get-or-create-session", + "v2/api-reference/endpoint/sessions/get-sessions", + "v2/api-reference/endpoint/sessions/update-session", + "v2/api-reference/endpoint/sessions/delete-session", + "v2/api-reference/endpoint/sessions/clone-session", + "v2/api-reference/endpoint/sessions/get-session-peers", + "v2/api-reference/endpoint/sessions/set-session-peers", + "v2/api-reference/endpoint/sessions/add-peers-to-session", + "v2/api-reference/endpoint/sessions/remove-peers-from-session", + "v2/api-reference/endpoint/sessions/get-peer-config", + "v2/api-reference/endpoint/sessions/set-peer-config", + "v2/api-reference/endpoint/sessions/get-session-context", + "v2/api-reference/endpoint/sessions/search-session" + ] + }, + { + "group": "messages", + "pages": [ + "v2/api-reference/endpoint/messages/create-messages-for-session", + "v2/api-reference/endpoint/messages/get-messages", + "v2/api-reference/endpoint/messages/get-message", + "v2/api-reference/endpoint/messages/update-message" + ] + }, + { + "group": "keys", + "pages": ["v2/api-reference/endpoint/keys/create-key"] + } + ] + }, + { + "tab": "Changelog", + "groups": [ + { + "group": "Overview", + "pages": [ + "changelog/introduction", + "changelog/compatibility-guide" + ] + } + ] + } + ] + }, + { + "version": "v1.1.0", + "api": { + "openapi": ["openapi.json"] + }, + "tabs": [ + { + "tab": "Documentation", + "groups": [ + { + "group": "Get Started", + "pages": [ + "v1/getting-started/introduction", + "v1/getting-started/quickstart", + "v1/getting-started/architecture" + ] + }, + { + "group": "Contributing", + "pages": [ + "v1/contributing/guidelines", + "v1/contributing/self-hosting", + "v1/contributing/deploying", + "v1/contributing/license" + ] + } + ] + }, + { + "tab": "Spellbooks and Tutorials", + "groups": [ + { + "group": "Getting Started", + "pages": ["v1/guides/overview", "v1/guides/streaming-response"] + }, + { + "group": "Application Interfaces", + "pages": ["v1/guides/discord", "v1/guides/honcho-mcp"] + }, + { + "group": "Personal Memory", + "pages": ["v1/guides/dialectic-endpoint"] + } + ] + }, + { + "tab": "API Reference", + "groups": [ + { + "group": "API Documentation", + "pages": ["v1/api-reference/introduction"] + }, + { + "group": "apps", + "pages": [ + "v1/api-reference/endpoint/apps/get-app", + "v1/api-reference/endpoint/apps/get-all-apps", + "v1/api-reference/endpoint/apps/update-app", + "v1/api-reference/endpoint/apps/get-app-by-name", + "v1/api-reference/endpoint/apps/create-app", + "v1/api-reference/endpoint/apps/get-or-create-app" + ] + }, + { + "group": "sessions", + "pages": [ + "v1/api-reference/endpoint/sessions/get-sessions", + "v1/api-reference/endpoint/sessions/create-session", + "v1/api-reference/endpoint/sessions/get-session", + "v1/api-reference/endpoint/sessions/update-session", + "v1/api-reference/endpoint/sessions/delete-session", + "v1/api-reference/endpoint/sessions/chat", + "v1/api-reference/endpoint/sessions/clone-session" + ] + }, + { + "group": "users", + "pages": [ + "v1/api-reference/endpoint/users/get-users", + "v1/api-reference/endpoint/users/create-user", + "v1/api-reference/endpoint/users/get-user-by-name", + "v1/api-reference/endpoint/users/get-user", + "v1/api-reference/endpoint/users/get-or-create-user", + "v1/api-reference/endpoint/users/update-user" + ] + }, + { + "group": "messages", + "pages": [ + "v1/api-reference/endpoint/messages/get-messages", + "v1/api-reference/endpoint/messages/create-message-for-session", + "v1/api-reference/endpoint/messages/create-batch-messages-for-session", + "v1/api-reference/endpoint/messages/get-message", + "v1/api-reference/endpoint/messages/update-message" + ] + }, + { + "group": "keys", + "pages": ["v1/api-reference/endpoint/keys/create-key"] + }, + { + "group": "metamessages", + "pages": [ + "v1/api-reference/endpoint/metamessages/create-metamessage", + "v1/api-reference/endpoint/metamessages/get-metamessages", + "v1/api-reference/endpoint/metamessages/get-metamessage", + "v1/api-reference/endpoint/metamessages/update-metamessage" + ] + }, + { + "group": "collections", + "pages": [ + "v1/api-reference/endpoint/collections/get-collections", + "v1/api-reference/endpoint/collections/create-collection", + "v1/api-reference/endpoint/collections/get-collection-by-name", + "v1/api-reference/endpoint/collections/get-collection", + "v1/api-reference/endpoint/collections/update-collection", + "v1/api-reference/endpoint/collections/delete-collection" + ] + }, + { + "group": "documents", + "pages": [ + "v1/api-reference/endpoint/documents/get-documents", + "v1/api-reference/endpoint/documents/create-document", + "v1/api-reference/endpoint/documents/get-document", + "v1/api-reference/endpoint/documents/update-document", + "v1/api-reference/endpoint/documents/delete-document", + "v1/api-reference/endpoint/documents/query-documents" + ] + } + ] + }, + { + "tab": "Changelog", + "groups": [ + { + "group": "Overview", + "pages": [ + "changelog/introduction", + "changelog/compatibility-guide" + ] + } + ] + } + ] + } + ], + "global": { + "anchors": [ + { + "anchor": "Managed Platform", + "href": "https://app.honcho.dev", + "icon": "book-open-cover" + }, + { + "anchor": "Community", + "href": "https://discord.gg/honcho", + "icon": "discord" + }, + { + "anchor": "Blog", + "href": "https://blog.plasticlabs.ai", + "icon": "newspaper" + } + ] + } + }, + "logo": { + "light": "/logo/honcho-dark.svg", + "dark": "/logo/honcho-light.svg" + }, + "navbar": { + "primary": { + "type": "github", + "href": "https://github.com/plastic-labs/honcho" + } + }, + "footer": { + "socials": { + "twitter": "https://twitter.com/plastic_labs", + "github": "https://github.com/plastic-labs", + "linkedin": "https://www.linkedin.com/company/plasticlabs" + } + }, + "integrations": { + "posthog": { + "apiKey": "phc_1yrzzcgywqXGcerkkI4g7C0YfyPMcAKNOOvGcjTCiUk" + } + } +} diff --git a/docs/images/app-screenshots/api-keys-small.png b/docs/images/app-screenshots/api-keys-small.png new file mode 100644 index 0000000000000000000000000000000000000000..ed215d1d34c65ea0d0d8b60ff6cc25a579f4b82e GIT binary patch literal 89667 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%0D~mO1eD7(H4ff-jkZ-EjT6I#@vuR zd7nD;ZfLtT0N-S+hLlipQn=20W(!@uPNJ()A)=&IduoL$RN#sd;=N zyY|99R`S7k44Wz}huw0Q<^1Pc61wsIIiolkNpC;nOxp8LJ*Se|q@6uq4oa!s#l%>S z8C#W17ObB+aWTD*h*`xQz;0)X#%qTI&8vQM|6z#N#Q#h&PFsa~E}FWx(FH*i@esEl z(2k1uoBM2v&%DA84@20HCn5Otlk+h}ilQ&ysRK2BUf6lHe9d)n_Tpb4DAew2b-pDP zS`r~sTZ%C*k7C8lw+w3bAzAvax!sgT%F|2@zHq3H^^q%N*Uj0t>;#-6gh*)8Xi1q{ z)Hd&|xL!E}%A7(ey(LFuOuSk)d-xaNuXunAeH;nQR!@aSR(}ldtzf%lz=iYzrkihM z+k7yNPO_7Nh`ou?$VstaF(ibTPJ%RDFiG7Uc7Q`{Wu@mjCo!wynNJ z2PVp~#~K?ZyzP!nN>fwI_(DJUfUKM+NOCrji00d`1}&pn<%$xTT^d3O8#0TTsvi~sMZ0PEF}zI!m=b^ z4Ly-et&QMvgNqw3foe`L!#?6aqYzv$Y4!H!rhkz%f9rono<3+BejY1pdSo zw2W!v+V(whB6zsb+q(4oh($6@eI9N2zqP^47SM+C1z)ye@7@C#P%G4A% zdfK-X6sPer-c8qmVpErUN%}%Ak;T$H>*>B!CRVpQco6YhaAw-OT1^R#9D%(mFwEVc z%5?mJ&~+#z=;@RrPG+WY^D} z>HJ1n18W6h)nXUt>h)VtUle71Trx=oWtwF!bQD@YHS6Ii5&;xm@*rshUvAHpU)gn+a4c z=@;fEN@9zl?wI%v!=UHW5HNN(aLq7__l%+vkd#5Ur zaQ#XKer?bta%Um6e}NeO)Uh9}Wm~|9wC10g?I=j1J;)$}VHHUE$WAbxL#vrPbD5i~ zeAwwcQPyMtovT{bi_?|3tw^c8V`*t@FDPb3D^fxDZtz2LaK>Us*_zASokRxDFiPK| zt*Zo$)8E)H&w`2%!<(D5k3YmO%}4sx*wct?L67EBJ(dL7KC=KW;A1bR9siHLw+yRt zTf>E=R7&ZTFzD`*R6x4BrMp`iQIJsSMtaiSB?w4KcL^vx3F$s#x|VD0C2Rlq&adxW z*Z$*$;(X_LM?87o_t3oL{cuZ0kOpv1JXuTb7>H#FT1a%fzoWcV@jwqN1v~fCI1UGc zJBbPEQ72{{A28Ud2w+i$-OSF9aqIK63Ewn?H^>C0!Mi`pe3CioUy?mKW6HQLcU8)x{IsBTx=W zSc#TAmtMZyH?_$+DIX@pumQX)8A@!@ZBU}FU3OB#@^PyJ-P8A%Mddvfqth2&_bT$< zY-Ife5%|Ji0N(YK&!LRx@`O{$jeJGDe^H(`HE>zU$^RG%;KIhhrSe6 zETejy^kOha!}UTZ90(TxrVCzII;Ct<+=xwZPhWke32`N2Dxg<1)SnpC7i}PGx~1NaxRUxGw(x??6w%3CBYshJ6;y-nrTVeY0|yhkFY$b`r65qHLpy+VVIhbubxJIzzSe1YpVX6hIS{W(qDO z6UWZS#;y@1@k3dSLAQ;rP}AkniQ6rX=rzTF)`*bZSMhE>g|Y0#D`&S~lC2M=cG(k- z7+r!_Ntk(5lG6i!YFntfy29aYn#-xje^l9KFW-N7qW;T&O9PAbWv19zs}ig{a7s2H~|0E2JXY>_GOexGOIGQ2tt_{XkyEpAx+a`cmdeQiPeFOzWhC9SoCBlkr z^qivw6-1$jG7P9Few1)u0WBq0hoiU1X-aeDs7b204*Dy<~6b|S7ywDTuW&C~FVk}D0@RtgbH8|(xnK8l;) zk|wM{5x+KHx-Z8~Q3@IlYxofogdP}teGQP(?1Ww1vxqFN!VH`&vom}o9;%u${^1kb zbY9e~boWTRJmG}dw?A%9t2=VrNa^Wv z{s7VWw_6n9d?*WZ0L+ls(7c;MIR6Sc`S{&yL#{h6agWLOY(WE`adbc9u0*(~_uF8v z5{FPs<}FZ^Uf`QQkzFgNYK#+W(&hH%>6jD{VGG|lM!0*QX;y!y?ZL}&*}BvLqeY*q zT?BYR?tyA%ju>QQ!#khM`J0 zANR^B4XQ);bAxyN$W2nEVGUgNN#&0PUh$ApgWj$bjkFx){#P zSSMT^w0qxo0aC{k*0_5cfIe7EG0d%cvJf*hwMiT6b^XRGXpky%s6n-;`w)0~;M!boZglTy+U={cEr9QpvMwjEhlkREoqEY;f$Ve&+ zfdM_ThoYUDI!Vv4WwAIfK$k1`6bCVSWHrqMwGvYH0TZFnuI!$i4IM*hWHu=Klk*rX zK1#(Fy`)ac{DkQdiF~mifi0JC&>l%9mZJlpdX}2Rt@5Xu-w{)+7ak>x2%4@Xr zr^XrMe`)%dxIBm>TXbUR@fczfWthNtxvtjSEzm$=>nI}LSEc?OAAQ#)OUgnNYf&LL z8Bb1`u5W&NjXhSnSkHwA)~ua;lyHSru{(U>73ggE!9K3KK*!2I2&wHN>32 zEw&)smEH>HkT3*25^09ko)&K2B>AML;SaCbQOqT|BKQZGjJ z1(T^K@|RVgNX$Ou7Psbhf3J=+IN`e-Q;PynsfRJMtH2s{t>7-4c2T7!ZC*vn^3oum z7>1o5Kg8YZAcL<-VL0FEFoi*gBF_m#?b`K?al$k9?W3g&c8cE>PR0p7opHyOwJL1py2EPc};|~~!AHzgT@6f9Q zC>YYL{>pu)aMMG62IbYNS2x}_Z<4ZhMm;Wm2^Aot4$Sw8^i6wXP7g96GvKL~$Emzot( zuLKGlb@kedZ}E43a!)GgjCl!vAHwZ>i%geam$nCy-SgE9pG^-UJty8wPW;pu39+B^AV4Voc*EPc$&~mSV5N&)UJqe&rk$qI>-#FsYb-2UhUZwdTWvVBJ zj$5Br_ITfS`YIl&iE_ruDP;`&WML)7)?Nm}eFgf!$1Dwt&f@b;=Q~eReY|wsn!t8Q zwJfTAPo{Od*--x31lS873AVZBk2|h9e6+$hpyWU}34Og?i_SG2_%*Bka=60&1G(S(z&0 zl`+T#cNwtU3fspSH)P%f9-n^Siz1_P59^$I>pndeJAB-b=|Zu)Lc;62U&R8jxU6^~PB$=bn8<+o|ZG ztJ#ZjyEEaWvgnE2ie>ClTF&(M^Is{>B>b>U{`XyXHZGPitdKrP!pV%l_*F{gz)1WQ zKl{bEM?ncl7aF%S)TwS>EPV2hl$FiiphoK1*CpDph;vF$J16%n=|Z9~h+ChwjC0C6>onKU6l> zpnpX)ZiU@*e-paBO> zurPVh zD^}A2;!Vt7r#k|CH3hTBIpD$&#DJfTJlA!yBh=EAkQnP$(_svZOfmzp3@!}l2tU+? z=9lUPIC(<#w<~^pmAaV$b-<}j`PC8oGc)+(uNCn^bhk3XCFf0UMds)K<5z!WZwEkN zY0P#N>$e5?wa9(2BCpk}+PZ)J0&4kY&?&wMVif-8-uMNvoRS99+vgJZzc2qCA^*Q= z|KEoD=b1_S-%=KXJiZ$spBenaPRwd=nA_hQ)N~l`I>bM|#ZkCD@Ja)6QEX=gb5PE|GBhf7YrJ_6F?M%voU|42u z(C5-}vesev{Z)9S(xNRxd5;y}kXf?ekN^!C?(K%XR=8XDfRgCqS?{PN1DyBMug;DD z9Dhq!{QPsvM)&V=lP`QbOu1^|LT=ApZa)T!~{w=GTs|_c#eay}MBMP8Xd`t`Wcd zp2Ot9R=rL4-BG+kG?gkuUEk-A#=wu<`|d0nTwGo?gQ2GRPooV2opsPgEqqgKOL`92 z!xR~2Y^RSA7&HKfs}#PW$jysIk-wPhw-6j0Z5){TB+}7|4A*Q_!6;Z?5;F+WQAGa8 zB|O^aPaAKr^lYKcDmH%C)@}bO_#l<0OoD4`AaWO57$IA>ME~kAHIQdJJ`E|ZUPP|B zriO{5_4CWF0IDUjU=(a3O*^PI1rqNQ@}{Q6jY77n?!v#fhAygx_<`2^7-KDg^FKt{`t?ptT4$#P+w=MA40#jRelcU&na>c`28IGF_={X zP}mKhjJA1wZ4rOI+6XOk?igV*$W>c_L1_bOOtC2=RO9pBXHdHyhU%yoexMBT62?J> z2@JC{czy@aVN};yXEj#$fi&T+^GSE!gG0dlz=g>v8SR;Xeq;&w?@sj)KtHl~0~O2n zCt{%lm}5ZL$%bqR?fM)D)r082>Wp;r)xlMttv5D|wO<0N&_O_~E?;ik_l66o^wN3W zY5h`a*ck&$wtJ(lYh%4Ixm}VM4Uby9T^b|MdMK?`OAP^vHXl;}&QuzvN zM7>OZ5`=~f*hL0$px|%mRkQb>dC;FrXUzcCYOKCEj!rI2UPMD`8|e%8QmEZxFcl># z%${L|FxGtaZ`4bRxTcN(hxBKjqE1(^1v;jaw)rf8+(OkaQ>Y-djR^akqT?A5VcOeNw%hq*EA$3!L6K7qv29w^X0X0XW?w>TU$3Syp0Wd7AR~@v> z4SWFi24)-I77R(V_2IzsNWdeDCoNnYfhe^BVm2A*&Je(8Vx;_I@xNFOe;)%sRZL(g zqxly+MjrjtF#;8TmiQxJtBclHMooYiQbg@%q5@<&@ik6#Svs6j%PVx*M|Otv)9l!9VV3r;UK(~PRm~sL6#T-ZS)O(vJHJ< zB#68T7?6H;5h5+)i7?LHqe@J}FnM@+3kNJsU573Ti9SgS6>lIVY0%Gqgcg`vDh*U& z7J#Umg~Q%%C)r)lmosn3pO&%^1mrm%ndJ;siv#X8};=Bw7bRBbW;EQnI-?uy?WyNKCxMRnumP zKL<7Mz*t=m8a}B>DA*tcPG^bWrmD5N>x9I=>Ej%t`hct|q23ue3(S{w`(&en@!F5@NT3?ee?iHm{On`w?)5m%28zA3LCFg2_B-ZuWboMCALD z=#xd(I!|f-Bka{7iW?k!G=gW7{jJ%FHkx}6?1R0E6qRD9%3<1xZy4*$)GZ)ct$=}p zUDSMe%Ixs%vr#-%lAQ>6Nv=Bj)DvoTtjB7!#m$!|v-tJ}jK9msB2aamD~g%-&Z@F`vr#Pcx@MSs8W;T4G-)kY#6AlNmE9*y@j!s7 zVa`0m`0jDaNqhlXJJD4a)AN@u1l)G|Yc6xR38BM+#t%`2NjM&_MZ8aQglV_|88AH= zIeXB~j#)~j- zXMuh{_8&r8xO=_iavEn%;UOB3ku+lYv#`CxEn&OYhj)iI6ue_>Ba`r z&u{O04W&|ke6&F1rKk(MrvWg3cVM*K(aJ|(rSD!k?zZErB@22{E!fu$;H2nB-FQdt zwDa|2*X#&ER=l8({lJ4Qeew)g780LRoH$4&#|kAwP+=kBHwN8wIe(*@Q9xA58wcjk zj7TE+951sFj9TYl$V*tv(c&!^OA)KhN)Hm61sE9Ulp;%PW3#+pH{qoh!JEF-j6hKN z{1qDg`O|B+*2o>FD4od6NMB*YxF z^{3h&b+U7Q<8$XMlT>fXbYb7b@!lCjXEQ_d(`ODw%~nlmO-h zA?yp7ESUi~yiz8HSN4fzU;R-j5%ejz&i^Ic+kXclL9&lk8_z9~S%$qruwq7k#5Mg$ zvz0ns&#b)!EOzBQ5{Q-s z6SDPDBnm{$4vk1#wYql}+9Lfz-V@7QRs-MqiepUuq5Bw2eU7jqZ|L@J zU~Or`$#UYZg-$Hu8cb!W49$NL99PC#(!{~LMC{ZsxQH|VtGoXqmTv*VkV4TecTG*- zcZ-JB9bn6HAwSD6WR|Hkl;FaT81`@=wDi98Iov|{61F~bc5Dw+k%{rqI2nDdMM@1l zP~-3%m>9kVE#H6>fpo}Cs1>l@0m zuDr?XvlbGxv1AqdTUb(_ddq$4(7kTNy{xAkEfir&u(qsg-oJ_705XZ`_ zWC~*gC6ekX=V(Z-Jr~FQfml6n^D5hUo7iIY(pI2Y4+(74_O zy196=w=x}^%>LmWUAOG$<$j7}xk;aNs({zbG?J&X*anCV&DX~YEvM6LF7NX1%hw*7 zsd{n|H`aZ%#L5P(?U655#nBwH`5kIrpf_%XaSXID-;h|=cE3RV@_0{rBVDvRS7ng( z>XWX^{i}a2{m+?Kc?8x!L?6O=1)orn^W@bXbEvw`%oPA`!~q?Q3F)rgrOrgq@@2swh(HNty1#{V{7}{(#pQ}@^wjy>nZoZ0EJZEl zSRfFW81GHt=R4Gt)2z0!23o)7OC7|cPZa^*v@TeuFP0%2R3av44N)jq@6O(NQm$WBi_^5i}@c zfC4U!od-}bO9a}d6YSPg>;|)!EoSLOUyJw}IS-2yOUfQIHEfpkNH=?5Z0fo~r;OPQ zXWdeZXaLQd)3)&-rWRDh3SVh88Ta5FjhJz|hZW|bX@$uo$SMTo(oMZ0b{%0@!n{7Z zTuDEoH+T%RkZzJs`=t&-Br%SzNIFm+ z%^>L|1PozJ`CT*2f4uoODc=^erp(E^*C!BW%Mr!Euk~e-(1m|DQ9noH z_W~J%pf8sF?7#fFlEF!ZNaQndnWQY znvfoK7h&Y;!f#zV9BCc!dW7TsHhpl2w?l945WzAIt9)4f;QzzdY=iv0+|v_WRn>QT zu(4NT>herASB)^>F1Gmqr8G1`H*N`C4~3cQVVxZtH*x#c(`8_>bHQ5l*| zj)4w0t5(*s^c;M4jPJN`=+ub;M2p&RAinl`=c_xMiO<_Q@FMl(mYT{)GN#s zBm|Iy(1}f4tL+wAUu<#ipAm7{B*F9@Y$GyclX*=>aurO#HDo3&zHr$f^UYQ*)chbQ zcISql_H7(|{KWM12W*bZ(rosNPx;OoC^Z!oj@(&A9Y08u{Qk^{M zz8eDU_htM5$$1_oxoz?#i3g_s$`VrH1NM%|_wHzu{uF-mu~rM%5jN>d$hMxY5b@49V9#xDNq+Pp@?;sf)tR@;GmHKq)*Iz;?S?E(0I4&sj!YKOvnqR8D( zTqySMCzu|b0~5c_?B8eNk8Ow{3pUWgW7`U%Yscs3VwGW#GbbRCCO)_x_<;usafAI6 zwAV0b@h>9-5Bw|wb_brDRmipX`#G8g9I)@d?1|-H+t)u|g&Y-(P2+1R&A*$jKqc_- z|GoI{CgFx3Jt7JgK_Mu};mMdN{rkcQk@NZaBZ`$6?k}?ONSZLzi$vDkeRSsiqKx0p+62z32<%b(}Wp~|9&#wR)Vn=AVdE3RKX#( zQi6wDnT8(zmy_}T>lYunqZMFo>+T2iK?yE^bbniKB3FNbW@R@J*v~i*q5l_e|KO2) zu`d5`whVDOsFB3`A>2v;Rf(C)r>ht|QM5R@rDlWa?`aE~wMRjJth@(=tm<3*c$rKk zCVfPEpdu9y(Cu^dT2=HH=o;A9ZO!Wvp;vcEdI8zPlCfb&WH?VH|2CO9_nktmYMZJL z;A>H}1CT>+Zbd22q=9%1c2h^^=1lEy(M*Q;-81XgO@wQcGL7n7ZhM(O6k`WW&|B&{8{KOQ(Jzl5Wli6)=)5xxL_fH=M z^2l$A5gM{jjLQ}{gGwH!nzsGR$r}5NK_qA3DH4IkBI}`m-1U*eA%^k*X*6iWa~e?K zZkAyt=CFuz2bH_mS$2L=nEI-xtoJ^?_&|IDymqzlpkW06m~kHbKa98cB8~D^V6a6nI(RmfXnOs~L6ubV?POnV*1)JmE5Mf3LeI3_(VZWiCnh`tyFfPq&*>4KOuD-?u)k~2|QEL zBS-aqaPLZQnQ@Oa2(WsAVt7JZ0tDsy?#Z2l2YtO#7W{TyoPZC?dcf_$JwDpXehfqd z5hi#O08()!#6~x^Am6Z2lOQ9T|FI zzcQG*YzM3B5z)`h@d3Ol(Ug*S+kc4|l)%)*cbAe}{}R|y2vh|RHE}7Z&;$?v!0*g{@A^c+Tny{aWwrkN4{Dyr|01&ByU#1 z77@u}tiT*rlJYp*Gza&HSOwiBvjNKOn6Do)=r(@YJU8*1Y|Q<Y$+()WjZF?Wjs9FCUq-YbptON;_r+}oeN?Q{~zU!fA5uMU;i}F zM1Oq(ivAaG+{1;kkZ_*q)jDKd#Pd4m5rTAykmY$Gtl%V5tlLPdqsPcety?)}b@5e+ ziJDgse^lWXI27`Ba9$9lGV?c+kkr~YePhAH4PVXf4)4@IkuKz9K%EmH@)Z&VMvo3_ z(d)18_G`Ee>(_I-WhIY7lsds>&)qJru<_i6^E$~$4SM)0{^qN@ zj8CyAsNl_kwU$W?!TtM)=Sk{=AY~ai-Qq|>K9>SQLGK3i7ADP#&oiJO>;7)y$LZ5@ujO&~Nqjz7bmRXZZF7*{ax777 zo|rI-a_|mfH!{ehc(CyPPS3w7wIGRdkbVn9#WwulBv+&OGbQ;A%6 zTvsL5n#@aBz9R1(gbWT5o-U2)<^FdJB)>Ei;BnUDKj{2&X+mI_NA5_uIJvNbA{3El z^lJ$Zta^q;sbk5=oo88+*Ih+3+{hv-2+3QA-~$r_e3*a6>EldtjHkfx2tTH)_{&1) z-h_8t?hOv3@c@o64&e@W8qqzDR|JS~I+k_I%Iq|elo#F3G?SInvLf#{JRo;rPs{MF z8?}VzMS&NFRU0bUL_B}Fc0Y>;FxA?rhof=n-HRFIps=RnSa+yQ3RDP_wmtUpw^tfu zX`g~wYo#wa2#{-=c`-$*0LFyLUwRMkm#M`t@`FWHgsmK~v^gENv^t)3H$h3is7pI~ zadcxdw6``d!UJY#sc)NQdw2;bV%&ZYHadAS`qW<`gEF?CL?q?pLlO=PobrCPNJr97 zZ6krwbvIRJIO5;9Y@M43GvsUwXPCGkNy-olE2$s!{`GlS z2Buo9YhAqs&}?{>B{cAps5O=YI+2s(X3|~Dg|)dsys%mLjJ$I~P^(0Aia`5JAH-gd z_U-Qd?X-oK;enwkB_0RIYfo|l%kSRppAX^59ojjPWyFCXz#*nnx2zcA^jp+KK*;?D z?IH&~{u;wSeAMlFFwG^Y!c!4{KmR{}`lH&w%K6_iC0P7)Mwof=Yl8ptv;R@N{lES4 zT%9$Bi8M_V>3G(5So4jC?+|EN&Q+KVJ}^C~4dJw!&5srn2$v0Ar8^(QEdOH}29s2N(}lrl#ZPn^167=1R8v-g4>q<3AG`zg6TH=ewQD z;95}@59Ob+KTLMJ5#jr55xRjIxx2%cBZi@*k;U+KtTi62qBJI-TBt1{y zu#9o>JUIK{9cwXDQ_8cRn=v#Oj=T48pr+rOCLrBH^h_y&GqE{7HT7m`ED92llZ7qO z)_8kS_4jEcld~TxxHfGlKff{_mQT-wGdy{amiE0sqa4<_z^ZbasxbfVpN_0%bpO|3 z{)#*UdQr;}KIevtsQC9}>O?}gV9mr7KzGNneB`|Wq`O&l>Y{EcVHLl70r3ExqFy$a zm$3Vx6#WJP(&S5Sr|kAzW6ukTBmkR?1OjFJIubbNPVt!@BXa4^Gl%g4V+CsC6{G^} z3(KA^o9uk!1zdcp#g!2ha|e2}QjrLr@!_V)Muahs&ona;GAfD2xC+C$*{5JJBeJjMcvEtTz|fHp!QdgsdB*XY%>&JsO!(?yMQI6u^YAC ztX)JZ`uiX+iWp7ZiWKlVHM&P2<4UGdItPk>wj*p1P~2Mv@~n9wI?B_$Is-~KP~5(p zG6YsZMj-;4J@v+8a*290BFhj9wx>mrZ6+$o-&`?d-@CZV^wi3;(B85MfGd$q}T^n|Gaw zOGoiv?+oK2It}O>h64z(D`r@%Q)xL)$(%s7mj;58wwu{)xl1w|+oUEm0sI{;bg2 zeQja2h5_<=tE{ItSqr7~E70yT{o#pT7x<#;XD5zA(sHLeKA8OwbYkwP`FW zGKwI&VoO%UjnvF8*K=;0FE@>VfZ70Wez`2}ZT8iXFC)1+m;H68(8GfP#j$L7+1)JJ zJ<3v1j})_HEGAFe>GbpokIBahl&e18yVL5p>n3`|&Qilx1Af_kgY%`G3OVjd!_Y;? z-Xzb)`xKw=g=&aGgNr7!FHR@grgSTYMz$x$1Z+8XZop?K@J-&k3lE1+eI;ntLM*+P z_o`*F{Y@VL*;)FGH0FUyd=*`DUGTx`V4F*|q?^ z3w901B~a72_^3R5_z5%Hre|5qZ%|vu^8R8P1Xz6`5CI^4G9CYp6xDbFKv!c8;4Z@N z^E35NKgxs|fbPy(b%=!8%vlhtFqL$i{)mbcHli6CT{I}^5E+N&!T14(?|${h$?M>Q zP2P_W(mqR|Z(|dnUhlwxT__FRrk|Pvb748&sM{Z)9CgCwx~0umRM+H`9jKS4n~&$t z^ZKR^uj+|6rw@OBI1{8LF2ujq{FYdwzC~kI;bw_OLQBr4p685C5RIHF$aquOWTSij zWTnlM4~f{*KFKCBGSKX>zB{&6XZ-ap?J+B762ow3b%VC&KeRF|3q}>5H1rO-WZP`u znXIfk$8&VmYjnOJa{8@Uwe*t*zGz1QHMQ{}K2rEM%~XeM(l&@er;npZffb8xbz zZL6}8+O8qu*e`-Gn8Y5v^uLk{>SmYbL=lO_+1_2BRJM5P;$nPTgX=jkVh>$J+Fo#< zieAJvpJ$Qy&imXW!dGtoT+a%UdPe~CkAtbZOI*FS-&j`=mO~O7FVHaTEaCn3_Q~cn zEJGnOR2Ka>ytw%MZ@>Y$2Rw?mMU|V{x!-`1U$2p{!l*q!uqBGV!D}~hbUmOwV>dIN zYj9r%z*r6-UjH&VN)fs-R+z}M5QyCi!tFR0N7KFpW1woPN1@#eg6w6#Tcpp9Q?!o3 z-53da=ZpATSzg+8P7tq=OeN6Uq~A;NvY_VA-m? z`sU7!#-ip=IE_E5G!B~Z_j{NzXktlYFJtWqV=Z&M4V=QUqKPUk<8r7yH z_y-e>moI5hO;$0SE=fTGyn<UdWtJ8|%`g6@H+JQb^2Ql?n_uP0=Sh+Ok>ZKUPjxk**rg zZdOcQF`0Xd)fMt3)jNu!(WQH(OO*}1-j%bl(UNJBKZ^;sf~-(npPlBR?NfD7_zIM> ziMt~+JG0WCYMWS)whCxeR(LslH^cO@$dFiI%&BtwC9!E-U7xq1q{$u)k48TfD1^Zs z0{OWKX`~B(0R3RsYAh3_`7?Tz_d-0MOb-s{O-{=l+l>X7>xSNK#>*p=18u_s*iDBf z<8xbOrpeARJU|d^6Tc&YdmYq3S;3Vd@69Jl*aHgEUDkUne8vjL#_^}uZZdKlo`L$c zstFhH46o2*){g{{EU=?tS9=UTk2yi)^kEak`@GNaQLz@oy?(BG zPAk>~q{fqv7kxv5&ANXCY>T-0Ho`-v3V4UDs$1OQ8XP}RH9Lp zpra#PMR{w#j4-TQVAJWaE8A^YmFbOr-83&$9LdX5+g_KRyy3LX+$4DX&`5a9=E|{% zBwvM3KGp$AzS_-ts@%FBT2|y+S0kVJ8hN4T4{8m*QV z3#Xx#I@Q)vo^zV_G!srXtKRr1C)Rnwsp8|P#GLRl1*j5c1LwvLEccJlsp;L9OKcKL z8;cz93b@ZM)-XmhmTTZC(ySCNSQdT)D=!V~0jf2Q?ELGkQoSUw36LCt;ZTX=SclK( zW>?`VQps1H6vP^lxdQhH+1LMtv&pL!q7)tsp|tG|V%Iow@JUV(0*J)aeWtShPQV61 z4S{h3mH`Alq%ea#XMJqfqP53K61b{9aLurWiHh@}Ty=%TXx>cC7VHwkS#3Xsju&!j ztOp(_79F?P63K?<6W2T;3PBJ$6o2XsyWv%1SOOto|j6&R`W^jBxjuFMeB4=;@A!aC$;>+B$X z`^v7XE;*s>8v@Di9usWP9`e)X%Y9VCuh2dDBG|}yVS6%0eKsPapOwWLf7X)P9a>#G zOKj-W*4)Id!z9q@GH&A`uQ$A(cG1`2v-m!nlxC1g;lct5wa8R`1Gi{ls+UQ|Z?hrwg zuQu6BOLSAetGqZ`L)@^|CV{{6PR@W?^N-0d#;VIm@R+#N$uB9>Z*>~He4_u+AIZ2* zB@C#q8MndYbtVuc6AC1BKGD+hdmdJlPg?Rje^86{h=xOGV9}bYEblKr$+2H5n`Kzk zGgac6{@98co7#xHEO0miAK!JlHiB*K-h0qIyv>$o-MIm~<8?TX_ z9xovdU%bC!y*20UMQae5l+;4I_WDnKlQ}>Q?hvo)mn{@HUCDoV!Qrcob zy+tPcV`xL^Bb6#oxK4`xi%Mzvk*0-t;&s)}BQ~=8Uh~^FaXn>|b1DCgyB>(2j3RX3?OED}yuoVw)gmcZ0%1C*QzpcrSsh z-9Md34(2=k+P|!%SmY1I<)f1NG=cAeJ`t{_@VU$Ki5ETnaP|$7S{-^2N8a?#+)8 zPu-tn#tdFJCWKeOA~$50G-b=|EPHYCL%qk+Q|BH)?cjMPuLhUlvfHd~PL@NbFQM3l z+c7k#!a5ZIb!FB`Gx|f@Im33U!YTCLC?xb1sC%!`{DNePJV+zlPzrmJceGgFuV$Q` zYsh!H>IH{iO@CRcl=H)I!@Nw=%dY?^D^pQi%zgueA$FMr_F$QA96he$Hm0;t7PWPD zTdYLrw9HHfTB8w#f*tE*-5R}`$y|%Q;q&~wqZl6%LZn?)cWgL@y$&Q9WcW=OUj)i)S}k@J1yA(wZ_40k}m!N`xKg)VZ`0@k8f-WZMUGXTGIJlu5&-ycu%b%ScLK7=OJaqA; z!@ms68 zGnLiZT3;z4=^WuDe#jlS$0nsgsJJ)^=csHb7^2iAmz^!T5Y^e7rQh0UjGtes947yFR2hYE()LMr2pt`~GYs%>{y zrCvgNRI?gXu}9lk5z}F<(L7Vmr=8#XkN0mqRwD7Q^R9hwqhA5QfZ49wbEWnb;PO19 zq1n`FwK8#}Cpx==u03wBiaM+gY~ zfYivZ!|PCL0-ZmSbA{JX+0d`Z&GNl<$YNBt{D^v7_oGonAupSTR(iL6p7KUB(bnbD z00T|I+4NIOkf@G8C-g?FH9=m2ryF~6+>+Z|e>U}Kc6IhREbn2HH^Uyj^Bb4;=436r ztBEfgi_p7|EYVbr-%#$^PoE_dxv{luP|Yeo=|UA&68XryER%F@B1dn2H*GxH&9v5}rdOcxgM?j3HAO#T*!+ZGOqQqZ zD=yBg4jpB+vuuRJYB+E;4dSnAg~9_)|(=n|0mRTQdH(MCiYWcR$D*i%f4 z!PR5gvVN%4jXhHpC$*p=8mcLoKX*wQpY@ubNZOqqw;p|5^-Lpv`i*LbuG;?7HdJL5 z^P%EuE^H45twvThj*p79>90@bp4ZQMV&8Aa*I}znjH#Q}chaV`J3oc!o)trqHx4g! z5-bv*Zl7#)wO2wU-Zc^J`L3M@C|PrsqtAJ8G7ikH=YBYxqW1XCP`*y4gv~)yW!1H3 zJE8BvXG=fB+b202gFZ1kPpM5Hmu=82ZsSgL_2o@Yx`WEhRO;#cEk{a#tF?ltd9463)TU2qH zbG2$*ZegeeXd58)pE9v%n3bJBqMZEU(OsMn_kepHDV*cOh=r}{Y0xY$q4R;OGfkqV zXtAfBPjI}~Mk8`_R0-YgT@W&XPTe3jadw-sujFu&ZvC)l=Ep57t-RjrqQ z=i5PiAlLeB?5+}+$V0i$6&}v(Xv{t?5I$W}%+J+AgL;=X2_z%qH}6c7x<;XY`{XJ! zU+PeaFHe_DFS%s9oL+EdmA$qaR-YUC*m=RlPhmV+%P^?UIQTF}B3|2m(rwH6+z{G0 z>7kh-TMady+g!2X4iJ@Vetzl^xnsskYK&_0gHlBk)D9P24fM9vOSf(Fw0S6I6e#ez zt66n=bw<0*LhpvI^BY%j&JYibv2^Is*_?%tLPNJaJHPImdZ||EoS&({B26=YdYynR zUS$*K&T?6HnZ`3w(Kg}S`WG*;<=s0WHpey(sF2pQNL@+_rGzhrEG=Ir-{^xTiX-L) zfSU8VT?~SE=w(YbtFWsZ+m87IU*&eeqTG$v6brApCx6&mIK=nJX4-?w6js6tBvPH> zXB{}&CHlfcZPQDAtqlOimbtBVKwR0#SW0X0%A1{sl7bsPOJ{#?nADj>_o81;I`Q3n zsm|1NGV=_**RHLxOVjLlA73JQO!LreV%3B_ee}EWZ!L42e8rh=5$Hn}{9$dYcfC)m zM;(n1Y8T0-hZ*(+$BxPjbR<-Aw8UpubrkHZ7E*Ot8;effkncq8xZ<4yNS>nQ!&AZPh% zA7iGYn)Ao?Vr@mqSOr}V5Yri2Y)JVeX76E`ckZX@XQAXLk15=MHRB)keb=;&nN)n<)HEcGGC%e_4on1LOi?qdkA#~ z`=Cp$=5o{5v2EX%R^mnBIr0ZJ1tL(v>7xBfo76BrO1vQ>UfRN-y9XWb=o4}4PV#F@ z<141`Il5U5C0QLptaT_;I+~STFP9PSvae?sl(}gBu-W&}^HbqEiJ5)iZ9O}H~M6)J1D-~ zx+AAd0Q-Xa^O}Do%K86c@2#VF$_d(Iq={`V!n9eO4E9WmOH71eu;FDcA8NoAUE8goD zxN%&L$F1q=1J6(W@@)!HppzqHJcP$xE|L!>oz{xKP3~_U+4Vi z4q4)=o3MFE6~F>LPLLwx?Lpa6uy>Jbn{0Jc3|hY$0faTRO}YB=0O|xG1KV_FtHIEz zR6MxqNcYX8`+hNiWB-=aHdtLg9 z#~nq{fMfRIJ5l|KD&l!{uUlN=Z&sMa7u zY&Cm6qEV2yiZy_n#wp?Lq2XOQ_7s-6zOH$GCy^3jtJ{3p)sy>N+v&y+Osq)RUU;gZQ_zW`O6BvhU6Q*8!#?U}ed)_+ zbXVuXVru2(*5W)`&$B++HHA0jdy+8LQu|}0<_}ugGO5EE8e?({36}N++;l|q1JkIa z`-3to$y1fl*D)js0Hz>ZPnh1qxQ_Uxh9V7bg?d0xnSweXGgt=~q>e=dNtjixph>2n zhsUpAx5k@}DSRuXm5=CpL&)+jdI_m@9y<|ycrLGXQTy-@^y_tntIKJrd*YYwHaXKL zvicA)Q)H%jo+ULDV;gg4nn${DH#UIiegLOAF&xQ;s1D(6s$Iq z0KLx{IR@MS1L8Y$5$rQ_)8;X*x%{|T(l(g`ceaBYj63B9%14#7%q|8;Rc;mxs=wgI zm0g}pp!(9g`u;;NLT6+*;;1t_lv44-6w3O*4we4&N<++ z732ieYZMN2$*(v%`Bs#=~Nl$h7ZK@Wk zDwal;2b>HS&}g+Mg$+*=9^=wy+M8M2J})mhw6aW-U^6z}60z@Mtuy=j7^NRWy`2my zwTkKyCAaA9E-1z69!6v_@zGc59J4Dudr2XEpfJ&(w8GpR=IbY}kdRttd1G{B z30G}YROst?l(oK-q&sp;+BZ%y$u5RSxPoZj;qWVyL#EZ;`5PUr5j^@`4p;g_grYi1 z)shUJH!q4Rx1{hUZ|M5kMqdnqS}PLb=l2At*xP@^%W#~3Ku^WhV647WU@iWt!mrc1 z>N&y7;X>`Fw_TUB>0#PE>#NAx&1p*N`gW0{h*K`>R)ubP%e<#5NBCL2$ny~|MS8N( zHKH;sa#^0qtvMOH6Y9}TUhSv#%$!Ij)|Xg)<putl|)ltoKm_kmSs#U%V5gUoQTEea8LknxK=y)Bh%4OUP z*VbEda$y;Awktd%$GSLD8_}7}(jobQ;ZB2%@pG0KDt&EAl~oLJI`)q`*>W--7(%DW z9EPo`CQk6B>_AM`|0V`qQodC}H&0bE^Wb0MqiepXshe1OrQho6bG$UJy1hKO3TZ|I2 zro+|99a}cqTWE_8AqR@U8b37VINY2?(X^j^KB{`B-_&0(d%hNr)G{qzqoCW&w*6#+ zkEnG^k3UI2Z-a`Y28(3fdO@mX_v}J|R$2S|GdTG)Pv+`3bZDggdeYVn?X=iwzARug zIg}4$+~l+!Sg}&QXRoripx%L_v|BXBjv)!HHN+lygm1K<+l+I8e*TK%H@AD&bTqb@ znf6}vL9eVORCrHZQ|=t0i~gfagNFfYPcdo^BRl6IGj0Dco^{1J3wE##7Y(6PZCvkB zHAm*$$Nz;j_iZbJf*}d0c zrJ){yovx7v^ae{LooRqXKX&(_VkL>LqrtJvGi6VAyV%#T9$JfL#&9)c*xTm1bTG95 z$VnYrS<|3kV!=bdyv2#e=q-p~@mfr`8?bQ@NgqC>(%D!6pw(oq(AboCd4#z;QB5(2 zpWDIPG5F~NmQQ-5Wt&eQlFwnVmMc=>POHeby#ei~#_kNWpj)r7O0DO0M?z7wS!Fz5 zyN>0^s1EL{R;(!zMTK1wwP0}Gv&(}Tm_YzS3ExXUQiB%wCpk=*+`3JM39_P|m+xwfGa(%(t2SOjZ zVo&hz3nY`V0jHy=ip0RtwlsOU!@P$-%lS~v(&3=i)Wl_uF=;eTBb#%F zIN(*qvz+w`AJMMF(HXxkBi~%+4kD!wF6Dh{5e39gr!$9Um<=Wh< zc)J)BVR)TdY0ZmMc{axFu7zuNx8Rpok=Bl$p^HyZCFKEJ!%MWe**pur3 zf};p{wX~{o$Q>bktF(PuDxlPYI`+fPdV;Ci&-Ptt+r(mA_eiG@l?mfuweG3c-n~v9 zF5)@q0eaIi+;qjWWXvYg6hz5kOWuqBBZyE1LV9z*E>Ha@$OEur5ti!jpUOu zZq<>84vq6-RoTK$6lD@mWY_=bgGo6HX7CR)ArGA->+1P zwRrs_u6cuGoPE*_Zht4S^H}4Ne^FFzxm)|Ar$B<}sBTWG5B~hmL+Fo?=zrZNJU0*+ z@+*tQ`G5TLPs$+tcWCu)d#w8NLH-{e{kdk*S9KGrTdM z?9hhQu=88h1Ur)GRI349wB*t=r0q*z&wbHRI1>0)chc=6sy!cOgV#_Ej z+q#K;Nv7h7=MYlmHA*0APKX)IoO@ZVKO=ti#Lvzgckx)gmgvGZX1(Uq>f;9H?=S~h zXMiz#S!J=1)>85euuYF(yuls)&S;U$vUcL32FqIV>tjEOnl+RRcHcAxW?tb^dj5m0 zngyKl--)Kz7>IYIza0H}^JBP#T#m&iYw6jQhTYlfS1OOietvVlwIJC@;zPo}AMB0%#c zDV`Yb9Y)eOlrSBAb zwKiC*c!MdBP8_y#frtD(29DR9O3N-Ui{ai+|J141lx(bZsnN0`TIG4s_ z4%R4{4LhlrL5+l2qxwikj+TIQx?JYmv6?r!v=S;R#!xS41mT#bPp@zn7ruw<3-S$3 zr!z^jRIcFQbQ*UJ8b`6w9?+^GLC70C;IT9DU3aj*Zm9vRB};1d^M9^n@<9w78B+64 z7pB12kQJdGJ_V(wMe$;PukI6qJb5if?exB85zFzTJVV1njos(CSUG{Ux;&J}4Ie>n zhJiGMwHjpTz!(w07_Bis-2K}a#R@)ID*rCV>~i49IXtsA+tD;wVrkMd4JAXF>)2;m zmEC|T8xB$I0Qt=5hv!Y8^dkz5SGk#}^hLZI`WDUDNp|ZT^lYWo3u-djHrXmhLMSuV zn>TMNb~T}qH*^)#uro!|ki}Hru*k%~&~{OOZe!Neu)tLEWzu_bOs0#_XLW&uyX22zVeZ?la8Q z2Y)}8{@mtaIxHj1Ua{u0|9&|Zy5adxIUVoi{u74!YfzD&CRAbF4%hYlq%{BY@+Bp> z9M^JW_di;}$`PhCCp+gKHJV>W-|aqJrd=b__!ABI=ZBNOwuQI)e_#5)%y3~LoaZnNCc`0Rf_Oq<+IhWxLwH$Q%9*-$SK|fJB-<&{l;!76wi`?*`Kp%_h)$a z*E;&4J+XdolZbR1q+d*&cLzrLO@0U#V)8%lP4am{lhc+Y8qo->d{J}roFT)R);L6f zAt)toC!^GAw!N3t0TOFm!c4B@=<9rcO}!sKks}=Dz`NzIc;5f$=7@IMQ2f5yK#yQK zpNVau+Vt=m!wv}OM1U{j7qTAER5peWy~xQQ{V&g50(*YAu;|?VST9Uuw}qafACzst zd=&W{ZaEgHJFN#jg+svPff)C`73>MzH}ikFBj^}`wj$q!)XD1jYq6*6ksb*+(I{;m zMRD4qKuQAD5JK-yJ1+Rx4O)W8@r_MD9QSLG!td$}UC{NbU%)we`AIJ(a_pb-+F0o8 zP_b&`n}S@F8Lan6-P%~h5HTT9AlY;%FuSC~`B1wAl1-*bAjmT{9MS`;l|F$JxOqygR>iJel&A!yi;iS^_mtuzUSxW?6e7xlPAac`9-jAzx z6pMl7LOYbObGc4p9Ye^eav2I2PT}ZE8PE*`)*V~Rf(8YCF8a7+WB$w^)ZvY7{QOEq1pd%VB;xY5@_FL-GVskb>iKYk`xb47^J-zsutB*kR82 zlSEtM6$e+si$YOx822)KuR7eVLg_ypFewTfu5cJAq>e>AzXBKKVrO$3=)AG|A%4-l zbQhFUcN^6YRtdg?5^X3D1JL@$O;$p5{ejKSQkfm^H6K`lCwQMM{%r+~O5ohfq}TeX z(jZQhw|dUhM9kI0hUqkLsfj%1_Q_N{t1~l^DO3@wU#|P-x2*f49b|$N5A~okE@#u4 zbZf-2MVw>yT`$M0XsRzu-CbG~L&Uy z`)tCpsYXd%91$pjj+pKNpA90nwU2Src}OOk)h~ccuk%cE5LJ<2E#aqmS5!&5*@#xW z16zHMZs+n?ic7G-HkltRyvY{4gO-6!7q3Ib_(OFI>vNV>TZxo=)Midh#<4VBF_= zLk&hr6J@-&;bAwFB6-~skXT|JZ)(@AKE0SQDEizmu7`SzKJ-A7BG_I8<^M@53J8{;hLTppeF$(%w#cex!?OV8ZGtSHzx_Lg?>T7YvcQ6CZqYYwt z{(Lm4s0?y+fZM9h^LQLG&@x}&;1J8tQr>_@+dgw`)-_kJa_v}ki9p#5@&&jDld4Dh z&@eWTF_`eI4MZ8=^D64l8a0j};-r{4qQu!Vi2hsH$5J`%w783d(}E?>zvDw&7~1qZ zbOiJju`Vqg?zJ3-0$jowteAC`M0+?qf6z+4N7dbp9u-||B>om^hsZH+#=Q#57 zsH04Xhzmxin$8*Obb79rapqU?7_9k*=5XN9oy>MIOpQ+$*Cu_QBb+#pz)F*(>yHLq#s{64riW~ux0{Xl1c}~r5xzcK?tTy_A)&O=~<=qdms#%ua5sI zJEJ;>qPrAi!%d3z@M)EL%@x-9+`P~+)>@5o-k46a0HROpH+riNfV`E?W;clhRG{m#^rAfE=q!VQqG7O683Ng!K?JE?EK+!%i>Bba9RK!d|4#uT zlx}N1TK`(K=nGhmq}o`EKC^-bpX4$FvF?s{QaJWB=d*ZJ9q|)N&o~2{CyzOr=3Am! z0S$G%u}o5;S9i+|Ef(i1;cTyki4@4>Y06aS3cqD?(eMgyUAhk3>BB}c*rf6ZCb^sfO7`QsI6;^Ea)k13=+T5 zy+s0@#ZP)KE?c~mq{wdIS{kXUBE{hu|9}o5FBCNC48gQ$n=lIR75<>1)7A{ZkaJsn zj;c=VCd+nEt}w3XULw891g(5j1R{JWs*!YC11ri}EXHApeK)!}1pTG!Y3G#}D>v&+ zaK2jeM6{Q^C{eF*I`_Xf$8cEXzIiwXaRl$4%9!(*^Q*%OjxX7-BqygAFxi{=G+4NM zcoH`*PMkttahK6p0EstIJL9?g**OnnFU<(DG$&xFgM@9d>NL{HgXc?XATRPwJgfg* zBeS(;<2xz`Q8z-D6%wkvCY_}cYnG?}eu}#?HnGpxgKh<3`%us9P?~*B6KQ||M4x$m zZ-A!Q3d;TceD$7}L2c&H1nH(6$RR0^P;|q2BrEgmJfRcB%}s~nz5hmlOpr~)&9kdjuMT#mW$r-t7AR~Ol7SlCKo^RutPlcD6tnEd z8=WBHHnw4^`NwKVv_-ZRpVfOAEg@8JQtXrYA@OBP(4QlUy}X=RQm#I@+{Np3gCRVI z8Fzw>z^!dh;;<*Gz=Z;?b& zL6a#O$(0`Rp7EzF%7Rq*Q%g}ay@|$kUP9+F5{T8M#^uuVnR4I&r8CH*FPXSFj^-1^ zBece&+La9RGaZyYb0KbNJWP8x%>*>uOVj)PzNfjG^0`&^9(Ra=Eqte)=jbqqB~x^( z==7A*D?dKfVHeM+W*t*9svm(eF+N_zBuFD2Kb%Cab|U{)1r5twk8a?yX4Kffj*{T= z;Tk!|v5HWa-S;Y?;j;f39N6)2?iS|l*+9i^yrM;nz@)CpR+yq z?mn@AG;Z4s>hM6cZ$}Emg$6N(^bv!BMokxelyT!qLMV9ty|Mwl!6mHY|%h#fOU4CvsD62%2I`XpSY3# z`bz$oxKjIBr0$z9VL!P2`+nehE227uB22=G8d3gle-*NTbL#+7g-gAi3hrThpHA?p zTH;kp-m$^6F0y4#qR~hb;oZle7Qh;%R;I=!l$Br(7`GTeeoYy#Q4W>j#dN=`OObDA zqiSzecvofInj%7`A!~G(@}!$&(?M1at*n(A-feL?HK%piJmWs5T^m^U$JKf`ka$j# zKj+zKy`zjgC7#Y0h^ZHC6rdAiV`Yv?>AXb~VBxTuE`nCMUfyfgy=P3;*84Ow!=T_5 zQLzI$^`YQ)GFT}#LG}qXt1y}6IwMS9p&ghSuSsF$GNUG`o10q_^oou$tU+)*4Nagk zZWwyjS3To$WDIG-5_h z${#Vwk3C~rs585X+&SwBY{8q|D#P?ERmvyUSz&XC3?r{Csc%8Oxq`d#j3+DurBlY2 zQ=B18IsiDS7Vf&f1vS z`ocSYw(Pcr)6s;}mYE54l`N+}Bf;Q{7p?Te)Hsobm*t)6Vg)XdG~y#|ed1z~SE zPIr)qk9UoD76O{cOaOJz;pY3Ok6f9N=`m$T z0zB66a^XqnEX!4VTOW-G5tzh^XXX0S(`}{2-RhK88CnB9*Ry3x=Lg=6Cgwg2N{n9+ zC&<4HRyccceX&WWtjM58T^B^EZ0sIa+JY^7{V}j?{RgA`|G~83y z38qe$4@;9YlSW{S{ACMq>p#yO=F5{Ut0^NN0l`Q(D7m<9#QZXbW{^JdFnQiA{QdrL zc*CyFh#Bhc1M1Vl&{@DGIhtgA=7V#hX)_MfY>1I>OR8&}m*-gt+nM@HE%^VkGMwB75WeqrOK*K8Wqo`X{eybbPE4Iyk(cipmCo?SI`C>eOm!&tqPQ&O zx&h+lC}>+>U%a^@z4*Odn4Xm~#xa*vtHW0ok~ahWqog4i#r868;k}gV+4UpkM5AB&T0}gvBWnG=8yj~BbbGg zS?_7*vgU!yEr(@~*}n%pw`i(qkjzbkWP+F*MhKH8`>KgkgrPi{!UW(0cezPrc~~)_0S^viUr2 z=d2TZ{AqTMJ#<^I#~-2$PaIZ%)|+(UIzQpQOyOxFrcX1qczuY=`xE*OXRENZgER4f zap@tGW1k<->r=>GKjGZw zBQFME`?-T@8efAm$T18M#k0yKr zQI*-&y}ikQOkmzIjkD~OMY1&g{BM9K&l3dUnO2c$2&Ph=hgj}T)pnEF!onbEXcd6} z)&pKDtcwW}e(Y0(mPo%i)>&4n60hLx+D;McNDwbB#I3)fETHInaIMVoIDZgh+UO)G zLK-t)Di^skGjC=KXv`uerxw~LCoDO9Ww^bJ0hy+pm@`N4xKfc@~oFbo!DFI zBbPoCIo7-^i(g`7&@JIVgkb){^WDB7GN2>u-YVXRa`VB2&ND8^8W1q*v+&U^N2Cnr~EVmG3e9g{`6lhLEEgd|bPr4>dsBzV4NvrKns9DMrav<#@J*r7m` z=eTW=2Ym|laslf*b3*ahH7uW=Gx4+HXF+~=QP!4_R{ls)E*~A85!*ncyeRsePd`A_ za)m@X-RB-hbn=KczH2#pc>a_QarBfow7|B8C-3q-OfyUv{9h>7)upgeK?U=v>P5ny zA{hduLS)A+AMb2(e8tjZH*w)`piT{|4Z$IE$935;JT9e-HHE8i^lC;cF#;G>M(J{A z^zI@DOW7pP260~o#3Ri@uBoD z-2TT;+XUqNL07)R2@CjW3v0C+_0?F@-kmsif$H67H-SVvDuFA4mAIu>wA>o^ATc8G z_D2A|TaJ$au@f{*kQ@nb7&I`x4HoE+A3mmHcA z!I*zy>Y%)+?IXARy`}B?>!9lPL}3$xRpbmWB=g033UH3DtX>vsxYDWYDL6AUf|HI` zx{QPsATlLs(TI}OU-Jn0iF^WUdEAD2vVpkbciYw$2YTc( zkKF!Qt^YX)HNebZxjXF@eC<4;8zN}RU}An|cBrhVO`NL%YO%h~zYCC`=Q^sJcy5F} z;qx!kG5B`6YKZD^(^DwplCZqTF8E`TNKKxr0vy#uh z7bq2>+R}9Kb<@8WAVDPz)Q4@G^%;MAVL!G*?OSkf!aS(|C@}u9?fn1r;5>`pSi^pd zT9>fK>O`F`5cq?*W)M*!=lz|aK2xYeOo34uP2TM;Zv@x}y>yB$>hhl?h(D2hDn!+C zHNQQDEm48_g)mcXIwFDZh}(IbL2$a80)LRy_mf6FS*(z3 zzv%->pxNPyGJv0+OPN}NTU|uV{(|1E9s@+kViP(*fBEM3h)Caj*eQjw>BcZEWdu`z zNHoevIl0=;Ih@7daeskPi21#K26+=uvx!gyos(46vcfYcosN`0YF!baViXP=x2_7F ziBJrkd=D>OcGH@&dTG+qiG3NF&Pg?1$slPl_Qd!uQNW=PjEP3YAMe+l<7NC2)!76) zx$ll5IG+$}#SOjBUU-U&`#)<_>Gn`(Qq0rsL#aZQL$N@R#Gi;6-OUOnTN!ilqO&WL zs~lgt3c}PHn3Wqu(`52=MJ=I&UQZ5N`PcG`geWqS6qMl~A0Bbr!=aL12iP;0C=w|m zBIY}(fa=!pBeMEP;e(&(Gq9i-iUuu&O9TThn$9S*Iqg{Gfizp$1Q-RT=ZZ*(4zfI5 z)gEZBC3Co)DI(X?2p%J$;P%!U7#J7|FnF()&GO1GB!F*+ePyQ@iqgvc$4}T6UBmK{ zrjm&K`o6gA_GhoMGEQ&&kk2@u6$c9*#Z`axHoav^+x+#^vSUjbWkrA>Q&`xIfH23F z?;-($S&_RXcaD9JIJ_s|rgTbyQOU@B6HKknTxF=eZ0U~p`IW=;8%s@&#z6p?w(&~X zd&ik>mvu@B7qDN_`IxE{I1PqfXV1wRoHpm>9sxnNZ;(tC8C-$*N>{~yJsEu4P?_^J zzdC-&Aa0HA@k4eFAu1Mv#dB%tHQ+HNw;?G-#IIoq4a<|=M68A~z3_n_;ot~x$c&^! z+zZ)Yde(qfX^?Wclv8{R;Ej*;=V_OG)}Mk;%5l>?F<(Ot)38IhhYn$#dr~VePHDYv zUy#-;bfgSU>$H}rGYW8CgevXTrqhVYzzfiw4i1SZKrE_GgFRIxYQ*uo$HwWtZy-$e z0t8-em_Dz28?0*6r@KqFapvgcE6QlXBU%n^%7DF_z32m=ke7YSKglBv+hOA zB&+R0SG6GHBRBCB29=z+mKb^t`=+iWB zamV-9iB^D5m|&3W$8A*7aWh!q+LGUsCOHKSc;;7Tr%6y5-!P)KsPPgIe69wu-a%T- z6xjKXgzLVcRQS5TMs`%|@L*qSG<0Nf?Bk2tdU3S+J98u2tL-3Ke;Hp<`wc_eLtGEg zthrlx2MBz%%0AHEPEyr!AYI2L`Jpz){B+gffddG`3n+lsYYjXY$w@oxC{Xw--6GSX zy_h70t(A6q~%WyQV}{ z3)7G{F{^2z)YFU$W6ooa!Sc1)i{^>sCd*I0Aht^MPO?eR+B$Uu=p>)!jIwH> zP<%&u4Q})_WH)@}=#_VpD~Lt#9c4ek5IS%u-0G(-8oU^)LR|n0n)Yk}?`Sxwe2|wq z7fn9YII}gOLMxQMmGTc?XDcsPB3YB(dG={0!ptVt)})Hg?^pq6-3R)zOQymJ36mHZ zI~*FzMZXmxRYb%fvot%!cRm)Sh@2F8gj9kqxMyx62)Cz6PLX6-SceV&P z3Lz$gt0H(aaHjMdb`3x={zAHDn92(t>MF*|N412S!7_K-tYB-HD`;A#Za!A3hk`P| z$jxXQjykWr4%{SMu8U$8r(8;ks;1Qm0fw-6gqPr+?w&zvg1DElfh794?#U%=EAWc+ z&5=qaPL^CR1#8OB(|f$y;9&c*w%%UmS+eG_t?RWQRz?_-@YcR$GT6IiU*I1LbLKX9 zQulx9v2501P>L{$6?I6RK1FfJlj5v>S=5vynUU*SoB&8&trD25?*fnH>L3VU0Wktr zA7brXNX#`Qw>1(VwDD?1hUhwzM?&K}(SplC?@SB^{Y0oXU;$6dC6orQ$PV-`NI!iX zRDPD)+JtEhqbM1dyuCOm3a90MP|f7!o8yjB9)gLKAEF@F!R)IsB&=WfWqpNwRI< zTyj|}AJxNCG;r#}7o8AQe7zyDII0tMi_?vl#bd*2V!F>pW2>AznHNVj&!D`Cc*urM zRz%9xaWUFZ2R*@jeCtx;IZWlXSx*wvmtD@8>)zHx+<^?YNxX8&iWa2DYE1?vS$1Wj zrEg|G7gCLw-D8r$EGkQe&&exb*A|~&eWXJfN9DU>OM~Z?Td~G{^6nMJ$C&3z&=bP5 zY`M4$j9m1zz5%;XTbk|`9QQ`r8a(6K@nZh@G&ojC;76%9XZyiP8VkJ@fq7-{pkWi- zxwV!aoje2UVvq1L6YAfk{%;vmxx;BA$H-Cg3_Hz0%ArARacq3r~uyLMd_}$!^T)$t`pX_X2#z@xq z@BrE@(e>VKFKb-%8}ApP`BNHLZ?lZK3W8j=GD=s zJC&LKv-tMi%23+vFSW0m>`-4*NNEji^}!Z#fHh>{a)Yq@k`GhrMXlwF(M)1YvWbp~ zufp5y&2a2gDeux)lgh02 zzf$e487{1U%$o%M&qPZl%|tlQ)66L@Cwyg*EhP4t65gr!=jp+thfU~X6YNMZK!25dY!c`W z=k;QnJ%hJjygkE#?aI&UaZ}{{16eBHz7oh-y6wCo2!noWEFmiIz0-~h6UMBR*#EYKsh9;g@==~M zG6fc*j1P~gWBREu3y@mN>^fP>-WIi!Q zuwJG5fL&DEK`6c!AkOs)w^UoNl#b#9R|#v#w-?I29htj93%GfP%xdFE%q6F&6ZBZs zV1px|{`?@*yCVV9@6tFZ(ymrdz8TFgK)Z_}ev1k~N=c9ppFnf5hR{s?Z-dt@oc3WB ze%VZz!=kGj1E$;KmKfG)epMg{vGs`0fc+??Y&ejl%m$AiW)yTQl}rcO)qEr9V|05DL|-W8zJp zi;N2xHlGn==m*GC<=d-C@L(f?s#+JD0ntFcT-a)b=s(UZ33#EG7zh_doHjFEF@}J` z{My{c0CQL7<_yzCK?4ByCO-i*3(d_SLE0oi zAj2uWUpJw?HU>$CzouS4#RL6sCtUCQ#(oFZUbF1SBY^x712PEOhSBM9F~wr{x+|kGqeOJoKAidKJHC{eFYCR zX8$&!=Xl{u$(rvIEFUX!RJZPuU7-pUt-S7A7fM)!BwUMMbicCs2F*!>@bvh~1yk#M zMn+s&2S9FTT9e=qc8r1(IE(7&G$3PI0+8zVRI}4`Pk|EMdlpX0kCx93;x1;zOIHZ1NU$weIBSFW%zXIPgFL-^`XJ|q$7h3Nz{^l1lR zQG`5}O5KYM9N62wZ8^Zb+ydg_pHY+Zzow3zDjGgXis-|`I}5~%9I{t*^zLT0WtBCW zo+Qx+WP6^;sW1VDsNQ*raQFZBi>(Y`-+jh1?ViNnCfuLT z1e5R)To$bPZ5{mYH}nZ%!|`PAB1`$#;l#NCmv4+E{QE@~ABb;0MjD=z`TJb|>#N_w z<+tA?|NSB{KP(ANv4Rt6|NbTgt2I~ze+mA7##jIMHUIXm|L<%5=a9Jlzg*2eLkt3Q zZgLMtA-=!{o}K;&6Ofg*(}V-*9CIVXgT1c~5&ya@)~O(g@z+cA+g$^v1rP8hP3|JQ z=w({ir>hC2n6m*QOoHhRWju>mKn@%G2A%DnNzDL+h=XRzf@ODyf7zTk1gn*2Ik79t zmN$SKhz-1P93;?1Fp{#}F`K$^2MD4+B1WcFl@OZHJw0us^!uvQ&vwO2SPZhPc;9;e zlm`GSoRqwTI}ky8Lilq{1x}SQ1la*t0RW%yC6XExiw5^$ljo9 zt^a+Bd0$c~VN$Qn13;TCgjDxxtU5$P9I`tDkXn}yA>*~-LYKvY9#0tJ zd#B0nvLU5_F^Jt7GdVtAl6DupGsLpCJi-m}E?Y?tb~~a_x%=tULy#wLtf&n@a-c@2 zWoiPQ?RSXq3lIYsXdX$x~B5_*E9+^Ye$rQ&f6T=JY2 z@CU!M0As2Nvqe1O*4E1oU|*9C1J%j(%9(UUy(re>h@qVhp_UJ$QigEoR!`MILEpT) zZz`#Er=%Np-s%7()CvV$lgsmnI_Y@S>JBz#BxPHnH}cM$+6+ zpxSmclnC5khGAxSe=m!3FwX>*!KntiGUL%+2yWgurH@)R55bdlFH}U?^xw)T{_54F z_MPOn`8J~j$C&E8qjl=A7^+XZ;(K4jQFC1R%&5`esRe4zQf#BH$CPfzr~$N2kDkvQ zi~yHz@9%KWeDpf<4MJgT$Q&Incd#0@pcGCtJoYv0zfVgNJykW*#x-f?@07?Th2_wv z6XGFES8~H8NB?u{=~HyY8h2f`PhGa@)f|Ilxygln^PZgJh4SpYW{#2`?|a)TwO5oy z$oZ}FevPb;VwD!cN!!EaVm-8LOwQJDJMYq>5m;%}z)K=dCreEM$Qk=1u*J#JQBWF~ zQXnb;s=m87T`85PCf}XFO>`{p^T$;68!1Z(?EyFsYU&U^`U;I%&|r~Fpi~gsbfhJk zTD*H4Wp4UeuS_Q9;=_w)O(8)kSznEjz!EMNkP!T~jX>q!{Exgglug6$qrjDs9OBUa z@>+t5@E$a9SZZEz8h}^!5iG3;D8lvQ3HvXEB74<}9rl|Rws9X_Rn4#I05Vtf88tqN z!FY)FNPNpwb%6}uh;&gpXK|H7HoRDJU&wkI<~Z(i5o$Z4U^k(G`@ZuxNpYQ~2OD9^ zYrYkvc-2)kC?_r<#+Um0C=n||#F5kD(&ZOz*aR+|ltugZ<4D}_0$6Cl;j3h_9T%gW z4`1=daF+9^+lk|8*Gg_iQ-84N2lK>{Corc!@hpOhtIwFOO$Fkx1SCxk&-Z;j*gV*` zpv`L1&cR`$0st2-F*?34^|Z?}7cIQGWE1)ZR`TYJbL%KdxbnoGNfPst;w59cASXyM zqJJSF{8`U=yx`IXV}3QTS&ohA8|I;g_^WDgXxtH;|L(WyVNQa?afqPjYXhx{sq^g zc`?>5nH75logmp7(BdL$QMYgTJtWk>dz4b$u-sB@{krZ#18iU@+f(dUyM$;mJ0DlU zv=aFs!BRE~{ML|kZS6*JjCKp+2J>Au*>Lv^kA5j(T0Dv~n`Ue(JoYZNXzviM?CI4$Y z@3wSHW)15-=nktr)B+l@8q zWX6(>lbKiwkTS{fP)zT>o~JPb`v!g3DO(34hX=MGJ-{aZ5%vr+ zU8n?XmA7(3`Jn=APF*5rxkTq=^!xnE<-EBVMUH%Us!W2${C@f~Qkt`!DHYyLlClFs z6!8(XK$hU|5rmZqMBG_U2OI^Pn9q>zy*4h1u`jgKgBycN*G2Y6pPzdi`+0)jXDCc5 z4P(NgrpH1Vpx%1b{80;^H}!VG?#64cl&7V4A)W2$c@>`qDXCf0f9|P--K}At5Cb>U_Gj%7>$0I?FLob{svdd)iSwsUL5^0;*z>d6zzsx ztS{5UgioW%sFhP#B-wDBG4VZ#s!h?uSEQY3V|mIrU~?m24>|e{E-*-p-Iaa|33bJ9O_e(It5nb ztaT+N;Z5=;)PmIYJ<)lc2VbB>LGw-4^m=)w4TDl9SHb2WlVA)%4(p&{6v#y~HvJ`=4F zi>WY39g~@&{q~)4m%gdTMR7t)%YK7o+MI`DMJc(107+ZO#tud|yNhF%_YI5)_z+$| z{H2QD7R+-{h5iAlTiG^)P#et^Pcc0gr}POxHohZk3Oyf~!x`tmW@ zlMr?EKY^ICwr`rK&^7zgC{rEY)it1XUO>=jo5hbof8|qu{1oc|siuwp_ufgrXBuz5 zd7+D64{nIuRF4~dO`etcVMamA7mo&O0OP^rH17%0z*BswT!W9jX>r6pJ**CX)>gQX zklCP1V~Wi`f3-24FGlLKv2uk%v|$H=C^F!CHY=%yCaFKkT~%59Gs?aaTm2~zh~&yhK=4@G|DXK#(~EWZ5v{&lc80z$xYlN znm5WhyuX`L%Y`>b*;SdIS*W!4)d}r`VA{tX+-RjMnRxpiB<+gWdHiX1{eOLVI95+# zfzY|&luaGguDzrR;`-iXm;omd%N@Rv>}z-r#;E33Wd?_+9}Vvm293RJf4ni zMWyv6-`}O#WWC=^pk^00@fBgx+d=o~S0*2mh)ieNl6bS<5D=asT)_5hlJku&pU0(@ ztPtRY!sJJjqM_hZdq{cn8+7z~07>gaO`EZ+d{e?abW}t-MLXREJ1s`{J*YU1)1^MS zDKVh=g7oo>LONHDC7Lq|%IaF&Da1pD>6sY3Q-FMp8@W4ud~xm^g1GiVf9=Pq2s1S~ zzWHaT=m^s#`%Vr6jl=lvQjeMgZTZ2@{K~1r`etz(w!$P{h0PKXUzI(2 zxIG;+)^um&w2xi{`h_Z-3YI+@CA&}9e-AskFouOjoSJn)INrj8&^K>!*?k)&REvVJ ze+*K$Ge|b~Nb^RX=M@k*WQ;9?Z7to|QRX}u#BrK{w0ZBALPs5jdVnZOu{?@@>#Hq#P_yXbzFW-==5`wh8t@e?P(%cn<}1PpDCH$yE+0Ar*L70#`6T7#LRAuY2{#?F|3x0Z+qEvK-md zbYU4H1jf)u|Q3O71#%vpU6_`OuW~=|*@UtT@l0 zf`wjqXi~E=y^+2g-qe?HX#dD{pung#qat>A@+o#Q6z12fOWms{3k}y(2luDx??C?H z32{FK!a{7K=7n`qd1(k7l!g*uC!h5|2Em zNf)pOZZ0|WzSoTEexbA!`eYe0-!mc>%(L$T&;#hy)%ixWyTsZHdUV#inu3D92BSW8 zigz_WEf6yew$i9 z5aN{Uu$ysk5ZUnkvc~`Tt0CZ-N+f!l@xPs7KlUYSz%!KuC_iTXM8^KHUGbPeW^FXS zp!Sa^`T0$;esFnyM!Og9KW@$!(h8HvA@AQd;U8bu`35eNMx8GEkDDt1I5pEZ&*9gq z;QxX(Hx7VPGZO+d<^SX6P>}EynA_0*)a!_ z>?h`_`X4vf4@Yb_y079t#+4M%-0rrz_cZ@;b0qLq``OC=zk2BmHl*vHv#d1TfY9%b zFhR;8f7RUjHl_*oiDS@CIa4E`-Gi5sSq&8eqNHg1IR;SXd{ODN>p2;$Ot&`Im0lS2 z#O&9bXL$`T^jOq_;pI8tRpEo~|0U1UL{h#@WujQb{I1+LAaf>InTH(bET}#4D!{(^ z0H`VtVz``$(I0+;++*dCH~4nRbGKwB-n#}EZ5RBFBhAs+$eBL_ih-d(7kmIRM;Lfd zP*|6!#9cMk0F^q0go1<|R{F(oB9C9Wyp`|~BxDI}AYWcZO-TKE(^L|{aMy|=bb<6w zAT0Gncw?32@R;aPU8t-ysW&d;NyLgAJ$TLV@ig^1Ddv6t1)%N`lE22^gC?%kvNQ;1kgoG#{ z-60zZ>28n?36(TJI;0U$x6GRj%M-sNp6}gz^M9Umt~hQstLB<>j8DxF zq0flu3WuDFVoV+n#4Jmm>hMs`zRU&`#?9WGv6%_oBE729t7qj&@_>RP-Yp(Rpf^r7yc6SuTX+_It7WA>F}eNW zMcd};R;=^GgD{QO6Zy&~r|(g& zM_=rCM$CZWP#zOaUKuTTORQ!Pa;;oC|0l_Bv$f=YNLEj3lF4$gHBqF4o&8486*H+_ zYe%w2WoiC5iPr;Bm_FvB-%2lh0~rVY4}t0MZpIrlv&a_b6K*u&T3#&ex7KX8!eQU@ zMlPZWEXGVcX}*mwXD!|poI$n|&~CWs5a2%yXoz-7guby^XsKgdC5-o_9D%%6PE~-@6cW_eLCubc7e#`^lfb~<^=@@C0Vzd$2dR<`Si-KP)pL3x_LpJ1j{qkxE z(qcoGu!?EG8gS}cFcp<7l{LL&ttUx*Yg=$%AP!om7o#_w zyDUmWj}fK;=xcE+1rVxh2tFzt9Q*@jg!-)m1kEA>|NEQf9p7KC)dOwgIxK`s25Gl< ze!O$vXLJF1sb@$E#AL3d`QcpXoC>OxiR0IXl40d7l^>)?op?_4Z#`0C6A-X4!)#KIerqBq+7G55m0i*BtT35dC{7 zkG7>e6V@NnFe~W(>d6leDM5aM&R(-5h@u}s))0*LEvqxw;1HThlAgAXrg9yy{cjB2iWLlqv>aPhnJhgOgi zj^pyV5(=zkn3Q}@5~;>dK4+V|HSs)m9)Y?sRMI^r-m2=9KuCx$eMcGD7fOuP7wj10>|9qE8Lxx$F zy4hP4A%SHvMJZ3S0C&J&(z_a04shUjW?mbX_iaGl?1zY(@gxzY zlP9aR1z@d1#s~=&ZRzVlTNPtfe_O8v4RdR%}tOo0}U5Fo`D{ z1K>OLoe?5l^9gMFS2UFRS1#4iddZ=w38l+7RA;}xg|Gt0wcTo=eel$VxUH4)>8kc0 z7w;d!;)o5as4k9h-k=*uZhs0z>|v694`=B2P^SvvJjS7EW9E|Ufi8+1+OSGXkO>*w z9G-U+?X@V(;n~s$`NSEAQ9Bh9Zev9*h_$MLTX@b{cwetoJ zcoMWo-S~7>8?qgO%P8rRyk3SRD`Mo1y6yS^hDIGEC2mKh^hPmqq?=$d+I6$v^Lv&2 z0wVkzC%%35b|17L1hjE5SgamykmuQ+e~<6d*)Bx*s%1nvL_G0($U=VdK4f6A;=H-> zoaMDE@_voO`xW?M687-Bz^FEu+iLwfc_6IAKa9Z+oXIP*+wiCx;va=7Dbts7*W9R& z)a6A_BQwjF%fy-F?oLcc+k|!UT5(`drcAtecmQ8$6{3yK%%xUO{2DS?i2wk7MZjBC z)*W!m(CjcOrEoK4udX_-v zo*B;&`aZV(D8i{A4l){E2!IN$P15`nyX6>H|5QtTZnYoWe7Jj@mL^gQ}!X+9(I+T9=jUbT@C&<(I z_^d?egW)E}PFIiCtEc8^>eL^p!r$QYuaFWx9f~{vkC}?zDa%5MZl*wSIa2LagaxR* z-zJr#^@?R3=0^VyRD_l2#cZwY3ZTWZWaRC3^}Y`e*llrRJt=WcAzgxw2Y@JHUZK`6 zT*2$#UPxSj+FcthgEnJ|poSAgz_OTRK9cIyQ1i87&tdL?86;=Hesj*nzS#Fdq}SjK zpb87Bp966d^m9af=z3WKt-OMHzNe`M#)KL0q8}>S+6=3M{;8y$w>jxD{-d^B&|5Rg z=%664WrE7xyHQ!`aLJ6~Xf0#-+T$g2fq!c#1GOOCy-*q^rE9Cv{hzyvAv@qzZ(iUt zaZ*oW9b0{}xw9lJl)LgDW+d6~(uq^yNsbS|#1V^%^#~LZRLd#^wezIV=X~6na`vz* zgaO@#0j**>S1zK}f04f@UPpUeKcSv!Hh@BmYPrexP5%^T35MeuO0*|6^11A55j!0o zi+)!Y5gN~Hge8hMrf&*4km_Vi`~5`Zb7{U6toME1=(7L5@Lc;eh9Jxg>S%_f-PQf= z!fsU&@1KUmv=h{#WH%zr)SHb=<$WJCo^}6Vt!SZ;EJ>xv{3UI25e!ZVMJ`86R8LMQ zQ3@kk2pQ-Fm&5d9+fOB;s||@rFcJk+cCq)LHG?^YnafufFxpz!U*OVf`c0XP4#}m| zruunr-ftZBgPF=Yor!xQ#mz}aiM$K}0319$DzmZ@=Zfsy3)EwC zlrX1_;I%Q?OFZ5knXE?o_*MHwZCf6STPZd|?;{x;*4o8Zbt!PH1W*3PIC&alu`_>5 zpN<_WL_3KtKimISbglNWk#26<_BfQ^&oTBi6Xb69xN%Gx(;k_8*~Rn^7D)5>TTv*^y4&F!mEOV zvg4{MoOWZy-iCYo*XN`(eHYr-9g?AuOT=ei>sHgL-!YvC#>W|~F5UZ}`#5Dq?Dftl zH#j35443S}hW*-)mOzbIBmw#yE*c8Q89s+Q#)yz`WEj!Rn?`{OVgk6t8@FXMv?heZ zq(W2DGj5cbJ86993ll5KNS*5X(T{rDwU%F%Z<>5*?X5Cn!EjIEOCcjPU7=JL_qI<^ zMx3XuW?(PW#j24%sb#X;>|RAR$F_Ja@Y$F(TAolnB8bR*vJXYUB}VdyPqECT=RNU@ z7Xj{M^5uGh&A#9Da|my+lJywG5r1bUY&Al=;j0*~A8CZe)H7cobcdNmnZnu_kt{dV8om>dmQ+t>s*R=V1<>5o3o3t<)5YKE-Efe zl}m03&q42u#`Z;xtpI6_q3#E~n@1IBFbWLTvJ;PX25iS0NX+WTZx#^Tn?U8tWZdv~ zUEvS)R}4?7H`_?Z3R%JSFOXj%M5W?uG)y6)3O}_LKBcBySuD9cPNbgO3#-oH%c7b~ z#mp%_Q<)eT;yM+oau)XA&>|mv5z(CU@cx0=igL1(m(J+A3C>IZo8`?mmFSGh?JbZGU&3~nn*vA zAJ4D?7_Pw-9AXS`$5ZBH zN{$MI(EXS?WGsOZIl2g3gT7MA_R`JOAM~?HH!MIC!6=>szP`F2Y1dmR9@~OQB&aA{ z2N8=94WBx0nsA|>H}?SAQ~Y<>G#?oXmcFDH2H`euy*4VpU(af0GB>+pHmu2atsPy8 z-M4X!XiGjTYv!?8@>uB10yk~uZ7x^Cd0Ah%jQs=u9k35uneafm#B<}b}!N1zQTx8&RHUkycc@q%S1 zqg~R6ZL|CEJr#4fz*6aJE8&u}fIosC7C_E@qa1*LR#~0>4H}9}EF3 z`--!m=yOgV@vXJ)v|i=*j%BXgdRRQ4+gt+@GZIABTdjKw@n#{d4a!@+|BS8fKH{{K z#uC<&2;l}fzUqF{R$j{^8M>$-wzBs1J%q7yL2CXS(&r{V3B<)3^1_IZ?9M@wLZ}*) zie?q?AgsLMFfFBc~N=>WdHMIJ>DFs9=IXFuGM$=X`+ze+F zbT~J_^TFeb@^%Oa6r&2zK4l`*Wqc~po6pC5A{7_F6IR?3mjMfaps{0;s)AY~f?Lt*Kd6Cmp7006FQWwW3YwzzZnUxS0 zps&)*w=}y`a>g!?)@3nm1c^DQMa*fBr{}q<)Ma4oTdF1)kp$#4m>9_dp8`X(8Hfci_4jd(#~E9*IkXahJx)7nys&u z=_LB|ikmWqBWhH|iMgS!3g5)_n036TPdn5V!a4_ek6-3C4jhw~Txd#8#?EyiNjc}V}4Nm5Mv3EOZ zg2d)M|z%bM1=Sme=OuQ|1tfx0;!oCsx~Sw#eLfBlT{L*qSyQl zC(NK9o0RDOvLG@@lNsOLyf8NWr00%YycF6uws8KJW@`Pvb19UxFjXZki_v@9N?6;M zSIal=#zI!VD5dMEE`wYiXREhI8x&i2K;IYLgBY#7jr13drF9jb2bJQVEG_worRm-j zP{)<|b+Hlj%zznOIk3>#tQf(JJYYApfr_&&iE{D&f1rT&Ig5i2j-s9ro3E8`E-mcp zpo{qQE+QhtS{Q#SqcH^zShfns`JG)(8GU2xm%{C?mH!nhl8yfkAf^)S;w4_K!XMxR z%wGSqe18Ig2V-4(5hEGsLd*Yro2I?684Cwg{8U6 zvSH~sV@Cv<%k(MSOXOu8Rqlsv^Urpbj~*R`XbAkfRHGh;!zB3=VRx_xqlGV$R>a8* zvYaek=+@+Jhjm>PH~$pGiYuP5&s zs`#9Z9bB}J_P2r*uuyz>(xe7)2DxmcMeQj10XJ0dQT=T^!irob)MS+Kh}VZ^;ivo- zF>eFjrLxChqDL$*2qB%}u5NQFPs64iBtI)>sUNxBf}Vv?7#AwFOhsX`T<$__<}43C zK3Rqu$Pe%WRvZfcTLB;nkUb7dwdX2&+I!$^(rcl^yR-ufGhkOG9WalrD%;Z^9fSmi zd2oJFpVSjVjvYU%iKs0Sid=uc*HE)~mY%c3Yb@otXn#~u@aK~?z6>ZTw%(6~BNgMH z|7(ZXGgVS++m23ffBGYs5VkR4p8sfh^ap4epN+7M-);LY{B{XHe<95Wu7l~-u-{Q^ z_mB7cODKH&Am%LZ(Q@|BlPf?9a-ZDYqX_9APXaC-K7QM!ZSX%%jtJqZWbG-AP9}d` zs;mlpY-h(aAMig;P6%cKqNc?oAoyRS;JY|{oGtAabCi_$^W@YJwo$0x^?%&g2MF8P z{p~&5|2R2pnD5l+%5eY3ePx7?|DS#6)qQr|WXLnWcy0?S{#rzg$+HhBS_4Vo7e}D{UxrD>+bAW1rUlR=?WfdX7>I-ajMLclTr>pl zd<5xrwSO@+^C-I?(Q`g?(};RqCx}}=9DHvzAfqCJhB3wd#|HF8xauz<(b{en(2Y+E z2sJPcI`1dVk^pgOBWke{7bhEpkOd1q_Rne#O2j{Aq#uhHe?){CwNni~EXzlP*OE}4 zGI7E-H;v1Hbv3jPfX@Fy>sI;3!r;xHNP8IbW(`1w z8~}aA>o&seAaJmy6AtLGj%L5W%zITG0l>8BHtiSf+AhpwkDxfRhpmGzG$WX(QyW;k zR`#SIXm~37(rXT_~8Z z48b#9QAI-Hh;VXB>pYdmDKSLOf?$^98PUKV=#z<{uZj|~2z3bzv4P;L6{lNpZvLkd zkqGM=q`E^g5tgBHt~1Mq#%&yIu#6?H+1mhTb0bkUCDl}AHIN2Cx(Nc47ss{jxA$fc z!hs8I zPPM=|N4s+W*n>Zb1;;a?yvpzeA#>j&YHaZ5=64K&qFe(5p$II+#ia*rjeC&`8DYw{i|<-VZ&1Mwt*?7w&Z%TP~gNgyLG^zVP{`U2CKuJy;2L zCm4Qh@y{tta0+^OMvH-kqDJQ8y&L;ruBg{RlvA|;Oi{cwNW)63@xvm^I9_JLB3^9^ zwL`;%CTIq6M4HRLm(ZNOHRi#x>fUYajkU({fEP>&A~>hh?p-Z5m7(IgnzRHiT2)w( z)l9t@O32KMFXOGc0+G)&VzF@Y0K*dG0(Et1rs`nHMhkUPT*6m9_v(B;qLn*&B1C>L zb@ZFlS2nh(R|=e{=#F(5l!5Q$ToKJ>-Pmi71EigTlzKZZ_=T?rn10wCVbtE21!+9g zkX)GVO9_no{9m6?Jyb0O(l}o=rV@#jUa{NZ1akAV5M7~g==Ixkh|szXSl0JI_!X%N z?4s>6_oRit?Nx3yDJsxOiQEFf92aSN{J*xht7rIO;v#BLlAiO|*6uf1?5S5G$vlvt zhvzrY=w1~$s&KK%oeksUwrL7hH>BCoYbdx7m6&h2EW!lST3TbL_T5PgTj9R=L}a#d z;-UIlx|OGNXK~?|CIHRuf@WJfBQlXG&eV${Y{=V$^Qat*~SX)9}o>V(kzw` zdO~B%MEp#i8s7a~j$OTIR0O7cC-d7Z)3zeAyB^Pq5J$@?Oz(?G%mt!lh`Pvkn=HWw zMOJh&RXhi@emBc5broVf=rk*tcZWA1$g>kD##kcyoyLW1`r>(zf6P1EiV5-TPD)W*WK?;*t~Rqu;Ld2lmVl!FGxtvBKB)l0Qzl)Bf(c-bC~t1BK(JUMhgN7 zRI0TKe8hh?0(!-ginRtDv>8y$-9%<0&p7-&$!3ZgU0?_?5&m_rKZGKHA0TKeXQPOr zde>icRUGH(`03PJOUHsrUmVk!gE!ALrx^h~addMppRuq+EuQ6_$AhGt;A~sN&4MO0 zM8ukjN2Qxs!yrJQ_rs{XrO@7I@N0TTA}LhI%8bQ4<3t}?U}_*K4h{bWU+o>22I7MsxV!x0-sgqf=$Zz-`QRp-slV`u^e8AR zFxDuWQcX57_B=_{ct3RmqqECS(j#&ds?JYh>I%2ME+r6T~)t!kfV? z(dQ3BYGly@KAHVfn&a7q5B4>ip|W|65~UE2ryhnNOJZ;&|Mq%A2z!4m?l7Qe)Ec#j zhz{Jflbn2WhA>pp+O&m;89Xr5*2s>Zy^VWbz>19dHepq?eCXX!x%ADSRyxo*NXOQO zd+vEPF&7WTwk&+^AEfTG@6#--VHj3!*;TBb8r^Bp|hRTE&@2s z_hFIF`4Kre71P{T^7|hm>d_hUh$6_RnBBJ}ZqY`onCIzPhgp+q%VM3!WWp}!$;PZ9 zrs1V3mr}~&#qnsVtKezh*ypf346ngs0|!F%G$VR}LV>;AU(!vGS~ zxHVtB;El2U;cOA6O|wCQh-&mG#_Y3`i88lV?hc*4E$CLZx7w_8QfX(3`_NTLkR}I- zJF~V}Y36j*T8*+M>rpgI5pjQeA>f=KTkIvX+A}vL%d#4&ZlAB^lzm=5d8bZI6mm^$ zNsrs-)Z=us3)yD3T0j17yD!Vpqn4&=I@&LuZ%P*yCKLLo{B_1)r?dL$fR~Mr(ueG& z-Z$Cxghe!A&M7eFAFgYtxMZ#uI3vPsA>&&liN%U6k^7l5DnzSn!C2$Ai^ZEHWi~#9 z%8hbsqKQH3yCr8h_{M{dd-Z)O*5EBQt7&DQb50NtPj)4AnykXllzBUCw(heT3Ak_FU(7h;ci#^rY#xYl3u&jL8;p>X3cKI*^zBgG{B=Hkdnd1@P(lpgAMaL2{G%i zeIxU0MFG7N#G9gqwOJkLq2A#EF%1EI=seeCX2m*cos5P`Oa&s)ALDuD%=b}@UnlgQ z558ZNo}_#3LWX-M^ZQJh?(diV$X^T+0|;SzXDb6FKtqQsENr;UNZq z05Ni3H%ebn+O05tP&T#68^ascz{ue?y<+n$?j%BvEW&HDYSi!KI!QVfDM9#dh_53I zq>V*&btTgm7~=Ct1*#O9eUrX%9H8zLa651>b5G4+h8FFW>(gO@4S(vNHv9s>f3hkZ zUk~eSzOE`%-X!2PWLP25e6Bg)#pP#ozusC>$@d$F*D)bEb7$IP)Z|iuni-g95on%7 z&Dun7GfX6G5R%erSR2R{mhHD;b-Ec8D6V>UHsXv(N%wPAg3`clPPavNf@_1+AUn=dOkUTMZE92345l@+9mQw8z(H>DqTstNE+xa!|c zwYoL5DrLwA2412E<6Pm5sY9|stb~}C)1Nh0?U&Wn^Dd(u=jj#Z2@;Chfquh=`88QU zN{%q5^Z+T=jD63#H><3Xq|>Vk^9g^cLrZM-z^0ln7>>xMPbA{nZ8&4;_}PSHHz=82 zUP_lQM+8Mh-XmE`FH+kD)#5}MtRli0-M_}q--y|`6|*L;SvGY^hR4DCpg)cnoDJIK z_TF((_lum)iXg7AYIji#yKU}RBd8pk!7klAODFVnmBh}p6)jR98qfA z;{O!3Mcj4L=-~Btvdi$;36zf-a+zIZg8|t20P}fh={Vt z!0Ko$jkXI)&FDq+x|2f>fcs$8l^iD+H#Z4fu-eBjwU!?2Dwf8e`gS7p%{p6EPOxoO z^3xU)9xuU{?JMB#B2W?QgZoS(DDC3fyJ6tc2Q?YvW&i zJsynR-%fluJT~*lc<=UC=yGI63m;wGnzDDV51&4Ze(?UaK$x9>sLSntBFY(vgwyWp zV%}rZMsH%7fN}8pqq$RdJKhBsh1@HNS!sW0t!d?6q zc*CreF&!}YazB`<(d>qs-!Z`O*}Hr`w^`{cH(?Nx{X>rBIj4^_*!vSb>qy$9aOH(wDL=7RLqVG6p_i#&vtwN&w|MEE zCkI}fF9k%b8cy`On;d8A<#9N>%oe2mU|_98W_RP4G!_QLU2>tpw@;jN zs8QL(esauz*k08z%1GbR4WG$CvfcEg`T)|o5Yy6sb#|kl3Qt>4@bVMcs?Ms&H&s$` zNjPz6$$PyhpbNuGfkespWq)<}V32~l_!%A9?-la98Jo`i+PGMOo}Ug%l)_iGNt!5Q z<{s`lf!}cgo!|Sz#ga1>eVf=7(t2#YShvr9pdozAz9T4DSNv}1g|talXENQBSq-5=_HDRIVcvc&%9}v!52bJwp?}Hm zX?tLv%=1X7?&?g8>~oJe;{kT=2kDE+Vz2dq%U3@1kT>Qva|}LQL_GB+N*M7Gvh=*> z7K^P{WH9nDMT}yscHN(wZ|D94CqBajEJsIbmD%aIGa_B#K4ybL&B+v24a zVW@MMUIPPZ^AdA%C3#?B%THsUt7Q;T>rQQssBthnC|QVMJ&C!@^$y2DkVM!rG$TObWTLk! z5`#RyN`x|xz@BR6JC)%Vk@kdv7cCdmr)9InzD7~&!7S%{k)C#O4S+Bc&Z{T(#j_NP zMeJrk`9|m$ua&8kA;Zf<#2n=Pkt*uon4rL1x)KcAxtwI150(@-+|>rrpT2j_nKBQX zx33W-t(G&gAM^>L=wrk<(n5%+=S6wH zA(t`nRCf-J$aq7bn@_8l!b7iA9i~?G#d%@DnYyRhm*ZR5sL-I)2Xmetp=Laclofq| z;O2z<6*oBAsFhv}@kHC&ETo{r$Tlis(J&x8tVFJUG*M- z9P+xQ@c2KIw0W9%YaiEdC2MDuqP)}bDy)5!WrAVV?}RV**rw}2M@QJRlD!4Js>7W0 zomXM|R6?8kZB81WOp5p#Lb9$KketrAwq`*gGZVBx%LS4urh~ufpNf%gS)L2Hvu1Z zAsn!tiy9{uCmp9QS`Nc%$1-CI?B@mv_D4)-ET-Dxr&A!aGRZh+YR0!ClZG;#@9OC> zFqJcpxn9Vxq=T+J#a=%v!4{FXhrr<^RC#KF3ApmYTIqw63Ws^M7?VHfmHcn?j0<5i zy*ji{b#;envcZ*Yji+df$XK0mNJK^_;Daf(Wx`b6JN#3~_MTQW&KbSo?^A|WE=7b~ z3p8mip(CI}pwq>moCnw&{?FtYgwtn}oc4gQ^FQCHyW2N16EGZJFOZy(t*DcRU5_Ch zs8yUr*k?3seTmU=A-4(%A;vqFQqSFba7*l6s%XX=%+DBg_k%XpP&^KMlIoykUmeZv z`w_4fow3+Y7uN-{-_+Vc8G-ZlAV3j3nFgwK7Z-2i|vh zOL$xNzh}u(nPuI@cHBv>?6B_d1wcOl;nfc;c|BcNKF%wF z(p!G<5l?juQJlk z%$F^8#Jg)x5@%QYhnCtasBG<}v|kMNaU)9BbDYGzVzgE36wH~1g`W_pB zILCLLf#X+lU6~syzqnJ)Qrux%-cBGa<(wcp-1T!!5*3tJL=Svj?1?K5VSafOvvN6a{K^NS+je|K1iE;pERT7Vs?zc8lb=dqEI;${Rm8FmlvBD# zsEZ;yZn??$KmeV;zZZMBP2!Oa1k(7;&o6i%Ml-ja4n*m`2G-VV_@U-C2`U%KqA_B1 zt|j5@97UrhJ3$tiDcyv3LYHrb`Xb`8A%+GkfDI;T)~F#EQHGWZRz*}C0DTpd zaIL6wt>LNA?sS3TMpO^2_l%7*0IH|Tx!lv`=$l$L(<4JyP=n{TQWg|6wd?Mh*Irjt<_WyxI_&>}wf~vg-PvqA)+FY;{vu1GZ<4x- z_eaIcsjex9g#?5AaRQ{hMmu-pa`apu{If_Spc92Cs%AOs2z@jp5glh1fm~I$8&&;V z`kIq?6xWlh{d*aQNywgSe%4!8^+A2pkC;(~w+G{m3YWkm%sz;tbMw*&!IK+SXQfY* zTMFV7r@eT?5P0mVHk!O@ujy2ZMH&&*Y{NAWp`tS@p~{8?V~bg)73$Vd)J$0WooF0& zE2yG{byZ70#to>euUWg2Ny4f^;cZkRlF#ZkUX5bNU{)BR%nFpEXdhf&m;T^%P>6}G z&`r9O1u`ur^ZWWDmiiqu;a9#SS+kMF-?&=~Hb@QI`D(;(sNo!KqCajfAwlSw$p-%L zEhSUe`tWOt+mgrX>_kH;dIj9o<4IRwW)9G%))wgH*Lkf^7ME)KmeUuavm`ech}to= zz_z)i|86ZpZ_ow5(>m*hhLL>@t$Fiw-e6CmS|*$?};TL}`5aiS_*6B<3M^3Pz` zpjj54a5dkbENm0MStC(H=oN<@W4+y;Sp{W{6u?Y}M{C|Wy?urEiZ1Nv3YOdfM&4`$_C9e zRu{C}SlSxYkE4Wk8P-Y1NzRYs`KAmy-Vefa08%LMwu4(*_^>o7S!la(4(q)~|2|sfzQEUQHfE6i#AIM+=Q9wOdT=5{lj z+Fm9M6KZ8sg?;usJ3NcPAwSXPoG}HF<+ISvEVI|z7v<|Nec+n2)2Gs!E_CoUr^KNy z&$OSILARfO$!zX7ZE&#`ZTYmPHJMTuy=)xN=U*vkihYgy2do#A6E*jKyli(b>DA=e z>F6e#L5U)=czUJu$WIhN%}=caLY3 zV-Rm=*d?mHQ}xkKuf&T_VHJ{KQfd8xVT0k5d!9SAtV(f8G}%POEV?W?Of4gG5wZTW z5>Qu5yi^S>cnI;gF$rX9QQUm)MJf;Mlw6F!Iyb*A`zlB_P(AQ_$KFJnTYLM{J%+{k z-Kkr&>QjZwUr2fqdlKk&&6^9NcGNzJ9;9B`4;H2_LbaMnA*L4QU&u5%Ss8eLHf%ZP z!97nvKzR$1Tuy|X9&#EEB`peq?6J-j#(j=l#*M1j9dSBwF7XLm);gNfj8y)?BerqR z9R$!Awb5xOkR5YJ1A?^p)#`Fek5 zp{7L~yTkm`m4{fcaU`_<30omkd^{DL@WszIKV@#7k(le>x>EIbtwoQBPKGt(_tHJe zs(eI`>S+I5$Il=~rKBCGJu0O7Q|$5?4wJ~_^1Gz%=YjtF_Ftl*UxZ4Y|J}7Cjds%|B4-`wZ6Z1uowHK-1(^{n;k%-w-LJ_*~?GrJgNcQ(`J*BRRy9XGIyP9 ze6BR)A9Yk;2@jD}fl}`}{bM7^lfeU8`DfpGf*6Hq(-=}3?D}}ilKxrs{&8uxW}dG~ zl5kQ?C;}@i-htZ9c`BoL1PQk(`e}f(VmAM`R8Pr2zQsy-%NU|W%1^--i^R?x5O&Bj zAM@a->J-kav{0}~UH(*8L2&&@kqVUC71m1X!MIb19aaPhvVxMEVeymHQKdJC`~s<$ zLAlY;;xk_dNqTLr2cIFs-v7&|A4u0R{|SsLinM&WWWPTt!CvBGQ0GtFPMS}iqj)ab z@#kH1tN?I;CjjIr+KnNX$3dW#xjHgb{!1J7Q(V}wf3i`vQLRzEQNuJ4@D#Pw8TX9z z6f7wGE#`-zD?bk){%f9v^x=QG;_sRsral2aBGW>f4^2$r`SI`{BJt{~0JheGu7Cp3 z$M7tsKR7xi!rl6g`uW{VpO!jgH-{L_6RFYG;^DTPVztnL5c_g^ zzb!sEU%J)_+Ceva*e+!gNsROb-#gWi(_Gd#0HZ$&cX$L0?2qb^;kb7^24_CWH!3zN zBNuLpMG3R&$?V5qC#FFZKJ%ujfS%Tq0+ijKp zE)ojZ#U-v_e*T=qHGGE#A0v~vpD}~THW7xD=B$pH|GDH?q8oKVbO^wyezu;^BVs8$DhCEsdc>0&~i(e_O~NZ zhA_mFNJ)*1{PX(%{I1tYg2WHwsFI$^0@3RaEap#; zT^yVbk04GoF)^uKhHVoWHLKjr3ZFdw#|rz`_2Gs43NGv$AF8~A3#iu>NC|gjEiErs z&sHyyhio%tFf*>}oYTbr`}hCvhh-GTmyvgy?gghaUB?LC!SM*kd$LfE>+0)89Jg1e z2p+WD{cD!_$Ff(=if%lr;#}nv$T!9s#JxfhA;IeOtur~dvXcLr1K2B9p$I##`Q^m# z>nk3mWiDF5%v)E@3OHlu>U0eodJ)EYu+BFZnDjQyw8u5KM&0DIvCTLXY7zeZ*kc%I z8xe1Q{sH8gZ%)kx2U7?faI_z%xb;XjR=}M* ze3o~W`Mffxg{msbkRI^8L-cDg?fckfqJD&Nwk1_ z<+bbA+hiK4{$|DI-0tc!1-aM0fAo?>ksjexvu$=|QgL+~`(#^TzBh=hWh%;&=!(kUbtPs4yA8?ji2TchXT;P6Ps zYiYD9*nNTR-$sxPfvT!1orHvho}ONEW_EU1K|w)odHJn|r$IkDUNVXV7x~6r`Nz}z zd-PR*J~?f#vXdA*%lmKljIu*nkaeJ^%joYp<{v-UQpS@kP+p}v_kV-y??e3ez5njZ m--F@LAO0IJ|1Z2pV-`*{ucC;rsPP_y|HOo)?`8{WdHsJozq~8} literal 0 HcmV?d00001 diff --git a/docs/images/app-screenshots/api-keys.png b/docs/images/app-screenshots/api-keys.png new file mode 100644 index 0000000000000000000000000000000000000000..5817c20825d14baff87a9675a90db53b995ff2e9 GIT binary patch literal 176008 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

ZbF{@+=g%`XyTCIpqD=<&l_ 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 DEpbU6 literal 0 HcmV?d00001 diff --git a/docs/images/app-screenshots/api-playground.png b/docs/images/app-screenshots/api-playground.png new file mode 100644 index 0000000000000000000000000000000000000000..29bad188bc01a290c1ce8f4ee90765aa7c6dddcb GIT binary patch literal 194097 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 literal 0 HcmV?d00001 diff --git a/docs/images/app-screenshots/machine-status.png b/docs/images/app-screenshots/machine-status.png new file mode 100644 index 0000000000000000000000000000000000000000..ea1d1ab25a3bdb5e512f253469bbea83b2245fe3 GIT binary patch literal 109373 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 p9;w6F8?_ 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

W_&AF_@M}9|Xz!LWHN>1`;1t2=Mrm z{tvYFD|S~*mfQ9}M|_MQYMATR`H#k0!PZj<$~Rh2|XI zNLXjOs=s7^cy{=h2ll`Ab(rY6Cc7W5>7Ml zX@Ia>9ihw!reRXUse`JEer~qmnvoYc85*v1ToEZWAGy(m0o;~p=2N9hECm1Qt~2Ck zXx;9)1S?&K5xJ)wiKs_dc3yMfiC-$pV@Bs=-c>h`cl1}}K~iHF&5hPEJYN*es)59o zkT;k8z^e6=0j5C((FZ%@b3YVc%1P_N;3UKF`}Rjo@Y}NaGpjYysFR%`*wDw6WNl%X zBCe(Z38dM#&rFc_Kv1kN@s_`@vrn-5ChtssbJCQS8R;FnkrS&0U)xq`$eivEetkOL z0H1CA1Rv#skB%?E=NCW0&sFa$aC;lil^dja_fnc+q1Qg4_UE^a_ctlNdLsr{-_7LRX94bey>!bgS@A!k6cgIQv{zw^NIOUziQputl7Ayxbi2FlZsxzOhLe7 zsiT%%Nns7RclV&)SsTRnL2jcJV~l53y9}UHysI8&SM41-==Ia6=ePZ?Lrs>C>!y2E@iywq zVLq5|_mNrmFOfWaNrRmh?Id-?{&1EH(;V77k2v7Rn{Y&G;yVCt#;<~top#&M1$!0? zBKF_S-H}i^o{0Dz%hIH&D3oweX{$%Vi*SYU(RWzFhmjRbu^!r{7CjUBtb};G&gh1> zduCR&(G)xgXq>*SuY1<0O?p+7iz|GK5|a5+ zF1>sc11oukhfbexx|nTt`*R6Vhhu zfy1>yF54QfeU{cG$@{5%)=EZ9xYnK=k?tM$3b zUbbXU;(0|D8Ml8+(Z{N5B{Aa(=3&D6DVeio2NM{tH%qhiDD)t!zfx z1czkVlN`U&DPj#3$Xs1WdMM1YvSM%$y&>!YF*l^peKJ?Vu|%UFCbm;*A=eBDYZO%TtXMI{v#C0_x$&C4tq}&5r{o@=ZtxQ$Le$j#2x@nNTQW)$dC6Kf7{}9 z8y#h;Q{`@&`^aVnFc;*wq*iif3UzY!@Cg*Kj~`Bd52osyny_sgF9KY>ua3b0A0HAK zABRf#X5JV8QWVl<-8^`SD0D1_bvBrOy%?&gfiTcW>~J7V$X~{Y4o%MA;_HOg|(a9 zQAo8euY-?&4rHpt_ORta3xwkXp4t;&KTQ{CrWJE zy!H~~MevPn7`5de=t~OrV(Q1ulXuz>8N>>J-sb1HovZdZ?XRcFygb$$M8&l|($tgV z)ysx(RFUh%Wo5Wjg4Cs(#DVrKn*7V8gr0k%f?g)tR=K74E&Jv$CA(&PFJVi;$j@4Y z>U-{5S(>2skrXDJy0WWN%-6@wpZp_aQfO^T*E5-JsPcz9I;I9y@mgv=kv6Zm#IvDQ z%g!=D-+=7$NMHMduF!q^vAL}q@%Y=bCEuhSl~;L2*33>dqS2|LS(P_L;@Pu>+I_NcbT{?Z zF;>dM=)G6Hc6to_i5C<@dc({+Ou-mWnk2Uy_I#vH@&kM*C3Kx0Uq@j++$3-B&5&w} z_t@nB(xmSHI^^$j2j_nYm)SV0U`iLX zu_!dg&749UI1tJ$Ibn?O6;>y$fZK;(N+VEhd94KY_KcqIS%DSBM#xsO1%?L8^rlX$ zKG|lQ3D$Wfc+N>#97j2u>ml@N~Pb`wO7*gnp0&QP%9U56%zr0JB^i za5plp=nhBKx(oY*D`AUDPiyNi7Qip3;&v3leFmVBVwo`~der+p%!(h6BPycRC;ccU z6#I8cs|z91gJkhx4@YCt@&zh^1qGGUfHdF++2bgd1!H68ndO_5CD#8157S!89$3m%t z%?8_DpA<<|BDs+1y|SN*bEH%;%F0sEhMrbEemF)$`?^O>a~MIjqh~$ zA+3u{TWc0qromIMr%=fT(XmPezVV@}XYwOH(p+^muEcmDSfw&PCG{9&w5;2K%Bwbu zgM6G(Q%o9tuhV1X~%P%_#nlvBCIPugK3 z5&h$=mX=Uxdn4LhH4jOCf{bTu$R}NTr;wrGo+bI?^nq&s~*h(%Sd_KTC>xP zzYY`&BEkxmhK9etX+?%F67|G9fi*HiP;edY6tD^{f{1>x`Z!erD2n&cr=sq(l)969 z4IL37U$r7Ztv2ZUON47vzcYraw`{-w;4Y@@67$L}M~S%tt`{f^xI2 zo=H)k`-Ya71w!>=HzdvDmRGqiM-#8mGiA5GRCNW2QGBUhXs3--psjef{6ST}YO`-}uNSS$=GPH^h z!TH~&#D+qx7KA$42{D-J2bz|->?4IkF+>n0^V_%vNdTSp+Zw9)Em3f=2&O|>)Djyu zbmn0NRL9DW@E{TcbK0%l)sbCmzrnDo8ZoIBT{!5sxF#O}AA(BnnaWXv(xQg39SP(v zwv-p;+X;wCJeKz>eS8ma{l~A6!kR9*p$GJcw)n94T#pC~Ilb3SKa8$l1)5m)ZxCVX zd~Ysg80)n5UAJ?(8?OWD+_%2f!G}(k9M*~UqW3K^&3XYxnBEJK>D2a> zV|*P)=`I$Ue5AKF_Mu*yAN#=sm+MNEa5dSFxIhe&Ok+bRYl{hG+)*DXhPYc4&dcWM zNgCB?+$2qdC|AiCo0*Kjy`^i?zH7c84j5l4x_%}s>=$$lvU!N~vEXVIr=Hym zhfAb&UA^g0`{G-i>^tT!aZM|xw~g(|z~x!!L(IR*ljncr`4()T+WicIPrtDDXF~BL z_b%_W^d=2Jz7r!LjEj`mO<@{H&*$kjLUaBI=X!BNVhP3rFyn16ULwb!Wo=txPm91f zXwlh4wU>KlalM97Z_dG%ZG6GH)!ER3b-E2is}-O@*+IKhv%;S#V6j;xxyP|V3!!h# z>jM+Xy=P@k7rw0!ni@f`zj^T~UuQq<=%iM$zymugx~$uYi{GdlwpC7rxQ23O7jL&k zvP?L-lgKFoH7LP!pWWOp6P|v=aeQX;lh!r~-z-NRFT`PF806w^JKT^n>J!zw3<5oV z*!U#br*h)CQ>$hQBrR7BO<4*8Gh#lsD$Q&_QZ(HOqdd<59qu$=8XOYSTbbK@MB;Rx zU4Y!{ew{s5#MU@5u?9mL;$w%wD3k_v%#x~dJB0c#5GVh<#_PSUU%ahnwuinI!I^d@ zMj6^3lD&JWh!*gL_&Ms=$d(QU9RcR|Qfdtr+(|1+Ey!T|cv^3%2}n@o_Z$qNhH=+~ zj@nST`I6TW2iJCN_si32`YGXZmFQQkzjon5?UIKDZqZFW0}80HAcTZ_LqEzn;UMdc zY({vTlVmPEc80?tp!(=w3;h-kPQZ1$+LL>>`R2Kx%}^O8AqMSOn2ctyFyHwo&4c7c z#z#1M3B9plT{?mSaJx78twh|*Z~GYpxd|bcu$OK*D(~Z0Al!LZ^d+qW!5Y$nOf$h^ zvoGYLvxmYD0_W-C(E6-9&4$!9RR#SgJNu^&OfIMTeK^DJ=9$2bc^%W@k@gH!KiJsk z8J=ObpJ|rSvhn*E`ld!v#F?($r0nSSN5NHZ98yRW+>&{&`lxKvKsgAGNwpI~zi>-P=;?Afll%wa3VJIfN0^;UEqGj0M6hF=#zi7(HzU zyLX0e(~M_=3H8^y>OHxb-$_38HR|vUNn+J&w#8`dc-wRY`N#=f4->_Cia1i}xaJz$ ztY%>>E^Sj5+5(M*s~@oKTX;#48;logpgZ2mve+Cq8Yx0Fwnn6fkZbouEeR$MM?zC- z9HssU@6W&T2zoK|u@2H&E+g9(t zRXq^A=b%lufCiv8>O^RY_;_q}Gz89pDBsB?ve z>>PqRjTde{0;rz9W-3$|;>WgJoeVM@& z2Hq2~TpHx?d>j!zJ)mZGMhp(ySlNOYYGJtF)8LAsNH#ulw>fOIgFS3GEbV33eZrlL zdxhsPAKiG$-tYwVVG*sL=8acrzaRL653pk=nH6pkpmwv(0?<~5=K_6)P7M5K>b#?2 z5n$hDVPkMaq=+JmXVs?9`!b|x<@b@~cr)pg9bH>a7*p|RhBaOAmXJwc*%P67{GRES zbP>!{5cF}r>lv`_e6|V^Hz$rpCw0x#_*$udkjFIv7N6&-Z_^3y2sCy&*S{KM;_8;a zw%M%U7JduEQ$EF!H5fhA&lob%?0rD1(6F+&>KR7LIM2m2#9vnH5$?nmd4G)19KrC+ zM$cK1$9}hf6?&>lI?}O$wnkW>ZC&Yv(VsYkOgTba)5O!rP4*fveV?}+Bl+?bCe{5q z(0^eK&{G}8b=7_FU{w9;kZthGaubcdIR*|1s?=Z;d*d@&B1i0~b8+UyX$@Xv2|tP& zJr-_M6&${l{Mit;0RM7qio$787f*C5eYu|mz{gT09j5=;j^MYl9<`KRi$Nw?>-2Xd zCPxfmevZ6Ebqm49Q6A=dGoOTdbabX5VgmZlWm+H2mWQP_7&!&c^K62}<>T?#yq{%V zjkeU#4Wg_K1PqTKKRgN}MjKxPU=6k@)8aqg%Y7p$C76`x9<1?I`ynH5$p1);G}vK3 zNG@V}=}T(hhlvIH#L|TELPR5UOgd(`&={JXjy8bP7~jW|HWR;uCiHb+G765X<1pNh zQlt{;X2qPCo;4EXryVD6@moUu@2W%Wh3OdZ4s7I$x@kFsAiNx=7!Vi`>1DHh2^W#Y z8Kd^{tC?u96fUfBe?)=VE~Q3vdNG|n2;QHwf>?Gzn7~b?9s^l9?eNlUv6N)Z1k0-| zLV?FNuNG%#&YE%X)fI6lGYIoVi^T)3zs!_5kXCETvIuk2W?N8issfZ@{298Bc{(f; z(N~4WH&}hPsl;3zc$_o~e2*t`rh0+I7JZFwQR6tp6E3V2sH9!$%#0vY^Tkg8B7q4*qQ-&r`en3@B16q z=~C0tmdP@Vc90((4k~?S`krAq*P2<7xjeYauBG+?&s&>fq1i?5!rRnHB~XOp`2 zOkVIW9!^!B!{^E4@N=*!%EpY+Q%5{bjSFz{xbwdB6?~{f);P5cu&FaFRcWl8M(T&l zY{u`&Z6Y^&JrFSga)0hVn5^gaygX9EPEJQ)a};cEzrr;U@X01`Yt}xG56rN zQnh<1&QQnmIL)Nx^V=_AO-&Z)tgyPz%9=)=!VpPW#YUeG^lXCCuwjFUX3kuZ%C>iE z%2~pE*BX;pR`{ksY8>d;ONgOoVtYz`3_(iJ?+zN)V21dnq!nFz`$pE5=U(x}u1wH( zm1!wDmzIj@Eh$Oy^R_|DA%wxFyggJ>7B@_u`drQ-94fo8!B^EuvIv2Dbo(>(+lTyE zN5j3nHMhl{anhds2&&_A}yu`znLD%Drd~bF#S|p$i?c530sUY|8A^ zu{JiF+t>3>kgQv~qhl!|k0gQ+jDX(Uy+X@1ZX%C%r<+$I&FFi+5X6A_iIT9cl>v3o zdAF_APD$wvjNF?-Di)wWX!{qhYcw5j3DbiiBi%%_#(_sGph+L!RAk}npwWp!>~RVm zZwj-(F1z%?4>&vePbrwFieyjc*#z1f?UN-Cp~zcezb$L9(%?(_+?U%wGxMAcS3_oF zGjkHl7h$ma$m?-@p?xN0D6GAT6mV%?EXorc5l7D0YEo6Y+VTeSwbM%I&FOwb2^|Dkuhq@Rh2Ru!xfH{Hi&$k|Dyp7Rf*^0wd zTToqKHN|M9*+HU{BgnUCH03)H{9zGdf3MS%P3frZ*n1hC?9SeeDxPmu_Dm6__Rz8< z+^L&VF`zF_8cdy5P?LYwp~W!NHj0c>FHU$P+xV#J@=_Id-RMY+hIO;K9@!^2==%)d zJr9R#%`aH$(xC=U_ui+X3T7{Wh%kOCV<@*j@cYnJc2*DB{cL>jasO|AJ91gh<6+XK zvd*N~Eyc{+gX&WncPk|#WT8!}-=}Km%+fK8`x-)w<2isOZJL*Ury*XP+${UJHM4=E zi^s|{2k7ur-}&xnBFjrM#V*xaL3RDSA=ux!gtYgA#m%_vY`OhXLm!}^^sCjxhT!l@ zb2pz)bXUqB_nQdP(FR*Mmrj!3#^EY`Wzx&9p47fybSx@Q4)6Hi3gf$+IL5tU2y}}L zTGNch;rWaR3_*0-JCUSB>!rtL8-G>){Z-Jbe5%YI$y9=BsG}!7 ziZ4YFZvyyM#o@>;M*FI#@?Pz2A#~k8M>&h94{i4a0ncDJc+OIU_;B!k@Wpd4i|+k& z3Os%=cHwitUsW`iNtEROx&zdI+k_MHXvC0%Lm~D=P#Gp-kk}ahTd<@*e67Wq0pw@uN}Ic zQQ39atV;|i7tCZ^X-F35;gDVVsS)<2Ap%3J6LSa}N6(N&aeQzAX7#Qc7quv`e-)@d z{h(1RNDf=+>0+m$yWM86r5;5ZYGjU+V6%R+CO~b#HA7j#*8p&S!<0$vf<&5WRfu^>I)`ReGG57I7laY zR+jeeQShExKzaABVCZPN9d2RZK*pNm=C2c6=M$PS|2kq3%Q;iXc}(=v)?ecT_5-Gt`;j5c$dM{4K)E zuqD^!Lsp?kUv=+8j4c@{Qg*;e*AT(lSpKYjVDlG@E&GX@3E1qVc}5vNvfMA4K83CJ z9Ow1o`X%X+=OO8qL0J=q$Dq8jaiSomS8|5T-M5DBim7HBV#yhN!SFttB+jtXaqCD& zT2q^CSRmI)9wQ>^`E-DrrBj8->HJfnPEKsB$!(WO%vtAvJvdwnxH)YRvVdnPFyaUt zOY9he=)&?csalBBKYgWhX6W1tu<^I*Br_)=ofVibOT(43zhR-rTH4m_6T!gNT+ls{gHzr^u%5_FwFjdFh-^PymA;y561L>4_E1`KilSA+`f=zr}YOiI8eFI&EBHMYU-oe*l3zSUj}2Q@hGg z84@jWFjGHnY0j+ql$+8JI<}tT8=3C()HR;P36<3o+W@qfGI`Di&8N%rsWp^fXFEJ! zMtB-avfGBA@ckobi=rQ-4*?cg#DcOIE3~tV45IC`+hQg?k7J}VMAt#Tg)sBOeq~7Y zT8LQRVzpekl7%ssy7H!`UP)MY_4bV?)EVA0Pa-N-$f}NwP*Y-tv)Jq>4-pE=^w^=6 zWD#^6snz(>TnE#6O`C83_6m1D2|M-Xt@UH3pYckY*)HZ{6++b7MdFB+Zm#D0e9}4Bmj1 zrXvdIjvWKrUF+U-eys6oB{(lCH1|FpAV5rAd`~cHA5m6E%*0oY<2v8#5CrofI7E*q5y>sImb0ZpsZu z)#Xf#1>eOwoPf``4(ZY>v||t+qzz};!LTSb@lb5ncVq=$cx!|)1Pqc|yuB(F^Uk5n zPvExjOI_C%VU!=WVcV51uXB)nw%o=sas7J9nxD#J&WZShLFF4=sanBBl8VhVKXLN;9r$8h= zlJ8o-mC((GW;UHmY6RxH?zaN zlVr8GjPj~NR@NFn6r~e2i(`shf9V%nGuFoX$UXYV${fpyfr+AXL(joYf|Ut%q*!AL zDQ*`lw&>0htG;6P5SHeIzP-iIEol3v@dseErsUY@tvzy9GGahDtC@}%F9BWwxITQ* zAe&2wTI#DT7-I0wAiKY7(1+H?6rqCQiGe+bPnAfC^z}>yBriM%^J~C_nyE0}ocYGW z`^RtR;QsI-cwFIXI&g%J$xZ&0vKg1UCieHZG-$^FhoA#5!uI zf(8flpO`q3NoX#m?~Bo;y10m)iS`^7i|umdSXeu!Q3R$f11WaL=iSovYC?#1x5!-b zCi^f)`-w#_X<_1jQ zW*t!8?hPr&ecc%1=C;_GVx7*Q`EwAM%Y?!|TF_XoNtWX%l^y$L_ip-Q8txtlRiEJK zO6IPGh{BU47ybAl1XgNgYP${&G+c5eVnN{1Uhd|Dvp{P0v9sF zO=Gdf@Jf;mnnzf2X1tneKiyE}8E7(TViMI)7^5(-^wbI0$Fv8zSe$BC8I2FZs);=a z8bMmUEJhb~*u+HZlYK#^KVeO1AtR4HMpvHswR8pD{qe`PM({`&lw5#5#@D-ZRgOqO zQR|jRh%#r)+nlK{n?obbPpifWSCd-SUElDZ)Pjb{s}L*Y`p{-#UVCZMtSeZ<%)sM1 zUg0W~A_tjBWwnw-y(D|*sas!}ez1n68Y_k{B#M0h9XFuQX&?&;M;xxAmwq$h*pr)Z zh-3sKaY*w*s+t=6B5sl)t(m%lyF}qMglJmzwmpTSyYB*K_>N^;3%7hrwS&}lt50A$ zE-=tCJnv6)FYgye%6p%0I=vBCcYm4xzWgo{$#xFq0KItvxaBQ1o=nC{C8yJRO%x;G zdQrk3VZFRTVY%9#KpTXO(7VsqGIeQi(d}lw;6-&3gOL`?C&5a(qQ-md9!~;($16=` zvk^BCROYDC7Q}hT)k#)R6g_Mfw=#en#a}`T)>Gbs89bZ|4RLruRD8ifHcBa8sK9kukP5DWturN$((r$gka)&i*E1Nkpq`VGacNYwy)T3pNJc~jMXJt;WQXWD zsCFLe9#)gQSuq_0d%o^mphwERB6ckJ{0N1BkJH(0lg_fZ^qVckAbu2KKg8GGg3{kj zMq%m}lkUx@pAyR(px{_7481oA@{oR9Q1UcnKo_ZF=|FS|@B zEkrD9LE$F2kyo-aWHHq~-F4l;bdI~H?~)h+#alC!{X&Q@?yn^jmu$hzsStY?V^0J? zYv`L6YA+;z^BM25!tr`m9~iIM7JDZT1D^`+vVsm}*o5{xlaoQ_zl?UIKG>c>>L*gD z^IU$9p}S>`e8F{2(4VK-v?;P@*Ib2`xD@m?2&?`oR(2;am zhRY-*%9)`;3+-BL1jGo6jHLv6SH%46KmIIefa*krE8#Rk)OOf2h~=A<;%Pe#^RAKI zi(vLM5?nSbpF0@Sk1yh1iDxF@aKy_r@2zekOE*-KLE`a&x~RY0v)ukv{W#1eFl>0b zuQ5CqjVkE+&BbPa2tI!6Cr+-f+O+#I8=nrxP%mKcdobM9H=EPM+rwQin;xbqB3nH1 zpihOvxyq+qYpB4NA0KGy^uJhS=IJGP7XGRa5O9L2u7bVUSU+}^tA~Mha^Pl zpKt?pEgmWW(JNdBHk^;lGHJo|-#j0$u6h(a_rVm7K?&34&b*X{Xh7vDxZA`B2fpM^ z6?|Xm9DCIp&?v_}&o^(y!*rK7KilbA6o<79W zBK;mHEI&63d7H+Ay=@5IngNXhB04gu&P5W=*?tIumI{caBM>^qiw5ec73ZtoQb_^J zCqgiNZphiWY81Y)fdLJIAkj@xv`{-UPFHXQ*NHwJeO=rBAfay(y0CveveBT&FLhu7 z8S!Jlf-~XXA??>!IB))tx7pCCX&|sbihD=Q>P+fFd$Tgux7tBE+ZR*uj)&Fu);c>M zYLyo(h4(7+1zR%0nORGiojMO6ixT|7*8@JnPYss$8AR1!d$|im=+k4aA1n5nZw=Z^ z3v+3m12!H+J!Kq4NCl3m8aWwZ4fVSe#BPkJe=s~X!vsZN2V-SVkYCG$1-j%B{kUgf zAho9fQ&V*bPngiz!1aox|7LK@bD_Vk=@VM4LWGK;Njj`sI6BvvYrlbrxp4aqMSr&@ zmV>#17?<2U`|ubIBMHjf_(ky8m4m^QzVUn_EdDCW2BOWOm$M?y356B-*7BJSzOTN;2;$Ys8MW#Z`GONG`=O z@?0ZS2y`^PRa{QLQDU5DN-ml8^hqOYd38ETMkKoa_dPxLXgrb2jT&n4Z8R6Zlgw#Y z+MvA8R@YFR+46C-din%K=Zyaimw&T#nxS$MPwihAmwDD@AePR zpq9k1xTti^`nS+IZ4C_Dn&NR2kFvyG*88efh6eb*AS4!=mXbnb-#%*D@T8CSOl#pT zEPo)6zewMKesvor89q|46Y*XUVjb)cZZ3}Z*qMm2`MD&$5UR%|>Yb9a?ZS{uAVTMR znE4LAHSlFQQUu@RR(xI_@mPv{uW3#s;D{_(G{;~|X=&N_lmHpdEihyljmTm6NIJ=n zDBA1`D|#t)VbZ{*!^_xWCjMaixeJ#GI-yzAJbW<=N4pJa%k!GT%GC(7*YY~Oj zSdXHY=+BRyTpysytjdrAP)im;aG{`EBqd!t4fe0yxxrdo)kW)_9x+VoIY;DH*K&`)yjy(tnZVo}r6{=$oO?!z0296`k zpQJ-JAo*4O%Q(lceEb?Nc*P0X98?%zrq|ddI{KiDL?Hfq;N~G*$+tawdbldy=uZE_ zo4=Id-`oIPvY_2cVlT${i?vGgxT^VG4QZrKf;D5BxsEIj%>SSEi0UVSqW8y7y zEd9qkO}w)<5<~32sFR>!{r{}MBsSR}^5byKh1mndS6NR@vUwqnh$s6+w9!R3;U$l_ zXFho^O4c59J(Qp$H6MJ9s@_l2h#)e3m}{`rH-ClX?xnGq7+qCjB*XYiT9L5#8GPbaTgbl#K5!fj?SNbBjjOBZ;U-*W- zMX=CwOvYCeW0t;$YkbOB74i@ZBi*Soa_Cp)Ms$ZKZ+kknP7$k}@t22f#B9bBbIGAI z*BLA?LV2@;@~Rc)rIS|JTB3!%+wVYP4QIKp)b2ZP;==*~c#9?RMwo>kNWt^evo9d6 z=U-u}WYJuzZs6Vpd2Dd$U?!ChC?;4>pl%lr4_q}7NK8W5>rGwr77S6gS1`bs!NkAg zFp!!?#r@n%1qpw&ZA@5w zfHF)Nx#6X4#0NYP(S z*e1G21(nSSaRn#Uk{Qp;4SjrRmmym$N{=Ed9+4A6;v@KEOhU&ijKni|X0Q~(6TW99 zp_kW^i>K@2hbq>!WgKE?9yY~dgAO(Rk*>vuamP&`b`iNdu0Hdah_aS-NX7{`=0oqr zQ@G4e<|=uNJO2qD!FU}sPYanlviWfApr_hM#3#KkGAH-3n(&C{%7X7_P-FGJ9ZT0l zBjb47r~!9CvzaWj+M}A$h9XKGOf>E5(|)p!GztmW5jH#aa1gLPj=h$E%`g*i!V$AJ?=e>{lpAY zbo3WuRJU&mPMJ+GaQ-Y-#?h)WaJaC(wr{(?t&cB~QT>Z-Y_SaKOka3@6nHE3-UNJ< z#TD1u?cS(=9$b-Z?R$KqMml`d2AETiL7l$!_W4eNvPzacZcxE&2N}^hh6u zh=URb5pQqQ?}nCd@ml8g_^5AocC6b6(#7hChqoFMh|acmUwGBQZE?F0rNM+t(Er>;ITLSU~Y*OSYK9Vlw zCbir$+_1vvc!HPrAj%teJSf@?Ef5BjyRKq8t@#1kPqt6A?f=#dypfJDwy%_f+n?1x znRlS)Eh_&P1M?G%LdOQQ#A>&74q#cU#Ded$Kj;Am2Xyn(fO}Bjje5bFnO|g zYljG#=#5Ntg_fLF>#)xZhL2Kfn4G?V344rgc|;$RSv0W#cc83w`V)<$~t;b3gy}6eEik=CO$(z3c3%^G{ z9JI1nN(3_YEW9WQ#?;E)W}d|G_c7@@HWMuD3_MZ>LHtOa{`G>8X4gAzXg`+3-ZHGW zdqxoP@y5`NFfBiW6m;o;uh$8Tmb5atcM;@&^bi6QUM4s4<7sJELERPt12Y!AnIyQS zD2tyH@~UG)A3|jEI&tKS6+DB0ibr)Rk;2Ig&^I=K!z1z{-~5Ylv5#K5x^JAbz@Rhq zU?~Q4Wz3-X;xkFXyF`0CuT}*mmMq zQj19~SNF%joO;tj01foO3?GRPlpBwn@xulI5m}hwgJo+%#$tqurZW(5;tc}(6o|^z zyfWD+A){jp8g~;p@cJzFZqNe)j|+1LGKob^AJz+=hSK0N^~WiAD;$e1ony^j7d+QG z1M|m?r2^$aAN#5athexl6Og%;U(rv#tzg;LnO0JXD!Gi0f~%q9wR&v84h~nVS2Tt~ zCuNx1`|mB&%-Y2PjqPd`U5VxPH;8-VaZC(7$9y``rbSnIs0F6JIL(#tlAHz_{OHE=bE zuI(WwRzY9%5F&LBj2v8|3wA^gY#I|hLJu_aFnz+4Ufw)_uG}?}Re5D*{m=()eJIsn zq;E+)In5hi;wk|jI8aM>^vPyi(ow`I1;({yqmaE>%}26@SK;`Hzhq#i_ZHHLo>A2> zSmS%zfpsz;;i3~hWFP4{O@PDxSb4yYWE;q3>$QAfIcmc~Vx(mQfdm*j6GyB=tWoHV zeEo+LSnd~S=wl%8-`0!PBy2IRs@O+gNt|J{IaR%C4YD00>`__t=*OPZHyy+Wy@8=4 z3ENx8mzZP2b@z%H$h5CyRLcb3Ho6Z0DA7N7UT#(;K=6QhOaj(oU>pc4$&@A8htLRU zAK+2dztHDpdn2TX>)?VrAxLX2G70GPafdb5LaCY?<11f)Y?%f@m_#RdK0js=y0$*UMRm(7A5P5Txf z;7?3+%EEhtM-M0tlit`8s_1q=5qGkAf&m^@1v`P0(BTdz!N(z)$(uhKkF1`cJU9pt z;Q;4VA;r7z4C5P;2l)m5fXWM+MnS(C*^|jJA6S?)VPV0R4rJi)q~0F}8?TR3_uVQ9 z{OnZ^0zySOY57(ApL?2!-bFS zJt%EQ`S+v}C|$|=h!`D6@bmz$_H#016E7V#;eSp!vWDp zO{eOb)M&jNBUr4Y3pB`O0P!@6Aqc&B0I$^e5VRfUXJjD>fwv+)sFT1&r}#LsS|{@X zU4<@Nger(b{w;sAO~l#IV_!w^ppR(|T!?-C-m>k2r|7K9h+o3V(4|vE#1H(E8q5s-!>3a>WqU+({tunWYK@=S>+1Y_5*%Jr(D)P^@tk$ zy5Ot8*Mv-Bo+72Ha%FBic0r!^1scaB>!yqKFeI0>s;okn(Sx#Y+Nyy5)cc7FHQOXO zYj8dpQ~Uhm6Umnz6``d|KP<(YTW&NeJkJ z{O(gU=-+Li6_{*Hhh{SF|%Ah`Es zFUWG66%(N>^kCS+*mp1;u|zzy({xo}95mP`-o1p$_5R=*l=2MJ6fhgRQD__$1K$8dfoj9!GT8 zXlgy$7EsRN15O4FgB;~M_+gNV3H|)U+V_+*DVgd+v>-JO(&^ePnxihk1NWQ+UtU{^XU?H`jDvJf zSiCZZf&w_JKnKPl)K3T0i0$^ORh50%CLC)aTJ(8Nf;as`7vbA}>dF9Q(a$EcEiQkR zNTA--vM5;z`UU;qik;_chWyQi%?7$;n9nYpy z$v_&`)UwLt_`VU0w1r?kuIHML$!My z*TCJD^J@4MeJ~kl6dn##P!23}uKRtpAkhy9gq6oe|o4hudfQKIZsN}KKIyR1m zQN>c|ELM{jn^@wUWE)-3u+v9D1xc_CN-xbYYNtZOERp{OcMl;X%FdFVv4 z?*ykBknpTdAsFkt3*E%0lQhyR>Do_732sJUFMeQuL5>s1iKVYAS$@fi5{*q7R9fw7gVLUagOm;qae1D`nPIyv4_t!3pdeUix5!9Q(uq z#b0&=mi|Xi*YTO+lkpBDvDq=wJkY&54L-&5kY9lFwp#BId}9#ydkOzUkI3`h(M(H6 z;UmiZFF5lMQQPvpmvfz%DE$T*fHGHOSK{k2)<975@EiE?AGAbYcsSpXwaexCwU>^E z!y4gXd4-HLI;dfW(_mbjku*BpO-2k}p_-rkx0Bkr8u#kl4BQ=r{fY>fgnU;CUOv&) zz!Z@FJ&up!O3%dkjO+wHMYWLBcln?}cjORYenm+XOj^Jg z{6tSL%%gs0`NYd9KIqH`-F)|vL!AD3sz+%lM?3a-!qu$*Ub{qec3nBP@cI-!$!i^J ze}i{Q2eFS5$lFL+c07zM*9u8PPxg!7bB7vP3_=o_W!nye4ql8qw3>x33n`5Dk%Yei z8o2BgVWwnDOc-A?DWNkrBKXl6>>_S?VwFu@WcyWO!SN}I*|!vnFT5{F9m6)#gfL1> zBLJP??F~gS?i)m22up5@=e2lJ*Nf!Ina32iN+&j7e$~IY8Eiq3hA-?x#V`JA-4i>b zk90$TU@t9sCHh9lnJ2_cP2=1%+G3f$loG9rgnQlq*{nn5{z6j0$@9sWM+a|Ai;wZD z3?JimeaJ@@Oj9x&zCXvhTS|vQUHYiN3wOsQT&n=r27PlN~F^WN)<{(q{|zn-1Hz1^3WL-Cq>l zXB3nuLxZ1<>#}@VgUIgHWuLE!pLjuLE8!=jwI5*2XFORGbMLnn*sIdtJmDd(IlTB# zBRI#-m(UL%uqO68Zv~=-e1lHjG5g1SdN0o$L5ny4Dq)-XsKneKzk)$@+Vb#{fBjaE zYVb0i(8xgxrpkLMeI+>{2p8!T@rlF*Cg(7pc@ry!o=?H@JPDG~QjksDFa^K)7*)*B z%W?{H%nrdvoUx2g@h#eB6Q3WU3LHV|Mf8xq_HsR~^bf|;?>eoZ54y6RakwE}sz<2S zEAA$lk1EvN7b>AEF_zcDrI!?7?*~rrrO*Xch~1Y==-_3pVlMrRPT60u?!6NNH%{oe zPx?xo*TT{dozT>KLSw|QfnTmEeFg{o5mV6!33%x=*S05G#Ai^!13MWD+`Q~Lz~iYq z<#Kh8Qdoxe8AwM2ANR9h=y0o(nCAh->qj1n)mVTjRegRBwNwrKMWO_=`3^ga+e+2YT4x@gW#(8ULaL2=1|jGPW#8kr}e3 zEEM`FXAH{NuAUbHaAb0$jq&^1NhZEwD&zK@xHtw?Y%Sv4^VlQh`OAvV&Pf1Y0a#5B}KV1B2SYwNDUm zW(rNyu6g%Z-yO!$$Qn}?q391EY{Ab?Ri_LuPuhmXcH8B))Zv2d&LL77>kS8n2=Zfz zc4YWOq-a%pVmbPUO-ELCsR4xukk=_21|BQ{vqA)MGkYsFj(0{*l)V9 zc}kxu$|c`(Ixq)q{2N@6qLX-(YA}0pYJVao-vh7yRs(AK0}}u16Jd%|74RX6ag~io zkYbB?QIMwKef2DD?8T2AAN#f}br(ANkyGL zVAT`fg{TVWcGe@Flwkuc%&1G?huxE|kyVi|=3UR>vv26Gta~Jl9%Hh=O<6D0AQ`qKT2obHhL$9>rNnUiaLhU2Wxo{NTNZsyye;-g7rdD#-oeFUV7;G?YSL8&_JfXZwI55gX6z=X zy#KLpB_CYQJYRK3#Ag!ejx73vaLmm(VX2-uz(tFPN01>n{4uYgSw$yENXTRUjg2`N zGfoV5KjBYqAZQF*sL5XK@@7wzF|gAiyA~&n$PmdP?F@pCgv$t?rU`WS>NZ^n!r+V)X>3@bO9>iu&^t*UEWFx6kTo3JV8Ir+2hN=$k^zvx zm4OVteOJPv;q%ssK0q(j@LZy(3j}hGOfFK@U&2W=^G`zSXwv1(F%GuxSq*LMJFcU?vIYd#y4F2 zy52P8utfHuM0@%kKZ3|2s!P65^DaWE_7_p~hQ&KWN7cabE zCp@t$+l)NLMko78am(cCAB2&ASWHPg>4q*fgK~KU7}_o7(_MI-#FZu_!7ioyZPYC>ado~fwK1#a8uksA#fM{7#>$V_N%c7_1_!C{=*>j!w zS~Sqe^Ck`)eJq+&z*MqwqsBOGJl)nJJBynYCfiBYjD%j2BpuM1TTRuFIL!Yw&WRAMkBBc@UdA1Ko%m*A`_^lBBJfFuVDhb{? zGOg+VlT-6ytieC89jhX3yhdqq$XjKZXIT$`=cY0iFfLJ)c4yX&b&h$(V_0p-;pRFx z+J3-Z|B=(<8Y_ZF^O#I)fT*>2f(c{hcb>-iV8XH~cKDJX|6zBFe7=L}wO%*;Gq;r< z(kXv^!HRe@+#0Eg;`1CE6=T0N9{uV+wWxM}55h|#21;PQCyfs>4>7-gpx>>GP?Q^$ z;u8{l@I@!;es~}`z7Z~)Em=OsZ|Y^s7j}vnhr~yEotP@5pk8#Pn;~yK_^p>u zo>hP6=8Y&;4=ZyPMy~1ua>{rK^Y5d z)Fq}sARlx9;Ew_U-1X=N-?%k2KB#Ws?1Eau40yK0$YnBUnq5v~4ON-{9{9nY zngnTQ(d&tbnDoS;NM&;HD?!3u?xF}ERjf`;3P>hw-aa8Suf*_o%os4}X?(svY#DH~7q`lh^13?7Kp^#!yV#oG1XfHS29_&%oM$-Rjfu?Uj^xvh-p-DEW zjdo;OXXWqYbZljD={7h~?yHLzUQmlklgMY0hd=V$ujv>Ti%hEIj%OP3e@~)-;?@1J z*LZOi``m|69%72fYNm)i7y+$)rUI|Dw_c2~bcf=|P@57McsRaf!Q)hFoPi7vphc7@ z2C($zK#18Oqu(04MiWssCW%LQdjoLD_Ts%{CP4jYWu4#w0x%aA?9DzYb(qkk!E$#m=jPxDV_gX1%viQ_mMja9>cUUI+)xJCNwpJ^-T=Fw3n? zGy0fCA<&ljQQX9XMr2zLAMZHy3CQ=7Ma)0#!JR;di1vVT0IcR9J@JZfbF+&WjABS( zEz04G8xQfo7wNWG#r$e*Sl2_>etL>3xQ#WLJpPHl4c7%7DSx`xdd)(rGWy~x6}>-! zp5Jx>msi@YpL_xU8W2B)sfD86j2l!j9LD09V6t=O|ZzGEWNVJuWS_(zUAp^?~wp}^BGsjt)a*tuKq4oHZg5FmVyO1y3!}HQB zzUaQgBkb8ThoC6@^-oA`MS6p=`&d%P!sC`bNa@{BOM+iS8tfR-;fXn#@&j*yXrOSz z!Lo&$xu&_iPX2ZWWsH~eH~hM7nVkau?lc9P#X%|)IPe7Kwt-vAvV#Zs(IWhs5JZ)! zI?k0NZ%qWxT02$(kHZ>T=DRL1ifufZWN@J;Kh%?nJQE)z$Q;E&<>?Z3KbMqVu?6T* zpQyvlfPk2^NZ7j!F#=siVF8Hdp$mDi*OG}3T!On0J;Gvg<+}^~%{BiJn*7ST#{>W^ zQhZ3(gv2BU4tnu}E$$}g!W80)ODPEpz+;iO#lKr8P;tL+{=ZJu1o;% zAoiFvk%^w%?ZbcHl91RV1hsOwv#o0LBwB3YF{aozLe4K&ms%Ea%iUXa!{6qsoUaw2 z%e`KUAx`<9JLU1^uCz?KyRfI%+BS(?$10Ud6niWK!XEy9u@p^GonlY+E(^l*6llS1 ze>w+2LTTf3Gzk}UQsXYX8fJb*@df?N+fN!+IHjg-ZrC1m!kzZ^$1Y{nzz0WEo=*xK z9ta5M;Dndknq2hR6x2M}jpRz!BB}&1UM-tBuMmo+HECPWp<%@_MvlB*u#7gPN^&X% z>|z7Pjl&D7@IQi8TvmOHMT29z%iGcRtDPQvx4Ztbu7D-6$YJROTwrv!+ceTwuL?LMGdV zS&W;%sT&C1ev(og(n!q@MbVWHx_O?8V>721J@!DCL$c-zm1%-*KvX?81Adt#Dbh<` zvwnSe@q8~?J~T-g4w}4%?H?Hx2`0oJtXVcf>U4gYX4uGD!xP5-^Ezd@T5`Yzha2DA zbmkY+>0jjDNH>0TjEw+qys_4DV1ggzl@Ge1F~8&td`+nD{fTIhbF7P@f>Zk|aRxNW zU8^EI&<}b1k}~@Y-h80<(2Knk?R@2{W4n1gC2yV4Z7Ypqg`Fq9WKWbQ@v+bygCdebGVkNXp9r-tM4`#lCZLhVnRS@l;$$wLui@OmeeRhl=;UzZ{Q6 z$9wh6FAS_hiOwStDDWa*^eCd8&aL)+xrKT#YkYKuADxYRc-_UaMcHx~B$;f{9qm(> z=p3k@KfVv@d9cBLk2ZEE$|&Jk2eayc7{d&%{&GJ7&Yd7^@L^8`+(o5dm>m4ddpk$4 z=OnA73lq!-UjGs^|8gS>lFHOcroV9AzSWTv)54}MwCCRek3f4{^kA#Cv z*js4BaF`ewuImyZ1#k3`U5RfFOWvv@z=yU1zzTO;hAx}*v>O53NTb>y3V^NFBGGIY zy5NQueCqr7?IT#YtQUNufTC1cDkrXu8@;megM_uwn|2rr$#Qi8FY8O@ zjAcyd#vURe7I&oVV&noka_;a6S{U&OUiC^95u_lC6BJR2*=!PjF1z1h6r zOj7ak1FtTpMKstb3k1iSH6dxNuPv9BY%gA0*dY&rrKg&}F@k+W9MCR5SD#-ha|<7l z96tTa`>QgMZ3Wa9<%{Y(A2!t~i)tKpIh6Qm+HjzQoPNQF!j^r+5v3&h-{B0a72M4` zIj#VQ{YS zh)v+~3BJ#trW9bXhc^xVG&f-HX;%9Myf6`8Hwt*(=G#vXj;ZPgjZgIA;LCW$uOCrX zi5|n>LQ%rDnj5O!FtySAntpBG$U!t8d`m$1@GkwWVn9}iX6Q^40|ePl##IyX)v_8B zSTnaTXb{Y}_(MSYI~pYRn)bEww>v0fd3*MNHS3TcP~{zO0--4ff>-~|$&>CTPYnbQ znA|a>qfx;V<|aM^i_pwL09xiHcibcVQl^x0C!VlxWC1n$^xdZf7>AsgNjo0`C2aNj zjgdK&e9fK0Ay`M=uUZ4Iol(IVdTS!ecqLot0_TvQi3^-Wi7=!vhy8uE#~9mb+o`P5 zwo3GUzy9S()lxZt3fl%MuH`>`#s}ZBcrAao)@ZTGW29sQsp6K{lQ3kV+nsdaF0vOK zk2CaO;>v4__@0GyUsm@G9nrsZ`v~cz7Uv<1vd7-F|7672P9=REJLq$4B{gkRlvkHF zp+0hI^J2}Q+#AHsA%Lvw*=PV|YZZ1a--7losAjPPl6?yv4WyEt3SjypM&+s&5xL)j z-l)z!*8(pY=nB(j4^n|By28ef#8^u_xN2P}(Y)xnD4~X83W%cpQo5?T)9(6#3v^$Z zyiX*HE18R!q279+4B&P%y3_XQ)2FMCAAe>&Pl$SQGj@Fb{P|U7pj`U(u$sL&Zd}HH z$HW#Du}s2GBv<7?-#lZ&RALRlr}nEI3}V#KNniH?tl!%|e1b4iPGNQ=zO1(v>` zQ3yuzv>GZJ7m2O>5h{23+4%v}2l+YLWKyqv3*cGh`t9Qs1KQ+(!c z2h-Yp4G!@rzWNYHB;qu^nmT3Q7%82P`L=Dz8Lw-Ss3LrTqZ?1YxiLc>y>J)u86QcB zIXE=PepCIJ{35wPeuxi;KE@nrH(bSzao-4YGS*S z5vqJ7vw3P?=muQ+4xY{_GY{&Y*A(?5Ly8C6nt8oX8c1KQ_=X4N7>^%uk}u_qw$1?x zOaKBUaUus1N%9&`Cs`1{z`>pfj9mPh(UND{-~fcPlOQ;p9ItGUC6gy}*1;DGbmxV- z+R#?&>A%x)?uAqtY%{IY;1ImOi;|5-CL{vpJ%8L?|2QP)HIb&=<@qKx_k$!!F%A>9 z0~o$22Q&--`r{wAE#&-A1~6B2@njA=eV&_;+Y`4Z5;5fN6MHjW5gMhSJ4(2p)lPG7 z2GGM#!@-cUUdX{E{18$`Z5@)KJtx7&Mi;x0h9*9(FW$v2fW$uE5wdLSA)x+W^EU-F zaJ;W79mh%E^2`%-^_FPc=ddPqJ+;GE2w;JC@3(^F}IDEk#4w>YKlAGjjPXmRtg>8{sN{7tN4_80?+0U;2 z>%ac*)t4`O?>rt7cp)6!;f);fW42t#`Vo5jYX5)>V*A7!7RI>%^uw{PXdJr?CPMb# z2i1VO(Va>9n01{wnwTWEv@E25!G%EoBfK?$(eVVYU;3qAy88CFzb!d@--dCSc@Y`C zHgE&fKdd7ey}^Fp>ykw9y;Xh`(LX|{9T_;8TXT51zq`{st9Bt|9xZ*3sMl63W(l`# zhm7|4gNA$pqfH(I23UnOXQcEv0*>brCo0z@(md2)TGq19Dl-T3y07^aZ}>MpHZMBEEM#v>~Ep?eE_QF&~6CLlvKrkbwyD$P1VD zA>O0hbGG9Exk})(t{&2X17Y8^=5I!W+fPr;VCRBI!U~)ozsM$>upMXn=C&}smoh#I zM3?-+w5!q0Byb4ADj}uZSPy>Up-e%MCnm3f5=frE0K)-Ud!nf6y>+A)j^vE{SoFYD zZW<(iq9S`_-M8e#R?^z9$g+cVrJa}n1l)f{Q-tOrZ_*as=%?U9eJmjoeosw4oQny% z;m_3uv__}gpzHBWdvMxD(I_B^o5L}9SUcN}0pg4OhmxAnMzX8_LM@@t)3 z`=Ln3%OQS&$G$Bb@5s|Y<2 zHY1Rf2-=>2Qa6ct)_QCl0&CI3l)D#nWf4Lr@ZiECnLisv02-(TI(NF6Oqn$Ei+bx_ zuPs}`4PE0GIJFt!3dVV9^ea648m$WWz>}tA09S?u`iD)i1^M(d?Ic>Mc=A_0-}i)< zn~z@5gG3H`Ptqf4p&&(mV=!l6_p3`RkdISfzH%9qp+BiB%nWva!a#V~MslvY=>t0J z%A|v@9L%C%tgHLY2cCSe6`Yn&faa^U#T2Z=i zzL8xr%yrtzKw2gi)7DmMb^dGzs5;5!5eQyGlaFEd|7d(0txEYg&g(1z=Fz6u? zFZTyUKw#>U&0Sz@j(KH22@J}PAjq9eD}Kl@hT&;6&!8<=mq=raZ`hOH{m1roIA%dX8JR7GLHgS{ufy&1w0y6a9IkHFNv~{$|FIV@y0Kr^vXI0);v188uRU_k5 ztewcxUc~S!JMjz5q4S|iQrH-#Tly)P8pSLJ7^C}Q9=;(7U-3j>iNNPP86t_c>Tr_`z^kg=($C0u_c)J9Jp^Lz(I6OFSbh;T$K$qeUS#%DH8rg4nD5?8fiG= z8oxysH1S6lO!b;wJfcU&HXzRn_*F)Liz@Ujb0mrQR&^(}EZ%_QO#|%jAA8f*GQxK# z)(XCHLYPwYfrv^-eONBM=trNcO|XEMf`R5CBWcV2gg(fD3Ed*Y64LEq62OUT+uD9Y ze{PVFu61HyOu4KKS$y^D)IOFN>%UvP_`_U|U+@z8AP1@T2L&3Gkel^7Z-y8_$nj6% zh%!IIDrC_zmau2l1BT%pitVfQps8dpx@@CwLa~F?_Rz-~R^A7F(TzFaejq3u#4h6cTt_Y3; zsM1lYh6dN*IOYBcdo|F`b2E@ErZ}=(zYaI>fJ2x_20VE zl0*PkLqWjdhoG|f=MS`V*QzJL9+Y;0aM2l23H``m?V=rBzlxS0q9RzpivKc5tRLVb ziA8{5{;a{rBn8jDgMNf;r->kqPvYC<)n4&J_iU0Vkpg6p({qLhgx>Tb(C%+H)@7?d z#&*ikS`YawcaYTgg6-c)lBg`u_*TN`r9P-cxDcM1(1n{7`HnRUQ~H>GrY)D#Lg2x| zoC70$BVHo&#GroT21ynqxZ+zj99SqE3HhkMdEmDz-^Yh(Z%!ryT~jNsqm9U9L(_ARluGX^BL&1#j9ZC;)W*j&r6DziF!k(M>E z2M_)!xD-uP>>AA^>ab{=Efe}iL||70Bc$*vKLp~NXsVC2*2#YnAaR2}uxb|6TR;54 z9B{A6oH*HBc-QZ41<&?Gy&XOBw^JSqEQn<&sO>BC^t>cntfzEv-zeT` zqeC@EIv&xJzEqF~RgF@TXBHgRzo_(C?eseyy49b0AjC-=_}UAm4S473wM+D&Nz5`I z^2tzP3^td*s1xgqQTv*@?D^QCsFV^rLZD|7;+(R0Die1V35{pf=`qanzpeo&L-az86%JJ%0ko z%7cDJLcVpOZ$!%taX(RoAH0;}*YHI>`@482A??B_Q9i2mdrkZ4IQFBfWOyg zY!nt2Jva53*xbjSApn#4uyHSf=yguo+Q+gl za5qTNtOH?2pLjfoIWdTiUsYz>@Dpx&Nw9C@4DGji45A0PrxHG4zvLJaUmp1IgJ#g4 zV-F%c7bx(?eQeWWQy-4Gk^NA6IQDXuA$oGJfgV$uPkD<_cHQ}I%_$4kcE&UNzHuLm zUx}4Y$m&=?hKH>ck!}*pIQASV1Hd!B@Zb%v=O+AOHq2}ILkt<8>?_kC{iH{a_2fDp86CbL zmVw3HRrpYbkYG?GSSNG^Z&VQ3ivli+Muu?LkwHbUKw~^`mEdDNRYq2xP$8(0o5I2v zAOv1>U?PA^67*wzfxD34MGwc7>|oNlxgdh=3*<{ZbY4i|DLvUz5~OT>sG|(};y={H z_g%9MQpEZSeontE_J}o{@DhsvW&UO(vi9vqE-+8(B8VI_P|M{Ber)7O9S`^gf1n44 zCH#sYaOo=iol51(#zZq8`i2kw;yco&DMWh|Uj7GPxGP7v5`Wf&gA* zCUWx1A!k9KAj|J-|{`jfc!DCFIqfHh@;o)1&`pZ}b z8J5bBi4^oFht6H`1o~zVMK$tt(VLf&KdRBp?I##1IbIdS@O+K5 zvwps?0Q&&v^ZizR{Kf%;S4KO|B+qkC*?R0(V$svMcAf}ThYY{iN91fU)sK07H%~R$ z1aa`hr|`c9iG<@BdoVeYy1jD?byRW7U59P-QU7o=Y8%K^^#!?%b#(TeU4ejn#tHKqTh5|6tIwEhV2Iw!*%10`V>`*_XrEkHu>zsvaW|FQQrv9fMwonM`gz0bMl`d+Tx z4pIjpxB?+0Fg*efIs$n_qi!N3CSe}6gw#5kd+G z2U)1&0Tz?A7(^YgeSJUA_c{6f{?B^eT2;HMcGced9NX=?_O5rW^{nT6eXsYex3mMl zpo{f0uVXKAEIJ>%m(Kr$=v{}1=4GA3?TEPtm&E;)DSj6oAymP;I-? z$6f2d9DV4!OK4pNK)d|ZS^+%LV!IA{M#jD^pR^0$Pbt***A2~2{-%9$Lz&jQeNO+Y zjAgwxzpl*7=$E1PGQ^uI$M$LmCZ^DEjW;Ckg^!W-nL9eP4NtkPK^-}VG}zF4;X~&P z@r<-94Qd9fL2Ej^B%fu7SDY6v$cpXj{4gaT-KB zMg}8n=+;2v*fDG(tNi|0d~9eRY~vUE(K(rH9jKj1U1ZcFUiz=TqpD;FxeQ(~vZ1TX zDWUOW14`+w^6hRecI+&;#zD$nKkX*J09B%aX@iuLXz8FITBjh4{6Me5E|_BpssFC^ z;;#Q7QFjv7e@)~?=;>b%7PW9`Bau&)Fq{l?%53$k-?cdaq@bRcHrPw-pvMZTabjM+;+*8 z^M_2+7ur*&s@6gK!@fxEW0Q9tw8Qn3cEsbVxe*E=z5Y+V#K#**sqa7(Ou5lID8KaS z@j(LFs0R-eWPDIpVcEB*9NlC$$qQS6wv%Av*DjBXK@cafLJnq}NEux+qe?Nu-Eu^k0RE=8$cQ*&tcm&R%B(5A;Y*1%I8s!#Xa1dO(4 zzsM6olxMRCzB0AJ^5~#`-I#}NZR2Ii*p7-so0Mi;{UGBlusVdRw(t8%WX1g=fB!I3Iy3NX{``ZhJG9G!OFF!{{|8*=obYOcW z;d_XdYTr}-O29gHSBQf!UPt@s!C&XQQ1$dI8!ZsUZ9aAoAGz^ByiR)TG~FR~NxBGY z9&Roo19|c=M3+G_rw3@Q2LK;M@X_xV>B#E|xp6x#{i}1g9hTYF(m2M3!aJxnD2S!> z%R~FdSEhJ^W!}lQAKks2Lt!Yf{py6GU-VP>Qy0(2cPhjV%rXtg+~?3`+xCRd0ZRF$ zM-P0`9T%Vl(G807Q@8keAD^;!&Ds1_f@CfxaN+P_42v(%TxnyVlao4~5~3dq1AUr7 z9(uq3B^%4Ef3gYsOqY5JDuy_{VRo}p6Sk<7M?H}7w|u3k3M(7Jkjv~hb+0}%WRtg@ zDDyJE$=->_Aa3IWuDlx(3{XcWFYnMf-USz3NmZIuEeq?>pKL_&tGG8ETF05M`fBi~ zf%v%lz8T9?ANs`{Fzqp&4cEjhDs$1i^d0MukA99lk_)3;U5qPZqJqBnV_3#9VFI9W zQR&-I#c{Io5lm&IkgN3qTJV+YdPO6%yOc2)P#$JP26<__cgQVr zOfaM!G!3yWwSC>TNYVCWV*o;{EngXC`Ko?o)!op10t4sRF}A4d8ZEgb9>z8QE=ylV zAx-k}Hv5USY~71fWEvL=AmA`z-$q{_RTkIJ_hV4+7d~pOZJu1Xlga1m_So;Ov(&%N z<3D2;15UU)Cg9v|3*|R`NlIP#)^I}f@YwB?K)q#-u$Ev5k6K_y4S{KEj**#fVeMEu z)Qlj@Y>)cnt{XXcsPC!4cD6mnR$Edgo=@Y4y=o5j!$a7h2ho)R)8}>=^tlJao-^!I zKBlRzz4^30t9@4;$ip_BCpTc}6IppwSx4*$O4T1JHbY&NCcsI!0qOS~sH=KAzFFrU zmg747=9pjp&Nwm3QB>^)pD_sFGh+Z{ z!5fTh^vhFP5X~EbL$bO|Uiw@feov-&uWP}S?ZFOtsCJ~Y6B@Een3W8y^cEu%p#wV^ zJGPUu!*dP)ppZQ7O`nV121ag~_H3gS&hki&=f5 zVoU5FeZs8oJP7a+!6zK3cxTyzo4cbyZP$-^+iK}@Sx;N*aT6&`b*Yj*h$6|C3$u{2 z0%A`R+KF%Vt3Y8pf<<|})G|=S65C4ZwEim~u{a=zW4$S({A;SxE_6Kr(N8Xxz5Dry zV^!a!;J77S`&HJ4_?6hj)6$2Nj>zaDUSvrWB~<{aNn1)FEsk*cM91i{#!GpSL5l^o zuqb;py=b+kVLd)6%MG~g#3tfGT+0o0Eym&<8e#$8o?O&fxSHY?Y{oW( z_#*3^SOc^#27fki(755?Y#VC1eE){DjePl%H*IX$c~z?%r>o83JsoKKF@k@_@Bwqo zihrv(b&e!8!^DMLzVlbLoO)KDmsGC(%Kov&uSZvX-$?otU!Zmz zvrWouQ`^hcIW)%V3;%3n>S6zKZIGd5u=X&_pN7$nbMEB0nOnYgRw|`TWgQb@BDC5h zjcn83;GwL%!^I5*r(K}z4Uks7%`xe_aDmb)7GkEt+?lo zUHDe|!6JN)xk$fW_o>9-K};^TrO#_TI@F`GBuNYMfW|RLsxwx?_47cK3pxzoMq=*xBKThLALIhqHE3vMf5j2m-EN3#4= ze%*;X(;b=aIy5$9|yRNJB)n32nHp+2`p6<3h9MdO-ao0`N#0kDlKgpm95%RC1 z!su%m9IJ!ZfSJxqM|K|00Pcjw0eZW@3Eb{~*}!>%IoCo}U&kE>Q5Ut&&FY#HZ4drO zS%9Q{EVm~AQTvSdjFexA+->nip)_c^ximwHF?`jtzl@_ZWbI&_|G8_Z6VoY$?S$h`m$o__}+=tRdu+$7Nidq?LnjC zQ1zE8Zsxt zvS?k}Sf|G`57UlkcTm8(wpH8R)yIrFWGn(PU+L59C^GXnU4!E(BIlaIntXEY@d{i6 zv*j6oZ>?jgSe3GlqofsW`s&8oPSUro&f@BnLvKx3!ZmDJc$|>9OdRe>sP%n4C6cF- zPLQz=)hf)*w$$O&H-WcYaW2zwAOBO}uWh3oe{xCtJwn47Z%H5Fkp=gFj6=HYqqkzV z%XYz9>^5%0jeDX~kLKaLVgsx1%ve$rcD~mMvn?OOAIHbpnc!-C1GoMa7 zfOrDx1mps@7RGW?`=W6p?P8=~B37khi~ykdO`scX{E^AUwVDHG%M%{|w_xHfn?SET zsUC-#wmSOJzXmsGp33{kp8Cct5L$OnnVrD=txT5#nJkL*q^mNUXA`PIJt;62K_aP- zO0*#Ix#NoLJfasS0Li=IugO*X<3mwz;?Me7erW(nyzYPEoA<7Qi_0bNW{nctcNSD+ zUF_L6ee_Y=mPd`j3niCrUxnegEDJ@E}**iYnQv?u=X3&cX@Uhai0j5dq4@X-d<#j$iVt0}*9IHl?^?IOb~LN54c@KLo2m00p*_0Tigo_)H<*Z39n)6YQ8LG{9;c~z`yo1Yf% zLE9wS$~hkSgpu>8I(WBLzVdUkr~Dk?&?K{$w;gOrl83Uj$G(@bM21mL9%YXU+WKnC zmJ&CWRSqAYdUouxU*&FobgQv9>jrINo&xnoLf65}OqhOi46^TMoY$!d!zZNk^(q{6 zQ@RWRd!xC{>_ggR&rCO`_wl$1_%1z~uWicEE)|z*rO92sj%~VQeZEf*WjBu+OXXa! z8Y^470dM5WUbxQuEVQk@*3jxA_JZUAxB!2x3Jzf^(Ylh83@Zd^%|+1@lA(x)q>V{tcllDVw1vd9og!V#9_ zpm$JrQgLGJkV%?M8VNDueHzJzJ;LPyeZv9m4B_lW#33eG^6{1Odj#CcVGWEq5IZ@m z=Q(sQy)91gErUs+Qx>SqniqAGm8Et1OVgm9KDj)%Bva-FmcadZSi}1-h~mr7pbKSKTm;dak8n7 zk?LVPQMa{i#rg16e2HxPkSENr_}$fE7dB1=anCF`@gP3p^LD=JO&h zXrAEf*eN13!u3tTlp(klTU%&OUA7#@>E(>OHK&}m(`rEHq42M|i z;-Vh)wGBWcDB~(YUMf~?(oE?lFyokc<#|y^DYIcqGNa6XC7$bc{hvoz!<6@oXmQ8eOx*f6VszlU|Ug{a(xOyi6U9!9yA720fKmbWZK~#$a^n&jem(pZt zuaxDk9y+Z3NRcKOh8~r<{3>hp?lEVu2%p#`ApW_8S8T_HG`QROnU#UhTxL(U1=wEI zxmBGxmJcv@B+_D{*m2^Um*kQ;?fV_oycn@n89MfORleHPruwAPE95CJk}qlR@--OA zBl%78lvi~{ljQ5NogefQ#&)t<_l91X87DyOGIfYO7uj#HQ>UOb;Z(WxI@Pj~1*-+TzCrcrhiC`4r5G>&M`N-NzTB2O~x` z8V9K@LUBXDg`(D1kU_uHA`D)vsj@JyqMcXi<(Cf^<(Y1OK4k@*vavqfmM7C*jwChI z4Gm?{$IUf8L!Vr3V3!SP&>#{r}qVDtY)ehd7w{EiehlvwVzr>_|;}5^5Vd_=WgHl~& zCM)6#db9vhqLZjqr_DkXS?C`JMZaI>T|)hs#UwD{hQ7mWJxbrcs7GtjOT2+AerJ_^ zD6}rMAg;DbYmW@|3ZL*8zVA*7Q{N<;fFpcMxIXN=$u8tQ3D;l4`|;~7@d~IB@Q+uc zu(~)&2O7F+N46!yY)k4vf>D+_o)9d5LVHi&V}Yxx@sR}l=Or&N_R;$AqGN>J;Gv)W z-nzd>8Ve@g>T*huzx;B*qHqBEr(jB5m**e_MQ!KSaW9TCE{O`P9>uD7@m`Mwab6sB&FZ~t*T%G=EOj%V~tORm18%k;b5%rVfmQ7xZ5 zeCm;KQx(*``fNjvi`6T?BkZP9C*L`XQ7_n7)&uFbEhXb19@Wu@x9sc+j8GyRQ2iTR z+JJwCjQgDYInTv^(z{t^1NhPt!NH*VjrjN&{>n4xlU+77Om(eGDJqm6$pM!?-i(-A zw`|Ci1dL_anYRpEd8oVa(51-}lMWk7cgTEH$8iOGGvNx?Cu#GZw0EICkW`8hChz_OM@-W4oHzz;4jXc$Po(YI(b2bCp_Hi%!_4ue%=yzOA$NN12Mm={6kR z^57%dcIa|r=X|l|`NuWVF1l?#=4W12ek|ohZvW4J{Ew^u{onn&)&Kctf42I@H@>lY z@4fdfB7KiTKKt3vu73Kbe|q&_{o{YU`e(oTtE(UX@gH9_-u6uLTfjqY$C~PXBU9@< zpGCs%L@(RcxHV2YZu?b|*AZUdMwu4rPk_AO$KiZSsCR5!>eVE*-&7lNCRS-dtA#BI z{FBpH7E~@0cDYMfy3z1(7DLF+W2^8p=<@K%C>qelMN)ZqNu4A^exJY%>dJ%%hJ>UU zZqvh8))q&Oq@=aK^NVQVI>Q*-{eG2;e!bxL>pW4mY&!@FkLEcT%1R#jjYcqhQ?Yla z`tIvCA9czm10fDnrftkNS{K5(69<~PD zSDH4_QTg~gxCSHdz?pvNg!2X*uck-m~`JgmzPCVU--3gMBWH6 zf;emjPc!mUFBjzXavVjXv1QO3YxAPW;Axp&_q)B017SiwbX@d_R;SG+JqX3&BZ+$_ zgOQtaH(9k&#~zh}kNiw}2}lBg1UCjHs5Z$@hHrg=lT5F~DN0itgmWAwQ_IP-=~b_MAcc**jq3xCq+1$UEeY^|!%)$z7C;{^Y%b>!2!&yy+RPYrn|KIin5)&3U*Pgi=D#64Wp4 zl{ijPfAzozs-`Y4X)nH{&zsvBJMmE+j;IT1?RowbIvUI5H+9Mjv+#4+!`E>sdLwRE znC*}zx@ZqPOuI-H$Mm5PyCwu}aXhiTxT$hYU|ZAXJ*q6!>S3_GxIR%AL6?uQA&c#; zu39@rryY>NeW~MGCslhXs?BTpLYN%N2hQi(qcYCvzIZNmy-B(=r~hnG-T(BLFWpj) zbn%^3Hwe@WLTxT>bLCs>X=9AtS2@yK#>bJM>Q|2Ds-5Wz`RZ>S9XR-ym^u+#HU{z9 z$2IR1+_Av7P9IvwHl04aQb4xdrgbr8`;eQkQ@BPKEggjVrR(^pF?KRQ9@6{tV2zJe zsGaRg#prrX;Ex9N+4`<(s6Qzj$#0MS1NRy(~wS0XQ7hc0tL z>MF|3(B0|xKlotvzx>;OyZYbQB>(!a|N81TfAcq2U--foR-gOa=XMi(4@1BG?QgHX z{`Ie~{^U>oWc90Tl>ci!zx_Y_kECJx|)9c}c2KGp4N&~)=5sS7m+iyFNy zkgWL*?2c%*W|wCKCyws|f2K^PUJSC!BgW#i2}&9%XAEeykJg#|~4I zYE4SLc@XBu4&sDYIKvmi*3=KYawvj<;Ts(njgL;KM>aOmj0H1%T{IVO7c&SosQ>Uo ziNYVY59q6{71~@E1zBIaZe%&QmOo(Zf--!D9Vv$(0}Cvqm1so8R9u+Fr{!GyC58pS z@%wY&y&;!Z>0q0}@8I}XxI_eTv(P3^+bQsctGo=M<}$KzQqmTnh7+WGB5B}_B8p2N z{V#IqQ*^B>xwNyk!G39a4#_EF@DELoB`ngj0aiq0(58qzw9!|7x~=tutqUUpo{445 zOs$-*-_nD;Maq^vSDFbSBTp8LsSY;{Fmi0m#$jLwb-F}<@^hV+%xdFVfU#(^ZTc7g zi9bHU6&@uir66U-eo)5PAnr&e9pDj{TJWF`)M;`KH1ch3Er3`VC27bH7Eu2EecWsc zvBmv=+6e{zg+&pE!@@guM_h51Hhy(n3e#bGiZ5K`-E~vx%B9WI`Ql$Nd?8+mSC{gV z`jyA3#7gfw;fhA9Oz<95sY~;>FCZGzN+fMtg~#qu#X1@yNLO1uaPHOY1%u$t~?nwWL*d z{VSda3PNIsn`7>3-%_8zX;Gs*9`}-j`k~9Jy%TISeVizi}ylInN;V!9bltQS55W>nvKW~`^JRl9A%-LW#HTi7m%-T2$k3pxO3 z79DTX?9I0>5^6A?Q^wde-)bw=ObkoAgJ4zGOrx+o3z%gV^Zq( zk}+0+sfJO3OO;S()dQ;X7I-v#H5X>H*AvRYbeqvD))N)-M`PWo31w?X3`7CbV6jbC zvWm_Qu;fLga=KIJ@jgI}v#mzpgV<=s8!9Zi_rw|z;__*|XWEpvLgK-+aSO~fI*M6A zxd~OY;D=J8ERpyjuR zA-o4rKjh_Z_}up9ow6Kkco$_jP#M;%w&h>@V5diOaNd<30YgYIK$t>ogiyZf-XWW@ z=&Cl-*TS|@q!T(yVsjo{2IirNK}*UPm9K@mhZpE5Z)K8JYWSKSD#+j9CPr9(CWTnu zp6q)d6BG~&we**~d{oS&_34Xqu)u(x542C%cRY1rh#ubk_UGA@DZT0&dzF`T_1#bE z7JA!C^em)c&KLDbQK_)-4Ij%OcAD?r7kz<+C*|tlMSNlIwe+2I%BG8@8Kn%|SzZZ- z{!oZ=rF=GN!>9VDpiFWu4&h<_36D=mt6MgfRvf;|Vh5nz$2++7h?E+YUNTgFW33L9 zbn@WK*B@STELgU+C4`dQK`o1u9x6H7VgIf+tTGh9-#q_>>ecZ*$c5?w0Cd)uCN>FIlx99Ltyyqb8GdNU@!PHD>pH=KYy$A1>c3XJt+2;x0VwSCiCcs zu4x<8hmB{jO*wols$rkRzOc{?gn^ofi~6X8p>!X3d!oj**snCGQ=Sxvexq^jp%tto z-R?&-t0kGY#Gqz=3=ON?_I0QY7XI`gcOW!X$J=z~TVA)Vz#?|^1C3;l!)bPBg)nhH=gfcpZWljeMRW z(|T6EbBMvbbCUDp7OO&N5hIR1RdVp^Ci%bljo(=P&hPwA?!F#G{yr?cfB*jKfBM(| zdi8Vv=pU_q13SO+m9MP6_{A?Cv_${n?VX`~Ut>~L@;=NWw>120YoxpF2R^K!6rw9`kjV678EgnJqNekl)plr@hgYj6=4ZTPFSypox*8F+_5OPP3}w4I$c zw)5ZNuG%dg!^>oXJ>oTPb6$82fV8bs7A~x8&vJX$(L~?Ep#?RQL6d=zGN%X!S?kt; zQprA6p-vql*CC6!z;$>YN*YHY1)BLC<>3A z*rF^-)L*=`y-}u~4!-KG*0vwRh$=m2fD|9U8!3gjMYo`lFzu!{9vOa+nfQkCU-`hr zdUyi2dVFbx{;JbC%h0WvcN{M0LS7kbU4)e_i<~VQWovJO>F}s*{6t9ZyWNxJKS5l1i>ppf z#^q~u9=t}O<-ym748yhqZFgg6h;M}ryx>1i}D#WPlm|2=;s8%CJtlOimrb zmP=xQpeAii+GgEQp7DmHJj#dT%7@@+REbQxlb>Uhz0m_Tndtj`%-c5Pm-f0t8-}YK_M)hy`MXr&RWEcb0%WRVIi8|^Vg7`^s zso&bI67{IIFews>rX(Y)0gFCljI-$tnWGIbKgt>9gJfqUj{Tc&jHexV6y&^C^%AB# z>9&FDZ|mAO#%|+xewL8BqyFnFHP!AN8{}NI+Ej<*@=5uo$9dVzvbH(IpA*nAz@5%* zb|cdDxHh4@mSpz9&_@2N0SeXpcd!2E;}Ch0lIyJaJ8{i(}t;#@niq zrW5CTJb(qHm1)~|-8j!4(IW81Alr%+Rlj~OdSZ}@m9L_3NH8%-2wctc4MYZO}fMGmVd1|I6R{t^aH{$+N9K zf^GOM?ET|^|L<4t@EEp1{~EUaSJ2IC^}o6iRR@%eE1M{zkFJ5zG@UYBvqhNjMkBGz zISqRS@oU>C+xYUs@<_~_N&c7yIoqtW@+j+*~8Wxz7I|A#Dm=h6Y>cFLO zn#NdI!{yVN9t2AM;0a>7CH&KYHB91Wv?j;)qLIGC7*7`Twk>SJdtx={qKEQmJbBjN z0Yiq0hJlMQ)52O-$B{e97r~Rc3_9Wm!Td;UMV9v>B=$-xP-SejL#P8+H}0BXq*I?< z@V|)qOqd>Y;G>;52_=_eGiIZg6sH7v*Ai{`9WH=MCUxNgNr*6~J%-h!l#xLZ)JkBRKaUzThh~p~}S9HOnTB@+^pfb7K?t)~47A#GoGX_wJ{6 zL3w3PO)ivaxBUD#u`Am>B_&=GOlh+r^`R<%`Ev=EU2^h!I>TRP$@jDcxzS;=!2+^UEM_pCvJhKA)kX;)Wh4`cM1EG9`C zLVM;ypYnTdxWRuy-HYBK{Y}Eit`e{6R(E!*j;c*m9f&@M>IcI&bHPX}u{LuWV|&AU zBr_%mihTXSK*Km{UJ-#09{M6L#RA{HFKyi|2TxqaUj3+No37LpX3!s%t~Y%b)N3zd zBX<~=Nc=HDEhfu?LJuE>yjNPTbzR{I_9A@Ps%wWFzem1(|IHU;&(b#si9Ry{q zG}X#B&PG1GY}fvI06E4R6hK7A*62cC_Q^2U`Oe|mdK1C#B>%I2`cMC}ypz1kKW>)) z@Bi>0R{tw@|Ih#C-xP|DCS)F~)GLY&my;48DPuE3k1W6A>;@fC;H zx>1fTShg4+hd4l$<#wVjYrE|RK@&hjudcDiv#kAQERPQI>U=uVQZV=gcg>;Yhh{Ks z-i4~JB`>^{Jmf`B(#F!*c*2kLtjBgo4S5JkIg?>f*-8(ECbam>d~cc-qGm{8@XZgx z5dkQmc|&a$MjBvEC=O}^Zy+wL%lIs8y*n>n?kX}UWq}IJMXw8CX;|j`N|v5c99_`UK{{-?*p~9MKg8lXklsf*7y6cI z{<=Pajm4iWQXAxROo+WZu!To8_{P;RGjH1aBKkC&Mi8^vG*8(Xe)R=ZF7V|cj+-|1 zbKxqz_G?8g&gFVB%=)){v2wRal2V+6-T+$yVDWj%lu#l54yJWpa`mTt-SFiFH?#pa z^_z?G5>t046;T{9X{jqEw45Qfg!Xl)mh6J4AI(&MtoER0`c?l9pXKp&Woew>F{Ydi zhu=kYf&YALXxxbA5jA4@>epz|tKjaf}_hCKmhR*g_ z!F;gOF8%2++kiHC_su?Oo?3`cn<^9|GsBAK&=0b~IxJHB&<_%9gj;)@)McVHnkE3+kio8n)+im4u-a2R8g{v#otX7GYG7O1dT2Xzp%Rpfi zrA}K$)T>#7aGdd@pir4TTwn85IbofrFAQ?Cze;_%X3r3vbPXazwA*{ zf`AjkiRedjK23`?+ndtos`Az3I<#v`ZZ>tSUu=V!GczVS-k7%yIqq;+mPS=`fa8z{ zEY7Vyg0J1KtE%7c)_?KMlGu&+s-WEkkM+kPJ(|a{rszkXwDMpsV<#TdcQvlmxNBd` z6Eu{?k1(%s0Zk4FI#4v3P<7PvX~w@rzGIH4HHX>;oZHo5d+j|jJSpkht$lHq-{Jj1 z3jh7T`d6!;|M{O^{kQ-8pReBiu^%tfcT^Zvu{lr|=K2c4#@w?mv4f_0ga`2IlL6D- zY+HqFT=hKffo4WGn`St8eIbTzIW`k;du4|zbJ3UrcVJDR=HKxsvZJ*8nU59L4i|M( z-XNBiWOe?LN#4uA8Ikm<%!yIa7Q#}|W(RFodT0x+29?2M(RVF+=rfRsviO*EX*t?9 zr_IYRs9yX`x)yHxB*=@9=(#~s3tk5!2P@;qgDiPkxiI->5xPTOGml=16NeCcDp~nS z$0~2Nn`y<$Eu$Q~*$6W!W~1i7o)XI$Jh?_U@O@m|jhqu`z4^Po3soYa(>^CwLJhbj zA%GjW6z7ufq^%9=l1(Lr(JPxx^x{$5ynMq20M5#$Peu9YYGW6m^#CIJlD=$$kS_HG zt}LPtm(ojZMg~M-8RSSfVUCs*U*?U5=qW|=zj~CLk0ki2 zLk?cx)$Jj2fwzL@hp`2d$PZzm8Hw6t%HO-x`cg#_Kb9V3St&=;J7GOvGg(Yu%D@<2YND$E}<>m2AjQ+)R`OLE9>aA zGY%&5*;M*{Vi%hB&^Sk_`biz^H?&nY!+Ze&RXqh+Gt2^&&1Y?v>#SQ^Lt+mptOQO^ zUbsoUea^?LYdAD6eAzL>0QAaxDb)=@v{+xSrZ^Lx$wI(6hUPjF%r&W%0j z0^Un?#vTs=B0It^xwK+sSRt2-V(f*n4S7r5TM?gz*X{wTC!ym*3Zz{fLbzg?vNQM4 zx1De5g;HZ&r_j5MJrCJLb0Fzh;6Z8H`xOQ6Av?wwO}ft~>Y0y-qiN54yUh4i1$k#~ z#IKIwHNV#{Mf8EVYp5<$l^R1ba)kE!>R~+c?cVxI9qQ1SF_V1zPdzOYuMf2k`Q=!> z{0S)EZtZt?e~^OqYWM$v{c{*iaSe(ih3@}UJ*`QW6eQMH>K0(0qJ)n>o$32yys_oS zC;buw@A_VNyn@8*zoQ%@n9T6R(xLU|2>N(|FKMBAPeA@jtbTPe|m6^F3^A34jiwj(Z_K}Nn6 z%)*1h*xX3sPifIR2$ruOFSCEzPhB1sgO7uc$>>Ak85=i+YM+aiz*&JlXA$LEt$&`R zgeWZN!55~Cu=b)JA`p5Zr7pdpt&(vCv2lg8Pdlzb(gFv{@~1q72ZnCvwU%VUWMH?$ zQRL?7NqBpwu1~9KQ5`?f3w$muUe$;3nhB^ zQzYK8%WngN<3Y)Jo^1pPdN+Kw6*HOWfJGh<^>N~By`t7AY?zy$k}HpkLDs1wV!vz0 z*jhHAzmL$`4(c!hIEDJjyPMKwlTTiola_rp1<-(7?Yv@(R9w9bt)FS-S14Uwz(=ov zY`G{!TAOj*99L7~_Y^as0LyRtf~eobw_T{ey4Wt#NV2U`hms?o)EBW|d(q$0wqKMT z6^9a*6~F``fJzD(U$Jj=ltoYGigAqzO6p^J^0d=FgL5m zv{^Z+UwkZScn4Z)Pe$sa_zgUD%JvjzcyJ@BI**J}yQ(&_DBz}8f9ObF!ex7NvusVL^8t^s@TPOz=C_LT7`7Z!PJ?ZQp)b|B%7>hi zQ$H!0^wS5(uc|30u4ye>i^ms-r1;Q zb#z4D@V#hWI%6mf%*a9PH>1 zD8ue@6x#R?{=^@E(=v#7qR5m{lm2D-CL~LvbIfuy|g8adHN!o8;9KZ zM%kZ;_<%3EKYjW%uNuG8Jz3Rk`Itj@s?1--$w(V{|l}~C@>|~Jdt)Z(gTr2rC;hV`DCs9OwrFY$2b?T%+ zfetzl;>AH5egjt>!jDTfvlPZZ$^hnOJd-kbsdnOQHp#?G;MvY~mft6Ka?|e~o>&WR zUgAjf?Tu1Iho)o?RT8y61(TRCa1$3~xr*OG{j5h9KyEx7QSv*fIQJF}A$5&j*7sd} zY`zwI=!v3=(PlC9sr51Qj~tMyueVgNgET2ZQRn2j4ibxBr{X=aXDon14eG#$I>28p z4&djlfAdc>{~fjR%+XcrwZ{WPt}} zJ?^hhY!9VZ7IWh0GkG=>2`>qk<637fFzE;SGM=lx6~EwHe{0w+vzAzwxB2AJ=~y-t z$Q!NUL|Juq;@qL;?lFvdV_i1c;B6$z#sLAgAv%PQ&Kthzl3lU(spmRKYcC;0C-pY% zF#yO`2%Bf$%Dv+z-kQ$vfs;OD3>M-$p<)Yzv=`4sBL$^H^?vi&h48Em0UPM6ZPRks( zVCHz~L0|mGn9}xUJi@N@$=H<3$>N(p>auzG5m}i@l#ddYSN|tX#&)1?`@-6SuoDXHsOx{+qw~o7LC8_O;dD|NY;OMrvcez5YG1 zvMWZG7t6c>UPJ^sEZ5ny6LgB9L6ziw%%CXqgAlG4mS0nbs(?;!rJ(H3IB6KL^&NXr6xAB0M z9h*eaY0}L*Y)*Xr*laVejf%GTaia%6zjsR9evUnEnEB{=B7%rTC*N#bSeWLnpaicd zTyT|&Vyu(7oz**<9tNa+;dg!PCPbCpJgL8vm775AiK>_A8<{YWhZAfOX?yV#;G}20 z+IB_Mm%czOdg(iLq#z3uP~0r#@hc~Nb$6pY{7-T8ce0b0KY}v}CFyd;fP9Mx(b1Sh zTta%G8aUz^7It0otQowrN!6LJ{^p$HD%-s^3%A7VV54VL0SL z!+-ftIHB8K0v#>4~CLv+M>X(1K6*+Ui7PX72-hK0R=Cgf`dQ9 z2V(Z7@uhj~kyjrM2s=7}tXzYUq$68#04_Z5a1f@)!AZlTFK4j_04kexY%mK$QS|#U zq2+6b>BH(rgE4+92SI>HE%i|<2vH|Dnym6$NEPBVHlIV79BWg6Y~{oArRCOvHjd3~ z?mUY;LXx6@Qwz&3*@`EpS~qQDRFZcCLq>fhKfGWXJ*?m8Y}=*}jnXYahqKa5>MzKx z&y|=iTs}?Qj0d`g=~<)86fSo$?hmLl6t;PyTM zexyt2cx0~|*%j>tnM2z}JD55g+{wmsj8zkky4jDMS28czuN)+>QU3ClwLg1U(#+kQ zA^J->6-tk!fklc3cZVDvm2+#a257!{fj6Id*~7JDQ%4E;M>z|E_ClwSkO zuwo`C1yTpfo{LPk9;Tg$x_&Hhf#l@4&{6KDbFf@1A~C_pGCv88JIa>=;2Zi5bnQ1t zZ&F!q5baF6g790ehT}K~SG$}(9`xY?L}q*(_x;|jHrw&*E?CKvzi8VbqP$yi>ZZ@@npDfKCd;3p4{_Mm_218s7`FB?npZaU1@mD-H*#j80eTA42J)6N9ogNzd*5#%e5 z@)N`n*-9K?ohm@-q6LL!{p!~yvCW9X)*|hflGL5;*~5q0%qWAqsVGyN3afcUg-Lh5ArelCV=b7_zIM6G~lGwRV?|(MNHtzTqd~h90 zyu(_a535TrCA0jZZi79su+Hm|D%1zI8$bQ?KWT5^3zMJi(#5Jah3BPONK>?;Dyc3e z_63El%hXRljeD~x2p@F_;)I-1{XJkr;zoBwBv!>P7IV87$Xl#eVf>%f-V{nfy z%E1!wY?IccA^jk!p)(zi+79HHOIV92yJ1Sh;`hO%q*o^CEn5fLr_n3+fOQkslW?tL z$ic}Dxm9c%e|5n=?_r@0D1BP}(!U)8s&^?rcdbZ>f8zn3vb8T{4WT+aL-%)Z2hEHo z59u>6kdckO$?;SP83`qH4FKMDf1i0>C9QnDSmUQTNqntkFqIpQ#DY;i;b3# z&^GsX50~{qctkRo4wlLvLT4re)T&t&5SPGOmO$mV;0tjhjsg%f$VP6_1*7>8x6F*6R_Ukd6lI7rT=!r!KGvT)dE)y5U=4T|7s=Wf;s~mKB&1-rrV&htOI;MrfGZkU@fSaW zM`1;lcXv{`e62y6IL`W28h1;z2V0(M1G|=N>}*jm*A5RV@*=G?g5s@8y}^ur$+z5! zFI*v#Zn4b_!TzJ)EU=AM`;&i)fm1gm^R$3E`#~2M1G#(eom~zuy!%~Mf=!I@ZbHk( z!G|a;!+5keJs^@{M3vdP4#it1Q6=l|ck2twd`iH(#%`H33MsLvf5Ir=W3#Pl6Cc}a zFRZsD?#vF=ktJ{ZMIE*NwgSszBk3}$#w4Fr@O#_6c`xQJs?Y-+)W@-F5bu^@GrJo?pj>vB&RnmN9ztvzX_M&V80*;Y7#ny7 z-B+uJA{<{X_L_^f>BFdfu_$9%jhA(Z>)WRdj<3q7bytmvJIJpEQj+?YL`MgumS5}X zm11B0u#8B5#n&|mgDrTUaYcURt8%?j6LI0fSdOsLR~>e<7VMnb1Be#BDjj!g@cjqf ztPvWlQGRLxO3KU#8L*~& zH`E1JJeV}R>E_t7S}+489iEbr=o4-iR9Q$B3TTutf;q@2K933!N0u?6h6YQMS*u+H zrPL5+ooQ>!Hqi?X(W5_!;#PxAWg5?gZ#9;};VMIe$uM8CYh7lXLQPqNi=qlx3ob!^ z8}?Z;V9UaF$ldmRbOBwsX&<+hbr!4ua@v{OBp{679l9)vbrfJrnonrO8~mEDAj7u& zg08PEWglK-aThKNQ-nIQ>()l9jHoemX&q=PRtYHFRS-!QRXx#7qUa}^ z;-KUOmJBpK?l$fa6FmDy@&lN|sRbeGaRESst^QSgK7LmrLfWV(d~&GM^eH{=5}$%9 z$F#eNEVff`?RSf+xuS~)9;_(SzhjAQS|^py;^T?euB5a+X^^?Yw^+O3orUcpnqg^Y zr8{20hMJ*li=|5;=P3^47<*v0H(1|36QK^#!#X@)qt+E1!?i8rXmqZ!E2`gY55#K= zl#~zhs}Gc4h4mcaxKN#H?|gF4m$O zb5|T1dBejA$_HY#?*tQ~m~8S;Hiz5|BeAN3_u>TzmlAB5bCm5Cgq*ftoNHM9%8lW3;l zBFjsdr@Q&N4f*g1j%5TRKk+k#+UEdRdT5RK@+!`QY(R+&L#Y1AWC*Bao2c^QQ&}MK zYwijU3FTYlS<%qknmTpWxsK;e+JyA7|I7y*d~XcCDgZoEitx-qM$v>(GEA|>kwtS3fADGQ$^qCzHrr_eo@Y` zp}i=lV}km(ExYPJuC<`anv`ZUxhj|Tl zYJTA(gJi1V+QAApm=MJ=X7&U-K_0olVJ>c6yDO;&jdE;2TuQc`NF^L3y$eJCVWH~c zxE4=#eLIsp#Iv0L1Y>QnNZ!elb`18>O&9lW0Mc0@%wA&95Eb3XHxJ?RGOucWH`dt3 z;$uw9252!x9qjm07OkFit16FgB92QX){~#d`L4-MrK28s?0)VmYo#96e%xSvBjWpX8@4 z>Y^X=a|co?Cwb}If{BOUXrw;E>|)=$eZqZ9w;OkP<&jZI=+Q>UhHPe`R}U%kC@l8K zLp=n?$0;{m+_h6X5{O-Zs7L$?P=C0Q(Ko(eO~*(hv- z^kBGshfM=NKXmtQ{WkFPr;k_9pFUyyN1x%$r%#@&-uupXknu6?izfok*)*}CxqAi; zJ`nE(U-WPvQAOUjyG4?%2*~GiUJ99(~ff z+@%w_xwK7}{rk9_4p%36x^ea8IiLFn{{_ByBW>G*Sdh5;AfB6sp;p#J=`OHCE;wjoZBVqWgJ*O_}#Oe!v8Sye46o$6AN%jS> z@4WL4KIO0kY=6gio-^+HQYH#4+YXL*esUMM*w#1=a{u(*nnn&ocDU(JOV@4HF|p_0 z=T2TAxQV*MI2?YEJJ(C*I_^-g3E86SrG~rLu?OiXl!v}>KAt_GFZExy(-b?GLSWjm z_!~TF!6q)-ggeIPr}=tPll_4ZABVo~(1`i*;tAlb^ zE%Zwkv7wdz21Del3sMYGHDioFA4NfYWcxvX6t&&?>mg^{SdhZ{J<>f`@oCubK%Bh+ ziJx=Wvlfo~4@r$c>-+ea& zt#7^lGk$06@BZ%Z8YMApbqVbd*M=JG0P&c{dzVJ-T?ZTVV!RG1v`Q>o)(QK9i$*uP z4i@+Ll?;QAi^TNI#Yv+>G~>MhA+H}iY+b_ z?_o>c%14nKh6rqRz#T~`E64;qZFtNVCF37JSzx>I2#o{!2CKy+$rHo_CwL2R&lrW)GTJZV$2Ym`P!3!-5N>jvqwDT)9jp|#vg3gz>!j1OQE8w~){9e+ zKBgSyEjuOXiY!>%(7@;1jduFPCa2jHwX2D{HkI9Xo>;Mv+2-xP_N!+!qAc$0i@VigNq!?YnFW&L5x_eFGuS9)H9}YdO1aLOKH$D>D|gx6<&=yR(#9()G> zJj*8elMmmgz8rNngPXax-}wjV@irU8H&%~6`FQpIxBqVS^f4QDd~$4%&s)lT^R3mr zH}1ga;p&6$d~5aO5qGnX*!bH9_3?dlKEMAUzE-xI_2)b);U-sJZutG^-(5b|uWkzE z^VU1m34HbI#~*wrzCFgCd-&o08xK}*y!AuydQg1{dA3{Ii1t`V52<@M&ifu|zXy-| z58hh6_4a4kT%N5SegqA5^hxTMzQl(7l)JFU=sx4f`-gw{hgXj{k+sd+_C3%r#CP;7 z?a5(}hY9q@Lx&L7u?Gj|Z+s>P5pMcla(MAEc72AsooiT;iN4x@rx#;1>Z= z`^fD806+jqL_t&oPMoYr0G*R+`zJzx%e)W@<^tdO;d+BnLge7H^h$A2$ZIoL934sQ zUB_;cZ04YI9qQWAwO0BD7&Uig1p;iWMbOJxA)8lYEsSDyNa{N(^8OMg71t_`!C60U zO5B;#hJ4`aJX&iYQA-}h32uUFE*tYHQ1kIA40NsIfwG;SEV5pu2VClszNsKzMCBt- zrMvh!Ka7evr!IXACB`-6SNw#E}DaS7hBS zyg;z66-=JC{0dc9SC=!`935S2qikpRm0$Ul)ldD@Pb~s{9O*}X`}U4E%f4a zX!;NYSbk_;f+Dk6kRyTe>aPrAi}a6T;wwuAypno$VGvwt4UR9tb(E@PaEqd9#92)I zqJcnE2Pz`T^nLRamNb`ak^m%cJdA2wP)`brPf`&rr`k)&#d;=6O>*<3%^tKEdsXqY z7uyAn6Jp+Qp^lDHQmOJN#{``BWU0v7loltso))BQ z|D-Kwb2(*U6q(8fk}?!(nnI$4a(U^oB$Ds8MFIJG5s7IsFf!`)6+Z*Z_krUO>x7SK zSrSEo%0e!Mz;#Hy1y+;01Wi}1PW+6mVbGQ!%pisSZjl_Hwy|j&rjJ{J$}rFk4LaK19G_;%T~Aih45$KJ)7?EITysb zaj|c^5bh^;o|G#WPZ?ge8+T2dM|L)k;5gQ*gSw<$V(%v(emWMoN9LUht@_9cfZvMQZ z{3?QWx>5G7_1oC-j2&Xyqvq4MEcX!M&K)+t*z}A}@sthqb2iIvo_7Up@J_uOsk8GJ zbzlMhofQWx^!Yb4pf_a)Y_p zjNQUr8)$Y7O=e?LBS8 zRwEm>P1J^bm&R(Ra|P()v_lUXv(vh)V{z=J4tU-rap9N^$RLVqq!U#e#C08|9z(;d^%0_7r)M2VxqU=Z@bBYX!u0!R;aOFp_d9`ytu_gd6f zY`zt*`C!es*#<|n@af#3Z^HnGl6-v^yM`CBMaf-x5}v%ZPny4jk_+xkgkW23`Y^PE zsj}tcWM-@~wE?X<5E#@VYgd3+dPH~0FjDz)tNJAw>~J-6Fvwoa=%K^-xP>>VjOay_ z1r%{?i9AtlrPUT9jZ416DlLENmG+dvk^_r_K~&p`cW)iE)xjl~Z}7X#1e1ds`O-`3 z(4^$cRN8n`UuW|Kjnilh5##uviEd2Ycp)0TC2!$?hz|N{BLGM(!6S=M835^aGMWN< zi5Hibo!~G2q)ffDD5(J|$+6-H;z$^hEh10<;BQtkdwNWkX?Ln3&)xw~HSa zRJJMYmoK3Dka;c-Vo6d*MOs&ZF=k{3y&!o=WTZc&4XPJy(US{$=H79MZ1`pk?|6zXPuWB{uG)`F2NkLi6~;x{Yah2 zz^#k&e3aMCs636`P|llyEs_h_9L%DJ8y_fg)`rR;DVVKYKKTTD^ zLOVRG?waN%V#gkR=SJB!Z1B#!he7ITpR?TdlQsmtZQ70OlSlfGHnbN5X*G@<={Z5yGuTMgi_UvOTl(7?y?+3p%U+c;7weEIW+~eZ5%+5Op zJ14qHbgd_TJ?%q`Y{y2&e%)h>wcN2x^&Ei=Ezj{(A7`!r?jyKavyqk;*W4kMO1U08 z_`TM_hQwx&M&8bQ`_{3W6c=-{SLZu@>y^AP*CTZx>XTn3BkNRf%Z|cR*Z!*Dc?Mf_ z%Gc!fstv_vh#gi2f?Z3?)2u#K7w1f8DCZJk`q%lydUY%`E*j?u+Mz^1+Bcjb0409yN`pfeH@plEm6n`3Cp$Afr@J|)Av&pRC zRXG+_>J=(8vA)(u`3qn8!o+Gb`R=>#Zfuk{4Xd1uI*V4kV8b<}vz_Px`PjJcxHuqF z1G3$r7`2m2LODI10X4)h?OXG)*VSUJFJ(h1=EhZ+Q){f>OV1GJIUy zmuDp(+~Y5BOvnqbP~3VgeGA@tsK51>fi$at(#J#eoGv3@TP-RYe1bh~YjHb#RhMj7 zbfA?BGj)+)+TBR|7?y9c&cX?pWk{|G60&*|bA9JD8zx|<2HTpy!Q1n*_8U~KE+#5i z(*2>(3fI!SSd47@b+D<)C>wt^0+C}stG9)dz&193INS}a8@c-s#y8-o%g#0uKUMpc zNAw)3=*KhsDGwdGj3?4imdPG@>RE?3;(*J?g@+YVcR{N!=TJuQ6oNML*4Z3nWw7t( zaAyE+I|J8$RBk+RqZhG@keOZj0f;5T1W06XS=tNBP$+7VGR&1*;gJ$w-nLiP`4!S| z3qBxSuoa5~aR)Y}K5iWyfO*Hr&4Qs0l9J3tALnPQ=tTNdKKju|wV(05*N?vQO&+IZ zbIGPd4jXdTY<8yHVEY~1r%xV2NZ-f?Vl3K+zRfRkS-2ZA2F8*2&s83V)LrCygw#iL zecV_6ZqkekFXTHe+VhmV**q@I9ba+l(cb-=l$nXTxtZ_pxVoWmV=j*>X4-)rQy2oHiaG!iNpNcX~g%{a)Ojhf+<~9w484a1+IJ{eZk^U6#%I~sI%ePD z&aoRob(Hs$_aCnM(RRNt>t@vN<$I7b2OnjA@d8h-;kBG<%eA(!Wjp^39&4l}wbZ)uv02pj4oQAh{I=cJsW9cgP(nSgX2I&lXP0aFl75num*E!UQni zoH8zs;rS{dx;{aHx}#rnzxXYtbaOMxffRL+Um1Y*sHUd)Q$yTh8^c%5J;WXutB3Zu zX6(AnLAh{{d|!vSFGqig?egHWFNpu$48Q;TzrXs!Km5bhZ~yjhuYU0tfAPDi%3j&m zauLK!+a}$-^n0z(s(u^3SBV=g=;hPNY(4G#(I5TMy>vc;J%=;!6)NP754 zJSUr4SD+2+Qvf;zQQo5nc=6!Z5 z1?ewC*rFQnNXw-PB{LiRxv>DW?&rmki;)*`bm7ZE-qPkJVx+@@ynMS%JY^V!MOASE zsf+2rw}BIm$u6c^)Aqt|!s&87D6(Uh?NNVP=7`pJMqI$VxVE!d-l5zeXFr5>QQ1|j zV{7ajXoXzYYz}htK0{@Mq>4xlt>XOBuiK^cS*UYY%*DNT=5(~8mN8>yy(gUoB%9c} z@rw1z8evKn1jX_KCvwVgbJ2Ge^;2zl@afppo%2Ypo8H_>jb_dHVw|?)f}4%18^c+T zi`WH;Y~u-w&VW9j#KYZG_I2J%5R%jVr=-eHC5UD$J98ujdMeC8&8mSx(_A3HsS zjEdN&zyY{?>MrkoKKf9+t}pd;bFAOoq{YYJqGsjZh4}Bc4z&1=%76BAV2)X_ERqyQ-2@l&yxUKcVg8e zo2uo`_hDTQDtba;?h>mPe)WZBdC8hDjKcxmN&9Mb!#gPelOV@JriB#Y>> z17QmkROMlVtX)&I?yBhMlb0e6mNi#)3#xGnQl=cfgUk0>qBnqg#JcE(B>?Yrih1d3 z?m})UQh4JkDDWL+8;Dazp4@naZ>?3$mk^8_c8Z?)5YQc~EkU1Kmu=es1MomY6>7{U zu}j&3-jQPKuo~LvKjvrVW|>*8Fw6Wn-+0Ga`T9f~)Ogk>G*J4^A?H%(f#NN*n+?id z>T2lQy6H0S#MjhSPh~l@sGl3;9E6kcpu=^DM%>2kSEcK9Eq9ar^{;<@^~Znw$KU;p zvhLC#e7*$J0WOe}63r?sybOT-yju3)--su1zdG`jH_C2=dlK9wzQ4cIkD^`Ef4f9n z0>jJv+u+NmeXY1F;1VWFhnYK0r|pc#^65KuEpOq`fCKT+cr9uR5H%WhfKL~-?4{v# z!4={b>-yYHPx4$GOx;jADEae6)p^_miNPd9)OtuX>vDoyub}Z^617vs_Nn?iEjiG8 zN8ImwT3Cz1veV7oGBF)yzq54l!zk62t^)L_r{kWE8ZuabtZb)Nb#f9_=j(=T9c0>k zuTwW`zhDmvJ7MJjg}7u?n-DLPR^m--)MM7K^|Frkg&BXwaYA*ooP~i^nUiNZm6iI_ zJI(zVTVzcF*Y*_GE?S&53p*iQeC4K6Wv^QGLU3lKZHwGd5K0LWY7tYD3xI9pfwe>_ zUx?%DjBN|TzCo(|c)KZL@ALLMpN|3dZ{K9CUJrP= z)){)adG`_TkH!JRZW-%3++BVwbU&YY&hJg8cjA2sSjI$JLAD@+g@*&#uzs5tj6HcT zn|gikX3y`}rVf@$+tzQt9y4a-BIiCnefx8tPrb`G8)iE+Z2ExY;oT3@|1EdpE{+@h zd}n%Qx{*Fkj}4M*WZdj{P~xWl9=_Es-}1ipYYbwuayL&`FORjxj7cbIPVTMIgcjoN5{zmad&{ReOoqi@{?)UyqQs$ zxrMAxH_;ph@*otAkJ|86dN#*3Mmpyhd@)%3OWOG<^8jhb<>J7hDyYu6Hx=ZU?;pFy zhz(^|8CB{Ja7@gBGcUDpIIKlo6D~1ms6U|DY&x@hti7;6LVp1HU#PGETYLc&@O{o;DV!>P2 z1$bkLp%5y#_^7aHrMl|BIds+qOdhkw&>URllm}xj3DReQtAj?EC#Ht&iYJm?#os*` zj`EJNha$dc>nR%#@7{X%(7TNWAOCj4!XNGTF1&V94{3YX)JT81k#v)opONzMV`O+BVF$05t1*sJ_ui3p6Y9@rc?Z28 zV@|)nrXEeMZT261;o-=kQ0>7-?)?sO9nQFU_s!qZ`h9-iLZ1yVJjM5^g2-TlZ?Me3 z(m&h8@a48lsyL0%qt=|m*cMU#VtNEYytH} ztl#QjI+n&R`(&A+jbgSe5`@93GDlujOa0~4@ASwc;{eUOQ5UD`a4;PQ5W-C6rURMY zn5yHcL0;a4_pcACtw(>g!DgjTq8B)hrTUQ+aIW!J-OY_oLwI~mS{!+tq894J$GHOx zQ|qH-t}Sx|tZ&pUPgt#sLTekb?RsG13oXU%8yp^#dt;+o4TLrZsMJwBh1r%N`>uq) z`m4WMz5VvvtDpFZpSZI8uYK)ntIvP_^Q#~Gu^+oKk4p*LKl*G6g1cw}FG<@;BOJn$ zU|${BCSG^A@ZSxAEB65V8!J*H^}H--$M#bdm(d(seymTMU+GfSnB@>g_=sf|1R{|) z-Symbi><6ua$wR0BR*A+E%J!VWNm@MMpSk01YVOlONS~P*DPgF*Luj48a7sgtF0@9 z#m+0x-ZaT|bjc=!&4(LcH!c2rksCK3$M!AKA945C@2CoQ(uEx&IsfP?7@zYKIM3;9y z-HfWgFBtPDoh%n-HGU^>fOw{QGV4;mBDwT z{k+8g<|CJp)3K}it)r`Q2Y|>rIyFd>p$z(G&uZhNI>O2YwMkb@#&!f48?4$6mirx5 zG^H(K75Ux-$|0L5fouwWIat0PB=+DH7dW;GATo4W<&MARyR!Nf23V9$r851pfqM7` z=6WQ&>;-AqL>?P*w-zHoB@AVfKJDUslZ`TVd${07J(TB0{2t$R&d-Aa@=kjd;e5(# zGwNHoOTJ~oqmL|-K20A<=(^OCpMJ!fy3$Y!;oEoNRW@IXo8+j2-<=k8&g;=VIF^rj z?YU3AYjYlQB-WSXoN4hQiz1CiPpM8$aaBA<>RrS!9^8J;% z@Iv{#W@O;u79Fliag`_y^ekUZosY&%=TUQJcz_QBB?BVAW1%aCm=4GJ1TM;&)>jgb zF;Lm42NisV$TPTwA6Mw6fm&(oz$SPfYHZd6eb8P=3@QwC#JPGm`{kGtqdoWm-&z;N z$mUIu#OSgWp!exXNTk8Vujm52>)7@*la7laaxo(jiSR-f>W2U~PKL+oxcRg`J<#^m zaCxWNiU!Or9V|yOqk`q4SKDDdiq6rBM+hcUob}{D+H;bj(ZSno)t1FSP1kXYCq{m` zU@zVNZn`nH4FJ%wco1=t_es$nRXbCm^%36MCy-A%kSTl3Ls{C1ui7g1ZEgp6Kx)}K zAj9%$BhafPr!U%>Qc|4u+d4tp!8W0T_)sS>qphJB3*2iW?5p9RZQ6q(9fZW@4U-bs znV)aRBP~4wvM%U02T2$H4b5b%hYHANY@?;huR@2U`|(V>Otnq46a0X0e2bXSJW(lh z@cIh6)AV)0kcAGO=!>5DoBgW;f4vKmJ09?F7WbnyOO3E4lZfU+xpyrTAM1b32b~C} zM_GGPF=_u(U%>IvwkF+gWKx3A)pVx}zB)kKNP97hHg*zuJ~fL9*{KG=!jr`e3n$8W zj`k4~f9qas5T<;zo>`;E0&gzbOo59I5A-r6r&S+b6l-ko!dbiC+*+N*od!JoC7Qch zyx-Nr4;^UhiVPox;7i~T9rEjlZ@tSd!z+CX?Z}4(A&WW!3sVQV3*Y)p-O{IRje_wa zFl1#x7qTZkvH)fmo7<4Ni;dlC^uXt~w{)={<-_FrJ*ZCkUN<`N zP3L3b!BxFnOJCo*BE2WSsNY=Cjw}~+@`ic*R_%~M*o{MxlBVglC=|}S{W7n9aS^1z zVjj5)azD5KY4v3H@PvL_ND)cs%lcUyL}1q4N!$EPOr`Kk~L4 ze)_pRnVvBS4NJC+=h@qaA>Z>@#m7S0r!Zh-{>YQ=rJR#=|>Qaky`39ZX+2(m@bin7-VJ={Vah*=AE85@FJ@ohmxxD<< z1*GMmwJz8K5Nn_X*>iGbn2S(s`Z-eS=>>L@v6=dR{q@(q=v^LBC3_2o`|Lwv)j{enKE_U8>`685)eR(svAx32Kh=-hoAT71n+M2GF+8({ zGA}Hk0W+v&aERx6BDQ5CPKskVW-w$Jrt=W|F%JfBH+F*-hfoD%3W>~>s(Nmg%2J28 zdB#Ev4yLD9iYA#P7Xr_j!9K2j`O2ZveseKEiO~NdxWNdbQa2uK);vJ@3=Euzc-aFl zPv9-a;GybPfEVRqMx)atOnTg_6Om6qqNM@ipLLk&a}q^aIstXdiLjsXnd}jRL%P7* zx`;_HkXc+x6+t+ORL45N16u0?zJ#=HR8{=S$y0-&%aI1(Igo}&54fd__@rIIZz33Y z%p8W4%0Y+5^&_Tf_ktjGohXFrlY5Gc3KDmR)A*aj?b zsZ1Zluf51Uz^YwQjKoKXv@`l2bh zY>yA&L#AyaL%YYO)`NP!MZ2exH^K-dtqm>P(tP0M#k*qWp`0XHSki8o^x3DPWAb2& z!Gn=PCJ9&F?m2;9mmdDKl@M%B&=yDJ5#T``J1-j_GBK84Qyy>P!+1mZV(9UUB6ukO zNOi%R(fPhIlMDJz#zR@83A;@24;&T_zTGvfQDHBj6Ls4^i9~3|5lKa! z^=zG*1K_lMAf%yL2jEjsc_w&yyER2Gy!47-`lOO}nE3<|Z?0zH`B=M&EaKT|Za7|) zr06s;O(IeTy;tRAm-@9`g*fWDLEE5(Jpipv>Xrp5{^E~?DvQ>s;y@K{=;b#x4!7!k zm$j&qV|cm_b;kfZ)%W$HxNfQB6C}+xA{Dhz27Pkj0i2Ws`#eY3wr?$BswQc{f|v{g)9GAPsT)#i~6RuI=s507T)T=Y7hDJlNe4R=@Kh?;Ti<5>c;?UF~@jd zJtz7x0T=auIxp>25xdx=U7s?<=ThNN-;9QY_P6T-8>nBi5D%4mVX6d+RKCRvU(SPv zLby^|I*6HS+0tx^T*@2;2=*`?WL)&8qh$P4ALcMi@%c|D3yp%N)4RjPA>&(YL2@ZJ zBn=Z7`;gBCO}^z0N-x&A1$-;GKJCk5s0g3j*Mg4o7UwK4*hLNp{{*A%2)N&ZDvj?z z!d~jx?|%`}#pkhVS2D^M&T(c1+8=Twj`mqdu;JGs`CLrN z1>@8>qYFceTwe98nu37>zO{dpc3V}Rwt#Q@k+?_9?St()pM;lm>OXp@jbjhI5QcLJ zL?zGpr+DCYYZkjKlCkY~fA@Dcca^tP;5@=kGU3yo{PEa?V z+pF(TKb|KYS$kD=n3noAFCBOrLf(6nc3%~IP>stdcxDS_%=FbxSx>ujBOf~EmND*} za!e0=;6O{>15o7;HfB6KH1g2UiPDi&iXtP5L0bpwBFvK-$QFYwm~?Z0EFET5SBi@k z`5j1t!Ql8nBc><6YDo;hO!ObC@s0RR*RgGZfr5RZv^=7;5*mew8C(ukk9k9n{xDG> zi+pGq!~t+30=IDl-4B#Qtbje7R5icIs92Q8=)0`#H7gDR*cak44~0nC4wFq)>^7!! z^J_V0)jxQx3ufR7{K#~O6H*WI%I<}Uw}c|U!+6qaoan`gV#WjC@Je(E@?AH`H`BsW zM5^&z)CU!;;pE*$l%Ov~m-u&$8#aN4uJ~!f#-eTNNbtc1$;-(uCpIo7Ogyd2tZA;g zvvYtB!J?EOhm}jhr-IIrdZI&Le00lT{3jHo($;s|TF;D^L^y_A%GR;13@)2o=*cEa; zrz^hwsWF}%YYv6HAGMN_VQd&}5E-Nc#U3wIzf5dAZv-x#ZJ!X_X2b-J6SGN9s{p4C zoi?L5q>C;TBbPSA zpC&TfLm4~DdGm9gLq-nrdHEHK=PXWIB7Q`Fg^rW6J@_*+jG)7SPtNsF^eVeZnB(Uqq$Qv@Yauf^?u>-QJY9UxdTU z!|(tXAflVh*%7;!|k%l zdHlnRVci9RkC_Lsu(n?r6D(7{pe^vHd~@8=rD4dX4^W?}MM{cCBQ>WoEPUf@kI7tw zKmj{Ha#81T4|)@y1Bp>lD;@y#DuUDn z;=>=f?N8}!x<)w=Tcj}Y8EJy~R)%!AD^a|GUy-l>*k80JuuP;A zN|~u#i4-*Csm1Idvsh-4{Q1v+ej(>?{^oCXJb(PwTW{??{_&6Re)1=Oa`&0fe8xER z{V#ms3%jp>{p-80e)X%nPkriB3)=5VCRH$rP9GJJ_Cn;w!$@=7y)K8Bf@_9GlZ0Va z9g>!032PfO9f9#zBOO zKn0(m_=09T0~>#9R52aimUy%g{D2H>aS^m)+j-4Ry_4k=GJX-CL!JTN0UjP`;VT`k zsepUqO2fA=xG|Q*PV|Zp^jZh& zBA{b8RJR1X1uj1B0~blB*{<>b3U7ImhQT2QNzvDgMLlFV*#K(32{j_Jx< z2ayx^1n7!Z!n~0cZJ@>P9w&+`TmQLpf4qRn+0-xjN#+dP~6uKDs@C<|9m*^TtG!+J$-b{^>~V?b}lS>kG& z=6^^*wJR-vee1XM;q!{YEI8CQdx2>Goh4+uymfXv zrP5*uwc&b{QLb|w%X7^5nA@4{AF)hbb3r7F<+T*_O#SG&aq-6gzO9^FQKlffYHXVP zD7my9FUa2?+VMoQpFmamOfNp1w{K((ZNJRJCfiFRRv!m1`nwgDy|X>(HlnXORLWpk#4?rA%2qY*opSy(+q~TB0BtT{g}*DfDibte(Ce1^H`537=lwe zQjBj)dfJ%%1dyK)_&0uZ#y{gc*5pFsoI}7zZY9uEaI*8%i;%}#=Y1Yg-{Sn?-D+{@ z`DxcH}4UKIAs7Rs_q1HKxuG_`ZcAM#LJQ_jJ;%=vh> zg`o{zr0i_RhZ(gDSQVKE7k6rTnt>R{pA{k@73@xRSmYin@Ylimh{sj+S_V6xAj_6x ztlN&(fq|M`Ci_N&8IU5aaa*?4@FBkF(**vd)%heK9r|S5zH9n1rmR@G9?%Cr^74m= z(#LO#CKh7rI?^{SaobCbE?33F^~2ygB8&_+(ycFg_?9N|v0ef+?=_kA(4lF&96EyA zo?`2m>^oSgodtxU!$kG&4 zIJLVBj+nPS;1Za0qpzB|UtD(sg-x6C@u(7)wI0q31ksM! zL*6W`#X!@vZ_o(~Jo$rOc?WIR^A!X>i}ccmKe~JW-hIEQD2sXfEB%7LwToZfJZLW4pX?G1l_XeJs%EzNPb$YME>KfyxiI zS+Q*Eva7lnfPUnAVT|7lQ$w_VWyg~H`Eo22y^Ct!%eV4r>p>X-7|(xmdpnDC0}&EGh1@1yx|i%20cL{rkwRRA^@xowD)ItPZG=U3&iT?q zf=2$$V;x7;v@7^qzYjz?0a=&k^FN%_j8kYo<08PM?bpz&;R_--J5T|x%=C{{oCEo|NPJI z{^BqGV)xo>uT6MQJAoh13ihF#=sGTEdTuY@L+`Qk3`SiC%zdd}>Yg^hT#=@MjAs#$ z{Y(M|WuQuo^Uksnnsx-Zq@jZkv3WGY8CIBn;ZS@ciwW;kd{m;Mw?gZ~2@ySP zj}B|zGzNI&mkcnR*A1n4X)a)T@`R2_L&CvvfG67K!GP7a5No`%J!2z9)bvw=G@*HnI{V~koeC$>bTlpugkzrY z)2|0k!<9!D$~!;G2#mqDhi?!Q+HQQyAWUo@DQ+Ib{)wbxs3*7u&-j$V$0skHz&X*g zXh!Fn6Ykl=32hpbgh&0-hgyjev5*POKON8|J|QDoPSEI~ANK3tKe7aDgvP#6^gxP@ z&l9uE^Q}~x5tg8r|yyo`6iCHoOi5@Uk@I(yW3dqH;o;WbsP#)VX8w3TXRbYQ9 z#tvli>^O^Y^k8yjm^ex-bAhR@oEILxWw5qQ@YByeRSXP0n9vZD#|Mi5fpM`@LFEfQ z1xj(B;El4+LPVAuZ0pZ6RqI=xhr}A0arkDu-v3T(2W8Q+yPANRRTULzPXBIiZ@W-rI%e-ie z9a)TO*OmpaDm%96yS}oIXM_DY9tmLA_of!1*LbV%BA_Au9NnngSfLC2WPE$925A;) zynWk?9r+EvvkPb6YGKKu&XrJgZNK9yiNIg@J8gjcRWFcV&^LEk=--rYS)g8FCVwP! z8%mvH$;E^9(j*>T@Fg!t;|418s{1 zIlJvI$}e0rc&Ljblv59kCx>?6je{+^cyUYZz`Olwx7fQC;>%@8{Jeynm7{*C zWW;nIfsfmd`ri$`AndAQe^QJ$L%9OdCRjA%+uTvWSP^DKUf7U57P<{9_M5fkQ~kRS zqDy4a_vK4gk5{^HNMZFQ+VmB*U+e3ZntlQW#X&(Ahp!j1HW$_>KPO;(_rr z>M%w#<{--#%0w^)? z7#uzD34UeK8(XB45?!|$)8kj3N%h@Xoa1fjtYFJ+wK+cl1E0ls=2Vns%=0|PvZEKz zyz^cT^g~|)`t*f`P{t;B!8aFDVuw8~q$0I!H}SAqXm(lSxRa2NAYB%pBO;!-C?dbO}BgQn%VNQVgqpTaZGE-3kqC^rLQ{hDuO6-~ONXt0Mug(A^pDjDa+ z3!P!zY%Ly?CV+Sqz+LbGSHRHt6c~yP9t^Au+zutXl|v7L$$TiLM8I`&ajFo3S$8Fj zPH_d`rqKbmN9`%%#@9K*#03tYf)N=2Q*oaB=R7c=m4U%3xur+T(fQK&kTgt5ht3nj zgOmFs?It3hykk*Oy#$q751(jNS==(^6J<{tN^xkTlM-D4qGzBCJO-$ADmD#56kvlc zNM_OQNux-Z1d(Pj#-vMPb;8#zu%dw@aLTo$@}mjxvOsjOPIb~HYvH0Ju5`mt%4y(Z z=zPVnU4$VIihp8cJCwmL__FKamyw7;U$qCB_RlVgZ&gz41;5}^1uTRuGm|dpKn7-t zxntjx9;MO5zC{U@8xDX_5u^{~SRSch679E?YevGPT9;5JcZTTc9+~X(nIIOUe#^BM z7B_h_v6SSwQa%~Q&h1NDrMbQ@$0D zeW+~2KV%Cy*{zi(=-~QP9ZMG$$=HHU>;R=eTEF1Fr%y*=V-~PkL}53#wN3_&LeH7D zFV(QA3obTbm*s1bd_%kQ=);aPi*=s;=3)qoXueha?%TZRO}DCdn;m3xu>qaoMSIDG z3@$)y`*a|E;$-~p)@5GUbVK%BlTX<>X2E}-&tN^gZ{JHv*Mr-IPe4vRnI1GYe&tV+ z1ax_fJoa@OSTc>G_V@U)E{v#mhu&nDc0gnL@bAzTNuwe((2oKl`&kyU^;FfBBbp@4WNQ?vMZYkG-S(8^7@zz6E=M^a0I0>pFVo z3*`@Jz3rLheyk2hCp;y%Zwi-*I%(4r12cmRj?J%eC~DeHgJYQK_7A5tvX(zl!&6LK z{{CoE`V~P2--)_xP+olCO&Iwt?CFf+<^wKZhi0HmqgKg+=Nh+hi2H;Ihf$B&-#Kwi zG^0$Xv$&edVbWnr3K3ij=)#H%r&z5DGq771v*7A8i^$mP+YEKu@$RKh{yC|%3XY+h z^gsnG5(Y@KV8x>zb9VNL8`IK9drpU)__cgx%^%jj4cM}BGUIgT1-=yUf=)=xu{>E3 zjD;ymdGZULPJV#kA6?D0GZWlUJ502N;*)KNid54K$zsuHdE#ld65y-!I+L@r0F=oB zjSqceo8XfUDy!gyw9?j3al6@h;kWK1Dd`TR{nG)-1Zz-8zD>-^BERanbb7>$0o_IO z2wjy%J`+?HF8I(WYB;2^#s3zR$)bf@>hh5OA#~ANA1yK--pehgxs8^IFq0Lc$HGO=gv8VZcr04krDyTPq7+*Q)WbS--K^nT`PO~p(=c@B zHfCP>girkfE9#vErfeq9o5b(xvs;wk(9W#CVXa%*{WfQJGWw2~RKLPs^S@vowk#S6e7ylVNO4e>=ERQ?$ved=q@TOq1fy-{ zHg*=(Xvla)ob!*LZw1G&EY`%%0lrTfVBy_a+29>yyyYnr(RnmA*>eYQ<)Qcyot5LbAHY((R8ekOuk-5`>WY}UVMo}KlxEJu zbpv+TNptQd;5X_=)fzp@A>g0b3raDfarwu;@!1#!nu z#9%-OO%D?)Q?dty1;2q|mqQGG$H0vyn88g`CoanaRx(UG>5xQ|w64&=wDpC?_C%74 zTL)+?7ZTBs&LO@wGH~$pLzZz|01RLanr&p^F(8BM+kiwdOLCi_E{b7{CLqsp2 z);x>?4pGlZ9XVKaS!0=wV+&hL85)i&o7ws&YAI$g#{vmYU zCrbeY4tFU=d2u(~JVrpJfjcOVJ=oAEQr|YGLav&#SoNpFV!57a7p`EO(x~@Hk4)&n zhu;*)2+g>armSTdmBZi%%3E*z<@uE;e5;;#a5b57WLX6-rqLzAlPvi-Y!xeEIa7J* zIIC|q(X+WIHiP1+$R~V&(iKwkBwM1HAkhYTx7h7h{<0Y1(aw0@&bQ?Wh=w;*PG92I za(%XU4)9f_!26+?+6E34;0<3dd<}~tz%(oO4q)T-vtvfX&-(W+i~vlTeG8`eVU;J( zs^CYD-q%9;z1{7%zw5;l3&$*mf@5A6J)pa7kwhz;*s{qB$fEZq3uWy(vWR0xncIZf zQN}J7q>g0)i@@t@4A*pPDGLpQw| zfZQ7oZ)wpZeRTUYJF$24Hg4dqDCF5b8z+{L4$s@~zOBXKd$tc7*fq6&!Z$tGrfp3w z9#8(1cx2ssUpwsz+|KS#S?T#*Zc#=(f76(Y57LJPEIax59lTz^+O|@sb*-#*Kcx4F z%c7Cp_uTR=J>&}(%HTXueLL2o5?!zHoV;{phuDiv`41naCPzPIq0a)Fa(J-I-))55 z)Tb5f*SmM+$6K;V3uXP$Z@3Ub+p!+#LK{{2b=~#AOWd-ECTl-ZG%!4Mr^HM`Nf%l^QP#s=WN6srOoO~-cR|XZ*9yI!qMQ^n~-vX@bB#f~J zF(|sn3MLfBD?ih!G?xSDB6$fE3s`V$iE;Y$3Wp~RsOb5D{FcX#)c0#9&aKMmh%THn zN#~+~GlFXztMd@0PZ}&oJRk5Vl0^GFE&jRt3O8nf%KL@z32>?A^9w#%`z6B+%BLFW zCGdbIWydwfKI$aABb(c$Y1P1Z-rT-ZIv2GAZ{C!lTz~7@FZV*Y0-mj6FR-zN-ErCu zZIrS?HU6_Wut@%wfBBb56zN_l^LA?j&m_e4%_kf1L}Pjz{P?xx+_Jh}}^c*a<`)j8s6{on7(B(Dm);gykWlpOgli1+o^b;nN?BYvAm`|=L7-efL zUFu+bs1Ai9FcTC#jF;~`QWHYciD4lMdI5Z*vQ4uZ<$jkNZ7pM+$BBZ~8Y3ri2pw`V z%*h%;b`3dEC5y7{DOPq|saSw1Fm;pYZ7g_uRpZ#?7kK~d=AQsA32`gIu<4@p8K|4c}I&*ZV_e@#bj2xJK!S>tLz0Mc(X&< zJM;K}g)=+K`061SCA1I%9;Yn@VQb3px1DMm=v^$BRA_>V_WXMhf49sw9r^f>iw!J* zc}W>%EP`36dyymvK4p>2ZO+`r%%b_e7J*qPNB8C#88JC+s7qph+nn5dG%umDsKuwg zmHriWWp%5ycADA6Cfv}%ljoKBeswOCylubHF4JmpU1VApH`wr{(sPk%sS}i!9jJSD zu6g+#&m&*c#S<2zv{O0VI?^_8+~S2~x)od7cK09YE&}=1IG3bQe4!n)ibBjdl<}X| z;9Gaq&$$4J1zbFJLI*#ZQ)QeBGN!`ga)O(iSb0%LyHc9PV9W6W9~bM#BAE-N;Pe8r z=`TYYcrk=ves2BNc|vtJodZjVo1T2b*s9^n{yMf`M_>4=Rakk_r-a@`r~joUb6nGM z{<1RYu4J>fEtN-yzVl$xMKA)xWIwx(9l6AlvS)c@rB!L5*-)nNsW4x)j6&1Vl8=0Y^yBrvB_2L8yH z^NqWf2^$A7$_YCd4Ct_BN2?d##w&P;md9xV2AzJ;x8BY-PXU8#31G$VCQ!zBS+H_a zvptHjl|UY(4Dy`^GKm8r!Ge`E&y<_or3~B(G8SH(D7m6~oymv@I9cIAP9Y5NC;%;b zn5{vjl;9nrr{GnNzMQ6A8!#ZG*h!b^L>)SV<^%W^k%Vn0&#y9Gn7J4r6E5m9GNVJ| z_X!nypyxl6TZ=Hyfi*ZFMS&_XFb9ehj3HWQ5sdsYhRAO-r6PmjxF>~7w1DSXJZQ;= zhgrasUz1ndHmaoEV7r|!bjubk7UJVD0RtvOph$sgXOhRV*Sj|YWbsxDUg?EgJAEtJ%Il(+WMTu0$vppingDF}#S__*Mwj{oKGkcn+Jc=XW#-xV-pSR% zm}h{!Td&=D+8&EjJjJdpyUXn0a&ds2(A#CH zrCm!@>7jO^KgK97I`Bqxp80p%R(pP+@=FiYiGS3WJb9Hjh3jmj`t#T!fgU5d$5wiA z30D>E@=MnRS=B^X*dpKOVa3b~x-D@bkPFFzh(I{n4JAOE1y=AGfBlJ0EQ5i@d@xyD z^{vkE=Xcrl4?q2zcjQHe=QZeMJ&n(rj@0x#Zf{fB?}hdZ80UWY&Wqd%HJKk*YkF{OX?SATU%KTkZl z2c9pKpWKHBIWS-lm~(eJko_Zl7<2|J$Ccm5OaVN@lmzKS9e1`$Qz&4_l3)Ts$V4P* zmkXAhizhLL!FVhT%5+5k)*-@z-})G_c{Fb4DQv`!Aup%QAf+tG+@?c=z~j8v@+aRn zOhv#NzwuCKei4W!2H-0gPlcv&UYY#6oI{tHq~#1WF-(9C#k;d(OpynBC48k@dHC~& zM?b?<<=3ScCkwc4vTGm+Ba+gSZ7vwfp#gUzENq<0gN%>^RBl1m#nc zr+2mSAbcTdo>g|R=z1FpnrG>jFa4_Wutdg1n%IZI)~ligM2JH;Q0;6O>`t~JsYKWa_kch`X^X-A!AR0 zQs4|S7toZQ>qzZsK_vem!*vLK8>WPx>GndM1ttAEyW6=1`=)k2U)g==)z|D_c6aY< zvEm(4Exr~3RmJywo|-xIjxx`k_HDf^(%EGuu;60>e<+M{$Fcju3LO%35T5?PVxAX< zz4wk@)}>u=ZX0LE_T`s9oW88G?ASl@v%dFww^@Ft0eXx^h8vNbN_&)Xjs)w4PsgoJ zZ0=lQaHy|$-u!Pb+J4g-_v6Xue_|q{fqkXys`+<)Vt*Bw-0sUhZlO$jvQtKlE0Lr7R6c| z)5Ex2cSXC(*{LO;*2tn{*E`AXTY+DS_!SfCB+nMd8~6j5@3s->K49IYl+wJ&Fgd{m zWUN1St+^fBNB7#x9U-P^%v->cS$S#2`Qhl%EFbg?XrV? z2U~8h);WXIh;K<2h_>jSU|-PoKxFLXJiZ^IUOc~FdO-+ni}RgAx3{x6d0r${eG9pC z?E^D{>#7o zORM}#zw}EQcVGT~QvU;`%kzcuQ>spPNA*0Px6(IHk_75jhaD$G6OKkDk0Ee|sN{IC z8e|%W^4150N@rlBa3W74Aj21j4fw22>8mv_??hQ^5wq{ExTFFC5?ex=|F*g&5Ke%rfVhu zE7)x=EUY?F`4%}*nV(@f^>NzO@+K2&@vuyt8^Ig(HGAt3p|c#7v_dW~Mb;5GLUhD@ zT{1Y~H))r0BK7XG4bH+VSYQlcAT&=n8J2pEzpyu@O-YU)Z(=o$?ya`Xz*Ugvgo}pf zrRy1L91h;pHj80)AY&I)NVof)Dn3!n6x{~Bur($Wb6BZ67i^{mN+rp)Y;v{_Kr`*w zyo#XsnofrWN|mi6e2O0klYf=BHXLAG8Spe6)rAT5Ti1B#SSWEDX1=Yf?-v&@ZhvOS z*Na*0N-lzVMW&{f8ZVe!hTj73K!!yPeDCYISr)}C*jf0nbNyHkmFIj<#lb^Pj6fAxvv(Ke{-Z3cm^pZE8TYcf>S2Ql^TicrbUtxz)Ht}X_{OBEA zEtI?6&bCw~;lC1>@x9oXG}l4Hx8sa08YOingneP3un$Lo5ho{p>Rjp%!FS=MAKHcP+Z+@y8#o%du5nLE zW)b9$_wXf+9@M4#tCv=doQo4PBPf&q2a7dN8e_x*OkWXD8U(rIgRa80p z&>mYa{0c4r?k-^Q-*rG8!!s8``rHok_h0zRSH9x!B!A-@-|$Pjc*FHN{Pa)%^zJu* z^EcPv=lM(Yzz1rf+#P{V@VyRWr+rdg7&tvN!BkvozS8bXexs=)GjjOox7BS?# z(BsT5SlXYoDMgLTgg}D)G81HK#p<0+!LG{iEE7tQ${mzl`o!!f`*F@Zk%KqCOn&;J zhEL>@kz2B8|Hv-(CC)Mg!haa=au7YM313WE1oBOLq0 zhKXU)pXa*4!+0WM*CC4OAD`1_nF#ij7DU+LgU3=vY(i_84i)xn>w+mZ7w0D2C~bzc zIwtx|NB~<;VFRCuj~rdk;sbido*)MvJ7-R`3*k-tN{f>9SQGp^ z@4e$4Jp9Gg6DIpvOyxyR6Y0cAJft`B{1XE99Sf}|FW+LZmfOFzY!{!0TI9W>-9wb* z)^uba46`8<3hkxLi9dwXz5vPXz7dM5^QZ4a=qyy*j@US}ofx9rs3*3R->-R?~A z9S_CB_Qg5+95CL@*)MB-FHOGKmAGN^d1|&#bgT>L#I05 zLfL|O50QbTLh3+uF~~ow4>awi$5M;Mo*knYA9qbsy;a4A<)Fov#&hb@cNmE>Zpm0t zE;_fGcxR-Azx`Bj^jaV&n~UB`5WLe(TMe3Z7r5Jwan3lbMVQy9)B$?N5bv~$LE4nP zDd?;Zq{mquE?w(&K#e_cc8AmQ*XK}p()>_rEg9djz?Ms=?qSqg@IwmCMfHOIX$9_n z;av2IPkh3ke){s4zwCG|kDcV_i{!OeE~-NqUkDs$W>Zte=5FbGROK z=b-_i%TVk*=_cKJ_$og`3X^Zh_$k}?Fy9)GQzx+rNsvL$;0LYQ2nlVvS+CN(l{9 zhb+X<2X%V#5QdQ(Rbb#+^Te3_)1GrsjxMajgq2&ckb_S8^%d_3z*p@LrD{IS2?1T& z9uo?$_2}f72j(^_K`dffXn8Uuw&)W{N~1&tY^44gdA{Mn|w9E!Iq`&MOaGJTMv$4FheNdN1)&6(ST@eP5UJ8s?0 z0#7#JZSlfSgkUM*EPY-hvpO5kkMfczZtF%57HEeSxor;wn>rK5d3m7_B59AyOYu_*_iw@{=L-g8F=hko*mbGY)Ct#=) zezR}zIZ5i87fta7>=*pKUot#1j9)3Y%&9@aZStzMG(>*w&v;=EJo4Ety##E13%sfJ z55B;mw#gf#c}W|-0md$Vo{_J*ZCy~>x)Ae=J@kdEI#KZqHZRSh48L*<`FR4*M)OiL zbdeYQ_HFM5AG;WW0Q*df`?_$#t?lq2K>y$#{#HjnG30IQ`5rVo{?Ibs1Mjv;-03~G z_LKZW+t>3V^jBP%_a?}v)&HB0`X2dpy7_aLRG$Mq?lNRF@d+^(5*X*Q`>DFpT{qD4 z^YColU}R0>PZY)k@F>@>KOqGsaL&WPPYrepd~6TnFY;o0Uo3=IwJiBdrN|frV874B zLV_P0{08m?)fT|ARK-fsQ*&wqaRcYpVHJLrGvr+(^*^?1%; z_P_^Xp-hKj(DlHp0pgZc4ZO}?|H11|&SS)n^2V_ZJE zE(-B{;YOZC^*PaOGD)JVH&@u3UI(4WJh1q+`tl2bw?z8+TYLgeB8v7xiO59Xe%0bd zN^u4D<~4?J1q%zQ2Q>07s4}I2Bc4I-fp@^PAQGHUAy|#lgR=$`h}Oy{RM-Ggz#m<| zEIj;?c{$^nn3XxgRl($h(4kKA01sVQggv+y+?$&B``OUeTL$o~y8>thsd>9-!tBp5(FT zo)&HdSlo~v^gr*63jx1*(x8}00__28`iVs<6CRpe3!iD&L)Gtf2&+CY%@Uk&%02BWy?{#JYh_`mj<-7qTx<^Qd z8gQ+>l#wbZ$H5UV7`v{QDSha}KPbEOre5)Q|NVD&5AN!g=t6Tsbk+y5hMS4nmKH3$ zsEIclvk>AFO7H8(0;b>i3vJUE*&;%}TQ9z}`^d*WE_*Z>sea!4?{9k{hR>+4rC59c ztfBZr3py<*d4uw+ANiPXqvn~?ci;NX?%^F4FgAWEcWsPHS@`fA?Mu3C`KDfa_1-&g z`Z?RjkM*`@y~)@CvCU3tvj$dnvVh{P)33hvFh5Lnxhdc9{ouFXe1q3mdyxrlR45;`K30$n-cdW3PtfCq7j+Rr`FG@xyxc48cJwVi z<-a(Z6Y1-E*%lWuUJ;*b>a(}COMOSX@TV@6VZ_U>UepDdmt+(6pab@>+k96SXZFLw zAnQbRQ9rMI_y_#FGlS{7Z@;Owrf1eS>UWu`O-*1|5$Lc!4-0!^h>;KV!_upYg%hgjCM$#f*P7gv?Biq*xI0?5RY1 zOxKO!y3HCs)MfQnH?HV0!Bk2+lt%KU&H>`l^DX8lx6s3MM}!YW@Zf71%(w38WWuKp z{Z?*scN2GWk(trT@xY*xG^w8Fa85t(JhodfJnm~AY8xes2TFV%+!whCq0aW^u^Lyn zPI}TjwtUBVl{rDbS)4h}HO*776JMMegv05DbLd?$qfV|f?#eg4^W8k!_AR!QwO=_u zrhYVkrR;1jS@&-##omlGK~H>i{W;k3>O zuI;GKNSb79%Soiu-T{Q|fIC@Ru<=Ai2P$y8$=;e^=*q8jARXp?lBui+;M9vAqv_BC zUsMtXlXc+&Hw-#{fSFsf_)waYB?um{KqLd6|9TiJB$aXk;X(jDUW8I$sYlqs&uo#a zkZb{wU98a0J`+yEngA4&y8>p}aA7NwuV!EibVf0u4$6Z)!-9lm(1sm8PW?j0qKp$Q zCm8&UpE&6>4LCk&X{K;ri)tnpE-Swx525h1K4cA~Ai-G_aFBc}ugnA!jRadiaEbu` z5J2NMv#peXv^4^dSP7rhn{P8?(MO?V`kTL%W`W1If0^g>ReA6%622nghhC5n4C5dO zcxENOOcDshd^6ZV4Ue|R6p8l5Vw``sDG@SpqAni_NnY0pS}`E;TkP>6M0EEw$$aC# z{%iN$?`koiGlO06u~q!U0JGuK%&%)vdqorED>rx<(2IKCjwZ(s`IL+nK>e0n z5#84W{*5=@*uC}UTmFO+EC{GZ8d@gUH*e`pyxIl5^R8~Qz4MN58D{d~`h`Fg+2K*r zia<}@v+H?7zLj6qS#H1c_U?}8-`6eAy+hZs%*IlIECUN<7M58wyrhN8cl=#u7E!(P z$uqup^gUlc>&tA~exVj()uSs~Tu@iVo(m|{9lO$LyBWWyF;4#BujwI#hU+QB*v3MJ zFkLJt+n3rebLmUr3LoAQy^1#6{ zAKT;J(C85-nf3$BOTGoU(V2t6_<~(-H^yi^;mEF&CPM6&P3O^R%&J0Xf%i-P_#|?v?8rBebex+_&wrO8`%G34?ik?W(#x-Y)co?@ z>vuKMJ=*=>|N9@iTe>si6kp$b;pN>8E&i|T!Wk8N_cj+X7*Didj#C$s;dxURKlmQ( z5B$In_+pBEdgCRHD=&$I`krikc<()pO^5G-STI%QsuulMuHSM@#XZ)-|Fu^?wEN*t ze0=vIz1V1N%erdQr&X7_??xYpGkbdeb-l;{pBxJG(^p@8b@!rPu*L;5%f@cCS^PmV zZ8{uiGRz0TI~Kr*`+|pl7YTB=_>A(-%ZHvB?@aSpOglsW))nn7USjDd^m&hCWj^|y zI}GMb^x|VyRd$GN`vNqy3Hl-Ib8B{K1poMt|LC1$7=HTGpWc1-t6$yZ&3BUd1k^gP z$Yzm@y~O|i@Bi+8x5j&(KfebuI-H;G`-`GFBi(=jI0K~8=@HLVSGpfvagG@#P7fIb zpl71MfWu^+fo92rGKY#O2FF=qB}hBwDytV$V8uU0Ht}`7fYAZ&0_dMf0*eg~F?F@p zMX&=)IN=-}Vm$@^uR|~TR0_Tg$|5kfiGybUmTi9JH#07s1?ToECa}FYkej@)LIe9L zVo?jwq*nvt*VZ;rj$&PURl15szq?-L3(vi)+;t==aCBM;cy$=lmRip8i9<-;Rsq{~ z!ThF83HDp9?Qa&!?2?AJ=b*?`r9RfBQr3a&u5+G7U+OEe#7qg>Rtk;wq<&Ic(F29} z50Q1}K(>`5tGxcr*9S7rODEIE7pA8GdR@NdmU*uDYrYvC($n=R6m0Nr9v2<-$Atpd zr)co&Bxhm@P*qVrCxbt$gnyvABF$yIM?+?}`4l z7P|f7BSbQRXF`6Dx9HNqD|EfHEB5lMAJJl2ySbWdzxCZWwAg)9lYSQ7!I#F;2-Tts zR^To8v$(z`f85ey`{h?&^E0|U7mOb0bZTIs{IYI2eeorIKIf&oySJssJ8ym0yL{}{ z5s*JGdX=X_fvesL*hD$EK(l-bex4QP_E86L#K*P(uy5!5m8-cW*|+i2&h%rUKGBEE z3CHlHUF4Z%7VFZ%vO|sz-4}p3O+s+2qMVnKp#yxlUD{4JN@zhp9`IS~5MKCgl#N`s zOv^29r16boBI%&^Fnt0{`S$+I3);3x`%x=8&h1Hch{?~5P$9SfB6NwT|I6m!AKw}2~8Kg)~UO5On`ceS8? zOSf8H7wv~{-&5boGvGYq{^lFs@?!e{=^mJcGX3Y(*X}re|IWL*Q1!0*pLoiyEc*7y z_5j?yz}*L2tinF}AiR75??64VxMZQs0+TTbx3OS4s}gBC%>}T=Fgg1+2;g>*s?4%B~0hm^i znIhBAtxFGXuZs9tD!A6m2a|+edHYFm*CV%y-NZ30>{+-AAvhsM=ax~S?g)p~8Q->^0!11|UDa!aU>39)x zg&Q)|HYwlwT9*_DrZUh)YO$p8E6(D!dKT@T=n4c9Z4n-P7nN!Eb=o9lwk4BjZlS|} zl+bS&TM%X$!o=6+Ww366*Db#+FyDKx-{|XN>8|HpH6iq^y%NgHn*1zoFC5w^%SW$h z0@!xCoc48p_g(EO{lEYDf3$o3|LL|`ebz=Yjc-I4ly>Y@Yw zL2niw<099Ks!1skcD)r0ongf-&e%cztmlF!c0+>t;N@P}@!pL$wNTJ=&c0ZIPt*!k z$LNo&Io+P7scW&O1^VrG->KcrJQv&-LAo9Wk(){MzoSJHi?{32hr12>;Mz;E%0u1TT1md^%Ep)G2h= zb!$Gn`VHoj9xJ`3cG4{wd(^Jp)+eX9sDp0fE&jouL~bU)p{=nyOg%fVzT@Zf8Pr!{ z&6B(@>Tnmtckruthz32ljlBEtip^&Bf$G?OTy@N|@$g^~Z{JGJF@KH>@4SC^cZ0>d zE&>v;&;6J_C_Y<(g(dv)1GneX8Q;DAzIL|%+vv0#_ie?ehHKZ~lMZjHjpPmnjof

O|K9wVR-Q~Nf5))7}X#sc@zQ$Ps#SeIA!hr=p`eO%m(zbFY%-n+WARL&V zz>9QvR?_)Hhs&79Vi)tro1E-yWad55L$ zxF|W~mWEW$Jm6LHSn~X82D3@C1w;;Wil-HRs#O2 zL}9V~d?$I+HBSWmU@VlY;V%ZiCvwZhh`R$Wsn6fD%!i4-&pGo1lFm&66CA!)yo z2p8dmA`4WYLx6W@mFTn=>xNhTDD65?oCV@MjQe@zq6CM<`MBV0_WkTEGK_~Gly)8@ zWjYTKzp}0*1U}X=UTkfP2S^Tc34SAZ!Ea_WkBJ&()b>~mQ-|y*!;u~4Ociybo6=~@ zM1$v;S}!miCT7ZsPwFqgu_%29yEKte<6^TD@%pzl@b$7xh+dqFIP_qkhj6PgF!`aL zT)i+sXZ^u<+HJ%J5qURH9SmNc5b~)MErLt~59r%j=B1(zg0p)UvGYX0yK`Phy*2He zdbdz?Xp=)Ri4m4xkVWy`_jys(ThXHth8X?f%>u(01BNn^l(BDXCbF#vVijIj&q9NXHTdPYOiI^!y8c;U zXmK35#)?cOf${6G^pRVmi&&7}dGJo7?ZqRHMPW>|JQjca{4B7LW?2i0qZw#e81ozL zX`+LA6oM_4z0}Y9x+rsKpYs&m?rK51+eHu9pF&e=7&rKjyhuL%-izii$J8-xC1b() z^q9HOl^^IL1e(w$PUpiI!moYLMItUhTr{AEMico+Be%wL7U0;2o%Wdu+%lzP?v4mv z%Y#nZ>t82{>4kz_x*ex2rJpxO+rw!s@3)xyN#mRn``l%Jb{{@JAL=7>HYA>(9;()Z z^c>F5%Y5owKl3>~g)M|}9^1Z7$!QkOK7k>1_XPfJ!A~jXg3^-)9&>meF4qGeh=p>y zq&rsUPmLKb&p!;D%KhSalRb>(9`d6llX*hJj5l@u1Gco0jaLR2D|2HJa4azJ8D9qv zHl_+iQ+5n=Ob2Vgg;xom?Fr3j_ZAcQF64_(7F^*ETMwv8oTUQ>fxnI|L%@m8Ax2V! zE1c*9pSB5>;ZZtN2As)0kQB&|bWpTU8X^2Q79d85Z1c4Maj-rdq#H8yBX&@R{1`gl zbv!Qq!K1Btk*G9s8h_+rJSiHVNtzI~ruU-WXJ6(cDu4I@>S)CT2MxIj?pUv9=iUYT z#0*Ps(V+o>BiK$vjN#+K^ppYA0sj%R`|riCGMZ26dD#?lix_&dbdNsh#BQSqXTwM3yk%_%u0lro!tA%yyNsHQ zoDvKFj`|(*d+RsiH!Qj+7ojC{txM_{`cvezeWN^JO}mD-E+ZUR)o2$_^b_C-6Ki=F zWp{o)vwtrtbBpf$dTepI3>a@C19;$9c=s6Da=I*XGG0=4(a>@Z@puB( z3zaU5&w}X(AahxMxhy^(0GB>D;Y1JYZQPtlcVVmeq z!4XpH-1yEHuytDyS7x)!dX!Bigt`AwnAIK=HY4BkRBjKdi=Aqun> ziHIfx=Bva?_?B}Do1xPy*^(7;a9Dp>*S3 za*RF%>*Mrb!=#H~l*!+Xf5~cGD!XnQ(G}grez2u&==f5Fub7p4XXu75v+rlLW2wu~ zJGIPFJ$O&aW75Ym(KA3-KO9S*bvia+k9sK4^YDG=fgS@-QH(0&)_r$d9j5Mk3i1Ck zoafE`e@2D#iKt)rgXJw6uri~M36yQ zUMC;n?6$4L2560PQvMj9wzmf}aQQi}13o=Qj{^34;gTnq2e4!V8#4oZOd3T8HctpjZUyj6qe3r)N)KQZ*l!fT>rg0pE-rqgTl~gm z;wGo)G2b>j@^Cr`o3ssVKOno?n#s^nTeB?S{1P*lQ?ehLM;p*s<|%YyLbs{p=A-2) z+jJxv1~L5M(Xc~&;AmWElxC64Bu8HbQYP}@1PEUBzIo@w(z4$7M5G(TXIJjG~H&tm+fQJ1O5I7HPg|Z|KrnBTUb>< z!!hvG_U`tieoNOK*)^|=wAb@En7)Ay)6n5ebXn_k9=;=P%NSu>>Gad+vsG?iZ53Pq zc2V0-wdDdTePBpF``OR#_&pEL)&tLMq0Ae588vu&a&EKKL{l^0V;!_RH!krQBLI_L zew48b)x5wt6u@oz7T9wAd?DrBqAGq&ew#nvmnD5oJ>U2~sS8&bo^ND8V8=2O<}8xN z0r`+V4M#8dqXQDW<5qNQd}@7$@=h*z7LeyJ^)DWrP)NnT*pxB@ zR|m`2!6d{rI#SQECiXPH6?s>~@&r~$@ZQpO&4YZ2E&rI(zQM2L`nhZtS=h7=EvI8> z2(DYj)Gx|5edB>MhUmehFS--+qn$wCaQH-xEQUrNokm9Ek9_P`IUGB>-kN3|n}>jz z6wtO~OP)W?f~|E~+Z6p`NAood9X|UZ(UB{(=^CynIc1pDNpXaVdQ%epR~N@Lw?q; z8g3yqylKWb^r{(GaO(RQ{zyBf&1do}CFk?cs7JSxaI_^=-_u6 zSlMXQ=gc+TTK_R`p0-97NiO+GKc(9js5+htTbKBuY%l!9`P{J6=CQ6b37pP-_G{cE zHj^%s9#W$9qkJo1i|4Yk4F5oT%s;l>^@4@yQodH45kFFBQPgYm8ugfbBR=qh9X2r+ zCy;+0_B~*~34E4+8V?TmH|;I;1XfVa)^ z-B)>wH|_H5UpL6nKpbM{DM6aRB$*fU(2@AwDuEA&<2hcsGd6w~>M+qNK?Q-+3n$|U z#;u+VV(_(2D)4iZ(vynyfmnFpP$?|-d6LmP&PrdE9=xR&iKui+@PI2jvTF@RP7r)P zhs7?z^3hrH!S6v_D7FnzEW~CWx_wo7ZeiW>tC_;Lc*7T;+?V}++pl!M7xpVVm=GMY z2PO*ez+Vh(_y=96AFR0{_zk~3E4YV_@F;evM>2=xu9&z^#elBYK7`o=>5zKD7t~KA zfWKzlveAP;M0=rAazX@-KY9D2cXf@mJVXy@^(PvF`6zzy5TA&Lz}NidMF#D)7AEll zIs!BV7KN^3^VJ)-#fTSS9b#cS#6I>!HficbU)FKRo33M5AZH)p!G#dsUL6}-7tu=I zrbWgTz6$+#gDyGT=kqbb_6t}@F<5RA2QC(|g@gj*0JhwxA1V#~EqvmRfnS!)Or}G_ zi;el*SKU02VPfIitu;7p_F-tuwGKV;K|b|_Uzil>J!H0vi+FATC_DuEF}71|j^c-3 zfteS~1oH(z;||2Dq$evNqm%i8uy6m0Y%d%6=rJ)NGvSS6&jeg07PM8?{$8OT%&vJr zj~0egr^=k7OABaR#wQ1OtlCE79*Reu%uk5T_Yh6PM_S8`F;i8Y$!D;6s${|VJCnAR zsCd-Hel1_3lADiww63p_1~y~)SQdVRkIUZ+c3k9_0gQPYKb(&gcr6bV(hBPs`Zi86K1jGB2b@xS!&`Ej@s> zo)%v^Ucx{>3=LMN? zn7(<;me)tS`C@==fs+Pp&O6Ly@9I2y@4j$rZUKF}8dTEg4L-^xM-E!DO;1M6u zYmz0<(O|yjiI2pGbB@kf*uyy$Iq<+1&VhchX2F`VZBTiK))$?aTkyhA&c}Ic_u2E< z=n;FY;j^f@*kg(iA17scOM)G}u~2|(U>Xq43g%V^N3w|*^+GvOyWlKNh-7es zP%)7X_OpAy#BGxixW_Rz$yUInqUL9xL>CkSw#1rQ0Pk|zfOFWQGMHo6uoRxy1|0g_lR1Rb4-vOvB&HRS7!l zB-V_@!S%`;MA5+$9qW~WtnrAEABU%mEGJLe7y|&~Kz-CufYZWcR~se)*r2uT?vYNa zTnp*`J#sWUhlwtwzN3W`vwWlVvgut(8~w+mWfSQHe1J^ZE9TvQ$qR5W2-EmRGF~{6 zY%+Z8T#7b%Eo`0ero<-A7SQ@j-h$s2;t|+LiysIaTN_{_juBReE^qp|SX_$d3_Cp) z9m1n!oK9Vs=zmV4mSuaoVkaKrc7);N12-mg7hxKjlFAr9F*`Fc>N2Vl6%H%XblU<# zx8@g5&Cuq7P5e5);CWbu1sa)=zWrprI5huu*B;>t(6sRD^a7>ZT-_ok7}#7m8I9u&AEm}vcRc}~?F+@0KyW-Hx-j*1MpdlX zWFF^pmI)&ZzNGll0jH+x%CV^CT;+hD^_N;jfBi&29(`0i1} zhpuhUc{KRI;UU(EC(g}Jh5YM$jt*ShWs{~uNNavT8FFO@cq2pOp@YDRVh3qu$Xf@+ zM}v^y1MlEx4jm37rTi+!oX=2otpCPBW(W75(xYK##^Q^Akxhi3XP&kIb3ly0DDw?z z+;@$3^)7jL{mj%bV%`S#=V99e?X9(s$kV2&m(&j_{mG%U1KPgZ+!_AuHq-5%cg(;x zwai78^=uiLmm8khLKz3q41Lv3PHN|#VvhR&&Xhk`yk;IN0A8jx4g`t`MiG+{)dQ6v z{{EeC&9ERh>&h;aAvR~5Y2WQG#y%($rd9E->X6B&B-<#RY_>r zVfzmWo1|_hS{JJgzX8pi%raD`C2N5oTwAMywH8iVs`!X;`*>h^FgfaBQ_L8B7{Jkr zID8K>F;+?^|BDaQt(oIOMKa3S<6=X=m9$Em5JTkzbf6FUN;-Kr>OC$;0ihYktfS~I#FxnC z_oTtR%uJI>F?0Kv9d;)B&{us}q07)}wyo>wEJf_csv|Twm2SayvnGS8?;)CqD|YPU5kp z_fbL>F6|0-V6(q*ar-XzFS#}kpwR_`P-yVel4K*7c?SifjJCp0`>NWrSc|@U7%C&%L3m@yxLsWx>=s1j2%fg>{EbdtF*Y8EC6Z=PMM|wR0X;ub-{rEwcQonIcNBpKwA`yUkOeZW*5ksV zHnHJkSaHX#FLqFmVoJMPO5Gs51kf{EC|{GSxFT?!t39&K1J?lq+Szt;dAR)T+oMe@ z0OLR^;xHrVkZ1Y@8da5nfz6w-mi>UR$ z25cd4O1L2aJL`0fGyNf&R%Iaz;EADS<1&-!0L+7?uRP(y*oH6L*CYF;v+*h*uk)L5 z%O_&k{xI%HT~4?DkY3w5*(BTuRX6nM03 z@;Ahz7l!aWZ)hES+nDIxW+mh-R$Y$XH`Uhstzzg=fWlVzfI?%j#}SRn_`-MgTRs>g zRv2}?I43!t^w=r!!wu2+ju9cy2jDsSF->9eVVflc;e>uO&CxmYm2i|8@P@75Jp9M@&4U#aWKa>)ih z)dx168Z0z*49Up`}e#bd=Y3o(Jslg}2(FMd& z9x6nY_^A04cj$D}kvBK%f0}QbNAtYwxLw5uB69`b?JdRFe15#cKXzqSPr01@1vV&(FCN_7`o<=p%TzO+~1dgwLi-Y!!wLv`3jv}<#ErrQZR>*{7PwWgfbC~SUZ&6?-+w=wex&UN0&IWB z_H15gHu7UZ%kNmA&Ild14hD)DCsa;A3{q~d#czvku`=o6AY{m6Q}=@{4znJk9q_ds zkVqjS2EY!>eo#;$*`^ZH_W2}C!#7-Q-+bo240W?6j_<4n_>CvHix zADyKUdYm&%b`>dnoA-HG?b~>MyPL;4KA#>lcJrAbr=|Aj&f!LwwUX z$Fy4O;=1WdKSnr|P3;0Y{ZIL12F%0B)}wXq{9%gik}bL|*a7PF&C=U;$R>Q^D)PY| zq7vLE*L>Rcwaj&XO}CdHv>*YR>0=r7Uwj@2pn+K2q!p+9h|CgD=5nbAo4R zJqH{SI*n;%8#}73u05x;$u+K`p8^X=bY%YN^RuDL1G;iP@Pfe^cDU_6!E&xaH|r-j zW$dQ1a z2XvU`O9ya9n&#y>zVPwiJO{0iY4RGrLBZc+>>2nJ;TmS$-07*na zR05HF9yUBsuC1D$5rFfdGt1r@nF zRF@P=t{Ngk6v8=A*v3cuV$?EFopj~N*v0~#x=21tw{3mSqIzEbz4idjVhWwh|0ujW_YyNPx=^9{Qhx``9|VFlu_z(H=Xkk5Ho*eNkm(Y*1vuiIU*Jr}TCK2Ll zHcdy|xD9LkhIjsH#4WRBbskv_BOc-Vddyz47u|r0hW0|3c&JTPy7>oTc^u^(!&_1% zH`BIk!QDt_Jqt4tI#Q(2T_U;t=UAD7Q*^A}P89@O>UQqK;@$jdLHg%0 zw^Lpie5%Ytc+YI1+zQ~tc#_C2J=kfQ<~%VR$G!`#^Bk)7NP6J$hyyqSG#!}5F&&Dl zf9}}AWw0?SHOFPNp%oyHt7)z@#YQ0}u?m1n#N3j_EPhNM9g?C`m_+_Tzg+P4T8DfK_`P=+*Np+`VD3V}Wa4{%U)N;h8d z?5ugh*93t&Te8fgc!F#E;@@PA+A&<3ooT8gcX^i?NkH;w-jk07{lE)*f}9Z!JZPq{ zCqN}*anqa8M75VdXZtOcu~$9<8nVax@-XLB^$?bX=4^* z#!7=;@*Gv#jj3^o)6bjNTF4>z8gI;7pAn$+dH6JL_(;c6ePUVub?+VRoDeQAG3zoY zK{6FO2%?{+uh4EtNB;rkl9R{yZ?#?Hmu{0&aj$;eEE;YbXhbfQ;?TKKv9J>UhAnOP zM$rNUJ%L3rd|24Qm2;Z)5HwQAYo4bCD+}0QLoEO+&2xnIhZhcm@@&AcoQm^KgkCph9pd@g;=RZ|W+HX?L`9+7)%4(04Xmg2;m`p5a2-O*V^4 z)Uh+uXc-_bEmS3$Wmj5dMmfI9B!CAHd78yBua$ow#d2$nRICojEgc>R6@zC!l7py8 z^^$8l1QcrU2E!VKG6>CQC?AvX?Xkr8V_~J6pLHmn8)(l#A7BrxtG(MMvD+ZFyMd&= zPO$Qc^Htt>tQYI9u*06SV1yJ(^H@;;o=`fYvzFWRR1jTFS~zA8V92}A6wLIM2F0C4 ziMGdnU_^E3*qH8jdEr)0r$#9`lMe)J9VS_VWMUJpoP6i9SvHhR(jqOm94*Zi)~ThGoDZ^6d$ zbsGFbd`I|s`L5-hn!gM=wh4h%Vc3y+c5AUJqixY`S*NXsd5OOB!99L#nn{L)2PQh# zE7}+s9bpIDA(~ou=L3h=sKYv6#0R61c8xUYxh~kur@h!7%JK0S%D(hqYy<~{vTMYB zf^>AAeb)9_9qBNOUFr7(GS4EN{D}OiKKH5Oj%9rst9>cut-tcZa)x{_rWSRt0_RIi zTify{ovOUymEDV=??o~)`))vBOthKv@ngZt0*_#suJ>9*S^Jco>nKKMV}_WWXNK7o z<3+K}mN}+(I4v6w@t1k%mfN#?n*{>9&fGp6D&%=f$GfYD#ZH3HH%`QEUk3)BVlN=0 zCUp(s@etnlCkxK0&5@ zOq$2cW<8>hKqzCKNJO{8at@We_S$Q^?|kPwyN`bKqlZvFuyE|gepe6luFfUFE_LNge3_evX|6EhO6E(++MsPg@B5G0vT1)dN=93#-zd5^s)j+J(R@O8{b= z%gb}}%M~Z%=s?UQ___w5>w2-mHB}OL?%;T=n3|sts2w0jK=80m0*o=3lo3WagHPvE z8a|}WuYr|s9U9y`JO4cX-{Aq;25qj}U0Y3Cs%DlL1gD%Z+MEj2qMcEA>{r~n-B}Oe z=aeK#EqugN`3R5H<*~^ecV^&Wdh{w7F}6Aoi)QRctqWH~$0jfqS++HvbiV(ZBSaMr9QDJ8>2 z$bs#ijsQ_Jx+QncW1P7pn)t=W)_;K{oN*GIbHo7!7liwn(JzP6`&5S^qh4eBFvU|S zq2ktlR4vZ-wXZrptiw!m7-wCwq){6!btb&hZNj600qfpDTEF(+gjWpK`HAlZ66fMI zx=ThaX#aoq-sQ)ZB|Goi^{zVS+;h)mTe8rQfo?-E2ne!9WDn#yC#J{N+|Z1m01L2& zoX8^?kVpIzs0k;c2$&;+Lun+66M`_=1Bx=6U+Cy zoKqPQE7m(!L`LLm7n{NkkC@(&u`P{Ft*U8f3)@si90?tu$Hz{}&2Olm8WW{p?mV+U ztPA>#|5?!qKZO2`EyQeU*(jedW(dnnKrhCFF#Th^2c(cuWU7KJ){cDa(HlC-QieJSJ@X01-nqoB-GR6W+&t%mzFc_VU0`og zCCgkfOxU*50P2yfUo@K^P+%QKK^)1@p`K^7W3d}Wi3og#*sw9|PZsVo>jXqd2;1~m zP@ot~=zxH@5vu(h&KoH@3{i@tO$S%5A;sm?{P_;%DIge@Q?#-1;w^*EKkl6K+PIsu3$ z{01VbIO7Qir+f3OJO&eeuG{+1>)?}=ZmZEoXZY$_(H|bkr(9X6U zK1oA4lSEk-^3a7p%HWbxmm%+H{qFel;(?3rNtrP>bzPE+ti8*T^^p82Ns#M@<#&h{9&3TZ>eOu7;0 zX4@|1!^=8Ye&`VW?FNZ;CzlvTQ`OziK7{TK4;5>wHdM&-70`5SB-n>bVzS_5OthLO ztj*i@VY$O=Tkv1_5NKCwah|GNE^MgJQ;T8lV5E1K_)2Py#b$-ULx1?8&Ue^ccxS$? zwZRtN$PWwhDWWh;^2+Kr`#mBUU33RDf@E8<#)mYnhmsF}ogDJVPbKlDaoC(+ z?adA5m_Xa2hT;-RM#HX@<+cE;P0)fIX5=Q_EvDsQ9ZN0nYSUx^iQX(1pGH519{IR> z>SP~wN*A8O6~d-Jkmq!QZN`S>6aw_|zXD_}Pf^~s{GbWWbNr1warmG9$v;{B{_p?( zMC;Es7`w55vU70rLmfMC9s8!ZnpNUURrjCxBf?$0BUuB{Yt?7lDA(~K<82#GD5=DB zRv(@hrzO9!KC602N}a4#PIz>L7>P;pA+L{I7u>`z@!FU`3+eZZCA4sc%u_^d&o6J^1# ze5n_nz=q9ZkV-pMC<=~v!W6M6P*Dh895j5OY3Z`Ou2)0!s3J=6mx3j!CyWZ-RBjv& zyG`wUzFW@UEN<0K2Qg!}^JQ;5J)zp2oYKiv1s1}!@`M^Z2kWq-7se91jeW~;hkoqr zdtPs%hiAAtl###oH>p(9&=jjR4Xn4B`!8O^vvU=8QAU@khxdx~V&Ou}=(*av5z65=Yb?V`^g5ZIya_JJYjz>(2luJQy)L;YRxXVnA5Z7;Re zHb@FmoZtefjYY>)!FP;8ro2^a_9nG4SiXKC{d}p zoPbi#s?mccWQU}}B`W1uXXeoF=)Kt60hJY4Q8XI0Adzu&e zqwm}wT-{#S?<&h!O5WDR%qgWo_GC5Ir@-lo`bY+H%(OCO4*V+IbCGdXrt@tx-cK2iQ`AM;9stI;a>Cza#~;=6S~+Uh`8 zL!})^1ECzpPb#7oGd#e{An3EN)l|+YJq8Oa zrbQ3wFfMZ$qj5g)9HB4rqNPEo@YZ7^^fREL9<5F3C&NZ;&i2d^)6%br6_46p_$96L z5gBVdHUO6JK?m@{*WtUUcVz+xyu{rgcD-5rW8`&lV%v+2j%@T0W#|zsqIY!!4-U?x zs|Kpe14-r?Tm~($fS8=?_?;dGP8^bEta%fk&;?2B$^I2Md?LN18$a1LCT|SZa*THR zj~Bd#DQr%t{z+CVI^&j>lgD3;`q{+sF4!0T; z{EQL$Ae&7y=d=7cRX)AQtAWLQtCoEok3PrPpaDMoVFh-x$+vC5#NYsUvEQHo8wU#0 z3q}gRsbGF4H#`pE>mtmc@F6@pU5RdV~{fq~@43Ne|FG3Lhgq^8vr2 z4~f1?9RsrYnEhfN;*))YUtrq~WB^mX3S8lrH4~>2(iDEQc1P1&3BD;QJyiBpY8a@I zc69Qg)Lkt!6ElF?-RKzBQA9do7^4|2i4vmO*&*YA@{;X8eDbWgiv zPU@VV(JIF2=NO!VEYCh@KUOLT~Ji3Ax3U|(KLM<*l{#%@-hz-yAfIvIQ~Ma z6yBHc!rr`%U?dPrt<}dMDA?SJc3)>)DSmf*D|9W7k_J2*q#T&x97L=CVIwC2eJA1I zXmxmWvN}3C7TT4032`mOV#V6lHgB+{!~TK(6!16K*Xk$f5=K@$7gC=-)VK%G9~^q2 z37^}Wo7L^Dej`A9kl4!3a@Y{2L2n-W!Q)P}H#gTd)Vd60PE}dx9@w5k+k*}_*H=bQ zKA9I_VHJK&?;OaM{X^+u?G-P#*S2X*ETWq zd`8cv4iUfMlLN)+{vIn$MSQU*Wukw#uxaS!2dr|t`gmWyppQuRvgx+?)_^4k@ryXY zCizA7+{rIB_Sbk6`M^b+erEg~s(<0Zz`VOt+~b#wgEco^tlZys zzxrBTTF5*3_$0#bK>f@ZBDtRx`(jooy39Vrh6Gtx*@uti+rz_Sm%Df^^FiWo$Ze1O z5p$bVNWYHgQdtfBg^tW;=o3vke<|*rs{bo>@i!4tVqeD9xlKGgj+E1P?n$9>{sGXbww+JQW#19Xy>pD_Lc{P&J;Jn~4 zm8Cs2I<`!WU-4zY(oksqlo-4ytKI%LZ*87c@AwI4kU%4$Unc00L~SmDHGp9mrO40Rskf)3!>9`PY&si4P^{F5i6h~vP+W)=mU;Bdg5a=t1L z9dp5r#v$X1u|$jz`>Hxwo=UaH#6thwp1FN0d#-O4|I&vrBj&3;sdUnbFfS0m7oTbE z5pkl$hCk#d{nX9DLwVqd0SUqUHJYF=i|d1geQ5e2!Ni-@)gdH&ZN>hY26FiAC{?SD&wrPfo?- zboEJke0={lHe<~KJN0R4+cJEx=lJx+>O_3t@j<+9bpe1)GYLPyXDy{))qZ?>wtD^M zd)}nd8SlRSQaZg|qjPuADU}}(^(Y&tqRY$AKDQlL7w7iLrSjH}w%qCj{D}UQJtwl~ zSib!vpP~nwR5oOpk_WkiM@KYa(}G{mUc7K0U!I?@-oO1@(O+pyE7F9Y{uqmoc|MpA8nof-Fi$Xt9!&8z1_2U;Ry7SRBzK_!OqJxF9><@(@i?T9FU~)% zEysqyq8kc0BG8Thd_fseuidu#fSF9^}OD&DFVc&d{7h;DIa;6bJ?2+!E&(s=DY#0L!=c`$s-s@Ka0s zdy4lhE_Pv8oXa_%5___*oWGE%|4zu|Jj>6G^6!A1vQ-TXe*2gUvxsJ{ztducCmel# zgo8}U_{fa{7jm+%bN#@2?NTRGZTWrf1J3yiDb=&WF+bQAAEkeh@AGugg|#O-WPA9t zj9dZX3yuCqg0<|&Ue*Mxxj^DWX8AKemYMiXE>fq^HTmwXuDGy(9Xhy=bdjBP54Lwt zsNp+Nq9~mrp)N{c*66W5iKj+&Y13^*TonqLT6}SycgNAYxGMC5ZAriUqaS(m`0M}t zpRfM&AO7L$fBzT%Vs(0Yn$6$(oOhCW+?qSdzokv`FaPq7?2pzk`pYii&~_dRFZTg` z6n$6Yr)4lwZd~mCEo>@gj3f26AoM-4_S6Y;o+oAON*ZQitRug8F9vIP+JP?z_(~g5 zs^p_+>@-8V127f^49HmcGr$lK3EHSJ1Ugs&s*w$c1{^#z!3^if7;Hh8Tw%|oXIvow zXV9{7VWNt9r*G0#nPyj^!5kj?i;X+B-0N?hmyy$uLP^!20#EsY8$eGgYQVoDSokZmCCM1P|=+A2CPl(WCmW>BCsjhe1&FQ6bxbxo_aZ%){<>p;K&g zur}?D#twIcwHA!HLKW*$kd*PLHGfPzTrly~Ug2b-PdKUhs@hT|ufbL){i2i=_-3{LmX7Y%GsYw5Zeqm5tFb*@htyj^f1~8|c}1te&qiUl1s=#d-u(4+Hv%Ixzq`C43Uso>Px0TaX2g?^sGU8`Lvx>`t_Sw_h!*uTk&{e?dz<{Ccd7KbsD13bj!4 zopSSDr=QXXerz~S#OLfqY}~`IjMT8V%L`vSN4}xo4HBMw!o?6a-E36pD_jEPrcE7X+K+Dk!A9#e|Q^%C`F%Hqlh>43*+!ub4%#j z_eIh`Pl7)Cojck*y}-pgE}U_voC{d=PwL}~vZBegG@is4{K*~iiDJbC&8yrcmu$$E|R2Inv9?xX5zw_J47KaM(COV1cvI{KVQWN{8eZ`P4MpToTJ2|uuD z#9v;+zzg5&KcrNBTlTMC&3_>nft|BoI={`Be7>X&}$msY>=8^5vogFpBK|ITuveVcNA zCmH>*1ADLw`+meGxlK4qY0W3}Lv&2UnQ+_%#i!M;rXD|-wHSv8qAC8sj@T;wZt^t^ z#+g168fW!KGFd{7(JWX=WH`@NCJJeh3+C9oaCevBj;m=7Tp{ECsl=e*UB^h_<=`&} zRVt}K!9s!PxER<>OzqVP(9J{mCMPcdHh*jixYBl{GN)f2ce#=d3`%bTiX7C!uHIl) z8}(tT5aDMzCbpR1A#ogHDhTA3jqYI&ljVUXDDD7r1uu-$1Wr*zY^>shq8!MG9&iQB zgw#!oA&}#uWZgQdI8bsWL+FbU2L@cThZXc$9(%{wIriu_&`G35np+7$IR}e6LF^Na~y`)HqG$?4+=kCj9mQ=VmImk5i{f-)&|p`emrengqaq*b+# zfj2x%G;^@rv_W*{A;#D+d`#bMp;Y+0>LWW;j(ANv;s9trrEk;!v{u`S{Hha+ld!nY zWTsYW&8zWALxU?rGwci;U@nuZ(VJLd)%i(2VVy*>4KC#YI2^iUUK#g=4&B)NaxOxF zxZ}h;&D^b=6TceZZ+%o|-G^e3FvA?^{B)-$l70Bt7yF&*y`)(_|Ij@9okimJAwVO(29P2#JMeZA|Ljxx+N*5Mnw%G+_s*p0O zX#kbTBI449kcV&CJYyTQelk$V{yqpPCemix;*CI?4B4Z9szr2pTcgLACflz*?`q(c{Sf>RM`Zt{LSB7{qZ0F@#?FuzFJ5AhC{yi;tT&yGCu+J?_|plfA9m`;J$8E z2SzIHj*0>Fk6b4N+G=+fScf=Yg3fY1AVL~2o&ceXLO|)uc~(1VeYTAuA+m=A8zd+goJSfd>wr`p{_t`xT0~LTeTgPfM|CL)X-!FT>sImc6^Ipm`s6FM=vHB__!aiKvn%8NuKKT_$xk%i3r?nlJ(HU zbEFvvQcd?=-)zI^k+|58F8PQvn)o8Z7JO}s^gnc*;kOvHL!V%$#7+1#^kBnyq?m9Y zi6Bno%aw7=mWwnNri1lp1!FV+#6Rt)nHWeoZHGGOVtV*Tb$GXIHfbf2I4PC5f*ud} z2qUGG$C%(fzng2lcc{1k)#pFKq2LjHboG^N!EV$T>_Q{Tg{4}t#hGPsAf|cb`dp8o ze)ZMc)#dqnzxT<>FZ2q0xD<{kXGX4Dm;kziO79Y{ob31XSA_|k1@4s|q}h_K#!tys#5Z_g{sw1zAyTZpDtHl>yhhs zUw^&2y1ejX(}iSXb}9VThj*squG}X*c8%WNe8`4Op09GznZPFJ@oFAB+#onJz~uJxw@^jy64KE5_7E|eFt7rzwhy1LZkuUFyQ;RehI zGl!NBk0+zc4Ub(*zwF0KZu!J|g_HvQeW%B*^+>*W(0p+beLlp@I(Czyf0(QAD>j`g zY`@a@(_@p;1)a7@=y9pXlf|(51Rl&iq_oL%VTsdtils9O)rk9Z#VwCoyN|@vo7F~{ z(7gdPMYvr_|2;iYf33L3HpVb~ z1NsO5;#Yj+4Mz%Eknvop>2A6M_+zt^&;#s!>3>|-kMKc0aP0TkQJHhT>v9xyAduNc zSMPm+UYhxvC<09;bawojLx*O597wXg*DUyd|AQZ_e(l$O&3}nvJSu936tW5f46r1( zQ6BOx?PK(%smCW_oARDKkc*BKTRkgYpwR5p!jl$Q+SHg9#uvJ!8T7Qv}bDJ*>>%P{->f3^Qjh1 zOh!$D2ed6c<(4;#V-~S{T4VzcKAvrQc*!<-W}Uv~ePR}~_b>IBq!yfqFV3pWR#wtv zKGX%=y*q6PwMb^}dZC5uy%v?pgT*T!9brM6A3sW7HHU}(YI^gk>QZ4d1$3hCfAW*R z(mTcPO22T2x<>6Nb^17E`(0#hqAotYmp+>H=^yb>p-=C6#7H*4gTCaQb2d@IlbDSd zY0XQTHgEmv4ZC<;YNH-{5D)!W3);qKEi=l}kPTdv@NBka=jOT@eB)#g4iPBZ>WosBZ@eEShy5u`3d z*^_nY#6=}G$JV{k0~%nRcd~yYcbn+ZpZ@u%_q}=NI}<+Hlv;mraSFe(Sq}4J%-jA= zjGFdq*%CY=7P4=Qg1#i|3e{E7oGksB_nF5?VD0UFS^Wy~Xxtln{1CRqIL01vT>XE4 zakTpJkN?aYSmYON=s3v}Qv7#6b~*wSA7Pt~I8FJ4bHmG*FIPYO;SX2e|Ni&&$auW6 z(fPS@=wzsy5N-P;fmmYmNs2ZU+B{-3*Z0y|J~{z{iA=lIz5UDc;M=K zoD<*f@TNf=u+e|sNW(%G^9AE(3+qTN`(SG%q@qj2eB8W%QJnMCNW1=g5mAL)54*t! z{1gd&{8XhF#(E^+$l`(lIZu!I$wt zGm&_56CQ!;`9zpJ%8X0qQaG;QL0^!W5Ewu$eOtCB&A>rE#9rfSuu}#Gf43FBK5-Hm z0_GiC+WF&-EfTR8-EE6CkS?ic;WL#!q@h<4&<4J zvf4fwwk6Hdyr+T~7gc%+Fc$sZlom~FEctW9jtGwvIWZa<7^N{LmIviTDJyvrgajRb zA3uCp{qbJ9>nWU%@B`fGhm>ce}>=;(G^LRQ|v#BK6B{R&%Y=&R@2LB9G(gaTQ zjcE!ZZcX`}2JoEMCi$kkPLHr9;hBegct(u5E(dgQ^a%aA+rKFxKk-}Kgb#TP^=)Y= z58L5A#=p|hc}3sMD}KW15B2Sx9+@5TuY5KX%oAOv@YI$z2TJi_>QHh&K~Z#mj4r*e zZBOYm1D~@e>=1G4+!)O`i6?3@E@|xIX-Z`6lL>^@7d$P)Q#1)fjkcR9XG-^GoxE*t z;aTRw8}kaAW#*XNC}(@xLp^n%oU+mu%hAE-L+Qv^t#^n8=Y90g-+Zp8X5wNpZerQS z29~uPj}v})CtB-xX|Z6L3CUV&M28v;0A0ALlriW1gRszt^8l=Fz_72v5#e z&zcZdY(Q>P98`K;vs)F@WP}$5dZ&|As^GcbpTJMwVv_sTHO20&H`{QHi8`qBtwvD4LKVQJ;YuPM^;j^{4 z7m$89e2T}A zvS07>d5ArE2cxxnj*lf~#}{Q<+Ezb!v!Lbgusn|4w(p{h-;fhJ^!)+qJH{dU8HI z&|R8S%`g6WHk~6;lfE6TMCgw&mbvJ`nwNF_BbU7vKc)+svoFABTsYwIYi<~Y9_Xok z1UhJui%;U8*)2Z61GA8|b+SLUqe?m2w#1Mh!9W0 zCNbHspi7xaymyQbvV{*2%M%Arot|x@Oz_&zI9GrC%n+MQCJ6=-fgCB`<;W{+3`X$d z5QBia2ZQpYY8_?#$_>(j=pI$W9C6F2DWhIT#ztO^Wl-MK4?k#lplI9COSqKz^CP_g6yeml^5-j+s`Ho(8)$yZj>$eSgrt-_9->EZ*zFPjkO`zSOEJ}S@j z8BIanS#5kb1kB^x0^;B?SC~@vhd+$kctrG!0GKmAhddf~wdgUUMNF_}46%qoeX5QJ{NQi@#(>Cy+Mz5cZR@9P@i(c^+ST%Ax`-5WOxB(>FB2!f+s0Ai#;sY-_f zXxuP|eJLE>Lp~5-wDFg`1O7Be)W{7vud?9{j@&Wl+|SK6+xZCbY{rN4>?U@| zlon2Cv`w-FNd%KD_lw)Gd=T!a9z`G8;zmdKHwE-UA%P?Lz^oCB0O3bgSngRB;zndR zgjkO_4BV$WKHo-J7UWeYHg1gn8}5i`1E+aGlR|_PPUbTT)a*$40~lrBKxyhs78yX{ zHr1PCSZROoC{pDI2=9$4r}@q~A%=M0#@*lO|W(Lf)P3dZ~gS9)53>fZP+W6toOsplgEy(P&CN zz@-d(^H3cae6~%{=Q{~;F$J#U30&TN;ety0)In0v-ui!>OX!`tLYrlOJcGJqBn-Pq ziI=hf(3bWmj^=B^+&+dh>1kh@=%bb|baQ;HV$lU$Xr1c-FX9)2j7NDSrM%2Rp$seY zgAY6=m{f2n;0GtynOwP07UQL~jArl$3o@UO$z3aq3!GZUwfjqinX9R`!NYhMVIq5@ z7}eoH)28H|u)L#~_NQ(`yu@FU?}En?IdeFv130^|Ws1)f@7g~i9MdIXnZrL*%QM@7 zMY;65kh3l6=JJ+)4sS_YE4S5k32owR;t}!Kjg6#h^G!Tj+$?wc4tRSqczCR&E*<}r zxI9lDP;AR5@z;3dz+SF~F_Ta7T}s~KCl6=?KJfVhrt3Tw5Dics!(-l_fuIG|hw9Sm zftciD_=Eab^9YMpojigU=a~ftfFisyTP16K!uiMXXR(xDDwm8Hb|DmRKTECMLmwet!Nczv$sXFr5`CZckVEL-8<&?8?lCyi$Eiahw~w*oLa$z3>Cbu;9j1H& zEwbsK)E0lHE?gYqVu{x-DbTpGTQ(!saq| zM`Z3AROMI2J4etK3$f)=t$&Ryd@{{r*p{-YPDO0^IXExTBo{X=Zt`$jRNCgXa>c_h z3-Dnuv}YX_aW;mxroaHu`DD9T>*!#ZeVh5X&I8e|_W88D=KFYxSM>Gc^yu^0PLJ$^ z&aUlsN!!e$89&K0^h>Pid>tQMmd_{9r>x}F_4V>TM#G>_Ulcu}p~|2-mpUE5N?z0b zllW;v@*dSi(?E4~B2MJV*90EJq07=aw$htFV^^=a>Ab;3^h2%n^oGasB%#QyrycB2 zJZ|1;p)U|k8czm7FX zP-2w0nDtYTbF@R}a06-m7&;VqVX!TqVn)YY3?9ToRQMR3h(2OA;}#jf;cJ~$05{ta z{*ZMnbnqt8$HW?SK7dE=wV&eksnfGs zh|L_EIu^Ko}`z=@+8{KXY!Ee--K54C)hluPGcV4^;$bcK;gWdclG$~cW_xe_` zP9h2*+Egd@2o(4aEizpa3k{vYywir=7Y`(uW?~oK=mI+q&M7NV4mMeG2>U(!r1Qi9 z(iRDQ*j!$Vi8uS@#5~6anoRP7Z6dGl@W>Wi!`K<~E3|0^bYT~I#JljstsiSrgJmfn z(+A$zPI8>7Or3t<&t0U_+^eMUEi9}nG{o7R3?S#J1GveY62C}WPccS9(JV6;P>voh zIRdvzL<>pB5-a98<=8Ra;F?LXv}9wbyM~1?f-9!`X_%r*8%Im!w){*}ZCmG%xS7ZN z6n&D|sFMAYu%)@XQbwdZiIWGVhR0Npr48_>oVKJqU}1}LpM=%}t>uw)Jw6#zg;%=} zN&HQ@yTkIs7hozPKzB_f`$cW!tS#Ihs%*86ZFm=x%*X3;0r11vb&!nF zq)9gTnW+_hxM{=pkHvBi1Oj{b@Yn#+x{Hz%L#(v^ZH+*~{qc90Q)Q}x4 zITFOibyI?z^&`Lha^wZ^ye{|?G33~SPblLPcr>A;3Mup~#mEW|x2n9&Iu?^m zrvr9o?8>EH3)As_)fGoQaeB6mviCBIAZ#LF92DvW%*XlO6uXD%92NLaU2PeZRD2o~ zF*q@pi#Nv{1+92=7~yQ#Zkv#2oyE+0nQNaDcElh0VFDW)NkR|)R1DgXPLuI;2pc05 zTAaWvM=^jOxab4D_O|A0LsjBxn%|`;Ovv)_Zt$T`TJ&La0gT|I9d5KcFA#&9gYBRW zuL8$DJ}6;YDw!&B0%mfP;RD_S#SWbSq#Pe(@PJ5R4T~UwMs^Taw4s+e!X9D_X;7n5 zy!Q^mNP^Hth#03pS9X!uMT$NuO2E%hi;I$)%);6v2ra@dvzKc_vl0i%$#c2CB+1b%}T7D>yE8;cF5yHZd$X_G9)@605HwZX3JZ z)*WcKPa1oW8(vXvpLF<3OO+i2MaQMI-vqqYZrf51bV$#-ovYiEtIjzz54%3^)#}>;4#GWIc6>Ik_8l zn|+=f2Km68LF>k9>H*?%D`wa}QlA;l4{Cb2P0J{=KU2BZp9!n^GL{wnv4vK*m=R;1 z3cj3ERM)v<$q+zw+opoYVWFEn^?)npX*O$toHu$h#e}vVtQZgfpbFiwiKno*p}-TK zY@*DQHP03azAy;I=Vd!f)5Hpl~{mrGRMFu9a-~2g8xE zF%?CG7wEYjK$k@fj76V-jV)f!s+Rq=iB0sUbl0*98a!*~*z+3=s0hi&>vFGS3!89| zDxp)@RgOZI>Q2>$TBjww5Lg`HKbPA6V^6_FA^W9D3To@Cq9r6x2|z|jD+R;wOM#b0 z>zj0H8%xNA86?Pw7zti(8zb5w?AbQTT)?=|B`4nPU^B@hmt2A3kBtl)XbSjUQ+{jhD$KeT~w6`7F`eq1^->(adaOl{N-DQbZhICyYq}UicwChQP!H-$1Q~Q!TO+*2+dtWCk6?vITrftBS^l&S_U*5UHg29I9U(5_oCzX_elHN zB%{ml&VBmCc1T`eM~*L$eXLHPUtyJZKNGK2!93i+WJ7$BOQw+SIZ#$Red-G##H}2G zoZubY%m*6%;R5plM-}P}@O=#g_m%2PQrb!E+n*xJe3lRT3D^CFaOupbfsZwzk5#5N zmY~bzE4v1S{(LaQ7cPVVyWp7E<2g9UW9&fVN4Dh)%KU9k_ziktD(Cm3dFp|yoWvMB z?5i0@g|uLVF0Bt2sWIU1c?y;Em;9&ZhXHB7D&?zvZebkuQ65q|I6PV%9v$oJ&xiU= z^h5tPEx%LS`|Z<~@j#Ez3CotJ&W=JSp8QM`KY8-v)n}_$ul2Jh_qYB{*H({KR+jBk ziw<51U#g8`LVkR_D;X>3ko{C_+rYVv1$2)9b_i#2sVRYnK~6;<@x-r3hsUb}^)X+{ z)VUY` zJ|tzFWFN~m{InsZF6co&RM)C*$Oaxs--@X`;JAT4=~}$jC-$p!Y1@-#EKj`PQNzBo zt077`4QQ;Iu4(mzxf+u~gsGHNAEzpXW<* zUe&`ccyWFo(*v(X5K-vI0_S#USmq!Hp2;8FsRS;5gqFn(ceEe6jx`S*Sa+UiLFEmZ zIHO0;_JK0c*)~*QgW>5;K44L%HFxeK0LSJv7{GV9o{W}|hfi2vgnXU5q*umK;*I8r zEzXXF2=)nH#xe2)^zmgo735`nwbVhq zju>$&n;$)SqD6PSdvYv-BRbRF7+nAl2LkjxhS4r^xAWKs0l`0#hwY)J#okZj~s#ci;WW-H|!vQ;}JFxA_2#@=FfxzoocQNB?1^Q@Gy_I z(FA!m6eN*ZDIVMLBN?hD3}lJ6tR$;#3CLW2g(Z_169j1wy+@SE{xDKGm@hQKKaz8K zJpW!1P91h*e4qi2k4R_$%$r-~oO}#d1|Gix6pskS$!Sj~Dqne2Bkk5fhcX4&w~kXc zz<)fsd8|<|z?={xNv;Z6E5Nl3T}Wi`rjJRCAtz;t6M+7)kXw#<=ztG72jLrk@fq&% zzfU}<2_<5n$n-@FO}cyZ5fY@}rV|nE!tB}ZxGi%7jbRV{2j+T0k2YCmrIQ+J9OAV2 zW93#>+K~Ae{uC@}GM~cR7JjJT6n^>H=d07Rm)=ml`|592AKrbX`9d?WHmk#w^2t3P zjJtA3wpP!+$cBTW$LlYCVfFbJ-&Fbk?Qm%hWA-cKLV^qB>)5NEdc3 zGc5bJwI^Ygzc66ZpPkO@dbMp+<&IB`87@G)c=6fl^yRD7$?1#L#itLew_pAB>PEjG zb33t7PJbjX>`B;^+#$T;mpF;`?f6t4&8X{OLy6<{ir?z-2zx5OadD&2jE9c43yKal zO1cJY@!Rqm;s!v{X1)P^v^i-rA4S>#OxnyrZ_88UEl!qWDu`J+VN>)&c#Gebhj>fs z^e#6QSfk`-89MZfd19UmI9!Y;-)8K!yrDZ{;}Y(0p>1z9K;NA0QpY4?S+LLALd3q< zBxLJV7(hFkM8e$4+Ri*U$RFlUafGmirF`-8BFM5M|=(Kf!J!5 zoVvLe5$QLpBN$+RTSqogUK0P{W#6)Q$!`sz%P;{7C5G+@qHu))cX!v}o(ZqbY65Y9AW-=<1C=wyDe_{!Tv|1y5hmVV8ji zl=&kN)N_$f%aEyHK@t2_tqC~ElAvQpZmIH_8iN(Gxfs#N)Z`w)Nl!$7_{vuyLWdDG zVD1E3O$9MwW&v|0nm`RtluF{OIxB?cMhW;dRj6&Fa~-m+>QNftk(wvFkt z%l;h7uJSw>Yi+i$N#9xGL1XeFr%$tw?PG18Z*TNc+JcmP7NAa|B#%iSO;YZ*;hUnz zZms(HnY%-{-b1CY(I)Jk+L+zF0payG~K1kn4>K7Yo)eoB-Ws zW9H9?Rep*u@)KUb&I-HW-87{9cAW^lSEf>gwJG|H@odGFvc&j&>D)ZRpV^irb30>zzTL!p0SpY7MjG(R)3n}h2mQ8)J1fJYY*3A?@whMp0 z*2atV@%wmHqjjEwARAqVSZshj!K$I`-I_;BVsbH#IB>@vx%d`-Ty@L4_;zWz05Ph- z1km~vrO+>fow8HoG(f}lL@U^{89dv5=*gfBYI6Oh9E04@v8KwkiNql%w#=aDn+K0iJIi&K1b-`Yd{XWHR$B1Q zSDKiPpRtN(BbWu)wDOzk#PC$gu|RuUZt>^nTRfMgM{LkF0ZA@8m~S&KhWw~c$!_`g z=p=`F{R6SF6Mp>lXj*1lm#2L=WQEKn_6+HU^_Bg0Ng!}X2#9C2vZlj>5 z1HP&fDrZ9ilHZ8g+?;^nl8R4mpW5@*>f1{z?3>eTr9$*Xl(7=J>>#ep}cF?GWDb18Z0h%Jt(W zJ}t$quF!t^@J^3fU-@o5x!+M1Jmn?7the-=$}J6ihV@PKyJ{cG9oBax=Q}<>Jr87@ z{`52m$z!qA!U~o%;LIn(v5_`R%{AGc^9rZ^?#z;{kIRuAddIrY{3XybX@h+VMFEm? zR+!iXy`hgkh>ux`XNrP1lCq8v<8Uz02#=DD4AyMNaM79##`%qx?3>m`#~=XY2Rf8% ze#mAw=Aq&Teajb=QJSRPGOsF%X}1BTLjOvB(FK{7TsE)a;4Ou1Ku=wAF^$aX+d><9 zL|koP_l<0Rwv956F|$#-V}qx=33uAH^3uIu-seYA)gGIU7&vTf+03yCA<*gfhbB5H zK5ZV4dHcgi0%iwm=(vyBKqCj4{4GiF;K~Uy_+ujjDdqXJ03&Crf@*zLb`UD(y=3dj z##chQ+sPyB{A>V8PvFHxfwVK<7ZLVi~U>S#^!A1z$ zX818NFys)!ftq1rTtruV3PT=l6r$;A2Z2MS2av7C4*v2jb1ff{ z;-U*E_`kI=sXTcJ!F3%H9^Cpz{9zu-m&DzuJ$;tn)pqQGsf7?HCHik^n&JcfTwBZE zCvyQ}5!AMH|-g7l*#{c&A5qZg2aK+4*%hai*pXBj_SOgz-%!v5e? zGkAt_`}OsxFGF^*GUm|8YY9_U?Sncf@pFqgU4}>Y%{10_EvXk&$-9N&!^?|LtLv)^ ze=v>n>do~v*j3Q3^lIh8d|0mnM+()iBW>G)hH{7XZTamAf0s7yN~dotpJAU4>(6D^ zq}-V~p+7Hm<8Vypn2xqPhm7$V!g|x3RIs`_RJAFTy5~3Qt*XQNP{0;-&s&~PgUH23 zR=bAEwOz8ujwNfN#2?F%m+!{Xo~EHfmJ?2YBh%__kZm8sfK+IJA+LalPL}{I*zKxGuv1sBk zJT{mFS>4bIlkUf{P(8-M&~nF-JFS)>J^1+`)B(mFR&?WC;`rU;Ejv$oV+Tq)x5mi> zE7YbG3mvS9x`7i1V~8L6qJKvf0P3*ek?;6gb>Q&3Z9H1d%lk|){6P;t+PV!Mn>az^ ze@_c|LqkG-3O6Vfa%*YJaxaH*$7J{@NDp;EC4FbTl5azYHAq9<^;C@L)Ui#rO~?l0 zs6rgEQs9MId%^_2^=n~k%=9%MAxmA__QGyG6Vf8Qb;|D`PwatQ07ncq!qnLN|xsY@h10Df*vh_|J;3yawxb_T1=B)CoY6n_ml?5fSOW|hsYeI5q~X-!&F3Dv94bA z=$b+Y)lscY*-vIs`1IPdGHCO@M{TXFM14$denl4kvwo^`#`U^bu%Qi)kvBz)40K8V zBp#~KHgHEae=G85+bDA}mkA++O6j3hXmdXSl)sc~9XhU!0#gB&XA-~9CQ$80uZWUAV!km)oy34K{ zJK%Ax&vkQ`9{KDa`GA;dKo*cs?Z*X*u$M+e`vQefDlYg+@Zpeq(e%CftH}cqoF)x< zKwk%}@LC%9fKR?C6#{sWqR+yHA&+5wihpZUDg$36WE;6*%0qH+%W}m7oIn+!aRQd* z0-DQ=4t~RH6dyf>vjlaN{yX5-9>`dZyy?`Y2-A$wB?6dphWNw!CO$(R)W?$HY8!7I zqj(}1I%uOFcaqn?JG!m?Xt{_c2df=0>DTlvx};y9)Hgp(qra2=Xb-gU@@QteWH2?2NQP$;PaZLsFt1D}=H*zk`Mf^E zcbdm~3#Wp*60|~zqYD3}Qco*zo**G3bfKWXBDCsOWEzk16X?;}>9P)~3c6Wr0c1U( zRo$$1c~RK-Dw{8@ZMk6Ee!(rGB6h5HQL3jn38BoMs%lki+l8Dd9x2~a8ynM~X?yx& ziqAI{{%jj%92I@1pI-7NQFU)11AedPhyiobWK+#!*pGeWI-QPOe?d>%M&5_!t~H;G z_X%1(M;mvv{c}x{y=`X_B^6}QSQPZYOWbn-4Wn{Q@5 z|DLSw+@lAwxq~dr?N@;467MDJv3Kc<%EN>&hN;yZ-lK$tsJJ0eN@Yl5edm}A6iAJ% zhuh-hGC->w`|_HaioFwr^;_qaax51b2^w+BP<+%yWO|68TtJxqHHGPd)z}es;4ff1 zM*bb_fgTw1cfxYPzm#>mX-JxFHw$At;I%EEl;7q*mBnc~Q;H1br%gjYC%n~ttn6`2 zgA2KMUB_(YPRSa=*SV}img>1q*+E*}I_S5ngdecu+ic6QFNg6kZ2xxk(0AG{_rUat znrSA_(VOF;&Q8lkFU1sV;_6L9EBX+qWm8tvfOhSK;H_M|-Pg3hVaK-io;EstH4TYtjO z=BF=IAE>qqkx$0s**41lfRsB>8#--*8N7ZJSl(<;oNSi;u5x*Fco&vCXmsEzmVYZw zOnsNN1QeS`rjOcj5Nw%DGNAM3nLF5m#}yt1K3msj@|uu?E^TUq&Kpe_DKQaKM@C$1 zh)qBCa0febEH8c~my?4U4$BidAQsv&{nCSOPvimnpyjwcB`ai8MuXrp%_H=a4~DpE zpslzs3V|%RTg)ElbdS`nGD9kn)B{Yu}aY>(ys9{j}Nk#GO z$(kbAA$*f=I}|m`YPd*=MQw42lpMCtGAoS_p;^Lr7AJ$%!Icpwz_gm4|Hn(QcR_92Xrq# zo|K>YPW5<1%q`I)aZ>kTPJ2v?4;h_9ZV#=;7`HAC8sg`1`fRd$lcq>V1@eevC}M)4 z%bZe0)f43Pf{7bgLElBz=@Pmjw}udUq)xz5Ms;Ykl-+46-Bj0WFpqIr=3!)7xxQG` ztNx=26%$uE?U^7afls;O8Tz=x7_U|~W$Ou|HV1Aix&rbClU3;1@;H^&sf#=skb_)% zNR=#-KdBCg+(CM_jWQckHX>|<82~t_J7IW8c=OD=%xqlk$Ojl`$B)oCUMkbj#Q`II zNMvl@jiSS2I}bkI^y6Vws9Oh>kTb{M0aXJ_y5uAQ6Q%Ctpo);a2`@y*#dwjH((5WXiCFG|qOfAO7wP_qahx{m*jSzI*vQ;3)n1=cI9*J|5#dXG^rfhiG_A zk~RdB2GN`@lM;$O>Hi@f=Y-ad?i>-A*@g;S2$UiZ(_<)D_2fO$WYD(W8|pr+!!%_Q zru@uP%oF`SN}SYd$S2#;PYmUcK7GD`xIahCTEOJuzkaxmEl?Uik^dMe0*)yld zP_HF*bm#ZSeF0ieZMokc;nS2^eFEU2{P0U**!m^QDI;Z$=H>wx#!kO)vc7~*;`BL; zN*o8ekEMs_lFeLFw`9i8-VyJ<`JsH+o_LFL`y?=z@Ts;J|53)B^2Q}rkUV^2orO?bQ&GQZg=gC+#}}I8v1&di!#8D!rC9L9#DH_y zPw)qPQ^MK$?~idY70~%4CK!_=gvFG=`qT+6E>m)_7{(*ag$EzIQb+O#_Q64H*nL+R zrZWkCh(>RCg&OD(3kmC@MJ{H`*f{*`n;ODUDPD6^gWPxoNFW}d!l8A%?ph`T|z|VN`yWM=K z2fcY$8}<1MtdN=Y9xPBsk0C-#R4A+pBcTIp82ZFj>Y-b(G{}rbMHHmuC$=JP`L&uSm14?Q0W_*|U;}V*iO@jNh_A6%}yCrTa>YySao8Q0^U`txjLQ zULBpBDTeR-<>#OaFT`T#DLgW#UG&))##mqChtn6YR%b6iGYKDT`uO3kzHof0v9Ruk zuqk6rJ`nxU$;s;M#b>L1eP!B&6k$v67vvrr!QWvUcP*_di9z5<>;{Jp?8+`p|LA{wV9lsi^|lu zC!mLiN3!X3b$E2*pF_I3{It5dI5%zT;rNm5ZJs=x%bqs1_NL6Xoigy`H-$5#Y5BHo z35U;t>^V6-vwshdj`aoW^VQ|~NB?w|KhRa=j?u%1zBoO5xjGgPK8i_VBoZHdH0@IU zxlun4zcAkNqfC6zzw|SD@U`^wkMGT6_?7geO*^PlJ~}2w&fM2*`bqQ&y3oJG?XAAZ z-SSJn8d(SU;1lBIOtDW--G~mq5N~6t)nlxEDeOpg<40s492}X9ck1J-;+OVG#@JGx zGH7+8IS9YtSM0^F`1eNrLvL+L^oje$dc~5>A8wOw@WHSAoLWy)8m!LF<)#CI>m?P z0MgKow(kCxUy1t{uU?`IN&-nRR^Y-46&RzEh`s2K+bz6v& z#Q7BK(0Ij=wUF1dA|leN?utY8n%BWFgeTwaVJZhNew~JXpe^P;bP$TaF$DhN1Tswd zBdKn_Sr4dnNF3%cOIF5ujdh!E`bca4YRy6gyjF&X{=AM*!K5;TO9)i(D|Q*f1uTvP zm@+x9Y~Hfwrb!1r{OhMtO)HutqP5MQri@peTnP z)dsbZ7%%uMb>j8UJK_jSERRx=3Dh<~xtrwiY6*q6WTILXqXOj~Y&W8xgv;}7l+{s( zj99sbs|swO2(s9)@v}w*qTq5L@7|JPV7NGWAZS=b^B6ZnARQlf3keM5=|}?@iimtH zCN@{`^=&p$YykN?(H&V$Q>z2Gt$%Z7T^FHY4}oYsLYVOgK-;JS3w=*^v`yGiuXwRB{v(e(tw!wDkdUnVHN$yupT~Zb<2X;jCB$rn1wGg?zyY@+cjvY4N?Gf_L}X{g(0N`6v5YI{`1~at;||&Z3eR~| zdO*)&pI8g}7v4|-#|CfM^%GXa8@fbaburWOh7UHe3Ht2K_so~y{wC!nsKp1~>OsBr z5%r~sjSeyD3o+WX_*|#hX7jRI>7oIfILCU-A)ZD`j7`Y^=j7~#;{J{MH^vMfw9{Es z{5FuAEo1LY7yav(JCQ8~5{1AN3pDZ|j8= zGoCpRtDXmlH^pn+C~FKOn;2u>qR+YLg^gn=^?3FA3&$?M1ODlQ)+<`z*oHBp0Swvr zgSio3Ap5Fp{0FF$RmYiPp15Z&ArU+1!3LQNR``fIAIfXvj+upV#y>X6_~z(X7g;nn z-Aa$WJ@tz=%v!;~c0OqwGp`-$;=|GLi^5C4dw+E5jTLK3|GcVX)%D{D$2@zm8M{QZ zPjsRse6{vuLspYyl3I`!b`BrtSqF!`fd@KkN7lr2D@(4zqOu$u?Ec$^64{t#K8vSFekZP27&s~$$fE>_aQDvkvoKa3@G;*WLt4F@3}i*}!dc>FKA za2^P~O(Q5bGa|+Qi~Y!n_GIeTLNg|Ddzk$ujz~*0QgU)jc-Ft^`Lk`5eFw2zkqY;* zfTEu@F{uNuH5dpc?w&e$mv|C-XmaDF0S-Sl;&coHE(Sbu*cgROO&N+wrnqjv-78ox z3A_S>L(~kKJ;2+6E($gYk`jtZ4;17A0EwKSBtV@49AzEhLn7lUW$I|44&K;m;=m4u z02ws5vQtl4TbA#ViuOh@k2`@6HHh+}gC`G3z*J5!3{td#<9foEvJ8ENU>?v#)f0`# zJ;}7X)9zGqY+(|PVH-_LkKxh?RLO~o>nX71qOH^{euHyZgZQee7=;RP!k~?Q z%6LJ=Ocaai28C^42Rv;}{MLbHQxS`N)kB^rvaJ$7O~HO^WmN@sFR%8uM;u!S64Uv#Fzq@VXAi|)f53)pm2Y&n0KVux&U>|Ey$%cbJ?vgCI>yo@!II$38 z6U5@Sy93LjEA+{HxX_0O81|)by-5dPGHfVDfT%RdN3>Vc`=d5r;COK^S{9k9AB$!d z+8^J4?Tyjc<}4Q$%oqHj2>dKJOtBuL2k4i{ziAcE!g_sh1_>~yu4(W$?Uwfm8Ut9jIKG6G|BfhCiw$JGS4*2vj zo1XKJ+Sp#spJ|EAs+ng4Dyem}l{>$~jk6WJE?$zk>1k@}h^U(k6x zb$tqt_#<{ZP3H74&q|lR?bDCT?L)CApB8B4(Z4Zv^pu9@as0{?4c!Gw!keUC@R(s; z7lSXx0yZTME%Qlss~^~4bFM-D?bXrh?&^D5V{uyo8#(Gviyv-UjHUucu4$CVx>SWq zQVPl#o1Xi!S%jQ(SWlz;ep$c9dvl=!YcFm#@YEO|<%NDO(N4GOzYFQ-md?Hs09N2e zsgxxLnrL(5oVY=o#*OT~WdC^28eOu$w{9p*x#4Kt3V_Ud;jlKL zVl}QXF)n>k*0Bgte+U0qm-?=`0O;YHQZ3J>oUGA1^~+eJZ)oqNMmg?c#~vW>fX9Pd z$QFU-*FDzOjhsgn3!`)mRdjMvCFNj3rq;I!`zGbjwo&G;UyV~7B+ocFHNh|e#MKVD z(Dlxlv(6G90t3fKfQRS(Sdw6DlG&v3g=;p1-cTc&KZu~$fkE#8!yDQ``pT8?Xn5ZzGV!&b;dNJ8?qGh9+gNXNX2zqe1@O+g_ za4tCTC=EW>ysMVDAVI}<{?z70OwoI&hsezw8}I}Zwz-I3XBWbSNTyV>s8E+&=3I2c z|6ruAE7C;4;!7JoI5KlV#gn_sB<40xbSj`FSJl)EP=3qagOiD^Dt+rV;oui0O!$LB zX1S$6mZUCsRa%_PU5(){)y#~hMsBG(=1iqSGR*pp^D6zBMzA1LVro>%S?lkzZMlFzTwfNj-qnw*j z7TDZ{^&%4G@A_Wia_T(jAh}+ z#)Ugw=!dMU%M+R6UVXn4mO=B0eR4~ zAz+~n&pYm<34c?HSmVhd#e?X1q!>ERFW#{0r1;`h+;Qdt6u!*(8Rf0^&?TNUxYFIi zO`FkCJ_~{9?+pr~C-2Oo6LZ2+T|6O`c)Ps# zs6J-wXssc?F`qDKc+8ynuA8^k$ENjAjN2!Q)zl;IB%)57zo*<2QcH~JNd@@fpUF96 zjS+KW_|;FN+!C`IJH&zdnOMkI2(at)MXbNjGn3~7SMt2VQ#$&6_#5=llNg%kI-I0h z&mBiH2%G2|=2X_K`?_Cwr;8GP3Q={hA2k$NQ`vqUq;4-|eNX4iJO_)^>qb+74>7s^ zN>+KeN&NLcZo-5l9rX`+g6o+b>p~4U33#StpY_bGoAkmbtYhJ4ToLC@oWu>T5d&V+ z3deU{oeLh6iM}yMKV6>-I#t-CvUX%i%Nm(Ssxczg?j1W&Na*|)YK(98px z3d7E9D}3rYw)g;S@0nF6{=JSDle95qH*74x>)7H?$|U+4I}n<5ap5x>I1(2uv+zG= zM?dKNtU}TV?ZF9t)}i45s7>I6Ecz0ylu8zrZ{G3QHp&cmoRfaE^NMrAk=#+%9Zvg* zhJa4FEIK$k8ytefFp)t?*@J`gJQD{ zi9aSSgx|AZlwt%Z`b_a>!{IhLBPJH`89L~s%`$p1NRXogwt77yICtYYaWMH{mr;dA zJ0}MS@C&*Trc4q{zGJ%NKw@Tq*3`(7Y&QKzz{L?;(1pKD@Ix=sq40F>aRNRjD_XlF ze38!|Ng_?hz*os|_#B#9)OoLl>*Kbw(3u!o6)>Nt*s&ble5c&p3=AZ}Lqch&71hU5 z!AAfmDCCg1V`)aN=s>%&w5JmS!tPV*v3t&aj+Uc?ALUm+lQ7+()<>PK5lMEnXrn}p zz$Cgz)PujP69;Gy^mxVn^~LJq<6CVqwUA=rq7L_>WP)x8j=M&B0NjJ9jI|-sOdY=v z4RJ?8clT^ZKwGjoy=XhvT^Tm0BsL#Yi{O^07ks*#m^cUGcEFYMAr-Ca)%0A zdF(eAoGq^`BbPf#=bzqdUeRNcylbk(<=lqOGKGsC$Y9P%7#kA)SQzsDDT{v|KjZ=h zcJlu8Sbrn)LONV)Lq^}QxZI>i+Ax*l=c&}|AK^`7_BmkZl60fkhVE~`%Re4uu0h>qJF2%f4)L>& zZPtY+6tp2{Q_8ml=yS#(Iq~NwMx+zpML=in(9@UJJDDj@J;2q+RDTWMN&diSn#C#vgoME6e1w zm*=A9CN2iOvg{a`qV@e2$;Ifu$}0I{lUyH%~+pBi$#dzp4 zfx~*${ocT{{h>L0Ew>1FUFFP?SNm3;0?lgI!b2rLE#0$il<6cKLV(~jf-DDM1V?zv zuG1vb_5Qj8z+|v#ZZsbJZm0;xBxA6eqEj>gB+LUFR>FmSO{$Zav>dPtg9aT)h(#AO z))6_`7I(wo8^Phne4$Z*+Rh>y>Na7IH^T;^yG>Iq1`lKmI2zbsAP`w>5_zNo?mU9c z6<_@9HUbp6o^%e#ZcR5Of| zv5FDEW(N*&&(jq6P1O;RAjJow{3siXLl|wFB*2SfHgF@Iw2>!9i7qyP3n!Hk9a*69 zw=}W1Vl&L14^q(a{;WH;H5&)6uj z_+-HxzSM>3| z2R53FAMR|@r@48;H#wg0TfU>rom|EkzURUPW5{vQs6?#Y^2f!J7(GqvcoAKQG45Iu zS9}Z%-8@E>TQ|i3_W9#)8kbz;%DA9^ha2Tq5BLxJe_WFxl)LP0j11dH>iCsD#2)#T z`NkKVR6jhr3cnJ&j0M@lJIdHD=i6p3lGGk_7sh!AN%;C!k1+1-Ej!;}H+=bM9Q}pA z?1wU@4)lJqUQ+fsQtG(PG?K;I=w1tpW-r_`79G6-1S(=ha`09avDM%3DGQuE-(-M5 zxF*|v9n1OI=VX7_pn&Pf70Ini- z`{IMkMZVg&aN;L>$|5AsnaFMv)m%Te@VWBbIu@NUkl3NWup3=StZ(`Cnz1yeNAL_P z@Zjk+s4A@4?Q<4U_&^OA8@>T0*+u-A*zI5vfqW8vw5ckS^A`sSN~ICq!TlztXWJ-a zza2qm5XH)Q+?px-T8}&P{;uC4p!3u==P&s1STzgn^g5eCcR)G9A)m+B+@pa|7Udoc zL1ugo{LKke^H{PTlFOsrmabj~7VMBGI8mxmz+}M5mo{H4kWLfhpeG7^baSw)nEV4N zWPlTok6;ABE`P=@(`I=Z5)yEqD0GF+dVq}&sp-Eb7ajajH3>pi!msr8Yhwy%*4Qmy zdebkv@HPBNV2%a+7|aBN16+{7M=YR$pU&?!G2vN~+R}&kmaaWuV}s(*nYNPk3TiSw zIsD;AnF3{!>rwQv;xw=A zf~)JTP}H#@IbVMHj{_*PTufJC8G{F;S8;>`8`YNnqo_8s^i|TiHB{NgX!B-FA zpL~|&EKb>AvM3!(*@v|Gj@PR<-nigb>MU^SXcnz36e#0o-p~8=;r;6D>~!_Lzw>uj zfB*Y`PZ#KJ{r)htk4g01F&`gdvo2mN1P^4xt5>g9U%b(Wjl8katSFt_r+Q@3I48QZ ztxfZ_-eX45VH|GK3w-+HTAM6C0<8LaO54WTI_#7^l$kP^$A9vZpR7K8V#BmKCBGK4 zjZG@I%C$!6&0`pkDRx$DTspbn42ZsfFblW*o@dW^vi zH8#-ITkBvEkIm`4pRXSLCnem0D`~1Dvy^ z63rCgmm5oTW1RUexi?T;h#(H*jy>^=%{+#C;SXrd-!<%uosYM~WgH*}zjCKIE;4c9 z5c=Q&4jWdU^59|@F;AcS2?FWOH%e}OB|Nzf^98ynrtmHHe)i@UJU*F2c>2V1QE8{& zx!9Ba!Uhxl*j%@dD-SiGo-|`^EiB@@uk*J34nCXXQ(dIPugr_+?$v~S8?i*+Gw=H~ z2#=$f_xYkVPbYB>`-{K$FROR&-ul8ptLM_P$AI{qX&m#2KmCU;^fl)@=KJ>_FIHc_ z{jfUGhi^Q#rN5s{QqE)9{B26*YIwbHEup*SC2S*cdwDaS8M6E>~k+Ysh2*2f`*4YEI)s`FPoRjD?li-EgnslW-mF_nRZPdQH& zLh^#_Y>aS1#&d(8ZKI4~bRwrk`$H!lzJSal5BnNuaThRx7Eeal2sxdp-1N$0{*Ubq zgO30wAQ^aEnSo~{B&keYMK;TD25(=m*pP1*jD@jTvNm_CcpKzY=W#lX4lEU{7kPk;EISLgaP zCy(2*sEVKbIo85T?~AeMk|Z|H+)-f>>vzz+sp1h)ZRX43Fg6G4YO$DM1H(pkF5zd! zWG*NY_vF*LHg=!9V7idb=$&`CJYu9^+%4fz08l`$zd7;HT;|+SD&G~ml5Z}+@AWnM zgvDZn5vY_MlL|CBi>DJk&gi>0*0*$6gF_L%ECgR@Gy4B?cV|nMS(~o;0(>Ao4_|}tA>Q*!(iPQ|aWJumGt`{3{_kIoy*+luj@S{Il~ocVwmTeH zSQ8fDSODDJ`Q?kqkg}g;U}%NpW%TXYIr4t?#TOZj#Zk#%3vLeVAHMne!C!x!XR1FP z#|zF&2eM#~fj+{^GjDK>qmjX765^oE>-4CpN!yD1XJv(WOEy1_JL7{yJ-E18CUl zD!p4`x0OWCC)+k^mCuBd`@q|LY6cJFU%FkWZ#ye@8mwM&=7i^IYgW4H5v)~2&c^Ik z_^LFIdJjK=)9#_A%e#c@cu^jHZN;Mn^Qgmltm;7>o1~feZ1>l%;LRJi>oA8$ZATx} zRrBQ0xrw@0CiL#g{CSoRIUHcl99c|eSpn4-lAGOfKIx9`D{tcJb5?GxQf8+{czoaB z{?1`XpAEf=4#;hH0v+LvbI#GTBF8RW+a1ysXgo)T4;4oKX=nGr$tJpz96qf^tN&S5 z9v-dEzs*hYvoB+>;k&EzIkzteLH7M3bxyZ`{No?vD9={xJM%)X(T%q8`4`_;m)h={ zbW*>z=l>!Zqw83M>3LrS5Ir+sljE&lJ8iUOME*TThru%3#vX*%H zNenB;-~yhF-($wzV)$CP(H1P~h%b5Eb@6Q6E=V^%nR`H!Dw@~^GKm)+bqh0vHsd%r zP&ysQ;voWWW8R@9Ew0LeK9a+w*!gfBpX#eBk5Y(d2?Dm#O>F9O^uu?!N)_yf4JaIF zuiMZi!hKja?u_lDIm!&DPE0CGLumh*7NrtnN-U_A#)(zooVp2y07pYtD^IvE`&6Epb%>go!N;>F;lp)=#1{Atb^URHj2=(^E;!eQTlUxc^yYWfrj$MTMYx6(Zg6Cm)2%Ey=$3AZE7x}o+7!nh9L!?*7a2B%#eDXyE*G3EN0avWDqCnx5+ z?|(czXK5?0XDhw+*tcKl%wWq6+aSVcObpfxS`22#DLB8)%}Z@KOsBk_a%MneMprGp z6Vw%B#tnxqtE~c^&1&|PA^$kWtH)*4&6^Om@*S%tLrCE!*fS6}j?CR@p{-#@m)dQQW86zC}SU6nYmzk8~7+FdFF)M37{_v-+G?tgp)IROP_%ya> z3${kU(LlFt03VU18SlZvzG!t5+aKHZ@s{&}v%~3o8QT=MW5o*Mk3W1H=jC?~zWKxd zoV4_Xf$_;MXDg}n+4lxS&(jB-r*YpLeFa+coUE6M&D*$5KB0*p^{qc)Tl7kgoYdBD z`m^`3v&FaiK^vWJ<4@ns-q2R}efxEsHIDPZjYIvyw~3}ea*v6=H?NT;PR&R?jA_r z^xdET*e?|%(K^iQJ#E8)yO@zuQ-y;|>3Q9OWN>%F4ML zeu8(&7}KpWN_x(|hvrRe-hEg)N6+mtr~blLwr}TR3#M#Nn{~uZTFQCZ>Vi$%svhL+ zO{DQ-AEoSF0v^{lpz&#ZE)5>n&%#3&Hgrh&$?FPoJX6kmW;=E(Et&HAoNZcC z8(5IMRM|QE7H?N^V+5YNnXT8VL0D#|X2uZA(AbXrINMlkl?GAhZdOOMvC>Xw zeFz;nlNexb3gNnZYQz|29=5y^a?uHz&d%XckiNF$F?P6if~y^I%>H~R=4I5LK+E?U1BPVYlE@X|Y{Q(kL0%!)6T0y3fbQ*WJcSm{^J zBe$cKz~0ajZ+)enktVBHJGo8lJqomOa$o@6{A|UWHZtYSsMZ#0NJpC`Rev?i*h!3Q zk)c$D)C~NJBnYK*+zpKC2!#)ycVz^}N#pRbP5cdw zBqwV~X`}QvbziQQa_+&)lHpPG;MsRh1DS=_8Q|lkFU2Y^Nnf;ZpR}o?t&Wqo^gQWB zbJ1b(QB2j3wmNTgzX`#kOri-KU;!Sw`|-PP<2;*~`z}0bL-P!|6RCrB?(Du2rt#qT-|ycyjGOa z_BQ&gphtF0nMk55{o%6nBf`+#>_GorK4tFs5WkB~rub2>OTTx=5$?m2dSS1FhvuTk z^viu~dw4VETzxd!ZO1vgCkach)pu~Mb2BeEP{o>9^$r0$mC$sr?QVtW*=_}N>A3W( z^R$~hw`h!q=8SuXAX)TKxI3qp#iz3$yg`^%@{GB%65vrcV?8?3503-8bfM2oC>>(} z>FHBL&v?f8EhXFL#rES^oOvX!W6U5Ki#*z6P!-QS9+}dCL964(5=Hp>P+U0-&a~%@ zlgMGBxZ_1tmdvAmCQcgT5VR{(+j@9PqT=3w(X7NT8OH|fN-$=7`MRT{>XJa~Wv@{o zl1Vxl#~!4>+flEpKGlse>~$)^>tdKp3xePEh$OJ(55?P$#EJ6LsAcsf!O;yQqVj%j-3*7gl23OH)DHQ&f7BMvy7q6^)Gb% zXpS=Def}~lN--Wvw<4Eea5|r(rrU0FIhCt|GT@Y-)w(Jp&aqD$r9bI&&TrQ2)K-}_ zkKBZpnY0oah#FJd!A0qY4E;osr0CmkUfX`XmK9abxu{xR$C8Q*dsr-H7oj&sH64kh zb}HyXkOXKdgLB}mR?6ykf+M_vs&c2H=#!|tkiImIWg28Uhpr$ervsrNqdQ}w1D+H@ zqYV&EWp#`Z{$adRoyyZ#trc5kdauiwZpO(B-?8*D)q!c_3h?4bN0%xNU#Yj^3p75$ z>w%AQzB}LxME>dIW%zm#JW@@Lh?PJP;DrnVd~PmB#Ni_i53nP>svq*Ub20ANz>5=- zU1-TI-@X^uCPFywC6ns|{iM-J#0;I-bI#zWF_ZmW3i5?v3O`Wa))m^gj?Ox zi5n7~>*Vr3x;a5oy}+;tCO_;3M^<^FTl%p535QBdJKE`3|04uXQ zwa4TyU7$rPxjk)_aVR{nVSrAGxAxPk>UrTfmUuU|__695q8;Q>D2GXJzi=B!9|xjI zk4>+#V}%%{bA{Ha)Ttu2TS6q!|vut{oaI!?jF7z-it4^P2TB;Ow_GFXWFz?ad!PC zeU|(>Hv!t$;NokY%M>9m2!}FYQ)cw4&(9l-p~w%jX%Wb_0QON{D5Y6c-sDLG(Mh-1&~S02t+=$s%Zx`B#+;AncZtLQm4sX@Ug27F z!9daLEnV8Vu=tSQNx1YwgBOp%llDWOoiLG*Q2ra?0Ol(BE4Y7;4At-^&cqkYb>}@F z-U#o$V`ba>16IEbF&nJBL2`;Ust@n(yE6f?Aj)-Rk&-_^*M=<}9{3BVug;FRi1;`+ zcVmkuJet%w7`QiUYC`4M7^zwU@HX<;smM8`!f~Re&d~51-48+*)MsP^3^y9|nil!s zd1$A5Ee<>M@_#lcC#WOLq3@Lk7J#t$w9iyeyyMUc-6EyYVw;3GfkjPoXyJJiUUX^C zf~V!>!EsBN@t_Ha$Pz_*hTBWiIEBK((Ry|f!b_IwnqH*m-@?<3`!;!+H+c3(Y}GX3 zB3Q~h`MLXASjvCL!nRm*{{5}@5zXXv0Cr)8@ zjX|15*8yK(S7!oVqrp!eQOs3t#HojF{|KrSZ%Hs4sf`LcpdCk^0_4JV`5C4rp^1rZ z`2o2hpfvSqvfy=kN-uWf;PyrpMRn_Qh`&nO)NzV1fD}b)hORoh{3Wfn(*bx<=P+=M zTys#SA?J?wLTlYb-R#*ce%KoO(&=ct_+r=3qRT#)9)Z=l`klHQx_HE{PBUYiYlCEP zg0g!Y%H|eYxj@y%leXZeRMl}PAK(Iny~0(l_NKvY5+X!;gCa}_u-nl?gz_vaYM6j0 zq1PBosE*-HzWA2hywk(#xWUZ8ctaS(eRe611|l=~qR`A}bNX^Nh_HgulEd7_H!ASp zN^PHNLjElw_|W_z+qyaEgMRd4b=V81%Z*gGWgr_S3)RF*mzxKj=UdbSfKYlV}pa6`h4TXVd^Q4vUXK@Yn+@Avq`gR zv(#3an+#<&FoDQGDlbopE=`bdlsyw{lE>SSJ)c{8n{12k4Gp6C9W}D@PtQvyO%Fo` z*UA<5zMiY!sYhG>g;~`dI@;OD6WdrL+(J3rgBQgP>`w%*?KA0_9R;s8JkQpr?~J|_ z;sm};$I0$eM@4m7Tu((8_P5cv@GhUau`g zq=W5U3-NAZ_}Lo3A+NfQ9^Yodxbmb9p`};#J`-lqbNcbNrM8>P5^r;;Yw9cW$zwwbeaP#T;XvjdW284I!P&Jkr=~LQqO%g&o zVIl<$P40hayNVq3*Ic=HXD5imd7X3G=kMtY?T$JEH z6O_Tz#(%oyBJpfP=1F>PZn z`Eb!gW3DmfatkD{x#3^~TX{E~2RDQpx~S2@mCz#|wmABeHT7V8yAPw9XrekDZjUtr z+u+)l5pRyH1(GvdF6sA@aV$J59PlMUycO8U2C*u1yZj|i?z$f*M40q9c`i&x%3+w9 z76whuHjOB8@+kIb&?>uiSD8?Wxmc-{xhfo-F*Ayu3@7tf4qCLpB4tZv)!E*_F< zHjopz^4(j=hc{t6&Bg90U74cF!C9R>VM~eoKJ_CvtX#9zPVR&!omqJfoywtHkS%%} zqDf0$)N(cq%|$!sl@J=`Wh>m902zPv3XIwN@zloLg|#0k0rAD8Eh^ydlg0;Rw@M6$}Tx zu}J6^%*cfwJS@i_%v6kaIIzRUR{j<~-eEBaJ1~LdKzqeDUYb|RAuY{st_R=7$4V=z zt?U3?d@Sb0O3s~lF_^bnw(-b8?l#vtb4s*SX&lPqB@M;UhYgIQ?78IM1y{CW$6h^S zub#(gQ1Tc`YoV=9*ToU$rkL_G&Y`iC&Gqn~QYDppKsxmG_FDG2Y^`bx%uGC{5et<) z=X>xn#o5QkOAkl*-fgF!7byMEmDTkEC{9dQ0QCjw1N0R_)meMHpG7>>X4Cp z)#zk&if_-fu5#KjU9)TVncnxwoR51g`EW6OB)JXpaD~F{VXKSLFFsPA(Sxd@SNawA z=_tI=p+1W&12gwQe7Gi?JYk)CadH5GT`D+mEHNZWXiPmYjuW=*j{E4nWR}d~Q-9O3 zIlYDV!UuWh-g8CN@)VXkR^6&+WS;&gPeYa;jLf(g&d?f@4}!(b)w5)BEPVlwSruHo zFQ=-Y3qhd+t{u_2TAnne#9Q;xgE5XV5`Gp0QkRB(y}$+U{FkBP6f>SKY!y4#0B3v_ zJ~rZT3@20mIz9q2A(28kCt?IUtH47Gko5KIcrXe(l;6-eH7y4=GdS4D*vSs;`lxcr z!Am2tGi6&Zk|5n+fSiU+CFN5dT#&80buUwgX(GRPc=GT5-M{HLlu^I1+SsfNYt8BpBVv|e<4Zvxlkbgv9{cbYmCzCFb7DZVI<%?fQ{AB zDd!MBa*D;_mVo@+K*nhlSGtDo92pq16+=yqLD+hMgYuEQX%rf$^x>mMoa>h9xmjlq zWidd5vT3e1=H<<*0 z!-{=p3`0kqRHs{cwCZ#xGSbN(xsr80fLH%5h0frGqdX%V4$Eicb*{slGI=jh8gO`0 z93R1@4itG5`?B>0+8kT&z^)4@_z7@;@4N@ZkJpT#%=`zrj(^#h#;%O8&gjFpzb;Z4 zN!-9&=BC3cPbS-t*blt)tj-+wLCOd+Jgz)=rc6@8FF35=rDc-u8vfdc>)_sU7n;JF zz^DTq{kqxVV2;IffV~=-dM#{d8d%xt{8eTf3_!h!6h+Ty!Di56yCa9rz)b#E55MVi znYI9OYR&MM?nYLfRHmzhZ@i)xv|eWW+bb6dYoOu9D%wa_sj^IEMfi1S3)LWfwQ=M+ z11c{;d;Qw$^70p4uQGu1O!DhjUp;u6H|-g`+h*syoR_&_N9Hh&eEHvma9X^S=$XS2 z2LItKJc)IX-7~~+4-L+{ZKPd^s#92?l-mZin;w!nP3$C2tgVAk+s+G42 zv$fvgHhCw#+8cWE8@5PJr#KeGI+IZVw}-`#u+p5TpJ_u%y20|SBrmua|ZJ!?b`bV~ddhjJ;H zq4I+)^fwhA_33UPUfO^a+5$W-$0R3#&gv{lBY5DIN)H9Bbn0Ktjt zFNZ2j<#r%Okp>N(yG@=*49{2LC^CIYLn}Nq;V;2SzV!%v9HVq(h1Q{^BaI-vCjkf_ z1PNf{TWF7PfJSM*J{V#*H}t1;!WG?U%DIY`~YDv-<8QR{VZ!Nf@{ z?ZDwp-EpX1+itYV5GDC&R0VK~ZamG^@kj?NkQ+}cspq7%^9HnKv@W(niU?cL5-!dy zp?oC2oj=`@W7D7d1ZI*%q+9UOFq<97al9n7U}e%*JxuRjTS)wpuz14@Js9Y9MIeI# z15$$!R@Q+@1}D;HHa+}-&wv3h5!{aF= zR&Wx2c4#`$l9xqI9=*<1&+Aq_7DjU3KZJ)WguZgKO(k{pXTwQ|JeRTk4ix#<0J%FB>V)DmJS1+Lzq2~_lAv)Kl9xgF47Ov- zJKgT%?-08nVacO!rGx4sHv>A*cG;i7y=~|mprtEL7k;KK*Gev+b{=H$u^{egCgpG8 zaGve-nZyf=%lXt^>~_Js`dt%GR-I?XaU5rL5`=qnm&a4C?Sj40>-M9|XImZP1O2XI zBem(91GrX{PxW#+0|SYBHln`J8b!4_T^PZPueb`UA3s zpY5fKDv7#l$A0jI#JC?_2V1r_sr9);2_#B+fWDdfmoh@PNhZ>{3*w6uT%i^4(0W zrc^}XHDrQd1l$yd@6t#z9ms#3mkFV=WD@s2gnqs&AS)U(%N~jrGyOL6PL67&Uf7NWE>wGX)sjyr3y% zX+9d1Ly>UzCb8js8f7l*oa?ncbg%RqNMFg~ROm1mS?Pp%MqTG9Q!O()IYq=>nV2DNVe>=C-RIA@HfU!x#DsR-bKqx`g{D)tA;VhIfJS3hu6u^ zN_b?OmwSchDtXw@kge>Ng5tuUne(LFdPGx)p?(A%mKT#*okMRm#_90!6MIM@x<_b{ zE}r06pEpRs@-{Mo9r=lHC?hdtHqzCR{9ZeV=S**X!9>oIHT2?ePJ*}@%AX^|daL0l zW)eFKIW%%S&}~@>Cjst;LnK#AfSeDu69kf1*yEGjtd)OAm@>@JP60Oy9og1*$26m_ z4KF%xGy5c3GX2<5!K;5erd*Ak!uPGXkH+Cd+W`JiUXB^&>!5u3 zyT1zGX*+R3yeLl{bLxCk8GoM?ZDHo)fqiQ7416}ImH zh^=Ysct)$v5ofu&T^MgZ-vqnoe;>aYNk&7x+U29~KnKm`w6irUz3WqDw!^<01|J8NJ+Ngs_j-f({Iz~Wo1MoU-gpyq z=&-q)0(q8R;2s?FSP#4P7?5-?S^PPlZBhqguiU`d6$D4B<^4jCjQw*=wBM1P9_Un? zMMJ&1_vKL8OhU9Br(ZerVP`n0oRKAf{&!5rMx?EB8Q?_ImAmI;m^8Qekf+?r2Q)KY zol?d`O7#<&8z%gMd)ODS9I%%Poj#77#*_PTQ8*a_2k@p;?^6)_GV#}xTMq|5Qow@G zvZ3;vLC#1^p5R13|7+)>_u?GJ<%=f>x46@VYz)8Q9epAMb7kqcs`5yef5eGL<8~{| z_>gx~DBi$q>>VQ#4vB+dc-Z2(?UA{(HV@F4+5+A?1*gd2cq>l}a!>!j=ndo8TV!2m zf35RJb(9H7e;r(_;9QL2H?6uzqI5$ihQo}O@mh)C@OBk1m>8No^ILC~Gpj=x+S5=`4$pH>yPScWAj1=B z+W8SJ!L`P=Wbf83>2y~P%sQuGgb$sfVs!u&Ony~I*5s`1Bf(ZU^`dXDeiN@wTMmBZ z?;57i=ruas^jT_+2VXMzMg%gOB#w82lB1IXY4|X)jTIVAnPH5S$GpP0l)QxnI<$4p z^TQjZIEiF$Dz-O2LPo`8oeGjI!=cGwgHW+oE>tKG3Do6@Fajg6yLCb zYsXuf2MkvcrySmG&xhESA~T3C*#Z9KabD=uH4mEIbWq#`2jzPK;+=qxD`6Gc(#?n) zSowCO!GOR~`#FP8tMi`CGOKPN)YYX?quKfDl7snmS z&8p#S!>n_f8=ryJ&vBRp`s2LWPHqJTjAy?EtA5gjHMr=-eGYX%$3Dultww{adz*VvDtgAJFh^Ltc$iqwI4h_?PC_7mbhZPW%WKm62gb_pua13#wQtzH)^Ryu?&PwxLuZA>JNc{vs$+wAwnhhCsf)r~uTP+H zglti#=f1!$a$KjEMdP~jIX>X=TYOzt_AY7ks$U|LdbFk5i~BgJXmpZq>yw%u9V^4x z`Vc&@Rg;Ef;yBUs4{_dR6*Ln{KS%G$Z@UgZotVgZJ(6-)y`Ixe`H0+4pXn!#pT?T! zX}6YY0w#S)?SKwqm#wF*O>~R)2?6r3&mSIt+jb-F1$gZBvXJ`D{k0QO`Q|X2GMV8X zabt)+wNw0Yic@g2SCff(zFQv{-fRQc&P)491UHhoJ#+YY{A!yZh@(Hd zKhg_Eha7(67v!0Ja+;vH2;-G_iSw3|=tkiSKo7EA%Ri^XH<910cU#seLo)iGfpjbTe8 z>8#86x8vX>O7Ac&=h3YR(n4>gl75A`0PcdULa)d!PX?T_IHfbb&Nwjx#?p)uQ>6#p zN&~xLJd|ycLo%zA4dRe~B?1GEj;Fbpvf`<3wMG&Ba!|*1;f0ol{wi^|Gn)`L>Wwda zOAqV3GAqvlYT|GA@X;J)3T$<(+FlCkd2*MjfSau!o0FW5P%)d#7#HWHFJMU7zIvU0 z6F0_T2pTyDb&@yS46{j--pmUQ3;>G^2};{kT$_DjY^$MJd1WRV#q7g3^veK(Ll@KZ zc^+8SOxE4FfaCgrC%9^a3_fgde!LK?0|PWo-4>bm4R{?VH#}2M@XjZ)bZK;%XBuLmX5n6z=G1}Dg0Tc}NqyR^Kt$16tqgVP>K94i^ErNJs zzh>!*E7v>pB{TJ9_rX?Yg;`Lwwt;h$yyLYQlJ;rJV{_?u$5m22BTpc@Ivir*AGXH6 z@b)rqg0@PV{?LO8x)AMycBBZ>udCIjZHHA4EpWlX#7f4Z5jhh9>cjKM=&`-7Cdc{7 zV83sA=j^zVB)sivccVSL!Fzb9v&vD)ceFW%Z?Ym}ko{xqSNkH<=U;wRxnD*9)oUux*U;0CKXtmm8 z;rChLRF5Vcs@K>b$56h{lG$y;acd$%3b!e*NHeoOS(i?Qomun8^^^ zoipxZMfB~ z$%Y@YE5L+^iCKDOpWa2m;kQG;Jy4(Ns|dnPe4WxecOCXaBRi;KGgjZVqaR-UsWj*| zMB1hvyngoJ(Uqk4Z1!)poth{x-CC{Bf;_bmWuw%3cKt-v> z^6tW@2LpKM3t^Mrt>vM;#&+by$fnZr1->fWkzd!w&d{#w1w!Ze_Eu>NXz*Kf@>QJb z0H2A_w|sts0MEp(;w%rzmsgk#sA@Y&+~ZihuQcOrG7Dt&TRIp!Y1W+&=!|VdzM}+( zcquwy_$2J*Im!CXTz)i1neMJAFq)+xfs@v6l|_p+)a3Q^L^%hlhNZ!dlQvF^SNd~C zrjnIom?09wQ&kLtGhO^a+AYw%y8M8>{&E;T!bA9w2(zfbz!(XdlIl=0{=}u@jI0`P z`P|AW`=J7t#v2;B@y2)bxSU5!;lmbZ4H6F=;J!heUcrVDU8qJYfngkVM*0aH{bM(} zCEnviA8=Nmr9Tw#&{faS@g3vEcX>mqu86j7CHbIDl~C*$5k;du@hmf{#EJSY8L@8=U&aTakg;!k#1mdhCpB zXhOgN<9#LFJXP4v#?!EI1yi?uDl2B0(1kilpi7Wo`z zlM!GzF&zYwj}0V$_?v#=9G%&d#T{@pibWec8>Z%~qPa65PW5FL2_I2i#QeKZf8%ug8 z17fer#K2!iZrfr7Z$s|jw^twLU_kH1Nme+&_}%a8Nc9=f*ec%e^H~P|R&eoN+Y8^< z+1`@>KAf>0*1odbcZ}?I19A0NE~#UwY`oO>E%CP~3U+ zCKG$p_iH{Ry*^x*H}8>%&2Rn2>MyRxpg&2ShHn!PY*syLo7#o;x;<8JStkAkP|`D_=eewH>BNdEMCGaKUj6e9}rU zXJ6>Cg&nOISvhH+fuCXL12iA6xvs{0Cj@|Df9)qH)Ag3lAZN_cd;9p22H!Ya>DA>REb5GlY06 z;&tBPU25N|r8(rRqBgh#%!Wp?w94Gf9P*DJVc|N!L}zgJg>o?ttE}=Wufr~|4>H(_ zqeExcN03#2QvjW%s~w6)rLS_}N-qh^{`Twil`5Xbanlr|vqYvY;H$p& z2pbP{>E2vAfg{ec=^9-W_pFzV6;**~NfoIpGTOp`(>8|z*2eR#TW^m-U z4@(E9u-ECO1KT&V>a)jj9qeiTo{xRrC2@lrgIJxDm8M6Jz3>Mg<0x5)G~o5@;$bixZ$;1QPW9qn%+c4&dOn{=0f%X z&n7pl9;#o@tr~1=L-ZX6JMf;B#^2S3>zJww?Rg9DV`B>k8K1xXv5rNz=4Ozu&2mPx zXEbd4wl!G0rZY~yiJN^pSn&_R)8g%Y&iKKr_OG9^IvTaMFM9I!X=Qm5=f;E+XUlo@ zQz`jAq+3>fT6O2F`PA3bXC9Txc4gcAbHs9*i(}t^u)aP39<iSbxfjC6Q(?iHddH%m~`XEjDTYgiXK+ z-)?5kpFyb?6#2x9cF%xpFHJvFqgckb8qp5b%~3SM>zGwIz{FxCdHCR<;^mdq>%e*$ z)mv|r3okFzi9ZSPr{VK)23X^8O@~3I4;joxX_N+lt5e&a1}vHKntWTEtrVA+je&8P zwsPtwxK?8VLS%Y{SL3?4licv1p74U^3Zn`MbTjom{H1eFT88*ZHzNlmpRO`i2>7$S zo2R;s=NFM`Cn{y(uFQjckvch_Wae_E3^yD2N<=mp@&xfIu~J;eHp9G0nyxN~F~tj! z!>V_3u9f5i(UyMqfX)HOm2A37PV$TYN?tBjqQZLwTYQq|CfK6ICH37fH`|3IXSfSG z@Ff*SIbW@d1B%I?I*A(s1|0)|3{>QD~9SGhrvYe5nPg@~B`y$`@t$o;>5sPB`$W z%)J9T-t;}s4H|TEn7uITP2Mb>p0PY3p|1&JbH1iN5B%(SIcpL-n46Fhk6eGbR1FB?jt6-5q}&+On~Y*X8L)8|_I?e6EKmTgJ&+h#K{YpXVTA8x4 z>Npqeckatv4aQg`KNI~O=Z#}Gqrl)V?rq$d@n3qzrr=|-agO{+w|W(fsspgGFnLSO z+j(8yi03NSUK!)2JIsA%e1eY44MNb?)Cr$)EzT^VV8L{#M$ z$yWH1Q}8UZw}F?}0PWb@ibz=u-G=4Y$^U4M@L}$8;D+*g#}jEbE4!Ty%FF027xJPAIvL#*4jke-H%aU> ztU+WpQ27JSL+RTicpR<<7OxEl{#W;l@4!Y74OpF8h3te#GUSbX;V1bz7?|0FaD}%; zW3sM2_6CR^hTv8P%Ize%NreHIUx;*Nw0XU?79Jd6XZnL@LyN=kCSmf|apY0(`mp4| zQt|JQwi8cAVJ35s?Bhv6m(Jh-n<_l;HT$Q(KhAT@;&erBFhAv)eY*INlQQqx#2E=Lwpq_z=Oa=k@lwa1b%%`?w{6?7 zlje=_R`h2pyGJeVV1pO(K??1-_c?={^oLKMdCuEP_O`2PcQ1UE$7!_n121JMch1n0 zcAcIU?7)QJPL7qv8vP8k9_9Bob?T8fp-(Pu10wyiv99r-&@w&r@@|Ln5xzG(&MRKT zL!#Z#eVc!I4IYbCWYsqte?VVu7D;gUZEz7>H_=+4&XptQmQSJD2*-by2S$F=Oes*xFBB?sa4&j|Z4A)= zZ#{f8NBL9{9lEy>CP#%ugL{4LRoBWcf-$T%F=g^sCp1zp0o#gKwOheGywEGjhn$uh zs8gO?U*Tgbq$0b+CuPU~NhJUMDI=PU`EE0#A6}Hv0J`mCFI?b1M8GQ=8esJq8h!RS zSNN$q#1SjYTl|DLI5@yPGppGAkzv*$Dq-tKTcY#321N$T!oMXH(W01($UvIHOU}>B z(MEkq&HqcY{i5k$x`GKu;G&8vfqtr&Vp}+de(Sl=gA=L58pH)K`>pA!~g^Z=_Xl*4HeBm}&r*5~(S$v`N4D?Sw z8Q{r(9R3Z&;y8Pz^CtrcTg}lKVQ|R^HOxbuc%lMcYx@`rQnB%pGUS zN@6A=vQ4+!gVQN^7Tx3ne!6mIkanjKn_w0y?t)OcL+^E*b6bPoyv%2+-aOBsEZggY z$D=C~-o+Y4@X^=kqfxE1|)L7$yUY&Xm$=xv2L`E0PpfA&s(qm^p`jYaiTa0 zby%j*osO%1Q8~(Y9t9W!es%bBR`E=N^d)5EiY$KJ4!qSh{3|T{&ii!vM?UEJGTT7w z?c0}qVVD;zY0s->I=J6>S#*zltk|5d@)Miyz%6{F{Jq20cJ!N<%5zF<=|~UmrFVb+ zXV2DV5`1$Mt@0h6$v{P~E3C4v!3(D^K5XJO2mIO|+IJk}g;J%-{)>aoXC>EpPxBg7 z@0|p{$$;^Qqbh6Qs)uUj2o-gewq@;rSW8z7TUG zWohhaWA8FFFi}gxm?QWk2F49lk>BAkv=kUj zi@)MaYSD(-#n*vOGUN$|GIM$B(GJRyKRAqSH$?Cd4JS>?;ecBl=A4_?iw$ta-@R1g z+MvjKw5dB`4^YNhvjB2Hjlbw}puOdxtJkvv?PazW7{Y#?>Sg<2R=Fitl7bQ5saw~C zXboee0u9WT+973qr7f>zEEm%l64bfG+q6JWUHlBp`e9g$N>-Y zECCY=FS)N3eJ(f~(#%2z`S29p*Ms^B_dZx0X0I4(G1ozP)cjM*sNX*j3BP`H;rVDX zbapCe>GGzaeEwU;88{ilz1dlFgKw#>FOAjl*rv0==d{!+`c5eR=m{P{6?9b*6$If= zWCk(Lqc!y@Y{lAXSjn~3kF3f@;~hw}o+fDu?T+nK&?w%K2X5(XXYcfv)*=`jo4Fi# zz{J$|kukb2Tm&qwjgO`!j}|doJ11xUwAb z_auhDvB4=8Z2NmL&8D?D6wR?+K}VL zfY!HYyA7Z~p@wKnsV|8mcPXVTXN_~AUg*s##phr8B$O?zc$>kW=eK5+BCuN;Y!ixj zU3`%9Ja=g3jij^EZQx|^@0qdk)0HJ}dY!OjaD{)cR`$ZuS16rzk#qCHH-lJCl)e=O7W-U3H!3x~3U zV=H*eDR|rHB1=~2VpO%on+xsuz+`#03&VF{Q_r!{74GUR)K<1PR$Ha(%47!b?Bq75 zqcGtgj)xh6J(xBXdIZ|xS>PxU*&wFfDq&xy^Eob#;l=v7<52YK*xQ>czo{#D*} zfL8fP9SNGHIDRUEGL2^-dn!o{J-PW_5L~ zMw5NtrycBNL+ZNr+P0G&46$Etd+&sWwsQ*~?fkR~wb0hb z`s5Uw9ebTOd$0Og{Oo1gL}~kalR9RrPx4qwSCsQfsJY+eo)Mj2D^9zjW8Ynvq^*0; zqG>BUo*DoJW_r}bbG>j&p60mWjLjKiv~QjwtEj6R0}Sw{=g&EqGd}R5D!sxQ-V_1A zWOtn11n`Z_T_y42+0t~~e)zmCfB{zW%5S)&FFZx-khB%=rGmR4jXrbBOPD)TcWAmg zfdz3IfPhn+;|s^|@owSrQ8?qZ`NhNzOJ4A356tfH~=cn0ng&zjS(D(<<&UF^C%Y!%AF=nz_IRpD7md?>D-{tas z57St2xEfx_Zv)|^UP36m&zOM_%HY)VQS=;s%lXL75hBT>WIjtJ^#urlZv#Ce3cW-X z)d{`QWuJvP>;o4+^cgvx9r4=C+CK_3DAX~ zA}{0Vz6?&XkwFK9PEIFfi(oqpuguHJtZg*Pv_R5kpl+3U@GR9ACI=lF2h>{+a~CX& zIwib6sm_y}YjQ3A+4vz5|Do8UB((rH4V&LNiF@9@6Hpn*N&SJh_h5`C#Uwj!p3NUK0hV_fQsg_(E5Nyt~!{H^XR8|1jbHo+k%z>l(=o2p&ic=W8 zuk+lTat|ZdlKo84%F)5!v#cgR{XB!ye8$K#%Kc+otS>u&ieS?RwbfX!>SsZYdu+OA zY_#on8Ra=fl0JIjSbAPMgX1_ZK2`Q6pG4EiOnu#eV9P382FITNe)R0CI#8Y|{V~rq z?j6+IFxm3Sro0HrGoU}jE<8WUDdZptd;OmB=bGcfPP~!WoyqgdKYaJ+PR1zLZ3zC4Ovm!o{j%aU#3mCs@SH0^lg`Mh#``{#eEGsU65BviNI1t0JT zUR3p$fBqli7-n*SGqdO~zScE(ai3xPB9mS8%IWzwdQHR2eaM@muiCdVrvVPDo?m|b zSG5)SZ0*ng{0|r7IK}xs*X*?NC4#tmtTKVaDCCA{^|dz zM9#2<002M$NklXZPInxW`hr$MozkUIlsT=1s<3Z1`aAXyRjt59>j>UDmEp06+c#@n*cqN9g-s zZfBtoa2PupD;bL!+xJ6nh~-}xzHq!HG%<(mGDZ58l~->}9t^xM^*qkb!dxyerOt-R zk{cKtYr(>9Nn^ns)yCnZ1ho9zB7GK>>=s8lj*T$J?51gZ|653=Fa!;f{UkRlhvH4C z7Zj5J_3k2L$h(GBXK**($Y43vaT1fM4tsQYAfz20E`F1dkLD;d27$5AqoYB(gr+5N z4d!WZTOg|w;9BuniEPO#c2<+Ao&%Qj)IK`CaSXLGoi$-a0Wt%0ZG{974@&6xI3B)5 z3^RN>j%f}92d~DqR+&qvT%=44TKe1Mr%4UX05DA3C`AL%HXo!K0ZSbE+pVkCjo`y5-GI;I3gft^ewE4%4xF1Uj>!`W`AyI! znubvGlD~nhlq2klU2_g?E0mnbj4}#P-oqcc4ZaN$4aN+pW+m+!JV~0B4xgmS;3baP zPZ{vfDg)&ldB47N%Ew`_5)6-32f+>AD%-rsCptN4V9U;02hmAajk1b{U;0{P!5R2l zNf9@o^75OrA?)H~tz>8Ka?34vIM7`5SGx1i%%oSG^R8fJ0Jy?}C)a0j{;iVLK7#Lj zn7UBoRxr1Qc^-V1Q>{mreG7K#IqTx>8*4j-V_h?WG%X_~Hl-ao+6-&qt?b9#m3+~e zocVFyz0^g#hTHRCSUOtx7A5D(GbLI-PqLMVp1ZQU!?DWVe5Tjbv6bmK&0YQ9;W*{v zU0h_rOa^VSQSBHX>}G{M4skZ~ZcwlInAKeToR)jH%+-{_hnKD@hZmZvtpGbASw5OB zBZb0~*yu1R;YC}-lk;78S+EDahL`qX(eqBVs9zMW$kT?hi4&d|t(y>m>2})cWc2)w zLT*CPylHp(A)2BSI8M}hE0zxdK%TL&t`ANf-$SwLXD`oQm;3lRp229tbiwxFYdP)V z(hvo*vBihJdv=@*f=l=S2@W6qmU+H3kc6ZjYv&R?#i0#aSys<^?1)Tl-(_cya}%;j z=xo<*+u?;Sg6m3K-(Xi&wg08V@ab3{H&h)7-U%fDLAceo@1NG0}vTx&yo+itgN-7Z1}1c8tE!Rh$;^Qe8;E^JGMqxwKdmM(}dT z+wxuC78L6*43$>TXG#T-ynGqD=j*H<{eY)MhwxxL;*tuk$ECL&j~equr{Q z+G~2OB+Xv&!1vU_9Rso2Xxp)S7^ksLY(UH+83&oo@_a&{Ldo?iKUi`+Ftrcl{OVPtG+>QB)YO9X#)AU8baSI-a`aRgQxD&U6N z;7t;sI{CIZt3L1mq4QI>-mI8$YF6HYFKIege4ClgJuCX;j4Bv^FuLqE=O`HrU6aW# z(FUO9bGt?qEzFVEocV$&Tm_gLJuoofOFP$@$V}0xI};wnZ+WT7dlCK~+F$SOOVxgA zz)B)SZ*1LyRZwc`P|BiB4)LW=khg{2z*25~TeaIG<8(aCpyQLQ`gu_iXU?p@K|^Qy zBlufO`_}|B@MiZv%ZhGw^~bEf#94-Saeqy*Ly`fYEqz{kWd(ayj53f)8v6aNsEGsm ztGskEp|+Q_Hz~(S_BP;t1KK16zTzNTX|^Ksc~T@Ys4&e$#Q!r7LOrkRh|;M`H3< z7!;!yY3^71`~`ROIpzJCNC@tU7xT@qU-X?gANQI+bKunBv}NS5__&u|75Avarq><5vU9=V$i_~d)dqw2Ivrkz z_E;}RnXZF7mxhngMdXQ0ls0ug>F3J*Qt6fFP$%kZZ01r^Q5D7jOD{{Fq%=+XCAtO2 z&YW{Nl)aP>Wx`0y9rWr34A+IqJKF4?hfN=l-yxtm@~rX-A34zn>Kz-(`>v zCb#tG>|&L?kOdeT%1dHHW6oMQcw%DBi(so)uWzpyA;-3&X`GF5m>>3*BnH+2|zE7F2O#3Sk3>!S|7m+y9j~<#jVe?wr0Ha0M z(-~_!+RHJ|iohpN$7w2D;5n5XQ-OoKX2;?5X_9!MnY6jyQC0>`ILewzZ=j)_09)$m zsjJ7Ky`EEBJelFQ^3c_3Gan}bO^$R|1L|n!S;+9%l^3fWX4eup&;~FZe|c7yuWl(n zBE~;>TN39P<=A>0-`fLc7%!o#KJr)o!au!mlsV3}j}Kq;nr+cZKNsqBaC9??LQY%x zbQHCXbA^&VblK28q%NW_PO{Jmv0jDOtpnpap9Xa?>(0|5h`0YJ_Nx?5%dYF{B7DDz zEajgJ>~-t(@H?2U$JhMu(ZA@z*7fhc&o)|HrDLn?<}N|q+g9u?*3Rn0_D?IIw}r)v z$s1+o&BXK4rL|4@IvmQK2K2l=*|YOM#^#joq}3f>rl)?$|LvdtIqmn`k}v_*hImSF zyFTTG)=g63g_Em>=hHaH9T8_xT}f8f7IgakIr1!fcfL489`Lr0n`{&8dSNf8e4oP^ z6x{{$UHQq&3!Sr*q?2$mFA0HjkFb?joe1-$={v}B37rdJs)M(GJm|#R%tx;m%A@t< zCi`RFlC7=cNgzx`8p=IEQ%(dhNvzT=!|sz4uGXFovNL3cJ?S~pu6 z^}V6?X~RT(@iM3$nZ9)7%%o@VtNTE$_Bj?W!7=A3}4l%I7mv{`Tu((OJ?3tYeeOLqxKB3Cd-hLsoQ9#J0fH-?RYN-&C7HOPkV9pc`WUMLK0~Tw zlyr?`0uxI|ADSFtoxD|1=XTe<#&`HkoMCfDWojhv6X<4GOe{FrK3$=4ThO(ZzZ~HS zYdPmn`CQ}C(B4@$S^Xv6`brtP;1HHx;FP&e9JtAOI#f<_L-7U3cWmqHIXh>0zHw_Z>k-o zsrNDzEUn7`l83EUf1$+=YI6wXH#WJ^Oy;EMA--I#n$-1X&+tXRz3s7N0}utF*LF+IR^R0N%<(Bo(bEY3+r`I ztgs*W;9+zUtf^=YvDHlj$T|mB;{)Rxr3SkO9bO28V=Kj;P4=!}XA3!HcB{H+!oQxhRdj*G|2q_nLt$-Kx-&F!r!Z42=5cB>d%%{}^0)iAbjW9fEp){nLEU z`bYzh=W*@x#0|*(Uc^?0^>_KdjU_h1*8EQSQ1+Z$dtSid!}HPi4wc95hndKM2Ms^r z93S%byl{L>I&?B@Jl!b-#8X%lpcst$2>t z@4lfED0#oYPY=G2Zm0h5j%)hZ_RG7%dt2HiH@fO?)u;QEmvQOyeIje+pO(ArT6sSX z|KkiO9{&FK!D}bg`I3tV5EGwWL?%?13|rF~Bqv?NTwYB?Z^mmG*Oc}R44h#N4n4gw zieU2Jtw2Cc@;Wyy7mEvd{cU9jhdzLeptlUs3qs{dk#Pj!nQ>B!CVlB=c+PzYCxIDS zM*{ot)}-E(k2~;R3X9BkcDgc-&2@FNvAVa3E$NDGr5$zRYH42l{-I;26hH71Mqys; zOON(**dQl*$iF}3U%uo=bCij)6jrfPQ|tQFAeY!07QaTtb5iPnt_+8a;IodP`9{siPSN6YY-(%Ki+v7P$YvH;rf5F}7d>208KgY`+&wco~ zv<&)a`K|b#uaCvYrTo4x+{c#ZoL;rPHo^B5XjlH6EdjYH@5AV1Y-q>M)#yRkxtCnc zym~eKfIHgcp*Ya(_IV}kDvBe}JL#7txaIYC3Le@U`JTZvti%)eL;gwnT`rfL#f5%; z2ePhI7h1$l)ULkXH}8KE5@Oz%aF6O z8AskZ-~)|};l>hjTF*bfwq-Vd97cW{9=cs(YjSw-;|MO-WyFE?7#Nt~bTy~R$AioO z;b$L|hnI|oowo%I%D|LkSH4p~c^{mQa+}uG+@#^iv$^0FX2~l)@9?Zwlby z)xs?FaK+RuC)q|`D(`lcNYx3D0Hfz;Vx(JYA_MJ4^rm}ey8JB$uVJA1yYvHSB6JgU z4fNUx7)fDv(KcZqw1djoZh~%yNjdL}?hPs+Y{4ga1p4ew1OiV|(^n_QR>|6IWp>IW zAC?r`SZmpJ*rzRgE01nh8cmg*Ai|po7J8M~Gdg%SF;c*(6HZqpD-*aF*&Dgz0WTcm zXK_C1iF5q;X|D4;vaO%9(nnW$Im)L`n{R8W;1fEWJz6-Z=MYJ1?00y@C>TGE>bAWf zl1;AKYtlK!%OSREy_{R=R)Qa8@<3eZu7~oF-7ImEIr8DE`QF0H@#cVnU)!p!O3f;D z-XPko)^Ute*0a#AA7usMLxnzL9VZztc%!SQd8wI|OD{|#I-Pj-Td<_{ipp1d^y!v+ia!T5N8L~MQRsBQZF5#9;IDNS|vYlYtmFTWK& zuB!+2gTKY&uUTK$@%R7Lv{Su)EIC#^E_%OueYQK&ySj}{-?VtU?!5H2&(nppXcK2_ z@G-g-G*<7G77`}Hz@G3DX94Y*{y_07Ml!2;%T=Ac`y4su@D&q2o&oGR)ZGu6zV*${uVGl2^K8rZ#PRv9%Pkjm?G{}U)a?sTW`#bl=5%NFD zs_g67!rJlBPdEijw`&I>TgAP4g|~K6I-@@}E zoXAIC{y2Z1#HoE2XVg}<8CbCOv{_q;11DW6-<^G&m2|ewQ4T<8&ML2$vpvo>bPk_S zB5^v!pQP+(*&g@R@8;7l=)uVewyNtnWZO_}&$YtLS$^%ac%2cPDXA?NCSRKPj)8LMp9ixEA~Gn$X%j6ciE&|XKDmsvfw`fWx2 z*=JuRo==D5lPW$Z^7}vhPY=HN-4_r3D!*sXW>Nso`-Q2O2l@OGTD6(T@%WR^@~z)& z`~E4!iKX5x(Es<}fB)dW{Fndo;2-|sA2OMd zJuyl9P+{qx4Z;6B-?9}}`iG*k@cdGE7yi4Pe=EHFR`@ulyWcv0=lK4ur~evy{WWOn zul)2a-+h<+;nv5T_G5V4r(MVEK41N=GSZ*s8ECt>{?mW@Prc{4{?Ng_)FVUReDlqN zfB7%}W$$6S6U5caf zzeIr{(cNo$Tcn7nJ`s!bfwIkB;kzNni#_fwzTGQaTTV`T)Z< z<+s9{MH@03_x6QBfs@>Ehx`q+u4?J!t7N)+ODMHMuEC-#Dj&U}x+~PL_@!%fr zXJw1OM~*sxA+T10J!>l%u(ug+rzSQf37Z0p=SA`8Ez}q#|L`|>R=F!@xMe#jo2YHK zo)gAn7Y`@9b>xL!oN&ByV@*2PCe6_npwjW$(Q9S3sB>+_asw&cjR(9a8@w;03=T}t zl}9-6X;t0?iFh5po`FnZY4kd)y~mD@xNwZF0-!_^*xx?LSplr7Ag6S7IL`6Nq-=Ky zfBDONtI{3@VRkMw z`p%*C0c_CZjE9XVX9=<3d6U<{dx6rUyu9l_|NZ~<;6MCt|KY)Z{jdMMvip3IXVH8^ zlmqsC9BEs1h3jt0&A8=&uOA|dNds@Q_F|jwGZ=VeTXh^ZFB0mDiQG?=#0m2a}=h<~MCe?G;- z7VpBx^;m!1)Pr92C3lqP9eohxSiu$SQvDoowRVc+PP)BPo-D$SmrMC*vG=gG(!J+l z)x~C}sw3h3Z0w*HNbiB~Q2uZeDog8t!Her@$v0K}>(%l5@%3K1rkp+CK%skY`W#0!+WKCl(X!lL&%M)ve2xvI5Dvw!K z@w7dSIs-L8_3m=MLukcq)d-h{$No8vYlRuQ8c*mMvbXX}26t2GP%r?`{AScxF6&q( zeH_e5^MV`3(3e*Q3YwzInQ>`!O-&*ms@r_~r+Q5*aK5fnz=uGdT47E@KYHzR!OhJI zXpE5%;Ugv~F*tLX1H+weXE<`y0A44Lq?~O|As(OP{7F_~M+30D8) zPvTg8``x#7Y+G6I5a^BpEjoa6xKqSwjvMpvOLzv?MJ@p)!BTZnUwHb;{a z|K;y~zd6TbOGsWF<|y^^C%;SaQY;DiKjh^+KHcOwVFM9csF8v5@vCgJ?uzfvS^502 zFSzmz)VEp1wk_Q1@XMUxdHVE|3@-AFv(GGj{zX@tyW(%AKKe2c$)4_P$&dZyIpD{e zqpV%Md@=lUlpjX-CZei>O*UeTtvq`0<(FU9N#-bX*jJE$CD3j4Yq~Bf&O-p61YQ1aSUgahDgBxBUuR@D#>8Ii-Kl&-pYDd2> zTF3eZTid;WX10ZY5*U*auVd#hXaoCzx2dar>csJEw*fomz*>#@DK>2Nf7NeofpTsP z0It$qS5tKQB6eUh=Ulj=la29}Rtmeiz6i$#bl193Y|-7*xhtNlI5s7YAVqtwUiLH( zII52_w$EQ$hTh+K23+4^y)Z5hGf!-Eb zGR-9f2?spW{uYhNy#BcGELwE5-DX>_hdK^>*g6fX{G{KX59JrG@-hh<(Q62A@V(b; zj9n>Tbvo?Jj;-!f_I0(&BQ3b6dNk*|?7;D;PVZMS*qa@nn$;l4k$wAG$Fep2xWt3| zy8G3u^!NH>eY3DwcgEAyjqz39*loNO2xCz9#0*)kNLU2d9E?i?-LY_a!bjlnVl3RT zT40O?KXe#52J76f@DX{8h090A6&=qTMJwY`^$!Zipl2=YME;y)ASk}vtR>y;*zKyx#)?Br9 z=3Myg=DOjRb_hYHtTenDL|aAn$t4azJ2M%j8rZ~Z)G1d!luPWuS0YF&+kWWaaKUkX zfM<|7!^N>+lrj47(e2Iw(%9ja?&WD{t}xN_6pm>VSIHjgGsMA`4)V-O{O7nFZhS(t-;OJX?Kz z9XmTr3`kG;)0<7fWho{kVQPQsSO*EOj(@_OIpOh-qT_MqrTU@oOz%tK($w#(F!L(C zUKfU=Yx+6mC#5P^J0o~DG<4|mX6!VQ0ZT|)AUuC=2Fs1Cjz%1SH|e3f^7`WCgD21P zHqKl>&)G`g`vh(AabED$Pl83BgEJhV$=o&&y>}%yX=|%>X#$|foR#Bn*^#FdCg&NSQk6R+FQnzWq6A zZ8veEZSQ_;rX$*9@>+vuuGhA+x7pTi3p8h0uEBhs5>6WDIgV_858uw}Yb$IH#3>E< zZHu$@8qQ_61=t<5*Y*yFdX9sdyGh*e+*tD*xR1$)a<nzkm8vj&=9}P1`U8HV@W`#PCS`n#> zrnIFKWxRpfqY4I@b|2Knwt}n7buuj+KrfLOolf#>@cZ&`tn1>c7__qF2`7sgz-Pk3 zaVGoX`~qt-_cyK zn>2HYiH+}bJgjny*SWr|j<1$km@Yq8r@-;KjH)ul-ogU>xADEGEx4;Z70JPJ7wpC7 z^0kBBt`}eHyn{IKJA7;vwB*}l+QZ)#-!Lrg6g+4WR?argIMLNrecYdqy*`ie(Q7NI zyj(qiJHk%hT;qK4eYMQ#)#Cp&ec{#DzQ{e^j;&8V@m3i3(0A$X%O7!0TgHjBty&MD zX!LW7nJ|8t{`kOgA}hXdt!v{U_s7@a!Pxi+c|iM4L|KqvIZ;q7yiHBQEDc1i_yNY2 z1K&dBWl`FvPwoZBGCy2Y4=G~2k-J-c1mjK4ZFPPNfrY9vz>u-o$b*k54A01ej(a$H z=hyNeB_t@@kaJi{NS%O9Yy)ZbJBP(cfWWRroYMukj>(N>Q(xs{Lv)~<>jN*rgm+_8 z3sma3RXnU>ZR#S|w8=N@16T z4nPC{G}`ip;m#;T(HxGx0o!0Nikn8j(NVdn7}Ro5K^>;JxML`XIXEl5&SqOY!}}QB z&{_?!@L)r0oc68M#*ciwX#`x!IRrLQM%0-kMxFBVvl}uU&PF#t;Dp78xH9Oyh$DrM zX%uqa4F;_=!{`$YFX@y-VhuiLjjzEsGh=48ykT0IsxP2u3!~S$Hp4RyI)iQQFuQ=8 zcJ)yDNoswC#-lKfmQJ$I1cx6D=1uf$N5R9*L0lZL3xm~7la;4@mIDKXfn;lR!U_cG zxoBqfnL{s=UQ6LT=A+1A<&fTTDZgIiMRt5EH><>AP);EY`!L&9sF9OyU*^a0wE}42 zk*qBSU&=+SUMDKKza&vTB{$;#)csOZo zN0HT;Gb7XvQt%uP1v)vLYkK$R-b_m2RcN z=Tyw-Lzy9w^e|ZmEwh7ckHbBp21Du2bwAyd40@RS#nDl>OGoh0!Ma|M>&&jE!ovr{ z%i7x;7GU0Ua1 z&*3;tUpy@yPxCLmz7L*r@{nq82j_TLJP+-Y67(o3=T2;GNLHDJQ`ytBm3Q~^@UX`> zyloPdr@-WV8(lb#d{>ZL*->Wb-3s~+z`oqF@wTVpWV^>AS74KWQ&_s#6~77m+Pv%N z?bAk|$F{g=?vX9stn>fN-J3R9j%(+7S#!^QCSAvM*b#Qv|NpOCf4m`wL$bq??~#uB zoSv$xYxMKH3yTD~xp(f&8YCN;n*kIwYOg&cu zP2$$@BA#p0uv8hd&AQ)lR<#?iO+yA)a2d=mpGt4}a#eBArR{3Np>|wyhH>rEbd0=e zU`)J78sIhevRrA(o}vg34!*M}I||Jtcxm=`d$7#Xl5@>=k<6f7@>Wk*h`phpJ(+Vb z?smA^ejOr%AHOnwm%8O=(oXs|bu4Fw2k-?KJ<4TjVOjZO49m}50Q%FNVa-$>#8iFH z%F1t15`eIwgmwji^AgXFNyjKPj&@$65iTq$TfE1-x!1APrw*TOqU>fo3q7Co!8^VQ zxF#2uP1Jw>99xzTIg=s+TYuh_ud=>rh%+F3Avn zCg{tyDSlOtp}QR?l0s>R&~?U6!ojJ}PD^da;ylU0zO?#WUMcS(w|LsP3MYB$N65*; zP^3L!Bh*Ri;p%PfstFpX%5V}dB({cu)Y_n&kT+Wq6H12?r>E8bl@$TS>w==yB~KpK z9~LNYp7F^hcOHZ{oaA#91V=}+jUdB1M-z!oD;b$fqB5Oiy0W@{FPN21Z$wbo^TkuW z26H1^6Q^fm82_S=oacUR-_qw4W_<((0tR-gJ$>v!WYiGI>@1*C^Lt#P#{) zr_b=IlUDp$E6zLPr<%HP@>6c$~!-nr6tB0SY5{F&V z`2>^`b0^Mu5g7W0t$JfqJtE*h!}2#%FY)IM0{xm5ZrYm_mXOtHaHE@k2s3lmx@zjW zP|A3>IX6W}?nCOA{h|7$?nS|o_Eha7bf}YJ-ZQx+ZJFkp7710JnWS&%n7s3BGL|FL zp39)X;e!L+3#X4W!W{4XaUS-Fp)LCTG4;-us6FA$->zKeo6?l2I|*8RoiFf}*HBeS z^4|DP;7PFUu6RqCpWxjNsQ&DByxTD36FqK2+~qgja<;7Jy0gQdlV|1W9K&#|?FMg= zJkNW{3+A=uppXhjx~#BOb~t0-rO>+c4auN;XuB>DOZ!1#_zZU?EEryah8bZ3vIj zAjj1|EABov^ILept8YR_hdt4i>DjMc-5NH_-Lum~^K%27YZaHT#l}7ENxJ=jGTt1l~*g+u-FDz7r3q1%e=z?`PCRvqDx`aYiI^pkc}&& zZIq`IW*NJ)>4D6L66#>+v*qfGa(lZqgAOunLn}@Q#zA;OBS0^&1wOLnAa8@ByKD!j zGB`G^V|cmLuQ|b|Tz}I<|K7|HhHLcrAQ^v;+pKYS7%~_R9 zttqF(57?xCj?C3@=2-xVFGw{3^=?P*LIKak35MdG?zlmXtgK$@$og8QK1ij*IFm?)=yN3DQ z4rJ*xQeqb zSlmE{@|eb@AA2}tPv==FPiq9CGWAQR# z#}NB~Sx4+#yczOdXAecihx{Ozv!EreF4Zw5r(hfl(>yuxG$|88^>SkAMAnI-dOM+* zS75{7J_iIkX?n;irseD8(R$u?n06J{H(vXkac`6Et<|*xi^ue(tF^xLfR}xxZKL-S zDu=6;jprm=9yL+61{m}^?S`wz(=YhuFcV^5_~mn2;lnmDw{Aaq$J?^;hk6v%4R4hG z_U4f*)D{@4?&9l3_0LWX`1T|?a;yi|NO)*xzis=WTeV|@c2JX`OXzbY3U=jD9#IGU zXeF;vz}43%!?ql4OXuNv>+d!cPQ%L1PEF_5w*~84{uGgwbMr^PSh|$&y>UPV!-tfg zwBYHt+>EiKYsDu~18sqbb)xo?YouhUd-ti0!#}Zop{(OwRLif5Xa?r(kr5=qFszvFQ$3E6N2p3)bKTDXZlR8YvRR;_b zewu%*;bKb}a<*>osaHRmV?o=;MRFH&IX8sB;eVT#T9@^_mwG7;cLgA7)om?f^@~qb z(V+hZtN`nAmERg4xA&FeG}b)KIVb0oYJ!aNSnZkHlfKpjZCLG{Wlo%i{Fq#2;6RB` z^zD$DV#MX$E`U;%;#&mrvk& z>C3fKW`y_)xaWY#)TdFOh_-m$^pPbOb3~G!|ACLcad@T(W|QA_L7bz|v>7jhV3mkX z#{J0z3G#Jh^oGevcESRCz+hZ>`=FiFvizcsq3TLQL1djMY@T{-ledS`@Cyeof+lV>Gz600~Ts6K<8m8E6;R~1LKUZX>v z^~Eypd{qVHTxNh$4O@HaR~<|207qEN6F>3lEKFp#33?Z+!4R~gpgW!X_4k3rsjVF9 zf)?=3${Kiu%T`K&G>s~^Xlh<{%31A=&s6IApxsV#wcB!0d!PG$siA z6fnv(dYQpw&dIP7hBvHye&M%(nXta(b3T5?$<^F_sQS`O_qj)De29#EmzxRk!?#S7 zwE*@ z=4^v{>woK-H)Z_!Hgcb(Gi>Pt;h^B=WosE}6)_i{Mo(#zokN#TLyD$(HuUnj`Jeb6 z;d|IQPUm=>!#@W<;&Vxd;CBJy%dUszO8luSh95_w{2B$!zw9gdUy|Q;wBE|dC6?YWkt8&t!&y2S%#%LA1 zrQZU1FQ@&#htGVE;!QUMOehv&t2fu1#er%u;a9Zz&3er769NED(|L`*hj;$DbKwu2 zhMJ>PLvrfZiPNaVExU81*}?)S-)tE+31`}asqh?N0Kx*#rB0uYbWp5wrmHRWRcB-s z9eL7>M6&vz?X72I3|=)BtMQ!m=K7tTw)X}t1X>80M5Lg|R!(DmFV z_(SF*nn-Z_JcOEGJZ3FweCrTazHOUB?vA%)7m`|!8irB|L~^q`c{7bNhQt;u|JVU@ z`Hy_FOBle6f#o^q8Bj0z(W!10nENTi=bI>FT^IWBM;xQ8_rXTdldwz{KoF+0vRcdq z%W;-`jcwB%+#z9sR%0k^b^UmLc8KA58<)Jl{7}!sFmPk)sTvgzQVPso+B<>r1OrDlct0|FI=EOR_idZ z4o{JWGO73~r7(hi)#m`>pKLQGuVBblH_}clZTxB~x)km2qL$lrLEpXeEqH^s{PGel zBF#HD6iB!V=2qyyi3?Y*CMZ`Q>5jZ*IuLahu8CcrEQzWEI>3o|>J{{hOIvklQx{^V z){0-YS~l&MctXFx>kYrx?r#RSJM45e=q9bf^iVJQJK5re*1%Z}CBs!@eXYH3sN}BV z6D19uJo;=x{a1Fxwjp*8zeMbq!04AuOl$~|S7~i@lISzM!C`BxE4e*+F7K5L^P@r= zwiSIgrEPYk+Lh;(nZRX2g)UA)-D3UZ!L!i&T(Qp=XNxowW$AunqTDOnT_;60-sg@7 z5QkM>6fPh~^gxGfw7ag7K=9y=7m9zRp7w{j@ z=$!xqAjdjWu&gBe_BM-+idz#yXu*v?z_+|Qv<)-NyvR|{VQ=H-+%gejv{1Z(RQC7e zBoq5Qr~wZ8nYO-?DmI+03nyXdmpTXY)~$8vv$Rf@BM-)<%Sg-AGUqRP=o2Q(nLOKx z^)3PPhd!Q^weWA%v{7~=-T9vP@zzxW*y9JvU z^rC6mg6AN7(SwXRKI3)#8a|D)=Pi$hHBRweb)4nTI5WKY6z%+$nlw$2r(m{*jm{PsUca4P9(2#ml92Y|6cCyIX@~Q^l#c zgN}saF%k<%=0kT zo;}7B$Hj`+H4xu1;PN@z-jXe=mTBFKCR~rb47vCbNgPU|9Jj$9!-00aV}mh5{^SX~ zZBWLRY-Lzz``qZ{P)&}GEmN+fYyOi~vhoM+*w^5=6KtJ9zSdL*D2aLA1hWTlxOK^H zT+ediG8rc7vLD9=heOI1hU!y`n2s-NcMZIvCxM(408K36-`6kNfA7`{tIZuuo_6e>nzB-^LAk`U=V`<`8lBu7nr7Ung@~c>nI-aG$0})2s4OxO^{xnX6p%hK0wFP z-o}Xz{N!oeiWuqOhd&2x*7q8wp5oe2qMiBIC^2xX{8H#U%eTvs;dB_uOB}bABPxy1 z)z@f4hCY*pIG)`m9v;H@8RU@;(geUf!#rS?gS_h52PwANYpalau0UGp_@(TWZ3`u6 zfv%E+FFkXjug=e0;umH)f}bQHefx@oFKCNy2MaOdnRZpriKuscoix7WvrA4^ash(R8zwP%7MP0m1-g96cZ#3?{9{(P zov>PGiYH>Dg#IqyK@P8)yvDccHgYRgG_PG9My4y*PR5-;`KIsZd_GE^>gN`0&#!)a z&i9Ug&7>+9d}KX(=J$z_gA-kue!@3_d-C@NUVfO#o;*H8R#h=?qWEmC3Zbus6Tg)` z)z_JM96Eotf5r?PKwM%520!2%$`weUm(|H$G8dgv3LJbNKb42#(~1sSPJ?N5A5i11 zOUstbsjzi@7|j`fxu%VrOordOGT%D`(1!XT`aA2HKIJcMJu&&rQcbUNqeFofxVjix zw7VLU;lsoK(bkCsoHk_iz#k&C>>y8vuCEj5VszEreoAp$ zAEb^>I#)J+n`~FW%E#2;G3d5=TRD3^Qr{buP4;9%% z(->~mf0AnaN-< z+Y@Hv;I+~TvO8t7fFm``y<9q0b!;1cv9reUHQx0)OI{RNH6EsK{2d>J$pDv#MGa|6 z4{i76!aBB1eZ#gM$I45M!gC1gc>AvzFS-B_rwr*_VffNN5HtQKE{;C6lxookd@G%B z^e7oMfgg#L;U|cFwu!PHN<+~Ioi#$7IO6T-Y*%G9Ei0)YRHf9RPE?#cSAiCrY6wn9 zZ8Xy8L|vZ=7U|Fc8FQBweR2*Rv?+{msKQf@6LEPa&>-`28XFy%$!C0*Z5}}>pci2) zv3j`DsQuZdOS&d5Rs`)+_i89AFHg_0TkfVwi8nMDFyR#zcmod4awJ&Oh*=5K!1WnU zbs`vhR9J@CsjqFQrh7HtY|EnZ>U^Di2&bTLh9J#NZ~(7*HbTbq(aYJM*{;ra*+*|+ z+3L>Ot-N-YwKA?wmR&V;8QXEoTh7)MW7Q!UH+3Aey#`ZGdd1aeg{v;n12bIxRkr#0 zZmvEflpJK2%fqYuKKvFQ#ZTw^0=g=9Gm0LT3HoG2Muyza2eEZ=pVQGebH-OXId#)A zriP+D1?)4wJnQ0%tDeRt|qrFU?ciR5s4mO+U4urVchV z!S*7aI>#jA{M0MJtM6>cGpm18{ zmmXE-tyBE8;HmNDpx?Zyal?HJ%dX-72mk;;07*naRE24=quE%lck-T0;OqPBiE za%E7b`-Jjm(^eS?JGSiQfp@`@!>t@WFZv-ZP)lspQV^3u=t| zsZCDRe3Rh;M4yAvQ@8B7* zB*41w=`xe7LiG>ETUW19#<5-~V}{C1&4-!ez#g+I%9YLvCD?IKjRm15E6*#B>z{ay zJ=hQ0#SDnN#yV~Svsf4zhG7KS4ti(*q+DPNn^)ABOz{6HT$X&eqK8poBW zla@8`!&WpS9)=zRlI(Mb_|@&ED6d?9RW^W#tA~LrCn1@fR|`tFQ7?g~^g!c3WhRx_ zrW5fjRse|wf^+$r(7+?^P61(}7448gxup<`>XRKm+eA6f1rHCUB59IoPn?Cdv#f`X z=LHm;qS7G&)xgeYj~xT1GEtgNek@dHdvBSvyk=(G4aZMOS-yS8NIvI63c*YTBT}h~ z_Eqm0bB-)4ta>}KsL!iB-?|3J=gXgX=TV>ND`1lP%=F8#<=R~f>7C z6Msye@)f_RU|r@;PGMDMP0%ObOnO}tExG7u!70c(3$XRZ3i5b+v%LU7%ldz6 zZ+PSLm#nP*eDmwif6D|hMo2h9#}@s`OU)g22fvX$uPPvlGNFR~#wxPUK!5wYKO*ZV zWc|nuCANLjrkp(aT=F;H{w_Xo#o6u8d4^S?{N%HGP$9N6CSt$6yZPydzc4A~+0(|G zbQja0zPS(~%T;4nx}7Y`H!Iy^)mz-;%@bRlTT0joVU`!GEqRP8- z`aI!Ibe((doO1TX0EA<{$CT&wIL7}dP<@X5_IU|$N|jI`GyHL~6|l_(J`mJv4tFWHneJSCw!1{`H7iQBFy}V;dwtKz4WF*xeLg@A zKLoe@Mp@--+lYMEywdkly7_(Vvoeo8`LQJxzqUJN6p*p5JEciV&ww*#G@I*cz#Kf6 z$yLW22XMkt#vrC%LecfJag-+ygL&%FL0kG4X&5k2vAcLh{uofMd2onw@H7gO$QUqB zWrUFm=7&Bq>nd+f>09Gi#|bj(+-L(x9fPZW%Zj9oRx#p4heAC$R$kSqu)`0Y-KF48 zPGz;+?2HAT@(=O}yN?R^Y!l^0YfD1IQX&OyCpV5&PKRV*kOJw)x?x@s%ow$Erl;q&AVgR1Ec4(c`)#C)mVJ4u?T>`CIXWzW_)gK)>11_&rtU zeZHdI8yv6VIBo=BuYTyaUK{r(n>z&vR6$(~8~UM}1N6t}q)h&U>^5li%$yXMjVIqx z16Mu$G>?d3K{}HI1tgdr^mM}#Z*ocT$n?i|@&_~v}8thr7!oWeEa@EOtQ%04{ z=w#;%efWW+--1(YNkdOPdhN>epcf^bw`p}QrbDyaPod}FE(Y(a%J(5xj&O6^29?}L z1Pto+kV&#Do`x5{{*qPMSFWyRVxzhs$&_G!nXshGwy3Txoj=f|Ymk0$McK)(c#oK< z`upme@4`NK>dNFYE6?cQbHlD|7Xlb6?5_nGj}UKMS$DZC+bO{JG>B`cdhm!BYiV0e z)~b`p+qdfu0wQXaGwr4bW6YYiPO##Qo^IjRuYP9B$+01IO{27%)$XjQx~iIfBPjPc zz|afj;#FB#N6IFcR~-ZDca+!qt|B9_x?A|9WyjBQwR#IT)G^T{ici!yV>z(3u3TVt*R0k%bUQssD)U6YjSOjIvWENUIor3$ zTUjo#Qn!vfZI{|{ANh-bDYDpZIq3f>ZxbD5GuyDqCo$_}@s^Ec$BcW)_C4OrbIv=C zpUMiJ%A5^Fa|z=t>6whhzDrEcs2Y~ing1U&TxH)?x?eDI@4M7L7fr}m@`$AWnD``n z^!k98Yn1frzF_*$jjO$8N;}khH zooBE5HSy#O&Gyo4pEzJ56LX}h0He{}xK6Vxq zUEpcslNo1M7i$7ly2`_b=W}|h?=!0wYK2@m^vmBo7&$)OLQ2@DCi*Qi7E*x-09(pvXj`_4lRi~_>6Wgm`9UZMNDG!)0;P} zcr*F*X2SzkN}oREMPLT>G5@VEkK!5V_dE-pmGR15jX2tu^ zWfjd10&7@qjMxrrJ=SIVp%Is*F3YpG#`(#|P<|SGt=ydv9`XZl#^3I&5M6mnb%p!= z18yMjEcZj|`2&3NjvEK>cwSlmIPmFmiSSzv$}ZbWsrJL3>>PZLm-H}Rjz-UimVF-M zW96uS+p4>}5L(Bmy!hf+YWpDNHFz{V%proyuw4#~f6VRf(24aSarBxMIK=umz{s-B z#t)+oBYW0ijUzL7C3`N5kE6}XH?cEqX_j?O*_8fL4bR8kGGxu0xqgE9uF%_et<&Vz zPau59a;J+vh&}^t)lEQaCeeTVu+_b^FU@yGADJ>tY>O9^6F}v3yRc`^%{k6%ecJk~ z`l>2zsl~Ui;nKRg*r>9GsvT`Wm(k4Gu}h6(ys`}b@RpBy<*X=}dJW98(@6p3-z6=_ zRZu_;FBm$^&HH2uC2(;QL>q8HUZY|&cF1QA1GQ`-qtjtP;;4DcOI?E_g;8M+Xgd&< z*UE3o2$VcmW7e?|&USV)l1`ZRf5A}WNk;LF_t~^E_u`I5MBGkjI2uZ^N zCa*XYPZNu-g}OPaM+e8y*>(@0U%cjy(Rl^FaXQWSqyDjnN{K=;i1Vx$!4lJ8s5oO}QvyoJEG-&q+i6^giGSvVQwsUN{(PdG{m zYl1WMC2yXn*QC&fu2#i_B9CnOQe#u!)W{IMiB=u#%0`CSq8sI) zu2EY6VYb&i)8aM0af$SBXp_n04ISElBCER%N8QvqycBScph!dOVmx}tby2t`&OSft z$I_*VK15#8v)S2|9V3Ff66nt*1>%^^_9%8(MiXj;yF3}?S-qw^(iRJ zTYf&jn=Q(~{S=eFH&pwt`fs{)*JH*DNBHfbaFy{A`97EI3UF4fAy)n?Cg+|F(IK&M zfLz&&WYg3)yq!07KlBaR-cdqteWu@CNlv@AU~UPgem)?We3D$`P}~Ida3JF|*tA*8 z(fVlK$TwO30w65;=$eW?@XEPn7VeM-;9}V7Zm%Yzy5aKhJ(J?s&u`vR*IZH0yB;V5 zC-8>u-;>xK6yIhRY>SKlKXZGAine4$A(#2=B ztYU3jTXliK2V`C2nNbC;1auXvo=0N4A2`ap6RgeO5bc4j{bijtEdE0zO5bjeTCvup zvhkz&@xa~_FU}2E{B~>8UfI7i`Zee3FUHtrN6@}#|Ln3)l7$a13~RsLi^r(jGmmR^ zI8h2Gu5PRHuKs+*T=Q30#|Fi=EK)A}!YK;%EWIU}Ws{E}O>@{KwPQ$w@!%##d|Zyw ziINw8iU@jNzXUETyd%$(A!8@b^X%nnczO!x_$NG6L7u&{0x~AHkhj?IWb2%)ypq8C1W&red z`f8=VS}-p&{D9ogHc?(p8xF!Y&Ff0gHt3MR0i=QtgbXwxwebaqgLtkcx*AvftAZJ? zmAGoOk8Cgi#W(C_7LJtNXx|-qv5P!lfJRjG~lc*6Rn#UqCr90iL>>hwiWAx@}agk zy(u3e133TjaadxHd5@S#xPorJ@JqpL<)t13QH~WNm%N&guCTIz@qF-0 z-uRqt&TbKo+(Q8^2-?f}jVRtwxj{L*wb~y-H}F}u@g;;0>Btq{@&``mF9iEYwK#ob z@SE)KSmo`fg_~pR<#W-7hWELAtaRm%@*!H=s%ynQRO&hWINKDaA8sS%ClSy?{9S?%` z-A9+E+xusB%n-duoqe(Zmq=Y(P3p>XxO;h<^il@YEg7A$*{svh{%NgEmv0uf;o5j| zxW;!gzf-A!EcK^(w_MIvH2!M=$b9_7jM$s=6)ImA<{I=##%M`MQLd1e<6-ggSyr+x+Qw9>ayl(S z;g!CXf5JO_i$)Cnrbib+q-5!>) z*#aa}UPW`3cR)tuQQ4_fnH&jM5c;H|h%kl71Qv4O)tR^zv75WobK<0}s7|5`sSu>g zI_P20vUeiNUU;njEj^3VI6@RU&+x5PoS}y`6#;&DJ#vC;bB$)eq(na^mZ01#EPP8; zc*tKr$TJ;~I>evIO{6BM(E@n+u=G-mwPDvJRHoicu_Kg5JL}nX;o@t1okI)5_IDJz z$3cGD)}dBy)vhMb=9R1}-{?i2boJbYZ~)+WU5Ou}ecLOi;%6*Q=p;0X?qsq7_%`s| zK;T(jGpja;Nl*a68zAXuVnBb7uv$zIICMv6dX9Jga)!rNhaqc0xGs`*3#zi#AZOEf z4tV5j@?+xUhr(OwJJuRD@7B4~Gu{@~l#`Hw3?8iw3&tVZG?SZ=VWLAgB7)8 zSnLZ-U9AsI)J*%lt0N8Wv!&IvT_!N>Y|b!N#OQ|#*L($5-(tBfkV#(qU}AO>opDlk zbvBr>XI(%*u#ZJoc2k@t4<#aKZO<_WTk!V zebSn$%Su~u0P(5zR9s${>RV*3Y&NmhLqUt(6UGW_om9x5Y0i{!7GOr&oH=aiOGY?x zSo3CzOYzpBaHMx^FbD1NXWk)y(K8;Cs_baL7M<<|DR`$k$}{Vzp6@fUqy zeffs8^8qi#qut9d?U{4lbWN7zE~>qE2kIzzttq}_&H=pgQ|T4-a{r?9#vW+pU-lT= z2H~^*jUo5StFf_jjIJZmZLmpualmLFh5orG5v2;DqS{jYR3>F_r2aPwsZ0CbjQfsb zqdRIHk7Fm1Du_(OI8|aCXITxAMpmxTf=X33LJ z1>F>14ZhW3bfd9?X_t+xZ0&EVc0(#obyv>2IKq8nw|LQ)vlo|*POCagOl(O~Y@t-H z96ZC1jAE%o_0!`;6Ggy+*9_8g% z%H_pYY&~{c^EE+wUxFolUHsJ3dOR7Obh@H&`w{3ZU}U zL0ulx5k2H(aF(;W_z5w$ly{l79-VIPo`osjx}TTFQFna=!56-{qoKre)E6T)TV*~> z=;!Kr`g}$W1a~#aXVd=TkHsJ)(>=||7?2jSqLZ)d;GeNqOPkvtJDjzz(^ z2|#?yb)Ek3p`SNX7wqx7+wF&m!`Y~x+w)xz>LXqHM);H-imCqKECVvc@vZsY$NCn2 z^=KX|ZS$(Ko_Ske?Hhgff_&b-;k^my@z!s=4;iyv(jEorZ9nO+LFns*ysAVwEu<;o z0+dR_Uaou3o-r=duj;Hl+cIul&g!8KLl<$n?R33wdW4TqWg6vFOUck#U!U+x|2FjS zx_27pdaKsgg<1c-PUf|TtRtx_=~L=4Abp!_)zp4UYEz-b#;@#Z!Q%;S#}`}LM>23LIC$~@ zs?Qv&Ed5)2EEj*$DkCpT9Y)(VMIKohvxo7RA5h=x5j)2@HRf`>{RLYTbKMyHmF){^ zL0M%eYZpon`@$Nx!hSzsUn#V|Q^sK~f7PQ%l4*Y7RPQc^`E_GY?@D2C{HX7|UXX&w zxyq~9&U}YUX>^g6yvQiR(8{LaElIg@FZm1dNLNlCe<6Bq9IH$*)h!gHl|%JOhA@Nr zR48esf8h!*=s+2#(2!BIXidaNC@lkly%?7HgYrIc_-qqp3rGhU+A-R!@va2FreAV0 zYoXY6S_oF|ZXgWPvaLB=o#S}<5uw7oVes|xHN#Sp&D%yJ51K@6b%n1^@BAn-4ziP0 zJ^T!mboISv3#4eo2`vZD@?x$7jhdkgEmj^+vBA}AD@)reavC#dCwr;zP^GY;m6xGb zLE%l@hG3^8PEDSzjO9bk4pJ16a@aP~Ws8lg8kiH@`b1XID^OnYukFS~=nCJt{=almtH8?%-9K`9n#b?TNJ2n6DMcph=1@uI-_4%~Y zNpoMR3vV$t&n?qV*i%L+AN^b9;zUCKx{bN1K^=qIvAsFYtMX~9PZZw+Ky1HiOGzsv zWvAn{+>=mFm8Z5wxlmMxBA?&lSMGkIi|NNG=}Vd)Q{jAWIKIKp6M6XHf#56OXKMMl zQCmw{<*r=QB<(ZhrdfUw9T3iD&4VmGn-Izxw*y@ObFJ zhqQDK5F9AvWnR3{t1kH12u-vBr?t{5;p*@upSQ{&l7XAw>vb^oCH%c`J0SA~VXxl4 zXcabRwArL9Aq+`644H*tT#$nb25i1DoEM>`;fu}0N&Vlxda)UZHgk177qmV3;Dj&b za`TAKNe&#$yYazo?5=#{P1&N;jrS%vDtMAw?@|a`lM9dK=5&acT5;k?-8gC{cHJsp8e`e z>%RZPpE7w-SL>@2)Xl`B43X<_Nok`l*4f7l{`}7OSKs_Dw0`dF`L93anfsR6zU}n> z?BwaIZ@$0z;>)jjk=_^3^GUX!{(AG^HGL)nTLjG37-G-W8PY?yyBrT#iPvPIGk+X;Q(Ddo_+aMKH28u7r*@YL)zS%cQuh}UY?JF zavn1%{{HuW7r!Xa&&#FVdLbx7LTWVPqgFJEo&q29SvURq&3Avu_0PBC+Xwgwxupz` z6qsO^kNtq3x|5ea`Q^vI=KTTvIECoyP_>vi>F_6}My4Mzf%^9QKcsv_R)^FTCxw$e zpdJQ&@{F>z|9SSsmrPjR=0%CG_-4E}W~yzdN0sLh6Z5>0V)aKW`Y-gG>owyxUA%$emlD*+7c%}#`M#k2(To>+ zR!!oNrOe{5Xj#{c@AyQa;Wd59k3ak?dhiZ~QNFVtfmt52EeB;6{?N~~!*oveQI#qY zcm=={t|4E2OB=)+f!U z{I`FhoPR!V5A0@JA3dR8qs~5IlIy1qrA_&I;|zY0mj+To)nl>KF$e$lOOK%ait@D` zI=1l2WepI&L)ef2U9$X)$DruX_!A1}2f}MyRq@m}uZGk)$H+0?=r%7!OnP0q^kY{a&mxa$Ih+ZkP88k0CiS^@1|U175V>(DqF*jtw~A+`h1RaNi*47{zZdblS-yB7iswZt$02`l$lor+4BN?5Ms~(SSs36PU ziT?u$i?XONsM@Sj(&uFWV7x0`;zgE9Dj)r0qw%E$+GbjHwCPe<{0a{%SnTF(#}F@~ zPxJ>?>C!{yHpGY+XL)I(Ce_5=i5fsUA3F;>&h2yAt7g%cr2N!F-ab#jH7!9i@&gVS zL>pD>Qh7yNxRl8wlS+$U%=!MIgu(;19C~{rw#?Y+Yv>Y&bpa;u|UWh^)ojW z;GAbNwK)}8D~et_>rx|xHzcQX2XFAoE`S&c3}o4ku}78v;DeD>4&Yi2zMLy%5##eU&Zr!s%q~yrU*7QT_5N@3MQb^p5gtR)ievo(o#%fZu_>!NK5i;S8h> znq{5vw+R5$$(4Y2Os>0x^s#aIdI5a-{5h*r^%5wVC_}oXBZjGW(j6SX_|=J6tqOQ? z?9W~aYW^D?E+&S;$XdgYi%m}MwO`H|=%Kea^qxEg=1QYK{tR7D#5)&e-vyt^rDbeo z$Uv0n*H*j(WCuoC1(}f28vZCyk5LZp* zCG8?*;Uug$bZ#TjT9`OcIYFR-z(1kbRQ%w$*oF}ftR0v-C^UF8WgD8AyxZDUANBV8 z@_q))`uPT3Y$Hx+?h-6tS8iNgbCT*n-TK-#rC*B|@KT&Vb4N#R{%Du=&xwNtTYr_?nu#LFVcM&ru~uL-UMXQiF`|LF10qwNej zh3G7Ux+QKz6-f-8-MwI)kEXO6+rhc8)SH1|`YvIiA9@vi@zAfinK8;od-RFFH)9YG zy(6&u&8fb|9_u}2j6L=(-u$!7ZwqaQZm~~&NFQyvdZWl)2#%?8#fsiRN;$7}XBecQ zm}42cGsNt6%cXU>R83z&1<6LN-w33zk>~q<5l&o zP;hsf_IUNZ3>4fLqLQ@yS7kc4&hZP;jGH}Z4QUyGW>q`57k;p1rDyyA_xaGI=q!Gw#?w#3d!s#YIIDQp?B7 zPpTVn*`;kpkzy_@*~AT168V&?D9MvX973dS#&V@p&0VuJz z<07wnX5OR6zNaLOh18!xr*^s;>8KQ`2{@5_ona-iQoY6@-eqyZmI^_x1(n7N%)Dg_ zLL}4*ajnc2zq8#%D>dkpZGm(pAK;}xf)0`^B+9JGjw{OCtzsrpliT7UtvbppHc?}x z%ft~IocQYtgZ6-R^NPvBI(aFZV>dYRP`)Hx@rW+EnITRP%$P#J9JDPR76SdostijH zF^X?=p+S15%B{h94SOW(S34*>E%mn}Uu_73lY>^t7eOUr!H`yaEMxtYGFCxCs)F$7 zXJ=>~aDWPcfAO;$0iW9;*ueevvU1X?$U`J#DmL{@VLKgw+#2Fju(AS=Pl}(+&;uDx zK-tNbpLYZBN|4-dV8b?OkG6O>QC+^ov9s?i^Eccj^xlwg-}W8nKwh0J8BwJC8Kz+@ znlOLL8u>&`rL6VILI4IjTc+<>8GH;|Y2Lm5l{a4hl?mxDxj?$g<=tRcF6N1H{5u>X zsl_GCfu!l2iImO&PC^6*T6Dh4i#H)NAXbidioM8s!GFf!@{6y(x%r+I>xU2jjXZF; z`1h9ZSi9I}9bikXlU8)eM459g*bK^~Y5pfF4M6#E_SA}L`E@-gC_Y8cM|=v(ZR>vK z==CdZD6ne%m`_7J;x4)qhfI91N!}!?9IW>;oPz1p(FvBQc%lYVW4nHGk==3QI^VO*EI$!y@VQ51#*SarHJA+$-c&lIJ3peWr@cFmm$gsQuO7Itz z?)ar#LT>J|JMwN3SK``KRZNJ>ct$+ENcL>GBisMd=#wRlQMO z^He|mAeq3*Xx}u}wdeS<{i=_nTlv2D!>N>5&kOV6D|8k&eUf=8XU~h$3&pue(@QJe zBKsV{4jxH^uKlWytrIgZ%em6%uKGJ2i%-=v^DLL*bJ-Sou60PZ3L-IY7gCvnaxqZMx-E8B{vdGgPyVktpdeN<>K7iS3XvTnv)Z$-{{ZIo-b zAFyu?vrleC-XR>(mi?pu7`6zj(Dk-bt0|q2d1ftkK>5JOLCPnVb@GdRbJR7f-{2z; z+l{hAUpk4Wzp6}=6+T(C8hM$K>27i|)(P`+z4fDNEt%!|wMa}4SWyoqkx++5$(e)W z4kys+?$}A$-XHAoR^%hlF_mh#`YT%W)s6@pyoGm~_&(@wjY=I4t={Q6KCsO{p&bBD zUilsOi&N!az6^Ep9S0X*$CJ@nI6q}6Ul^NbjmC~FV99{&07u+p2mN4B_eH-Mp|Tei z`c*v_zoLL8*M3z8^{kiCI%Z$zF%h-MQ^#U1jRJBOG~fqn6ag6wk%A`=hr+2l!17s3 z3~#%dR}p@iV_*DPR#m)<@E4Wb0}2ESEg?uwXT}oI-Z1n=f%PSmX7o)19kRP#Rbk^x zRbZm4yQB>hjve&B!Md1pAJmn&>e$4c$*-%3ZcBU5 zc0o2Z!?ElV&!2a#v-Jw~vO1lWZHvH_KPSqymAeOXWkt~zuZF1XWaCKXB5M|MhfCu# zC&ISbH#7)qaGoi1!lHiBjgsc^uYTjX-g?cpQ~c0A zT5VE^;whgsW=hlXud5{Z*LwP%GR{C7GWD86%b#JT3pXRP754}FgX*unQL~jir*@2C zD4)0N2Ym6X^}fp7Exo;qVV1d%&wANTd=$XC@AgJlPF)4cfPF_8-SxQ@afIkGcnC7B z9^Md|Lbf42GCLd$7ge);Kd@G5`GbM+*CjQ;wQ8g=5&`j>={s z+eKvi8;_zGw8Og6`Yf_{G$%=zXwM6_<)>dIZP^_4v5QT}ZGW_!cl3Yi@0MQs>sR#C zuh^k;P!Jmxnok2Qi|0S%6L=X?Z?dhg%0Qc&XX3${4gjsfFJG`7_y_t)(&_sLj|p=V z-RogJ@lgjKv+;(d+sJKy-M>q`_`}4BGWKT=(Bl{C8Y3OsvHc3|?-W-C74~{G{F?K= zp3XGNwTyk%+Fb|TFIe^)J0LnSC9o9wXghxq0v=m*{q*51Xo|Njb*?(^j=TPOUH{;->N2E&Anbwd7<-;@-FW-kuNj*;j&s~$U(NqwN2RO&IDYD2%rU5o z2FAS(t+E{h)eb{>Wh`cO8uY@9a@j?P8XKyYTa`1`S;dHXF~lA)p1{j7nlck9g_}$GWEdwY^3h zeHg-eyt zxap3sB#8-DkDS4i#&~|pHJ^5o@m^A&_VC#z%JE6rw^$UTIk;k3cX^hqCGyx;(Q$2a z2BaB+@&1cV*Em@eI=T-5FK3v8b?c!#Gu9cNEjm zy2q!BmX+5>E48{%y&HjA2wf*U$un7dO+J-hlRO4#mQ=TLae^+HS1Sj6pHWN zjxAHBxsd^H%W+hx)HTc98$NHjgXw15)D!A%p5y3Nuin^~&JsoKOzja=l`-My@bCpV z>YtlC*cqEh>#j~nrPm<4HN^H-*2;xHP5P9y^!nb3sFPv`3%~GeA?u;Fg==hKbdXh; zTX7CBe9q0^)d7Q2^lW=`GM?vonJiSt$G5Y`)=e+enS|3Rx>D?Ra3}Fx!EsPaqdw!j zynI9_0?*`yL4LM;0du8Ufv!f+16^6z7BD{b!*qPytPjpz*Tl5Ut6o(+lQs(uC3?V? z$rzXWewNvxdN6`l0?yS<2ZKFP_PJmxcnIpES+w)9b(vw8;?2kUwZ^qYsvJUIbmUuA>T<2;@FHH4kVopAB)Y$0DN+<=U(&HZRZ8`|G?t-Nu!hMAco} zk8*!yvh6e9`>^NN`7N*0t%tW_O3d6c=JroVKa)Vg5~-fZ~o#dvJ#NLGY9E*xXAQISfgDhsa@ zZ`fY>@|PdD+0QO9Zua_anGP*`PItX%m}jre{(N`MKJ+*?pLpc@>R2f&%M5J9Hs3L# za-VYfm(SkTJB0-nr3vK#a%)w#uhd;mBD75H%UC05O}WyD=UCar6oc2eEJh9H zt%DQ&OpsNe!;s_nV-ZMRIC03NmUQb9c+*a2S^9GxLYKq)pSUTCjFJE^epcxTAFBCfdQnFEUrA`8@UlZ99vfdZ(|dY1f}*nz`@1dL{Xa^CAP z>Syqx^3YSgoK$;PDD@Hy>TYas5N#!smwD=14cd++>ZHJJ_&knPr5@(S>&~G9bKm>C zs-j@aIEY6=ebr49o24k{!g@zY5`9+dZj;kPL{n{q7Ldc`&oMbQU>r2&Na?~uecOn zd=M=#&@#?MaYrBdb+n^n)IP|e5sLoJZAg#7d*%53tP0`x8l~ba=gsN z=Y-v=&5E-V)4V)~=RW159P^!g`_i$Rlrvyt6;a>2#oT8zeP&MDOF>t?<_^0Pibp(` zpkLLq?rx$#^beTK){6K#sdYu$w^zFw>Pl+LFJ*d3+WEZwpmD{dZduA1!~nfb28y_w z#+RJ=G8ECP4_!H4imm;@7E3?fCCoBg<xP#QQF=YxKAazq{Z@w)JMRQLBWvy?5a! z?j?I#j(8pSTrw}qy}Lg4UrIU`*38yL%;*x5<1)Ux9$WcG^hdBQm8tXgEc(Zn+j8Rku7A~5TN_k|J1|W-e2@c|&aLBT8i#?4) zSZI=))yjuVUV;rs{C${VbG-2ymcb>OInag^bKE+MR~?8eicW%D4XujZJUm;`oxq1| zlzbO>CdnG8e$a1xH!)cyHjc<}Ik0OY3qNs0^Ddb;Ak0e4GGZiIlIyh1NK zf>-K=$;eB*4Ch8vCZxWE#ZO^;!CO9`qMtVceDR2M>i>|HYWX`^USu*U_KvxeepkP&WRH>Y#h2d{ zjTQfv@En}l?pNikb8Cxg*%c05J{A~3dtI@Aleb{kO^92>+&|m8L+!IImmhCq<*owz zMeN}?hpt1yEW5*C{n}+n*Z6b1(NZVR@oOY_Z1mBm5ww@q1pD)fcS)C-s_`1O*uSu< z`fL7@*T`3#oBw@iTV{N>$iKb59;r2#$$fQ^?|tl<<+UF2F>VoGS7*iBh7Z-Hxvjd~ z&$su{qh-(MkHP1N$KL<5%%k`bk0ZQ2Y?fo5d_J^{_cE?Y@Aa5zF6GU5`}lo*GV{4F zk6GuLM>UogF z%K?{HKE?)KT9&?Ki8rh%*R!&7ZIKxX)AGo0V8G7las55DI_PFt`uJ~vYn+< zGOu9L=A^|rlXplgR3{<^o&S_2IVUSt%iw@#;W~kO4MI;`tq^W2mQ?xe{4hFmNWsXD z{OC0l|7|R=*`Tz?v%gGof-QISl}vdxMrThLv#R#WBFce#l`qy5%PcM>G65AkQ-6K#DRJ^~f_ zB=DiW7X29qL@qlB#PwNFRTAIKw*X)Ag14Wav$E=zH!|a!WUJF@NPQ4fK4d#-O8uvV z9z0Mpq1fvih+)B3HE&+=%-Hi^{+8`uuK4;Krz^|8**7b#ko4mVGM+Ekry86>)Fu9P zlFNkG)!;mr#n#nFG~}nO0J~c2=cSya`&QzwzxzIKHqEol(DfGUp8RTk-YU(u!iP-q zwWXdBrp7Qye$1+`Z$@?Xm!;g=9bp}aJhqv;y31tQ3GDlKudlMnPZG)Zu{_|de9Q6? zlXD~9gh&9coQDtjt|k67cyGiCnD4TtfXgSzJUHmDY#-OKGodeFF+MygZO*=xx$>m7 zy!*Umlt&gQ|2)HO;|t!5Q)Ml$+seFk5pS3WBV}_0;B%3`{q|eVmhnC`{c6i>ckwCS z$GWr(-wJG8itZa@eX)ogi>yhBwy*R0JfRGqmOV%LN4P6&wMW{Px8@(mN=}#Ghwza9 z%x5i|Yjm0IUGXjJwQP{ zjXvR_Wo4uNaR0jB5AI+mS#hwR=I!2G6Sz!sy>|B-V}OjgX4x0w?ucR$zyVrz%%MWw z3v_{`^xh&ksdV+V#!xj5b@*^8XopQUXXLurRAa6{SO8+HGV_yL*v#En&0)~RtE74| zlt|h1bIj-TaeO)lFSBk0%&ttvwvJO78f9T-#*^<+5L%DDQX-C9rDu%lWWH*`Db>D= z^-PU}Yw^&u_S9pyQ%iv1tcA8%&svV@;!}|97}!vp>hdulpKYS7@iCA>^F>BB02@d< z;G8ki>6}blpp%D_L!IZO(ujpu4y7^z>`92*cg3~QTUorj^9BaFabiW0JUrIIIj2tw z-UB>1MxK1%)3~+6xNW)`wv7xVevDO9xfNu!3LmpT(E3c`iEEEz)OaQFf~j6jL;=b$ z7(&Z`kVKXfHD&n*ZYR3=JdsRyA!^SpuyHcl&B6}ER60{| zGr5kag16MNRXZB8Ri<HFjAx~7q`kHFV<>(py1ns4KCBJ`RM zBKusjou!zT4J^YOHJS8R9d)8*oyl7!y)2-#y4!(hhvi}Lg);y3zyAHrfBE13%gx_@ z@XgOmz`(Jbj)Ho2SfZ>JKjKZy(&)2(*;PIP<)rxek2gR3xvgymjzWLpslK%Nm-!p0c1K*ka-Obr zfQOQ+?0q?hdO2vSBu*LOYF`cbyeX$zyZH&S{xq;wM2G{%+T zfb1`S`OD3V7cVkMD_1vNsdeguMcqW2XB3BY(j@uuvh|1{?h(I*he$dgDtJ)m06km` zGmo&aBT2BIGScaSo;x1%34`Ik+xg5qRvU&yl_Q9ArBfCucR;>v2K@&Z(ZO4;udz=SZUoRtBj7I$USZM7`*Z7Z}lehBOmND9aSLMAS*dUMk!gONS+SrzH}e>Wc8SK8sfUmD)wpbJ2_YDV*1wGM8l(la2%=;wO;W7Y5<8V?{8>wnQ-b(J465JUrZ`nR!Npq^GMG_=a%`i=>+ge2jY4&7vN07X%-l zncz$NvBGDYC|h}|*mUmj?g~1zM>NJgahMY((Y>=nor{AipGk@sB%D|{#LEifn83PX z>z$7$%&>eTaoxeN64MB*Fw`9RrqDghit|1w%OY(&CrTFfV^#?34hsWz6te=pWogyB zQWm0mOB*507=il0RqdLTRpHy<)uo>$u>2ipze3qwd2SZ+eTKZXV*?lE9jDtE79Z~o z8F{e-9pvYPvG3ev0!CWB@(@398^~iEl}T&(t(~bl>W5m5MXve4oUE5_t#JsqhtQT^ zmkiLAZL@01bwvn>0{Jg0OQGajy~K}Sv+67#?s{nl8P-2PYvqj-kZvAeliRh4hM)By z@0w5qaNnB*19)17g`-Y3a?2?;3+Lz7;k=j)-RzKZH!+G)H!O|R1?mI1ikGW4y~^a; z4xMgDS~4vc5AwI}E9)(*y8rr@f4%uX{`bGX`SXAKf8fvRX)6x;aVVu@F7o_d>{s9X zF1+&=Rt52U#;2DavR(O?AAex-`OD3Vm%K3-xsPox7~=E6PXYMSJl~r7mdW1|px58( z*x_8g6DMUu1^eckZ*Knhhd(k={v9%SR`~0uH(xRVe#+;RUht62tCxNcmJXeX?^jHY zU;oDWDbF16U;gKtKmO^z zi+z@pFN4Df=qwz$INr84rRo`>ix|>{nJ0){QckmeFkRgyz0Gj(554}%!KPEL+jK++836A zs~Dc^y3^Pp%b{^s$Z;&Y1BTz)48?o1Wwx{Q+InV|v9)JtzC}M&V8dg9Bqras?|#U$IP#0Lek!`dfXk3Ia~BR%V~t@mwLpU-Qz;UQXl`azC8FYK0_)YuS2uXEu|8_WYMV)nsOB!8Sr-k`;?ty-+%x8%|HI*KXQ%v>*zaH38^6@y>zm1 zF2OOEkFh=MYxT%IstWqMx!*wAYnUS;}I$Imm*HAkx0c7rl zK5%lkV#c(LT^x^I8#0mrKO|A`7RsUKtdD+4y}-w*Lnt7c>a}}ArjVxR++>xdeNgsin<%>?=PH|q)oK`4o462cI67pMb0(I0)QLzYZLshKH1C)gyP|K)bB-hC%5mAAM2Vf(I{|o(X2jH~Mha z57JljQJ*R!?QzoQO$nh6IHR|;MaEg3_!p*K@rn3^F7BFMA(qQ%T-!^p)S&w zXB85OLW$P4(v)YZAtFvLeknsU)f-&>DJ)xiU}eXr-QKJq5>nG$j+XB`;MuwZ3hG2p zU(!WVvlEP01UPx`=!l%?Tc>;xgEwR3rHJ@>bP`(PfXZ!8^0HI2K9=__7So)C@pHSc zZ~1)ACop`DwE}A>)YUe&5OTWiSs2a8Z<$!SMO!$1R9@XR7zc;-Oj#e9mLezPH65#~v2O40dJ{Hb1%LcA2W=KFOp~?EFWl109P5t!UFm)P zoENF3vPmw^8p3l;PBHMpPHsgb>4~lrMd!8ZjX$AWj7Ash#e|hMsw$CfM)|d6O{kmb z;;%Bof-WW-tP2VBC>~qe+ZPuom#o%d=2MD@QhXQWTO!RXXmPN9xDSsOghQ_I$t)w~ zvlax5ipPx8+;2Zec=3Se-7G2Yx}oVxEddR=U4!zecfUYk9OajMWp}+9Jj3|% zVXKEc);fNfvT|FWY7;Rd8Ku)T9M0q1*3QmSF72l=$~T?5_PqEe7DW2z#X@63~Yaeg^-ca_Do0r^#_oi~=&0N*q z%K<~ECDc4Y(fw?ja2^nl}7^~kEJ3J}Kd zF!95KgapemVO(du-q#CVi%0l3&On_{p&z;kce3smQan3$atvCNZ(uW_xcns5Rf`@# zO{>3Ojq&U*%OK$Be$P|0GJmCQXz{MGa>aWAaK$(ugJp=+!_c4R@*0})wlaZ7_h5{} z1P^2&Ic~SCo%gA4*O8g@Q^b4z_$hdAcv@*(4X&Mu<+Yarg;QV~VWc&X zL{?!1lH&@mm0R9JEx}=J*JRv@m>tSP3O|#pYMZR$GH_)DbX^e_zx0YYjUb{u_3qu0 zQRL+94N%@37Cj2r&O(;T=ohEuW&jyZn00_Qh~i``&p#6NE>*!egOD-CQr4|AOcl|RMTZ=4o6AjQ|f3XX3qIN-j+Dp53HM{z>kY#hR zf!*=VSq66SomCMCrbL+HcdkwbeT<(vG0ye;x%Hu?&Ikjx^PL#VtvWvG2#@9xy;}Pn zebs};T;&xFaIhZ-~=&!=T7#!-;RY|jzSZLmd;!D~t1M!3sgbtzk} zw_;_~vgdMX*ot*~3{wc@oBPm*x|k4M>*HN{$)ap2pUieCtnWp*aZK|`=}3CD8I4Gg_VlEl#g zG%vO4EQxw+hhy`Moy;p%N7P%`plx7{#fw<}@;+kKF!K$qhjIPlGsW-6%-A`_I}j;( zat8r1=OVs~XdmRM5B!BfWB6}bd;CtXoC~5)Ygi|j5sKBqD>-L)M;>{3Ky`H@WJ6acx}mU-zQ*`3`OB1Z$qzO{ z(zS4QLM;2pE#o7reUpkT0`k;jl{Y3@gGLnd{8`&PyXRkBm6`3uq^;N<9^gL(*9#7O z-a=i2T9fG5VFwGEJcpbmGQpBBEy1`Vog7P(28`TSD4!bu_)p)6CktVgwLWy4y*FM= zdGuLg{$<0N{Mb@-`d+VRf+HUoHBZkHdFqgO7%?G=vq5o^Oy~~Vl(g1IiS?B*br9w% zrQ4L>ads73c9xI%jaM~620RbU1l$gK=>*hQB9MFAPwF?YDt|L?2?`n^ykMrzz8zYR zKs=hA~? zIZ4E`p)Je~3+mrO+vPPVEmbG1)=!F+koD}?QRa^JN#&>coJ>81;2G^OwzU;WtJXgr)W*vs7L38uN?Ngj|g_KnSPgb z=j6xWHS_rYn>}}S=pdMVa$g?OeGEPy%Hu=nKg9k|Mf)*q`q(_~({|cFAF9iT(zhO- zk9k#}Ue|E1Pu*XSDBY<&YWL(lma<#lT|#D2iJ$tduB&yumm^`EDpAL1P-+BVH1a2y zJOUepOa2TTc`->ip;-vaB#yIR9C5rS?2=7`MKR)NdXK-y5jlK0XAC^)p)TRU(ZwE> z%NUeHkNc#rAf^k5h zlTQ@=d=uqiz`oGW*`<>#P$xW2`gDi`WFL-q;F}6Di2KD=nFxc}FG0#=6 zq&bYzkdHq@wiiG@k_EiOQ9i!i+s5G*16M;j&s~?o-;NHd}exBDQ9cv-V>NRjzg+*}uo)uT( zS^YyX{c3qQp?mKgDikVwfR>5!$8Ts@CxIiVpCSz6yK?R%UB9WTce>Qgd8s!AMOB8H zS`li}BfdVwCrnn1JBe2}%MjJ_;sTwat!m`}yPmU#Ux4t+Yr2soclC;5YeNnYzFk5p z(-(q3NtZ3~7&iLm#(u`!t=sDE_Ga;OLyvrMqdR9e{uzQpSlZ-I8Q`N+wry89xm;U9~_;7N@mNygXc zsX6fJ_LzxXl#-(w>q}Og*)IKn!gUL{E64qPW54&SFQt3LTdsXkm-gg^U7>RuG-+P$ z^&p>$qI9)YJtM~nH!IXUt2~vo!Y_uHrm2Kz+2*#BO;>i|*dEj;Ys%gj(BJk$oP%h+ z%i1qzt+tlU942N{wCe5(=yX|FN@=T{nqR5isiG|y@u}Qa>E;%G#Y(^O9}o;EdTm*$ zit~ExwjxBltp<$;bYUR|oEM!+in>%7970fegCg0pE_2+>y)JXw{5^goUeKdxJQ7sJ zA7!hqdtLySFw33e3&Mz8;vvdREAE^&|2FzP57S5CHa@f5Io`Z(qZjXpuIWG4`N&6m z-q+}HjXg8pYk1E1pF4hyJ)g^l+jO}`kK1_c{d>goHXcVbd%mXc!sl9^M{;h1-KK~1 zpHhAWlt1E3eOQxlOTLf2#XNVCNveqeRqa z(S`V)Pmhll^65IY_*XvgTyUEIJ|3-nDwDm41NyKHi9_B9Y+U$@cERd&o)uMixK)or~7k2@5ECdIZ?B@ zImzgix4cvZsFSQXHxucas0If*KMm!C%t@46znwHXaVr1UB&JsDbbHB4xIymubo3z(T72AjG6kewp{ZJg!m$(jL&yR z>nLJeKSC*QVfqqqKcF3p@OK2?~1mgyV$^Y5hCpe=83mTSk-)y)!MO#0O^ zj|KqO7K46^Z1D5!zRounc$dFC)47nd?_>a74k-w055a@FXOc)_P zYhHl#8_yE?CTh1lKl*~_etDtRE1oTS{pvR+mpIuVZ|tv&UL*vzTnq~9%#rd;#iZ<5 z0e+Adndvd>9iMVyV(zD(9_6!3v==@Vr5ry|Wr_R!<2=``|M8c#Ln|#8`+{uM9+T_R zuha;JcYh4}%cQ}nxe!9m;#M_lw&7yJe13C= zd8B8(04+iIZFOR%4`I~Jf#i_a$%Qle43!qp6xqvc{U(%?Xwz(PwU?k*%N?swbJ`Vq z^=4ij51+x$_-&!-j(oV$@eHG;H@op?*cq}D@JzGUrTLx^O@NtR@Sewn`bnee(Xw0b zS+~x+O^KQ2Hr)R&y}R zddRco&ajUu>nyL)Wh*y2&}nx6X*a*QjLl4{<6R&}dbdp?*~RYrFaMKdsVhv$;JVpP(Xpu8?iG(4i#X4uwXdf$m?g_(IgJ}$rrQ|u9flYJ@+`J=#4|)0 z)GcGLhqRv}e71>l8+NS`nZ(5Dx~L|3z6CEYNHXmNhDnIQNr#g?eHf=BthTGNVnaNi zh9NI?B@{I|7SE%9j+A zhF<+yB4yVV&l*vr593dJ#+>4ICttt2%w3CJxl)Jnuk7yiNm@AZNn7luX-VW|gzZ$@ zh=}M0J}g@kQf}zSkdKh#?TzI|$c=f;-ZWIFJowJTdR6)oR@16#+&ff}7dZs{&6 z<5~2?smqIpI%plPDJ~$u2LzN!+8P=f=fda6KMblDZK1UUT!chH{QO z)5tVj-~akHw_nS5;oGIZbkw`idqeUsZr|=4yI@iEyW-tR_6W5`^oOhW;YI#DS{?bh zC0m2e{2t4$+on|vaqxHL&o2Svjxj*tA(|LF(Z$rPL;S!M%wCo!9BaC$!w*rZl}p(2 z#2ikTNA$031)p0d;nl9|?<_=#Sv3-XDp>X)siM))KnCR^zbr$+@ zBfqsV431a947|bDesWFT#y!K!gS>3{?lSH?H{Y8a;Z1rHG_Bsna>*H-A_|OTO9w`M znuA{CES{RPqAh0YEUzK!AzBN617I6Il<%?QA4@M={ zBGyhhxjLBcTihF5p*zLR`sloN{xwe=<5=@cz8Y%49^gTsi5VQQk`NY5jur;v?iex} z?9O+SpHQ!PAlLKQB3emj3v*-6NwiVzieE!hWG9Yy$&XxsG?e1&cOIcW^+!&b7^>>H zfu>%I-o|)pz5ve2YZ-`3N`mRi=!qssQ5m=xYW=`E{ET zXS{!l-#Gr6ImW8I5!XD*dn%G}BVPd+CPH{#8e}>8E#hDt1~F;wzBaz>q6M)W!I875ca)#JVi66{t!Wx+46eF=hS zl)vkW`224C1HAaNQ_ACVi@#Ineg$8b z*{rjk@sEy^9lp^vTr>TcPe749&P2dTt|9 zxQW5odpHr?RM71R!ptt^HN&C!6++)E+iuEnq2#v_ZuH%`*XV}`*jRp>cj~}zLwbkm zZ^_3Y+K1wI82^HSuE)OzzJ3opd_mR!jnrq*fc3fRwEbrF<$2Q8_ApVg#}OAc!-e1@ zqc8hs=U|B(@e2W?hijS!w_tYv&D8=Y5COx1&lo{?0F2~H8-c)?Z2sIIg3$!=R$XG(dE%R0~Vv)m^@GBQa9U zCzJ(S6LF27fu8tE!*hg7J0L?BWE}}^>L3tV5ISk*pRoB?c_dNQXr1_KT)DX@P7MNg zN<{&n|Hng5d6Sk$#R+7CK%`I#UBbcFh%_KzeyPkb<_=$sJplbCI>#~P#k?T(r;+gD z>bqJ|)o!VAQYj{)6QhPR+;Pb-m~knK(u<(YS~2R8WM~H#+`@+oacP8L6!Dku(SgyR zrDRD9g$SDkmcf&<>pESiK;~hIn8qWXN=y=J%5Jgo8a2_=$SYE!`iOlk4yXr?ErTrJ z7|h1_zf>-x)?x7iL;05B?GCTx0pwZfc=2mo`S$-^F1dx1p0CA^F^{3_?+tqN`iehw z;g0t;KL;dpIbscr$A(|od{4|V zYmMhi3|zyykM11fJcjMJ#x6Bfp1Ryi9IKsIY)g(k^?zUX ziW3RW`BAbGb~xM)pVN?88GM>yyn@EZ$UD#`J&z!-V2vGX(x>`@dJqf?L@aSlcktHy z-9e^K-T`DHx6OG8=F zYYwN1{2O7s8X%d3@;2p???S!B*tirP^JXuG%8n!eDm=S@w1}>#=Ce8J@=Y$GqNfQn z8jEiMj&N26jd2H_@HXXfr`2h?*lHKND_NRzRiuSb$rK!Z1WcYf>P((UI}nqU3A7*^ zm&V?4;4QObM1+mzv*@b_(JZ^mf)a6w@!>Idk78@cdAvFLBiUQ2&8=QFB3)z7nJdb_i)&J`$=cfI_1wAl;ByfIpXQe!gt_7|)C}tef8{S3)sAKG5t%V5qYsNlyb5zgyyffBbn!psqNwbk zi!6mS(P3A-bc8(Qw@k0mZH};m!`qwvCcJj7N6DzLkSeAPj;O@%eE_4(x-K(~QwNpo z)Z+J>-><&;j^Aefl^xjkKx(L81+{Pvf>#=s6Tp}^bi$UHj3_jU5~ z;qraa`|6t*$(Qf^ZC!V+Q`vId`kZg1C8H62#jbOHW^2gSG@m>vqu+0+#jA_K9loj@ zo7c|s`Q9$#SR<^rMMaKexzuFj=o9d!8Vx;0EaCz&;0tY3B^`!~5MS=2+N10XRI@bHfMaD&gAkOyNzcA_1?IjsLk_bGgY#6&mkO8HVg_h8~k zUXKC$WOfU81EGkkwLexIdo8C z(?ErgH3z8hI#nQ}^V9HDX@!UWNLy)6*l^{XrQN-xk(^}79I`$PtT6`mx`2^l`A#e! zk#jG)dq@6m4P_M)!?J6^(2i=dqHAbqR9tI(V0~nFau_Qb1bzf44tIF-&FH|R!Zps^ zd9H~plUBp2K}AI4NW;6t{eKv75(`@9g9* zgbQY{9~P9sWaB2bMG!Y-y(s`NtwX_`#220bG!^4z3;q#BiK5KajG7Q`cUG_5Rm4`T3i(md>(mhoKhFcrR*jQ94KJrdn6R$zu199{%hhOT3N zh+ch7u|!Q8X~0mor4w3YY?_6GuzEIqyc1X+%@{Cg43%4qQuqJ0^NfJcoESqD<<%$+jcmw`o?mHOfiS*=cRWf zTmR+2x*YBj{QmuQVSH%5yZHI9l73A2{7uKdRc)xTaNBcbn4x1`x?9<6pq4?#Rq{GQxp`0%~z6C0R1A9jR+xWI-AU8_*4YDlnb^ zW#bS_R3lvawdaW+5WhD*g@y)nEo4wmo@5n{^VpsQuza2asLrB8@>w5*QJ21TYEfO5 zQC;O9qnrHc=;RO30iJi&5qL0(y5zC*I;rsFA}(nf=ke>;KmW+l>aY1$`PIow{_jpPc^ng*Jo)*re-3P2>{Y@>S3y}AThDSEeVe8d0iX4sESrbB*X|IXaOxZ2 z>~NpI{F>}20UYiOn|=kq9{u5i5f5gV|K(qO_&C>U-uy?AGv!CSF6v6$iYjXZu~} zi`oXr8dnkI4Wc3EenbQG5FJq*PP+|d(ySA$xEXlM>YVnd{z2#lAIHmdSDUz--4w!F z(l>ay8^dEle7ZbVed;E1+}Axc->i;h=`7_H&% zZqZZt)A%z?Qe-Qcgu~z>&L$gF@&IjL?rLVIl7#R|$^XT`Is2|=eJL^`JSUsgtv;j~3r49^a;>sxlzWudqtt-Am zL!3vt)=78z;T;+!ikicXdK51@@M5`(cfV!<EzJxashpt!IgqCnZi9fJ>9xzvE!z}ueV05GM1JXiaCO9;V)!;?aYIJGb9RRu z1YGFlZP#TifB3+0a*uH*3^4kA6o*1nS7u~kxl6tij7(`Hf+Y%AfQeBLjFcr?y^wKL zXdTL1{dL(Iu?<_ooqwgaqDWjAF67(%LN?jZX<2AMDbB_|>VY+Uk$+F!XkJzhW?ykA z5B?o=q@`{EAiZ!HTElN%aiq}~mRUy!@s5Orwm3%I&HU2H|I&{%}QOo5S*K^WPP2{L#(<9nE|k!dHBijvMD8*nRPx=Po|><(=bZK01D1nKZq9FqJm? zlUsDsd4Jb$+raosZ`$(MZOM2QS&1gK==|*4FUESjsiue;fs$T3}`=!Mu#5u4mD60k3}Q&D%Zi8G(W38a1R6|%9h!fJ<)&e5yjGXrFl#&;XP#M+<`c{crlF;)!YTvCJQ{B? zrb*D8^_$4r*)I6|JY&pZRXugmDXl>?JGR7VM72D2i;5a!3I21`m^?KZtVZa>IrU$j5jyuXOkf0@n-cX%kGFfo%i-|cfmyK({CA? zpNdIBn9LkDiNZ*{_y|PfkRA!{4hJAegeKfk=TpAIlr)p;2t6`D%v_SQgY%sZQ_skw zA=;OF1vUl0)`MgUw0Rb8N^cbvU8u)VjES|JypY?U{ECi8UP&vteE4T53nb{w@4lb( z@7#i{Zpnr#J6iAyu6%d78X$%;m1q2!zXp|o#aEJfgaF@vyHm@Kt?k7)vtDv6`}HqB zV?^_t$K$;N@nnC++OA&8NH*{BldZyj%<27`eE8j&wZH2ToW>6V?HSY~C z&D1$_0F$y3Tf>jH+@x&vY+N0+=UBY;C7pHw42}|Letb*2`Ow#WvHg~~a={yPXL|C} zJk9YzHy)7#9u{XircEwCgTpr+79lIkbC#_vw7(-Tvd^%8(XUXqZ1*H*R#+i-;nj5 ze8^|y2tQR$#`&+9c3?_&NIi&@rQU3 z-abwJq_74~^%18UCRI!%qr0M4eXW3*Q<^c&ui|%g9jxfB=3T)jtwBS4B}=_$dE)OP zOTks9g}o(h6e|gf80~@7>V-cEi(oKrT7vy1Vn=4;ALK*|X7w5`q2{CC(rJG|S2%e_ zrp{~neO%)%{9P_91~=gp)O2b1H}h)3Ru2VZD;ivl*CGVrY4l!+eJ0;;YACBX6{aDk zacX;VLg}uXinF4buC6?~8UrPhBO1ccthXN59uh#R730n#nHzz+6HU!OL=3JG7v%AK zv=$hUS+2%w(DcO2n1?$0yznn)8h4`CSaxU93#vj6za72t)%bx?aAim4Kp}IaOa>p7 zzQ!e{geCG4d8Ajm9D0>De>K)S@Q!%&uXX(~19A05=4}_9Qd^Aa*yz{*tYl!A_)EE& z1P+f+=jWY(OBoY(4pi)ec@%PRk8(9i2{T`dU)_nX%eE%XmYMn`AqdML0S28VX7CjL zfp9TEUM<(eK{OvM`_S0-k^!6+Jg+0oKA+% zxzOv`%a&^S7+6Yfdb^ zh|S-tcG6tEMI+h&HqTQ!)aM+p|KU&noqpzw`t>#^8?3i2&yrhS78xp5KCCy-Uwn1) zj7#3mo;^Ex&xLcpzWpUPv)3)^Lf!7Hzt3L0Or7=ncvbj@OY7dfeNFpQ&l8S4e285f z=iDIw3|?Mx8J(ve{8_d9=D6S9o9_-MjBVIYAfCgIKgss~9T(`m`GtiZZg2-@r&zbG+bW3;xh{Pu#7wj@|L#ey#nUfHI4)hJiJ}rpN$ibd|Y0>1JBP{h!WRvIQSVi z%IDR$Kg5{x6ORx6tQ;JF_4Rl3Rj)X$@=N-aL#I`u6L6^8m#@B|B)BLMnckrnb*sCJ z7kTKuQGX`t)TJz{pc6kQvF?et^%}&RNAYr&dgA>FD&Bl=e)%coy#Y^IoSmPiZYryF z-m%8Aj11J(OWMsL{^ey~nlha8r#>uW+e_LGePy-3yLBS3>f|YSzWVyx_~l7F>Q$p` zOS}8&XZ-x0eS6vpcpMx2B<39_dD3>binuFGy|*5}qE1+MZRY-*-I#DVS~M&Ch>LTfU1A2vg>#Deteo zrfj$uL*6V$7lbUE(lHliX5rSpa=(+0XVfv}vF=+|_5+rWy1r|1W!I@5h8F$aBvW|k)4uuc4}9Lm`-i_v-ynY5#N3Y&j4heCQB=Y? zM>#_m%Y7rzF|Vi3TugL<{Q4umj*&^AOw{<8OJ6}IED~9a0dYLm&d5euI8fg4m)t^| zrRt{v!_L<-_as#FJAu}GJ=e?FI`X!jr5)#6K7y;}fR&Gvo8}4O0ej@jJPUd}!7<*_ zJ&2NomdVdfEze~W$GP-9UH4nXOHplJiiurL$ll-9 zP)1u8n3dP>KF^q=oU=omDIH3(0Ib~EX>*qt;f+(n-a@RNwC}pmHNMU%c#W~S@PxBq z%wT+1?BrXjnpEpXXMiA4m4_Ln!KF||b8km}cTK&)8LVN(Iv^j$NFaurj6(M#LWMUT z#;0QuSO>UXr5`ay#r4}j=>)xE8M^SGZq!TWg$SzNA{Z~zQ5*Oe*vZ)PUZUfs^YWSW zih|GZ&;*lr<%i^Qp&>7QD>P*cmh+KW9mEY!2N$$ND2L$>@X~%`)QkH+(NFXW5OGu! zWQ7;OBH|CH<5~YnQqr4six)vfg+&L3Z-?f&tCR+52C~1$hnSa8axj zUpyC7dPsZfAmpU(*~^o220)`v&zJy_CT@3}GpI4(=R4&XM6K6C-fc{sI+6PJ`#+-N z>r95<@terXwsqnx+D!hSTPGTjwHhtFA-R(bCOfHpz)NkgO`3Ws#0z>nDbf+K#Fr+v zEZh+$w=~%$tE;QIDak|dWc%xT3bSJPbRB8On zgA>?%<3Ht}^X>E7{-m!FWn2CgUBr-t53b$Ymt{8&{iIJ)ukdokB=+s=U(l0zp9JSO z_7B5&uh?9^IK12_zanXI9~sJ8XfQBUn9u{92YOm6K7vWzB7zc`&8?Rbj98EzV)!LjK!fm;`LVw zeE<69=kSsX4(Ccz6c0XKy=+KIJK8p>dgeE-2%D zF8RX8SH%aEy~OeYUTnj6@u3{{PUrL?_5=Qsg!NSk+ECV@Co*?&e7LTKnJ(`wPr{1F z`eXkj|JGH1$E)4dlzxAw6wsXwp2`62pA z-A8BD2CA%8Pdok5dz9;`lJkr=YPuYG;ph4(ZPvQN{PyZv4{a)VfvWC1VRNM`CC*<` z(WV9zoQ-Y53@{)|!b-8?Ys07TRh^S2^EHOmF85iMMkSCmont$Vk`Ffry{pK%aLv63 z-Fv>IFK+4T4=rCw7;j-rlZU*mpV}DyYK(q)A;CN~RTb)Jr!K^y3lI3EKcYrty&A5d z_df$O_zwjBIatE2c^5is)T8@;Q$x86Qdx26(_VL1K zgt?<^Tns5Hqqy~pPlGT=|Cq2Yw8U>bZ#y?DQ1~&AK*X8nlbrZL5I#c3Nwhqb5t~Fw zQA0G6YlodY&{r|-;<7UyI5Sk43CI65w2I|vi4{X&ChnW;K%Bqeim?-)w{KX%249SD zCNd7#Z+`iaiL>7U7ahy92D-v81;gTyy8fl?Lv4N3F2!>OO$-#^FR#2^`&SGWj4=K* z$j%t3FCE>G$;q8`onV7Ch-TWx$i=8KfoQH)st@o5anal6hMhsLIod*mbu|%w-lC3)2N~~~eN=idEcqpBSXYgV9+`~mgc(6T|?Dakd#VU{D6fcECiSF+r!;k}n zrJG4Fw_#Kx8vR}jsNv~kTAsoq9pe*LYV{|LUAtM|yLjcDf1`ZVdh2!vk2NHr)5|V4QTjeuQ@Vd-=JqQC;X zpzN=+=)8-|P-K(#j!y2<$W1)knCQj^aHMmABqxVl*wIj@9XVcDA6$U2d~;gmR@R1I zEm!2R4Mty1l8Earw7D`$*K8)9lU!FUVCFL_b&@s=C(IGDaLarl^Mm(q)4!NG`GqTV z3r@owr!1EA9Ct$$Bi0O==eY|Ldy+Y(^`rsZP;${c3F*AvqsFk)*fm;Yw z%(2hbnVdwY;;H`?9EgMq4B>@(JkB-rl$*RAb@V%VCprs3F%06(L%$~#?a*mHm=4!| zmKloi6>hMtYz@CAKECfaHI%ynYbcx{v2V4i;Qm?PjB<)>JMqRlf45dc(r=R+&P|QL zlR<-5r7|9*@}^M`>06lW&G6=bTq+8%W>e|Xb3o0}Xz_)o0sO$%N=y7UDrtofd`cOA z;&{PiI!waZfh0}iFHO_9M%KI-76q;=eJT%O%`^?n=mt1xw;o({P}u%f%Uyj9r0k?C zckroLbzv^ZILPAHpwr2dWu!~`;KNs!Lyr9tw(}6i9oEi6Fm7Zk0I?Dw&y7Q%Di=JY z3Gbi0yZYhr`^W*1^&@3QW({YZ_~f)?EnUisG$bmRw1!wl)#6JyHfJ5z@zOXu#llcH z?HOgmPXUyx%D}?VdIi`V)?A*{3d3Yuoq;WNqIRMy-FBVYM|~A%AIG;mR}AvEVh^I=B9eq$ zu0~n)B8Rjs`*vY1kB(X2Qc-qyc-*b@H@dU)IuTsG0|^nWk49^qxnS4FNt^hbs9Qh$ zJJ!juZN;ObPW)7W6T+_BD<5K1C&fqMFHVee^5<@xM2 zkJJ{;-DmYN6&HO_CQsgS^E(sp9M#lF1=oFCXfpv;C(0H)9&OxJ#w{r6BQa7m4wT7> zbm?uky=TFT^xN=;7yA=umL_H<_tpxaP{UA*zL0^98S?9`iPS!<}|f={;S zlt-E64Wx%zGmU2Cj<}yq=*&kU+@23Ob?g{oIj7B09$lB@=L)^*)VC)J+`)gxX)9${ zk2@}W)Y1Ot!^MEKz1#R7NHR|>t0?s-{UiE~UeH;MbL^Z`*VLmt=`Ic!%I3FzsaxBR zy6*4M2g!r4)XxK{+q9I-Uir`}gH{>J&Xk$Mz=ygkS*yHr#N9q75c`RmxBJ*@F4eqv z$5HO9?HPPgbVk%G2t=WMu`$RmQCmT%UaRW$o`dOb^OA80V zs9u>{wtSAeqsr9W4}4o%6WLq6!5N-?$RST2^E@`iEDbS{W*+?x+rIlQr)<^)NWlBM z&?bM&-0uZb;~sP+ZqyC9CBx0c=!yK&()GJSpZEF24CQ?av2s^D28F#XqNgGbnT>g> z6^u%)+8$ZB)S$B_V6ga8I_?e%bL~K=>PWH@_~+5b;4m7GeythbLM-H>8fC8^SdDSnIp2ocTD!GXJ>qC+Ag zhj`71b8yLrK4qmT0uA+QSek<6X!FP*J!_DifjS8s zaVG0mmUNwF)PdY^3~}CN%!;}2>&s+G9QuK|q?bIWHEED!?oHiOSC`@jNPL9>AD+79 zx-e?kB@IC9bpMoCa3`;DyUt1R$1%yX-ZoyD{K>&+0d)Fj<+e@1-2*ovdXgxd|v3&id0w)eHVsH&4jETk$h7&z4EA&J$W!3R!4k&Qwkp+m^2fY$u;GLFZs57r;R72 z@QF|uC)+>%+yBSUkNN#7NBwsUTyce)dc#24nRvq3n0#^c^gYLMoxsai>ZA!Ed?D`OUY*Vcb4E9&y$Pdwu#N&5^Mod|1Ziws>Y7 zisqt&ZQFjRjg8(p6@wG!^jnj`GUE_N8p3^iTf4%>IZ;1m0mA;ScD4Bym;TH}2m4m} zvM=$i;p8H~lP7>m&clzSW1UxNxGOATN|$%6Qw?Pb?qwnqQu5Gcz6#CeOBfjkb-+Q)D3` zFnO0u>iP6~91Ul{un$z8!g!FC;CV|sb}>XJ-jeTdeU%US(Gc|rdHN4zF)ZDTVGw@f zxAoM)HuBwJ_R|Vad2O9^UAVK}w-ax>txmdpd|RLL4eiiR;^5CZB~Mx081g*<*3Sv- zXRdqUrHPEU@I8)-OBn(WkB1#~j<%Pv=VteEBb)7-8kF);ww6ag@l;!(%n4VWbHNM4 z6r(g{jh?Fw(*|zii!^om*FXRB$#cr;`>$V|T>TG@*`GX<)S5Mf2!|uvkKEzVmm3A8 ze`0|1GYIuq^9vSZ+!r7&ZHg(yA$BB@%Ul7_%qR+YBxE8kH1)?bUib~x7zA$yMmDC) z$!eC^AB5b%vt>DdH{QABOv5lD)m+xOGs)`T_op~9Sa$p7u}NrNCqly41-HeAj84h- zW~cKiqiWKnJbXxO@K7lx@}Fpv4mowx*&AjD_cpS_pW*$*4CO5Vsrsto~AqaeN5P1BS zQM#CcOi1gD<@zKGA_Z^#jX?~YF%E1l&V+iQCZBYRFUv;VM|Xm4oP(FyYXT{^dw__Y zQ>1x@HUIoM-y}N_`Nu>j10fUK4{pu#O_1_9X>pMDn=SKsT(OLj4I|0}FZrG0rq;Uf zy>W8cgP(Ypwhw*7?VkE=68y!e9+9p2$Rr{>PDsv}2&JZs?BYB_#*cYMERneuIk%=jBuklyjo(Ac-LbBK@9FGvR;hMh2abGL@f zS`J0H@!Y{iWK3IQ)@Ppk$|HQ|FCM$hR?5flQg~Q&$W(8xSBLS~_Syh-vg)_Z_7k?* z>uWFTCvkO=}mc7j#i&CYP86Me5ng}ZI#P@ z&ILI86DRNQuK4Deva=o;=VG9J-4p8f)|vmVqr^)dVC7w>+%DGnEwhvVDqFZB?m0TL zf6K{%0dJl|dI4`UZ`A1)|k%FN^8b=?13>fGVW-0TlOeyr04 z;PT6#eGB>iz9G$&ZW~L@!xMi$d|QqhzqVo9O+la+jCIP~a{tJ^2PtR!U$UG&r9Lp% z%3MiiHx5q9u>KgBJ4f~4pU-Um`S42@1SenYg<<-Ib^pcV7*=S-?Mfd-l4qiG&NV#`tH%n4zpd`#PPwcvb}}%Z;W}Dxgb3ellxC)R=WO$6qMT5kM^z8zo>G%GtF` z6oIYA8!zvCTfp1A5stK%Me98Daf^ECR0rX{(^KQm~;9@nr+7ak@Uvs=uX z2VUTnA|<4ZX%qm2FT&?px&s&_t`vGCTw~bs6mOZaC7C3e?nJKO$ajN}p;V9m#>l1q zr8MZs-D%ErflMA*?^RlLB)|O6JN%MQquEvW58Q5*1rH#sqrn25;3bdxJhyTz`ISk& zD=rCpAB|ye;*d?++^mUF>8-TU4x_-+mo@mvvqsSAxtEyK&X(BRed)nb|LnSbtklaV zt`MDp7eA!}9d+X*_4G<3mU3eNba2dMkTeHjH7RWUxw5@dvb=OoN?vk%w(oY4^DA~Y z&R^1uoS;j?)XIN)%7kf5NIK7b-=dR_eB?dC;xVmQUHLUWj)Xn2oqF`Ubw30f`6A>F zjumbv`e2~sAsHs;y!H^Y{u{x*xK2C#KCFS6=Iq~*a}@r=XdmWkPMK-X{(XFOy_)ks z#Q*8?9M-nG-~Hk5%J^mwk%#o1r27r6xAXt{roN-qV9-#AVL+egQR(ANyaU|QwqtP9R@8}p zjRR@OpME%n&#xInJPA-2ukFWnDE2s=9Ll}MABRU7&RA@;%rq!nEL9%=G~jg_uXcp* zI7aOl@#*z=<+6R2v4&h-zy~kz;rQXjkkU3?qc00D)ITru@>sofKqE3oyKnz=x=G#n zcC7k}Z`|uBb@63+D|hR}{`2a^hwPYpi?;f6XWKS$j5|h$h@5fnB{yz=^X(rZ=Uup6 zoba+Tzs+}XTOGRKpgdl#7M)VI%BXSw-5=ZqF5Sw%I`)Qdzq$7`(68*?A2O8p@e&Zr&dtQ|oPNcVfVm{rIAM4XuRxFLn$H=jaV`M(o@Ejye9XX; ze;=+X`IEdeFFQQ#1nx_sY?YGNdG;qEJDT_xGnD7zvl87$J`F|(7?q+S^b8AFVNIK@_5T}8c?w={2J(>xaBY z_rymp#vy3o15ad1_T>@!U@*UVc=KdE_agjTw$en zj>Yme&dIgAEdEY);(;|^kBgrwXixSvMm30>xLf};;=M4@+qY?DStOLMeUAN4^=)O$ zZ|mui9CI$M!7D1DSWyUXP>KK_j`59<4xn&7)-qoa)m)^79RMtM78wH+AQq z<4*qIP5xZ8a(-ZB?XufOTo@savx)gO8939_t+dT|9~b?R!I9F@TKYP5<8RWdH~-|% zIQ@D)UioQ+3r)c?FqkqJsLZV%#}&$JHj|Nl|fnq@oNJDug?H$yEhlrRe-d6O0j( z_t5@b3K!POIM4>6jlz7XpQK%|Td2|5$1swIELLE59aB3&Vg;8UoiO5T+)bj=k%I)| zY@C4+oCyD<-Fz=$@g3pBS+dyhiw|*m%Q8dX`g2Ic*(s<|`$Or(jRvWIi4xDmQvn|L zY`oSHJEwFs;PbMp5C%=*W=E6(P@3}XUmwYrxyr}eG(s+{_*VaRxO)dDU{f!VQUle@ z)*0#9M`jyEJb9Sx}J7_zQc|#H-HEVm-NnYHv&BEl zdYj)xHZM%FjceFxG|8JgV%OXi@%pE~goc+**#~OWyib3_Qak+FH-3t1{xw20SYFXr z`uo7yQK!H4q9~0y8=16(x4#RY=tcKX*=N3+kB8#w{Ebt2a>*5Zf2%y`PX1jC@Vj1{ zbjis0g&b9`RUaDHWALJp>xm&38KmI?u9r(XCb7L49^JLIe3xV3jH?=SIT}rVUGvoP z9m|{f8n$*ctuwVa;HiLfj(>l}&oo;1UjO`;)V->c{3iL>5w$+{W=i++Gv4Ouu6N5I zKl&}B_t#!X=b}K#c^eKdn$vJMUm5TkyBelmkcgg{3yAx}B^T0-!I@3s4N}hUCeh(^5>yol!fo=Pn7u?b?^yo*!i}fBxIiKJQcpxbHXA4 zfjA!G91-0Ba}Mg9t>$MnZd3A!hn3h8;&(2ZFmKD*DhE4pzK-ETmi^mN%*g08RAb!k zLcDc)v2>Q5Z^}@jr`ciQ>}L}n=(690e~Kn_*o6<0&DYFFzBPC&uFl_Y#fTq|c-q~@ zk6`(m;5%Ou2GZMbEbyP``C^8$7ZlmAQI8|NKl<(N@LZrA%j?@9;vPP})f;3yld+8i^Rh zpNi_Lle7$zsqqt6`FWG3D%@GT5OCZEXsn%ufH_Vg3`lCn(P*b4t{Q2?;v0C@V;4pH zP~|Bd6rbwAd>Vhso$q~9CLv!sA))mq&U4Z|BAki}Z#!=ncRRmM=~Nn`?R^3^~C`PCNFZT6HCU%f-KB3rq(>H}S=% z5XN(h9DzQdl~LCyh2MtZVa19=TH-OD?0S_d8U9YCEVWpWa<(L(vaUA(S5 zt(13t#h-NfR_@(vCfXc-R~hNZY*82OD~;gqBB8c&XePKEn9 z!z{9Q;vMhiTOAhu;!MAF*uHVbzaQPobHmnqjW=JX?Z@%?Vnf$Dfjn`;f19r6v|YYS zA6+&xTuZPo&a^Ebx8Z19zGr;JOY3!%4e}Uso4bjl@QTmB+jyDtZfVqHoBoYSx^4A2 zM~dC)(O}38%^Z(>Ld8R5K^v%zf)@@-Vh#^(RxP2SDxG`k- z#KZnIeg7zfQ4dOX`aqPY2D^F~A9sXaw>;UWoqTwbpCnSwryddIUl|x^n*AUo0g?UXLgU#mBx|dg|~UT(5k`jZnC=G zI`K5^WBF*f1s7%1-_N?xVtupJ#I0^)94&pA?46Ebt(2$~-8YC%JG$od)N2@um1FzTEW|Rz3kmKUFtp{WrZs@9;%N>6gLF7)RZ^ z69)v%Yo5U3w;iVZ@O#=qahxMqt}cjJ&XH%pS|9R@1*r=f+=~#!ZV7adm)2=#Gm|6q zDf0k7?PJ9}b0+7bDQ8l%fUeF=M(=J&EqIc<>Vq3om)IKDZd{RFBUihl^k3}V_LL_} z#*MEFtz(@Ahx2-fueL>T7R)3C|Cm=6q%sG&(29qaqe@FnVs`TMV23@YniWu z$vMCC*fFh?tITmdI>As(`3YZiB6p+r(MFM7vS=}{KC}B`hBDO}14!Yj zFcsRujMT>psnUQ|aTa(zY%qmDqedgi#-UMC6TM1n#o9snt!)e`lgQH**@`BgI%!B^ zaSN-X;!s&_)A>e~cjc?f>oHd=bt)GX%S8eC8K^^3`c@bl<0Ty&-YR%HQ9(6OY-l{g zLXSbpDlJ4z+cniRI|y~sw^_R`myR&G>miLaHfY$$YS92}&Y& z?*#*?lQr>^?02|jd>6rismhxujcDgPrdm(lv$86g>KOPIg-*sa4RFi%9koS_Fi?=8L z{4f8K0nN)hB4%VRT5~z~;4#O66eIZ=M-TaC7rfs5dQJ}|uTQzn@(d&RjQ1aY`2OU( zAO4h`7+3J!;dO$W2{3ej<@Q$xNcEvEgFr9-C5pr?Z9o?1q~-7b{_juz?!W!Flb7xS zjl3ewiZ7wav>1zS2$PvR1Gp+6z(vMQj4?RPOMj@PeWpZxjH ze?EEVWK_CF;u>e;ujopf$n5o+xAFM?l^vRY`lo+7`ImqGXXNo%-f?(ldry_tJ4V(>RDbrr*Tsoqvl0=z29a>b{7__jJA>YyV_ z;C zza@&XkU>r(%JOX2#-cmC?lOCGb(Qz%_XI5B$ufE8=tg(vn;s>LwHj+KhWKr)I?-TK z*R`11XiC<|+k}BtCsFBA(52tbb=(^qSv>X|*|Csobs6{(I%Bl7bglDIqDz{2lvVJ0KCochaj!)eswjDD^x?~aE@6TU-_e16(Z+~H@o=KH` z&C73opkMillOq3~g_2i%pKTla!*{Pv{`>#<-?#_ihinQsm-QYScYvMq-Q~KRoEQIk z$?ff^r7YUDds#_VF7rvVSGI~L3{JA2Qvpps zC*6vxoc<|G?TP{ffE9CHi7H0S_mtyBR(=hv!XQuPFiPyhJ;V90Pxn7EoS7Fs+1XD_(Cg;n?u7Z^Ga%TF3G z!7%^jyEmz4=NPdL0*ZCb3ai$8>fg00V4ET~=K z|NMVX{^1|~;pE@`?awK{=3AJ#ozL+> zaL1#0lBNd#Pe1+jl-X~mIsXPp|^;WMB(CLm0C^L&Oj*sB8 zKZ)T2&|24oaU5VgK*x^3jwia_bxt7ac%V+;!xK-bTga614yv`Z71f0V|I!xZL&9kb zHNIyIj$TZ-A1__Tp>3U}-96=--SxJ2aUOQ+#f5U~V4rGeXmQK8@~JcHs7`~`g(xro zGCs6B(;e^Z_9N@R{_DS<{PnMYO*`C|<=o%BX5m~qIv11V<@-PVcZ~D*{G{MNM~}vR z^Zg%L%>U}dpZ9Z~^!*?IKJ(A-UcJZy{8#);S?*(@O*w~j4vI)eIg3RD_u`t1MfrRE zgnJgAxENS>w48IQ@Y}Ds-Ji*`^~=&zr_N*SxqQV-O8io_&ZH8or9FbCE-qEV{QO&L zg@6Ra9~l6$oHUN@D>b48aZ$kOY-k1tk%oCC4kXS^vtVH4h%evzT<9hWKqBO(TAh(a z-wmb09>Cp4(+6aMGEQ9f@$w-LCXScEc8OjxR&2m$AflBkI_r#|@%_aNWtCk!wq*cS zRoH0bfS@YmHs?HB!%|0`j0UxTGXEyXDT+8>;?jUil#k@K65%B*M}>>ZZ$to-JrDB> z>pKRrvG~(a%#1VL#%A?0URif&3M3AA#q3%5voczVoTt9WP;*K_8_dd$4Pow}vP%Yk zve&xRpWR8``&_Xn6mZav@s8g?+6w2ST>DSvY>b-I9%T;=V5Am30b3Qc;7k{{{ApBb zT+6pSAG4Adj(EtEKT)M_!NNPt1h+B<4mvSL?FFExUQ+<1c4rto%_}@SfoWyE()a?W zop&-a$Oo?k6+jn3hR1Z0G}_Wpk(hb~ZDmb1U@qKMMCkgyR~U~9x!b}8H!(WA&6(X< z1}Alx9aApNl7Cli-OCs>|Uw!8az9x-a@tlM~uqZC z9bC%gqF*gW$aCOaOyzI4JcDj}?8M8IrUumae>#PF5Hz!p5mkYD_?@$<%&Kv{fW2BQ@>caunZPD2M|~$ zw$rL-WoVZXSU;oX?y*k&YHW(n1^cvV+RoFf`kAQAqpX9(sYBtqjMc%cSN)cgbC^TU zaol$ClyY-N`8{(b`MO{c#@*}A>rLaHNczCs=pCn^ECUyLod;fg@S;-YC-8(Rnf4aE zQS)76Z*is!C5MX|;E*5Yke*_oiZPG0eiuyUp(!@|L&%PLAUXA6T;Ev~V?FUrKSB~COdW4P_ePNduv?2O~tbm5S2)yO@m2%!Z`0X zy$juL)p+|cJAw-F+BoURxfAYMIi&zWl$~7!)1dK)L5?Vlyr!p-5pTs2MkIwtAUl() zfae}b;NJy&STS^=SxT#jL_&kNpHPTDQQ{Qo0aqQE0I9wKRuAf+J2yKj+0*dzXt+PO z#A%b{u^)03%XCms@jb4M7yA0?52I6=D2~i`oKr^2M|xFON?#q0jlKCZ&N7m&jW+rO z()5x8Ke$X$EyjO@A92@_W(+cfzM}Bp_~Z=W@G7jV=21HL_;>V^OSib_jH57W&p(li z-`_4fd-jSlXX0fU(y20oIJxwaDHQgU$xkL|_#F&RHP|WRk977mS=2ye@M7S(K|&5k=fNFx))z#6X@HJNl!%;jVQuB3%Flj7{E z@4;_WRN))XV6pTw;Ei(u)L@@ke|B3+q$rz zfh~jIoYI$*;>WjnJI=5rSfywP*ZQmg&&r?Rfrt2lbG)`)HQikFa4T$?=riKj~$(Ng&@IBmxof4Nzj_N-yxB-^yF_z5U))3=Xt;Y~aqm3(C%hF?SG z?dzY`dbUGAo-C|gw^tVfBs+H*kgQwwYxEVP&6}ok;_r@Cz7OWuvqpuVqg4AUW2Vrx zPHys0>4%?Pp50FiDIZ=i<&K}yqapWvsELJfQ)MJAz(p z#u@Y&Iy24N_*nU#azMTe7RL+v^D%B@zM=f^Y5(8Gx|fYP-WpDQV+S?Iv%BGqcZ)Ys zTD)7G7%tv0Q>;_aOFiSAu4O`&WA>C+`cm4U&iwYPHBOX1iCySD#FHAD`E21iq}Qe& z{^iAg@Z+Ct*0OXi;Np$OvFTn$r|~Vnxde|iWsU(&o_xPdea)iW_3o!fs$$E_D*Jv( zPoMhR&VCYB?e~hwfOn6W&p&nPyu>oqe+lg6F#6k2zQRy;A>X+H%Sn*~A@LbV%9pCuy(z0?p~;=50pt3<00()5d?COIfw8fO4;4U zh}i(jjyV3&z2$9g@i^!2G9A;V6>h=ZMlunZTFD1IIByzEgm3)ets?<%O=+>^PAOt? zKNM;5*6{ju;z=IgdJ-?MN`q!F zlLjHKu2|;Uae!v!X(#eB~4d?C&1LVq>)7uir|b$8-{MtImAGyUO%W zd3Z;L5|X&%oOpZ1Nv(vRfmZE!vDugl-2 zz#Sn0&F@bdJ!Qgi>QP3*?n+yGEQ4l89;yuWt!|Esf8^2cfY-*HleY{AAar8spGTR_ z&tC+Ya31UT#@KvsgS<{W(q>fJ(1Q%glTqr*w-HHhn1V=LbU65EUYdKG__e=x44vRI zJpRQ9=Jx7pp%MtyV6OZc(8hIqy$3sC$e7h_JCuU2^o8*ieDY;rYJs6w(AJfzPx7p5 zdfRu>0$XsFjlOVzU)kfNVOkQ`NttOWyMns+vuT;J{gM>t{1?QDlMVT58OxvaJ0ADt zbFQ0JA07}xSQ+`jidxGlbIcpsiaah-RokDlOaq-58U z!P4WHw%5)x<1}uIV@_}X3^&KcUlk_(oV2pAHtq14*9o<0_AUJlX)jonfst8Tp#%O? zobpsZ$+(oA*Sd62`jmJKfxdlMUNlx+RB+Pm@9k!X8NKb(*F*SfJko#ax0gc?E?&5U z{p`7yp7E1>7?Cav+8=A6oP6c!5sYMPtHvSyO4ks58NOXm6_>|n8I2CIIO8}7B>t&R z2-o?x^`y&GnH=-n(RODtKQYKcNxoa9D6Ny8GSJw{g3Xh|JBj=Fn)zv7T-bK*CJ)z) zP11Pc0yT78C{ic#<+vhE5@Q5v)XJB7Z`U|GeC#_0a_XAKQ^{%Bw83nBddcnA8kV*R zzwNeer4GPv>Y3x{a1Z69^V_9mp@%x`$u#lb<+|?pb_9?Ib?NDl9DBAcW}-uXk8FPX zYr22TvZKe$84Ls4E%z>2Our4rx~447ajV_XKa4!;(%*TOKkJ&ZTBf~ouPhlwuU~{` zST<|^c-9;I&Lc8rAW8Gmb$r%a<{QZmFSbwq(VHeO8p|e}b76Oj%jhetmPhDORu&3%5eiP_@tPud+8UKye{;mQ8j z*-ex3$lLfpjVnC*;tYmQLP;O-yeyy8fsSfKhC7db^2v(X<;lO;fQdw*JqZ_92Vn71 z!O!({B>AFl*3VspT`{@jxMz%@t>($B64hI7p2lER!yfmwQ`LBSp4!22Cn}LYx%L5E z?n0`0s<{|YG?k5XmF>5}zQyY!bMJz>LA@$3jRv4gw~ukkCQ1HR#o{d=mjD}=U0*;M z%Lg6vS^38sn$owkkOw)mdpEb?f+FG*oII9{=m|WAOO~Q1l`=e|g1`#npA6U_pHpkj z{RWt@uil5G`L9PGr~{6mw%ZVfoMM z9Kxr=gl93N@zT0YmkzHyZ1B3ZYz7}z3euS8Feu|?uolM!o%efw2E@z4UcCCAi4aNx z$OVY3ZF=+|JF?U#c|d~I>w2lp(;ee$(b z^LxvOX&u*ahP_?cNu)+ZCbeV7ZHAf4?mm3&l?T-uZ-1iE8QN?W)aND@CvA;EC%^7G zX#i$&KJuksvqB!}?&KM~8l5pXLF**nojrHS+-;8m#e~}3S`8_6<|CrVkJ@!~I%2(ZdcC0RX2H@OctMk^wA*E#+1P13r*&P-kynrb45a*n3D`;;xpLAYaS`tJa zq}e>_NmRcG9OvXi`^7nJ9itZikcYI;0IR>yLg^*KnNwY225*Cm@`k4+Y^a<#^a~=C z?~XGeS&27JH(odViI^S>o*=JW>1OdZUqyJ%H0Tt&LvF?vbdY<7ntE_nKJAgu?Y;ns z5~0*|KXGiF8aLgLwz;#4LTNa4*7y`wBeQOcc5+D?4c!9vD5>8n>rWw3nO$+Q7B~Ud zjj|~+0H!fDe8nzL@t8{#xvVRER-6@^eiEK);;%8Op%+I+C-yczK!&<8k4_}7NGD>YtP1^VbX>L6WOrr80wOP|FB!ouk+7a0?m!1C*l#b+Ua z*yznPoOz1-qG4R}={ex+Xw0X6p5l=Y%T^~YkFblwKlv;gmhmW4VAQ$!&M1G)uI9;3 z(~RCY9pl@wvg`&vJ^BR`Z#%t_c<_?~9*N@ivM!HEJLu%rY79N=o|D55?h-SZea7JJ zE<%ph$t%Z=;DkK2GVd+VF=8nQ>xF}@1EG4ISShN=R{T}U(s{~fCE$xBG7b&DkK<@l zzBl4n82%jdj-YCq&X|GxBNukbKiVXFDSa6bCng}j>t=mz(yFwk%u`NvI%-ndM13y| z>?q^Xv+|q2+H#~qMtN9CC3Xon%}!S*t)te@+^^`r+pRR3qbQe*mA_@Iw=gT#Iqxo| z@KebkY8(S*36=($=iudG^0BO2Em~)-j|Dw=;-8SM91kK(y&Akd@~dTo%lsF8^BGbz zv%muCVi zZ7$u>0CcC*IQzepAAOhxOMXk3GV^;s{~pUZxwl`{VDgB!$E)AHeM=3YkEidoV#ipI zp~B@n7&0y>$eTN&*^xqjhINPKz7NNYofyC#Yqg9nnB4n5J1+xET3HyS8ed-8(ipFX z@wKHQk7YnVIeCW>p?)P~5CzR2;sM3{Z&VL_X zck-bt>zZZe!bjD4e#e5%0xRkL^-#txxwrJgPcI<^^r#b=r;mt2^7V#;8s` zYWRO(0l@ZaJ=CdB^v>Y)&a>-GQm6RIn|X-yP+*;lG1JUp)xcSh@|rQ!YEf`7Idb3jpJsMWxjdnedp?O0vtkXeZOchH26;Htdb? z3a~^kQHzIs?G_sH0uJ%X(;~mHGwu$HVBlGBnAvFF&im8OQLgffL^!?jt&1I3-p}^@ zVurF3v|z_dV}YMpS)-tvxvl`vr8YJYm4#s#rySt0Rlwv(E4`M;7 zb=4TiZIp3%v>^^TdDG>)SLoYlQsKydO`=Aa2J|_lt3fYMjvrPY>6@SKAge_he&Ue_ zapX8R9RpDOl_P28ZNxp~WyP}-=quypOPbApIE0amb&;!dCN1IolPO=}DQ^ry-cA9G zORD-K5SfM)cIe%3f+w)M56e;{brn50DX`*MTv!NT=^b6<$f_UNtOIrFnY!w- zwgYh$*kjnmle~vHnYADws5d;tlc+r8S2^r3EytAGDC^)+w!ny^@R-2?RbKsn&2Gw5 zerMo}Tb}LY-Cg-Wo{wCNVF&EdY~%c9*Budelr4ad7~WS75dO*6pcQ6QK$4a}>8-jI zvRuWP*K{Y1T)V>rj$LdfuNubkZoINwyyKfB3}x$R?UaipnW-~&!#Dx+2t(lu6jO}p zTUW5#Si@qi9RhHKM(Is{#cFlXg=`6)XTD_yeyn@Q@qj7#@ZH|=UUf7Wp3)C z*cwst6fTRo6>v(|Tav64y3AT@-6k?JEbw?FICA6J$XC1s#Ka@q3>zNEQxt{(u$ZuK zfV&KW8o?JnkD&DskR5u1x8^fysK*ZKl49BP+erR-^oJU zTu~pHXitvIFyZIp*ws6^{yGL+eLKrHz!-GTSd4OW+JUlyj;p%H~ErZ4Lm3N*^$%m8Sb&_xb@P$++D9xm3e-j6ukpcp;Uw_X z8!T}eRn_JPGvlQpW`FIU283^U?|QWheSFCL$I2_5x^&m{%`bmVSvoGAKjp}Hlk1<`sknB@|2dl+LpVE4C?Q(T=dR` zbjqcC?r?jm;x#{=SeM(Kr7eagFz4J|VtwnM*b?^lYy z?O*}QQv}NJmT%ARa<`SaX_nX4RX<_7uszgK@9U56>Dzur$8};R{SCa?2JGvc$7tBQ zaFn}=C~w^k{V}G^BZPigfEBxlz0NsM0}0}Gi+}E_I0tlI@4NtEK%T$U`N<`d5bX>% zUz`I6FK_cLbcfu|36*h&N8k=Q^Sh}gPQMS9rp`N<=mGE*AI~7{oEgX=7irozF=C2d z)Gi{EM8YHQ@){G2z9WNh1zxC(HxZZg^4<)aCwVJ#!xFW);AvzXn|#HqN#d|ebjgcW zzR->wrYEj!r$+I)-e1g6o|U!L&mrNgOd54{l;I|n748{FzQlKy!6wy^kk#A@qw$$4 zpMrKLRrQ9K*7i{UQgKtcR$6o6uCe6{Iva}xDr){T3`K3eyz!W1f!m033tm!Gl&yqg?KqYtUbC zyg3Fdg6D!N-pZ~N9yt%b<`}$LsKC&52_XD*+VobJ?gq=3JHRe*2wQQ*r$(#1TwIod zy|y2ba8e&SBTxE?#0njZL!TxVY~?YWto0z6?_Nc(A9~UkNEwDVVPoyQc@`{hJ9`!8 zN~wl$E+c`SM~ALopce-AD}Qc@IO~i*@!)E?zjge9pKto$&5jIUvLxr?jth@N$1o8Q zWM+}2z-~OH6Pos>$iPJ61>aM-n_UwLbqytd9FM=#r{2g4u^7>IQ?t7n8r+p$0PXOc zYoFidR>06EU|4x=3-XiXA)oOu$J1Dk(ybUR+wi+a?f4da$~ZF41D5{VUGXE#!qX?TM61l^zF{QEcId?ycMjb(w z2PgJAjS?r(rrSMun#PN?+~uuFKNpI@TXY8eR<0m<$RiDj@o((R^*5E`FIx0gj2DJ8 z>36KasiU<`?h-biiy}`Lb2TcO=Uu4B4@pO3MCUk>W3TMkYqZG!(~sW6vC7j%j_@%m z$^WS?va@KMMGbW1*yY7$^5f!%iw)K}X+Pr^6)a!JgYcRKla+&#=a80HxZ8Z{--Rg+ zaxboP5hh2x;paL>lWT#-MFkfZ)RpzHPcGbs`?pD>9BIEAq%}ui;V9)^izAkxZE0QT z`CMGq$pIHUymLX_`FrH*tr!37XDnZLxh>1f_k5d8pL6Pw(%E$p^X@9xQB?H2S8}d!1{xH zr8T3da+)(#s(ffSskfeq1}YEby_sjm`xyQ&W+=<7ifHA}{=pQ~KgPN5%;%QyoiZ@F9Z`swT3)OXSo@W?P!I z$m%Fa^qb(WvuGiC0KYAP z$wLCc#{&c@;;>_CAQqkli;Q}N0X}8qVhenzlPa^pOUgxkP_BHBmSfYdINDQ>+%{WXig|EFY9MXM4m|-gQb_GP*GzfvmH*}rJHQ@%R6ldD$>!vQd~f8^;p+R z3+OPp#RNTco(WoXZ;(_gQ@7F5z=V77FvZN?=nDR#hoPHJZ(VhG-&@ftTgljZHPo(Y zbokJ_=~e&Jn0BG7{*GY*;-%Zx@h+^PPQRIQcZ_*=1$Y$dnlVn=i8BI)Ejr6s_(1CxWEwS?ybg*r)6&ILyjdLIrjh? zZ$H~RPWk?ro!pa?H|g^}!i#;ZJG@S?oq&6!(_J$s*`Ld4KuNMJ%?>J|j^hmpYP{odRcse{rR$jHf=KU*=G4@J<#^9+bxj%75eb08002M$NklAFZN&cd_uybdo-NP(tQR`9K4!<IgoT^vALDI&Gi-2&ZwVC5ym^F&DK2vsh^D?J zqmU~fri*HUo709rRD38OuYIoZBu$)nMwUhVIbY+M^L3sDt|OW`!*nObFZEM-_&0h0t*u9M zWB9?uI@yph5=-YnY>era%Tn4&dDugI<;19w1%L7Y-6~{-47KP-Uxj=N<$J|K@KK#* zq8|OTE70id;~q^Y)G?Sm!mi)(-k)4@$Nw2;LOl9X-#&vOLX}}@!%bfDD3f?=XTLG; ze+M5K+>y33(gv5$F1NzP<*c@tVBA{_$?6h&YY;#?-g?&s{*AixGMgUJpO*5 zI}r}5S=_0riC^+^7VeU-Y)18MPyj(p4{*Zu=s5Jq4)L2`eyqWU3B|K#{&dOL0ekuC zJH`W#tO4)jmfdE!N*Pbc!a-3R^f~}g@iIf-<+lvV74OBpwalaTXfugfEJ~ZStl=qK zC|A3Zd6l%|$9w2!6Z^P9XtWF>-p5Od=N77#qd5E*O_)LN9qw+tcOV$a(q3v$SXkS~ zaTp#36}?$T2Lze*+7wz>9sZBR=`a79oho<9KFj1E`E5EHPj&x9?e-JM zqJg`Q-sJoJpZ-3)sjC=v@BEIrcCOUb@28&B7?aZi7|JnD29sl#-G&PHB2D%8mZRYp{Kl>eC!e~wU>S5f z?eefL=a_fOxlW0_VrN;yGIdS80HePACfRR$Yq98vj{LEdbq_rD@EV~mFkN2P&bRus z95qO7&uJ^j^{K9PcnD7xW3K%~!;>K|av9#~({Bk^A?FuF&~0Dn<)>_G8ISQ7-ZPYp zTxpDlhnBsp6gB52)pjjgjpL8}T{6$}B&9ZmljfSMT2CxrbE>lPPf@9(CYzKx8_0(} z#NjN+r!+%uptAR|OywXT($gb&A{SN?x8xmZy*U-|3EsRT7)mWe@&jyI(v292otC^K zeqm!qCdQGlr5ib!ult3Jk~L_1awI;1&-eIZhVml9tVANMYg>Iate`4pxd^Kh_Pv44 zz)hNy?CkzgiMyao^K?dsL)F5JQD-~|stf|tl^`JC97+2qFLA=!QA(SW%eXw2^g>)g z;WGJ`Eb!8=W6D%%@sL-;RsTZ#7$#O~i!Y+xl2C}^ar=bz&ZF`9#F2))y-~KXk zk|4D4F6jC8JBjK}gCRz@c;m<`jCmyId+VBy$WEe0k(Xwuo8{OA8LcUImQE&&h zap}KAarqrOkUZhMzJpV=gaEbM>vve@Q-dC_o9GsU6~S|`+rB0KhG*a~K6T91S0`h1 z_zG}_;a=XVgW=a5vpK+bUYXn&(+b~7JwDKsODWZc|@MG}(7&w|o-zAT}t+I_Xe$!d?cUz)#g&gR(EB3xEj1vfV?o(Wp8>X-^t7b zU>-NKM zNp4&~;=m0F1VS2(G;`@@rn`rR?yjobGh>_Q_dNERoBQYA7P)jW!XiF*Ti)Fkx7W?w zy>dv}Hae4MaL$edIB{hvjIb`%fpVL>#X+Tv_xV&XIUmSrbwGK;?s&wNctW25Yj zql~Y_OPWFC5Br*o%FlU@^b?2A>L}ZOI#^u{WVK@`GRfZv1+-c?KsS02vE!zRv~G~O zgHaQ#CPRYnpP3g4;oxMYqAeAiELngb6ri~;(C~QPm~biw4isMY72C9Y34lHL@HlgiKEMgs+qlID zcrF%{L4z9xylp%;0-zr8n_9^jj^OhtFkZX`e%VytKs)tx;Q|@A6uXZ zWuwHMr9sDB+74u&r;TBs#daD5Kg{ z0|VG}*r9=J{NPb?0{2M*f;2v*6M_(Dl>xiE-Ku{bEem=yp`q95D=+b;V<{$>3bq-t zDL}=%p`pK9g@r65jZv;$I#O2UBM!7GzvwR0mA~%{U2yBX4}PtDlx>$BlvVkNQ#7lL zG*yEm#10jdd0)%J#x%odxG|)PeJOrMRw&(y3l4c zjz|_J`<{$V;l&0VJ}wUEju?uu$_KvTYq)^jqIpA!SFjal&(3a zAMT<79Q6iooM74&$|Rq@l6tj_gFNVE-RMi2Lt?gW1F@a-9t^WfkY2_$I5+6;h~Hhk z$n9LW@6S2QaTYVn1~@fb)n(pF&@RcNjF5$>26wC|A>rehR$SUU0Hvt1%mXeX(Zo46 z5aZT?`L?IbDr8D!?4T4#KVv`Yz{NU{?z#vn`i2Hb=v?*(2ihPv3ZzV<({v7*`V|83 z#9g1%f~f?O{1#LNpFDgvM>!2uQ{7QP>5W0X*e6HL+olBo3}BqS1=zPw4zPu2v0|vP z$_D4m3LdMG8V*c=Nh|hdy^4lnxmsSf_+|y0H?7HEvm8b|;D9dmoG%sZmAbGq9r6T{ zUlSzV5I&PU*rQ}aG+tE2`A}iZLkHx^Ds{NvxK`tZT)}y~Q2|ZS%~7(&W@6c79^sM2 zRicRHYP1qhhl06z>407Nk%m57Ra^$qAs{b9l0Vx7W&Jai0N5+QiqbjZ1HNCTAb9Zj zJb*hh9F$>AQ~_72L=EwVVF12Tqu`B!hSlhBpSD8N5I%IV34wSHIxDlv;0r&_2^pYo zSfTJ%K4~ER>Y~EMhu^85^*PrIvf|_kSr;F+LHq8ljAMGrMmuaYg=WWD-c)*6%!EA{ zqD)HePbgaUu(E(#9qPWT4F*($&);el z@BWjymr9TR9b)DI3YVGXzP;E_)$>KY?D=lZGzw92k-hw2BkHQM#A08Ku{G#_K7 zkLt&5#n+8p6jBBq>V_AI5vsk7`i!;-5WC>ge<|}Pp`=H(S?obOVSY~C9u!IrwOP-B zl%~B#j{QXFUt9uDwa~(|@7OitGGl?pXtp{o0=ly(QvqFMc-IYAHDB2TgA&lC-?c-b z>^O%O^8&VCv*1RR@TP0zB*5A29$w0;c0xg2&ONs`>&yXIP(vhe4+&-^VARJ)0Fjpo zvqLcyL(6a}o`?gdyeearmboyKDlg_h3oA(=V4A5EBMx;U95^KsJzJi#NE0Y+pou7- z`kZ&{WJ zdG$K>;OABKYKaFL!)!R%eyMmEX7JXatXfc)cQF;FYmj)eZCKwayd+1+>IJNxTF?Xd z0*RCSUNmTcb+?7*cP&q+1Z{B;KaB-;3gO}Uck4)=-sfZtZWOSMyE+27hXfkXg*pLr z7(4i$Fs)cVcMrhez~)6s@Q57Li3dy#0(`a#vFz*;k)Zx0)TC!UeM(9$>Z`Uc5xLnVU%0}6y>1M3!hyq8^& z=|0BLg^cYp1b8~ep~WqSOH&W-EhwV@kf%(O6+Pp1PZu*@HgZ>T0^qGPr@UAUVD*&2 zF*6|(P>eGqkxkDwpXf$_#pF%dSA1htMmA9OfkHHu*}-)#VtS{k`lW26uD*CGJfw(|oNr?TVKGc2sgNkT zt<-($4)$PMi|F0R9$Ky!e_e`be2b9!E&H^yWaXLhbJfw~FTa2CL@!-nQp&W#yf*1|-LPtLHNj%|w-Vw0pwJ{-9xUwq}4=rGZK{>?8>Ug~!Ny%oC_tvcf% z@a!rt;kmCDKH(q|=#Myje8Pxl3ZYeRGcDZl>^JW|`%*8Rd1mJYTYP)sGp~5^VARZ zLHnSseMngHB|X}3vs^=(+6!_}&x{N_Ba0k2H$2}w?}KZyL6dgITbgOF+(5vttSaMJ z+9BA}d7;4#9{S(YFTQ6v-n`O_$S!_ndWXn?Y&glt@a(G}*zsU{E1&zhQrqP-gog%b zJdrG1H`I~U2Y+EY*RsnYeb9E6PP{Ri=bEuAH<^C*@6(&hk!4vQOZm8I@I>}N9&TKH zE4#ja`K`tRU9(nhlq~VP92yV4{QhrR4xF%G{rmrQKVI4u_+=h6={wvEdHRLMXpK$S z^^NSxC!@I0bZE%f_B}hfjIlg#&$x1PvuBJg2DBsn9z1$_^1UDaH^;dF@wIk#q|K(i z?y@Uo^uNa%+dM|fw#SaKh(kZVuQC72AN)7>A=2Oc5;?d5v1!MWX|!+MyyN+A`XJxP z=4J|ZrJlz6=<(Jki=HZ#e_h4%jIm~q>Py_raq^m)E*ctjm;!hLd~H z$Luk!AV`R&((Tk4(9ZEO?DJ?|$~^X-fSAitbq58}WlGE3{z4JZc%&3Z5}(368}AaJ z@;ZH$>tAx{S!?Nm$(ZW#%=O(i7v`!+zU6B0ogM`FacbwJk}f>T95-M)D36_-OFWl0 zS{aEnlS3#4Zbo3cQZ97KX$bvn@K191Y>x7V^s=BEGnSO$bW|wCC+IbUPNh=}-^5Oz zXyC}T`A;Z{Ec9u_IODu(oHUIAjx>L!<}^Si_g(?yPSK_~g5DA!ID~Zg5P(j$b(fyf zT{762Mu-+@=u|#>&{&Yy6q>Ct)uA#WPT>~)jkAET8?dxV?k3T)Nhc%*Upgjd;H=w< zAkN|-xEi>s9uAQmo8arl4oxQWLr%#hx^aP&Nl+Tci274h<*G&1eMFPI;6~usLQudX zKiOd45kqWH>NN3fJZKW?oZ4%=Q44G+PKoFf=9LS5YBKdvoT?OCiV(IeIjnalUI+ufv@Hrkdjc6_ zOWUSQ7-Bt9pJJ6uJG68vB0h$g%%x*?P$_g#kl=3_=8zvP<@y$@I-77jmi3=9*OJ<6 zt`oj?G(DH_rr7ib1U8=MVGxr+1`2W_yW+{&b!&Ka#vklF6W zonr1Rzt^*KJQs|dr%%6#`eJj2>II3 zBH8M#j}bC?BPrV+8B7A3$d;u@ zolT;!8V%POaoTw76FllBTZ27D&1j6Wd{~@1C2%$$N0R5&U$tRYD7dl0${5aUSvpYL zj_jb&+i11QLK|aMoQV&8gOwOo+@5H~?cV+SS}DkzYA^G-gAIb_DO=E=pn04e^a&hg z9AG_LD5uG7P+aQ96)P7Hv=Wlm%}ys^+O7uK-R;#Hp{Wr*xCT79t|BdJ|7(B9Urk%Lg> zZX1jNUOi6VcH7~)zaw;gB8cm>1E)f(|`fnefHWAk#R=#B`6Wo<|%z z(XRq$*nq7b%@4W?#F5jJ|#1C%n!rva$H#vv69^M7RVui@pHSbb|z`KQ|F%qNF< zhM^p=ed1I_B0pb5q;a7ktJj1aMO$%(3dV6hcSO4600=oN+!HPvK#>KxjtS6&Hk()< z$hPJoqesq(7%^lfSa$(Tf#b65qw9A1+D@89Gh_9ug+b_Fx=y%3a4gV|h%-V2SB{<3(p(vIHB4n|wW%D@Z+` zEaj=^w42Z`7D_q8T0<)ttH*HwHI|5E;A&WIbjZquk8@-{)e9lq2Q;C(mSAV+dX`Pj zf+zFu#%KN_)m*k!QJjf9vD<`!Bu=#~o+&=l-l52jJlKIr3U%g|83yE2f#B=p`dk`= z;`WTQi)hGh%oHqvp#&XS)^dh6P}GTfhT0-2YLk$Oll!#OMKgHL>IZ6znczL-28*No?!BI0 z#nDvz*cw!i+=Sug4_im6QyLI)wzRUvk9Nnl|JQ;epJ&n7%6+NH=4h+pfy09wtW3WY zzE=q)8*eq<70?g4ah{OJlWU1{#?2}1?tmA%ycTVqiSsJt)kCj>d$K3uv1_>CWS1N~ zvVh}_J=(rlwswx!&TjymE?K6|89apa(_LF1T!4BFSB&tv_<{g3Ud?!!Y} ztkE0mhw=-_@IvhceF%P*U9vE49TuqnJMKTVy8}C4@yO1O`dOB7!;P)U>0oEqi=Az?J?T}?^X{TCmVraNpq(HCW2J4oqwjz}%0U_&k12YV*JG@1tnVFT zK^%hHo9w}MYg#((jr!Tw>PJ~_JH`%TxPN2EuYd7#UjwA9$9cxt3dp)E(C*oZ#CCf6 zKTa}f?6eG>mK5cBYkhU7e6Hp2&J~w2nrr)!LAE^ABNyj-i`Ij4=H<``mC~fEqzsxe zY0g0L^J9xVK1iN^-T~QY94ZZT&NZI#NG5!ltue2K7ikVY6L&ys7)A!lfM*4Sxo|;u zIVp3!%mVw zkP(NDfS7)1mgI`83}l|iH$5VoEHBx8 zfs%v3i@tc_*Ihl6>K8#3Q-mW(km8YyeMceMkl`b{6L$ zt2hJrEQ);8q3ct1IMSK{4hbfDIH#w&anxnOKGM@yIT7JyZ*O1cxiC;E63C7a#}tQ{ z&)|61f^33Ai+uGmAWyQT6VE5}95l}xGHHJICXUIHK_=9EdI2gcF6}dY?}#iZnA8`$2kQK=Yw{(PYxiq z1?bcEe8XyYgIy&-J@Z!Q4+%Jf{7TnleQcvW!f_K5htQ7;Y(v4T75_z-%Q;hUM zU8YOkC0QI)eyZ(NI!pNVbZ#KvSgwUbWWiyw(}OQ^z-@`Bc`t z-z?MMuGto+m>*B#Q@(~b^4%8SrO%S)svPQj^uJ@q*fm+I-BSjiHC{`+5e8Xt+I@pZ z*N3I-OI)XAde1io`{gpl%%2uJ9UVR5pc>IklBb>Z1`|2S9`jmN&ubi_l0unFKZ1p+ z`Bi!6MRZj<=GmTWw^H~(1sQySz;F&zX|#PvQPmi%K|8PGpT^s_n2R%)~&@n-o_{F7)X;y5Zep1zNyTF>Hxn~zFx zRs>^*fW|*>RL9D+rc0>}AMPj-aMA39(h3!j20_60HfYI3ry?B)pl%n2HZ~(rop>yV zU#-OQA}o0G(g0pSP|iE$pDNHPVi)YwCYEAGzGczMFftOdI};enm7xO8IQe;DLVPzI zXxbn8atDt=CVHC86mK+~TLc4g*irP$`32oF>&z#wxEXU}C%EyaQL=KY2@sR|?)yU^+kU7T+m1fB!+Gt;Csxn)(4GG6NS@bMRVCzrOJ`qNOt zWAb~W7cU`rAKG)^M>K@ z-+t_Mu^q%E^)}guk7O6*alb>3XLJ@k zs`xJag4xFVko;q5?2>2X$4wCI!^_cl+10*)eVN45-q?m;tBKq24wYjY{vr9t+U5|N z+hC5-=hMoSzPpt3c%JKYmUM5EK2DZ(IgX=o8!0z&*6R2+a;(wWfv~ zJY}zj>O6Ih9FY%cOv|!l%?|$kWn=;Cyo!OdbtoCgU&|}_<+N=1DwOO-ZuJ2*stekquRt2^K1&w!7h)eAk)s<1iTL51 zPEPW&jypI4SeVcVFESHIk0IrfLCy%PWHjGn(bJb5jdAWW#A+3+}@Q+z3GrXe?L7*J$1*&+W!- zXg4B-OZMbBDA8pBhob{V-9_2bhd*0SZKdzMjMeV;V@Lv}A6c(WW(zlNt zS-=5T|2-(nA!S5|!W7Mp1#jjBDjGe12E9Fj4B#wfsWj(Zm!gs1TD<6Qm!N5i4qN0O z)LSJp@-?gu9jDoK6>*Vi&;g!k*pNb5LT^;Y)99>qnlKg-`;yQY@Jru1n--3rVCN+bfY)#ZUqIY}Bp7x^U1PUg0 zXMkbyp)_5QGIQ%_lt9VuF?ak z7)X6GKgXMl$e>~iU$$*UJzw){?*i!gjv$9tqqHi^=Wkfy=9wT?$RewFYD@B!R*CQ3 z%QrCZ$Z(^go=N*aMjC6#CjBL&iJ5|?IuXu({@zdv08RFTkn`KvU-i~ znUL%GF4u#Rti!eBx7p}GHqxB+vGqO2-jZ@%NA6GE+MWt?DcBJimn?8N6+F5bnN#i^&vj=SV|q30g2 z-msH{HZj?o__=nWuwuU}fX7(l6?<+(3^aD(Z7Zw#fDShkXg54pdC1n)l7(kDw>kgY z_%8EDdmsySMBQQzN8@PesrY&0?5=Q(FwP*1g^{KpL z&ZA5t-p7(}q`5EtF=Y8vG;U*$HCaA{&TVk9`I;Q$--aHvZi5Fu!iUJRhCAkch+L8G zup@lx5yKIq&u<+`$u#ngkW-wI!@~y$##o&^A0@sg6bfLl97B~s#q`I*mAKKvzKwbT zDpiWcC>D90ZHt(nP?yqI{tD|^mdT8CRqCCcn!v-a{FWKgjzrm|88p0-DxsE!A1lQjTEwAWA04NaaeZc!W2sXO61AWwk^Hm2At1_GQA92- z?Otitd0!am0vlUsG9-cEgB;K+Ie_T_o&w6?Ab1d(a-1$OpbVzDL+neTjoNG`=DazY z0Y-Bqg%GIKT5s|s>zL5^BaEXuP)+DVu&gR$yEo5ldsQ33B?ooE%dnBoan4HfLNaWS zlC(D`lhvaYu@*i^?~+G_+$gXd;?0>h2WvnH@VsUVGtU;wSw1_@q3B)9fbm945zRJr9kt*Y9*= zPkoZD%zn`s*N1^Z)eZ7tZ}i|>wxjI_a78g-R;=Igz@hJhm3>wG0s0_|olNetDNa4Z zY`ZLxtm9Q%Ll-bD)_#1blpX4f9T|V`KYZv%4lIYL`i6vFj>wk~QE#x|s58 zeAhHV_rQ7< zEu3m|VL8`thOi|Oe$ALo7ib?tuk@L0g8Z?$jkB=(Qk39L*HFrhPh<}+AY&+5$SWIF z`JpExGJ(f8`oPn3Qs63A&=-~Ga z!3zPJed6;ViL*?klQnG0C;*MQaO6v&NvRAv+d{#B#}6L?s*G>eMc0*DtV_wnfi$Tc zbQT}d8m=21&d`etm*Q=^;>fCy&U%Ib4FMY<^c}WrYE|s6D?_!R ziP_afc;mG5ar;v_FK;zj^)t+BX4KWWoaFlt9-G`n`*hSOE99eFV>lM>h$Cm=VIo2X zZr-|`mlolm-`qU%iV$1Ay$Y$b46b|{l`PB)y8M}{@JC;4W4$}!mM0#ESUa*=B+G=H z1kRL=q35X#sAYMRs-rY0r#o&ht%#tk!_=;e>l%;3;_UJvPHj5T}HHx_&{f) z?0}4B!a&M~sblvL+jTz)+Gw^K+ioC;4q}x}$UijTnDAV1R*l(#!iAZa#Nin07LuGQ z&Uf$VCecFo?x3pA`7s6!u(qu$Ep|Re7T1UP;w<-7V${PlG>Jju7FRap^Gvd64UY9A)A-Z1*2L@N?R%)Lyn1*jWFDJk}2{C*!&6vAlSU zXB^4bcfK96(vl1BHgycK*ev6TjAi|r(c{rdG`HA zCSxEi7@KhuH#--m2FJGhmwIb5E8^T-I?*^yKrh?5$-3A) z=m1O`iwrZYTeg3QrJi#x*=Mxjx>7GyA7zgv&aQOngxHfkf^iJJi4NCz>^d2AH=Wp$ zE?pR|dGwS}yK#4ErZUkmEhw9KaoB^W;^;#yheF4|P$K4PMo*`E>6VD7m`t3Ql;8IB7f-OMAQ;MPK`Zp5 zW%P&!ToNut1Lu&1EIu`h?||=7mx4hZM{RoX^Bh@ld{Q-E)4?vZTIx1F2s<7WTjz4lDOP?c)Q+Ik*Mqnfdw}KZ~ zqz_-}ftLLw;)cjmc5i(=kiZxJ|&C#}|TtAdr2KfgVS^?R4`SPa@pUqKDwW=XX zCw^Yx9j!KKieZ5v^m+h?gbYJP-W5P?5iZy`jTkQ#SadjJX!5UR;4`&28a~9`Srnm* z&^SmNKdhYYQou-f_z@P2&Llj(Msvfv+7&Dda;nVoI#+z}|yY=B^X#2Hxh3 zVhW}~Bq9=XDB6G_uRCAUX_8Te@ZS=U(#1NAanlrob19EQ8u|buTRI3Pt55fsywW&+ zyj|P6D(!9B(8g3EO6T4dJh*isCMe&DQ@%T>B=LX;a}kxfTu;~&(%9`ve2DY9e(VcL z*QEq!<(AG=0l7$xbwk?uiqs%36EvMP!B(MfvZy?7A(tE=Ku43S%XhEz37=Od@84+E z*gW}$VQ4`|^VAl?oXIiINZw(~DHBXNDXeID;;cy@`r=$TND;5t%b3Vk@)gBhXIAPG zkQFVF30>(sT7?lWriSpg0R$7LKsFSAJN3YWE1cj$1WGNqJXsT$Djd%sK?B;2-B{e? z6LIJ{fB^F$tn=y^;xX0HfMznZnK8^$W62apZr81{CP{>8KHOXYHk5kXXfjuNqBf6} zb2!gUs`S`Lqi|_kIH{+44jl)AwzDsIg-uQwZDI`jF-Pbz&W*{mJ?kdpq_+mfV~fgx zp&b6`M;aMyYu%*TWtWlLt~j*NW7Nf4bd{5v1Lc}g)5!CqAXmEf)Rc)k6}2VYtbBecYsBtU>Dgtlf7=RulQ|*AGP@Zw{Uevr|3FlZi)7`2F8XULh5-~=}=j!o*Pq> zK2C=%;vSWKsrg>b{g|uM)$On{7xFbl`bakFY^;Bnkakb!tl_}rnrG&{Gr2w$+)^l; z%yctfgNLuZIy=ZbWg&KD`U@!U57{UvVZ>qDRlrxt#zr4D^Z9S!rP0 z4Z;z{f#lBDdpYiR=s1##a;R{##JWjY_>)IyqBss$=ji|pxNtgTz;B?Y7rl&{PAfv% zP3+(SRcXE#e=Qzf(QPtCD^qfQ$-uOePc#wyO=amj%1u5KQC6Gmc$Cd4kWQ??;%s|c zyK)#*piRAB-QnA|DZ5ZUbkUpNxd2#6&z5X`N<%WdfA>z$MC!8w?KxbPVj=?E=W2*;RX`()edjN;gN~nRP%!;0sSCTMr@`me&PrmStk#`dH z=KA5u)2C1U%;UM_pnv7Agrza3;ybpnq76Uu5+oRF0oXX`(s5e_jK~;oOBlh{K(1sr zRxW8{%TRhuk`|-rx+dGGC-e~iLiAt0dUf*cw|axGS4ruAOKu;QhVLu!c&|^ouGk)SNX_-=z~tKkGP7!)PlBn=rDy4591FA!dwV{0cKQC| z+$l1#x@W$?LKf_}+6Hvs@p0fxGUQV#zBuFZohlHs3|LVSum;Y@@9Bhwmg0 zJWZ>eQ+^oj$g;u88KsNqE2sEVxXi1x5f40o!>0$|z12G~^!0}8OWi1@u7%HPDs#jv zc4!U)%~EMlxAK_3<}pO!3-O+I5$cw%dc0gKIqsxnm?MFbPjR%(!rmuQS z2v&(tne>Vgyv*OS38TpfuH`TtKpTTW0&*sJ#jDITTYn+1(X8TK0CPZ$zvs?II5$l= zMx|Vl(dpBN&*msIU*p9}cAlgx4WJr9shJKEwYz~;h~b^9gReVE*m@JvIZt)7dKzB{gvYQx#~y=oj^ z{oxd|y{4X_l>Fqu zBZq!+vM58t_U&NU4CgRgkki?)Cpws#^@27Q2(#!8s~K@;pkr+(pE(yQ@2fmQ6~tE&iuJ{mIGCe)4}# zUcPuP7){J9C2bEKM0-mZ+hN)WqF6&=%yB(g)CBj7FTU`vNMfB04)Bz0UiH(K>r;I@ z87H2J`N_=}8VFg{Y7RCNcAgoQ+yXjz^5pT!vu8ZJm~Z43pXC|ZtG%ZTDdM2s$Y!40 zQ_*~?3jSAGP2ospLZNO|GpwP@k%;`f9(0Zx1^|PP-?BpdEO*;L-!P2inqaQL=c>DJ4$&Y^g z;z~}Wbl^+_zQU3btuTS6y56nCZ2-X7a=i#IGdUo}#SNY-; zR%x9jmHx}-d^`80UaAY}^_Z#pi1d!Av{H?q(bwH=G ziIYd#1Z>-LjyLKikiDVcX&v5$V%tvk-b%m-lMG!Kn*<;L}wL1qxzuZvA4O8{Oe&G}?>+;AQ%&I1`1E0dWm#yh-K>a(8T^)7mR^ zcB81&iW{o%3x#wv3k-4R?a>GPiPlud&W~k??hF(DNUKng#M1a2*w}hmzl8xjmvRC& zIaCkByB!gmLYJ>9ZGedbHXk#<>^QO?qbkAmgPj*PT^kpJF&%sRnzAand ze0}mi{>OjUjq9&Z?%&h=Mv@>4jxrNj=6%fR2~)pFd#E-=z86XY)?iht|1&LWJk%o| zfA9x?;JMg+&66tFRH_RNHL1o{Kt8l}nR7qD;l^PP*UYO~lfYC|C9sa@)coNSslw1E zn9TFJxjKfbrqC1(i0GH47TQqS3HjuqBX-6ggRf@Ie#8*dm~>TSW5Wr#@nsOsc2p+$ zW1F+=fGA8dB^^@8l5~(;9Qa0W%Grz|t3{I?G}#vk{*+hpZlZj&oX_VdqofpCcAnBC z_M-tMU{DOx&ty}m4AY=oNy88^q7N~i@@!ZgXr!1`^Zp`1yK9cA-Ys$(cGRLdR#7mq31XYMkaV)PR{Y9YQ!3F1RBs zgBlJDlYds?Wg%jxy)03RCw$tJ~rzt3t1Idkzjaa^}vx2R;+s_Zl64 z_S2u9{ICD@KTp2?mEIg{2Ou&-Be5Ch)kNvFt=&F(^5o=qe&=^izWnk_IVOx~3C(0m zAak>axOy9mCd%jcA4?705YQ?#Er^%VV0D{K5B6e&aWO-3==cjg-8IwF{u83k@qRUogUfP8naI&MXCL-ht;M%&5&yMecr3JsZ3hq~FZFJMpUQoCYC8E##_jVI&( zB}+Aam?Uint2ev3p=Z5MG$BWnm()Fnu!YL9o2!lvAAp0Ar8Xc7f{TI{pMnIW)|BMVAg)!WCl|Sc48yh89KTO)^b&IDsx>OV)?fb9766 z+8mZmyz?Ksk_YitR?+QtiEYa!&@CG+WggR}C*o*cvV=7`jlD7^TQs=^yj7NxUHGQ5 zG?M9>8!Uz(==@t2Zk#TI$JCa&v~|hj>#?r+ztjQ@W74^wk&AvTI(dxO+=XiZt=Q*c z6}6i&2JTHRa!?OPnO%3k^;^HSGH=bWkN9N@{JFwqKI=ss(ZtcD-EpaDm!iN0-1se; z`8EkWHE46vq0H+v<%__IG4o68Nlp7kpmo=LKm@>NW&nRpFFdO=q|)d>8TC>p(wY0i zaSQ=MrV15hOsV>+dV;ZK7Z6r}3F*eFNNha=SH9I&pifZn*&JnzkD<2(ipqH$8$ube zj9-SgvB7BseXc~ygC=}wkevMnW98Yk5`k2%8m!7_yk5Cgx&1pG+?+?51qWZ992{?r zfp}Ys5dbR_!ZwWtt5e@P0S(|q$aj0(DmCFyCM%&T5+9BxWjT`TtgVNJGAl<`+f!#K zdh0^PMVU^-e{2B&|6q|hd7ztMARuU@}4FYIG|&CE!S-S$8ou{w%AOoB7%u8S@L zE`qY`jLON!p+Op^a5%?&>g9?R>!mzfnboH0|phPNp2@H?LVyR_E$-}>26R%mJOeuIzvNM9+5qTc`uKMh?9uL_Tumz6slc!(lv4^JyV?5#}9=z`A zhm1JT_q4r_@qzJ;&uj6SsL{dO#^ZD5(`KmaH?OWGBRbY(nBe;VOR4)R7>O3o2>ExyDV(`)cs^Q;5<=odko$-;#aI z+sb!KLD8UiGHUERYBafr_7-}{Cw@ri&=Q2%Uqa54Y^|*oK^2z{ zC1VxUxymcOb{=tO@Rnr_BYDW|_9=;xu}m=0$ozt9&V|Oyx~W{(FgWew?NF8jaNG9g0~G+R2Ah5B6Y;t`3Mi`rI0vTTBNY~+!N9?Sp(anxZj}~hZakeb5q^Si zCs(lJkV8Mvv_Nh+cMik5s~AE_mjUfTqc!^ALOndqK2&V0q^ZCBphM^##RQo! z;z&}UA06E^a73Kp69XgeU#zI3{#i+LVc0u9@}k|4jvOlffKYUCkZa)dKx3Mb3VvlD z$@xq$a-3rTr39TAByTf3b8DMzLvTR?R zE8QZP7kt9hSWmE_U$Sz@&6jeNu?O2;S&79-^_FXG`NsL9FWkdvRhd6iro3%B-$sqx zkmD0o;(dLliO&1p4omh6ZhGhj12BAciJJzjKzb|oiZHZMzd%YlakoA%ii+d7T}E1i zt_9-3%`sN1FSTm~KId|vuVoiI#`?DNJ>59t#sT)jUTbx|ozLef@pyEg(_4M|^GLSB z#oa99r%PR@st>B9;`Bx0>dcmR?3#v4KIMQe>tvZ;kzymO?2@s!6_-r#>7mBmCPM_D zN@uV=`@l$3)E*lsN;^yZt!pbUYHN9|Y|RGbq31DSjm|On(EJ{1 zD9Q%aWSDn>>)iEd?Qpz?Mvv5U=1%b;ijrwLG1(t7Q$BWVf-Le|?(9UCFjGdF?bU=pR=k}>s_1u-Lf!>^(W~V_(|(1{1nPwOJ^9eVA7MJl z3yqm`!W`L{VLGC0Wb(|r&2xYxG>XwBS+gVb0Rj%1qUmgM+D$zB6@=~rhc+7@COZrm`*bI8}1auB2wQR zbZR-=jB2b2-ue`9JFn$su-t*CqCSrkoz!C_gzP8>R4AEB8^lDO42Ny9RC%4de6A#$ zGx!a_Jh=)HU`z(akD%nP25yAy3p96{#Oj^leaOFta-2)OdC#0_@2uip$`R#LJa+!H z0*ixeCt0w0GqIjm*550=PXI@Dvhd*wR9#lT1d}|R&kL=v+d)^F6tA@~8Hb$}=xf0s=YRHqUB zxb<(#LtQ#cZMl$LzOKiyIz;#C{}WBK5+6#!b`reog{U7Z#1>E!pQfMnc2?w?WL1g5 zO77#OIMzeseR#z&S0eGlW&>qSDYiIVckel*b7m)OV$6_kbuv<}s%0eYw3P8|3$ z?~I((CC?)>hleGf8zqmQ7r>B4`J;@mqAsvZ#ewOe#|5E+$u7NOb4=NPZ!j3O&zN9&lT3jcFm2&{4ove1rQuc)ad|XW= zu$TU*E8`;;h05O+iq;O0jvAQlv^wB-BtrZ0sLMxCLvJI=q zz~QX&NhDf$-bgGQtww*$;OA1s8%GqUJhEN-(?B?&^hKOizDtag%!)5B=R)3jUzwx= z?}kSuqz6v3=`biNY;Qxc%R9Xx-z&*D*7`fs`w8F!9`tepAuHN``~n#nl>ZZlslB)H zM!J-3x7+K(6lOa+b@)Or_o2>xBcs)kdC&T&JFWXQhbs3Jpw*4@TKvN#o3IhVL6O*_ zWk?*_2BB={L{Ga!hmSQbh)%ahMp|gE^ZqcN==mw?d`4G1Mty82@_L|>NhI%6$YWNm zUSr43JZzi2y+AV*jnQfzW8UrKP-`}jEowy)dS$!b1_#Er&CGVUmtc-5S@J*6o~5c^ z%rcW0>lj-q_#H6Ku8|uSt-aw4v;g#Ajmn;%G1Xv)Zo3gm zY;r;ZxTMq5lU82iOL}&nHblTOa_^-D&so2m@F7G&zjjqpw9VhkZUMIl)Vr*tzeWrm z3dJL-&0~?`Y|J@&*X2?xZ>|q~0KuRe{CIvG`{c8;oAkdcIiJr_K2T!}h!rt>EKf&? z1I9J3>Y=wcGMd@>khkVLdJ8mp!Vx@9bd`5()f5e)Iufvs>+FG|6IZ4B1yL%XHe0Ah zL6Th3Zj+V4c@Ze*{Q|r;-e=1YiMZ2*)9DpvH)hyP{1&7RPFnQ=I`$(TC<7HUyaZL5Bw^v=8Gjpu$*ayDL z`oSrE_g0@o({sUoVV0auo~iX`vFHuDct4P{e*e*9Z-HhjG-VgOeY$2rE5g7hFQ-~5 zT*-=Tao%W)q_G2X`z9ijh}MX3zOe=NA}n=s=6|xow)*)LYPfE=fuZr1E%kjglg-P< z@Xbi#+E9KZ0oSrRnbD{60`c*VQ@z&c1nv3wHl{||Kb{nglJrifGwqHXuA{OEN2PBg z!)nK$mUO?8qywT%DS0rTLjj9FCX7XMEZKZrZ^U}up~MHgLYdl9I1)Gu5b+cqWXRNDr2&#pCNa=PVM!m2ykhD|Jku(AI8~JVhvVFJ# zmz<>QnD*UMiU@K59_0oW8bt?L;oXmlg4)c!(bS-&+pV34c{g~S96IZY=xn%#HUi-g z(@)_FIDp&?;S#2Mzn*v6j{(F%k;c^Uch827_tofy*PSB++FD5__WR9JD zGsD6IGuar5K;U$Vf_-u{u)k7FO;z~9H* zI7c3uSUa(#GcOurb%UQ$`jZaIyS~yhlx$Pg+pv+M{LtLK|uN# zr)Aa2?XD923<7j?Vgyyv^stl%ElN$aV=N<~FwadM$9ZtIt=J}2un9lMPHF{x1&p?~ zgWifD(R+o|o~#kiaSK?yb;h_+a4V(Mjo?bTLf?u3$<*@>kb{fX+r}pPsOx6wuAHn8 z^Q~X(fkXI^Z|&-vyADlXdH`FYab|F=xz>E_08O0V*Dt=+sGGgn1YNObi zuDdDI{(iTKbC`S`3NbYPdOTQ&>!J=gMizi$(Gl@o?c76|Xfe84j_+`TM31o^#(0^- z`ZTjqUb@$L4X1E#b1u3Q?!>d_$*`MnDMeK5en=SgS%cr+j#i*QPSaW;oUE>|>R_9G zV_l@#MW``9Iv1NpiApBuWIiNm8_6Q-GG{9~hTc9@IPw``DqgTP2Zdg*Etn*uz}uNN znkcft1D~Mf=rkc!uFG1&WC2mS^l-dkq9wzKcPYp@_8W#9Jd90UXFpP;L}baTv&$f@ zOK|cdO`%(a5~^huoX|D`ATGC00Z(37tm~|3FqgIdg7JHuWP@F_Hi&=bjIEw8+m`>CqMa#zDxG4mEzUtzxkWLdGbep^hf^a_L{7J`?r7VPyhVkAO4|X|KT70!C=e* zwgp#sE9{lu(lVzF>6Wn|P!&t&DOazjx6lqcVXI<)h^u=q5T zzzoOg%xPm2UHd71Zb5uR1i!F&f)3q*jpZ1~eoz#h{L(Qofe&xn=8g|Cl13D^f!FH% z$jrE8sByD`4-!*9Y$rF+bkG@mZ`&S_%SNMKLvfEHhXY0u%@|@jBSW?$(n6--ZNrkI z@;C!qgOZh-z&~m%7JwU}&WN5t0X@9sn$j`=_V-q7UN*$bd-AqhR@A$Eogy-{@hR(rV*B{*B988Cb!Eks_yak} z54B>;He;R@#&N|Nebby|wmOf_>4)$h<$_Kw&~lVtK0i6vcIn4YzdU)MXOaC$Hu|J4 z;Jic(XB`+;ldJAVTAwlwKgP39#kc5wEW3UzTOikMWV$WhD0k6VcE7R}`9m)qQG2{- zR7T-en)7!3rg6-C8ndN5BQ4@uH~&u~oPH23y1!os$V4TF`GR(WmrSIW5I zOh27yJEnBeMi1hKQKW$efqY^*a0aeHJFSl`$~orQX!#o8;yZ{CJ_3tw)YFolNqk2R ztBx|?xc%$D{%e1S6gltly+^GGJb(V&Ki-u6r+@mVCqMk*4>#2KmA+YvW6kfM|M{O! ze)-E^p75>NT}Ht07?z6I0K|Zl$MQatCZyU^o}A^e5p2l5^J8zc5rYQN#+V}CX{kHA zs#SvzLcw~%p7>d$#%{_@tYjxO!e#3LjfTdO4tA}V;Lxzi1eOMcvq^dB9jeD4o0{n; z5Lct+nc@%*Pd_sNXUY}4T|#zg$zBBTWslRUp@8>z=5hs`Ak!xj6H$Ha3OdIT8#rw-XDHrgZe{qby-oWpg>TlC9? z0US8D;7XOOyxdEU1J6e~SpK$}zJ*?q*mv$1BmrWjyI#{D>O*X4<0c;kFhln1;#>i+x?+ zMM3$^=2OmQ44lHlsjK)Ba$A1jpb>tgcf&3zPifHF3ZC!f6LGw(>NqD6IrzbQ*D7?$<};selJovjpITz&xcZuDSdMHDADZ%{$d=fe zJ+^?ZW}|nlq~oB!)AsXaC_R_?V>(+5l_TM!^LqcI%rXnK&Vg^#nq5aasqSj+BiHpf zbc;6ET-v}|u*_ZFKolM+##kxT^htRgfg5$H{5lt%z|854cw(|{R105(td4=#J zqF<26UJb>2Sr~mlFMCXU3)Z}qDE(mA^R(I!X#!pOg*%?N$pDPYu%Bo2Q+pWkp&k0- zxT%w(naX3t$vTKlwC#i|{piejd)LsSI)LpmB zA#y-q;p7wgg^>&}!{XFs4Hx@RXYlz(ndKO3gnJ zDHZV-?ZFBEuemkk{Fb z@N03=sBs7OT*hhC>h{&PhIolJEwQFYHPWK#dnvPsDpoK@HR;q^3=~3^7$Ll!*&SL z!jc}myZi+t9N%GU>ZHO}-+dOp`QCxiCW~Tu%(6{`pZ8=vJM!DSHtDsRt2DUvThu@&yWCyIA)kExqgUhF#?&wE6&(KcW zlglQ>zGNZ)@Xk&(3vyJLigZ0_@ z{WcEi`k{6Oy(>PkuxM9RFLg%Fj9(fbv8#XTKhneBA8&mJn3^nuyRDv(ofo3f{kU#$ z6NGPiZ_2@#nQ@5E;bF5(?2scjQ|_wW)5(y9AGD}{u2*!aQ3v#>;65w>bn!Fbg63w5 z+pOr=oV2q<3QcM02<0Ik9z53$O>{ucZ95-!*@S-V&;HRL)Xu8C6mxJ#eL{<|1T*FA z-59bBWwZ~|kv@cx_eiJcbN09-`_W#pqjj-uv+HAo?QslkQ?)vmK-KqXFU()A)c>d( z3DMC?e&;oNQjBaRE8nE$ItqRA=$FVuC>Y|~^x;OA+pO9TFsWbNbc0coWujAxK)mE2 zdZYTyH{9W+BEJ{F`jDY8(b$xQvU+TS7w^&L=zHjq{zF~mTESeaNfE-fOQIZUA7}b; z?Vzr#&oCxIXO}ERiTXtr0{TJ6V`KvuX|ybzs;xyI&ujE`jJuljF{V*Bw7Ci+jkWqA zZ`&A4*@Ta6u!;i4Z-G4j$qsjA59EPAUjXnJ+r}jsiV7;UjtxmJw=pqoR&;15`muwL z`jr&ECV^xLniwOoB25wPo@?=)Q`$Y_R}f1Cl3fxIRX|(hx(7UP?l3B1fr_uRoNIy~ zPh?_lo+_trF@{EmCZnZR88nHva&vBgIMS4=DEgT(*L%j8jJuiZsa!z3beEu}Yn+U9 z;p>7FcNZ_AK`?Ehg`OClj%ad=u`R3$DKl;(h@BjYq8+Li1GXQ)4 z{{3Z9Ph)FczuaJWF%-U_oiSN_t@Bl5pc&ALTK(I=S4v}O8YYd8mrz09K^2jXnTBP) zE=+^+eOkfLaNjfD3yHU|U8~YC5bdCN6&)~FRmGUWyOt5gy`g^T;BMz3db- zs}T~Uk%_=-nJatFB*KhH>K4kXKKhT>H((yktqA zHPR~Il~()djHSzDQ`n0?dMb)EOy17U?)&*yo`c1}!6~cyZNheIkgfNYNC? zJQz`Q-U2nPhbavE^VSXt#| zSKKh#70z|j)GyxBGrnhvztX3X*rp8bjh&BmIj{;M(q|q&`%35gZE_sl?dVFc*T^w! z)!rrxpG(57_w*+1`+5o3s~6v#ywtPD+(4*0KEyV>K8)!K5Z3T#!mu0s~oF| zLSo#|K_9l*<<6%Rbbf?J9kqs2`&fryYjt1#+C9NY5mxMZdOJbL)xfjh_8(ouGmJP-7U%d;%g2>y~{eE z>t@V7>B3hHxPjmoHNMR!`tGpHNTEal9}BXe=BeR;~)$7>v- zOG|(wZ05ZTa8tVzf^2-DIXS)teF7)ZlXIOLc9_>RNX76+6J$u7M`{OO2=3<98Kd?Co+~QO}4c0y8y~4C&Z1R7o@(} zG7JqGg`I5^2#xRwR-PdQCly7b!PS7_g(?<@U2V@VwMvs27&)qPWU++vGFZ+6a3Zb$ z=tH6MXgIu;nG*Oz4<`vplE-9LF`RuKe(!{#bYKu@_()GK`Z5Z7Ss0%}3#-7NAGRZn zJ$QpSj9HZ6CIrq2Ha>U95B#PivWh1eq3wPup4f^Pg`oy73p+X(MF$))97}qkZz~{2 zIzKtqLG|a3DH~J6wto%+U~+qYa!(g}?BEp~$}CxAhR&|Qs+=#3x_~fYJJt8V(0L3D zM#xnIo6FF_ENE52Yj-zKbwSiD-xvBDbp-wn34x<+Fc78Xgh6LygDfvbHsuD7CC|{H zEkq)0nZKq)7ZFULs1oGhPir@B*V7&7Kw*#V0V=r0f#K$r@4#bA=ZS`jN}q`mv67!S zH<@&7cYm?7$BlvUE;*RMao0F^j#aO1^5g^k)K8fk_l? za5c2{!=&YbCfYc++*N0?e^ii3+&-lMcj7BBv4l3VGO1&ti_=l|Ex0%z})gF=~ZT+q%gY~k&tm01nWhs-}^U!suBXq$g$N^6#qt~Z6mFZt@*OEuV zS$AYwwint7ZRGxg$8<&2=UYy>hJ{QMMF|zqyScb{JE7V_?5ehgEUIJcuWJY2wRSs# z7S}V&(MWBapr>n%`Z1p#LnrFR-_NFgLjsSjVUyJF#mU*5m-<9n`hDauHpFCdM-=-C(|L^w*N1^u z^&N9k{#a(hdk$QOahB1A{*2SlcycxH2#Ls2`sCb*OJp2=+6dR1yBd>eD^1ls5;W?< z1IO)z7Zxgbr<(GcIcy8^*L94YGRD&G_4a+;jN~(NjIlh9w=bBk^;SF4b%M4=9*#eC zPCN?&3rfA|6b~{o##WnsuRiSgis>)#wV`2VW31#v z9t>=`x+1DO#>sP=Tc*L%^~4fsudNaDbkd2{biiJ%kC1%#9TT3 zqVbZfn3Lo4n2h4o3F4IL00g#hL2G0ktphUIR+Rx*A(;jM*o3*E zBKj{sz+2G`t1`>LT-q4}wO@a9!%=2iHQ{^T`<@4#H4)iTjib!7%-h1VXIf3!6I=<|7A^y`qI8_9a-2Y4gBm_%M6ZPp6b(otit#k& zCXfXkbXf8H$&lm0jo9IJGgcrBp!~X#?w}I9V2G7AnOxq2q(H_tYM%qOwr){x1 z!)n}{moIXGHIY+Kewc8x0>Y{cDqv7 zAU19dY>C*?!tvH1=%hZt@weJVb8AqWbRTwK30&EPc7{EmN3gTn>YtTlCe7Pca!Ur^ zIpW|Z4-3V!PuI5!<|uqS;4s{D;XKn;$1t-3P|B6NF9a)sVV zV_zH@_|e8vKT5d06~8qK;Ee4RoY08|HSU*9>x@FsHEkczo<0Vb*0y9%&mcYDQ(R>< zmDZfPIH16de6jbLF{kf}ArmR4U~oZmlHmajY=sO(*VQaooVc05VvQ4}I6 zgRg@L2Zub8=?3B>Lc9#vb*d7|kj`0(LYIUhaJ zikw2ht^w}aay`Q1u({D_4@0j=j3=X#c4+B}x7?KJC=&Wzd$p506~0qLqfkDy30x4s zqrvLm!E^+aicKRr6P4^CbbMma@gt|XQ1+m(7qPyR$#Czc7Rv3a0!TKN0?o`YTAoP|(8^DzV+(Drb1l(GSsTO|D1CUB- zH+pil!RaDYhB$~JK-5{|C(?Ys9P1UAlA~lOJ*PA@fWjuiy4G`Z7y8_g?x?#`AT$RC zVI%nYCGfP$PrdQhaq5S7Rc?(b6LN@iQDg-GM-+X$S_6=9^Q>21Xa$`I`ZN)D{#iL- z1$EQ$K=-WnKL466mVse~fQ!xbZ0oD^7H`XGcH$@6Sq0D?Y~k1eWh|kCia!oC<(C&) z;TAnsAl{z5QW2BSX{9VbI{XBdgD>67JhJ9zu*`aqvXm`m<&G zu5EcOS{Vxprf{e`x2mCUTDPVPcA%WeAgl5vckG6#X&VVk+Q48lR>C-=5A_0#sSYOm zqJvFMSF|~^HM2g$#bl1{i5J=?Dei^h^OAp`z^W8}$S+me_GETDXq;4iO|s0$%@U!V z`t|m6(V}gbX0yS_pRBAVM8>igL`#+zr@yjo=|>kl=PV>{u2>$~j&y~QHngs!&l}YZ z&ofiEv=R4%W!n}kHp7nK#jZt__IY{oR@Bn_RTV z6#Tt#*|o$E-)bx91;r){Q3ZIvW$U^7f$F$D&pz5MkkfHlM&Dy)o?R*I7NDIVOB{d+ zFR{TMiz3=6k4mJCv1=gq?Fud6$*-ESOr&LNUhelCJ@se%qFWhdNu#AlofwoQ=n}8p?at+D6U{Z;(EGj0i ztP&1I!{eh?KbK?dnjFhKC{m|v%cl*ga(myI!AbzzKnPf24CvtP_-gxX@n?+nE}%(~ z5qvccDD8xs!CbH4K|7H|JHyPbi!s*iSM44<5k}Z(5j|!+WN_-|LSw71?P@cZyf{@i z7d`&9`k-D+QwOWL$S05be6Kdkyn-EM=#?fH*-Q3Veb! zPU5*1$=JB*OR`F!15C*hbA!}`Gk(fLLv2_^$YBZP; zCG435fF893@2-EL>1?bj>-m#x7ER?6CBPztZs-fm(2Z>5PCkZ!RLHm)T>=ZtcPVT* z%C$X@=h?OeE((N#U4xr9;x&jEgbK(5?J{Tsv#ndA+1e#!6-)#538UXrg9vOYh62)v znntcfYOCMLAW5U5`LK-vr~RH9Z?;5)05BokPG&OYDYh<@3vwu#>x{hIP2mMyo8GmlLDm+z#<_-*O`2l}OV9N!yB%fRKOK2LT=s;JI-0cz&jTC5zH&AccP?GKN z`9xF-Y>zEcpcf>NeGD|EX=9@dTh8I^7NY>^|` zZE$RFu-*lV?iC_OBupNqW4a*goU)MyB}+P*zA879lx0~_+I6PBjK5?=_Nsm6avQAG zEV7(l>zUQ}I4;=|8{SLen-bYEP&+&>x@h;&^S@;5Bu}O2`A8I zNz=vI?uaZ*T1uAM0_ll}w%Ls#eBxN!@qZCr$uAi=FRum23r`#vw$5?Q@XKvP9A_P# z{Fu~17g*BRj)@S@ahv|Y2f2WK`J9PTbo5GxU_^l8odMVc93DB7|M72-X<4aP+qq@= z1b?^9DYIah2qMoLJy(nf)Wc|#2_vy(9RmwK`o7UK>!`rW*V^;HBdyU<8)?v1BE}@g zh*xrxH_{-@MEH%i1mkc=4rD2N0WpQ89+ZT3^!fHz|31|R_KR^EOz4ER6fS0s{HPB% z4wm}Bo3_$OHmu^Gq-7DzTj4X&H@u3BGw4)ubt1D!8U}UqLeH#PPRa*;M(~+!4Kwv; z`Wo%+&U49)MgxtKEwtc?#yLk%rKJn?^Geq)egs2UA;{TE&aVTw%Yf6*O*w8lPz+vB z=lJ9o@1iq7Xos1ueK>$fE2g?#JhthB#Rv$!}vd4%!#*wlq zUF^z;9%Fr@2`WvWq8H)j$FfP~QaA7QV?5w_ZTRwsjtTADY(Cm{l#%yW;3U7k^FopY zr^@SGJUK7raG7|z-K&n0My1d)Uow$PHnVtEG_=e^`8Bh|U#TzXe$-!*%T)=R4A%X*HTH@h3exrc{Oc^(U?`b|0vEeP1C*`bN;rAni-Petiht=32BaO7V8<%~ znk5_OVqb8Dl+iA*Ff+E`@e_=tGd_ruKA6IH^0473^C>5`Rlk0{{e>h|2JFWOt{7Rd z8(s0Kp(u_)XSK1;6fNjspmMwILN6Xc%{?O*uin5heji4xkmYvU$g-` zItba%0E>#9SSiSO#H|VIsZ~>U9+obwlGojyqj@b5%GMa$Iy6OS#(qw$lpgFo>c1ej zku?2{+z-!~*}Ho5f@~c1sY9k%dLfjRP#Y+#7L6I<|Hs~&?AnoJ=bDG)VUWS-vb%z^ z00C7Obu|#`j`a>2NdrBlocC+EU+arm8OQKy_|i-%mW!Y2CI$y}UTtXHV|Yjgnm)kf&^a3x>O>Wyhf-wju!4 zv&4F4k7wpcdUDk-i6Kzb*+9Xm_S<#m0lPx%HnDhy$#Xp$_fiX3tq3;7gpdCSl&4g3 zP?g1u~fX90cOjAp<7lA^^|Bl8~3h5DO7@V|ZZ-feDt|OVJs51_S{xMF(CU zV`)S_p8MlDHv(XG73#tq0Xeeq7E<0Q?28JL1zJzFqfGEf!cLH!gAnS69O?Diy+c=E zXWIZ@iTdEG2D{ovs{Fdv#Gox)pn4TiQPbQF%8hQ6)w z=pnqAr;Ap=BL~%~FL~o)EN)(ls zvK8rrBXVGi0D3@$zs6&3KbwY-V%H5Ktqr3=53z=5smtSxp#lG>IlLB4z$x_yKG5rg z4CoX5-YR@z4B8m$n2tYhWq3YOQzOhfe!K%L9LKK4OYmqJ5C}Fp9+PFZAMueBILaUk z8(e<=Spmg6#S>hIH$BT0aQHJd@kiR?=O+DFBmp$gFrpH?9Q@nu=!UfTS3k%VyQl!5 z53<=7hoWoVVH%Ba+l+(BgAK<0QVIt4}9S9Ub_Fs<`q zDhHvhN9(p`f@7Y`EvG5`;tL)3?U{0P{EZCqFw`QeCL@*ooItB*ciZPgF=UsUD_1>u z7rky1^7z{knYP+o*YH5~%eorf=u0hJM%tpo1XfON=&3v~Pv_Q?deJOc1dP zdQ7@ViNHi|THF)8-W7NLDZ7*mC07Wi-wktTPNxYJ?>d5E`y!mu+{>N@sgPl2cmwty z*|4w#8@~WEHr>bT1a6&~3C~~XCe}4UhB1!ypW39sdMX`ZmU*+ zSc`OE*wJD4Apxpx-{RJ5J)ir8TV5|n(1H$W1P%)1w7BPUD?A6ybH6OO2vP}H*@?>n zOns}lkal)aUVZtkc6@bpTmfrt8NWb~2^2Z9kWVGSD=($t;sNf$Cq5zvw|3VXws}#~ z3-9`ItDs*z!!6_5@pf`&W>ce28(-uAV3w^JD%SR9jN-fQI@R1!63K;kF`~hIe zZGURJ*N1@RZ)4ZE!yL`jEVTr}4xTp=8e!|$!J-c^(W^H+NT&Mbka)M$)U+k<)cgZy z_jSR{*nLC51N(2l>{e|NTzBcp4>~_Pt>xM!f5(P%e2pqr#=|((}m}l5+P1ov7l?O7f84GqT>kNWjlB}7t$Hr%eo@}s| zsbC)Zcn~Q6@gM*3)j$5@KRQrmXPGx#&*_zJ&HML%|94jbdv1!uoC_T|a4?LG(=1+w zzl0tg1Pz?nyS9FT7N=PfC)`|pp}a?zdJ;}YDyOk*sXF;vG>lV<2#c&IFlF?$I0w#1 zMM5?l8V95X+@eFf#nF%D29C-zQ|SV2UrZ1Y=#*~9$e6FVL8IgXp2?wZ+dhU*TTR-~ z$aB<7eYEzLJS-0OwHobMs>z}Z_2H2^T4ySOHc0Tqqi|9?eoM|#b2D(GZ%x8U}v!!2P3Nk{^`p)^tGTE`vu~fm_Q~ z7XnHy+OdtF)n))I@yR3TVkd4dj;0~8GM1+2lru=Ze74Af0eiN zAQ`h%z`SLmva@&iMI8FuDd#csZ{1P2E>>ScLj>IajaZ&5_y!rH1}Y` zi`MeniDyTG`Ka&J50OF9$=AxitUpprHhBp4_eZnYGaYBLh+gZvbJQ@Zan$vbV3+iS z-KOEzPOYO|31Cy}XI{roY@D?Wt+KQzjAH-*KmbWZK~(bP4W_NrRy&=pQ4h*B#bh1N zdc5gnL1LSEjlQ;#ZJ-|?MV%us92*Ij4;Y`QU^T#(e7N};9tq7Z}F9V8+#lzx@xVew;hfhDmvit~Wa{rFr}af|Tjs=e+qP=nMVLb%KoBhcW{ zDJZi?$+7_7gsS5#KLd&6HaQf;=k_%E*L)4DAFdq1`H{Aw(T9PtCr9CMoKq-_!Fa%T z25xz9NF4p==QCtsZu5`~Oc=+K`xUu`%|GX)ylH9m&$GOiLv_a{?m;JV#7mZ(3qQBP z(N@w24jLm#aAZf8UY!Yf2{$kfb2F~UHG|qDXBfBm7*FulaR>uJ%Xi2(HRhx2Ob1$9 zbOvmx9ita~_XIz(PA*~v@!6+ zf!%B0-mMaJ36yyr5IlBO+5IL^Co!KFJ!Ddi%Cty36)nr5c>!=r0GcuCAVxY782iOb zI%n|G9)e+lAU}hrXA^x(pWwXvt=q)miVU#ntRy$Q>krzS2^sazxO*@{te5VE1|0Vj zHp|5bV1Q-pz`siuyU<+8N>o9R^LQQAJ-64#9YC3F8YTM?S!N=ebOw!cci~p_+R{*=m=Jnt&Y#cg~i9Ego%pkPjWd5TKT8u|`w{Rx30R&b1r0!tQ zzq+#n0K=Qv;8OPSQ2@S(1z*F3?3_o~;yZAGgXVr(&{%*S%Ccx)6}IUN-ku&NoRV>> zTIe?FFOy^7jod8T7T*Cmax>1TJ*E#(qkYDodG6H@9(%djA1|}X%yUq`1C7bo&>8yC zap*tzEOYlQ3w+l!XL~QXr&Kr|O3g8yr#XXBnbW#}3Z7BQoUIOYS9QYSJ^zA7GjxC@ z`JJ;I)j&X4(@GQ5F!eK&whZ7IH%AIS^XP|N>0@>Q&+;~W2cw$O*ikOLIY<`RVG^dgz+Cc+Jl0pol9S^)xviKtd8$~5#67m{mQmLP?^r$vl%e=(cIg`Zu<;J{G#kO}?cfDEE``+%&(?F4ihwZW6rd;O!(4fetUU@iXLVMIOI2L5kKuH|%YH+<_}(*GYyZhK*jb zSRQzj;m4U3fxTiTl{x`%LBAmCP2kUpyOMuHNeOdWclr~ zzNLj-G)5icErIfoHL_T%Jz1(-gde=feXUEi%*lRPoUT@}3#$M56F=S#i)_AF1oP&E z_UHm^vg;7PKz@UkjX;ZjkVq=O)=~NpfP0r+I^XCym%N}Vcm&G?7yRYI@}O&u=q#cH z^OU0>{9-To9q<>9-(cF>W|*?8O*YAm>ZrUXnlJ030&U=Pu>#w=EKH8Ge3T2Ok+vN8FLr`hsPU0Dc8aNJ=b1@Pio-Yy8Xfks%$i2& zWS@e^*DyZR$9|&1E85TIt?ASD5UOy4%HXx zGgBY^)974k6C0H|0L$tkmM<8?A?J-~MtM8o8YJUGOOJ!3q+iV?O*ud|Q>pGop@YGi zpw`u#&iu*M4eYojoHHK*;shHip}mkI^`Ku2^vNI(Di&#(UKul~wA%Wt$h@^An4Z&&~P&;RTondg$(W&YDY z{nG=yV-@z}V*nd%_E*=(Y)tyR0h%BRC!_=2lIBASG9onmZC$l`G7*MjN)4oUYMfDl zrOa_F(V33v4Ah)QvY0-&J9yBV9l`llfev;=>lFSo@7ZAyjxwmJXMxDcH*c~-pV*`k zp9xKQx6X8sT?Bb{JI^$z@rW*vvaXE=0x>Y@7ymV#O1FviGHV_%Z-1f#UltR5)+4$_ zr=N3py5NA7^eckFG;e0|H&1gNH@6-ZBRAV0lLVqql15J01r(F z73A8&0^wy|@FAE09yvOzK{S?7JNP>2ub?6`phX*8#u6ww(y^;EQdw# z&q}rlGR;#3SrpNM{^zgjRA8G()!2_^iBx1EMIR0ub$rrB{b^IZ3=50Wm!roX zo}GH!?Jv+)5UNK^BNic2&h$2_LmS zlPu@xQ@&kCm<6vXWSPzqVE|bW{oqHCaf)x zeUz6lr|j!KnS_Rl$1ilKpW2Y_tRz&%uSID`7j}>h*V@RFa{9}v1i1dw&)T-E#l5~4oj^s# znMfB6{MJy=;OpA9^+6{aNib!zna*C`G-TY!F?1+iGv26+ce~6Fti?38l{|D-mv*Lb zzxiu|-mUb-7hhcces*iwLkyy)1Usd--f+~L)~Bh^L*(ZFj0&F^)H_%~b;Cg~rFDx@94>HhES)73^3@&$^ zNYI4_&PCo%uS{MWPY|A6X_MQb)wnepZSse==s=TSO;PxhQ|ek_I#3T3i&`&Jwe@cO zB;5QtsR?C~wH~b|b_rjq(2q56@eoDli@-SP3^@(mgofULF-4==ZedoW3^z_(#j*N6 z^y}(eM>@y^@1T0BD0xmz{u7F_^b5526Dk+&eJE2(vk{I#wl*27nez}C$e+byB&E;cIgC4Erc6Fsj?VDIODxvJHCH1abi zA+y2VmYp%|o8X_8S$FRwQYW3t<3NAxEAoM*9vL)at3|R1fZNCGo49L-&p!aX8Mr2P@SdyN*0KoCUn&9 zGpSj|v-5W*U{1F%$&k<@WGtMv#z0%<)f7|mwQ7o;2OCsLjd?&lM$~_CGS<*HlvrO%b>77&HXhWZo54ZUjkieyu z_{MseQ3T|dc&JijP>DJ<(q1%ZBi14=cp{y^qaE0Sp?E5Vo#rtELc~-y(W+@dU*OcI zPa;3G3U-swJyo8(clskOtk_}xAyW+`I*WV%32?EFO8TP%m(tmA)ejg}&7k-;0eMXY z#yBt(D3`H;vwts1n#Nqk+o&yr)^;pSEz4Sv8DYv77)N$b3Em03ANy8tgb}dXNM!k$ zs#4e50J|2U$GQ-J6p;m_P9lYkU+jtvP$l284h|CoxfC8uaIw(H za$OQJ>9n0K=l~1dT(t*-pcd`;OClHhik66(#?)SLhsQw!Y5HF?c==JsQ$0|~lLc{F zN^e`!t0qGUmg6#c&^G$Z7D@vi$;#fQ4-S>+zKaiy;C0@Roa8pZ1OE&yW=7PGlYoSB zd4{+okMHsqI{c<4M%t#7e#0C?!g8hR!)?sex-r~Ia zw039NO(tNX-gTnQ36nQq^DHypASF1iH#?iYcbJ+V2)?v|#;F91eb-041blg}c;a5U zm?%0b5Y%4l8EIbbMZlh&-N@=dS8|x=qbv-_`%x8@EffT|l10ymw=GrXr5z+x@PdI1 zbxkF1&-Rz5>lojN-oVVh z0!;c6*_ped1IHxr#h?GyDM2#NeSufrEZUGVJQ=IPPiGJ|h5;}23BV29 z+rdE=c)_FO2B74afP2=mHM*!!JUYOCwoH_W)Y2;>NWMGuF5v9haLd=y z$GVa~%QE$kjNJVI`xno(T)m$Dfz}<;EXtfemtnY!vL0m*UNiB9FvGvgK&hJD*TA3j+)~AbsSo9UMF`tAzgjZhdk?j{^nG! z1V1OWlcz`e>DX9XY%-FeYfSk#l+q4Q5|}O2ClblvXOL$m>k-k%GUPu-8!c zQ#OYMDP$Zx(LeSWK+PuTRgN+m4|32N^yDWRrTo>iMNdB5xWRDLx zGAsUg12jPopM@gv&0qq<(hZ)Mq{t*5`UgM1)f#(x)RbKL~W+?q|mZt_yyJM1pVKQuYK zZ}{j?37LzgVX(1eh%E|g93e-04`$S4eANk6d2AHftxrQW4l9b;EYMLqG^vh>+eH!6 zi(fBf(fkZ82hxpq_|Z?$pBaQX_*sOd+472`Aq%`@K_28sFn(J5LWYp_@47y;Cx9ut zhMk(6opI;<8t$&;qjEI+!9Q@r-fOsJE9_EgpSRH^Kr!iy$aZ`^*ai31Om;A?Q6pu!7aVYvTodrNE6x>#uG$^R)Xoo)l z->1Xa3^=mv!yS-ZRAiV9-lf+9NQGnctL+>)3U*DulqvqepWOPf%&#y^Kn z@i<4HqPITo@m<3euSGp`p}Hi!!kE<`K9m0o(AcP|$`3|=f>i5OuI+{>nJEd}ca^G& zV4DAxn72vZn1dFDMxG{S@#2>CF90n~bg%~jA?tgGB(&kT1$*WZIarq)Z-s1e? zDC9iHyN@h5Q=Jqj9nKM>`sSl+v~LVWf%<0QeE#|8+LhEB zlN%x1eFHWaxBD&H-R={arM)8g)ZFzwWj_K0zQfLU+Ig&_(xWE|O!=#qXuMMpr@#0b zhoxUsvFuvb1`bF*ZTC=opKWq*D?Iyd;fwb0 zwd#Yxzx#}uxIj<=t!YVTWIU*tTM6$zcuGTT~!3EN=5@`ElUSDGgESuy{im*)tyP| zPGDPnt8SK~>h_q?Zur*6cuytT@E>;jv0bH3U+qALNAPGHJVSewi$XeQuAlQopSsG= zn3Z22_h_u)PL+#J@m`k;zv`>JKGMFX0Zi4c;n(F;^w;ov<)Tx3_sUhjN9V5fMSm>^ zbg8TMI_~kKeUHW-&Rjp!-=Z_a9?KV7E3VszQ6tGUxuOo#Q?%a<>`ruh1IUtc|co{QZ~!d`WleC7zSdJ6eI)leiw zrj{Qwxy})}$oQ>>k^xZE&sz(Glqx zc2zk^KBVQ#DbWM*#I65QD97w@t&W|d*IGor)gQq!c-^5?@PK!P3Hrx27{!x0obO-$ zOcPDKNf*ZM-~jc`vl`cZ*7^`byon!R}ia7;93i3g22#P(^!{Rbk@zQ zGP?Zy=l{pm|NNi-&(-G&Vp*({s6WN;To~vfKaVHOL9BaK;=%{1oy3<8_aJXo>Hp|e zJUMP9>gU}#VD@0Q@b6ML{B%tvvQxV)^%`C~sJbxn%U}NT>RQA9SM)}Ie4Ck|aO@~&2m2%0_6v^#crlL9r#;EwFXJ_t0u09tbXw7%0%#h^cXF1O0%5&_gDP0!>eFw~F>^THL1k!t5 zsPHZ3?c}lUNBE1o{(?cfZAQJ@pt4LF@%Dd%2#qt>G8MfnXzILHJPNjWRrxl@wLW_^ zV&}5T9#rZtft@L>Wm%VJ*xfuv#c3v!rjHm$Q>6)@kLrX&3%>=sroS!AlHMA3#v#9M zU-Q^2&vf=+j@7U6ZzIc^2K;VA=a`)5wykAZm(QhhSGX;{TXo0y0KfK&b=|tWMekC+ z=hCgtzo-g;Oc!@F%8YdkhA{;&W3->-iA)o=ZY+?qg`GLVNk znj?MXdApT$@U%>w?>tk{{b{^Nyw~UHh?A4E zZ|i8DXqt_VNtkd3Xd`*?f!*HMuV4Gh8F><9k-==6ZRR{MbJ~O#K+$-ronBM*i-ks@ zTocSpYtGZYmDVSaf&u&^O*qeV<&U5|<|*lb%786+=gCPLtlROT@%YO{qPHd7P zUS;lTVJc0&v?+;htAELM*W(`ll5^0H#Gdd}S@L@}EvFp72RUwUC1B>S2Uj0n`oc_} z-PL$i@Z@KMbpot@aX-_kGY^-=0wGmz%j)ON>o=nJIv1A2hjglMf%*0u?Qm*GlUsuc ze7}47jlPAfU0((4n|?;0tDRu+nS$bX8Z+O$)OVA8J8`>(Q*sd`)5e7Wo>fLxc3r8% z2Ai}IXd@w4?cC1I*!8h=MNfisc(Ggi^;f@%?y4v7L?425g8PpYdOT2k^|lO=JXp~{rAPDXCM2R9p+cE4-@v1Z|NF7 z>Qi@ibo%gtw|?tO23OgQh9@?j?Yg$v+%{;pXMIImJtVtnS6#K1EyprUjI3F8weO2WTU& z3!-EF#iNpaV&yj(53ygt75^%8M8DZbs|<7Ggbs27Lq2tpn|yQ`x}gv~YyQAba>D;z z>55_n=UjfmpSHA9dnmVf=-j`iy|5#QmbdJLR3zwD9@_N3>I92@XPU9$A%E-vozg%3 zh;7Dv79PVsaCT~Zs@N*K9jm^0Q=aqHejmq&qI(~*{TGe@vcPNs##)W<^4pqwsti1J zRo-eZ7>>Xd4D$}>Sf96btg#$;(G{$qJC3I>PZ_Eckju)wW1~y3S?4Pr0SnogVgv_$ zEh;k$Q8A|mv#y>&F3m@-V0r3k1UySK6_VD+)Ha>4Qz`%>+rfKgv>T!TQ$2nge4$w$ z7s{^CZv9t41N*^pf3Sfv7Q@K({BFLzOf9>{bQO*nXQj+(tvVa1he)gk=-YBk=RHWM z<9M+Y`-uvuzM2H5U;HPz6ZHg?*S}9nGpDc#+X!MqsXyuFJvnRpKV$) zQ^yrE=#vKhU8M}Sr_ZuJx;MgJKoP_;$rT^B=_m3G{i^H@I%UFx}L+AJUoIB=P)vIz^sOuul08Gnmzp$65W$%LBzUhA{NO4Tf? z>klXg9#?O&z*jjh&>HkghdP2o>M~1!lE*r0LCWH`e7M5}ZTI)R0=GB1P(+|fzY@&( z#I=KgP2N3z>tNH*CQCr%08bIKZuaE<~ z!jm0sT}(jEk8~S4w_St74tu@aE90a0YDAE|*}W~l1SY;p05YVUgPBo#I+xwV@Pyt% z_c*!z%3}cl1L0@7A2jaGkVC4Hv zyiR_m?Ml&rsz-8@bqgks6(|sAzP7&6y9|z;)z`i|OH@?@Vbxnov+J~h2gYrq9iW^O zmUTv+ezxr0X?HmB$V#-=6ioaDnQ5AMtz4}cXY{WS-0z*@$Q13WS@;cH93WR~9gzY4 zV%&JUKd6(Pn}BJ@V$`)1n=k9C?c5_YW}4^X-4*Vkc>YlO+|?fcg@1n*$aq@LJ5aCs z;xw1H{HE#(jw63rvuJ#_@}TXJYw`u_K@Dh|V;Jd4$%#Z8=Aq4O3@mf#piwwF4gzk! zmvPj@=1|iMa={GxZf<-zP(GF#Ie|3jLQt`hF?#V@&=PFf#B>@$V2coPCT|Y@Sx|Y9 z!XI{^ER*q)t4F$}dV2obWfnwo1ueSNCSz;uriI3X*w_xjIh*e{v$I_T!Q8}?HXP)w z00`(kU{uB}3H1GjHvn808J*QnoMvk1u8e+AxIB4)Fi4t1j^mP6YhG5ilH0I-E6=j9 zU?&w_CWYH3=u9W*^jiF{Ytljy)-`Z5|BRAt>rI1``m%| zOFf&*F0)ilEc8p?!ma>X!8-DBVd3LXKle+$;17H*O3c33dpo>EcTVTn z?Hm|rb{|^snEbl4CNtH~0^MVtT}Wio{=)&)5;3~5xWb1bpm&okA#-@sYem5@LSiIm zhUm&IAZZhYKr!~rI7eeP`sQO;g9}BibvwLz*Z1ZtzQN5eE!-dR=RKwZxf#6+sL5Mm+V@tLZWY20gZ9!U0e&Aa? z$vR&RX#-@DRN-@qz&gE#VqM5@q+Qz-JdF5j<+9T*-Ug4`R{cQ-$`}P>@|yQK>COk) zT28A@IWRg1L>IWnSV1 zzt@uC^((zVkbvEj9ZYBMT6<{hdM~n0`qh~2RV9Mig=fjNmZ;<0S4O;jVQA_XNY8%l zU|Mj#0|Sp^d}3eiGV_Tp`|^%Fp|jK2_zalR9r*Z%X%i4H<^;-uu*_w=4ITzc{Q*?d z*R2n1GWe3cL9`{r=b1(l|l5WDNatXVH`h6|oBd5|Oc0PyRDSkg>JG$P7 z4);OhKJ0K``rL;sGmY<4u0BJ0`jEft|H7wL&nVdKGa5S)aHp}}>RlJovziZ*uOW+A zl@J5@6T_&*71f%f)oAikP zF3VVUk+E}i!dAzxY22m^4}Zc*JJ))RO`Jz{zCBa|A&=ISe$d~oO)wvX?5{ULLqJRiL332w&GpByQ)4~ zj3;-;-h?%K-KFE(tpyQVFgoT@xYB4D$i}vv{wh_*=9LrRop=c zlW25u3wU+E_(_HY?d%@#hl|8b*b%UcOvZ6m)fvdNlXR>)0k{@G*9GF(ub+(;0B@7K zks;P62Iw7_p;cI(Mm&6DN2)vlG+e(;T>1GKKw$18c_Nwx5mAe0fg%STUK3VC#|Kik zCqrz!*Ltiz9O#MSg;iolYRIM3tz~0X-7(siwat^>G0bz|0#ou&8rb%DE&4{|W4tbH zgM1%{%2*B^i<3Iy=ie2Z}7n=r>)jXs-Pp-KwsRLBU`5 z6T!MK5GW}3_mU+C0XxC6Z}o0+SQdhH?l(Aj$eJape3MFYAg5nmrM$&rG*Vwg zC!SE|+y`8EEnycprV&_3lx&S$4q+&=8Ivv+-)dVRq_E&~q7Xano#h(3T8FY@Q6$OQwX#wx4P=5yi+T|fU_@@i}yOSh3@i{3Fh)i&F;^3}FQ zbFc0;IM6D*;=MTOA{$2#in?`#;r3p;Ab%1w{l5SdnNS==7_3gYZ`;i`A)_S5r(R%v?Cp$q{#!{+<0GSI0 z@ND?tnHHJ+L6e$@dJNgO_*^E( zN(m9P4J_*58yh#hb;!jJYy^I*2Pc5Ro(=1oV?QOwMC%xMZ@VoXeDIMv9gH%h;~!x{ zpR8?~mLtE-x5~Lf4}L8^7IS;~ zbB?30(2HO*&+>)~Fzj5@?3X*wef9^gDPHfAbJt z(I{P(`U^*RT&Z;5*j1#5Y|DiOC$*RUevuWG@UpEFsDuPE@+R#0^IGw}S%yQ~MmGZN z1syJOC}B_J5yxiR_<^4<#vXz}c5ZKnKY0@pz4*V$_{TO8t?0qU;Xv57Ee{|vW@lP{ z!HE(|5^n7D3#MJ@pf&Rt=PqP~e?-7W;LR`PTiT!I09$UDD|HyPRr@2!SNzkr@-_Tt z(xKytM!}e%40hsfYOAhkqrc*R%pXnx#28VOoOl!tDSC)(5ny=s| zbDCwKel5pZpBeXdd3;0mXk&AxG0U=+V}?t9qEl|sbi0hsA>|pL*0n6NP3YOoHS+V7 zSDvDC$ocj)>R!uXo>L#MWq`x1&sIAy)E8XA)RFdM30YzagaVQ=>`X&T-u6=8agJeg z2t2xStnC|_h6M@QQLpCRegT-e2FDQ&lNn6AHD7#~>4Y#O!ll}ZXAzGtNNXFTY9mwZ zCm)%q$5#d9_@jL-o8cee=LZdx=?Kon1c5v^On}Oc zDsv5g_n9y#=Wzl-%nL7$a$z|p9mir^{|K5@_K8?0qw7cS8|-~b(>fXv>@i5Ef)0Hb zIYrkMXG@1Yz3xyu3#jhw0UJ*3a+sQ1 zvPkZMixwVSs&JjkPp|c6T`j(z>efp-;H`Gk9?=m~S`WCX>0YyZE=RqInVqo3W4|S~ zm1B_Bx^wUXMVLA|2?rauQbQ{3>E4m=6y4pC!dW%g|7^U%33SQYaeF3wHCn6>-fMlj zb{()~0s%c~-5ZgP7A+x_+vnC1oPigZBVkvKT8JsZLG+qF18OUWe+pB6a{cs~090r; z!w((A=yqW~qon1sNFrx^dP`bpJbI#Mgg<(rzvo`S((fNVOCEfJ$2pkYlIpf~EQWdR zmgjM~4Vy(e>NwDo-?P)p=b8KhEiKTo(d_@|TxE{WUwr0o9U~8m>~FvRt)Fo|luy=x zk?7P$O|B+Y-STf4<%w*< zt?e&9`Al};JDz&pTeq{vw_=CV1B!>X)p|0Cy=K!=tM_o z;Oiet4s?uv<>Ex49oWLQ(u^T^Uog?oeXcjMqfg#auD7Mjw%n@k3kS@1ZS48;O&HpJ zjh>=|FRPC4k7EzU8|P9!mG+%JxyHB~atoATQ+RWbjI79y9>~Fq@!=!$qB$xousGxe)J+a@_~9_0=7_66W1m*HWq7(9mzyUuu(FMX=Kbvy^g?_kjR%i~9%2t;<|c%%6MSzn~^+tn9d^-0EQ+^lgaS35c|r{G__AH+O$hu1Ut z8t)Xrw&+H`%@=#2fy~h1k8{pvKl<6#bG;<VQGzIGN;?N7ax5taM}`-+YiUrO34=oh%9(p?>I8S`GA-QZ3SCMBPr@f@llZK?2{f zIh5>ASRjkqJ{Ad&rrTU?*uZDy>k}1J~&v;tn&B+iwtHdYkU^{&>%R? zckV(-HcB@%8Zc^E`59STvDq*-t$JDtI5?Y&rADp}ky;l+)W6V1GMTi zC}>djtF2g+&d`yunj{-sKNFqjI=Ma*UU&i3MNm z%Mi?`oA@l!D=oeWHa@(Sj!ZIBDtI5|FDwMV_{kp$f&hpG*mpjmmu1~I;P<`^F9H$T zYJr7Z4o-wvK@Dv&zj~{kt!rltk}PP;7q6cY0DbNS3ky{0Ye7l?L)o%$6fer|9mzoA zO8OHmSU%C>`12qC%t7T#1upM&;SAX#`d=^!T)xnv^o3>lofcm2eyiu5 zd2yKfnydHLfxrbC$bz1tT{7Y`1W})S{u3_*nen(Co{O-%PkW-K>U$s0|r17?mRAD)= zIWJ~=Y8s#a_@^Ep-+ik9LptLtM^m>qHj^%s9DGvjM#1Ilmwe((?eYa%6!rPj4>pY) z;ewdh{!`hN{=rVXi1L->5p;(Q9>9iZBuvzNYU~g+ap8c4?Q7|SpH-^MFMe?@+@ORGTy$pb2%Wlk;(0(9B95im9?XxQiYJ?2kG|1GF4h3z z{Y-NdIzrDEu2r`Vlm`z5%90t`pS}28>&T~ql|IeJUa?HR&$%c?=E+Qb94nFKBBgrD ze$P3`W1nODN9P3x7)CwkZvCn7_J$I7zUm^jzv=_U^Aeb*rG?X5onoL#?DcdCNJD+l zn`L)f11PT6QQ+925^a-7tb^g*pvFQjggS~g9&8kwsZE08|2^1B-6PQm)iL)ne**eF3p1ZL9Lr^$mn|CHNzV zQp(s?h6etWSh!)Mlz@@_v}j?$@m|3Xa`ConF1V>t-B>4eA+Ng4bBn669l;kzmGlQY zjv(--yvmlR*58ODor3sMYE9<`uUUm~x0ND1U9S0in9(7@NQ3;#@{$z%SJAL7xyu$M>hXMIYpCDdW5bao3o zI-ik8r0+LH*V31HCjag(1^O*?K1EXS<+C01OoQ0xSW_r?q5rseK_8JAp9EO=CVCRU zR9ok>$TXXXPWKV=vd#CI;AUTKa@aQbul`+<(82y{dj!{dok3*oKc8c?3;UG2t2AEn z0!f`a&rHbO{Y)~^Pm%3BecZ?HN9G9nP&2Gh8QaL?`BJj@3kRH|Y1~P)b=%4=_JQvbuq)a)9j|fg( zm&~qiO~HArTgRjGM8Cr(liN2K6zn{gJXnPV2|)(880xCL2)@11^Oss{YWhblWx{1~ext=XlKB=|O`JAy!`(V$q8L-c7R<74SfJO733AaATai&{sKqa}k$D48 zt(E%Z)haR>qPzZt8a<#PUMc{eQc(aV^{FXXWFkL~X+Q55%Wx`24xM@=i}DC$?%OnS z354Ik`q@7ysH51G#`U4aQJ0f+Oc)I{w2HmTqLI5w$m7q^2rj)A-M~GTJjr83`5rsR zd8Sde)uIXGveU&auH5d+m0@39*9nghpVTa9u9ig=##K#D(2V0;ndXGZ?$kpqq@qi- zg%4M$Yr(;lbao85fsg#u&seAsEc?nlh-ydnEMTyCf2W+HTrG#y@;90)J>@DKg`&_;~X~ zwb>pHl0%P+8NM}A{X$})G*XmyV1@BCCwgcJ05)}@h4BXfYCx60f1bUzZ|QCUf=Bp* zMmn|7hp+9bTN^RtTXsIJ57bApeh}4PBW+o1XY~R7`ihGm%5&!di_oo9bCJ7E<}nxh zO!~BLgXg7leDbV#d8DaOi&oP{9^rcNs|sca9g$+GkC^kA|v0vE( zT6|)R+ori_O_@2%eakGClR9XN6#MI@NYN^N?C;Vi!Tkb!w;)#TKYaBGV?vNOnxm2q zbt*!Z6P-?^V{qxG5Fqa3j1{{uU+A48+$}(cznyf9{tn7n)yzY&t7m=9OL>F;UVlJz zmc{e2E*O&V(;8<4$;=TLI_rkxK@?+$e#QToUy;kS+*2mM`_p}I7h*KT#K-K+8Yi~} zGq-UO(z5LM=b*gILBoB#o@0;DneAHCup_(v&vn-f=S=#F$3l*!1sy5Oe8%n8q?%)o z`PxjI3mset(V4_{iC<(6rl0KFa%%KFHa{X0cV5{hvTNp8-8!v)KbF9 UApV3=3w z7kGNklCQD8U@l^wVqU3KG|EqC0UulXE-0-(JjB~PXI$~kxaC5U5ZWBTOi&k`i+(>M zYp2oXQ=_)EV96Zt#?r9VR2;5ywS8Q6L4DwrpHPDhC_g1L20i(+fyfIep@ zfH#nuY05+^a-2z|ziN?_C4kA0pCH}tHd-Gx{h)y|#^TOqI*8K{WfoTDoO`O%fo14D zn7Q8Y@~g+nuy#s7!7+;tFM^OkZO@_d>!Mr3t z%TOfjA4aSi9Yuo)>%)iKQYDM%pE-0ON+hgJ{*ZRH0Cn3WIgFZHdofRFsk6bqnZovaP({?hy+9_}mInMKo+ zW=||<9PFgI!nUW^foDEa@~&fYUaatZG&|+!Y5gR(h#10-q#S`WHD2)QIL2gThX#vD z7D=OzLLxFG&u;}_$ciT-m*)~4c|J2QSz;%bU`%`^O9IvCW+eB&{HW)6wfG3P(Q+~5 z@sls@?_3CQFfMwQMF{T0Dw}lZb0L9+BzI5{(4jNq5W1DtcBP)V9@_lFZ|Dy{cdohm z$?x*=DrCTJ%*DRDO8Jb-P=+p2_^3RIMdUYMeR=g*{gd+QB8F?*PxBowhD-@s?}r@n zGx%du2iEk5{M;938b8~m(J9iOSRPz%E*DgGaq~-eENeqsph{m4RB_B`j>MJ^LO$9R+G)fjB z`+~tYx{dtxw|d_C?JK{(h<+AvfiaKL*I>lQ@Gr5H;yO~jm5|G=aYi;RSl0nhuw8iO zAXwToE&5hz=!2cME#mui#2pah2!CJDRu$DG2l~lch^j}`%2)HTV@;8Dw5g6EsEu<{ z!MQ(J+plokuF6YfS&_J?_=5(@B`KZt_`+v_{lYChBXH7EIGZLqc)$XKyR$*1KzkF! zZEkPQXW~`cfbRJqG1^t3eZnPyR|VNg$s(rc zE+;&MN#C08#IoRq9T$pBVn73XG-MxIeu6UpMHzYnZsZm~7Z&K>N|#WabepnJY93>v zt0uQrU)9lo`T>?dCf#nEYTP(-GJUMuo>+KuRktCld$N%Af*hKD22WIVC&LpxfBaY{ z+Q(Xqv)hHUaUx{K=cMeDA}45SMAI*w(atSb*Ew-tKfUqJ>Jzoyh&OjP%nQ5?G0&>P z76i!fBLL=hu6OVB%(Y(51TW-5KA+^Zkb)X0}{q1 z7brQRkJ&Ie;4RhXqJzwVl}?>MdPXpKu)_h4d0V9Bd4i#iziKbM(y@-n|L(ike1<`G z7EUpoesxDq-GNa2sxPt0%^L+Q+DQg}rcKmI;`n<|ww&-x2`Ip>98(TuV>`&nJSayB;j*A8*cWf&l%jbY~Mb|up z0Y7N+9dF=Cv{hQ`&v-y457-8VpL)kgvgj=qv58%w08A8Xn>IX22eif4i*%2x=m1RV zT6hcQTXZC2zi?qr!jR12nhJDeOcrfwt(WSL>0i97pN!Y^3FYw%9sGVPl`h4r%3H9< z>duh^e2*QCpQPBf6?`Z__)$GFZl+)1!!f9Ufl3~QWoMMH=e$0y zal?fr^$&k7&GNae8m1#-_CBJ$xcgK%*{-_i_g*%+dBj}{V=e(=OAh;*e97{tpE<_YZ@c|$(Nu*)WA z8g-x11uef9f$|0N8kDQsZ{F#I%ImUE^&B9w>_^hn&)-h)EZlGw-h}Nx=&38|9K8of zZM07amkN4M@LdAwT?5mTi0GGib-X8*XOTfJ4=iOYV;6J_J+4km$yyU#>Xyh)72G`2 zi*n9NBF*jH-+j%F%vfZeg}VZpWm+|zSwxSaYay|)s}^f|2vVRAbcA7;mL#!w7Sp+E z#Pm<-Ek9F^Nt-lI8V%NUZfZZH-W4G{103eHc)EV7w?eZ}R^q})@{$oTaS|=sIf-&h z_KjWw$1T_dyzf}3su_3!X9DO)1f-O8lBAKBHGTHQPj&Z00&*5&ikS5Rryt8la=R;6 z?-wWM=9q{-bVj=437_F)`>AMi#0Pm+x^|JlMlMdkD906XcDktJ#O(zbyMbpWPV|)` zXZp43>PR3`EndV=XF<13zBN^zV+0k{$LT(Sl@EK+Aq1a*tXdjlSqwdT()>+YaU?(R|OX5iP-^o;{~3 zxPsA}r^#DO9dB5W2LLGjaRCB-B%|6%*m0fay0Xo>uVxtov$So|H;)wq+Xy)~cmq1q zF4Q&b?Az#Ln@l3i?XxUfw2KFHNZT+I@g10%Cv?^_yKh$hw1xrikpJL4>jLa;(oq`C zFYGOG?oAd)X>4K)9p>hl4s#)a6LTFGzn|*GfP4*ub0Yow$!EEU$X#Xx&jc*I2#WcU z-D_?e_M-rc&#%qg)F)@?giOrOyp^4~nxOnt;)3QIeFy#;4}TDXw8S<2VZ3P>_)>cx1_SL z(%94BY>NnSg>S-*HP(I^nZ3iLBZIW_RfYhBiG&LY*qQ*Ogm!T9K@%W&B9E<%uY7$k zZlCMXOuApyGAyD=$d0UO&YhC)I`WX9_ePTo=PAo?%sFcR9{M$_hH~Chabbubo z&6ACK(~zJO3{zq$?LKT`3~or4ka1JK6*Ra!?KYotx zzBqwh7yxG^7TD#N$H0sJG25>3jibuFz9@L>rvk_IMTLS{AAv=7#yUabu~cKu^WNk` z$8aufiow{kZT^CYtP0)i^B z8-L8dp1(C81?N0}IW0r_+wXl)@LjjAAHzdF;IYr|W5SPZH(NCl;(J-Y*{GiH=eZsz z#^SmDe3ssx=eV$#AkTM%i9L6RaDJyg<3g9<<%g8%_wxU9=Y-R;Fws~;kz{^~eOOcA zS3Guy&2lGA9<89R{2rX!B=BZbbcK=*>Y3Q&7~S+C7e!?!PRrmIP0=8=Lkc^;B?Elt z#9FVa>NvMozVMm}2a=VEX^-I-9m@e=!*jjzE;a(E=*+0bFX4*G_jnvDr3Yq;;n1^= z=dc47WA)Su7?{sH5iH_hducd56L1zcb^EpD5F+d7oXeQVp#;tNN5SA>env}~s#BE{ zWt`A2L~3>02hml8%kU|FwX}dO^NW}7eC}t1K)yAtfvraCCC12Z{TYW~HMuv?7gf;r zKyHkj7k+fYR_ul;Nb#aNlP&}@!ElQiuq?<~@M}jzeW4ks^RSIVtk)gOjDCt-!1`Iz zmt(i(7(Q)GzD$Oe?TAktqch7f!yWUn8Lsoj04-G(oBD1_V zsI@`H3HwHGv$oG^m*JgmvA*%{s>X@Rd{T&$8dh5_n&2vWKIuxY=Bvo)U{?zqZjr)2 z3CLOS@EmGAmrb<55NyUT%mD@)ZouY3g%b{Pv6aBm=&mHGn=%tMh%0LF*t{i|#r7gWcto7~6?5 zS^sI?%cp3ocLFp28eTupU_JIhkCeXGV$m04O^5S<`d0)`du%9|tI92en>y$rQ-1cx z5#WX6rJ<3i1X<`RLyPtQu{6`Lb|5NwLrp@c3yvnB;nNd&Ri0qm!S6G(96k3*c|{9_ ziK(zMigH^sL2I+!3OYsF%GlKSE!Dz?R&1t8Krnk9hU3jNpv7a&@Ac3Cw_4N2AAxJp z3EjazIpAs`6q$hI`_GXn@*phq_7d}Qmi&Y&9ugW5q9bC+gM5C`n2$>;1mf%}qm!Ro z6CW00;3ErD9<;G5A_!_p;A9C51k~qiKK}gb}C(425;_t+;j zz1ZL#lcXjh*Q-NVbR)-J-|UH#35tn=tA8wDpn_dF?kB@yKqY7td`)yC%U9psE@5-861w4kQ+NLjfPL*t-KJ8elsT%6ueJT^gFmF zTExt&7XOi#>trHE~%%?%W!Oa3CselbRy3Q{aV5K zC;Db8&o5JEvCH#SrY$~RFxf972@=xA6?Ar!3CIV{yoAV_NQU%zvt10P@ug8K`_NX$ z(vkA{DRyR2^ohRZ$pU@GM-O;$K>+)6WD!VWp@RNg9C-aIZ{eQ#S}rP@jC0#oK6<)C z-CTOj@@(NP>YDDMHCk>Z3$!FV3--8aY(1zZhkYtlurT*a&-?7%yi+uhDLN+LD*YKv z9w?1Jyl0Otdhj$X?TsFFq}gUgH&o&?#ysIBhcrSLdL=_0!*%<2O(!}JjrM3T_Ka&g z#9qLXibmmj9&hXmMnDV0&2qR+*6V@vq*Eiac_CPF`foEeFy7<=)fmU5|6jaFr8OAnq6LW*V zTg zt@WPi%x#6Upwaq!hMVy#Ket1Nz?0jZ-G?nW28KYHixCc>HK%c#Id?==0+$Q8U;pkm zo^Pn9E;4nOFYwLdS{BYF+$PUClRKI|=nD(dPGGT9gk*_^);U>Xq&d+5V z7)F-ud3qLTEeG?5Rs_26!xuCN&NUXF%VEP9jFghMr`RUG~<)o>3(4mA_J>HFpE7H9xZ8uGh7`-o2g-%Q?0*Z{mTfoZ51eZa`LV~xniW45U@8h{r)LBcdq9f+8f%M~GQCM%i zt*S>3MT6xE?OPpIo$N;VW?odV3=QaNQgKHmXh)1KI@H6&ZTj(ml20SXYu1{ysUF`G zxt%0gt$dmpL~2b zN0^&d>0=#5iT^BX>EUw{GR=_W6PyP7+=&-x!|E8D2OoN;^a$kkZ)B4;%2a+El6G}w zhb!pT@5rIQVXti}i*^LJGV~jMg42qJ6142XRxV?*+6>Tt(wCM7*(?ME&?z!@&^e>F zWostP!n@JQ6nv9tawb?15fEG3Oas;=C}&~K?bN!ZS#_M8{W&t7unCeW>!D@`&u{dc z^Xu>QSrtP<8VsmO2aUfsy2{P7R(_UFi%4$!CP;p!1sp!XV!*d)$=@r1&B>S-!@Sl4 zj0K%dBibwu&EI-}5j~@CH1ZCb>f@h9HAmp6KPTCA;#`X-7R02&=L&j)a$aik)Gsx| zek2w*xn=ydE+pv1Vyl!3Bk~O~IbWvGwr!zzrXHO&{l0-?s`T3>vH-7?{_Y$OGTZGL zvjq$cix}q1d`^Qt4Sg;^xW5e?8JmfNE;#!J{zlDO2RH8bH}?1Ls)z4wH z|C>I<76Zol4O3Ao6EC&Y9WSTOs%2 zdxF#(PS`MMN%)~qjImRA6v$b}rVn=GE$<(HlDk^?R2(lu{8-QGa+eFtnA->-^Q`-@ zA97SG9go?yVCN(20Y7KY-1vk$d6+-79#p_Y;KJO?JdXVcU!Tk};k=R5X|jE*=?7pfmoZ&UUyS~ua0K5N^0-;=hc_;CuyZIb$#{bnwKr={HHp; zaFFw`%Hm0){7M&O`HWp%;PTjUD?h9e&Oi5cG-cdZipJi*QxL9Afft{0rv^LB?OAu7 z|9zoY7mnH3K}J6wHN7K*-ozHNge0lb%w?6wUJZv9xwG-#Y4d^A0PYT*>nG6(*mZK9 ze%K`OW|=7@#_)!m9M+$L(sV-1vYIhExmgbS(R%2Ic!#)&>FAjVpc`o|i>C}VwW%XV zm5IIHc$|v2m_J2^2G^OdGplywc`I8G>ySQ@EW}J~QtqW$pXBik$s&EAhb{P|?L(*U zEl{RMI3Z;KproAU3h5=X8^P{iqOg#VU~QyIDm{D530U@<6Hb@T#WH0}t7gF>f53?~xJwo7omI!4R8*R%&Y;UFj}NB($>-;9e8_Yk+h0X- z3qwwLAN0Z*C)bNXKAxP>2?@|!Djr5}6=0Z6m| z6{Z{R{L}kEvNI+QlEfh(2%G>aFqOWpE4?S(10R{=pINYT;wBiyN3(;v#gI=I>1A-* zZ6@H&Gkwp+>&Fh1q0MgVcUshOV#VgjLBBAEnKz4Wkw!GiB*sttLDu99rF#67#euK( z3z#eFbj+4i2X@)0C^^6c0N`8DHIBK;@8Cdf$Ur?Wt&s!R z^A@a7OcHV@3#s&UVfsmb(LQTq$)aG;Cyc}FOvB(9bV{9eW8pqn!A#&6Wfx+1%=EPl zqq>sMJ}JJqX0HCLFV(khM;?gjFY@6VV=k~UWJ`lhd~kwNrR&+-lfifD!o{lT!eTSv zg;;BFQz2k4!Pfw-%;MCtYfNkhz1T~3TXuIVXRO6wOS!vUo6T+S9U0cuwz2RI`yC$P zNv|Q&CGWrRj-?jf-%8il1cGAF{bnVE160}1Z}Fen41Xxt1aU^TnTp$7`HUHMXIGD) zi5Dwz0g%Ke>)6Hh+|=|vgZhOa%$0gfg}ZNrnR!swm5s19vN0!OJA$r0mNvLx8)&%y zHrltUfQ1JaHIV@uz>l=oH?%QFGB@)4wm-i{B?Hw-KBD6Z*Ke>}hoVE<+VQvGmv!ir z$9x{^PM~@oUICf(^0*Wih%0z6T;wj^&C9B3|ER8W?+KSg zKufH`e5aMY<__6JO9H|TF9D~n2BrLmBevpJZLMB}54D^p5)W`bL8|bfbxzdwmL?Od zc`Sufs3J=%um`I@nld z+?&H|6dxq_{RPTW4ux?dc1?9SI{}Jqa5jQl=v2_nLLUb#V;&G~#;yK^FOJ4ew#JL; z^Y&K3@>`v-t~Kd-Xlkd8VEC;jSiTvW-3;)U z5Zi6i%6qp(a*$^FsX6|O9c!Yx)~?s}Q-YOIcMSWHPG&cc#^*C^1Nz<;vBl1orv{{X z7t@fc(($AD#xLx+^ocQKA03g+JXTcTS1Hp+m2ymPpO{!gqo_3XJCVXq&!7;r2;YN& z?~uH75giufB=CX@q+mUm>KGUU&Od88+%{m*H8kLDVX+)Thz|;a_qeL zmTQ&$_ERl>=jWvDACSk6Rt*_*=LMS7Vh}j!u)E|>&1muEz*#UX3cXltI)P6@r!60$ z&5I4>ZwWhr#Yy&^box#UBQG{}wuTM~`=Ps^)6$}eg)uh40~pKLnTrM34_nNM?^@S4 zvZ2J{YrT+7UGUJC^1HgS+579-cttxG6tLa!i&?iChtR4Wr_LW4IqBO@n*Vfih_8e? zHW6Xdu6}|xdK5qEAu#kEats;aAs8>{N1udN^u_M53!jX2=OKa&;9?W;vW)OWXMD9W zLMG4q@LJd(TL!P};jsXs^baZc&%4=>9{M*HhM5%PTbNbbw2Uy#AOn2knV*vjp|xxiqVWs|zF(^&X`O+1!Z2YCM`HleZlqu|%N z#pVN^J|U2@tjagzF7zt8w3Sa#2W{juPsX7hE8(K@>vWLo*ZiB|O1yrI+$tKk#5nZL zjm2#B;d#Gf#8Z3rB3q#mVrtlgL+b*Wqis>aQ9YnfM>KoIleo%dBniU1Z!#%%hwa z=5b?K;n;s5P`}!vp$uF zKE8vAd5nt31-*vF*K`iX)_k_{T6c@V`$qKf&8MoTj~(2bmtbOi-soVn98(13jWqO& zj^!^Kpv$U>S7=l-6VY*-cF1m5)hN%&xX2>S*|Ic(1wZ;L{WF&Vb)QW*E$c(|bm~$n znK;hvGo21EfB{pvItt1`5PI?q4HUKDhOTGvaL`iL6C*F98`K7k(PwH_>SfcTCa|S< z%-p6~VALGhQ-=fPWXB>px9XK{_!>~0WcgeapM|3B33ngpZ19K$)>D0>@#D{Q+tn9W zSFf~?@S=<>?fF*cYuyg!m&kmOe=A5pdls>ryctj2GR>|sSLF$)y+~>@+9SlTbg@N{ ziN%WM14$(s%BZ0h+ytKl?fh|@7xm;xzC9ZmI?b|G*~DOrp9(s9B?k4GP;!WN-d>At z^kn*s9c9L^17a zRna1v13R=MbK&71fspkZPV6Q98tNP*hbp9jAN0BXv(t35iAASL1_K4K=?;@76Esx{ zzsB5Ud@{UdeIVl``lUn3oM0g`0At@CByATKzYEb^5RT#KuhtFgJABa^}mU+Vcw7PIowhir}PuYaNAvrkkxPtew|B&mS<1mY zo(q;A>)j^V<dPweinlO?@)B zC%2SgYHc{7qWZ2&`euS0S>fOV&|J`E++mM+$bg@63;3zN!~i@`b$sHk)OzOA?p9JBlPv3g##@r zzUM_=^lKm;n^b&|4GO_%-hLxEXt0e1v^Nn$#lP-N(+=Hh^ib@?*}RG4Kyv_F6c?+` zG>})xLAolULuju1r%V+*#!GNbp#Auguj z0%Z)0VX>X&#apEqNQ>ImVYpsW9rwxNPM+8VYUo0#<38#^OFBjqgm7_=yL6OoaUq?x zgTmjwR=V6$pae>Ca4oj|rxQ7gIWG!fppOzmM?sRyrD!&oxvI!?!O8FVrZGnJc2HGTW3Ls z!;ov11J0PHUl4=NPFmy5<$<=3Uu5^~QxNHM7PP#isBVw-ZNY6E79>aHAcgK^6W8wl z%<=;@$}Bj?T@Pz{fx}N>JNwL<)1FOcImr*cp+K25!&NT^;<8`tn9tPZ`Biq#pvU+M zugFkyRG-_}rSv>IkDJr|yOz%5SZMGfSm9f>ytE7d?oywsJ@3dI1wI#Jyqipr?A>DFi#O-g zYd!PG=fFIldHisG*7;E9O80d$!I0zjHo>=`$&N9;#yBNGn|l6oK|FFZNxHtR2`mHb zCA&sRY>OQ)Oq?%C1hBr-C7rFBMoZ1^JMpM~1D+R;l7g+WGW>ys7`!BxHQEg?NHQFA z7WrUURAs#p&CyWV9Hgy_(J@39ppa`BRWx9l+^io5?43cYulA1Lc!=m!)#bn*U_z6h zi5xX26Y_&wv}b)zBHsbvdkd85AseSOyo1mfhnH6EU6Earw)5K?)-880S4Yjxep{+` znjK{5^XElw%dbI?;jdx0%Gjy&AaA<~kVU^cj}C10)wV_FR2{fXU^9<34liVS^D4LN zt=qQC1o*XBLd?it$8DTZ3mm$0{Gk#e%$bFV<=iYx?cm zaOA(8hlL=pTCC{SK{u$;-|u#qtVY8{in1A{Av=DW_L8}DXtmK%K=J}rmB#Spwm7|L zMkoKr3Nqhofx>NX2+wo!F!3D?YKNwGl7vG5&vW~X4gR>>0U89N&?ms-`7$s5M8mtM z@HgG3`t;M!^el3&a&tFDZc7uKcVKgy^e3PH$nv4ww_pF(pNaBqZ{p)IDTA^Y{NNKa z^78Fvz4cbNp;=bJ@ggzk*9*h^woS{GlVj|2*>7wcJJ#*d*pY;OBw$EOA4na)cn?>l zfww31E>RD)Tl!=)X+|?aV(v{@Krc5s)!kw-B2i!YFaUuAWtf z#<$wN|K_VNeM>L5k6)UWvNC@#7qM<>x3%hSAI}}Sizd&A>TwU|O!4N}-ZFlUL$D8C^?sKj2M%NCqCvt~!WZZZSz{PdWQPB6v zNADnM7k?bAs~(@@;)g#AWnW`W5vI&RneAJ7)nCw^|Bi{8*LewIr6Wb3T8s?6Htu!q z(Wo(f=Kq?X4a-o{)qROOkrRyMLt>|fpsFxXwS8oUX`D-6@X$9KW%#DbhBw9jW10=O z1ncrClSlO;bG3sE9&m_=l%_+brRZLz^Nx|_JlOky`u+lC8HQ6i3SuK0rHXULPBWKqyXQN5rps_$651s7cN6g&wpz%%eJa6xxL zb3rBx67tL^<_M4I@B2l?Ot<;oK16s#CRD5YHd9j-6%iE`9Yj@4?KWFg?%unX_puqe zWR|sN!`_XOjgk^MJHj(~A)PKTz#3MAn20E8VxS3RX6us3o)8lSMYzz- zGk7eUr%(Ch2P@{GmGt76oqEQziKh6KSNS8t{{d1%fFv4-gqht)GY1{;SD93#?d%Q{ zBTa{{boV1m*&0QL%u}9``4Uc4{K#f?0M>u%!5V(n7sKXk@H>Ub$9YcqJAtHoL3^Na z=OkCJ_@9@yU*_AyI9mG*lFmK)U4NIQHPdiK z{vi{58Y*dnZqepbH#{ZTw#>HD)lzFvc8jpe$4Q_YAZOWRC*m#<}gUGh+0mi~A2d)8UQ zq^%+E8dAU2@m>#b54AA zK|O~Jf29$J7z(-9#+9&&T+kU8$bn;t_zm`aG()*%(t=ec2~%jJ@P32kbS`UFoF@$a zUokLy*NSs40V2Qq?z^ME{oB7i`lo;Tr_jm(knrnjV4D6XpL}xk`RAV>efi~=>0s^P zjya^^7z2D**q>z30@-aNdk zyPWQK?b%0VQ+ZOs*04hXIE4AYC)Mpka^7%GDb7rUPXOA>Wx6WB*J5lNR%PctcI7Tt6+seXI zVWnpW>&mkOfLgVN2yzpzgHhjua-~9g4nS+LM<+HqW!r|{;%)0^9p1;&mPhr=f$|wW zJ1|fePFj}Ho40hb_7|L4&k{J|ekXC6R{ zv@zfcM4r?t^)+oAo>j|?-F1+R6MlA1^4VTyqG3b`BF?=e)~row9^|&EfpK?DCp2 zZpBltM%nH{oqdwFZIDLgVOQnvgxRAW=iKou^6W;?c19)z{zhS(jtle2tmM%MP1Naw>OdYP>wvctJ*6*ZJCp z_w$_h4*TEouI%|KL$^17NTb?EzQ@$W! ze7ox`H~Ulj-sno|9qkAGx$i+s$8ka?-nrZFKj9ttee?~RozMR4yT1A6o1=gDhkrQw z>Z`A2kSqD+uU}0FpRC!j&ro9V7mkpN9I6aQ|qA@;)g? zfJ1myNdFN;c9zG?PB}oP678#WXH#4~L__>nzxvhD&wu{&qaS`4pKiK3nsZag`|tn$ z@5e~iSa#5m+LM_%{G6K06cAZGo?Uq(gi50wef4I=t%G zTK*cI4<2!%HL&vJwrD$O59`o?w)5_ll(R$PWDc>k152JGBTmdXIYV{S#t&}bZQPBJZ)1$Tinku1{_3O#tE;X?ENy%LALw}uQ6#J zJVflrQt5yV z>6K>;{0p z^Khq3;eF;?`aWC7TE5x6Fv&Lb)gAD+oB0mSDQ+K(VWm?JCQEMhyyC2MmcR9>^J|`1 z*+IA55p|nWehZg!T;(sWU>bZB?qXT~EVA>Q_1#I{pZ)A-nY?lWyK$VCZZ}RIs3)NX zH!_6(&5b*FXm{Bibjk|yH`Et(?Z?Ngx}Dapn7Q0`abE37o*f@KetGJ_iqB|!K#|k` zl_~sKo|d0RPJMpwYBc_T=v@gY$0v`!qn&+%A?2r|R-<$m@_L`tvrOoYHpG5WJ+geA zWR?%x|E||f{pxz%Dfi!1clF7!rR}5rdg>hYI1}*z*axn4dOx0Rs5t!f7-k!Pm1pw| zDx7VB{yfBZzJn3(7}-f>`#+m|WjjDZChz}~w!(-s(_O*)aSchDf+_ELS9?}4gKi+= zCY_MjCJfsZqjxXNNOKU!7Uyr^^M|uiHkq}cBSoYY#TfAs?0M4N;Q38{RM~rgdYybK zFFPA&#x%xXV8~dB4EJ|kPX49QcwKqYRV5w+g)#ViADT8`w-}iFYXhJgiub|0FYP|O zEwj||)ZS^(J@m6-4&gj6eqWmR3fn2-i<%=S&G563PT6hm%O`{(7#L|Sbom@3JEM@;TpLe)VJMilYzK(eU>$Fb!o7^16y^o!e)G7}t69?m(f6wFd9m z;?8Q(>^vBYQcaMCo%QnWy}L00te4`6cBHc|rIL=HeexdTc}6(-&l%Igd zY{5OAOODa9CDm586wcYa0o`eP(n16^IkKQC)!LLx>&->H8m|u9N4hi0?bp}isJ}Oy z?DlL2SCx;C?qKlOskTh?S*bEJdQH^GhcdeDN*uaFu)- zoIB|26h`B(N?0|a8{q4rBfkELbM{{sjmzWN-?+@_f1MTdY~y#h<``4m!OZeK+isKEHyG~OYG;iza}2KzSRIsQl?gmqCEnKq?8(5a|N552B-W)Ecaa031RAz= z;%V9Ufjh#atbsR0aG4&z#<8ntFk|FEITu7B5+iIj&rN10pG^EdSGI?JkcCiNJ4ZUv{Mv?8W0 zR~Pe6s|K_?5~zcj1liPu=E?hi)^fg%vTb=^2d=B)ux+s~uJV~Cs6pf*jjrTcezSpk zs5}paUxuenYa6U?_3KoI%cEgBC%n5YybRt$Fy=RM7hve^5;mR>rL}cTA2o2KUt#=H zGBjp#%Y*Srw!}-u=#U$6NvVIhB=<7n#j(IQOb2XXMm&^5$c5&B4s?aIuL}ucn_$7` zDQT(4VPqgaa9embUY>B$P5$fgqg_9mp*-^W(K7a*jZjyfIbZw2=J zuzd_#TN>)5m40@~{}k|Xq%aZO@s37uC#)V0mi?Lh*j!cMB5O0{%Gm~Q8qZ}WSlX_n z0%Vxq&7O2(!L`A0nMcz)NZaYG{6rIn&s1lNK?ckz??cy?Y!Cl%_4RCN6dpd+#2{mWJPy&^Bp zrq@bxy+@@y5A(C1ntXJ*Y3zm`ck#$aT;l~$*bdLc0Xz<%kzaw#JGhJ($TI+FK$pLW z29II>S~ft2X2tk))+N-mgB?;#K$Rj!@)TM$h#R0uJCJL5*8;7W!G_)YR{fpO3Uks- zibTJ^cn6};8!{(cUE9@*GKvigD(MPCC2&$H!bx1=4S8XZoe4@NfJrkGKIIQtQwM21 znbvf2)?2K1%CNvLb)E5^pJ0`Ptd#zcA{m)d8ad^&09K%yK;RjecFL(&dJV0-Ir*`| zH0*qzjrTb`{_vsid>m)eT~om2<+>6q-5GL*e|=s5R;Y`8??QXVy2HmDf#1U$X|cjv zL_3Lhn{LbdMSRWaXTNfAGRoIYx}6SLbjW_dc-#7Z^<_)9v(Px3k3(<`zrA<5ZTNLQ zH;?Dx-14zaWBgU~CcQ1*^LV&S+-3P_ICo3g&v}}38>04&maXMn+p%lna!Y^C?^YgL z*h9~qf9YhB9hw;jpl9}#)kpiv0b8$^zVHyXHN5ezAth`1Y`$#{8?M7<_}O3b8tnv? z(6qWvS9PPpgzBa+eO~BPt2mMcFfbqrZbRnCK#VXDCTiUE7bjc|BOv{(X)2-;=r@u< zbG$}({D@lMc`js?wE9MX2X134uNBt2ybW&`8b(VJm64WVzYh1&4CRlJIR&bl3$H>h zcTI8&@>)tmB!i(#kQcJluYoV0wo`o2yFv*|zhQj6XQt<(?nX+KDUakC-=q+&WA90J zNgg`O)5?v!RAXB5Zol_-`*>Mn$-@ND`B@sLM#6mo(}Pibgi)uV6w?5DF#*PjrJZc% zqr(o}n-A~)=CpRAFW%JP>6q142hPengKh@d-mAkcIc#Y-==$N?uY%W(uVGz*KK39H z^TE$fQrGmGr{+b&rVJ-wfq%@QU>*Qc?=4U7({31OJl0~KVpXhR6c9pK*0nk=~|NB7kx=N_wy18;sPqVl~M!Co-0|H zK&8|2kiY623x#oU!V{-l%E%uBLV8N^S^V{F-vKUclBg5KOg`Tv=lM6!O{vo4I^?^C zNLc*~`S^{CL7Qw9Khb$3;()iT;6XWf(-~GWNJ9MbX3BaF9eCBC4E*3_E;AX?_)Zvp z?;YPVOk%N)_`Y{|-&1FN0EfJ7(}&l}LU=Nsf8ZO#dT&19D1kl~ylINh9$+@V0$NWy zUNQK&HaGXum;_H>gqdB*Z4PPwkcWJ4jP0h=xMn^~-SG=1^3dTO*3X?kpSO4#_E31^ zXgKc$EARTrzn&qR8E*DBzvty=hTrG!v>kVtXD6K~D|iZzt+PW$+jQIK!f)pAr6_mH z)A((E2*_m6YrZV-&9DBI!@BCUU~yaiKYsU3>R~2MX~R1&#<#!d+CDfb$dC4VpRPCD zK0fy61xVC(o96ND~aDq}Coo@Cga?eHB=nm~e)1U9gUk1+})K?1H$A<`J z+U>V2EWaPVqb~+Vf4k?rX7no$z@)GDXUn&Bjb{$u7j`IKSY6A;zWe!8cA+uBZ~Nh7 zq?6wE>pJz$zP(-3>U)Rpy{CL;jS-6H^h1M>y$LH&9(Ub%_O^(IGHxKkyV*1>V2K>< zv3-p?VVu0pXd1_S53+`zNSc1Y1s9i)8R3Z=bhdI5&T{pPk)#pWVGj4gS=T}@gnX`H ztFIuIE1;eCgdGH2DhR4*002M$NklOG-lC_M{dIp zpfR{)TC!@1wT#Y5wnVj@i;qgVrZ<)t`0c^_lF;z^!MtCmOPLRZgHZ8NboA@g$=NB7 z3UPpsegf7ZmW}#v*s9BG>VYx=GoCk=75btK{3dT`+t_W&yLl3UW$X8t6PEHMFuaa| zb<%BiUwk4CD7wXS)QW=_K7UBEKlif^}UrGAi?t?YxKFA=g2=AiN;jXH&!Pf_s6C}rwF zWyuTtbeZ(MQC;p%*}BT<->AE*u_3Q(-Xa0`bKBcZM;+QrsvL#XLjw`dp zmo(%xSiKAfz!2M)b9|c56rrt2`?| zRR)Bk*wItk58vUmZDZR2u<~sw3`cs<;g%5iRZne8>J(PLGh6!3Y8I0!p1{uLJP4BW z7!uuffo1UH_r{ffIe6r`jKrB1e0r8c_$m5Zy$>{LrGK0E>D5_38>a5KDifU@xobqDXnzs3pr+#(8!C_WUMt+vMgdCeE;jKT#1AL$_uEMA%HTfhl@-gw#X`3IP zQ;$fS?X=({(Wrmc@mj&jU|HR>AojX?H&-0W1;EnRtWvFYx0CL}V_NIA`RPOcR1Wi= zZ}l=6m{l)iquYn0@!MbC8RcVG%4d4l-?YllyFbgo?|pj$f5J#(y*K~8ie>oh=I7bp zFdarI!K`xCK{M^*s$b1V#h-Jvz7>kX!^18|=cF}{y!)AVPRVz*t?T=!@+u!X{mr}b zuT?%@J8>++0fNZYS5$PyW%tgM*6`rt?$&H|+?_g>iQ%SEpVU)-3oR4k=I7a8vEwQq z)StX2Ly-B&p;O?~nQqQc0yh`+-k)V}eKxPA5m$J$4&v`VaFaZb(y`v1jCMf%Ek0_u zlt6R&?#&N44EIEK^J98fRn-;oxnoPG4$D{f9|@c;U3ZkXCq!3Y2p{LK+qdqH_O063H<3$2toIp5hgzn})Su_6_<6OP zclh)u=clAiK`!>e*{OjX4%H=bAM@^X>2Hm*Y!g6IWeY*PyG~@{B&|_4!42}3J~WOv zEm9$3_wbmY1_Wq84$pWZ{uSM)xE+C+wtDyly6{iepv(mr?+rS_5@Z;j@G#Og*vkD# zJL4Fz+gpt@3d4$L3-w{2|5F&szJm4|r8#BbcZ%R|Gmg1MdzHTW0{K}^8p*HUxZRUt z^hcNl;$Y3gElxNc*l~}~=Q*oLj!2@x^nT2Ho%!w=Plr<4`3dV?`&#D{xe2za9uB*`6^Kx6{%L^ z;6PhGZcxtMP})G3yO_HH_>Q;Mwn`ql$ZqAs@WIQXf2C(=B{C!$7M;oK{HQxLspLsK zcyWjFQ<_$jJ8$`xE(KP!Lvqk1eH!Y~UD=Hs?>lFO+JSL(2Ayns zcaWgYKKks7++U!xekSJh^jii)hYjV%W9NP=Ct!bebpN3z#9G#4utI0#fWd9gcG^S~ zk2Db0hfhBLtqdZHZ!jXXAHVxLv(I_&dC`TYw%#N45`AgZfOSCUH%#wx^0x12JqDkj zqImU|ZQu-?bzR0QwoCZn&CdBCOY$O&I>UeDLLMJ{@_G1imfh8MXWV`FyY<3*<=+Vh zYs08p$(w${DCf6)Zt9pu&9?2>vPI8iM#ESmR&YDr*1NigDPn92_;xyvC+ZDl;i zItpjAV!0Ww%Z-cedJY-F{|3O56SnBnmif*jXOIHGAeq5Rr-^LL{>YQhS%He&Pz`=YRP2R~gK{p>2*l&{GGg?KEnertSNqPk%z2{*ZyTbx`7PjgGx!K8nqnF{mDSl?U@7jX6v`^OX7fd?L*Q z>taX&8$+9Z<{5gIL+qaZxXBALneyhrPNo&lqffs`eryZ;M4JQr(6@heU`kfoX{0nB zWhyTZ(RtgH+BE>b=+R4zT-yRq&(~;H98M~7X6rzotu7w+vlCja$kJH%qM?0 zY1?k|86eZVp$He7pZ)uU_Fkt^cY6BEl*N{pp2WF_kz$!zCcKY`!V|>^JkyoB#*1J_8G6~Gc;@u@nM#w=|ry+3g+iC+P3e%{`b^h z$2^YxKK;pWMLO!Q#_u71^5q8lu6v_R`eF2iF|apzIFF|g+jEiEcS*Mg)e>|bzHJ+; zOn?0T>#2>MYte!-9(h%!wyzJ=*H1sEtiL?EbN|z$n@l`pLXvWRLmyN|Z`T8Hc4Iqm zT0Tsm*$3L*o-!uS0cVsg2y7}M7gO1T+Yc6J_W9M{_(@Ogl{$9ARsdNNXH#>F1h(>y z!qSJ5*mR34WMNB96vs<`!r0~Cq+d@u@eSDE?sTMSe8x|~^zges-2qg1Cq) z^k#sKzvvX!4XO>~hkg90hO&Y&;~&DQ(5Ot6jzw_=IvT)!OSX8k@hioYPw~c(MWHm9 zg)O+Vxv&!vUh>*4vT&G_DKhJ21xlGVxRyS{MG83gO~6U zj9{R`8&=A?8iga--kbRmK4}JBId87^CNj{hQ2A2(GoW4}-#XCdu?$~<9E9pF#0t!% zs0Z8bMTw##OU*4FLXv#Z_CQ`<%4n{%=6l6raePP@QV^7m+B`euKRdNVgSaMQj456# z6)_kzLvx91T$}tXG2k9_OTN2sVn5`HhATDB7;89{i{8)*I)f_jjzy0*oovG{ciY{c^RPZaf<;KTupaIMn2`i9v3%5IEYfV z{t`!7H1E+jFW^P&Yc{}^j*Rfk!zA8X1c>0lR2PlpcH0TX#K<$hR6qTu=3m&i5EbWE z$6K_45df&b+{gn@)gHcKhO=l^c+eBu`7>P`u41VST7MWohBiL=m}DYzNk5p7W7Apw zfh|&zL!ylBFz{^iBFxrE7RG_LE_$!=pQq_UKpV6j+B*n}4?kO0t42*f`4=~Tu9`bg z^xL#CG|eY~Tb$x9e&7XNFFh$4u5v66W?6PVT`_Z@s6p6+dihCyxY#FYK!Y)KTs?I1 zVatccE97M+^~ZEhG?|xnm1YQg1h$dvqx?D{rh#3%LJCL>*2$di&cIiLykL58JL-3V zuUB|cCYHbHrGG{ygq`r&CEFPBdRSjg5}alN&sEEp&ucYF`6)MX%J)_;R>G?<^pb%g zhg8Tl{(XJXrAs1-p4g6bKFG@|!Sj){z6g~zX~;F@d?2Z5G#>pHuPcR4xLCff;;K_G z_zcp?3uNiYAMw<?VnE$2?WcKvNUeXrszz1OfkPbQtF?^PzHQ?+6_^aKFgW_8VWz{x%7Z(nC< zJl?Hq;_Eg^J}Nx7_r8exDlX+ry|OIbnNd3k&aO}&##!{X`8f=~#)Mbt+O{#7^AwBn znQiF{KBeZ096DoJ-{A05+w$5u!#GGq*t!uGoRI--u`pa(PrbKvj7t&%yqiuN;U>jV z-K`1v7gu>1_nDgZr411A>j*YR2PhY>wq>^QhS~q&5y)SF@Z#5-pec-?9cR2Quv`Xc z(sy_OriX}N3A}_S$S(o+0YE;gp?qb*Tp`1)(3XsUr3fJC5^=HQQt>Fk8^`QMV4JO0mVBO0yBFl6e!>@DH2_679f+ngui9`v2Ni1?2k5SpzJ2Rz zQGJ8Z0f)x0v+NG4T*Wwg`)}D{VfZa(cpa!}L^y+=Rc%)29BkYL-kliM6=&HMi#vTY zD2IPt$*lOV=Ugjq;9c@D$w!FyanXC~P8kdrU|Qr{GR+{3FlDYY7uD&e5W;uIb-9>F z!Ap14DM~YuVz{h>Qi*IN@OkKrA^1U>|9a$k(Cz5RdVmyk>CmC})pUnk@&e5ov<_X| z0w>cQScK)lv@za^I<>!WP!cCsvaPnS{<)k=hR8e<7Qz&qd}IL2voNM<-4dsR)#6oA zRT{$`z`0W*yCpCpj1tz}6&h`>R@)a?H`Mdj>;!0<;#p~wEW(5JFFe2pd|l*%XW`|C zq9r4AY}O+Umrp+b;^^K3c6y9{R-@ra3m4@j%>!vYEYh6@)-iQSJ#ezbT}Ag< z1y|pkfPLj>JwvPN)WXNaSLg#%{YLR&UJkh#hjNmRe7hw*c|y4E5bDWiJFraPD4PSW zwy6&@b>>V@*k`)}0hvarB-9_OV%9gc!I~kEx_VL=pzO>KRSBx-B$Ju{LSw^@9<|k*E)_o^H?=u0jsbf zL*;IYx&_{qU-Q@Yig76~?(V96#ia2umh@}x!dBld5`NuKi4-R-gY2#xzu7j+f5IkM zy{G|hAc^0EhE2|A;+E(+Ui=U&9jYF?(M=f6^|oxz1^PgdAJtI)KzWEV++vlXlwugQ zb0O^^+=UrMqr`nqIpeYV*dbc58YH(c>{LeWO;;q{qOc#mw8g|W8E)nG+23K8hQ$Uc zX-ip?!V83QxQ*{NWXlE(;Q{JR!DKzF_=cAdtmq=@8MRa_2k~b99G3=KL)R5yjIV4_ z3$F9iNvmewL)Hw$Qx%a6sqx@B_B~iDXV76Vm*n?wL|Fiv6@5xXxGJ$dpl5=FoS}=C zZX%U^AlNNXSS@kNagI~Vd1c2K{wrNGTl+olmPF-+FvFl1AAW0pNf0l2_ zmpOAHVwKm5r*H^y;wm~YuNY{gtk2-zrIx4gTT&{+z{(+A!Xi_kGRS7Tq+7CiFa7w& zy5cM!#Y^d?oscuO-?Q!XCY_G&v1L`}f`NMBag~Voa2X)wJva2#!TAXtM!zdsTP;u7 zg8XR>Vla>$%#{8)AaPJ-7MwkPopjb02Oq*Y*fD>P84w{TB-R>KvT3=tr0iH9^SLOu z-ihZq@4sr)oHyv{wCCMpqyk{sdflzVRi<-#^W_Y@hnP6XP(I2vThIj@x+l6W6S0WB zaF-q~ZNag#<*e{!mq-LAmWv&rc~6f<^et`DsRJE&s|l7$uF9)Iq3;9E=W=MZ`b|I# zA9P8%dK$aCaeTKq+p`;d&t3Q$JhBBBS$xZOYX`LweE#flNt9;~q_*5l{*KP$|wW)q}siR zL);qU)}`diH26;LtSjUiH`XhShdXTBees-CaP%PWpP9c%-Mhv=TeUI%&9m*(E9#BL zh_p)oxhnwr%QoZ_r`+K|gIL*Uq}pdGj~L1r?Y1*+C3PF+Ew-5Z-r;NHlllPPJ5F6g zzuelJ?dwFknmN~DbG$fsQdY)ib%yl(r~fs7#lN4*8Q)dMcz(gQc*}dAOCFa9TJpEH zpGv5HJG2+L)w7%a5VR65T@YS>m>y_S2Fg0Y%7@8qx38N=^M`y}R|9n5vfxgPLPwEw_b4=j%v zW{V$^R3u&9OOeE^%e?^tLpa8UtI4UXdotMrCR4{qpkmwb1RwCuC}vy9pD-^5q(K|J3{ePnvObnk9e8rstOdq-(n52i#WFbTM``bbcl4 z{g~HDhs|JSKll>5LYHjmA`&NM%Qt0@ktjc|EX!MQTV)avj5G_<58;u1WG5@d<4i`q zGuZru_e9bl4xkDHhYhyslDyFr2UW?rafqSaFtPKPff(sSr~#&X8p=Fd4{Uuk2pkeO z&+3x{_bOisHSgoPxP60;#adRBt1OamTA9nfpzH-N&*LDPmOAm&9b|S;y>=qst zxegAz5!O0oo7ru(MyL8ztdt&!M;Tf(Y-^W8UIxFRNxZr8ef1ZwpJJ(7q!|9@8vS!6 zNBv7#41V;B+n)nCbvOngZD$6>q<34fD{sjkD_GeMiVg^i`JC4d8c+Bb7xhF~f5kuY zhko)2J$WmmWK9*LkVor$4p|!f#&AMLZk4s{oFH)vv;+UozxeG@_h@U)YS7iSyc(xW zr1)bH85yM!8<6;&(sTl=%Ts=J-N#8+`NZrxE#7P5tPV)BE$}_;^oPKC*EpZJ2tF^$ z)j{^`nx1k@`HaZ+mu?JfLwD34Gn|z@jB^kBvP@pb@ZP1|_?za6*S5J^{En@A!*poj zfcTKjP@#@q?$Nijbr_nobD6k87YbkTwTqkbpY@`i%G8|{i6e2xH=eWjYeLCMrG0K+dT~_W;%hp*y2G=&=pln| z=r0U&tY%$u!uKuhu3=78d2WEuXZdiq5)(rFe38QVE$!{IFlmdtLt8y|;>Wt0_JFXO zKt|WIBdX+Oy!AnR>FXw$Dg*0+KVM6@3?HW1mmkBg>gGH)&d%ozCTK0^4xeG0PRI4L zcV+S7v<_=DzOuX4xhCqcA3j1rNv;~5XNdwXo#%Y+;>ZZZMrSRt4N z-pDnwroYgLUipwiQ>3BrA>|Tcd8#VhMzTRRhxS0GatEO;f=@RvfW%^$bD`#IekF>i z#nr1ywwVO^8*algp(7v3Pw~>Q`|imFml}T-L>Br6uxNz&kLG@@hH|UNbqUQvxQvso zTN5(x&4cPyvmI81U4QYY@k=A9;u&xaPF88A#CTItd&4?Lg?AvYFLG8Wj`6vzbT-m%RE& zOrLr!2)T1e={9WTQIdEk%9})DR>pK1#m$H>!>%5}C1t9S-dq}{thp2ZQ61%8>ILm$ zt;iEz4WfJzL|o-bph{5*kRN<2Lx0NDyaWcFX?-Bz-JRtpPCE{M)u2Q3#u&gQo@eeJ zaKY5+kgbh2%{!fRO`sfN0lqs+hd@TSg9Hag561RV6S{ReI%j#3e+LEXxco@pfth{> zEy}||{Y^STJ3sN+(TOt#CUwR^x8a^#>(;rRslR}=Df;sHnG(e-pIcd&r?d^Dl-KfK zQ&%~k72>|~mj?f;6t0xZusCi-zdXf{?b3)ZsO!CoJ48oI5K=|2Wf72T=b`k)%!t~y zuvkGR5v4lw;OO4NhuN;LL7F}Trj+X}lkziR!=%sC$E*-BV9rj5kpWMKEjrds(3@rS zP?{O!(iWFPXH(v?029FI9CW)nrCw%L%k7r@*@j2w8U4Jz!=U@lOIE7=^xE@G^aP%` z)7K@>qH*@xdg27BlXnivtPgV@O=VrN-nhNgzDN9~y+>UU*1U9mf6T#P&vKBLD`Xhf z@ciZ!Ls3J*K48dZ=B9(hRhntpjP@*i6+Pqq`D%qbKLSqz57nxiR^3m(2fsS$xjKA8 z8|JCj^3jI(%)@#9rrR*m5{G4F-)f(0pRJq_MEuq?+aAly)ns>fh-aUR+U<+j6Sfxz zc&q=jy|&#rn-H`2==e6@u)qJw(OnNTbv(ci=F!P2$Fr#phiv)SJ|9kL+3sP`1eBG= zh5RVjmTe|KVwez*e%`&ufp&~A9{eis{%VXHO|IPw`*Q^xg_eqr71M-ePEOb_`T|iQo&WZ z8;Zrys_Fwu1eF2Xx_(13BZ z>(+4%GJJp0$t3I2DU(NTLCeYU8XgR!9YAW#bROSadNC2^?Jsuv7vjIMbWycRibBWDyJBGL|FDD3e{T(jptT z^(${b2_vr=!~&-Qqd}ojZ@l%}mGG0dt`@0jz-;qRSm!qYJ_okomA}vakK%co0giIU?ZH<)E_s31=z8uWZ)|W;y+&7)W9m}r z&_UGFr@mN5i@pQgb!kr5xC&*}HOoM^>h=D%c*b)Tzxw5Pz`odeVZJQC+jnZAsdNio ztlKiiFZsvjvSg@~tE9u9@=X{6NB0HmU#kmx2tvRZWfM%DUFkUs0J??&HX(p$cjo5q)hMJAO^jGOT$z_3l7FAi5eJDvTVtA`rmeuDAn*!ILe zw$5J=clXbhkutL1KI8^VL>F&|;0}c+6=Q(Nc}2Dh?u7O!XBN2g;Q8b5Q{#-?{Ou^TPe%JO|V?>eZ?S%+<(ZL3|? zbtSuvV$1o_=Rd7}2OUs{nxE83TZBp1-;J+f?4rl&NG5`Kr9i&=WN_<#t#CW(S~_R_ zi0(Pb`rbUOoGTkwVVww4KDJedoNc2#s{iw$Yx0_jr72+72vb=U+98+pBU1d5KlOAt zaS`AuM33cVAoxVcPhQe-17lj5afa4LkEpod8+f}R98o(rlLtwcDh*f~-5|AsSH6;$ z#MN`;!?Ol`8iO#hgIWw}aBKkI-sFi4ozQ992suy_z(&h~w>VsR^K%8F(wHv1ouggc z7e66Cn3jhg_$UWEuaq7UO3QER=3PA@C7g^}q4oGY{Co0uxdsP31J&RLyf$8Cbix6D z07SMGV_1p<^19HGqXkce*VV}z4eJ3sM@@e7>>yecc>AJfVNVqGex(K_etsI^O01xg zT84t7C>o~ET$sX?f|#-(wktma02o(sNlD({+nG0XDU%=!vLX(`tP|$F2IctN?_=c1 z$|^VF2rrI{8=sZ^c`oUty#S3vglITiovA^mtH|gxy^8~3J7POtXVqO9mYFh8@KKM` zSyN~13_VoIL&W4itI^=h?D$Ay-7|0c6#!%4 z6@z5Cla4wXy&xdFDflLF4dANISssz0Wo2h-nFHJM3-yuLvz$yJ1IBj6L9qvQxq_!* zsvLU|Tt<8yA~ff>bfMZW`H=rOWzzoTE`!U%UXL_gH52SbUXQ3%GL2E`I^pHr!TZgz zdt?*>^sH;@L_m;9$*TBmZdL}mEp0jGKDbgJY=;7)Y>|)hcctIHxKl&3ldAA<;N``WcQLJ8NDZG`S^VApNl_URg-paPHkEPwGxlDQ@#I)*DjfslNC_-5g7jWXx ziPx|mn~LvaxIw=7;6Z-mg{F9nVByk2y}*e_DAS4~ct+UA$je7Flzk^S`|K(77K=*d zih(Nx7Gl9vkyr5}5epruL_j>8`X0^D&6_98v;bn6?~^rAai$f2ZMWv#AgpA+GYeS` zU!c&4i&}xitqZ!OA#`!_G5GcU13$kb|MK#R14GKFmg_0al6W9Ac8M-2#K;M53`zcU zh$K$jeq&UaeC7!`v{H#?fXNt*^mxbWE-<7yMH4+K)Y&f~?WC>rHcWOd&VI(3_m!y% zyX1AQ+%}5!PArMXw(Fp2CU@v8LRcx$;8dPWFz4=K{+f>@BXwj1isY;54@xD!p+KD= zaY*0BN?j8Nzm*^THafzfZRg1=BTw<0TGyBc))5@T7=LyY0Oihsa-=0mG%0jSqqf)* zAMD0->_Cy55dO(-G@+098e{??C@osnXds#4KGhl!jFzU4WACC5a|9%11E z!i}f#F3be@>}7#VJ}Um0)-gLID39uN>9o*$%ckl=T9?YZJeihX>VVH-((fmGs_nPM zlVwXuC^ff~`i`R=@#zZ;5)ZI(P%=63MSg|_XGIovg-|p*zZE-RCipen_JR7zpztp7 z)>#J~*;0qm)P|T%xK$#LSyUP0;|>(Z-rAB)7iQ2btR&a4buo!xSRjrgJ$6! z#XO)a`wqtw5>;+;QoP7->sh=}*4QJNVgsqk-7QAM|#3Hy=X>4EHDQ z9hgl%XFepX0qg-!a8&XlefU9-tn2nCKHs36cUsCz|dFr;ta`zp!tc_cJUHli6`OJICF-h}kin}y?-C|z# zt=RQ?L%t06d8@we&-5{*ld`{F{go$Mi`o{wmU(#1MH!4Ic(3MA zLz^9NsEh`;yKD1#TI1=$17klxvMMS$Ae=?O@M1a|cHbIxQN~Z)x_i=BI&ZV9G@pZ7 z(hl0!cq^Ge94D{JOq(g6uR<2SkSTBO7(V1$B+5o8@fem*_97Jhu^mfbhtOP0_@*{r z3(oyWMx$h&l#R0h4s0|A9cx(N3P9yDP9a+4T8&*16_~=wz$w}RP)l(SRfQ|OP8>cv zD2Ni96v8SG`QioisppPo03IKwF7Z1Nfu8}v8I1LL&b+4pjG9YnO z5aKfnkKoclkGvGDIIINqvr3B7%3Z6)m|)C=r2=Q*;ELP+4zcjP+qLDD>{}+C#|0f> z$xkjsH_R9e2Cl)0u$dc>wUnG?mU?V?_ma4bXV|MPfE0~8x z935Prs;LB8HdVk2vdGu$Cd*uQr6pXY^`3HDWMlg}_$U2toY3vy7q7`yUOUcvwf!w; zVcT`S+dzncMgCS=KnF3a7#OOqnDq9*=-qyTL2o;&@upGh>WMCRxjUI5)5$70nzsOr z%OX=d7+ja5Bt2zS!=d^~p8XrL%BnffF;=IvC7+^I`doxAGWH8HE@{y6|W&1Vb6IhTew4J%iDoqog7Tk`@wS4E;jLvEICt=t)I`{{sC zc%`z+E`~7JVnA?D8gPWyanF|efmh0Bo$~9@swe%FyJbTg@0^X?g**Frv zNVgXRdpym{qSN8O>fl_ydy+0ejbjPGBTxNlGsE4%pwXJiBA)ZvJB-BAIb|8qi+yUu&sSlZcUq-9bW3fQ@qIWI{Q znJABFO461LtN-o3!g3ZS4qoGrFu3HuWD~J+X^^wbBvHi^xuC?K(lvme+-UpQ{}Pb@ zoMl8@;kIq8#XF<3dd%HOQ=81DApN)9k8vN&NikyJZk;F|<=i~fRQ@WTeQXTY6BS4q zHlt!@e4{UIyaVPB>^`2MJTjtET9_=5pybt!QB}yW12BQuDgw++EL4RXoiKPvP4Ty4 z8+@Tdn#$MYx}JfF0c-@WaK@W*NC6Dx(kkg9uO_MboEn-JFOA{VZbo0&45?7%u1iQd5#?o=KlPPPoIIM@(ieg*;Rf2IYg!87SStb4>1@H% zI;No+UJypDxV527J)+Z{jcd1dc`(=$X6Cc|f;4v6830j-a;l|_4d&+j zv@Rz~Vc^j}!)&PLu|V0r$?CPU<2QK!&8>6~AAJsO2WK3HLXkLR%o4YbHVi zReB=F#{+lKEet#S1$8KFu#HEO`2Lt&R9Tz_OZkA}%qsIhd%~+LIZ2iQx(8Ubv^s)!;qP>hO+-v!mMw)fU10Nc6 zevZoWlfP`+DG_UX!XZPzt*) zI|Ssf@$E$HdFZ@&Zz-lOS$=c*;8(Al#I?P)TqT`U>L{+l&TEJFFmNC!e8H3TOnJzQ zvhXg=4p$!1tvc9Ru)o|6klGtO%TSu0 z=e+9SH<5M8FLf#3MYcW0MJDhP!B-fENsM{wJ z)2>O$_SiW6q_;e(_$y#@4bP+zUKDoWPz;oLjN?&ta@E+g76cY2O_!O@v+1nswkg_K zf*J3#;XIanc>a)Xu#x{*xLny8z z{G%DljPno@2C@>w=~s~~ScUj{C`0K|3xk3kLd<7xh;%k2+oOq42~2;;SsZks>9 z1F8!M7j?hiXRBFiIt~V{vgOQr0VahPq*7Zr9ejz?ce(_2Hrs=~tTXbN?QR(3PcfqV z`{wthSor#@6~=D&VN{jC-Mr; z&j`5_OheFl@#BHY2P{Fv5qi5v;HUdCY5kPqm< zZ`n4{`L39ToB1$E+8|CF>fO&}$%DTb3=+Uu@2%Gku>CBP6CKC!<_c+<_aG9 z7oV>3JD4yWSF3_6W0pn3<4Kz21{|IZ;?I>YjVIfa8~5uS$j0qKac+rC+X7Eg5xeAy zqEs*M%tKfmd7*UHeC?nSd;LOZA+~r%UPdC2y4&UkE4f1S_@NB29mIKvZVXh(521ZO z3w?1&%6ot*Qzx#h6B<~zn2fl6*Y{)VFe$+tBfY?I%eH)19Tf@;wA^QW7g3k*(qm+6 z?lVA(FX5&apNGXcF=9KNNg4A`cXr(m&}{E|Q;kJ69LyqwCC?tjgAu%3GYaw)9X4soEIB zT5`5IIuEU_PXJ=?jAlXE2)W28kaa0uclmTeSWy}pE|#5$jv)!P-P8cWuYI!U5XMZ> znGh#S+BdfumKziv;_K&tz4v911HZh4ki_EZRz~|B1ww!_%c2$iMuQjhdJUd_1jung zwX@`h@RGfYOM_6uet`SOGnC0o55THm?QBX!7P6Hjf*1wuqzs`kR275UQoYj-1ok4? zh&oC+gjNblSOm@qn75p9=9#Pf_#h8@HB@7eL(p{c<$D6z8cR8A^qbOEY2#mOFc1Dr zf7sc1L1O^b9R!oJ8oJ3h+bh87`_qQK<)q;o7|V7Jckfr{pKVg|K_h5m=+-H>d8NWa z$4LnX4#xNUBF=pI4LD(LoV;S-%~p+kSMz+%Cl+_SmYuE)dh_Q)=V`rH=}}EBKtZhO zaRVj*Za|U01C?FFdH^7=OYjEF0yXH1Icb{>pZVEXco(f@TcO@7%vPu%D(tG)ef*mL z;!nLRhQgoW@SEn(Jm8Ps13cvj7Jx<{T8?X6HJrZx5fC7BC0(E*m!_B~E(Oz1SGk*V z<$g`6$V0`v(5XZQWAIt^8oeg5X)FDlb{n$B%|6R(c6Oc_FfbU9z8!1nz6LRabm&_z z9Nf6N=j!rJ-uczQw(iKI=@yQ7aM0m^!Z?j!<2}{X0avpdNV^DxPG9yL zk;RqygrU?2S?#UWjmNvR3$Yjzqo=|RAz@$)GXmGoD}2XP$oeE~rD;5-&45Aa;9n^g zT;rEtbG*_@OaYlrzIbvF*+y?g?p~`r#H0Rp`!wYNJt`yG_kqW$x)R5Qzu_MN8Ne5w z<_#_e-pcEo`=k;RzrtyGiMRQYKk+3m=&}YdT9{|sRonR*DBlG|o$xNM8XT8?wrrc4 z_p@@_N_yp~()nDxNyqf^5+hZ8#jhTt#Nnq0xn`^CYZ^kOVKDm5xcS422@xbn5BiYr~5p6Df|Q!gO;va6})` zjiK9F84Jh;4seUYwp=6GZ;D$sZ*q2n@>^E{_i-mbou9C=59pF%;!<9=fxfT$_=j)v z&bNMlJqA*jx=y&WBa@@jC_!+$JSWjZ@Y&8p2S}T-Rodqa2*KwoJG?`i^3_mg5rTHY zI%!<$0e#k%?)LeR7^*IGto?vS@jb?ad_S6rAWxN7moh2D85_pyw?C1F2SF+i@i?li z^J^NPDNTNPnRLpT|Ms8No`&9k@4Tgqx;_qGJeMInt8W_1$TaWx??Kh{jjH5V%TMu9 zX*zxSU>me~VlsG%<57d)@48fc=CK7LD+wogZqkJkn(P52@FJjs}nEL_r6-oz)b3u2KB zBD6m7yHi*fR%uKkkI04S0ULmE3G@gzjWFv1DRlkYlWxXw9sZAID9fywe$6a=4!*K* z$)JUAPOD6XU=TuF34lrujKWnGWz+QDK3o#lOZ+SkRPGlpuM`P73;J5q!MaMuK)l*07*naRPxp*32chg znB*jKo(P`zq|h~^-J+zTM-S3^n#P9O0lPS^;!FTF$aPv} zrtUiMKH+m?R#N3}CwAKv90n|<+q5^l6X;;rL4yM+w}-uaUf)D+E==149S0sy_|%Ro z5e_aK{OA{lt8~Ucc=TBrvg|WP9l2f%H0PK8ECmO zz}8;%lk#=2m0btG+;$*H{!E@hKPv;zpSru`31Q+4mAd*Iwv>&URB}w4;1kRiKckKS zpWQUYSfCevM_A+VF%zHS@PT{hsqj|*jnWn6_9ZB3k`}sh-LCP}bMqX?gfKCq#5zFx`tXy_z|V>@gJ%!zdCJd0vap`m zZTqiV0RxQE8wIFQ>dLK7gT=b>luxz!I)U5d9K0*P zo@iQe6siSxJ)XIiyjN}U*>aDu3*OmC^5CW0C$-`xO$Xuf;r$+?M|WSj)5I03e4=JU zt!cHqI@` z2(!p(ir?pLe8zQ}Onf+zh^{Gj>x4gd%~>ZroY6XGyluCiNvjj#{nE!3XnS+hK)!>zn!XK0&XgLvqbc9MM9BEO=Vf;M-^6Hf^h z4^ma}QwdN=F{9%NuN7gQM~BiY#FnY%he$J%!L#@c-{-1g?T^ijDw%40b9!;QwYH6^ zwOVO7tMPUSY&*&OiAawI@Fw4I^OFt^M#2%i-?~E_$m)QDs>C+p$8^Lts4*J2J7{vC zm)bWoBBmjy4lbGb6fQfs?!xNhg10UXuH1*7oLZS_K;XB^A_6a15|u2~hCR5&`;M;g z70#4DLa9NROjfusZCKj$lr!$#c}Yqy5z4@b-_=FSR@~C9MjAk56S)y>B*W?D1z7mkUs7JUmJfucm9B`qt32O#y>63QkA*n8V zQD)L8Wcuy+U3JwcwhpNCC$}`jkqv_+S2^6OY-grBaT^+|A#dOCIVc9qtD#c^_&(9p z`r^P#L-ZbotHy?>h~_gm7|a^nF;2Ma-=0VxVzw{IYx7H~4Bk^_OB@+7U+9KBd%i$E zW#u5qLrbCu09dM~Pu^TPtW{_0v4b`u7uj0=`D>jg&Sot&Rk{tEdp$%pfXlZtY;c#I`y$nX|L~bJE4j`Qx{6^>bv<@K0^*kxqC^wZGHli zobCWCuv(2)H%s0I7>rt)V2I_Q-@ClK0r5bs62v`(a51Afbk&zTG$pVGfQzRjMU zC$uTXDT`A^yBg`@OTEYN)6k3I1&3R_`{dL79)?9u<|&CcG8+i(mGa)@_(W9UB8C5> zTvq%86S}0#e6szqOt)@LGv(zh*iJIjw0w6W#zV&|uRBaus%Ne&_U;aiQyEvThG{fE z`t*w!u-2E$x~3z%d5i?(vHoc&)05jSYaJLr`U?G32g`uUr`wR#y@gl5-L3w;gDXZ- zp5Y2v%7>r&e09Pnve0p+iBh*-@s7FQl0H7Z8-6US>d!o7nw>EG+5f2<@9O6A6~`4jNj9S+BHcg%+7AfKNg!rJXPe01la zbyn$Us}M!0)1K+U*>CGqP1E_LxGHpb42Z)c&~UOcJqG{WXD@Jg)>P#Wok1u?);K%S zbWgd6A&GX8B`x8NW9F&DL^bo73{Lnzg!l5T$9qywCJ|(9QLh1%s$l`YBG;$Pj_CIT z+Dg!?2DDoM+i1NM3ns)_2D=4OgQ2LiS_GU2h-rwUer&@c#xVZWc?&|Y%+LU547;^U z0mVHz3x4~Xq8G1}#0lXgtUc8j%cD%dLk{sW3pE=pA5k!QqVct%&Q=gPw&Oy6ItMFO zG7V~t1aUd=zH4QtQ}eSGHAtaCTO&>5g$(;A#R}Cw;=oZZ%n!dep5;q#?!|vW5o*|} zTT_+#NDF_px~$ZZhkwj^*Q#>U5#i-sH_FOKS9f?(&aw!N=$eB9TN_+$22MhQgp61Z5(ZsAFW~^_9y9q48vM>?Rzl>7KMiSDfUOe_U|e~w`cdyXMVMj+ zr}6jMa&4V5P0bXSe5F^b77hxnf8ZYP2HS}`xb;H~ip2QfRp@yzpu|-^uOko9SEZ$H z)MwkCk?uw6C`LYfxT5`#Q?L6Qqys#%0}UqQ=TOUlDr$#_zaRxA?NM{sJf>vCKY}oqa6t^y)tff71qzf zmrj!)bZwhOx0|-)DSl~b1e%Xt4Gpuw#Kmy^BEg>w)rHV1TZ46HU=o20Y*rdb{*)zw zos;6Naf1l2R1I&K5V+z+8XAD&X}vq;oC&v;`W<0uWHOY&u;I#}wx`}Zddv=qSDYxD z)em{+mpsUjtSXOa@N-w+=*d5@=Ofz ztTNmXKJa)5-n#EfY*r7U@#FX3@E&q~&-V2zCdQzpfgpcoNM6+q!|fB5)ts*b)uCsjVd<2ao4RqTR`P87%Nn3H^3vF>|=y_;g;hP8uw#T(RycfQU(=?h+>$Cp; z$y8$zr>^stXM+6Za#o(&7+c(rXUbleB7wimh_fvEoo@>IGg%f4v z_VYpC^zY(k+05xvUUR?!|Dp6-aCNY8+TZH$JS&9D;@RSzpBK3r7+nw5fV`soJb^ot z>r7%jf9B+ilMkN~&V(DkH+-AcdVuhevlE5x#&FTf4kBpQOH^o;x%t`2gU`TZTuNHo zZfyn46Vxo>vgla3?Go)J$CEel^n1Fm$C%zGDYix_Zul|1G<4q9nw}tNRCwwPLAN-| z$uwIB*v1u*^n%xW5*FkPzmM)Li{@cTvv}5&!WSL*gA>zyXm|6k{_3xe{^BqGB6R-p zFaMHHqTD_D{PWL`{_M~GEVHfeTA{X#o1tV6PX_QjYnvvIqcqI6gPhK{cbZuQflmbI zxTRbG?ev1zAZ-W}97B%^ABk#KM#?oXw6G;74!`RRN5P>|sx@I{!;1x{oT?&kB4uKB zM3(~3frFh?0`m_Y3?Hv@lDyFvW)KTMc3jHDpMD!k?^(SGu#Kmke@1j84mf$FBS|NR zKUso;Mt7+mesL$J_!GuKbvR7sD?HcnEJ?lPcz|xrjLSPb@KY+4FQN2_vpA@5A+GL} zK~>6dxF8U7S6pY|VvHwtG*+@Xa;==@r_AM&%Yx`C9t1J-vnH*QREOkCYQ=?5K2wf_ z>B>efzY%je57Qj+6{K?f!dm1TEzVJa;Dv-kkCcWjZuzIRMRIfw+9m ziMsc@g1?IK_GjHi+-_efV(2o2ou2c}@> zyo?->o;cu>PGtBE>(x0sWb2?SPM&P-Y4w2>FGw8dWOXVsF4@%tOv_P97L6Ph{xF@H zX3J&e&G<|_5SMx{Kc?cYSGtB*8(Lwed7Iw5pF>VcNn?5$6;3<`8aEK?Njv7Z9qS~^ zsvCmLE_^Ci%2qyt&$$?a)T=}VaYUF1^}s$wo^?h$@sUq6$qLU(XC%WX`oh(rnW#)m zU*xlBtm!N>!%EhTRmpZp!UEKI>b~$`oIjlP;xaDupsCKgDyz=>y>FjiqSp?J)epJQ z@1Z^p;M`VR+b-Ef6b>gTG(!g&m;jdi7O?e8BhXiX+-_alm^qalgH&EMT6FoYDg${} zd_8o@`l-QuT`m*Fr|2>`V{9T9cZZbGR0dPgtAn-f-g^jX+KH?%JMpl}Ke{%`Wj}wG zoB!x>3|oybWwh&B_f^ywfv()`>y^lpV09-{-_{yW4r%2XiQ_NSAD*`{3$2VA-noPHM`4ZG2CT zDdXDaUpysE^!^Z~{o(T7bi)hzv~JlRTF;z>@bS+jxz|HpI5g@x$v(l+zC&Uo<@I zy5sW=ymebM^Vsq!U91@M+hVA@WlCWBcKaCH80{qd1bg6d>X~=qZt`L2e23V+9RPP1 zQ4>cWD2#Nth*G@Cq+$D=5T#(%=jD}+;8@}1Q<&V>;FO(F{nMwm+D?xDz?fv=Bm@mH z)#L~-O|NjT1JeKv)@`Z@!S#D@wvjAq{Z_n}DB~Rzi39$ZG#utB#TEdzCm!rS``@fH@Y%DKwgN+@q%>02X zpB12@cu0nWWDoGF?VWDrx^?tF{>L9N2;d#XbW9BFndS1`A_qiv7JlYI{4byVkV-4u z?R$^%d;aA6qgT&<9CQ&7E($qi>C2yedGtHK^E*cmA3jW@AHffX&Ffszcb_XRCv>yl zEq7#h{FarrRD1^`!XQVsnBBZnCkw|w4E~9UaCW)N+5qgPx4boc=|;kfu^Ly^o!B7p zocs`?EP1Xp1$jB@XQ5{K%&`pPz(2boe;KhAj6?r;-i50e!<3a+YPDE?D?dUgU9^3W?;qTEbT9U`OBl{tUOsi!KlwB>?XEUCyMD&OM7CqoDA+NlGbX*bSHs`c@$s(Z*vjYbj;vyz zLAV>xdDzj9%J@=5TfU68Exh;O!O>^%?|}N{^M~-?D<~SiXt|A;I%I-42i?k*`iIEM zMjquD7~zy<-G%w=v(Jxy_OqWI{p2SB`vM;p7f8j{6k;XQ*^HZ?WE14Bv z4AkIxhEbl`?n;~7E^XPudxxUa$v z?mze>@2t84=n7l!3^|1RQ24$3_l|z|zx193hLhpb$*`0d~R?W0GJ9v$7g$0|7KTmKI6b(L_- zwe+*_K6}QBd)%lGLow7_U8*AY(&MEvUdWSe@%P_hvX}YX77uj~a05yYRkVpiW6& z+6CXKe|`7nqx48VTC-+9VG;Uq`2Y6nep2nPB)jdE zWvI?Q{^7f$um0_qJio|!A?ls!Uof_IyLPvmjqA|e>NSxxYf0-FCATO~cK~U3++}6= zr7tG4GgBCQE{*3~7*pCTZ}8ilIyRJc4)G-`=B98;NBtonfpwe3zQh@SrcWiTUB(&! z4cP^Rrx!6}FqO~(!)x1`tL{k{PgK?5N+ z2QkmH<;<m-0AS^$qDubnwm{iRHz=QkuQ&EkdwL8xX$K_edY>^!ula$Fv z57Y}X03$UWGjda=8hggPpDTen_-hxwcx?O@>#+uW{(u^WM7=vw<*PQ7)-;xna7V_` z*F8EhQ@1S3Fvb`rUxLRlUedM4yjZqnGS4{9^DD15lr@%}EUU7eQxcFyxmew4*-*1^(zn{=?-SV>_3<_LT_TJL4UdiLL zCmh;CN2f9Bz-{YXp>X@AJm=kII}0kA12XHSgKxLDzJB>2gCGZAc8ab*n=fhXgPzev4w!ok(S9i&6=r4M+>RZXbgtHLY9Smm|@$HS+e zetPufmtV$E{^SvpWb^~3OBn*6wu!XGzZuDYGEgvRqXPz<&%)1iw=l-}(-myI;j4Ug z^>7+p(T95{faKo>aAd+TaY?^ve~F>|t6zO}^n||5Fxwj?&@{!_Ww3;S??M zR60wyj20(&tXseiBUu>*pFB@_o9PD$@xtxGNMG!wKf=kQG#+EHcn*R6rpCL6-zA=l zJc`GI`g~1epYfn^u`B=5y+!_r&^+CzkNmyg`@KvmM~>>G;$0kk57}8Jwij9DbV8f2 zQ$(g1FDhKOQNq3ctxxH@YqH(NirG+JP+ya$%fRv8XP1vz*kN^0OS#T+xnxUtJlXt0?gf09;7wU@ySf**GthKTeqnUo`0TZUB z-)?2E36reyPPi}YP2NU6O(P%T_O-Uk2la#c=~od_*C(0ytYPIri|PMJ8=V)?6;7>UDvmJLL*Zj}&ydwE)2ag<$m0ZL%Tj~+rhOdegFJc087IdsIz3Js=vct^Haj*4kLQt*|Lo@C zZjQ~r$!r7eGs)>I8_ykk1Q)M{^3JO8dHvZG_>URJ*bUZ9IQ^e~ei{EYah@6K0;9fo z_W?cfT3&n=mni-AH^iL|*Z}k;v+g`hX^j$N+Ing1ae^lem&)-TpiNMt5?)s1KV+LW zfgf5Anx!*_az}W#qW#zZ`d^R!{LlY9#zNN1AnDC&T7c<#{472A@Y)hOzoqBWG}TlLTH4ALtENPm@S=M7rXq2!+O zq~k!A^5Sv&?P>x9v1Mg;9V~YIRqwmJT$Fm{W99$6G?kZHBd@%;vaF1CwGu6iGIgc7 zWpN(P-8lJBmmS#TAd+)*)j_5mgT}H4tMuVGJt%a$S7u=8XtLruaEagF93$CxG&Pd<4VWx92eK~*UyDvNgZn&2KphI>?7U5N zjA{%dw}H7rrUvDIM;8aTdy1j)n}_%k@gNWzPWhpIG&QW`kQ$y3rm@&##;0w4@OAbaNrR-P272<`q3r z)Z&!g#snIl!yuNz+{A&;JeD_%Gk9K}dKcIdBd04Cx2F46|>I55Mbt z&(I${(=+||?tkqCWfl>zC(j`x3vUCbFJR$d%M1H&^S1mvVaK-wi=Xk!M0b{Ej!Rd; z@~k7lJ}DdAqn+tGP8lZopgYVw^UXlKFHz8@-Qy?i8#Cq45r;1Ho6nXe)q;qZhWI!i z{hz$>4R6ytbnnPDPI;?{D9p{Z}cMok9;gxQui!|JkzAr3pXn8+uv2+T#r62 zzzGR)Roz`woARA%#o5`xP6d38-G6SMYNOueQ43YTeriC^v;|~A8lADHe1w!A8=@Vk zUm(pS8Q=HV)z`N4Dd2wYfLwcZy2q#Mbq}8YA=-gSY)*ITuunL~XD|O)Ubva1>zMxJ zm3EzQo#%@JPruT87IcUCnHH5Fsn6x2cr8D8>xGbhQQ{Hmsl3I9t-JE<-_`eVA`M^a z&~;4}1E+Q zG2!jo)Pei#2IAa!I!jdfSmsgTNntY|NaT39!I;$$I)YHA0a-DMC?lx@=Q309A+p1V z+%FMMPL!J=tEYtj{LlZq`kTM`o6oWhyJ>T#qMtrggO??!XpC}cu>C}*8==!8#+g-U z>YkevI0FuK_b!`r71JHK-gcb|M-J%Z+;sNj!l8QtKzW?su>)`_`xLDifr%WGp_eay z)=IhF=J{6J2z6KZ?g!r3DYLU}7UGn(Sqt$$PYt)q0^ zYVNWu+J-xtr*3m5_frG5MqYO+3$dAQdh+Do)ENy@RtUhm}!8J74BAI8< z^1_&RngASzmYt@C1o?51ubpR5eB~X`oghF>NUi`w#iN4mSZd53Hnylf% ziwhO?KKM0}*w6W8kGvHV+WJ+$fgh#*!k ztIOjSEI07%JUc$P%i=p)&@3ak9+&u_XA$bqGRBs3$zdFspiL9vt~D~mirOSK-*-=oucSZyo-hIZF`+n!43I5nc$HXt;J`x$vnT>RXq z@(4_5?SrcGQ=#PmrunXQ54TX|D1TBr^JfO-<9SB_HyHGZ$GYaQt)J_L+t4ZIn=;FS z{P?qe3Ef7NA0d<-8QAso)BpTI^5j`);Gw}5VYctGSY|mETA_H;abJ#`u%>d!U>Yku zM)}ZX=8%uw_59{PEqZs|T7dJk-lU zQ`c(GAm3o$rP|ChnhrcofQ9cmWS&A?Bzd7R?;4Z=G+yL-82KQ9K1`5(!$Td9DsD^JHo~Q$TZSYy=ETO}@FMtbxH@Rk9v(hvp*=-$z ze4&HvTa+Vblbp@Cz7g;cg{RCVK)pU@=mL~FN2&tRd77US+ z3wsN9L=Hj9A0m0_A;g8&AaVqMn;it#jtpcUX5e1IKG})QIlD772!5;f0}ckp@vRB6 zF&WbGgwESK+K_Um4-Ho3q0^IX+RqkuNt<8TayNlzCd0p}%PJP>{J~xZbbM+jgKYRS z>G+L1c+w4hTBb#g)|h%hcBu{>22DH)fei2UUCa0EY+y170GR~hOKmoO>X%}8=f`t) z^=5732-SG8d9u>)wE2OMB$lZMkN6I@^~?TL%B1)sbqA;p&_Q-W>yq|Ei$gbHpeaCb z!r1yO?XGld`}71ZG&MH}?~g^RZW!`>4x$*t?m z;`e0_h%|lMM)~}4ml1jRG4Sf`d+>xmNDH3mqd&p^u1kULT{(U1U>XO7_%e1!_H3)R z40RXE_LZ+<|1r>SYYt*2X1ed#AzG|JXvK?!HOAhM<%dTi70M+Z=ai8bv| zf<_kV5B>({DB8;NWQI3fi#NL____#h!loU-*Dp<-^bWVv5xa4 zCn@?z#uMPtetq4PT?kv=rdxJ405Gx#aNey}bbJ@z?I&~^_S6{~8P}wbMGpEY!kTY; zR{Cl1s7Fs;-|0OMZ`m!N_Z&RYdk0kSdhNC9I14b=9{G<1+`tRU>boNkyF}$9EWoP+ zWI_xKKitb_SrK#jHdmEH9yUylkv)$$^8O-a3YIdH;IITGS~f(iGLc*biX19p6kwKu zD&L-{3d!SI-@u{=beMOs&+*;$Ajl-y!`n+Wkdu(%qzs>y;>03>d|MqYH_Ud2% z^0MYsT9R>9A+~(tY(H68{zx>6k zoI`e)LTBX6F*->;2gCE9{syEkuJV6%GEbjBb4Q$)Weu#B2bmMFr^Mm8Wb2uH>?GQ|19`|b*T3D8ah2)Sxe$~D6sF_m%X+sB^ovNYBDa55LGH4*`9LZy| zU=O04;Xt@a76a`bx-NDLD>F3!M>d}mc zdd`^DTV9yLh2E3PLa~kUbwtx|_WKq$_M{M5KtvbfPAoX22fjgkQTAtMw0)B|`SOez zTgcf)=etq5$TpqOo%sxYwBsjwK@VGEx#05|6Sk;cf6QlMENjFHV;$Y=K+gK%7uso~ zEq&j7|5w`X_1)FuXHT!LB};6HF6lQzpyOp5XKH|;ixGGD9_W#c`|4MCNgxYuJY&ZI zh=4xs8@dm%ouGpZl>qec z#5*F=x0*L~Bp`MJFgURdl*L_kPzm(i*&D;%O43Mz|FSEnuM>xLYUI)bg%FcEek|Ma z@n*?|ugHkO61<1yW7N7DgGdofX0oH`$>dpVToOK8q$;CcW6? zm1Nn5g~n8{mp2tJ(T3wpu+J@}Ni*qx{w?3)ed?;Laz1W3gJuAUA#5 z6K#R@qiC}2Z@>Pi@s^%F*Q9kU?kp%vWYN)bT=`k{=ihuUS!Emf*e`m~+Xwk=iLu}% zA|U)1u~IRrSA8Q~*UhJTPr#FBUwP8Z*A@D+U>gEQlU#dgJARBpZHZ^;y_<=NyKEd= zifQrPBZO{`wF4BN1rXoj#dY{C_`CJ7Aw>Jbu3W>qPhz)-7i??dzSwYsOOn2yaRFPE zpQw-JdPU#bcl;X#Syptas=J&8)PC0hw#`C_UZBV>8ud@-1{P%ceFf-4UxGeMAG;zH zA$*lkG}RnA@9Uib-~Gj3>3u=J(^hQRR|^zuyFSOJt~2T5v63FSxF`F-U!95d(!uo_ zdr)sBhw7S^#^Wi=WLi?OEt(dLg!g4{URHNclb+dUL!oR;foS+7EZQ(}=3mIhVi)r* z`V^Grj<2KgpPK>;0PaVsT?pMY%|v-DH2B&rhW)4@^EA1%d?m1A4_ljwh-oNI=(3~^ zkFfpH;Z_r68o)pO(?9tICfk?s+*VL331`57WuBy^^&JdLw)mw>7sLr;U{pTk#2^Z1 zVhaL8|0Tdo!JKqpGT{`1NGjRHalFBV$vaNVSyz3PFp(lp#{=h4zW!MGq9J(2UofmP zt^@e%oH<1qodbgmcs8(~8RX8CULwF?6K*bRy|zSEjC0a~3otA|i5bL%l`!riFzTJ` zGz&Au;TMacC9x(n0qsS_)8x1EK?NB(s0^Ce_f&`s)G9tf(1k-sQ8+uqTr)WNHQyITbJ2D-Rm%%XuVBu};fLvjywnF1 zMLy5-#Df+V0T>AKePqjmJkW3_XM#E)W8`u^ja6_Ao-&borb*Q!4YKu;KKd+GSTF`& z>({hMLxZ=E^Csj6lIOkjGwz*f@*`fRBAJXL`o1Fqy2PMQqOIa1Ua%ssY=D=!4^^S* z3YS0d37#Mi$@VrFV5zzQKgMAi<_@N(L zm?MWRbA)KsyL^nhHvUwUCjPE(`M^6321UwdZvxhVdcop0?rdS@B8zN--&4o0mG<3p z4fZ><9XdUq?e}xWiFngFhSQ7J478EbeUcWy?JPyNX*gMRg>J1k;{m=(k#DW)x^+)? z9P3-s;J|xDqv*~j^VY%d*pS&oQ8-+~XDIAU8{TBDK=8ln?*#^ATYoFZF*=Nw{7#o@ zEU;@?nnvr>ZFv^K(&=#jq56B-6$$ViCNFp7_K^n*x}`Y7bX!sZkOt=gpYM^M+*dnf zyye9%D9R3dwm8s9bnI)$A-eb(kGiFIj4kOhmJnr=?9M{|Nk70Oj0qj}&BTR1Y zy8iXTYTK~uxYJFEG!tBI_&k+ex%*1Lw)d`ty*irdVAtsL+zWQV-@C;m*|bzY>6g;C zAOd=a(r17kL0%g7ay! zCcBiul?f|jba;4|n0P<~(he4;6UWbtpW(^RC`*J4@|l;3iG-m4;O3{UotN6~vJJq5qQ1%7%m|@6g zu*Lu?L1*AOan=ufiuvvs(=D7Vl_W3G3M;RWql5642Be`vIqTDek+rA1C|!NbbgLgR%t^v7S&2-q;ar%7a2gqYgN#MDjj`YGq71~ z8nMJfOu~mQfrR`|ywVrKGJ4!$aSbE|w({MlucR+Ey!=e4Jt$7SK`NAOPsN)LXZ(Tw znb2@ajic=?oxo?}#XOWrrx!w@r}m6yAJr-I92b)s?s)T7(xzD~22sVV2a{Ju2vtYq zf$GqT!nbw6wgiO7Cp36{t(RN={DVF-q|d4)|4Q%g&?kX3$mJzl40=C&_|w%#4eVH; z7}o`8gtm2*Ectv5x>6KL%u#jjg^`vC8Fm8Kh#qiJjJ+Uc+ZX&6W=kgZBsA+PzheMr zJIglqy%q~_FW(6j`;~H+ zFw0{eONmjZ)QFaAI%CEk5T|1?|11U7U6pbQRVcYa6m0oxqs%l=eH)yGf2fdp#YVXU z9M21U5JQW2Yzf37qO$Ef(18(kcOA&kp>3qN z;S5w_L;*Jw7_&-F8MM+|t6!^;+f-hd%? zlny44E@?9)Fv+^TZt-p7J$soBw2&%vh~FmQFYtFA7d_Xg3!qhXZHu`|U3Wt!2o!(U zZMe4=sPHUtEPwk3{V6o7U!{-d0>m`}y7VFUbzLLPonA8UsvmM(u(3z(0DF!!NziIR z$2#aNGM17&f_ZR6s73ECCGU1&<_RY0W{7n))RzppRwy6;Mn5i5Ge?V}45Kb`3Aghg zseGp^4_*c(@&&`KC&~;|{^ei(R#k8sCbPQS#(>a-fv9@yuwaTG#?~acoym>I<>A*=fJEfr!c?;5Tj)@rQvLjl zjaHc8MZ?^F7j;J2#yv1)0;}M`fwtRtFo}ner@?8z@Pi3e8Wsj}@i_P*zDTQl;>eGT zv_uS>Jl~yGl*#XY5S~GM@>X@T54_2RCzgVMtJ7z?Z>Lp692nbGXGx}za!02F5>Os! z!ALMy>jcx$RY&T|0u#DeZqSb`a0iG~b2&CaZ4Q^8;ei|+(WS%S&N2=qEwk!uf&*)W zp43Nr@?)QPKh&Xhvt6UVM*sTfd&u$!SN!0#jnQU2U{(S4?&qKw#JW8xj{)@Cw=6zs z%aOLpc`NCbP^IZt*y737Q&yh&m-h^YTy)%l(l?d+xG zi7W7P@Wf7iHg!bE8F|z{TT1B0uM1>GU*h0(Jx9mL22b#~=;rR07C`CrO;cz2o4?^* z{V4>kX^5CU+xXa~8QIl$^Hy92bDI#9$c~}mf{(+4J{ep3`9$s*$_{L|#vizIK-!aK z`P2vbvyf~9=(O)52fGcpS&IL^)i-pZ>w1G9{q-h57kxbV)YtX^qeD+p zJ3XJ_=R4WTWLqP$U=!M`C%_YM^X)9kkpcSn>)l_lPw4QnBlIQA{JYIq_9j#?=!`6U z_KiNqvdFF-MqBKhHEri&YDFgXSNws2HZZe(TN&w>UjCMCnxba8s2}1>a6LhZA3WnH z#PL(ht9HlN7x?4~pMPS|cz%Fh4VdlY<@@G)J{2HCC+(W{Lz>@h0`QEtSjZ*dq3F3E zc4$j(0)F=5=O67mw4*#~uz|OZ;%JowwZ4Q(sG)pdC_ww*PT~CNbTMS`NO0 zOz1W(B2K&iA=a#+TV)2&!O!Mj^QggZSHGy3M+NZTeh);$-E@XGJC`_fHyZmypPPN9 z+Yw@N&BCr!3cg4C*~)xM7I^y3y!5m#>YR9M{I=a6qk(U`fAzPffAF{%T^J*r4)k|j z*J(H4@Ce7RcYjEIb9eeiI%_WI)4Myd1)uBc@yg(rYYldaudQj&Qs@tPgzC3P+E)Hp zi?O;HwGX?+t+Xn~*Iv`oI~}A43$E@9@F};)b~UAycfY<;!*!VwUVO|J>-I;_pOm29 zeLWR8_@>l3MW$&@ z~>mDW>qPf2*t>D7Anc;9L1NJa$?Glqfi(5Nh)Ns;H>hg;R+r)IA`-RfjYcbL*iLR z2-tN;jn7~QaU6(kH-7mKgD`b&>fSscW9uay6dm3NT}=GlWDO+J#Yg^yAaX?$Wzpc{ zoa8aE6CvAi=m&oCE%ZWYiU zi8IBWv2&0;7z&xM>dy8kunZMQV4bXL^Q0r3kgH_|;`0RT&{WYr62vBy@x#Zl0b8$A zmy~BXcWA?=78-3=AqYFZkM6N6$GwnxU|~S?KjeAhn=fd%Q{M2&9T*0-ybOtU+!F*Y zPF$3@Xg|?*G`4a1Vx>CS3m%Z`!r=)Eeyj$^1!UXKNcY8!^E!|QPr6hYR&#FQt>Keu znxy&y%5!SyWf@AA#%=zv={n%t`JCUWkG$3kR$kuG^NiLf1Gt%2)0@xHpviu8fAaGW zf4F-2t+p3pWAxhSQmP86u{l=|><8@}dHYIt{u#WIZ zYhTzY$$w-jcJqk|2m{y-cr+{G{8ASBTeybz*#gk-axLJ;U?KW>0o4L?p+`ndc!dPL zyZ}Zm$91?}_+e2~19QDiTmV*mehz---*xId!9tJclR49;N}TGawUt|UlNliM1CQ-~ zY(GS1+5&wzZA8{Da@+}LBBt+g>c@6{2G{BD(WhXA&!mogpJA#n%a%HEwqbk?+`y!C z|44h~8A1k;O&5OcC;M0<7dQriEEY4cC3O4U^ZAu-=vg|Mj%d&h8KhfN`5*c;9ej#9 zo&$D42k6FD!c^66VVj2if{XeFrpuc)a%3|1le5st3ndM3;*2Z=CdN#r%#1XDC4a*J zw++ZLhkNpI#vTNFhRc(l;X2;<%>x|JWvLP+Hf^}Z+n%>J=}B_GW!D-}KSFF?gGSk4 zqYE@&>KS-^&Ou<*AK{ROvnkPU*o12ZK6h7bhoKy8n1zkGEi~rQv*hq+oZ4qaA30{7 z&2`PXWC>N^-+jv zv>gK0>c>8uamIm3ZoezRkFr<>#-Qnwj*&nX0&t5i^li%T9UuqtZiqDvvWa64jYz5_|ns{Q;K}rzptTOek@vGR3sY*#;9aepjw~`dUtc5` z3d%pTJx*36t?P~qD)nVana*_S^e_j*e9G8@?Pnfcdi+pimWv5ywHt{MTXebsKtYuK zM{VL@Ts~mSFKOcZMJg(nE!YMHd?!HvHiHXDaM5Lw%=3dhN0@<-zL};$Rwg4nhj-=g z)go&y0+ESh1_cu?#59rXO+dx607|Xpd?$TPYn!aC6sy1jRU*oC;70G zIsw=Mnfte{Dd!!R;gt2aSlG%Q|Jf!pqu3{q$+zx`#%`4-0B;GyUsac}S1B~H=_msbf@zh^U6wPt;k(#Keo@A0 zJYaf)jRbx!lUAyZnLEY4D`y@eB6|@0{FBb^<&>RARMwZb*>0;kvYIG8>4dE+9eu?E zpVz`A&zfQ&o&$XT%{x7B_Edeh+JPR6VG_+ZdKnbm(V1u6JwZlJ)ggXPpdO)*^p-{Z z-ur6?RjxAlB2kxH9^`UvPFb{ts`6E4Svfb1z$iT@cz}O%^E*na<&?LsVA_70%psx0 zn`D&y&{|qwl@B^oJrz;(UCPm47i`;Z#T1hd+y!Q0J(n95Ie6*T6u4f`VT-d(yLL7@ z9>UBN6W@cuzdP)ecNyp7<>%A*R61?$Jz40_+E@0-dH?|c4Sy#vC zv&U=ZF_$m8crZQeF~iKb#P`aM(b?jjPD>Zb5h;c~;8@po(jn#`*VSNOQ(sWm;#`l9 z-MSm-+t}!1LpVCmtvc4WNG*?eJCrP3i+Sv6$s-~Vp!jKMUAj`BAW%bhzRs<3Q7M3c zUwpg>j;a6vKmbWZK~#jUkYj1ZnqL!CnqZy?fL<*~idI?FO=e}$XF&lLS|(J8U--1{ z@y}%T5C8BFSHJ$Mm7-e&>!kyO9v&daBD5j5XVt8SJ1DMvoQG$Lxr4z{VFpy^FVw>kw;H>K}t1Do&j{TT~k&oCS;xi~rx;4=K(A(Icfno;vJO}Yz zHZIFfe#jqXsMqFzeEQ4XQ!L7zTuO<59$}!uFB8<*&7Gq12>6)mvOM5EX)0JDcub&g z6OcdnhgfukclE|&wjo!k_|Xn1vF^?X3L3EnYYwy#WF?pT&776gIn#TndDnyUV^>PJ zCvDx00MzFR4DfklBmT-HVDZU?d>HnpUHn!^4P-oVP`&f)GON^=hFn;-*y1UpxD577 zNFMcW8+QHH8L)kNO<+Z=GZ$K+Np{0giNw=>!4KgdcN)5I zf2TKP(@MJSq?L#l_2~W&4Ea1V>x|9304ZM^b)(o+@7SF7wF+}N1xhb4ia%68{ZP-` zlTRP};E-@bdwGTA|c9P+f{KkIc4jV=8dpR#Rw3%^b8!CxkaDC0f^+wDA? z1R+PuQoe37)WaE}bwKWppMiD}$d>+TTVW8{Vc`^;G!4$+4;ts`yO28?S<`8LGx*>+ z=YH<^S`Mh+PL@Ob+tV-xhtCj(JlN0mC#rioeFkPHNJI|vrM=Kj>O`KCmJbr~FNW&1 zzIs3x5)Oh16Rv`vFIG|tpB_8jz2+0`BQxBE*#wZ3_;2?*FT#|@N&&7A}Qj7#ZpBQpy z?vb~3Tx&}PuhsWmISIk`K<>&t)Z0*>>C-S~XXUU1l3_9AWst=W!7*^QpdlL1?+m$f z_pgMXBp(ndBMt32AMm8HMz8dcJJX9rxKolT>U-S*GBvhF8WxEez$ujs=W>u%+pMMR zwh<`7$GkOlAGT}FV!sa`Gl_N$OL&{Nu);GM#TTGQniOG_k>f$S^OA26%MnHKLp+LL zcx8i=G_?uEoZ(|@NFe(kXO(+3QMP0aoks`!Y>7)E4U0cLp-4`6!{c)V28xgL#zth} z^D#_(nGE26$cYc*zmK)BV;|LaQWY+%{_)k%AxUUJ@7{gAxJ*3x)Q)XP+pyglCN^Ng z!i3_zo)Eru4bx{Pi{?|uc{f4s(2A~_hZjsO zUug4%1AJVc3e|N&i-d(=Qj0%rO8PLWD0OEUET8bBv1lTM^-ilsK4>%!K6Xd5@LuF$ zdoq(G7Jd1C>5HHBIT`sDba^{6pGkr`G_V~3TJG1C2ky8dfFQ-!`Pfo@q%M?MB%z$P zPep_llVfFFJ<{V0ELL6X`CYc5zU}SZD(7vpTsPk68BVr>vrx56A}!IM|Iqe?^H>0q zZnl4P+e$@I^w$}C%4cZn^X>!tksQJc5(by8+op^zcSyTVF(PDvsZT>XVMq8+>5@|DsRVamzz}&+*oayw2~u z&vwSKXeZ`P-%alubu_5TAG zD2@10n3p;es7$`E3>?3%RPwu`xyweFuYnDhk{mHIzYaJ$sK)0)s>GeU8C2O31?;!V zseo1LcLHQ;1C8csIY2BKn)an3kAHb z7zcEUFz(cu7?bS@p!8tU+~v}_^@+Tb62d_@^yF>Snbv~IuPUeF)2@Eg+@+ZqA8fE>X{NjrcG&OK$^3Hc3PtjqrV7XswlB4IA2z$PC ziiVNuFvB$+^6;ZrWQJbHXWT-VWJ%qvU{>fbi2a=1{NxLRZ(vqv`ATaMVDMgo$>bvQ) z{jF0yN5@2zPfq!>Q{wOKk0N5;=po!*41hMYVyEz>-FR|snJBNwRM)w#)_ytX zfhWY3JWkt>UFtHbZdnXTwy!^9fuJ&voRFn|M?lWXZv9)An~?B0nho&ipwp)Xh$x(` z3wodAIOv@OJ5t#8p!gh{%rLRVWRQ||hB?C4`p;$O;LPyH;hX5#{} za)9m{I{AA?a7?EP&%zZ#o6anC;7UUrzKqBHo&ypSY~!?WOIlzArfyuadQNt(4#B?c zc+o`p5?1ftbMayu9Ty|EGZz(E0mo=#0MpKjK`|)?CI4DK?lco8FhStOE=?-A`$uSA zvz1Ty@A!r%wZNn%Gd`FKah4+;wi`c1`cX05(PKOXc+0uZaVHm~7QTzkS30WZ;pnYk zD$5;;F@Wh#C}#{{=%NB$MRjt1*#};-y7PR>0U!s{LLUEHp{o!2w95NCx>F zA~!D>!*+|kCOOCp4`hgL$LOtOF;Mv`T#l=-kX!K0-^N+Wh){0ZM%Zf!TJPz$?i#{NSY^aqvg%o$nxqpEvjm*;E8r~@QEtRhYVWS zFz=1NdwG3Vc44TS5 zUBmV{JdYonmIy5-JO_7ZF50Waab7o-#JVAd42x_>5z%`THhkN$OFF;P$IffGCLB4o zG>_5fd}wvuB=0mG^R_bLJ6JC^xGn#dW1Nd_+4VN`hFw~)(x`MCx(;r8u{B(1t@HM< z)_Gg_PII2ao_;gTD8EdOnb-eXy!sBtm+V?%krOlA)vnw7Roz@-$-}kg38QVOwDrWfSk~=PI??GkELqt=LPc_~xKCo?4|3LI$+BsiTtI1ny0!1L#z0KG+EIto6MX14TkSGxy?R75z1ZL7k;hP z`%W|U>@C~MxmCbx97=DaE6(5zb)}oL1m{=B*Wd#WAwTF%qexML;0|#c~A;&^E3bqowbOa9M@@S8UT)y z&ET{btY^VBJdk8ru0o=WyR&6vl}~!9%r;A*<3S4yM>-b!o?!gaGR~f+dK#)!awCh*&RteXlDWdqJ9pc3myL8dueEW zkkx<4tpDUI#~q;V+T*XKqZJlIFD{5Z9Wi#G5wl2OaeOGLu!nJ_7v-~E8ieu=jsr_4 zp?c9BVx9@z4n`ZCGjHT&(Cao)>{`wRZt)3hcD^h~MvZ`jTE}!)_)HO0Ep?_`h?t`D zx()&`>=%=Sd(+{(4wh)0bu<-Z)5Wg(x!wjipV1$H&u@;Vym72 z=B_F*kz%syB7t#yE&C9;rAVP*{@AZ)d z+j97hJo?Bcp;+e~Ia0^5^DHBG+LyPUPx8>OMZ=YVt3=DOWbW8xDXYkgGsj(QKRNUT z3?L;@bL5N*0?vwOTl9Jn%^PF(k}Ba=b~PNeVa zrrrnbfMs$^n*YKui6u@%W%TmU7{Ab&`#}Ji%K*DKSx&PNUjZ<|VqiTe@IJ!Lk^ zmmolPgL#sSOo$Ia!*KnUo_@?qNGf)iK|)V&%PN|&VREkFfgqLkf7BE6wH%gT{A6`W} zq;*Wd9--bjr_UCxIHo^%qGzTBXH4stLLIw zSjy)gj^o(Qg7;+E_6xu84)Nx_81GD3hCYfN7h%$1MD2?prLwAkHlZkT7QqyUcy zy?Ds>Tsw9a@6aPwP`PAfm6`s}cbSpHvJ6^i5q-#O8|mCc1ON=8L%FkoCeZiOFH=sN zjAaH?=<}jF4LKxF?ygE6Z6j{nOs3I@5H6xDyuaerOKri{ z-D5sY_4t`SA*S~Q@Cd>yeGY~15PSCo8qqf?WRWQC%NZ9R(7I$sc)~`9WF9+$Q~EZ( z(y4=~Od0M=deL}GuI%JmF^qH@W?Vsg;wxWD5K#WhwjhZwtQ{l^K1Z5u9e193br0r=TpDtmou;C1e9Y5^^q02GcoE3(ylFK?Id zlG(kF7N_Z zSd(n{7 z*inDy@@$D=(Rx^Y3h0j<${?ma%!8WLRrNXs2hGnqbB$z%ZI9!+$&W{tlq0(LgqKH* z!hz##YObG*?pme+br_2u%a2q9e}2$g8g9LwHS!HoR;kLppu+kAz^qm*k120zSX6mrDt0@8* zXcE)G`U0h&VEk+|gF_W%Xu*rXus!&p5izJsoSi&ca_gw*HZ1&r0iH%J1{NE;@@Ijz zn1DD?+VRS=UFP~gZ(!1807Xia#ecX~sI>mk#g+il*kH~99xPWxa%`#~0$qRjm*p#B zLylO+@W?{B5|LTdl(xhYE>wpVyy~X>4Dx1a!04V6nTmNyXGrm&ZerDNpDCOhUu?TW zf-)v3*wOkb?nNDRlvcjus~CQKEg&Wlzy(%%2C-}cgUUmnO=vmx@ZagvI%c`S*-M%y z1*H#kJCE~7W78d_g*spwByh;kH1>EO&kJA5BMUa7KWGfqqD>MT*-j{6c>#(|?FPtP zI?XmqJaRVG)j14edGVso7P>3Ik+2^uEaZ-o^2lg zj{j$pnwblA)zHurF6~B*j|*+DdgEswyd1A$fg44Ly_n~mnUDYsQ#OD@>Vazk51fP! zP)N27JX_1N$&|Cj-*;_A3l?5Lnt2J|yFj?$8^)ZsBqNV=yPUQb-g!=&cBh36ZNL7g z#i&Q(&tx5&FfnHb1$GaL`iQCnG)aAhmi1i8cOc4=VLYXb1L49WiofLLlzEvM*FIjH zcdgH4?FWp535Fby8$J;F+pW*gYMkgKeHIs5(`?xI34X_7Mtl+3vv3R4Vf$m7efWrG zdC}HPln;4h4vQkuM}G8!%Q>OB0lVf`CGb3h5N2)sIlhMqJ*XQ2;0kF2Bi;EENN4Sy zV?Xdq=5rBO)UYw4S;A40%#q%SjXFsEHi~A!NF>eJ9@5No~So!R}{=?VI5dK^d$;{Ql)w1xUruLMndMG%?l9&`|z5qn2 zU)-up7LVz-Tu&+iHe*nb!4L1=pGKf*oAqc8Nmj$6Ucf zmZL%C1m<%PNXsXY7)%Nz*Ccn|(b0?Ebf7JWX(&xl9!2Z|=1WA!9exTmqu6cohywg zWNa#pJ^vbPC~jwQ1uAY_B}4?iu3*X}Ki}&_j&6WU=OI`=o5S|EySz9`1GQH#e%?%! zk!A#F+|lX*k}%Nowgi-tTpj?3x4+q_Gj3s?D-v@8JcT+TdnXcQs7DTz5`z!m(V=tM z+QCoCG6*wH6IDWananl)qCrtnPSX$$whLL6%H|T}L*Lm(D3cw{$Ut>i=K|RBjra`T z^)d27fdLXP%mRIeu|HUVrVFM8@-eYN4V`R9%YhXIp^S9WSxT_pvQH>BuKYrvz(EuL zw(7;edF0EgmJ^HnMQnnfVW3+BYveTF;?x?1t|c?`_zd!px0b4$nsK+3ktZ}=E4JjwOMmUlOpR!AXx?5#GgXP9}R9C%C+ z!E8C0C^x4t2wk_0=Ba|Tqk>?P=BSQ>ffs!*{4&|&dXvFuWVmbozQeAGDS2&obf*_E z9+V`H19f&`=sH3+0_pn?9$YLzr7|pf?FvsGQof~YMtx!jihwWQFWLR7cI#s2~b4y>zd5koasjEKD zx;gvAA+k&q%v@<_(OzOJ;35|V`(fc*HsLz)K<^BB_SH9fq2PCF|9au!i(j?-<=17R zyiZBF6W;~KN=DNqZxdN$Ab+ZxRsII&R1&=}#f7fz#<_a&)GFpZZpW6VTte3m-G$Y# z{lWdxT_-NbJahb(ZcH-zhM%~27Ez>uAX+1}S!YjhkU(Y7b44{#=ud%*HIo5<-if#- zJAL7vzz(A|XhAdoNfzkvVj}eDJ1_6_25j5F1K3==kO#@4b2?vWB*@xK==E|g2w{C| zXnukzn=FbK7ANeq7eEQKly+z0v!!RyDxS!o|E%2e1O%K*TG^)G)Ev122WiC?^4V38 zT=GrO=Mkq~kI8CUriVO5SMUs~8Nj;UMb(QhvQs*haN^jU@mG0Z%7wq!S7M|iMIJV* zQvzPRd@Lr2+G0;25`auR_GzAU0KW5TI@B6onNnmK(8)tK^z&pvXM7fZZf7vSv5OOQ zJ~>do)<^nMm)Jxx=wmvhnota6LppbPKt zZ7Fh|WSNTb1#qp)8sXwp(~C?KvxQ>IvSc`t+=920D(-XH&B6k@M53x;*0i=M-<4%z z%GI|57u0Smoi|TxU9YN7{)nF&MArS|Obgs?nmpP{YlFSG$bQrny?x&+-7>>H@qeo; zzOBQgvL;2Uycz+BihYYy`!O6UP=;X3Ir-4*XOme3>g$Ihev#H!&%e{lb_IbU6bQEMAS@<=ln=P4GwpsJl1m7)iA10kdpWQu7 z+9~Thx_r{=tv(Z#E#S7$Omd0$^#qayK*XJSgRvy(3(1@{wmVIsGK?5&wndF#ZhHe9vE|ebCqdu|e zes5u>2z7<)5c-_dI0CZ`;SC~%0hnnmC?eV#QjYvB8|eN)B3}gYp%|BILoYt7d3`fTw>tc=k&YEC?Lv^yzfvm zIrg|+#IZd*=g`SM&t=;AYpoenBSCu7u{t0W`>( zxFQNIqt8=*N#${lZO3ca$jS3@ze^wA!8+54* z8#4GDW7ni{w$2e3Rgh%t>o(I36*CEGwv$~Z7hb!e$Ev~*B?~TM;kZXpcIiJOy@N4@@G_} ziE%^K%y#(p^C5c*z(6Zk{8W9;pO)A`9E==_p*|t{-YvI1Q&1aVGfhWkUx8kWVC15l;?U z5Hx%@obF&iLGhtSQ*Z1s4JOC5?0oQ}7Q>^+=7cX688Bj3^58`esXA8tJqjw=Pb`m< zpL~c!;w`b9YxS5rYkacD7f2yePw(Y}sjpH(xTdLtRd7OO z6t|+EEOiqwQ8S9~C!aWMTOzvyX$eF;@-~gnbS~Ofx=A+UP8-GsvCL%S6P05qP_Ub= z*b0zpTFRr``UcQ=XCH)<)#rghy>~DlcpzExtitvUl3mt$qpusZfSYNfQ&d9h#L%6I zA!+ZdRvRY80?b>uVW0q9%aNSvhz>E>lF1}F?F|3MpP48ki6-Zo z6h3|ajRuCwm+vz%=DWpD^o?VlQRW-RymV{XT`|?cF&Wxc+yy-d!eE@(ToJPo~_B$F?ykw^V& z>xG^8QFBoA<2j;DjUiX)hL$vG}p(4YPqC?&KFITFL{|4b{GvUhGC+@)&ko{X6U@e zRsNBTKz=4fHGr~CLei`}vZiB`f-)czCJl^`8^+}6hh$6^u?^251K08bb`YY9Z9|#R z3{JKvkfl(zl01})lX7Gqm9vdI5P?ZwkvwE0hV4C}GnT=_N9j43pJ%_#+s$hRnc~Qj zI>%=C8g~Wa0@OS5DcB~NaH0*K>7WzyH00tXUTEZ<4K7!KCVbgL1Z5GAZcx%^Rrs1~@+bSQ7^DxXXsGBg&#m$wVGu;bR?@+XX59q$9M` zADB^*9t_&z7S1;9vhs(|D9j=YdNz6JW0*zGDzmZHs#`KZm2H%zm`r(@GF@g>6;qm3 z<-(}*g5*fo-JI+CC_=>7lh{Cl#{|sVjKwvR$jHE;wew?ph@oQ6p^)Pq|GX=K39;IW zaJW8j*OEF$j0_&dgEcw7Bf=5-TaH& z9&L*24tKP_{^l<x7MPP^+)?L>G??2$S3+2_&M&GIk^ zMtA7*xKZE9rw{P++7f25y%D=D%KlUV!dAe>Bcwh@`li^Ra~e`SnrENkYgxby9qJLe z`6cT-d0L7l$GJoMmT8hH|3a4N4Ii+%vNRU90cDtoE5B)U zWrMEJFpCdOc?LM^07D}Ndc$LpbD{;m<~?N}L|Lq3_X>LZJqhZg=ojB>oVyN-(q#ln zmDm1anGjN8a>N5s197Wk>oVKWI#(UQ)trkx#5)>XM3T?BfFtpo$pShl{8IhrB>$}6 zUi}9D@QAN4H}bWLjiU4#qRnHhZ7ME}j4By}vaOjpR4TS{@toYyibogf&ObitQ7 zUo=s^A~~#MBrC>dstGB0*pMGoux0ELngU0EL*QNOdS5Jo zuH|pQv`wtPu&~Dm?W0*bVk;gi0@Ee{E>_RoV<7C)%EezTsm`i8FX&JnO=kNX#^HNB zKsZzwsBZ(`+xB8i3ZSb)i&~G>ZU)-gFl(`I5gO2 zJ+Jjcg6M1hi7Kn|wwwjNw8L%LZPU`1u;Pm>1&Cl2U+h&~hk=Y11&DjTHK-E zR2oP1p9&~%xg$u9;UXx*;Ncnqh(Y>X@JQ-g-r~!yB)?f*FSeq;r|#}> z0p-6e5}1~iLeq~Z_G#KIbneRc@2HP{E5Cp9>XiqB3<#MN(!a3fm@S92Qtl=*NsSI- zxP&<#O_!n@BGA0^;urH{qRj8%`)5}l^=vTLj@PeVdeTZAaQB(Vf!<0^Wbh&bib-qR zT&y#YLjS5mbaXvY)_MCfqA&Q+LjUVKyud4W@_C6@57O2ug_rZn=LJ|GI*V2$Tw{HX zRM!Iw<=B9bI#+y?*D~3^xh-;TC{^(9#mOezg&$h(=nZHrkl2KJ7%diu1-Hw=B^YFL zZjl^sGMGz&GV;$2=fHNI%rw_5%AhmAK|KBptd~$0;g>#ZH`Ha)@F3B)g-AobB3JrlZ6{w&-zM*G(T(#knrJv!Yh|xFK%q%qPWs~a4e60qf#4-sToaBJq7X-71tRmclWA5e` zZ>f&&_!(sG6f0lXWp+Kf4j4DU%eDepQN=yZr2w5t8z@2nN*MiQ(qHPx=;PLbmw8#t6KW`0?@h}wE+Qop#n84XL8CNi#P^NL{|$n zY$hB`pm_Nd)kuXS3l0bk$`PECC-sU@kql1QGDl~zZixHRGst1G!QJAAdM?>pSjCY% zCeYC1C1DR#c2^S*9K&~7%o*+#1c%(rjy~Se`iEph1HZl6u;{8um?q>2G#~IM8dWl% zfMJq(|LUF2Y$pa|#!0tgb}Dlns~p>D2y1!4fDW?9!c3hRV9A8!D8ipP3tu1{bOHuj!F#}k zhG_`~UJa3yfs-#^qs;y}K>-05O6fe1IebIABv8KE4|OaU-cF9}gf4gD$e}E9q_nb; zU;gU5MDjPDqvuV(_$RB#*PaZEukJ8C(o5|qz?mhPWP zEMMG2i*xwS+!fdV@b@r1w2|uFmC6AdvVb<~xoHo|28L@0mPasv@sASZQJpf8;s>Ou z7vYv6ID)0|f(NAHk%uULCtp>)lLr{M#63w4l8HCXv~*xYw`tSgrvEn=_g`N95s#Fm z6-Zq7!Mx-o3tEz)*Dwtb5*%WpGLZNkRI8fK4}eE>f=@!P{AukG5h9E0n8;I_Xm`yA&}a=UR1(TH>K&%UcB*)G9;Dl-km&(*gn?VX{~KgyNl7(Q?%WBUU{FqX;i&ajZo2Ux82yn(oW zh@Hnj6PM%}=LwB+UsrU#ZHU~F#JgXu3sm5c09hmjHZa6fW(}~Tp##%pg?`Zq8qJ@W zc`K7V*PSAspi4N*r*Snn8LJz}HnS|sU(O|s#{%R#jr@cQ3~0RD9eUPuJFHKDW`jcQxa8qr-b#PSWOti?id$Ll84g>>aFm$DFC40F?^luK)%k&@z0=kM` zoPXk>A|zsp%*J3@EgCR+YaBsfPUKQnGPUR&=dAN?R|*_XCsGrX)P% z#Wp%NDw-h*P`vRkTi6E=7a>O>7=$zeg;GE`8ZEXOnIi^Y{D?^`P*};b7`5oBEOfAo z37SAkaY61NGwD~UVIx0&Vws@LWC6R{$cP>dP3Y92b<`Q#_74=>8h&a|A2b2~$Q@kuE`2ATV;4`0G~xB?j-w8lW=HHY4@WJpzko$?VK-g#*%AB@#8PR>IBKf zch{m62APucP*mlSsrvP~k_H5IMj)PYcs0B;mqXLx3~bWNS@e*kWo zH}A^4Nh*5b~DcP`0TLluhM52e#j`IHa+KxH-MD*?}6Hj7@T; zey%L=`&j+dj8D92w0$j`c*2&l$eMPA4>laQpF6ZH=I-%RIr^3n7YiihUl*Oo=wZdQ3$6W6HDd!0Vp0Ujbq1F+ zFx3zww1lvJ`X!nf24(2NX+daZ# z38F`u$5^l7uQPG@4p*fRxJ7#!ce&%Td zjCSTahk~!g!q5LC5po}7PUW9JdeKDrqL+E0H}Z3kbr{%CX(U-y>EN^g^5A*ro_~gv zsfx#o7r$No$AA3C)xZDyzk9NrffXhWKi~bTyS4XpcOWn4%E~c=eSca*4$IjsL1J`c z$eddpDWZAM!^B<}wnw?J#bI1}mhfCW*e3mvZ-0J}BO@XXCJsz`7z93ktZ&mjdwTWN zSI^v-!rKBYJU%kPmR)_P-T=rG7;o7Yom|8BWurqvmZQOP?UY*KE-Xj(gpEciUN}AV zU9w=aKqE)R024s0YQQNz;NT9N>F$U!XH^Z^h76;j()`Rpac9W{zjZfEZ_+iRL$rv_q>9g&J=WsRQ%xLLykU_jlL;oqyugEP zsZ3mYyF2CV@IapqgHKzyO3bLCZg-Adu@yva4u+#H3Y>a!QuxEyHuBv}w(9qMIhrK$ zz?TaQgYk#@F6HCLkKFDX=JYw<6PT8J-xjp@M~_0g?FL>CXirr`+lD^p4p(FF@J%5p zM=AZJOLjmg(;(?%ZmOH+PhXMA?x+g}5q`;|=_z07yUx(HMZU;epC9SV0qdPa0Ox`n zJ&o)<9V!HdMC9u>8ry;A#RN6fkMG$6{hROFGD&7ZllN5cm;vveV3K^3j?I;`WwPxK z@wRkGM+fy5YG3gE?U$c)P1VcxyeORZWjHg5FHzpStdS3~1JO*dMO%~YY#HbJK_8w$ zp^>LU%W(ih<8j>&yrILeag%ac^Lzk&_v-9qt}% z*yyxST;y~4q^Gzy%I(gg0riM_1C6fuFgH$%U`G;qVdHJv*T90#}qRD^dEV*3y?xTg5x?vi+}H;^kpXisLXgZ zvg#~Yh7NGIj1ck2w(CksPyuu(I>j`pF8ea)izdpKyv%DBAA_XE} zwCOW@R6bCI@Ed%SyMGMN+-=>{8G%n~ct952xM!cx=L4|a4C;`(?eMHa!A0+;){=6j zgn=rZ=z8E!FBjW&Ek~0gdCL=zDX@~s?u*`mfsNbFIYYFiyz+~K?%w^;Ieq62iSUQC zBSEJUjYl*R2c~Hcs?m62LDB64a@)wde3<{5L~&VVuJV*fTLxt4yFxf8aY_y|oV;DI zTUqI!xFFN+Is4h)BYaU);8Tc3mfmGaPXLZm2fpa9kryyz0;U6gNV@CJCb}#lWggC({546g?MC7%nvzHS)j%4>b#HsopIa^lHMWG) z;n_MR-^l0*yh3D+p0f|&*F1v5+uncrpZ`{y(F^Qop8$kFd%wEg1XcLZnP|0+rd;$r z_=8>BQ?d%lcx@-+O>~A_#5(BtX${_fdiMv*?A<5DV}Wp*o@CZU2{M)tz2WJFTIENM zyQ*Vo8nP`t~`QKH_8gYki>G{^cbMvzdbSy)!a~=4sz7=!Zc(`NX~lOgP#kHyAG(P~%2O|qEq;y^rbGXx@!_OuNqlYd!IUI~o@#V;}j3+@J+_xlK`g@ScS7CmDqn zy6~=YY^v5E8Ij`#h9`=lYrocPY-^3?+2~tak8;N8ysYe97MIGZTd@YdN-%;eJT+iB z@L95_J_+AtBL3(RpA^)KfmQ#&Vvdza*i4xom~G90GYJ(4Z=XgS`>Nw5R}peq z(LBb#^Jmy)k}F)|o*+YC33^ZJzxO`jQuw9uMeL*6onZv4`z<9&a{)H-=GPK;{($^4 zv5O|kyv*zOzyJNk5|z$2rr&&q+bYv_qk}t&8W`aa&fnn%4z#EgKeyRdEDT;4#x`V} zkL{i~H%_fEK(e)xmm~4H4;m3K_39V4xPbvL9nw%Zw{=<~ z^vhH(q`8RL5XNyUQaYEG#xYStQPLe)D6gqS_vUF)Y=aUgJVdVTL?j{-iA0Hn_X5{N zKBvr4AydE9V?q;YDQRBBC!B)Zo`A4^H40?QwO6uKM@@C$KyjOoUE4mv7%;%@*>zAn zj2)91+Eba5_!)lO9WbTvBOJ=^?9&I?)fZ6t9D5AVbMWwRe=}s~)8=|9kd&9owH*`XeIWKXMH$6me*oD(+ zeX5ifi1|&wYCnWm+8&-Z#CGojT29ztWD@83YTu2l7nS*~#d>LyU)ZF(%bi`9ViHq#ZH65L3&*JxVlWEV0R7rd8k=FmRd=ef*rjr?dc?D9gw589!|E+&r;$fz*m6Q9$7 z_%msufSmOG?7G9ITezmTJ>!w!`WmJ)i%;PDyaE<)rBzy?VkIlr3y-%9C0Vo+4pI1> z3bRhc`E(#JgoHYN_ELW0m%u6AI*odT@{ouWZ`X{zfpa-hf4=U+>Vj5b+Vq;Ff-B6t#_Lf1PC9*vV(-8t0}n{bTyJ=+k{HWAcp0_bIe2Z7=HP+4FC`iw+yTRsYDNWnI3a zV%sanZA|S>*FpM5b~(9z)hE%%yFXF=_Tnaf>mPN&|KhKMI^$vHHo3yc{}l6eP$03b zj_{{$wf8#hJ~qz#A=JKQTPCi|zw~uOUoW%v+*Aj@b7SRhbSWb!6V6sg*MO|K$R3t7 z*J&e2HgG%K_EoX~h*Utp@#iAEYls{FPR2dz=E`quSr_*)4iZlkOk4@|B zI|(Ox;C31Ya_uBk4OPK?zq=ZUa5u(zVmuocIjCG3BX29EgJGik;^!Z9Va--LR(ws@ z=aL*clM%cXPXp`+dS;CQErV_N^hBFaJTdU#o5-w+^~CCxgl8|@w4+}J8q_rnOt&Vvt6YKa+6YX)R|PQhHv`3G7@mnq+&%gQ3tB9|D{lx=? zJDWj5Tg<4m4}`-(lu_jD!^u{8XOeMdp#6UJ^>=>jc0BQ;?)>pWKV1zLdXvrCK`B$5 z0SXg^uk=k?1{+KkJb)8EeZskcg|5hd$YYgRr-(ohjV@fR<_#5Ty0Npin~ zKX>IyPvH=SPux~%Udr}v0r|#LEi&c$^X%%yuRq$)7#P3*r~xuu!6`i75s4)BBjn)v#e|*b zrMXtTe)Zz&!%shW5LTeJUB|a)?8;*k_&aj&#(Dg*MYtdrNh%HzwaUUYwJMt+dY#?e|Ievr*yMFWCU)s*-^Wx_peJ$L| zo+1Yy&)KC%lFv1iY}u|6Jd_Fw0uef%}e!+E%E3J7;SMpCp6v1^4YJoC<~TvPG~ab zM;5R{@$Gisbd6gHCUH-xUyYY|13hT|bQ*2_WKg;P<9ke!zx&JoYYfI|^CHt8nbgxL z;gLJ88PC4v8u-21&TpQa+RvtIAb7Jrjzgxzy|4bA>*y2tK5y3lS@rz>XDu&kk%xDC zwC-E}oo}1TZY-F6D}Bhvp8j;5ChhczBMck4-3d1G$?xftB*U{B6aV~Uu3gvi-DCa0 zpj$D~<68XncfWK0MCIghEKQVKj6S#D2*=Sn-ILEV$))Xm{q0}6Z+)rH;=NE`!eZdL zfotj9x4rmf^s!8oyIz{!HXZwF(ylt@Cc+a<+If87SILXt+U|=|p|aGG+6f&Ws?k@` zw?2I)pVi{%YrV(96J*uPVpqX+=pLZcoMFR{zJT{6LHMCoi5bC>&n5U;^t>>sCP{mD zy_;@YIsLFi(MVMbf0{^NOU8T1p!39jW_vX5Dib{rqjM;5%-m`8ER^%ibhyxu>3vHQ zhCU3}E;yy`f`z4%hJe^UnBplcCB}0&4Y1e) zn#7=mLHMN^B(CI*0WJx_?o?-XeZogSSDsF4=^hN1K49fVSR4Ezvp&r*b9{!vgA~f9 zu|KjfOkkh|o(o+!e$kN9c_Vp-@aNkAMh(4{Cw^?d6wh!BJp7sXGjQ^xLv@jw>GD%& z_y}Hutvk{Q{P%A(Dg5<^t5;f4Cp^*xfmPHOYBvlt3Gi<}a)uA-=+kVt@Q5Dvv42FL zv@ZyV!qUD-(n?J=@lqf7+2;qZ8)Cv^8*KQcEiJr}Nx>rY8Cfc{Zt>~pkP8{UH{crn zGIKd=^+#TjPd9h*9T`WCAuj#Qp zdW0btTr7eZK(qNUIVRH(?y*PE&+K;CMLFC z(6o`t-V1-hLc_2i5<&xz_$zH!d7{()T3iBN$HO~I*h550M*9la9)+QQkelu{Kc$f) z3k;=~bwQ+^YgHq`N4D;3HhLjr%W3bQz2-N?{(+2$`4TbH8MeoXls znhwl7nOT%p4zmS(jP_Q#v_3Om;!S7HxBMKyr4KM%`K*P2K0!>Qw&JlnIEcbe$j0|) z0+sJ9w*g1bJAhYmxIc(+g&Uff7_R8zet~o8mVP2ax_=ZT{lMsB&l3YEbm~49nJgFQ z3M(6S=D`_w>I{3PKj=Cz%>(#kSf7>dun)c=EXO2E(cxN#+@qxFfsY(Y3&1c+SVy4$ zKla{iN0KBv)AR^;kI2ZavWit88iN5Eg9dn04?uzdAA;Z=pOUwH0TR6BBM?2)MOIa2 z#=d&Y|NZ|ts-kLY=4R#|QBjSS2v?Qm>~dsN5mnQFe!|wWDU)T9*I5`_0kj%{^+DLs zp{L1K38klpA}z%5a2F*Pe&}Ofsy6}jj(4bMP7gF7el~9+Su}%RlyKoGV3AS6v1|hR zM3J)=%IAK}Yt#XSQ9Hj&%p@Te@q$CWC^`D(k1h5<70OeG9m9wSSp8JBKNy4;(dR%P zJ{-H?=oEu-^5R%3a-i{X41%ZXVCDCVGsy)28XnXg3r`rEM@t&t(e`Q-S`>& z^)%~|zY5H8mK@*WXigd&l;?o7OiFIFctIZM}U_rNnwU46f2L9x*hZ z|FE;43o9>AnJ+c_%#&u735O~$KMg31DW*(CBvYm9u#~Q)3Dj67DY`<3hCfmRnht{r z^rh@-2XGG|?P{VGotTuP)w(H-)D#y%7KJ>IC!kA*mNRrZcf1DznXzQ=Vv**-9-hS` z671-DRH~;sBb9^k(k+rf1)U_e^WnP+>QVT5dDpb(_R4lH%bCe@L?VP(Je5O zo+>&wuw%<{aUPJt>jTHuN*3(XIv_;zD|u=hZsz$hW)8qcbt>9$Q1 zoX`xiyiEO>DIuTwXtxFYU$WZwnh8+WRT1^u#@Fqk@E$zGThl+^s7>PwDAl{ey!+dy zh%&({mclVVCGk}{BR{AE9uWMO1)GRrOaA5%Ce)$%xj=bj6X@7FG=O2#mJMf^A}Sca zQzhQ)8gZ2GJs*8k+!Hw=*dCI`HY}PgzaJ_zjQIHEkm{I45Jyj;kp~C}6*x)d02w)ZjC(+Ki?&vZG}zLGnU`?=>l|Ppv1zA zg>+9W1gwYRjLFuKDwWR!Ph-E@96Ng~!r2i+$E^^%hyt@KSv&TJ7Ix)0{A=$D(}(p> zbxraLhCsczeOEo<51q!ZVq5w)d_7<9HzJp!F{L*mZVS@cJ|TE$W*4RX4nu@z`$&t@ z5Znc!KN(7Q{(D!2$VnkIn9qb>>SiR-x|@gPvUmeXXt3B75t%^aA?80eU^C(2U(_+m z*xzKA)^{W|)z6rz_~dKytIM18v8j)3n_yG3F5`w5AD86hUgV&znSa>^D}JuORUS$7 zr@f&A50ueq`~d8PVgZby3*5_q1(11PWMR>aEYRMP1(aQRLXY1}=d}yUX*X%dOPhpy z=PBh3`6m9UKl~g$Xpfddb+b>75`X8G@r#dn<^+d#*ax{oulhdzXxSA8(V_Q!!0QlyKX|JZqP_pGelHMU-C}#|A((H zHMdZoB%0B4mk{+wwX6fVUh~iuh2OQIaDJagk;C#vQkp6e-T#|41m=KgV#6L&$ ztcCJjKjwwf7zTB1&N32tOd_agChxqrMqp~?ubNicnYutCbYghu`j0ZjsVt5v;)oof zV&YGu_2At^bSKSwRP6LJaC>0(@hmuWrPP38*~Wait#JJNnc@MjEXXyHQ#uWkj#Ecy zw5Xxu$uS`Y^6~f;G9#}#C@ogldG_S58l(kjY0z`Zz($?QFp9)!Dge<8KnNTVnNolS z9I2XwpqoR}>-(Gw&PR?-3YMMKU;wwq4Nm9IsTEBsN+F&8vJ4KM7MMJ(Oeyj8MANd$ zSEPku97Ag+0PY6Da=4~(qHD^L%^kDuEoa}&a=?WySouPBS=X{OkiAs=)$utCyKc+T z7+ZJjFv?_FrRx&j(hF8Hp%|Tu09yVf>?&m*0Lyy#E1eQNl;)@to%hR^Pj$rTdmTak zLGK&twE{ildCy|a?V=c2IJIC6qA&Fx6vs8mB0c-Ifl2^6>(a04-39P=8tECRRr5zF zQe=mlCn;)I9G50A$a>PEc-z%hvf+yFAfi9iar64(sgAC`c>1&3Efag%?s6~ z=+9{YI}D0f)_C-q_Gj^QyOItMc?c+-^8Rn?2z{7zvuGor8@pw_P@@0K?wJaWOCL#8 z7d?!jkB$lCGs@$LX|y2U61W_?1bpjCeW>daSo4=p70;e{1Y9&^k&cH3c@+kGCr3P1 zdFDFiK}<5h-|toGDB#<7e{h>&Y~jHQAU*kUeVaJ#6W=cW1%qF3oRH(19KGZ{XFo_4 zkA%QC-g*H{DKuWa(1|832H}yNmn_U04_aQR;#U=H4+-mWMzZ6pEYvxg2o30_zO}$r z8|c6|*6HYpmBd*x^U(0=PrujL&6ka{2muyFai9j z-!UBgu}^RrZ=pBpN|_feS}4EJyOF@76YV&BaWCOP1>a4jNd^}4=o;Tc2HvfFr8 zbf`(n$1u%XD$}xvrlBN1cpqg?i7JMS$lVXr-FUGF(RLGO`@)1+u%d;i04yb#A@{|Q zo4FO^Bco>UZ2_Sql{NzTS-#Mlxp{sj{GJRmEsIU|ao){`KHra^zeX4AGmja&@GaL^ zLR@|8tF!ZhcyJ^1PdETh93G`D~j<1lvZ zeql{#Upn*qXSNHkR-qqrnN#&)O#k_h|9SD6_lz|sGQMQr8&uTo0^0-6Mg(?v`7m<} z%W;Ut266h3E44pPUnR^kxPPH7X^!sqft7KiF&0om3zXi?I_Wug4;?bZS{og)rx zhdxvjQ<)}?s_}<;EO6DBWH)?#g z&r$%v5ke_(u1#Z%mp)ZWNx}##Ows3ki45hGr9Q2VNN|Tzc}sC3Cved}yh6XPWsjAt zTXo(NL5rH2t;Zk(r^rQF#{!8Akq`fz`mz?`mOH+m5D9!WLt+Zp-XL7yg(S)|pdk)l zJUNtCSTOKJL-b{Czt4Zo=?nSi$D8?mOWwia2(|}*Jsh!&_JJ@Z?Fr8Y=h&8llDG9M zJ$!RsDUb}olRiB#C}zUd_-)UkReVifd@WxW>F&0t`-fLdsM9x9@kuu(*(@!A}?`VGD6pG^P^zRRNLg>xp;vw*%q)6{IZ+5A|ArD}J30?Z*OI@h% z`2P&2J)KFcUL<>m(c+{%@ZS5>XUqQ>tZ_qV`L3Nz`gQPB1FoBiXhnK4mGMBphE<{c znIwI$d%ZQP(y>hn#(0CS^VVrdRG#kC4Ldjd_PEE2nsd!dND*g$tCLem1Z>;kQ($9Ty{j8e4JWaJO=9&<;A@Vn8(HX-tdb<={E z#F5{4(Vzr&^|-7%7?wr(EX0U+{pIJ4noc-m@mTD1Yglr6p<|j17(-aprMc45(k?_r zkfaG|+u4T2kXvaaafl0;Xk4+`{OQc(Q_@r-fw8gzYr)q#iO zRp$ACl95AwTnLzsl>o442d8=DPTuDTXDyV^7EA_tuiC?4c6wEs-$##GVqldq25?-! zgM!lRG^8TSz|hfoT=H|=I-PptiX&if@9}Ap&yyf_8rT){Q~v;NUXN{zI68}AcHQ`3 z2*<1Wx@LdK%N5Q=vNFW=F={5?e6Z{CN>9uW_CnEh60$mxZea5io<P{@4&K1);RzrLg(gV$3rKR>1b^X>6JVzGw*&-c3U`9=L}nxqtwZlOVgl(7yF}? z9!D4&sj#zM$02E85&6zbznIb)S@1dfKU3!8GhBfeng|BP?-3^4dP+#2m9tdiSzn77t-$ z*Iqayvmda^7F1MonDBrF#%%GEg6Cc`f{y@enAAa)O?D8Q<_}GU*e!9cOuXV7bKW_z zy*^*E>*i2uNT1n$hxl23Xsq;@aRwU|4ED61jmP*Qgt7f$|2{22d%%95BE)-K-IhU( z#rhi|wdA6T!Q^r%A^%ZL+#!J3{jT-#=zB%PO=B{!{f0(w^|ds8|_8Qn?wD6w&{fGzKIYgYndrfh4#I7+HMiuZr<92OLm!Jh|* zJ!n(b{J3|1)8szMT$ydBzBdegFD9jL^eZ$nGP|erkM=#K*=chhEjjqPDbprHY08== z4>^0`-U}D%%(5bL$EC*O)dQ2Dz~QDC#^ExF`t zF0*sMteGf+kAkNgwsf$}6Oi?sb`q^~@Jtf~a9eg4g(i8>Mt9pI)FaDKR@sIzJhTeW zK8-v8L7UD?W!SD^M%uG(O*Qw(ApL~i3-u+$=_&KYb|M-xR$t&e<(3_}cUT`8?|klt zoAi#|CL0&v7L1h=3)>s>*bysTvhaWqTGOI>WPH!@=#4&-#j0B}OkdSA)bBm=9_`#@ zxAG{9jLhJW3VBN2wto{i^S+PondI&j?NiAXn+|sD8n+Lo_P2O%JbS!DDHk1c%==0=&i7vXNK%58XgRewKUN=q`4?FG0&Rx00J|sR*NzZKuVQ*C=$k zvNr!14!nb#u6?e9TRGeg&@xQ*ri^R&s8jQ!NB}6L?sY?s$V1%^^of^?cJ5SstU(&_ z9`0u?l+XE?m*yp2WN@eA*zQO153&wB$A14tX}V!f(|EqbnpOyY>IJm^YtAG(R5ydS z@W_)vIe>Gm#I>GGuxr85T>=YLCM=mCP-Dq=;TTR?vn$@W{s>k~(vxUnrk;MOOaFgLLIDmU*Wgb@H$kHX!w0cDi}MJ9)`d zWFxecxo-drSy`lH(JkGO1%J^WpVYUGlcF|~a8nuSLskZ$2#2w>q9woZBAh!vT_WG4 z(cQe|_m7|XBNHrMS(v`p;+eo?F>(}b(}V1am!WqrBV15|=b!k{Poa(FYixXk|NIW> zT^GvGo_TG{K9{d0x&QRUYmXf%@Ah+u`&tv~^wC%PU0vDDuYIUb^85AZueziRpL(k= zox5K$akVc-tqS&kCDV7#a(LlDzubVsy`R{Ubm9!D|OT zLaC#1@6eCIW@0f#Fv!eRQL4^Q>?_v~W0m(nr(o>6N49ZZa!s=M zRkm@RuZ*svX}6Pp07*!XDCDcwn6iZ&MtA8?R$XsK<>`bu3xwlM<)MOI>O$W%~=H6KHS?E#=NtL z{vRY;pzA&6us09wqI~h5ZPj&WM-%OZ-@|Ju)ID<#xk-iubDfnX7Ba!W-dQGxHlSD-oGb~kI~Gs* zR8J)f(5^EEBcVtEp@1x8 zN5`;B;o25Z=@6ZxQR~m{9y`|KZdb$iJ=W7}`&#VrMqA@XCRqR(r1T-)O{?#wAv~m+ z=qWzxa}2%49c4IGmX_)KyS13msef|l53aO0yu9Lp9(|KOD5yT`Qj0>La1o$ooiKw# z9*eyXdI$(5{G2*yd-Q^<(*wGrJmgGYlztD_@rRsTs@CoIoZIf@KL`vLgs*#E9|@f8 ztCH3W=+2vV1LglMlgR*7fqs}H+5BE44-t4k!*BjRc$l_vskC3s(L>MBLk>&gJD%dc z9A%JVYWx(BeAQpDb6<;jw2AvG=@CO2Y>R)(5?%`N8C{O^jGBbd;(eY zM|w*RV9;^0t#u+#y?m)--Fy)Z-J>>j61o)a3zMB7rf^rAK+iPyF+7mpHfa1UdmKP_ z(MTh@#2%;6iY4ME(ChSVyvOpEgS?JIhx$1-fJf*$X}nW(X`GN+(mREYWszecf8=s( z(`TFK`aa@O)_R>RN02A-&^?6)h-+Cyz!iQDol%cdWobFWUiEW^98E(ClufPSQ8o## z;Hz%IBpy$3>O`OA*tAG^7{*^Tc6y9U-xP|6ub6=G7&`bZ_RVfGKDR&E$K#g9W5(zY zfO!rnIaEfk2>n9=I<3Fw1x_;_YW-&XTL=hd#BX}6dy*en4#{vIWoIpv|Mg%0^^AqG z7PzvMf9zfZ)3vm;iLkV^Pdr9xhr=i=R0v)W3hFICkgYTKtOW3+_NCv#x-&Q&8bdG}%?=E2WuGhMsq4n3U=d9Me_=2}+8I zZaM{$rXJX4GC?gPmRLl4Vq_gkZ?BW2lkMj`m9}yw12nv1`^nB^2+lUtq6!-zMwhcM z%|bcLWn#bE+;n4k-SOgS+=_JkRgf@@wo;OpcigMbnvV!#O0HZn;;;J?btqDZuQ0v};upis7M zI-fgK|CXtbZj{X0P@-&cW?)|j?VCwM%m4;^ildY zdb1qSiHA3dMgHc|Jh$#m;~1H@@aMePEqW*}L7@GSqdB!u{&1-eh^P)(5b}pV@f+Hz z;PR2^PQTI*EufE1$mdfqisKLIdt!572w4~d4R3I$D|tM)`r`o?4~a}qk9)G{6fgV= zS@ZyoBi0Ytbq1e&9^eSqAN>NX`1CRCw%Y?AJpoh?4Ml@L*DL}!aL1?l8m-!bWVzHy z3O>N-Bi7Q16BP96I2s>awEvUPf05O#XgEtL;aEZJEIHFoiXAuLfKfnh?>M7RSpfTR z6y0QtI!BBf2Ry?1<3!ji`pF>l%1WbV`w}?hc~V2d3~0;1G=F7d*JK(haI{BGK2Z-y zJ5j0-GNxzzyT{t5O=;%S^+?I> z{6{*_K!5aV+57J7jmwBnapqHsAO>~|L5gk-p%q`6=|&%}r^*7u)~92)(O3&P%R$L( zpEca!bnFoC0`fScta;Bo(w65spG&r4BOTXqv7g4UBmA^!glFm`yrNqwe2e@3yvTwu zXX<1BN;@_e>ov+2-Yxqm$z;2tLD?4Eh%?3wD_pn{hqWK{S{-a+VNNm&RCuM74-HW_ zY$l3O?jpIX8Rc_mme6>oA(1=XG)JMCyF%a)jSOE%p>b6*u-Il!?_b`~1Qk>5!!K=P z2MZ#6EpFdwvy-vV8>159T3_9U&Q@soDTA+R>cVQ_Ezh@=$@)*ziccQSS}30*6%Vgl zaViPh%nc((pq#&6tOCbT;kX?h6N@w*({nrA(k0SV1HJs5p)t?8M1y zkN`$j;Dup)CVqAlp3FOs$zB}V^b{vQ6B)3=1Ii4%Zdl5lgDKC+TVl~s@?co=8YJ$h zNV*tW2&*)=geihV%HogmIbSK3tCrk_lAEVd1o#FP8Ip&>#Gt^^8tjo8cn+4O_z7Z$ zAy1Pc{o`=6>(l&}5S}#gK`QD)fAJUS=$}Y5G-Z*8913)AStH5Lb@WLJHFXRs&N$&h zl_WG%?y|Ox`0&rnCkeoj{fvoK_XLX>Ua6OetzJPCh37>;aBY9yqqB_V*X$lw2>w_H zqKk}^9s)!xWq0tgQ6)Hn3K+*#33+GJQC&b9!bC5`u*=eq8aDYo@uWK5@e>k%_?-X- zA#A_K>HG4_+Nq~5JN=Hx@L%wi46ak@=XRyi8EzksL05odf_=cBI3MN-JRsq;3;hqf z_ACOgb=;a=RPPq+{anh^7X@eX{i+IZ*Hzv9*}8tcxGrG&TTi-Z8{}1eGO*E%2*|)d zOdZfl$>u|dA2g7{gHsTeNBJYKef*(G0G5SxaIi;gf}Zf>y?cJ5gQM1bfbpZA*tS3N z)#>~+Q`!(Rbq`WxCVGlExQ}Tk;a&lnmS1_(Lj)@u7#6^iR)3^(pWup4FAg()A!q(X zSZGZreAanQ6LHpfmdmps_!3&~elQlC*f0=W7wO`k(r!01Y}(PB-i)Eo#5)jPysv=Q zwD6-Tn1)jJ)#UrSkPm&@*$PJbPaq>X(^keb?-1?5-tb+^qa532&L8>&5GpL}*O~Wp zU(+5`x(5!&Q(Mci!@ON?r{Hi#)1B(I7;55wXlC1S< zO80d){ZkA)G2YUJywfW?SljJqVz)0+V$7W9*oZRPam-KqJzeIJ#u(4k^?Z7+3j1s+ zR>TicG-QJV7$T_&rOAr^vhgVFMx1UBjC7q%lsg4|2WB@IqEMKh^Li|;&(lwV`$UuP zySVEdb1Gp?5}lw|d2>g;#=O7uSqtUA{_DR!S%L>ONx~Vku+hL(RYk>NM2vt9+5n_G zuwY>cMH%mD<_Ll&2^t{n;02rt(tt0DUc=Oc1v)&5_pvy*iBa=mH;aiLwD`-ea1G*k z2?4Xyb-VPViI_-N^X~K->QGuX36Y6U>TJY`eSjNf1|sqn0Wye|9Ts&$*%<-)^Z|TH zpP#k!$JAI1Otx;K%Q__2IS4I(px&-rk9^#V(+0Fk^^fXPSTuIuHBl3NP+`TIp)8<; zV!g^mhN=PZdV$BCg{=EJ7Q!M#zY0NU#)gW3qYS($HZMj>H%zPP#iH0D3**MjBfLz@ z{cqYl^!hKfA}Mj_*8>C=CtwkaoT>xqoQ0X_wtQYp!FdQMI0VyG z+LkJrhT`35DU6IQ_Y4%;O*5ufo^YT~u-zBq#7Z726xyzzZpR}`bS+|3s_nIw1$^lA z!j!0O1xX15ym1D7O!L@F2ri*_@@BbPzW9j*Fl@=Nq*7&L=86u!ig8&ad)zPUHvh7> zZ7`5&D%2hIKp<{9*rZ^cr+CX;*`MZCcCbF?&{CYp4m#B3nE~6_J{@u5IAYido4G$N zI^|Xt=@dJL7JSo=iJhWV*By8cZ4=wMGmpKO5sC(K?9e}glyw45GMsLU$Pn=rw_)R( z$I7z9Q#8Om#jc~8NaP;P2C0&hh?N~e$abN=Pps)Mp6qc#-AH%uBHIpdR(~Lk(%ZIO zj#mi#%A!8z3|$URg_^BY23p>1I$y*;gQlyNjXiDN3Lkx{vtFVuQ$@p>ii6@gsO0e7 zl$I!+vQL3i8S%03ri*>3{*_-fV$%&a`+`6cL}*cqO7Pk(d8W~D`v~1b{#gsO?TJDC&XFcVit^)7?UmG$-sQ{OK+9AqS$hOsP~oA zFc}yzn=p05J(-As&xDW(q9<9JG&0eGUn(ISc#n_YLcaD7i9hxazQ56rt>aL;bE2wT zGm7NwjxcyalbxLIEa1!gfbaC)8y_LcPe)}UnIo~0*@ElB#Fz;&9|YrLJK(%~_u4;i z)i7YV0l|xe{;Y))KpCQJM_M-Ul_pzAz6H)Z#6%sYh*GHw_CU#%)P~3>t>CD?C~Q07 zwwWRrZ08bg$zFEEV@adQuC1Ikfg84te2!_tk4$MUC67r3rYRM=lS{r6#K8zSh+!cN>AoU+8HJ(IDankT8S~_CZ(?W}%!1lH?0xbayiYg@{otixYLh z*2qgBP5@dX$e{P&^YG`7UJPa~LN3JF-*zU(B@1Z$iUMJjA+lnZQY6OnxQOl(9ZP9+ z%itpWM`STwjbqcp+Lld>qmAebi3cKiKr)X4T`xu5<1lpEj-7wkJN9y@yG>)6)LXW% zZ!j6iR-S@)BMiNB2zIq|mJ z!rCSiyzBdbUrvC_2ps*VONp`sxFyx{EZT%8F#$s2D0WFB2 zSME+6aaq!+x;d8yGBhqSb^I1NMwzXOO+$ZwoIWG|q>p%}pFZ7BEUpDn%;V_sG)7tQ zi_pq#EKAP*>!^pJWZGl>toZ<663n&`u^rm`#h6P(%WEEW@1e?~`8Z#*48STvkIV-& z^Ao$Nqua>9#puHK$Cj1Bt}x>X`P8$9$?c&0E=7Q_0t+k^S z6ByKxn~Na(C`^}8GyK_62ieq7>mWxl`QXf zICZh{Fqq1D>H-}_ZO52T{Ay?S{j1lR%m`S`a0U{+N7`L@td9y^>p0#!O`14{$M24< zL-S*z=bu~A!1|ykV4}$Yd#!f>nM`_Ot2`zL4A|F?WNyjGyMx)uSynKUwk)poVHrMf z^q$>3y}S4B-7JP>?_}d6r}(IY!M2@C<7BGoGFcAW_0ehan8x*vO;eojl=nU<*2={9 zMhjF*+#%T*Jn-NN5wPI~?ZLu^2WJr^TUXxHxfP_}t2P1>LyZZa?&6`x5X#Bo9eU`? z@(~HAhS-$^fP*FO#NK;%a%*ULkm$pO60Y#e7j4nqR-z{$AcSQMr1L6GeAYE3^Ho$q zRcJY&5L#BA0{u}B328f&6&NKhtjTe~ahuF-9=iBm;3VX?{Ju92eDFEi01s?y}C^ngN74E>xUkG@>*racYLNb(^J7l0Oy=wy21@M^@tub-{?}h z6@%M2EoHe4`Z%fS3;5s^ebQH7f9o$Y^APQ$-k(*6vPlHa_yqkOi(>ks?0%_4ehJMF zdeO*jQ;Q#eyh^ls2Uysq+ZuSu<93ae^l>j9OnTv=2YTxNIN5_e!#7w?%f5WDi;pkP zCsV3ilxQ>gpdIpN@P`9|8tJO-MeI~&68KU1n|UjyI< zy)mr$Qs&8vFvmq9_%mN-DoRmz%C}vodNl#*LodddoBC7+idgbqBsXuyK8ksu@W8(U zpnJu`*X-PPBOk#0OEmq96Zdp!xfbN42f7>^Y!d-zB52RwMHM|$P5H zN2QlEjzU=gHU6aEi8gKgCOV?8%Nl0ion2u4_a zak%T*xat^!)YUeM>t98YH!$Q8z{%QfPA7Kw+Pt_+3+ppu>=9%JxR=;j3*~b@=4ENi zVj5@jWJEgRki2A$Ve^wtS%PrPz)vuQh;jM(DA4U}0LyBwG{G_cL-R%mF&mQs69+>J z*?cVMoqp?>6_g0lUvNk^1P*%^4~c56L7w2zvsd2?i4}j5GP6ye8ohp&twitui3iLGaXN@TN>F zhVF!LOc@KS=zz--%U>3bELzEB@{(n9u=?7RxbKEhj+jH&MgiQJ$OL_gu&V&*G?0}K zpeYRsWvrQzkJK@tJJ8t{Fbr<$St&>0r#~DE2*7s2ex9I)Oe5-UTc;i$$aewYBm)m; z9_WA^y(7gbk!Am|=I3i5lxd{nLLa3o&6uJAAfHetc6#iNW9TUK9#ZSjb*EAW*Q+X~w> zqyznW^Z)~ywD9*&DFH(p16Th5f*!27P$9&Sg}H?Wj-Gp{^%awIPGr_17@e0mUYNiygr2 zzhLZ&bDJ&KezHs9eslK8Gnm8-_rcwVG&GmlZrc>wE`8sIx_j;^dfq0>K3XGQ!;E=% z*J4Sbd5}BCM=0_?r3@plPZj^tlA2-9vKF&bwP1+dO&c^TNhyx6|qm6{q}5 z4reWt&rt|NxD)eQBW5IzZG8fc*}tt^A2HS7(?(mfw;PU?cHSFQ~uyd8(?tGpqQ8z@hm2^^S}-; zN4FU%`8du8rL)lE=d46S?_e@f@Ud%6T$!BlRaHKYv<^&ip!=TpHknX@@Au{ci+;8o zLL}z9Cm`0>1K7t{x8Ze%x)d-<1Fv^{h5$POavUZ}9d}QpIwd9V;t@NWmX_o8_<_;_O0JzT%xX$wwZf zr`6vUQ*f~>8el=vIROxE(o{QWZ{NJUcq{+oBVO@YJqWQM=CuX$u^NfBU3+kB*;2O# z+_{YPoh_~(_`#swReq?&qQ4gH_m;IQO~1$kLG@QC zh#XKJYH*0>C-ZhUgD`glrOcepcue-(&*8u!jQnsBjGI8E#Cc<$5 zS4|VwEDnf&sk383;g4#?6!;bdbi&xLyU%b6~;hhCO=<=Q&HPIHB*o0T( zkY*wMUOO>gJ^D^Ztsg6{$(I&TmQNS-V?xHCkNj!34t}1H`6zadu_Ap3CUfsU@_`*D zb6Q{OBJehJP&vRH!7DFjJ!@w>>C_;;AEt4xv z3_zJc(T-BGF+6-qHj@gl*|=;%bm>TJrjw$`3M-cSp^gkpO}dJaj68qTi{qeSBnbF~ zSJMsES+=pW?*Rt)nBbwMjESUVn6ZiFBW1`23~A&cke7!$*gmpg{gfKy;01YFK5*dN zVNGY2uOY(EDG-%h&~utcCkU+u#jc>*0$5CPIqr_%zk2b^4{H3bvUb_Bz|g}Rl{u7* z=8v76X)3E&z-=Vkvvm_r39oDil0;kg!dx0)$~-?Z)5iv87{(*X5(;}S`=<1l002M$ zNklEH^ByF(!l+w{Jz7Q{C^ zkgI<0G4-aCF7DfStweRt?ke9<5EFHzA};-A8>zjqaPp#nQ$5sm9@ss&o~_e92A@8@ zI@wl&wr5~X_cz#40IbjF2Q_o6$1hnp6SA;ZUu#*r^&{r&Ly<8szz0uqPrfDE>PP*p z2l=r3Sbg__Q$UZk^WG0N-|9gref1R|PLqw(_p;NCwCxM6joB3S76H1~snAMgr2)ZKUM-BWo!%Fw2BLNg$)kP3y5XV+D}dk*;&f_rWYNl4{t#Z^3-(y#2hl zb^TQGY{@~M+uWyOx}v)!!wTf+WXnF%?7X9i+!1iiZzIE>mY)oLlouu~bLV&Z zlL;^o4o`e@$W)Yk{`z6?vUE&>Vz(Ady&Ux^m0{i#6{QjEY{h_WhG=|MPtPJQ{ z4pRBTVbj4jSDXsMx%~d9CPeSF=zOEeVSYyu0R3?TS2dX+*-K3TBSj1r$Qps;ilZqj>X$8NrLZkOllL}37G@Ud{MIAzuEBrgG z)1AM($0y+By3s;7)`C`e0q^Ch%i>4)$jA#&+8=qAQEB%dAXkui6?~a-lWY+4#8#1^ zc4CDS`vDgDB(*8Em7DHX9fxf*T1YK=k$4iI0;tJbk4IJpI;W6)Q&h9Yf_v(DW^*4Gtv*-BBN+|fvg5ZKgq(-{fKG8qxsO!=po!Y zY$3QuTA-8<(f{O_PV1lBZ7& zv2f-gCkv_>hQ3{GOfor7G||93VM5$g!rvLXRFRWB)C7w>@NTpa9(fR_}o*6;ypT?^2bGT z;JD7gyp&wy%@Bz-+&X`qzKzZr{&S|=zdr}hWsUA~Jk?HX`*-?OI=hnGe-1LWeD_a% zNpYY4`|_9AY0K+8(#PU&;hvIrh|i(2Q+S*VOCMKj4{*~B(-EgLPI{*5?%n+&uxe!j zFbo%ku^bA(bY3VL?EWq-VDV>7HjX0*H+GX#{F4ZCe`-OgXF(@Xv zJk5f*8+IFwF*FNhj$+fr0yG;KoA%nq&8KSLx(cmcad%qW4H3+c& z!ZUf$Vj$&s9t#AAf&s2Dldmh2g7@s$urOAd599F1v;&GRuJR-0^C2F~Az4&7 z(FtthBp+PwC|QoqtGh7KX&_-*UZ4q&>8N!ti=Zk2Y$l{1wK&oh>+G$3aG*C+^0E{% zrjt8V2(f+dP9)C-b=k^U=B;%Jm)L|U5t0z7hvH`GBNY=)^4$#>F0epG6UP8@Iv|l? zyiTYU5k(0G7Ipwv(|7X)Ak^W?KOG&_AGyGSGlq2?kL4C?1a^Fc*eM(`Bp=78`M?uL zZME)qt9zW&Z|FJC;(1EG(1YexmKyOMG&LhjQ_8dxp!af)-541A=-L4fU69BbI*w=mc6ZSTgpf$H9uo z5LkTBN3O{e|6W|APQ*t-E*=zyvHSN4Mlv{Vk^m&wt`(=R<~?jqMX;mZx*`aRwfy1k z)&J`>5jOM!+jeWJy0`G$J3bV{m+=WB+1B+y1~R0bCwLyY*^tI9=`KFyYOUu9x^0AssAdc_{`;rEw2c)KOkp6)PQdXFK{RO;4A2)(io!jQ{CYp zTHsn=)e~v{5lqiAlA7fh>o$1!fIx~i(4Qli_lgmD{M{aIhZ*&}o!*}h#BugHU7!1~ z7c|DdeNr3)vk&)w*ZgDa^-w(>D*GIEJ64BJA zhe2JIiH65dmPm~AE29F(yUoC``11}mKq|ly@}!z_O&awxH@xe2!$M;844lMtgQJww z_8ndN4vf+I-gw+KNn;`L==$p7$ybl{rD}a8`1*U3f*AbR3E|^iOw!mJ#t?j!F5Gm3*C*5ii-{q2RE7X&IQsm73`=E6lF#Lv&JU4j=<%Lx?aO!RtIM zKw#oP5pW433^~z%E+@}RQoT<|{ko28w}rCo2Ff?gK$9y;1N<0lW0jkA6@+gRMlA`W zLu1c$A{VrQ)}lZ%@cv_VVhi5jECV=7&m9}gG=N&y@3OS$=oY_-WOMGQLFew~87qb! zxX+y0#Vp%LUMtAacIxthemaO9%S(OWiA6FCpl3h-p^jnWv+<^IooOP?+Lv3xE}L~< z;x!!jGfd}xhWo;VyRwmEo0cep``(*y=xzIn*_I7P{xIEwIV8+N2k~Md3JvHk)K@wd zkpH^F-KN@g4NUt4?b`I(!3L(ZPx^ZIP0GKa{XqHya?CvVHU;eqcovz>$M$hqbk7pK zj$~6Iu9U#rHW1ycD3~qFoKp+5S(1(+&z{iq0Z|;jz4Hr(-w7|dVpJyH$PcWvtXWO# zA|eoybm_rpd%z{A3?7nmZYRl8W-1X(Ay|JQQ7?=!S+v4CZMP{d@3XC)k0?8V%t@f# zQtOI->V?IZKzzcmGNc#_V*>->i#)g`fy}yjaV<<94iRugEE5(H4%*mavIq1Bxx>lm zpXXBgpUg~x4p!Pkw;gT2&Eh}X%x>R*3I!&=*~1*0cQ_>H2-ooc=YE_8zEs=Y<{QUp zcRCdIfOonQ#UY_fdm{IAbDg7NfRyy`=&>a-mBlW;*V!DhVXX;Y2cu`0BQXkdA zq-koXX@CO{q|;shyDl3d_sD@&?SG5H;Dc-(ndEEI$wL?xmyrd+=nwt6Lus&`JHe5z zS%&YJ-ErG%5Z3aG-`ts!gG|T}I!lt2sbr9$Y5T5x%0BYWsqD&x+tjohfy*~pu+d^zBqL8SX;GHSeLZbGsQ4xn6Iw^^Eu%{s1|-F)rV(bu8{8eX*P-R(bSjE%6MtFXlc`cHllQ%uA=PATdp?7kkN_ zfIQ+S|3p@3;4>|^MV&7T5eyFwcAMxeKxQ6C=ri%e9=8NwX+s?v*D@V}4<2)teV{y4 zXy0lcf3ElT{>9ip{a zcBCAexc8ZPUvliBGum#9kM_M!b=I9Qe7f)K-bcNIyXstm(K4V0LCYPDy-8SBTuw<` zFEI2mWEk9eh7QUAm-2J3#dbo6yjjv7O99foZendmHlq}y&6gg|S}33MF|V~DuoHjm zYw=TzR4i#09=_?q{ZOEs1v8GFuV=ezCOj5~)E1MBOAWp^4>g!8?jwEyH4}J4Bl*?Q z!oR&yeA0Nbh_|fDi+ngjcCO#N(vflv^zfj}1Dz*QEc)WG~Ud021PmJy~hxDHFV8Bd1C3E|OE~sjk5@32O`{K;R~fv;|=sCU1sm z*v1&~$1)b5$jm#Dz%+%}(tIt?l4q<2Z1I&0Xvmc?+CBBU#y6NQb3U#l53(HiY;*^t zWWg!Or{3V_w6X|eJUN@!QLZ%r6DMd+f3^iY3DGa{=m*@690g~~xX0q5NAS76ef8|( z#j_u^ldSiW-{$m#i{Z6pXX@4jBo}%Mm_Nd(f8vz1yaox(U@JVcIxZAN$#5?7!>hSxm zO0gTc!EsClERtW#&s%uEuWb+`RsM_vUc%4@%YI!l-6eA|H~%z@$cQesBf#bR^h`Bx z&{){LR8bQte3LOC0e?iU!JZUgQ~2Iwu^L+gI|hgiX~%UL^q}2PfB6Vl^BizCqP>$m z)h{r`2hxluzE_@Ypz&BrnOfs@9iytpJB;GCxL*!%i|m4y6TZkU&|&ww_|0XgUUiJ^ zhG4ptXS=S-jAy;(dT3fB?ttbxa=Lgn`~qf5?0Wz+0o-fkuq^k%Dt2x@zT>k4=`I_x z4o6q`hk*~3(st(ZwH$7*?I$zXP7FB1s$@-L2e>kTTl?2JbRcKmCFe-T5& zliQn%=TCpku{Z%62Q)>%0iIxfD(xr5{WDbz#SKHuIK>27*Voq^WGbMg4GzEX<@t!%-tq@3l1I|62*X$?_U zuDT9wgJ3`bxOCoh5X%rQG-k_CJVuz5*h)o_-BFP;6R3X$g~3$tXr=8UuN;HWZ1qj7tQ_ zvy=VP&p%!K*MI)!#mkra60(Rs(8&c)YFVu4Uv^}wepgIqnc!0Nb@K#LyUOg~z~le@ zpa1jX=}&*Wc&)E3_h|@3w(AIfw3F?PU#pORkMz;H>qn0a11=xXn|98SSBgyd;5h9I zEPN7!-!Q-CtHY9qU2W*_&48^5u8}q_{DwK-1Mp9_Nv@ps5FOs}E!7(h`|gXtMpS3Qg{}u<-fLI<)vH$*|NXx|m(IMe97FXzYSS;`i&?nRZd6@n+k?8lQeC*g znXmML(DPzQguJ8O{!_MP(TyJhV_63|S{Bwi?}bMn=?9X)up6nCO`TKE*y*RAf0oUD zfAReJbMu9s>ldC1_7VB)13G!}C*gP&u=clkghKhNfcyWs?@xe;0M{0XlSC8E$_|*r#6b^jzMh}Af3(2w-I8lWh{dIP? zBb~UiJ%nJ}z*G1hD|yhZHcnuira!#Wt4!1-bp$U?K|rVLr~4}eM_+Wr7yKbGQ;LjN z8kZSIuS5sG;Aa`%FCGAPUB{NxAU=%FDlsKw{OXB*b6j!|kON&*T4R?p=f*f0)bfOE88^ME(RVh;LG() zL6$ci`dQjPHfovNUIx4|>M>OQD0GF)2`VwwN5eyhKILb%N7^EM=+9&b+3u11dtl*B zUrk*f6QIjj(LRqo-@nywpNrSrc6TZ5=p{P%J#$3@ZOmha=o}mTkX3cu`ef|VucD|8 z_Cus&X!$1@J$A)!-|{=|k^>rDFSpS_7UX#J_=!QW1+V@wmK_^75lNfj*IHI>u(OJkCdIeZyV7M#i<+kV^ijDKIQc`-#O|r6#KnVyT^~oV{Gw9 zAcwv}-GFdCY|)I|BWM~k1tbTYzw{9)0+uk5Qii{sC?MNffxF2r#I9Mvg4b^m130GfT{I~z>|8__CPQMRp$MaJh$W-m9mT-=TnlSO? z+wa55K{=)!=Tn}Y5&^P1;&-B{XayhVR%O!|nRH(~xb~opTzCMw$W8QLot=(fn+o|v zwgLqliIwc=?ePA!-|hb4hws%`Mc>(6VjGdG_y4-J1dp9qJn|teOR(5>yMs$UbmxvP ztoL7;q=>wQK@O`s=|wFPZlp^O@GMhR>-7LBIKTvwSVHI$4@_t^eDPB0h}Uv&>leD= z&au8=@?LS?k8Ij-q|Q>F_*e$dHGg1dm~gu7iX}LZ%7j;oHBFxQ92kR8>(qBBF@b#X z{Kdup`rYp?p8ot)_S8H6dY|}8gCRe2Lx=nJ%?rNf)^$5|frOENnXZkmCGf0{-nUez^GNyC019`sMSBpZ@T>nsAPk%2uji ztn3h{^Msbc{rg}3%9EBiuU=?p`? z?LmI3r|?GqYb}<(`{6J2Znh>CRgKu`=}*7ExOw)I2Pym39)6!X8{RDZm}vGwxhE?V z@2ZE?)1-v_N|V5^zOg+n^*ee@_VG9HdHBZBdhCq<&^Nx)1eQB?=sIU2!2r)-eWQ=R z;j^6Y@T)75&F{xnUD{66=SFZpA-Wm-heZO7y@DT5D$V48g%$sLq6r>yAfDTe`h4P? zICqWRt=c7GztMv`zY3xWJK-bp55aOV6BBjfsp|{b z^jq8Zk=izkmgi6ZXc^wV$-;xWj2(3aPZXv_vJ%j_l5M~Jh58585A>1anSQQ~iR{y- z`aX%ufot2eSeC&FXz1G|>f5fg@W6KOUOksh`LG;|!q}qm`tJHrJ^bZg{-ymF={~6K z^6@(YW5%_=H4=>d{8P>q8lK;X4(9T_N3Hq&d;PkB9>CJSG@X{e(=!$6dZ`DZn&*H| zT|CgwYw|HZ^QgL=;Z@ISlf6i$&A^9>{rbCKUVQugF9oVTP7A0v>VLA(-L^^7L^kT~ zEBWeoKm5k_`JnoRHuxRZvbRoMjtu0{{=Wa^Z=6lN{P_Fdxo+0@6W%I9U9r&q_WO*1 z_$zIY{sdn;Ht;i}--rf%0gF`H-^*t|+jm(Y5=NOe^-&#v_4T(GKm5gC8lL|1C+P$J zi0i^V7yOj5{K?nfxE()J8>SuW5uWUldT!opnw`&`F%>zo>7)6@AO6!Hv|Z!u5yN%N z&-H!%?f2^2ekI;I1@uyOeXeo29_F0G_2jk8Y{n01kC$t4V3e2Lr1B>{#JY?bFk@UoV zV();g)WCb49O~CiueDC%j}8p5NJ5`Pe3ombK|XWP^eG(OX1&E+SW|?P0yN=Z+U6H@ zcsD-)@?gByCr)elDWnPRB+j1~_^gHUxgYZyRii>Nkor42DxGdSYbscaXnBNpE?9q# z$Q4&NH#w=#yel7E0<=P3Pn6Y(d2%U-WPrd)3|KXkk6Rhb&T}auOaO5lCO0>FZ|t21 zVl@^msIN3AWWb74USyjmJ0Xny!pA#=pCDQEBc&wkq zA+4T5vET*YID&z7k`n;<$<7H={OnqShUEUj2{~EHnkNm2G#M;_NTN`HZ>PV-0*xP zQaMy)s%h4c>;XHe(i80+Y=B6}gCY+g%6rHYQ(%jNWh_64t%7b@1Vo-$`GVp<6iy8$VQc25UVREsYin{LIj}C=H)H1n` zR3`E_Juxv2r4bJPmWM?@i!JrhbhXWYlmU4oYiLgFB&T;8c(RWc(x1?>PH;mWbhD5W z-{RNs)~)2l2R+^hm$<0vPj=Jf#z9G5^8p6@_^Wnrtl?GnxVBUsFy>&T|$Qhc7hm?!qd2Fz*riC{I51#!8oz`WGCbs;jZq@Ht zi-P^Ad~6Nhws60Jz!h3YcG!^OVJ&b+85(x;E?U$N_@=FPzP7rKt2&t{vTI4-z~V9|9%iuH zVwQupqxQ!`ILqO-5X_c|RLj-zKyX$4h(CQnkHvi|V}>~#qYXo!Q&IGd=%4(YE9 zAhI}UUJorF-FEAtz>*h0ZjpUU%alWdZt(%_S-^fku%K{UqQyeq7DLpOkUuMrUd*qx zvYyfdZc5lw^d{AWtjsSsoV-xx=^)39?;~KuYx}$gBPIa)N5!en!S0S-uTleGF1 zNBw6(O>v~?GQM=p#D+9Hb0sx4(5Bywx6|CwXJ9+UorjKXjHx8`5gO4G8G#RdB)mP$ z@J-Jgg{ZXnB7f`^T3h-w7uN;gt1#1P9XEi4GsC5Plx-pzai-+{Nb{I!#mcj-+g=k5 z?5x0zNh-Tqe3Z+Ra!4!~FRe;Hq)eb(*$T5xNf?TOzH_36`NJXDN#P&g5Es&=5&QQnwEND(^HQ6ecy_kk1vF zg5+^YXy`uKX5c{y7>rB083uf0Fn^P0!LHE(eN88F_r#feY(g*$HlS{?rSgm`20SPt zxW2866RM9$?!vxUme{jpF}CHZKHIRNi5>)BeTj^wEnD~$#AK7e8ouQ4!!*%Oa_s}6 zRk#?5I64{D?C}Lri-3?-AORiXv)%BO)+goIIe$PBNOzdxB1C;qubg}!zx%ep%s7q9 zowEKL^T&8(9CMD1myQCr7nR(R=M);E!++^D*UWx=*r0pbq44B;KAm71(wBcF%YG_V z0-XM0BkYRr--@*afQAHz#v}*r0lG`bTT&%A^uVopHt}09$6|QKUqcUDjrQoidBo{B zaP1G)M|wQaT(D(1MIZ3pRz$<`)=SK`WZ23>E@2lP`ZQ~ImR*rSf|$nICh)mE6z{4R z%T@HiZTY#ImkEMHm_3^^{A8@7h6?QMSJ#K?6@A*a)Y~XSsD!fD8Y<6&wTMIC7(=F? zb^;o=vtK~iUqq^Thv=zPW|GF#1@TO?NWq7NroDjqs$!hP)i7h&lLenyezw@j3uT@z z{q5iW?b!ml`m3J1zFEX|+(s64A1%@#ZReCFxo1IK#uW^-fG4=pW%%mn>@`dxIN&O5 z!Lf|hlN_hPquR(*5E1Br3sq>jqRA(Vz~dGrI1WbzlR)lFT;YI>c7@;qB0%W+w{8XT z(Z5@p#WM?Mc|VMR9D)#7M1Rmxj2^{nQH>2uP&W%Bo&s_fIY<$PRVv!OD}!w8H6v%+ z1RMf%yRkspd|WbItjJnc(#6xV7<)iMrf?;OeEdO*&^AuW88Dxc9YG#)!+lu}4Nx{^ zZUS{@63!84)qr!V_A9;u-bgOx2*561^usSo+6{fM8AsLPpXuzTx)a%8<{tFQ8EAdf z>4-P4W!p==^P_wpk92wL14h8-x?QM5q5O)EJo)&j?=L<3@xLx!>WM82JdOruQrU2~-+7nn`OiOE z7oa(+#jYxBX>J7SjD^TUUU5)B|9&Tw0f{(02T%6VnImyufAw#u&Ag&q)m z>pI;Lr}SaKroEUyjw>7aYxIRc+p^??1iXBfy{gCHE z^&}s5A6$2kciSYn;$Dj)Cg}LdGaYee(TEBhl|+;*p6g+RY`vC^NmA;0DRd@J;f?+6 zY}^Te)~vu-y5N7vL_Ki465qelQE86j`Q1h>SPculC7V;hj6IQ^WAv{$YArv8qu-rV z`{`hL1n3>$$^&DONySE_^+)^j(Qy{-s&97a=nu96`ua45Wtt)AH#k0yJg+4~-u+&` z16vxI2z65RRhGv-H|h`hzR4TWpl`r$=&SaHnMOfKF6xtZ!viVwN0-om|8ap{_L5U& zB_e6pLyLR_896-={9{cOQdY>9bR>15r+L(N^#i-sdI0 z7y}2`Ls9(Xg^u=fiiy6PJ_(x~GX}PNh|QSCt4~x5xX?Scevr?75+C%GJvpX~96q{z z!0*?3QAhM?KWjYiKK7Mf$vQ<2+8amV`3YA1#HYR_6LvZ!@UZ*kb3RatK2L3r?qk<< zuw(mI+qCn*dHToyn#NV^a*{ssE&3$-GklIC*7lR3k6p{Na6{E6ZI}m{*NR+KA?=ua zLc=q@;L+V*xUeqx1%M2Pdh^GAa;ZUeb9^2VZ;7V`1;{O&HB8cR3*>uoE*O@LACw0z0uILRHuvl{fER}|PXlI$nFeI}nN$mx zg}C3@K_J}D6LFX`u)<(oB#XR2im9TD;0YRO%9>U}0T#YWv@z_v`|O`wr;PVR|G^Ig;hEIzIwsq$L8H4;9AZ5OCc&}oy; zl5V5eFu~hbntEgM))P41<7WbgJ=!L-MDhzIpc&m#LYj#JgCLV*g6qVwTvAsQ=x@_7 zyk9C?=nuV`_dw$4D3b#IT81SpY?=0gA}sz8YSx!{?f&q@Q-3*feW7G;~gR*9sbw{IVkpHvE;EuxSBMjC>Zu{)m^-JO#(y9&(gUi+&c`O!)c0 z3%DFJXLsEn7!h6Uf$q};O+ffznM)WD8+f-<)WC=o31w@f!|tX{oPH9{3htK@XCa=& z+{hozfYYC%-q|CnKGiY`hdx}^2n?{R053!|CCj1rL~AlTf(9-=Kz{1dSW0P((4-Td z%_#NUGQ$UEw@9wq@9!SgeUZ!{TwqdwrlOVz#FBFC_yXAp=&1N+rK z^1B{mD>Y$F>{&2ug@)NGLk7f#9&Lg@e3Z~UoLF7j4pv&CVh;j$?7`o|hxALcC0)<6 zGXrd#tqX1R#WTK+KGSBiU@Pp?58Lv0*O2dN^q7G>$c@#uL)&eZOZ6wv&{|rW9;Ma)y4C;v-D_M`}A4r0#Dxej^CdyK`>aH`vH^c2EHxBF0aEJdMrK+wZD`$ z{9f;0varNYWDbSFhxVf`N<7ZKdY^}(*5@#teYV~jGZu_)N#G;+D}S-;VL8y3ZkNz^ z;*2h1_eEZZ5pHasUEX)#pz%-(Wd8Q)-0;WT;g>q1S7II#tSOJQ{wjMaKZf?78m3oY zN6EoN;h+BLpDzCH@BYpou{a880K#DW?y;)I?#>{L+q;rfm?jV>@M4uokgP5L^3P__ zNT31Sdrh!v3^#}OIv!@&t`${>-y;@&7RH(&FbNU%d(L%hqVj;nC$*_nb~~Q$hSH^K znhxS2bRTH2t3@v)Zult<=xE|+jYOVFQahc8B@y)RoT<@!ih=MYM=7j~<3ougIUq!c zy_g=5l^5j6&EI@H4&9?Cal3jt_2qHS^R{Vi{h+Q_6nRyUP{dA{m>Y`zK z&_XfOMDpE$cQie4fNEKsKN%*tUAEx2OLodJP4kbeQ^6`?zMVJ8+!<%y#TV^n8JbRP zVX-<(_qI?ETzwxv4n}AAw&)TZIVM@ee2PoPS(f0oeTA{8lcqS~?%1k%PuiFdeGE8v z4K3G5r)4pHDe_*E;A^qxU92m`c~Z;bq~C{Pvd$usHtmmJY2wbH%Ye5IEI|1v7)Q5{ z4J;_w)!Y{%@3Pc&r!1FY@v0v~Db7wZA5!8YM9A%(W$DBMlwD8W1E;PowQG+q?=)!h zE-3Fz0grcihp2b}%UKlL%uJS-aY3C24=MNi^6FpnAwTsg;_aZi#eR5v*R}bQugUjf z*G%&C!pBE!MIZ~+km4E}g|=Z-HM6XvAGN=h97O`0-VL7dQWzg<|7>2BUil~wCcLBT z{Kiq6u&>C9@DbV2lq?Kh7D;#2jUV8O2Cay_WMuIJ4(RFsbX;9F32RvpJkfzRq-MYD z{+nI}T-9GM@Pz}x+@Kx5P-fXpWh{bJME$hAyZ)#*D1<=cP%qT++%C*dOrkFc47ssU zQiUrjymSan{t-O|Zt8C0`IP~iHSbo>|?KByAr*8JH>^=*AyS{tIv3nf5 zJ%Glt&m!5~nVhsx{*V9o55J$xmmW_IbRgJ>i4&88IH2~_l=iNf%GxPegc7bbaRrY# z#pGBrGIK6qC=-PKX;G}a?0PT}Q-N}W$3m{&<&x6_2S#cO-ug)=Dvn7qlLiw_O#(&m zxTrzcUyl|X^jY?L?&ry<;6XtieNctCzXHj`ll+@{0&Tq^sQksCuDl~ccSda|i1ROU z!Zg;f-iia~905$b#PF4#7IuTD?Ty0wf|(Ux+e&s3m(UY8@)TwgT_%VsGeBL)8}%9K zIKT8`nh8zdLr36gvO?3IX?D)xd(&Lfi9XOGQ0Le)LH9`?$)e0mPrJOpj=rH+ z>MXJhh}OH=MHb|2x%xg}Y(`tM8J?V`w~GQ?+q>gbLd$15BGF||?~<9y!L`js8s={z zrn`^E2HCT+CRtTk9OdGRlb8Ca7Yj!gnE8pEN7~I|cTVpnE1yLGJ7qp5rF&20M**PA zBH3Th9t-xwvHTTBw^ji<@MBRyJRgq=5b1p2hy|qlMIF$M9^8$!$V8vrVLph)LYRgB zwcf*qPG|wmQR^q(v3sq2==3pj%9!^NW7`+t>=TU$juzzZqgB7O4SI=&p}%(1 zVP{!o-HdvXf&}~v|JmQRxVMb$leP=C@gJNMMtT!N6>ZgJ(`wx2(P{4BvB1m22#p7_ zV+Zij1)l7fqYpg&ZnT>K>9iZ#U+Czrj(d7P7-FTzWM4A~&$L?+AqbAP)o?8rdFD%* z0d@5l2m6x2gCC{J5&ug)G}iLaGKKV557JqBvH*o80sUb!E|OE?!pK$`qm3E{ZcPhQ zWs#0N3FyS%xKM3gZS&8sr}_$YZ`H+p zDdxCU4tlt`_uc?MShxZIg=8JQQ0C_Y{`sH(`Qq>Y{_oEcoeF2Xu_2YpcohcsXVW zW#@a!sALPi=5a!rhKoJWg&lKb@#39B>neirdhY7y4PrqGO~NT3xonT$$*#W{LEhVJ0TyxZezSz90Zlx@fk z9ejDunGi>zjGTfh`=#u5o+HFOXP2s5%>1^Xri|HA*>N*vZsBnB%nk|e~x@rx=glb@GjXpus~)Ji!AI?^B!J*0FcGkwSL~hi(oAR zcn9pGju2yiXtKaYAMWIFH1Wf=7Ry>RqicQ&O1**lDSl3fMKr;6D*{{f=rX}{{TX4n zjOFa|jf-lv6z>qLi%9#FVL#O3B@z#Wh)U+P@otA{@9<_Z)VrG_)`GuaB4-v?qs;a! zd<-@tfsOcxw^6*z5<$ckdCew+i~=e#=5C?6qlUtM^qQW=Od3S#^Brf2xwt* z{K7CEccQ@vzrY*$FKD*r*nx)>O4s5%yQh(R&D*+&4$`9!3Oh;K`r80ge4)P<(!FDx z9p1T4;X|NL^6vHVjvK)210#XJwLWjqi2ezCq3S-uoG z?#sIWyXkXZcKH-^z64v-<90|7+o?a@-MyLn>0KE{c{@JI-5I-RC+AoOuqu+V=wvb{ zAsn?(W|92l$&-tJ{KtRPdQgkNGXj%|RuG#pLCE0F#4fwJI46tVk9CYXlc`J|z-Kp@ z9cb@3EA3-?4A!Ox9qrQSkDq!QCt^$jyvqz924$(>deh9sPv1qnk1S8GjjnWr-ZXGh zhB9IpI`5SfQ^xU26~I7$6TEkj!6~W0^&b}~aL=`-TTWAUyAwz*(S-^VQe^VPr1DHi zh2E{CIE<4m;^PF1Ov?4y5tmOFD-s!}yo#8oaHzXAtJefc3X*Ga=+VRq$tpIyu4Nit;dDG7E~JQJSl>^7O&KFwpikGQ~% z0U6hMWBFD*ICDwk+iEK8^bE0#?UpZPT0-wn?b6u~d#EJ#8D*I3|5zRzi{-;Qyr0HI zo!weiGwdF-@TFgZ787)KlX+Ka>{mwlIGX)hbRN7OWf~!NRbJrcPaH#7W^J2 za@@Sr$6d6jeW;_%e5IS;x%}vNFXeN^F4_kd896rY_t@zaRlmG*#)sSB!|w4D>YOry z;a#(<^)4;So;8HhW$}%RwG4&h#gonHI z`-HYxSWI@F_&`WyeEHKL4WE=rO!}Fepe%gL4FLt+@(l*a0fT&jY1qulp)7_gc~_6QOVe- z>wD-l?dV|r*MJAolPtC$fJLX282$bLnOUa-YB^>ZLwBUnFrByNHObZhN8YL1S)H`! zBT)^u#dj_1G4w_{WBeH0h6!GLsvYW7S!Uj|ubfH)dDgPriG~$Cy>9MHjs>0ed7S2i z@a5SR;nCqf>9st0>E;Gfmd**hZCqOoq(Itsu4q~oW<9Bd0#KS_-*7v@8Llw z?u8tA#~E4tQ5sETDZBIpN-@LY2vM=`kp%%m!&X36>lW&W>#Rb8#J(_hPC%fot`9U( zV;32G5kpV8bIRQ?vcxooVAeERM);=lZvnyEAAkin&|oKy47Y}obxW35Mbt#n3uaB8 z`8XRHd^in0`3skcn<9`Uv}{Qox{8}{T8=dymgEn6GWkb>aM#X^CyL?44twvQP;P5X zf&~Vdopp?TM5AR2xGCDSsiQ+W1$Ts-S>mHH(puN1cqqSNj=i@I&GQ(%#sRkRoL6#V z#b{sv%&LI>fhWEjMw-BV)Z+K~(?5DK(>$Q@_^WTctIOi%t-id;qSFf@A&oQ|hraTo z7TtRpuS7A8ffjU-hojUi)RCWer`cWppuUS;VUB@cUw`F=uC}f%4|Mz|`j^*QOlyG+ zp?T4UNa_Pbo5eF>{d<#bEJ6Y-GsuAhqR^xUj?&fFq8-)=W!_*D6jIewPAs`yus}};PhXCEA~dV zhM~V#-27%JN?TVy3;+bX+9m;yoT=+#u#{aiLK+zO&@am-;>|-7STfEgz(8^SV?)&| z_0$g{+E+m8e_--p$TAg`ty|aaqD;u-!-M~hquYV7pi_2;5)eQZ)vM*+Pb4(pBZLYa zb1pJXa&$>U#x|r{-s$eVz@=VBI>{fe3td!To~Tj$;oR{N?{K{IYTFF-4&g0iDcvQ8 zP3y`zguGGKa@%?kqL$B)C3b{?Xovv+n)U`;XDxJD0HF{Wx6@dlDKXK+yb8z20o;T~ zqJrD-nQ}nF<|N{(KF_YH49sCcLaO`@()+@eK7}k4?5bo{%Z@e_nx=CZjwWiKjMRQ4END0sMl*Ks3W)Qy;NE{khb%b;3?gvz&h{C1sB-!YE zD>?WE5@Qx}@b&JJ6p%%j_?w7m37STI}2q7hyJP~AMWBelR0kf zA27e8G^i7!q;Rz$?;EK&&C$=1d^G?S^*h^3`rsmAd{4J|s5Cs9il~a)6q~&xh<$x7^ zavh8dHART8!qf;WKh_IwTZS>DaWCQhah$TU0_f~3Q?;WGJh2U4;cv9S3B z&7@z+Otl;ng1Lr_EaW0L^+g4t0mt&GU*bOLt~v=TT?J>p1MksRUB6=jpb)uLT|P#F;kP!n=%Dqz6v;X4OZyPg}29y0jdK!B)CfV zR9M@rK=0)?>pJVP<^xRU5g*enc4(Df-9^?RTo5sLtJmmlkQ zl>G(K*V>8os)k)s7IG|@@W46vU0}T%%x>+mf!%D5cO!!XB8x0PiSb4}AF)HNdU^8A zcivs*9cardy!^xrav(91Pcik0A^2h6f zW_W`K1$+g%|37)Af8)uduy+oxjPDXyNrZZ;>KlcZxl>L_DfJcw3NtEcbrFP zQz~wq4;hiAJF^qfW|X#OzSreB;?<&o|(G(6=&eFj60;F#9{ zVnCh0J(e1eb1{VCZ>|G>(Xp<&HXfd*Op0UMh^vYfE$@t@OESePx|z1hZAbO5IzA3p zWK4jdV#s7UTXwq`uJI3ypp>p)8;}q_)+`cG+ZT#Xr(rqtV_AZoI!e654TN1jiPKAx zwNlU_=6Vd-jv7-xgD6XoS-Nx~v*d&ZRtb%yW=Q)IMu`yE)BSQEj>=1xlA~7&^!R&d zup%O0kq)Wh6g;&U=uSa!mHcHX^jcu1nkvR;`XV z^0#CZz03@0b4)>~Gkq#CRkkGIsw7j9(%jRRQqbiSfcPu7np-Y4w(n5O46y@v@Mhj% ztwB6viekkCp34AW3k8;}@Mmsgv(Y!r3!o4RPx)m&K+;Sl2YATh%*eAqee~qTKmOxC zp8Wma|NRLs>iVaD`X@WafBn~geeySd^EW4d`?r6)argeA61eetk%^fJm@TnN0+YN{ zkSj@9!Jwi7;pJF!K7n`RvPFXjJu0^FNmJ|&psN>^+!66xuT{w6gjItoU@f@8P{7@8 z?I`e^GA}*xLa{BRklb{1F(1;Fjp+p)lIAxHjOO4qmXS630o-X=reK@I+7HDWqSL5x z?N|`;Y&DA-kPC1r73v4xZwnXX2H6=tw8TM+rSWqUAXyj6068F(?jtC9gmcj+u7j|o z?2ba1QuDTy(v7f%VbLm^uJJROE%=bmGBl2|YTtH+A+?w%l=GA_uv4(XoSe%5BkYrF z$u;5ah)pDS0L_a)Y36jhD*flz;Eb{mFS+LwCB6F_baxnSiL^Dnn?~^{o@tp7i!nCz zKqeP$r&~CijYjpU@!(R=EpyEIqrTzD_Y!g9>}29RXk*rs&Y%yUk$Um!wRV87mAjp9 zP$ZoGzkmCy9p%!GJYI8Wi2wjV07*naRJn_Cf^Sdw{_J}>HZSBPzZBgUFMrT(@@0-t z>v?0o!N@0PY!lc~S8%p>8};43N)%l^?&zkWclFe-GWj8G8_SH(Fcudovhs^DLkLHF zBeY`M6iC@0`*70Yo)>nJ);Q^1N7439wdAdv52ZhS2^Y*w%Hw-vgI~cAuN`jk3|q2^ zwr_d>q!5dsciORgZ)>-K5MAL|j+U{Jw%r;vn8|Lv9opvT#v9XR7t;@wlkfjY zqZR*MAINFE*u8MfvC*621vAi=ol>7gyXhqUg=ZPi({ca@dtDJqVS|5il@ARG3gnuM zEsrS>s6ZyN)J?ga25~~!y=ar?n-1*=`;UIdO>omNc3$01sp8dN-B8ym~T7_OYm2tq;=B-vTTKfQ8 zf!MxoBU3#chB>vB)X^r^vGz7RWR4f5GoN@CkA0kP&$wcPp z*rqJUOR`DhXfb98&{JnrUfK9CnT*%4JdQM~HKvSAmU*Q^(HLQmjfVy|An8LIe)N~G z1t~4>utw#vf1@t2(X{jqE;p>{#W$92->~`r!U7&4qLfUk;<5A)&&~+R+A>rjo zJ2q_(WseY(PNLO#=foN70Esj*fbkQBi@*E3zdL#R_U*~**RN0h;UE5?v-zTh*ye(% z7atv=f>%Z;(yZ&s@Mpsj% z`w4h<{Y21}#G-Wp?6Dicn@Wq>kswE;-jgw80K^(!>z^w0o4ToX27 zssuYunh_^?c7Ekg`goT{!rbsuCoM3?g<+%I?P9Jai|MFO$svRmc$e4jOmi;lB*z#V zWg7Fh#aH3W1e1E((0AsSywnMNl8&8-uktR6mLc^(pS;u?{jc@*YjA8+6t|H`vGvO&f#eHU5|#f4rH1}w*1-3CPqr-d7Tww2PMo4(dqh2i42;LFZj z>7#suw{E!6|7|+qGRYwq!45~F{>2IRiwR8ufU3&@NYS-RiO{&Xi+}Jr|4)Z|zn%k0XQ`~bMWw1?@o!SWxi(w~u z)IU6m5<2(C3cy#|v{*F>jdcQ|F&&p&*pe_h$)uP1!Iin%!NLS@l$$cAt$#qb{#p%a zC^FDngRi=be&O51jy~WY72GP_IzhwEjp`9pB0KY|ajSkgp{FqliXKoXpQHC4T?~s{$c_??)t;6$CkyJ8x-9+@ zJ`7#}IJDliU>X!PVyt=yKH_ZGAoj6(${(o|f39PIAMcN1?BviL>k?#v2kYpO#tcu1 zDvRFueL_MR2}ZkZEAtWU(c_1o6Z}TjC`pCk2-BcbQMOakqR%1bHE#b^ZgILyq}s!etrd3HFncVlVEC!V4%Se0=RG3X(8LarGITGs4Ra0QLU#9PV| zi~KYv+*DE$*}sNT41Dw}I&}p|@k$DHf}zYT8pWh1;K0%?i*KCd)bJ9nul*DF`o?9dXz;>K2uAXbXl4nvGfNu2=$$h=)uA$m|71z}~$!vdTdghhqU|9fP z;tcYp_Qt89J<&xnxSrB?_AyDFB6poz4QUbb$t;*Ljj#f33T3qH6TU zwz7}&Xb=h(zjSaL(*i*C<>y)(%t$=_igu_`5PAySOsKgDQnfRTjHTB|qw;-&LGZ4# z5nzZH?2y%?-3FtaW4uGIMVR06SEZd^%Rom-=hP_2GG28k}_ES34)o=&fBvcEx^crc97mEbeg0<-KvShnVFX7kH zU6uj4^48$j@;WLj#QILfCQ3-wR84Q1aix~>Ok$%XVK4H0(e)i(! z$xnayEA=6L4_+HPyhmb}qij6LTMydB`n<3%!IT^HXz>slU5-X_nVvZ9jy)7_q`IWB zOpmbJ;uFq8YIdSpbm}^l92Q&RjrDXGg+LXZx-N069WL|7bm7wHD?asr5psK+WiD%G zoZRqK9{}8w#e|2R&cgfxD95v4DaX;%vSJoupIMd@Rg1kG{K}j`%yGjn{9PiUYLm;I zUjSEachmaJXwGSo8tDOAYTFldVW1d=o;oZ{_tfk%w0dbwD_{#==3wVRrwx4tf;$hR zQ|&iWV{}1NdED)x(X|}6zgsy7eEx}vHj^!+n>96odV!)(HsQ{IcY4n;YSHneF4!Fb zdhCYx4kEI4NL1;5Zb1A0IPs}42~T6VFNcE#77HUGaSRbY+%MW_81a3l`c1K02ZiF&0Nz&;m7uzz2`qiT?z%J%){R*uLQv zZe7z(v7YU#>|51qQeeV+Gn7Q`2WSg9plz%b_#r=SLeMPYwJ@)vg0$}{gMzC?bVE}S z^9b$YPp1EAp(<)>!#HDQXO%{rR{wE@Yek6JJGki(YrZt7Ak_xY}@n42#U0JHrYM^jNx&NGbRJaqbnJ6 z)Z=|8thGYg8jThi6s1#){b5Oa6oEL-XW497c5K=zSsunw`X{m=R7AACio4BVYmMi; zrMn#9z(FO!ClQ>4PMl=)<1f#CH(2RUf21DQ^qu-aQO=e84S35x$xs+&(+&6rU}x3! zvWW|bA2$;1!Y_I*gJ%U`TD)LrcYG(AVCwoof2tjNxoHqA`eHMM%CLLnDTg_QjR95z zjUW9PM$x)CQMd(t=oP%ub3ab%b{G6w*(lpsKIZS|J%>0>?m6!66!yi$($xkBnstUU zA2F2f+w>scbCuc%iliGjQMW=Z9Lj1&qLZr*@JGys8_==8*_}$#KI?uJluXD7oMmltDc-VkZDr5|t`9|zr^W`Q z@8&3D2OM0SVjNF524&`mgBFeWID)~rIWCOTfxImZ0gU1t@(C?d*D{)y8gkrluG^AC zV67232M7gZfM6|L$lDUA48XF$GpZ(aCVZR|`NcF|(-CdOC9y?g(TY>dv$S*=KfDeR z(r|~crBSNIxmM?jc1=e>4+_BZ*8(!&pv&%jiT=YPZ3l~i70G3QJg|8Y%$gDqPIBzRvI-fD z2sQCCf8_=vy2aiGp8rVTk|hPyZE2qNYMGR08j^*8MD{aqOd2QWyIv)c=oZh|WRf!c zCV5S8%TLkZN*iQBiGxG?Ypje}JW{{Pav_|eKQaGFejnKu4d|8gQhZG8fS+o!2Y{}E zz^`bm@)*TyhijJU+i? zIclvuCabfvKlnz4VP!X*<-y=gt@z;3Uda(Ae3kRc1JU)lsyn^y9~;1* zgLuW%c#$YTX9Ja)%FL4*r3aXMy=R3LQ2M_CaWDiQtp=xO9+MUK5HIs52VMJrl|Q-caj^OfrV$$ku*&# z(c?d5ja}#zJ?0e!Xo$8&g`oa-{TnVOZK`(JsPoLfA;Wx-w$D5VWBsu}Z1fsbzf>Lf zj3H7s9I`f|;E#W1#QdW`{vk99)=2HA-sI2Ea50#%d33ab)D#8jI6f14X5z-)z2<`X#5^wO{U5#eU|CRmb2)u(WR{9 zpnQxM{4RW8mNW|QDX(iXRo9TniWUy+M2$6Jg7II9ma|N6)Sm$!>Jk9z^f4-ZeTw0); zr$$BCap2rLjn2yJmpuM(oN<%`!!>ZOTv;e@RMjiSSu;RUfN7k;0sbq-?6shn@c4IV zm>Mq*S@j;9vYmPre1du`Sa4g&P^PT~jvPM>K|78%G^R`AJofI&e3mvmiR zxb;VJYJrSP2?ZQB+tR5rKSA1&GI_-=Z>*T9;O>ea`iA_F#d}oKxc;Yp)6TG3`Y*%uUCT^|T zPnAKZLg6J{QYBSobzS0^K71Q*mpA!}Qm(OW;pb|p6)niQjp4~3PBKTXIR?s$w6XxB zEyd;>ajs*|EarJ84slL-`1Yn+*qn1uHMy5|S*Cg3nY^#M^3CSY`tC8i%vXAe7tc%6 zmvXdF@@hAmU`Gr`82#9-)#oJqPtF9+3A@f8-esp7+U#PJN88~jx!&DjElzF&lXeZ2&vDQ?etu#>fXgKfaoO!B5rM7s$0x z?u2$kMmc6+(%%)UOrqRaFiT{SoyrE53mGg2HVYNh8)*aYKNXkgl;`FE3{;>UF$V#_ zk3bu%n*abYzV#QCH8|*i?yLC3w6e401UGWD{t0XeX%3^DC0Q#NE}@Z(;G3f|xF$?6 zMJG3qfvGauDPvU~O)r}mhT3hYmRn@GVTUcuML!ge^0P}XtAOcz{pP9_Wp?R>1TuDz zEyn;IXmZLx}>#+w=b_~bU9F3f0e()AM@ArS;BvNTEZZc=H62} zGYRaN%o+KTt*%|C8Pq%h>=JGpKJDqlJDrNr*hl@+=IhvX;moNgwWPlWGvXKgn74-W z)OqknmZcme-&6C4{*w2|^AI^k{DL3zMta{X4*!SRwR9+1zeSfNu4%ik`6vC3@l2sz zd}Z8Z4D>iiP8Cu>+}Gq=Pv6Xi2zo>9ae~Ns6bRc$Gg79UV4e%UOZ!`F!PfZhnDHmN zu|4bmM$^=v?&rHX${0#jBgNQN)?|(ubmh%%m>9(=BX~gtwDRl#DZ9!5;aOvrhSUtO zri~*lT$d|?W6SrpoU6D-Q_&OG#>0#b_(?}fl>v?pxgrxXa}^)a^`SBrDT-62ZWRcH zWP*W;R;bR$0)QY+K%#F;nMZ!$7oJ1r?x?`CE6)NU`0z0QaGUt5Jo%Qmm4X9CY^unE z19A|CChm0XnlfkfpX8mXuGBy*1=h?`Cuy1tHA}$RPYf+e-)K$F#MjWS5+fe?0|ngQ zvV~>QVB_bs)UNCrQ-`!SL1p;{aiof5q^5Z6I?qeWP_)(6AWc-30Yc44?Z`WGXK{}0 zBs5$uZsw2@yOARKp+SUwcmWK9mnCLCCJQjR0e!jBzm%CG^B`d5xv6X%=AO&>274WlgGcm((S zG{>~<7~^D1H-hn`ElzSd+th!CCFxRnHrmKyc`F|plChk)(xt9uvVe(Q)2L>4$7~4SLJB%Xkqq<@%c!B2|UAhvM@>RXNo@=6$!AdS}g!t5w>xdCi zbeagcO!B}JUbOEiOy!lgl%W$WfW`p%r#he0NgXMVv0rdKkVPSZBK|eq$%1!m1Po>1 z))fc^;hT5Gd;MVF=*G=JzIVOUWz-)zN|x|3b?1#~vstv8?4U=Fq7m%le!(qXYjiLb ze}{xM{6p{xrsSw}UCCe4&duV?JE|T9{}^QnOXgahfmeQjEm=mqF&{Kwe8W$5Zg{1u z{#VHMtdVBV+z~kzeo1OgmnF<&rI$8Z(nXeU)n`ew(#O)>Cu`CDzxg`qu+)Euc^GII)(`I^Kh9u#vdl%ezEF3^DH?}6JP-kICNPoz?5$oB^zj01+2=e ztH(VODznsz7hPwEZ14;K?9+ws<|v~AirT@EcllM@#Wgh0pSWZ*=l}u#XgHEod4Xm!(Wg5gD4uxIh>P?uoJhQqw~~v1M{aMruuno}@*a ziS$gzn6;4QZmU*f6lOuCo#a#AVk?AuJtHk3(`eOioy|cl+BWD5A~3KCR)N`}A$Fw| z#-hPS?h0`&$>0w-$=dnA@3Dg|I3rpU2$^ddmV>=41s40~odD7meCkD1Mw(G~lP~jUY zKb%~{D@`!I92{Tm95T${*lMilgeU4ag5G@=EYDiwY=3IcBZGspfRp@8pPSqc$YK06dq@{LfN`>t^AJLGAdopV!mg}w?4O>t)vb(d}+EW3{bnOnZwJ}I!9?~l?QyazH znbViLmh-*LAN4Q$muz)i9(N~y2^;!pdxdw%)flah#jqPtC9BFZos-FKt`!PkH@4cs{m1YdS1# z{7|0sunqdv?R0gS#}mZ`OHmc~$x<2Q)p%3Wi_?{<@^1<5b|rwWC4)s%y4V!&HC`Rv z5!UT(zE`^F6drU;6-J|S1@Hvd@9QW_0UTW#67xL9V4YugM$oT}3>;21PH+q}X-_&w zg=0+cZCYRX5diq6!ODB^hqO&h%S;Wi@-@xRED8W(Oa81@I!QxS{af&Ht0R?mx zG#-$=$Wf-QMu(Pwsxue{<&21KK!sK!`+lo|A=enlmmMVIonA8Ln-!%;@i2JfH=st& zA>#?6v;!%~NNZxYI!izYIeIDn)(ZsprC0}RfaxkC2aGYIOc5Cn01;%Mb zhDES8%6G5aDPIt+2afqb2fOD6T^nC$Wu_@8{a@BGG`#C9Fv|G5(#yesMYjoFBLXi1 z`}k4%N{8oH16M^$2=k)lwYmXnh?2Ce#D{A+#N>}*gcCgycAC zp2Xlg>6Wr@{vGu!dyILF0XI&V#HJn5*j@r*bVCJ3_F>1GwnbSFij!=x;JF_`7yHvD z8h`Noyf01y_`q^0J}!rz{=h9nV2614n<>~T%KV5OM~4=)B;I~qK6t5$J zzbC)P)UVg=V80_(e^PMlI?DK@%=Qp3S(f(yo^`)R#Q$GBSiqy)I2;afq8_Riee| zGyYv2Wd!#wu?)f^sQ8yRT4UyzG>$Ec!hAFATt^7)B(G?T;dnDPcweETKRe5=2qyM8 z(x$;KpKGxduF%_-1t0Godm)j@GR;8+ReLO0q>MgXrO8y=}XT zE4g42`A7VDd^riuONUf5ZsZ&C7twJNo$M-|njj@xrR&mv!kCsez0@%>c>A$Z=05bT+jNlBTLxOd(PsZ z)JUW2EyY-*`>)x2PAr;(3l3w9k8l&$pm_D{xptOc`I%VWppD%8p%>33fBF0&j+mV> z?P_a4jvO3i)cDm*$gVC<-ZH?$yzM9=%VsE>7Od%Rg3WTE#15caMst3~E;j=PRxtbC zdcEfGVb|r(W6_Q_%t^?CA^1~*f|dkdMvD!)vl%)oh&9{1;X{ z2hYtLa87yGg=jL@)D9^ygp^mx8C!{47C`i`_*eaMEt^r`>uNjSqRcU{TS&~Ze-FFP z1bF1cA#G`m=+%wuGHcSpH|#$m>RWf79llvkpjORkb_S8#Ed*1u#xPL(n=kAb=^Qm5myS{c+HQ=R6!PLCnq{q?L|!VaDgXR;c!IE3rggi zD%yjU8cXshLlL+t^ptc>qauxi%6x*eLub0oE*HR;1@mho1mj|71!H0fiY3*){J=WxS4BjJM z%Yk7f!-I4ZZtFD$%Je;S zWATKdF;JN)W&5;*2BAKL9V0T~kefoi2UxMhC+d{%2oMM{fK zj>=B&wY#J;qmvK+uotXS4K5{31_2`@6E+>gokMXyhu7}D0B;5jr7nhdN#hA`3Skr^)8QJ} zkXN!+78)bF0wR@-6i?kWc@LB|RB_y=1s!w=T;`T^_V5$gk`YMW-cBs3Mrgnoqi!2L zLwHgk3qa{;k7C_6BUjL;`hteia)N+i$I%P?7^ZXD6@eB+*v%_vibZVg&Vp;0fk^a# zqk`+9>B95;qD6g`lRz3B=?`}7s*eQQ@`sG*K?_*@<%K&s)WI%sEvg&Nt_ynD9`HpL z@q-56RZhs;hs!ard?lmo=*7LPNqqnl=WM-RcF9p?ya}7{Ge5i1F5j)bh1}$-a$k{C zk&>4@biTRMcjM*Iv%`!%?9AGJl1B*h_N4mPfDDat%p8|33B>hlKF(;V-w;(cUXi zSJd+uVjmNYt-u#R*$o>0o+~@`Iz4o!=i0ft?$J-EhDA^U__lw>9H&JwrNxJOh_g!D zp*=Hi)Q&Cb={Z_UBPP0vHgF|d`izR8KeqoSip6O^lX!9F!4)A&9V`d*l~?woU;qiA zeracEKRSaTo0dG}r4PqGmA|A3A;yuaAIkHxLGT(IsS7P9^@B{7S;Za3HAQ`6lZLmv zfCrrZM~(>q9McsHH^^#NnYJeItzk_ck0)hQ5x(VSz(OeSmVtWaufk~i%G-8blcQj1 z6NK;#eQ2-Y9K*BdkJrNII>v#)t~J(R*ISMkR&Q9b2RN2lw5Wf^Gulaw_5Eg!aNP%O zyUBjwmkh)!AVb{*g}z^IIQE$W)OFQHl7Tkcb%a0v#2Pu=FIl&cu_J(AZJ##7dosp8 zv;(ylt?Abb4~$rk(n(hyEy{cjfpr}=`DRUkT^WC9^ITnj2g>nSV52_R_fDrfX=~Kc zzB(xxHubBL>AGwiOIH)ckWau0N^)7|jzEnG zNWp45vV?K*qyJ1Rg-0j7pWuzoUf(duOZm(PF#`tE@TWzH76_WNW18*sIN{6-z?c-- zT?U7c&-G{kySP3%)0@3?P}_r9N{3$<-SRWX2`1bcqUWl|{`r?tnRXaZ{-qZ%q_3SKHKQpVH!@FC(tyypcej|yK%AYcd z6K_5~*B|Zn`o-syOMS=pTy5{`DW98C+X1CjCUh(Af>y=^@WYRP@XMoM%1-OM-+s}X zqjk!n$x`s!t~>*Ld428AG{J}O7PD)6uAR+mJ!5;V&m?_#_s035Ar17uleeNeYJC0t zA5LDp`qB1fQiXvRadM*kVyutvT?eHHIG6hF zG4emx3$l1o76E?9kAn^WF;xAOE!XTi!V?Fk@X~lw#|4M_HHIdS1*C2yN;YhFetspL z(&w-l&nNp6RG;39xSTvs+S+}V++XxEGZvs@$al@ve>A?phtK+X3TAAh6~l~}k8Vd^ zDv0bjcJyGLHP-i`je;Yo9-wkjH14EVXnEmFd819*G(5)9V>Cwy*Z3;K(dUiTH?ljh zhNu3-hh7G+vh{`P>*cH0u4n3)_Ij(&qge+UaUv9nf7w2x5RV8E_%8M3wVqkOe(41d zpB3}BwmE4aM5tJHMM$Oo($2^yJss)B4$vj9bhf~v!J;ZR=BiKjwjkJ81z4mKuIkQk z;$c3@W5Hc^G>m?r(do1_WyQmB*Kc5xZcIoFA++^8yv7g40_gts>!018lsI|u!%zBq zb@J}buRiY2LKU6rra+P6Miq|=T>D)B*Y0y4-oD9LqB^xcx+fep?=D? zx)Mg6oB@dF(4KH+)&ljxLLYs2gaP}0QXBc`n`W*4noQusf3$IAlua}iU0gnMxo@VZ z&n<7tSg$5)WTBtYhUt@hOMQM5XHDLHdC^sUzt20$5s$C>raFC|tCd_KG}CLPyt1ke zMtI(GUwzVW)SV(PUeP9gG|Mk~oBz8ve~}!YF=PXajf*x{=u#()v(NRi!e{!6dv4EqN^- z&nf`*p8yDdz)>_K9xpt`w>i~(PFv=&SLhuV5G9Yi5b^)WN4)X19EwLi=u;@nriW=% zxf24ZVn9JDV8`A0gB}?h>+Z-sZFkG>~;Zo5snN%c!7I>PZ<*=Tg=_o~VV0DuiJ_4sw>861m4{4HZsTnJr)_i{r20*pa1;llV5-R)%?yc^7)@< zFMrbHtglLIp}|6(Zy{$<2vc~~6{2IDWE{gQIZ_u_&rd#nmV+S_91hxbmgbu}L1_#u zRG5TbYT*M*7V7MRF1U>-8}V|8S!^&Ff6^zKXzNVcESgz}@RF)&XE$=$&Zr4r$qYP; zS|(}RPREb=)DtwT?JnzR5=MHeG(k6urB744zyTGW7j?Q4s;xM&_<^2x7gRA{aldZ36S#Vw4BmAUAMAfE zyt9jE8ozY2&EM-~%;4_6+Lby3j_=nmHz)7jy*v5$fB(;upMLu3>C72emE?p}xWR@CPrLxsm4iLHw2hI`qF6FMm`&einFcbcvq#8=G#a zr_}dSF4`k>kPbd;pZ;OQsW{$hNoxyxEe7wVat zRYEwq_;e{b-n2TS$wXJKMQ_ZboibMAR2oTqFD^8msqW8j<*lqj0OTsp$bw&6^V=k<&@s2 z|C8l41|_UN?Z=QfGBlcCxjDd~g~)?|36y(-vC_RjatRMHs!t>6K+2HdL(Td8ECCGl zxIe#}ql~gllb8CjVbQnMB#tJ#5dQR&8Yg!;$~f!lGl-bq+;jNf$^mEB8yI$Hbpq1zkY>^$AUBNGstrO9i#m1h9t02XY;xe1_*lsR9~Ayh{mvV@*NEoCMQDa*G84{ip4z=qbq z*WK3ynruLzC;xK9=}tEsmOHS}Ob9LPGjgyxE&`4+Y+pDH^~ej0fDa$!pz4l%>{tYv zK9XU|pYpg7;(EXV@vewYJ0QzK9_+_r>|g%nUrzq{pa1#fPk;K8+ZqG^Gfk?mUjJ9` zx^kD4UD%IWY?K{Rea!-r!`!Q`YysWX*G|uKO(0CppVhwJy?rP849$JV(r8 zQ}RdKmsPf1>8m)&)JIKVI2J4()R64N)c0*kql*~~`joybQmWngngX+?O{|5$-}z?4 z+c#=!EX?g3(~r4B&aUzG$*Z6Ki)FgM`-{rse6zS=p~P;Y9b-9Y?4JD~Sa7(hK|TwJ zOF8n0bALZM&r5km+q2+c$DbR4H=l2{+wsfBB5sLaX>^7E)w7?yaEo(*C+9atQOy0L@PfKA+ARsXpbMHfKC?EsnCaYPOl$?SG~k=<{#;HTZt_CM-P z-v9P*|JEHDA^N{*h^!qO?Mhv%-@47IA$`=siGEytry&TMaT)gFUqKn{4j{{gZV)l< z#)(V2qb(E4E=~)7Ny9)Z^yve!fo4L{qF;%c^Qe~4sS29PNEj=Kd@7ADlY+-B-QL@0Xwdbn>77@$c?8OWZ@!$QygE zLwhYJhk_dmIODdIe!!y*={I)6eofwWO3C$3yXt`XjxmJxRyIo;=9I^?lh+#i*g0g( zTn#WY@3|b7Ye3khTlCg?PmbXG-&$X3a|X`GrN&Xl*&lw=iy(D<`{rlgd}7{M3($)$ ztOGXJNZaIqR%D@9ZH6^G;0dc`VxBRAdKvx((rb9VSfqoOy0wi}N6PFVM0U~GRW>7X zK!UD9JF9kL-D_anBgaVIH}mCaUu(>#oxRsd7d8a8g*6>KjDS&tt5-5h1l{ZfZY#}GD4>!MxPphAWoE6TKZro* zT6ao0_RR#1V>X7^iySzZn&QyUq+_a@$nWJ?;xv1wTgHjSbhQB+a}&~pw4lYS!A%7$AP<0`txVq zan?;47NP96a@V>(aa7{N5xrM~>WdpYpTB(7q|R|by|_vaHxv0_`c>4PDL@8)7A)`8 z&)|m>CJC%w5Zeg)#%g(yo)OwOC8~sO{j0`8K-BPQ$oF1mu3fKWGDDc zkHUcKn+j^TTm_gm({zV_uUAWh<}CIvPcGkm@C^WDqP_6uZpOyQa_^mF`U?FdG=v*; z)8KSaJ^NipCD~z^-~qD)&92D8xRE>)K{x5c=e6FR<)(?-L*wc3iTa}LIb=*AicB7# zk;xl=K=I`J=iIN$o{M+z^kw�K#H-jl*SKRc-RQ*GQ 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

hdQ>x zWn@G^DF$+O*P$m5>A%Ddj>?Z7FzkH4Mzmg9rH-X1pD74v*!kHBW(8M3A$-Iqv=dP$ z50+=u1=CV)c^W$GCILkJ-b%@esi3ij4rS_X?60E&^d9K#*7 z<*Ozk5pIwdPf{Ys%oF-1?uK`&UvqrPNsBAlUQFerpz%M5@xphw87RH1!+}e^vxsN$EK@I)0j?9aRUIrV`z)EZ_H-iOxOS(kd zt{*GhKZ8%+|Jixm>dBIx%XO>&9eCtBn!W?P2C8aGWwck4{0c*jC-lLY70U^ees&T+ zv5;xs_L3XzeeJ*tqco7Rb4Q<;qnRuEGkn&y^eU-#_GR|JzccoDgjd7M9ow|Afz<_M z`_$JMYA)bz$BY4X;-l(^?EqopY%>q+=NSVW-#lsLZe^WBinS0}7Y*#EG+JX2+Q$dc ziKI^f1D~?KWn5BD7nIe9ef(e-EYug;x_Wag?W5SU&Q2k99ELs-`i}MDl@I3z9y?FL zjm(at?j&1|j)~T%Vzm04ndc>6`kavh?!FV^7(eRymaf5*`4_tIX{SBI>Cbo%;>>-8 zAKb6cs*lHLpOQAyUErZ-|LT0rS)y~&oXT`=$$WyE6@D{=BrS_*FlDtIwg3P?07*na zR2DhqeL?hvo{R-m;ict9ntE}}LySt zkUP7LM~VUi7(hEf5|dwkEF-)AnQqiLN0<)2UhR^cBE`5iXLxwX=aJ;Z zRWNzDxOhs^6D~`$lL`-n>-)zgtbMAJ@*9lQPY?a%j<*!ocXewqp^TkR3_@O-W!Xjw z@TjTM8RcY9KJb`i*r!sJEItd0=)KO}V|UYDuv6>je*AOi)sA1o%z?-EPTyekU0<>K zkAYuQL^r7BF=$0#k|wgtU}2Ww0%j#2&Xs*>J#+V(+a)!W9iWpJ8GP^e9TS9KfBqRb zcOj^SEgNW3r{MRB6@TAd_S?FyG;1g;i`weJ^eyiUzy9qXltF3`9F*q7A-%X_aBz42 zqgS9^czD4?>nVn;$JjJFt;cn-*l!oVaigpL<+yU|Z;*75b0V_n+Onl?yMpfo?$w|E zHO9ESyW1>X-_y;6!SWg6v}{wcEJBs^OK`^{J5G|Er0JZfIf2RKj>Jw&9Qv0|;PQL> zC+Qm*12y=Zb1Y>+9@Jwmar^`F%9#XdHD^X*mq5s6PkOo}Z_NcF0 z@l=88w^`j*=dn^QOqI9BC;Oq*1+&=Ks2yKXtC}g8^7ww4k8vu7ymn*mTCi`IK3n*% zmqE9~;%x~6bHdLK&J*DGf!r64E$+MOal_AWX)~QLo^$#p>Fi+1dUm$Y$lxqvb)E$A zozmIaC10~>>br_A*!tvZ;K)*|xlT&_Xhkm**sLGh3 zf&7}UNcfKG)W^+ypW_dG_?UHJKVK)PZn9YIZmnNzsMnA@>dQSHj02uZk`Md$ef8oT zJ`TYuV{UAQhJ1MP>B*(mvwb3{5nX`ug!W-$T-u^aKf9Ta^ZIpx^a!OVJf-Hz4&ODP1bt} zN-2ghPsPhChR)6DpVQaVN9#P1>MN7-`S}Y_LACeC`R=1>u4i4TMOAsx&Tt$UuO)^h zOAH6owhLz-t+mAepPxko|1^ejHL``TJ3UrF%la|10*y|ZG@-ev*g^BpkIAQj4wU2z zWPxTPk?;I6+wi-|*kd(_)w!Tr7) zbukSIglRyJL|a-K1BO;8|%F z0_3sWl-�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�Eo0qzXZh1-5BoBh8->^QmHBn6 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 literal 0 HcmV?d00001 diff --git a/docs/mint.json b/docs/mint.json deleted file mode 100644 index 41219b07..00000000 --- a/docs/mint.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "$schema": "https://mintlify.com/schema.json", - "name": "Honcho", - "logo": { - "dark": "/logo/honcho-light.svg", - "light": "/logo/honcho-dark.svg" - }, - "favicon": "/favicon.svg", - "colors": { - "primary": "#FF5A7E", - "light": "#FF5A7E", - "dark": "#FF5A7E", - "anchors": { - "from": "#FF5A7E", - "to": "#FF5A7E" - } - }, - "topbarCtaButton": { - "type": "github", - "url": "https://github.com/plastic-labs/honcho" - }, - "tabs": [ - { - "name": "Guides", - "url": "guides" - }, - { - "name": "API Reference", - "url": "api-reference" - } - ], - "anchors": [ - { - "name": "Community", - "icon": "discord", - "url": "https://discord.gg/plasticlabs" - }, - { - "name": "Blog", - "icon": "newspaper", - "url": "https://blog.plasticlabs.ai" - } - ], - "navigation": [ - { - "group": "Get Started", - "pages": [ - "getting-started/introduction", - "getting-started/quickstart", - "getting-started/architecture" - ] - }, - { - "group": "Contributing", - "pages": [ - "contributing/guidelines", - "contributing/self-hosting", - "contributing/deploying", - "contributing/license" - ] - }, - { - "group": "Getting Started", - "pages": ["guides/overview", "guides/streaming-response"] - }, - { - "group": "Application Interfaces", - "pages": ["guides/discord", "guides/honcho-mcp"] - }, - { - "group": "Personal Memory", - "pages": ["guides/dialectic-endpoint"] - }, - { - "group": "API Documentation", - "pages": ["api-reference/introduction"] - }, - { - "group": "apps", - "pages": [ - "api-reference/endpoint/apps/get-app", - "api-reference/endpoint/apps/get-all-apps", - "api-reference/endpoint/apps/update-app", - "api-reference/endpoint/apps/get-app-by-name", - "api-reference/endpoint/apps/create-app", - "api-reference/endpoint/apps/get-or-create-app" - ] - }, - { - "group": "users", - "pages": [ - "api-reference/endpoint/users/get-users", - "api-reference/endpoint/users/create-user", - "api-reference/endpoint/users/get-user-by-name", - "api-reference/endpoint/users/get-user", - "api-reference/endpoint/users/get-or-create-user", - "api-reference/endpoint/users/update-user" - ] - }, - { - "group": "sessions", - "pages": [ - "api-reference/endpoint/sessions/get-sessions", - "api-reference/endpoint/sessions/create-session", - "api-reference/endpoint/sessions/get-session", - "api-reference/endpoint/sessions/update-session", - "api-reference/endpoint/sessions/delete-session", - "api-reference/endpoint/sessions/chat", - "api-reference/endpoint/sessions/clone-session" - ] - }, - { - "group": "messages", - "pages": [ - "api-reference/endpoint/messages/get-messages", - "api-reference/endpoint/messages/create-message-for-session", - "api-reference/endpoint/messages/create-batch-messages-for-session", - "api-reference/endpoint/messages/get-message", - "api-reference/endpoint/messages/update-message" - ] - }, - { - "group": "metamessages", - "pages": [ - "api-reference/endpoint/metamessages/create-metamessage", - "api-reference/endpoint/metamessages/get-metamessages", - "api-reference/endpoint/metamessages/get-metamessage", - "api-reference/endpoint/metamessages/update-metamessage" - ] - }, - { - "group": "collections", - "pages": [ - "api-reference/endpoint/collections/get-collections", - "api-reference/endpoint/collections/create-collection", - "api-reference/endpoint/collections/get-collection-by-name", - "api-reference/endpoint/collections/get-collection", - "api-reference/endpoint/collections/update-collection", - "api-reference/endpoint/collections/delete-collection" - ] - }, - { - "group": "documents", - "pages": [ - "api-reference/endpoint/documents/get-documents", - "api-reference/endpoint/documents/create-document", - "api-reference/endpoint/documents/get-document", - "api-reference/endpoint/documents/update-document", - "api-reference/endpoint/documents/delete-document", - "api-reference/endpoint/documents/query-documents" - ] - }, - { - "group": "keys", - "pages": ["api-reference/endpoint/keys/create-key"] - } - ], - "footerSocials": { - "twitter": "https://twitter.com/plastic_labs", - "github": "https://github.com/plastic-labs", - "linkedin": "https://www.linkedin.com/company/plasticlabs" - }, - "openapi": ["/openapi.json"], - "analytics": { - "posthog": { - "apiKey": "phc_1yrzzcgywqXGcerkkI4g7C0YfyPMcAKNOOvGcjTCiUk" - } - } -} diff --git a/docs/openapi.json b/docs/openapi.json deleted file mode 100644 index 68388796..00000000 --- a/docs/openapi.json +++ /dev/null @@ -1,3475 +0,0 @@ -{ - "openapi": "3.1.0", - "info": { - "title": "Honcho API", - "summary": "The Identity Layer for the Agentic World", - "description": "Honcho is a platform for giving agents user-centric memory and social cognition", - "contact": { - "name": "Plastic Labs", - "url": "https://honcho.dev/", - "email": "hello@plasticlabs.ai" - }, - "license": { - "name": "GNU Affero General Public License v3.0", - "identifier": "AGPL-3.0-only", - "url": "https://github.com/plastic-labs/honcho/blob/main/LICENSE" - }, - "version": "2.0.0" - }, - "servers": [ - { - "url": "http://localhost:8000", - "description": "Local Development Server" - }, - { - "url": "https://demo.honcho.dev", - "description": "Demo Server" - }, - { - "url": "https://api.honcho.dev", - "description": "Production SaaS Platform" - } - ], - "paths": { - "/v2/workspaces": { - "post": { - "tags": [ - "workspaces" - ], - "summary": "Get Or Create Workspace", - "description": "Get a Workspace by ID.\n\nIf workspace_id is provided as a query parameter, it uses that (must match JWT workspace_id).\nOtherwise, it uses the workspace_id from the JWT token.", - "operationId": "get_or_create_workspace_v2_workspaces_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WorkspaceCreate", - "description": "Workspace creation parameters" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workspace" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - }, - "security": [ - { - "HTTPBearer": [] - }, - {} - ] - } - }, - "/v2/workspaces/list": { - "post": { - "tags": [ - "workspaces" - ], - "summary": "Get All Workspaces", - "description": "Get all Workspaces", - "operationId": "get_all_workspaces_v2_workspaces_list_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/WorkspaceGet" - }, - { - "type": "null" - } - ], - "description": "Filtering and pagination options for the workspaces list", - "title": "Options" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Workspace_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}": { - "put": { - "tags": [ - "workspaces" - ], - "summary": "Update Workspace", - "description": "Update a Workspace", - "operationId": "update_workspace_v2_workspaces__workspace_id__put", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace to update", - "title": "Workspace Id" - }, - "description": "ID of the workspace to update" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WorkspaceUpdate", - "description": "Updated workspace parameters" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workspace" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/search": { - "post": { - "tags": [ - "workspaces" - ], - "summary": "Search Workspace", - "description": "Search a Workspace", - "operationId": "search_workspace_v2_workspaces__workspace_id__search_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace to search", - "title": "Workspace Id" - }, - "description": "ID of the workspace to search" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "Search query", - "title": "Query" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Message_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/list": { - "post": { - "tags": [ - "peers" - ], - "summary": "Get Peers", - "description": "Get All Peers for a Workspace", - "operationId": "get_peers_v2_workspaces__workspace_id__peers_list_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/PeerGet" - }, - { - "type": "null" - } - ], - "description": "Filtering options for the peers list", - "title": "Options" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Peer_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers": { - "post": { - "tags": [ - "peers" - ], - "summary": "Get Or Create Peer", - "description": "Get a Peer by ID\n\nIf peer_id is provided as a query parameter, it uses that (must match JWT workspace_id).\nOtherwise, it uses the peer_id from the JWT token.", - "operationId": "get_or_create_peer_v2_workspaces__workspace_id__peers_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PeerCreate", - "description": "Peer creation parameters" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Peer" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/{peer_id}": { - "put": { - "tags": [ - "peers" - ], - "summary": "Update Peer", - "description": "Update a Peer's name and/or metadata", - "operationId": "update_peer_v2_workspaces__workspace_id__peers__peer_id__put", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer to update", - "title": "Peer Id" - }, - "description": "ID of the peer to update" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PeerUpdate", - "description": "Updated peer parameters" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Peer" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/{peer_id}/sessions": { - "post": { - "tags": [ - "peers" - ], - "summary": "Get Sessions For Peer", - "description": "Get All Sessions for a Peer", - "operationId": "get_sessions_for_peer_v2_workspaces__workspace_id__peers__peer_id__sessions_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/SessionGet" - }, - { - "type": "null" - } - ], - "description": "Filtering options for the sessions list", - "title": "Options" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Session_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/{peer_id}/chat": { - "post": { - "tags": [ - "peers" - ], - "summary": "Chat", - "operationId": "chat_v2_workspaces__workspace_id__peers__peer_id__chat_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DialecticOptions", - "description": "Dialectic Endpoint Parameters" - } - } - } - }, - "responses": { - "200": { - "description": "Response to a question informed by Honcho's User Representation", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DialecticResponse" - } - }, - "text/event-stream": {} - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/{peer_id}/messages": { - "post": { - "tags": [ - "peers" - ], - "summary": "Create Messages For Peer", - "description": "Create messages for a peer", - "operationId": "create_messages_for_peer_v2_workspaces__workspace_id__peers__peer_id__messages_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageBatchCreate", - "description": "Batch of messages to create" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Message" - }, - "title": "Response Create Messages For Peer V2 Workspaces Workspace Id Peers Peer Id Messages Post" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/{peer_id}/messages/list": { - "post": { - "tags": [ - "peers" - ], - "summary": "Get Messages For Peer", - "description": "Get all messages for a peer", - "operationId": "get_messages_for_peer_v2_workspaces__workspace_id__peers__peer_id__messages_list_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - }, - { - "name": "reverse", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether to reverse the order of results", - "default": false, - "title": "Reverse" - }, - "description": "Whether to reverse the order of results" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/MessageGet" - }, - { - "type": "null" - } - ], - "description": "Filtering options for the messages list", - "title": "Options" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Message_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/{peer_id}/representation": { - "post": { - "tags": [ - "peers" - ], - "summary": "Get Working Representation", - "description": "Get a peer's working representation for a session.\n\nIf a session_id is provided in the body, we get the working representation of the peer in that session.\n\nIn the current implementation, we don't offer representations of `target` so that parameter is ignored.\nFuture releases will allow for this.", - "operationId": "get_working_representation_v2_workspaces__workspace_id__peers__peer_id__representation_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PeerRepresentationGet", - "description": "Options for getting the peer representation" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": true, - "title": "Response Get Working Representation V2 Workspaces Workspace Id Peers Peer Id Representation Post" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/peers/{peer_id}/search": { - "post": { - "tags": [ - "peers" - ], - "summary": "Search Peer", - "description": "Search a Peer", - "operationId": "search_peer_v2_workspaces__workspace_id__peers__peer_id__search_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "Search query", - "title": "Query" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Message_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions": { - "post": { - "tags": [ - "sessions" - ], - "summary": "Get Or Create Session", - "description": "Get a specific session in a workspace.\n\nIf session_id is provided as a query parameter, it verifies the session is in the workspace.\nOtherwise, it uses the session_id from the JWT token for verification.", - "operationId": "get_or_create_session_v2_workspaces__workspace_id__sessions_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SessionCreate", - "description": "Session creation parameters" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Session" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/list": { - "post": { - "tags": [ - "sessions" - ], - "summary": "Get Sessions", - "description": "Get All Sessions in a Workspace", - "operationId": "get_sessions_v2_workspaces__workspace_id__sessions_list_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/SessionGet" - }, - { - "type": "null" - } - ], - "description": "Filtering and pagination options for the sessions list", - "title": "Options" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Session_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}": { - "put": { - "tags": [ - "sessions" - ], - "summary": "Update Session", - "description": "Update the metadata of a Session", - "operationId": "update_session_v2_workspaces__workspace_id__sessions__session_id__put", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session to update", - "title": "Session Id" - }, - "description": "ID of the session to update" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SessionUpdate", - "description": "Updated session parameters" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Session" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, - "delete": { - "tags": [ - "sessions" - ], - "summary": "Delete Session", - "description": "Delete a session by marking it as inactive", - "operationId": "delete_session_v2_workspaces__workspace_id__sessions__session_id__delete", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session to delete", - "title": "Session Id" - }, - "description": "ID of the session to delete" - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/clone": { - "get": { - "tags": [ - "sessions" - ], - "summary": "Clone Session", - "description": "Clone a session, optionally up to a specific message", - "operationId": "clone_session_v2_workspaces__workspace_id__sessions__session_id__clone_get", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session to clone", - "title": "Session Id" - }, - "description": "ID of the session to clone" - }, - { - "name": "message_id", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Message ID to cut off the clone at", - "title": "Message Id" - }, - "description": "Message ID to cut off the clone at" - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Session" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/peers": { - "post": { - "tags": [ - "sessions" - ], - "summary": "Add Peers To Session", - "description": "Add peers to a session", - "operationId": "add_peers_to_session_v2_workspaces__workspace_id__sessions__session_id__peers_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/SessionPeerConfig" - }, - "description": "List of peer IDs to add to the session", - "title": "Peers" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Session" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, - "put": { - "tags": [ - "sessions" - ], - "summary": "Set Session Peers", - "description": "Set the peers in a session", - "operationId": "set_session_peers_v2_workspaces__workspace_id__sessions__session_id__peers_put", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/SessionPeerConfig" - }, - "description": "List of peer IDs to set for the session", - "title": "Peers" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Session" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, - "delete": { - "tags": [ - "sessions" - ], - "summary": "Remove Peers From Session", - "description": "Remove peers from a session", - "operationId": "remove_peers_from_session_v2_workspaces__workspace_id__sessions__session_id__peers_delete", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of peer IDs to remove from the session", - "title": "Peers" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Session" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, - "get": { - "tags": [ - "sessions" - ], - "summary": "Get Session Peers", - "description": "Get peers from a session", - "operationId": "get_session_peers_v2_workspaces__workspace_id__sessions__session_id__peers_get", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Peer_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/peers/{peer_id}/config": { - "get": { - "tags": [ - "sessions" - ], - "summary": "Get Peer Config", - "description": "Get the configuration for a peer in a session", - "operationId": "get_peer_config_v2_workspaces__workspace_id__sessions__session_id__peers__peer_id__config_get", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SessionPeerConfig" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, - "post": { - "tags": [ - "sessions" - ], - "summary": "Set Peer Config", - "description": "Set the configuration for a peer in a session", - "operationId": "set_peer_config_v2_workspaces__workspace_id__sessions__session_id__peers__peer_id__config_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "peer_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the peer", - "title": "Peer Id" - }, - "description": "ID of the peer" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SessionPeerConfig", - "description": "Peer configuration" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/context": { - "get": { - "tags": [ - "sessions" - ], - "summary": "Get Session Context", - "description": "Produce a context object from the session. The caller provides a token limit which the entire context must fit into.\nTo do this, we allocate 40% of the token limit to the summary, and 60% to recent messages -- as many as can fit.\nIf the caller does not want a summary, we allocate all the tokens to recent messages.\nThe default token limit if not provided is 2048. (TODO: make this configurable)", - "operationId": "get_session_context_v2_workspaces__workspace_id__sessions__session_id__context_get", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "tokens", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Number of tokens to use for the context. Includes summary if set to true", - "title": "Tokens" - }, - "description": "Number of tokens to use for the context. Includes summary if set to true" - }, - { - "name": "summary", - "in": "query", - "required": false, - "schema": { - "type": "boolean", - "description": "Whether to summarize the session history prior to the cutoff message", - "default": false, - "title": "Summary" - }, - "description": "Whether to summarize the session history prior to the cutoff message" - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SessionContext" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/search": { - "post": { - "tags": [ - "sessions" - ], - "summary": "Search Session", - "description": "Search a Session", - "operationId": "search_session_v2_workspaces__workspace_id__sessions__session_id__search_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "Search query", - "title": "Query" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Message_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/messages/": { - "post": { - "tags": [ - "messages" - ], - "summary": "Create Messages For Session", - "operationId": "create_messages_for_session_v2_workspaces__workspace_id__sessions__session_id__messages__post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageBatchCreate", - "description": "Batch of messages to create" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Message" - }, - "title": "Response Create Messages For Session V2 Workspaces Workspace Id Sessions Session Id Messages Post" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/messages/list": { - "post": { - "tags": [ - "messages" - ], - "summary": "Get Messages", - "description": "Get all messages for a session", - "operationId": "get_messages_v2_workspaces__workspace_id__sessions__session_id__messages_list_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "reverse", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether to reverse the order of results", - "default": false, - "title": "Reverse" - }, - "description": "Whether to reverse the order of results" - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "description": "Page number", - "default": 1, - "title": "Page" - }, - "description": "Page number" - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "description": "Page size", - "default": 50, - "title": "Size" - }, - "description": "Page size" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/MessageGet" - }, - { - "type": "null" - } - ], - "description": "Filtering options for the messages list", - "title": "Options" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_Message_" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/workspaces/{workspace_id}/sessions/{session_id}/messages/{message_id}": { - "get": { - "tags": [ - "messages" - ], - "summary": "Get Message", - "description": "Get a Message by ID", - "operationId": "get_message_v2_workspaces__workspace_id__sessions__session_id__messages__message_id__get", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "message_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the message to retrieve", - "title": "Message Id" - }, - "description": "ID of the message to retrieve" - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Message" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, - "put": { - "tags": [ - "messages" - ], - "summary": "Update Message", - "description": "Update the metadata of a Message", - "operationId": "update_message_v2_workspaces__workspace_id__sessions__session_id__messages__message_id__put", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the workspace", - "title": "Workspace Id" - }, - "description": "ID of the workspace" - }, - { - "name": "session_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the session", - "title": "Session Id" - }, - "description": "ID of the session" - }, - { - "name": "message_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "description": "ID of the message to update", - "title": "Message Id" - }, - "description": "ID of the message to update" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MessageUpdate", - "description": "Updated message parameters" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Message" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v2/keys": { - "post": { - "tags": [ - "keys" - ], - "summary": "Create Key", - "description": "Create a new Key", - "operationId": "create_key_v2_keys_post", - "security": [ - { - "HTTPBearer": [] - }, - {} - ], - "parameters": [ - { - "name": "workspace_id", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "ID of the workspace to scope the key to", - "title": "Workspace Id" - }, - "description": "ID of the workspace to scope the key to" - }, - { - "name": "peer_id", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "ID of the peer to scope the key to", - "title": "Peer Id" - }, - "description": "ID of the peer to scope the key to" - }, - { - "name": "session_id", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "ID of the session to scope the key to", - "title": "Session Id" - }, - "description": "ID of the session to scope the key to" - }, - { - "name": "expires_at", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ], - "title": "Expires At" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "DialecticOptions": { - "properties": { - "session_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Session Id", - "description": "ID of the session to scope the representation to" - }, - "target": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Target", - "description": "Optional peer to get the representation for, from the perspective of this peer" - }, - "queries": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "Queries" - }, - "stream": { - "type": "boolean", - "title": "Stream", - "default": false - } - }, - "type": "object", - "required": [ - "queries" - ], - "title": "DialecticOptions" - }, - "DialecticResponse": { - "properties": { - "content": { - "type": "string", - "title": "Content" - } - }, - "type": "object", - "required": [ - "content" - ], - "title": "DialecticResponse" - }, - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "type": "array", - "title": "Detail" - } - }, - "type": "object", - "title": "HTTPValidationError" - }, - "Message": { - "properties": { - "id": { - "type": "string", - "title": "Id" - }, - "content": { - "type": "string", - "title": "Content" - }, - "peer_id": { - "type": "string", - "title": "Peer Id" - }, - "session_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Session Id" - }, - "metadata": { - "additionalProperties": true, - "type": "object", - "title": "Metadata" - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "Created At" - }, - "workspace_id": { - "type": "string", - "title": "Workspace Id" - }, - "token_count": { - "type": "integer", - "title": "Token Count" - } - }, - "type": "object", - "required": [ - "id", - "content", - "peer_id", - "session_id", - "created_at", - "workspace_id", - "token_count" - ], - "title": "Message" - }, - "MessageBatchCreate": { - "properties": { - "messages": { - "items": { - "$ref": "#/components/schemas/MessageCreate" - }, - "type": "array", - "maxItems": 100, - "minItems": 1, - "title": "Messages" - } - }, - "type": "object", - "required": [ - "messages" - ], - "title": "MessageBatchCreate", - "description": "Schema for batch message creation with a max of 100 messages" - }, - "MessageCreate": { - "properties": { - "content": { - "type": "string", - "maxLength": 50000, - "minLength": 0, - "title": "Content" - }, - "peer_id": { - "type": "string", - "title": "Peer Id" - }, - "metadata": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Metadata" - } - }, - "type": "object", - "required": [ - "content", - "peer_id" - ], - "title": "MessageCreate" - }, - "MessageGet": { - "properties": { - "filter": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Filter" - } - }, - "type": "object", - "title": "MessageGet" - }, - "MessageUpdate": { - "properties": { - "metadata": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Metadata" - } - }, - "type": "object", - "title": "MessageUpdate" - }, - "Page_Message_": { - "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "title": "Items" - }, - "total": { - "type": "integer", - "minimum": 0.0, - "title": "Total" - }, - "page": { - "type": "integer", - "minimum": 1.0, - "title": "Page" - }, - "size": { - "type": "integer", - "minimum": 1.0, - "title": "Size" - }, - "pages": { - "type": "integer", - "minimum": 0.0, - "title": "Pages" - } - }, - "type": "object", - "required": [ - "items", - "total", - "page", - "size" - ], - "title": "Page[Message]" - }, - "Page_Peer_": { - "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/Peer" - }, - "type": "array", - "title": "Items" - }, - "total": { - "type": "integer", - "minimum": 0.0, - "title": "Total" - }, - "page": { - "type": "integer", - "minimum": 1.0, - "title": "Page" - }, - "size": { - "type": "integer", - "minimum": 1.0, - "title": "Size" - }, - "pages": { - "type": "integer", - "minimum": 0.0, - "title": "Pages" - } - }, - "type": "object", - "required": [ - "items", - "total", - "page", - "size" - ], - "title": "Page[Peer]" - }, - "Page_Session_": { - "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/Session" - }, - "type": "array", - "title": "Items" - }, - "total": { - "type": "integer", - "minimum": 0.0, - "title": "Total" - }, - "page": { - "type": "integer", - "minimum": 1.0, - "title": "Page" - }, - "size": { - "type": "integer", - "minimum": 1.0, - "title": "Size" - }, - "pages": { - "type": "integer", - "minimum": 0.0, - "title": "Pages" - } - }, - "type": "object", - "required": [ - "items", - "total", - "page", - "size" - ], - "title": "Page[Session]" - }, - "Page_Workspace_": { - "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/Workspace" - }, - "type": "array", - "title": "Items" - }, - "total": { - "type": "integer", - "minimum": 0.0, - "title": "Total" - }, - "page": { - "type": "integer", - "minimum": 1.0, - "title": "Page" - }, - "size": { - "type": "integer", - "minimum": 1.0, - "title": "Size" - }, - "pages": { - "type": "integer", - "minimum": 0.0, - "title": "Pages" - } - }, - "type": "object", - "required": [ - "items", - "total", - "page", - "size" - ], - "title": "Page[Workspace]" - }, - "Peer": { - "properties": { - "id": { - "type": "string", - "title": "Id" - }, - "workspace_id": { - "type": "string", - "title": "Workspace Id" - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "Created At" - }, - "metadata": { - "additionalProperties": true, - "type": "object", - "title": "Metadata" - }, - "configuration": { - "additionalProperties": true, - "type": "object", - "title": "Configuration" - } - }, - "type": "object", - "required": [ - "id", - "workspace_id", - "created_at" - ], - "title": "Peer" - }, - "PeerCreate": { - "properties": { - "id": { - "type": "string", - "maxLength": 100, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]+$", - "title": "Id" - }, - "metadata": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Metadata" - }, - "configuration": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Configuration" - } - }, - "type": "object", - "required": [ - "id" - ], - "title": "PeerCreate" - }, - "PeerGet": { - "properties": { - "filter": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Filter" - } - }, - "type": "object", - "title": "PeerGet" - }, - "PeerRepresentationGet": { - "properties": { - "session_id": { - "type": "string", - "title": "Session Id", - "description": "Get the working representation within this session" - }, - "target": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Target", - "description": "Optional peer ID to get the representation for, from the perspective of this peer" - } - }, - "type": "object", - "required": [ - "session_id" - ], - "title": "PeerRepresentationGet" - }, - "PeerUpdate": { - "properties": { - "metadata": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Metadata" - }, - "configuration": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Configuration" - } - }, - "type": "object", - "title": "PeerUpdate" - }, - "Session": { - "properties": { - "id": { - "type": "string", - "title": "Id" - }, - "is_active": { - "type": "boolean", - "title": "Is Active" - }, - "workspace_id": { - "type": "string", - "title": "Workspace Id" - }, - "metadata": { - "additionalProperties": true, - "type": "object", - "title": "Metadata" - }, - "configuration": { - "additionalProperties": true, - "type": "object", - "title": "Configuration" - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "Created At" - } - }, - "type": "object", - "required": [ - "id", - "is_active", - "workspace_id", - "created_at" - ], - "title": "Session" - }, - "SessionContext": { - "properties": { - "id": { - "type": "string", - "title": "Id" - }, - "messages": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "title": "Messages" - }, - "summary": { - "type": "string", - "title": "Summary" - } - }, - "type": "object", - "required": [ - "id", - "messages", - "summary" - ], - "title": "SessionContext" - }, - "SessionCreate": { - "properties": { - "id": { - "type": "string", - "maxLength": 100, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]+$", - "title": "Id" - }, - "metadata": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Metadata" - }, - "peers": { - "anyOf": [ - { - "additionalProperties": { - "$ref": "#/components/schemas/SessionPeerConfig" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Peers" - }, - "configuration": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Configuration" - } - }, - "type": "object", - "required": [ - "id" - ], - "title": "SessionCreate" - }, - "SessionGet": { - "properties": { - "filter": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Filter" - }, - "is_active": { - "type": "boolean", - "title": "Is Active", - "default": false - } - }, - "type": "object", - "title": "SessionGet" - }, - "SessionPeerConfig": { - "properties": { - "observe_others": { - "type": "boolean", - "title": "Observe Others", - "description": "Whether this peer should form a session-level theory-of-mind representation of other peers in the session", - "default": false - }, - "observe_me": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Observe Me", - "description": "Whether other peers in this session should try to form a session-level theory-of-mind representation of this peer" - } - }, - "type": "object", - "title": "SessionPeerConfig" - }, - "SessionUpdate": { - "properties": { - "metadata": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Metadata" - }, - "configuration": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Configuration" - } - }, - "type": "object", - "title": "SessionUpdate" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "type": "array", - "title": "Location" - }, - "msg": { - "type": "string", - "title": "Message" - }, - "type": { - "type": "string", - "title": "Error Type" - } - }, - "type": "object", - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError" - }, - "Workspace": { - "properties": { - "id": { - "type": "string", - "title": "Id" - }, - "metadata": { - "additionalProperties": true, - "type": "object", - "title": "Metadata" - }, - "configuration": { - "additionalProperties": true, - "type": "object", - "title": "Configuration" - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "Created At" - } - }, - "type": "object", - "required": [ - "id", - "created_at" - ], - "title": "Workspace" - }, - "WorkspaceCreate": { - "properties": { - "id": { - "type": "string", - "maxLength": 100, - "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]+$", - "title": "Id" - }, - "metadata": { - "additionalProperties": true, - "type": "object", - "title": "Metadata", - "default": {} - }, - "configuration": { - "additionalProperties": true, - "type": "object", - "title": "Configuration", - "default": {} - } - }, - "type": "object", - "required": [ - "id" - ], - "title": "WorkspaceCreate" - }, - "WorkspaceGet": { - "properties": { - "filter": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Filter" - } - }, - "type": "object", - "title": "WorkspaceGet" - }, - "WorkspaceUpdate": { - "properties": { - "metadata": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Metadata" - }, - "configuration": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Configuration" - } - }, - "type": "object", - "title": "WorkspaceUpdate" - } - }, - "securitySchemes": { - "HTTPBearer": { - "type": "http", - "scheme": "bearer" - } - } - } -} \ No newline at end of file diff --git a/docs/package.json b/docs/package.json index 48471257..26e53d63 100644 --- a/docs/package.json +++ b/docs/package.json @@ -4,15 +4,18 @@ "description": "## Setting Up `honcho-docs` Locally", "main": ".pnp.js", "scripts": { - "dev": "mintlify dev", + "dev": "mint dev", "openapi": "npx @mintlify/scraping openapi-file openapi.json -o api-reference/endpoint", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { - "@mintlify/scraping": "^3.0.92", + "@mintlify/scraping": "^3.0.189", "honcho-ai": "^0.0.11", - "mintlify": "^4.0.531" + "mintlify": "^4.1.96" + }, + "devDependencies": { + "mint": "^4.1.96" } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index a4a39220..25c72165 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -9,58 +9,35 @@ importers: .: dependencies: '@mintlify/scraping': - specifier: ^3.0.92 - version: 3.0.92(openapi-types@12.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.0.189 + version: 3.0.189(react-dom@18.3.1(react@18.3.1))(react@18.3.1) honcho-ai: specifier: ^0.0.11 version: 0.0.11 mintlify: - specifier: ^4.0.531 - version: 4.0.531(@types/node@22.15.18)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^4.1.96 + version: 4.1.96(@types/node@24.0.4)(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + devDependencies: + mint: + specifier: ^4.1.96 + version: 4.1.96(@types/node@24.0.4)(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) packages: - '@apidevtools/json-schema-ref-parser@9.0.6': - resolution: {integrity: sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==} - - '@apidevtools/openapi-schemas@2.1.0': - resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==} - engines: {node: '>=10'} - - '@apidevtools/swagger-methods@3.0.2': - resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} - - '@apidevtools/swagger-parser@10.1.0': - resolution: {integrity: sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==} - peerDependencies: - openapi-types: '>=7' - '@asyncapi/parser@3.4.0': resolution: {integrity: sha512-Sxn74oHiZSU6+cVeZy62iPZMFMvKp4jupMFHelSICCMw1qELmUHPvuZSr+ZHDmNGgHcEpzJM5HN02kR7T4g+PQ==} '@asyncapi/specs@6.8.1': resolution: {integrity: sha512-czHoAk3PeXTLR+X8IUaD+IpT+g+zUvkcgMDJVothBsan+oHN3jfcFcFUNdOPAAFoUCQN1hXF1dWuphWy05THlA==} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} - engines: {node: '>=6.9.0'} - '@emnapi/runtime@1.4.3': resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} @@ -169,8 +146,8 @@ packages: cpu: [x64] os: [win32] - '@inquirer/checkbox@4.1.6': - resolution: {integrity: sha512-62u896rWCtKKE43soodq5e/QcRsA22I+7/4Ov7LESWnKRO6BVo2A1DFLDmXL9e28TB0CfHc3YtkbPm7iwajqkg==} + '@inquirer/checkbox@4.1.8': + resolution: {integrity: sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -178,8 +155,8 @@ packages: '@types/node': optional: true - '@inquirer/confirm@5.1.10': - resolution: {integrity: sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==} + '@inquirer/confirm@5.1.12': + resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -187,8 +164,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.11': - resolution: {integrity: sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==} + '@inquirer/core@10.1.13': + resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -196,8 +173,8 @@ packages: '@types/node': optional: true - '@inquirer/editor@4.2.11': - resolution: {integrity: sha512-YoZr0lBnnLFPpfPSNsQ8IZyKxU47zPyVi9NLjCWtna52//M/xuL0PGPAxHxxYhdOhnvY2oBafoM+BI5w/JK7jw==} + '@inquirer/editor@4.2.13': + resolution: {integrity: sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -205,8 +182,8 @@ packages: '@types/node': optional: true - '@inquirer/expand@4.0.13': - resolution: {integrity: sha512-HgYNWuZLHX6q5y4hqKhwyytqAghmx35xikOGY3TcgNiElqXGPas24+UzNPOwGUZa5Dn32y25xJqVeUcGlTv+QQ==} + '@inquirer/expand@4.0.15': + resolution: {integrity: sha512-4Y+pbr/U9Qcvf+N/goHzPEXiHH8680lM3Dr3Y9h9FFw4gHS+zVpbj8LfbKWIb/jayIB4aSO4pWiBTrBYWkvi5A==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -214,12 +191,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.11': - resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} + '@inquirer/figures@1.0.12': + resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} engines: {node: '>=18'} - '@inquirer/input@4.1.10': - resolution: {integrity: sha512-kV3BVne3wJ+j6reYQUZi/UN9NZGZLxgc/tfyjeK3mrx1QI7RXPxGp21IUTv+iVHcbP4ytZALF8vCHoxyNSC6qg==} + '@inquirer/input@4.1.12': + resolution: {integrity: sha512-xJ6PFZpDjC+tC1P8ImGprgcsrzQRsUh9aH3IZixm1lAZFK49UGHxM3ltFfuInN2kPYNfyoPRh+tU4ftsjPLKqQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -227,8 +204,8 @@ packages: '@types/node': optional: true - '@inquirer/number@3.0.13': - resolution: {integrity: sha512-IrLezcg/GWKS8zpKDvnJ/YTflNJdG0qSFlUM/zNFsdi4UKW/CO+gaJpbMgQ20Q58vNKDJbEzC6IebdkprwL6ew==} + '@inquirer/number@3.0.15': + resolution: {integrity: sha512-xWg+iYfqdhRiM55MvqiTCleHzszpoigUpN5+t1OMcRkJrUrw7va3AzXaxvS+Ak7Gny0j2mFSTv2JJj8sMtbV2g==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -236,8 +213,8 @@ packages: '@types/node': optional: true - '@inquirer/password@4.0.13': - resolution: {integrity: sha512-NN0S/SmdhakqOTJhDwOpeBEEr8VdcYsjmZHDb0rblSh2FcbXQOr+2IApP7JG4WE3sxIdKytDn4ed3XYwtHxmJQ==} + '@inquirer/password@4.0.15': + resolution: {integrity: sha512-75CT2p43DGEnfGTaqFpbDC2p2EEMrq0S+IRrf9iJvYreMy5mAWj087+mdKyLHapUEPLjN10mNvABpGbk8Wdraw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -245,8 +222,8 @@ packages: '@types/node': optional: true - '@inquirer/prompts@7.5.1': - resolution: {integrity: sha512-5AOrZPf2/GxZ+SDRZ5WFplCA2TAQgK3OYrXCYmJL5NaTu4ECcoWFlfUZuw7Es++6Njv7iu/8vpYJhuzxUH76Vg==} + '@inquirer/prompts@7.5.3': + resolution: {integrity: sha512-8YL0WiV7J86hVAxrh3fE5mDCzcTDe1670unmJRz6ArDgN+DBK1a0+rbnNWp4DUB5rPMwqD5ZP6YHl9KK1mbZRg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -254,8 +231,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@4.1.1': - resolution: {integrity: sha512-VBUC0jPN2oaOq8+krwpo/mf3n/UryDUkKog3zi+oIi8/e5hykvdntgHUB9nhDM78RubiyR1ldIOfm5ue+2DeaQ==} + '@inquirer/rawlist@4.1.3': + resolution: {integrity: sha512-7XrV//6kwYumNDSsvJIPeAqa8+p7GJh7H5kRuxirct2cgOcSWwwNGoXDRgpNFbY/MG2vQ4ccIWCi8+IXXyFMZA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -263,8 +240,8 @@ packages: '@types/node': optional: true - '@inquirer/search@3.0.13': - resolution: {integrity: sha512-9g89d2c5Izok/Gw/U7KPC3f9kfe5rA1AJ24xxNZG0st+vWekSk7tB9oE+dJv5JXd0ZSijomvW0KPMoBd8qbN4g==} + '@inquirer/search@3.0.15': + resolution: {integrity: sha512-YBMwPxYBrADqyvP4nNItpwkBnGGglAvCLVW8u4pRmmvOsHUtCAUIMbUrLX5B3tFL1/WsLGdQ2HNzkqswMs5Uaw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -272,8 +249,8 @@ packages: '@types/node': optional: true - '@inquirer/select@4.2.1': - resolution: {integrity: sha512-gt1Kd5XZm+/ddemcT3m23IP8aD8rC9drRckWoP/1f7OL46Yy2FGi8DSmNjEjQKtPl6SV96Kmjbl6p713KXJ/Jg==} + '@inquirer/select@4.2.3': + resolution: {integrity: sha512-OAGhXU0Cvh0PhLz9xTF/kx6g6x+sP+PcyTiLvCrewI99P3BBeexD+VbuwkNDvqGkk3y2h5ZiWLeRP7BFlhkUDg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -281,8 +258,8 @@ packages: '@types/node': optional: true - '@inquirer/type@3.0.6': - resolution: {integrity: sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==} + '@inquirer/type@3.0.7': + resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -290,9 +267,6 @@ packages: '@types/node': optional: true - '@jsdevtools/ono@7.1.3': - resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - '@jsep-plugin/assignment@1.3.0': resolution: {integrity: sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==} engines: {node: '>= 10.16.0'} @@ -331,83 +305,104 @@ packages: '@types/react': '>=16' react: '>=16' - '@mintlify/cli@4.0.529': - resolution: {integrity: sha512-u2B5Sp6+rrtgMrJ5JjaWHgKsyc26voN3Asnz82TT+fcNrfJsvszdl9U1dPCrjFt02+XHtlVeL40wFn/yf+8U4g==} + '@mintlify/cli@4.0.597': + resolution: {integrity: sha512-7VHZcWxMkSYbIWmQYqvK7YGjBtK+KCbe+ilD7KHweMDG3qbOoxBeMUhCef/pVpT2Mn7g9UuIXedvIpzc+SL2zA==} engines: {node: '>=18.0.0'} hasBin: true - '@mintlify/common@1.0.374': - resolution: {integrity: sha512-HlVNdxiMP43qDLym0qqIg6ks1Zd4lAYloRhgqgw/CyzkEeIxIAnwMQshDvnV2nRc5Esp2zvHe2bbEbds8NILcA==} + '@mintlify/common@1.0.165': + resolution: {integrity: sha512-K+d9S2koRnrj4tj9g+DwQyjEiv3Ou8SYa41DQdE4zEu2hiN7+/wBz/KPwPYkjJiY47/NqhyzNsUcP+5CzsyLhA==} - '@mintlify/common@1.0.76': - resolution: {integrity: sha512-aM+E0u5rLKu+6z64eoCKsvnAB0WziBx+wnRStFrbRdTCSt/LpsSbW+bNdz9AJOQADtiQdS39cLFPUVow7IPi7w==} + '@mintlify/common@1.0.428': + resolution: {integrity: sha512-BR0E6OP2V7uM9eOK/NlGtRt0rEBvjzpCUKBs8z9/dccPqbWfFlWWBdll9UNY80ImuvZZ7BtgU6jEl6CeaxkA8g==} - '@mintlify/link-rot@3.0.487': - resolution: {integrity: sha512-SRnk0Axf+kxd5F/v9dIvZ8DK/QMYQrsGNLJl8MJFPsO7c1oxBNXJGH6pRbLG/BvO9XojzlMd+BNgGc0E4EEVIg==} + '@mintlify/link-rot@3.0.547': + resolution: {integrity: sha512-3mmzgmuj2/W6ZCyHBiy7pW3bwFu6MXlOw/KkTtDQ2ifCCvs92l3jsVwkFS5vzj1FBsdJk7OY3gSdSAT8XXwCdg==} engines: {node: '>=18.0.0'} - '@mintlify/mdx@0.0.44': - resolution: {integrity: sha512-lvgadIgVxvqJUC4OeRugQGDfbNE7WnxoVaJk4Wvd2EFSB+3o9b1/XvXLrsOcD9uwyFgK94YhpmZQbftHu8ol0A==} - - '@mintlify/mdx@1.0.1': - resolution: {integrity: sha512-zrzt8nxoIgJeSUeuJaC8pbd5EHKjCq30qV2HMoqIHLjeE0l7hkMgjBPNWNde7CYDPig1ODS1kPuE5Bnt+/+PIg==} + '@mintlify/mdx@0.0.49': + resolution: {integrity: sha512-ZjmJTfS4NGdrFRAu7okADaCCBOz6xs1XFFg1eGwbyuGFTLPuXj71FUV9VQ2OWsnXpAGp1hH1eoVUgqAaEolp+g==} peerDependencies: react: ^18.3.1 react-dom: ^18.3.1 - '@mintlify/models@0.0.189': - resolution: {integrity: sha512-LjiQfhe/q/1K9xXra158hIvICxaNdN1YRG91z3zxK1kwxbg6ou7EzACTqO8Nr0ZBm/ZWsuTm1gdtwTomjBcGuA==} + '@mintlify/mdx@2.0.3': + resolution: {integrity: sha512-UGlwavma8QooWAlhtXpTAG5MAUZTTUKI8Qu25Wqfp1HMOPrYGvo5YQPmlqqogbMsqDMcFPLP/ZYnaZsGUYBspQ==} + peerDependencies: + react: ^18.3.1 + react-dom: ^18.3.1 + + '@mintlify/models@0.0.137': + resolution: {integrity: sha512-wPiRCLWFv1UoxCMBCniqBCCFZRE5OLjS6ojg8buDRsRsGnKE+Z35xA2fef7ZhX612ve7rCkEJgUDe9rHDhoMLQ==} engines: {node: '>=18.0.0'} - '@mintlify/models@0.0.72': - resolution: {integrity: sha512-nwwC/PT2ieB7eDFzwB8p8j/rm35dmzvaLf2+1bZiuCmgi3xMcx39QY0HH83lgV98YgUzPs4EvBeAmpwdn4mkdQ==} + '@mintlify/models@0.0.198': + resolution: {integrity: sha512-hIX8gO43JcsKOP7uPa4TE7nST82chsGWXQfnnZztBYOkXT7FQ0tQMR/fbAJLsxm/NFArsEdZIalmEwwfwCUX8w==} engines: {node: '>=18.0.0'} + '@mintlify/openapi-parser@0.0.0': + resolution: {integrity: sha512-gUdgc5/Y2HsQ6avd3kr3SVQ8ONfUdctgOuVYmuv/dPWPOTizf+EL+azaoLS6ZNk7mBRsewVW1y1iGdjfzmTNiQ==} + engines: {node: '>=18'} + '@mintlify/openapi-parser@0.0.7': resolution: {integrity: sha512-3ecbkzPbsnkKVZJypVL0H5pCTR7a4iLv4cP7zbffzAwy+vpH70JmPxNVpPPP62yLrdZlfNcMxu5xKeT7fllgMg==} engines: {node: '>=18'} - '@mintlify/prebuild@1.0.484': - resolution: {integrity: sha512-v+MpjTB9ywpL6vjUq66X+lLLBPlSaZTOBXG5g6Z6qKQbhWW8PNxSwauWcq+sJJ/zwo0lH/9Xa+N83JNUKf9sWQ==} + '@mintlify/prebuild@1.0.543': + resolution: {integrity: sha512-iaCHZ7frquGP9FIgka/CbyaLMlqnRPo+npFOBE1nmD5VTIkD38DYyV5MiC0E2BEOB8/Z/RwoI00xAS0iEv5mLQ==} - '@mintlify/previewing@4.0.520': - resolution: {integrity: sha512-J8nCbswPMI9mrrrWyx+y03YKN/hnE9l/OocWoIbpYlRpJNgbkZCQOeRZ6s8HsaGooTj0NulMu5pewkrr0fT2bA==} + '@mintlify/previewing@4.0.586': + resolution: {integrity: sha512-XxkQaqgcFQzHa7AC4Bv+VeGThz5yuwdzWxR/Mgc/m03O0ESehUOoWjk3cKOJyxfRNS6sFc0Ej8yPLgZQifeDYA==} engines: {node: '>=18.0.0'} - '@mintlify/scraping@3.0.92': - resolution: {integrity: sha512-cg8tSDahcIXpvGr8CBBAC836yJEWofdK8eRJu8rCoA7kTuRYEaYXFMV8RA4UDLY9bPQ4wiOkXvZzocIcEACskg==} + '@mintlify/scraping@3.0.189': + resolution: {integrity: sha512-iuu4xvyNH4BrLJ/27y6vui7uw67TM1lfuGQY61/Q7OOcuXLHAjSDeTMLYB9nW2dBl2DLRCN6Y11PEdYXVSrzZA==} engines: {node: '>=18.0.0'} hasBin: true - '@mintlify/scraping@4.0.230': - resolution: {integrity: sha512-0vfTa49N+52QkygJKoGxO6aknqsaQPoEn7c2YztIMAoPqJu71TqH3WCF8VfN2jm+iPW5p/mVIV6VJwvJfPkrWw==} + '@mintlify/scraping@4.0.284': + resolution: {integrity: sha512-hiTW/OR/wMTgtKakQWbfb5j/YaRo7BNkLFvMGEkztzZIN7NE9QhiwM/QHFmZbtO7rM565MFGiZSyz0Ecb5t1Jw==} engines: {node: '>=18.0.0'} hasBin: true - '@mintlify/validation@0.1.129': - resolution: {integrity: sha512-xJ/G9rt0ryDwtRfcWuvkIeqHyfKdin/LEri/mRyS+caY/qACTWtRQBo/W99E++xPOq+ZRe/xppxmajXsTuU8Pg==} + '@mintlify/validation@0.1.206': + resolution: {integrity: sha512-vdXVNQrFg8HRdhEFqRJnIxWntMM7cFafsQJE0MThlc0RdeRHVjA4kl0UO87FZSY6z99KhpviOnFoVnbGmWnsAQ==} - '@mintlify/validation@0.1.361': - resolution: {integrity: sha512-LXyXpXGNg+/BA/EJQPSoZoON3TysD0cxkcSW3kxhJISNr/uUxvofd2rw4X3PL2U55JdHT2JAT1eFNaMok67uLA==} + '@mintlify/validation@0.1.398': + resolution: {integrity: sha512-OEtt/9D8mHYwAiUMST6SYwxeE2ewJlbM50L2zHRunZ/73me81QXsKIqjfmnCeMvCphf+bkMB5+kkeN68HfJj5A==} '@openapi-contrib/openapi-schema-to-json-schema@3.2.0': resolution: {integrity: sha512-Gj6C0JwCr8arj0sYuslWXUBSP/KnUlEGnPW4qxlXvAl543oaNQgMgIgkQUA6vs5BCCvwTEiL8m/wdWzfl4UvSw==} - '@puppeteer/browsers@0.5.0': - resolution: {integrity: sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==} - engines: {node: '>=14.1.0'} - hasBin: true - peerDependencies: - typescript: '>= 4.7.4' - peerDependenciesMeta: - typescript: - optional: true - '@puppeteer/browsers@2.3.0': resolution: {integrity: sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA==} engines: {node: '>=18'} hasBin: true + '@shikijs/core@3.7.0': + resolution: {integrity: sha512-yilc0S9HvTPyahHpcum8eonYrQtmGTU0lbtwxhA6jHv4Bm1cAdlPFRCJX4AHebkCm75aKTjjRAW+DezqD1b/cg==} + + '@shikijs/engine-javascript@3.7.0': + resolution: {integrity: sha512-0t17s03Cbv+ZcUvv+y33GtX75WBLQELgNdVghnsdhTgU3hVcWcMsoP6Lb0nDTl95ZJfbP1mVMO0p3byVh3uuzA==} + + '@shikijs/engine-oniguruma@3.7.0': + resolution: {integrity: sha512-5BxcD6LjVWsGu4xyaBC5bu8LdNgPCVBnAkWTtOCs/CZxcB22L8rcoWfv7Hh/3WooVjBZmFtyxhgvkQFedPGnFw==} + + '@shikijs/langs@3.7.0': + resolution: {integrity: sha512-1zYtdfXLr9xDKLTGy5kb7O0zDQsxXiIsw1iIBcNOO8Yi5/Y1qDbJ+0VsFoqTlzdmneO8Ij35g7QKF8kcLyznCQ==} + + '@shikijs/themes@3.7.0': + resolution: {integrity: sha512-VJx8497iZPy5zLiiCTSIaOChIcKQwR0FebwE9S3rcN0+J/GTWwQ1v/bqhTbpbY3zybPKeO8wdammqkpXc4NVjQ==} + + '@shikijs/transformers@3.7.0': + resolution: {integrity: sha512-VplaqIMRNsNOorCXJHkbF5S0pT6xm8Z/s7w7OPZLohf8tR93XH0krvUafpNy/ozEylrWuShJF0+ftEB+wFRwGA==} + + '@shikijs/types@3.7.0': + resolution: {integrity: sha512-MGaLeaRlSWpnP0XSAum3kP3a8vtcTsITqoEPYdt3lQG3YCdQH4DnEhodkYcNMcU0uW0RffhoD1O3e0vG5eSBBg==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@sindresorhus/is@5.6.0': resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} @@ -502,8 +497,8 @@ packages: '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} - '@types/cors@2.8.18': - resolution: {integrity: sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA==} + '@types/cors@2.8.19': + resolution: {integrity: sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==} '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -514,11 +509,8 @@ packages: '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/hast@2.3.10': resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} @@ -550,8 +542,8 @@ packages: '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} '@types/nlcst@1.0.4': resolution: {integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==} @@ -562,29 +554,20 @@ packages: '@types/node-fetch@2.6.12': resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} - '@types/node@18.19.100': - resolution: {integrity: sha512-ojmMP8SZBKprc3qGrGk8Ujpo80AXkrP7G2tOT4VWr5jlr5DHjsJF+emXJz+Wm0glmy4Js62oKMdZZ6B9Y+tEcA==} + '@types/node@18.19.112': + resolution: {integrity: sha512-i+Vukt9POdS/MBI7YrrkkI5fMfwFtOjphSmt4WXYLfwqsfr6z/HdCx7LqT9M7JktGob8WNgj8nFB4TbGNE4Cog==} - '@types/node@22.15.18': - resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==} - - '@types/node@22.5.5': - resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} + '@types/node@24.0.4': + resolution: {integrity: sha512-ulyqAkrhnuNq9pB76DRBTkcS6YsmDALy6Ua63V8OhrOBgbcYt6IOdzpw5P1+dyRIyMerzLkeYWBeOXPpA9GMAA==} '@types/parse5@6.0.3': resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - '@types/prismjs@1.26.4': - resolution: {integrity: sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==} - '@types/prismjs@1.26.5': resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - - '@types/react@18.3.5': - resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + '@types/react@19.1.8': + resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -614,13 +597,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} hasBin: true @@ -628,10 +606,6 @@ packages: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - agent-base@7.1.3: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} @@ -688,10 +662,6 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -743,11 +713,8 @@ packages: resolution: {integrity: sha512-9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==} engines: {node: '>=0.11'} - axios@1.7.7: - resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} - - axios@1.9.0: - resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} + axios@1.10.0: + resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -807,9 +774,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - bl@5.1.0: resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} @@ -817,11 +781,8 @@ packages: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -860,9 +821,6 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -870,14 +828,6 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.4.1: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -897,26 +847,14 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - cheerio@0.22.0: - resolution: {integrity: sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==} - engines: {node: '>= 0.6'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - chromium-bidi@0.4.7: - resolution: {integrity: sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ==} - peerDependencies: - devtools-protocol: '*' - chromium-bidi@0.6.3: resolution: {integrity: sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A==} peerDependencies: @@ -949,16 +887,10 @@ packages: collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -1006,10 +938,6 @@ packages: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} - cosmiconfig@8.1.3: - resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} - engines: {node: '>=14'} - cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -1019,22 +947,6 @@ packages: typescript: optional: true - cross-fetch@3.1.5: - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} - - css-select@1.2.0: - resolution: {integrity: sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==} - - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - - css-what@2.1.3: - resolution: {integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==} - - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -1062,15 +974,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -1089,11 +992,8 @@ packages: supports-color: optional: true - decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - - decode-named-character-reference@1.1.0: - resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} @@ -1154,9 +1054,6 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - devtools-protocol@0.0.1107588: - resolution: {integrity: sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==} - devtools-protocol@0.0.1312386: resolution: {integrity: sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==} @@ -1172,34 +1069,6 @@ packages: resolution: {integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==} engines: {node: '>=6'} - dom-serializer@0.1.1: - resolution: {integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==} - - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@1.3.1: - resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@2.4.2: - resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@1.5.1: - resolution: {integrity: sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==} - - domutils@1.7.0: - resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} - - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -1218,8 +1087,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} engine.io-parser@5.2.3: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} @@ -1229,15 +1098,8 @@ packages: resolution: {integrity: sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==} engines: {node: '>=10.2.0'} - entities@1.1.2: - resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - entities@6.0.0: - resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} env-paths@2.2.1: @@ -1247,12 +1109,12 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.9: - resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} engines: {node: '>= 0.4'} - es-aggregate-error@1.0.13: - resolution: {integrity: sha512-KkzhUUuD2CUMqEc8JEqsXEMDHzDPE8RCjZeUBitsnB1eNcAJWQPiciKsMXe3Yytj4Flw1XLl46Qcf9OxvZha7A==} + es-aggregate-error@1.0.14: + resolution: {integrity: sha512-3YxX6rVb07B5TV11AV5wsL7nQCHXNwoHPsQC8S4AmBiqYhyNCJ5BRKXkXyDJvs8QzXN20NgRtxe3dEEQD9NLHA==} engines: {node: '>= 0.4'} es-define-property@1.0.1: @@ -1288,10 +1150,6 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} @@ -1387,8 +1245,8 @@ packages: fast-memoize@2.5.2: resolution: {integrity: sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==} - fast-uri@3.0.1: - resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} @@ -1428,12 +1286,8 @@ packages: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + form-data@4.0.3: + resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} engines: {node: '>= 6'} format@0.2.2: @@ -1452,13 +1306,6 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - fs-extra@11.3.0: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} @@ -1544,10 +1391,6 @@ packages: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -1573,8 +1416,8 @@ packages: hast-util-from-dom@4.2.0: resolution: {integrity: sha512-t1RJW/OpJbCAJQeKi3Qrj1cAOLA0+av/iPFori112+0X7R3wng+jxLA+kXec8K4szqPRGI8vPxbbpEYvvpwaeQ==} - hast-util-from-dom@5.0.0: - resolution: {integrity: sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==} + hast-util-from-dom@5.0.1: + resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} hast-util-from-html-isomorphic@1.0.0: resolution: {integrity: sha512-Yu480AKeOEN/+l5LA674a+7BmIvtDj24GvOt7MtQWuhzUwlaaRWdEPXAh3Qm5vhuthpAipFb2vTetKXWOjmTvw==} @@ -1585,18 +1428,12 @@ packages: hast-util-from-html@1.0.2: resolution: {integrity: sha512-LhrTA2gfCbLOGJq2u/asp4kwuG0y6NhWTXiPKP+n0qNukKy7hc10whqqCFfyvIA1Q5U5d0sp9HhNim9gglEH4A==} - hast-util-from-html@2.0.2: - resolution: {integrity: sha512-HwOHwxdt2zC5KQ/CNoybBntRook2zJvfZE/u5/Ap7aLPe22bDqen7KwGkOqOyzL5zIqKwiYX/OTtE0FWgr6XXA==} - hast-util-from-html@2.0.3: resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} hast-util-from-parse5@7.1.2: resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} - hast-util-from-parse5@8.0.1: - resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} - hast-util-from-parse5@8.0.3: resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} @@ -1666,19 +1503,16 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + hast@1.0.0: + resolution: {integrity: sha512-vFUqlRV5C+xqP76Wwq2SrM0kipnmpxJm7OfvVXpB35Fp+Fn4MV+ozr+JZr5qFvyR1q/U+Foim2x+3P+x9S1PLA==} + deprecated: Renamed to rehype + hastscript@7.2.0: resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} - hastscript@8.0.0: - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} - hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - honcho-ai@0.0.11: resolution: {integrity: sha512-SUl/PnMldTCz8G4S8faP00M2iFd9qWDkI5U8w0FQ7OC6SgKzTf1nJ/j3gyzctzR2IZ6LrOz/2d5OwO4f/PCMww==} @@ -1688,9 +1522,6 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - htmlparser2@3.10.1: - resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} - http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} @@ -1706,10 +1537,6 @@ packages: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -1727,10 +1554,6 @@ packages: immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -1748,8 +1571,8 @@ packages: inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} - inquirer@12.6.1: - resolution: {integrity: sha512-MGFnzHVS3l3oM3cy+LWkyR7UUtVEn3D5U41CZbEY34szToWoJAvaVtCTz1mxsEzZFk/HXWyCArn0HDgloTXMDw==} + inquirer@12.6.3: + resolution: {integrity: sha512-eX9beYAjr1MqYsIjx1vAheXsRk1jbZRvHLcBu5nA9wX0rXR1IfCZLnVLp4Ym4mrhqmh7AuANwcdtgQ291fZDfQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -1872,6 +1695,10 @@ packages: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} @@ -1888,8 +1715,8 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + is-reference@3.0.3: + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} @@ -1980,10 +1807,6 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - katex@0.16.11: - resolution: {integrity: sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==} - hasBin: true - katex@0.16.22: resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==} hasBin: true @@ -2013,42 +1836,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lodash.assignin@4.2.0: - resolution: {integrity: sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==} - - lodash.bind@4.2.1: - resolution: {integrity: sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==} - - lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - - lodash.filter@4.6.0: - resolution: {integrity: sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==} - - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - - lodash.foreach@4.5.0: - resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} - - lodash.map@4.6.0: - resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} - - lodash.reduce@4.6.0: - resolution: {integrity: sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==} - - lodash.reject@4.6.0: - resolution: {integrity: sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==} - - lodash.some@4.6.0: - resolution: {integrity: sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==} - lodash.topath@4.5.2: resolution: {integrity: sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==} @@ -2082,9 +1869,6 @@ packages: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} - markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} @@ -2480,20 +2264,19 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} - mintlify@4.0.531: - resolution: {integrity: sha512-iqVsWN3MSenkGlnd/9CWIBNmSiXJA9SdbIOK8OjbWm9eR5gGbULVSNHKU2w799F+T95wTK43p+vQpVtpwcYyWA==} + mint@4.1.96: + resolution: {integrity: sha512-UWDSeb9G9cIlAQAknX8yNqmGUSTT/7j3NUiUhvhSa5CSR2UrWKJ3Q39ZYBaxU47vsJEgDLZB7PMQTtDDRMLiFg==} engines: {node: '>=18.0.0'} hasBin: true - mitt@3.0.0: - resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} + mintlify@4.1.96: + resolution: {integrity: sha512-aE59WBKB0K4yGeM+Kbe4R6FJJ8whhtxxXJbjyQvo+NT89HykOTUfSaHc+/bGsX4YvO+wSXEtshCNJZDmnEj6Sg==} + engines: {node: '>=18.0.0'} + hasBin: true mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -2506,9 +2289,6 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2574,27 +2354,14 @@ packages: encoding: optional: true - node-html-markdown@1.3.0: - resolution: {integrity: sha512-OeFi3QwC/cPjvVKZ114tzzu+YoR+v9UXW5RwSXGUqGb0qCl0DvP406tzdL7SFn8pZrMyzXoisfG2zcuF9+zw4g==} - engines: {node: '>=10.0.0'} - - node-html-parser@6.1.13: - resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-url@8.0.1: - resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + normalize-url@8.0.2: + resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} engines: {node: '>=14.16'} - nth-check@1.0.2: - resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -2622,6 +2389,12 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} + oniguruma-parser@0.12.1: + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} + + oniguruma-to-es@4.3.3: + resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} + open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -2669,9 +2442,6 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-entities@4.0.1: - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} - parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} @@ -2688,9 +2458,6 @@ packages: parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -2701,19 +2468,12 @@ packages: path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - picocolors@1.1.0: - resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2754,26 +2514,13 @@ packages: resolution: {integrity: sha512-xaH3pZMni/R2BG7ZXXaWS9Wc9wFlhyDVJF47IJ+3ali0TGv+2PsckKxbmo+rnx3ZxiV2wblVhtdS3bohAP6GGw==} engines: {node: ^14.13.1 || >=16.0.0} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - - puppeteer-core@19.11.1: - resolution: {integrity: sha512-qcuC2Uf0Fwdj9wNtaTZ2OvYRraXpAK+puwwVW8ofOhOgLPZyz1c68tsorfIZyCUOpyBisjr+xByu7BMbEYMepA==} - engines: {node: '>=14.14.0'} - peerDependencies: - typescript: '>= 4.7.4' - peerDependenciesMeta: - typescript: - optional: true + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} puppeteer-core@22.15.0: resolution: {integrity: sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==} engines: {node: '>=18'} - puppeteer@19.11.1: - resolution: {integrity: sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==} - deprecated: < 22.8.2 is no longer supported - puppeteer@22.15.0: resolution: {integrity: sha512-XjCY1SiSEi1T7iSYuxS82ft85kwDJUS7wj1Z0eGVXKdtr5g4xnVcbjwxhq5xBnpK/E7x1VZZoJDxpjAOasHT4Q==} engines: {node: '>=18'} @@ -2828,12 +2575,18 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - refractor@4.8.1: - resolution: {integrity: sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==} - refractor@4.9.0: resolution: {integrity: sha512-nEG1SPXFoGGx+dcjftjv8cAjEusIh6ED1xhf5DG3C0x/k+rmZ2duKnc3QLpt6qeHv5fPb8uwN3VWN2BT7fr3Og==} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.0.1: + resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -2871,8 +2624,10 @@ packages: remark-math@6.0.0: resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} - remark-mdx-remove-esm@1.1.0: - resolution: {integrity: sha512-oN3F9QRuPKSdzZi+wvEodBVjKwya63sl403pWzJvm0+c503iUjCDR+JAnP3Ho/4205IWbQ2NujPQi/B9kU6ZrA==} + remark-mdx-remove-esm@1.2.0: + resolution: {integrity: sha512-BOZDeA9EuHDxQsvX7y4ovdlP8dk2/ToDGjOTrT5gs57OqTZuH4J1Tn8XjUFa221xvfXxiKaWrKT04waQ+tYydg==} + peerDependencies: + unified: ^11 remark-mdx@2.3.0: resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} @@ -3037,6 +2792,9 @@ packages: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shiki@3.7.0: + resolution: {integrity: sha512-ZcI4UT9n6N2pDuM2n3Jbk0sR4Swzq43nLPgS/4h0E3B/NrFn2HKElrDtceSf8Zx/OWYOo7G1SAtBLypCp+YXqg==} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -3086,8 +2844,8 @@ packages: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.4: - resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} + socks@2.8.5: + resolution: {integrity: sha512-iF+tNDQla22geJdTyJB1wM/qrX9DMRwWrciEPwWLPRWAUEM8sQiyxgckLxWT1f7+9VabJS0jTGGr4QgBuvi6Ww==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} source-map@0.6.1: @@ -3115,8 +2873,12 @@ packages: resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - streamx@2.22.0: - resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + streamx@2.22.1: + resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -3152,28 +2914,17 @@ packages: resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} engines: {node: '>=0.10.0'} - style-to-js@1.1.16: - resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - style-to-object@1.0.8: - resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - - tar-fs@3.0.8: - resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + tar-fs@3.0.10: + resolution: {integrity: sha512-C1SwlQGNLe/jPNqapK8epDsXME7CAJR5RL3GcE6KWx1d9OUByzoHVcbu1VPI8tevg9H8Alae0AApHHFGzrD5zA==} tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -3203,6 +2954,10 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + traverse@0.6.11: + resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} + engines: {node: '>= 0.4'} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -3246,6 +3001,10 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} + typedarray.prototype.slice@1.0.5: + resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} + engines: {node: '>= 0.4'} + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -3256,11 +3015,8 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} unherit@3.0.1: resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} @@ -3453,18 +3209,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.17.1: resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} @@ -3513,10 +3257,6 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - yargs@17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} - engines: {node: '>=12'} - yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -3528,48 +3268,22 @@ packages: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} - zod-to-json-schema@3.23.3: - resolution: {integrity: sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==} - peerDependencies: - zod: ^3.23.3 - - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} + zod-to-json-schema@3.24.6: + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} peerDependencies: zod: ^3.24.1 zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zod@3.24.4: - resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} + zod@3.25.67: + resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@apidevtools/json-schema-ref-parser@9.0.6': - dependencies: - '@jsdevtools/ono': 7.1.3 - call-me-maybe: 1.0.2 - js-yaml: 3.14.1 - - '@apidevtools/openapi-schemas@2.1.0': {} - - '@apidevtools/swagger-methods@3.0.2': {} - - '@apidevtools/swagger-parser@10.1.0(openapi-types@12.1.3)': - dependencies: - '@apidevtools/json-schema-ref-parser': 9.0.6 - '@apidevtools/openapi-schemas': 2.1.0 - '@apidevtools/swagger-methods': 3.0.2 - '@jsdevtools/ono': 7.1.3 - ajv: 8.17.1 - ajv-draft-04: 1.0.0(ajv@8.17.1) - call-me-maybe: 1.0.2 - openapi-types: 12.1.3 - '@asyncapi/parser@3.4.0': dependencies: '@asyncapi/specs': 6.8.1 @@ -3598,28 +3312,14 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.0 - '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-identifier@7.27.1': {} - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.0 - '@emnapi/runtime@1.4.3': dependencies: tslib: 2.8.1 @@ -3700,27 +3400,27 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true - '@inquirer/checkbox@4.1.6(@types/node@22.15.18)': + '@inquirer/checkbox@4.1.8(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/figures': 1.0.12 + '@inquirer/type': 3.0.7(@types/node@24.0.4) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/confirm@5.1.10(@types/node@22.15.18)': + '@inquirer/confirm@5.1.12(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/core@10.1.11(@types/node@22.15.18)': + '@inquirer/core@10.1.13(@types/node@24.0.4)': dependencies: - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/figures': 1.0.12 + '@inquirer/type': 3.0.7(@types/node@24.0.4) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -3728,95 +3428,93 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/editor@4.2.11(@types/node@22.15.18)': + '@inquirer/editor@4.2.13(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) external-editor: 3.1.0 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/expand@4.0.13(@types/node@22.15.18)': + '@inquirer/expand@4.0.15(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/figures@1.0.11': {} + '@inquirer/figures@1.0.12': {} - '@inquirer/input@4.1.10(@types/node@22.15.18)': + '@inquirer/input@4.1.12(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/number@3.0.13(@types/node@22.15.18)': + '@inquirer/number@3.0.15(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/password@4.0.13(@types/node@22.15.18)': + '@inquirer/password@4.0.15(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) ansi-escapes: 4.3.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/prompts@7.5.1(@types/node@22.15.18)': + '@inquirer/prompts@7.5.3(@types/node@24.0.4)': dependencies: - '@inquirer/checkbox': 4.1.6(@types/node@22.15.18) - '@inquirer/confirm': 5.1.10(@types/node@22.15.18) - '@inquirer/editor': 4.2.11(@types/node@22.15.18) - '@inquirer/expand': 4.0.13(@types/node@22.15.18) - '@inquirer/input': 4.1.10(@types/node@22.15.18) - '@inquirer/number': 3.0.13(@types/node@22.15.18) - '@inquirer/password': 4.0.13(@types/node@22.15.18) - '@inquirer/rawlist': 4.1.1(@types/node@22.15.18) - '@inquirer/search': 3.0.13(@types/node@22.15.18) - '@inquirer/select': 4.2.1(@types/node@22.15.18) + '@inquirer/checkbox': 4.1.8(@types/node@24.0.4) + '@inquirer/confirm': 5.1.12(@types/node@24.0.4) + '@inquirer/editor': 4.2.13(@types/node@24.0.4) + '@inquirer/expand': 4.0.15(@types/node@24.0.4) + '@inquirer/input': 4.1.12(@types/node@24.0.4) + '@inquirer/number': 3.0.15(@types/node@24.0.4) + '@inquirer/password': 4.0.15(@types/node@24.0.4) + '@inquirer/rawlist': 4.1.3(@types/node@24.0.4) + '@inquirer/search': 3.0.15(@types/node@24.0.4) + '@inquirer/select': 4.2.3(@types/node@24.0.4) optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/rawlist@4.1.1(@types/node@22.15.18)': + '@inquirer/rawlist@4.1.3(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/search@3.0.13(@types/node@22.15.18)': + '@inquirer/search@3.0.15(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/figures': 1.0.12 + '@inquirer/type': 3.0.7(@types/node@24.0.4) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/select@4.2.1(@types/node@22.15.18)': + '@inquirer/select@4.2.3(@types/node@24.0.4)': dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/figures': 1.0.12 + '@inquirer/type': 3.0.7(@types/node@24.0.4) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 - '@inquirer/type@3.0.6(@types/node@22.15.18)': + '@inquirer/type@3.0.7(@types/node@24.0.4)': optionalDependencies: - '@types/node': 22.15.18 - - '@jsdevtools/ono@7.1.3': {} + '@types/node': 24.0.4 '@jsep-plugin/assignment@1.3.0(jsep@1.4.0)': dependencies: @@ -3854,9 +3552,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdx-js/mdx@3.1.0(acorn@8.14.1)': + '@mdx-js/mdx@3.1.0(acorn@8.15.0)': dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 @@ -3868,7 +3566,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.0(acorn@8.14.1) + recma-jsx: 1.0.0(acorn@8.15.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.0 @@ -3887,29 +3585,30 @@ snapshots: '@mdx-js/react@2.3.0(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 18.3.5 + '@types/react': 19.1.8 react: 18.3.1 - '@mdx-js/react@3.1.0(@types/react@18.3.5)(react@18.3.1)': + '@mdx-js/react@3.1.0(@types/react@19.1.8)(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 18.3.5 + '@types/react': 19.1.8 react: 18.3.1 - '@mintlify/cli@4.0.529(@types/node@22.15.18)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/cli@4.0.597(@types/node@24.0.4)(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mintlify/common': 1.0.374(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/link-rot': 3.0.487(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/models': 0.0.189 - '@mintlify/prebuild': 1.0.484(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/previewing': 4.0.520(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/validation': 0.1.361 + '@mintlify/common': 1.0.428(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/link-rot': 3.0.547(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/models': 0.0.198 + '@mintlify/prebuild': 1.0.543(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/previewing': 4.0.586(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/validation': 0.1.398 chalk: 5.4.1 detect-port: 1.6.1 fs-extra: 11.3.0 - inquirer: 12.6.1(@types/node@22.15.18) + inquirer: 12.6.3(@types/node@24.0.4) js-yaml: 4.1.0 ora: 6.3.1 + semver: 7.7.2 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -3924,61 +3623,15 @@ snapshots: - typescript - utf-8-validate - '@mintlify/common@1.0.374(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/common@1.0.165(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@asyncapi/parser': 3.4.0 - '@mintlify/mdx': 1.0.1(@types/react@18.3.5)(acorn@8.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/models': 0.0.189 - '@mintlify/openapi-parser': 0.0.7 - '@mintlify/validation': 0.1.361 + '@mintlify/mdx': 0.0.49(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/models': 0.0.137 + '@mintlify/openapi-parser': 0.0.0 + '@mintlify/validation': 0.1.206 '@sindresorhus/slugify': 2.2.1 - acorn: 8.14.1 - estree-util-to-js: 2.0.0 - estree-walker: 3.0.3 - gray-matter: 4.0.3 - hast-util-from-html: 2.0.3 - hast-util-to-html: 9.0.5 - hast-util-to-text: 4.0.2 - is-absolute-url: 4.0.1 - js-yaml: 4.1.0 - lodash: 4.17.21 - mdast: 3.0.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-mdx: 3.0.0 - mdast-util-mdx-jsx: 3.2.0 - micromark-extension-mdx-jsx: 3.0.2 - openapi-types: 12.1.3 - remark: 15.0.1 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.1 - remark-math: 6.0.0 - remark-mdx: 3.1.0 - remark-stringify: 11.0.0 - unified: 11.0.5 - unist-builder: 4.0.0 - unist-util-map: 4.0.0 - unist-util-remove: 4.0.0 - unist-util-remove-position: 5.0.0 - unist-util-visit: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile: 6.0.3 - transitivePeerDependencies: - - '@types/react' - - debug - - encoding - - react - - react-dom - - supports-color - - '@mintlify/common@1.0.76(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@apidevtools/swagger-parser': 10.1.0(openapi-types@12.1.3) - '@mintlify/mdx': 0.0.44(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/models': 0.0.72 - '@mintlify/validation': 0.1.129 - '@sindresorhus/slugify': 2.2.1 - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) esast-util-from-js: 2.0.1 estree-util-to-js: 2.0.0 estree-walker: 3.0.3 @@ -4017,12 +3670,57 @@ snapshots: - react-dom - supports-color - '@mintlify/link-rot@3.0.487(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/common@1.0.428(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mintlify/common': 1.0.374(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/prebuild': 1.0.484(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@asyncapi/parser': 3.4.0 + '@mintlify/mdx': 2.0.3(@types/react@19.1.8)(acorn@8.15.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/models': 0.0.198 + '@mintlify/openapi-parser': 0.0.7 + '@mintlify/validation': 0.1.398 + '@sindresorhus/slugify': 2.2.1 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + gray-matter: 4.0.3 + hast-util-from-html: 2.0.3 + hast-util-to-html: 9.0.5 + hast-util-to-text: 4.0.2 + js-yaml: 4.1.0 + lodash: 4.17.21 + mdast: 3.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx: 3.0.0 + mdast-util-mdx-jsx: 3.2.0 + micromark-extension-mdx-jsx: 3.0.2 + openapi-types: 12.1.3 + remark: 15.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.1 + remark-math: 6.0.0 + remark-mdx: 3.1.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + unist-builder: 4.0.0 + unist-util-map: 4.0.0 + unist-util-remove: 4.0.0 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + vfile: 6.0.3 + transitivePeerDependencies: + - '@types/react' + - debug + - encoding + - react + - react-dom + - supports-color + + '@mintlify/link-rot@3.0.547(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@mintlify/common': 1.0.428(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/prebuild': 1.0.543(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) fs-extra: 11.3.0 - is-absolute-url: 4.0.1 unist-util-visit: 4.1.2 transitivePeerDependencies: - '@types/react' @@ -4036,34 +3734,39 @@ snapshots: - typescript - utf-8-validate - '@mintlify/mdx@0.0.44(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/mdx@0.0.49(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@mdx-js/mdx': 2.3.0 + '@mdx-js/react': 2.3.0(react@18.3.1) + '@types/hast': 3.0.4 + '@types/unist': 2.0.11 hast-util-to-string: 2.0.0 next-mdx-remote: 4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - refractor: 4.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + refractor: 4.9.0 rehype-katex: 6.0.3 remark-gfm: 3.0.1 remark-math: 5.1.1 remark-smartypants: 2.1.0 + unified: 10.1.2 unist-util-visit: 4.1.2 transitivePeerDependencies: - - react - - react-dom - supports-color - '@mintlify/mdx@1.0.1(@types/react@18.3.5)(acorn@8.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/mdx@2.0.3(@types/react@19.1.8)(acorn@8.15.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 + '@shikijs/transformers': 3.7.0 hast-util-to-string: 3.0.1 - next-mdx-remote-client: 1.1.1(@types/react@18.3.5)(acorn@8.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mdast-util-mdx-jsx: 3.2.0 + next-mdx-remote-client: 1.1.1(@types/react@19.1.8)(acorn@8.15.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(unified@11.0.5) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - refractor: 4.9.0 rehype-katex: 7.0.1 remark-gfm: 4.0.1 remark-math: 6.0.0 remark-smartypants: 3.0.2 + shiki: 3.7.0 unified: 11.0.5 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -4071,20 +3774,29 @@ snapshots: - acorn - supports-color - '@mintlify/models@0.0.189': + '@mintlify/models@0.0.137': dependencies: - axios: 1.9.0 + axios: 1.10.0 openapi-types: 12.1.3 transitivePeerDependencies: - debug - '@mintlify/models@0.0.72': + '@mintlify/models@0.0.198': dependencies: - axios: 1.7.7 + axios: 1.10.0 openapi-types: 12.1.3 transitivePeerDependencies: - debug + '@mintlify/openapi-parser@0.0.0': + dependencies: + ajv: 8.17.1 + ajv-draft-04: 1.0.0(ajv@8.17.1) + ajv-formats: 3.0.1(ajv@8.17.1) + jsonpointer: 5.0.1 + leven: 4.0.0 + yaml: 2.8.0 + '@mintlify/openapi-parser@0.0.7': dependencies: ajv: 8.17.1 @@ -4094,18 +3806,17 @@ snapshots: leven: 4.0.0 yaml: 2.8.0 - '@mintlify/prebuild@1.0.484(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/prebuild@1.0.543(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mintlify/common': 1.0.374(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/common': 1.0.428(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mintlify/openapi-parser': 0.0.7 - '@mintlify/scraping': 4.0.230(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/validation': 0.1.361 - axios: 1.9.0 + '@mintlify/scraping': 4.0.284(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/validation': 0.1.398 + axios: 1.10.0 chalk: 5.4.1 favicons: 7.2.0 fs-extra: 11.3.0 gray-matter: 4.0.3 - is-absolute-url: 4.0.1 js-yaml: 4.1.0 mdast: 3.0.0 openapi-types: 12.1.3 @@ -4122,11 +3833,11 @@ snapshots: - typescript - utf-8-validate - '@mintlify/previewing@4.0.520(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/previewing@4.0.586(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mintlify/common': 1.0.374(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/prebuild': 1.0.484(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@mintlify/validation': 0.1.361 + '@mintlify/common': 1.0.428(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/prebuild': 1.0.543(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/validation': 0.1.398 better-opn: 3.0.2 chalk: 5.4.1 chokidar: 3.6.0 @@ -4134,7 +3845,6 @@ snapshots: fs-extra: 11.3.0 got: 13.0.0 gray-matter: 4.0.3 - is-absolute-url: 4.0.1 is-online: 10.0.0 js-yaml: 4.1.0 mdast: 3.0.0 @@ -4156,31 +3866,40 @@ snapshots: - typescript - utf-8-validate - '@mintlify/scraping@3.0.92(openapi-types@12.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/scraping@3.0.189(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@apidevtools/swagger-parser': 10.1.0(openapi-types@12.1.3) - '@mintlify/common': 1.0.76(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - axios: 1.7.7 - cheerio: 0.22.0 - fs-extra: 11.2.0 - node-html-markdown: 1.3.0 - ora: 6.3.1 - puppeteer: 19.11.1 + '@mintlify/common': 1.0.165(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/openapi-parser': 0.0.0 + fs-extra: 11.3.0 + hast: 1.0.0 + hast-util-to-mdast: 10.1.2 + js-yaml: 4.1.0 + mdast: 3.0.0 + mdast-util-mdx-jsx: 3.2.0 + puppeteer: 22.15.0 + rehype-parse: 9.0.1 + remark-gfm: 4.0.1 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + traverse: 0.6.11 + unified: 11.0.5 + unist-util-visit: 5.0.0 yargs: 17.7.2 + zod: 3.25.67 transitivePeerDependencies: + - bare-buffer - bufferutil - debug - - encoding - - openapi-types - react - react-dom - supports-color - typescript - utf-8-validate - '@mintlify/scraping@4.0.230(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mintlify/scraping@4.0.284(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@mintlify/common': 1.0.374(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/common': 1.0.428(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mintlify/openapi-parser': 0.0.7 fs-extra: 11.3.0 hast-util-to-mdast: 10.1.2 @@ -4196,7 +3915,7 @@ snapshots: unified: 11.0.5 unist-util-visit: 5.0.0 yargs: 17.7.2 - zod: 3.24.4 + zod: 3.25.67 transitivePeerDependencies: - '@types/react' - bare-buffer @@ -4209,26 +3928,25 @@ snapshots: - typescript - utf-8-validate - '@mintlify/validation@0.1.129': + '@mintlify/validation@0.1.206': dependencies: - '@mintlify/models': 0.0.72 + '@mintlify/models': 0.0.137 lcm: 0.0.3 lodash: 4.17.21 openapi-types: 12.1.3 - zod: 3.23.8 - zod-to-json-schema: 3.23.3(zod@3.23.8) + zod: 3.25.67 + zod-to-json-schema: 3.24.6(zod@3.25.67) transitivePeerDependencies: - debug - '@mintlify/validation@0.1.361': + '@mintlify/validation@0.1.398': dependencies: - '@mintlify/models': 0.0.189 - is-absolute-url: 4.0.1 + '@mintlify/models': 0.0.198 lcm: 0.0.3 lodash: 4.17.21 openapi-types: 12.1.3 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) + zod: 3.25.67 + zod-to-json-schema: 3.24.6(zod@3.25.67) transitivePeerDependencies: - debug @@ -4236,19 +3954,6 @@ snapshots: dependencies: fast-deep-equal: 3.1.3 - '@puppeteer/browsers@0.5.0': - dependencies: - debug: 4.3.4 - extract-zip: 2.0.1 - https-proxy-agent: 5.0.1 - progress: 2.0.3 - proxy-from-env: 1.1.0 - tar-fs: 2.1.1 - unbzip2-stream: 1.4.3 - yargs: 17.7.1 - transitivePeerDependencies: - - supports-color - '@puppeteer/browsers@2.3.0': dependencies: debug: 4.4.1 @@ -4256,13 +3961,51 @@ snapshots: progress: 2.0.3 proxy-agent: 6.5.0 semver: 7.7.2 - tar-fs: 3.0.8 + tar-fs: 3.0.10 unbzip2-stream: 1.4.3 yargs: 17.7.2 transitivePeerDependencies: - bare-buffer - supports-color + '@shikijs/core@3.7.0': + dependencies: + '@shikijs/types': 3.7.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@3.7.0': + dependencies: + '@shikijs/types': 3.7.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.3 + + '@shikijs/engine-oniguruma@3.7.0': + dependencies: + '@shikijs/types': 3.7.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@3.7.0': + dependencies: + '@shikijs/types': 3.7.0 + + '@shikijs/themes@3.7.0': + dependencies: + '@shikijs/types': 3.7.0 + + '@shikijs/transformers@3.7.0': + dependencies: + '@shikijs/core': 3.7.0 + '@shikijs/types': 3.7.0 + + '@shikijs/types@3.7.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + '@sindresorhus/is@5.6.0': {} '@sindresorhus/slugify@2.2.1': @@ -4284,7 +4027,7 @@ snapshots: '@stoplight/json-ref-readers@1.2.2': dependencies: - node-fetch: 2.7.0 + node-fetch: 2.6.7 tslib: 1.14.1 transitivePeerDependencies: - encoding @@ -4329,7 +4072,7 @@ snapshots: ajv: 8.17.1 ajv-errors: 3.0.0(ajv@8.17.1) ajv-formats: 2.1.1(ajv@8.17.1) - es-aggregate-error: 1.0.13 + es-aggregate-error: 1.0.14 jsonpath-plus: 10.3.0 lodash: 4.17.21 lodash.topath: 4.5.2 @@ -4427,27 +4170,25 @@ snapshots: '@types/acorn@4.0.6': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 - '@types/cors@2.8.18': + '@types/cors@2.8.19': dependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 '@types/debug@4.1.12': dependencies: - '@types/ms': 0.7.34 + '@types/ms': 2.1.0 '@types/es-aggregate-error@1.0.6': dependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 - '@types/estree@1.0.5': {} - - '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} '@types/hast@2.3.10': dependencies: @@ -4477,7 +4218,7 @@ snapshots: '@types/mdx@2.0.13': {} - '@types/ms@0.7.34': {} + '@types/ms@2.1.0': {} '@types/nlcst@1.0.4': dependencies: @@ -4489,33 +4230,23 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 18.19.100 - form-data: 4.0.2 + '@types/node': 18.19.112 + form-data: 4.0.3 - '@types/node@18.19.100': + '@types/node@18.19.112': dependencies: undici-types: 5.26.5 - '@types/node@22.15.18': + '@types/node@24.0.4': dependencies: - undici-types: 6.21.0 - - '@types/node@22.5.5': - dependencies: - undici-types: 6.19.8 - optional: true + undici-types: 7.8.0 '@types/parse5@6.0.3': {} - '@types/prismjs@1.26.4': {} - '@types/prismjs@1.26.5': {} - '@types/prop-types@15.7.12': {} - - '@types/react@18.3.5': + '@types/react@19.1.8': dependencies: - '@types/prop-types': 15.7.12 csstype: 3.1.3 '@types/unist@2.0.11': {} @@ -4526,7 +4257,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.5.5 + '@types/node': 24.0.4 optional: true '@ungap/structured-clone@1.3.0': {} @@ -4540,26 +4271,14 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: - acorn: 8.12.1 + acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@8.14.1): - dependencies: - acorn: 8.14.1 - - acorn@8.12.1: {} - - acorn@8.14.1: {} + acorn@8.15.0: {} address@1.2.2: {} - agent-base@6.0.2: - dependencies: - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - agent-base@7.1.3: {} agentkeepalive@4.6.0: @@ -4590,7 +4309,7 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.1 + fast-uri: 3.0.6 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -4602,10 +4321,6 @@ snapshots: ansi-regex@6.1.0: {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -4635,7 +4350,7 @@ snapshots: array-buffer-byte-length: 1.0.2 call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.0 es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 @@ -4656,18 +4371,10 @@ snapshots: avsc@5.7.7: {} - axios@1.7.7: + axios@1.10.0: dependencies: follow-redirects: 1.15.9 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - - axios@1.9.0: - dependencies: - follow-redirects: 1.15.9 - form-data: 4.0.2 + form-data: 4.0.3 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -4698,7 +4405,7 @@ snapshots: bare-stream@2.6.5(bare-events@2.5.4): dependencies: - streamx: 2.22.0 + streamx: 2.22.1 optionalDependencies: bare-events: 2.5.4 optional: true @@ -4715,12 +4422,6 @@ snapshots: binary-extensions@2.3.0: {} - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - bl@5.1.0: dependencies: buffer: 6.0.3 @@ -4744,9 +4445,7 @@ snapshots: transitivePeerDependencies: - supports-color - boolbase@1.0.0: {} - - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 @@ -4778,7 +4477,7 @@ snapshots: http-cache-semantics: 4.2.0 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.1 + normalize-url: 8.0.2 responselike: 3.0.0 call-bind-apply-helpers@1.0.2: @@ -4798,20 +4497,10 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - call-me-maybe@1.0.2: {} - callsites@3.1.0: {} ccount@2.0.1: {} - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@5.3.0: {} - chalk@5.4.1: {} character-entities-html4@2.1.0: {} @@ -4824,25 +4513,6 @@ snapshots: chardet@0.7.0: {} - cheerio@0.22.0: - dependencies: - css-select: 1.2.0 - dom-serializer: 0.1.1 - entities: 1.1.2 - htmlparser2: 3.10.1 - lodash.assignin: 4.2.0 - lodash.bind: 4.2.1 - lodash.defaults: 4.2.0 - lodash.filter: 4.6.0 - lodash.flatten: 4.4.0 - lodash.foreach: 4.5.0 - lodash.map: 4.6.0 - lodash.merge: 4.6.2 - lodash.pick: 4.4.0 - lodash.reduce: 4.6.0 - lodash.reject: 4.6.0 - lodash.some: 4.6.0 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -4855,15 +4525,8 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@1.1.4: {} - chownr@2.0.0: {} - chromium-bidi@0.4.7(devtools-protocol@0.0.1107588): - dependencies: - devtools-protocol: 0.0.1107588 - mitt: 3.0.0 - chromium-bidi@0.6.3(devtools-protocol@0.0.1312386): dependencies: devtools-protocol: 0.0.1312386 @@ -4893,16 +4556,10 @@ snapshots: collapse-white-space@2.1.0: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} color-string@1.9.1: @@ -4942,13 +4599,6 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@8.1.3: - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - cosmiconfig@9.0.0: dependencies: env-paths: 2.2.1 @@ -4956,31 +4606,6 @@ snapshots: js-yaml: 4.1.0 parse-json: 5.2.0 - cross-fetch@3.1.5: - dependencies: - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding - - css-select@1.2.0: - dependencies: - boolbase: 1.0.0 - css-what: 2.1.3 - domutils: 1.5.1 - nth-check: 1.0.2 - - css-select@5.1.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.1.0 - nth-check: 2.1.1 - - css-what@2.1.3: {} - - css-what@6.1.0: {} - csstype@3.1.3: {} data-uri-to-buffer@6.0.2: {} @@ -5007,10 +4632,6 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.3.7: dependencies: ms: 2.1.3 @@ -5019,11 +4640,7 @@ snapshots: dependencies: ms: 2.1.3 - decode-named-character-reference@1.0.2: - dependencies: - character-entities: 2.0.2 - - decode-named-character-reference@1.1.0: + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -5080,8 +4697,6 @@ snapshots: dependencies: dequal: 2.0.3 - devtools-protocol@0.0.1107588: {} - devtools-protocol@0.0.1312386: {} diff@5.2.0: {} @@ -5094,45 +4709,6 @@ snapshots: dependencies: dns-packet: 5.6.1 - dom-serializer@0.1.1: - dependencies: - domelementtype: 1.3.1 - entities: 1.1.2 - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@1.3.1: {} - - domelementtype@2.3.0: {} - - domhandler@2.4.2: - dependencies: - domelementtype: 1.3.1 - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@1.5.1: - dependencies: - dom-serializer: 0.1.1 - domelementtype: 1.3.1 - - domutils@1.7.0: - dependencies: - dom-serializer: 0.1.1 - domelementtype: 1.3.1 - - domutils@3.1.0: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -5147,7 +4723,7 @@ snapshots: encodeurl@2.0.0: {} - end-of-stream@1.4.4: + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -5155,8 +4731,8 @@ snapshots: engine.io@6.6.4: dependencies: - '@types/cors': 2.8.18 - '@types/node': 22.15.18 + '@types/cors': 2.8.19 + '@types/node': 24.0.4 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -5169,11 +4745,7 @@ snapshots: - supports-color - utf-8-validate - entities@1.1.2: {} - - entities@4.5.0: {} - - entities@6.0.0: {} + entities@6.0.1: {} env-paths@2.2.1: {} @@ -5181,7 +4753,7 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.9: + es-abstract@1.24.0: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 @@ -5210,7 +4782,9 @@ snapshots: is-array-buffer: 3.0.5 is-callable: 1.2.7 is-data-view: 1.0.2 + is-negative-zero: 2.0.3 is-regex: 1.2.1 + is-set: 2.0.3 is-shared-array-buffer: 1.0.4 is-string: 1.1.1 is-typed-array: 1.1.15 @@ -5225,6 +4799,7 @@ snapshots: safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 string.prototype.trim: 1.2.10 string.prototype.trimend: 1.0.9 string.prototype.trimstart: 1.0.8 @@ -5235,11 +4810,11 @@ snapshots: unbox-primitive: 1.1.0 which-typed-array: 1.1.19 - es-aggregate-error@1.0.13: + es-aggregate-error@1.0.14: dependencies: define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.0 es-errors: 1.3.0 function-bind: 1.1.2 globalthis: 1.0.4 @@ -5277,7 +4852,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.12.1 + acorn: 8.15.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.2 @@ -5285,8 +4860,6 @@ snapshots: escape-html@1.0.3: {} - escape-string-regexp@1.0.5: {} - escape-string-regexp@5.0.0: {} escodegen@2.1.0: @@ -5303,11 +4876,11 @@ snapshots: estree-util-attach-comments@2.1.1: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 estree-util-attach-comments@3.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-util-build-jsx@2.2.2: dependencies: @@ -5328,7 +4901,7 @@ snapshots: estree-util-scope@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 estree-util-to-js@1.2.0: @@ -5355,7 +4928,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 esutils@2.0.3: {} @@ -5413,7 +4986,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.7 + debug: 4.4.1 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -5427,7 +5000,7 @@ snapshots: fast-memoize@2.5.2: {} - fast-uri@3.0.1: {} + fast-uri@3.0.6: {} fault@2.0.1: dependencies: @@ -5469,17 +5042,12 @@ snapshots: form-data-encoder@2.1.4: {} - form-data@4.0.0: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - form-data@4.0.2: + form-data@4.0.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 format@0.2.2: {} @@ -5493,14 +5061,6 @@ snapshots: fresh@0.5.2: {} - fs-constants@1.0.0: {} - - fs-extra@11.2.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 @@ -5551,7 +5111,7 @@ snapshots: get-stream@5.2.0: dependencies: - pump: 3.0.2 + pump: 3.0.3 get-stream@6.0.1: {} @@ -5619,8 +5179,6 @@ snapshots: has-bigints@1.1.0: {} - has-flag@3.0.0: {} - has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -5649,10 +5207,10 @@ snapshots: hastscript: 7.2.0 web-namespaces: 2.0.1 - hast-util-from-dom@5.0.0: + hast-util-from-dom@5.0.1: dependencies: '@types/hast': 3.0.4 - hastscript: 8.0.0 + hastscript: 9.0.1 web-namespaces: 2.0.1 hast-util-from-html-isomorphic@1.0.0: @@ -5665,27 +5223,18 @@ snapshots: hast-util-from-html-isomorphic@2.0.0: dependencies: '@types/hast': 3.0.4 - hast-util-from-dom: 5.0.0 - hast-util-from-html: 2.0.2 + hast-util-from-dom: 5.0.1 + hast-util-from-html: 2.0.3 unist-util-remove-position: 5.0.0 hast-util-from-html@1.0.2: dependencies: '@types/hast': 2.3.10 hast-util-from-parse5: 7.1.2 - parse5: 7.1.2 + parse5: 7.3.0 vfile: 5.3.7 vfile-message: 3.1.4 - hast-util-from-html@2.0.2: - dependencies: - '@types/hast': 3.0.4 - devlop: 1.1.0 - hast-util-from-parse5: 8.0.1 - parse5: 7.1.2 - vfile: 6.0.3 - vfile-message: 4.0.2 - hast-util-from-html@2.0.3: dependencies: '@types/hast': 3.0.4 @@ -5705,17 +5254,6 @@ snapshots: vfile-location: 4.1.0 web-namespaces: 2.0.1 - hast-util-from-parse5@8.0.1: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - hastscript: 8.0.0 - property-information: 6.5.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 - hast-util-from-parse5@8.0.3: dependencies: '@types/hast': 3.0.4 @@ -5784,7 +5322,7 @@ snapshots: hast-util-to-estree@2.3.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 '@types/hast': 2.3.10 '@types/unist': 2.0.11 @@ -5804,7 +5342,7 @@ snapshots: hast-util-to-estree@3.1.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 @@ -5817,7 +5355,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.16 + style-to-js: 1.1.17 unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: @@ -5853,7 +5391,7 @@ snapshots: hast-util-to-jsx-runtime@2.3.6: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/hast': 3.0.4 '@types/unist': 3.0.3 comma-separated-tokens: 2.0.3 @@ -5865,7 +5403,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.16 + style-to-js: 1.1.17 unist-util-position: 5.0.0 vfile-message: 4.0.2 transitivePeerDependencies: @@ -5925,6 +5463,8 @@ snapshots: dependencies: '@types/hast': 3.0.4 + hast@1.0.0: {} + hastscript@7.2.0: dependencies: '@types/hast': 2.3.10 @@ -5933,14 +5473,6 @@ snapshots: property-information: 6.5.0 space-separated-tokens: 2.0.2 - hastscript@8.0.0: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - hastscript@9.0.1: dependencies: '@types/hast': 3.0.4 @@ -5949,11 +5481,9 @@ snapshots: property-information: 7.1.0 space-separated-tokens: 2.0.2 - he@1.2.0: {} - honcho-ai@0.0.11: dependencies: - '@types/node': 18.19.100 + '@types/node': 18.19.112 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -5967,15 +5497,6 @@ snapshots: html-void-elements@3.0.0: {} - htmlparser2@3.10.1: - dependencies: - domelementtype: 1.3.1 - domhandler: 2.4.2 - domutils: 1.7.0 - entities: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - http-cache-semantics@4.2.0: {} http-errors@2.0.0: @@ -5998,13 +5519,6 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 @@ -6024,11 +5538,6 @@ snapshots: immer@9.0.21: {} - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -6042,17 +5551,17 @@ snapshots: inline-style-parser@0.2.4: {} - inquirer@12.6.1(@types/node@22.15.18): + inquirer@12.6.3(@types/node@24.0.4): dependencies: - '@inquirer/core': 10.1.11(@types/node@22.15.18) - '@inquirer/prompts': 7.5.1(@types/node@22.15.18) - '@inquirer/type': 3.0.6(@types/node@22.15.18) + '@inquirer/core': 10.1.13(@types/node@24.0.4) + '@inquirer/prompts': 7.5.3(@types/node@24.0.4) + '@inquirer/type': 3.0.7(@types/node@24.0.4) ansi-escapes: 4.3.2 mute-stream: 2.0.0 run-async: 3.0.0 rxjs: 7.8.2 optionalDependencies: - '@types/node': 22.15.18 + '@types/node': 24.0.4 internal-slot@1.1.0: dependencies: @@ -6159,6 +5668,8 @@ snapshots: is-map@2.0.3: {} + is-negative-zero@2.0.3: {} + is-number-object@1.1.1: dependencies: call-bound: 1.0.4 @@ -6175,9 +5686,9 @@ snapshots: is-plain-obj@4.1.0: {} - is-reference@3.0.2: + is-reference@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 is-regex@1.2.1: dependencies: @@ -6263,10 +5774,6 @@ snapshots: jsonpointer@5.0.1: {} - katex@0.16.11: - dependencies: - commander: 8.3.0 - katex@0.16.22: dependencies: commander: 8.3.0 @@ -6289,37 +5796,13 @@ snapshots: lines-and-columns@1.2.4: {} - lodash.assignin@4.2.0: {} - - lodash.bind@4.2.1: {} - - lodash.defaults@4.2.0: {} - - lodash.filter@4.6.0: {} - - lodash.flatten@4.4.0: {} - - lodash.foreach@4.5.0: {} - - lodash.map@4.6.0: {} - - lodash.merge@4.6.2: {} - - lodash.pick@4.4.0: {} - - lodash.reduce@4.6.0: {} - - lodash.reject@4.6.0: {} - - lodash.some@4.6.0: {} - lodash.topath@4.5.2: {} lodash@4.17.21: {} log-symbols@5.1.0: dependencies: - chalk: 5.3.0 + chalk: 5.4.1 is-unicode-supported: 1.3.0 longest-streak@3.1.0: {} @@ -6336,8 +5819,6 @@ snapshots: markdown-extensions@2.0.0: {} - markdown-table@3.0.3: {} - markdown-table@3.0.4: {} math-intrinsics@1.1.0: {} @@ -6366,7 +5847,7 @@ snapshots: dependencies: '@types/mdast': 3.0.15 '@types/unist': 2.0.11 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 mdast-util-to-string: 3.2.0 micromark: 3.2.0 micromark-util-decode-numeric-character-reference: 1.1.0 @@ -6383,7 +5864,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2 @@ -6460,7 +5941,7 @@ snapshots: mdast-util-gfm-table@1.0.7: dependencies: '@types/mdast': 3.0.15 - markdown-table: 3.0.3 + markdown-table: 3.0.4 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: @@ -6562,7 +6043,7 @@ snapshots: ccount: 2.0.1 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 - parse-entities: 4.0.1 + parse-entities: 4.0.2 stringify-entities: 4.0.4 unist-util-remove-position: 4.0.2 unist-util-stringify-position: 3.0.3 @@ -6702,7 +6183,7 @@ snapshots: micromark-core-commonmark@1.1.0: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 micromark-factory-destination: 1.1.0 micromark-factory-label: 1.1.0 micromark-factory-space: 1.1.0 @@ -6721,7 +6202,7 @@ snapshots: micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -6871,7 +6352,7 @@ snapshots: micromark-extension-math@2.1.2: dependencies: '@types/katex': 0.16.7 - katex: 0.16.11 + katex: 0.16.22 micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 @@ -6890,7 +6371,7 @@ snapshots: micromark-extension-mdx-expression@1.0.8: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 micromark-factory-mdx-expression: 1.0.9 micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 @@ -6901,7 +6382,7 @@ snapshots: micromark-extension-mdx-expression@3.0.1: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.3 micromark-factory-space: 2.0.1 @@ -6913,7 +6394,7 @@ snapshots: micromark-extension-mdx-jsx@1.0.5: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 estree-util-is-identifier-name: 2.1.0 micromark-factory-mdx-expression: 1.0.9 micromark-factory-space: 1.1.0 @@ -6925,7 +6406,7 @@ snapshots: micromark-extension-mdx-jsx@3.0.2: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.3 @@ -6946,7 +6427,7 @@ snapshots: micromark-extension-mdxjs-esm@1.0.5: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 micromark-core-commonmark: 1.1.0 micromark-util-character: 1.2.0 micromark-util-events-to-acorn: 1.2.3 @@ -6958,7 +6439,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-util-character: 2.1.1 @@ -6970,8 +6451,8 @@ snapshots: micromark-extension-mdxjs@1.0.1: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) micromark-extension-mdx-expression: 1.0.8 micromark-extension-mdx-jsx: 1.0.5 micromark-extension-mdx-md: 1.0.1 @@ -6981,8 +6462,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -7018,7 +6499,7 @@ snapshots: micromark-factory-mdx-expression@1.0.9: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 micromark-util-character: 1.2.0 micromark-util-events-to-acorn: 1.2.3 micromark-util-symbol: 1.1.0 @@ -7029,7 +6510,7 @@ snapshots: micromark-factory-mdx-expression@2.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 devlop: 1.1.0 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 @@ -7127,14 +6608,14 @@ snapshots: micromark-util-decode-string@1.1.0: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 micromark-util-character: 1.2.0 micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -7146,7 +6627,7 @@ snapshots: micromark-util-events-to-acorn@1.2.3: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 '@types/unist': 2.0.11 estree-util-visit: 1.2.1 micromark-util-symbol: 1.1.0 @@ -7156,7 +6637,7 @@ snapshots: micromark-util-events-to-acorn@2.0.3: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -7221,8 +6702,8 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.7 - decode-named-character-reference: 1.0.2 + debug: 4.4.1 + decode-named-character-reference: 1.2.0 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 @@ -7244,7 +6725,7 @@ snapshots: dependencies: '@types/debug': 4.1.12 debug: 4.4.1 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -7278,7 +6759,7 @@ snapshots: minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minipass@3.3.6: dependencies: @@ -7291,9 +6772,9 @@ snapshots: minipass: 3.3.6 yallist: 4.0.0 - mintlify@4.0.531(@types/node@22.15.18)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mint@4.1.96(@types/node@24.0.4)(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@mintlify/cli': 4.0.529(@types/node@22.15.18)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mintlify/cli': 4.0.597(@types/node@24.0.4)(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@types/node' - '@types/react' @@ -7307,20 +6788,30 @@ snapshots: - typescript - utf-8-validate - mitt@3.0.0: {} + mintlify@4.1.96(@types/node@24.0.4)(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@mintlify/cli': 4.0.597(@types/node@24.0.4)(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@types/node' + - '@types/react' + - bare-buffer + - bufferutil + - debug + - encoding + - react + - react-dom + - supports-color + - typescript + - utf-8-validate mitt@3.0.1: {} - mkdirp-classic@0.5.3: {} - mkdirp@1.0.4: {} mri@1.2.0: {} ms@2.0.0: {} - ms@2.1.2: {} - ms@2.1.3: {} mute-stream@2.0.0: {} @@ -7331,14 +6822,14 @@ snapshots: netmask@2.0.2: {} - next-mdx-remote-client@1.1.1(@types/react@18.3.5)(acorn@8.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-mdx-remote-client@1.1.1(@types/react@19.1.8)(acorn@8.15.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(unified@11.0.5): dependencies: '@babel/code-frame': 7.27.1 - '@mdx-js/mdx': 3.1.0(acorn@8.14.1) - '@mdx-js/react': 3.1.0(@types/react@18.3.5)(react@18.3.1) + '@mdx-js/mdx': 3.1.0(acorn@8.15.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.8)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - remark-mdx-remove-esm: 1.1.0 + remark-mdx-remove-esm: 1.2.0(unified@11.0.5) serialize-error: 12.0.0 vfile: 6.0.3 vfile-matter: 5.0.1 @@ -7346,6 +6837,7 @@ snapshots: - '@types/react' - acorn - supports-color + - unified next-mdx-remote@4.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -7386,26 +6878,9 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-html-markdown@1.3.0: - dependencies: - node-html-parser: 6.1.13 - - node-html-parser@6.1.13: - dependencies: - css-select: 5.1.0 - he: 1.2.0 - normalize-path@3.0.0: {} - normalize-url@8.0.1: {} - - nth-check@1.0.2: - dependencies: - boolbase: 1.0.0 - - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 + normalize-url@8.0.2: {} object-assign@4.1.1: {} @@ -7434,6 +6909,14 @@ snapshots: dependencies: mimic-fn: 2.1.0 + oniguruma-parser@0.12.1: {} + + oniguruma-to-es@4.3.3: + dependencies: + oniguruma-parser: 0.12.1 + regex: 6.0.1 + regex-recursion: 6.0.2 + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -7444,7 +6927,7 @@ snapshots: ora@6.3.1: dependencies: - chalk: 5.3.0 + chalk: 5.4.1 cli-cursor: 4.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 @@ -7498,30 +6981,19 @@ snapshots: dependencies: callsites: 3.1.0 - parse-entities@4.0.1: - dependencies: - '@types/unist': 2.0.11 - character-entities: 2.0.2 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - parse-entities@4.0.2: dependencies: '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -7543,29 +7015,21 @@ snapshots: parse5@6.0.1: {} - parse5@7.1.2: - dependencies: - entities: 4.5.0 - parse5@7.3.0: dependencies: - entities: 6.0.0 + entities: 6.0.1 parseurl@1.3.3: {} path-to-regexp@0.1.12: {} - path-type@4.0.0: {} - pend@1.2.0: {} periscopic@3.1.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.8 estree-walker: 3.0.3 - is-reference: 3.0.2 - - picocolors@1.1.0: {} + is-reference: 3.0.3 picocolors@1.1.1: {} @@ -7607,30 +7071,11 @@ snapshots: got: 12.6.1 is-ip: 3.1.0 - pump@3.0.2: + pump@3.0.3: dependencies: - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 once: 1.4.0 - puppeteer-core@19.11.1: - dependencies: - '@puppeteer/browsers': 0.5.0 - chromium-bidi: 0.4.7(devtools-protocol@0.0.1107588) - cross-fetch: 3.1.5 - debug: 4.3.4 - devtools-protocol: 0.0.1107588 - extract-zip: 2.0.1 - https-proxy-agent: 5.0.1 - proxy-from-env: 1.1.0 - tar-fs: 2.1.1 - unbzip2-stream: 1.4.3 - ws: 8.13.0 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - puppeteer-core@22.15.0: dependencies: '@puppeteer/browsers': 2.3.0 @@ -7644,21 +7089,6 @@ snapshots: - supports-color - utf-8-validate - puppeteer@19.11.1: - dependencies: - '@puppeteer/browsers': 0.5.0 - cosmiconfig: 8.1.3 - https-proxy-agent: 5.0.1 - progress: 2.0.3 - proxy-from-env: 1.1.0 - puppeteer-core: 19.11.1 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - puppeteer@22.15.0: dependencies: '@puppeteer/browsers': 2.3.0 @@ -7709,13 +7139,13 @@ snapshots: recma-build-jsx@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.0(acorn@8.14.1): + recma-jsx@1.0.0(acorn@8.15.0): dependencies: - acorn-jsx: 5.3.2(acorn@8.14.1) + acorn-jsx: 5.3.2(acorn@8.15.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -7725,14 +7155,14 @@ snapshots: recma-parse@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 esast-util-from-js: 2.0.1 unified: 11.0.5 vfile: 6.0.3 recma-stringify@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 estree-util-to-js: 2.0.0 unified: 11.0.5 vfile: 6.0.3 @@ -7741,20 +7171,13 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.0 es-errors: 1.3.0 es-object-atoms: 1.1.1 get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 - refractor@4.8.1: - dependencies: - '@types/hast': 2.3.10 - '@types/prismjs': 1.26.4 - hastscript: 7.2.0 - parse-entities: 4.0.1 - refractor@4.9.0: dependencies: '@types/hast': 2.3.10 @@ -7762,6 +7185,16 @@ snapshots: hastscript: 7.2.0 parse-entities: 4.0.2 + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.0.1: + dependencies: + regex-utilities: 2.3.0 + regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 @@ -7777,7 +7210,7 @@ snapshots: '@types/katex': 0.14.0 hast-util-from-html-isomorphic: 1.0.0 hast-util-to-text: 3.1.2 - katex: 0.16.11 + katex: 0.16.22 unist-util-visit: 4.1.2 rehype-katex@7.0.1: @@ -7803,7 +7236,7 @@ snapshots: rehype-recma@1.0.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/hast': 3.0.4 hast-util-to-estree: 3.1.3 transitivePeerDependencies: @@ -7861,10 +7294,11 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx-remove-esm@1.1.0: + remark-mdx-remove-esm@1.2.0(unified@11.0.5): dependencies: '@types/mdast': 4.0.4 mdast-util-mdxjs-esm: 2.0.1 + unified: 11.0.5 unist-util-remove: 4.0.0 transitivePeerDependencies: - supports-color @@ -8156,6 +7590,17 @@ snapshots: '@img/sharp-win32-ia32': 0.33.5 '@img/sharp-win32-x64': 0.33.5 + shiki@3.7.0: + dependencies: + '@shikijs/core': 3.7.0 + '@shikijs/engine-javascript': 3.7.0 + '@shikijs/engine-oniguruma': 3.7.0 + '@shikijs/langs': 3.7.0 + '@shikijs/themes': 3.7.0 + '@shikijs/types': 3.7.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -8232,11 +7677,11 @@ snapshots: dependencies: agent-base: 7.1.3 debug: 4.4.1 - socks: 2.8.4 + socks: 2.8.5 transitivePeerDependencies: - supports-color - socks@2.8.4: + socks@2.8.5: dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 @@ -8258,7 +7703,12 @@ snapshots: dependencies: bl: 5.1.0 - streamx@2.22.0: + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + streamx@2.22.1: dependencies: fast-fifo: 1.3.2 text-decoder: 1.2.3 @@ -8277,7 +7727,7 @@ snapshots: call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.24.0 es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 @@ -8313,32 +7763,21 @@ snapshots: strip-bom-string@1.0.0: {} - style-to-js@1.1.16: + style-to-js@1.1.17: dependencies: - style-to-object: 1.0.8 + style-to-object: 1.0.9 style-to-object@0.4.4: dependencies: inline-style-parser: 0.1.1 - style-to-object@1.0.8: + style-to-object@1.0.9: dependencies: inline-style-parser: 0.2.4 - supports-color@5.5.0: + tar-fs@3.0.10: dependencies: - has-flag: 3.0.0 - - tar-fs@2.1.1: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 2.2.0 - - tar-fs@3.0.8: - dependencies: - pump: 3.0.2 + pump: 3.0.3 tar-stream: 3.1.7 optionalDependencies: bare-fs: 4.1.5 @@ -8346,19 +7785,11 @@ snapshots: transitivePeerDependencies: - bare-buffer - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - tar-stream@3.1.7: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.22.0 + streamx: 2.22.1 tar@6.2.1: dependencies: @@ -8387,6 +7818,12 @@ snapshots: tr46@0.0.3: {} + traverse@0.6.11: + dependencies: + gopd: 1.2.0 + typedarray.prototype.slice: 1.0.5 + which-typed-array: 1.1.19 + trim-lines@3.0.1: {} trim-trailing-lines@2.1.0: {} @@ -8439,6 +7876,17 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 + typedarray.prototype.slice@1.0.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + get-proto: 1.0.1 + math-intrinsics: 1.1.0 + typed-array-buffer: 1.0.3 + typed-array-byte-offset: 1.0.4 + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -8453,10 +7901,7 @@ snapshots: undici-types@5.26.5: {} - undici-types@6.19.8: - optional: true - - undici-types@6.21.0: {} + undici-types@7.8.0: {} unherit@3.0.1: {} @@ -8738,8 +8183,6 @@ snapshots: wrappy@1.0.2: {} - ws@8.13.0: {} - ws@8.17.1: {} ws@8.18.2: {} @@ -8759,16 +8202,6 @@ snapshots: yargs-parser@21.1.1: {} - yargs@17.7.1: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - yargs@17.7.2: dependencies: cliui: 8.0.1 @@ -8786,16 +8219,12 @@ snapshots: yoctocolors-cjs@2.1.2: {} - zod-to-json-schema@3.23.3(zod@3.23.8): + zod-to-json-schema@3.24.6(zod@3.25.67): dependencies: - zod: 3.23.8 - - zod-to-json-schema@3.24.5(zod@3.24.4): - dependencies: - zod: 3.24.4 + zod: 3.25.67 zod@3.23.8: {} - zod@3.24.4: {} + zod@3.25.67: {} zwitch@2.0.4: {} diff --git a/docs/v1/README.md b/docs/v1/README.md new file mode 100644 index 00000000..59d1aa49 --- /dev/null +++ b/docs/v1/README.md @@ -0,0 +1 @@ +This subdirectory contains the app/user/session paradigm documentation for Honcho (Honcho v1.1.0). \ No newline at end of file diff --git a/docs/api-reference/endpoint/apps/create-app.mdx b/docs/v1/api-reference/endpoint/apps/create-app.mdx similarity index 100% rename from docs/api-reference/endpoint/apps/create-app.mdx rename to docs/v1/api-reference/endpoint/apps/create-app.mdx diff --git a/docs/api-reference/endpoint/apps/get-all-apps.mdx b/docs/v1/api-reference/endpoint/apps/get-all-apps.mdx similarity index 100% rename from docs/api-reference/endpoint/apps/get-all-apps.mdx rename to docs/v1/api-reference/endpoint/apps/get-all-apps.mdx diff --git a/docs/api-reference/endpoint/apps/get-app-by-name.mdx b/docs/v1/api-reference/endpoint/apps/get-app-by-name.mdx similarity index 100% rename from docs/api-reference/endpoint/apps/get-app-by-name.mdx rename to docs/v1/api-reference/endpoint/apps/get-app-by-name.mdx diff --git a/docs/api-reference/endpoint/apps/get-app.mdx b/docs/v1/api-reference/endpoint/apps/get-app.mdx similarity index 100% rename from docs/api-reference/endpoint/apps/get-app.mdx rename to docs/v1/api-reference/endpoint/apps/get-app.mdx diff --git a/docs/api-reference/endpoint/apps/get-or-create-app.mdx b/docs/v1/api-reference/endpoint/apps/get-or-create-app.mdx similarity index 100% rename from docs/api-reference/endpoint/apps/get-or-create-app.mdx rename to docs/v1/api-reference/endpoint/apps/get-or-create-app.mdx diff --git a/docs/api-reference/endpoint/apps/update-app.mdx b/docs/v1/api-reference/endpoint/apps/update-app.mdx similarity index 100% rename from docs/api-reference/endpoint/apps/update-app.mdx rename to docs/v1/api-reference/endpoint/apps/update-app.mdx diff --git a/docs/api-reference/endpoint/collections/create-collection.mdx b/docs/v1/api-reference/endpoint/collections/create-collection.mdx similarity index 100% rename from docs/api-reference/endpoint/collections/create-collection.mdx rename to docs/v1/api-reference/endpoint/collections/create-collection.mdx diff --git a/docs/api-reference/endpoint/collections/delete-collection.mdx b/docs/v1/api-reference/endpoint/collections/delete-collection.mdx similarity index 100% rename from docs/api-reference/endpoint/collections/delete-collection.mdx rename to docs/v1/api-reference/endpoint/collections/delete-collection.mdx diff --git a/docs/api-reference/endpoint/collections/get-collection-by-name.mdx b/docs/v1/api-reference/endpoint/collections/get-collection-by-name.mdx similarity index 100% rename from docs/api-reference/endpoint/collections/get-collection-by-name.mdx rename to docs/v1/api-reference/endpoint/collections/get-collection-by-name.mdx diff --git a/docs/api-reference/endpoint/collections/get-collection.mdx b/docs/v1/api-reference/endpoint/collections/get-collection.mdx similarity index 100% rename from docs/api-reference/endpoint/collections/get-collection.mdx rename to docs/v1/api-reference/endpoint/collections/get-collection.mdx diff --git a/docs/api-reference/endpoint/collections/get-collections.mdx b/docs/v1/api-reference/endpoint/collections/get-collections.mdx similarity index 100% rename from docs/api-reference/endpoint/collections/get-collections.mdx rename to docs/v1/api-reference/endpoint/collections/get-collections.mdx diff --git a/docs/api-reference/endpoint/collections/update-collection.mdx b/docs/v1/api-reference/endpoint/collections/update-collection.mdx similarity index 100% rename from docs/api-reference/endpoint/collections/update-collection.mdx rename to docs/v1/api-reference/endpoint/collections/update-collection.mdx diff --git a/docs/api-reference/endpoint/documents/create-document.mdx b/docs/v1/api-reference/endpoint/documents/create-document.mdx similarity index 100% rename from docs/api-reference/endpoint/documents/create-document.mdx rename to docs/v1/api-reference/endpoint/documents/create-document.mdx diff --git a/docs/api-reference/endpoint/documents/delete-document.mdx b/docs/v1/api-reference/endpoint/documents/delete-document.mdx similarity index 100% rename from docs/api-reference/endpoint/documents/delete-document.mdx rename to docs/v1/api-reference/endpoint/documents/delete-document.mdx diff --git a/docs/api-reference/endpoint/documents/get-document.mdx b/docs/v1/api-reference/endpoint/documents/get-document.mdx similarity index 100% rename from docs/api-reference/endpoint/documents/get-document.mdx rename to docs/v1/api-reference/endpoint/documents/get-document.mdx diff --git a/docs/api-reference/endpoint/documents/get-documents.mdx b/docs/v1/api-reference/endpoint/documents/get-documents.mdx similarity index 100% rename from docs/api-reference/endpoint/documents/get-documents.mdx rename to docs/v1/api-reference/endpoint/documents/get-documents.mdx diff --git a/docs/api-reference/endpoint/documents/query-documents.mdx b/docs/v1/api-reference/endpoint/documents/query-documents.mdx similarity index 100% rename from docs/api-reference/endpoint/documents/query-documents.mdx rename to docs/v1/api-reference/endpoint/documents/query-documents.mdx diff --git a/docs/api-reference/endpoint/documents/update-document.mdx b/docs/v1/api-reference/endpoint/documents/update-document.mdx similarity index 100% rename from docs/api-reference/endpoint/documents/update-document.mdx rename to docs/v1/api-reference/endpoint/documents/update-document.mdx diff --git a/docs/api-reference/endpoint/keys/create-key.mdx b/docs/v1/api-reference/endpoint/keys/create-key.mdx similarity index 100% rename from docs/api-reference/endpoint/keys/create-key.mdx rename to docs/v1/api-reference/endpoint/keys/create-key.mdx diff --git a/docs/api-reference/endpoint/messages/create-batch-messages-for-session.mdx b/docs/v1/api-reference/endpoint/messages/create-batch-messages-for-session.mdx similarity index 100% rename from docs/api-reference/endpoint/messages/create-batch-messages-for-session.mdx rename to docs/v1/api-reference/endpoint/messages/create-batch-messages-for-session.mdx diff --git a/docs/api-reference/endpoint/messages/create-message-for-session.mdx b/docs/v1/api-reference/endpoint/messages/create-message-for-session.mdx similarity index 100% rename from docs/api-reference/endpoint/messages/create-message-for-session.mdx rename to docs/v1/api-reference/endpoint/messages/create-message-for-session.mdx diff --git a/docs/api-reference/endpoint/messages/get-message.mdx b/docs/v1/api-reference/endpoint/messages/get-message.mdx similarity index 100% rename from docs/api-reference/endpoint/messages/get-message.mdx rename to docs/v1/api-reference/endpoint/messages/get-message.mdx diff --git a/docs/api-reference/endpoint/messages/get-messages.mdx b/docs/v1/api-reference/endpoint/messages/get-messages.mdx similarity index 100% rename from docs/api-reference/endpoint/messages/get-messages.mdx rename to docs/v1/api-reference/endpoint/messages/get-messages.mdx diff --git a/docs/api-reference/endpoint/messages/update-message.mdx b/docs/v1/api-reference/endpoint/messages/update-message.mdx similarity index 100% rename from docs/api-reference/endpoint/messages/update-message.mdx rename to docs/v1/api-reference/endpoint/messages/update-message.mdx diff --git a/docs/api-reference/endpoint/metamessages/create-metamessage.mdx b/docs/v1/api-reference/endpoint/metamessages/create-metamessage.mdx similarity index 100% rename from docs/api-reference/endpoint/metamessages/create-metamessage.mdx rename to docs/v1/api-reference/endpoint/metamessages/create-metamessage.mdx diff --git a/docs/api-reference/endpoint/metamessages/get-metamessage.mdx b/docs/v1/api-reference/endpoint/metamessages/get-metamessage.mdx similarity index 100% rename from docs/api-reference/endpoint/metamessages/get-metamessage.mdx rename to docs/v1/api-reference/endpoint/metamessages/get-metamessage.mdx diff --git a/docs/api-reference/endpoint/metamessages/get-metamessages.mdx b/docs/v1/api-reference/endpoint/metamessages/get-metamessages.mdx similarity index 100% rename from docs/api-reference/endpoint/metamessages/get-metamessages.mdx rename to docs/v1/api-reference/endpoint/metamessages/get-metamessages.mdx diff --git a/docs/api-reference/endpoint/metamessages/update-metamessage.mdx b/docs/v1/api-reference/endpoint/metamessages/update-metamessage.mdx similarity index 100% rename from docs/api-reference/endpoint/metamessages/update-metamessage.mdx rename to docs/v1/api-reference/endpoint/metamessages/update-metamessage.mdx diff --git a/docs/api-reference/endpoint/sessions/chat-stream.mdx b/docs/v1/api-reference/endpoint/sessions/chat-stream.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/chat-stream.mdx rename to docs/v1/api-reference/endpoint/sessions/chat-stream.mdx diff --git a/docs/api-reference/endpoint/sessions/chat.mdx b/docs/v1/api-reference/endpoint/sessions/chat.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/chat.mdx rename to docs/v1/api-reference/endpoint/sessions/chat.mdx diff --git a/docs/api-reference/endpoint/sessions/clone-session.mdx b/docs/v1/api-reference/endpoint/sessions/clone-session.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/clone-session.mdx rename to docs/v1/api-reference/endpoint/sessions/clone-session.mdx diff --git a/docs/api-reference/endpoint/sessions/create-session.mdx b/docs/v1/api-reference/endpoint/sessions/create-session.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/create-session.mdx rename to docs/v1/api-reference/endpoint/sessions/create-session.mdx diff --git a/docs/api-reference/endpoint/sessions/delete-session.mdx b/docs/v1/api-reference/endpoint/sessions/delete-session.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/delete-session.mdx rename to docs/v1/api-reference/endpoint/sessions/delete-session.mdx diff --git a/docs/api-reference/endpoint/sessions/get-chat-stream.mdx b/docs/v1/api-reference/endpoint/sessions/get-chat-stream.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/get-chat-stream.mdx rename to docs/v1/api-reference/endpoint/sessions/get-chat-stream.mdx diff --git a/docs/api-reference/endpoint/sessions/get-session.mdx b/docs/v1/api-reference/endpoint/sessions/get-session.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/get-session.mdx rename to docs/v1/api-reference/endpoint/sessions/get-session.mdx diff --git a/docs/api-reference/endpoint/sessions/get-sessions.mdx b/docs/v1/api-reference/endpoint/sessions/get-sessions.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/get-sessions.mdx rename to docs/v1/api-reference/endpoint/sessions/get-sessions.mdx diff --git a/docs/api-reference/endpoint/sessions/update-session.mdx b/docs/v1/api-reference/endpoint/sessions/update-session.mdx similarity index 100% rename from docs/api-reference/endpoint/sessions/update-session.mdx rename to docs/v1/api-reference/endpoint/sessions/update-session.mdx diff --git a/docs/api-reference/endpoint/users/create-user.mdx b/docs/v1/api-reference/endpoint/users/create-user.mdx similarity index 100% rename from docs/api-reference/endpoint/users/create-user.mdx rename to docs/v1/api-reference/endpoint/users/create-user.mdx diff --git a/docs/api-reference/endpoint/users/get-or-create-user.mdx b/docs/v1/api-reference/endpoint/users/get-or-create-user.mdx similarity index 100% rename from docs/api-reference/endpoint/users/get-or-create-user.mdx rename to docs/v1/api-reference/endpoint/users/get-or-create-user.mdx diff --git a/docs/api-reference/endpoint/users/get-user-by-name.mdx b/docs/v1/api-reference/endpoint/users/get-user-by-name.mdx similarity index 100% rename from docs/api-reference/endpoint/users/get-user-by-name.mdx rename to docs/v1/api-reference/endpoint/users/get-user-by-name.mdx diff --git a/docs/api-reference/endpoint/users/get-user.mdx b/docs/v1/api-reference/endpoint/users/get-user.mdx similarity index 100% rename from docs/api-reference/endpoint/users/get-user.mdx rename to docs/v1/api-reference/endpoint/users/get-user.mdx diff --git a/docs/api-reference/endpoint/users/get-users.mdx b/docs/v1/api-reference/endpoint/users/get-users.mdx similarity index 100% rename from docs/api-reference/endpoint/users/get-users.mdx rename to docs/v1/api-reference/endpoint/users/get-users.mdx diff --git a/docs/api-reference/endpoint/users/update-user.mdx b/docs/v1/api-reference/endpoint/users/update-user.mdx similarity index 100% rename from docs/api-reference/endpoint/users/update-user.mdx rename to docs/v1/api-reference/endpoint/users/update-user.mdx diff --git a/docs/api-reference/introduction.mdx b/docs/v1/api-reference/introduction.mdx similarity index 93% rename from docs/api-reference/introduction.mdx rename to docs/v1/api-reference/introduction.mdx index 1b6298b3..2ded7a6e 100644 --- a/docs/api-reference/introduction.mdx +++ b/docs/v1/api-reference/introduction.mdx @@ -4,7 +4,7 @@ title: 'Introduction' This section of the documentation goes over all of the different API endpoints available in the Honcho Server. They largely map to CRUD operations for each of the core primitives. For information about the core -primitives consult [Architecture](/getting-started/Architecture) +primitives consult [Architecture](/v1/getting-started/architecture) This part of the documentation is autogenerated for the most up to date and accurate API spec view the diff --git a/docs/contributing/deploying.mdx b/docs/v1/contributing/deploying.mdx similarity index 100% rename from docs/contributing/deploying.mdx rename to docs/v1/contributing/deploying.mdx diff --git a/docs/contributing/error-handling.mdx b/docs/v1/contributing/error-handling.mdx similarity index 100% rename from docs/contributing/error-handling.mdx rename to docs/v1/contributing/error-handling.mdx diff --git a/docs/contributing/guidelines.mdx b/docs/v1/contributing/guidelines.mdx similarity index 100% rename from docs/contributing/guidelines.mdx rename to docs/v1/contributing/guidelines.mdx diff --git a/docs/contributing/license.mdx b/docs/v1/contributing/license.mdx similarity index 100% rename from docs/contributing/license.mdx rename to docs/v1/contributing/license.mdx diff --git a/docs/contributing/self-hosting.mdx b/docs/v1/contributing/self-hosting.mdx similarity index 100% rename from docs/contributing/self-hosting.mdx rename to docs/v1/contributing/self-hosting.mdx diff --git a/docs/getting-started/architecture.mdx b/docs/v1/getting-started/architecture.mdx similarity index 100% rename from docs/getting-started/architecture.mdx rename to docs/v1/getting-started/architecture.mdx diff --git a/docs/getting-started/development.mdx b/docs/v1/getting-started/development.mdx similarity index 98% rename from docs/getting-started/development.mdx rename to docs/v1/getting-started/development.mdx index 87830089..b54faf5b 100644 --- a/docs/getting-started/development.mdx +++ b/docs/v1/getting-started/development.mdx @@ -95,4 +95,4 @@ Repeat step 3. -Curious about what changed in a CLI version? [Check out the CLI changelog.](/changelog/command-line) +Curious about what changed in a CLI version? [Check out the CLI changelog.](/changelog/introduction) \ No newline at end of file diff --git a/docs/getting-started/introduction.mdx b/docs/v1/getting-started/introduction.mdx similarity index 95% rename from docs/getting-started/introduction.mdx rename to docs/v1/getting-started/introduction.mdx index 0da4356a..2c69f514 100644 --- a/docs/getting-started/introduction.mdx +++ b/docs/v1/getting-started/introduction.mdx @@ -24,14 +24,14 @@ Get started below! Quickly set up a local environment to interface with the Honcho API Get an overview of the different primitives and structure of Honcho diff --git a/docs/getting-started/quickstart.mdx b/docs/v1/getting-started/quickstart.mdx similarity index 99% rename from docs/getting-started/quickstart.mdx rename to docs/v1/getting-started/quickstart.mdx index e6484ea1..a4726715 100644 --- a/docs/getting-started/quickstart.mdx +++ b/docs/v1/getting-started/quickstart.mdx @@ -130,4 +130,4 @@ for await (const session of honcho.apps.users.sessions.list(app.id, user.id)) { This is a super simple overview of how to get up and running with the Honcho SDK. We covered the basic methods for reading and writing from the hosted storage service. Next, we'll cover alternative forms of hosting Honcho. -For a more detailed look at the SDK check out the SDK reference [here](/api-reference). +For a more detailed look at the SDK check out the SDK reference [here](/v1/api-reference). diff --git a/docs/guides/dialectic-endpoint.mdx b/docs/v1/guides/dialectic-endpoint.mdx similarity index 100% rename from docs/guides/dialectic-endpoint.mdx rename to docs/v1/guides/dialectic-endpoint.mdx diff --git a/docs/guides/discord.mdx b/docs/v1/guides/discord.mdx similarity index 98% rename from docs/guides/discord.mdx rename to docs/v1/guides/discord.mdx index 797f15c2..939f5441 100644 --- a/docs/guides/discord.mdx +++ b/docs/v1/guides/discord.mdx @@ -154,7 +154,7 @@ def get_session(user_id, location_id, create=False): # Query for *active* sessions with both user_id and location_id sessions_iter = honcho.apps.users.sessions.list( - app_id=app.id, user_id=user_id, reverse=True, is_active=True + app_id=app.id, user_id=user_id, reverse=True, filter={"is_active": True} ) sessions = list(session for session in sessions_iter) @@ -175,7 +175,7 @@ def get_session(user_id, location_id, create=False): return None, False ``` -You can see the `list` method on the sessions object similarly returns an iterable. This is a common pattern in Honcho--use list comprehension to create your new python list. Then loop through those session objects to find the appropriate `location_id` in the metadata, and if none are found then create a new session. You'll also notice we list messages in `reverse=True` order--this means you will get the most recent ones first. We also support native filtering by active sessions. +You can see the `list` method on the sessions object similarly returns an iterable. This is a common pattern in Honcho--use list comprehension to create your new python list. Then loop through those session objects to find the appropriate `location_id` in the metadata, and if none are found then create a new session. You'll also notice we list messages in `reverse=True` order--this means you will get the most recent ones first. We also support native filtering by active sessions and any other fields or user-defined metadata on the session object. The next helper function we create is called `llm`. This simplifies constructing the chat message object we're going to send to the inference provider. diff --git a/docs/guides/honcho-mcp.mdx b/docs/v1/guides/honcho-mcp.mdx similarity index 100% rename from docs/guides/honcho-mcp.mdx rename to docs/v1/guides/honcho-mcp.mdx diff --git a/docs/guides/overview.mdx b/docs/v1/guides/overview.mdx similarity index 100% rename from docs/guides/overview.mdx rename to docs/v1/guides/overview.mdx diff --git a/docs/guides/simple-memory.mdx b/docs/v1/guides/simple-memory.mdx similarity index 100% rename from docs/guides/simple-memory.mdx rename to docs/v1/guides/simple-memory.mdx diff --git a/docs/guides/streaming-response.mdx b/docs/v1/guides/streaming-response.mdx similarity index 100% rename from docs/guides/streaming-response.mdx rename to docs/v1/guides/streaming-response.mdx diff --git a/docs/v1/openapi.json b/docs/v1/openapi.json new file mode 100644 index 00000000..643f0151 --- /dev/null +++ b/docs/v1/openapi.json @@ -0,0 +1,5172 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Honcho API", + "summary": "The Identity Layer for the Agentic World", + "description": "Honcho is a platform for giving agents user-centric memory and social cognition", + "contact": { + "name": "Plastic Labs", + "url": "https://honcho.dev/", + "email": "hello@plasticlabs.ai" + }, + "version": "1.1.0" + }, + "servers": [ + { + "url": "http://localhost:8000", + "description": "Local Development Server" + }, + { + "url": "https://demo.honcho.dev", + "description": "Demo Server" + }, + { + "url": "https://api.honcho.dev", + "description": "Production SaaS Platform" + } + ], + "paths": { + "/v1/apps": { + "get": { + "tags": [ + "apps" + ], + "summary": "Get App", + "description": "Get an App by ID.\n\nIf app_id is provided as a query parameter, it uses that (must match JWT app_id).\nOtherwise, it uses the app_id from the JWT token.", + "operationId": "get_app_v1_apps_get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "App ID to retrieve. If not provided, uses JWT token", + "title": "App Id" + }, + "description": "App ID to retrieve. If not provided, uses JWT token" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/App" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const app = await client.apps.get();\n\n console.log(app.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\napp = client.apps.get()\nprint(app.id)" + } + ] + }, + "post": { + "tags": [ + "apps" + ], + "summary": "Create App", + "description": "Create a new App", + "operationId": "create_app_v1_apps_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppCreate", + "description": "App creation parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/App" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const app = await client.apps.create({ name: 'x' });\n\n console.log(app.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\napp = client.apps.create(\n name=\"x\",\n)\nprint(app.id)" + } + ] + } + }, + "/v1/apps/list": { + "post": { + "tags": [ + "apps" + ], + "summary": "Get All Apps", + "description": "Get all Apps", + "operationId": "get_all_apps_v1_apps_list_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "reverse", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether to reverse the order of results", + "default": false, + "title": "Reverse" + }, + "description": "Whether to reverse the order of results" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/AppGet" + }, + { + "type": "null" + } + ], + "description": "Filtering and pagination options for the apps list", + "title": "Options" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_App_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n // Automatically fetches more pages as needed.\n for await (const app of client.apps.list()) {\n console.log(app.id);\n }\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\npage = client.apps.list()\npage = page.items[0]\nprint(page.id)" + } + ] + } + }, + "/v1/apps/name/{name}": { + "get": { + "tags": [ + "apps" + ], + "summary": "Get App By Name", + "description": "Get an App by Name", + "operationId": "get_app_by_name_v1_apps_name__name__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Name of the app to retrieve", + "title": "Name" + }, + "description": "Name of the app to retrieve" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/App" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const app = await client.apps.getByName('name');\n\n console.log(app.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\napp = client.apps.get_by_name(\n \"name\",\n)\nprint(app.id)" + } + ] + } + }, + "/v1/apps/get_or_create/{name}": { + "get": { + "tags": [ + "apps" + ], + "summary": "Get Or Create App", + "description": "Get or Create an App", + "operationId": "get_or_create_app_v1_apps_get_or_create__name__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Name of the app to get or create", + "title": "Name" + }, + "description": "Name of the app to get or create" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/App" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const app = await client.apps.getOrCreate('name');\n\n console.log(app.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\napp = client.apps.get_or_create(\n \"name\",\n)\nprint(app.id)" + } + ] + } + }, + "/v1/apps/{app_id}": { + "put": { + "tags": [ + "apps" + ], + "summary": "Update App", + "description": "Update an App", + "operationId": "update_app_v1_apps__app_id__put", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app to update", + "title": "App Id" + }, + "description": "ID of the app to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppUpdate", + "description": "Updated app parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/App" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const app = await client.apps.update('app_id');\n\n console.log(app.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\napp = client.apps.update(\n app_id=\"app_id\",\n)\nprint(app.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users": { + "post": { + "tags": [ + "users" + ], + "summary": "Create User", + "description": "Create a new User", + "operationId": "create_user_v1_apps__app_id__users_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserCreate", + "description": "User creation parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const user = await client.apps.users.create('app_id', { name: 'x' });\n\n console.log(user.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nuser = client.apps.users.create(\n app_id=\"app_id\",\n name=\"x\",\n)\nprint(user.id)" + } + ] + }, + "get": { + "tags": [ + "users" + ], + "summary": "Get User", + "description": "Get a User by ID\n\nIf user_id is provided as a query parameter, it uses that (must match JWT app_id).\nOtherwise, it uses the user_id from the JWT token.", + "operationId": "get_user_v1_apps__app_id__users_get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "User ID to retrieve. If not provided, users JWT token", + "title": "User Id" + }, + "description": "User ID to retrieve. If not provided, users JWT token" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const user = await client.apps.users.get('app_id');\n\n console.log(user.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nuser = client.apps.users.get(\n app_id=\"app_id\",\n)\nprint(user.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/list": { + "post": { + "tags": [ + "users" + ], + "summary": "Get Users", + "description": "Get All Users for an App", + "operationId": "get_users_v1_apps__app_id__users_list_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "reverse", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Whether to reverse the order of results", + "default": false, + "title": "Reverse" + }, + "description": "Whether to reverse the order of results" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/UserGet" + }, + { + "type": "null" + } + ], + "description": "Filtering options for the users list", + "title": "Options" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_User_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n // Automatically fetches more pages as needed.\n for await (const user of client.apps.users.list('app_id')) {\n console.log(user.id);\n }\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\npage = client.apps.users.list(\n app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/name/{name}": { + "get": { + "tags": [ + "users" + ], + "summary": "Get User By Name", + "description": "Get a User by name", + "operationId": "get_user_by_name_v1_apps__app_id__users_name__name__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Name of the user to retrieve", + "title": "Name" + }, + "description": "Name of the user to retrieve" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const user = await client.apps.users.getByName('app_id', 'name');\n\n console.log(user.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nuser = client.apps.users.get_by_name(\n name=\"name\",\n app_id=\"app_id\",\n)\nprint(user.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/get_or_create/{name}": { + "get": { + "tags": [ + "users" + ], + "summary": "Get Or Create User", + "description": "Get a User or create a new one by the input name", + "operationId": "get_or_create_user_v1_apps__app_id__users_get_or_create__name__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Name of the user to get or create", + "title": "Name" + }, + "description": "Name of the user to get or create" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const user = await client.apps.users.getOrCreate('app_id', 'name');\n\n console.log(user.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nuser = client.apps.users.get_or_create(\n name=\"name\",\n app_id=\"app_id\",\n)\nprint(user.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}": { + "put": { + "tags": [ + "users" + ], + "summary": "Update User", + "description": "Update a User's name and/or metadata", + "operationId": "update_user_v1_apps__app_id__users__user_id__put", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user to update", + "title": "User Id" + }, + "description": "ID of the user to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserUpdate", + "description": "Updated user parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const user = await client.apps.users.update('app_id', 'user_id');\n\n console.log(user.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nuser = client.apps.users.update(\n user_id=\"user_id\",\n app_id=\"app_id\",\n)\nprint(user.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions": { + "get": { + "tags": [ + "sessions" + ], + "summary": "Get Session", + "description": "Get a specific session for a user.\n\nIf session_id is provided as a query parameter, it uses that (must match JWT session_id).\nOtherwise, it uses the session_id from the JWT token.", + "operationId": "get_session_v1_apps__app_id__users__user_id__sessions_get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Session ID to retrieve. If not provided, uses JWT token", + "title": "Session Id" + }, + "description": "Session ID to retrieve. If not provided, uses JWT token" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const session = await client.apps.users.sessions.get('app_id', 'user_id');\n\n console.log(session.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.get(\n user_id=\"user_id\",\n app_id=\"app_id\",\n)\nprint(session.id)" + } + ] + }, + "post": { + "tags": [ + "sessions" + ], + "summary": "Create Session", + "description": "Create a Session for a User", + "operationId": "create_session_v1_apps__app_id__users__user_id__sessions_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionCreate", + "description": "Session creation parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const session = await client.apps.users.sessions.create('app_id', 'user_id');\n\n console.log(session.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.create(\n user_id=\"user_id\",\n app_id=\"app_id\",\n)\nprint(session.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/list": { + "post": { + "tags": [ + "sessions" + ], + "summary": "Get Sessions", + "description": "Get All Sessions for a User", + "operationId": "get_sessions_v1_apps__app_id__users__user_id__sessions_list_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "reverse", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether to reverse the order of results", + "default": false, + "title": "Reverse" + }, + "description": "Whether to reverse the order of results" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/SessionGet" + }, + { + "type": "null" + } + ], + "description": "Filtering and pagination options for the sessions list", + "title": "Options" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_Session_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n // Automatically fetches more pages as needed.\n for await (const session of client.apps.users.sessions.list('app_id', 'user_id')) {\n console.log(session.id);\n }\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\npage = client.apps.users.sessions.list(\n user_id=\"user_id\",\n app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}": { + "put": { + "tags": [ + "sessions" + ], + "summary": "Update Session", + "description": "Update the metadata of a Session", + "operationId": "update_session_v1_apps__app_id__users__user_id__sessions__session_id__put", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session to update", + "title": "Session Id" + }, + "description": "ID of the session to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionUpdate", + "description": "Updated session parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const session = await client.apps.users.sessions.update('app_id', 'user_id', 'session_id', {\n metadata: { foo: 'bar' },\n });\n\n console.log(session.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.update(\n session_id=\"session_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n metadata={\n \"foo\": \"bar\"\n },\n)\nprint(session.id)" + } + ] + }, + "delete": { + "tags": [ + "sessions" + ], + "summary": "Delete Session", + "description": "Delete a session by marking it as inactive", + "operationId": "delete_session_v1_apps__app_id__users__user_id__sessions__session_id__delete", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session to delete", + "title": "Session Id" + }, + "description": "ID of the session to delete" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const session = await client.apps.users.sessions.delete('app_id', 'user_id', 'session_id');\n\n console.log(session);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.delete(\n session_id=\"session_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\nprint(session)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/chat": { + "post": { + "tags": [ + "sessions" + ], + "summary": "Chat", + "description": "Chat with the Dialectic API", + "operationId": "chat_v1_apps__app_id__users__user_id__sessions__session_id__chat_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session", + "title": "Session Id" + }, + "description": "ID of the session" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DialecticOptions", + "description": "Dialectic Endpoint Parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Response to a question informed by Honcho's User Representation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DialecticResponse" + } + }, + "text/event-stream": {} + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const dialecticResponse = await client.apps.users.sessions.chat('app_id', 'user_id', 'session_id', {\n queries: 'string',\n });\n\n console.log(dialecticResponse.content);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ndialectic_response = client.apps.users.sessions.chat(\n session_id=\"session_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n queries=\"string\",\n)\nprint(dialectic_response.content)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/clone": { + "get": { + "tags": [ + "sessions" + ], + "summary": "Clone Session", + "description": "Clone a session, optionally up to a specific message", + "operationId": "clone_session_v1_apps__app_id__users__user_id__sessions__session_id__clone_get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session to clone", + "title": "Session Id" + }, + "description": "ID of the session to clone" + }, + { + "name": "message_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Message ID to cut off the clone at", + "title": "Message Id" + }, + "description": "Message ID to cut off the clone at" + }, + { + "name": "deep_copy", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "description": "Whether to deep copy metamessages", + "default": false, + "title": "Deep Copy" + }, + "description": "Whether to deep copy metamessages" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Session" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const session = await client.apps.users.sessions.clone('app_id', 'user_id', 'session_id');\n\n console.log(session.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.clone(\n session_id=\"session_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\nprint(session.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages": { + "post": { + "tags": [ + "messages" + ], + "summary": "Create Message For Session", + "description": "Adds a message to a session", + "operationId": "create_message_for_session_v1_apps__app_id__users__user_id__sessions__session_id__messages_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session", + "title": "Session Id" + }, + "description": "ID of the session" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageCreate", + "description": "Message creation parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Message" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const message = await client.apps.users.sessions.messages.create('app_id', 'user_id', 'session_id', {\n content: 'content',\n is_user: true,\n });\n\n console.log(message.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nmessage = client.apps.users.sessions.messages.create(\n session_id=\"session_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n content=\"content\",\n is_user=True,\n)\nprint(message.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages/batch": { + "post": { + "tags": [ + "messages" + ], + "summary": "Create Batch Messages For Session", + "description": "Bulk create messages for a session while maintaining order. Maximum 100 messages per batch.", + "operationId": "create_batch_messages_for_session_v1_apps__app_id__users__user_id__sessions__session_id__messages_batch_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session", + "title": "Session Id" + }, + "description": "ID of the session" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageBatchCreate", + "description": "Batch of messages to create" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + }, + "title": "Response Create Batch Messages For Session V1 Apps App Id Users User Id Sessions Session Id Messages Batch Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const messages = await client.apps.users.sessions.messages.batch('app_id', 'user_id', 'session_id', {\n messages: [{ content: 'content', is_user: true }],\n });\n\n console.log(messages);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nmessages = client.apps.users.sessions.messages.batch(\n session_id=\"session_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n messages=[{\n \"content\": \"content\",\n \"is_user\": True,\n }],\n)\nprint(messages)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages/list": { + "post": { + "tags": [ + "messages" + ], + "summary": "Get Messages", + "description": "Get all messages for a session", + "operationId": "get_messages_v1_apps__app_id__users__user_id__sessions__session_id__messages_list_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session", + "title": "Session Id" + }, + "description": "ID of the session" + }, + { + "name": "reverse", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether to reverse the order of results", + "default": false, + "title": "Reverse" + }, + "description": "Whether to reverse the order of results" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/MessageGet" + }, + { + "type": "null" + } + ], + "description": "Filtering options for the messages list", + "title": "Options" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_Message_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n // Automatically fetches more pages as needed.\n for await (const message of client.apps.users.sessions.messages.list('app_id', 'user_id', 'session_id')) {\n console.log(message.id);\n }\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\npage = client.apps.users.sessions.messages.list(\n session_id=\"session_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\npage = page.items[0]\nprint(page.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages/{message_id}": { + "get": { + "tags": [ + "messages" + ], + "summary": "Get Message", + "description": "Get a Message by ID", + "operationId": "get_message_v1_apps__app_id__users__user_id__sessions__session_id__messages__message_id__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session", + "title": "Session Id" + }, + "description": "ID of the session" + }, + { + "name": "message_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the message to retrieve", + "title": "Message Id" + }, + "description": "ID of the message to retrieve" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Message" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const message = await client.apps.users.sessions.messages.get(\n 'app_id',\n 'user_id',\n 'session_id',\n 'message_id',\n );\n\n console.log(message.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nmessage = client.apps.users.sessions.messages.get(\n message_id=\"message_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n session_id=\"session_id\",\n)\nprint(message.id)" + } + ] + }, + "put": { + "tags": [ + "messages" + ], + "summary": "Update Message", + "description": "Update the metadata of a Message", + "operationId": "update_message_v1_apps__app_id__users__user_id__sessions__session_id__messages__message_id__put", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "session_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the session", + "title": "Session Id" + }, + "description": "ID of the session" + }, + { + "name": "message_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the message to update", + "title": "Message Id" + }, + "description": "ID of the message to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MessageUpdate", + "description": "Updated message parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Message" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const message = await client.apps.users.sessions.messages.update(\n 'app_id',\n 'user_id',\n 'session_id',\n 'message_id',\n { metadata: { foo: 'bar' } },\n );\n\n console.log(message.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nmessage = client.apps.users.sessions.messages.update(\n message_id=\"message_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n session_id=\"session_id\",\n metadata={\n \"foo\": \"bar\"\n },\n)\nprint(message.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/metamessages": { + "post": { + "tags": [ + "metamessages" + ], + "summary": "Create Metamessage", + "description": "Create a new metamessage associated with a user.\nOptionally link to a session and message by providing those IDs in the request body.", + "operationId": "create_metamessage_v1_apps__app_id__users__user_id__metamessages_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetamessageCreate", + "description": "Metamessage creation parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metamessage" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const metamessage = await client.apps.users.metamessages.create('app_id', 'user_id', {\n content: 'content',\n metamessage_type: 'x',\n });\n\n console.log(metamessage.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nmetamessage = client.apps.users.metamessages.create(\n user_id=\"user_id\",\n app_id=\"app_id\",\n content=\"content\",\n metamessage_type=\"x\",\n)\nprint(metamessage.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/metamessages/list": { + "post": { + "tags": [ + "metamessages" + ], + "summary": "Get Metamessages", + "description": "Get metamessages with flexible filtering.\n\n- Filter by user only: No additional parameters needed\n- Filter by session: Provide session_id\n- Filter by message: Provide message_id (and session_id)\n- Filter by type: Provide label\n- Filter by metadata: Provide filter object", + "operationId": "get_metamessages_v1_apps__app_id__users__user_id__metamessages_list_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "reverse", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether to reverse the order of results", + "default": false, + "title": "Reverse" + }, + "description": "Whether to reverse the order of results" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/MetamessageGet" + }, + { + "type": "null" + } + ], + "description": "Filtering options for the metamessages list", + "title": "Options" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_Metamessage_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n // Automatically fetches more pages as needed.\n for await (const metamessage of client.apps.users.metamessages.list('app_id', 'user_id')) {\n console.log(metamessage.id);\n }\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\npage = client.apps.users.metamessages.list(\n user_id=\"user_id\",\n app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/metamessages/{metamessage_id}": { + "get": { + "tags": [ + "metamessages" + ], + "summary": "Get Metamessage", + "description": "Get a specific Metamessage by ID", + "operationId": "get_metamessage_v1_apps__app_id__users__user_id__metamessages__metamessage_id__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "metamessage_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the metamessage to retrieve", + "title": "Metamessage Id" + }, + "description": "ID of the metamessage to retrieve" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metamessage" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const metamessage = await client.apps.users.metamessages.get('app_id', 'user_id', 'metamessage_id');\n\n console.log(metamessage.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nmetamessage = client.apps.users.metamessages.get(\n metamessage_id=\"metamessage_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\nprint(metamessage.id)" + } + ] + }, + "put": { + "tags": [ + "metamessages" + ], + "summary": "Update Metamessage", + "description": "Update a metamessage's metadata, type, or relationships", + "operationId": "update_metamessage_v1_apps__app_id__users__user_id__metamessages__metamessage_id__put", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "metamessage_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the metamessage to update", + "title": "Metamessage Id" + }, + "description": "ID of the metamessage to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetamessageUpdate", + "description": "Updated metamessage parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metamessage" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const metamessage = await client.apps.users.metamessages.update('app_id', 'user_id', 'metamessage_id');\n\n console.log(metamessage.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nmetamessage = client.apps.users.metamessages.update(\n metamessage_id=\"metamessage_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\nprint(metamessage.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections": { + "get": { + "tags": [ + "collections" + ], + "summary": "Get Collection", + "description": "Get a specific collection for a user.\n\nIf collection_id is provided as a query parameter, it uses that (must match JWT collection_id).\nOtherwise, it uses the collection_id from the JWT token.", + "operationId": "get_collection_v1_apps__app_id__users__user_id__collections_get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Collection ID to retrieve. If not provided, uses JWT token", + "title": "Collection Id" + }, + "description": "Collection ID to retrieve. If not provided, uses JWT token" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Collection" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const collection = await client.apps.users.collections.get('app_id', 'user_id');\n\n console.log(collection.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.get(\n user_id=\"user_id\",\n app_id=\"app_id\",\n)\nprint(collection.id)" + } + ] + }, + "post": { + "tags": [ + "collections" + ], + "summary": "Create Collection", + "description": "Create a new Collection", + "operationId": "create_collection_v1_apps__app_id__users__user_id__collections_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectionCreate", + "description": "Collection creation parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Collection" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const collection = await client.apps.users.collections.create('app_id', 'user_id', { name: 'x' });\n\n console.log(collection.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.create(\n user_id=\"user_id\",\n app_id=\"app_id\",\n name=\"x\",\n)\nprint(collection.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections/list": { + "post": { + "tags": [ + "collections" + ], + "summary": "Get Collections", + "description": "Get All Collections for a User", + "operationId": "get_collections_v1_apps__app_id__users__user_id__collections_list_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "reverse", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether to reverse the order of results", + "default": false, + "title": "Reverse" + }, + "description": "Whether to reverse the order of results" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/CollectionGet" + }, + { + "type": "null" + } + ], + "description": "Filtering options for the collections list", + "title": "Options" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_Collection_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n // Automatically fetches more pages as needed.\n for await (const collection of client.apps.users.collections.list('app_id', 'user_id')) {\n console.log(collection.id);\n }\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\npage = client.apps.users.collections.list(\n user_id=\"user_id\",\n app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections/name/{name}": { + "get": { + "tags": [ + "collections" + ], + "summary": "Get Collection By Name", + "description": "Get a Collection by Name", + "operationId": "get_collection_by_name_v1_apps__app_id__users__user_id__collections_name__name__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "Name of the collection to retrieve", + "title": "Name" + }, + "description": "Name of the collection to retrieve" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Collection" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const collection = await client.apps.users.collections.getByName('app_id', 'user_id', 'name');\n\n console.log(collection.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.get_by_name(\n name=\"name\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\nprint(collection.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}": { + "put": { + "tags": [ + "collections" + ], + "summary": "Update Collection", + "description": "Update a Collection's name or metadata", + "operationId": "update_collection_v1_apps__app_id__users__user_id__collections__collection_id__put", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection to update", + "title": "Collection Id" + }, + "description": "ID of the collection to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CollectionUpdate", + "description": "Updated collection parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Collection" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const collection = await client.apps.users.collections.update('app_id', 'user_id', 'collection_id');\n\n console.log(collection.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.update(\n collection_id=\"collection_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\nprint(collection.id)" + } + ] + }, + "delete": { + "tags": [ + "collections" + ], + "summary": "Delete Collection", + "description": "Delete a Collection and its documents", + "operationId": "delete_collection_v1_apps__app_id__users__user_id__collections__collection_id__delete", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection to delete", + "title": "Collection Id" + }, + "description": "ID of the collection to delete" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const collection = await client.apps.users.collections.delete('app_id', 'user_id', 'collection_id');\n\n console.log(collection);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.delete(\n collection_id=\"collection_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\nprint(collection)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/list": { + "post": { + "tags": [ + "documents" + ], + "summary": "Get Documents", + "description": "Get all of the Documents in a Collection", + "operationId": "get_documents_v1_apps__app_id__users__user_id__collections__collection_id__documents_list_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection", + "title": "Collection Id" + }, + "description": "ID of the collection" + }, + { + "name": "reverse", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether to reverse the order of results", + "default": false, + "title": "Reverse" + }, + "description": "Whether to reverse the order of results" + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "description": "Page number", + "default": 1, + "title": "Page" + }, + "description": "Page number" + }, + { + "name": "size", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "description": "Page size", + "default": 50, + "title": "Size" + }, + "description": "Page size" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/DocumentGet" + }, + { + "type": "null" + } + ], + "description": "Filtering options for the documents list", + "title": "Options" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_Document_" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n // Automatically fetches more pages as needed.\n for await (const document of client.apps.users.collections.documents.list(\n 'app_id',\n 'user_id',\n 'collection_id',\n )) {\n console.log(document.id);\n }\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\npage = client.apps.users.collections.documents.list(\n collection_id=\"collection_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n)\npage = page.items[0]\nprint(page.id)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/{document_id}": { + "get": { + "tags": [ + "documents" + ], + "summary": "Get Document", + "description": "Get a document by ID", + "operationId": "get_document_v1_apps__app_id__users__user_id__collections__collection_id__documents__document_id__get", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection", + "title": "Collection Id" + }, + "description": "ID of the collection" + }, + { + "name": "document_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the document to retrieve", + "title": "Document Id" + }, + "description": "ID of the document to retrieve" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Document" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const document = await client.apps.users.collections.documents.get(\n 'app_id',\n 'user_id',\n 'collection_id',\n 'document_id',\n );\n\n console.log(document.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.get(\n document_id=\"document_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n collection_id=\"collection_id\",\n)\nprint(document.id)" + } + ] + }, + "put": { + "tags": [ + "documents" + ], + "summary": "Update Document", + "description": "Update the content and/or the metadata of a Document", + "operationId": "update_document_v1_apps__app_id__users__user_id__collections__collection_id__documents__document_id__put", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection", + "title": "Collection Id" + }, + "description": "ID of the collection" + }, + { + "name": "document_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the document to update", + "title": "Document Id" + }, + "description": "ID of the document to update" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentUpdate", + "description": "Updated document parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Document" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const document = await client.apps.users.collections.documents.update(\n 'app_id',\n 'user_id',\n 'collection_id',\n 'document_id',\n );\n\n console.log(document.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.update(\n document_id=\"document_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n collection_id=\"collection_id\",\n)\nprint(document.id)" + } + ] + }, + "delete": { + "tags": [ + "documents" + ], + "summary": "Delete Document", + "description": "Delete a Document by ID", + "operationId": "delete_document_v1_apps__app_id__users__user_id__collections__collection_id__documents__document_id__delete", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection", + "title": "Collection Id" + }, + "description": "ID of the collection" + }, + { + "name": "document_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the document to delete", + "title": "Document Id" + }, + "description": "ID of the document to delete" + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const document = await client.apps.users.collections.documents.delete(\n 'app_id',\n 'user_id',\n 'collection_id',\n 'document_id',\n );\n\n console.log(document);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.delete(\n document_id=\"document_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n collection_id=\"collection_id\",\n)\nprint(document)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/query": { + "post": { + "tags": [ + "documents" + ], + "summary": "Query Documents", + "description": "Cosine Similarity Search for Documents", + "operationId": "query_documents_v1_apps__app_id__users__user_id__collections__collection_id__documents_query_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection", + "title": "Collection Id" + }, + "description": "ID of the collection" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentQuery", + "description": "Query parameters for document search" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Document" + }, + "title": "Response Query Documents V1 Apps App Id Users User Id Collections Collection Id Documents Query Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const documents = await client.apps.users.collections.documents.query(\n 'app_id',\n 'user_id',\n 'collection_id',\n { query: 'x' },\n );\n\n console.log(documents);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ndocuments = client.apps.users.collections.documents.query(\n collection_id=\"collection_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n query=\"x\",\n)\nprint(documents)" + } + ] + } + }, + "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents": { + "post": { + "tags": [ + "documents" + ], + "summary": "Create Document", + "description": "Embed text as a vector and create a Document", + "operationId": "create_document_v1_apps__app_id__users__user_id__collections__collection_id__documents_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the app", + "title": "App Id" + }, + "description": "ID of the app" + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the user", + "title": "User Id" + }, + "description": "ID of the user" + }, + { + "name": "collection_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "description": "ID of the collection", + "title": "Collection Id" + }, + "description": "ID of the collection" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DocumentCreate", + "description": "Document creation parameters" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Document" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const document = await client.apps.users.collections.documents.create(\n 'app_id',\n 'user_id',\n 'collection_id',\n { content: 'x' },\n );\n\n console.log(document.id);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.create(\n collection_id=\"collection_id\",\n app_id=\"app_id\",\n user_id=\"user_id\",\n content=\"x\",\n)\nprint(document.id)" + } + ] + } + }, + "/v1/keys": { + "post": { + "tags": [ + "keys" + ], + "summary": "Create Key", + "description": "Create a new Key", + "operationId": "create_key_v1_keys_post", + "security": [ + { + "HTTPBearer": [] + }, + {} + ], + "parameters": [ + { + "name": "app_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ID of the app to scope the key to", + "title": "App Id" + }, + "description": "ID of the app to scope the key to" + }, + { + "name": "user_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ID of the user to scope the key to", + "title": "User Id" + }, + "description": "ID of the user to scope the key to" + }, + { + "name": "session_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ID of the session to scope the key to", + "title": "Session Id" + }, + "description": "ID of the session to scope the key to" + }, + { + "name": "collection_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ID of the collection to scope the key to", + "title": "Collection Id" + }, + "description": "ID of the collection to scope the key to" + }, + { + "name": "expires_at", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Expires At" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-codeSamples": [ + { + "lang": "JavaScript", + "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n const key = await client.keys.create();\n\n console.log(key);\n}\n\nmain();" + }, + { + "lang": "Python", + "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get(\"HONCHO_API_KEY\"), # This is the default and can be omitted\n)\nkey = client.keys.create()\nprint(key)" + } + ] + } + } + }, + "components": { + "schemas": { + "App": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + } + }, + "type": "object", + "required": [ + "id", + "name", + "created_at" + ], + "title": "App" + }, + "AppCreate": { + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "title": "Name" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "AppCreate" + }, + "AppGet": { + "properties": { + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + } + }, + "type": "object", + "title": "AppGet" + }, + "AppUpdate": { + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + } + }, + "type": "object", + "title": "AppUpdate" + }, + "Collection": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "user_id": { + "type": "string", + "title": "User Id" + }, + "app_id": { + "type": "string", + "title": "App Id" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + } + }, + "type": "object", + "required": [ + "id", + "name", + "user_id", + "app_id", + "created_at" + ], + "title": "Collection" + }, + "CollectionCreate": { + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "title": "Name" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "CollectionCreate" + }, + "CollectionGet": { + "properties": { + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + } + }, + "type": "object", + "title": "CollectionGet" + }, + "CollectionUpdate": { + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + } + }, + "type": "object", + "title": "CollectionUpdate" + }, + "DialecticOptions": { + "properties": { + "queries": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "Queries" + }, + "stream": { + "type": "boolean", + "title": "Stream", + "default": false + } + }, + "type": "object", + "required": [ + "queries" + ], + "title": "DialecticOptions" + }, + "DialecticResponse": { + "properties": { + "content": { + "type": "string", + "title": "Content" + } + }, + "type": "object", + "required": [ + "content" + ], + "title": "DialecticResponse" + }, + "Document": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "content": { + "type": "string", + "title": "Content" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + }, + "collection_id": { + "type": "string", + "title": "Collection Id" + }, + "app_id": { + "type": "string", + "title": "App Id" + }, + "user_id": { + "type": "string", + "title": "User Id" + } + }, + "type": "object", + "required": [ + "id", + "content", + "created_at", + "collection_id", + "app_id", + "user_id" + ], + "title": "Document" + }, + "DocumentCreate": { + "properties": { + "content": { + "type": "string", + "maxLength": 100000, + "minLength": 1, + "title": "Content" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "required": [ + "content" + ], + "title": "DocumentCreate" + }, + "DocumentGet": { + "properties": { + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + } + }, + "type": "object", + "title": "DocumentGet" + }, + "DocumentQuery": { + "properties": { + "query": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "title": "Query" + }, + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + }, + "top_k": { + "type": "integer", + "maximum": 50, + "minimum": 1, + "title": "Top K", + "default": 5 + } + }, + "type": "object", + "required": [ + "query" + ], + "title": "DocumentQuery" + }, + "DocumentUpdate": { + "properties": { + "metadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object", + "maxProperties": 10000 + }, + { + "type": "null" + } + ], + "title": "Metadata" + }, + "content": { + "anyOf": [ + { + "type": "string", + "maxLength": 100000, + "minLength": 1 + }, + { + "type": "null" + } + ], + "title": "Content" + } + }, + "type": "object", + "title": "DocumentUpdate" + }, + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "Message": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "content": { + "type": "string", + "title": "Content" + }, + "is_user": { + "type": "boolean", + "title": "Is User" + }, + "session_id": { + "type": "string", + "title": "Session Id" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + }, + "app_id": { + "type": "string", + "title": "App Id" + }, + "user_id": { + "type": "string", + "title": "User Id" + } + }, + "type": "object", + "required": [ + "id", + "content", + "is_user", + "session_id", + "created_at", + "app_id", + "user_id" + ], + "title": "Message" + }, + "MessageBatchCreate": { + "properties": { + "messages": { + "items": { + "$ref": "#/components/schemas/MessageCreate" + }, + "type": "array", + "maxItems": 100, + "title": "Messages" + } + }, + "type": "object", + "required": [ + "messages" + ], + "title": "MessageBatchCreate", + "description": "Schema for batch message creation with a max of 100 messages" + }, + "MessageCreate": { + "properties": { + "content": { + "type": "string", + "maxLength": 50000, + "minLength": 0, + "title": "Content" + }, + "is_user": { + "type": "boolean", + "title": "Is User" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "required": [ + "content", + "is_user" + ], + "title": "MessageCreate" + }, + "MessageGet": { + "properties": { + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + } + }, + "type": "object", + "title": "MessageGet" + }, + "MessageUpdate": { + "properties": { + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata" + } + }, + "type": "object", + "required": [ + "metadata" + ], + "title": "MessageUpdate" + }, + "Metamessage": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "label": { + "type": "string", + "title": "Label" + }, + "content": { + "type": "string", + "title": "Content" + }, + "user_id": { + "type": "string", + "title": "User Id" + }, + "app_id": { + "type": "string", + "title": "App Id" + }, + "session_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Session Id" + }, + "message_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Message Id" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + }, + "metamessage_type": { + "type": "string", + "title": "Metamessage Type", + "readOnly": true + } + }, + "type": "object", + "required": [ + "id", + "label", + "content", + "user_id", + "app_id", + "session_id", + "message_id", + "created_at", + "metamessage_type" + ], + "title": "Metamessage" + }, + "MetamessageCreate": { + "properties": { + "metamessage_type": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "title": "Metamessage Type" + }, + "content": { + "type": "string", + "maxLength": 50000, + "minLength": 0, + "title": "Content" + }, + "session_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Session Id" + }, + "message_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Message Id" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "required": [ + "metamessage_type", + "content" + ], + "title": "MetamessageCreate" + }, + "MetamessageGet": { + "properties": { + "metamessage_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Metamessage Type" + }, + "session_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Session Id" + }, + "message_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Message Id" + }, + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + } + }, + "type": "object", + "title": "MetamessageGet" + }, + "MetamessageUpdate": { + "properties": { + "session_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Session Id" + }, + "message_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Message Id" + }, + "metamessage_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Metamessage Type" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + } + }, + "type": "object", + "title": "MetamessageUpdate" + }, + "Page_App_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/App" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "minimum": 0, + "title": "Total" + }, + "page": { + "type": "integer", + "minimum": 1, + "title": "Page" + }, + "size": { + "type": "integer", + "minimum": 1, + "title": "Size" + }, + "pages": { + "type": "integer", + "minimum": 0, + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size" + ], + "title": "Page[App]" + }, + "Page_Collection_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Collection" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "minimum": 0, + "title": "Total" + }, + "page": { + "type": "integer", + "minimum": 1, + "title": "Page" + }, + "size": { + "type": "integer", + "minimum": 1, + "title": "Size" + }, + "pages": { + "type": "integer", + "minimum": 0, + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size" + ], + "title": "Page[Collection]" + }, + "Page_Document_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Document" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "minimum": 0, + "title": "Total" + }, + "page": { + "type": "integer", + "minimum": 1, + "title": "Page" + }, + "size": { + "type": "integer", + "minimum": 1, + "title": "Size" + }, + "pages": { + "type": "integer", + "minimum": 0, + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size" + ], + "title": "Page[Document]" + }, + "Page_Message_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Message" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "minimum": 0, + "title": "Total" + }, + "page": { + "type": "integer", + "minimum": 1, + "title": "Page" + }, + "size": { + "type": "integer", + "minimum": 1, + "title": "Size" + }, + "pages": { + "type": "integer", + "minimum": 0, + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size" + ], + "title": "Page[Message]" + }, + "Page_Metamessage_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Metamessage" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "minimum": 0, + "title": "Total" + }, + "page": { + "type": "integer", + "minimum": 1, + "title": "Page" + }, + "size": { + "type": "integer", + "minimum": 1, + "title": "Size" + }, + "pages": { + "type": "integer", + "minimum": 0, + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size" + ], + "title": "Page[Metamessage]" + }, + "Page_Session_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/Session" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "minimum": 0, + "title": "Total" + }, + "page": { + "type": "integer", + "minimum": 1, + "title": "Page" + }, + "size": { + "type": "integer", + "minimum": 1, + "title": "Size" + }, + "pages": { + "type": "integer", + "minimum": 0, + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size" + ], + "title": "Page[Session]" + }, + "Page_User_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/User" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "minimum": 0, + "title": "Total" + }, + "page": { + "type": "integer", + "minimum": 1, + "title": "Page" + }, + "size": { + "type": "integer", + "minimum": 1, + "title": "Size" + }, + "pages": { + "type": "integer", + "minimum": 0, + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size" + ], + "title": "Page[User]" + }, + "Session": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "is_active": { + "type": "boolean", + "title": "Is Active" + }, + "user_id": { + "type": "string", + "title": "User Id" + }, + "app_id": { + "type": "string", + "title": "App Id" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + } + }, + "type": "object", + "required": [ + "id", + "is_active", + "user_id", + "app_id", + "created_at" + ], + "title": "Session" + }, + "SessionCreate": { + "properties": { + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "title": "SessionCreate" + }, + "SessionGet": { + "properties": { + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + }, + "is_active": { + "type": "boolean", + "title": "Is Active", + "default": false + } + }, + "type": "object", + "title": "SessionGet" + }, + "SessionUpdate": { + "properties": { + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata" + } + }, + "type": "object", + "required": [ + "metadata" + ], + "title": "SessionUpdate" + }, + "User": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "app_id": { + "type": "string", + "title": "App Id" + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "required": [ + "id", + "name", + "app_id", + "created_at" + ], + "title": "User" + }, + "UserCreate": { + "properties": { + "name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "title": "Name" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "default": {} + } + }, + "type": "object", + "required": [ + "name" + ], + "title": "UserCreate" + }, + "UserGet": { + "properties": { + "filter": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Filter" + } + }, + "type": "object", + "title": "UserGet" + }, + "UserUpdate": { + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Metadata" + } + }, + "type": "object", + "title": "UserUpdate" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location" + }, + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError" + } + }, + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer" + } + } + } +} \ No newline at end of file diff --git a/docs/v2/README.md b/docs/v2/README.md new file mode 100644 index 00000000..4bfc72a7 --- /dev/null +++ b/docs/v2/README.md @@ -0,0 +1 @@ +This subdirectory contains the peer-paradigm documentation for Honcho (Honcho v2.0.0 onwards). \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/keys/create-key.mdx b/docs/v2/api-reference/endpoint/keys/create-key.mdx new file mode 100644 index 00000000..6a522ffb --- /dev/null +++ b/docs/v2/api-reference/endpoint/keys/create-key.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/keys +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/messages/create-messages-for-session.mdx b/docs/v2/api-reference/endpoint/messages/create-messages-for-session.mdx new file mode 100644 index 00000000..83f34e60 --- /dev/null +++ b/docs/v2/api-reference/endpoint/messages/create-messages-for-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/sessions/{session_id}/messages/ +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/messages/get-message.mdx b/docs/v2/api-reference/endpoint/messages/get-message.mdx new file mode 100644 index 00000000..e41a39dd --- /dev/null +++ b/docs/v2/api-reference/endpoint/messages/get-message.mdx @@ -0,0 +1,3 @@ +--- +openapi: get /v1/workspaces/{workspace_id}/sessions/{session_id}/messages/{message_id} +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/messages/get-messages.mdx b/docs/v2/api-reference/endpoint/messages/get-messages.mdx new file mode 100644 index 00000000..a1ce5f9d --- /dev/null +++ b/docs/v2/api-reference/endpoint/messages/get-messages.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/sessions/{session_id}/messages/list +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/messages/update-message.mdx b/docs/v2/api-reference/endpoint/messages/update-message.mdx new file mode 100644 index 00000000..9c41f98e --- /dev/null +++ b/docs/v2/api-reference/endpoint/messages/update-message.mdx @@ -0,0 +1,3 @@ +--- +openapi: put /v1/workspaces/{workspace_id}/sessions/{session_id}/messages/{message_id} +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/chat.mdx b/docs/v2/api-reference/endpoint/peers/chat.mdx new file mode 100644 index 00000000..913beae3 --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/chat.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers/{peer_id}/chat +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/create-messages-for-peer.mdx b/docs/v2/api-reference/endpoint/peers/create-messages-for-peer.mdx new file mode 100644 index 00000000..c8ad05ff --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/create-messages-for-peer.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers/{peer_id}/messages +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/get-messages-for-peer.mdx b/docs/v2/api-reference/endpoint/peers/get-messages-for-peer.mdx new file mode 100644 index 00000000..e4c93b5a --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/get-messages-for-peer.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers/{peer_id}/messages/list +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/get-or-create-peer.mdx b/docs/v2/api-reference/endpoint/peers/get-or-create-peer.mdx new file mode 100644 index 00000000..cd1f2df0 --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/get-or-create-peer.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/get-peers.mdx b/docs/v2/api-reference/endpoint/peers/get-peers.mdx new file mode 100644 index 00000000..3ddbedfa --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/get-peers.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers/list +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/get-sessions-for-peer.mdx b/docs/v2/api-reference/endpoint/peers/get-sessions-for-peer.mdx new file mode 100644 index 00000000..5823f670 --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/get-sessions-for-peer.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers/{peer_id}/sessions +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/get-working-representation.mdx b/docs/v2/api-reference/endpoint/peers/get-working-representation.mdx new file mode 100644 index 00000000..1d876db5 --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/get-working-representation.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers/{peer_id}/representation +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/search-peer.mdx b/docs/v2/api-reference/endpoint/peers/search-peer.mdx new file mode 100644 index 00000000..9a857581 --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/search-peer.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/peers/{peer_id}/search +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/peers/update-peer.mdx b/docs/v2/api-reference/endpoint/peers/update-peer.mdx new file mode 100644 index 00000000..68f5741c --- /dev/null +++ b/docs/v2/api-reference/endpoint/peers/update-peer.mdx @@ -0,0 +1,3 @@ +--- +openapi: put /v1/workspaces/{workspace_id}/peers/{peer_id} +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/add-peers-to-session.mdx b/docs/v2/api-reference/endpoint/sessions/add-peers-to-session.mdx new file mode 100644 index 00000000..7f9c0253 --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/add-peers-to-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/sessions/{session_id}/peers +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/clone-session.mdx b/docs/v2/api-reference/endpoint/sessions/clone-session.mdx new file mode 100644 index 00000000..0e9c9a0a --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/clone-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: get /v1/workspaces/{workspace_id}/sessions/{session_id}/clone +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/delete-session.mdx b/docs/v2/api-reference/endpoint/sessions/delete-session.mdx new file mode 100644 index 00000000..16229bd7 --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/delete-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: delete /v1/workspaces/{workspace_id}/sessions/{session_id} +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/get-or-create-session.mdx b/docs/v2/api-reference/endpoint/sessions/get-or-create-session.mdx new file mode 100644 index 00000000..168b809f --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/get-or-create-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/sessions +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/get-peer-config.mdx b/docs/v2/api-reference/endpoint/sessions/get-peer-config.mdx new file mode 100644 index 00000000..ce683b30 --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/get-peer-config.mdx @@ -0,0 +1,3 @@ +--- +openapi: get /v1/workspaces/{workspace_id}/sessions/{session_id}/peers/{peer_id}/config +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/get-session-context.mdx b/docs/v2/api-reference/endpoint/sessions/get-session-context.mdx new file mode 100644 index 00000000..e0273fba --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/get-session-context.mdx @@ -0,0 +1,3 @@ +--- +openapi: get /v1/workspaces/{workspace_id}/sessions/{session_id}/context +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/get-session-peers.mdx b/docs/v2/api-reference/endpoint/sessions/get-session-peers.mdx new file mode 100644 index 00000000..7d740ed5 --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/get-session-peers.mdx @@ -0,0 +1,3 @@ +--- +openapi: get /v1/workspaces/{workspace_id}/sessions/{session_id}/peers +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/get-sessions.mdx b/docs/v2/api-reference/endpoint/sessions/get-sessions.mdx new file mode 100644 index 00000000..5b9ef03f --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/get-sessions.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/sessions/list +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/remove-peers-from-session.mdx b/docs/v2/api-reference/endpoint/sessions/remove-peers-from-session.mdx new file mode 100644 index 00000000..ab2038c9 --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/remove-peers-from-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: delete /v1/workspaces/{workspace_id}/sessions/{session_id}/peers +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/search-session.mdx b/docs/v2/api-reference/endpoint/sessions/search-session.mdx new file mode 100644 index 00000000..62f870f3 --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/search-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/sessions/{session_id}/search +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/set-peer-config.mdx b/docs/v2/api-reference/endpoint/sessions/set-peer-config.mdx new file mode 100644 index 00000000..e15345aa --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/set-peer-config.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/sessions/{session_id}/peers/{peer_id}/config +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/set-session-peers.mdx b/docs/v2/api-reference/endpoint/sessions/set-session-peers.mdx new file mode 100644 index 00000000..1c5ff03e --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/set-session-peers.mdx @@ -0,0 +1,3 @@ +--- +openapi: put /v1/workspaces/{workspace_id}/sessions/{session_id}/peers +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/sessions/update-session.mdx b/docs/v2/api-reference/endpoint/sessions/update-session.mdx new file mode 100644 index 00000000..8b61cbfb --- /dev/null +++ b/docs/v2/api-reference/endpoint/sessions/update-session.mdx @@ -0,0 +1,3 @@ +--- +openapi: put /v1/workspaces/{workspace_id}/sessions/{session_id} +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/workspaces/get-all-workspaces.mdx b/docs/v2/api-reference/endpoint/workspaces/get-all-workspaces.mdx new file mode 100644 index 00000000..e584e91a --- /dev/null +++ b/docs/v2/api-reference/endpoint/workspaces/get-all-workspaces.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/list +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/workspaces/get-or-create-workspace.mdx b/docs/v2/api-reference/endpoint/workspaces/get-or-create-workspace.mdx new file mode 100644 index 00000000..302c1508 --- /dev/null +++ b/docs/v2/api-reference/endpoint/workspaces/get-or-create-workspace.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/workspaces/search-workspace.mdx b/docs/v2/api-reference/endpoint/workspaces/search-workspace.mdx new file mode 100644 index 00000000..29283482 --- /dev/null +++ b/docs/v2/api-reference/endpoint/workspaces/search-workspace.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /v1/workspaces/{workspace_id}/search +--- \ No newline at end of file diff --git a/docs/v2/api-reference/endpoint/workspaces/update-workspace.mdx b/docs/v2/api-reference/endpoint/workspaces/update-workspace.mdx new file mode 100644 index 00000000..e5922f98 --- /dev/null +++ b/docs/v2/api-reference/endpoint/workspaces/update-workspace.mdx @@ -0,0 +1,3 @@ +--- +openapi: put /v1/workspaces/{workspace_id} +--- \ No newline at end of file diff --git a/docs/v2/api-reference/introduction.mdx b/docs/v2/api-reference/introduction.mdx new file mode 100644 index 00000000..6765e7a3 --- /dev/null +++ b/docs/v2/api-reference/introduction.mdx @@ -0,0 +1,27 @@ +--- +title: 'Introduction' +--- + +This section documents all available API endpoints in the Honcho Server. Each +endpoint provides CRUD operations for our core primitives. For information +about these primitives, see +[Architecture](/v2/documentation/core-concepts/architecture). + + + We strongly recommend using our official SDKs instead of calling these APIs directly. The SDKs provide better error handling, type safety, and developer experience. + + +## Recommended approach + +Use our official SDKs for the best development experience: +- [Python SDK](https://pypi.org/project/honcho-ai/) +- [TypeScript SDK](https://www.npmjs.com/package/@honcho-ai/sdk) + +## When to use this API reference + +This reference is primarily useful for: +- Debugging SDK behavior +- Building integrations in unsupported languages +- Understanding the underlying data structures + +The endpoints pages are autogenerated and include interactive examples for testing. diff --git a/docs/v2/contributing/configuration.mdx b/docs/v2/contributing/configuration.mdx new file mode 100644 index 00000000..ee778330 --- /dev/null +++ b/docs/v2/contributing/configuration.mdx @@ -0,0 +1,433 @@ +--- +title: "Configuration Guide" +description: "Complete guide to configuring Honcho for development and production" +icon: "gear" +--- + +Honcho uses a flexible configuration system that supports both TOML files and environment variables. Configuration values are loaded in the following priority order (highest to lowest): + +1. Environment variables (always take precedence) +2. `.env` file (for local development) +3. `config.toml` file (base configuration) +4. Default values + +## Recommended Configuration Approaches + +### Option 1: Environment Variables Only (Production) +- Use environment variables for all configuration +- No config files needed +- Ideal for containerized deployments (Docker, Kubernetes) +- Secrets managed by your deployment platform + +### Option 2: config.toml (Development/Simple Deployments) +- Use config.toml for base configuration +- Override sensitive values with environment variables +- Good for development and simple deployments + +### Option 3: Hybrid Approach +- Use config.toml for non-sensitive base settings +- Use .env file for sensitive values (API keys, secrets) +- Good for development teams + +### Option 4: .env Only (Local Development) +- Use .env file for all configuration +- Simple for local development +- Never commit .env files to version control + +## Configuration Methods + +### Using config.toml + +Copy the example configuration file to get started: + +```bash +cp config.toml.example config.toml +``` + +Then modify the values as needed. The TOML file is organized into sections: + +- `[app]` - Application-level settings (log level, host, port) +- `[db]` - Database connection and pool settings +- `[auth]` - Authentication configuration +- `[llm]` - LLM provider and model settings +- `[agent]` - Agent behavior settings +- `[deriver]` - Background worker settings +- `[history]` - Message history settings +- `[sentry]` - Error tracking settings + +### Using Environment Variables + +All configuration values can be overridden using environment variables. The environment variable names follow this pattern: + +- `{SECTION}_{KEY}` for nested settings +- Just `{KEY}` for app-level settings + +Examples: + +- `DB_CONNECTION_URI` → `[db].CONNECTION_URI` +- `DB_POOL_SIZE` → `[db].POOL_SIZE` +- `AUTH_JWT_SECRET` → `[auth].JWT_SECRET` +- `LLM_DIALECTIC_MODEL` → `[llm].DIALECTIC_MODEL` +- `LOG_LEVEL` (no section) → `[app].LOG_LEVEL` + +### Configuration Priority + +When a configuration value is set in multiple places, Honcho uses this priority: + +1. **Environment variables** - Always take precedence +2. **.env file** - Loaded for local development +3. **config.toml** - Base configuration +4. **Default values** - Built-in defaults + +This allows you to: + +- Use `config.toml` for base configuration +- Override specific values with environment variables in production +- Use `.env` files for local development without modifying config.toml + +### Example + +If you have this in `config.toml`: + +```toml +[db] +CONNECTION_URI = "postgresql://localhost/honcho_dev" +POOL_SIZE = 10 +``` + +You can override just the connection URI in production: + +```bash +export DB_CONNECTION_URI="postgresql://prod-server/honcho_prod" +``` + +The application will use the production connection URI while keeping the pool size from config.toml. + +## Core Configuration + +### Application Settings + +**Basic Application Configuration:** +```bash +# Logging and server settings +LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR +FASTAPI_HOST=0.0.0.0 +FASTAPI_PORT=8000 +``` + +**Environment-specific settings:** +```bash +# Development +LOG_LEVEL=DEBUG +FASTAPI_HOST=127.0.0.1 + +# Production +LOG_LEVEL=WARNING +FASTAPI_HOST=0.0.0.0 +``` + +### Database Configuration + +**Required Database Settings:** +```bash +# PostgreSQL connection string (required) +DB_CONNECTION_URI=postgresql+psycopg://username:password@host:port/database + +# Example for local development +DB_CONNECTION_URI=postgresql+psycopg://postgres:postgres@localhost:5432/honcho + +# Example for production +DB_CONNECTION_URI=postgresql+psycopg://honcho_user:secure_password@db.example.com:5432/honcho_prod +``` + +**Database Pool Settings:** +```bash +# Connection pool configuration +DB_SCHEMA=public +DB_POOL_SIZE=10 +DB_MAX_OVERFLOW=20 +DB_POOL_TIMEOUT=30 +DB_POOL_RECYCLE=300 +DB_POOL_PRE_PING=true +DB_SQL_DEBUG=false +DB_TRACING=false +``` + +**Docker Compose for PostgreSQL:** +```yaml +# docker-compose.yml +version: '3.8' +services: + database: + image: pgvector/pgvector:pg15 + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: honcho + ports: + - "5432:5432" + volumes: + - postgres_data:/var/lib/postgresql/data + - ./init.sql:/docker-entrypoint-initdb.d/init.sql + +volumes: + postgres_data: +``` + +### Authentication Configuration + +**JWT Authentication:** +```bash +# Enable/disable authentication +AUTH_USE_AUTH=false # Set to true for production + +# JWT settings (required if AUTH_USE_AUTH is true) +AUTH_JWT_SECRET=your-super-secret-jwt-key +``` + +**Generate JWT Secret:** +```bash +# Generate a secure JWT secret +python scripts/generate_jwt_secret.py +``` + +## LLM Provider Configuration + +### Anthropic (Claude) + +**Required Settings:** +```bash +# API key for Anthropic +ANTHROPIC_API_KEY=your-anthropic-api-key + +# Model for dialectic reasoning +LLM_DIALECTIC_PROVIDER=anthropic +LLM_DIALECTIC_MODEL=claude-3-7-sonnet-20250219 +``` + +### OpenAI + +**Required Settings:** +```bash +# API key for OpenAI +OPENAI_API_KEY=your-openai-api-key + +# Alternative OpenAI-compatible API +OPENAI_COMPATIBLE_API_KEY=your-api-key +OPENAI_COMPATIBLE_BASE_URL=https://your-openai-compatible-endpoint.com +``` + +### Google (Gemini) + +**Required Settings:** +```bash +# API key for Google Gemini +GEMINI_API_KEY=your-gemini-api-key + +# Model for summarization +LLM_SUMMARY_PROVIDER=gemini +LLM_SUMMARY_MODEL=gemini-2.0-flash-lite +LLM_SUMMARY_MAX_TOKENS_SHORT=1000 +LLM_SUMMARY_MAX_TOKENS_LONG=2000 +``` + +### Groq + +**Required Settings:** +```bash +# API key for Groq +GROQ_API_KEY=your-groq-api-key + +# Model for query generation +LLM_QUERY_GENERATION_PROVIDER=groq +LLM_QUERY_GENERATION_MODEL=llama-3.1-8b-instant +``` + +### LLM General Settings + +**Default Configuration:** +```bash +# Default token and temperature settings +LLM_DEFAULT_MAX_TOKENS=1000 +LLM_DEFAULT_TEMPERATURE=0.0 +``` + +## Agent Configuration + +**Semantic Search Settings:** +```bash +# Search configuration +AGENT_SEMANTIC_SEARCH_TOP_K=10 +AGENT_SEMANTIC_SEARCH_MAX_DISTANCE=0.85 +``` + +**Theory of Mind Settings:** +```bash +# TOM inference method +AGENT_TOM_INFERENCE_METHOD=single_prompt +``` + +## Deriver Configuration + +**Background Processing:** +```bash +# Worker configuration +DERIVER_WORKERS=1 +DERIVER_STALE_SESSION_TIMEOUT_MINUTES=5 +DERIVER_POLLING_SLEEP_INTERVAL_SECONDS=1.0 +``` + +**Processing Methods:** +```bash +# TOM and user representation methods +DERIVER_TOM_METHOD=single_prompt +DERIVER_USER_REPRESENTATION_METHOD=long_term +``` + +## History Configuration + +**Message Summarization:** +```bash +# Summary thresholds +HISTORY_MESSAGES_PER_SHORT_SUMMARY=20 +HISTORY_MESSAGES_PER_LONG_SUMMARY=60 +``` + +## Monitoring Configuration + +### Sentry Error Tracking + +**Sentry Settings:** +```bash +# Enable/disable Sentry +SENTRY_ENABLED=false + +# Sentry configuration +SENTRY_DSN=https://your-sentry-dsn@sentry.io/project-id +SENTRY_TRACES_SAMPLE_RATE=0.1 +SENTRY_PROFILES_SAMPLE_RATE=0.1 +``` + +## Environment-Specific Examples + +### Development Configuration + +**config.toml for development:** +```toml +[app] +LOG_LEVEL = "DEBUG" +FASTAPI_HOST = "127.0.0.1" +FASTAPI_PORT = 8000 + +[db] +CONNECTION_URI = "postgresql+psycopg://postgres:postgres@localhost:5432/honcho_dev" +POOL_SIZE = 5 + +[auth] +USE_AUTH = false + +[llm] +DIALECTIC_PROVIDER = "anthropic" +DIALECTIC_MODEL = "claude-3-7-sonnet-20250219" + +[deriver] +WORKERS = 1 + +[sentry] +ENABLED = false +``` + +**Environment variables for development:** +```bash +# .env.development +LOG_LEVEL=DEBUG +DB_CONNECTION_URI=postgresql+psycopg://postgres:postgres@localhost:5432/honcho_dev +AUTH_USE_AUTH=false +ANTHROPIC_API_KEY=your-dev-anthropic-key +``` + +### Production Configuration + +**config.toml for production:** +```toml +[app] +LOG_LEVEL = "WARNING" +FASTAPI_HOST = "0.0.0.0" +FASTAPI_PORT = 8000 + +[db] +CONNECTION_URI = "postgresql+psycopg://honcho_user:secure_password@prod-db:5432/honcho_prod" +POOL_SIZE = 20 +MAX_OVERFLOW = 40 + +[auth] +USE_AUTH = true + +[llm] +DIALECTIC_PROVIDER = "anthropic" +DIALECTIC_MODEL = "claude-3-7-sonnet-20250219" +SUMMARY_PROVIDER = "gemini" +SUMMARY_MODEL = "gemini-2.0-flash-lite" + +[deriver] +WORKERS = 4 + +[sentry] +ENABLED = true +TRACES_SAMPLE_RATE = 0.1 +``` + +**Environment variables for production:** +```bash +# .env.production +LOG_LEVEL=WARNING +DB_CONNECTION_URI=postgresql+psycopg://honcho_user:secure_password@prod-db:5432/honcho_prod +AUTH_USE_AUTH=true +AUTH_JWT_SECRET=your-super-secret-jwt-key +ANTHROPIC_API_KEY=your-prod-anthropic-key +GEMINI_API_KEY=your-prod-gemini-key +SENTRY_DSN=https://your-sentry-dsn@sentry.io/project-id +``` + +## Migration Management + +**Running Database Migrations:** +```bash +# Check current migration status +uv run alembic current + +# Upgrade to latest +uv run alembic upgrade head + +# Downgrade to specific revision +uv run alembic downgrade revision_id + +# Create new migration +uv run alembic revision --autogenerate -m "Description of changes" +``` + +## Troubleshooting + +**Common Configuration Issues:** + +1. **Database Connection Errors** + - Ensure `DB_CONNECTION_URI` uses `postgresql+psycopg://` prefix + - Verify database is running and accessible + - Check pgvector extension is installed + +2. **Authentication Issues** + - Set `AUTH_USE_AUTH=true` for production + - Generate and set `AUTH_JWT_SECRET` if authentication is enabled + - Use `python scripts/generate_jwt_secret.py` to create a secure secret + +3. **LLM Provider Issues** + - Verify API keys are set correctly + - Check model names match provider specifications + - Ensure provider is enabled in configuration + +4. **Deriver Issues** + - Increase `DERIVER_WORKERS` for better performance + - Check `DERIVER_STALE_SESSION_TIMEOUT_MINUTES` for session cleanup + - Monitor background processing logs + +This configuration guide covers all the settings available in Honcho. Always use environment-specific configuration files and never commit sensitive values like API keys or JWT secrets to version control. diff --git a/docs/v2/contributing/guidelines.mdx b/docs/v2/contributing/guidelines.mdx new file mode 100644 index 00000000..9f37dc02 --- /dev/null +++ b/docs/v2/contributing/guidelines.mdx @@ -0,0 +1,172 @@ +--- +title: 'Contributing Guidelines' +icon: 'handshake' +--- + +Thank you for your interest in contributing to Honcho! This guide outlines the process for contributing to the project and our development conventions. + +## Getting Started + +Before you start contributing, please: + +1. **Set up your development environment** - Follow the [Local Development guide](https://github.com/plastic-labs/honcho/blob/main/CONTRIBUTING.md#local-development) in the Honcho repository to get Honcho running locally. + +2. **Join our community** - Feel free to join us in our [Discord](http://discord.gg/plasticlabs) to discuss your changes, get help, or ask questions. + +3. **Review existing issues** - Check the [issues tab](https://github.com/plastic-labs/honcho/issues) to see what's already being worked on or to find something to contribute to. + +## Contribution Workflow + +### 1. Fork and Clone + +1. Fork the repository on GitHub +2. Clone your fork locally: + ```bash + git clone https://github.com/YOUR_USERNAME/honcho.git + cd honcho + ``` +3. Add the upstream repository as a remote: + ```bash + git remote add upstream https://github.com/plastic-labs/honcho.git + ``` + +### 2. Create a Branch + +Create a new branch for your feature or bug fix: + +```bash +git checkout -b feature/your-feature-name +# or +git checkout -b fix/your-bug-fix-name +``` + +**Branch naming conventions:** +- `feature/description` - for new features +- `fix/description` - for bug fixes +- `docs/description` - for documentation updates +- `refactor/description` - for code refactoring +- `test/description` - for adding or updating tests + +### 3. Make Your Changes + +- Write clean, readable code that follows our coding standards (see below) +- Add tests for new functionality +- Update documentation as needed +- Make sure your changes don't break existing functionality + +### 4. Commit Your Changes + +We follow conventional commit standards. Format your commit messages as: + +``` +type(scope): description + +[optional body] + +[optional footer] +``` + +**Types:** +- `feat`: A new feature +- `fix`: A bug fix +- `docs`: Documentation only changes +- `style`: Changes that do not affect the meaning of the code +- `refactor`: A code change that neither fixes a bug nor adds a feature +- `test`: Adding missing tests or correcting existing tests +- `chore`: Changes to the build process or auxiliary tools + +**Examples:** +```bash +git commit -m "feat(api): add new dialectic endpoint for user insights" +git commit -m "fix(db): resolve connection pool timeout issue" +git commit -m "docs(readme): update installation instructions" +``` + +### 5. Submit a Pull Request + +1. Push your branch to your fork: + ```bash + git push origin your-branch-name + ``` + +2. Create a pull request on GitHub from your branch to the `main` branch + +3. Fill out the pull request template with: + - A clear description of what changes you've made + - The motivation for the changes + - Any relevant issue numbers (use "Closes #123" to auto-close issues) + - Screenshots or examples if applicable + +## Coding Standards + +### Python Code Style + +- Follow [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guidelines +- Use [Black](https://black.readthedocs.io/) for code formatting (we may add this to CI in the future) +- Use type hints where possible +- Write docstrings for functions and classes using Google style docstrings + +### Code Organization + +- Keep functions focused and single-purpose +- Use meaningful variable and function names +- Add comments for complex logic +- Follow existing patterns in the codebase + +### Testing + +- Write unit tests for new functionality +- Ensure existing tests pass before submitting +- Use descriptive test names that explain what is being tested +- Mock external dependencies appropriately + +### Documentation + +- Update relevant documentation for new features +- Include examples in docstrings where helpful +- Keep README and other docs up to date with changes + +## Review Process + +1. **Automated checks** - Your PR will run through automated checks including tests and linting +2. **Project maintainer review** - A project maintainer will review your code for: + - Code quality and adherence to standards + - Functionality and correctness + - Test coverage + - Documentation completeness +3. **Discussion and iteration** - You may be asked to make changes or clarifications +4. **Approval and merge** - Once approved, your PR will be merged into `main` + +## Types of Contributions + +We welcome various types of contributions: + +- **Bug fixes** - Help us squash bugs and improve stability +- **New features** - Add functionality that benefits the community +- **Documentation** - Improve or expand our documentation +- **Tests** - Increase test coverage and reliability +- **Performance improvements** - Help make Honcho faster and more efficient +- **Examples and tutorials** - Help other developers use Honcho + +## Issue Reporting + +When reporting bugs or requesting features: + +1. Check if the issue already exists +2. Use the appropriate issue template +3. Provide clear reproduction steps for bugs +4. Include relevant environment information +5. Be specific about expected vs actual behavior + +## Questions and Support + +- **General questions** - Join our [Discord](http://discord.gg/plasticlabs) +- **Bug reports** - Use GitHub issues +- **Feature requests** - Use GitHub issues with the feature request template +- **Security issues** - Please email us privately rather than opening a public issue + +## License + +By contributing to Honcho, you agree that your contributions will be licensed under the same [AGPL-3.0 License](./license) that covers the project. + +Thank you for helping make Honcho better! 🫡 \ No newline at end of file diff --git a/docs/v2/contributing/license.mdx b/docs/v2/contributing/license.mdx new file mode 100644 index 00000000..a53e2d7a --- /dev/null +++ b/docs/v2/contributing/license.mdx @@ -0,0 +1,671 @@ +--- +title: 'License' +icon: 'scroll' +--- + +Honcho is licensed under the AGPL-3.0 License. This is copied below for convenience and also present in the +[GitHub Repository](https://github.com/plastic-labs/honcho) + +``` + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. +``` \ No newline at end of file diff --git a/docs/v2/contributing/self-hosting.mdx b/docs/v2/contributing/self-hosting.mdx new file mode 100644 index 00000000..93fe9dbc --- /dev/null +++ b/docs/v2/contributing/self-hosting.mdx @@ -0,0 +1,325 @@ +--- +title: 'Local Environment Setup' +sidebarTitle: 'Local Environment' +description: 'Set up a local environment to run Honcho for development, testing, or self-hosting' +icon: 'computer' +--- + +This guide helps you set up a local environment to run Honcho for development, testing, or self-hosting. + +## Overview + +By the end of this guide, you'll have: +- A local Honcho server running on your machine +- A PostgreSQL database with pgvector extension +- Basic configuration to connect your applications +- A working environment for development or testing + +## Prerequisites + +Before you begin, ensure you have the following installed: + +### Required Software +- **uv** - Python package manager: `pip install uv` (manages Python installations automatically) +- **Git** - [Download from git-scm.com](https://git-scm.com/downloads) +- **Docker** (optional) - [Download from docker.com](https://www.docker.com/products/docker-desktop/) + +### Database Options +You'll need a PostgreSQL database with the pgvector extension. Choose one: + +- **Local PostgreSQL** - Install locally or use Docker +- **Supabase** - Free cloud PostgreSQL with pgvector +- **Railway** - Simple cloud PostgreSQL hosting +- **Your own PostgreSQL server** + +## Docker Setup (Recommended) + +The easiest way to get started is using Docker Compose, which handles both the database and Honcho server. + +### 1. Clone the Repository + +```bash +git clone https://github.com/plastic-labs/honcho.git +cd honcho +``` + +### 2. Set Up Environment Variables + +Copy the example environment file and configure it: + +```bash +cp .env.template .env +``` + +Edit `.env` and set your API keys (if using LLM features): + +```bash +# Optional API keys (required for LLM features) +OPENAI_API_KEY=your-openai-api-key +ANTHROPIC_API_KEY=your-anthropic-api-key + +# Database will be created automatically by Docker +DB_CONNECTION_URI=postgresql+psycopg://postgres:postgres@database:5432/honcho + +# Disable auth for local development +AUTH_USE_AUTH=false +``` + +### 3. Start the Services + +```bash +# Copy the example docker-compose file +cp docker-compose.yml.example docker-compose.yml + +# Start PostgreSQL and Honcho +docker compose up -d +``` + +### 4. Verify It's Working + +Check that both services are running: + +```bash +docker compose ps +``` + +Test the Honcho API: + +```bash +curl http://localhost:8000/health +``` + +You should see a response indicating the service is healthy. + +## Manual Setup + +For more control over your environment, you can set up everything manually. + +### 1. Clone and Install Dependencies + +```bash +git clone https://github.com/plastic-labs/honcho.git +cd honcho + +# Install dependencies using uv (this will also set up Python if needed) +uv sync + +# Activate the virtual environment +source .venv/bin/activate # On Windows: .venv\Scripts\activate +``` + +### 2. Set Up PostgreSQL + +#### Option A: Local PostgreSQL Installation + +Install PostgreSQL and pgvector on your system: + +**macOS (using Homebrew):** +```bash +brew install postgresql +brew install pgvector +``` + +**Ubuntu/Debian:** +```bash +sudo apt update +sudo apt install postgresql postgresql-contrib +# Install pgvector extension (see pgvector docs for your version) +``` + +**Windows:** +Download from [postgresql.org](https://www.postgresql.org/download/windows/) + +#### Option B: Docker PostgreSQL + +```bash +docker run --name honcho-db \ + -e POSTGRES_DB=honcho \ + -e POSTGRES_USER=postgres \ + -e POSTGRES_PASSWORD=postgres \ + -p 5432:5432 \ + -d pgvector/pgvector:pg15 +``` + +### 3. Create Database and Enable Extensions + +Connect to PostgreSQL and set up the database: + +```bash +# Connect to PostgreSQL +psql -U postgres + +# Create database and enable extensions +CREATE DATABASE honcho; +\c honcho +CREATE EXTENSION IF NOT EXISTS vector; +CREATE EXTENSION IF NOT EXISTS pg_trgm; +\q +``` + +### 4. Configure Environment + +Create a `.env` file with your settings: + +```bash +cp .env.template .env +``` + +Edit `.env` with your configuration: + +```bash +# Database connection +DB_CONNECTION_URI=postgresql+psycopg://postgres:postgres@localhost:5432/honcho + +# Optional API keys (required for LLM features) +OPENAI_API_KEY=your-openai-api-key +ANTHROPIC_API_KEY=your-anthropic-api-key + +# Development settings +AUTH_USE_AUTH=false +LOG_LEVEL=DEBUG +``` + +### 5. Run Database Migrations + +```bash +# Run migrations to create tables +uv run alembic upgrade head +``` + +### 6. Start the Server + +```bash +# Start the development server +fastapi dev src/main.py +``` + +The server will be available at `http://localhost:8000`. + +## Cloud Database Setup + +If you prefer to use a managed PostgreSQL service: + +### Supabase (Recommended) + +1. **Create a Supabase project** at [supabase.com](https://supabase.com) +2. **Enable pgvector extension** in the SQL editor: + ```sql + CREATE EXTENSION IF NOT EXISTS vector; + CREATE EXTENSION IF NOT EXISTS pg_trgm; + ``` +3. **Get your connection string** from Settings > Database +4. **Update your `.env` file** with the connection string + +### Railway + +1. **Create a Railway project** at [railway.app](https://railway.app) +2. **Add a PostgreSQL service** +3. **Enable pgvector** in the PostgreSQL console +4. **Get your connection string** from the service variables +5. **Update your `.env` file** + +## Verify Your Setup + +Once your Honcho server is running, verify everything is working: + +### 1. Health Check + +```bash +curl http://localhost:8000/health +``` + +### 2. API Documentation + +Visit `http://localhost:8000/docs` to see the interactive API documentation. + +### 3. Test with SDK + +Create a simple test script: + +```python +from honcho import Honcho + +# Connect to your local instance +client = Honcho(base_url="http://localhost:8000") + +# Create a test peer +peer = client.peer("test-user") +print(f"Created peer: {peer.id}") +``` + +## Connect Your Application + +Now that Honcho is running locally, you can connect your applications: + +### Update SDK Configuration + +```python +# Python SDK +from honcho import Honcho + +client = Honcho( + base_url="http://localhost:8000", # Your local instance + api_key="your-api-key" # If auth is enabled +) +``` + +```typescript +// TypeScript SDK +import { Honcho } from '@honcho-ai/sdk'; + +const client = new Honcho({ + baseUrl: 'http://localhost:8000', // Your local instance + apiKey: 'your-api-key' // If auth is enabled +}); +``` + +### Next Steps + +- **Explore the API**: Check out the [API Reference](/v2/api-reference/introduction) +- **Try the SDKs**: See our [guides](/v2/guides) for examples +- **Configure Honcho**: Visit the [Configuration Guide](./configuration) for detailed settings +- **Join the community**: [Discord](https://discord.gg/plasticlabs) + +## Troubleshooting + +### Common Issues + +**Database Connection Errors** +- Ensure PostgreSQL is running +- Verify the connection string format: `postgresql+psycopg://...` +- Check that pgvector extension is installed + +**API Key Issues** +- Verify your OpenAI and Anthropic API keys are valid +- Check that the keys have sufficient credits/quota + +**Port Already in Use** +- Change the port in your configuration: `FASTAPI_PORT=8001` +- Or stop other services using port 8000 + +**Docker Issues** +- Ensure Docker is running +- Check container logs: `docker compose logs` +- Restart containers: `docker compose down && docker compose up -d` + +**Migration Errors** +- Ensure the database exists and pgvector is enabled +- Check database permissions +- Run migrations manually: `uv run alembic upgrade head` + +### Getting Help + +- **GitHub Issues**: [Report bugs](https://github.com/plastic-labs/honcho/issues) +- **Discord**: [Join our community](https://discord.gg/plasticlabs) +- **Documentation**: Check the [Configuration Guide](./configuration) for detailed settings + +## Production Considerations + +When self-hosting for production, consider: + +- **Security**: Enable authentication, use HTTPS, secure your database +- **Scaling**: Use connection pooling, consider load balancing +- **Monitoring**: Set up logging, error tracking, health checks +- **Backups**: Regular database backups, disaster recovery plan +- **Updates**: Keep Honcho and dependencies updated diff --git a/docs/v2/documentation/core-concepts/architecture.mdx b/docs/v2/documentation/core-concepts/architecture.mdx new file mode 100644 index 00000000..1e747b93 --- /dev/null +++ b/docs/v2/documentation/core-concepts/architecture.mdx @@ -0,0 +1,247 @@ +--- +title: "Architecture" +description: "Understanding Honcho's core concepts and data model." +icon: "sitemap" +--- + +Honcho is built around a hierarchical data model that enables scalable memory management for AI applications. Understanding these core concepts is essential for effectively using the platform. + +## Data Model Overview + +```mermaid +graph TD + W[Workspace] --> P[Peers] + W --> S[Sessions] + W --> D[Background Processing] + P --> PM[Messages] + S --> SM[Messages] + S --> SP[Session Peers] + SP --> Config[Configurations] + D --> DQ[Deriver Queue] + + style W fill:#FF5A7E,stroke:#333,stroke-width:2px,color:#fff + style P fill:#e1f5fe + style S fill:#f3e5f5 + style D fill:#fff3e0 +``` + + +See the [Storage API](/v2/api-reference/introduction) to learn how to use the data model in practice. + + +## Core Concepts + +### Workspaces + +Workspaces are the top-level containers that provide complete isolation between different applications or environments. + +**Key Features:** +- **Isolation**: Complete data separation between workspaces +- **Multi-tenancy**: Support multiple applications or environments +- **Configuration**: Workspace-level settings and metadata +- **Access Control**: Authentication scoped to workspace level + +**Use Cases:** +- Separate development/staging/production environments +- Multi-tenant SaaS applications +- Different product lines or use cases +- Complete data separation between teams + +```json +{ + "name": "my-production-app", + "metadata": { + "environment": "production", + "version": "1.0.0" + }, + "configuration": { + "deriver_enabled": true + } +} +``` + +--- + +### Peers + +Peers represent individual users, agents, or entities in a workspace. They are the primary subjects for memory and context management. + +**Key Features:** +- **Identity**: Unique identifier within a workspace +- **Memory Storage**: Personal memory and context accumulation +- **Configuration**: Per-peer behavioral settings +- **Cross-Session Context**: Memory persists across all sessions + +**Use Cases:** +- Individual users in chatbot applications +- AI agents interacting with users or other agents +- Customer profiles in support systems +- Student profiles in educational platforms + +```json +{ + "name": "user-123", + "metadata": { + "email": "user@example.com", + "preferences": { + "language": "en", + "timezone": "UTC" + } + }, + "configuration": { + "observe_me": true + } +} +``` + +--- + +### Sessions + +Sessions represent individual conversation threads or interaction contexts between peers. + +**Key Features:** +- **Multi-Peer**: Support multiple peers in a single session +- **Temporal Boundaries**: Clear start/end to conversation threads +- **Context Scoping**: Session-specific memory and context +- **Configuration**: Session-level behavioral controls + +**Use Cases:** +- Individual chat conversations +- Support tickets +- Meeting transcripts +- Learning sessions + +```json +{ + "id": "conversation-456", + "peers": { + "user-123": { + "observe_others": true, + "observe_me": true + }, + "assistant-ai": { + "observe_others": false, + "observe_me": false + } + }, + "metadata": { + "topic": "product-support", + "priority": "high" + } +} +``` + +--- + +### Messages + +Messages are the fundamental units of interaction within sessions. They may also be used at the peer level to represent stored information of any kind. + +**Key Features:** +- **Rich Content**: Support for text, metadata, and structured data +- **Attribution**: Clear association with sending peer +- **Ordering**: Chronological sequence within sessions +- **Processing**: Automatic background analysis and insight derivation + +**Message Types:** +- User messages +- AI responses +- System notifications +- Rich media content + +```json +{ + "content": "I need help with my order", + "peer_id": "user-123", + "metadata": { + "intent": "support_request", + "urgency": "medium", + "order_id": "12345" + } +} +``` + +--- + +## Deriver System + +### Deriver Queue + +The deriver system provides automatic background processing of user interactions to derive facts, insights, and context. Messages ingested by Honcho are automatically queued for background processing by the deriver. Depending on the configuration of peer that authored the message and the session in which the message is created, the deriver may enqueue the message multiple times -- we can store facts derived from the message in the peer's global representation, their session-level representation, and/or the representations of other peers observing the author. + +Facts derived here are used in the Dialectic chat endpoint to generate context-aware responses that can correctly reference both concrete facts extracted from messages and social insights deduced from facts, tone, and opinion. + + +Deriver tasks are processed in parallel, but tasks affecting the same peer representation will always be processed serially in order of message creation, so as to properly understand their cumulative effect. + + +### Deriver Tasks + +#### Representation + +Representation tasks generate peer representations. They may be enqueued for each peer that observes a message, depending on configuration. Representations are accessed via the `chat` endpoint, allowing developers to query a peer's representation: from the "omnipresent" perspective of Honcho, the session-level representation, and the representation of that peer *from the perspective of other peers*. + +Representation tasks create comprehensive user profiles including: + +**Psychological Insights:** +- Personality traits +- Communication style +- Preferences and interests +- Behavioral patterns + +**Contextual Information:** +- Current conversation topics +- User goals and objectives +- Emotional state indicators +- Relationship dynamics + +**Example Output:** +``` +The user demonstrates high technical competency and prefers direct communication. +They show interest in software development topics and value efficiency in conversations. +Current session indicates they're seeking help with API integration issues. +``` + +#### Summary + +Summary tasks create conversation summaries and key insights. Periodically, a "short" summary will be created for each session as messages are added -- every 20 messages by default. "Long" summaries are created every 60 messages by default and maintain a total overview of the session by including the previous summary in a recursive fashion. These summaries are accessed in the `get_context` endpoint along with recent messages, allowing developers to easily fetch everything necessary to generate the next LLM completion for an agent. + +## Dialectic Chat + +Honcho's killer feature is the `chat` endpoint. By storing messages in Honcho, you may query in natural language to get intelligent answer's about a user or agent's personality, theory of mind, history, and more. Dialectic Chat should be thought of as an assisting agent which your agent can reach out to for useful context and answers about actors, human or AI, operating your application. + + +Think of Dialectic Chat as an assisting agent that your main agent can consult for contextual information about any actor in your application. + + +## Scalability Considerations + +- **Stateless API**: Scale API servers independently +- **Queue Workers**: Scale background processing workers +- **Database**: PostgreSQL with read replicas + +## Security Architecture + +- **JWTs**: Secure API access +- **Scoped Access**: Workspace/peer/session level permissions +- **Admin Controls**: Super-user capabilities +- **Workspace Isolation**: Complete data separation +- **Encryption**: Data encryption at rest and in transit + +## Next Steps + + + + Learn how to use the SDK to interact with the data model + + + Reference for all technical terms and concepts + + + Detailed API documentation and examples + + + Get started with your first integration + + diff --git a/docs/v2/documentation/core-concepts/features.mdx b/docs/v2/documentation/core-concepts/features.mdx new file mode 100644 index 00000000..79a435de --- /dev/null +++ b/docs/v2/documentation/core-concepts/features.mdx @@ -0,0 +1,37 @@ +--- +title: 'Features' +description: 'Key features and capabilities of Honcho' +icon: 'star' +--- + +### Local vs Global Representation +Peers in Honcho are abstract entities that can represent humans, agents, or NPCs. Honcho has a two-layer approach to forming representations of Peers. +- **Global Representation**: Representation owned by a Peer that is constructed from everything the Peer has sent within Honcho. +- **Local Representation**: The representation that a Peer forms of other Peers, based on the messages those other Peers have sent (as observed by the Peer forming the representation). +- At the Session level, you can configure which Peers are able to observe messages from other Peers in that Session. This determines which Peers form representations of others within the Session. + +### Ingest Arbitrary Data +To facilitate the construction of a Peer's global representation, Honcho is able to ingest arbitrary data to a Peer by adding messages to the Peer directly, outside of the context of a Session. +- Currently, Honcho supports the ingestion of arbitrary text data. + +### Queue Status +To help developers understand when a Peer's representation is fully up to date, Honcho exposes the ability to poll the status of Peer-centric queues that construct representations. +- If no Session is specified, the queue status reflects pending work for the Peer's global representation. +- If a Session is specified, the queue status reflects pending work for the Peer's working representation in that Session. + +### Search +Honcho supports full-text search across message content across different scopes. +- You can search within a specific Session, Peer, or across all messages in a Workspace. +- Search results are ordered by relevance, making it easy to quickly retrieve important past messages. + +### Scoped API Keys +Builders can create scoped API keys to control access to different resources within Honcho. +- **Workspace-Level Keys**: Access to everything scoped to a Workspace. +- **Peer-Level Keys**: Access to everything scoped to a Peer. +- **Session-Level Keys**: Access to everything scoped to a Session. + +### Get Context +Honcho provides a powerful context retrieval feature that delivers formatted conversation context from sessions, making it easy to integrate with LLMs like OpenAI, Anthropic, and others. +- By default, the context includes a blend of summary and messages which covers the entire history of the session. +- Summaries are generated automatically at intervals, and recent messages are included based on your specified token budget for the context. +- You can set any token limit, and if you prefer, you can disable summaries so that the context consists entirely of the most recent messages up to your chosen limit. \ No newline at end of file diff --git a/docs/v2/documentation/core-concepts/glossary.mdx b/docs/v2/documentation/core-concepts/glossary.mdx new file mode 100644 index 00000000..4f521fc2 --- /dev/null +++ b/docs/v2/documentation/core-concepts/glossary.mdx @@ -0,0 +1,222 @@ +--- +title: 'Glossary' +description: 'Key terms and concepts within the Honcho framework' +icon: 'book' +--- + +## AI Development Basics + +Essential terms for developers new to building AI applications. + +**LLM (Large Language Model)** +The AI model that generates text responses, like GPT-4, Claude, or Llama. Think of it as the "brain" that powers your chatbot or AI assistant. + +**Prompt** +The text you send to an AI model to get a response. This includes user messages, system instructions, and any context you provide. + +**Token** +How AI models count and limit text. Roughly 1 token = 0.75 words. Models have token limits (like 4,000 or 128,000 tokens) that determine how much text they can process at once. + +**Context Window** +The maximum amount of text an AI model can "remember" in one conversation. Once you exceed this limit, the model starts "forgetting" earlier parts of the conversation. + +**Memory** +How your AI application remembers information between conversations. Without memory, each conversation starts fresh with no knowledge of previous interactions. + +**Context** +Background information your AI knows about the current situation, user, or conversation. Good context leads to more relevant and personalized responses. + +**Personalization** +Tailoring AI responses to each specific user based on their preferences, history, and behavior patterns. + +**Embedding** +Converting text into numerical vectors that computers can understand and compare. Enables "smart search" that finds similar content based on meaning, not just keywords. + +**Metadata** +Extra information attached to your data, like tags, timestamps, or custom properties. Helps organize and filter your content. + +**API (Application Programming Interface)** +How your application communicates with external services. APIs define what requests you can make and what responses you'll get back. + +**Endpoint** +A specific URL your application calls to perform an action, like creating a user, sending a message, or retrieving data. + +**Session** +One complete conversation or interaction between a user and your AI. Sessions help organize and maintain context within individual conversations. + +**Agent** +An AI system that can take actions and make decisions, not just generate text responses. Agents can use tools, call APIs, and interact with external systems. + +--- + +## Honcho Core Concepts + +The fundamental building blocks of the Honcho platform. + + + +These four concepts form the foundation of Honcho's architecture and enable all other features. + + +**Workspace** +A top-level container providing complete isolation between different applications or environments. Workspaces enable multi-tenancy and contain all peers, sessions, and data with workspace-scoped authentication. + +**Peer** +A persistent identity within a workspace that represents a conversational participant (human users, AI agents, or other possible entities). Peers maintain persistent context and memory across all their interactions and can be configured with specific behavioral settings. + +**Session** +An independent conversation or interaction context that can include multiple peers. Sessions exist independently, allowing persistent context as well as dynamic peer participation and removal. + +**Message** +A single communication unit within a session, attributed to a specific peer. Messages support rich content, metadata, and automatic background processing for derived insights. + +--- + +## Multi-Peer Architecture + +Advanced features for complex conversational scenarios. + +**Multi-Peer Sessions** +Sessions that support multiple participants simultaneously, including humans, AI agents, and other entities. Each peer can have individual configuration settings within the session. + +**Peer Configuration** +Settings that control how a peer behaves within a session: +- **observe_me**: Whether this peer's actions are observed and learned from +- **observe_others**: Whether this peer learns from other participants + +--- + +## Context & Memory + +How Honcho builds and maintains intelligent context about users and conversations. + + +Understanding these concepts is key to leveraging Honcho's Theory of Mind capabilities. + + +**The Deriver** +Honcho's core engine that uses Theory of Mind principles to extract facts, maintain context, and create representations of any given peer. + +**Peer Context** +Persistent knowledge and preferences associated with a specific peer that spans across all their sessions. This includes personality profiles, preferences, and accumulated facts. + +**Session Context** +Conversation-specific memory and context that is scoped to individual sessions, including summaries and session-specific insights. + +**Arbitrary Data** +Information fed to the deriver to jump-start a representation or provide extra context to a specific peer, independent of natural conversation. + +**Global Representation** +Derived context of a specific peer, synthesizing insights from interactions across all sessions, including arbitrary data ingested by this specific peer. With arbitrary data, a global representation can be made independent of sessions. + +**Local Representation** +One peer's persistent context of another based on observed interactions/messages. + +**Observer Peer** +A peer that forms representations of other peers based on their interactions. + +**Target Peer** +The peer being observed to inform a representation. + +--- + +## Storage & Processing + +How Honcho stores and processes conversational data. + +**Dialectic API** +Natural language interface for making queries about what insights have been derived concerning global and local peer representations. + +**Collections** +Internal storage containers that use vector embeddings (numerical representations of text) to enable semantic search and similarity matching. Collections store insights, facts, and context about peers generated by the Deriver, allowing the Dialectic API to find relevant information based on meaning rather than exact keywords. + +**Documents** +Internal pieces of content stored in collections, automatically embedded and searchable via vector similarity. Used internally for context storage and retrieval. + +**Internal Metadata** +Honcho's internal state information that is not exposed through the API, used for system processing and state management. + +--- + +## Background Processing + +How Honcho processes data in the background to build intelligence. + +**Work Units** +Discrete processing tasks that replace session-based processing. Work units handle multi-peer scenarios and different task types for more granular processing control. + +**Deriver Queue** +Background processing system that derives insights from interactions, generates peer representations, and maintains context. Processes work units asynchronously. + +**Queue Status** +Processing status indicators: **Pending**, **In Progress**, or **Complete**. + +--- + +## Advanced Features + +Powerful capabilities for sophisticated AI applications. + +**Batch Operations** +Enhanced message operations including: +- Batch message creation +- Message querying with token and message count limits +- Efficient bulk data processing + +**Scoped Search & Summary** +Search and summary functionalities that can be scoped by: +- Workspace level +- Peer level +- Session level + +**Context Retrieval** +Session context retrieval with automatic summarization and intelligent token allocation management. + +**Peer Paradigm** +A conversation model where AI entities act as peers rather than traditional assistants, enabling collaborative interactions and shared context development. + +--- + +## Authentication & Security + +Security and access control features. + +**Workspace-Scoped Authentication** +JWT-based authentication system updated to support the workspace/peer/session hierarchy with appropriate access controls. + +**Scoped API Keys** +Authentication tokens that can limit access to specific workspaces, peers, or resources for enhanced security and multi-tenant isolation. + +--- + +## Technical Terms + +Advanced technical concepts for power users. + + +These concepts require deeper technical understanding and are primarily for advanced implementations. + + +**Vector Search** +Finding similar content using cosine similarity between vector embeddings for semantic context retrieval. + +**Semantic Search** +Search based on meaning rather than exact keyword matching, used for intelligent context assembly. + +**Token Allocation** +Intelligent management of token usage across context retrieval, summarization, and response generation. + +**Multi-Tenancy** +The ability to serve multiple isolated workspaces from a single Honcho instance with complete data separation. + +--- + +## Cognitive Science Terms + +Cognitive science terms that are used throughout the inspiration and implementation of Honcho + +**Theory of Mind** +The ability of a computer to understand, remember, and interact with its own mind, enabling it to form representations of the world and make decisions based on its own knowledge and behavior. + +**Social Cognition** +The mental processes by which we perceive, interpret, and respond to information about others and social situations. It includes the encoding, storage, retrieval, and application of social knowledge. diff --git a/docs/v2/documentation/introduction/overview.mdx b/docs/v2/documentation/introduction/overview.mdx new file mode 100644 index 00000000..fa62693a --- /dev/null +++ b/docs/v2/documentation/introduction/overview.mdx @@ -0,0 +1,70 @@ +--- +title: "Overview" +description: "Honcho solves context for AI agents by going beyond memory." +icon: "brain" +--- + +Most agents today are stateless - they forget everything between conversations or hit token limits mid-conversation. But even agents with perfect memory still treat every user the same, missing individual psychology and preferences. + +Honcho gives agents [social cognition](../core-concepts/glossary#cognitive-science-terms) - the ability to understand users as individuals, not just conversation histories. + +**Context that scales:** Auto-summarized conversations and context-window management so agents never lose track, regardless of conversation length. + +**User understanding:** Rich psychological profiles built through [theory of mind](../core-concepts/glossary#cognitive-science-terms) "How should I deliver feedback to this user?" or "What's their communication style?" + +**Adaptive interactions:** Instead of generic responses, agents dynamically adjust based on individual user models, creating truly personalized experiences. + +Your agents move from remembering what users said to understanding how they think. The result: AI that feels less like a chatbot, more like someone who actually gets you. + +This is the [dialectic endpoint](glossary#dialectic-endpoint) in action - agents that don't just have context, but have insight. + +## How It Works + +Honcho operates through two integrated layers: + +**Storage Layer**: Captures all user interactions - messages, preferences, and behavioral patterns - in a user-centric data model that scales from individual conversations to complex multi-agent scenarios. + +**Insights Layer**: Continuously analyzes stored interactions to build psychological profiles using [theory of mind](glossary#theory-of-mind) inference, extracting patterns about communication style, decision-making preferences, and mental models. + +Agents access this understanding through the [dialectic endpoint](glossary#dialectic-endpoint) - a natural language API where they can ask specific questions about users and receive actionable insights. + +## Key Capabilities + +### 🗣️ Natural Language User Queries +Ask Honcho about users in plain English: "How should I approach this topic?" or "What's their preferred communication style?" + +### 🔄 Automatic Context Optimization +Smart conversation summarization that respects context windows while preserving psychological continuity. + +### 🏗️ Agent-First Design +Built for AI consumption through MCP connectors and interfaces designed for autonomous agent workflows. + +### 🧠 Theory of Mind Inference +Goes beyond pattern matching to understand user psychology, motivations, and mental models. + +## Ideal For + +**Personalized AI assistants** that need to understand individual psychology, not just remember conversations. + +**Customer-facing agents** that must adapt their approach based on user communication preferences and emotional context. + +**Multi-agent systems** where AI needs to understand human collaborators' working styles and decision-making patterns. + +## Getting Started + +Ready to integrate Honcho into your application? + + + + Get up and running with Honcho in minutes + + + Understand Honcho's fundamental concepts + + + +## Community & Support + +- **GitHub**: [plastic-labs/honcho](https://github.com/plastic-labs/honcho) +- **Discord**: [Join our community](http://discord.gg/plasticlabs) +- **Issues**: Report bugs and request features on GitHub diff --git a/docs/v2/documentation/introduction/quickstart.mdx b/docs/v2/documentation/introduction/quickstart.mdx new file mode 100644 index 00000000..f45b0d61 --- /dev/null +++ b/docs/v2/documentation/introduction/quickstart.mdx @@ -0,0 +1,179 @@ +--- +title: 'Quickstart' +description: 'Start building with Honcho in under 5 minutes.' +icon: 'bolt' +--- + +📢 **Announcing Honcho Platform**: We've raised $5.35M pre-seed from Variant, White Star Capital & Betaworks to build the personal identity layer for AI! + +For production-level use, Honcho offers two powerful ways to leverage ambient personalization: our managed platform and our open source solution. Read further if you want to explore the quickstart demo. + + + + Fully managed, hassle-free solution with one-click deployment + + + Self-hosted, fully customizable, and open source + + + +# Getting Started + +Have your project use Honcho's ambient personalization capabilities in just a few steps. No signup required! + + +This quickstart uses the demo server at https://demo.honcho.dev + + +## 1. Install the SDK + + +```bash Python (uv) +uv add honcho-ai +``` + +```bash Python (pip) +pip install honcho-ai +``` + +```bash TypeScript (npm) +npm install @honcho-ai/sdk +``` + +```bash TypeScript (yarn) +yarn add @honcho-ai/sdk +``` + +```bash TypeScript (pnpm) +pnpm add @honcho-ai/sdk +``` + + +## 2. Initialize the Client + + +```python Python +from honcho import Honcho + +# Initialize client (using the demo environment) +client = Honcho() +``` + +```typescript TypeScript +import { Honcho } from '@honcho-ai/sdk'; + +// Initialize client (using the demo environment) +const client = new Honcho(); +``` + + +## 3. Create Peers + +Peers represent individual users, AI agents, or any conversational entity in your system: + + +```python Python +alice = client.peer("alice") +bob = client.peer("bob") +``` + +```typescript TypeScript +const alice = client.peer("alice") +const bob = client.peer("bob") +``` + + +## 4. Create a Session + +Sessions are independent conversations that can include multiple peers: + + +```python Python +session = client.session("session_1") +session.add_peers([alice, bob]) +``` + +```typescript TypeScript +const session = client.session("session_1") +session.addPeers([alice, bob]) +``` + + +## 5. Add Messages + +Add some conversation messages. Honcho automatically learns from these interactions: + + +```python Python +session.add_messages([ + alice.message("Hi Bob, how are you?"), + bob.message("I'm good, thank you!"), + alice.message("What are you doing today after work?"), + bob.message("I'm going to the gym! I've been trying to get back in shape."), + alice.message("That's great! I should probably start exercising too."), + bob.message("You should! I find that evening workouts help me relax."), +]) +``` + +```typescript TypeScript +session.addMessages([ + alice.message("Hi Bob, how are you?"), + bob.message("I'm good, thank you!"), + alice.message("What are you doing today after work?"), + bob.message("I'm going to the gym! I've been trying to get back in shape."), + alice.message("That's great! I should probably start exercising too."), + bob.message("You should! I find that evening workouts help me relax."), +]) +``` + + +## 6. Query for Insights + +Now ask Honcho what it's learned - this is where the magic happens: + + +```python Python +# Ask what Bob is like +response = alice.chat("Tell me about Bob's interests and habits") +print(response) + +# Returns rich context like: +# "Bob is health-conscious and has been working on getting back in shape. +# He regularly goes to the gym, particularly in the evenings, and finds +# exercise helps him relax. He's encouraging about fitness and willing +# to share advice about workout routines." +``` + +```typescript TypeScript +// Ask what Bob is like +const response = await alice.chat("Tell me about Bob's interests and habits"); +console.log(response); + +// Returns rich context like: +// "Bob is health-conscious and has been working on getting back in shape. +// He regularly goes to the gym, particularly in the evenings, and finds +// exercise helps him relax. He's encouraging about fitness and willing +// to share advice about workout routines." +``` + + +## What Just Happened? + +Honcho automatically built rich psychological profiles from just a few messages: + +- **Theory of Mind Processing**: Understanding personality, preferences, and patterns +- **Ambient Learning**: No surveys or explicit training - just natural conversation +- **Rich Context**: Far more detailed than simple conversation history + +The response isn't just retrieving stored text - it's synthesizing insights about Bob's personality, habits, and communication style. + +## Next Steps + +This covers the core concepts: **peers**, **sessions**, **messages**, and **dialectic queries**. + +- For production use, [sign up for the managed platform](https://app.honcho.dev) or get an [overview here](/v2/documentation/platform/overview). +- For detailed API reference, check out our [SDK documentation](/v2/documentation/platform/sdk). +- For more examples, explore our [guides](/v2/guides). + +--- + diff --git a/docs/v2/documentation/tutorial/guided-tutorial.mdx b/docs/v2/documentation/tutorial/guided-tutorial.mdx new file mode 100644 index 00000000..b1834b1f --- /dev/null +++ b/docs/v2/documentation/tutorial/guided-tutorial.mdx @@ -0,0 +1,425 @@ +--- +title: 'Guided Tutorial' +description: 'Step-by-step tutorial for building with Honcho' +icon: 'graduation-cap' +--- + +This comprehensive tutorial will walk you through building a complete AI application with Honcho, from basic setup to advanced features. + +## What We'll Build + +By the end of this tutorial, you'll have created a personal AI assistant that: +- Learns about users through conversation and remembers facts across sessions +- Automatically formats conversation context for any LLM (OpenAI, Anthropic, etc.) +- Answers questions about what it knows using natural language queries +- Handles multi-party conversations with theory-of-mind modeling + +## Prerequisites + +- Python 3.8 or higher +- Basic understanding of Python +- OpenAI API key (or another LLM provider) + +## Part 1: Basic Setup + +### Install Dependencies + + +```bash pip +pip install honcho-ai openai python-dotenv +``` + +```bash poetry +poetry add honcho-ai openai python-dotenv +``` + + +### Environment Setup + +Create a `.env` file in your project directory: + +```bash +OPENAI_API_KEY=your_openai_api_key_here +HONCHO_API_KEY=your_honcho_api_key_here +``` + +### Initialize Honcho + +```python +import os +from dotenv import load_dotenv +from honcho import Honcho +import openai + +# Load environment variables +load_dotenv() +openai.api_key = os.getenv("OPENAI_API_KEY") + +# Initialize Honcho with your app workspace +honcho = Honcho(workspace_id="personal-assistant-tutorial") +``` + +## Part 2: Peer Management + +### Create and Manage Peers + +```python +def get_user_peer(username): + """Get or create a peer representing a user""" + # Peers are created lazily - no API call until used + user_peer = honcho.peer(f"user-{username}") + print(f"Created peer for user: {username}") + return user_peer + +def get_assistant_peer(): + """Get or create the assistant peer""" + assistant_peer = honcho.peer("assistant") + print("Created assistant peer") + return assistant_peer + +# Create peers for our conversation +alice = get_user_peer("alice") +assistant = get_assistant_peer() + +print(f"User peer ID: {alice.id}") +print(f"Assistant peer ID: {assistant.id}") +``` + +## Part 3: Session Management + +### Create Conversation Sessions + +```python +def start_new_session(session_name=None): + """Start a new conversation session""" + # Create session with descriptive ID + session_id = session_name or f"chat-{int(time.time())}" + session = honcho.session(session_id) + + # Add both peers to the session + session.add_peers([alice, assistant]) + + print(f"Started new session: {session.id}") + return session + +import time +# Start a session +session = start_new_session("daily-checkin") +``` + +### Message Handling + +```python +def add_conversation_turn(session, user_message, assistant_response=None): + """Add a conversation turn to the session""" + messages_to_add = [alice.message(user_message)] + + if assistant_response: + messages_to_add.append(assistant.message(assistant_response)) + + session.add_messages(messages_to_add) + print(f"Added {len(messages_to_add)} messages to session") + +# Add user message +add_conversation_turn(session, "Hi! I'm working on a Python project today.") +``` + +## Part 4: Fact Learning and Memory + +### Store Information in Peer Representations + +```python +def teach_assistant_about_user(assistant_peer, user_peer, facts): + """Add facts about the user to the assistant's knowledge""" + # Format facts as messages to build the assistant's representation + fact_messages = [] + for fact in facts: + fact_messages.append(assistant_peer.message(f"I learned that {user_peer.id} {fact}")) + + # Add these to the assistant's global knowledge + assistant_peer.add_messages(fact_messages) + print(f"Taught assistant {len(facts)} facts about {user_peer.id}") + +def extract_facts_from_message(user_message): + """Extract facts about the user from their message using LLM""" + prompt = f""" + Extract discrete facts about the user from this message: + "{user_message}" + + Return only factual statements about the user, no inferences. + Format as a simple list of facts starting with action verbs or descriptors. + If no facts can be extracted, return an empty list. + Example: "is working on a Python project", "likes morning coffee" + """ + + response = openai.chat.completions.create( + model="gpt-3.5-turbo", + messages=[{"role": "user", "content": prompt}], + temperature=0.1 + ) + + facts_text = response.choices[0].message.content.strip() + + # Parse facts (simple line-by-line approach) + facts = [fact.strip("- ").strip() for fact in facts_text.split('\n') if fact.strip()] + return [fact for fact in facts if fact and len(fact) > 5] + +# Extract and store facts +user_input = "Hi! I'm working on a Python project today." +facts = extract_facts_from_message(user_input) +print(f"Extracted facts: {facts}") + +# Teach the assistant these facts +if facts: + teach_assistant_about_user(assistant, alice, facts) +``` + +## Part 5: LLM Integration with Context + +### Generate Responses Using Built-in Context + +```python +def generate_response_with_context(session, assistant_peer, user_message): + """Generate AI response using Honcho's built-in context management""" + + # Get formatted conversation context - Honcho handles the complexity! + context = session.get_context(tokens=2000) + messages = context.to_openai(assistant=assistant_peer) + + # Add the current user message + messages.append({"role": "user", "content": user_message}) + + # Call your LLM with the properly formatted context + response = openai.chat.completions.create( + model="gpt-3.5-turbo", + messages=messages, + temperature=0.7 + ) + + return response.choices[0].message.content + +# Generate response using built-in context +user_input = "How's my project going?" +ai_response = generate_response_with_context(session, assistant, user_input) + +print(f"AI Response: {ai_response}") + +# Add the complete conversation turn to the session +add_conversation_turn(session, user_input, ai_response) +``` + +### Query Peer Knowledge Directly + +```python +def get_personalized_insight(assistant_peer, user_peer, query): + """Query what the assistant knows about a specific user""" + # Honcho's chat handles context retrieval automatically + response = assistant_peer.chat( + f"Based on what I know about {user_peer.id}: {query}", + target=user_peer + ) + return response + +# Get personalized insights without manual context building +insight = get_personalized_insight( + assistant, + alice, + "What programming projects has this user worked on?" +) +print(f"Programming insights: {insight}") +``` + +## Part 6: Complete Conversation Loop + +### Put It All Together + +```python +def chat_with_assistant(user_peer, assistant_peer, message_text, session=None): + """Complete conversation flow with memory and personalization""" + + # Use existing session or create new one + if not session: + session = start_new_session() + + # Extract facts from user message and teach assistant + facts = extract_facts_from_message(message_text) + if facts: + teach_assistant_about_user(assistant_peer, user_peer, facts) + + # Generate response using Honcho's built-in context management + ai_response = generate_response_with_context(session, assistant_peer, message_text) + + # Add the conversation turn to session + add_conversation_turn(session, message_text, ai_response) + + return ai_response + +# Test the complete flow +response = chat_with_assistant( + alice, + assistant, + "I finished the authentication module for my Python project!" +) +print(f"Assistant: {response}") + +# Continue the conversation +response2 = chat_with_assistant( + alice, + assistant, + "What should I work on next?", + session # Continue in same session +) +print(f"Assistant: {response2}") +``` + +## Part 7: Advanced Features + +### Multi-Session Memory + +```python +def query_user_history(assistant_peer, user_peer, query): + """Query what the assistant knows about the user across all sessions""" + response = assistant_peer.chat( + f"Based on everything I know about {user_peer.id}, {query}", + target=user_peer + ) + return response + +# Query across all conversations +history_query = query_user_history( + assistant, + alice, + "what programming languages and technologies has this user mentioned?" +) +print(f"User's programming history: {history_query}") +``` + +### Session-Specific Context + +```python +def query_session_specific(assistant_peer, session, query): + """Query what happened in a specific session""" + response = assistant_peer.chat( + query, + session_id=session.id + ) + return response + +# Query about current session +session_summary = query_session_specific( + assistant, + session, + "What did we discuss in this conversation?" +) +print(f"Session summary: {session_summary}") +``` + +### Working with Multiple Users + +```python +def create_group_session(user_peers, assistant_peer): + """Create a session with multiple users and an assistant""" + group_session = honcho.session("group-discussion") + + # Add all peers to the session + all_peers = user_peers + [assistant_peer] + group_session.add_peers(all_peers) + + return group_session + +# Create multiple user peers +bob = honcho.peer("user-bob") +charlie = honcho.peer("user-charlie") + +# Create group session +group_session = create_group_session([alice, bob, charlie], assistant) + +# Add group conversation +group_session.add_messages([ + alice.message("I think we should use Python for the backend"), + bob.message("I prefer TypeScript, it's more type-safe"), + charlie.message("What about performance considerations?"), + assistant.message("Both are good choices. Let me help you compare them based on your requirements.") +]) + +# Query different perspectives +alice_view = assistant.chat( + "What does alice think about the technology discussion?", + target=alice, + session_id=group_session.id +) +print(f"Alice's perspective: {alice_view}") +``` + +## Part 8: Advanced Features + +### Direct Knowledge Queries + +```python +# Instead of complex manual context building, use peer.chat() directly +response = assistant.chat("What programming languages does alice prefer and why?", target=alice) +print(f"Alice's language preferences: {response}") + +# Query session-specific knowledge +session_insights = assistant.chat( + "What was the main topic of discussion in this session?", + session_id=session.id +) +print(f"Session insights: {session_insights}") +``` + +### Alternative LLM Formats + +```python +# Honcho supports multiple LLM formats out of the box +def use_anthropic_format(session, assistant_peer, user_message): + """Example using Anthropic's message format""" + context = session.get_context(tokens=1500) + messages = context.to_anthropic(assistant=assistant_peer) + + # Now you can use these messages with Anthropic's API + # anthropic_response = anthropic.messages.create(...) + + return messages + +# Get Anthropic-formatted messages +anthropic_messages = use_anthropic_format(session, assistant, "Hello!") +print(f"Formatted for Anthropic: {len(anthropic_messages)} messages") +``` + +## Next Steps + +Congratulations! You've built a complete personal AI assistant with Honcho that automatically handles memory, context, and LLM integration. Here are some ideas to extend it further: + +1. **Web Interface**: Build a web UI using Flask/FastAPI - the SDK makes it easy to integrate +2. **Streaming Responses**: Use `peer.chat(..., stream=True)` for real-time conversations +3. **Multi-Modal Support**: Integrate with vision models while leveraging Honcho's memory +4. **Advanced Theory-of-Mind**: Explore peer modeling with `observe_others=False` configurations +5. **Production Deployment**: Scale with workspaces, metadata, and batch operations + +## Troubleshooting + +### Common Issues + +**"No module named 'honcho'"** +- Make sure you installed the package: `pip install honcho-ai` + +**API authentication errors** +- Check your `HONCHO_API_KEY` environment variable +- Verify your API key is valid + +**Empty context or knowledge queries** +- Ensure you've added messages to peers before querying +- Check that peers are added to sessions before conversation +- Verify session has messages before getting context + +**Rate limiting or timeout issues** +- The SDK handles retries automatically +- Consider adding delays between large batch operations + +## Resources + +- [SDK Reference](/v2/documentation/platform/sdk) +- [API Reference](/v2/api-reference/introduction) +- [More Examples](/v2/guides/overview) +- [Discord Community](http://discord.gg/plasticlabs) diff --git a/docs/v2/documentation/tutorial/overview.mdx b/docs/v2/documentation/tutorial/overview.mdx new file mode 100644 index 00000000..55ace849 --- /dev/null +++ b/docs/v2/documentation/tutorial/overview.mdx @@ -0,0 +1,139 @@ +--- +title: "Platform Overview" +icon: "rocket" +description: "Honcho is the personal identity platform for AI - enabling truly personalized, contextually aware agents and applications." +--- + + +📢 **Announcing Honcho Platform**: We've raised $5.35M pre-seed from Variant, White Star Capital & Betaworks to build the personal identity layer for AI. Access the hosted platform today! + + + Start using the platform to manage Honcho instances for your workspace or app. + + +## Welcome to Honcho! + +The Honcho Platform is a managed service and the easiest way to add personal memory and identity to your AI applications. Built by the team at Plastic Labs, Honcho enables **ambient personalization** - your AI learns about users automatically as they interact, with no surveys or additional user overhead. + +Honcho Platform Dashboard + +## Why Use the Honcho Dashboard? + +The Honcho management platform streamlines deployment and monitoring so you can focus on building great AI experiences: + +**One-Click Deployment**: Launch dedicated Honcho instances in seconds with zero infrastructure setup. We handle provisioning, scaling, and maintenance automatically. + +**Developer-First Tools**: Create and manage API keys, utilize an API playground with a Postman-like experience, get machine status and performance analytics of your Honcho instance. + +**Production Monitoring**: Real-time analytics, usage metrics, and health monitoring. Track performance and user engagement across all your AI applications. + +Honcho Dashboard Getting Started + +## Go to app.honcho.dev + +Get up and running with Honcho in minutes through our managed platform: + +### **1. Sign Up & Create Your Organization** +Start by creating your account and setting up your organization. Each organization gets isolated workspaces, team management, and dedicated infrastructure for your Honcho instances. + +### **2. Deploy Your Honcho Instance** +One-click deployment creates a dedicated Honcho instance on Fly.io infrastructure. Your instance is automatically provisioned with PostgreSQL + pgvector, background workers, and API endpoints - ready to handle production traffic for your workspace. + +### **3. Generate API Keys** +Create and manage API keys for different environments (development, staging, production). Each key provides secure access to your Honcho instance with granular permissions and usage tracking. + +API Key Management Dashboard + +### **4. Test with API Playground** +Use our Postman-like API playground to test queries, explore endpoints, and validate your integration. Send requests directly to your Honcho instance and see real-time responses with full request/response logging. + +API Playground Interface + +### **5. Monitor Performance & Machine Status** +Track your Honcho instance health, usage metrics, and performance analytics. Monitor API response times, background processing queues, memory usage, and user engagement across all your AI applications. + +Performance Analytics Dashboard + +View the status of your machines running Honcho: +Machine Status + +## What's Happening Under the Hood + +```mermaid + +graph LR + User[User Interacts] --> App[Your AI App] + App --> Honcho[Honcho API] + Honcho --> Theory[Theory of Mind
Processing] + Theory --> Profile[Living User
Representation] + Profile --> Context[Rich Context
for AI] + Context --> App + + +``` + +**1. Users interact naturally** with your AI application +**2. Honcho processes interactions via** using advanced theory of mind inference +**3. Builds living representations** of each user's psychology, preferences, and identity +**4. Provides rich context** to your AI when needed, in natural language + + +**Memory Engine Architecture** +- Hierarchical data storage (Workspaces → Peers / Sessions → Messages) +- Vector similarity search for semantic queries +- Metadata indexing for fast retrieval +- Automatic data organization and cleanup + + +```python +import honcho + +# Initialize client +client = honcho.Client(api_key="your-api-key") + +# Create a workspace for your app +workspace = client.workspaces.create(name="My AI App") + +# Create a peer (user) +peer = client.peers.create( + workspace_id=workspace.id, + name="user_123" +) + +# Get personalized context for AI response +context = client.dialectic.query( + workspace_id=workspace.id, + peer_id=peer.id, + query="What communication style does this user prefer?" +) +# Returns rich, nuanced context about the user +``` + +## Getting Started + +Check out our [Platform Guide](/v2/documentation/platform/guided-tutorial) to start using Honcho platform quickly. + +Or dive into our [API Reference](/v2/api-reference) to explore all available endpoints. + +## Next Steps + + + + Get started with managed Honcho instances + + + Connect with 1000+ developers building with Honcho + + + Follow our comprehensive guides + + + See Honcho in action with real examples + + + +We're excited to see what you'll build with Honcho Platform. Let's create smarter, more personalized AI experiences together! + +--- + +*Ready to build personally aligned AI? [Get started with Honcho →](https://app.honcho.dev)* diff --git a/docs/v2/documentation/tutorial/sdk.mdx b/docs/v2/documentation/tutorial/sdk.mdx new file mode 100644 index 00000000..1c0e6fe4 --- /dev/null +++ b/docs/v2/documentation/tutorial/sdk.mdx @@ -0,0 +1,697 @@ +--- +title: 'SDK Reference' +description: 'Complete SDK documentation and examples for Python and TypeScript' +icon: 'code' +--- + +The Honcho SDKs provide ergonomic interfaces for building agentic AI applications with Honcho in Python and TypeScript/JavaScript. + +## Installation + + +```bash Python (uv) +uv add honcho-ai +``` + +```bash Python (pip) +pip install honcho-ai +``` + +```bash TypeScript (npm) +npm install @honcho-ai/sdk +``` + +```bash TypeScript (yarn) +yarn add @honcho-ai/sdk +``` + +```bash TypeScript (pnpm) +pnpm add @honcho-ai/sdk +``` + + +## Quick Start + + +```python Python +from honcho import Honcho + +# Initialize client (using the default workspace) +honcho = Honcho() + +# Create peers +alice = honcho.peer("alice") +assistant = honcho.peer("assistant") + +# Create a session for conversation +session = honcho.session("conversation-1") + +# Add messages to conversation +session.add_messages([ + alice.message("What's the weather like today?"), + assistant.message("It's sunny and 75°F outside!") +]) + +# Query peer representations in natural language +response = alice.chat("What did the assistant tell this user about the weather?") + +# Get conversation context for LLM completions +context = session.get_context() +openai_messages = context.to_openai(assistant=assistant) +``` + +```typescript TypeScript +import { Honcho } from "@honcho-ai/sdk"; + +// Initialize client (using the default workspace) +const honcho = new Honcho({}); + +// Create peers +const alice = honcho.peer("alice"); +const assistant = honcho.peer("assistant"); + +// Create a session for conversation +const session = honcho.session("conversation-1"); + +// Add messages to conversation +await session.addMessages([ + alice.message("What's the weather like today?"), + assistant.message("It's sunny and 75°F outside!") +]); + +// Query peer representations in natural language +const response = await alice.chat("What did the assistant tell this user about the weather?"); + +// Get conversation context for LLM completions +const context = await session.getContext(); +const openaiMessages = context.toOpenAI(assistant); +``` + + +## Core Concepts + +### Peers and Representations + + +**Representations** are how Honcho models what peers know. Each peer has a **global representation** (everything they know across all sessions) and **local representations** (what other specific peers know about them, scoped by session or globally). + + + +```python Python +# Query alice's global knowledge +response = alice.chat("What does the user know about weather?") + +# Query what alice knows about the assistant (local representation) +response = alice.chat("What does the user know about the assistant?", target=assistant) + +# Query scoped to a specific session +response = alice.chat("What happened in our conversation?", session_id=session.id) +``` + +```typescript TypeScript +// Query alice's global knowledge +const response = await alice.chat("What does the user know about weather?"); + +// Query what alice knows about the assistant (local representation) +const targetResponse = await alice.chat("What does the user know about the assistant?", { + target: assistant +}); + +// Query scoped to a specific session +const sessionResponse = await alice.chat("What happened in our conversation?", { + sessionId: session.id +}); +``` + + +## Core Classes + +### Honcho Client + +The main entry point for workspace operations: + + +```python Python +from honcho import Honcho + +# Basic initialization (uses environment variables) +honcho = Honcho(workspace_id="my-app-name") + +# Full configuration +honcho = Honcho( + workspace_id="my-app-name", + api_key="my-api-key", + environment="production", # or "local", "demo" + base_url="https://api.honcho.dev", + timeout=30.0, + max_retries=3 +) +``` + +```typescript TypeScript +import { Honcho } from "@honcho-ai/sdk"; + +// Basic initialization (uses environment variables) +const honcho = new Honcho({ + workspaceId: "my-app-name" +}); + +// Full configuration +const honcho = new Honcho({ + workspaceId: "my-app-name", + apiKey: "my-api-key", + environment: "production", // or "local", "demo" + baseURL: "https://api.honcho.dev", + timeout: 30000, + maxRetries: 3, + defaultHeaders: { "X-Custom-Header": "value" }, + defaultQuery: { "param": "value" } +}); +``` + + +**Environment Variables:** +- `HONCHO_API_KEY` - API key for authentication +- `HONCHO_BASE_URL` - Base URL for the Honcho API +- `HONCHO_WORKSPACE_ID` - Default workspace ID + +**Key Methods:** + + +```python Python +# Get or create a peer +peer = honcho.peer(id) + +# Get or create a session +session = honcho.session(id) + +# List all peers in workspace +peers = honcho.get_peers() + +# List all sessions in workspace +sessions = honcho.get_sessions() + +# Search across all content in workspace +results = honcho.search(query) + +# Workspace metadata management +metadata = honcho.get_metadata() +honcho.set_metadata(dict) + +# Get list of all workspace IDs +workspaces = honcho.get_workspaces() +``` + +```typescript TypeScript +// Get or create a peer +const peer = honcho.peer(id); + +// Get or create a session +const session = honcho.session(id); + +// List all peers in workspace (returns Page) +const peers = await honcho.getPeers(); + +// List all sessions in workspace (returns Page) +const sessions = await honcho.getSessions(); + +// Search across all content in workspace (returns Page) +const results = await honcho.search(query); + +// Workspace metadata management +const metadata = await honcho.getMetadata(); +await honcho.setMetadata(metadata); + +// Get list of all workspace IDs +const workspaces = await honcho.getWorkspaces(); +``` + + + +Peer and session creation is **lazy** - no API calls are made until you actually use the peer or session. + + +### Peer + +Represents an entity that can participate in conversations: + + +```python Python +# Create peers (lazy creation - no API call yet) +alice = honcho.peer("alice") +assistant = honcho.peer("assistant") + +# Create with immediate configuration +# This will make an API call to create the peer with the custom configuration and/or metadata +alice = honcho.peer("bob", config={"role": "user", "active": True}, metadata={"location": "NYC", "role": "developer"}) + +# Peer properties +print(f"Peer ID: {alice.id}") +print(f"Workspace: {alice.workspace_id}") + +# Chat with peer's representations (supports streaming) +response = alice.chat("What did I have for breakfast?") +response = alice.chat("What do I know about Bob?", target="bob") +response = alice.chat("What happened in session-1?", session_id="session-1") + +# Add content to peer's global representation +alice.add_messages("I love Python programming") +alice.add_messages([ + alice.message("Today I learned about async programming"), + alice.message("I prefer functional programming patterns") +]) + +# Get peer's sessions and messages +sessions = alice.get_sessions() +messages = alice.get_messages() + +# Search peer's content +results = alice.search("programming") + +# Metadata management +metadata = alice.get_metadata() +metadata["location"] = "Paris" +alice.set_metadata(metadata) +``` + +```typescript TypeScript +// Create peers (lazy creation - no API call yet) +const alice = honcho.peer("alice"); +const assistant = honcho.peer("assistant"); + +// Peer properties +console.log(`Peer ID: ${alice.id}`); + +// Chat with peer's representations (supports streaming) +const response = await alice.chat("What did I have for breakfast?"); +const targetResponse = await alice.chat("What do I know about Bob?", { target: "bob" }); +const sessionResponse = await alice.chat("What happened in session-1?", { + sessionId: "session-1" +}); + +// Chat with streaming support +const streamResponse = await alice.chat("Tell me a story", { stream: true }); + +// Add content to peer's global representation +await alice.addMessages("I love TypeScript programming"); +await alice.addMessages([ + alice.message("Today I learned about async programming"), + alice.message("I prefer functional programming patterns") +]); + +// Get peer's sessions and messages +const sessions = await alice.getSessions(); +const messages = await alice.getMessages(); + +// Search peer's content +const results = await alice.search("programming"); + +// Metadata management +const metadata = await alice.getMetadata(); +await alice.setMetadata({ + ...metadata, + location: "Paris" +}); +``` + + +### Session + +Manages multi-party conversations: + + +```python Python +# Create session (like peers, lazy creation) +session = honcho.session("conversation-1") + +# Create with immediate configuration +# This will make an API call to create the session with the custom configuration and/or metadata +session = honcho.session("meeting-1", config={"type": "meeting", "max_peers": 10}) + +# Session properties +print(f"Session ID: {session.id}") +print(f"Workspace: {session.workspace_id}") + +# Peer management +session.add_peers([alice, assistant]) +session.add_peers([(alice, SessionPeerConfig(observe_others=True))]) +session.set_peers([alice, bob, charlie]) # Replace all peers +session.remove_peers([alice]) + +# Get session peers and their configurations +peers = session.get_peers() +peer_config = session.get_peer_config(alice) +session.set_peer_config(alice, SessionPeerConfig(observe_me=False)) + +# Message management +session.add_messages([ + alice.message("Hello everyone!"), + assistant.message("Hi Alice! How can I help today?") +]) + +# Get messages +messages = session.get_messages() + +# Get conversation context +context = session.get_context(summary=True, tokens=2000) + +# Search session content +results = session.search("help") + +# Working representation queries +global_rep = session.working_rep("alice") +targeted_rep = session.working_rep(alice, bob) + +# Metadata management +session.set_metadata({"topic": "product planning", "status": "active"}) +metadata = session.get_metadata() +``` + +```typescript TypeScript +// Create session (like peers, lazy creation) +const session = honcho.session("conversation-1"); + +// Session properties +console.log(`Session ID: ${session.id}`); + +// Peer management +await session.addPeers([alice, assistant]); +await session.addPeers("single-peer-id"); +await session.setPeers([alice, bob, charlie]); // Replace all peers +await session.removePeers([alice]); +await session.removePeers("single-peer-id"); + +// Get session peers +const peers = await session.getPeers(); + +// Message management +await session.addMessages([ + alice.message("Hello everyone!"), + assistant.message("Hi Alice! How can I help today?") +]); + +// Get messages +const messages = await session.getMessages(); + +// Get conversation context +const context = await session.getContext({ summary: true, tokens: 2000 }); + +// Search session content +const results = await session.search("help"); + +// Working representation queries +const globalRep = await session.workingRep("alice"); +const targetedRep = await session.workingRep(alice, bob); + +// Metadata management +await session.setMetadata({ + topic: "product planning", + status: "active" +}); +const metadata = await session.getMetadata(); +``` + + +**Session-Level Theory of Mind Configuration:** + + +**Theory of Mind** controls whether peers can form models of what other peers think. Use `observe_others=False` to prevent a peer from modeling others within a session, and `observe_me=False` to prevent others from modeling this peer within a session. + + + +```python Python +from honcho import SessionPeerConfig + +# Configure peer observation settings +config = SessionPeerConfig( + observe_others=False, # Form theory-of-mind of other peers -- False by default + observe_me=True # Don't let others form theory-of-mind of me -- True by default +) + +session.add_peers([(alice, config)]) +``` + +```typescript TypeScript +// Configure peer observation settings +const config = new SessionPeerConfig({ + observeOthers: false, // Form theory-of-mind of other peers -- False by default + observeMe: true // Don't let others form theory-of-mind of me -- True by default +}); + +await session.addPeers([alice, config]); +``` + + +### SessionContext + +Provides formatted conversation context for LLM integration: + + +```python Python +# Get session context +context = session.get_context(summary=True, tokens=1500) + +# Convert to LLM-friendly formats +openai_messages = context.to_openai(assistant=assistant) +anthropic_messages = context.to_anthropic(assistant=assistant) +``` + +```typescript TypeScript +// Get session context +const context = await session.getContext({ summary: true, tokens: 1500 }); + +// Convert to LLM-friendly formats +const openaiMessages = context.toOpenAI(assistant); +const anthropicMessages = context.toAnthropic(assistant); +``` + + +## Advanced Usage + +### Multi-Party Conversations + + +```python Python +# Create multiple peers +users = [honcho.peer(f"user-{i}") for i in range(5)] +moderator = honcho.peer("moderator") + +# Create group session +group_chat = honcho.session("group-discussion") +group_chat.add_peers(users + [moderator]) + +# Add messages from different peers +group_chat.add_messages([ + users[0].message("What's our agenda for today?"), + moderator.message("We'll discuss the new feature roadmap"), + users[1].message("I have some concerns about the timeline") +]) + +# Query different perspectives +user_perspective = users[0].chat("What are people's concerns?") +moderator_view = moderator.chat("What feedback am I getting?", session_id=group_chat.id) +``` + +```typescript TypeScript +// Create multiple peers +const users = Array.from({ length: 5 }, (_, i) => honcho.peer(`user-${i}`)); +const moderator = honcho.peer("moderator"); + +// Create group session +const groupChat = honcho.session("group-discussion"); +await groupChat.addPeers([...users, moderator]); + +// Add messages from different peers +await groupChat.addMessages([ + users[0].message("What's our agenda for today?"), + moderator.message("We'll discuss the new feature roadmap"), + users[1].message("I have some concerns about the timeline") +]); + +// Query different perspectives +const userPerspective = await users[0].chat("What are people's concerns?"); +const moderatorView = await moderator.chat("What feedback am I getting?", { + sessionId: groupChat.id +}); +``` + + +### LLM Integration + + +```python Python +import openai + +# Get conversation context +context = session.get_context(tokens=3000) +messages = context.to_openai(assistant=assistant) + +# Call OpenAI API +response = openai.chat.completions.create( + model="gpt-4", + messages=messages + [ + {"role": "user", "content": "Summarize the key discussion points."} + ] +) +``` + +```typescript TypeScript +import OpenAI from 'openai'; + +const openai = new OpenAI(); + +// Get conversation context +const context = await session.getContext({ tokens: 3000 }); +const messages = context.toOpenAI(assistant); + +// Call OpenAI API +const response = await openai.chat.completions.create({ + model: "gpt-4", + messages: [ + ...messages, + { role: "user", content: "Summarize the key discussion points." } + ] +}); +``` + + +### Metadata and Filtering + +See [Using Filters](/v2/guides/using-filters) for more examples on how to use filters. + + +```python Python +# Add messages with metadata +session.add_messages([ + alice.message("Let's discuss the budget", metadata={ + "topic": "finance", + "priority": "high" + }), + assistant.message("I'll prepare the financial report", metadata={ + "action_item": True, + "due_date": "2024-01-15" + }) +]) + +# Filter messages by metadata +finance_messages = session.get_messages(filter={"metadata": {"topic": "finance"}}) +action_items = session.get_messages(filter={"metadata": {"action_item": True}}) +``` + +```typescript TypeScript +// Add messages with metadata +await session.addMessages([ + alice.message("Let's discuss the budget", { + metadata: { + topic: "finance", + priority: "high" + } + }), + assistant.message("I'll prepare the financial report", { + metadata: { + action_item: true, + due_date: "2024-01-15" + } + }) +]); + +// Filter messages by metadata +const financeMessages = await session.getMessages({ + filter: { metadata: { topic: "finance" } } +}); +const actionItems = await session.getMessages({ + filter: { metadata: { action_item: true } } +}); +``` + + +### Pagination + + +```python Python +# Iterate through all sessions +for session in honcho.get_sessions(): + print(f"Session: {session.id}") + + # Iterate through session messages + for message in session.get_messages(): + print(f" {message.peer_id}: {message.content}") +``` + +```typescript TypeScript +// Get paginated results +const peersPage = await honcho.getPeers(); + +// Iterate through all items +for await (const peer of peersPage) { + console.log(`Peer: ${peer.id}`); +} + +// Manual pagination +let currentPage = peersPage; +while (currentPage) { + const data = await currentPage.data(); + console.log(`Processing ${data.length} items`); + currentPage = await currentPage.nextPage(); +} +``` + + +## Best Practices + +### Resource Management + + +```python Python +# Peers and sessions are lightweight - create as needed +alice = honcho.peer("alice") +session = honcho.session("chat-1") + +# Use descriptive IDs for better debugging +user_session = honcho.session(f"user-{user_id}-support-{ticket_id}") +support_agent = honcho.peer(f"agent-{agent_id}") +``` + +```typescript TypeScript +// Peers and sessions are lightweight - create as needed +const alice = honcho.peer("alice"); +const session = honcho.session("chat-1"); + +// Use descriptive IDs for better debugging +const userSession = honcho.session(`user-${userId}-support-${ticketId}`); +const supportAgent = honcho.peer(`agent-${agentId}`); +``` + + +### Performance Optimization + + +```python Python +# Lazy creation - no API calls until needed +peers = [honcho.peer(f"user-{i}") for i in range(100)] # Fast + +# Batch operations when possible +session.add_messages([peer.message(f"Message {i}") for i, peer in enumerate(peers)]) + +# Use context limits to control token usage +context = session.get_context(tokens=1500) # Limit context size +``` + +```typescript TypeScript +// Lazy creation - no API calls until needed +const peers = Array.from({ length: 100 }, (_, i) => honcho.peer(`user-${i}`)); // Fast + +// Batch operations when possible +await session.addMessages( + peers.map((peer, i) => peer.message(`Message ${i}`)) +); + +// Use context limits to control token usage +const context = await session.getContext({ tokens: 1500 }); // Limit context size + +// Iterate efficiently with async iteration +for await (const peer of await honcho.getPeers()) { + // Process one peer at a time without loading all into memory +} +``` + diff --git a/docs/v2/guides/ai-assisted-setup.mdx b/docs/v2/guides/ai-assisted-setup.mdx new file mode 100644 index 00000000..c8ce7939 --- /dev/null +++ b/docs/v2/guides/ai-assisted-setup.mdx @@ -0,0 +1,296 @@ +--- +title: "Cursor & Claude: AI-Powered Honcho Setup" +icon: "wand-magic-sparkles" +description: "Build Honcho-powered AI agents quickly using Cursor or Claude. Zero configuration required." +sidebarTitle: 'AI-Assisted Setup' +--- + +Get Honcho up and running in minutes using AI coding assistants. These prompts are specifically optimized for Cursor and Claude to generate production-ready code with minimal effort. + +## 🚀 Quick Start + +Choose your path based on your use case: + +### Personal AI Assistant + +Build an AI assistant that remembers conversations and learns user preferences. + + +Copy this prompt into Cursor or Claude to get a complete implementation: + + +``` +Create a personal AI assistant using Honcho that remembers user preferences and conversations. Requirements: + +REFERENCE DOCUMENTATION: +- Honcho Docs: https://docs.honcho.dev +- Honcho GitHub: https://github.com/plastic-labs/honcho +- Python SDK: https://github.com/plastic-labs/honcho-python +- API Reference: https://docs.honcho.dev/v2/api-reference/introduction + +WHAT TO BUILD: +- Personal assistant that learns about the user automatically +- Remembers preferences, habits, and conversation history +- Provides personalized responses based on past interactions +- Uses Honcho's demo server (no setup required) + +TECHNICAL SETUP: +- Python with Honcho SDK and OpenAI +- Simple command-line interface for testing +- Environment: Use demo.honcho.dev (no API key needed) +- LLM: OpenAI GPT-4 (provide env var setup) + +CODE REQUIREMENTS: +- Complete working example with extensive comments +- Error handling and user-friendly messages +- Demonstration of key Honcho concepts: + * Creating peers (user and assistant) + * Managing sessions and conversations + * Automatic learning from interactions + * Querying learned information + * Getting context for AI responses + +EXAMPLE WORKFLOW: +1. User starts conversation with assistant +2. Assistant responds using any existing knowledge about user +3. System automatically learns facts from the conversation +4. System stores conversation in session +5. Future conversations reference past interactions + +Include installation instructions, environment setup, and example conversations to test. +``` + +### Discord Bot with Memory + +Create a Discord bot that learns about server members and provides personalized interactions. + +``` +Build a Discord bot using Honcho that learns about server members and provides personalized interactions. + +REFERENCE DOCUMENTATION: +- Honcho Docs: https://docs.honcho.dev +- Honcho GitHub: https://github.com/plastic-labs/honcho +- Python SDK: https://github.com/plastic-labs/honcho-python +- Discord Guide: https://docs.honcho.dev/v2/guides/discord +- API Reference: https://docs.honcho.dev/v2/api-reference/introduction + +STARTER TEMPLATE: +- Use the official discord-python-starter from Plastic Labs: https://github.com/plastic-labs/discord-python-starter +- This template already includes Honcho integration, py-cord, and fly.io deployment +- Modify the existing bot.py file to add enhanced memory features + +WHAT TO BUILD: +- Discord bot with persistent memory using Honcho +- Learns about users through natural conversation +- Provides personalized responses based on user history +- Handles multi-user conversations with context awareness +- Extends the starter template with advanced memory features + +TECHNICAL SETUP: +- Clone the discord-python-starter repository +- Python with py-cord, Honcho SDK, and OpenRouter LLM support +- Uses uv for package management (already configured) +- Environment variables template provided (.env.template) +- Docker and fly.io deployment ready + +CORE FEATURES TO ADD: +- Enhanced per-user memory and personality modeling +- Channel-specific session management +- Theory-of-mind queries ("What does this user like?") +- Advanced fact extraction from conversations +- Multi-participant conversation handling +- Slash commands for memory management + +IMPLEMENTATION REQUIREMENTS: +- Extend the existing on_message function with memory features +- Add new slash commands for memory testing and management +- Integrate Honcho's dialectic API for personalized responses +- Add session management for different channels +- Implement background fact learning and storage +- Error handling and comprehensive logging + +DEPLOYMENT: +- Use the included fly.toml for deployment +- Environment variable management with fly secrets +- Docker containerization (Dockerfile provided) + +Include examples of enhanced bot interactions and memory demonstrations. +``` + +## 🎯 Using Cursor + +### Setup Workflow + + + + ```bash + # Create project + mkdir my-honcho-agent + cd my-honcho-agent + + # Open in Cursor + cursor . + + # Use Cmd+L to open AI chat + # Paste one of the prompts above + ``` + + + ```bash + # Clone the starter template + git clone https://github.com/plastic-labs/discord-python-starter.git + cd discord-python-starter + + # Install dependencies + uv sync + + # Configure environment + cp .env.template .env + # Add your Discord token and API keys + ``` + + + +### Cursor Tips + + + + Use `@codebase` to ask questions about your entire project + + + Use `@docs https://docs.honcho.dev` for documentation context + + + Ask Cursor to write comprehensive tests for your Honcho integration + + + Request specific improvements: "Add better error handling" + + + +## 🤖 Claude Workflows + +### Rapid Development + +``` +I want to quickly prototype an AI agent with Honcho. Help me build: + +REFERENCE DOCUMENTATION: +- Honcho Docs: https://docs.honcho.dev +- Honcho GitHub: https://github.com/plastic-labs/honcho +- Quickstart Guide: https://docs.honcho.dev/v2/documentation/introduction/quickstart +- SDK Documentation: https://docs.honcho.dev/v2/documentation/platform/sdk + +1. SETUP: Complete development environment with Honcho demo server +2. CORE: Basic peer/session/message workflow with memory +3. INTEGRATION: OpenAI LLM integration with context management +4. TESTING: Simple test cases to verify memory functionality +5. ITERATION: Framework for adding features incrementally + +Focus on: +- Working code over perfect architecture +- Clear comments explaining Honcho concepts +- Easy-to-modify structure for experimentation +- Immediate feedback and testing capabilities + +Start with the most minimal viable example and show me how to extend it. +``` + +### Production Deployment + +``` +Help me deploy my Honcho application to production: + +REFERENCE DOCUMENTATION: +- Self-Hosting Guide: https://docs.honcho.dev/v2/contributing/self-hosting +- Configuration Guide: https://docs.honcho.dev/v2/contributing/configuration-guide +- Platform Overview: https://docs.honcho.dev/v2/documentation/platform/overview + +REQUIREMENTS: +- Environment configuration and secrets management +- Database setup and migrations +- API authentication and rate limiting +- Monitoring and logging setup +- Deployment automation + +Provide step-by-step deployment instructions for [Fly.io/Vercel/Railway/Heroku]. +``` + +## 💡 Common Patterns + +### Basic Conversation Flow + +1. **Initialize**: Create peers and start a session +2. **Converse**: Exchange messages between user and assistant +3. **Learn**: Honcho automatically extracts facts from conversations +4. **Remember**: Future conversations use accumulated context +5. **Personalize**: Responses adapt based on learned information + +### Advanced Features + + + + Implement separate memory contexts for different users or channels + + + Manage conversation history to stay within LLM token limits + + + Query and update the knowledge graph programmatically + + + Use dialectic API to reason about user preferences and mental states + + + +## 🛠️ Troubleshooting + + +```text Connection Issues +"My Honcho connection is failing with [ERROR]. Here's my environment setup: [paste code]. What's wrong and how do I fix it?" +``` + +```text Memory Not Persisting +"The agent isn't remembering conversations between sessions. Here's my session management code: [paste code]. Help me debug this." +``` + +```text Performance Optimization +"My Honcho queries are slow. Here's my implementation: [paste code]. How can I optimize this?" +``` + +```text Integration Problems +"I'm trying to integrate Honcho with [SYSTEM] but getting [ERROR]. Here's my approach: [paste code]. What's the correct way to do this?" +``` + + +## 🚀 Next Steps + +After your initial setup: + +1. **Add Features**: Extend with voice input, web UI, or API endpoints +2. **Improve Memory**: Implement custom fact extraction and retrieval +3. **Scale Up**: Add caching, background processing, and optimization +4. **Deploy**: Move from demo server to production environment +5. **Monitor**: Add logging, metrics, and error tracking + +## 📚 Resources + +### Documentation +- **Main Docs**: [docs.honcho.dev](https://docs.honcho.dev) +- **API Reference**: [docs.honcho.dev/v2/api-reference](https://docs.honcho.dev/v2/api-reference/introduction) + +### Code & Examples +- **Honcho Core**: [github.com/plastic-labs/honcho](https://github.com/plastic-labs/honcho) +- **Python SDK**: [github.com/plastic-labs/honcho-python](https://github.com/plastic-labs/honcho-python) +- **TypeScript SDK**: [github.com/plastic-labs/honcho-node](https://github.com/plastic-labs/honcho-node) +- **Discord Starter**: [github.com/plastic-labs/discord-python-starter](https://github.com/plastic-labs/discord-python-starter) + +### Key Concepts for AI Prompts +When working with AI assistants, mention these concepts: +- **Core**: "peers, sessions, messages, facts" +- **Advanced**: "dialectic API, theory of mind, context management" +- **Integration**: "LLM context injection, session persistence, multi-user handling" + + +**Pro Tip**: Be specific about your requirements and constraints when prompting AI. The more context you provide, the better the generated code will match your needs. + \ No newline at end of file diff --git a/docs/v2/guides/dialectic-endpoint.mdx b/docs/v2/guides/dialectic-endpoint.mdx new file mode 100644 index 00000000..ed089d61 --- /dev/null +++ b/docs/v2/guides/dialectic-endpoint.mdx @@ -0,0 +1,90 @@ +--- +title: "Dialectic Endpoint" +description: "An endpoint for reasoning about your users" +icon: "comments" +--- + +Honcho by default runs ambient inference on top of the `message` objects you store. Those messages serve as the ground truth upon which facts about the user are derived and stored. The **Dialectic Endpoint** is the natural language interface through which insights are synthesized from those facts. We believe [intellectual respect](https://blog.plasticlabs.ai/extrusions/Extrusion-02.24) for LLMs is paramount in building effective AI agents/apps. It follows that the LLM should know better than any human what would aid them in their generation task. Thus, the Dialectic endpoint exists for flexible agent-to-agent communication. + +## Automatic Fact Derivation + +On every message written to a session, an automatic callback is run that will reason about the conversation and store facts in a `collection` named `honcho`. This is a reserved `collection` specifically for the backend Honcho agent to interact with. + +## Dialectic Endpoint + +The Dialectic endpoint allows you to define logic enabling your agent to talk to our agent that automatically retrieves and synthesizes facts from the collection. You can use the response as part of your reasoning process for your agent–add it to your next prompt to inject critical context about the user. + +This chat interface is exposed via the `peer.chat()` endpoint. It accepts a string or a list of strings. Below is some example code on how this works. + +## Prerequisites + + +```python Python +from honcho import Honcho + +# use the default workspace +honcho = Honcho() + +# get/create a peer +peer = honcho.peer("demo-user") + +# get/create a session +session = honcho.session("demo-session") + +# (assuming some messages have been written to Honcho for the deriver to use) +``` + +```typescript TypeScript +import Honcho from '@honcho-ai/sdk'; + +// use the default workspace +const honcho = new Honcho(); + +// get/create a peer +const peer = await honcho.peer('demo-user'); + +// get/create a session +const session = await honcho.session('demo-session'); + +// (assuming some messages have been written to Honcho for the deriver to use) +``` + +## Static Dialectic Call + + +```python Python +query = "What is the user's favorite way of completing the task?" +answer = peer.chat(query) +``` + +```typescript TypeScript +const query = "What is the user's favorite way of completing the task?" +const dialecticResponse = await peer.chat(query) +``` + + +## Streaming Dialectic Call + + +```python Python +query = "What do we know about the user?" +response_stream = peer.chat(query, stream=True) + +for line in response_stream.iter_text(): + print(line) +``` + +```typescript TypeScript +const query = "What do we know about the user?" +const responseStream = await peer.chat(query, { stream: true }) + +for await (const line of responseStream.iter_text()) { + console.log(line) +} +``` + + +We've designed the Dialectic endpoint to be infinitely flexible. We wrote an incomplete list of ideas on how to use it on our blog [here](https://blog.plasticlabs.ai/blog/Introducing-Honcho's-Dialectic-API#how-it-works). + + + diff --git a/docs/v2/guides/discord.mdx b/docs/v2/guides/discord.mdx new file mode 100644 index 00000000..c91b9df0 --- /dev/null +++ b/docs/v2/guides/discord.mdx @@ -0,0 +1,254 @@ +--- +title: "Discord Bots with Honcho" +icon: 'discord' +description: "Use Honcho to build a Discord bot with conversational memory and context management." +sidebarTitle: 'Discord Bot' +--- + +> Example code is available on [GitHub](https://github.com/plastic-labs/discord-python-starter) + +Any application interface that defines logic based on events and supports +special commands can work easily with Honcho. Here's how to use Honcho with +**Discord** as an interface. If you're not familiar with Discord bot +application logic, the [py-cord](https://pycord.dev/) docs would be a good +place to start. + +## Events + +Most Discord bots have async functions that listen for specific events, the most common one being messages. We can use Honcho to store messages by user and session based on an interface's event logic. Take the following function definition for example: + +```python +@bot.event +async def on_message(message): + """ + Receive a message from Discord and respond with a message from our LLM assistant. + """ + if not validate_message(message): + return + + input = sanitize_message(message) + + # If the message is empty after sanitizing, ignore it + if not input: + return + + peer = honcho_client.peer(id=get_peer_id_from_discord(message)) + session = honcho_client.session(id=str(message.channel.id)) + + async with message.channel.typing(): + response = llm(session, input) + + await send_discord_message(message, response) + + # Save both the user's message and the bot's response to the session + session.add_messages( + [ + peer.message(input), + assistant.message(response), + ] + ) +``` + +Let's break down what this code is doing... + +```python +@bot.event +async def on_message(message): + if not validate_message(message): + return +``` + +This is how you define an event function in `py-cord` that listens for messages. We use a helper function `validate_message()` to check if the message should be processed. + +## Helper Functions + +The code uses several helper functions to keep the main logic clean and readable. Let's examine each one: + +### Message Validation + +```python +def validate_message(message) -> bool: + """ + Determine if the message is valid for the bot to respond to. + Return True if it is, False otherwise. Currently, the bot will + only respond to messages that tag it with an @mention in a + public channel and are not from the bot itself. + """ + if message.author == bot.user: + # ensure the bot does not reply to itself + return False + + if isinstance(message.channel, discord.DMChannel): + return False + + if not bot.user.mentioned_in(message): + return False + + return True +``` + +This function centralizes all the logic for determining whether the bot should respond to a message. It checks that: +- The message isn't from the bot itself +- The message isn't in a DM channel +- The bot is mentioned in the message + +### Message Sanitization + +```python +def sanitize_message(message) -> str | None: + """Remove the bot's mention from the message content if present""" + content = message.content.replace(f"<@{bot.user.id}>", "").strip() + if not content: + return None + return content +``` + +This helper removes the bot's mention from the message content, leaving just the actual user input. + +### Peer ID Generation + +```python +def get_peer_id_from_discord(message): + """Get a Honcho peer ID for the message author""" + return f"discord_{str(message.author.id)}" +``` + +This creates a unique peer identifier for each Discord user by prefixing their Discord ID. + +### LLM Integration + +```python +def llm(session, prompt) -> str: + """ + Call the LLM with the given prompt and chat history. + + You should expand this function with custom logic, prompts, etc. + """ + messages: list[dict[str, object]] = session.get_context().to_openai( + assistant=assistant + ) + messages.append({"role": "user", "content": prompt}) + + try: + completion = openai.chat.completions.create( + model=MODEL_NAME, + messages=messages, + ) + return completion.choices[0].message.content + except Exception as e: + print(e) + return f"Error: {e}" +``` + +This function handles the LLM interaction. It uses Honcho's built-in `to_openai()` method to automatically convert the session context into the format expected by OpenAI's chat completions API. + +### Message Sending + +```python +async def send_discord_message(message, response_content: str): + """Send a message to the Discord channel""" + if len(response_content) > 1500: + # Split response into chunks at newlines, keeping under 1500 chars + chunks = [] + current_chunk = "" + for line in response_content.splitlines(keepends=True): + if len(current_chunk) + len(line) > 1500: + chunks.append(current_chunk) + current_chunk = line + else: + current_chunk += line + if current_chunk: + chunks.append(current_chunk) + + for chunk in chunks: + await message.channel.send(chunk) + else: + await message.channel.send(response_content) +``` + +This function handles sending messages to Discord, automatically splitting long responses into multiple messages to stay within Discord's character limits. + +## Honcho Integration + +The new Honcho peer/session API makes integration much simpler: + +```python +peer = honcho_client.peer(id=get_peer_id_from_discord(message)) +session = honcho_client.session(id=str(message.channel.id)) +``` + +Here we create a peer object for the user and a session object using the Discord channel ID. This automatically handles user and session management. + +```python +# Save both the user's message and the bot's response to the session +session.add_messages( + [ + peer.message(input), + assistant.message(response), + ] +) +``` + +After generating the response, we save both the user's input and the bot's response to the session using the `add_messages()` method. The `peer.message()` creates a message from the user, while `assistant.message()` creates a message from the assistant. + +## Slash Commands + +Discord bots also offer slash command functionality. Here's an example using Honcho's dialectic feature: + +```python +@bot.slash_command( + name="dialectic", + description="Query the Honcho Dialectic endpoint.", +) +async def dialectic(ctx, query: str): + await ctx.defer() + + try: + peer = honcho_client.peer(id=get_peer_id_from_discord(ctx)) + session = honcho_client.session(id=str(ctx.channel.id)) + + response = peer.chat( + queries=query, + session_id=session.id, + ) + + if response: + await ctx.followup.send(response) + else: + await ctx.followup.send( + f"I don't know anything about {ctx.author.name} because we haven't talked yet!" + ) + except Exception as e: + logger.error(f"Error calling Dialectic API: {e}") + await ctx.followup.send( + f"Sorry, there was an error processing your request: {str(e)}" + ) +``` + +This slash command uses Honcho's dialectic functionality to answer questions about the user based on their conversation history. + +## Setup and Configuration + +The bot requires several environment variables and setup: + +```python +honcho_client = Honcho() +assistant = honcho_client.peer(id="assistant", config={"observe_me": False}) +openai = OpenAI(base_url="https://openrouter.ai/api/v1", api_key=MODEL_API_KEY) +``` + +- `honcho_client`: The main Honcho client +- `assistant`: A peer representing the bot/assistant +- `openai`: OpenAI client configured to use OpenRouter + +## Recap + +The new Honcho peer/session API makes Discord bot integration much simpler and more intuitive. Key patterns we learned: + +- **Peer/Session Model**: Users are represented as peers, conversations as sessions +- **Automatic Context Management**: `session.get_context().to_openai()` automatically formats chat history +- **Message Storage**: `session.add_messages()` stores both user and assistant messages +- **Dialectic Queries**: `peer.chat()` enables querying conversation history +- **Helper Functions**: Clean code organization with focused helper functions + +This approach provides a clean, maintainable structure for building Discord bots with conversational memory and context management. \ No newline at end of file diff --git a/docs/v2/guides/get-context.mdx b/docs/v2/guides/get-context.mdx new file mode 100644 index 00000000..c5f143b1 --- /dev/null +++ b/docs/v2/guides/get-context.mdx @@ -0,0 +1,506 @@ +--- +title: 'Working with Session Context' +description: 'Learn how to use get_context() to retrieve and format conversation context for LLM integration' +icon: 'messages' +--- + +The `get_context()` method is a powerful feature that retrieves formatted conversation context from sessions, making it easy to integrate with LLMs like OpenAI, Anthropic, and others. This guide covers everything you need to know about working with session context. + +By default, the context includes a blend of summary and messages which covers the entire history of the session. Summaries are automatically generated at intervals and recent messages are included depending on how many tokens the context is intended to be. You can specify any token limit you want, and can disable summaries to fill that limit entirely with recent messages. + +## Basic Usage + +The `get_context()` method is available on all Session objects and returns a `SessionContext` that contains the formatted conversation history. + + +```python Python +from honcho import Honcho + +# Initialize client and create session +honcho = Honcho() +session = honcho.session("conversation-1") + +# Get basic context (not very useful before adding any messages!) +context = session.get_context() +``` + +```typescript TypeScript +import { Honcho } from "@honcho-ai/sdk"; + +// Initialize client and create session +const honcho = new Honcho({}); +const session = honcho.session("conversation-1"); + +// Get basic context (not very useful before adding any messages!) +const context = await session.getContext(); +``` + + +## Context Parameters + +The `get_context()` method accepts several optional parameters to customize the retrieved context: + +### Token Limits + +Control the size of the context by setting a maximum token count: + + +```python Python +# Limit context to 1500 tokens +context = session.get_context(tokens=1500) + +# Limit context to 3000 tokens for larger conversations +context = session.get_context(tokens=3000) +``` + +```typescript TypeScript +// Limit context to 1500 tokens +const context = await session.getContext({ tokens: 1500 }); + +// Limit context to 3000 tokens for larger conversations +const context = await session.getContext({ tokens: 3000 }); +``` + + +### Summary Mode + +Enable summary mode (on by default) to get a condensed version of the conversation: + + +```python Python +# Get context with summary enabled -- will contain both summary and messages +context = session.get_context(summary=True) + +# Combine summary=False with token limits to get more messages +context = session.get_context(summary=False, tokens=2000) +``` + +```typescript TypeScript +// Get context with summary enabled -- will contain both summary and messages +const context = await session.getContext({ summary: true }); + +// Combine summary=False with token limits to get more messages +const context = await session.getContext({ + summary: false, + tokens: 2000 +}); +``` + + +## Converting to LLM Formats + +The `SessionContext` object provides methods to convert the context into formats compatible with popular LLM APIs. When converting to OpenAI format, you must specify the assistant peer to format the context in such a way that the LLM can understand it. + +### OpenAI Format + +Convert context to OpenAI's chat completion format: + + +```python Python +# Create peers +alice = honcho.peer("alice") +assistant = honcho.peer("assistant") + +# Add some conversation +session.add_messages([ + alice.message("What's the weather like today?"), + assistant.message("It's sunny and 75°F outside!") +]) + +# Get context and convert to OpenAI format +context = session.get_context() +openai_messages = context.to_openai(assistant=assistant) + +# The messages are now ready for OpenAI API +print(openai_messages) +# [ +# {"role": "user", "content": "What's the weather like today?"}, +# {"role": "assistant", "content": "It's sunny and 75°F outside!"} +# ] +``` + +```typescript TypeScript +// Create peers +const alice = honcho.peer("alice"); +const assistant = honcho.peer("assistant"); + +// Add some conversation +await session.addMessages([ + alice.message("What's the weather like today?"), + assistant.message("It's sunny and 75°F outside!") +]); + +// Get context and convert to OpenAI format +const context = await session.getContext(); +const openaiMessages = context.toOpenAI(assistant); + +// The messages are now ready for OpenAI API +console.log(openaiMessages); +// [ +// {"role": "user", "content": "What's the weather like today?"}, +// {"role": "assistant", "content": "It's sunny and 75°F outside!"} +// ] +``` + + +### Anthropic Format + +Convert context to Anthropic's Claude format: + + +```python Python +# Get context and convert to Anthropic format +context = session.get_context() +anthropic_messages = context.to_anthropic(assistant=assistant) + +# Ready for Anthropic API +print(anthropic_messages) +``` + +```typescript TypeScript +// Get context and convert to Anthropic format +const context = await session.getContext(); +const anthropicMessages = context.toAnthropic(assistant); + +// Ready for Anthropic API +console.log(anthropicMessages); +``` + + +## Complete LLM Integration Examples + +### Using with OpenAI + + +```python Python +import openai +from honcho import Honcho + +# Initialize clients +honcho = Honcho() +openai_client = openai.OpenAI() + +# Set up conversation +session = honcho.session("support-chat") +user = honcho.peer("user-123") +assistant = honcho.peer("support-bot") + +# Add conversation history +session.add_messages([ + user.message("I'm having trouble with my account login"), + assistant.message("I can help you with that. What error message are you seeing?"), + user.message("It says 'Invalid credentials' but I'm sure my password is correct") +]) + +# Get context for LLM +messages = session.get_context(tokens=2000).to_openai(assistant=assistant) + +# Add new user message and get AI response +messages.append({ + "role": "user", + "content": "Can you reset my password?" +}) + +response = openai_client.chat.completions.create( + model="gpt-4", + messages=messages +) + +# Add AI response back to session +session.add_messages([ + user.message("Can you reset my password?"), + assistant.message(response.choices[0].message.content) +]) +``` + +```typescript TypeScript +import OpenAI from 'openai'; +import { Honcho } from "@honcho-ai/sdk"; + +// Initialize clients +const honcho = new Honcho({}); +const openai = new OpenAI(); + +// Set up conversation +const session = honcho.session("support-chat"); +const user = honcho.peer("user-123"); +const assistant = honcho.peer("support-bot"); + +// Add conversation history +await session.addMessages([ + user.message("I'm having trouble with my account login"), + assistant.message("I can help you with that. What error message are you seeing?"), + user.message("It says 'Invalid credentials' but I'm sure my password is correct") +]); + +// Get context for LLM +const messages = await session.getContext({ tokens: 2000 }).toOpenAI(assistant); + +// Add new user message and get AI response +const response = await openai.chat.completions.create({ + model: "gpt-4", + messages: [ + ...messages, + { role: "user", content: "Can you reset my password?" } + ] +}); + +// Add AI response back to session +await session.addMessages([ + user.message("Can you reset my password?"), + assistant.message(response.choices[0].message.content) +]); +``` + + +### Multi-Turn Conversation Loop + + +```python Python +def chat_loop(): + """Example of a continuous chat loop using get_context()""" + + session = honcho.session("chat-session") + user = honcho.peer("user") + assistant = honcho.peer("ai-assistant") + + while True: + # Get user input + user_input = input("You: ") + if user_input.lower() in ['quit', 'exit']: + break + + # Add user message to session + session.add_messages([user.message(user_input)]) + + # Get conversation context + context = session.get_context(tokens=2000) + messages = context.to_openai(assistant=assistant) + + # Get AI response + response = openai_client.chat.completions.create( + model="gpt-4", + messages=messages + ) + + ai_response = response.choices[0].message.content + print(f"Assistant: {ai_response}") + + # Add AI response to session + session.add_messages([assistant.message(ai_response)]) + +# Start the chat loop +chat_loop() +``` + +```typescript TypeScript +async function chatLoop() { + const session = honcho.session("chat-session"); + const user = honcho.peer("user"); + const assistant = honcho.peer("ai-assistant"); + + // This would be replaced with actual user input handling in a real app + const userInputs = [ + "Hello, how are you?", + "What's the weather like?", + "Tell me a joke" + ]; + + for (const userInput of userInputs) { + console.log(`You: ${userInput}`); + + // Add user message to session + await session.addMessages([user.message(userInput)]); + + // Get conversation context + const context = await session.getContext({ tokens: 2000 }); + const messages = context.toOpenAI(assistant); + + // Get AI response + const response = await openai.chat.completions.create({ + model: "gpt-4", + messages: messages + }); + + const aiResponse = response.choices[0].message.content; + console.log(`Assistant: ${aiResponse}`); + + // Add AI response to session + await session.addMessages([assistant.message(aiResponse)]); + } +} + +// Start the chat loop +await chatLoop(); +``` + + +## Advanced Context Usage + +### Context with Summaries for Long Conversations + +For very long conversations, use summaries to maintain context while controlling token usage: + + +```python Python +# For long conversations, use summary mode +long_session = honcho.session("long-conversation") + +# Get summarized context to fit within token limits +context = long_session.get_context(summary=True, tokens=1500) +messages = context.to_openai(assistant=assistant) + +# This will include a summary of older messages and recent full messages +print(f"Context contains {len(messages)} formatted messages") +``` + +```typescript TypeScript +// For long conversations, use summary mode +const longSession = honcho.session("long-conversation"); + +// Get summarized context to fit within token limits +const context = await longSession.getContext({ + summary: true, + tokens: 1500 +}); +const messages = context.toOpenAI(assistant); + +// This will include a summary of older messages and recent full messages +console.log(`Context contains ${messages.length} formatted messages`); +``` + + +### Context for Different Assistant Types + +You can get context formatted for different types of assistants in the same session: + + +```python Python +# Create different assistant peers +chatbot = honcho.peer("chatbot") +analyzer = honcho.peer("data-analyzer") +moderator = honcho.peer("moderator") + +# Get context formatted for each assistant type +chatbot_context = session.get_context().to_openai(assistant=chatbot) +analyzer_context = session.get_context().to_openai(assistant=analyzer) +moderator_context = session.get_context().to_openai(assistant=moderator) + +# Each context will format the conversation from that assistant's perspective +``` + +```typescript TypeScript +// Create different assistant peers +const chatbot = honcho.peer("chatbot"); +const analyzer = honcho.peer("data-analyzer"); +const moderator = honcho.peer("moderator"); + +// Get context formatted for each assistant type +const context = await session.getContext(); +const chatbotContext = context.toOpenAI(chatbot); +const analyzerContext = context.toOpenAI(analyzer); +const moderatorContext = context.toOpenAI(moderator); + +// Each context will format the conversation from that assistant's perspective +``` + + +## Best Practices + +### 1. Token Management + +Always set appropriate token limits to control costs and ensure context fits within LLM limits: + + +```python Python +# Good: Set reasonable token limits based on your model +context = session.get_context(tokens=3000) # For GPT-4 +context = session.get_context(tokens=1500) # For smaller models + +# Good: Use summaries for very long conversations +context = session.get_context(summary=True, tokens=2000) +``` + +```typescript TypeScript +// Good: Set reasonable token limits based on your model +const context = await session.getContext({ tokens: 3000 }); // For GPT-4 +const context = await session.getContext({ tokens: 1500 }); // For smaller models + +// Good: Use summaries for very long conversations +const context = await session.getContext({ summary: true, tokens: 2000 }); +``` + + +### 2. Context Caching + +For applications with frequent context retrieval, consider caching context when appropriate: + + +```python Python +# Cache context for multiple LLM calls within the same request +context = session.get_context(tokens=2000) +openai_messages = context.to_openai(assistant=assistant) +anthropic_messages = context.to_anthropic(assistant=assistant) + +# Use the same context object for multiple format conversions +``` + +```typescript TypeScript +// Cache context for multiple LLM calls within the same request +const context = await session.getContext({ tokens: 2000 }); +const openaiMessages = context.toOpenAI(assistant); +const anthropicMessages = context.toAnthropic(assistant); + +// Use the same context object for multiple format conversions +``` + + +### 3. Error Handling + +Always handle potential errors when working with context: + + +```python Python +try: + context = session.get_context(tokens=2000) + messages = context.to_openai(assistant=assistant) + + # Use messages with LLM API + response = openai_client.chat.completions.create( + model="gpt-4", + messages=messages + ) + +except Exception as e: + print(f"Error getting context: {e}") + # Handle error appropriately +``` + +```typescript TypeScript +try { + const context = await session.getContext({ tokens: 2000 }); + const messages = context.toOpenAI(assistant); + + // Use messages with LLM API + const response = await openai.chat.completions.create({ + model: "gpt-4", + messages: messages + }); + +} catch (error) { + console.error(`Error getting context: ${error}`); + // Handle error appropriately +} +``` + + +## Conclusion + +The `get_context()` method is essential for integrating Honcho sessions with LLMs. By understanding how to: + +- Retrieve context with appropriate parameters +- Convert context to LLM-specific formats +- Manage token limits and summaries +- Handle multi-turn conversations + +You can build sophisticated AI applications that maintain conversation history and context across interactions while integrating seamlessly with popular LLM providers. diff --git a/docs/v2/guides/mcp.mdx b/docs/v2/guides/mcp.mdx new file mode 100644 index 00000000..19e70232 --- /dev/null +++ b/docs/v2/guides/mcp.mdx @@ -0,0 +1,62 @@ +--- +title: "Honcho MCP" +icon: 'star-of-life' +description: "Use Honcho in Claude Desktop" +sidebarTitle: 'MCP Integration' +--- + +You can let Claude use Honcho to manage its own memory in the native desktop app by using the Honcho MCP integration! Follow these steps: + +1. Clone the `honcho-mcp` repo: + +``` +git clone git@github.com:plastic-labs/honcho-mcp.git +``` + +2. Navigate into the `honcho-mcp` folder. + +``` +cd honcho-mcp +``` + +3. Sync the virtual environment. This package uses [uv](https://docs.astral.sh/uv/), [install](https://docs.astral.sh/uv/#installation) if you haven't. + +``` +uv sync +``` + +4. In Claude Desktop, go to the *top left Mac Toolbar* Settings > Developer and click "Edit Config" + +5. Add the following (and update paths!): + +``` +{ + "mcpServers": { + "Honcho": { + "command": "/path/to/uv", + "args": [ + "run", + "--with", + "mcp[cli]", + "mcp", + "run", + "/path/to/honcho-mcp/main.py" + ] + } + } +} +``` + +You probably will need to put the full path to the uv executable in the command field. You can get this by running `which uv` on MacOS/Linux or `where uv` on Windows. + +6. Restart the Claude Desktop app. Upon relaunch it should start Honcho and the tools should be available! + +Just note that, by default, the MCP server is set up to use the Honcho Demo server, which only persists data for 7 days. If you're using the hosted version of Honcho, copy the `.env.template` to a proper `.env` file and update the URL and API key variables accordingly. + +## Project Instructions + +Finally, Claude needs instructions on how to use Honcho. The Desktop app doesn't allow you to add system prompts directly, but you can create a project and paste these [instructions](https://github.com/plastic-labs/honcho-mcp/blob/main/instructions.txt) into the "Project Instructions" field. + +Be sure to update the \ and \ variables in the instructions.txt file. + +Claude should then query for insights before responding and write your messages to storage! If you come up with more creative ways to get Claude to manage its own memory with Honcho, feel free to [let us know](https://discord.gg/plasticlabs) or make a PR on this [repo](https://github.com/plastic-labs/honcho-mcp/tree/main)! diff --git a/docs/v2/guides/overview.mdx b/docs/v2/guides/overview.mdx new file mode 100644 index 00000000..db339636 --- /dev/null +++ b/docs/v2/guides/overview.mdx @@ -0,0 +1,40 @@ +--- +title: "Spellbooks and Tutorials" +sidebarTitle: 'Overview' +description: 'Helpful guides and design patterns for building with Honcho' +icon: 'hat-wizard' +--- + + Before you start a tutorial, follow [Quick Start](/v2/documentation/introduction/quickstart) to get up and running with Honcho in your language of choice. + +AI development often feels like magic - you craft the right prompt and get exactly what you need. Our Spellbooks are practical guides that show you how to cast effective spells with Honcho. + +Whether you're integrating Honcho into existing platforms, exploring advanced features, or getting up and running quickly, these guides provide concrete examples and implementation patterns. + +## What You'll Find Here + +### Getting Started +**[Overview](overview)** - You are here +**[AI-Assisted Setup](ai-assisted-setup)** - Get Honcho running with a single prompt in Cursor or Claude Code + +### Application Interfaces +Ready-to-use integration patterns for popular platforms: + +**[Discord Bot](discord)** - Build a Discord bot that remembers users across conversations +**[Telegram Bot](telegram)** - Create a Telegram bot with persistent user understanding + +### Design Patterns +Implementation patterns for Honcho's core capabilities + +**[Dialectic Endpoint](dialectic-endpoint)** - Query user psychology in natural language +**[Working with Session Context](get-context)** - Manage conversation flow and context windows +**[Search](search)** - Search your data using natural language +**[Working Representations](working-representations)** - Understanding and customizing user models +**[Streaming Responses](streaming-responses)** - Handle real-time interactions efficiently +**[Using Filters](using-filters)** - Control what data gets processed and how + +## Philosophy + +These aren't just API documentation - they're implementation patterns that solve real problems. Each spellbook focuses on a specific use case with working code you can adapt to your needs. + +The goal is to get you from idea to working prototype as quickly as possible, then provide the depth you need to scale and customize. diff --git a/docs/v2/guides/search.mdx b/docs/v2/guides/search.mdx new file mode 100644 index 00000000..f197bb7a --- /dev/null +++ b/docs/v2/guides/search.mdx @@ -0,0 +1,298 @@ +--- +title: 'Search' +description: 'Learn how to search across workspaces, sessions, and peers to find relevant conversations and content' +icon: 'magnifying-glass' +--- + +Honcho's search functionality allows you to find relevant messages and conversations across different scopes - from entire workspaces down to specific peers or sessions. + +## How Search Works + +Search in Honcho is implemented with a two-tier approach: +1. **Primary**: PostgreSQL English language full-text search index for intelligent matching +2. **Fallback**: Simple string matching for broader coverage + +All search results are returned in a paginated format, making it easy to handle large result sets efficiently. + +## Search Scopes + +### Workspace Search + +Search across all content in your workspace - sessions, peers, and messages: + + +```python Python +from honcho import Honcho + +# Initialize client +honcho = Honcho() + +# Search across entire workspace +results = honcho.search("budget planning") + +# Iterate through all results +for result in results: + print(f"Found: {result}") +``` + +```typescript TypeScript +import { Honcho } from "@honcho-ai/sdk"; + +// Initialize client +const honcho = new Honcho({}); + +// Search across entire workspace +const results = await honcho.search("budget planning"); + +// Iterate through all results +for await (const result of results) { + console.log(`Found: ${result}`); +} +``` + + +### Session Search + +Search within a specific session's conversation history: + + +```python Python +# Create or get a session +session = honcho.session("team-meeting-jan") + +# Search within this session only +results = session.search("action items") + +# Process results +for result in results: + print(f"Session result: {result}") +``` + +```typescript TypeScript +// Create or get a session +const session = honcho.session("team-meeting-jan"); + +// Search within this session only +const results = await session.search("action items"); + +// Process results +for await (const result of results) { + console.log(`Session result: ${result}`); +} +``` + + +### Peer Search + +Search across all content associated with a specific peer: + + +```python Python +# Create or get a peer +alice = honcho.peer("alice") + +# Search across all of Alice's messages and interactions +results = alice.search("programming") + +# View results +for result in results: + print(f"Alice's content: {result}") +``` + +```typescript TypeScript +// Create or get a peer +const alice = honcho.peer("alice"); + +// Search across all of Alice's messages and interactions +const results = await alice.search("programming"); + +// View results +for await (const result of results) { + console.log(`Alice's content: ${result}`); +} +``` + + +## Working with Search Results + +### Basic Result Processing + + +```python Python +# Search returns a paginated iterator +results = honcho.search("customer feedback") + +# Simple iteration processes all results automatically +for result in results: + # Each result contains the matched content and context + print(f"Match: {result}") + +# Check if there are any results +results = honcho.search("nonexistent topic") +result_list = list(results) +if not result_list: + print("No results found") +``` + +```typescript TypeScript +// Search returns a paginated Page object +const results = await honcho.search("customer feedback"); + +// Iterate through all results +for await (const result of results) { + // Each result contains the matched content and context + console.log(`Match: ${result}`); +} + +// Check if there are any results +const emptyResults = await honcho.search("nonexistent topic"); +const resultData = await emptyResults.data(); +if (resultData.length === 0) { + console.log("No results found"); +} +``` + + +### Manual Pagination + + +```python Python +# For manual pagination control, you can work with pages directly +results = honcho.search("project updates") + +# The iterator handles pagination automatically, but you can also +# work with individual batches if needed +count = 0 +for result in results: + count += 1 + print(f"Result {count}: {result}") + + # Stop after first 10 results + if count >= 10: + break +``` + +```typescript TypeScript +// Manual pagination with TypeScript +let currentPage = await honcho.search("project updates"); + +while (currentPage) { + const data = await currentPage.data(); + console.log(`Processing ${data.length} results`); + + for (const result of data) { + console.log(`Result: ${result}`); + } + + // Get next page + currentPage = await currentPage.nextPage(); +} +``` + + +### Search with Context Building + + +```python Python +# Use search results to build context for LLM interactions +def build_context_from_search(query: str, session_id: str): + session = honcho.session(session_id) + + # Search for relevant past discussions + search_results = list(session.search(query)) + + if search_results: + # Use search results to inform context + context_summary = f"Found {len(search_results)} relevant past discussions about '{query}'" + + # Get normal session context + session_context = session.get_context(tokens=1500) + + return { + "search_summary": context_summary, + "session_context": session_context, + "search_results": search_results[:3] # Top 3 results + } + + return {"message": "No relevant past discussions found"} + +# Build context for a new question +context_data = build_context_from_search("user authentication", "support-session-1") +print(f"Context: {context_data.get('search_summary', 'No context')}") +``` + +```typescript TypeScript +// Use search results to build context for LLM interactions +async function buildContextFromSearch(query: string, sessionId: string) { + const session = honcho.session(sessionId); + + // Search for relevant past discussions + const searchResults = await session.search(query); + const searchData = await searchResults.data(); + + if (searchData.length > 0) { + // Use search results to inform context + const contextSummary = `Found ${searchData.length} relevant past discussions about '${query}'`; + + // Get normal session context + const sessionContext = await session.getContext({ tokens: 1500 }); + + return { + searchSummary: contextSummary, + sessionContext: sessionContext, + searchResults: searchData.slice(0, 3) // Top 3 results + }; + } + + return { message: "No relevant past discussions found" }; +} + +// Build context for a new question +const contextData = await buildContextFromSearch("user authentication", "support-session-1"); +console.log(`Context: ${contextData.searchSummary || contextData.message}`); +``` + + +## Best Practices + +### Handle Empty Results Gracefully + + +```python Python +# Always check for empty results +results = honcho.search("very specific query") +result_list = list(results) + +if result_list: + print(f"Found {len(result_list)} results") + for result in result_list: + print(f"- {result}") +else: + print("No results found - try a broader search") +``` + +```typescript TypeScript +// Always check for empty results +const results = await honcho.search("very specific query"); +const resultData = await results.data(); + +if (resultData.length > 0) { + console.log(`Found ${resultData.length} results`); + for (const result of resultData) { + console.log(`- ${result}`); + } +} else { + console.log("No results found - try a broader search"); +} +``` + + +## Conclusion + +Honcho's search functionality provides powerful discovery capabilities across your conversational data. By understanding how to: + +- Choose the appropriate search scope (workspace, session, or peer) +- Handle paginated results effectively +- Combine search with context building + +You can build applications that provide intelligent insights and context-aware responses based on historical conversations and interactions. diff --git a/docs/v2/guides/streaming-response.mdx b/docs/v2/guides/streaming-response.mdx new file mode 100644 index 00000000..3280dda1 --- /dev/null +++ b/docs/v2/guides/streaming-response.mdx @@ -0,0 +1,243 @@ +--- +title: "Streaming Responses" +description: "Using streaming responses with Honcho SDKs" +icon: "wave-sine" +--- + +When working with AI-generated content, streaming the response as it's generated can significantly improve the user experience. Honcho provides streaming functionality in its SDKs that allows your application to display content as it's being generated, rather than waiting for the complete response. + +## When to Use Streaming + +Streaming is particularly useful for: + +- Real-time chat interfaces +- Long-form content generation +- Applications where perceived speed is important +- Interactive agent experiences +- Reducing time-to-first-word in user interactions + +## Streaming with the Dialectic Endpoint + +One of the primary use cases for streaming in Honcho is with the Dialectic endpoint. This allows you to stream the AI's reasoning about a user in real-time. + +### Prerequisites + + +```python Python +from honcho import Honcho + +# Initialize client (using the default workspace) +honcho = Honcho() + +# Create or get peers +user = honcho.peer("demo-user") +assistant = honcho.peer("assistant") + +# Create a new session +session = honcho.session("demo-session") + +# Add peers to the session +session.add_peers([user, assistant]) + +# Store some messages for context (optional) +session.add_messages([ + user.message("Hello, I'm testing the streaming functionality") +]) +``` + +```typescript TypeScript +import { Honcho } from '@honcho-ai/sdk'; + +// Initialize client (using the default workspace) +const honcho = new Honcho(); + +// Create or get peers +const user = honcho.peer('demo-user'); +const assistant = honcho.peer('assistant'); + +// Create a new session +const session = honcho.session('demo-session'); + +// Add peers to the session +await session.addPeers([user, assistant]); + +// Store some messages for context (optional) +await session.addMessages([ + user.message("Hello, I'm testing the streaming functionality") +]); +``` + + +## Streaming from the Dialectic Endpoint + + +```python Python +import time + +# Basic streaming example +response_stream = user.chat("What can you tell me about this user?", stream=True) + +for chunk in response_stream.iter_text(): + print(chunk, end="", flush=True) # Print each chunk as it arrives + time.sleep(0.01) # Optional delay for demonstration +``` + +```typescript TypeScript +// Basic streaming example +const responseStream = await user.chat("What can you tell me about this user?", { + stream: true +}); + +// Process the stream +for await (const chunk of responseStream.iter_text()) { + process.stdout.write(chunk); // Write to console without newlines +} +``` + + +## Working with Streaming Data + +When working with streaming responses, consider these patterns: + +1. **Progressive Rendering** - Update your UI as chunks arrive instead of waiting for the full response +2. **Buffered Processing** - Accumulate chunks until a logical break (like a sentence or paragraph) +3. **Token Counting** - Monitor token usage in real-time for applications with token limits +4. **Error Handling** - Implement appropriate error handling for interrupted streams + +## Example: Restaurant Recommendation Chat + + +```python Python +import asyncio +from honcho import Honcho + +async def restaurant_recommendation_chat(): + # Initialize client + honcho = Honcho() + + # Create peers + user = honcho.peer("food-lover") + assistant = honcho.peer("restaurant-assistant") + + # Create session + session = honcho.session("food-preferences-session") + + # Add peers to session + await session.add_peers([user, assistant]) + + # Store multiple user messages about food preferences + user_messages = [ + "I absolutely love spicy Thai food, especially curries with coconut milk.", + "Italian cuisine is another favorite - fresh pasta and wood-fired pizza are my weakness!", + "I try to eat vegetarian most of the time, but occasionally enjoy seafood.", + "I can't handle overly sweet desserts, but love something with dark chocolate." + ] + + # Add the user's messages to the session + session_messages = [user.message(message) for message in user_messages] + await session.add_messages(session_messages) + + # Print the user messages + for message in user_messages: + print(f"User: {message}") + + # Ask for restaurant recommendations based on preferences + print("\nRequesting restaurant recommendations...") + print("Assistant: ", end="", flush=True) + full_response = "" + + # Stream the response using the user's peer to get recommendations + response_stream = user.chat( + "Based on this user's food preferences, recommend 3 restaurants they might enjoy in the Lower East Side.", + stream=True, + session_id=session.id + ) + + for chunk in response_stream.iter_text(): + print(chunk, end="", flush=True) + full_response += chunk + await asyncio.sleep(0.01) + + # Store the assistant's complete response + await session.add_messages([ + assistant.message(full_response) + ]) + +# Run the async function +if __name__ == "__main__": + asyncio.run(restaurant_recommendation_chat()) +``` + +```typescript TypeScript +import { Honcho } from '@honcho-ai/sdk'; + +async function restaurantRecommendationChat() { + // Initialize client + const honcho = new Honcho(); + + // Create peers + const user = honcho.peer('food-lover'); + const assistant = honcho.peer('restaurant-assistant'); + + // Create session + const session = honcho.session('food-preferences-session'); + + // Add peers to session + await session.addPeers([user, assistant]); + + // Store multiple user messages about food preferences + const userMessages = [ + "I absolutely love spicy Thai food, especially curries with coconut milk.", + "Italian cuisine is another favorite - fresh pasta and wood-fired pizza are my weakness!", + "I try to eat vegetarian most of the time, but occasionally enjoy seafood.", + "I can't handle overly sweet desserts, but love something with dark chocolate." + ]; + + // Add the user's messages to the session + const sessionMessages = userMessages.map(message => user.message(message)); + await session.addMessages(sessionMessages); + + // Print the user messages + for (const message of userMessages) { + console.log(`User: ${message}`); + } + + // Ask for restaurant recommendations based on preferences + console.log("\nRequesting restaurant recommendations..."); + process.stdout.write("Assistant: "); + let fullResponse = ""; + + // Stream the response using the user's peer to get recommendations + const responseStream = await user.chat( + "Based on this user's food preferences, recommend 3 restaurants they might enjoy in the Lower East Side.", + { + stream: true, + sessionId: session.id + } + ); + + for await (const chunk of responseStream.iter_text()) { + process.stdout.write(chunk); + fullResponse += chunk; + } + + // Store the assistant's complete response + await session.addMessages([ + assistant.message(fullResponse) + ]); +} + +restaurantRecommendationChat().catch(console.error); +``` + + +## Performance Considerations + +When implementing streaming: + +- Consider connection stability for mobile or unreliable networks +- Implement appropriate timeouts for stream operations +- Be mindful of memory usage when accumulating large responses +- Use appropriate error handling for network interruptions + +Streaming responses provide a more interactive and engaging user experience. By implementing streaming in your Honcho applications, you can create more responsive AI-powered features that feel natural and immediate to your users. diff --git a/docs/v2/guides/telegram.mdx b/docs/v2/guides/telegram.mdx new file mode 100644 index 00000000..ddaf427a --- /dev/null +++ b/docs/v2/guides/telegram.mdx @@ -0,0 +1,359 @@ +--- +title: "Telegram Bots with Honcho" +icon: 'telegram' +description: "Use Honcho to build a Telegram bot with conversational memory and context management." +sidebarTitle: 'Telegram Bot' +--- + +> Example code is available on [GitHub](https://github.com/plastic-labs/telegram-python-starter) + +Any application interface that defines logic based on events and supports +special commands can work easily with Honcho. Here's how to use Honcho with +**Telegram** as an interface. If you're not familiar with Telegram bot +development, the [python-telegram-bot](https://docs.python-telegram-bot.org/en/stable/) docs would be a good +place to start. + +## Message Handling + +Most Telegram bots have async functions that handle incoming messages. We can use Honcho to store messages by user and session based on the chat context. Take the following function definition for example: + +```python +async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE): + """ + Receive a message from Telegram and respond with a message from our LLM assistant. + """ + if not validate_message(update, context): + return + + message_text = update.effective_message.text + input_text = sanitize_message(message_text, context.bot.username) + + # If the message is empty after sanitizing, ignore it + if not input_text: + return + + peer = honcho_client.peer(id=get_peer_id_from_telegram(update)) + session = honcho_client.session(id=str(update.effective_chat.id)) + + # Send typing indicator + await context.bot.send_chat_action( + chat_id=update.effective_chat.id, action="typing" + ) + + response = llm(session, input_text) + + await send_telegram_message(update, context, response) + + # Save both the user's message and the bot's response to the session + session.add_messages( + [ + peer.message(input_text), + assistant.message(response), + ] + ) +``` + +Let's break down what this code is doing... + +```python +async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE): + if not validate_message(update, context): + return +``` + +This is how you define a message handler in `python-telegram-bot` that processes incoming messages. We use a helper function `validate_message()` to check if the message should be processed. + +## Helper Functions + +The code uses several helper functions to keep the main logic clean and readable. Let's examine each one: + +### Message Validation + +```python +def validate_message(update: Update, context: ContextTypes.DEFAULT_TYPE) -> bool: + """ + Determine if the message is valid for the bot to respond to. + Return True if it is, False otherwise. The bot will respond to: + - Direct messages (private chats) + - Group messages that mention the bot or reply to it + - Messages that are not from the bot itself + """ + message = update.effective_message + + if not message or not message.text: + return False + + # Don't respond to our own messages + if message.from_user.id == context.bot.id: + return False + + # Always respond in private chats + if update.effective_chat.type == "private": + return True + + # In groups, only respond if mentioned or replied to + if ( + message.reply_to_message + and message.reply_to_message.from_user.id == context.bot.id + ): + return True + + # Check if bot is mentioned + if message.entities: + for entity in message.entities: + if entity.type == "mention": + username = message.text[entity.offset : entity.offset + entity.length] + if username == f"@{context.bot.username}": + return True + + return False +``` + +This function centralizes all the logic for determining whether the bot should respond to a message. It handles different chat types: +- **Private chats**: Always respond +- **Group chats**: Only respond when mentioned or when replying to the bot's messages +- **Bot prevention**: Never respond to the bot's own messages + +### Message Sanitization + +```python +def sanitize_message(message_text: str, bot_username: str) -> str | None: + """Remove the bot's mention from the message content if present""" + content = message_text.replace(f"@{bot_username}", "").strip() + if not content: + return None + return content +``` + +This helper removes the bot's mention from the message content, leaving just the actual user input. + +### Peer ID Generation + +```python +def get_peer_id_from_telegram(update: Update) -> str: + """Get a Honcho peer ID for the message author""" + return f"telegram_{update.effective_user.id}" +``` + +This creates a unique peer identifier for each Telegram user by prefixing their Telegram user ID. + +### LLM Integration + +```python +def llm(session, prompt) -> str: + """ + Call the LLM with the given prompt and chat history. + + You should expand this function with custom logic, prompts, etc. + """ + messages: list[dict[str, object]] = session.get_context().to_openai( + assistant=assistant + ) + messages.append({"role": "user", "content": prompt}) + + try: + completion = openai.chat.completions.create( + model=MODEL_NAME, + messages=messages, + ) + return completion.choices[0].message.content + except Exception as e: + logger.error(f"LLM error: {e}") + return f"Error: {e}" +``` + +This function handles the LLM interaction. It uses Honcho's built-in `to_openai()` method to automatically convert the session context into the format expected by OpenAI's chat completions API. + +### Message Sending + +```python +async def send_telegram_message( + update: Update, context: ContextTypes.DEFAULT_TYPE, response_content: str +): + """Send a message to the Telegram chat, splitting if necessary""" + # Telegram has a 4096 character limit, but we'll use 4000 to be safe + max_length = 4000 + + if len(response_content) <= max_length: + await update.effective_message.reply_text(response_content) + else: + # Split response into chunks at newlines, keeping under max_length chars + chunks = [] + current_chunk = "" + + for line in response_content.splitlines(keepends=True): + if len(current_chunk) + len(line) > max_length: + if current_chunk: + chunks.append(current_chunk) + current_chunk = line + else: + current_chunk += line + + if current_chunk: + chunks.append(current_chunk) + + for chunk in chunks: + await update.effective_message.reply_text(chunk) +``` + +This function handles sending messages to Telegram, automatically splitting long responses into multiple messages to stay within Telegram's 4096 character limit. It also includes a typing indicator to show the bot is processing. + +## Honcho Integration + +The new Honcho peer/session API makes integration much simpler: + +```python +peer = honcho_client.peer(id=get_peer_id_from_telegram(update)) +session = honcho_client.session(id=str(update.effective_chat.id)) +``` + +Here we create a peer object for the user and a session object using the Telegram chat ID. This automatically handles user and session management across both private chats and group conversations. + +```python +# Save both the user's message and the bot's response to the session +session.add_messages( + [ + peer.message(input_text), + assistant.message(response), + ] +) +``` + +After generating the response, we save both the user's input and the bot's response to the session using the `add_messages()` method. The `peer.message()` creates a message from the user, while `assistant.message()` creates a message from the assistant. + +## Commands + +Telegram bots support slash commands natively. Here's how to implement the `/dialectic` command using Honcho's dialectic feature: + +```python +async def dialectic_command(update: Update, context: ContextTypes.DEFAULT_TYPE): + """ + Handle the /dialectic command to query the Honcho Dialectic endpoint. + """ + if not context.args: + await update.message.reply_text( + "Please provide a query. Usage: /dialectic " + ) + return + + query = " ".join(context.args) + + try: + peer = honcho_client.peer(id=get_peer_id_from_telegram(update)) + session = honcho_client.session(id=str(update.effective_chat.id)) + + response = peer.chat( + queries=query, + session_id=session.id, + ) + + if response: + await send_telegram_message(update, context, response) + else: + await update.message.reply_text( + f"I don't know anything about {update.effective_user.first_name} because we haven't talked yet!" + ) + except Exception as e: + logger.error(f"Error calling Dialectic API: {e}") + await update.message.reply_text( + f"Sorry, there was an error processing your request: {str(e)}" + ) +``` + +You can also add a `/start` command for user onboarding: + +```python +async def start_command(update: Update, context: ContextTypes.DEFAULT_TYPE): + """Handle the /start command""" + await update.message.reply_text( + "Hello! I'm your AI assistant. You can:\n" + "• Chat with me directly in private messages\n" + "• Mention me (@username) in groups to get my attention\n" + "• Use /dialectic to search our conversation history\n\n" + "Let's start chatting!" + ) +``` + +## Setup and Configuration + +The bot requires several environment variables and setup: + +```python +honcho_client = Honcho() +assistant = honcho_client.peer(id="assistant", config={"observe_me": False}) +openai = OpenAI(base_url="https://openrouter.ai/api/v1", api_key=MODEL_API_KEY) +``` + +- `honcho_client`: The main Honcho client +- `assistant`: A peer representing the bot/assistant +- `openai`: OpenAI client configured to use OpenRouter + +### Application Setup + +Register your handlers with the Telegram application: + +```python +def main(): + """Start the bot""" + if not BOT_TOKEN: + logger.error("BOT_TOKEN not found in environment variables") + return + + # Create the Application + application = Application.builder().token(BOT_TOKEN).build() + + # Add handlers + application.add_handler(CommandHandler("start", start_command)) + application.add_handler(CommandHandler("dialectic", dialectic_command)) + application.add_handler( + MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message) + ) + + # Start the bot + logger.info("Starting Telegram bot...") + application.run_polling(allowed_updates=Update.ALL_TYPES) +``` + +## Environment Variables + +Your bot needs these environment variables: + +```env +# Your Telegram bot token from BotFather +BOT_TOKEN= + +# AI model to use (see OpenRouter for available models) +MODEL_NAME= + +# Your OpenRouter API key +MODEL_API_KEY= +``` + +## Chat Types and Behavior + +The bot handles different Telegram chat types intelligently: + +### Private Chats +- **Behavior**: Responds to all messages +- **Session ID**: Uses the private chat ID +- **Memory**: Maintains conversation history per user + +### Group Chats +- **Behavior**: Only responds when mentioned or replied to +- **Session ID**: Uses the group chat ID (shared across all members) +- **Memory**: Maintains group conversation context + +## Recap + +The new Honcho peer/session API makes Telegram bot integration much simpler and more intuitive. Key patterns we learned: + +- **Peer/Session Model**: Users are represented as peers, conversations as sessions +- **Chat Type Handling**: Different validation logic for private vs group chats +- **Automatic Context Management**: `session.get_context().to_openai()` automatically formats chat history +- **Message Storage**: `session.add_messages()` stores both user and assistant messages +- **Dialectic Queries**: `peer.chat()` enables querying conversation history +- **Command System**: Native Telegram command support with `/start` and `/dialectic` +- **Message Splitting**: Automatic handling of Telegram's character limits +- **Helper Functions**: Clean code organization with focused helper functions + +This approach provides a clean, maintainable structure for building Telegram bots with conversational memory and context management across both private conversations and group chats. diff --git a/docs/v2/guides/using-filters.mdx b/docs/v2/guides/using-filters.mdx new file mode 100644 index 00000000..a13bca0a --- /dev/null +++ b/docs/v2/guides/using-filters.mdx @@ -0,0 +1,657 @@ +--- +title: 'Using Filters' +description: "Learn how to filter workspaces, peers, sessions, and messages using Honcho's powerful filtering system" +icon: 'filter' +--- + +Honcho provides a sophisticated filtering system that allows you to query workspaces, peers, sessions, and messages with precise control. The filtering system supports logical operators, comparison operators, metadata filtering, and wildcards to help you find exactly what you need. + +## Basic Filtering Concepts + +Filters in Honcho are expressed as dictionaries that define conditions for matching resources. The system supports both simple equality filters and complex queries with multiple conditions. + +### Simple Filters + +The most basic filters check for exact matches: + + +```python Python +from honcho import Honcho + +# Initialize client +honcho = Honcho() + +# Simple peer filter +peers = honcho.get_peers(filter={"peer_id": "alice"}) + +# Simple session filter with metadata +sessions = honcho.get_sessions(filter={ + "metadata": {"type": "support"} +}) + +# Simple message filter +messages = honcho.get_messages(filter={ + "session_id": "support-chat-1", + "peer_id": "alice" +}) +``` + +```typescript TypeScript +import { Honcho } from "@honcho-ai/sdk"; + +// Initialize client +const honcho = new Honcho({}); + +// Simple peer filter +const peers = await honcho.getPeers({ + filter: { peerId: "alice" } +}); + +// Simple session filter with metadata +const sessions = await honcho.getSessions({ + filter: { + metadata: { type: "support" } + } +}); + +// Simple message filter +const messages = await honcho.getMessages({ + filter: { + sessionId: "support-chat-1", + peerId: "alice" + } +}); +``` + + +## Logical Operators + +Combine multiple conditions using logical operators for complex queries: + +### AND Operator + +Use AND to require all conditions to be true: + + +```python Python +messages = honcho.get_messages(filter={ + "AND": [ + {"session_id": "chat-1"}, + {"created_at": {"gte": "2024-01-01"}} + ] +}) +``` + +```typescript TypeScript +const messages = await honcho.getMessages({ + filter: { + AND: [ + { sessionId: "chat-1" }, + { createdAt: { gte: "2024-01-01" } } + ] + } +}); +``` + + +### OR Operator + +Use OR to match any of the specified conditions: + + +```python Python +# Find messages from either alice or bob +messages = session.get_messages(filter={ + "OR": [ + {"peer_id": "alice"}, + {"peer_id": "bob"} + ] +}) + +# Complex OR with metadata conditions +sessions = honcho.get_sessions(filter={ + "OR": [ + {"metadata": {"priority": "high"}}, + {"metadata": {"urgent": True}}, + {"metadata": {"escalated": True}} + ] +}) +``` + +```typescript TypeScript +// Find messages from either alice or bob +const messages = await session.getMessages({ + filter: { + OR: [ + { peerId: "alice" }, + { peerId: "bob" } + ] + } +}); + +// Complex OR with metadata conditions +const sessions = await honcho.getSessions({ + filter: { + OR: [ + { metadata: { priority: "high" } }, + { metadata: { urgent: true } }, + { metadata: { escalated: true } } + ] + } +}); +``` + + +### NOT Operator + +Use NOT to exclude specific conditions: + + +```python Python +# Find all peers except alice +peers = honcho.get_peers(filter={ + "NOT": [ + {"peer_id": "alice"} + ] +}) + +# Find sessions that are NOT completed +sessions = honcho.get_sessions(filter={ + "NOT": [ + {"metadata": {"status": "completed"}} + ] +}) +``` + +```typescript TypeScript +// Find all peers except alice +const peers = await honcho.getPeers({ + filter: { + NOT: [ + { peerId: "alice" } + ] + } +}); + +// Find sessions that are NOT completed +const sessions = await honcho.getSessions({ + filter: { + NOT: [ + { metadata: { status: "completed" } } + ] + } +}); +``` + + +### Combining Logical Operators + +Create sophisticated queries by combining different logical operators: + + +```python Python +# Find messages from alice OR bob, but NOT where message has archived set to true in metadata +messages = session.get_messages(filter={ + "AND": [ + { + "OR": [ + {"peer_id": "alice"}, + {"peer_id": "bob"} + ] + }, + { + "NOT": [ + {"metadata": {"archived": True}} + ] + } + ] +}) +``` + +```typescript TypeScript +// Find messages from alice OR bob, but NOT where message has archived set to true in metadata +const messages = await session.getMessages({ + filter: { + AND: [ + { + OR: [ + { peerId: "alice" }, + { peerId: "bob" } + ] + }, + { + NOT: [ + { metadata: { archived: true } } + ] + } + ] + } +}); +``` + + +## Comparison Operators + +Use comparison operators for range queries and advanced matching: + +### Numeric Comparisons + + +```python Python +# Find sessions created after a specific date +sessions = honcho.get_sessions(filter={ + "created_at": {"gte": "2024-01-01"} +}) + +# Find messages within a date range +messages = session.get_messages(filter={ + "created_at": { + "gte": "2024-01-01", + "lte": "2024-12-31" + } +}) + +# Metadata numeric comparisons +sessions = honcho.get_sessions(filter={ + "metadata": { + "score": {"gt": 8.5}, + "duration": {"lte": 3600} + } +}) +``` + +```typescript TypeScript +// Find sessions created after a specific date +const sessions = await honcho.getSessions({ + filter: { + createdAt: { gte: "2024-01-01" } + } +}); + +// Find messages within a date range +const messages = await session.getMessages({ + filter: { + createdAt: { + gte: "2024-01-01", + lte: "2024-12-31" + } + } +}); + +// Metadata numeric comparisons +const sessions = await honcho.getSessions({ + filter: { + metadata: { + score: { gt: 8.5 }, + duration: { lte: 3600 } + } + } +}); +``` + + +### List Membership + + +```python Python +# Find messages from specific peers in a session +messages = session.get_messages(filter={ + "peer_id": {"in": ["alice", "bob", "charlie"]} +}) + +# Find sessions with specific tags +sessions = honcho.get_sessions(filter={ + "metadata": { + "tag": {"in": ["important", "urgent", "follow-up"]} + } +}) + +# Not equal comparisons +peers = honcho.get_peers(filter={ + "metadata": { + "status": {"ne": "inactive"} + } +}) +``` + +```typescript TypeScript +// Find messages from specific peers in a session +const messages = await session.getMessages({ + filter: { + peerId: { in: ["alice", "bob", "charlie"] } + } +}); + +// Find sessions with specific tags +const sessions = await honcho.getSessions({ + filter: { + metadata: { + tag: { in: ["important", "urgent", "follow-up"] } + } + } +}); + +// Not equal comparisons +const peers = await honcho.getPeers({ + filter: { + metadata: { + status: { ne: "inactive" } + } + } +}); +``` + + +## Metadata Filtering + +Metadata filtering is particularly powerful in Honcho, supporting nested conditions and complex queries: + +### Basic Metadata Filtering + + +```python Python +# Simple metadata equality +sessions = honcho.get_sessions(filter={ + "metadata": { + "type": "customer_support", + "priority": "high" + } +}) + +# Nested metadata objects +peers = honcho.get_peers(filter={ + "metadata": { + "profile": { + "role": "admin", + "department": "engineering" + } + } +}) +``` + +```typescript TypeScript +// Simple metadata equality +const sessions = await honcho.getSessions({ + filter: { + metadata: { + type: "customer_support", + priority: "high" + } + } +}); + +// Nested metadata objects +const peers = await honcho.getPeers({ + filter: { + metadata: { + profile: { + role: "admin", + department: "engineering" + } + } + } +}); +``` + + +### Advanced Metadata Queries + + +If you want to do advanced queries like these, make sure not to create metadata fields that use the same names as the included comparison operators! For example, if you have a metadata field called `contains`, it will conflict with the `contains` operator. + + + +```python Python +# Metadata with comparison operators +sessions = honcho.get_sessions(filter={ + "metadata": { + "score": {"gte": 4.0, "lte": 5.0}, + "created_by": {"ne": "system"}, + "tags": {"contains": "important"} + } +}) + +# Complex metadata conditions +messages = session.get_messages(filter={ + "AND": [ + {"metadata": {"sentiment": {"in": ["positive", "neutral"]}}}, + {"metadata": {"confidence": {"gt": 0.8}}}, + {"content": {"icontains": "thank"}} + ] +}) +``` + +```typescript TypeScript +// Metadata with comparison operators +const sessions = await honcho.getSessions({ + filter: { + metadata: { + score: { gte: 4.0, lte: 5.0 }, + createdBy: { ne: "system" }, + tags: { contains: "important" } + } + } +}); + +// Complex metadata conditions +const messages = await session.getMessages({ + filter: { + AND: [ + { metadata: { sentiment: { in: ["positive", "neutral"] } } }, + { metadata: { confidence: { gt: 0.8 } } }, + { content: { icontains: "thank" } } + ] + } +}); +``` + + +## Wildcards + +Use wildcards (*) to match any value for a field: + + +```python Python +# Find all sessions with any peer_id (essentially all sessions) +sessions = honcho.get_sessions(filter={ + "peer_id": "*" +}) + +# Wildcard in lists - matches everything +messages = session.get_messages(filter={ + "peer_id": {"in": ["alice", "bob", "*"]} +}) + +# Metadata wildcards +sessions = honcho.get_sessions(filter={ + "metadata": { + "type": "*", # Any type + "status": "active" # But status must be active + } +}) +``` + +```typescript TypeScript +// Find all sessions with any peer_id (essentially all sessions) +const sessions = await honcho.getSessions({ + filter: { + peerId: "*" + } +}); + +// Wildcard in lists - matches everything +const messages = await session.getMessages({ + filter: { + peerId: { in: ["alice", "bob", "*"] } + } +}); + +// Metadata wildcards +const sessions = await honcho.getSessions({ + filter: { + metadata: { + type: "*", // Any type + status: "active" // But status must be active + } + } +}); +``` + + +## Resource-Specific Examples + +### Filtering Workspaces + + +```python Python +# Find workspaces by name pattern +workspaces = honcho.get_workspaces(filter={ + "name": {"contains": "prod"} +}) + +# Filter by metadata +workspaces = honcho.get_workspaces(filter={ + "metadata": { + "environment": "production", + "team": {"in": ["backend", "frontend", "devops"]} + } +}) +``` + +```typescript TypeScript +// Find workspaces by name pattern +const workspaces = await honcho.getWorkspaces({ + filter: { + name: { contains: "prod" } + } +}); + +// Filter by metadata +const workspaces = await honcho.getWorkspaces({ + filter: { + metadata: { + environment: "production", + team: { in: ["backend", "frontend", "devops"] } + } + } +}); +``` + + +### Filtering Messages + + +```python Python +# Find error messages from the last week +from datetime import datetime, timedelta + +week_ago = (datetime.now() - timedelta(days=7)).isoformat() +messages = session.get_messages(filter={ + "AND": [ + {"content": {"icontains": "error"}}, + {"created_at": {"gte": week_ago}}, + {"metadata": {"level": {"in": ["error", "critical"]}}} + ] +}) + +# Find messages in specific sessions with sentiment analysis +messages = session.get_messages(filter={ + "AND": [ + {"session_id": {"in": ["support-1", "support-2", "support-3"]}}, + {"metadata": {"sentiment": "negative"}}, + {"metadata": {"confidence": {"gte": 0.7}}} + ] +}) +``` + +```typescript TypeScript +// Find error messages from the last week +const weekAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString(); +const messages = await session.getMessages({ + filter: { + AND: [ + { content: { icontains: "error" } }, + { createdAt: { gte: weekAgo } }, + { metadata: { level: { in: ["error", "critical"] } } } + ] + } +}); + +// Find messages in specific sessions with sentiment analysis +const messages = await session.getMessages({ + filter: { + AND: [ + { sessionId: { in: ["support-1", "support-2", "support-3"] } }, + { metadata: { sentiment: "negative" } }, + { metadata: { confidence: { gte: 0.7 } } } + ] + } +}); +``` + + +## Error Handling + +Handle filter errors gracefully: + + +```python Python +from honcho.exceptions import FilterError + +try: + # Invalid filter - unsupported operator + messages = session.get_messages(filter={ + "created_at": {"invalid_operator": "2024-01-01"} + }) +except FilterError as e: + print(f"Filter error: {e}") + # Handle the error appropriately + +try: + # Invalid column name + sessions = honcho.get_sessions(filter={ + "nonexistent_field": "value" + }) +except FilterError as e: + print(f"Invalid field: {e}") +``` + +```typescript TypeScript +try { + // Invalid filter - unsupported operator + const messages = await session.getMessages({ + filter: { + createdAt: { invalidOperator: "2024-01-01" } + } + }); +} catch (error) { + if (error.message.includes("filter")) { + console.error(`Filter error: ${error.message}`); + // Handle the error appropriately + } +} + +try { + // Invalid column name + const sessions = await honcho.getSessions({ + filter: { + nonexistentField: "value" + } + }); +} catch (error) { + console.error(`Invalid field: ${error.message}`); +} +``` + + +## Conclusion + +Honcho's filtering system provides powerful capabilities for querying your conversational data. By understanding how to: + +- Use simple equality filters and complex logical operators +- Apply comparison operators for range and pattern matching +- Filter metadata with nested conditions +- Handle wildcards and dynamic filter construction +- Follow best practices for performance and validation + +You can build sophisticated applications that efficiently find and process exactly the conversations, messages, and insights you need from your Honcho data. diff --git a/docs/v2/guides/working-rep.mdx b/docs/v2/guides/working-rep.mdx new file mode 100644 index 00000000..67d71c3f --- /dev/null +++ b/docs/v2/guides/working-rep.mdx @@ -0,0 +1,275 @@ +--- +title: 'Working Representations' +description: "Learn how to retrieve cached peer knowledge and understanding using Honcho's working representation system" +icon: 'brain' +--- + +Working representations are Honcho's system for accessing cached psychological models that capture what peers know, think, and remember. Unlike the `chat()` method which generates fresh representations on-demand, the `working_rep()` method retrieves pre-computed representations that have been automatically built and stored as conversations progress. + +## How Working Representations Are Created + +Working representations are automatically generated and cached through Honcho's background processing system: + +1. **Automatic Generation**: When messages are added to sessions, they trigger background jobs that analyze conversations using theory of mind inference and long-term memory integration + +2. **Cached Storage**: The generated representations are stored in the database as metadata on `Peer` objects (for global representations) or `SessionPeer` objects (for session-scoped representations) + +3. **Retrieval**: The `working_rep()` method provides fast access to these cached representations without requiring LLM processing + + +**Cached vs On-Demand**: `working_rep()` retrieves cached representations for fast access, while `peer.chat()` generates fresh representations using the dialectic system. Use `working_rep()` when you need fast access to stored knowledge, and `chat()` when you need current analysis with custom queries. + + +## Basic Usage + +Working representations are accessed through the `working_rep()` method on Session objects: + + +```python Python +from honcho import Honcho + +# Initialize client +honcho = Honcho() + +# Create peers and session +user = honcho.peer("user-123") +assistant = honcho.peer("ai-assistant") +session = honcho.session("support-conversation") + +# Add conversation to trigger representation generation +session.add_messages([ + user.message("I'm having trouble with my billing account"), + assistant.message("I can help with that. What specific issue are you seeing?"), + user.message("My credit card was charged twice last month"), + assistant.message("I see duplicate charges on your account. Let me refund one of them.") +]) + +# Chat to generate a working representation +response = user.chat("What is this user's main concern right now?", session_id=session.id) + +# Retrieve the cached working representation for the user +user_representation = session.working_rep("user-123") +print("Cached user representation:", user_representation) +``` + +```typescript TypeScript +import { Honcho } from "@honcho-ai/sdk"; + +// Initialize client +const honcho = new Honcho({}); + +// Create peers and session +const user = honcho.peer("user-123"); +const assistant = honcho.peer("ai-assistant"); +const session = honcho.session("support-conversation"); + +// Add conversation to trigger representation generation +await session.addMessages([ + user.message("I'm having trouble with my billing account"), + assistant.message("I can help with that. What specific issue are you seeing?"), + user.message("My credit card was charged twice last month"), + assistant.message("I see duplicate charges on your account. Let me refund one of them.") +]); + +// Chat to generate a working representation +const response = await user.chat("What is this user's main concern right now?", { sessionId: session.id }); + +// Retrieve the cached working representation for the user +const userRepresentation = await session.workingRep("user-123"); +console.log("Cached user representation:", userRepresentation); +``` + + +## Understanding Representation Content + +Cached working representations contain structured psychological analysis based on conversation history. The format typically includes: + +### Current Mental State Predictions +Information about what the peer is currently thinking, feeling, or focused on based on recent messages. + +### Relevant Long-term Facts +Facts about the peer that have been extracted and stored over time from various conversations. + +### Example Representation Structure + + +```python Python +# Example of what a cached representation might contain +representation = session.working_rep("user-123") + +# Typical content structure: +""" +PREDICTION ABOUT THE USER'S CURRENT MENTAL STATE: +The user appears frustrated with a billing issue, specifically concerning duplicate charges. +They seem to have some confidence in the support process as they provided specific details. + +RELEVANT LONG-TERM FACTS ABOUT THE USER: +- User has had previous billing inquiries +- User prefers direct, specific communication +- User is detail-oriented when reporting issues +""" + +print("Full representation:", representation) +``` + +```typescript TypeScript +// Example of what a cached representation might contain +const representation = await session.workingRep("user-123"); + +// Typical content structure: +/* +PREDICTION ABOUT THE USER'S CURRENT MENTAL STATE: +The user appears frustrated with a billing issue, specifically concerning duplicate charges. +They seem to have some confidence in the support process as they provided specific details. + +RELEVANT LONG-TERM FACTS ABOUT THE USER: +- User has had previous billing inquiries +- User prefers direct, specific communication +- User is detail-oriented when reporting issues +*/ + +console.log("Full representation:", representation); +``` + + +## When Representations Are Updated + +Working representations are automatically updated through Honcho's background processing system: + +### Message Processing Pipeline + +1. **Message Creation**: When messages are added via `session.add_messages()` or similar methods +2. **Background Queuing**: Messages are queued for processing in the background +3. **Theory of Mind Analysis**: The system analyzes conversation patterns and psychological states +4. **Fact Extraction**: Long-term facts are extracted and stored in vector embeddings +5. **Representation Generation**: New representations are created combining current analysis with historical facts +6. **Cache Update**: The new representation is stored in the database metadata + +### Processing Triggers + +Representations are updated when: +- New messages are added to sessions +- Sufficient new content has accumulated +- The background processing system determines an update is needed + +## Comparison with Chat Method + +Understanding when to use `working_rep()` vs `peer.chat()`: + +### Use `working_rep()` when: +- You need fast access to stored psychological models +- You want to see what the system has already learned about a peer +- You're building dashboards or analytics that display peer understanding +- You need consistent representations that don't change between calls + +### Use `peer.chat()` when: +- You need to ask specific questions about a peer +- You want fresh analysis based on current conversation state +- You need customized insights for specific use cases +- You want to query about relationships between peers + + +```python Python +# Fast cached access +cached_rep = session.working_rep("user-123") +print("Cached:", cached_rep[:100] + "...") + +# Custom query with fresh analysis +custom_analysis = user.chat("What is this user's main concern right now?", session_id=session.id) +print("Fresh analysis:", custom_analysis) +``` + +```typescript TypeScript +// Fast cached access +const cachedRep = await session.workingRep("user-123"); +console.log("Cached:", cachedRep.substring(0, 100) + "..."); + +// Custom query with fresh analysis +const customAnalysis = await user.chat("What is this user's main concern right now?", { sessionId: session.id }); +console.log("Fresh analysis:", customAnalysis); +``` + + +## Best Practices + +### 1. Ensure Availability Before Using + +Make sure that a representation exists before processing it by using the chat endpoint first. + +### 2. Use for Fast Analytics + +Cached representations are ideal for analytics dashboards: + + +```python Python +# Good: Fast dashboard updates using cached data +def update_analytics_dashboard(sessions): + analytics = {} + for session in sessions: + for peer_id in session.get_peer_ids(): + rep = session.working_rep(peer_id) + analytics[peer_id] = analyze_representation(rep) + return analytics +``` + +```typescript TypeScript +// Good: Fast dashboard updates using cached data +async function updateAnalyticsDashboard(sessions) { + const analytics: Record = {}; + for (const session of sessions) { + const peerIds = await session.getPeerIds(); + for (const peerId of peerIds) { + const rep = await session.workingRep(peerId); + analytics[peerId] = analyzeRepresentation(rep); + } + } + return analytics; +} +``` + + +### 3. Combine with Fresh Analysis When Needed + +Use cached representations for baseline understanding, and fresh analysis for current insights: + + +```python Python +# Get baseline understanding from cache +baseline = session.working_rep("user-123") + +# Get current specific insights +current_state = user.chat("How is this user feeling right now?", session_id=session.id) + +# Combine for comprehensive view +comprehensive_view = { + "baseline_knowledge": baseline, + "current_analysis": current_state +} +``` + +```typescript TypeScript +// Get baseline understanding from cache +const baseline = await session.workingRep("user-123"); + +// Get current specific insights +const currentState = await user.chat("How is this user feeling right now?", { sessionId: session.id }); + +// Combine for comprehensive view +const comprehensiveView = { + baselineKnowledge: baseline, + currentAnalysis: currentState +}; +``` + + +## Conclusion + +Working representations provide fast access to cached psychological models that Honcho automatically builds and maintains. By understanding how to: + +- Retrieve cached representations using `session.working_rep()` +- Parse and interpret representation content +- Handle cases where representations aren't available +- Combine cached and fresh analysis appropriately + +You can build efficient applications that leverage Honcho's continuous learning about peer knowledge and mental states without the latency of real-time generation. + diff --git a/docs/v2/openapi.documented.yml b/docs/v2/openapi.documented.yml new file mode 100644 index 00000000..154820df --- /dev/null +++ b/docs/v2/openapi.documented.yml @@ -0,0 +1,3146 @@ +openapi: 3.1.0 +info: + title: Honcho API + summary: The Identity Layer for the Agentic World + description: Honcho is a platform for giving agents user-centric memory and social cognition + contact: + name: Plastic Labs + url: https://honcho.dev/ + email: hello@plasticlabs.ai + version: 2.0.0 +servers: + - url: http://localhost:8000 + description: Local Development Server + - url: https://demo.honcho.dev + description: Demo Server + - url: https://api.honcho.dev + description: Production SaaS Platform +paths: + /v1/workspaces: + post: + tags: + - workspaces + summary: Get Or Create Workspace + description: |- + Get a Workspace by ID. + + If workspace_id is provided as a query parameter, it uses that (must match JWT workspace_id). + Otherwise, it uses the workspace_id from the JWT token. + operationId: get_or_create_workspace_v1_workspaces_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkspaceCreate' + description: Workspace creation parameters + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Workspace' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + - {} + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const workspace = await client.workspaces.getOrCreate({ id: 'id' }); + + console.log(workspace.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + workspace = client.workspaces.get_or_create( + id="id", + ) + print(workspace.id) + /v1/workspaces/list: + post: + tags: + - workspaces + summary: Get All Workspaces + description: Get all Workspaces + operationId: get_all_workspaces_v1_workspaces_list_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/WorkspaceGet' + - type: 'null' + description: Filtering and pagination options for the workspaces list + title: Options + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Workspace_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const workspace of client.workspaces.list()) { + console.log(workspace.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.list() + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}: + put: + tags: + - workspaces + summary: Update Workspace + description: Update a Workspace + operationId: update_workspace_v1_workspaces__workspace_id__put + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace to update + title: Workspace Id + description: ID of the workspace to update + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/WorkspaceUpdate' + description: Updated workspace parameters + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Workspace' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const workspace = await client.workspaces.update('workspace_id'); + + console.log(workspace.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + workspace = client.workspaces.update( + workspace_id="workspace_id", + ) + print(workspace.id) + /v1/workspaces/{workspace_id}/search: + post: + tags: + - workspaces + summary: Search Workspace + description: Search a Workspace + operationId: search_workspace_v1_workspaces__workspace_id__search_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace to search + title: Workspace Id + description: ID of the workspace to search + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + required: true + content: + application/json: + schema: + type: string + description: Search query + title: Query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Message_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const message of client.workspaces.search('workspace_id', { body: 'body' })) { + console.log(message.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.search( + workspace_id="workspace_id", + body="body", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/peers/list: + post: + tags: + - peers + summary: Get Peers + description: Get All Peers for a Workspace + operationId: get_peers_v1_workspaces__workspace_id__peers_list_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/PeerGet' + - type: 'null' + description: Filtering options for the peers list + title: Options + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Peer_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const peer of client.workspaces.peers.list('workspace_id')) { + console.log(peer.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.peers.list( + workspace_id="workspace_id", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/peers: + post: + tags: + - peers + summary: Get Or Create Peer + description: |- + Get a Peer by ID + + If peer_id is provided as a query parameter, it uses that (must match JWT workspace_id). + Otherwise, it uses the peer_id from the JWT token. + operationId: get_or_create_peer_v1_workspaces__workspace_id__peers_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PeerCreate' + description: Peer creation parameters + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Peer' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const peer = await client.workspaces.peers.getOrCreate('workspace_id', { id: 'id' }); + + console.log(peer.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + peer = client.workspaces.peers.get_or_create( + workspace_id="workspace_id", + id="id", + ) + print(peer.id) + /v1/workspaces/{workspace_id}/peers/{peer_id}: + put: + tags: + - peers + summary: Update Peer + description: Update a Peer's name and/or metadata + operationId: update_peer_v1_workspaces__workspace_id__peers__peer_id__put + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer to update + title: Peer Id + description: ID of the peer to update + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PeerUpdate' + description: Updated peer parameters + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Peer' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const peer = await client.workspaces.peers.update('workspace_id', 'peer_id'); + + console.log(peer.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + peer = client.workspaces.peers.update( + peer_id="peer_id", + workspace_id="workspace_id", + ) + print(peer.id) + /v1/workspaces/{workspace_id}/peers/{peer_id}/sessions: + post: + tags: + - peers + summary: Get Sessions For Peer + description: Get All Sessions for a Peer + operationId: get_sessions_for_peer_v1_workspaces__workspace_id__peers__peer_id__sessions_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/SessionGet' + - type: 'null' + description: Filtering options for the sessions list + title: Options + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Session_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const session of client.workspaces.peers.sessions.list('workspace_id', 'peer_id')) { + console.log(session.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.peers.sessions.list( + peer_id="peer_id", + workspace_id="workspace_id", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/peers/{peer_id}/chat: + post: + tags: + - peers + summary: Chat + operationId: chat_v1_workspaces__workspace_id__peers__peer_id__chat_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DialecticOptions' + description: Dialectic Endpoint Parameters + responses: + '200': + description: Response to a question informed by Honcho's User Representation + content: + application/json: + schema: + $ref: '#/components/schemas/DialecticResponse' + text/event-stream: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + const response = await client.workspaces.peers.chat('workspace_id', 'peer_id', { queries: 'string' + }); + + + console.log(response.content); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + response = client.workspaces.peers.chat( + peer_id="peer_id", + workspace_id="workspace_id", + queries="string", + ) + print(response.content) + /v1/workspaces/{workspace_id}/peers/{peer_id}/messages: + post: + tags: + - peers + summary: Create Messages For Peer + description: Create messages for a peer + operationId: create_messages_for_peer_v1_workspaces__workspace_id__peers__peer_id__messages_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MessageBatchCreate' + description: Batch of messages to create + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Message' + title: Response Create Messages For Peer V1 Workspaces Workspace Id Peers Peer Id Messages Post + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const messages = await client.workspaces.peers.messages.create('workspace_id', 'peer_id', { + messages: [{ content: 'content', peer_id: 'peer_id' }], + }); + + console.log(messages); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + messages = client.workspaces.peers.messages.create( + peer_id="peer_id", + workspace_id="workspace_id", + messages=[{ + "content": "content", + "peer_id": "peer_id", + }], + ) + print(messages) + /v1/workspaces/{workspace_id}/peers/{peer_id}/messages/list: + post: + tags: + - peers + summary: Get Messages For Peer + description: Get all messages for a peer + operationId: get_messages_for_peer_v1_workspaces__workspace_id__peers__peer_id__messages_list_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + - name: reverse + in: query + required: false + schema: + anyOf: + - type: boolean + - type: 'null' + description: Whether to reverse the order of results + default: false + title: Reverse + description: Whether to reverse the order of results + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/MessageGet' + - type: 'null' + description: Filtering options for the messages list + title: Options + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Message_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const message of client.workspaces.peers.messages.list('workspace_id', 'peer_id')) { + console.log(message.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.peers.messages.list( + peer_id="peer_id", + workspace_id="workspace_id", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/peers/{peer_id}/representation: + post: + tags: + - peers + summary: Get Working Representation + description: |- + Get a peer's working representation for a session. + + If peer_id is provided in body, the representation is of that peer, from our perspective. + operationId: get_working_representation_v1_workspaces__workspace_id__peers__peer_id__representation_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PeerRepresentationGet' + description: Options for getting the peer representation + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: object + additionalProperties: true + title: >- + Response Get Working Representation V1 Workspaces Workspace Id Peers Peer Id + Representation Post + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const response = await client.workspaces.peers.workingRepresentation('workspace_id', 'peer_id', { + session_id: 'session_id', + }); + + console.log(response); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + response = client.workspaces.peers.working_representation( + peer_id="peer_id", + workspace_id="workspace_id", + session_id="session_id", + ) + print(response) + /v1/workspaces/{workspace_id}/peers/{peer_id}/search: + post: + tags: + - peers + summary: Search Peer + description: Search a Peer + operationId: search_peer_v1_workspaces__workspace_id__peers__peer_id__search_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + required: true + content: + application/json: + schema: + type: string + description: Search query + title: Query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Message_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + // Automatically fetches more pages as needed. + + for await (const message of client.workspaces.peers.search('workspace_id', 'peer_id', { body: + 'body' })) { + console.log(message.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.peers.search( + peer_id="peer_id", + workspace_id="workspace_id", + body="body", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/sessions: + post: + tags: + - sessions + summary: Get Or Create Session + description: |- + Get a specific session in a workspace. + + If session_id is provided as a query parameter, it verifies the session is in the workspace. + Otherwise, it uses the session_id from the JWT token for verification. + operationId: get_or_create_session_v1_workspaces__workspace_id__sessions_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SessionCreate' + description: Session creation parameters + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Session' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const session = await client.workspaces.sessions.getOrCreate('workspace_id', { id: 'id' }); + + console.log(session.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + session = client.workspaces.sessions.get_or_create( + workspace_id="workspace_id", + id="id", + ) + print(session.id) + /v1/workspaces/{workspace_id}/sessions/list: + post: + tags: + - sessions + summary: Get Sessions + description: Get All Sessions in a Workspace + operationId: get_sessions_v1_workspaces__workspace_id__sessions_list_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/SessionGet' + - type: 'null' + description: Filtering and pagination options for the sessions list + title: Options + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Session_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const session of client.workspaces.sessions.list('workspace_id')) { + console.log(session.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.sessions.list( + workspace_id="workspace_id", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/sessions/{session_id}: + put: + tags: + - sessions + summary: Update Session + description: Update the metadata of a Session + operationId: update_session_v1_workspaces__workspace_id__sessions__session_id__put + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session to update + title: Session Id + description: ID of the session to update + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SessionUpdate' + description: Updated session parameters + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Session' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const session = await client.workspaces.sessions.update('workspace_id', 'session_id'); + + console.log(session.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + session = client.workspaces.sessions.update( + session_id="session_id", + workspace_id="workspace_id", + ) + print(session.id) + delete: + tags: + - sessions + summary: Delete Session + description: Delete a session by marking it as inactive + operationId: delete_session_v1_workspaces__workspace_id__sessions__session_id__delete + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session to delete + title: Session Id + description: ID of the session to delete + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const session = await client.workspaces.sessions.delete('workspace_id', 'session_id'); + + console.log(session); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + session = client.workspaces.sessions.delete( + session_id="session_id", + workspace_id="workspace_id", + ) + print(session) + /v1/workspaces/{workspace_id}/sessions/{session_id}/clone: + get: + tags: + - sessions + summary: Clone Session + description: Clone a session, optionally up to a specific message + operationId: clone_session_v1_workspaces__workspace_id__sessions__session_id__clone_get + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session to clone + title: Session Id + description: ID of the session to clone + - name: message_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Message ID to cut off the clone at + title: Message Id + description: Message ID to cut off the clone at + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Session' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const session = await client.workspaces.sessions.clone('workspace_id', 'session_id'); + + console.log(session.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + session = client.workspaces.sessions.clone( + session_id="session_id", + workspace_id="workspace_id", + ) + print(session.id) + /v1/workspaces/{workspace_id}/sessions/{session_id}/peers: + post: + tags: + - sessions + summary: Add Peers To Session + description: Add peers to a session + operationId: add_peers_to_session_v1_workspaces__workspace_id__sessions__session_id__peers_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + requestBody: + required: true + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/SessionPeerConfig' + description: List of peer IDs to add to the session + title: Peers + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Session' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + const session = await client.workspaces.sessions.peers.add('workspace_id', 'session_id', { foo: {} + }); + + + console.log(session.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + session = client.workspaces.sessions.peers.add( + session_id="session_id", + workspace_id="workspace_id", + body={ + "foo": {} + }, + ) + print(session.id) + put: + tags: + - sessions + summary: Set Session Peers + description: Set the peers in a session + operationId: set_session_peers_v1_workspaces__workspace_id__sessions__session_id__peers_put + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + requestBody: + required: true + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/SessionPeerConfig' + description: List of peer IDs to set for the session + title: Peers + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Session' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + const session = await client.workspaces.sessions.peers.set('workspace_id', 'session_id', { foo: {} + }); + + + console.log(session.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + session = client.workspaces.sessions.peers.set( + session_id="session_id", + workspace_id="workspace_id", + body={ + "foo": {} + }, + ) + print(session.id) + delete: + tags: + - sessions + summary: Remove Peers From Session + description: Remove peers from a session + operationId: remove_peers_from_session_v1_workspaces__workspace_id__sessions__session_id__peers_delete + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + type: string + description: List of peer IDs to remove from the session + title: Peers + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Session' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + const session = await client.workspaces.sessions.peers.remove('workspace_id', 'session_id', + ['string']); + + + console.log(session.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + session = client.workspaces.sessions.peers.remove( + session_id="session_id", + workspace_id="workspace_id", + body=["string"], + ) + print(session.id) + get: + tags: + - sessions + summary: Get Session Peers + description: Get peers from a session + operationId: get_session_peers_v1_workspaces__workspace_id__sessions__session_id__peers_get + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Peer_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const peer of client.workspaces.sessions.peers.list('workspace_id', 'session_id')) { + console.log(peer.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.sessions.peers.list( + session_id="session_id", + workspace_id="workspace_id", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/sessions/{session_id}/peers/{peer_id}/config: + get: + tags: + - sessions + summary: Get Peer Config + description: Get the configuration for a peer in a session + operationId: get_peer_config_v1_workspaces__workspace_id__sessions__session_id__peers__peer_id__config_get + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SessionPeerConfig' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + const response = await client.workspaces.sessions.peers.getConfig('workspace_id', 'session_id', + 'peer_id'); + + + console.log(response.observe_me); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + response = client.workspaces.sessions.peers.get_config( + peer_id="peer_id", + workspace_id="workspace_id", + session_id="session_id", + ) + print(response.observe_me) + post: + tags: + - sessions + summary: Set Peer Config + description: Set the configuration for a peer in a session + operationId: set_peer_config_v1_workspaces__workspace_id__sessions__session_id__peers__peer_id__config_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: peer_id + in: path + required: true + schema: + type: string + description: ID of the peer + title: Peer Id + description: ID of the peer + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SessionPeerConfig' + description: Peer configuration + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + const response = await client.workspaces.sessions.peers.setConfig('workspace_id', 'session_id', + 'peer_id'); + + + console.log(response); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + response = client.workspaces.sessions.peers.set_config( + peer_id="peer_id", + workspace_id="workspace_id", + session_id="session_id", + ) + print(response) + /v1/workspaces/{workspace_id}/sessions/{session_id}/context: + get: + tags: + - sessions + summary: Get Session Context + description: >- + Produce a context object from the session. The caller provides a token limit which the entire context + must fit into. + + To do this, we allocate 40% of the token limit to the summary, and 60% to recent messages -- as many + as can fit. + + If the caller does not want a summary, we allocate all the tokens to recent messages. + + The default token limit if not provided is 2048. (TODO: make this configurable) + operationId: get_session_context_v1_workspaces__workspace_id__sessions__session_id__context_get + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: tokens + in: query + required: false + schema: + anyOf: + - type: integer + - type: 'null' + description: Number of tokens to use for the context. Includes summary if set to true + title: Tokens + description: Number of tokens to use for the context. Includes summary if set to true + - name: summary + in: query + required: false + schema: + type: boolean + description: Whether to summarize the session history prior to the cutoff message + default: false + title: Summary + description: Whether to summarize the session history prior to the cutoff message + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SessionContext' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const response = await client.workspaces.sessions.getContext('workspace_id', 'session_id'); + + console.log(response.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + response = client.workspaces.sessions.get_context( + session_id="session_id", + workspace_id="workspace_id", + ) + print(response.id) + /v1/workspaces/{workspace_id}/sessions/{session_id}/search: + post: + tags: + - sessions + summary: Search Session + description: Search a Session + operationId: search_session_v1_workspaces__workspace_id__sessions__session_id__search_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + required: true + content: + application/json: + schema: + type: string + description: Search query + title: Query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Message_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + // Automatically fetches more pages as needed. + for await (const message of client.workspaces.sessions.search('workspace_id', 'session_id', { + body: 'body', + })) { + console.log(message.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.sessions.search( + session_id="session_id", + workspace_id="workspace_id", + body="body", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/sessions/{session_id}/messages/: + post: + tags: + - messages + summary: Create Messages For Session + operationId: create_messages_for_session_v1_workspaces__workspace_id__sessions__session_id__messages__post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MessageBatchCreate' + description: Batch of messages to create + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Message' + title: >- + Response Create Messages For Session V1 Workspaces Workspace Id Sessions Session Id + Messages Post + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const messages = await client.workspaces.sessions.messages.create('workspace_id', 'session_id', { + messages: [{ content: 'content', peer_id: 'peer_id' }], + }); + + console.log(messages); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + messages = client.workspaces.sessions.messages.create( + session_id="session_id", + workspace_id="workspace_id", + messages=[{ + "content": "content", + "peer_id": "peer_id", + }], + ) + print(messages) + /v1/workspaces/{workspace_id}/sessions/{session_id}/messages/list: + post: + tags: + - messages + summary: Get Messages + description: Get all messages for a session + operationId: get_messages_v1_workspaces__workspace_id__sessions__session_id__messages_list_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: reverse + in: query + required: false + schema: + anyOf: + - type: boolean + - type: 'null' + description: Whether to reverse the order of results + default: false + title: Reverse + description: Whether to reverse the order of results + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page + description: Page number + - name: size + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Page size + default: 50 + title: Size + description: Page size + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/MessageGet' + - type: 'null' + description: Filtering options for the messages list + title: Options + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Page_Message_' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + // Automatically fetches more pages as needed. + + for await (const message of client.workspaces.sessions.messages.list('workspace_id', + 'session_id')) { + console.log(message.id); + } + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + page = client.workspaces.sessions.messages.list( + session_id="session_id", + workspace_id="workspace_id", + ) + page = page.items[0] + print(page.id) + /v1/workspaces/{workspace_id}/sessions/{session_id}/messages/{message_id}: + get: + tags: + - messages + summary: Get Message + description: Get a Message by ID + operationId: get_message_v1_workspaces__workspace_id__sessions__session_id__messages__message_id__get + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: message_id + in: path + required: true + schema: + type: string + description: ID of the message to retrieve + title: Message Id + description: ID of the message to retrieve + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Message' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const message = await client.workspaces.sessions.messages.retrieve( + 'workspace_id', + 'session_id', + 'message_id', + ); + + console.log(message.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + message = client.workspaces.sessions.messages.retrieve( + message_id="message_id", + workspace_id="workspace_id", + session_id="session_id", + ) + print(message.id) + put: + tags: + - messages + summary: Update Message + description: Update the metadata of a Message + operationId: update_message_v1_workspaces__workspace_id__sessions__session_id__messages__message_id__put + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: path + required: true + schema: + type: string + description: ID of the workspace + title: Workspace Id + description: ID of the workspace + - name: session_id + in: path + required: true + schema: + type: string + description: ID of the session + title: Session Id + description: ID of the session + - name: message_id + in: path + required: true + schema: + type: string + description: ID of the message to update + title: Message Id + description: ID of the message to update + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MessageUpdate' + description: Updated message parameters + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Message' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: >- + import Honcho from '@honcho-ai/core'; + + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + + const message = await client.workspaces.sessions.messages.update('workspace_id', 'session_id', + 'message_id'); + + + console.log(message.id); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + message = client.workspaces.sessions.messages.update( + message_id="message_id", + workspace_id="workspace_id", + session_id="session_id", + ) + print(message.id) + /v1/keys: + post: + tags: + - keys + summary: Create Key + description: Create a new Key + operationId: create_key_v1_keys_post + security: + - HTTPBearer: [] + - {} + parameters: + - name: workspace_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: ID of the workspace to scope the key to + title: Workspace Id + description: ID of the workspace to scope the key to + - name: peer_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: ID of the peer to scope the key to + title: Peer Id + description: ID of the peer to scope the key to + - name: session_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: ID of the session to scope the key to + title: Session Id + description: ID of the session to scope the key to + - name: expires_at + in: query + required: false + schema: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Expires At + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + x-codeSamples: + - lang: JavaScript + source: |- + import Honcho from '@honcho-ai/core'; + + const client = new Honcho({ + apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted + }); + + const key = await client.keys.create(); + + console.log(key); + - lang: Python + source: |- + import os + from honcho_core import Honcho + + client = Honcho( + api_key=os.environ.get("HONCHO_API_KEY"), # This is the default and can be omitted + ) + key = client.keys.create() + print(key) +components: + schemas: + DialecticOptions: + properties: + session_id: + anyOf: + - type: string + - type: 'null' + title: Session Id + description: ID of the session to scope the representation to + target: + anyOf: + - type: string + - type: 'null' + title: Target + description: Optional peer to get the representation for, from the perspective of this peer + queries: + anyOf: + - type: string + - items: + type: string + type: array + title: Queries + stream: + type: boolean + title: Stream + default: false + type: object + required: + - queries + title: DialecticOptions + DialecticResponse: + properties: + content: + type: string + title: Content + type: object + required: + - content + title: DialecticResponse + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + Message: + properties: + id: + type: string + title: Id + content: + type: string + title: Content + peer_id: + type: string + title: Peer Id + session_id: + anyOf: + - type: string + - type: 'null' + title: Session Id + metadata: + additionalProperties: true + type: object + title: Metadata + created_at: + type: string + format: date-time + title: Created At + workspace_id: + type: string + title: Workspace Id + token_count: + type: integer + title: Token Count + type: object + required: + - id + - content + - peer_id + - session_id + - created_at + - workspace_id + - token_count + title: Message + MessageBatchCreate: + properties: + messages: + items: + $ref: '#/components/schemas/MessageCreate' + type: array + maxItems: 100 + minItems: 1 + title: Messages + type: object + required: + - messages + title: MessageBatchCreate + description: Schema for batch message creation with a max of 100 messages + MessageCreate: + properties: + content: + type: string + maxLength: 50000 + minLength: 0 + title: Content + peer_id: + type: string + title: Peer Id + metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata + type: object + required: + - content + - peer_id + title: MessageCreate + MessageGet: + properties: + filter: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Filter + type: object + title: MessageGet + MessageUpdate: + properties: + metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata + type: object + title: MessageUpdate + Page_Message_: + properties: + items: + items: + $ref: '#/components/schemas/Message' + type: array + title: Items + total: + type: integer + minimum: 0 + title: Total + page: + type: integer + minimum: 1 + title: Page + size: + type: integer + minimum: 1 + title: Size + pages: + type: integer + minimum: 0 + title: Pages + type: object + required: + - items + - total + - page + - size + title: Page[Message] + Page_Peer_: + properties: + items: + items: + $ref: '#/components/schemas/Peer' + type: array + title: Items + total: + type: integer + minimum: 0 + title: Total + page: + type: integer + minimum: 1 + title: Page + size: + type: integer + minimum: 1 + title: Size + pages: + type: integer + minimum: 0 + title: Pages + type: object + required: + - items + - total + - page + - size + title: Page[Peer] + Page_Session_: + properties: + items: + items: + $ref: '#/components/schemas/Session' + type: array + title: Items + total: + type: integer + minimum: 0 + title: Total + page: + type: integer + minimum: 1 + title: Page + size: + type: integer + minimum: 1 + title: Size + pages: + type: integer + minimum: 0 + title: Pages + type: object + required: + - items + - total + - page + - size + title: Page[Session] + Page_Workspace_: + properties: + items: + items: + $ref: '#/components/schemas/Workspace' + type: array + title: Items + total: + type: integer + minimum: 0 + title: Total + page: + type: integer + minimum: 1 + title: Page + size: + type: integer + minimum: 1 + title: Size + pages: + type: integer + minimum: 0 + title: Pages + type: object + required: + - items + - total + - page + - size + title: Page[Workspace] + Peer: + properties: + id: + type: string + title: Id + workspace_id: + type: string + title: Workspace Id + created_at: + type: string + format: date-time + title: Created At + metadata: + additionalProperties: true + type: object + title: Metadata + configuration: + additionalProperties: true + type: object + title: Configuration + type: object + required: + - id + - workspace_id + - created_at + title: Peer + PeerCreate: + properties: + id: + type: string + maxLength: 100 + minLength: 1 + pattern: ^[a-zA-Z0-9_-]+$ + title: Id + metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata + configuration: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Configuration + type: object + required: + - id + title: PeerCreate + PeerGet: + properties: + filter: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Filter + type: object + title: PeerGet + PeerRepresentationGet: + properties: + session_id: + type: string + title: Session Id + description: Get the working representation within this session + target: + anyOf: + - type: string + - type: 'null' + title: Target + description: Optional peer ID to get the representation for, from the perspective of this peer + type: object + required: + - session_id + title: PeerRepresentationGet + PeerUpdate: + properties: + metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata + configuration: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Configuration + type: object + title: PeerUpdate + Session: + properties: + id: + type: string + title: Id + is_active: + type: boolean + title: Is Active + workspace_id: + type: string + title: Workspace Id + metadata: + additionalProperties: true + type: object + title: Metadata + configuration: + additionalProperties: true + type: object + title: Configuration + created_at: + type: string + format: date-time + title: Created At + type: object + required: + - id + - is_active + - workspace_id + - created_at + title: Session + SessionContext: + properties: + id: + type: string + title: Id + messages: + items: + $ref: '#/components/schemas/Message' + type: array + title: Messages + summary: + type: string + title: Summary + type: object + required: + - id + - messages + - summary + title: SessionContext + SessionCreate: + properties: + id: + type: string + maxLength: 100 + minLength: 1 + pattern: ^[a-zA-Z0-9_-]+$ + title: Id + metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata + peers: + anyOf: + - additionalProperties: + $ref: '#/components/schemas/SessionPeerConfig' + type: object + - type: 'null' + title: Peers + configuration: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Configuration + type: object + required: + - id + title: SessionCreate + SessionGet: + properties: + filter: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Filter + is_active: + type: boolean + title: Is Active + default: false + type: object + title: SessionGet + SessionPeerConfig: + properties: + observe_others: + type: boolean + title: Observe Others + description: >- + Whether this peer should form a session-level theory-of-mind representation of other peers in the + session + default: false + observe_me: + type: boolean + title: Observe Me + description: >- + Whether other peers in this session should try to form a session-level theory-of-mind + representation of this peer + default: true + type: object + title: SessionPeerConfig + SessionUpdate: + properties: + metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata + configuration: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Configuration + type: object + title: SessionUpdate + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + Workspace: + properties: + id: + type: string + title: Id + metadata: + additionalProperties: true + type: object + title: Metadata + configuration: + additionalProperties: true + type: object + title: Configuration + created_at: + type: string + format: date-time + title: Created At + type: object + required: + - id + - created_at + title: Workspace + WorkspaceCreate: + properties: + id: + type: string + maxLength: 100 + minLength: 1 + pattern: ^[a-zA-Z0-9_-]+$ + title: Id + metadata: + additionalProperties: true + type: object + title: Metadata + default: {} + configuration: + additionalProperties: true + type: object + title: Configuration + default: {} + type: object + required: + - id + title: WorkspaceCreate + WorkspaceGet: + properties: + filter: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Filter + type: object + title: WorkspaceGet + WorkspaceUpdate: + properties: + metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata + configuration: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Configuration + type: object + title: WorkspaceUpdate + securitySchemes: + HTTPBearer: + type: http + scheme: bearer diff --git a/uv.lock b/uv.lock index 7035c02a..711ab68e 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,10 @@ version = 1 +revision = 2 requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version < '3.11'", +] [[package]] name = "alembic" @@ -11,18 +16,18 @@ dependencies = [ { name = "tomli", marker = "python_full_version < '3.11'" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9c/35/116797ff14635e496bbda0c168987f5326a6555b09312e9b817e360d1f56/alembic-1.16.2.tar.gz", hash = "sha256:e53c38ff88dadb92eb22f8b150708367db731d58ad7e9d417c9168ab516cbed8", size = 1963563 } +sdist = { url = "https://files.pythonhosted.org/packages/9c/35/116797ff14635e496bbda0c168987f5326a6555b09312e9b817e360d1f56/alembic-1.16.2.tar.gz", hash = "sha256:e53c38ff88dadb92eb22f8b150708367db731d58ad7e9d417c9168ab516cbed8", size = 1963563, upload-time = "2025-06-16T18:05:08.566Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dd/e2/88e425adac5ad887a087c38d04fe2030010572a3e0e627f8a6e8c33eeda8/alembic-1.16.2-py3-none-any.whl", hash = "sha256:5f42e9bd0afdbd1d5e3ad856c01754530367debdebf21ed6894e34af52b3bb03", size = 242717 }, + { url = "https://files.pythonhosted.org/packages/dd/e2/88e425adac5ad887a087c38d04fe2030010572a3e0e627f8a6e8c33eeda8/alembic-1.16.2-py3-none-any.whl", hash = "sha256:5f42e9bd0afdbd1d5e3ad856c01754530367debdebf21ed6894e34af52b3bb03", size = 242717, upload-time = "2025-06-16T18:05:10.27Z" }, ] [[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 } +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 }, + { 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]] @@ -38,9 +43,9 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a4/19/e2e09bc7fc0c4562ae865b3e5d487931c254c517e1c739b0c8aef2cf3186/anthropic-0.55.0.tar.gz", hash = "sha256:61826efa1bda0e4c7dc6f6a0d82b7d99b3fda970cd048d40ef5fca08a5eabd33", size = 408192 } +sdist = { url = "https://files.pythonhosted.org/packages/a4/19/e2e09bc7fc0c4562ae865b3e5d487931c254c517e1c739b0c8aef2cf3186/anthropic-0.55.0.tar.gz", hash = "sha256:61826efa1bda0e4c7dc6f6a0d82b7d99b3fda970cd048d40ef5fca08a5eabd33", size = 408192, upload-time = "2025-06-23T18:52:26.27Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/8f/ba982f539db40f49a610f61562e9b54fb9c85e7b9ede9a46ff6f9e79042f/anthropic-0.55.0-py3-none-any.whl", hash = "sha256:3518433fc0372a13f2b793b4cabecc7734ec9176e063a0f28dac19aa17c57f94", size = 289318 }, + { url = "https://files.pythonhosted.org/packages/b3/8f/ba982f539db40f49a610f61562e9b54fb9c85e7b9ede9a46ff6f9e79042f/anthropic-0.55.0-py3-none-any.whl", hash = "sha256:3518433fc0372a13f2b793b4cabecc7734ec9176e063a0f28dac19aa17c57f94", size = 289318, upload-time = "2025-06-23T18:52:24.478Z" }, ] [[package]] @@ -53,27 +58,27 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 } +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 }, + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, ] [[package]] name = "attrs" version = "25.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032 } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 }, + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, ] [[package]] name = "backoff" version = "2.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba", size = 17001 } +sdist = { url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba", size = 17001, upload-time = "2022-10-05T19:19:32.061Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148 }, + { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148, upload-time = "2022-10-05T19:19:30.546Z" }, ] [[package]] @@ -83,88 +88,88 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "nodejs-wheel-binaries" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/80/fb/bd92196a07e3b4ccee4ff2761a26a05bff77d4da089b67b4b1a547868099/basedpyright-1.29.4.tar.gz", hash = "sha256:2df1976f8591eedf4b4ce8f9d123f43e810cc8cb7cc83c53eec0e2f8044073d0", size = 21961481 } +sdist = { url = "https://files.pythonhosted.org/packages/80/fb/bd92196a07e3b4ccee4ff2761a26a05bff77d4da089b67b4b1a547868099/basedpyright-1.29.4.tar.gz", hash = "sha256:2df1976f8591eedf4b4ce8f9d123f43e810cc8cb7cc83c53eec0e2f8044073d0", size = 21961481, upload-time = "2025-06-11T22:25:55.173Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/dc/180fe721a2574fb3aad4051adcca196ac2d18adaf75122f5eeb47436cca2/basedpyright-1.29.4-py3-none-any.whl", hash = "sha256:e087513979972f83010639c6c1a1c13dd3b1d24ee45f8ecff747962cc2063d6f", size = 11476859 }, + { url = "https://files.pythonhosted.org/packages/d5/dc/180fe721a2574fb3aad4051adcca196ac2d18adaf75122f5eeb47436cca2/basedpyright-1.29.4-py3-none-any.whl", hash = "sha256:e087513979972f83010639c6c1a1c13dd3b1d24ee45f8ecff747962cc2063d6f", size = 11476859, upload-time = "2025-06-11T22:25:52.01Z" }, ] [[package]] name = "cachetools" version = "5.5.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380 } +sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380, upload-time = "2025-02-20T21:01:19.524Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080 }, + { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080, upload-time = "2025-02-20T21:01:16.647Z" }, ] [[package]] name = "certifi" version = "2025.6.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753 } +sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650 }, + { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" }, ] [[package]] name = "charset-normalizer" version = "3.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367 } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818 }, - { url = "https://files.pythonhosted.org/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649 }, - { url = "https://files.pythonhosted.org/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045 }, - { url = "https://files.pythonhosted.org/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356 }, - { url = "https://files.pythonhosted.org/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471 }, - { url = "https://files.pythonhosted.org/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317 }, - { url = "https://files.pythonhosted.org/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368 }, - { url = "https://files.pythonhosted.org/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491 }, - { url = "https://files.pythonhosted.org/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695 }, - { url = "https://files.pythonhosted.org/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849 }, - { url = "https://files.pythonhosted.org/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091 }, - { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445 }, - { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782 }, - { url = "https://files.pythonhosted.org/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794 }, - { url = "https://files.pythonhosted.org/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846 }, - { url = "https://files.pythonhosted.org/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350 }, - { url = "https://files.pythonhosted.org/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657 }, - { url = "https://files.pythonhosted.org/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260 }, - { url = "https://files.pythonhosted.org/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164 }, - { url = "https://files.pythonhosted.org/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571 }, - { url = "https://files.pythonhosted.org/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952 }, - { url = "https://files.pythonhosted.org/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959 }, - { url = "https://files.pythonhosted.org/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030 }, - { url = "https://files.pythonhosted.org/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015 }, - { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106 }, - { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402 }, - { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936 }, - { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790 }, - { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924 }, - { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626 }, - { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567 }, - { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957 }, - { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408 }, - { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399 }, - { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815 }, - { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537 }, - { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565 }, - { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357 }, - { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776 }, - { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622 }, - { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435 }, - { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653 }, - { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231 }, - { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243 }, - { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442 }, - { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147 }, - { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057 }, - { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454 }, - { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174 }, - { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166 }, - { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064 }, - { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641 }, - { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626 }, + { url = "https://files.pythonhosted.org/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818, upload-time = "2025-05-02T08:31:46.725Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649, upload-time = "2025-05-02T08:31:48.889Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045, upload-time = "2025-05-02T08:31:50.757Z" }, + { url = "https://files.pythonhosted.org/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356, upload-time = "2025-05-02T08:31:52.634Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471, upload-time = "2025-05-02T08:31:56.207Z" }, + { url = "https://files.pythonhosted.org/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317, upload-time = "2025-05-02T08:31:57.613Z" }, + { url = "https://files.pythonhosted.org/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368, upload-time = "2025-05-02T08:31:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491, upload-time = "2025-05-02T08:32:01.219Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695, upload-time = "2025-05-02T08:32:03.045Z" }, + { url = "https://files.pythonhosted.org/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849, upload-time = "2025-05-02T08:32:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091, upload-time = "2025-05-02T08:32:06.719Z" }, + { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445, upload-time = "2025-05-02T08:32:08.66Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782, upload-time = "2025-05-02T08:32:10.46Z" }, + { url = "https://files.pythonhosted.org/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794, upload-time = "2025-05-02T08:32:11.945Z" }, + { url = "https://files.pythonhosted.org/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846, upload-time = "2025-05-02T08:32:13.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350, upload-time = "2025-05-02T08:32:15.873Z" }, + { url = "https://files.pythonhosted.org/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657, upload-time = "2025-05-02T08:32:17.283Z" }, + { url = "https://files.pythonhosted.org/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260, upload-time = "2025-05-02T08:32:18.807Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164, upload-time = "2025-05-02T08:32:20.333Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571, upload-time = "2025-05-02T08:32:21.86Z" }, + { url = "https://files.pythonhosted.org/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952, upload-time = "2025-05-02T08:32:23.434Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959, upload-time = "2025-05-02T08:32:24.993Z" }, + { url = "https://files.pythonhosted.org/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030, upload-time = "2025-05-02T08:32:26.435Z" }, + { url = "https://files.pythonhosted.org/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015, upload-time = "2025-05-02T08:32:28.376Z" }, + { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106, upload-time = "2025-05-02T08:32:30.281Z" }, + { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402, upload-time = "2025-05-02T08:32:32.191Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, + { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, + { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, + { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, + { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, + { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, + { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, + { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, ] [[package]] @@ -172,111 +177,111 @@ name = "click" version = "8.2.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "platform_system == 'Windows'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342 } +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215 }, + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, ] [[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 } +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 }, + { 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 = "coverage" version = "7.9.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/e0/98670a80884f64578f0c22cd70c5e81a6e07b08167721c7487b4d70a7ca0/coverage-7.9.1.tar.gz", hash = "sha256:6cf43c78c4282708a28e466316935ec7489a9c487518a77fa68f716c67909cec", size = 813650 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/e0/98670a80884f64578f0c22cd70c5e81a6e07b08167721c7487b4d70a7ca0/coverage-7.9.1.tar.gz", hash = "sha256:6cf43c78c4282708a28e466316935ec7489a9c487518a77fa68f716c67909cec", size = 813650, upload-time = "2025-06-13T13:02:28.627Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/78/1c1c5ec58f16817c09cbacb39783c3655d54a221b6552f47ff5ac9297603/coverage-7.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc94d7c5e8423920787c33d811c0be67b7be83c705f001f7180c7b186dcf10ca", size = 212028 }, - { url = "https://files.pythonhosted.org/packages/98/db/e91b9076f3a888e3b4ad7972ea3842297a52cc52e73fd1e529856e473510/coverage-7.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16aa0830d0c08a2c40c264cef801db8bc4fc0e1892782e45bcacbd5889270509", size = 212420 }, - { url = "https://files.pythonhosted.org/packages/0e/d0/2b3733412954576b0aea0a16c3b6b8fbe95eb975d8bfa10b07359ead4252/coverage-7.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf95981b126f23db63e9dbe4cf65bd71f9a6305696fa5e2262693bc4e2183f5b", size = 241529 }, - { url = "https://files.pythonhosted.org/packages/b3/00/5e2e5ae2e750a872226a68e984d4d3f3563cb01d1afb449a17aa819bc2c4/coverage-7.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f05031cf21699785cd47cb7485f67df619e7bcdae38e0fde40d23d3d0210d3c3", size = 239403 }, - { url = "https://files.pythonhosted.org/packages/37/3b/a2c27736035156b0a7c20683afe7df498480c0dfdf503b8c878a21b6d7fb/coverage-7.9.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb4fbcab8764dc072cb651a4bcda4d11fb5658a1d8d68842a862a6610bd8cfa3", size = 240548 }, - { url = "https://files.pythonhosted.org/packages/98/f5/13d5fc074c3c0e0dc80422d9535814abf190f1254d7c3451590dc4f8b18c/coverage-7.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16649a7330ec307942ed27d06ee7e7a38417144620bb3d6e9a18ded8a2d3e5", size = 240459 }, - { url = "https://files.pythonhosted.org/packages/36/24/24b9676ea06102df824c4a56ffd13dc9da7904478db519efa877d16527d5/coverage-7.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cea0a27a89e6432705fffc178064503508e3c0184b4f061700e771a09de58187", size = 239128 }, - { url = "https://files.pythonhosted.org/packages/be/05/242b7a7d491b369ac5fee7908a6e5ba42b3030450f3ad62c645b40c23e0e/coverage-7.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e980b53a959fa53b6f05343afbd1e6f44a23ed6c23c4b4c56c6662bbb40c82ce", size = 239402 }, - { url = "https://files.pythonhosted.org/packages/73/e0/4de7f87192fa65c9c8fbaeb75507e124f82396b71de1797da5602898be32/coverage-7.9.1-cp310-cp310-win32.whl", hash = "sha256:70760b4c5560be6ca70d11f8988ee6542b003f982b32f83d5ac0b72476607b70", size = 214518 }, - { url = "https://files.pythonhosted.org/packages/d5/ab/5e4e2fe458907d2a65fab62c773671cfc5ac704f1e7a9ddd91996f66e3c2/coverage-7.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a66e8f628b71f78c0e0342003d53b53101ba4e00ea8dabb799d9dba0abbbcebe", size = 215436 }, - { url = "https://files.pythonhosted.org/packages/60/34/fa69372a07d0903a78ac103422ad34db72281c9fc625eba94ac1185da66f/coverage-7.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95c765060e65c692da2d2f51a9499c5e9f5cf5453aeaf1420e3fc847cc060582", size = 212146 }, - { url = "https://files.pythonhosted.org/packages/27/f0/da1894915d2767f093f081c42afeba18e760f12fdd7a2f4acbe00564d767/coverage-7.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba383dc6afd5ec5b7a0d0c23d38895db0e15bcba7fb0fa8901f245267ac30d86", size = 212536 }, - { url = "https://files.pythonhosted.org/packages/10/d5/3fc33b06e41e390f88eef111226a24e4504d216ab8e5d1a7089aa5a3c87a/coverage-7.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37ae0383f13cbdcf1e5e7014489b0d71cc0106458878ccde52e8a12ced4298ed", size = 245092 }, - { url = "https://files.pythonhosted.org/packages/0a/39/7aa901c14977aba637b78e95800edf77f29f5a380d29768c5b66f258305b/coverage-7.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69aa417a030bf11ec46149636314c24c8d60fadb12fc0ee8f10fda0d918c879d", size = 242806 }, - { url = "https://files.pythonhosted.org/packages/43/fc/30e5cfeaf560b1fc1989227adedc11019ce4bb7cce59d65db34fe0c2d963/coverage-7.9.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a4be2a28656afe279b34d4f91c3e26eccf2f85500d4a4ff0b1f8b54bf807338", size = 244610 }, - { url = "https://files.pythonhosted.org/packages/bf/15/cca62b13f39650bc87b2b92bb03bce7f0e79dd0bf2c7529e9fc7393e4d60/coverage-7.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:382e7ddd5289f140259b610e5f5c58f713d025cb2f66d0eb17e68d0a94278875", size = 244257 }, - { url = "https://files.pythonhosted.org/packages/cd/1a/c0f2abe92c29e1464dbd0ff9d56cb6c88ae2b9e21becdb38bea31fcb2f6c/coverage-7.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e5532482344186c543c37bfad0ee6069e8ae4fc38d073b8bc836fc8f03c9e250", size = 242309 }, - { url = "https://files.pythonhosted.org/packages/57/8d/c6fd70848bd9bf88fa90df2af5636589a8126d2170f3aade21ed53f2b67a/coverage-7.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a39d18b3f50cc121d0ce3838d32d58bd1d15dab89c910358ebefc3665712256c", size = 242898 }, - { url = "https://files.pythonhosted.org/packages/c2/9e/6ca46c7bff4675f09a66fe2797cd1ad6a24f14c9c7c3b3ebe0470a6e30b8/coverage-7.9.1-cp311-cp311-win32.whl", hash = "sha256:dd24bd8d77c98557880def750782df77ab2b6885a18483dc8588792247174b32", size = 214561 }, - { url = "https://files.pythonhosted.org/packages/a1/30/166978c6302010742dabcdc425fa0f938fa5a800908e39aff37a7a876a13/coverage-7.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b55ad10a35a21b8015eabddc9ba31eb590f54adc9cd39bcf09ff5349fd52125", size = 215493 }, - { url = "https://files.pythonhosted.org/packages/60/07/a6d2342cd80a5be9f0eeab115bc5ebb3917b4a64c2953534273cf9bc7ae6/coverage-7.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:6ad935f0016be24c0e97fc8c40c465f9c4b85cbbe6eac48934c0dc4d2568321e", size = 213869 }, - { url = "https://files.pythonhosted.org/packages/68/d9/7f66eb0a8f2fce222de7bdc2046ec41cb31fe33fb55a330037833fb88afc/coverage-7.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8de12b4b87c20de895f10567639c0797b621b22897b0af3ce4b4e204a743626", size = 212336 }, - { url = "https://files.pythonhosted.org/packages/20/20/e07cb920ef3addf20f052ee3d54906e57407b6aeee3227a9c91eea38a665/coverage-7.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5add197315a054e92cee1b5f686a2bcba60c4c3e66ee3de77ace6c867bdee7cb", size = 212571 }, - { url = "https://files.pythonhosted.org/packages/78/f8/96f155de7e9e248ca9c8ff1a40a521d944ba48bec65352da9be2463745bf/coverage-7.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:600a1d4106fe66f41e5d0136dfbc68fe7200a5cbe85610ddf094f8f22e1b0300", size = 246377 }, - { url = "https://files.pythonhosted.org/packages/3e/cf/1d783bd05b7bca5c10ded5f946068909372e94615a4416afadfe3f63492d/coverage-7.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a876e4c3e5a2a1715a6608906aa5a2e0475b9c0f68343c2ada98110512ab1d8", size = 243394 }, - { url = "https://files.pythonhosted.org/packages/02/dd/e7b20afd35b0a1abea09fb3998e1abc9f9bd953bee548f235aebd2b11401/coverage-7.9.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81f34346dd63010453922c8e628a52ea2d2ccd73cb2487f7700ac531b247c8a5", size = 245586 }, - { url = "https://files.pythonhosted.org/packages/4e/38/b30b0006fea9d617d1cb8e43b1bc9a96af11eff42b87eb8c716cf4d37469/coverage-7.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:888f8eee13f2377ce86d44f338968eedec3291876b0b8a7289247ba52cb984cd", size = 245396 }, - { url = "https://files.pythonhosted.org/packages/31/e4/4d8ec1dc826e16791f3daf1b50943e8e7e1eb70e8efa7abb03936ff48418/coverage-7.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9969ef1e69b8c8e1e70d591f91bbc37fc9a3621e447525d1602801a24ceda898", size = 243577 }, - { url = "https://files.pythonhosted.org/packages/25/f4/b0e96c5c38e6e40ef465c4bc7f138863e2909c00e54a331da335faf0d81a/coverage-7.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60c458224331ee3f1a5b472773e4a085cc27a86a0b48205409d364272d67140d", size = 244809 }, - { url = "https://files.pythonhosted.org/packages/8a/65/27e0a1fa5e2e5079bdca4521be2f5dabf516f94e29a0defed35ac2382eb2/coverage-7.9.1-cp312-cp312-win32.whl", hash = "sha256:5f646a99a8c2b3ff4c6a6e081f78fad0dde275cd59f8f49dc4eab2e394332e74", size = 214724 }, - { url = "https://files.pythonhosted.org/packages/9b/a8/d5b128633fd1a5e0401a4160d02fa15986209a9e47717174f99dc2f7166d/coverage-7.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:30f445f85c353090b83e552dcbbdad3ec84c7967e108c3ae54556ca69955563e", size = 215535 }, - { url = "https://files.pythonhosted.org/packages/a3/37/84bba9d2afabc3611f3e4325ee2c6a47cd449b580d4a606b240ce5a6f9bf/coverage-7.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:af41da5dca398d3474129c58cb2b106a5d93bbb196be0d307ac82311ca234342", size = 213904 }, - { url = "https://files.pythonhosted.org/packages/d0/a7/a027970c991ca90f24e968999f7d509332daf6b8c3533d68633930aaebac/coverage-7.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:31324f18d5969feef7344a932c32428a2d1a3e50b15a6404e97cba1cc9b2c631", size = 212358 }, - { url = "https://files.pythonhosted.org/packages/f2/48/6aaed3651ae83b231556750280682528fea8ac7f1232834573472d83e459/coverage-7.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c804506d624e8a20fb3108764c52e0eef664e29d21692afa375e0dd98dc384f", size = 212620 }, - { url = "https://files.pythonhosted.org/packages/6c/2a/f4b613f3b44d8b9f144847c89151992b2b6b79cbc506dee89ad0c35f209d/coverage-7.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef64c27bc40189f36fcc50c3fb8f16ccda73b6a0b80d9bd6e6ce4cffcd810bbd", size = 245788 }, - { url = "https://files.pythonhosted.org/packages/04/d2/de4fdc03af5e4e035ef420ed26a703c6ad3d7a07aff2e959eb84e3b19ca8/coverage-7.9.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4fe2348cc6ec372e25adec0219ee2334a68d2f5222e0cba9c0d613394e12d86", size = 243001 }, - { url = "https://files.pythonhosted.org/packages/f5/e8/eed18aa5583b0423ab7f04e34659e51101135c41cd1dcb33ac1d7013a6d6/coverage-7.9.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34ed2186fe52fcc24d4561041979a0dec69adae7bce2ae8d1c49eace13e55c43", size = 244985 }, - { url = "https://files.pythonhosted.org/packages/17/f8/ae9e5cce8885728c934eaa58ebfa8281d488ef2afa81c3dbc8ee9e6d80db/coverage-7.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:25308bd3d00d5eedd5ae7d4357161f4df743e3c0240fa773ee1b0f75e6c7c0f1", size = 245152 }, - { url = "https://files.pythonhosted.org/packages/5a/c8/272c01ae792bb3af9b30fac14d71d63371db227980682836ec388e2c57c0/coverage-7.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73e9439310f65d55a5a1e0564b48e34f5369bee943d72c88378f2d576f5a5751", size = 243123 }, - { url = "https://files.pythonhosted.org/packages/8c/d0/2819a1e3086143c094ab446e3bdf07138527a7b88cb235c488e78150ba7a/coverage-7.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37ab6be0859141b53aa89412a82454b482c81cf750de4f29223d52268a86de67", size = 244506 }, - { url = "https://files.pythonhosted.org/packages/8b/4e/9f6117b89152df7b6112f65c7a4ed1f2f5ec8e60c4be8f351d91e7acc848/coverage-7.9.1-cp313-cp313-win32.whl", hash = "sha256:64bdd969456e2d02a8b08aa047a92d269c7ac1f47e0c977675d550c9a0863643", size = 214766 }, - { url = "https://files.pythonhosted.org/packages/27/0f/4b59f7c93b52c2c4ce7387c5a4e135e49891bb3b7408dcc98fe44033bbe0/coverage-7.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:be9e3f68ca9edb897c2184ad0eee815c635565dbe7a0e7e814dc1f7cbab92c0a", size = 215568 }, - { url = "https://files.pythonhosted.org/packages/09/1e/9679826336f8c67b9c39a359352882b24a8a7aee48d4c9cad08d38d7510f/coverage-7.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:1c503289ffef1d5105d91bbb4d62cbe4b14bec4d13ca225f9c73cde9bb46207d", size = 213939 }, - { url = "https://files.pythonhosted.org/packages/bb/5b/5c6b4e7a407359a2e3b27bf9c8a7b658127975def62077d441b93a30dbe8/coverage-7.9.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0b3496922cb5f4215bf5caaef4cf12364a26b0be82e9ed6d050f3352cf2d7ef0", size = 213079 }, - { url = "https://files.pythonhosted.org/packages/a2/22/1e2e07279fd2fd97ae26c01cc2186e2258850e9ec125ae87184225662e89/coverage-7.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9565c3ab1c93310569ec0d86b017f128f027cab0b622b7af288696d7ed43a16d", size = 213299 }, - { url = "https://files.pythonhosted.org/packages/14/c0/4c5125a4b69d66b8c85986d3321520f628756cf524af810baab0790c7647/coverage-7.9.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2241ad5dbf79ae1d9c08fe52b36d03ca122fb9ac6bca0f34439e99f8327ac89f", size = 256535 }, - { url = "https://files.pythonhosted.org/packages/81/8b/e36a04889dda9960be4263e95e777e7b46f1bb4fc32202612c130a20c4da/coverage-7.9.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bb5838701ca68b10ebc0937dbd0eb81974bac54447c55cd58dea5bca8451029", size = 252756 }, - { url = "https://files.pythonhosted.org/packages/98/82/be04eff8083a09a4622ecd0e1f31a2c563dbea3ed848069e7b0445043a70/coverage-7.9.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a25f814591a8c0c5372c11ac8967f669b97444c47fd794926e175c4047ece", size = 254912 }, - { url = "https://files.pythonhosted.org/packages/0f/25/c26610a2c7f018508a5ab958e5b3202d900422cf7cdca7670b6b8ca4e8df/coverage-7.9.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2d04b16a6062516df97969f1ae7efd0de9c31eb6ebdceaa0d213b21c0ca1a683", size = 256144 }, - { url = "https://files.pythonhosted.org/packages/c5/8b/fb9425c4684066c79e863f1e6e7ecebb49e3a64d9f7f7860ef1688c56f4a/coverage-7.9.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7931b9e249edefb07cd6ae10c702788546341d5fe44db5b6108a25da4dca513f", size = 254257 }, - { url = "https://files.pythonhosted.org/packages/93/df/27b882f54157fc1131e0e215b0da3b8d608d9b8ef79a045280118a8f98fe/coverage-7.9.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52e92b01041151bf607ee858e5a56c62d4b70f4dac85b8c8cb7fb8a351ab2c10", size = 255094 }, - { url = "https://files.pythonhosted.org/packages/41/5f/cad1c3dbed8b3ee9e16fa832afe365b4e3eeab1fb6edb65ebbf745eabc92/coverage-7.9.1-cp313-cp313t-win32.whl", hash = "sha256:684e2110ed84fd1ca5f40e89aa44adf1729dc85444004111aa01866507adf363", size = 215437 }, - { url = "https://files.pythonhosted.org/packages/99/4d/fad293bf081c0e43331ca745ff63673badc20afea2104b431cdd8c278b4c/coverage-7.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:437c576979e4db840539674e68c84b3cda82bc824dd138d56bead1435f1cb5d7", size = 216605 }, - { url = "https://files.pythonhosted.org/packages/1f/56/4ee027d5965fc7fc126d7ec1187529cc30cc7d740846e1ecb5e92d31b224/coverage-7.9.1-cp313-cp313t-win_arm64.whl", hash = "sha256:18a0912944d70aaf5f399e350445738a1a20b50fbea788f640751c2ed9208b6c", size = 214392 }, - { url = "https://files.pythonhosted.org/packages/3e/e5/c723545c3fd3204ebde3b4cc4b927dce709d3b6dc577754bb57f63ca4a4a/coverage-7.9.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:db0f04118d1db74db6c9e1cb1898532c7dcc220f1d2718f058601f7c3f499514", size = 204009 }, - { url = "https://files.pythonhosted.org/packages/08/b8/7ddd1e8ba9701dea08ce22029917140e6f66a859427406579fd8d0ca7274/coverage-7.9.1-py3-none-any.whl", hash = "sha256:66b974b145aa189516b6bf2d8423e888b742517d37872f6ee4c5be0073bd9a3c", size = 204000 }, + { url = "https://files.pythonhosted.org/packages/c1/78/1c1c5ec58f16817c09cbacb39783c3655d54a221b6552f47ff5ac9297603/coverage-7.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc94d7c5e8423920787c33d811c0be67b7be83c705f001f7180c7b186dcf10ca", size = 212028, upload-time = "2025-06-13T13:00:29.293Z" }, + { url = "https://files.pythonhosted.org/packages/98/db/e91b9076f3a888e3b4ad7972ea3842297a52cc52e73fd1e529856e473510/coverage-7.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16aa0830d0c08a2c40c264cef801db8bc4fc0e1892782e45bcacbd5889270509", size = 212420, upload-time = "2025-06-13T13:00:34.027Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d0/2b3733412954576b0aea0a16c3b6b8fbe95eb975d8bfa10b07359ead4252/coverage-7.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf95981b126f23db63e9dbe4cf65bd71f9a6305696fa5e2262693bc4e2183f5b", size = 241529, upload-time = "2025-06-13T13:00:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/b3/00/5e2e5ae2e750a872226a68e984d4d3f3563cb01d1afb449a17aa819bc2c4/coverage-7.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f05031cf21699785cd47cb7485f67df619e7bcdae38e0fde40d23d3d0210d3c3", size = 239403, upload-time = "2025-06-13T13:00:37.399Z" }, + { url = "https://files.pythonhosted.org/packages/37/3b/a2c27736035156b0a7c20683afe7df498480c0dfdf503b8c878a21b6d7fb/coverage-7.9.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb4fbcab8764dc072cb651a4bcda4d11fb5658a1d8d68842a862a6610bd8cfa3", size = 240548, upload-time = "2025-06-13T13:00:39.647Z" }, + { url = "https://files.pythonhosted.org/packages/98/f5/13d5fc074c3c0e0dc80422d9535814abf190f1254d7c3451590dc4f8b18c/coverage-7.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16649a7330ec307942ed27d06ee7e7a38417144620bb3d6e9a18ded8a2d3e5", size = 240459, upload-time = "2025-06-13T13:00:40.934Z" }, + { url = "https://files.pythonhosted.org/packages/36/24/24b9676ea06102df824c4a56ffd13dc9da7904478db519efa877d16527d5/coverage-7.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cea0a27a89e6432705fffc178064503508e3c0184b4f061700e771a09de58187", size = 239128, upload-time = "2025-06-13T13:00:42.343Z" }, + { url = "https://files.pythonhosted.org/packages/be/05/242b7a7d491b369ac5fee7908a6e5ba42b3030450f3ad62c645b40c23e0e/coverage-7.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e980b53a959fa53b6f05343afbd1e6f44a23ed6c23c4b4c56c6662bbb40c82ce", size = 239402, upload-time = "2025-06-13T13:00:43.634Z" }, + { url = "https://files.pythonhosted.org/packages/73/e0/4de7f87192fa65c9c8fbaeb75507e124f82396b71de1797da5602898be32/coverage-7.9.1-cp310-cp310-win32.whl", hash = "sha256:70760b4c5560be6ca70d11f8988ee6542b003f982b32f83d5ac0b72476607b70", size = 214518, upload-time = "2025-06-13T13:00:45.622Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ab/5e4e2fe458907d2a65fab62c773671cfc5ac704f1e7a9ddd91996f66e3c2/coverage-7.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a66e8f628b71f78c0e0342003d53b53101ba4e00ea8dabb799d9dba0abbbcebe", size = 215436, upload-time = "2025-06-13T13:00:47.245Z" }, + { url = "https://files.pythonhosted.org/packages/60/34/fa69372a07d0903a78ac103422ad34db72281c9fc625eba94ac1185da66f/coverage-7.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95c765060e65c692da2d2f51a9499c5e9f5cf5453aeaf1420e3fc847cc060582", size = 212146, upload-time = "2025-06-13T13:00:48.496Z" }, + { url = "https://files.pythonhosted.org/packages/27/f0/da1894915d2767f093f081c42afeba18e760f12fdd7a2f4acbe00564d767/coverage-7.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba383dc6afd5ec5b7a0d0c23d38895db0e15bcba7fb0fa8901f245267ac30d86", size = 212536, upload-time = "2025-06-13T13:00:51.535Z" }, + { url = "https://files.pythonhosted.org/packages/10/d5/3fc33b06e41e390f88eef111226a24e4504d216ab8e5d1a7089aa5a3c87a/coverage-7.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37ae0383f13cbdcf1e5e7014489b0d71cc0106458878ccde52e8a12ced4298ed", size = 245092, upload-time = "2025-06-13T13:00:52.883Z" }, + { url = "https://files.pythonhosted.org/packages/0a/39/7aa901c14977aba637b78e95800edf77f29f5a380d29768c5b66f258305b/coverage-7.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69aa417a030bf11ec46149636314c24c8d60fadb12fc0ee8f10fda0d918c879d", size = 242806, upload-time = "2025-06-13T13:00:54.571Z" }, + { url = "https://files.pythonhosted.org/packages/43/fc/30e5cfeaf560b1fc1989227adedc11019ce4bb7cce59d65db34fe0c2d963/coverage-7.9.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a4be2a28656afe279b34d4f91c3e26eccf2f85500d4a4ff0b1f8b54bf807338", size = 244610, upload-time = "2025-06-13T13:00:56.932Z" }, + { url = "https://files.pythonhosted.org/packages/bf/15/cca62b13f39650bc87b2b92bb03bce7f0e79dd0bf2c7529e9fc7393e4d60/coverage-7.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:382e7ddd5289f140259b610e5f5c58f713d025cb2f66d0eb17e68d0a94278875", size = 244257, upload-time = "2025-06-13T13:00:58.545Z" }, + { url = "https://files.pythonhosted.org/packages/cd/1a/c0f2abe92c29e1464dbd0ff9d56cb6c88ae2b9e21becdb38bea31fcb2f6c/coverage-7.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e5532482344186c543c37bfad0ee6069e8ae4fc38d073b8bc836fc8f03c9e250", size = 242309, upload-time = "2025-06-13T13:00:59.836Z" }, + { url = "https://files.pythonhosted.org/packages/57/8d/c6fd70848bd9bf88fa90df2af5636589a8126d2170f3aade21ed53f2b67a/coverage-7.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a39d18b3f50cc121d0ce3838d32d58bd1d15dab89c910358ebefc3665712256c", size = 242898, upload-time = "2025-06-13T13:01:02.506Z" }, + { url = "https://files.pythonhosted.org/packages/c2/9e/6ca46c7bff4675f09a66fe2797cd1ad6a24f14c9c7c3b3ebe0470a6e30b8/coverage-7.9.1-cp311-cp311-win32.whl", hash = "sha256:dd24bd8d77c98557880def750782df77ab2b6885a18483dc8588792247174b32", size = 214561, upload-time = "2025-06-13T13:01:04.012Z" }, + { url = "https://files.pythonhosted.org/packages/a1/30/166978c6302010742dabcdc425fa0f938fa5a800908e39aff37a7a876a13/coverage-7.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b55ad10a35a21b8015eabddc9ba31eb590f54adc9cd39bcf09ff5349fd52125", size = 215493, upload-time = "2025-06-13T13:01:05.702Z" }, + { url = "https://files.pythonhosted.org/packages/60/07/a6d2342cd80a5be9f0eeab115bc5ebb3917b4a64c2953534273cf9bc7ae6/coverage-7.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:6ad935f0016be24c0e97fc8c40c465f9c4b85cbbe6eac48934c0dc4d2568321e", size = 213869, upload-time = "2025-06-13T13:01:09.345Z" }, + { url = "https://files.pythonhosted.org/packages/68/d9/7f66eb0a8f2fce222de7bdc2046ec41cb31fe33fb55a330037833fb88afc/coverage-7.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8de12b4b87c20de895f10567639c0797b621b22897b0af3ce4b4e204a743626", size = 212336, upload-time = "2025-06-13T13:01:10.909Z" }, + { url = "https://files.pythonhosted.org/packages/20/20/e07cb920ef3addf20f052ee3d54906e57407b6aeee3227a9c91eea38a665/coverage-7.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5add197315a054e92cee1b5f686a2bcba60c4c3e66ee3de77ace6c867bdee7cb", size = 212571, upload-time = "2025-06-13T13:01:12.518Z" }, + { url = "https://files.pythonhosted.org/packages/78/f8/96f155de7e9e248ca9c8ff1a40a521d944ba48bec65352da9be2463745bf/coverage-7.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:600a1d4106fe66f41e5d0136dfbc68fe7200a5cbe85610ddf094f8f22e1b0300", size = 246377, upload-time = "2025-06-13T13:01:14.87Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cf/1d783bd05b7bca5c10ded5f946068909372e94615a4416afadfe3f63492d/coverage-7.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a876e4c3e5a2a1715a6608906aa5a2e0475b9c0f68343c2ada98110512ab1d8", size = 243394, upload-time = "2025-06-13T13:01:16.23Z" }, + { url = "https://files.pythonhosted.org/packages/02/dd/e7b20afd35b0a1abea09fb3998e1abc9f9bd953bee548f235aebd2b11401/coverage-7.9.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81f34346dd63010453922c8e628a52ea2d2ccd73cb2487f7700ac531b247c8a5", size = 245586, upload-time = "2025-06-13T13:01:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/4e/38/b30b0006fea9d617d1cb8e43b1bc9a96af11eff42b87eb8c716cf4d37469/coverage-7.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:888f8eee13f2377ce86d44f338968eedec3291876b0b8a7289247ba52cb984cd", size = 245396, upload-time = "2025-06-13T13:01:19.164Z" }, + { url = "https://files.pythonhosted.org/packages/31/e4/4d8ec1dc826e16791f3daf1b50943e8e7e1eb70e8efa7abb03936ff48418/coverage-7.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9969ef1e69b8c8e1e70d591f91bbc37fc9a3621e447525d1602801a24ceda898", size = 243577, upload-time = "2025-06-13T13:01:22.433Z" }, + { url = "https://files.pythonhosted.org/packages/25/f4/b0e96c5c38e6e40ef465c4bc7f138863e2909c00e54a331da335faf0d81a/coverage-7.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60c458224331ee3f1a5b472773e4a085cc27a86a0b48205409d364272d67140d", size = 244809, upload-time = "2025-06-13T13:01:24.143Z" }, + { url = "https://files.pythonhosted.org/packages/8a/65/27e0a1fa5e2e5079bdca4521be2f5dabf516f94e29a0defed35ac2382eb2/coverage-7.9.1-cp312-cp312-win32.whl", hash = "sha256:5f646a99a8c2b3ff4c6a6e081f78fad0dde275cd59f8f49dc4eab2e394332e74", size = 214724, upload-time = "2025-06-13T13:01:25.435Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a8/d5b128633fd1a5e0401a4160d02fa15986209a9e47717174f99dc2f7166d/coverage-7.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:30f445f85c353090b83e552dcbbdad3ec84c7967e108c3ae54556ca69955563e", size = 215535, upload-time = "2025-06-13T13:01:27.861Z" }, + { url = "https://files.pythonhosted.org/packages/a3/37/84bba9d2afabc3611f3e4325ee2c6a47cd449b580d4a606b240ce5a6f9bf/coverage-7.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:af41da5dca398d3474129c58cb2b106a5d93bbb196be0d307ac82311ca234342", size = 213904, upload-time = "2025-06-13T13:01:29.202Z" }, + { url = "https://files.pythonhosted.org/packages/d0/a7/a027970c991ca90f24e968999f7d509332daf6b8c3533d68633930aaebac/coverage-7.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:31324f18d5969feef7344a932c32428a2d1a3e50b15a6404e97cba1cc9b2c631", size = 212358, upload-time = "2025-06-13T13:01:30.909Z" }, + { url = "https://files.pythonhosted.org/packages/f2/48/6aaed3651ae83b231556750280682528fea8ac7f1232834573472d83e459/coverage-7.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c804506d624e8a20fb3108764c52e0eef664e29d21692afa375e0dd98dc384f", size = 212620, upload-time = "2025-06-13T13:01:32.256Z" }, + { url = "https://files.pythonhosted.org/packages/6c/2a/f4b613f3b44d8b9f144847c89151992b2b6b79cbc506dee89ad0c35f209d/coverage-7.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef64c27bc40189f36fcc50c3fb8f16ccda73b6a0b80d9bd6e6ce4cffcd810bbd", size = 245788, upload-time = "2025-06-13T13:01:33.948Z" }, + { url = "https://files.pythonhosted.org/packages/04/d2/de4fdc03af5e4e035ef420ed26a703c6ad3d7a07aff2e959eb84e3b19ca8/coverage-7.9.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4fe2348cc6ec372e25adec0219ee2334a68d2f5222e0cba9c0d613394e12d86", size = 243001, upload-time = "2025-06-13T13:01:35.285Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e8/eed18aa5583b0423ab7f04e34659e51101135c41cd1dcb33ac1d7013a6d6/coverage-7.9.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34ed2186fe52fcc24d4561041979a0dec69adae7bce2ae8d1c49eace13e55c43", size = 244985, upload-time = "2025-06-13T13:01:36.712Z" }, + { url = "https://files.pythonhosted.org/packages/17/f8/ae9e5cce8885728c934eaa58ebfa8281d488ef2afa81c3dbc8ee9e6d80db/coverage-7.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:25308bd3d00d5eedd5ae7d4357161f4df743e3c0240fa773ee1b0f75e6c7c0f1", size = 245152, upload-time = "2025-06-13T13:01:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c8/272c01ae792bb3af9b30fac14d71d63371db227980682836ec388e2c57c0/coverage-7.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73e9439310f65d55a5a1e0564b48e34f5369bee943d72c88378f2d576f5a5751", size = 243123, upload-time = "2025-06-13T13:01:40.727Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d0/2819a1e3086143c094ab446e3bdf07138527a7b88cb235c488e78150ba7a/coverage-7.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37ab6be0859141b53aa89412a82454b482c81cf750de4f29223d52268a86de67", size = 244506, upload-time = "2025-06-13T13:01:42.184Z" }, + { url = "https://files.pythonhosted.org/packages/8b/4e/9f6117b89152df7b6112f65c7a4ed1f2f5ec8e60c4be8f351d91e7acc848/coverage-7.9.1-cp313-cp313-win32.whl", hash = "sha256:64bdd969456e2d02a8b08aa047a92d269c7ac1f47e0c977675d550c9a0863643", size = 214766, upload-time = "2025-06-13T13:01:44.482Z" }, + { url = "https://files.pythonhosted.org/packages/27/0f/4b59f7c93b52c2c4ce7387c5a4e135e49891bb3b7408dcc98fe44033bbe0/coverage-7.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:be9e3f68ca9edb897c2184ad0eee815c635565dbe7a0e7e814dc1f7cbab92c0a", size = 215568, upload-time = "2025-06-13T13:01:45.772Z" }, + { url = "https://files.pythonhosted.org/packages/09/1e/9679826336f8c67b9c39a359352882b24a8a7aee48d4c9cad08d38d7510f/coverage-7.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:1c503289ffef1d5105d91bbb4d62cbe4b14bec4d13ca225f9c73cde9bb46207d", size = 213939, upload-time = "2025-06-13T13:01:47.087Z" }, + { url = "https://files.pythonhosted.org/packages/bb/5b/5c6b4e7a407359a2e3b27bf9c8a7b658127975def62077d441b93a30dbe8/coverage-7.9.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0b3496922cb5f4215bf5caaef4cf12364a26b0be82e9ed6d050f3352cf2d7ef0", size = 213079, upload-time = "2025-06-13T13:01:48.554Z" }, + { url = "https://files.pythonhosted.org/packages/a2/22/1e2e07279fd2fd97ae26c01cc2186e2258850e9ec125ae87184225662e89/coverage-7.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9565c3ab1c93310569ec0d86b017f128f027cab0b622b7af288696d7ed43a16d", size = 213299, upload-time = "2025-06-13T13:01:49.997Z" }, + { url = "https://files.pythonhosted.org/packages/14/c0/4c5125a4b69d66b8c85986d3321520f628756cf524af810baab0790c7647/coverage-7.9.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2241ad5dbf79ae1d9c08fe52b36d03ca122fb9ac6bca0f34439e99f8327ac89f", size = 256535, upload-time = "2025-06-13T13:01:51.314Z" }, + { url = "https://files.pythonhosted.org/packages/81/8b/e36a04889dda9960be4263e95e777e7b46f1bb4fc32202612c130a20c4da/coverage-7.9.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bb5838701ca68b10ebc0937dbd0eb81974bac54447c55cd58dea5bca8451029", size = 252756, upload-time = "2025-06-13T13:01:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/98/82/be04eff8083a09a4622ecd0e1f31a2c563dbea3ed848069e7b0445043a70/coverage-7.9.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a25f814591a8c0c5372c11ac8967f669b97444c47fd794926e175c4047ece", size = 254912, upload-time = "2025-06-13T13:01:56.769Z" }, + { url = "https://files.pythonhosted.org/packages/0f/25/c26610a2c7f018508a5ab958e5b3202d900422cf7cdca7670b6b8ca4e8df/coverage-7.9.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2d04b16a6062516df97969f1ae7efd0de9c31eb6ebdceaa0d213b21c0ca1a683", size = 256144, upload-time = "2025-06-13T13:01:58.19Z" }, + { url = "https://files.pythonhosted.org/packages/c5/8b/fb9425c4684066c79e863f1e6e7ecebb49e3a64d9f7f7860ef1688c56f4a/coverage-7.9.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7931b9e249edefb07cd6ae10c702788546341d5fe44db5b6108a25da4dca513f", size = 254257, upload-time = "2025-06-13T13:01:59.645Z" }, + { url = "https://files.pythonhosted.org/packages/93/df/27b882f54157fc1131e0e215b0da3b8d608d9b8ef79a045280118a8f98fe/coverage-7.9.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52e92b01041151bf607ee858e5a56c62d4b70f4dac85b8c8cb7fb8a351ab2c10", size = 255094, upload-time = "2025-06-13T13:02:01.37Z" }, + { url = "https://files.pythonhosted.org/packages/41/5f/cad1c3dbed8b3ee9e16fa832afe365b4e3eeab1fb6edb65ebbf745eabc92/coverage-7.9.1-cp313-cp313t-win32.whl", hash = "sha256:684e2110ed84fd1ca5f40e89aa44adf1729dc85444004111aa01866507adf363", size = 215437, upload-time = "2025-06-13T13:02:02.905Z" }, + { url = "https://files.pythonhosted.org/packages/99/4d/fad293bf081c0e43331ca745ff63673badc20afea2104b431cdd8c278b4c/coverage-7.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:437c576979e4db840539674e68c84b3cda82bc824dd138d56bead1435f1cb5d7", size = 216605, upload-time = "2025-06-13T13:02:05.638Z" }, + { url = "https://files.pythonhosted.org/packages/1f/56/4ee027d5965fc7fc126d7ec1187529cc30cc7d740846e1ecb5e92d31b224/coverage-7.9.1-cp313-cp313t-win_arm64.whl", hash = "sha256:18a0912944d70aaf5f399e350445738a1a20b50fbea788f640751c2ed9208b6c", size = 214392, upload-time = "2025-06-13T13:02:07.642Z" }, + { url = "https://files.pythonhosted.org/packages/3e/e5/c723545c3fd3204ebde3b4cc4b927dce709d3b6dc577754bb57f63ca4a4a/coverage-7.9.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:db0f04118d1db74db6c9e1cb1898532c7dcc220f1d2718f058601f7c3f499514", size = 204009, upload-time = "2025-06-13T13:02:25.787Z" }, + { url = "https://files.pythonhosted.org/packages/08/b8/7ddd1e8ba9701dea08ce22029917140e6f66a859427406579fd8d0ca7274/coverage-7.9.1-py3-none-any.whl", hash = "sha256:66b974b145aa189516b6bf2d8423e888b742517d37872f6ee4c5be0073bd9a3c", size = 204000, upload-time = "2025-06-13T13:02:27.173Z" }, ] [[package]] name = "distro" version = "1.9.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722 } +sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277 }, + { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, ] [[package]] name = "dnspython" version = "2.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197 } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632 }, + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" }, ] [[package]] name = "docstring-parser" version = "0.16" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/08/12/9c22a58c0b1e29271051222d8906257616da84135af9ed167c9e28f85cb3/docstring_parser-0.16.tar.gz", hash = "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e", size = 26565 } +sdist = { url = "https://files.pythonhosted.org/packages/08/12/9c22a58c0b1e29271051222d8906257616da84135af9ed167c9e28f85cb3/docstring_parser-0.16.tar.gz", hash = "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e", size = 26565, upload-time = "2024-03-15T10:39:44.419Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl", hash = "sha256:bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637", size = 36533 }, + { url = "https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl", hash = "sha256:bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637", size = 36533, upload-time = "2024-03-15T10:39:41.527Z" }, ] [[package]] @@ -287,9 +292,9 @@ dependencies = [ { name = "dnspython" }, { name = "idna" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967 } +sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967, upload-time = "2024-06-20T11:30:30.034Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521 }, + { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521, upload-time = "2024-06-20T11:30:28.248Z" }, ] [[package]] @@ -299,23 +304,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749 } +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674 }, + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, ] [[package]] name = "fastapi" -version = "0.115.13" +version = "0.115.14" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pydantic" }, { name = "starlette" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/20/64/ec0788201b5554e2a87c49af26b77a4d132f807a0fa9675257ac92c6aa0e/fastapi-0.115.13.tar.gz", hash = "sha256:55d1d25c2e1e0a0a50aceb1c8705cd932def273c102bff0b1c1da88b3c6eb307", size = 295680 } +sdist = { url = "https://files.pythonhosted.org/packages/ca/53/8c38a874844a8b0fa10dd8adf3836ac154082cf88d3f22b544e9ceea0a15/fastapi-0.115.14.tar.gz", hash = "sha256:b1de15cdc1c499a4da47914db35d0e4ef8f1ce62b624e94e0e5824421df99739", size = 296263, upload-time = "2025-06-26T15:29:08.21Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/4a/e17764385382062b0edbb35a26b7cf76d71e27e456546277a42ba6545c6e/fastapi-0.115.13-py3-none-any.whl", hash = "sha256:0a0cab59afa7bab22f5eb347f8c9864b681558c278395e94035a741fc10cd865", size = 95315 }, + { url = "https://files.pythonhosted.org/packages/53/50/b1222562c6d270fea83e9c9075b8e8600b8479150a18e4516a6138b980d1/fastapi-0.115.14-py3-none-any.whl", hash = "sha256:6c0c8bf9420bd58f565e585036d971872472b4f7d3f6c73b698e10cffdefb3ca", size = 95514, upload-time = "2025-06-26T15:29:06.49Z" }, ] [package.optional-dependencies] @@ -337,9 +342,9 @@ dependencies = [ { name = "typer" }, { name = "uvicorn", extra = ["standard"] }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/73/82a5831fbbf8ed75905bacf5b2d9d3dfd6f04d6968b29fe6f72a5ae9ceb1/fastapi_cli-0.0.7.tar.gz", hash = "sha256:02b3b65956f526412515907a0793c9094abd4bfb5457b389f645b0ea6ba3605e", size = 16753 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/73/82a5831fbbf8ed75905bacf5b2d9d3dfd6f04d6968b29fe6f72a5ae9ceb1/fastapi_cli-0.0.7.tar.gz", hash = "sha256:02b3b65956f526412515907a0793c9094abd4bfb5457b389f645b0ea6ba3605e", size = 16753, upload-time = "2024-12-15T14:28:10.028Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/e6/5daefc851b514ce2287d8f5d358ae4341089185f78f3217a69d0ce3a390c/fastapi_cli-0.0.7-py3-none-any.whl", hash = "sha256:d549368ff584b2804336c61f192d86ddea080c11255f375959627911944804f4", size = 10705 }, + { url = "https://files.pythonhosted.org/packages/a1/e6/5daefc851b514ce2287d8f5d358ae4341089185f78f3217a69d0ce3a390c/fastapi_cli-0.0.7-py3-none-any.whl", hash = "sha256:d549368ff584b2804336c61f192d86ddea080c11255f375959627911944804f4", size = 10705, upload-time = "2024-12-15T14:28:06.18Z" }, ] [package.optional-dependencies] @@ -349,16 +354,16 @@ standard = [ [[package]] name = "fastapi-pagination" -version = "0.13.2" +version = "0.13.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "fastapi" }, { name = "pydantic" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/25/fc3c9ed9d99df279acdbf57da1a3a91ffceae9c087882cbe8a9cb1229b1e/fastapi_pagination-0.13.2.tar.gz", hash = "sha256:5e76f129aef706601b86114428ca3ff68715bfa3929bf4df8c7ed27561d7f661", size = 550389 } +sdist = { url = "https://files.pythonhosted.org/packages/10/4c/e98a1665b6ac2e9e4ed98450e4e0ea48108f3bc52de517d9a70cc22761c2/fastapi_pagination-0.13.3.tar.gz", hash = "sha256:40c2383aff13a3a0e4a2742dfbf004572e88458cd8f338d85f90a27e07abab4a", size = 550898, upload-time = "2025-06-25T21:22:15.287Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/cb/cf2f10d4620b31a77705226c7292f39b4a191cef3485ea42561fc2e157d9/fastapi_pagination-0.13.2-py3-none-any.whl", hash = "sha256:d2ec66ffda5cd9c1d665521f3916b16ebbb15d5010a945449292540ef70c4d9a", size = 50404 }, + { url = "https://files.pythonhosted.org/packages/bf/73/ef1ab892c2d189d8b6bd72325e9e710df6737c3b7976e12aa5749a56ea01/fastapi_pagination-0.13.3-py3-none-any.whl", hash = "sha256:e1b1cc7fa5c773c61087845ef8a73ed6b516071c057418698b9242461573f44e", size = 50986, upload-time = "2025-06-25T21:22:13.591Z" }, ] [[package]] @@ -370,14 +375,14 @@ dependencies = [ { name = "pyasn1-modules" }, { name = "rsa" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz", hash = "sha256:500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77", size = 281029 } +sdist = { url = "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz", hash = "sha256:500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77", size = 281029, upload-time = "2025-06-04T18:04:57.577Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/63/b19553b658a1692443c62bd07e5868adaa0ad746a0751ba62c59568cd45b/google_auth-2.40.3-py2.py3-none-any.whl", hash = "sha256:1370d4593e86213563547f97a92752fc658456fe4514c809544f330fed45a7ca", size = 216137 }, + { url = "https://files.pythonhosted.org/packages/17/63/b19553b658a1692443c62bd07e5868adaa0ad746a0751ba62c59568cd45b/google_auth-2.40.3-py2.py3-none-any.whl", hash = "sha256:1370d4593e86213563547f97a92752fc658456fe4514c809544f330fed45a7ca", size = 216137, upload-time = "2025-06-04T18:04:55.573Z" }, ] [[package]] name = "google-genai" -version = "1.21.1" +version = "1.22.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -389,65 +394,65 @@ dependencies = [ { name = "typing-extensions" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/49/8a/4a628e2e918f8c4a48ea778b68395b97b05b6873c6e528e78ccfb02a2c8d/google_genai-1.21.1.tar.gz", hash = "sha256:5412fde7f0b39574a4670a9a25e398824a12b3cddd632fdff66d1b9bcfdbfcb4", size = 205636 } +sdist = { url = "https://files.pythonhosted.org/packages/34/37/98742eeae25556d7558f336f9cdbb8e7276d32a5699b03cabc3ffa9f12ea/google_genai-1.22.0.tar.gz", hash = "sha256:1ece195e7be97cb94dbecce43dd88e3f4e376afd31045e54d1dd0ef272a6ee6b", size = 221720, upload-time = "2025-06-26T00:09:27.666Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/92/5c/659c2b992d631a873ae8fed612ce92af423fdc5f7d541dec7ce8f4b1789e/google_genai-1.21.1-py3-none-any.whl", hash = "sha256:fa6fa5311f9a757ce65cd528a938a0f309bb3032516015bf5b3022e63b2fc46b", size = 206388 }, + { url = "https://files.pythonhosted.org/packages/f8/fa/ad39a0457a9c3e21438062076cc216d41c4f8b414aa3d2ec481c721ca5f7/google_genai-1.22.0-py3-none-any.whl", hash = "sha256:6627bea9451775a2af78c6cb1992f5a31b90c50d64fb1f1435a385737a69fce4", size = 222848, upload-time = "2025-06-26T00:09:25.955Z" }, ] [[package]] name = "greenlet" version = "3.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c9/92/bb85bd6e80148a4d2e0c59f7c0c2891029f8fd510183afc7d8d2feeed9b6/greenlet-3.2.3.tar.gz", hash = "sha256:8b0dd8ae4c0d6f5e54ee55ba935eeb3d735a9b58a8a1e5b5cbab64e01a39f365", size = 185752 } +sdist = { url = "https://files.pythonhosted.org/packages/c9/92/bb85bd6e80148a4d2e0c59f7c0c2891029f8fd510183afc7d8d2feeed9b6/greenlet-3.2.3.tar.gz", hash = "sha256:8b0dd8ae4c0d6f5e54ee55ba935eeb3d735a9b58a8a1e5b5cbab64e01a39f365", size = 185752, upload-time = "2025-06-05T16:16:09.955Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/92/db/b4c12cff13ebac2786f4f217f06588bccd8b53d260453404ef22b121fc3a/greenlet-3.2.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:1afd685acd5597349ee6d7a88a8bec83ce13c106ac78c196ee9dde7c04fe87be", size = 268977 }, - { url = "https://files.pythonhosted.org/packages/52/61/75b4abd8147f13f70986df2801bf93735c1bd87ea780d70e3b3ecda8c165/greenlet-3.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:761917cac215c61e9dc7324b2606107b3b292a8349bdebb31503ab4de3f559ac", size = 627351 }, - { url = "https://files.pythonhosted.org/packages/35/aa/6894ae299d059d26254779a5088632874b80ee8cf89a88bca00b0709d22f/greenlet-3.2.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:a433dbc54e4a37e4fff90ef34f25a8c00aed99b06856f0119dcf09fbafa16392", size = 638599 }, - { url = "https://files.pythonhosted.org/packages/30/64/e01a8261d13c47f3c082519a5e9dbf9e143cc0498ed20c911d04e54d526c/greenlet-3.2.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:72e77ed69312bab0434d7292316d5afd6896192ac4327d44f3d613ecb85b037c", size = 634482 }, - { url = "https://files.pythonhosted.org/packages/47/48/ff9ca8ba9772d083a4f5221f7b4f0ebe8978131a9ae0909cf202f94cd879/greenlet-3.2.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:68671180e3849b963649254a882cd544a3c75bfcd2c527346ad8bb53494444db", size = 633284 }, - { url = "https://files.pythonhosted.org/packages/e9/45/626e974948713bc15775b696adb3eb0bd708bec267d6d2d5c47bb47a6119/greenlet-3.2.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49c8cfb18fb419b3d08e011228ef8a25882397f3a859b9fe1436946140b6756b", size = 582206 }, - { url = "https://files.pythonhosted.org/packages/b1/8e/8b6f42c67d5df7db35b8c55c9a850ea045219741bb14416255616808c690/greenlet-3.2.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:efc6dc8a792243c31f2f5674b670b3a95d46fa1c6a912b8e310d6f542e7b0712", size = 1111412 }, - { url = "https://files.pythonhosted.org/packages/05/46/ab58828217349500a7ebb81159d52ca357da747ff1797c29c6023d79d798/greenlet-3.2.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:731e154aba8e757aedd0781d4b240f1225b075b4409f1bb83b05ff410582cf00", size = 1135054 }, - { url = "https://files.pythonhosted.org/packages/68/7f/d1b537be5080721c0f0089a8447d4ef72839039cdb743bdd8ffd23046e9a/greenlet-3.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:96c20252c2f792defe9a115d3287e14811036d51e78b3aaddbee23b69b216302", size = 296573 }, - { url = "https://files.pythonhosted.org/packages/fc/2e/d4fcb2978f826358b673f779f78fa8a32ee37df11920dc2bb5589cbeecef/greenlet-3.2.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:784ae58bba89fa1fa5733d170d42486580cab9decda3484779f4759345b29822", size = 270219 }, - { url = "https://files.pythonhosted.org/packages/16/24/929f853e0202130e4fe163bc1d05a671ce8dcd604f790e14896adac43a52/greenlet-3.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0921ac4ea42a5315d3446120ad48f90c3a6b9bb93dd9b3cf4e4d84a66e42de83", size = 630383 }, - { url = "https://files.pythonhosted.org/packages/d1/b2/0320715eb61ae70c25ceca2f1d5ae620477d246692d9cc284c13242ec31c/greenlet-3.2.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:d2971d93bb99e05f8c2c0c2f4aa9484a18d98c4c3bd3c62b65b7e6ae33dfcfaf", size = 642422 }, - { url = "https://files.pythonhosted.org/packages/bd/49/445fd1a210f4747fedf77615d941444349c6a3a4a1135bba9701337cd966/greenlet-3.2.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c667c0bf9d406b77a15c924ef3285e1e05250948001220368e039b6aa5b5034b", size = 638375 }, - { url = "https://files.pythonhosted.org/packages/7e/c8/ca19760cf6eae75fa8dc32b487e963d863b3ee04a7637da77b616703bc37/greenlet-3.2.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:592c12fb1165be74592f5de0d70f82bc5ba552ac44800d632214b76089945147", size = 637627 }, - { url = "https://files.pythonhosted.org/packages/65/89/77acf9e3da38e9bcfca881e43b02ed467c1dedc387021fc4d9bd9928afb8/greenlet-3.2.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29e184536ba333003540790ba29829ac14bb645514fbd7e32af331e8202a62a5", size = 585502 }, - { url = "https://files.pythonhosted.org/packages/97/c6/ae244d7c95b23b7130136e07a9cc5aadd60d59b5951180dc7dc7e8edaba7/greenlet-3.2.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:93c0bb79844a367782ec4f429d07589417052e621aa39a5ac1fb99c5aa308edc", size = 1114498 }, - { url = "https://files.pythonhosted.org/packages/89/5f/b16dec0cbfd3070658e0d744487919740c6d45eb90946f6787689a7efbce/greenlet-3.2.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:751261fc5ad7b6705f5f76726567375bb2104a059454e0226e1eef6c756748ba", size = 1139977 }, - { url = "https://files.pythonhosted.org/packages/66/77/d48fb441b5a71125bcac042fc5b1494c806ccb9a1432ecaa421e72157f77/greenlet-3.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:83a8761c75312361aa2b5b903b79da97f13f556164a7dd2d5448655425bd4c34", size = 297017 }, - { url = "https://files.pythonhosted.org/packages/f3/94/ad0d435f7c48debe960c53b8f60fb41c2026b1d0fa4a99a1cb17c3461e09/greenlet-3.2.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:25ad29caed5783d4bd7a85c9251c651696164622494c00802a139c00d639242d", size = 271992 }, - { url = "https://files.pythonhosted.org/packages/93/5d/7c27cf4d003d6e77749d299c7c8f5fd50b4f251647b5c2e97e1f20da0ab5/greenlet-3.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88cd97bf37fe24a6710ec6a3a7799f3f81d9cd33317dcf565ff9950c83f55e0b", size = 638820 }, - { url = "https://files.pythonhosted.org/packages/c6/7e/807e1e9be07a125bb4c169144937910bf59b9d2f6d931578e57f0bce0ae2/greenlet-3.2.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:baeedccca94880d2f5666b4fa16fc20ef50ba1ee353ee2d7092b383a243b0b0d", size = 653046 }, - { url = "https://files.pythonhosted.org/packages/9d/ab/158c1a4ea1068bdbc78dba5a3de57e4c7aeb4e7fa034320ea94c688bfb61/greenlet-3.2.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:be52af4b6292baecfa0f397f3edb3c6092ce071b499dd6fe292c9ac9f2c8f264", size = 647701 }, - { url = "https://files.pythonhosted.org/packages/cc/0d/93729068259b550d6a0288da4ff72b86ed05626eaf1eb7c0d3466a2571de/greenlet-3.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0cc73378150b8b78b0c9fe2ce56e166695e67478550769536a6742dca3651688", size = 649747 }, - { url = "https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb", size = 605461 }, - { url = "https://files.pythonhosted.org/packages/98/82/d022cf25ca39cf1200650fc58c52af32c90f80479c25d1cbf57980ec3065/greenlet-3.2.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:419e60f80709510c343c57b4bb5a339d8767bf9aef9b8ce43f4f143240f88b7c", size = 1121190 }, - { url = "https://files.pythonhosted.org/packages/f5/e1/25297f70717abe8104c20ecf7af0a5b82d2f5a980eb1ac79f65654799f9f/greenlet-3.2.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:93d48533fade144203816783373f27a97e4193177ebaaf0fc396db19e5d61163", size = 1149055 }, - { url = "https://files.pythonhosted.org/packages/1f/8f/8f9e56c5e82eb2c26e8cde787962e66494312dc8cb261c460e1f3a9c88bc/greenlet-3.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:7454d37c740bb27bdeddfc3f358f26956a07d5220818ceb467a483197d84f849", size = 297817 }, - { url = "https://files.pythonhosted.org/packages/b1/cf/f5c0b23309070ae93de75c90d29300751a5aacefc0a3ed1b1d8edb28f08b/greenlet-3.2.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:500b8689aa9dd1ab26872a34084503aeddefcb438e2e7317b89b11eaea1901ad", size = 270732 }, - { url = "https://files.pythonhosted.org/packages/48/ae/91a957ba60482d3fecf9be49bc3948f341d706b52ddb9d83a70d42abd498/greenlet-3.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a07d3472c2a93117af3b0136f246b2833fdc0b542d4a9799ae5f41c28323faef", size = 639033 }, - { url = "https://files.pythonhosted.org/packages/6f/df/20ffa66dd5a7a7beffa6451bdb7400d66251374ab40b99981478c69a67a8/greenlet-3.2.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:8704b3768d2f51150626962f4b9a9e4a17d2e37c8a8d9867bbd9fa4eb938d3b3", size = 652999 }, - { url = "https://files.pythonhosted.org/packages/51/b4/ebb2c8cb41e521f1d72bf0465f2f9a2fd803f674a88db228887e6847077e/greenlet-3.2.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5035d77a27b7c62db6cf41cf786cfe2242644a7a337a0e155c80960598baab95", size = 647368 }, - { url = "https://files.pythonhosted.org/packages/8e/6a/1e1b5aa10dced4ae876a322155705257748108b7fd2e4fae3f2a091fe81a/greenlet-3.2.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2d8aa5423cd4a396792f6d4580f88bdc6efcb9205891c9d40d20f6e670992efb", size = 650037 }, - { url = "https://files.pythonhosted.org/packages/26/f2/ad51331a157c7015c675702e2d5230c243695c788f8f75feba1af32b3617/greenlet-3.2.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2c724620a101f8170065d7dded3f962a2aea7a7dae133a009cada42847e04a7b", size = 608402 }, - { url = "https://files.pythonhosted.org/packages/26/bc/862bd2083e6b3aff23300900a956f4ea9a4059de337f5c8734346b9b34fc/greenlet-3.2.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:873abe55f134c48e1f2a6f53f7d1419192a3d1a4e873bace00499a4e45ea6af0", size = 1119577 }, - { url = "https://files.pythonhosted.org/packages/86/94/1fc0cc068cfde885170e01de40a619b00eaa8f2916bf3541744730ffb4c3/greenlet-3.2.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:024571bbce5f2c1cfff08bf3fbaa43bbc7444f580ae13b0099e95d0e6e67ed36", size = 1147121 }, - { url = "https://files.pythonhosted.org/packages/27/1a/199f9587e8cb08a0658f9c30f3799244307614148ffe8b1e3aa22f324dea/greenlet-3.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5195fb1e75e592dd04ce79881c8a22becdfa3e6f500e7feb059b1e6fdd54d3e3", size = 297603 }, - { url = "https://files.pythonhosted.org/packages/d8/ca/accd7aa5280eb92b70ed9e8f7fd79dc50a2c21d8c73b9a0856f5b564e222/greenlet-3.2.3-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:3d04332dddb10b4a211b68111dabaee2e1a073663d117dc10247b5b1642bac86", size = 271479 }, - { url = "https://files.pythonhosted.org/packages/55/71/01ed9895d9eb49223280ecc98a557585edfa56b3d0e965b9fa9f7f06b6d9/greenlet-3.2.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8186162dffde068a465deab08fc72c767196895c39db26ab1c17c0b77a6d8b97", size = 683952 }, - { url = "https://files.pythonhosted.org/packages/ea/61/638c4bdf460c3c678a0a1ef4c200f347dff80719597e53b5edb2fb27ab54/greenlet-3.2.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f4bfbaa6096b1b7a200024784217defedf46a07c2eee1a498e94a1b5f8ec5728", size = 696917 }, - { url = "https://files.pythonhosted.org/packages/22/cc/0bd1a7eb759d1f3e3cc2d1bc0f0b487ad3cc9f34d74da4b80f226fde4ec3/greenlet-3.2.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:ed6cfa9200484d234d8394c70f5492f144b20d4533f69262d530a1a082f6ee9a", size = 692443 }, - { url = "https://files.pythonhosted.org/packages/67/10/b2a4b63d3f08362662e89c103f7fe28894a51ae0bc890fabf37d1d780e52/greenlet-3.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:02b0df6f63cd15012bed5401b47829cfd2e97052dc89da3cfaf2c779124eb892", size = 692995 }, - { url = "https://files.pythonhosted.org/packages/5a/c6/ad82f148a4e3ce9564056453a71529732baf5448ad53fc323e37efe34f66/greenlet-3.2.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:86c2d68e87107c1792e2e8d5399acec2487a4e993ab76c792408e59394d52141", size = 655320 }, - { url = "https://files.pythonhosted.org/packages/5c/4f/aab73ecaa6b3086a4c89863d94cf26fa84cbff63f52ce9bc4342b3087a06/greenlet-3.2.3-cp314-cp314-win_amd64.whl", hash = "sha256:8c47aae8fbbfcf82cc13327ae802ba13c9c36753b67e760023fd116bc124a62a", size = 301236 }, + { url = "https://files.pythonhosted.org/packages/92/db/b4c12cff13ebac2786f4f217f06588bccd8b53d260453404ef22b121fc3a/greenlet-3.2.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:1afd685acd5597349ee6d7a88a8bec83ce13c106ac78c196ee9dde7c04fe87be", size = 268977, upload-time = "2025-06-05T16:10:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/52/61/75b4abd8147f13f70986df2801bf93735c1bd87ea780d70e3b3ecda8c165/greenlet-3.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:761917cac215c61e9dc7324b2606107b3b292a8349bdebb31503ab4de3f559ac", size = 627351, upload-time = "2025-06-05T16:38:50.685Z" }, + { url = "https://files.pythonhosted.org/packages/35/aa/6894ae299d059d26254779a5088632874b80ee8cf89a88bca00b0709d22f/greenlet-3.2.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:a433dbc54e4a37e4fff90ef34f25a8c00aed99b06856f0119dcf09fbafa16392", size = 638599, upload-time = "2025-06-05T16:41:34.057Z" }, + { url = "https://files.pythonhosted.org/packages/30/64/e01a8261d13c47f3c082519a5e9dbf9e143cc0498ed20c911d04e54d526c/greenlet-3.2.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:72e77ed69312bab0434d7292316d5afd6896192ac4327d44f3d613ecb85b037c", size = 634482, upload-time = "2025-06-05T16:48:16.26Z" }, + { url = "https://files.pythonhosted.org/packages/47/48/ff9ca8ba9772d083a4f5221f7b4f0ebe8978131a9ae0909cf202f94cd879/greenlet-3.2.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:68671180e3849b963649254a882cd544a3c75bfcd2c527346ad8bb53494444db", size = 633284, upload-time = "2025-06-05T16:13:01.599Z" }, + { url = "https://files.pythonhosted.org/packages/e9/45/626e974948713bc15775b696adb3eb0bd708bec267d6d2d5c47bb47a6119/greenlet-3.2.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49c8cfb18fb419b3d08e011228ef8a25882397f3a859b9fe1436946140b6756b", size = 582206, upload-time = "2025-06-05T16:12:48.51Z" }, + { url = "https://files.pythonhosted.org/packages/b1/8e/8b6f42c67d5df7db35b8c55c9a850ea045219741bb14416255616808c690/greenlet-3.2.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:efc6dc8a792243c31f2f5674b670b3a95d46fa1c6a912b8e310d6f542e7b0712", size = 1111412, upload-time = "2025-06-05T16:36:45.479Z" }, + { url = "https://files.pythonhosted.org/packages/05/46/ab58828217349500a7ebb81159d52ca357da747ff1797c29c6023d79d798/greenlet-3.2.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:731e154aba8e757aedd0781d4b240f1225b075b4409f1bb83b05ff410582cf00", size = 1135054, upload-time = "2025-06-05T16:12:36.478Z" }, + { url = "https://files.pythonhosted.org/packages/68/7f/d1b537be5080721c0f0089a8447d4ef72839039cdb743bdd8ffd23046e9a/greenlet-3.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:96c20252c2f792defe9a115d3287e14811036d51e78b3aaddbee23b69b216302", size = 296573, upload-time = "2025-06-05T16:34:26.521Z" }, + { url = "https://files.pythonhosted.org/packages/fc/2e/d4fcb2978f826358b673f779f78fa8a32ee37df11920dc2bb5589cbeecef/greenlet-3.2.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:784ae58bba89fa1fa5733d170d42486580cab9decda3484779f4759345b29822", size = 270219, upload-time = "2025-06-05T16:10:10.414Z" }, + { url = "https://files.pythonhosted.org/packages/16/24/929f853e0202130e4fe163bc1d05a671ce8dcd604f790e14896adac43a52/greenlet-3.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0921ac4ea42a5315d3446120ad48f90c3a6b9bb93dd9b3cf4e4d84a66e42de83", size = 630383, upload-time = "2025-06-05T16:38:51.785Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b2/0320715eb61ae70c25ceca2f1d5ae620477d246692d9cc284c13242ec31c/greenlet-3.2.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:d2971d93bb99e05f8c2c0c2f4aa9484a18d98c4c3bd3c62b65b7e6ae33dfcfaf", size = 642422, upload-time = "2025-06-05T16:41:35.259Z" }, + { url = "https://files.pythonhosted.org/packages/bd/49/445fd1a210f4747fedf77615d941444349c6a3a4a1135bba9701337cd966/greenlet-3.2.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c667c0bf9d406b77a15c924ef3285e1e05250948001220368e039b6aa5b5034b", size = 638375, upload-time = "2025-06-05T16:48:18.235Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c8/ca19760cf6eae75fa8dc32b487e963d863b3ee04a7637da77b616703bc37/greenlet-3.2.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:592c12fb1165be74592f5de0d70f82bc5ba552ac44800d632214b76089945147", size = 637627, upload-time = "2025-06-05T16:13:02.858Z" }, + { url = "https://files.pythonhosted.org/packages/65/89/77acf9e3da38e9bcfca881e43b02ed467c1dedc387021fc4d9bd9928afb8/greenlet-3.2.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29e184536ba333003540790ba29829ac14bb645514fbd7e32af331e8202a62a5", size = 585502, upload-time = "2025-06-05T16:12:49.642Z" }, + { url = "https://files.pythonhosted.org/packages/97/c6/ae244d7c95b23b7130136e07a9cc5aadd60d59b5951180dc7dc7e8edaba7/greenlet-3.2.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:93c0bb79844a367782ec4f429d07589417052e621aa39a5ac1fb99c5aa308edc", size = 1114498, upload-time = "2025-06-05T16:36:46.598Z" }, + { url = "https://files.pythonhosted.org/packages/89/5f/b16dec0cbfd3070658e0d744487919740c6d45eb90946f6787689a7efbce/greenlet-3.2.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:751261fc5ad7b6705f5f76726567375bb2104a059454e0226e1eef6c756748ba", size = 1139977, upload-time = "2025-06-05T16:12:38.262Z" }, + { url = "https://files.pythonhosted.org/packages/66/77/d48fb441b5a71125bcac042fc5b1494c806ccb9a1432ecaa421e72157f77/greenlet-3.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:83a8761c75312361aa2b5b903b79da97f13f556164a7dd2d5448655425bd4c34", size = 297017, upload-time = "2025-06-05T16:25:05.225Z" }, + { url = "https://files.pythonhosted.org/packages/f3/94/ad0d435f7c48debe960c53b8f60fb41c2026b1d0fa4a99a1cb17c3461e09/greenlet-3.2.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:25ad29caed5783d4bd7a85c9251c651696164622494c00802a139c00d639242d", size = 271992, upload-time = "2025-06-05T16:11:23.467Z" }, + { url = "https://files.pythonhosted.org/packages/93/5d/7c27cf4d003d6e77749d299c7c8f5fd50b4f251647b5c2e97e1f20da0ab5/greenlet-3.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88cd97bf37fe24a6710ec6a3a7799f3f81d9cd33317dcf565ff9950c83f55e0b", size = 638820, upload-time = "2025-06-05T16:38:52.882Z" }, + { url = "https://files.pythonhosted.org/packages/c6/7e/807e1e9be07a125bb4c169144937910bf59b9d2f6d931578e57f0bce0ae2/greenlet-3.2.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:baeedccca94880d2f5666b4fa16fc20ef50ba1ee353ee2d7092b383a243b0b0d", size = 653046, upload-time = "2025-06-05T16:41:36.343Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ab/158c1a4ea1068bdbc78dba5a3de57e4c7aeb4e7fa034320ea94c688bfb61/greenlet-3.2.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:be52af4b6292baecfa0f397f3edb3c6092ce071b499dd6fe292c9ac9f2c8f264", size = 647701, upload-time = "2025-06-05T16:48:19.604Z" }, + { url = "https://files.pythonhosted.org/packages/cc/0d/93729068259b550d6a0288da4ff72b86ed05626eaf1eb7c0d3466a2571de/greenlet-3.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0cc73378150b8b78b0c9fe2ce56e166695e67478550769536a6742dca3651688", size = 649747, upload-time = "2025-06-05T16:13:04.628Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb", size = 605461, upload-time = "2025-06-05T16:12:50.792Z" }, + { url = "https://files.pythonhosted.org/packages/98/82/d022cf25ca39cf1200650fc58c52af32c90f80479c25d1cbf57980ec3065/greenlet-3.2.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:419e60f80709510c343c57b4bb5a339d8767bf9aef9b8ce43f4f143240f88b7c", size = 1121190, upload-time = "2025-06-05T16:36:48.59Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e1/25297f70717abe8104c20ecf7af0a5b82d2f5a980eb1ac79f65654799f9f/greenlet-3.2.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:93d48533fade144203816783373f27a97e4193177ebaaf0fc396db19e5d61163", size = 1149055, upload-time = "2025-06-05T16:12:40.457Z" }, + { url = "https://files.pythonhosted.org/packages/1f/8f/8f9e56c5e82eb2c26e8cde787962e66494312dc8cb261c460e1f3a9c88bc/greenlet-3.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:7454d37c740bb27bdeddfc3f358f26956a07d5220818ceb467a483197d84f849", size = 297817, upload-time = "2025-06-05T16:29:49.244Z" }, + { url = "https://files.pythonhosted.org/packages/b1/cf/f5c0b23309070ae93de75c90d29300751a5aacefc0a3ed1b1d8edb28f08b/greenlet-3.2.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:500b8689aa9dd1ab26872a34084503aeddefcb438e2e7317b89b11eaea1901ad", size = 270732, upload-time = "2025-06-05T16:10:08.26Z" }, + { url = "https://files.pythonhosted.org/packages/48/ae/91a957ba60482d3fecf9be49bc3948f341d706b52ddb9d83a70d42abd498/greenlet-3.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a07d3472c2a93117af3b0136f246b2833fdc0b542d4a9799ae5f41c28323faef", size = 639033, upload-time = "2025-06-05T16:38:53.983Z" }, + { url = "https://files.pythonhosted.org/packages/6f/df/20ffa66dd5a7a7beffa6451bdb7400d66251374ab40b99981478c69a67a8/greenlet-3.2.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:8704b3768d2f51150626962f4b9a9e4a17d2e37c8a8d9867bbd9fa4eb938d3b3", size = 652999, upload-time = "2025-06-05T16:41:37.89Z" }, + { url = "https://files.pythonhosted.org/packages/51/b4/ebb2c8cb41e521f1d72bf0465f2f9a2fd803f674a88db228887e6847077e/greenlet-3.2.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5035d77a27b7c62db6cf41cf786cfe2242644a7a337a0e155c80960598baab95", size = 647368, upload-time = "2025-06-05T16:48:21.467Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6a/1e1b5aa10dced4ae876a322155705257748108b7fd2e4fae3f2a091fe81a/greenlet-3.2.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2d8aa5423cd4a396792f6d4580f88bdc6efcb9205891c9d40d20f6e670992efb", size = 650037, upload-time = "2025-06-05T16:13:06.402Z" }, + { url = "https://files.pythonhosted.org/packages/26/f2/ad51331a157c7015c675702e2d5230c243695c788f8f75feba1af32b3617/greenlet-3.2.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2c724620a101f8170065d7dded3f962a2aea7a7dae133a009cada42847e04a7b", size = 608402, upload-time = "2025-06-05T16:12:51.91Z" }, + { url = "https://files.pythonhosted.org/packages/26/bc/862bd2083e6b3aff23300900a956f4ea9a4059de337f5c8734346b9b34fc/greenlet-3.2.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:873abe55f134c48e1f2a6f53f7d1419192a3d1a4e873bace00499a4e45ea6af0", size = 1119577, upload-time = "2025-06-05T16:36:49.787Z" }, + { url = "https://files.pythonhosted.org/packages/86/94/1fc0cc068cfde885170e01de40a619b00eaa8f2916bf3541744730ffb4c3/greenlet-3.2.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:024571bbce5f2c1cfff08bf3fbaa43bbc7444f580ae13b0099e95d0e6e67ed36", size = 1147121, upload-time = "2025-06-05T16:12:42.527Z" }, + { url = "https://files.pythonhosted.org/packages/27/1a/199f9587e8cb08a0658f9c30f3799244307614148ffe8b1e3aa22f324dea/greenlet-3.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5195fb1e75e592dd04ce79881c8a22becdfa3e6f500e7feb059b1e6fdd54d3e3", size = 297603, upload-time = "2025-06-05T16:20:12.651Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ca/accd7aa5280eb92b70ed9e8f7fd79dc50a2c21d8c73b9a0856f5b564e222/greenlet-3.2.3-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:3d04332dddb10b4a211b68111dabaee2e1a073663d117dc10247b5b1642bac86", size = 271479, upload-time = "2025-06-05T16:10:47.525Z" }, + { url = "https://files.pythonhosted.org/packages/55/71/01ed9895d9eb49223280ecc98a557585edfa56b3d0e965b9fa9f7f06b6d9/greenlet-3.2.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8186162dffde068a465deab08fc72c767196895c39db26ab1c17c0b77a6d8b97", size = 683952, upload-time = "2025-06-05T16:38:55.125Z" }, + { url = "https://files.pythonhosted.org/packages/ea/61/638c4bdf460c3c678a0a1ef4c200f347dff80719597e53b5edb2fb27ab54/greenlet-3.2.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f4bfbaa6096b1b7a200024784217defedf46a07c2eee1a498e94a1b5f8ec5728", size = 696917, upload-time = "2025-06-05T16:41:38.959Z" }, + { url = "https://files.pythonhosted.org/packages/22/cc/0bd1a7eb759d1f3e3cc2d1bc0f0b487ad3cc9f34d74da4b80f226fde4ec3/greenlet-3.2.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:ed6cfa9200484d234d8394c70f5492f144b20d4533f69262d530a1a082f6ee9a", size = 692443, upload-time = "2025-06-05T16:48:23.113Z" }, + { url = "https://files.pythonhosted.org/packages/67/10/b2a4b63d3f08362662e89c103f7fe28894a51ae0bc890fabf37d1d780e52/greenlet-3.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:02b0df6f63cd15012bed5401b47829cfd2e97052dc89da3cfaf2c779124eb892", size = 692995, upload-time = "2025-06-05T16:13:07.972Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c6/ad82f148a4e3ce9564056453a71529732baf5448ad53fc323e37efe34f66/greenlet-3.2.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:86c2d68e87107c1792e2e8d5399acec2487a4e993ab76c792408e59394d52141", size = 655320, upload-time = "2025-06-05T16:12:53.453Z" }, + { url = "https://files.pythonhosted.org/packages/5c/4f/aab73ecaa6b3086a4c89863d94cf26fa84cbff63f52ce9bc4342b3087a06/greenlet-3.2.3-cp314-cp314-win_amd64.whl", hash = "sha256:8c47aae8fbbfcf82cc13327ae802ba13c9c36753b67e760023fd116bc124a62a", size = 301236, upload-time = "2025-06-05T16:15:20.111Z" }, ] [[package]] name = "groq" -version = "0.28.0" +version = "0.29.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -457,18 +462,18 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d0/7d/bb053ba75357bf5e8c33def63fb31c8b0bb86dce07759a0cd8e3232d2df9/groq-0.28.0.tar.gz", hash = "sha256:65e1cab9184cbb32380d62eca50d6162269c7ec0c77e4cc868069cfe93450f9f", size = 131730 } +sdist = { url = "https://files.pythonhosted.org/packages/8c/d6/db0c61bad6ff6a2ba7083a943c62790f37969cb337d96a5a914cd3ac4311/groq-0.29.0.tar.gz", hash = "sha256:109dc4d696c05d44e4c2cd157652c4c6600c3e96f093f6e158facb5691e37847", size = 133989, upload-time = "2025-06-25T23:40:11.508Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ac/24/20fc18d1b3e0883aeb24286ca8f26dc1970561b07d9c4412c84561bdf307/groq-0.28.0-py3-none-any.whl", hash = "sha256:c6f86638371c2cba2ca337232e76c8d412e75965ed7e3058d30c9aa5dfe84303", size = 130217 }, + { url = "https://files.pythonhosted.org/packages/a2/0b/ef7a92ec5ec23a7012975ed59ca3cef541d50a9f0d2dea947fe2723d011f/groq-0.29.0-py3-none-any.whl", hash = "sha256:03515ec46be1ef1feef0cd9d876b6f30a39ee2742e76516153d84acd7c97f23a", size = 130814, upload-time = "2025-06-25T23:40:10.391Z" }, ] [[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 } +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 }, + { 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]] @@ -550,45 +555,45 @@ 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 } +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 }, + { 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 = "httptools" version = "0.6.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639 } +sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload-time = "2024-10-16T19:45:08.902Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3b/6f/972f8eb0ea7d98a1c6be436e2142d51ad2a64ee18e02b0e7ff1f62171ab1/httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0", size = 198780 }, - { url = "https://files.pythonhosted.org/packages/6a/b0/17c672b4bc5c7ba7f201eada4e96c71d0a59fbc185e60e42580093a86f21/httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da", size = 103297 }, - { url = "https://files.pythonhosted.org/packages/92/5e/b4a826fe91971a0b68e8c2bd4e7db3e7519882f5a8ccdb1194be2b3ab98f/httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1", size = 443130 }, - { url = "https://files.pythonhosted.org/packages/b0/51/ce61e531e40289a681a463e1258fa1e05e0be54540e40d91d065a264cd8f/httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50", size = 442148 }, - { url = "https://files.pythonhosted.org/packages/ea/9e/270b7d767849b0c96f275c695d27ca76c30671f8eb8cc1bab6ced5c5e1d0/httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959", size = 415949 }, - { url = "https://files.pythonhosted.org/packages/81/86/ced96e3179c48c6f656354e106934e65c8963d48b69be78f355797f0e1b3/httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4", size = 417591 }, - { url = "https://files.pythonhosted.org/packages/75/73/187a3f620ed3175364ddb56847d7a608a6fc42d551e133197098c0143eca/httptools-0.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c", size = 88344 }, - { url = "https://files.pythonhosted.org/packages/7b/26/bb526d4d14c2774fe07113ca1db7255737ffbb119315839af2065abfdac3/httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069", size = 199029 }, - { url = "https://files.pythonhosted.org/packages/a6/17/3e0d3e9b901c732987a45f4f94d4e2c62b89a041d93db89eafb262afd8d5/httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a", size = 103492 }, - { url = "https://files.pythonhosted.org/packages/b7/24/0fe235d7b69c42423c7698d086d4db96475f9b50b6ad26a718ef27a0bce6/httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975", size = 462891 }, - { url = "https://files.pythonhosted.org/packages/b1/2f/205d1f2a190b72da6ffb5f41a3736c26d6fa7871101212b15e9b5cd8f61d/httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636", size = 459788 }, - { url = "https://files.pythonhosted.org/packages/6e/4c/d09ce0eff09057a206a74575ae8f1e1e2f0364d20e2442224f9e6612c8b9/httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721", size = 433214 }, - { url = "https://files.pythonhosted.org/packages/3e/d2/84c9e23edbccc4a4c6f96a1b8d99dfd2350289e94f00e9ccc7aadde26fb5/httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988", size = 434120 }, - { url = "https://files.pythonhosted.org/packages/d0/46/4d8e7ba9581416de1c425b8264e2cadd201eb709ec1584c381f3e98f51c1/httptools-0.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17", size = 88565 }, - { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683 }, - { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337 }, - { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796 }, - { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837 }, - { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289 }, - { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779 }, - { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634 }, - { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214 }, - { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431 }, - { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121 }, - { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805 }, - { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858 }, - { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042 }, - { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682 }, + { url = "https://files.pythonhosted.org/packages/3b/6f/972f8eb0ea7d98a1c6be436e2142d51ad2a64ee18e02b0e7ff1f62171ab1/httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0", size = 198780, upload-time = "2024-10-16T19:44:06.882Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b0/17c672b4bc5c7ba7f201eada4e96c71d0a59fbc185e60e42580093a86f21/httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da", size = 103297, upload-time = "2024-10-16T19:44:08.129Z" }, + { url = "https://files.pythonhosted.org/packages/92/5e/b4a826fe91971a0b68e8c2bd4e7db3e7519882f5a8ccdb1194be2b3ab98f/httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1", size = 443130, upload-time = "2024-10-16T19:44:09.45Z" }, + { url = "https://files.pythonhosted.org/packages/b0/51/ce61e531e40289a681a463e1258fa1e05e0be54540e40d91d065a264cd8f/httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50", size = 442148, upload-time = "2024-10-16T19:44:11.539Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/270b7d767849b0c96f275c695d27ca76c30671f8eb8cc1bab6ced5c5e1d0/httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959", size = 415949, upload-time = "2024-10-16T19:44:13.388Z" }, + { url = "https://files.pythonhosted.org/packages/81/86/ced96e3179c48c6f656354e106934e65c8963d48b69be78f355797f0e1b3/httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4", size = 417591, upload-time = "2024-10-16T19:44:15.258Z" }, + { url = "https://files.pythonhosted.org/packages/75/73/187a3f620ed3175364ddb56847d7a608a6fc42d551e133197098c0143eca/httptools-0.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c", size = 88344, upload-time = "2024-10-16T19:44:16.54Z" }, + { url = "https://files.pythonhosted.org/packages/7b/26/bb526d4d14c2774fe07113ca1db7255737ffbb119315839af2065abfdac3/httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069", size = 199029, upload-time = "2024-10-16T19:44:18.427Z" }, + { url = "https://files.pythonhosted.org/packages/a6/17/3e0d3e9b901c732987a45f4f94d4e2c62b89a041d93db89eafb262afd8d5/httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a", size = 103492, upload-time = "2024-10-16T19:44:19.515Z" }, + { url = "https://files.pythonhosted.org/packages/b7/24/0fe235d7b69c42423c7698d086d4db96475f9b50b6ad26a718ef27a0bce6/httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975", size = 462891, upload-time = "2024-10-16T19:44:21.067Z" }, + { url = "https://files.pythonhosted.org/packages/b1/2f/205d1f2a190b72da6ffb5f41a3736c26d6fa7871101212b15e9b5cd8f61d/httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636", size = 459788, upload-time = "2024-10-16T19:44:22.958Z" }, + { url = "https://files.pythonhosted.org/packages/6e/4c/d09ce0eff09057a206a74575ae8f1e1e2f0364d20e2442224f9e6612c8b9/httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721", size = 433214, upload-time = "2024-10-16T19:44:24.513Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d2/84c9e23edbccc4a4c6f96a1b8d99dfd2350289e94f00e9ccc7aadde26fb5/httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988", size = 434120, upload-time = "2024-10-16T19:44:26.295Z" }, + { url = "https://files.pythonhosted.org/packages/d0/46/4d8e7ba9581416de1c425b8264e2cadd201eb709ec1584c381f3e98f51c1/httptools-0.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17", size = 88565, upload-time = "2024-10-16T19:44:29.188Z" }, + { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683, upload-time = "2024-10-16T19:44:30.175Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337, upload-time = "2024-10-16T19:44:31.786Z" }, + { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796, upload-time = "2024-10-16T19:44:32.825Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837, upload-time = "2024-10-16T19:44:33.974Z" }, + { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289, upload-time = "2024-10-16T19:44:35.111Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779, upload-time = "2024-10-16T19:44:36.253Z" }, + { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634, upload-time = "2024-10-16T19:44:37.357Z" }, + { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214, upload-time = "2024-10-16T19:44:38.738Z" }, + { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431, upload-time = "2024-10-16T19:44:39.818Z" }, + { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121, upload-time = "2024-10-16T19:44:41.189Z" }, + { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805, upload-time = "2024-10-16T19:44:42.384Z" }, + { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858, upload-time = "2024-10-16T19:44:43.959Z" }, + { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042, upload-time = "2024-10-16T19:44:45.071Z" }, + { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682, upload-time = "2024-10-16T19:44:46.46Z" }, ] [[package]] @@ -601,27 +606,27 @@ dependencies = [ { 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 } +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 }, + { 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 = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] name = "iniconfig" version = "2.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, ] [[package]] @@ -636,9 +641,9 @@ dependencies = [ { name = "tabulate" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8b/22/74f7fcc96280eea46cf2bcbfa1354ac31de0e60a4be6f7966f12cef20893/interrogate-1.7.0.tar.gz", hash = "sha256:a320d6ec644dfd887cc58247a345054fc4d9f981100c45184470068f4b3719b0", size = 159636 } +sdist = { url = "https://files.pythonhosted.org/packages/8b/22/74f7fcc96280eea46cf2bcbfa1354ac31de0e60a4be6f7966f12cef20893/interrogate-1.7.0.tar.gz", hash = "sha256:a320d6ec644dfd887cc58247a345054fc4d9f981100c45184470068f4b3719b0", size = 159636, upload-time = "2024-04-07T22:30:46.217Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/12/c9/6869a1dcf4aaf309b9543ec070be3ec3adebee7c9bec9af8c230494134b9/interrogate-1.7.0-py3-none-any.whl", hash = "sha256:b13ff4dd8403369670e2efe684066de9fcb868ad9d7f2b4095d8112142dc9d12", size = 46982 }, + { url = "https://files.pythonhosted.org/packages/12/c9/6869a1dcf4aaf309b9543ec070be3ec3adebee7c9bec9af8c230494134b9/interrogate-1.7.0-py3-none-any.whl", hash = "sha256:b13ff4dd8403369670e2efe684066de9fcb868ad9d7f2b4095d8112142dc9d12", size = 46982, upload-time = "2024-04-07T22:30:44.277Z" }, ] [[package]] @@ -648,81 +653,81 @@ 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 } +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 }, + { 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 = "jiter" version = "0.10.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759 } +sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload-time = "2025-05-18T19:04:59.73Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/7e/4011b5c77bec97cb2b572f566220364e3e21b51c48c5bd9c4a9c26b41b67/jiter-0.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2fb72b02478f06a900a5782de2ef47e0396b3e1f7d5aba30daeb1fce66f303", size = 317215 }, - { url = "https://files.pythonhosted.org/packages/8a/4f/144c1b57c39692efc7ea7d8e247acf28e47d0912800b34d0ad815f6b2824/jiter-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32bb468e3af278f095d3fa5b90314728a6916d89ba3d0ffb726dd9bf7367285e", size = 322814 }, - { url = "https://files.pythonhosted.org/packages/63/1f/db977336d332a9406c0b1f0b82be6f71f72526a806cbb2281baf201d38e3/jiter-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8b3e0068c26ddedc7abc6fac37da2d0af16b921e288a5a613f4b86f050354f", size = 345237 }, - { url = "https://files.pythonhosted.org/packages/d7/1c/aa30a4a775e8a672ad7f21532bdbfb269f0706b39c6ff14e1f86bdd9e5ff/jiter-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:286299b74cc49e25cd42eea19b72aa82c515d2f2ee12d11392c56d8701f52224", size = 370999 }, - { url = "https://files.pythonhosted.org/packages/35/df/f8257abc4207830cb18880781b5f5b716bad5b2a22fb4330cfd357407c5b/jiter-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ed5649ceeaeffc28d87fb012d25a4cd356dcd53eff5acff1f0466b831dda2a7", size = 491109 }, - { url = "https://files.pythonhosted.org/packages/06/76/9e1516fd7b4278aa13a2cc7f159e56befbea9aa65c71586305e7afa8b0b3/jiter-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2ab0051160cb758a70716448908ef14ad476c3774bd03ddce075f3c1f90a3d6", size = 388608 }, - { url = "https://files.pythonhosted.org/packages/6d/64/67750672b4354ca20ca18d3d1ccf2c62a072e8a2d452ac3cf8ced73571ef/jiter-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03997d2f37f6b67d2f5c475da4412be584e1cec273c1cfc03d642c46db43f8cf", size = 352454 }, - { url = "https://files.pythonhosted.org/packages/96/4d/5c4e36d48f169a54b53a305114be3efa2bbffd33b648cd1478a688f639c1/jiter-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c404a99352d839fed80d6afd6c1d66071f3bacaaa5c4268983fc10f769112e90", size = 391833 }, - { url = "https://files.pythonhosted.org/packages/0b/de/ce4a6166a78810bd83763d2fa13f85f73cbd3743a325469a4a9289af6dae/jiter-0.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66e989410b6666d3ddb27a74c7e50d0829704ede652fd4c858e91f8d64b403d0", size = 523646 }, - { url = "https://files.pythonhosted.org/packages/a2/a6/3bc9acce53466972964cf4ad85efecb94f9244539ab6da1107f7aed82934/jiter-0.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b532d3af9ef4f6374609a3bcb5e05a1951d3bf6190dc6b176fdb277c9bbf15ee", size = 514735 }, - { url = "https://files.pythonhosted.org/packages/b4/d8/243c2ab8426a2a4dea85ba2a2ba43df379ccece2145320dfd4799b9633c5/jiter-0.10.0-cp310-cp310-win32.whl", hash = "sha256:da9be20b333970e28b72edc4dff63d4fec3398e05770fb3205f7fb460eb48dd4", size = 210747 }, - { url = "https://files.pythonhosted.org/packages/37/7a/8021bd615ef7788b98fc76ff533eaac846322c170e93cbffa01979197a45/jiter-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:f59e533afed0c5b0ac3eba20d2548c4a550336d8282ee69eb07b37ea526ee4e5", size = 207484 }, - { url = "https://files.pythonhosted.org/packages/1b/dd/6cefc6bd68b1c3c979cecfa7029ab582b57690a31cd2f346c4d0ce7951b6/jiter-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3bebe0c558e19902c96e99217e0b8e8b17d570906e72ed8a87170bc290b1e978", size = 317473 }, - { url = "https://files.pythonhosted.org/packages/be/cf/fc33f5159ce132be1d8dd57251a1ec7a631c7df4bd11e1cd198308c6ae32/jiter-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:558cc7e44fd8e507a236bee6a02fa17199ba752874400a0ca6cd6e2196cdb7dc", size = 321971 }, - { url = "https://files.pythonhosted.org/packages/68/a4/da3f150cf1d51f6c472616fb7650429c7ce053e0c962b41b68557fdf6379/jiter-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d613e4b379a07d7c8453c5712ce7014e86c6ac93d990a0b8e7377e18505e98d", size = 345574 }, - { url = "https://files.pythonhosted.org/packages/84/34/6e8d412e60ff06b186040e77da5f83bc158e9735759fcae65b37d681f28b/jiter-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f62cf8ba0618eda841b9bf61797f21c5ebd15a7a1e19daab76e4e4b498d515b2", size = 371028 }, - { url = "https://files.pythonhosted.org/packages/fb/d9/9ee86173aae4576c35a2f50ae930d2ccb4c4c236f6cb9353267aa1d626b7/jiter-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:919d139cdfa8ae8945112398511cb7fca58a77382617d279556b344867a37e61", size = 491083 }, - { url = "https://files.pythonhosted.org/packages/d9/2c/f955de55e74771493ac9e188b0f731524c6a995dffdcb8c255b89c6fb74b/jiter-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ddbc6ae311175a3b03bd8994881bc4635c923754932918e18da841632349db", size = 388821 }, - { url = "https://files.pythonhosted.org/packages/81/5a/0e73541b6edd3f4aada586c24e50626c7815c561a7ba337d6a7eb0a915b4/jiter-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c440ea003ad10927a30521a9062ce10b5479592e8a70da27f21eeb457b4a9c5", size = 352174 }, - { url = "https://files.pythonhosted.org/packages/1c/c0/61eeec33b8c75b31cae42be14d44f9e6fe3ac15a4e58010256ac3abf3638/jiter-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc347c87944983481e138dea467c0551080c86b9d21de6ea9306efb12ca8f606", size = 391869 }, - { url = "https://files.pythonhosted.org/packages/41/22/5beb5ee4ad4ef7d86f5ea5b4509f680a20706c4a7659e74344777efb7739/jiter-0.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:13252b58c1f4d8c5b63ab103c03d909e8e1e7842d302473f482915d95fefd605", size = 523741 }, - { url = "https://files.pythonhosted.org/packages/ea/10/768e8818538e5817c637b0df52e54366ec4cebc3346108a4457ea7a98f32/jiter-0.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7d1bbf3c465de4a24ab12fb7766a0003f6f9bce48b8b6a886158c4d569452dc5", size = 514527 }, - { url = "https://files.pythonhosted.org/packages/73/6d/29b7c2dc76ce93cbedabfd842fc9096d01a0550c52692dfc33d3cc889815/jiter-0.10.0-cp311-cp311-win32.whl", hash = "sha256:db16e4848b7e826edca4ccdd5b145939758dadf0dc06e7007ad0e9cfb5928ae7", size = 210765 }, - { url = "https://files.pythonhosted.org/packages/c2/c9/d394706deb4c660137caf13e33d05a031d734eb99c051142e039d8ceb794/jiter-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c9c1d5f10e18909e993f9641f12fe1c77b3e9b533ee94ffa970acc14ded3812", size = 209234 }, - { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262 }, - { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124 }, - { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330 }, - { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670 }, - { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057 }, - { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372 }, - { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038 }, - { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538 }, - { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557 }, - { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202 }, - { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781 }, - { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176 }, - { url = "https://files.pythonhosted.org/packages/2e/b0/279597e7a270e8d22623fea6c5d4eeac328e7d95c236ed51a2b884c54f70/jiter-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e0588107ec8e11b6f5ef0e0d656fb2803ac6cf94a96b2b9fc675c0e3ab5e8644", size = 311617 }, - { url = "https://files.pythonhosted.org/packages/91/e3/0916334936f356d605f54cc164af4060e3e7094364add445a3bc79335d46/jiter-0.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cafc4628b616dc32530c20ee53d71589816cf385dd9449633e910d596b1f5c8a", size = 318947 }, - { url = "https://files.pythonhosted.org/packages/6a/8e/fd94e8c02d0e94539b7d669a7ebbd2776e51f329bb2c84d4385e8063a2ad/jiter-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:520ef6d981172693786a49ff5b09eda72a42e539f14788124a07530f785c3ad6", size = 344618 }, - { url = "https://files.pythonhosted.org/packages/6f/b0/f9f0a2ec42c6e9c2e61c327824687f1e2415b767e1089c1d9135f43816bd/jiter-0.10.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:554dedfd05937f8fc45d17ebdf298fe7e0c77458232bcb73d9fbbf4c6455f5b3", size = 368829 }, - { url = "https://files.pythonhosted.org/packages/e8/57/5bbcd5331910595ad53b9fd0c610392ac68692176f05ae48d6ce5c852967/jiter-0.10.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc299da7789deacf95f64052d97f75c16d4fc8c4c214a22bf8d859a4288a1c2", size = 491034 }, - { url = "https://files.pythonhosted.org/packages/9b/be/c393df00e6e6e9e623a73551774449f2f23b6ec6a502a3297aeeece2c65a/jiter-0.10.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5161e201172de298a8a1baad95eb85db4fb90e902353b1f6a41d64ea64644e25", size = 388529 }, - { url = "https://files.pythonhosted.org/packages/42/3e/df2235c54d365434c7f150b986a6e35f41ebdc2f95acea3036d99613025d/jiter-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e2227db6ba93cb3e2bf67c87e594adde0609f146344e8207e8730364db27041", size = 350671 }, - { url = "https://files.pythonhosted.org/packages/c6/77/71b0b24cbcc28f55ab4dbfe029f9a5b73aeadaba677843fc6dc9ed2b1d0a/jiter-0.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15acb267ea5e2c64515574b06a8bf393fbfee6a50eb1673614aa45f4613c0cca", size = 390864 }, - { url = "https://files.pythonhosted.org/packages/6a/d3/ef774b6969b9b6178e1d1e7a89a3bd37d241f3d3ec5f8deb37bbd203714a/jiter-0.10.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:901b92f2e2947dc6dfcb52fd624453862e16665ea909a08398dde19c0731b7f4", size = 522989 }, - { url = "https://files.pythonhosted.org/packages/0c/41/9becdb1d8dd5d854142f45a9d71949ed7e87a8e312b0bede2de849388cb9/jiter-0.10.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d0cb9a125d5a3ec971a094a845eadde2db0de85b33c9f13eb94a0c63d463879e", size = 513495 }, - { url = "https://files.pythonhosted.org/packages/9c/36/3468e5a18238bdedae7c4d19461265b5e9b8e288d3f86cd89d00cbb48686/jiter-0.10.0-cp313-cp313-win32.whl", hash = "sha256:48a403277ad1ee208fb930bdf91745e4d2d6e47253eedc96e2559d1e6527006d", size = 211289 }, - { url = "https://files.pythonhosted.org/packages/7e/07/1c96b623128bcb913706e294adb5f768fb7baf8db5e1338ce7b4ee8c78ef/jiter-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:75f9eb72ecb640619c29bf714e78c9c46c9c4eaafd644bf78577ede459f330d4", size = 205074 }, - { url = "https://files.pythonhosted.org/packages/54/46/caa2c1342655f57d8f0f2519774c6d67132205909c65e9aa8255e1d7b4f4/jiter-0.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:28ed2a4c05a1f32ef0e1d24c2611330219fed727dae01789f4a335617634b1ca", size = 318225 }, - { url = "https://files.pythonhosted.org/packages/43/84/c7d44c75767e18946219ba2d703a5a32ab37b0bc21886a97bc6062e4da42/jiter-0.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a4c418b1ec86a195f1ca69da8b23e8926c752b685af665ce30777233dfe070", size = 350235 }, - { url = "https://files.pythonhosted.org/packages/01/16/f5a0135ccd968b480daad0e6ab34b0c7c5ba3bc447e5088152696140dcb3/jiter-0.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d7bfed2fe1fe0e4dda6ef682cee888ba444b21e7a6553e03252e4feb6cf0adca", size = 207278 }, - { url = "https://files.pythonhosted.org/packages/1c/9b/1d646da42c3de6c2188fdaa15bce8ecb22b635904fc68be025e21249ba44/jiter-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:5e9251a5e83fab8d87799d3e1a46cb4b7f2919b895c6f4483629ed2446f66522", size = 310866 }, - { url = "https://files.pythonhosted.org/packages/ad/0e/26538b158e8a7c7987e94e7aeb2999e2e82b1f9d2e1f6e9874ddf71ebda0/jiter-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:023aa0204126fe5b87ccbcd75c8a0d0261b9abdbbf46d55e7ae9f8e22424eeb8", size = 318772 }, - { url = "https://files.pythonhosted.org/packages/7b/fb/d302893151caa1c2636d6574d213e4b34e31fd077af6050a9c5cbb42f6fb/jiter-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c189c4f1779c05f75fc17c0c1267594ed918996a231593a21a5ca5438445216", size = 344534 }, - { url = "https://files.pythonhosted.org/packages/01/d8/5780b64a149d74e347c5128d82176eb1e3241b1391ac07935693466d6219/jiter-0.10.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15720084d90d1098ca0229352607cd68256c76991f6b374af96f36920eae13c4", size = 369087 }, - { url = "https://files.pythonhosted.org/packages/e8/5b/f235a1437445160e777544f3ade57544daf96ba7e96c1a5b24a6f7ac7004/jiter-0.10.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4f2fb68e5f1cfee30e2b2a09549a00683e0fde4c6a2ab88c94072fc33cb7426", size = 490694 }, - { url = "https://files.pythonhosted.org/packages/85/a9/9c3d4617caa2ff89cf61b41e83820c27ebb3f7b5fae8a72901e8cd6ff9be/jiter-0.10.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce541693355fc6da424c08b7edf39a2895f58d6ea17d92cc2b168d20907dee12", size = 388992 }, - { url = "https://files.pythonhosted.org/packages/68/b1/344fd14049ba5c94526540af7eb661871f9c54d5f5601ff41a959b9a0bbd/jiter-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c50c40272e189d50006ad5c73883caabb73d4e9748a688b216e85a9a9ca3b9", size = 351723 }, - { url = "https://files.pythonhosted.org/packages/41/89/4c0e345041186f82a31aee7b9d4219a910df672b9fef26f129f0cda07a29/jiter-0.10.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fa3402a2ff9815960e0372a47b75c76979d74402448509ccd49a275fa983ef8a", size = 392215 }, - { url = "https://files.pythonhosted.org/packages/55/58/ee607863e18d3f895feb802154a2177d7e823a7103f000df182e0f718b38/jiter-0.10.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:1956f934dca32d7bb647ea21d06d93ca40868b505c228556d3373cbd255ce853", size = 522762 }, - { url = "https://files.pythonhosted.org/packages/15/d0/9123fb41825490d16929e73c212de9a42913d68324a8ce3c8476cae7ac9d/jiter-0.10.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:fcedb049bdfc555e261d6f65a6abe1d5ad68825b7202ccb9692636c70fcced86", size = 513427 }, - { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127 }, - { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527 }, - { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213 }, + { url = "https://files.pythonhosted.org/packages/be/7e/4011b5c77bec97cb2b572f566220364e3e21b51c48c5bd9c4a9c26b41b67/jiter-0.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2fb72b02478f06a900a5782de2ef47e0396b3e1f7d5aba30daeb1fce66f303", size = 317215, upload-time = "2025-05-18T19:03:04.303Z" }, + { url = "https://files.pythonhosted.org/packages/8a/4f/144c1b57c39692efc7ea7d8e247acf28e47d0912800b34d0ad815f6b2824/jiter-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32bb468e3af278f095d3fa5b90314728a6916d89ba3d0ffb726dd9bf7367285e", size = 322814, upload-time = "2025-05-18T19:03:06.433Z" }, + { url = "https://files.pythonhosted.org/packages/63/1f/db977336d332a9406c0b1f0b82be6f71f72526a806cbb2281baf201d38e3/jiter-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8b3e0068c26ddedc7abc6fac37da2d0af16b921e288a5a613f4b86f050354f", size = 345237, upload-time = "2025-05-18T19:03:07.833Z" }, + { url = "https://files.pythonhosted.org/packages/d7/1c/aa30a4a775e8a672ad7f21532bdbfb269f0706b39c6ff14e1f86bdd9e5ff/jiter-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:286299b74cc49e25cd42eea19b72aa82c515d2f2ee12d11392c56d8701f52224", size = 370999, upload-time = "2025-05-18T19:03:09.338Z" }, + { url = "https://files.pythonhosted.org/packages/35/df/f8257abc4207830cb18880781b5f5b716bad5b2a22fb4330cfd357407c5b/jiter-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ed5649ceeaeffc28d87fb012d25a4cd356dcd53eff5acff1f0466b831dda2a7", size = 491109, upload-time = "2025-05-18T19:03:11.13Z" }, + { url = "https://files.pythonhosted.org/packages/06/76/9e1516fd7b4278aa13a2cc7f159e56befbea9aa65c71586305e7afa8b0b3/jiter-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2ab0051160cb758a70716448908ef14ad476c3774bd03ddce075f3c1f90a3d6", size = 388608, upload-time = "2025-05-18T19:03:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/6d/64/67750672b4354ca20ca18d3d1ccf2c62a072e8a2d452ac3cf8ced73571ef/jiter-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03997d2f37f6b67d2f5c475da4412be584e1cec273c1cfc03d642c46db43f8cf", size = 352454, upload-time = "2025-05-18T19:03:14.741Z" }, + { url = "https://files.pythonhosted.org/packages/96/4d/5c4e36d48f169a54b53a305114be3efa2bbffd33b648cd1478a688f639c1/jiter-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c404a99352d839fed80d6afd6c1d66071f3bacaaa5c4268983fc10f769112e90", size = 391833, upload-time = "2025-05-18T19:03:16.426Z" }, + { url = "https://files.pythonhosted.org/packages/0b/de/ce4a6166a78810bd83763d2fa13f85f73cbd3743a325469a4a9289af6dae/jiter-0.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66e989410b6666d3ddb27a74c7e50d0829704ede652fd4c858e91f8d64b403d0", size = 523646, upload-time = "2025-05-18T19:03:17.704Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a6/3bc9acce53466972964cf4ad85efecb94f9244539ab6da1107f7aed82934/jiter-0.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b532d3af9ef4f6374609a3bcb5e05a1951d3bf6190dc6b176fdb277c9bbf15ee", size = 514735, upload-time = "2025-05-18T19:03:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d8/243c2ab8426a2a4dea85ba2a2ba43df379ccece2145320dfd4799b9633c5/jiter-0.10.0-cp310-cp310-win32.whl", hash = "sha256:da9be20b333970e28b72edc4dff63d4fec3398e05770fb3205f7fb460eb48dd4", size = 210747, upload-time = "2025-05-18T19:03:21.184Z" }, + { url = "https://files.pythonhosted.org/packages/37/7a/8021bd615ef7788b98fc76ff533eaac846322c170e93cbffa01979197a45/jiter-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:f59e533afed0c5b0ac3eba20d2548c4a550336d8282ee69eb07b37ea526ee4e5", size = 207484, upload-time = "2025-05-18T19:03:23.046Z" }, + { url = "https://files.pythonhosted.org/packages/1b/dd/6cefc6bd68b1c3c979cecfa7029ab582b57690a31cd2f346c4d0ce7951b6/jiter-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3bebe0c558e19902c96e99217e0b8e8b17d570906e72ed8a87170bc290b1e978", size = 317473, upload-time = "2025-05-18T19:03:25.942Z" }, + { url = "https://files.pythonhosted.org/packages/be/cf/fc33f5159ce132be1d8dd57251a1ec7a631c7df4bd11e1cd198308c6ae32/jiter-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:558cc7e44fd8e507a236bee6a02fa17199ba752874400a0ca6cd6e2196cdb7dc", size = 321971, upload-time = "2025-05-18T19:03:27.255Z" }, + { url = "https://files.pythonhosted.org/packages/68/a4/da3f150cf1d51f6c472616fb7650429c7ce053e0c962b41b68557fdf6379/jiter-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d613e4b379a07d7c8453c5712ce7014e86c6ac93d990a0b8e7377e18505e98d", size = 345574, upload-time = "2025-05-18T19:03:28.63Z" }, + { url = "https://files.pythonhosted.org/packages/84/34/6e8d412e60ff06b186040e77da5f83bc158e9735759fcae65b37d681f28b/jiter-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f62cf8ba0618eda841b9bf61797f21c5ebd15a7a1e19daab76e4e4b498d515b2", size = 371028, upload-time = "2025-05-18T19:03:30.292Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/9ee86173aae4576c35a2f50ae930d2ccb4c4c236f6cb9353267aa1d626b7/jiter-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:919d139cdfa8ae8945112398511cb7fca58a77382617d279556b344867a37e61", size = 491083, upload-time = "2025-05-18T19:03:31.654Z" }, + { url = "https://files.pythonhosted.org/packages/d9/2c/f955de55e74771493ac9e188b0f731524c6a995dffdcb8c255b89c6fb74b/jiter-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ddbc6ae311175a3b03bd8994881bc4635c923754932918e18da841632349db", size = 388821, upload-time = "2025-05-18T19:03:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/81/5a/0e73541b6edd3f4aada586c24e50626c7815c561a7ba337d6a7eb0a915b4/jiter-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c440ea003ad10927a30521a9062ce10b5479592e8a70da27f21eeb457b4a9c5", size = 352174, upload-time = "2025-05-18T19:03:34.965Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c0/61eeec33b8c75b31cae42be14d44f9e6fe3ac15a4e58010256ac3abf3638/jiter-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc347c87944983481e138dea467c0551080c86b9d21de6ea9306efb12ca8f606", size = 391869, upload-time = "2025-05-18T19:03:36.436Z" }, + { url = "https://files.pythonhosted.org/packages/41/22/5beb5ee4ad4ef7d86f5ea5b4509f680a20706c4a7659e74344777efb7739/jiter-0.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:13252b58c1f4d8c5b63ab103c03d909e8e1e7842d302473f482915d95fefd605", size = 523741, upload-time = "2025-05-18T19:03:38.168Z" }, + { url = "https://files.pythonhosted.org/packages/ea/10/768e8818538e5817c637b0df52e54366ec4cebc3346108a4457ea7a98f32/jiter-0.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7d1bbf3c465de4a24ab12fb7766a0003f6f9bce48b8b6a886158c4d569452dc5", size = 514527, upload-time = "2025-05-18T19:03:39.577Z" }, + { url = "https://files.pythonhosted.org/packages/73/6d/29b7c2dc76ce93cbedabfd842fc9096d01a0550c52692dfc33d3cc889815/jiter-0.10.0-cp311-cp311-win32.whl", hash = "sha256:db16e4848b7e826edca4ccdd5b145939758dadf0dc06e7007ad0e9cfb5928ae7", size = 210765, upload-time = "2025-05-18T19:03:41.271Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c9/d394706deb4c660137caf13e33d05a031d734eb99c051142e039d8ceb794/jiter-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c9c1d5f10e18909e993f9641f12fe1c77b3e9b533ee94ffa970acc14ded3812", size = 209234, upload-time = "2025-05-18T19:03:42.918Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262, upload-time = "2025-05-18T19:03:44.637Z" }, + { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124, upload-time = "2025-05-18T19:03:46.341Z" }, + { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330, upload-time = "2025-05-18T19:03:47.596Z" }, + { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670, upload-time = "2025-05-18T19:03:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057, upload-time = "2025-05-18T19:03:50.66Z" }, + { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372, upload-time = "2025-05-18T19:03:51.98Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038, upload-time = "2025-05-18T19:03:53.703Z" }, + { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538, upload-time = "2025-05-18T19:03:55.046Z" }, + { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557, upload-time = "2025-05-18T19:03:56.386Z" }, + { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202, upload-time = "2025-05-18T19:03:57.675Z" }, + { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781, upload-time = "2025-05-18T19:03:59.025Z" }, + { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176, upload-time = "2025-05-18T19:04:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b0/279597e7a270e8d22623fea6c5d4eeac328e7d95c236ed51a2b884c54f70/jiter-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e0588107ec8e11b6f5ef0e0d656fb2803ac6cf94a96b2b9fc675c0e3ab5e8644", size = 311617, upload-time = "2025-05-18T19:04:02.078Z" }, + { url = "https://files.pythonhosted.org/packages/91/e3/0916334936f356d605f54cc164af4060e3e7094364add445a3bc79335d46/jiter-0.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cafc4628b616dc32530c20ee53d71589816cf385dd9449633e910d596b1f5c8a", size = 318947, upload-time = "2025-05-18T19:04:03.347Z" }, + { url = "https://files.pythonhosted.org/packages/6a/8e/fd94e8c02d0e94539b7d669a7ebbd2776e51f329bb2c84d4385e8063a2ad/jiter-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:520ef6d981172693786a49ff5b09eda72a42e539f14788124a07530f785c3ad6", size = 344618, upload-time = "2025-05-18T19:04:04.709Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b0/f9f0a2ec42c6e9c2e61c327824687f1e2415b767e1089c1d9135f43816bd/jiter-0.10.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:554dedfd05937f8fc45d17ebdf298fe7e0c77458232bcb73d9fbbf4c6455f5b3", size = 368829, upload-time = "2025-05-18T19:04:06.912Z" }, + { url = "https://files.pythonhosted.org/packages/e8/57/5bbcd5331910595ad53b9fd0c610392ac68692176f05ae48d6ce5c852967/jiter-0.10.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc299da7789deacf95f64052d97f75c16d4fc8c4c214a22bf8d859a4288a1c2", size = 491034, upload-time = "2025-05-18T19:04:08.222Z" }, + { url = "https://files.pythonhosted.org/packages/9b/be/c393df00e6e6e9e623a73551774449f2f23b6ec6a502a3297aeeece2c65a/jiter-0.10.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5161e201172de298a8a1baad95eb85db4fb90e902353b1f6a41d64ea64644e25", size = 388529, upload-time = "2025-05-18T19:04:09.566Z" }, + { url = "https://files.pythonhosted.org/packages/42/3e/df2235c54d365434c7f150b986a6e35f41ebdc2f95acea3036d99613025d/jiter-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e2227db6ba93cb3e2bf67c87e594adde0609f146344e8207e8730364db27041", size = 350671, upload-time = "2025-05-18T19:04:10.98Z" }, + { url = "https://files.pythonhosted.org/packages/c6/77/71b0b24cbcc28f55ab4dbfe029f9a5b73aeadaba677843fc6dc9ed2b1d0a/jiter-0.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15acb267ea5e2c64515574b06a8bf393fbfee6a50eb1673614aa45f4613c0cca", size = 390864, upload-time = "2025-05-18T19:04:12.722Z" }, + { url = "https://files.pythonhosted.org/packages/6a/d3/ef774b6969b9b6178e1d1e7a89a3bd37d241f3d3ec5f8deb37bbd203714a/jiter-0.10.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:901b92f2e2947dc6dfcb52fd624453862e16665ea909a08398dde19c0731b7f4", size = 522989, upload-time = "2025-05-18T19:04:14.261Z" }, + { url = "https://files.pythonhosted.org/packages/0c/41/9becdb1d8dd5d854142f45a9d71949ed7e87a8e312b0bede2de849388cb9/jiter-0.10.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d0cb9a125d5a3ec971a094a845eadde2db0de85b33c9f13eb94a0c63d463879e", size = 513495, upload-time = "2025-05-18T19:04:15.603Z" }, + { url = "https://files.pythonhosted.org/packages/9c/36/3468e5a18238bdedae7c4d19461265b5e9b8e288d3f86cd89d00cbb48686/jiter-0.10.0-cp313-cp313-win32.whl", hash = "sha256:48a403277ad1ee208fb930bdf91745e4d2d6e47253eedc96e2559d1e6527006d", size = 211289, upload-time = "2025-05-18T19:04:17.541Z" }, + { url = "https://files.pythonhosted.org/packages/7e/07/1c96b623128bcb913706e294adb5f768fb7baf8db5e1338ce7b4ee8c78ef/jiter-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:75f9eb72ecb640619c29bf714e78c9c46c9c4eaafd644bf78577ede459f330d4", size = 205074, upload-time = "2025-05-18T19:04:19.21Z" }, + { url = "https://files.pythonhosted.org/packages/54/46/caa2c1342655f57d8f0f2519774c6d67132205909c65e9aa8255e1d7b4f4/jiter-0.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:28ed2a4c05a1f32ef0e1d24c2611330219fed727dae01789f4a335617634b1ca", size = 318225, upload-time = "2025-05-18T19:04:20.583Z" }, + { url = "https://files.pythonhosted.org/packages/43/84/c7d44c75767e18946219ba2d703a5a32ab37b0bc21886a97bc6062e4da42/jiter-0.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a4c418b1ec86a195f1ca69da8b23e8926c752b685af665ce30777233dfe070", size = 350235, upload-time = "2025-05-18T19:04:22.363Z" }, + { url = "https://files.pythonhosted.org/packages/01/16/f5a0135ccd968b480daad0e6ab34b0c7c5ba3bc447e5088152696140dcb3/jiter-0.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d7bfed2fe1fe0e4dda6ef682cee888ba444b21e7a6553e03252e4feb6cf0adca", size = 207278, upload-time = "2025-05-18T19:04:23.627Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9b/1d646da42c3de6c2188fdaa15bce8ecb22b635904fc68be025e21249ba44/jiter-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:5e9251a5e83fab8d87799d3e1a46cb4b7f2919b895c6f4483629ed2446f66522", size = 310866, upload-time = "2025-05-18T19:04:24.891Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0e/26538b158e8a7c7987e94e7aeb2999e2e82b1f9d2e1f6e9874ddf71ebda0/jiter-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:023aa0204126fe5b87ccbcd75c8a0d0261b9abdbbf46d55e7ae9f8e22424eeb8", size = 318772, upload-time = "2025-05-18T19:04:26.161Z" }, + { url = "https://files.pythonhosted.org/packages/7b/fb/d302893151caa1c2636d6574d213e4b34e31fd077af6050a9c5cbb42f6fb/jiter-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c189c4f1779c05f75fc17c0c1267594ed918996a231593a21a5ca5438445216", size = 344534, upload-time = "2025-05-18T19:04:27.495Z" }, + { url = "https://files.pythonhosted.org/packages/01/d8/5780b64a149d74e347c5128d82176eb1e3241b1391ac07935693466d6219/jiter-0.10.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15720084d90d1098ca0229352607cd68256c76991f6b374af96f36920eae13c4", size = 369087, upload-time = "2025-05-18T19:04:28.896Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5b/f235a1437445160e777544f3ade57544daf96ba7e96c1a5b24a6f7ac7004/jiter-0.10.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4f2fb68e5f1cfee30e2b2a09549a00683e0fde4c6a2ab88c94072fc33cb7426", size = 490694, upload-time = "2025-05-18T19:04:30.183Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/9c3d4617caa2ff89cf61b41e83820c27ebb3f7b5fae8a72901e8cd6ff9be/jiter-0.10.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce541693355fc6da424c08b7edf39a2895f58d6ea17d92cc2b168d20907dee12", size = 388992, upload-time = "2025-05-18T19:04:32.028Z" }, + { url = "https://files.pythonhosted.org/packages/68/b1/344fd14049ba5c94526540af7eb661871f9c54d5f5601ff41a959b9a0bbd/jiter-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c50c40272e189d50006ad5c73883caabb73d4e9748a688b216e85a9a9ca3b9", size = 351723, upload-time = "2025-05-18T19:04:33.467Z" }, + { url = "https://files.pythonhosted.org/packages/41/89/4c0e345041186f82a31aee7b9d4219a910df672b9fef26f129f0cda07a29/jiter-0.10.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fa3402a2ff9815960e0372a47b75c76979d74402448509ccd49a275fa983ef8a", size = 392215, upload-time = "2025-05-18T19:04:34.827Z" }, + { url = "https://files.pythonhosted.org/packages/55/58/ee607863e18d3f895feb802154a2177d7e823a7103f000df182e0f718b38/jiter-0.10.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:1956f934dca32d7bb647ea21d06d93ca40868b505c228556d3373cbd255ce853", size = 522762, upload-time = "2025-05-18T19:04:36.19Z" }, + { url = "https://files.pythonhosted.org/packages/15/d0/9123fb41825490d16929e73c212de9a42913d68324a8ce3c8476cae7ac9d/jiter-0.10.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:fcedb049bdfc555e261d6f65a6abe1d5ad68825b7202ccb9692636c70fcced86", size = 513427, upload-time = "2025-05-18T19:04:37.544Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127, upload-time = "2025-05-18T19:04:38.837Z" }, + { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527, upload-time = "2025-05-18T19:04:40.612Z" }, + { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213, upload-time = "2025-05-18T19:04:41.894Z" }, ] [[package]] @@ -739,9 +744,9 @@ dependencies = [ { name = "requests" }, { name = "wrapt" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/66/b8/1928d39799370d8030f067af5010318b147753fa330c068b3958b233cdeb/langfuse-2.60.8.tar.gz", hash = "sha256:0125841e8503b9ce1f405ab95411a7af2c244106e70eba99726c1f1a743cd164", size = 152659 } +sdist = { url = "https://files.pythonhosted.org/packages/66/b8/1928d39799370d8030f067af5010318b147753fa330c068b3958b233cdeb/langfuse-2.60.8.tar.gz", hash = "sha256:0125841e8503b9ce1f405ab95411a7af2c244106e70eba99726c1f1a743cd164", size = 152659, upload-time = "2025-06-03T15:39:46.21Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/a0/566955928c599cb78bccb72f76c5a7b6d56cff723bc841c4e4806b48d2d0/langfuse-2.60.8-py3-none-any.whl", hash = "sha256:072b050ae4c20f81556b9c4c751359bc76de70970636225b32760d1bd4b93042", size = 275496 }, + { url = "https://files.pythonhosted.org/packages/f1/a0/566955928c599cb78bccb72f76c5a7b6d56cff723bc841c4e4806b48d2d0/langfuse-2.60.8-py3-none-any.whl", hash = "sha256:072b050ae4c20f81556b9c4c751359bc76de70970636225b32760d1bd4b93042", size = 275496, upload-time = "2025-06-03T15:39:44.023Z" }, ] [[package]] @@ -751,9 +756,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markupsafe" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474 } +sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474, upload-time = "2025-04-10T12:44:31.16Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509 }, + { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509, upload-time = "2025-04-10T12:50:53.297Z" }, ] [[package]] @@ -763,76 +768,76 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mdurl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 } +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 }, + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" }, ] [[package]] name = "markupsafe" version = "3.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 }, - { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 }, - { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 }, - { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 }, - { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 }, - { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 }, - { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 }, - { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 }, - { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, - { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, - { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 }, - { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 }, - { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 }, - { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 }, - { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 }, - { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 }, - { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 }, - { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, ] [[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 } +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 }, + { 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]] @@ -845,9 +850,9 @@ dependencies = [ { name = "pydantic" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/60/e7/4a196658d3e9ffe5840872922e0ea5e9f583bc3cb204c769e55347e142c1/mirascope-1.25.2.tar.gz", hash = "sha256:88df7232c8b41150e0f788371ba5657c08c27eb544dec93aa4d8354adf04f4be", size = 627149 } +sdist = { url = "https://files.pythonhosted.org/packages/60/e7/4a196658d3e9ffe5840872922e0ea5e9f583bc3cb204c769e55347e142c1/mirascope-1.25.2.tar.gz", hash = "sha256:88df7232c8b41150e0f788371ba5657c08c27eb544dec93aa4d8354adf04f4be", size = 627149, upload-time = "2025-06-23T22:16:54.262Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/1d/cf7f99294c19552f4a80ba092d8b883ab34161f7030c66c38a5c43e27c0d/mirascope-1.25.2-py3-none-any.whl", hash = "sha256:9d96bec0bcb7fa3dd767803d978b71167eb1fd657be865b9f3bfbd23f24d2187", size = 373194 }, + { url = "https://files.pythonhosted.org/packages/1e/1d/cf7f99294c19552f4a80ba092d8b883ab34161f7030c66c38a5c43e27c0d/mirascope-1.25.2-py3-none-any.whl", hash = "sha256:9d96bec0bcb7fa3dd767803d978b71167eb1fd657be865b9f3bfbd23f24d2187", size = 373194, upload-time = "2025-06-23T22:16:50.693Z" }, ] [package.optional-dependencies] @@ -870,92 +875,156 @@ langfuse = [ name = "nanoid" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b7/9d/0250bf5935d88e214df469d35eccc0f6ff7e9db046fc8a9aeb4b2a192775/nanoid-2.0.0.tar.gz", hash = "sha256:5a80cad5e9c6e9ae3a41fa2fb34ae189f7cb420b2a5d8f82bd9d23466e4efa68", size = 3290 } +sdist = { url = "https://files.pythonhosted.org/packages/b7/9d/0250bf5935d88e214df469d35eccc0f6ff7e9db046fc8a9aeb4b2a192775/nanoid-2.0.0.tar.gz", hash = "sha256:5a80cad5e9c6e9ae3a41fa2fb34ae189f7cb420b2a5d8f82bd9d23466e4efa68", size = 3290, upload-time = "2018-11-20T14:45:51.578Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/0d/8630f13998638dc01e187fadd2e5c6d42d127d08aeb4943d231664d6e539/nanoid-2.0.0-py3-none-any.whl", hash = "sha256:90aefa650e328cffb0893bbd4c236cfd44c48bc1f2d0b525ecc53c3187b653bb", size = 5844 }, + { url = "https://files.pythonhosted.org/packages/2e/0d/8630f13998638dc01e187fadd2e5c6d42d127d08aeb4943d231664d6e539/nanoid-2.0.0-py3-none-any.whl", hash = "sha256:90aefa650e328cffb0893bbd4c236cfd44c48bc1f2d0b525ecc53c3187b653bb", size = 5844, upload-time = "2018-11-20T14:45:50.165Z" }, ] [[package]] name = "nodejs-wheel-binaries" version = "22.16.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/c6/66f36b7b0d528660dfb4a59cb9b8dd6a3f4c0a3939cd49c404a775ea4a63/nodejs_wheel_binaries-22.16.0.tar.gz", hash = "sha256:d695832f026df3a0cf9a089d222225939de9d1b67f8f0a353b79f015aabbe7e2", size = 8061 } +sdist = { url = "https://files.pythonhosted.org/packages/0f/c6/66f36b7b0d528660dfb4a59cb9b8dd6a3f4c0a3939cd49c404a775ea4a63/nodejs_wheel_binaries-22.16.0.tar.gz", hash = "sha256:d695832f026df3a0cf9a089d222225939de9d1b67f8f0a353b79f015aabbe7e2", size = 8061, upload-time = "2025-05-22T07:27:52.149Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/dc/417a5c5f99e53a5d2b3be122506312731eb90fb9630c248e327e2e38cc6b/nodejs_wheel_binaries-22.16.0-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:986b715a96ed703f8ce0c15712f76fc42895cf09067d72b6ef29e8b334eccf64", size = 50957501 }, - { url = "https://files.pythonhosted.org/packages/0e/dd/d6ce48209ed15f5d1fccb29eeaa111f962557123eaf4fd03a7316c42734c/nodejs_wheel_binaries-22.16.0-py2.py3-none-macosx_11_0_x86_64.whl", hash = "sha256:4ae3cf22138891cb44c3ee952862a257ce082b098b29024d7175684a9a77b0c0", size = 51891634 }, - { url = "https://files.pythonhosted.org/packages/80/fa/a07e622fd87717eec3e5cff41575f85ad62717e8698884d28ca809266ca1/nodejs_wheel_binaries-22.16.0-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71f2de4dc0b64ae43e146897ce811f80ac4f9acfbae6ccf814226282bf4ef174", size = 57857862 }, - { url = "https://files.pythonhosted.org/packages/1f/80/52736f9570a93f8e6b7942981dc9770eca2bc7aa1d200c1d54198374a6ca/nodejs_wheel_binaries-22.16.0-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbfccbcd558d2f142ccf66d8c3a098022bf4436db9525b5b8d32169ce185d99e", size = 58395868 }, - { url = "https://files.pythonhosted.org/packages/0f/0e/53616a5ed8fc1fbe9e48bf132862da5a9abf5cc7f8483dab1722ec257187/nodejs_wheel_binaries-22.16.0-py2.py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:447ad796850eb52ca20356ad39b2d296ed8fef3f214921f84a1ccdad49f2eba1", size = 59712469 }, - { url = "https://files.pythonhosted.org/packages/4a/cd/e2b5083df581fc1d08eb93feb6f8fbd3d56b113cef9b59d8e0fb7d4dd4f3/nodejs_wheel_binaries-22.16.0-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7f526ca6a132b0caf633566a2a78c6985fe92857e7bfdb37380f76205a10b808", size = 60763005 }, - { url = "https://files.pythonhosted.org/packages/71/8d/57112b49214e8bd636f3cc3386eba6be4d23552ec8a0f6efbe814013caa7/nodejs_wheel_binaries-22.16.0-py2.py3-none-win_amd64.whl", hash = "sha256:2fffb4bf1066fb5f660da20819d754f1b424bca1b234ba0f4fa901c52e3975fb", size = 41313324 }, - { url = "https://files.pythonhosted.org/packages/91/03/a852711aec73dfb965844592dfe226024c0da28e37d1ee54083342e38f57/nodejs_wheel_binaries-22.16.0-py2.py3-none-win_arm64.whl", hash = "sha256:2728972d336d436d39ee45988978d8b5d963509e06f063e80fe41b203ee80b28", size = 38828154 }, + { url = "https://files.pythonhosted.org/packages/d7/dc/417a5c5f99e53a5d2b3be122506312731eb90fb9630c248e327e2e38cc6b/nodejs_wheel_binaries-22.16.0-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:986b715a96ed703f8ce0c15712f76fc42895cf09067d72b6ef29e8b334eccf64", size = 50957501, upload-time = "2025-05-22T07:27:20.132Z" }, + { url = "https://files.pythonhosted.org/packages/0e/dd/d6ce48209ed15f5d1fccb29eeaa111f962557123eaf4fd03a7316c42734c/nodejs_wheel_binaries-22.16.0-py2.py3-none-macosx_11_0_x86_64.whl", hash = "sha256:4ae3cf22138891cb44c3ee952862a257ce082b098b29024d7175684a9a77b0c0", size = 51891634, upload-time = "2025-05-22T07:27:24.029Z" }, + { url = "https://files.pythonhosted.org/packages/80/fa/a07e622fd87717eec3e5cff41575f85ad62717e8698884d28ca809266ca1/nodejs_wheel_binaries-22.16.0-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71f2de4dc0b64ae43e146897ce811f80ac4f9acfbae6ccf814226282bf4ef174", size = 57857862, upload-time = "2025-05-22T07:27:27.933Z" }, + { url = "https://files.pythonhosted.org/packages/1f/80/52736f9570a93f8e6b7942981dc9770eca2bc7aa1d200c1d54198374a6ca/nodejs_wheel_binaries-22.16.0-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbfccbcd558d2f142ccf66d8c3a098022bf4436db9525b5b8d32169ce185d99e", size = 58395868, upload-time = "2025-05-22T07:27:32.088Z" }, + { url = "https://files.pythonhosted.org/packages/0f/0e/53616a5ed8fc1fbe9e48bf132862da5a9abf5cc7f8483dab1722ec257187/nodejs_wheel_binaries-22.16.0-py2.py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:447ad796850eb52ca20356ad39b2d296ed8fef3f214921f84a1ccdad49f2eba1", size = 59712469, upload-time = "2025-05-22T07:27:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/4a/cd/e2b5083df581fc1d08eb93feb6f8fbd3d56b113cef9b59d8e0fb7d4dd4f3/nodejs_wheel_binaries-22.16.0-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7f526ca6a132b0caf633566a2a78c6985fe92857e7bfdb37380f76205a10b808", size = 60763005, upload-time = "2025-05-22T07:27:41.39Z" }, + { url = "https://files.pythonhosted.org/packages/71/8d/57112b49214e8bd636f3cc3386eba6be4d23552ec8a0f6efbe814013caa7/nodejs_wheel_binaries-22.16.0-py2.py3-none-win_amd64.whl", hash = "sha256:2fffb4bf1066fb5f660da20819d754f1b424bca1b234ba0f4fa901c52e3975fb", size = 41313324, upload-time = "2025-05-22T07:27:45.293Z" }, + { url = "https://files.pythonhosted.org/packages/91/03/a852711aec73dfb965844592dfe226024c0da28e37d1ee54083342e38f57/nodejs_wheel_binaries-22.16.0-py2.py3-none-win_arm64.whl", hash = "sha256:2728972d336d436d39ee45988978d8b5d963509e06f063e80fe41b203ee80b28", size = 38828154, upload-time = "2025-05-22T07:27:48.606Z" }, ] [[package]] name = "numpy" version = "2.2.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440 } +resolution-markers = [ + "python_full_version < '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245 }, - { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048 }, - { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542 }, - { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301 }, - { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320 }, - { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050 }, - { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034 }, - { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185 }, - { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149 }, - { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620 }, - { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963 }, - { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743 }, - { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616 }, - { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579 }, - { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005 }, - { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570 }, - { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548 }, - { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521 }, - { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866 }, - { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455 }, - { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348 }, - { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362 }, - { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103 }, - { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382 }, - { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462 }, - { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618 }, - { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511 }, - { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783 }, - { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506 }, - { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190 }, - { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828 }, - { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006 }, - { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765 }, - { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736 }, - { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719 }, - { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072 }, - { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213 }, - { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632 }, - { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532 }, - { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885 }, - { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467 }, - { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144 }, - { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217 }, - { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014 }, - { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935 }, - { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122 }, - { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143 }, - { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260 }, - { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225 }, - { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374 }, - { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391 }, - { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754 }, - { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476 }, - { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666 }, + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b", size = 20390372, upload-time = "2025-06-21T12:28:33.469Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/c7/87c64d7ab426156530676000c94784ef55676df2f13b2796f97722464124/numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ea9e48336a402551f52cd8f593343699003d2353daa4b72ce8d34f66b722070", size = 21199346, upload-time = "2025-06-21T11:47:47.57Z" }, + { url = "https://files.pythonhosted.org/packages/58/0e/0966c2f44beeac12af8d836e5b5f826a407cf34c45cb73ddcdfce9f5960b/numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccb7336eaf0e77c1635b232c141846493a588ec9ea777a7c24d7166bb8533ae", size = 14361143, upload-time = "2025-06-21T11:48:10.766Z" }, + { url = "https://files.pythonhosted.org/packages/7d/31/6e35a247acb1bfc19226791dfc7d4c30002cd4e620e11e58b0ddf836fe52/numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0bb3a4a61e1d327e035275d2a993c96fa786e4913aa089843e6a2d9dd205c66a", size = 5378989, upload-time = "2025-06-21T11:48:19.998Z" }, + { url = "https://files.pythonhosted.org/packages/b0/25/93b621219bb6f5a2d4e713a824522c69ab1f06a57cd571cda70e2e31af44/numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e344eb79dab01f1e838ebb67aab09965fb271d6da6b00adda26328ac27d4a66e", size = 6912890, upload-time = "2025-06-21T11:48:31.376Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/6b06ed98d11fb32e27fb59468b42383f3877146d3ee639f733776b6ac596/numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:467db865b392168ceb1ef1ffa6f5a86e62468c43e0cfb4ab6da667ede10e58db", size = 14569032, upload-time = "2025-06-21T11:48:52.563Z" }, + { url = "https://files.pythonhosted.org/packages/75/c9/9bec03675192077467a9c7c2bdd1f2e922bd01d3a69b15c3a0fdcd8548f6/numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:afed2ce4a84f6b0fc6c1ce734ff368cbf5a5e24e8954a338f3bdffa0718adffb", size = 16930354, upload-time = "2025-06-21T11:49:17.473Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e2/5756a00cabcf50a3f527a0c968b2b4881c62b1379223931853114fa04cda/numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0025048b3c1557a20bc80d06fdeb8cc7fc193721484cca82b2cfa072fec71a93", size = 15879605, upload-time = "2025-06-21T11:49:41.161Z" }, + { url = "https://files.pythonhosted.org/packages/ff/86/a471f65f0a86f1ca62dcc90b9fa46174dd48f50214e5446bc16a775646c5/numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a5ee121b60aa509679b682819c602579e1df14a5b07fe95671c8849aad8f2115", size = 18666994, upload-time = "2025-06-21T11:50:08.516Z" }, + { url = "https://files.pythonhosted.org/packages/43/a6/482a53e469b32be6500aaf61cfafd1de7a0b0d484babf679209c3298852e/numpy-2.3.1-cp311-cp311-win32.whl", hash = "sha256:a8b740f5579ae4585831b3cf0e3b0425c667274f82a484866d2adf9570539369", size = 6603672, upload-time = "2025-06-21T11:50:19.584Z" }, + { url = "https://files.pythonhosted.org/packages/6b/fb/bb613f4122c310a13ec67585c70e14b03bfc7ebabd24f4d5138b97371d7c/numpy-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4580adadc53311b163444f877e0789f1c8861e2698f6b2a4ca852fda154f3ff", size = 13024015, upload-time = "2025-06-21T11:50:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/51/58/2d842825af9a0c041aca246dc92eb725e1bc5e1c9ac89712625db0c4e11c/numpy-2.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:ec0bdafa906f95adc9a0c6f26a4871fa753f25caaa0e032578a30457bff0af6a", size = 10456989, upload-time = "2025-06-21T11:50:55.616Z" }, + { url = "https://files.pythonhosted.org/packages/c6/56/71ad5022e2f63cfe0ca93559403d0edef14aea70a841d640bd13cdba578e/numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d", size = 20896664, upload-time = "2025-06-21T12:15:30.845Z" }, + { url = "https://files.pythonhosted.org/packages/25/65/2db52ba049813670f7f987cc5db6dac9be7cd95e923cc6832b3d32d87cef/numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29", size = 14131078, upload-time = "2025-06-21T12:15:52.23Z" }, + { url = "https://files.pythonhosted.org/packages/57/dd/28fa3c17b0e751047ac928c1e1b6990238faad76e9b147e585b573d9d1bd/numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc", size = 5112554, upload-time = "2025-06-21T12:16:01.434Z" }, + { url = "https://files.pythonhosted.org/packages/c9/fc/84ea0cba8e760c4644b708b6819d91784c290288c27aca916115e3311d17/numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943", size = 6646560, upload-time = "2025-06-21T12:16:11.895Z" }, + { url = "https://files.pythonhosted.org/packages/61/b2/512b0c2ddec985ad1e496b0bd853eeb572315c0f07cd6997473ced8f15e2/numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25", size = 14260638, upload-time = "2025-06-21T12:16:32.611Z" }, + { url = "https://files.pythonhosted.org/packages/6e/45/c51cb248e679a6c6ab14b7a8e3ead3f4a3fe7425fc7a6f98b3f147bec532/numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660", size = 16632729, upload-time = "2025-06-21T12:16:57.439Z" }, + { url = "https://files.pythonhosted.org/packages/e4/ff/feb4be2e5c09a3da161b412019caf47183099cbea1132fd98061808c2df2/numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952", size = 15565330, upload-time = "2025-06-21T12:17:20.638Z" }, + { url = "https://files.pythonhosted.org/packages/bc/6d/ceafe87587101e9ab0d370e4f6e5f3f3a85b9a697f2318738e5e7e176ce3/numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77", size = 18361734, upload-time = "2025-06-21T12:17:47.938Z" }, + { url = "https://files.pythonhosted.org/packages/2b/19/0fb49a3ea088be691f040c9bf1817e4669a339d6e98579f91859b902c636/numpy-2.3.1-cp312-cp312-win32.whl", hash = "sha256:e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab", size = 6320411, upload-time = "2025-06-21T12:17:58.475Z" }, + { url = "https://files.pythonhosted.org/packages/b1/3e/e28f4c1dd9e042eb57a3eb652f200225e311b608632bc727ae378623d4f8/numpy-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76", size = 12734973, upload-time = "2025-06-21T12:18:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/04/a8/8a5e9079dc722acf53522b8f8842e79541ea81835e9b5483388701421073/numpy-2.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30", size = 10191491, upload-time = "2025-06-21T12:18:33.585Z" }, + { url = "https://files.pythonhosted.org/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8", size = 20889381, upload-time = "2025-06-21T12:19:04.103Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e", size = 14152726, upload-time = "2025-06-21T12:19:25.599Z" }, + { url = "https://files.pythonhosted.org/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0", size = 5105145, upload-time = "2025-06-21T12:19:34.782Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d", size = 6639409, upload-time = "2025-06-21T12:19:45.228Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1", size = 14257630, upload-time = "2025-06-21T12:20:06.544Z" }, + { url = "https://files.pythonhosted.org/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1", size = 16627546, upload-time = "2025-06-21T12:20:31.002Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0", size = 15562538, upload-time = "2025-06-21T12:20:54.322Z" }, + { url = "https://files.pythonhosted.org/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8", size = 18360327, upload-time = "2025-06-21T12:21:21.053Z" }, + { url = "https://files.pythonhosted.org/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8", size = 6312330, upload-time = "2025-06-21T12:25:07.447Z" }, + { url = "https://files.pythonhosted.org/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42", size = 12731565, upload-time = "2025-06-21T12:25:26.444Z" }, + { url = "https://files.pythonhosted.org/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e", size = 10190262, upload-time = "2025-06-21T12:25:42.196Z" }, + { url = "https://files.pythonhosted.org/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8", size = 20987593, upload-time = "2025-06-21T12:21:51.664Z" }, + { url = "https://files.pythonhosted.org/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb", size = 14300523, upload-time = "2025-06-21T12:22:13.583Z" }, + { url = "https://files.pythonhosted.org/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee", size = 5227993, upload-time = "2025-06-21T12:22:22.53Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992", size = 6736652, upload-time = "2025-06-21T12:22:33.629Z" }, + { url = "https://files.pythonhosted.org/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c", size = 14331561, upload-time = "2025-06-21T12:22:55.056Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48", size = 16693349, upload-time = "2025-06-21T12:23:20.53Z" }, + { url = "https://files.pythonhosted.org/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee", size = 15642053, upload-time = "2025-06-21T12:23:43.697Z" }, + { url = "https://files.pythonhosted.org/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280", size = 18434184, upload-time = "2025-06-21T12:24:10.708Z" }, + { url = "https://files.pythonhosted.org/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e", size = 6440678, upload-time = "2025-06-21T12:24:21.596Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc", size = 12870697, upload-time = "2025-06-21T12:24:40.644Z" }, + { url = "https://files.pythonhosted.org/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244", size = 10260376, upload-time = "2025-06-21T12:24:56.884Z" }, + { url = "https://files.pythonhosted.org/packages/e8/34/facc13b9b42ddca30498fc51f7f73c3d0f2be179943a4b4da8686e259740/numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3", size = 21070637, upload-time = "2025-06-21T12:26:12.518Z" }, + { url = "https://files.pythonhosted.org/packages/65/b6/41b705d9dbae04649b529fc9bd3387664c3281c7cd78b404a4efe73dcc45/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b", size = 5304087, upload-time = "2025-06-21T12:26:22.294Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/fe3ac1902bff7a4934a22d49e1c9d71a623204d654d4cc43c6e8fe337fcb/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7", size = 6817588, upload-time = "2025-06-21T12:26:32.939Z" }, + { url = "https://files.pythonhosted.org/packages/ae/ee/89bedf69c36ace1ac8f59e97811c1f5031e179a37e4821c3a230bf750142/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df", size = 14399010, upload-time = "2025-06-21T12:26:54.086Z" }, + { url = "https://files.pythonhosted.org/packages/15/08/e00e7070ede29b2b176165eba18d6f9784d5349be3c0c1218338e79c27fd/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68", size = 16752042, upload-time = "2025-06-21T12:27:19.018Z" }, + { url = "https://files.pythonhosted.org/packages/48/6b/1c6b515a83d5564b1698a61efa245727c8feecf308f4091f565988519d20/numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb", size = 12927246, upload-time = "2025-06-21T12:27:38.618Z" }, ] [[package]] name = "openai" -version = "1.91.0" +version = "1.92.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -967,18 +1036,18 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0f/e2/a22f2973b729eff3f1f429017bdf717930c5de0fbf9e14017bae330e4e7a/openai-1.91.0.tar.gz", hash = "sha256:d6b07730d2f7c6745d0991997c16f85cddfc90ddcde8d569c862c30716b9fc90", size = 472529 } +sdist = { url = "https://files.pythonhosted.org/packages/37/3f/75ad8dfe1ee4e6daacebc5a8145878c00b22c4b89e3446228d3ffccbf726/openai-1.92.0.tar.gz", hash = "sha256:acaf4ee5fca8611a09035e37ceb69a352b4a84e25b103f0fc1ccc696bf9a16f0", size = 485264, upload-time = "2025-06-26T16:57:18.996Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7a/d2/f99bdd6fc737d6b3cf0df895508d621fc9a386b375a1230ee81d46c5436e/openai-1.91.0-py3-none-any.whl", hash = "sha256:207f87aa3bc49365e014fac2f7e291b99929f4fe126c4654143440e0ad446a5f", size = 735837 }, + { url = "https://files.pythonhosted.org/packages/68/66/8f85019b7943e4976d931fdb0e2b973090b4dac999c3e90844d2336f1184/openai-1.92.0-py3-none-any.whl", hash = "sha256:99210715bad1a4de5a387993aca7e4e8e5a742f1e185eefe2f805001cc2c21f3", size = 753397, upload-time = "2025-06-26T16:57:17.038Z" }, ] [[package]] name = "packaging" version = "24.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950, upload-time = "2024-11-08T09:47:47.202Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451, upload-time = "2024-11-08T09:47:44.722Z" }, ] [[package]] @@ -986,79 +1055,80 @@ name = "pgvector" version = "0.4.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/44/43/9a0fb552ab4fd980680c2037962e331820f67585df740bedc4a2b50faf20/pgvector-0.4.1.tar.gz", hash = "sha256:83d3a1c044ff0c2f1e95d13dfb625beb0b65506cfec0941bfe81fd0ad44f4003", size = 30646 } +sdist = { url = "https://files.pythonhosted.org/packages/44/43/9a0fb552ab4fd980680c2037962e331820f67585df740bedc4a2b50faf20/pgvector-0.4.1.tar.gz", hash = "sha256:83d3a1c044ff0c2f1e95d13dfb625beb0b65506cfec0941bfe81fd0ad44f4003", size = 30646, upload-time = "2025-04-26T18:56:37.151Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/21/b5735d5982892c878ff3d01bb06e018c43fc204428361ee9fc25a1b2125c/pgvector-0.4.1-py3-none-any.whl", hash = "sha256:34bb4e99e1b13d08a2fe82dda9f860f15ddcd0166fbb25bffe15821cbfeb7362", size = 27086 }, + { url = "https://files.pythonhosted.org/packages/bf/21/b5735d5982892c878ff3d01bb06e018c43fc204428361ee9fc25a1b2125c/pgvector-0.4.1-py3-none-any.whl", hash = "sha256:34bb4e99e1b13d08a2fe82dda9f860f15ddcd0166fbb25bffe15821cbfeb7362", size = 27086, upload-time = "2025-04-26T18:56:35.956Z" }, ] [[package]] name = "pillow" version = "10.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059 } +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload-time = "2024-07-01T09:48:43.583Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271 }, - { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658 }, - { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075 }, - { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808 }, - { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290 }, - { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163 }, - { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100 }, - { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880 }, - { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218 }, - { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487 }, - { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265 }, - { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655 }, - { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304 }, - { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804 }, - { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126 }, - { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541 }, - { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616 }, - { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802 }, - { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213 }, - { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498 }, - { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219 }, - { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350 }, - { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980 }, - { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799 }, - { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973 }, - { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054 }, - { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484 }, - { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375 }, - { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773 }, - { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690 }, - { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951 }, - { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427 }, - { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685 }, - { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883 }, - { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837 }, - { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562 }, - { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761 }, - { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767 }, - { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989 }, - { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255 }, - { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603 }, - { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972 }, - { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375 }, - { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889 }, - { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160 }, - { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020 }, - { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539 }, - { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125 }, - { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373 }, - { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661 }, + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271, upload-time = "2024-07-01T09:45:22.07Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658, upload-time = "2024-07-01T09:45:25.292Z" }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075, upload-time = "2024-07-01T09:45:27.94Z" }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808, upload-time = "2024-07-01T09:45:30.305Z" }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290, upload-time = "2024-07-01T09:45:32.868Z" }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163, upload-time = "2024-07-01T09:45:35.279Z" }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100, upload-time = "2024-07-01T09:45:37.74Z" }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880, upload-time = "2024-07-01T09:45:39.89Z" }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218, upload-time = "2024-07-01T09:45:42.771Z" }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487, upload-time = "2024-07-01T09:45:45.176Z" }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219, upload-time = "2024-07-01T09:45:47.274Z" }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265, upload-time = "2024-07-01T09:45:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655, upload-time = "2024-07-01T09:45:52.462Z" }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304, upload-time = "2024-07-01T09:45:55.006Z" }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804, upload-time = "2024-07-01T09:45:58.437Z" }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126, upload-time = "2024-07-01T09:46:00.713Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541, upload-time = "2024-07-01T09:46:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616, upload-time = "2024-07-01T09:46:05.356Z" }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802, upload-time = "2024-07-01T09:46:08.145Z" }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213, upload-time = "2024-07-01T09:46:10.211Z" }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498, upload-time = "2024-07-01T09:46:12.685Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219, upload-time = "2024-07-01T09:46:14.83Z" }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350, upload-time = "2024-07-01T09:46:17.177Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980, upload-time = "2024-07-01T09:46:19.169Z" }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799, upload-time = "2024-07-01T09:46:21.883Z" }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973, upload-time = "2024-07-01T09:46:24.321Z" }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054, upload-time = "2024-07-01T09:46:26.825Z" }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484, upload-time = "2024-07-01T09:46:29.355Z" }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375, upload-time = "2024-07-01T09:46:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773, upload-time = "2024-07-01T09:46:33.73Z" }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690, upload-time = "2024-07-01T09:46:36.587Z" }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951, upload-time = "2024-07-01T09:46:38.777Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427, upload-time = "2024-07-01T09:46:43.15Z" }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload-time = "2024-07-01T09:46:45.194Z" }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload-time = "2024-07-01T09:46:47.331Z" }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload-time = "2024-07-01T09:46:49.647Z" }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload-time = "2024-07-01T09:46:51.811Z" }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload-time = "2024-07-01T09:46:53.961Z" }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload-time = "2024-07-01T09:46:56.664Z" }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload-time = "2024-07-01T09:46:58.977Z" }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload-time = "2024-07-01T09:47:01.189Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889, upload-time = "2024-07-01T09:48:04.815Z" }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160, upload-time = "2024-07-01T09:48:07.206Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020, upload-time = "2024-07-01T09:48:09.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539, upload-time = "2024-07-01T09:48:12.529Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125, upload-time = "2024-07-01T09:48:14.891Z" }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373, upload-time = "2024-07-01T09:48:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661, upload-time = "2024-07-01T09:48:20.293Z" }, ] [[package]] name = "pluggy" version = "1.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] [[package]] @@ -1068,23 +1138,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012", size = 56142 } +sdist = { url = "https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012", size = 56142, upload-time = "2025-03-10T15:54:38.843Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/6d/280c4c2ce28b1593a19ad5239c8b826871fc6ec275c21afc8e1820108039/proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66", size = 50163 }, + { url = "https://files.pythonhosted.org/packages/4e/6d/280c4c2ce28b1593a19ad5239c8b826871fc6ec275c21afc8e1820108039/proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66", size = 50163, upload-time = "2025-03-10T15:54:37.335Z" }, ] [[package]] name = "protobuf" version = "6.31.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz", hash = "sha256:d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a", size = 441797 } +sdist = { url = "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz", hash = "sha256:d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a", size = 441797, upload-time = "2025-05-28T19:25:54.947Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/6f/6ab8e4bf962fd5570d3deaa2d5c38f0a363f57b4501047b5ebeb83ab1125/protobuf-6.31.1-cp310-abi3-win32.whl", hash = "sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9", size = 423603 }, - { url = "https://files.pythonhosted.org/packages/44/3a/b15c4347dd4bf3a1b0ee882f384623e2063bb5cf9fa9d57990a4f7df2fb6/protobuf-6.31.1-cp310-abi3-win_amd64.whl", hash = "sha256:426f59d2964864a1a366254fa703b8632dcec0790d8862d30034d8245e1cd447", size = 435283 }, - { url = "https://files.pythonhosted.org/packages/6a/c9/b9689a2a250264a84e66c46d8862ba788ee7a641cdca39bccf64f59284b7/protobuf-6.31.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:6f1227473dc43d44ed644425268eb7c2e488ae245d51c6866d19fe158e207402", size = 425604 }, - { url = "https://files.pythonhosted.org/packages/76/a1/7a5a94032c83375e4fe7e7f56e3976ea6ac90c5e85fac8576409e25c39c3/protobuf-6.31.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:a40fc12b84c154884d7d4c4ebd675d5b3b5283e155f324049ae396b95ddebc39", size = 322115 }, - { url = "https://files.pythonhosted.org/packages/fa/b1/b59d405d64d31999244643d88c45c8241c58f17cc887e73bcb90602327f8/protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4ee898bf66f7a8b0bd21bce523814e6fbd8c6add948045ce958b73af7e8878c6", size = 321070 }, - { url = "https://files.pythonhosted.org/packages/f7/af/ab3c51ab7507a7325e98ffe691d9495ee3d3aa5f589afad65ec920d39821/protobuf-6.31.1-py3-none-any.whl", hash = "sha256:720a6c7e6b77288b85063569baae8536671b39f15cc22037ec7045658d80489e", size = 168724 }, + { url = "https://files.pythonhosted.org/packages/f3/6f/6ab8e4bf962fd5570d3deaa2d5c38f0a363f57b4501047b5ebeb83ab1125/protobuf-6.31.1-cp310-abi3-win32.whl", hash = "sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9", size = 423603, upload-time = "2025-05-28T19:25:41.198Z" }, + { url = "https://files.pythonhosted.org/packages/44/3a/b15c4347dd4bf3a1b0ee882f384623e2063bb5cf9fa9d57990a4f7df2fb6/protobuf-6.31.1-cp310-abi3-win_amd64.whl", hash = "sha256:426f59d2964864a1a366254fa703b8632dcec0790d8862d30034d8245e1cd447", size = 435283, upload-time = "2025-05-28T19:25:44.275Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c9/b9689a2a250264a84e66c46d8862ba788ee7a641cdca39bccf64f59284b7/protobuf-6.31.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:6f1227473dc43d44ed644425268eb7c2e488ae245d51c6866d19fe158e207402", size = 425604, upload-time = "2025-05-28T19:25:45.702Z" }, + { url = "https://files.pythonhosted.org/packages/76/a1/7a5a94032c83375e4fe7e7f56e3976ea6ac90c5e85fac8576409e25c39c3/protobuf-6.31.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:a40fc12b84c154884d7d4c4ebd675d5b3b5283e155f324049ae396b95ddebc39", size = 322115, upload-time = "2025-05-28T19:25:47.128Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b1/b59d405d64d31999244643d88c45c8241c58f17cc887e73bcb90602327f8/protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4ee898bf66f7a8b0bd21bce523814e6fbd8c6add948045ce958b73af7e8878c6", size = 321070, upload-time = "2025-05-28T19:25:50.036Z" }, + { url = "https://files.pythonhosted.org/packages/f7/af/ab3c51ab7507a7325e98ffe691d9495ee3d3aa5f589afad65ec920d39821/protobuf-6.31.1-py3-none-any.whl", hash = "sha256:720a6c7e6b77288b85063569baae8536671b39f15cc22037ec7045658d80489e", size = 168724, upload-time = "2025-05-28T19:25:53.926Z" }, ] [[package]] @@ -1095,9 +1165,9 @@ dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.13'" }, { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/27/4a/93a6ab570a8d1a4ad171a1f4256e205ce48d828781312c0bbaff36380ecb/psycopg-3.2.9.tar.gz", hash = "sha256:2fbb46fcd17bc81f993f28c47f1ebea38d66ae97cc2dbc3cad73b37cefbff700", size = 158122 } +sdist = { url = "https://files.pythonhosted.org/packages/27/4a/93a6ab570a8d1a4ad171a1f4256e205ce48d828781312c0bbaff36380ecb/psycopg-3.2.9.tar.gz", hash = "sha256:2fbb46fcd17bc81f993f28c47f1ebea38d66ae97cc2dbc3cad73b37cefbff700", size = 158122, upload-time = "2025-05-13T16:11:15.533Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/44/b0/a73c195a56eb6b92e937a5ca58521a5c3346fb233345adc80fd3e2f542e2/psycopg-3.2.9-py3-none-any.whl", hash = "sha256:01a8dadccdaac2123c916208c96e06631641c0566b22005493f09663c7a8d3b6", size = 202705 }, + { url = "https://files.pythonhosted.org/packages/44/b0/a73c195a56eb6b92e937a5ca58521a5c3346fb233345adc80fd3e2f542e2/psycopg-3.2.9-py3-none-any.whl", hash = "sha256:01a8dadccdaac2123c916208c96e06631641c0566b22005493f09663c7a8d3b6", size = 202705, upload-time = "2025-05-13T16:06:26.584Z" }, ] [package.optional-dependencies] @@ -1110,83 +1180,83 @@ name = "psycopg-binary" version = "3.2.9" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/ce/d677bc51f9b180986e5515268603519cee682eb6b5e765ae46cdb8526579/psycopg_binary-3.2.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:528239bbf55728ba0eacbd20632342867590273a9bacedac7538ebff890f1093", size = 4033081 }, - { url = "https://files.pythonhosted.org/packages/de/f4/b56263eb20dc36d71d7188622872098400536928edf86895736e28546b3c/psycopg_binary-3.2.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4978c01ca4c208c9d6376bd585e2c0771986b76ff7ea518f6d2b51faece75e8", size = 4082141 }, - { url = "https://files.pythonhosted.org/packages/68/47/5316c3b0a2b1ff5f1d440a27638250569994534874a2ce88bf24f5c51c0f/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ed2bab85b505d13e66a914d0f8cdfa9475c16d3491cf81394e0748b77729af2", size = 4678993 }, - { url = "https://files.pythonhosted.org/packages/53/24/b2c667b59f07fd7d7805c0c2074351bf2b98a336c5030d961db316512ffb/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:799fa1179ab8a58d1557a95df28b492874c8f4135101b55133ec9c55fc9ae9d7", size = 4500117 }, - { url = "https://files.pythonhosted.org/packages/ae/91/a08f8878b0fe0b34b083c149df950bce168bc1b18b2fe849fa42bf4378d4/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb37ac3955d19e4996c3534abfa4f23181333974963826db9e0f00731274b695", size = 4766985 }, - { url = "https://files.pythonhosted.org/packages/10/be/3a45d5b7d8f4c4332fd42465f2170b5aef4d28a7c79e79ac7e5e1dac74d7/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:001e986656f7e06c273dd4104e27f4b4e0614092e544d950c7c938d822b1a894", size = 4461990 }, - { url = "https://files.pythonhosted.org/packages/03/ce/20682b9a4fc270d8dc644a0b16c1978732146c6ff0abbc48fbab2f4a70aa/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa5c80d8b4cbf23f338db88a7251cef8bb4b68e0f91cf8b6ddfa93884fdbb0c1", size = 3777947 }, - { url = "https://files.pythonhosted.org/packages/07/5c/f6d486e00bcd8709908ccdd436b2a190d390dfd61e318de4060bc6ee2a1e/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:39a127e0cf9b55bd4734a8008adf3e01d1fd1cb36339c6a9e2b2cbb6007c50ee", size = 3337502 }, - { url = "https://files.pythonhosted.org/packages/0b/a1/086508e929c0123a7f532840bb0a0c8a1ebd7e06aef3ee7fa44a3589bcdf/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fb7599e436b586e265bea956751453ad32eb98be6a6e694252f4691c31b16edb", size = 3440809 }, - { url = "https://files.pythonhosted.org/packages/40/f2/3a347a0f894355a6b173fca2202eca279b6197727b24e4896cf83f4263ee/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5d2c9fe14fe42b3575a0b4e09b081713e83b762c8dc38a3771dd3265f8f110e7", size = 3497231 }, - { url = "https://files.pythonhosted.org/packages/18/31/0845a385eb6f4521b398793293b5f746a101e80d5c43792990442d26bc2e/psycopg_binary-3.2.9-cp310-cp310-win_amd64.whl", hash = "sha256:7e4660fad2807612bb200de7262c88773c3483e85d981324b3c647176e41fdc8", size = 2936845 }, - { url = "https://files.pythonhosted.org/packages/b6/84/259ea58aca48e03c3c793b4ccfe39ed63db7b8081ef784d039330d9eed96/psycopg_binary-3.2.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2504e9fd94eabe545d20cddcc2ff0da86ee55d76329e1ab92ecfcc6c0a8156c4", size = 4040785 }, - { url = "https://files.pythonhosted.org/packages/25/22/ce58ffda2b7e36e45042b4d67f1bbd4dd2ccf4cfd2649696685c61046475/psycopg_binary-3.2.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:093a0c079dd6228a7f3c3d82b906b41964eaa062a9a8c19f45ab4984bf4e872b", size = 4087601 }, - { url = "https://files.pythonhosted.org/packages/c6/4f/b043e85268650c245025e80039b79663d8986f857bc3d3a72b1de67f3550/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:387c87b51d72442708e7a853e7e7642717e704d59571da2f3b29e748be58c78a", size = 4676524 }, - { url = "https://files.pythonhosted.org/packages/da/29/7afbfbd3740ea52fda488db190ef2ef2a9ff7379b85501a2142fb9f7dd56/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9ac10a2ebe93a102a326415b330fff7512f01a9401406896e78a81d75d6eddc", size = 4495671 }, - { url = "https://files.pythonhosted.org/packages/ea/eb/df69112d18a938cbb74efa1573082248437fa663ba66baf2cdba8a95a2d0/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:72fdbda5b4c2a6a72320857ef503a6589f56d46821592d4377c8c8604810342b", size = 4768132 }, - { url = "https://files.pythonhosted.org/packages/76/fe/4803b20220c04f508f50afee9169268553f46d6eed99640a08c8c1e76409/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f34e88940833d46108f949fdc1fcfb74d6b5ae076550cd67ab59ef47555dba95", size = 4458394 }, - { url = "https://files.pythonhosted.org/packages/0f/0f/5ecc64607ef6f62b04e610b7837b1a802ca6f7cb7211339f5d166d55f1dd/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a3e0f89fe35cb03ff1646ab663dabf496477bab2a072315192dbaa6928862891", size = 3776879 }, - { url = "https://files.pythonhosted.org/packages/c8/d8/1c3d6e99b7db67946d0eac2cd15d10a79aa7b1e3222ce4aa8e7df72027f5/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6afb3e62f2a3456f2180a4eef6b03177788df7ce938036ff7f09b696d418d186", size = 3333329 }, - { url = "https://files.pythonhosted.org/packages/d7/02/a4e82099816559f558ccaf2b6945097973624dc58d5d1c91eb1e54e5a8e9/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:cc19ed5c7afca3f6b298bfc35a6baa27adb2019670d15c32d0bb8f780f7d560d", size = 3435683 }, - { url = "https://files.pythonhosted.org/packages/91/e4/f27055290d58e8818bed8a297162a096ef7f8ecdf01d98772d4b02af46c4/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bc75f63653ce4ec764c8f8c8b0ad9423e23021e1c34a84eb5f4ecac8538a4a4a", size = 3497124 }, - { url = "https://files.pythonhosted.org/packages/67/3d/17ed07579625529534605eeaeba34f0536754a5667dbf20ea2624fc80614/psycopg_binary-3.2.9-cp311-cp311-win_amd64.whl", hash = "sha256:3db3ba3c470801e94836ad78bf11fd5fab22e71b0c77343a1ee95d693879937a", size = 2939520 }, - { url = "https://files.pythonhosted.org/packages/29/6f/ec9957e37a606cd7564412e03f41f1b3c3637a5be018d0849914cb06e674/psycopg_binary-3.2.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:be7d650a434921a6b1ebe3fff324dbc2364393eb29d7672e638ce3e21076974e", size = 4022205 }, - { url = "https://files.pythonhosted.org/packages/6b/ba/497b8bea72b20a862ac95a94386967b745a472d9ddc88bc3f32d5d5f0d43/psycopg_binary-3.2.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6a76b4722a529390683c0304501f238b365a46b1e5fb6b7249dbc0ad6fea51a0", size = 4083795 }, - { url = "https://files.pythonhosted.org/packages/42/07/af9503e8e8bdad3911fd88e10e6a29240f9feaa99f57d6fac4a18b16f5a0/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96a551e4683f1c307cfc3d9a05fec62c00a7264f320c9962a67a543e3ce0d8ff", size = 4655043 }, - { url = "https://files.pythonhosted.org/packages/28/ed/aff8c9850df1648cc6a5cc7a381f11ee78d98a6b807edd4a5ae276ad60ad/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:61d0a6ceed8f08c75a395bc28cb648a81cf8dee75ba4650093ad1a24a51c8724", size = 4477972 }, - { url = "https://files.pythonhosted.org/packages/5c/bd/8e9d1b77ec1a632818fe2f457c3a65af83c68710c4c162d6866947d08cc5/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad280bbd409bf598683dda82232f5215cfc5f2b1bf0854e409b4d0c44a113b1d", size = 4737516 }, - { url = "https://files.pythonhosted.org/packages/46/ec/222238f774cd5a0881f3f3b18fb86daceae89cc410f91ef6a9fb4556f236/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76eddaf7fef1d0994e3d536ad48aa75034663d3a07f6f7e3e601105ae73aeff6", size = 4436160 }, - { url = "https://files.pythonhosted.org/packages/37/78/af5af2a1b296eeca54ea7592cd19284739a844974c9747e516707e7b3b39/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:52e239cd66c4158e412318fbe028cd94b0ef21b0707f56dcb4bdc250ee58fd40", size = 3753518 }, - { url = "https://files.pythonhosted.org/packages/ec/ac/8a3ed39ea069402e9e6e6a2f79d81a71879708b31cc3454283314994b1ae/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:08bf9d5eabba160dd4f6ad247cf12f229cc19d2458511cab2eb9647f42fa6795", size = 3313598 }, - { url = "https://files.pythonhosted.org/packages/da/43/26549af068347c808fbfe5f07d2fa8cef747cfff7c695136172991d2378b/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1b2cf018168cad87580e67bdde38ff5e51511112f1ce6ce9a8336871f465c19a", size = 3407289 }, - { url = "https://files.pythonhosted.org/packages/67/55/ea8d227c77df8e8aec880ded398316735add8fda5eb4ff5cc96fac11e964/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:14f64d1ac6942ff089fc7e926440f7a5ced062e2ed0949d7d2d680dc5c00e2d4", size = 3472493 }, - { url = "https://files.pythonhosted.org/packages/3c/02/6ff2a5bc53c3cd653d281666728e29121149179c73fddefb1e437024c192/psycopg_binary-3.2.9-cp312-cp312-win_amd64.whl", hash = "sha256:7a838852e5afb6b4126f93eb409516a8c02a49b788f4df8b6469a40c2157fa21", size = 2927400 }, - { url = "https://files.pythonhosted.org/packages/28/0b/f61ff4e9f23396aca674ed4d5c9a5b7323738021d5d72d36d8b865b3deaf/psycopg_binary-3.2.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:98bbe35b5ad24a782c7bf267596638d78aa0e87abc7837bdac5b2a2ab954179e", size = 4017127 }, - { url = "https://files.pythonhosted.org/packages/bc/00/7e181fb1179fbfc24493738b61efd0453d4b70a0c4b12728e2b82db355fd/psycopg_binary-3.2.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:72691a1615ebb42da8b636c5ca9f2b71f266be9e172f66209a361c175b7842c5", size = 4080322 }, - { url = "https://files.pythonhosted.org/packages/58/fd/94fc267c1d1392c4211e54ccb943be96ea4032e761573cf1047951887494/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25ab464bfba8c401f5536d5aa95f0ca1dd8257b5202eede04019b4415f491351", size = 4655097 }, - { url = "https://files.pythonhosted.org/packages/41/17/31b3acf43de0b2ba83eac5878ff0dea5a608ca2a5c5dd48067999503a9de/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e8aeefebe752f46e3c4b769e53f1d4ad71208fe1150975ef7662c22cca80fab", size = 4482114 }, - { url = "https://files.pythonhosted.org/packages/85/78/b4d75e5fd5a85e17f2beb977abbba3389d11a4536b116205846b0e1cf744/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7e4e4dd177a8665c9ce86bc9caae2ab3aa9360b7ce7ec01827ea1baea9ff748", size = 4737693 }, - { url = "https://files.pythonhosted.org/packages/3b/95/7325a8550e3388b00b5e54f4ced5e7346b531eb4573bf054c3dbbfdc14fe/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fc2915949e5c1ea27a851f7a472a7da7d0a40d679f0a31e42f1022f3c562e87", size = 4437423 }, - { url = "https://files.pythonhosted.org/packages/1a/db/cef77d08e59910d483df4ee6da8af51c03bb597f500f1fe818f0f3b925d3/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a1fa38a4687b14f517f049477178093c39c2a10fdcced21116f47c017516498f", size = 3758667 }, - { url = "https://files.pythonhosted.org/packages/95/3e/252fcbffb47189aa84d723b54682e1bb6d05c8875fa50ce1ada914ae6e28/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5be8292d07a3ab828dc95b5ee6b69ca0a5b2e579a577b39671f4f5b47116dfd2", size = 3320576 }, - { url = "https://files.pythonhosted.org/packages/1c/cd/9b5583936515d085a1bec32b45289ceb53b80d9ce1cea0fef4c782dc41a7/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:778588ca9897b6c6bab39b0d3034efff4c5438f5e3bd52fda3914175498202f9", size = 3411439 }, - { url = "https://files.pythonhosted.org/packages/45/6b/6f1164ea1634c87956cdb6db759e0b8c5827f989ee3cdff0f5c70e8331f2/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f0d5b3af045a187aedbd7ed5fc513bd933a97aaff78e61c3745b330792c4345b", size = 3477477 }, - { url = "https://files.pythonhosted.org/packages/7b/1d/bf54cfec79377929da600c16114f0da77a5f1670f45e0c3af9fcd36879bc/psycopg_binary-3.2.9-cp313-cp313-win_amd64.whl", hash = "sha256:2290bc146a1b6a9730350f695e8b670e1d1feb8446597bed0bbe7c3c30e0abcb", size = 2928009 }, + { url = "https://files.pythonhosted.org/packages/b6/ce/d677bc51f9b180986e5515268603519cee682eb6b5e765ae46cdb8526579/psycopg_binary-3.2.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:528239bbf55728ba0eacbd20632342867590273a9bacedac7538ebff890f1093", size = 4033081, upload-time = "2025-05-13T16:06:29.666Z" }, + { url = "https://files.pythonhosted.org/packages/de/f4/b56263eb20dc36d71d7188622872098400536928edf86895736e28546b3c/psycopg_binary-3.2.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4978c01ca4c208c9d6376bd585e2c0771986b76ff7ea518f6d2b51faece75e8", size = 4082141, upload-time = "2025-05-13T16:06:33.81Z" }, + { url = "https://files.pythonhosted.org/packages/68/47/5316c3b0a2b1ff5f1d440a27638250569994534874a2ce88bf24f5c51c0f/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ed2bab85b505d13e66a914d0f8cdfa9475c16d3491cf81394e0748b77729af2", size = 4678993, upload-time = "2025-05-13T16:06:36.309Z" }, + { url = "https://files.pythonhosted.org/packages/53/24/b2c667b59f07fd7d7805c0c2074351bf2b98a336c5030d961db316512ffb/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:799fa1179ab8a58d1557a95df28b492874c8f4135101b55133ec9c55fc9ae9d7", size = 4500117, upload-time = "2025-05-13T16:06:38.847Z" }, + { url = "https://files.pythonhosted.org/packages/ae/91/a08f8878b0fe0b34b083c149df950bce168bc1b18b2fe849fa42bf4378d4/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb37ac3955d19e4996c3534abfa4f23181333974963826db9e0f00731274b695", size = 4766985, upload-time = "2025-05-13T16:06:42.502Z" }, + { url = "https://files.pythonhosted.org/packages/10/be/3a45d5b7d8f4c4332fd42465f2170b5aef4d28a7c79e79ac7e5e1dac74d7/psycopg_binary-3.2.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:001e986656f7e06c273dd4104e27f4b4e0614092e544d950c7c938d822b1a894", size = 4461990, upload-time = "2025-05-13T16:06:45.971Z" }, + { url = "https://files.pythonhosted.org/packages/03/ce/20682b9a4fc270d8dc644a0b16c1978732146c6ff0abbc48fbab2f4a70aa/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa5c80d8b4cbf23f338db88a7251cef8bb4b68e0f91cf8b6ddfa93884fdbb0c1", size = 3777947, upload-time = "2025-05-13T16:06:49.134Z" }, + { url = "https://files.pythonhosted.org/packages/07/5c/f6d486e00bcd8709908ccdd436b2a190d390dfd61e318de4060bc6ee2a1e/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:39a127e0cf9b55bd4734a8008adf3e01d1fd1cb36339c6a9e2b2cbb6007c50ee", size = 3337502, upload-time = "2025-05-13T16:06:51.378Z" }, + { url = "https://files.pythonhosted.org/packages/0b/a1/086508e929c0123a7f532840bb0a0c8a1ebd7e06aef3ee7fa44a3589bcdf/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fb7599e436b586e265bea956751453ad32eb98be6a6e694252f4691c31b16edb", size = 3440809, upload-time = "2025-05-13T16:06:54.552Z" }, + { url = "https://files.pythonhosted.org/packages/40/f2/3a347a0f894355a6b173fca2202eca279b6197727b24e4896cf83f4263ee/psycopg_binary-3.2.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5d2c9fe14fe42b3575a0b4e09b081713e83b762c8dc38a3771dd3265f8f110e7", size = 3497231, upload-time = "2025-05-13T16:06:58.858Z" }, + { url = "https://files.pythonhosted.org/packages/18/31/0845a385eb6f4521b398793293b5f746a101e80d5c43792990442d26bc2e/psycopg_binary-3.2.9-cp310-cp310-win_amd64.whl", hash = "sha256:7e4660fad2807612bb200de7262c88773c3483e85d981324b3c647176e41fdc8", size = 2936845, upload-time = "2025-05-13T16:07:02.712Z" }, + { url = "https://files.pythonhosted.org/packages/b6/84/259ea58aca48e03c3c793b4ccfe39ed63db7b8081ef784d039330d9eed96/psycopg_binary-3.2.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2504e9fd94eabe545d20cddcc2ff0da86ee55d76329e1ab92ecfcc6c0a8156c4", size = 4040785, upload-time = "2025-05-13T16:07:07.569Z" }, + { url = "https://files.pythonhosted.org/packages/25/22/ce58ffda2b7e36e45042b4d67f1bbd4dd2ccf4cfd2649696685c61046475/psycopg_binary-3.2.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:093a0c079dd6228a7f3c3d82b906b41964eaa062a9a8c19f45ab4984bf4e872b", size = 4087601, upload-time = "2025-05-13T16:07:11.75Z" }, + { url = "https://files.pythonhosted.org/packages/c6/4f/b043e85268650c245025e80039b79663d8986f857bc3d3a72b1de67f3550/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:387c87b51d72442708e7a853e7e7642717e704d59571da2f3b29e748be58c78a", size = 4676524, upload-time = "2025-05-13T16:07:17.038Z" }, + { url = "https://files.pythonhosted.org/packages/da/29/7afbfbd3740ea52fda488db190ef2ef2a9ff7379b85501a2142fb9f7dd56/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9ac10a2ebe93a102a326415b330fff7512f01a9401406896e78a81d75d6eddc", size = 4495671, upload-time = "2025-05-13T16:07:21.709Z" }, + { url = "https://files.pythonhosted.org/packages/ea/eb/df69112d18a938cbb74efa1573082248437fa663ba66baf2cdba8a95a2d0/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:72fdbda5b4c2a6a72320857ef503a6589f56d46821592d4377c8c8604810342b", size = 4768132, upload-time = "2025-05-13T16:07:25.818Z" }, + { url = "https://files.pythonhosted.org/packages/76/fe/4803b20220c04f508f50afee9169268553f46d6eed99640a08c8c1e76409/psycopg_binary-3.2.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f34e88940833d46108f949fdc1fcfb74d6b5ae076550cd67ab59ef47555dba95", size = 4458394, upload-time = "2025-05-13T16:07:29.148Z" }, + { url = "https://files.pythonhosted.org/packages/0f/0f/5ecc64607ef6f62b04e610b7837b1a802ca6f7cb7211339f5d166d55f1dd/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a3e0f89fe35cb03ff1646ab663dabf496477bab2a072315192dbaa6928862891", size = 3776879, upload-time = "2025-05-13T16:07:32.503Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d8/1c3d6e99b7db67946d0eac2cd15d10a79aa7b1e3222ce4aa8e7df72027f5/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6afb3e62f2a3456f2180a4eef6b03177788df7ce938036ff7f09b696d418d186", size = 3333329, upload-time = "2025-05-13T16:07:35.555Z" }, + { url = "https://files.pythonhosted.org/packages/d7/02/a4e82099816559f558ccaf2b6945097973624dc58d5d1c91eb1e54e5a8e9/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:cc19ed5c7afca3f6b298bfc35a6baa27adb2019670d15c32d0bb8f780f7d560d", size = 3435683, upload-time = "2025-05-13T16:07:37.863Z" }, + { url = "https://files.pythonhosted.org/packages/91/e4/f27055290d58e8818bed8a297162a096ef7f8ecdf01d98772d4b02af46c4/psycopg_binary-3.2.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bc75f63653ce4ec764c8f8c8b0ad9423e23021e1c34a84eb5f4ecac8538a4a4a", size = 3497124, upload-time = "2025-05-13T16:07:40.567Z" }, + { url = "https://files.pythonhosted.org/packages/67/3d/17ed07579625529534605eeaeba34f0536754a5667dbf20ea2624fc80614/psycopg_binary-3.2.9-cp311-cp311-win_amd64.whl", hash = "sha256:3db3ba3c470801e94836ad78bf11fd5fab22e71b0c77343a1ee95d693879937a", size = 2939520, upload-time = "2025-05-13T16:07:45.467Z" }, + { url = "https://files.pythonhosted.org/packages/29/6f/ec9957e37a606cd7564412e03f41f1b3c3637a5be018d0849914cb06e674/psycopg_binary-3.2.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:be7d650a434921a6b1ebe3fff324dbc2364393eb29d7672e638ce3e21076974e", size = 4022205, upload-time = "2025-05-13T16:07:48.195Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ba/497b8bea72b20a862ac95a94386967b745a472d9ddc88bc3f32d5d5f0d43/psycopg_binary-3.2.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6a76b4722a529390683c0304501f238b365a46b1e5fb6b7249dbc0ad6fea51a0", size = 4083795, upload-time = "2025-05-13T16:07:50.917Z" }, + { url = "https://files.pythonhosted.org/packages/42/07/af9503e8e8bdad3911fd88e10e6a29240f9feaa99f57d6fac4a18b16f5a0/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96a551e4683f1c307cfc3d9a05fec62c00a7264f320c9962a67a543e3ce0d8ff", size = 4655043, upload-time = "2025-05-13T16:07:54.857Z" }, + { url = "https://files.pythonhosted.org/packages/28/ed/aff8c9850df1648cc6a5cc7a381f11ee78d98a6b807edd4a5ae276ad60ad/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:61d0a6ceed8f08c75a395bc28cb648a81cf8dee75ba4650093ad1a24a51c8724", size = 4477972, upload-time = "2025-05-13T16:07:57.925Z" }, + { url = "https://files.pythonhosted.org/packages/5c/bd/8e9d1b77ec1a632818fe2f457c3a65af83c68710c4c162d6866947d08cc5/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad280bbd409bf598683dda82232f5215cfc5f2b1bf0854e409b4d0c44a113b1d", size = 4737516, upload-time = "2025-05-13T16:08:01.616Z" }, + { url = "https://files.pythonhosted.org/packages/46/ec/222238f774cd5a0881f3f3b18fb86daceae89cc410f91ef6a9fb4556f236/psycopg_binary-3.2.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76eddaf7fef1d0994e3d536ad48aa75034663d3a07f6f7e3e601105ae73aeff6", size = 4436160, upload-time = "2025-05-13T16:08:04.278Z" }, + { url = "https://files.pythonhosted.org/packages/37/78/af5af2a1b296eeca54ea7592cd19284739a844974c9747e516707e7b3b39/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:52e239cd66c4158e412318fbe028cd94b0ef21b0707f56dcb4bdc250ee58fd40", size = 3753518, upload-time = "2025-05-13T16:08:07.567Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ac/8a3ed39ea069402e9e6e6a2f79d81a71879708b31cc3454283314994b1ae/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:08bf9d5eabba160dd4f6ad247cf12f229cc19d2458511cab2eb9647f42fa6795", size = 3313598, upload-time = "2025-05-13T16:08:09.999Z" }, + { url = "https://files.pythonhosted.org/packages/da/43/26549af068347c808fbfe5f07d2fa8cef747cfff7c695136172991d2378b/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1b2cf018168cad87580e67bdde38ff5e51511112f1ce6ce9a8336871f465c19a", size = 3407289, upload-time = "2025-05-13T16:08:12.66Z" }, + { url = "https://files.pythonhosted.org/packages/67/55/ea8d227c77df8e8aec880ded398316735add8fda5eb4ff5cc96fac11e964/psycopg_binary-3.2.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:14f64d1ac6942ff089fc7e926440f7a5ced062e2ed0949d7d2d680dc5c00e2d4", size = 3472493, upload-time = "2025-05-13T16:08:15.672Z" }, + { url = "https://files.pythonhosted.org/packages/3c/02/6ff2a5bc53c3cd653d281666728e29121149179c73fddefb1e437024c192/psycopg_binary-3.2.9-cp312-cp312-win_amd64.whl", hash = "sha256:7a838852e5afb6b4126f93eb409516a8c02a49b788f4df8b6469a40c2157fa21", size = 2927400, upload-time = "2025-05-13T16:08:18.652Z" }, + { url = "https://files.pythonhosted.org/packages/28/0b/f61ff4e9f23396aca674ed4d5c9a5b7323738021d5d72d36d8b865b3deaf/psycopg_binary-3.2.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:98bbe35b5ad24a782c7bf267596638d78aa0e87abc7837bdac5b2a2ab954179e", size = 4017127, upload-time = "2025-05-13T16:08:21.391Z" }, + { url = "https://files.pythonhosted.org/packages/bc/00/7e181fb1179fbfc24493738b61efd0453d4b70a0c4b12728e2b82db355fd/psycopg_binary-3.2.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:72691a1615ebb42da8b636c5ca9f2b71f266be9e172f66209a361c175b7842c5", size = 4080322, upload-time = "2025-05-13T16:08:24.049Z" }, + { url = "https://files.pythonhosted.org/packages/58/fd/94fc267c1d1392c4211e54ccb943be96ea4032e761573cf1047951887494/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25ab464bfba8c401f5536d5aa95f0ca1dd8257b5202eede04019b4415f491351", size = 4655097, upload-time = "2025-05-13T16:08:27.376Z" }, + { url = "https://files.pythonhosted.org/packages/41/17/31b3acf43de0b2ba83eac5878ff0dea5a608ca2a5c5dd48067999503a9de/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e8aeefebe752f46e3c4b769e53f1d4ad71208fe1150975ef7662c22cca80fab", size = 4482114, upload-time = "2025-05-13T16:08:30.781Z" }, + { url = "https://files.pythonhosted.org/packages/85/78/b4d75e5fd5a85e17f2beb977abbba3389d11a4536b116205846b0e1cf744/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7e4e4dd177a8665c9ce86bc9caae2ab3aa9360b7ce7ec01827ea1baea9ff748", size = 4737693, upload-time = "2025-05-13T16:08:34.625Z" }, + { url = "https://files.pythonhosted.org/packages/3b/95/7325a8550e3388b00b5e54f4ced5e7346b531eb4573bf054c3dbbfdc14fe/psycopg_binary-3.2.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fc2915949e5c1ea27a851f7a472a7da7d0a40d679f0a31e42f1022f3c562e87", size = 4437423, upload-time = "2025-05-13T16:08:37.444Z" }, + { url = "https://files.pythonhosted.org/packages/1a/db/cef77d08e59910d483df4ee6da8af51c03bb597f500f1fe818f0f3b925d3/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a1fa38a4687b14f517f049477178093c39c2a10fdcced21116f47c017516498f", size = 3758667, upload-time = "2025-05-13T16:08:40.116Z" }, + { url = "https://files.pythonhosted.org/packages/95/3e/252fcbffb47189aa84d723b54682e1bb6d05c8875fa50ce1ada914ae6e28/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5be8292d07a3ab828dc95b5ee6b69ca0a5b2e579a577b39671f4f5b47116dfd2", size = 3320576, upload-time = "2025-05-13T16:08:43.243Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cd/9b5583936515d085a1bec32b45289ceb53b80d9ce1cea0fef4c782dc41a7/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:778588ca9897b6c6bab39b0d3034efff4c5438f5e3bd52fda3914175498202f9", size = 3411439, upload-time = "2025-05-13T16:08:47.321Z" }, + { url = "https://files.pythonhosted.org/packages/45/6b/6f1164ea1634c87956cdb6db759e0b8c5827f989ee3cdff0f5c70e8331f2/psycopg_binary-3.2.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f0d5b3af045a187aedbd7ed5fc513bd933a97aaff78e61c3745b330792c4345b", size = 3477477, upload-time = "2025-05-13T16:08:51.166Z" }, + { url = "https://files.pythonhosted.org/packages/7b/1d/bf54cfec79377929da600c16114f0da77a5f1670f45e0c3af9fcd36879bc/psycopg_binary-3.2.9-cp313-cp313-win_amd64.whl", hash = "sha256:2290bc146a1b6a9730350f695e8b670e1d1feb8446597bed0bbe7c3c30e0abcb", size = 2928009, upload-time = "2025-05-13T16:08:53.67Z" }, ] [[package]] name = "py" version = "1.11.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", size = 207796 } +sdist = { url = "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", size = 207796, upload-time = "2021-11-04T17:17:01.377Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", size = 98708 }, + { url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", size = 98708, upload-time = "2021-11-04T17:17:00.152Z" }, ] [[package]] name = "py-spy" version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/cd/9dacc04604dc4398ce5bed77ed59918ad0940f15165954d4aaa651cc640c/py_spy-0.4.0.tar.gz", hash = "sha256:806602ce7972782cc9c1e383f339bfc27bfb822d42485e6a3e0530ae5040e1f0", size = 253236 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/cd/9dacc04604dc4398ce5bed77ed59918ad0940f15165954d4aaa651cc640c/py_spy-0.4.0.tar.gz", hash = "sha256:806602ce7972782cc9c1e383f339bfc27bfb822d42485e6a3e0530ae5040e1f0", size = 253236, upload-time = "2024-11-01T19:08:51.487Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/7e/02ca3ee68507db47afce769504060d71b4dc1455f0f9faa8d32fc7762221/py_spy-0.4.0-py2.py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:f2cf3f7130e7d780471faa5957441d3b4e0ec39a79b2c00f4c33d494f7728428", size = 3617847 }, - { url = "https://files.pythonhosted.org/packages/65/7c/d9e26cc4c8e91f96a3a65de04d2e2e4131fbcaf6830d10917d4fab9d6788/py_spy-0.4.0-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:47cdda4c34d9b6cb01f3aaeceb2e88faf57da880207fe72ff6ff97e9bb6cc8a9", size = 1761955 }, - { url = "https://files.pythonhosted.org/packages/d2/e4/8fbfd219b7f282b80e6b2e74c9197850d2c51db8555705567bb65507b060/py_spy-0.4.0-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eee3d0bde85ca5cf4f01f012d461180ca76c24835a96f7b5c4ded64eb6a008ab", size = 2059471 }, - { url = "https://files.pythonhosted.org/packages/a7/1d/79a94a5ace810c13b730ce96765ca465c171b4952034f1be7402d8accbc1/py_spy-0.4.0-py2.py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c5f06ffce4c9c98b7fc9f5e67e5e7db591173f1351837633f3f23d9378b1d18a", size = 2067486 }, - { url = "https://files.pythonhosted.org/packages/6d/90/fbbb038f826a83ed15ebc4ae606815d6cad6c5c6399c86c7ab96f6c60817/py_spy-0.4.0-py2.py3-none-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87573e64dbfdfc89ba2e0f5e2f525aa84e0299c7eb6454b47ea335fde583a7a0", size = 2141433 }, - { url = "https://files.pythonhosted.org/packages/c9/c1/5e012669ebb687e546dc99fcfc4861ebfcf3a337b7a41af945df23140bb5/py_spy-0.4.0-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:8bf2f3702cef367a489faa45177b41a6c31b2a3e5bd78c978d44e29340152f5a", size = 2732951 }, - { url = "https://files.pythonhosted.org/packages/74/8b/dd8490660019a6b0be28d9ffd2bf1db967604b19f3f2719c0e283a16ac7f/py_spy-0.4.0-py2.py3-none-win_amd64.whl", hash = "sha256:77d8f637ade38367d944874776f45b703b7ac5938b1f7be8891f3a5876ddbb96", size = 1810770 }, + { url = "https://files.pythonhosted.org/packages/6a/7e/02ca3ee68507db47afce769504060d71b4dc1455f0f9faa8d32fc7762221/py_spy-0.4.0-py2.py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:f2cf3f7130e7d780471faa5957441d3b4e0ec39a79b2c00f4c33d494f7728428", size = 3617847, upload-time = "2024-11-01T19:08:37.44Z" }, + { url = "https://files.pythonhosted.org/packages/65/7c/d9e26cc4c8e91f96a3a65de04d2e2e4131fbcaf6830d10917d4fab9d6788/py_spy-0.4.0-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:47cdda4c34d9b6cb01f3aaeceb2e88faf57da880207fe72ff6ff97e9bb6cc8a9", size = 1761955, upload-time = "2024-11-01T19:08:39.632Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e4/8fbfd219b7f282b80e6b2e74c9197850d2c51db8555705567bb65507b060/py_spy-0.4.0-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eee3d0bde85ca5cf4f01f012d461180ca76c24835a96f7b5c4ded64eb6a008ab", size = 2059471, upload-time = "2024-11-01T19:08:41.818Z" }, + { url = "https://files.pythonhosted.org/packages/a7/1d/79a94a5ace810c13b730ce96765ca465c171b4952034f1be7402d8accbc1/py_spy-0.4.0-py2.py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c5f06ffce4c9c98b7fc9f5e67e5e7db591173f1351837633f3f23d9378b1d18a", size = 2067486, upload-time = "2024-11-01T19:08:43.673Z" }, + { url = "https://files.pythonhosted.org/packages/6d/90/fbbb038f826a83ed15ebc4ae606815d6cad6c5c6399c86c7ab96f6c60817/py_spy-0.4.0-py2.py3-none-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87573e64dbfdfc89ba2e0f5e2f525aa84e0299c7eb6454b47ea335fde583a7a0", size = 2141433, upload-time = "2024-11-01T19:08:45.988Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c1/5e012669ebb687e546dc99fcfc4861ebfcf3a337b7a41af945df23140bb5/py_spy-0.4.0-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:8bf2f3702cef367a489faa45177b41a6c31b2a3e5bd78c978d44e29340152f5a", size = 2732951, upload-time = "2024-11-01T19:08:48.109Z" }, + { url = "https://files.pythonhosted.org/packages/74/8b/dd8490660019a6b0be28d9ffd2bf1db967604b19f3f2719c0e283a16ac7f/py_spy-0.4.0-py2.py3-none-win_amd64.whl", hash = "sha256:77d8f637ade38367d944874776f45b703b7ac5938b1f7be8891f3a5876ddbb96", size = 1810770, upload-time = "2024-11-01T19:08:50.229Z" }, ] [[package]] name = "pyasn1" version = "0.6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322 } +sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322, upload-time = "2024-09-10T22:41:42.55Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135 }, + { url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135, upload-time = "2024-09-11T16:00:36.122Z" }, ] [[package]] @@ -1196,9 +1266,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyasn1" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892 } +sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892, upload-time = "2025-03-28T02:41:22.17Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259 }, + { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259, upload-time = "2025-03-28T02:41:19.028Z" }, ] [[package]] @@ -1211,9 +1281,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350 } +sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload-time = "2025-06-14T08:33:17.137Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782 }, + { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload-time = "2025-06-14T08:33:14.905Z" }, ] [[package]] @@ -1223,84 +1293,84 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195 } +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817 }, - { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357 }, - { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011 }, - { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730 }, - { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178 }, - { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462 }, - { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652 }, - { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306 }, - { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720 }, - { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915 }, - { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884 }, - { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496 }, - { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019 }, - { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584 }, - { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071 }, - { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823 }, - { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792 }, - { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338 }, - { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998 }, - { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200 }, - { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890 }, - { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359 }, - { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883 }, - { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074 }, - { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538 }, - { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909 }, - { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786 }, - { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000 }, - { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996 }, - { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957 }, - { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199 }, - { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296 }, - { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109 }, - { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028 }, - { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044 }, - { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881 }, - { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034 }, - { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187 }, - { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628 }, - { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866 }, - { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894 }, - { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688 }, - { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808 }, - { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580 }, - { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859 }, - { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810 }, - { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498 }, - { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611 }, - { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924 }, - { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196 }, - { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389 }, - { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223 }, - { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473 }, - { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269 }, - { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921 }, - { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162 }, - { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560 }, - { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777 }, - { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982 }, - { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412 }, - { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749 }, - { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527 }, - { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225 }, - { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490 }, - { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525 }, - { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446 }, - { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678 }, - { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200 }, - { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123 }, - { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852 }, - { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484 }, - { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896 }, - { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475 }, - { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013 }, - { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715 }, - { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757 }, + { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" }, + { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" }, + { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" }, + { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" }, + { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" }, + { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" }, + { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" }, + { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" }, + { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" }, + { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" }, + { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" }, + { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" }, + { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, + { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, + { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, + { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, + { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" }, + { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" }, + { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" }, + { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" }, + { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" }, + { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" }, + { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" }, + { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" }, ] [[package]] @@ -1312,27 +1382,27 @@ dependencies = [ { name = "python-dotenv" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz", hash = "sha256:06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee", size = 172583 } +sdist = { url = "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz", hash = "sha256:06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee", size = 172583, upload-time = "2025-06-24T13:26:46.841Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/58/f0/427018098906416f580e3cf1366d3b1abfb408a0652e9f31600c24a1903c/pydantic_settings-2.10.1-py3-none-any.whl", hash = "sha256:a60952460b99cf661dc25c29c0ef171721f98bfcb52ef8d9ea4c943d7c8cc796", size = 45235 }, + { url = "https://files.pythonhosted.org/packages/58/f0/427018098906416f580e3cf1366d3b1abfb408a0652e9f31600c24a1903c/pydantic_settings-2.10.1-py3-none-any.whl", hash = "sha256:a60952460b99cf661dc25c29c0ef171721f98bfcb52ef8d9ea4c943d7c8cc796", size = 45235, upload-time = "2025-06-24T13:26:45.485Z" }, ] [[package]] name = "pygments" version = "2.19.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631 } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217 }, + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, ] [[package]] name = "pyjwt" version = "2.10.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785 } +sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785, upload-time = "2024-11-28T03:43:29.933Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997 }, + { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" }, ] [[package]] @@ -1348,9 +1418,9 @@ dependencies = [ { name = "pygments" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714 } +sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474 }, + { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload-time = "2025-06-18T05:48:03.955Z" }, ] [[package]] @@ -1360,140 +1430,140 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytest" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d0/d4/14f53324cb1a6381bef29d698987625d80052bb33932d8e7cbf9b337b17c/pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f", size = 46960 } +sdist = { url = "https://files.pythonhosted.org/packages/d0/d4/14f53324cb1a6381bef29d698987625d80052bb33932d8e7cbf9b337b17c/pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f", size = 46960, upload-time = "2025-05-26T04:54:40.484Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/30/05/ce271016e351fddc8399e546f6e23761967ee09c8c568bbfbecb0c150171/pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3", size = 15976 }, + { url = "https://files.pythonhosted.org/packages/30/05/ce271016e351fddc8399e546f6e23761967ee09c8c568bbfbecb0c150171/pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3", size = 15976, upload-time = "2025-05-26T04:54:39.035Z" }, ] [[package]] name = "python-dotenv" version = "1.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978 } +sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556 }, + { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, ] [[package]] name = "python-multipart" version = "0.0.20" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158 } +sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload-time = "2024-12-16T19:45:46.972Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546 }, + { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload-time = "2024-12-16T19:45:44.423Z" }, ] [[package]] name = "pyyaml" version = "6.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, - { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, - { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, - { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, - { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, - { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, - { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, - { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, - { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, ] [[package]] name = "regex" version = "2024.11.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 } +sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674 }, - { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684 }, - { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589 }, - { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511 }, - { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149 }, - { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707 }, - { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702 }, - { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976 }, - { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397 }, - { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726 }, - { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098 }, - { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325 }, - { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277 }, - { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197 }, - { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714 }, - { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042 }, - { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669 }, - { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684 }, - { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589 }, - { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121 }, - { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275 }, - { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257 }, - { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727 }, - { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667 }, - { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963 }, - { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700 }, - { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592 }, - { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929 }, - { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213 }, - { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734 }, - { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052 }, - { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 }, - { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 }, - { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 }, - { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 }, - { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 }, - { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 }, - { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 }, - { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 }, - { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 }, - { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 }, - { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 }, - { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 }, - { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 }, - { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 }, - { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 }, - { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 }, - { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 }, - { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 }, - { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 }, - { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 }, - { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 }, - { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 }, - { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 }, - { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 }, - { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 }, - { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 }, - { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 }, - { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 }, - { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 }, - { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 }, + { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674, upload-time = "2024-11-06T20:08:57.575Z" }, + { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684, upload-time = "2024-11-06T20:08:59.787Z" }, + { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589, upload-time = "2024-11-06T20:09:01.896Z" }, + { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511, upload-time = "2024-11-06T20:09:04.062Z" }, + { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149, upload-time = "2024-11-06T20:09:06.237Z" }, + { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707, upload-time = "2024-11-06T20:09:07.715Z" }, + { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702, upload-time = "2024-11-06T20:09:10.101Z" }, + { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976, upload-time = "2024-11-06T20:09:11.566Z" }, + { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397, upload-time = "2024-11-06T20:09:13.119Z" }, + { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726, upload-time = "2024-11-06T20:09:14.85Z" }, + { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098, upload-time = "2024-11-06T20:09:16.504Z" }, + { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325, upload-time = "2024-11-06T20:09:18.698Z" }, + { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277, upload-time = "2024-11-06T20:09:21.725Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197, upload-time = "2024-11-06T20:09:24.092Z" }, + { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714, upload-time = "2024-11-06T20:09:26.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042, upload-time = "2024-11-06T20:09:28.762Z" }, + { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669, upload-time = "2024-11-06T20:09:31.064Z" }, + { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684, upload-time = "2024-11-06T20:09:32.915Z" }, + { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589, upload-time = "2024-11-06T20:09:35.504Z" }, + { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121, upload-time = "2024-11-06T20:09:37.701Z" }, + { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275, upload-time = "2024-11-06T20:09:40.371Z" }, + { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257, upload-time = "2024-11-06T20:09:43.059Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727, upload-time = "2024-11-06T20:09:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667, upload-time = "2024-11-06T20:09:49.828Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963, upload-time = "2024-11-06T20:09:51.819Z" }, + { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700, upload-time = "2024-11-06T20:09:53.982Z" }, + { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592, upload-time = "2024-11-06T20:09:56.222Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929, upload-time = "2024-11-06T20:09:58.642Z" }, + { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213, upload-time = "2024-11-06T20:10:00.867Z" }, + { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734, upload-time = "2024-11-06T20:10:03.361Z" }, + { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052, upload-time = "2024-11-06T20:10:05.179Z" }, + { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, + { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, + { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, + { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, + { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, + { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, + { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, + { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, + { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, + { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, + { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, + { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, + { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, + { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, + { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525, upload-time = "2024-11-06T20:10:45.19Z" }, + { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324, upload-time = "2024-11-06T20:10:47.177Z" }, + { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617, upload-time = "2024-11-06T20:10:49.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023, upload-time = "2024-11-06T20:10:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072, upload-time = "2024-11-06T20:10:52.926Z" }, + { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130, upload-time = "2024-11-06T20:10:54.828Z" }, + { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857, upload-time = "2024-11-06T20:10:56.634Z" }, + { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006, upload-time = "2024-11-06T20:10:59.369Z" }, + { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650, upload-time = "2024-11-06T20:11:02.042Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545, upload-time = "2024-11-06T20:11:03.933Z" }, + { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045, upload-time = "2024-11-06T20:11:06.497Z" }, + { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182, upload-time = "2024-11-06T20:11:09.06Z" }, + { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733, upload-time = "2024-11-06T20:11:11.256Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122, upload-time = "2024-11-06T20:11:13.161Z" }, + { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545, upload-time = "2024-11-06T20:11:15Z" }, ] [[package]] @@ -1506,9 +1576,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258 } +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847 }, + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, ] [[package]] @@ -1520,9 +1590,9 @@ dependencies = [ { name = "pygments" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078 } +sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload-time = "2025-03-30T14:15:14.23Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229 }, + { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" }, ] [[package]] @@ -1534,9 +1604,9 @@ dependencies = [ { name = "rich" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5b/7a/cb48b7024b247631ce39b1f14a0f1abedf311fb27b892b0e0387d809d4b5/rich_toolkit-0.14.7.tar.gz", hash = "sha256:6cca5a68850cc5778915f528eb785662c27ba3b4b2624612cce8340fa9701c5e", size = 104977 } +sdist = { url = "https://files.pythonhosted.org/packages/5b/7a/cb48b7024b247631ce39b1f14a0f1abedf311fb27b892b0e0387d809d4b5/rich_toolkit-0.14.7.tar.gz", hash = "sha256:6cca5a68850cc5778915f528eb785662c27ba3b4b2624612cce8340fa9701c5e", size = 104977, upload-time = "2025-05-27T15:48:09.377Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/2e/95fde5b818dac9a37683ea064096323f593442d0f6358923c5f635974393/rich_toolkit-0.14.7-py3-none-any.whl", hash = "sha256:def05cc6e0f1176d6263b6a26648f16a62c4563b277ca2f8538683acdba1e0da", size = 24870 }, + { url = "https://files.pythonhosted.org/packages/0f/2e/95fde5b818dac9a37683ea064096323f593442d0f6358923c5f635974393/rich_toolkit-0.14.7-py3-none-any.whl", hash = "sha256:def05cc6e0f1176d6263b6a26648f16a62c4563b277ca2f8538683acdba1e0da", size = 24870, upload-time = "2025-05-27T15:48:07.942Z" }, ] [[package]] @@ -1546,47 +1616,47 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyasn1" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75", size = 29034 } +sdist = { url = "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75", size = 29034, upload-time = "2025-04-16T09:51:18.218Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762", size = 34696 }, + { url = "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762", size = 34696, upload-time = "2025-04-16T09:51:17.142Z" }, ] [[package]] name = "ruff" version = "0.12.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/24/90/5255432602c0b196a0da6720f6f76b93eb50baef46d3c9b0025e2f9acbf3/ruff-0.12.0.tar.gz", hash = "sha256:4d047db3662418d4a848a3fdbfaf17488b34b62f527ed6f10cb8afd78135bc5c", size = 4376101 } +sdist = { url = "https://files.pythonhosted.org/packages/24/90/5255432602c0b196a0da6720f6f76b93eb50baef46d3c9b0025e2f9acbf3/ruff-0.12.0.tar.gz", hash = "sha256:4d047db3662418d4a848a3fdbfaf17488b34b62f527ed6f10cb8afd78135bc5c", size = 4376101, upload-time = "2025-06-17T15:19:26.217Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/fd/b46bb20e14b11ff49dbc74c61de352e0dc07fb650189513631f6fb5fc69f/ruff-0.12.0-py3-none-linux_armv6l.whl", hash = "sha256:5652a9ecdb308a1754d96a68827755f28d5dfb416b06f60fd9e13f26191a8848", size = 10311554 }, - { url = "https://files.pythonhosted.org/packages/e7/d3/021dde5a988fa3e25d2468d1dadeea0ae89dc4bc67d0140c6e68818a12a1/ruff-0.12.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:05ed0c914fabc602fc1f3b42c53aa219e5736cb030cdd85640c32dbc73da74a6", size = 11118435 }, - { url = "https://files.pythonhosted.org/packages/07/a2/01a5acf495265c667686ec418f19fd5c32bcc326d4c79ac28824aecd6a32/ruff-0.12.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:07a7aa9b69ac3fcfda3c507916d5d1bca10821fe3797d46bad10f2c6de1edda0", size = 10466010 }, - { url = "https://files.pythonhosted.org/packages/4c/57/7caf31dd947d72e7aa06c60ecb19c135cad871a0a8a251723088132ce801/ruff-0.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7731c3eec50af71597243bace7ec6104616ca56dda2b99c89935fe926bdcd48", size = 10661366 }, - { url = "https://files.pythonhosted.org/packages/e9/ba/aa393b972a782b4bc9ea121e0e358a18981980856190d7d2b6187f63e03a/ruff-0.12.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:952d0630eae628250ab1c70a7fffb641b03e6b4a2d3f3ec6c1d19b4ab6c6c807", size = 10173492 }, - { url = "https://files.pythonhosted.org/packages/d7/50/9349ee777614bc3062fc6b038503a59b2034d09dd259daf8192f56c06720/ruff-0.12.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c021f04ea06966b02614d442e94071781c424ab8e02ec7af2f037b4c1e01cc82", size = 11761739 }, - { url = "https://files.pythonhosted.org/packages/04/8f/ad459de67c70ec112e2ba7206841c8f4eb340a03ee6a5cabc159fe558b8e/ruff-0.12.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d235618283718ee2fe14db07f954f9b2423700919dc688eacf3f8797a11315c", size = 12537098 }, - { url = "https://files.pythonhosted.org/packages/ed/50/15ad9c80ebd3c4819f5bd8883e57329f538704ed57bac680d95cb6627527/ruff-0.12.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c0758038f81beec8cc52ca22de9685b8ae7f7cc18c013ec2050012862cc9165", size = 12154122 }, - { url = "https://files.pythonhosted.org/packages/76/e6/79b91e41bc8cc3e78ee95c87093c6cacfa275c786e53c9b11b9358026b3d/ruff-0.12.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:139b3d28027987b78fc8d6cfb61165447bdf3740e650b7c480744873688808c2", size = 11363374 }, - { url = "https://files.pythonhosted.org/packages/db/c3/82b292ff8a561850934549aa9dc39e2c4e783ab3c21debe55a495ddf7827/ruff-0.12.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68853e8517b17bba004152aebd9dd77d5213e503a5f2789395b25f26acac0da4", size = 11587647 }, - { url = "https://files.pythonhosted.org/packages/2b/42/d5760d742669f285909de1bbf50289baccb647b53e99b8a3b4f7ce1b2001/ruff-0.12.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3a9512af224b9ac4757f7010843771da6b2b0935a9e5e76bb407caa901a1a514", size = 10527284 }, - { url = "https://files.pythonhosted.org/packages/19/f6/fcee9935f25a8a8bba4adbae62495c39ef281256693962c2159e8b284c5f/ruff-0.12.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b08df3d96db798e5beb488d4df03011874aff919a97dcc2dd8539bb2be5d6a88", size = 10158609 }, - { url = "https://files.pythonhosted.org/packages/37/fb/057febf0eea07b9384787bfe197e8b3384aa05faa0d6bd844b94ceb29945/ruff-0.12.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6a315992297a7435a66259073681bb0d8647a826b7a6de45c6934b2ca3a9ed51", size = 11141462 }, - { url = "https://files.pythonhosted.org/packages/10/7c/1be8571011585914b9d23c95b15d07eec2d2303e94a03df58294bc9274d4/ruff-0.12.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e55e44e770e061f55a7dbc6e9aed47feea07731d809a3710feda2262d2d4d8a", size = 11641616 }, - { url = "https://files.pythonhosted.org/packages/6a/ef/b960ab4818f90ff59e571d03c3f992828d4683561095e80f9ef31f3d58b7/ruff-0.12.0-py3-none-win32.whl", hash = "sha256:7162a4c816f8d1555eb195c46ae0bd819834d2a3f18f98cc63819a7b46f474fb", size = 10525289 }, - { url = "https://files.pythonhosted.org/packages/34/93/8b16034d493ef958a500f17cda3496c63a537ce9d5a6479feec9558f1695/ruff-0.12.0-py3-none-win_amd64.whl", hash = "sha256:d00b7a157b8fb6d3827b49d3324da34a1e3f93492c1f97b08e222ad7e9b291e0", size = 11598311 }, - { url = "https://files.pythonhosted.org/packages/d0/33/4d3e79e4a84533d6cd526bfb42c020a23256ae5e4265d858bd1287831f7d/ruff-0.12.0-py3-none-win_arm64.whl", hash = "sha256:8cd24580405ad8c1cc64d61725bca091d6b6da7eb3d36f72cc605467069d7e8b", size = 10724946 }, + { url = "https://files.pythonhosted.org/packages/e6/fd/b46bb20e14b11ff49dbc74c61de352e0dc07fb650189513631f6fb5fc69f/ruff-0.12.0-py3-none-linux_armv6l.whl", hash = "sha256:5652a9ecdb308a1754d96a68827755f28d5dfb416b06f60fd9e13f26191a8848", size = 10311554, upload-time = "2025-06-17T15:18:45.792Z" }, + { url = "https://files.pythonhosted.org/packages/e7/d3/021dde5a988fa3e25d2468d1dadeea0ae89dc4bc67d0140c6e68818a12a1/ruff-0.12.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:05ed0c914fabc602fc1f3b42c53aa219e5736cb030cdd85640c32dbc73da74a6", size = 11118435, upload-time = "2025-06-17T15:18:49.064Z" }, + { url = "https://files.pythonhosted.org/packages/07/a2/01a5acf495265c667686ec418f19fd5c32bcc326d4c79ac28824aecd6a32/ruff-0.12.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:07a7aa9b69ac3fcfda3c507916d5d1bca10821fe3797d46bad10f2c6de1edda0", size = 10466010, upload-time = "2025-06-17T15:18:51.341Z" }, + { url = "https://files.pythonhosted.org/packages/4c/57/7caf31dd947d72e7aa06c60ecb19c135cad871a0a8a251723088132ce801/ruff-0.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7731c3eec50af71597243bace7ec6104616ca56dda2b99c89935fe926bdcd48", size = 10661366, upload-time = "2025-06-17T15:18:53.29Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ba/aa393b972a782b4bc9ea121e0e358a18981980856190d7d2b6187f63e03a/ruff-0.12.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:952d0630eae628250ab1c70a7fffb641b03e6b4a2d3f3ec6c1d19b4ab6c6c807", size = 10173492, upload-time = "2025-06-17T15:18:55.262Z" }, + { url = "https://files.pythonhosted.org/packages/d7/50/9349ee777614bc3062fc6b038503a59b2034d09dd259daf8192f56c06720/ruff-0.12.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c021f04ea06966b02614d442e94071781c424ab8e02ec7af2f037b4c1e01cc82", size = 11761739, upload-time = "2025-06-17T15:18:58.906Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/ad459de67c70ec112e2ba7206841c8f4eb340a03ee6a5cabc159fe558b8e/ruff-0.12.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d235618283718ee2fe14db07f954f9b2423700919dc688eacf3f8797a11315c", size = 12537098, upload-time = "2025-06-17T15:19:01.316Z" }, + { url = "https://files.pythonhosted.org/packages/ed/50/15ad9c80ebd3c4819f5bd8883e57329f538704ed57bac680d95cb6627527/ruff-0.12.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c0758038f81beec8cc52ca22de9685b8ae7f7cc18c013ec2050012862cc9165", size = 12154122, upload-time = "2025-06-17T15:19:03.727Z" }, + { url = "https://files.pythonhosted.org/packages/76/e6/79b91e41bc8cc3e78ee95c87093c6cacfa275c786e53c9b11b9358026b3d/ruff-0.12.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:139b3d28027987b78fc8d6cfb61165447bdf3740e650b7c480744873688808c2", size = 11363374, upload-time = "2025-06-17T15:19:05.875Z" }, + { url = "https://files.pythonhosted.org/packages/db/c3/82b292ff8a561850934549aa9dc39e2c4e783ab3c21debe55a495ddf7827/ruff-0.12.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68853e8517b17bba004152aebd9dd77d5213e503a5f2789395b25f26acac0da4", size = 11587647, upload-time = "2025-06-17T15:19:08.246Z" }, + { url = "https://files.pythonhosted.org/packages/2b/42/d5760d742669f285909de1bbf50289baccb647b53e99b8a3b4f7ce1b2001/ruff-0.12.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3a9512af224b9ac4757f7010843771da6b2b0935a9e5e76bb407caa901a1a514", size = 10527284, upload-time = "2025-06-17T15:19:10.37Z" }, + { url = "https://files.pythonhosted.org/packages/19/f6/fcee9935f25a8a8bba4adbae62495c39ef281256693962c2159e8b284c5f/ruff-0.12.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b08df3d96db798e5beb488d4df03011874aff919a97dcc2dd8539bb2be5d6a88", size = 10158609, upload-time = "2025-06-17T15:19:12.286Z" }, + { url = "https://files.pythonhosted.org/packages/37/fb/057febf0eea07b9384787bfe197e8b3384aa05faa0d6bd844b94ceb29945/ruff-0.12.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6a315992297a7435a66259073681bb0d8647a826b7a6de45c6934b2ca3a9ed51", size = 11141462, upload-time = "2025-06-17T15:19:15.195Z" }, + { url = "https://files.pythonhosted.org/packages/10/7c/1be8571011585914b9d23c95b15d07eec2d2303e94a03df58294bc9274d4/ruff-0.12.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e55e44e770e061f55a7dbc6e9aed47feea07731d809a3710feda2262d2d4d8a", size = 11641616, upload-time = "2025-06-17T15:19:17.6Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ef/b960ab4818f90ff59e571d03c3f992828d4683561095e80f9ef31f3d58b7/ruff-0.12.0-py3-none-win32.whl", hash = "sha256:7162a4c816f8d1555eb195c46ae0bd819834d2a3f18f98cc63819a7b46f474fb", size = 10525289, upload-time = "2025-06-17T15:19:19.688Z" }, + { url = "https://files.pythonhosted.org/packages/34/93/8b16034d493ef958a500f17cda3496c63a537ce9d5a6479feec9558f1695/ruff-0.12.0-py3-none-win_amd64.whl", hash = "sha256:d00b7a157b8fb6d3827b49d3324da34a1e3f93492c1f97b08e222ad7e9b291e0", size = 11598311, upload-time = "2025-06-17T15:19:21.785Z" }, + { url = "https://files.pythonhosted.org/packages/d0/33/4d3e79e4a84533d6cd526bfb42c020a23256ae5e4265d858bd1287831f7d/ruff-0.12.0-py3-none-win_arm64.whl", hash = "sha256:8cd24580405ad8c1cc64d61725bca091d6b6da7eb3d36f72cc605467069d7e8b", size = 10724946, upload-time = "2025-06-17T15:19:23.952Z" }, ] [[package]] name = "sentry-sdk" -version = "2.30.0" +version = "2.31.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/04/4c/af31e0201b48469786ddeb1bf6fd3dfa3a291cc613a0fe6a60163a7535f9/sentry_sdk-2.30.0.tar.gz", hash = "sha256:436369b02afef7430efb10300a344fb61a11fe6db41c2b11f41ee037d2dd7f45", size = 326767 } +sdist = { url = "https://files.pythonhosted.org/packages/d0/45/c7ef7e12d8434fda8b61cdab432d8af64fb832480c93cdaf4bdcab7f5597/sentry_sdk-2.31.0.tar.gz", hash = "sha256:fed6d847f15105849cdf5dfdc64dcec356f936d41abb8c9d66adae45e60959ec", size = 334167, upload-time = "2025-06-24T16:36:26.066Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/99/31ac6faaae33ea698086692638f58d14f121162a8db0039e68e94135e7f1/sentry_sdk-2.30.0-py2.py3-none-any.whl", hash = "sha256:59391db1550662f746ea09b483806a631c3ae38d6340804a1a4c0605044f6877", size = 343149 }, + { url = "https://files.pythonhosted.org/packages/7d/a2/9b6d8cc59f03251c583b3fec9d2f075dc09c0f6e030e0e0a3b223c6e64b2/sentry_sdk-2.31.0-py2.py3-none-any.whl", hash = "sha256:e953f5ab083e6599bab255b75d6829b33b3ddf9931a27ca00b4ab0081287e84f", size = 355638, upload-time = "2025-06-24T16:36:24.306Z" }, ] [package.optional-dependencies] @@ -1604,18 +1674,18 @@ sqlalchemy = [ 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 } +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 }, + { 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 = "sniffio" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, ] [[package]] @@ -1626,41 +1696,41 @@ dependencies = [ { name = "greenlet", marker = "(python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and platform_machine == 'x86_64')" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/66/45b165c595ec89aa7dcc2c1cd222ab269bc753f1fc7a1e68f8481bd957bf/sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", size = 9689424 } +sdist = { url = "https://files.pythonhosted.org/packages/63/66/45b165c595ec89aa7dcc2c1cd222ab269bc753f1fc7a1e68f8481bd957bf/sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", size = 9689424, upload-time = "2025-05-14T17:10:32.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/12/d7c445b1940276a828efce7331cb0cb09d6e5f049651db22f4ebb0922b77/sqlalchemy-2.0.41-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b1f09b6821406ea1f94053f346f28f8215e293344209129a9c0fcc3578598d7b", size = 2117967 }, - { url = "https://files.pythonhosted.org/packages/6f/b8/cb90f23157e28946b27eb01ef401af80a1fab7553762e87df51507eaed61/sqlalchemy-2.0.41-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1936af879e3db023601196a1684d28e12f19ccf93af01bf3280a3262c4b6b4e5", size = 2107583 }, - { url = "https://files.pythonhosted.org/packages/9e/c2/eef84283a1c8164a207d898e063edf193d36a24fb6a5bb3ce0634b92a1e8/sqlalchemy-2.0.41-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2ac41acfc8d965fb0c464eb8f44995770239668956dc4cdf502d1b1ffe0d747", size = 3186025 }, - { url = "https://files.pythonhosted.org/packages/bd/72/49d52bd3c5e63a1d458fd6d289a1523a8015adedbddf2c07408ff556e772/sqlalchemy-2.0.41-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81c24e0c0fde47a9723c81d5806569cddef103aebbf79dbc9fcbb617153dea30", size = 3186259 }, - { url = "https://files.pythonhosted.org/packages/4f/9e/e3ffc37d29a3679a50b6bbbba94b115f90e565a2b4545abb17924b94c52d/sqlalchemy-2.0.41-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23a8825495d8b195c4aa9ff1c430c28f2c821e8c5e2d98089228af887e5d7e29", size = 3126803 }, - { url = "https://files.pythonhosted.org/packages/8a/76/56b21e363f6039978ae0b72690237b38383e4657281285a09456f313dd77/sqlalchemy-2.0.41-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:60c578c45c949f909a4026b7807044e7e564adf793537fc762b2489d522f3d11", size = 3148566 }, - { url = "https://files.pythonhosted.org/packages/3b/92/11b8e1b69bf191bc69e300a99badbbb5f2f1102f2b08b39d9eee2e21f565/sqlalchemy-2.0.41-cp310-cp310-win32.whl", hash = "sha256:118c16cd3f1b00c76d69343e38602006c9cfb9998fa4f798606d28d63f23beda", size = 2086696 }, - { url = "https://files.pythonhosted.org/packages/5c/88/2d706c9cc4502654860f4576cd54f7db70487b66c3b619ba98e0be1a4642/sqlalchemy-2.0.41-cp310-cp310-win_amd64.whl", hash = "sha256:7492967c3386df69f80cf67efd665c0f667cee67032090fe01d7d74b0e19bb08", size = 2110200 }, - { url = "https://files.pythonhosted.org/packages/37/4e/b00e3ffae32b74b5180e15d2ab4040531ee1bef4c19755fe7926622dc958/sqlalchemy-2.0.41-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6375cd674fe82d7aa9816d1cb96ec592bac1726c11e0cafbf40eeee9a4516b5f", size = 2121232 }, - { url = "https://files.pythonhosted.org/packages/ef/30/6547ebb10875302074a37e1970a5dce7985240665778cfdee2323709f749/sqlalchemy-2.0.41-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9f8c9fdd15a55d9465e590a402f42082705d66b05afc3ffd2d2eb3c6ba919560", size = 2110897 }, - { url = "https://files.pythonhosted.org/packages/9e/21/59df2b41b0f6c62da55cd64798232d7349a9378befa7f1bb18cf1dfd510a/sqlalchemy-2.0.41-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f9dc8c44acdee06c8fc6440db9eae8b4af8b01e4b1aee7bdd7241c22edff4f", size = 3273313 }, - { url = "https://files.pythonhosted.org/packages/62/e4/b9a7a0e5c6f79d49bcd6efb6e90d7536dc604dab64582a9dec220dab54b6/sqlalchemy-2.0.41-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c11ceb9a1f482c752a71f203a81858625d8df5746d787a4786bca4ffdf71c6", size = 3273807 }, - { url = "https://files.pythonhosted.org/packages/39/d8/79f2427251b44ddee18676c04eab038d043cff0e764d2d8bb08261d6135d/sqlalchemy-2.0.41-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:911cc493ebd60de5f285bcae0491a60b4f2a9f0f5c270edd1c4dbaef7a38fc04", size = 3209632 }, - { url = "https://files.pythonhosted.org/packages/d4/16/730a82dda30765f63e0454918c982fb7193f6b398b31d63c7c3bd3652ae5/sqlalchemy-2.0.41-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03968a349db483936c249f4d9cd14ff2c296adfa1290b660ba6516f973139582", size = 3233642 }, - { url = "https://files.pythonhosted.org/packages/04/61/c0d4607f7799efa8b8ea3c49b4621e861c8f5c41fd4b5b636c534fcb7d73/sqlalchemy-2.0.41-cp311-cp311-win32.whl", hash = "sha256:293cd444d82b18da48c9f71cd7005844dbbd06ca19be1ccf6779154439eec0b8", size = 2086475 }, - { url = "https://files.pythonhosted.org/packages/9d/8e/8344f8ae1cb6a479d0741c02cd4f666925b2bf02e2468ddaf5ce44111f30/sqlalchemy-2.0.41-cp311-cp311-win_amd64.whl", hash = "sha256:3d3549fc3e40667ec7199033a4e40a2f669898a00a7b18a931d3efb4c7900504", size = 2110903 }, - { url = "https://files.pythonhosted.org/packages/3e/2a/f1f4e068b371154740dd10fb81afb5240d5af4aa0087b88d8b308b5429c2/sqlalchemy-2.0.41-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", size = 2119645 }, - { url = "https://files.pythonhosted.org/packages/9b/e8/c664a7e73d36fbfc4730f8cf2bf930444ea87270f2825efbe17bf808b998/sqlalchemy-2.0.41-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", size = 2107399 }, - { url = "https://files.pythonhosted.org/packages/5c/78/8a9cf6c5e7135540cb682128d091d6afa1b9e48bd049b0d691bf54114f70/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", size = 3293269 }, - { url = "https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", size = 3303364 }, - { url = "https://files.pythonhosted.org/packages/6a/d4/c990f37f52c3f7748ebe98883e2a0f7d038108c2c5a82468d1ff3eec50b7/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", size = 3229072 }, - { url = "https://files.pythonhosted.org/packages/15/69/cab11fecc7eb64bc561011be2bd03d065b762d87add52a4ca0aca2e12904/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", size = 3268074 }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0c19ec16858585d37767b167fc9602593f98998a68a798450558239fb04a/sqlalchemy-2.0.41-cp312-cp312-win32.whl", hash = "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", size = 2084514 }, - { url = "https://files.pythonhosted.org/packages/7f/23/4c2833d78ff3010a4e17f984c734f52b531a8c9060a50429c9d4b0211be6/sqlalchemy-2.0.41-cp312-cp312-win_amd64.whl", hash = "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", size = 2111557 }, - { url = "https://files.pythonhosted.org/packages/d3/ad/2e1c6d4f235a97eeef52d0200d8ddda16f6c4dd70ae5ad88c46963440480/sqlalchemy-2.0.41-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4eeb195cdedaf17aab6b247894ff2734dcead6c08f748e617bfe05bd5a218443", size = 2115491 }, - { url = "https://files.pythonhosted.org/packages/cf/8d/be490e5db8400dacc89056f78a52d44b04fbf75e8439569d5b879623a53b/sqlalchemy-2.0.41-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d4ae769b9c1c7757e4ccce94b0641bc203bbdf43ba7a2413ab2523d8d047d8dc", size = 2102827 }, - { url = "https://files.pythonhosted.org/packages/a0/72/c97ad430f0b0e78efaf2791342e13ffeafcbb3c06242f01a3bb8fe44f65d/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a62448526dd9ed3e3beedc93df9bb6b55a436ed1474db31a2af13b313a70a7e1", size = 3225224 }, - { url = "https://files.pythonhosted.org/packages/5e/51/5ba9ea3246ea068630acf35a6ba0d181e99f1af1afd17e159eac7e8bc2b8/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc56c9788617b8964ad02e8fcfeed4001c1f8ba91a9e1f31483c0dffb207002a", size = 3230045 }, - { url = "https://files.pythonhosted.org/packages/78/2f/8c14443b2acea700c62f9b4a8bad9e49fc1b65cfb260edead71fd38e9f19/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c153265408d18de4cc5ded1941dcd8315894572cddd3c58df5d5b5705b3fa28d", size = 3159357 }, - { url = "https://files.pythonhosted.org/packages/fc/b2/43eacbf6ccc5276d76cea18cb7c3d73e294d6fb21f9ff8b4eef9b42bbfd5/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", size = 3197511 }, - { url = "https://files.pythonhosted.org/packages/fa/2e/677c17c5d6a004c3c45334ab1dbe7b7deb834430b282b8a0f75ae220c8eb/sqlalchemy-2.0.41-cp313-cp313-win32.whl", hash = "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", size = 2082420 }, - { url = "https://files.pythonhosted.org/packages/e9/61/e8c1b9b6307c57157d328dd8b8348ddc4c47ffdf1279365a13b2b98b8049/sqlalchemy-2.0.41-cp313-cp313-win_amd64.whl", hash = "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", size = 2108329 }, - { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224 }, + { url = "https://files.pythonhosted.org/packages/e9/12/d7c445b1940276a828efce7331cb0cb09d6e5f049651db22f4ebb0922b77/sqlalchemy-2.0.41-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b1f09b6821406ea1f94053f346f28f8215e293344209129a9c0fcc3578598d7b", size = 2117967, upload-time = "2025-05-14T17:48:15.841Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b8/cb90f23157e28946b27eb01ef401af80a1fab7553762e87df51507eaed61/sqlalchemy-2.0.41-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1936af879e3db023601196a1684d28e12f19ccf93af01bf3280a3262c4b6b4e5", size = 2107583, upload-time = "2025-05-14T17:48:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c2/eef84283a1c8164a207d898e063edf193d36a24fb6a5bb3ce0634b92a1e8/sqlalchemy-2.0.41-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2ac41acfc8d965fb0c464eb8f44995770239668956dc4cdf502d1b1ffe0d747", size = 3186025, upload-time = "2025-05-14T17:51:51.226Z" }, + { url = "https://files.pythonhosted.org/packages/bd/72/49d52bd3c5e63a1d458fd6d289a1523a8015adedbddf2c07408ff556e772/sqlalchemy-2.0.41-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81c24e0c0fde47a9723c81d5806569cddef103aebbf79dbc9fcbb617153dea30", size = 3186259, upload-time = "2025-05-14T17:55:22.526Z" }, + { url = "https://files.pythonhosted.org/packages/4f/9e/e3ffc37d29a3679a50b6bbbba94b115f90e565a2b4545abb17924b94c52d/sqlalchemy-2.0.41-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23a8825495d8b195c4aa9ff1c430c28f2c821e8c5e2d98089228af887e5d7e29", size = 3126803, upload-time = "2025-05-14T17:51:53.277Z" }, + { url = "https://files.pythonhosted.org/packages/8a/76/56b21e363f6039978ae0b72690237b38383e4657281285a09456f313dd77/sqlalchemy-2.0.41-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:60c578c45c949f909a4026b7807044e7e564adf793537fc762b2489d522f3d11", size = 3148566, upload-time = "2025-05-14T17:55:24.398Z" }, + { url = "https://files.pythonhosted.org/packages/3b/92/11b8e1b69bf191bc69e300a99badbbb5f2f1102f2b08b39d9eee2e21f565/sqlalchemy-2.0.41-cp310-cp310-win32.whl", hash = "sha256:118c16cd3f1b00c76d69343e38602006c9cfb9998fa4f798606d28d63f23beda", size = 2086696, upload-time = "2025-05-14T17:55:59.136Z" }, + { url = "https://files.pythonhosted.org/packages/5c/88/2d706c9cc4502654860f4576cd54f7db70487b66c3b619ba98e0be1a4642/sqlalchemy-2.0.41-cp310-cp310-win_amd64.whl", hash = "sha256:7492967c3386df69f80cf67efd665c0f667cee67032090fe01d7d74b0e19bb08", size = 2110200, upload-time = "2025-05-14T17:56:00.757Z" }, + { url = "https://files.pythonhosted.org/packages/37/4e/b00e3ffae32b74b5180e15d2ab4040531ee1bef4c19755fe7926622dc958/sqlalchemy-2.0.41-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6375cd674fe82d7aa9816d1cb96ec592bac1726c11e0cafbf40eeee9a4516b5f", size = 2121232, upload-time = "2025-05-14T17:48:20.444Z" }, + { url = "https://files.pythonhosted.org/packages/ef/30/6547ebb10875302074a37e1970a5dce7985240665778cfdee2323709f749/sqlalchemy-2.0.41-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9f8c9fdd15a55d9465e590a402f42082705d66b05afc3ffd2d2eb3c6ba919560", size = 2110897, upload-time = "2025-05-14T17:48:21.634Z" }, + { url = "https://files.pythonhosted.org/packages/9e/21/59df2b41b0f6c62da55cd64798232d7349a9378befa7f1bb18cf1dfd510a/sqlalchemy-2.0.41-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f9dc8c44acdee06c8fc6440db9eae8b4af8b01e4b1aee7bdd7241c22edff4f", size = 3273313, upload-time = "2025-05-14T17:51:56.205Z" }, + { url = "https://files.pythonhosted.org/packages/62/e4/b9a7a0e5c6f79d49bcd6efb6e90d7536dc604dab64582a9dec220dab54b6/sqlalchemy-2.0.41-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c11ceb9a1f482c752a71f203a81858625d8df5746d787a4786bca4ffdf71c6", size = 3273807, upload-time = "2025-05-14T17:55:26.928Z" }, + { url = "https://files.pythonhosted.org/packages/39/d8/79f2427251b44ddee18676c04eab038d043cff0e764d2d8bb08261d6135d/sqlalchemy-2.0.41-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:911cc493ebd60de5f285bcae0491a60b4f2a9f0f5c270edd1c4dbaef7a38fc04", size = 3209632, upload-time = "2025-05-14T17:51:59.384Z" }, + { url = "https://files.pythonhosted.org/packages/d4/16/730a82dda30765f63e0454918c982fb7193f6b398b31d63c7c3bd3652ae5/sqlalchemy-2.0.41-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03968a349db483936c249f4d9cd14ff2c296adfa1290b660ba6516f973139582", size = 3233642, upload-time = "2025-05-14T17:55:29.901Z" }, + { url = "https://files.pythonhosted.org/packages/04/61/c0d4607f7799efa8b8ea3c49b4621e861c8f5c41fd4b5b636c534fcb7d73/sqlalchemy-2.0.41-cp311-cp311-win32.whl", hash = "sha256:293cd444d82b18da48c9f71cd7005844dbbd06ca19be1ccf6779154439eec0b8", size = 2086475, upload-time = "2025-05-14T17:56:02.095Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8e/8344f8ae1cb6a479d0741c02cd4f666925b2bf02e2468ddaf5ce44111f30/sqlalchemy-2.0.41-cp311-cp311-win_amd64.whl", hash = "sha256:3d3549fc3e40667ec7199033a4e40a2f669898a00a7b18a931d3efb4c7900504", size = 2110903, upload-time = "2025-05-14T17:56:03.499Z" }, + { url = "https://files.pythonhosted.org/packages/3e/2a/f1f4e068b371154740dd10fb81afb5240d5af4aa0087b88d8b308b5429c2/sqlalchemy-2.0.41-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", size = 2119645, upload-time = "2025-05-14T17:55:24.854Z" }, + { url = "https://files.pythonhosted.org/packages/9b/e8/c664a7e73d36fbfc4730f8cf2bf930444ea87270f2825efbe17bf808b998/sqlalchemy-2.0.41-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", size = 2107399, upload-time = "2025-05-14T17:55:28.097Z" }, + { url = "https://files.pythonhosted.org/packages/5c/78/8a9cf6c5e7135540cb682128d091d6afa1b9e48bd049b0d691bf54114f70/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", size = 3293269, upload-time = "2025-05-14T17:50:38.227Z" }, + { url = "https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", size = 3303364, upload-time = "2025-05-14T17:51:49.829Z" }, + { url = "https://files.pythonhosted.org/packages/6a/d4/c990f37f52c3f7748ebe98883e2a0f7d038108c2c5a82468d1ff3eec50b7/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", size = 3229072, upload-time = "2025-05-14T17:50:39.774Z" }, + { url = "https://files.pythonhosted.org/packages/15/69/cab11fecc7eb64bc561011be2bd03d065b762d87add52a4ca0aca2e12904/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", size = 3268074, upload-time = "2025-05-14T17:51:51.736Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0c19ec16858585d37767b167fc9602593f98998a68a798450558239fb04a/sqlalchemy-2.0.41-cp312-cp312-win32.whl", hash = "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", size = 2084514, upload-time = "2025-05-14T17:55:49.915Z" }, + { url = "https://files.pythonhosted.org/packages/7f/23/4c2833d78ff3010a4e17f984c734f52b531a8c9060a50429c9d4b0211be6/sqlalchemy-2.0.41-cp312-cp312-win_amd64.whl", hash = "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", size = 2111557, upload-time = "2025-05-14T17:55:51.349Z" }, + { url = "https://files.pythonhosted.org/packages/d3/ad/2e1c6d4f235a97eeef52d0200d8ddda16f6c4dd70ae5ad88c46963440480/sqlalchemy-2.0.41-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4eeb195cdedaf17aab6b247894ff2734dcead6c08f748e617bfe05bd5a218443", size = 2115491, upload-time = "2025-05-14T17:55:31.177Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8d/be490e5db8400dacc89056f78a52d44b04fbf75e8439569d5b879623a53b/sqlalchemy-2.0.41-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d4ae769b9c1c7757e4ccce94b0641bc203bbdf43ba7a2413ab2523d8d047d8dc", size = 2102827, upload-time = "2025-05-14T17:55:34.921Z" }, + { url = "https://files.pythonhosted.org/packages/a0/72/c97ad430f0b0e78efaf2791342e13ffeafcbb3c06242f01a3bb8fe44f65d/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a62448526dd9ed3e3beedc93df9bb6b55a436ed1474db31a2af13b313a70a7e1", size = 3225224, upload-time = "2025-05-14T17:50:41.418Z" }, + { url = "https://files.pythonhosted.org/packages/5e/51/5ba9ea3246ea068630acf35a6ba0d181e99f1af1afd17e159eac7e8bc2b8/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc56c9788617b8964ad02e8fcfeed4001c1f8ba91a9e1f31483c0dffb207002a", size = 3230045, upload-time = "2025-05-14T17:51:54.722Z" }, + { url = "https://files.pythonhosted.org/packages/78/2f/8c14443b2acea700c62f9b4a8bad9e49fc1b65cfb260edead71fd38e9f19/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c153265408d18de4cc5ded1941dcd8315894572cddd3c58df5d5b5705b3fa28d", size = 3159357, upload-time = "2025-05-14T17:50:43.483Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b2/43eacbf6ccc5276d76cea18cb7c3d73e294d6fb21f9ff8b4eef9b42bbfd5/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", size = 3197511, upload-time = "2025-05-14T17:51:57.308Z" }, + { url = "https://files.pythonhosted.org/packages/fa/2e/677c17c5d6a004c3c45334ab1dbe7b7deb834430b282b8a0f75ae220c8eb/sqlalchemy-2.0.41-cp313-cp313-win32.whl", hash = "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", size = 2082420, upload-time = "2025-05-14T17:55:52.69Z" }, + { url = "https://files.pythonhosted.org/packages/e9/61/e8c1b9b6307c57157d328dd8b8348ddc4c47ffdf1279365a13b2b98b8049/sqlalchemy-2.0.41-cp313-cp313-win_amd64.whl", hash = "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", size = 2108329, upload-time = "2025-05-14T17:55:54.495Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224, upload-time = "2025-05-14T17:39:42.154Z" }, ] [[package]] @@ -1670,9 +1740,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "sqlalchemy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/bf/abfd5474cdd89ddd36dbbde9c6efba16bfa7f5448913eba946fed14729da/SQLAlchemy-Utils-0.41.2.tar.gz", hash = "sha256:bc599c8c3b3319e53ce6c5c3c471120bd325d0071fb6f38a10e924e3d07b9990", size = 138017 } +sdist = { url = "https://files.pythonhosted.org/packages/4d/bf/abfd5474cdd89ddd36dbbde9c6efba16bfa7f5448913eba946fed14729da/SQLAlchemy-Utils-0.41.2.tar.gz", hash = "sha256:bc599c8c3b3319e53ce6c5c3c471120bd325d0071fb6f38a10e924e3d07b9990", size = 138017, upload-time = "2024-03-24T15:17:28.196Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/f0/dc4757b83ac1ab853cf222df8535ed73973e0c203d983982ba7b8bc60508/SQLAlchemy_Utils-0.41.2-py3-none-any.whl", hash = "sha256:85cf3842da2bf060760f955f8467b87983fb2e30f1764fd0e24a48307dc8ec6e", size = 93083 }, + { url = "https://files.pythonhosted.org/packages/d5/f0/dc4757b83ac1ab853cf222df8535ed73973e0c203d983982ba7b8bc60508/SQLAlchemy_Utils-0.41.2-py3-none-any.whl", hash = "sha256:85cf3842da2bf060760f955f8467b87983fb2e30f1764fd0e24a48307dc8ec6e", size = 93083, upload-time = "2024-03-24T15:17:24.533Z" }, ] [[package]] @@ -1682,27 +1752,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846 } +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload-time = "2025-04-13T13:56:17.942Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037 }, + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload-time = "2025-04-13T13:56:16.21Z" }, ] [[package]] name = "tabulate" version = "0.9.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090 } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252 }, + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, ] [[package]] name = "tenacity" version = "8.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a3/4d/6a19536c50b849338fcbe9290d562b52cbdcf30d8963d3588a68a4107df1/tenacity-8.5.0.tar.gz", hash = "sha256:8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78", size = 47309 } +sdist = { url = "https://files.pythonhosted.org/packages/a3/4d/6a19536c50b849338fcbe9290d562b52cbdcf30d8963d3588a68a4107df1/tenacity-8.5.0.tar.gz", hash = "sha256:8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78", size = 47309, upload-time = "2024-07-05T07:25:31.836Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/3f/8ba87d9e287b9d385a02a7114ddcef61b26f86411e121c9003eb509a1773/tenacity-8.5.0-py3-none-any.whl", hash = "sha256:b594c2a5945830c267ce6b79a166228323ed52718f30302c1359836112346687", size = 28165 }, + { url = "https://files.pythonhosted.org/packages/d2/3f/8ba87d9e287b9d385a02a7114ddcef61b26f86411e121c9003eb509a1773/tenacity-8.5.0-py3-none-any.whl", hash = "sha256:b594c2a5945830c267ce6b79a166228323ed52718f30302c1359836112346687", size = 28165, upload-time = "2024-07-05T07:25:29.591Z" }, ] [[package]] @@ -1713,71 +1783,71 @@ dependencies = [ { name = "regex" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ea/cf/756fedf6981e82897f2d570dd25fa597eb3f4459068ae0572d7e888cfd6f/tiktoken-0.9.0.tar.gz", hash = "sha256:d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d", size = 35991 } +sdist = { url = "https://files.pythonhosted.org/packages/ea/cf/756fedf6981e82897f2d570dd25fa597eb3f4459068ae0572d7e888cfd6f/tiktoken-0.9.0.tar.gz", hash = "sha256:d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d", size = 35991, upload-time = "2025-02-14T06:03:01.003Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/64/f3/50ec5709fad61641e4411eb1b9ac55b99801d71f1993c29853f256c726c9/tiktoken-0.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:586c16358138b96ea804c034b8acf3f5d3f0258bd2bc3b0227af4af5d622e382", size = 1065770 }, - { url = "https://files.pythonhosted.org/packages/d6/f8/5a9560a422cf1755b6e0a9a436e14090eeb878d8ec0f80e0cd3d45b78bf4/tiktoken-0.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d9c59ccc528c6c5dd51820b3474402f69d9a9e1d656226848ad68a8d5b2e5108", size = 1009314 }, - { url = "https://files.pythonhosted.org/packages/bc/20/3ed4cfff8f809cb902900ae686069e029db74567ee10d017cb254df1d598/tiktoken-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0968d5beeafbca2a72c595e8385a1a1f8af58feaebb02b227229b69ca5357fd", size = 1143140 }, - { url = "https://files.pythonhosted.org/packages/f1/95/cc2c6d79df8f113bdc6c99cdec985a878768120d87d839a34da4bd3ff90a/tiktoken-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a5fb085a6a3b7350b8fc838baf493317ca0e17bd95e8642f95fc69ecfed1de", size = 1197860 }, - { url = "https://files.pythonhosted.org/packages/c7/6c/9c1a4cc51573e8867c9381db1814223c09ebb4716779c7f845d48688b9c8/tiktoken-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:15a2752dea63d93b0332fb0ddb05dd909371ededa145fe6a3242f46724fa7990", size = 1259661 }, - { url = "https://files.pythonhosted.org/packages/cd/4c/22eb8e9856a2b1808d0a002d171e534eac03f96dbe1161978d7389a59498/tiktoken-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:26113fec3bd7a352e4b33dbaf1bd8948de2507e30bd95a44e2b1156647bc01b4", size = 894026 }, - { url = "https://files.pythonhosted.org/packages/4d/ae/4613a59a2a48e761c5161237fc850eb470b4bb93696db89da51b79a871f1/tiktoken-0.9.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f32cc56168eac4851109e9b5d327637f15fd662aa30dd79f964b7c39fbadd26e", size = 1065987 }, - { url = "https://files.pythonhosted.org/packages/3f/86/55d9d1f5b5a7e1164d0f1538a85529b5fcba2b105f92db3622e5d7de6522/tiktoken-0.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:45556bc41241e5294063508caf901bf92ba52d8ef9222023f83d2483a3055348", size = 1009155 }, - { url = "https://files.pythonhosted.org/packages/03/58/01fb6240df083b7c1916d1dcb024e2b761213c95d576e9f780dfb5625a76/tiktoken-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03935988a91d6d3216e2ec7c645afbb3d870b37bcb67ada1943ec48678e7ee33", size = 1142898 }, - { url = "https://files.pythonhosted.org/packages/b1/73/41591c525680cd460a6becf56c9b17468d3711b1df242c53d2c7b2183d16/tiktoken-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b3d80aad8d2c6b9238fc1a5524542087c52b860b10cbf952429ffb714bc1136", size = 1197535 }, - { url = "https://files.pythonhosted.org/packages/7d/7c/1069f25521c8f01a1a182f362e5c8e0337907fae91b368b7da9c3e39b810/tiktoken-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b2a21133be05dc116b1d0372af051cd2c6aa1d2188250c9b553f9fa49301b336", size = 1259548 }, - { url = "https://files.pythonhosted.org/packages/6f/07/c67ad1724b8e14e2b4c8cca04b15da158733ac60136879131db05dda7c30/tiktoken-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:11a20e67fdf58b0e2dea7b8654a288e481bb4fc0289d3ad21291f8d0849915fb", size = 893895 }, - { url = "https://files.pythonhosted.org/packages/cf/e5/21ff33ecfa2101c1bb0f9b6df750553bd873b7fb532ce2cb276ff40b197f/tiktoken-0.9.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e88f121c1c22b726649ce67c089b90ddda8b9662545a8aeb03cfef15967ddd03", size = 1065073 }, - { url = "https://files.pythonhosted.org/packages/8e/03/a95e7b4863ee9ceec1c55983e4cc9558bcfd8f4f80e19c4f8a99642f697d/tiktoken-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a6600660f2f72369acb13a57fb3e212434ed38b045fd8cc6cdd74947b4b5d210", size = 1008075 }, - { url = "https://files.pythonhosted.org/packages/40/10/1305bb02a561595088235a513ec73e50b32e74364fef4de519da69bc8010/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95e811743b5dfa74f4b227927ed86cbc57cad4df859cb3b643be797914e41794", size = 1140754 }, - { url = "https://files.pythonhosted.org/packages/1b/40/da42522018ca496432ffd02793c3a72a739ac04c3794a4914570c9bb2925/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99376e1370d59bcf6935c933cb9ba64adc29033b7e73f5f7569f3aad86552b22", size = 1196678 }, - { url = "https://files.pythonhosted.org/packages/5c/41/1e59dddaae270ba20187ceb8aa52c75b24ffc09f547233991d5fd822838b/tiktoken-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:badb947c32739fb6ddde173e14885fb3de4d32ab9d8c591cbd013c22b4c31dd2", size = 1259283 }, - { url = "https://files.pythonhosted.org/packages/5b/64/b16003419a1d7728d0d8c0d56a4c24325e7b10a21a9dd1fc0f7115c02f0a/tiktoken-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:5a62d7a25225bafed786a524c1b9f0910a1128f4232615bf3f8257a73aaa3b16", size = 894897 }, - { url = "https://files.pythonhosted.org/packages/7a/11/09d936d37f49f4f494ffe660af44acd2d99eb2429d60a57c71318af214e0/tiktoken-0.9.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2b0e8e05a26eda1249e824156d537015480af7ae222ccb798e5234ae0285dbdb", size = 1064919 }, - { url = "https://files.pythonhosted.org/packages/80/0e/f38ba35713edb8d4197ae602e80837d574244ced7fb1b6070b31c29816e0/tiktoken-0.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:27d457f096f87685195eea0165a1807fae87b97b2161fe8c9b1df5bd74ca6f63", size = 1007877 }, - { url = "https://files.pythonhosted.org/packages/fe/82/9197f77421e2a01373e27a79dd36efdd99e6b4115746ecc553318ecafbf0/tiktoken-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cf8ded49cddf825390e36dd1ad35cd49589e8161fdcb52aa25f0583e90a3e01", size = 1140095 }, - { url = "https://files.pythonhosted.org/packages/f2/bb/4513da71cac187383541facd0291c4572b03ec23c561de5811781bbd988f/tiktoken-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc156cb314119a8bb9748257a2eaebd5cc0753b6cb491d26694ed42fc7cb3139", size = 1195649 }, - { url = "https://files.pythonhosted.org/packages/fa/5c/74e4c137530dd8504e97e3a41729b1103a4ac29036cbfd3250b11fd29451/tiktoken-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cd69372e8c9dd761f0ab873112aba55a0e3e506332dd9f7522ca466e817b1b7a", size = 1258465 }, - { url = "https://files.pythonhosted.org/packages/de/a8/8f499c179ec900783ffe133e9aab10044481679bb9aad78436d239eee716/tiktoken-0.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:5ea0edb6f83dc56d794723286215918c1cde03712cbbafa0348b33448faf5b95", size = 894669 }, + { url = "https://files.pythonhosted.org/packages/64/f3/50ec5709fad61641e4411eb1b9ac55b99801d71f1993c29853f256c726c9/tiktoken-0.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:586c16358138b96ea804c034b8acf3f5d3f0258bd2bc3b0227af4af5d622e382", size = 1065770, upload-time = "2025-02-14T06:02:01.251Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f8/5a9560a422cf1755b6e0a9a436e14090eeb878d8ec0f80e0cd3d45b78bf4/tiktoken-0.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d9c59ccc528c6c5dd51820b3474402f69d9a9e1d656226848ad68a8d5b2e5108", size = 1009314, upload-time = "2025-02-14T06:02:02.869Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/3ed4cfff8f809cb902900ae686069e029db74567ee10d017cb254df1d598/tiktoken-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0968d5beeafbca2a72c595e8385a1a1f8af58feaebb02b227229b69ca5357fd", size = 1143140, upload-time = "2025-02-14T06:02:04.165Z" }, + { url = "https://files.pythonhosted.org/packages/f1/95/cc2c6d79df8f113bdc6c99cdec985a878768120d87d839a34da4bd3ff90a/tiktoken-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a5fb085a6a3b7350b8fc838baf493317ca0e17bd95e8642f95fc69ecfed1de", size = 1197860, upload-time = "2025-02-14T06:02:06.268Z" }, + { url = "https://files.pythonhosted.org/packages/c7/6c/9c1a4cc51573e8867c9381db1814223c09ebb4716779c7f845d48688b9c8/tiktoken-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:15a2752dea63d93b0332fb0ddb05dd909371ededa145fe6a3242f46724fa7990", size = 1259661, upload-time = "2025-02-14T06:02:08.889Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4c/22eb8e9856a2b1808d0a002d171e534eac03f96dbe1161978d7389a59498/tiktoken-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:26113fec3bd7a352e4b33dbaf1bd8948de2507e30bd95a44e2b1156647bc01b4", size = 894026, upload-time = "2025-02-14T06:02:12.841Z" }, + { url = "https://files.pythonhosted.org/packages/4d/ae/4613a59a2a48e761c5161237fc850eb470b4bb93696db89da51b79a871f1/tiktoken-0.9.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f32cc56168eac4851109e9b5d327637f15fd662aa30dd79f964b7c39fbadd26e", size = 1065987, upload-time = "2025-02-14T06:02:14.174Z" }, + { url = "https://files.pythonhosted.org/packages/3f/86/55d9d1f5b5a7e1164d0f1538a85529b5fcba2b105f92db3622e5d7de6522/tiktoken-0.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:45556bc41241e5294063508caf901bf92ba52d8ef9222023f83d2483a3055348", size = 1009155, upload-time = "2025-02-14T06:02:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/03/58/01fb6240df083b7c1916d1dcb024e2b761213c95d576e9f780dfb5625a76/tiktoken-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03935988a91d6d3216e2ec7c645afbb3d870b37bcb67ada1943ec48678e7ee33", size = 1142898, upload-time = "2025-02-14T06:02:16.666Z" }, + { url = "https://files.pythonhosted.org/packages/b1/73/41591c525680cd460a6becf56c9b17468d3711b1df242c53d2c7b2183d16/tiktoken-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b3d80aad8d2c6b9238fc1a5524542087c52b860b10cbf952429ffb714bc1136", size = 1197535, upload-time = "2025-02-14T06:02:18.595Z" }, + { url = "https://files.pythonhosted.org/packages/7d/7c/1069f25521c8f01a1a182f362e5c8e0337907fae91b368b7da9c3e39b810/tiktoken-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b2a21133be05dc116b1d0372af051cd2c6aa1d2188250c9b553f9fa49301b336", size = 1259548, upload-time = "2025-02-14T06:02:20.729Z" }, + { url = "https://files.pythonhosted.org/packages/6f/07/c67ad1724b8e14e2b4c8cca04b15da158733ac60136879131db05dda7c30/tiktoken-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:11a20e67fdf58b0e2dea7b8654a288e481bb4fc0289d3ad21291f8d0849915fb", size = 893895, upload-time = "2025-02-14T06:02:22.67Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e5/21ff33ecfa2101c1bb0f9b6df750553bd873b7fb532ce2cb276ff40b197f/tiktoken-0.9.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e88f121c1c22b726649ce67c089b90ddda8b9662545a8aeb03cfef15967ddd03", size = 1065073, upload-time = "2025-02-14T06:02:24.768Z" }, + { url = "https://files.pythonhosted.org/packages/8e/03/a95e7b4863ee9ceec1c55983e4cc9558bcfd8f4f80e19c4f8a99642f697d/tiktoken-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a6600660f2f72369acb13a57fb3e212434ed38b045fd8cc6cdd74947b4b5d210", size = 1008075, upload-time = "2025-02-14T06:02:26.92Z" }, + { url = "https://files.pythonhosted.org/packages/40/10/1305bb02a561595088235a513ec73e50b32e74364fef4de519da69bc8010/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95e811743b5dfa74f4b227927ed86cbc57cad4df859cb3b643be797914e41794", size = 1140754, upload-time = "2025-02-14T06:02:28.124Z" }, + { url = "https://files.pythonhosted.org/packages/1b/40/da42522018ca496432ffd02793c3a72a739ac04c3794a4914570c9bb2925/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99376e1370d59bcf6935c933cb9ba64adc29033b7e73f5f7569f3aad86552b22", size = 1196678, upload-time = "2025-02-14T06:02:29.845Z" }, + { url = "https://files.pythonhosted.org/packages/5c/41/1e59dddaae270ba20187ceb8aa52c75b24ffc09f547233991d5fd822838b/tiktoken-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:badb947c32739fb6ddde173e14885fb3de4d32ab9d8c591cbd013c22b4c31dd2", size = 1259283, upload-time = "2025-02-14T06:02:33.838Z" }, + { url = "https://files.pythonhosted.org/packages/5b/64/b16003419a1d7728d0d8c0d56a4c24325e7b10a21a9dd1fc0f7115c02f0a/tiktoken-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:5a62d7a25225bafed786a524c1b9f0910a1128f4232615bf3f8257a73aaa3b16", size = 894897, upload-time = "2025-02-14T06:02:36.265Z" }, + { url = "https://files.pythonhosted.org/packages/7a/11/09d936d37f49f4f494ffe660af44acd2d99eb2429d60a57c71318af214e0/tiktoken-0.9.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2b0e8e05a26eda1249e824156d537015480af7ae222ccb798e5234ae0285dbdb", size = 1064919, upload-time = "2025-02-14T06:02:37.494Z" }, + { url = "https://files.pythonhosted.org/packages/80/0e/f38ba35713edb8d4197ae602e80837d574244ced7fb1b6070b31c29816e0/tiktoken-0.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:27d457f096f87685195eea0165a1807fae87b97b2161fe8c9b1df5bd74ca6f63", size = 1007877, upload-time = "2025-02-14T06:02:39.516Z" }, + { url = "https://files.pythonhosted.org/packages/fe/82/9197f77421e2a01373e27a79dd36efdd99e6b4115746ecc553318ecafbf0/tiktoken-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cf8ded49cddf825390e36dd1ad35cd49589e8161fdcb52aa25f0583e90a3e01", size = 1140095, upload-time = "2025-02-14T06:02:41.791Z" }, + { url = "https://files.pythonhosted.org/packages/f2/bb/4513da71cac187383541facd0291c4572b03ec23c561de5811781bbd988f/tiktoken-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc156cb314119a8bb9748257a2eaebd5cc0753b6cb491d26694ed42fc7cb3139", size = 1195649, upload-time = "2025-02-14T06:02:43Z" }, + { url = "https://files.pythonhosted.org/packages/fa/5c/74e4c137530dd8504e97e3a41729b1103a4ac29036cbfd3250b11fd29451/tiktoken-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cd69372e8c9dd761f0ab873112aba55a0e3e506332dd9f7522ca466e817b1b7a", size = 1258465, upload-time = "2025-02-14T06:02:45.046Z" }, + { url = "https://files.pythonhosted.org/packages/de/a8/8f499c179ec900783ffe133e9aab10044481679bb9aad78436d239eee716/tiktoken-0.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:5ea0edb6f83dc56d794723286215918c1cde03712cbbafa0348b33448faf5b95", size = 894669, upload-time = "2025-02-14T06:02:47.341Z" }, ] [[package]] name = "tomli" version = "2.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, - { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, - { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, - { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, - { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, - { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, - { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, - { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, - { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, - { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, - { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, - { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, - { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, - { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, - { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, - { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, - { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, - { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, - { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, - { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, - { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, - { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, - { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, - { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, - { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, - { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, - { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, - { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, ] [[package]] @@ -1785,11 +1855,11 @@ name = "tqdm" version = "4.67.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "platform_system == 'Windows'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 }, + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, ] [[package]] @@ -1802,18 +1872,18 @@ dependencies = [ { name = "shellingham" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c5/8c/7d682431efca5fd290017663ea4588bf6f2c6aad085c7f108c5dbc316e70/typer-0.16.0.tar.gz", hash = "sha256:af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b", size = 102625 } +sdist = { url = "https://files.pythonhosted.org/packages/c5/8c/7d682431efca5fd290017663ea4588bf6f2c6aad085c7f108c5dbc316e70/typer-0.16.0.tar.gz", hash = "sha256:af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b", size = 102625, upload-time = "2025-05-26T14:30:31.824Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/42/3efaf858001d2c2913de7f354563e3a3a2f0decae3efe98427125a8f441e/typer-0.16.0-py3-none-any.whl", hash = "sha256:1f79bed11d4d02d4310e3c1b7ba594183bcedb0ac73b27a9e5f28f6fb5b98855", size = 46317 }, + { url = "https://files.pythonhosted.org/packages/76/42/3efaf858001d2c2913de7f354563e3a3a2f0decae3efe98427125a8f441e/typer-0.16.0-py3-none-any.whl", hash = "sha256:1f79bed11d4d02d4310e3c1b7ba594183bcedb0ac73b27a9e5f28f6fb5b98855", size = 46317, upload-time = "2025-05-26T14:30:30.523Z" }, ] [[package]] name = "typing-extensions" version = "4.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423 } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839 }, + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, ] [[package]] @@ -1823,27 +1893,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726 } +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552 }, + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, ] [[package]] name = "tzdata" version = "2025.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380 } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839 }, + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, ] [[package]] name = "urllib3" version = "2.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185 } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795 }, + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, ] [[package]] @@ -1855,9 +1925,9 @@ dependencies = [ { name = "h11" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631 } +sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631, upload-time = "2025-06-01T07:48:17.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431 }, + { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431, upload-time = "2025-06-01T07:48:15.664Z" }, ] [package.optional-dependencies] @@ -1875,32 +1945,32 @@ standard = [ name = "uvloop" version = "0.21.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741 } +sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741, upload-time = "2024-10-14T23:38:35.489Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3d/76/44a55515e8c9505aa1420aebacf4dd82552e5e15691654894e90d0bd051a/uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f", size = 1442019 }, - { url = "https://files.pythonhosted.org/packages/35/5a/62d5800358a78cc25c8a6c72ef8b10851bdb8cca22e14d9c74167b7f86da/uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d", size = 801898 }, - { url = "https://files.pythonhosted.org/packages/f3/96/63695e0ebd7da6c741ccd4489b5947394435e198a1382349c17b1146bb97/uvloop-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f38b2e090258d051d68a5b14d1da7203a3c3677321cf32a95a6f4db4dd8b6f26", size = 3827735 }, - { url = "https://files.pythonhosted.org/packages/61/e0/f0f8ec84979068ffae132c58c79af1de9cceeb664076beea86d941af1a30/uvloop-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c43e0f13022b998eb9b973b5e97200c8b90823454d4bc06ab33829e09fb9bb", size = 3825126 }, - { url = "https://files.pythonhosted.org/packages/bf/fe/5e94a977d058a54a19df95f12f7161ab6e323ad49f4dabc28822eb2df7ea/uvloop-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10d66943def5fcb6e7b37310eb6b5639fd2ccbc38df1177262b0640c3ca68c1f", size = 3705789 }, - { url = "https://files.pythonhosted.org/packages/26/dd/c7179618e46092a77e036650c1f056041a028a35c4d76945089fcfc38af8/uvloop-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:67dd654b8ca23aed0a8e99010b4c34aca62f4b7fce88f39d452ed7622c94845c", size = 3800523 }, - { url = "https://files.pythonhosted.org/packages/57/a7/4cf0334105c1160dd6819f3297f8700fda7fc30ab4f61fbf3e725acbc7cc/uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8", size = 1447410 }, - { url = "https://files.pythonhosted.org/packages/8c/7c/1517b0bbc2dbe784b563d6ab54f2ef88c890fdad77232c98ed490aa07132/uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0", size = 805476 }, - { url = "https://files.pythonhosted.org/packages/ee/ea/0bfae1aceb82a503f358d8d2fa126ca9dbdb2ba9c7866974faec1cb5875c/uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e", size = 3960855 }, - { url = "https://files.pythonhosted.org/packages/8a/ca/0864176a649838b838f36d44bf31c451597ab363b60dc9e09c9630619d41/uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb", size = 3973185 }, - { url = "https://files.pythonhosted.org/packages/30/bf/08ad29979a936d63787ba47a540de2132169f140d54aa25bc8c3df3e67f4/uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6", size = 3820256 }, - { url = "https://files.pythonhosted.org/packages/da/e2/5cf6ef37e3daf2f06e651aae5ea108ad30df3cb269102678b61ebf1fdf42/uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d", size = 3937323 }, - { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284 }, - { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349 }, - { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089 }, - { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770 }, - { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321 }, - { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022 }, - { url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123 }, - { url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325 }, - { url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806 }, - { url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068 }, - { url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428 }, - { url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018 }, + { url = "https://files.pythonhosted.org/packages/3d/76/44a55515e8c9505aa1420aebacf4dd82552e5e15691654894e90d0bd051a/uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f", size = 1442019, upload-time = "2024-10-14T23:37:20.068Z" }, + { url = "https://files.pythonhosted.org/packages/35/5a/62d5800358a78cc25c8a6c72ef8b10851bdb8cca22e14d9c74167b7f86da/uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d", size = 801898, upload-time = "2024-10-14T23:37:22.663Z" }, + { url = "https://files.pythonhosted.org/packages/f3/96/63695e0ebd7da6c741ccd4489b5947394435e198a1382349c17b1146bb97/uvloop-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f38b2e090258d051d68a5b14d1da7203a3c3677321cf32a95a6f4db4dd8b6f26", size = 3827735, upload-time = "2024-10-14T23:37:25.129Z" }, + { url = "https://files.pythonhosted.org/packages/61/e0/f0f8ec84979068ffae132c58c79af1de9cceeb664076beea86d941af1a30/uvloop-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c43e0f13022b998eb9b973b5e97200c8b90823454d4bc06ab33829e09fb9bb", size = 3825126, upload-time = "2024-10-14T23:37:27.59Z" }, + { url = "https://files.pythonhosted.org/packages/bf/fe/5e94a977d058a54a19df95f12f7161ab6e323ad49f4dabc28822eb2df7ea/uvloop-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10d66943def5fcb6e7b37310eb6b5639fd2ccbc38df1177262b0640c3ca68c1f", size = 3705789, upload-time = "2024-10-14T23:37:29.385Z" }, + { url = "https://files.pythonhosted.org/packages/26/dd/c7179618e46092a77e036650c1f056041a028a35c4d76945089fcfc38af8/uvloop-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:67dd654b8ca23aed0a8e99010b4c34aca62f4b7fce88f39d452ed7622c94845c", size = 3800523, upload-time = "2024-10-14T23:37:32.048Z" }, + { url = "https://files.pythonhosted.org/packages/57/a7/4cf0334105c1160dd6819f3297f8700fda7fc30ab4f61fbf3e725acbc7cc/uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8", size = 1447410, upload-time = "2024-10-14T23:37:33.612Z" }, + { url = "https://files.pythonhosted.org/packages/8c/7c/1517b0bbc2dbe784b563d6ab54f2ef88c890fdad77232c98ed490aa07132/uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0", size = 805476, upload-time = "2024-10-14T23:37:36.11Z" }, + { url = "https://files.pythonhosted.org/packages/ee/ea/0bfae1aceb82a503f358d8d2fa126ca9dbdb2ba9c7866974faec1cb5875c/uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e", size = 3960855, upload-time = "2024-10-14T23:37:37.683Z" }, + { url = "https://files.pythonhosted.org/packages/8a/ca/0864176a649838b838f36d44bf31c451597ab363b60dc9e09c9630619d41/uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb", size = 3973185, upload-time = "2024-10-14T23:37:40.226Z" }, + { url = "https://files.pythonhosted.org/packages/30/bf/08ad29979a936d63787ba47a540de2132169f140d54aa25bc8c3df3e67f4/uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6", size = 3820256, upload-time = "2024-10-14T23:37:42.839Z" }, + { url = "https://files.pythonhosted.org/packages/da/e2/5cf6ef37e3daf2f06e651aae5ea108ad30df3cb269102678b61ebf1fdf42/uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d", size = 3937323, upload-time = "2024-10-14T23:37:45.337Z" }, + { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284, upload-time = "2024-10-14T23:37:47.833Z" }, + { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349, upload-time = "2024-10-14T23:37:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089, upload-time = "2024-10-14T23:37:51.703Z" }, + { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770, upload-time = "2024-10-14T23:37:54.122Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321, upload-time = "2024-10-14T23:37:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022, upload-time = "2024-10-14T23:37:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123, upload-time = "2024-10-14T23:38:00.688Z" }, + { url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325, upload-time = "2024-10-14T23:38:02.309Z" }, + { url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806, upload-time = "2024-10-14T23:38:04.711Z" }, + { url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068, upload-time = "2024-10-14T23:38:06.385Z" }, + { url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428, upload-time = "2024-10-14T23:38:08.416Z" }, + { url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018, upload-time = "2024-10-14T23:38:10.888Z" }, ] [[package]] @@ -1910,218 +1980,218 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2a/9a/d451fcc97d029f5812e898fd30a53fd8c15c7bbd058fd75cfc6beb9bd761/watchfiles-1.1.0.tar.gz", hash = "sha256:693ed7ec72cbfcee399e92c895362b6e66d63dac6b91e2c11ae03d10d503e575", size = 94406 } +sdist = { url = "https://files.pythonhosted.org/packages/2a/9a/d451fcc97d029f5812e898fd30a53fd8c15c7bbd058fd75cfc6beb9bd761/watchfiles-1.1.0.tar.gz", hash = "sha256:693ed7ec72cbfcee399e92c895362b6e66d63dac6b91e2c11ae03d10d503e575", size = 94406, upload-time = "2025-06-15T19:06:59.42Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/dd/579d1dc57f0f895426a1211c4ef3b0cb37eb9e642bb04bdcd962b5df206a/watchfiles-1.1.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:27f30e14aa1c1e91cb653f03a63445739919aef84c8d2517997a83155e7a2fcc", size = 405757 }, - { url = "https://files.pythonhosted.org/packages/1c/a0/7a0318cd874393344d48c34d53b3dd419466adf59a29ba5b51c88dd18b86/watchfiles-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3366f56c272232860ab45c77c3ca7b74ee819c8e1f6f35a7125556b198bbc6df", size = 397511 }, - { url = "https://files.pythonhosted.org/packages/06/be/503514656d0555ec2195f60d810eca29b938772e9bfb112d5cd5ad6f6a9e/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8412eacef34cae2836d891836a7fff7b754d6bcac61f6c12ba5ca9bc7e427b68", size = 450739 }, - { url = "https://files.pythonhosted.org/packages/4e/0d/a05dd9e5f136cdc29751816d0890d084ab99f8c17b86f25697288ca09bc7/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df670918eb7dd719642e05979fc84704af913d563fd17ed636f7c4783003fdcc", size = 458106 }, - { url = "https://files.pythonhosted.org/packages/f1/fa/9cd16e4dfdb831072b7ac39e7bea986e52128526251038eb481effe9f48e/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7642b9bc4827b5518ebdb3b82698ada8c14c7661ddec5fe719f3e56ccd13c97", size = 484264 }, - { url = "https://files.pythonhosted.org/packages/32/04/1da8a637c7e2b70e750a0308e9c8e662ada0cca46211fa9ef24a23937e0b/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:199207b2d3eeaeb80ef4411875a6243d9ad8bc35b07fc42daa6b801cc39cc41c", size = 597612 }, - { url = "https://files.pythonhosted.org/packages/30/01/109f2762e968d3e58c95731a206e5d7d2a7abaed4299dd8a94597250153c/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a479466da6db5c1e8754caee6c262cd373e6e6c363172d74394f4bff3d84d7b5", size = 477242 }, - { url = "https://files.pythonhosted.org/packages/b5/b8/46f58cf4969d3b7bc3ca35a98e739fa4085b0657a1540ccc29a1a0bc016f/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:935f9edd022ec13e447e5723a7d14456c8af254544cefbc533f6dd276c9aa0d9", size = 453148 }, - { url = "https://files.pythonhosted.org/packages/a5/cd/8267594263b1770f1eb76914940d7b2d03ee55eca212302329608208e061/watchfiles-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8076a5769d6bdf5f673a19d51da05fc79e2bbf25e9fe755c47595785c06a8c72", size = 626574 }, - { url = "https://files.pythonhosted.org/packages/a1/2f/7f2722e85899bed337cba715723e19185e288ef361360718973f891805be/watchfiles-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:86b1e28d4c37e89220e924305cd9f82866bb0ace666943a6e4196c5df4d58dcc", size = 624378 }, - { url = "https://files.pythonhosted.org/packages/bf/20/64c88ec43d90a568234d021ab4b2a6f42a5230d772b987c3f9c00cc27b8b/watchfiles-1.1.0-cp310-cp310-win32.whl", hash = "sha256:d1caf40c1c657b27858f9774d5c0e232089bca9cb8ee17ce7478c6e9264d2587", size = 279829 }, - { url = "https://files.pythonhosted.org/packages/39/5c/a9c1ed33de7af80935e4eac09570de679c6e21c07070aa99f74b4431f4d6/watchfiles-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:a89c75a5b9bc329131115a409d0acc16e8da8dfd5867ba59f1dd66ae7ea8fa82", size = 292192 }, - { url = "https://files.pythonhosted.org/packages/8b/78/7401154b78ab484ccaaeef970dc2af0cb88b5ba8a1b415383da444cdd8d3/watchfiles-1.1.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c9649dfc57cc1f9835551deb17689e8d44666315f2e82d337b9f07bd76ae3aa2", size = 405751 }, - { url = "https://files.pythonhosted.org/packages/76/63/e6c3dbc1f78d001589b75e56a288c47723de28c580ad715eb116639152b5/watchfiles-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:406520216186b99374cdb58bc48e34bb74535adec160c8459894884c983a149c", size = 397313 }, - { url = "https://files.pythonhosted.org/packages/6c/a2/8afa359ff52e99af1632f90cbf359da46184207e893a5f179301b0c8d6df/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb45350fd1dc75cd68d3d72c47f5b513cb0578da716df5fba02fff31c69d5f2d", size = 450792 }, - { url = "https://files.pythonhosted.org/packages/1d/bf/7446b401667f5c64972a57a0233be1104157fc3abf72c4ef2666c1bd09b2/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:11ee4444250fcbeb47459a877e5e80ed994ce8e8d20283857fc128be1715dac7", size = 458196 }, - { url = "https://files.pythonhosted.org/packages/58/2f/501ddbdfa3fa874ea5597c77eeea3d413579c29af26c1091b08d0c792280/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bda8136e6a80bdea23e5e74e09df0362744d24ffb8cd59c4a95a6ce3d142f79c", size = 484788 }, - { url = "https://files.pythonhosted.org/packages/61/1e/9c18eb2eb5c953c96bc0e5f626f0e53cfef4bd19bd50d71d1a049c63a575/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b915daeb2d8c1f5cee4b970f2e2c988ce6514aace3c9296e58dd64dc9aa5d575", size = 597879 }, - { url = "https://files.pythonhosted.org/packages/8b/6c/1467402e5185d89388b4486745af1e0325007af0017c3384cc786fff0542/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed8fc66786de8d0376f9f913c09e963c66e90ced9aa11997f93bdb30f7c872a8", size = 477447 }, - { url = "https://files.pythonhosted.org/packages/2b/a1/ec0a606bde4853d6c4a578f9391eeb3684a9aea736a8eb217e3e00aa89a1/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe4371595edf78c41ef8ac8df20df3943e13defd0efcb732b2e393b5a8a7a71f", size = 453145 }, - { url = "https://files.pythonhosted.org/packages/90/b9/ef6f0c247a6a35d689fc970dc7f6734f9257451aefb30def5d100d6246a5/watchfiles-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b7c5f6fe273291f4d414d55b2c80d33c457b8a42677ad14b4b47ff025d0893e4", size = 626539 }, - { url = "https://files.pythonhosted.org/packages/34/44/6ffda5537085106ff5aaa762b0d130ac6c75a08015dd1621376f708c94de/watchfiles-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7738027989881e70e3723c75921f1efa45225084228788fc59ea8c6d732eb30d", size = 624472 }, - { url = "https://files.pythonhosted.org/packages/c3/e3/71170985c48028fa3f0a50946916a14055e741db11c2e7bc2f3b61f4d0e3/watchfiles-1.1.0-cp311-cp311-win32.whl", hash = "sha256:622d6b2c06be19f6e89b1d951485a232e3b59618def88dbeda575ed8f0d8dbf2", size = 279348 }, - { url = "https://files.pythonhosted.org/packages/89/1b/3e39c68b68a7a171070f81fc2561d23ce8d6859659406842a0e4bebf3bba/watchfiles-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:48aa25e5992b61debc908a61ab4d3f216b64f44fdaa71eb082d8b2de846b7d12", size = 292607 }, - { url = "https://files.pythonhosted.org/packages/61/9f/2973b7539f2bdb6ea86d2c87f70f615a71a1fc2dba2911795cea25968aea/watchfiles-1.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:00645eb79a3faa70d9cb15c8d4187bb72970b2470e938670240c7998dad9f13a", size = 285056 }, - { url = "https://files.pythonhosted.org/packages/f6/b8/858957045a38a4079203a33aaa7d23ea9269ca7761c8a074af3524fbb240/watchfiles-1.1.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9dc001c3e10de4725c749d4c2f2bdc6ae24de5a88a339c4bce32300a31ede179", size = 402339 }, - { url = "https://files.pythonhosted.org/packages/80/28/98b222cca751ba68e88521fabd79a4fab64005fc5976ea49b53fa205d1fa/watchfiles-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d9ba68ec283153dead62cbe81872d28e053745f12335d037de9cbd14bd1877f5", size = 394409 }, - { url = "https://files.pythonhosted.org/packages/86/50/dee79968566c03190677c26f7f47960aff738d32087087bdf63a5473e7df/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:130fc497b8ee68dce163e4254d9b0356411d1490e868bd8790028bc46c5cc297", size = 450939 }, - { url = "https://files.pythonhosted.org/packages/40/45/a7b56fb129700f3cfe2594a01aa38d033b92a33dddce86c8dfdfc1247b72/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50a51a90610d0845a5931a780d8e51d7bd7f309ebc25132ba975aca016b576a0", size = 457270 }, - { url = "https://files.pythonhosted.org/packages/b5/c8/fa5ef9476b1d02dc6b5e258f515fcaaecf559037edf8b6feffcbc097c4b8/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc44678a72ac0910bac46fa6a0de6af9ba1355669b3dfaf1ce5f05ca7a74364e", size = 483370 }, - { url = "https://files.pythonhosted.org/packages/98/68/42cfcdd6533ec94f0a7aab83f759ec11280f70b11bfba0b0f885e298f9bd/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a543492513a93b001975ae283a51f4b67973662a375a403ae82f420d2c7205ee", size = 598654 }, - { url = "https://files.pythonhosted.org/packages/d3/74/b2a1544224118cc28df7e59008a929e711f9c68ce7d554e171b2dc531352/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ac164e20d17cc285f2b94dc31c384bc3aa3dd5e7490473b3db043dd70fbccfd", size = 478667 }, - { url = "https://files.pythonhosted.org/packages/8c/77/e3362fe308358dc9f8588102481e599c83e1b91c2ae843780a7ded939a35/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7590d5a455321e53857892ab8879dce62d1f4b04748769f5adf2e707afb9d4f", size = 452213 }, - { url = "https://files.pythonhosted.org/packages/6e/17/c8f1a36540c9a1558d4faf08e909399e8133599fa359bf52ec8fcee5be6f/watchfiles-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:37d3d3f7defb13f62ece99e9be912afe9dd8a0077b7c45ee5a57c74811d581a4", size = 626718 }, - { url = "https://files.pythonhosted.org/packages/26/45/fb599be38b4bd38032643783d7496a26a6f9ae05dea1a42e58229a20ac13/watchfiles-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7080c4bb3efd70a07b1cc2df99a7aa51d98685be56be6038c3169199d0a1c69f", size = 623098 }, - { url = "https://files.pythonhosted.org/packages/a1/e7/fdf40e038475498e160cd167333c946e45d8563ae4dd65caf757e9ffe6b4/watchfiles-1.1.0-cp312-cp312-win32.whl", hash = "sha256:cbcf8630ef4afb05dc30107bfa17f16c0896bb30ee48fc24bf64c1f970f3b1fd", size = 279209 }, - { url = "https://files.pythonhosted.org/packages/3f/d3/3ae9d5124ec75143bdf088d436cba39812122edc47709cd2caafeac3266f/watchfiles-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:cbd949bdd87567b0ad183d7676feb98136cde5bb9025403794a4c0db28ed3a47", size = 292786 }, - { url = "https://files.pythonhosted.org/packages/26/2f/7dd4fc8b5f2b34b545e19629b4a018bfb1de23b3a496766a2c1165ca890d/watchfiles-1.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:0a7d40b77f07be87c6faa93d0951a0fcd8cbca1ddff60a1b65d741bac6f3a9f6", size = 284343 }, - { url = "https://files.pythonhosted.org/packages/d3/42/fae874df96595556a9089ade83be34a2e04f0f11eb53a8dbf8a8a5e562b4/watchfiles-1.1.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5007f860c7f1f8df471e4e04aaa8c43673429047d63205d1630880f7637bca30", size = 402004 }, - { url = "https://files.pythonhosted.org/packages/fa/55/a77e533e59c3003d9803c09c44c3651224067cbe7fb5d574ddbaa31e11ca/watchfiles-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:20ecc8abbd957046f1fe9562757903f5eaf57c3bce70929fda6c7711bb58074a", size = 393671 }, - { url = "https://files.pythonhosted.org/packages/05/68/b0afb3f79c8e832e6571022611adbdc36e35a44e14f129ba09709aa4bb7a/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2f0498b7d2a3c072766dba3274fe22a183dbea1f99d188f1c6c72209a1063dc", size = 449772 }, - { url = "https://files.pythonhosted.org/packages/ff/05/46dd1f6879bc40e1e74c6c39a1b9ab9e790bf1f5a2fe6c08b463d9a807f4/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:239736577e848678e13b201bba14e89718f5c2133dfd6b1f7846fa1b58a8532b", size = 456789 }, - { url = "https://files.pythonhosted.org/packages/8b/ca/0eeb2c06227ca7f12e50a47a3679df0cd1ba487ea19cf844a905920f8e95/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eff4b8d89f444f7e49136dc695599a591ff769300734446c0a86cba2eb2f9895", size = 482551 }, - { url = "https://files.pythonhosted.org/packages/31/47/2cecbd8694095647406645f822781008cc524320466ea393f55fe70eed3b/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12b0a02a91762c08f7264e2e79542f76870c3040bbc847fb67410ab81474932a", size = 597420 }, - { url = "https://files.pythonhosted.org/packages/d9/7e/82abc4240e0806846548559d70f0b1a6dfdca75c1b4f9fa62b504ae9b083/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:29e7bc2eee15cbb339c68445959108803dc14ee0c7b4eea556400131a8de462b", size = 477950 }, - { url = "https://files.pythonhosted.org/packages/25/0d/4d564798a49bf5482a4fa9416dea6b6c0733a3b5700cb8a5a503c4b15853/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9481174d3ed982e269c090f780122fb59cee6c3796f74efe74e70f7780ed94c", size = 451706 }, - { url = "https://files.pythonhosted.org/packages/81/b5/5516cf46b033192d544102ea07c65b6f770f10ed1d0a6d388f5d3874f6e4/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:80f811146831c8c86ab17b640801c25dc0a88c630e855e2bef3568f30434d52b", size = 625814 }, - { url = "https://files.pythonhosted.org/packages/0c/dd/7c1331f902f30669ac3e754680b6edb9a0dd06dea5438e61128111fadd2c/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:60022527e71d1d1fda67a33150ee42869042bce3d0fcc9cc49be009a9cded3fb", size = 622820 }, - { url = "https://files.pythonhosted.org/packages/1b/14/36d7a8e27cd128d7b1009e7715a7c02f6c131be9d4ce1e5c3b73d0e342d8/watchfiles-1.1.0-cp313-cp313-win32.whl", hash = "sha256:32d6d4e583593cb8576e129879ea0991660b935177c0f93c6681359b3654bfa9", size = 279194 }, - { url = "https://files.pythonhosted.org/packages/25/41/2dd88054b849aa546dbeef5696019c58f8e0774f4d1c42123273304cdb2e/watchfiles-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:f21af781a4a6fbad54f03c598ab620e3a77032c5878f3d780448421a6e1818c7", size = 292349 }, - { url = "https://files.pythonhosted.org/packages/c8/cf/421d659de88285eb13941cf11a81f875c176f76a6d99342599be88e08d03/watchfiles-1.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:5366164391873ed76bfdf618818c82084c9db7fac82b64a20c44d335eec9ced5", size = 283836 }, - { url = "https://files.pythonhosted.org/packages/45/10/6faf6858d527e3599cc50ec9fcae73590fbddc1420bd4fdccfebffeedbc6/watchfiles-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:17ab167cca6339c2b830b744eaf10803d2a5b6683be4d79d8475d88b4a8a4be1", size = 400343 }, - { url = "https://files.pythonhosted.org/packages/03/20/5cb7d3966f5e8c718006d0e97dfe379a82f16fecd3caa7810f634412047a/watchfiles-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:328dbc9bff7205c215a7807da7c18dce37da7da718e798356212d22696404339", size = 392916 }, - { url = "https://files.pythonhosted.org/packages/8c/07/d8f1176328fa9e9581b6f120b017e286d2a2d22ae3f554efd9515c8e1b49/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7208ab6e009c627b7557ce55c465c98967e8caa8b11833531fdf95799372633", size = 449582 }, - { url = "https://files.pythonhosted.org/packages/66/e8/80a14a453cf6038e81d072a86c05276692a1826471fef91df7537dba8b46/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a8f6f72974a19efead54195bc9bed4d850fc047bb7aa971268fd9a8387c89011", size = 456752 }, - { url = "https://files.pythonhosted.org/packages/5a/25/0853b3fe0e3c2f5af9ea60eb2e781eade939760239a72c2d38fc4cc335f6/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d181ef50923c29cf0450c3cd47e2f0557b62218c50b2ab8ce2ecaa02bd97e670", size = 481436 }, - { url = "https://files.pythonhosted.org/packages/fe/9e/4af0056c258b861fbb29dcb36258de1e2b857be4a9509e6298abcf31e5c9/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adb4167043d3a78280d5d05ce0ba22055c266cf8655ce942f2fb881262ff3cdf", size = 596016 }, - { url = "https://files.pythonhosted.org/packages/c5/fa/95d604b58aa375e781daf350897aaaa089cff59d84147e9ccff2447c8294/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5701dc474b041e2934a26d31d39f90fac8a3dee2322b39f7729867f932b1d4", size = 476727 }, - { url = "https://files.pythonhosted.org/packages/65/95/fe479b2664f19be4cf5ceeb21be05afd491d95f142e72d26a42f41b7c4f8/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b067915e3c3936966a8607f6fe5487df0c9c4afb85226613b520890049deea20", size = 451864 }, - { url = "https://files.pythonhosted.org/packages/d3/8a/3c4af14b93a15ce55901cd7a92e1a4701910f1768c78fb30f61d2b79785b/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:9c733cda03b6d636b4219625a4acb5c6ffb10803338e437fb614fef9516825ef", size = 625626 }, - { url = "https://files.pythonhosted.org/packages/da/f5/cf6aa047d4d9e128f4b7cde615236a915673775ef171ff85971d698f3c2c/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:cc08ef8b90d78bfac66f0def80240b0197008e4852c9f285907377b2947ffdcb", size = 622744 }, - { url = "https://files.pythonhosted.org/packages/2c/00/70f75c47f05dea6fd30df90f047765f6fc2d6eb8b5a3921379b0b04defa2/watchfiles-1.1.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:9974d2f7dc561cce3bb88dfa8eb309dab64c729de85fba32e98d75cf24b66297", size = 402114 }, - { url = "https://files.pythonhosted.org/packages/53/03/acd69c48db4a1ed1de26b349d94077cca2238ff98fd64393f3e97484cae6/watchfiles-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c68e9f1fcb4d43798ad8814c4c1b61547b014b667216cb754e606bfade587018", size = 393879 }, - { url = "https://files.pythonhosted.org/packages/2f/c8/a9a2a6f9c8baa4eceae5887fecd421e1b7ce86802bcfc8b6a942e2add834/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95ab1594377effac17110e1352989bdd7bdfca9ff0e5eeccd8c69c5389b826d0", size = 450026 }, - { url = "https://files.pythonhosted.org/packages/fe/51/d572260d98388e6e2b967425c985e07d47ee6f62e6455cefb46a6e06eda5/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fba9b62da882c1be1280a7584ec4515d0a6006a94d6e5819730ec2eab60ffe12", size = 457917 }, - { url = "https://files.pythonhosted.org/packages/c6/2d/4258e52917bf9f12909b6ec314ff9636276f3542f9d3807d143f27309104/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3434e401f3ce0ed6b42569128b3d1e3af773d7ec18751b918b89cd49c14eaafb", size = 483602 }, - { url = "https://files.pythonhosted.org/packages/84/99/bee17a5f341a4345fe7b7972a475809af9e528deba056f8963d61ea49f75/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa257a4d0d21fcbca5b5fcba9dca5a78011cb93c0323fb8855c6d2dfbc76eb77", size = 596758 }, - { url = "https://files.pythonhosted.org/packages/40/76/e4bec1d59b25b89d2b0716b41b461ed655a9a53c60dc78ad5771fda5b3e6/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fd1b3879a578a8ec2076c7961076df540b9af317123f84569f5a9ddee64ce92", size = 477601 }, - { url = "https://files.pythonhosted.org/packages/1f/fa/a514292956f4a9ce3c567ec0c13cce427c158e9f272062685a8a727d08fc/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc7a30eeb0e20ecc5f4bd113cd69dcdb745a07c68c0370cea919f373f65d9e", size = 451936 }, - { url = "https://files.pythonhosted.org/packages/32/5d/c3bf927ec3bbeb4566984eba8dd7a8eb69569400f5509904545576741f88/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:891c69e027748b4a73847335d208e374ce54ca3c335907d381fde4e41661b13b", size = 626243 }, - { url = "https://files.pythonhosted.org/packages/e6/65/6e12c042f1a68c556802a84d54bb06d35577c81e29fba14019562479159c/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:12fe8eaffaf0faa7906895b4f8bb88264035b3f0243275e0bf24af0436b27259", size = 623073 }, - { url = "https://files.pythonhosted.org/packages/89/ab/7f79d9bf57329e7cbb0a6fd4c7bd7d0cee1e4a8ef0041459f5409da3506c/watchfiles-1.1.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:bfe3c517c283e484843cb2e357dd57ba009cff351edf45fb455b5fbd1f45b15f", size = 400872 }, - { url = "https://files.pythonhosted.org/packages/df/d5/3f7bf9912798e9e6c516094db6b8932df53b223660c781ee37607030b6d3/watchfiles-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a9ccbf1f129480ed3044f540c0fdbc4ee556f7175e5ab40fe077ff6baf286d4e", size = 392877 }, - { url = "https://files.pythonhosted.org/packages/0d/c5/54ec7601a2798604e01c75294770dbee8150e81c6e471445d7601610b495/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba0e3255b0396cac3cc7bbace76404dd72b5438bf0d8e7cefa2f79a7f3649caa", size = 449645 }, - { url = "https://files.pythonhosted.org/packages/0a/04/c2f44afc3b2fce21ca0b7802cbd37ed90a29874f96069ed30a36dfe57c2b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4281cd9fce9fc0a9dbf0fc1217f39bf9cf2b4d315d9626ef1d4e87b84699e7e8", size = 457424 }, - { url = "https://files.pythonhosted.org/packages/9f/b0/eec32cb6c14d248095261a04f290636da3df3119d4040ef91a4a50b29fa5/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d2404af8db1329f9a3c9b79ff63e0ae7131986446901582067d9304ae8aaf7f", size = 481584 }, - { url = "https://files.pythonhosted.org/packages/d1/e2/ca4bb71c68a937d7145aa25709e4f5d68eb7698a25ce266e84b55d591bbd/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e78b6ed8165996013165eeabd875c5dfc19d41b54f94b40e9fff0eb3193e5e8e", size = 596675 }, - { url = "https://files.pythonhosted.org/packages/a1/dd/b0e4b7fb5acf783816bc950180a6cd7c6c1d2cf7e9372c0ea634e722712b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:249590eb75ccc117f488e2fabd1bfa33c580e24b96f00658ad88e38844a040bb", size = 477363 }, - { url = "https://files.pythonhosted.org/packages/69/c4/088825b75489cb5b6a761a4542645718893d395d8c530b38734f19da44d2/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d05686b5487cfa2e2c28ff1aa370ea3e6c5accfe6435944ddea1e10d93872147", size = 452240 }, - { url = "https://files.pythonhosted.org/packages/10/8c/22b074814970eeef43b7c44df98c3e9667c1f7bf5b83e0ff0201b0bd43f9/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:d0e10e6f8f6dc5762adee7dece33b722282e1f59aa6a55da5d493a97282fedd8", size = 625607 }, - { url = "https://files.pythonhosted.org/packages/32/fa/a4f5c2046385492b2273213ef815bf71a0d4c1943b784fb904e184e30201/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:af06c863f152005c7592df1d6a7009c836a247c9d8adb78fef8575a5a98699db", size = 623315 }, - { url = "https://files.pythonhosted.org/packages/be/7c/a3d7c55cfa377c2f62c4ae3c6502b997186bc5e38156bafcb9b653de9a6d/watchfiles-1.1.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a6fd40bbb50d24976eb275ccb55cd1951dfb63dbc27cae3066a6ca5f4beabd5", size = 406748 }, - { url = "https://files.pythonhosted.org/packages/38/d0/c46f1b2c0ca47f3667b144de6f0515f6d1c670d72f2ca29861cac78abaa1/watchfiles-1.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9f811079d2f9795b5d48b55a37aa7773680a5659afe34b54cc1d86590a51507d", size = 398801 }, - { url = "https://files.pythonhosted.org/packages/70/9c/9a6a42e97f92eeed77c3485a43ea96723900aefa3ac739a8c73f4bff2cd7/watchfiles-1.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a2726d7bfd9f76158c84c10a409b77a320426540df8c35be172444394b17f7ea", size = 451528 }, - { url = "https://files.pythonhosted.org/packages/51/7b/98c7f4f7ce7ff03023cf971cd84a3ee3b790021ae7584ffffa0eb2554b96/watchfiles-1.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df32d59cb9780f66d165a9a7a26f19df2c7d24e3bd58713108b41d0ff4f929c6", size = 454095 }, - { url = "https://files.pythonhosted.org/packages/8c/6b/686dcf5d3525ad17b384fd94708e95193529b460a1b7bf40851f1328ec6e/watchfiles-1.1.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0ece16b563b17ab26eaa2d52230c9a7ae46cf01759621f4fbbca280e438267b3", size = 406910 }, - { url = "https://files.pythonhosted.org/packages/f3/d3/71c2dcf81dc1edcf8af9f4d8d63b1316fb0a2dd90cbfd427e8d9dd584a90/watchfiles-1.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:51b81e55d40c4b4aa8658427a3ee7ea847c591ae9e8b81ef94a90b668999353c", size = 398816 }, - { url = "https://files.pythonhosted.org/packages/b8/fa/12269467b2fc006f8fce4cd6c3acfa77491dd0777d2a747415f28ccc8c60/watchfiles-1.1.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2bcdc54ea267fe72bfc7d83c041e4eb58d7d8dc6f578dfddb52f037ce62f432", size = 451584 }, - { url = "https://files.pythonhosted.org/packages/bd/d3/254cea30f918f489db09d6a8435a7de7047f8cb68584477a515f160541d6/watchfiles-1.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:923fec6e5461c42bd7e3fd5ec37492c6f3468be0499bc0707b4bbbc16ac21792", size = 454009 }, + { url = "https://files.pythonhosted.org/packages/b9/dd/579d1dc57f0f895426a1211c4ef3b0cb37eb9e642bb04bdcd962b5df206a/watchfiles-1.1.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:27f30e14aa1c1e91cb653f03a63445739919aef84c8d2517997a83155e7a2fcc", size = 405757, upload-time = "2025-06-15T19:04:51.058Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a0/7a0318cd874393344d48c34d53b3dd419466adf59a29ba5b51c88dd18b86/watchfiles-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3366f56c272232860ab45c77c3ca7b74ee819c8e1f6f35a7125556b198bbc6df", size = 397511, upload-time = "2025-06-15T19:04:52.79Z" }, + { url = "https://files.pythonhosted.org/packages/06/be/503514656d0555ec2195f60d810eca29b938772e9bfb112d5cd5ad6f6a9e/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8412eacef34cae2836d891836a7fff7b754d6bcac61f6c12ba5ca9bc7e427b68", size = 450739, upload-time = "2025-06-15T19:04:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/4e/0d/a05dd9e5f136cdc29751816d0890d084ab99f8c17b86f25697288ca09bc7/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df670918eb7dd719642e05979fc84704af913d563fd17ed636f7c4783003fdcc", size = 458106, upload-time = "2025-06-15T19:04:55.607Z" }, + { url = "https://files.pythonhosted.org/packages/f1/fa/9cd16e4dfdb831072b7ac39e7bea986e52128526251038eb481effe9f48e/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7642b9bc4827b5518ebdb3b82698ada8c14c7661ddec5fe719f3e56ccd13c97", size = 484264, upload-time = "2025-06-15T19:04:57.009Z" }, + { url = "https://files.pythonhosted.org/packages/32/04/1da8a637c7e2b70e750a0308e9c8e662ada0cca46211fa9ef24a23937e0b/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:199207b2d3eeaeb80ef4411875a6243d9ad8bc35b07fc42daa6b801cc39cc41c", size = 597612, upload-time = "2025-06-15T19:04:58.409Z" }, + { url = "https://files.pythonhosted.org/packages/30/01/109f2762e968d3e58c95731a206e5d7d2a7abaed4299dd8a94597250153c/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a479466da6db5c1e8754caee6c262cd373e6e6c363172d74394f4bff3d84d7b5", size = 477242, upload-time = "2025-06-15T19:04:59.786Z" }, + { url = "https://files.pythonhosted.org/packages/b5/b8/46f58cf4969d3b7bc3ca35a98e739fa4085b0657a1540ccc29a1a0bc016f/watchfiles-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:935f9edd022ec13e447e5723a7d14456c8af254544cefbc533f6dd276c9aa0d9", size = 453148, upload-time = "2025-06-15T19:05:01.103Z" }, + { url = "https://files.pythonhosted.org/packages/a5/cd/8267594263b1770f1eb76914940d7b2d03ee55eca212302329608208e061/watchfiles-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8076a5769d6bdf5f673a19d51da05fc79e2bbf25e9fe755c47595785c06a8c72", size = 626574, upload-time = "2025-06-15T19:05:02.582Z" }, + { url = "https://files.pythonhosted.org/packages/a1/2f/7f2722e85899bed337cba715723e19185e288ef361360718973f891805be/watchfiles-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:86b1e28d4c37e89220e924305cd9f82866bb0ace666943a6e4196c5df4d58dcc", size = 624378, upload-time = "2025-06-15T19:05:03.719Z" }, + { url = "https://files.pythonhosted.org/packages/bf/20/64c88ec43d90a568234d021ab4b2a6f42a5230d772b987c3f9c00cc27b8b/watchfiles-1.1.0-cp310-cp310-win32.whl", hash = "sha256:d1caf40c1c657b27858f9774d5c0e232089bca9cb8ee17ce7478c6e9264d2587", size = 279829, upload-time = "2025-06-15T19:05:04.822Z" }, + { url = "https://files.pythonhosted.org/packages/39/5c/a9c1ed33de7af80935e4eac09570de679c6e21c07070aa99f74b4431f4d6/watchfiles-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:a89c75a5b9bc329131115a409d0acc16e8da8dfd5867ba59f1dd66ae7ea8fa82", size = 292192, upload-time = "2025-06-15T19:05:06.348Z" }, + { url = "https://files.pythonhosted.org/packages/8b/78/7401154b78ab484ccaaeef970dc2af0cb88b5ba8a1b415383da444cdd8d3/watchfiles-1.1.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c9649dfc57cc1f9835551deb17689e8d44666315f2e82d337b9f07bd76ae3aa2", size = 405751, upload-time = "2025-06-15T19:05:07.679Z" }, + { url = "https://files.pythonhosted.org/packages/76/63/e6c3dbc1f78d001589b75e56a288c47723de28c580ad715eb116639152b5/watchfiles-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:406520216186b99374cdb58bc48e34bb74535adec160c8459894884c983a149c", size = 397313, upload-time = "2025-06-15T19:05:08.764Z" }, + { url = "https://files.pythonhosted.org/packages/6c/a2/8afa359ff52e99af1632f90cbf359da46184207e893a5f179301b0c8d6df/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb45350fd1dc75cd68d3d72c47f5b513cb0578da716df5fba02fff31c69d5f2d", size = 450792, upload-time = "2025-06-15T19:05:09.869Z" }, + { url = "https://files.pythonhosted.org/packages/1d/bf/7446b401667f5c64972a57a0233be1104157fc3abf72c4ef2666c1bd09b2/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:11ee4444250fcbeb47459a877e5e80ed994ce8e8d20283857fc128be1715dac7", size = 458196, upload-time = "2025-06-15T19:05:11.91Z" }, + { url = "https://files.pythonhosted.org/packages/58/2f/501ddbdfa3fa874ea5597c77eeea3d413579c29af26c1091b08d0c792280/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bda8136e6a80bdea23e5e74e09df0362744d24ffb8cd59c4a95a6ce3d142f79c", size = 484788, upload-time = "2025-06-15T19:05:13.373Z" }, + { url = "https://files.pythonhosted.org/packages/61/1e/9c18eb2eb5c953c96bc0e5f626f0e53cfef4bd19bd50d71d1a049c63a575/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b915daeb2d8c1f5cee4b970f2e2c988ce6514aace3c9296e58dd64dc9aa5d575", size = 597879, upload-time = "2025-06-15T19:05:14.725Z" }, + { url = "https://files.pythonhosted.org/packages/8b/6c/1467402e5185d89388b4486745af1e0325007af0017c3384cc786fff0542/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed8fc66786de8d0376f9f913c09e963c66e90ced9aa11997f93bdb30f7c872a8", size = 477447, upload-time = "2025-06-15T19:05:15.775Z" }, + { url = "https://files.pythonhosted.org/packages/2b/a1/ec0a606bde4853d6c4a578f9391eeb3684a9aea736a8eb217e3e00aa89a1/watchfiles-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe4371595edf78c41ef8ac8df20df3943e13defd0efcb732b2e393b5a8a7a71f", size = 453145, upload-time = "2025-06-15T19:05:17.17Z" }, + { url = "https://files.pythonhosted.org/packages/90/b9/ef6f0c247a6a35d689fc970dc7f6734f9257451aefb30def5d100d6246a5/watchfiles-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b7c5f6fe273291f4d414d55b2c80d33c457b8a42677ad14b4b47ff025d0893e4", size = 626539, upload-time = "2025-06-15T19:05:18.557Z" }, + { url = "https://files.pythonhosted.org/packages/34/44/6ffda5537085106ff5aaa762b0d130ac6c75a08015dd1621376f708c94de/watchfiles-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7738027989881e70e3723c75921f1efa45225084228788fc59ea8c6d732eb30d", size = 624472, upload-time = "2025-06-15T19:05:19.588Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e3/71170985c48028fa3f0a50946916a14055e741db11c2e7bc2f3b61f4d0e3/watchfiles-1.1.0-cp311-cp311-win32.whl", hash = "sha256:622d6b2c06be19f6e89b1d951485a232e3b59618def88dbeda575ed8f0d8dbf2", size = 279348, upload-time = "2025-06-15T19:05:20.856Z" }, + { url = "https://files.pythonhosted.org/packages/89/1b/3e39c68b68a7a171070f81fc2561d23ce8d6859659406842a0e4bebf3bba/watchfiles-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:48aa25e5992b61debc908a61ab4d3f216b64f44fdaa71eb082d8b2de846b7d12", size = 292607, upload-time = "2025-06-15T19:05:21.937Z" }, + { url = "https://files.pythonhosted.org/packages/61/9f/2973b7539f2bdb6ea86d2c87f70f615a71a1fc2dba2911795cea25968aea/watchfiles-1.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:00645eb79a3faa70d9cb15c8d4187bb72970b2470e938670240c7998dad9f13a", size = 285056, upload-time = "2025-06-15T19:05:23.12Z" }, + { url = "https://files.pythonhosted.org/packages/f6/b8/858957045a38a4079203a33aaa7d23ea9269ca7761c8a074af3524fbb240/watchfiles-1.1.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9dc001c3e10de4725c749d4c2f2bdc6ae24de5a88a339c4bce32300a31ede179", size = 402339, upload-time = "2025-06-15T19:05:24.516Z" }, + { url = "https://files.pythonhosted.org/packages/80/28/98b222cca751ba68e88521fabd79a4fab64005fc5976ea49b53fa205d1fa/watchfiles-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d9ba68ec283153dead62cbe81872d28e053745f12335d037de9cbd14bd1877f5", size = 394409, upload-time = "2025-06-15T19:05:25.469Z" }, + { url = "https://files.pythonhosted.org/packages/86/50/dee79968566c03190677c26f7f47960aff738d32087087bdf63a5473e7df/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:130fc497b8ee68dce163e4254d9b0356411d1490e868bd8790028bc46c5cc297", size = 450939, upload-time = "2025-06-15T19:05:26.494Z" }, + { url = "https://files.pythonhosted.org/packages/40/45/a7b56fb129700f3cfe2594a01aa38d033b92a33dddce86c8dfdfc1247b72/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50a51a90610d0845a5931a780d8e51d7bd7f309ebc25132ba975aca016b576a0", size = 457270, upload-time = "2025-06-15T19:05:27.466Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c8/fa5ef9476b1d02dc6b5e258f515fcaaecf559037edf8b6feffcbc097c4b8/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc44678a72ac0910bac46fa6a0de6af9ba1355669b3dfaf1ce5f05ca7a74364e", size = 483370, upload-time = "2025-06-15T19:05:28.548Z" }, + { url = "https://files.pythonhosted.org/packages/98/68/42cfcdd6533ec94f0a7aab83f759ec11280f70b11bfba0b0f885e298f9bd/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a543492513a93b001975ae283a51f4b67973662a375a403ae82f420d2c7205ee", size = 598654, upload-time = "2025-06-15T19:05:29.997Z" }, + { url = "https://files.pythonhosted.org/packages/d3/74/b2a1544224118cc28df7e59008a929e711f9c68ce7d554e171b2dc531352/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ac164e20d17cc285f2b94dc31c384bc3aa3dd5e7490473b3db043dd70fbccfd", size = 478667, upload-time = "2025-06-15T19:05:31.172Z" }, + { url = "https://files.pythonhosted.org/packages/8c/77/e3362fe308358dc9f8588102481e599c83e1b91c2ae843780a7ded939a35/watchfiles-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7590d5a455321e53857892ab8879dce62d1f4b04748769f5adf2e707afb9d4f", size = 452213, upload-time = "2025-06-15T19:05:32.299Z" }, + { url = "https://files.pythonhosted.org/packages/6e/17/c8f1a36540c9a1558d4faf08e909399e8133599fa359bf52ec8fcee5be6f/watchfiles-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:37d3d3f7defb13f62ece99e9be912afe9dd8a0077b7c45ee5a57c74811d581a4", size = 626718, upload-time = "2025-06-15T19:05:33.415Z" }, + { url = "https://files.pythonhosted.org/packages/26/45/fb599be38b4bd38032643783d7496a26a6f9ae05dea1a42e58229a20ac13/watchfiles-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7080c4bb3efd70a07b1cc2df99a7aa51d98685be56be6038c3169199d0a1c69f", size = 623098, upload-time = "2025-06-15T19:05:34.534Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e7/fdf40e038475498e160cd167333c946e45d8563ae4dd65caf757e9ffe6b4/watchfiles-1.1.0-cp312-cp312-win32.whl", hash = "sha256:cbcf8630ef4afb05dc30107bfa17f16c0896bb30ee48fc24bf64c1f970f3b1fd", size = 279209, upload-time = "2025-06-15T19:05:35.577Z" }, + { url = "https://files.pythonhosted.org/packages/3f/d3/3ae9d5124ec75143bdf088d436cba39812122edc47709cd2caafeac3266f/watchfiles-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:cbd949bdd87567b0ad183d7676feb98136cde5bb9025403794a4c0db28ed3a47", size = 292786, upload-time = "2025-06-15T19:05:36.559Z" }, + { url = "https://files.pythonhosted.org/packages/26/2f/7dd4fc8b5f2b34b545e19629b4a018bfb1de23b3a496766a2c1165ca890d/watchfiles-1.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:0a7d40b77f07be87c6faa93d0951a0fcd8cbca1ddff60a1b65d741bac6f3a9f6", size = 284343, upload-time = "2025-06-15T19:05:37.5Z" }, + { url = "https://files.pythonhosted.org/packages/d3/42/fae874df96595556a9089ade83be34a2e04f0f11eb53a8dbf8a8a5e562b4/watchfiles-1.1.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5007f860c7f1f8df471e4e04aaa8c43673429047d63205d1630880f7637bca30", size = 402004, upload-time = "2025-06-15T19:05:38.499Z" }, + { url = "https://files.pythonhosted.org/packages/fa/55/a77e533e59c3003d9803c09c44c3651224067cbe7fb5d574ddbaa31e11ca/watchfiles-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:20ecc8abbd957046f1fe9562757903f5eaf57c3bce70929fda6c7711bb58074a", size = 393671, upload-time = "2025-06-15T19:05:39.52Z" }, + { url = "https://files.pythonhosted.org/packages/05/68/b0afb3f79c8e832e6571022611adbdc36e35a44e14f129ba09709aa4bb7a/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2f0498b7d2a3c072766dba3274fe22a183dbea1f99d188f1c6c72209a1063dc", size = 449772, upload-time = "2025-06-15T19:05:40.897Z" }, + { url = "https://files.pythonhosted.org/packages/ff/05/46dd1f6879bc40e1e74c6c39a1b9ab9e790bf1f5a2fe6c08b463d9a807f4/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:239736577e848678e13b201bba14e89718f5c2133dfd6b1f7846fa1b58a8532b", size = 456789, upload-time = "2025-06-15T19:05:42.045Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ca/0eeb2c06227ca7f12e50a47a3679df0cd1ba487ea19cf844a905920f8e95/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eff4b8d89f444f7e49136dc695599a591ff769300734446c0a86cba2eb2f9895", size = 482551, upload-time = "2025-06-15T19:05:43.781Z" }, + { url = "https://files.pythonhosted.org/packages/31/47/2cecbd8694095647406645f822781008cc524320466ea393f55fe70eed3b/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12b0a02a91762c08f7264e2e79542f76870c3040bbc847fb67410ab81474932a", size = 597420, upload-time = "2025-06-15T19:05:45.244Z" }, + { url = "https://files.pythonhosted.org/packages/d9/7e/82abc4240e0806846548559d70f0b1a6dfdca75c1b4f9fa62b504ae9b083/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:29e7bc2eee15cbb339c68445959108803dc14ee0c7b4eea556400131a8de462b", size = 477950, upload-time = "2025-06-15T19:05:46.332Z" }, + { url = "https://files.pythonhosted.org/packages/25/0d/4d564798a49bf5482a4fa9416dea6b6c0733a3b5700cb8a5a503c4b15853/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9481174d3ed982e269c090f780122fb59cee6c3796f74efe74e70f7780ed94c", size = 451706, upload-time = "2025-06-15T19:05:47.459Z" }, + { url = "https://files.pythonhosted.org/packages/81/b5/5516cf46b033192d544102ea07c65b6f770f10ed1d0a6d388f5d3874f6e4/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:80f811146831c8c86ab17b640801c25dc0a88c630e855e2bef3568f30434d52b", size = 625814, upload-time = "2025-06-15T19:05:48.654Z" }, + { url = "https://files.pythonhosted.org/packages/0c/dd/7c1331f902f30669ac3e754680b6edb9a0dd06dea5438e61128111fadd2c/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:60022527e71d1d1fda67a33150ee42869042bce3d0fcc9cc49be009a9cded3fb", size = 622820, upload-time = "2025-06-15T19:05:50.088Z" }, + { url = "https://files.pythonhosted.org/packages/1b/14/36d7a8e27cd128d7b1009e7715a7c02f6c131be9d4ce1e5c3b73d0e342d8/watchfiles-1.1.0-cp313-cp313-win32.whl", hash = "sha256:32d6d4e583593cb8576e129879ea0991660b935177c0f93c6681359b3654bfa9", size = 279194, upload-time = "2025-06-15T19:05:51.186Z" }, + { url = "https://files.pythonhosted.org/packages/25/41/2dd88054b849aa546dbeef5696019c58f8e0774f4d1c42123273304cdb2e/watchfiles-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:f21af781a4a6fbad54f03c598ab620e3a77032c5878f3d780448421a6e1818c7", size = 292349, upload-time = "2025-06-15T19:05:52.201Z" }, + { url = "https://files.pythonhosted.org/packages/c8/cf/421d659de88285eb13941cf11a81f875c176f76a6d99342599be88e08d03/watchfiles-1.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:5366164391873ed76bfdf618818c82084c9db7fac82b64a20c44d335eec9ced5", size = 283836, upload-time = "2025-06-15T19:05:53.265Z" }, + { url = "https://files.pythonhosted.org/packages/45/10/6faf6858d527e3599cc50ec9fcae73590fbddc1420bd4fdccfebffeedbc6/watchfiles-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:17ab167cca6339c2b830b744eaf10803d2a5b6683be4d79d8475d88b4a8a4be1", size = 400343, upload-time = "2025-06-15T19:05:54.252Z" }, + { url = "https://files.pythonhosted.org/packages/03/20/5cb7d3966f5e8c718006d0e97dfe379a82f16fecd3caa7810f634412047a/watchfiles-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:328dbc9bff7205c215a7807da7c18dce37da7da718e798356212d22696404339", size = 392916, upload-time = "2025-06-15T19:05:55.264Z" }, + { url = "https://files.pythonhosted.org/packages/8c/07/d8f1176328fa9e9581b6f120b017e286d2a2d22ae3f554efd9515c8e1b49/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7208ab6e009c627b7557ce55c465c98967e8caa8b11833531fdf95799372633", size = 449582, upload-time = "2025-06-15T19:05:56.317Z" }, + { url = "https://files.pythonhosted.org/packages/66/e8/80a14a453cf6038e81d072a86c05276692a1826471fef91df7537dba8b46/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a8f6f72974a19efead54195bc9bed4d850fc047bb7aa971268fd9a8387c89011", size = 456752, upload-time = "2025-06-15T19:05:57.359Z" }, + { url = "https://files.pythonhosted.org/packages/5a/25/0853b3fe0e3c2f5af9ea60eb2e781eade939760239a72c2d38fc4cc335f6/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d181ef50923c29cf0450c3cd47e2f0557b62218c50b2ab8ce2ecaa02bd97e670", size = 481436, upload-time = "2025-06-15T19:05:58.447Z" }, + { url = "https://files.pythonhosted.org/packages/fe/9e/4af0056c258b861fbb29dcb36258de1e2b857be4a9509e6298abcf31e5c9/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adb4167043d3a78280d5d05ce0ba22055c266cf8655ce942f2fb881262ff3cdf", size = 596016, upload-time = "2025-06-15T19:05:59.59Z" }, + { url = "https://files.pythonhosted.org/packages/c5/fa/95d604b58aa375e781daf350897aaaa089cff59d84147e9ccff2447c8294/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5701dc474b041e2934a26d31d39f90fac8a3dee2322b39f7729867f932b1d4", size = 476727, upload-time = "2025-06-15T19:06:01.086Z" }, + { url = "https://files.pythonhosted.org/packages/65/95/fe479b2664f19be4cf5ceeb21be05afd491d95f142e72d26a42f41b7c4f8/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b067915e3c3936966a8607f6fe5487df0c9c4afb85226613b520890049deea20", size = 451864, upload-time = "2025-06-15T19:06:02.144Z" }, + { url = "https://files.pythonhosted.org/packages/d3/8a/3c4af14b93a15ce55901cd7a92e1a4701910f1768c78fb30f61d2b79785b/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:9c733cda03b6d636b4219625a4acb5c6ffb10803338e437fb614fef9516825ef", size = 625626, upload-time = "2025-06-15T19:06:03.578Z" }, + { url = "https://files.pythonhosted.org/packages/da/f5/cf6aa047d4d9e128f4b7cde615236a915673775ef171ff85971d698f3c2c/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:cc08ef8b90d78bfac66f0def80240b0197008e4852c9f285907377b2947ffdcb", size = 622744, upload-time = "2025-06-15T19:06:05.066Z" }, + { url = "https://files.pythonhosted.org/packages/2c/00/70f75c47f05dea6fd30df90f047765f6fc2d6eb8b5a3921379b0b04defa2/watchfiles-1.1.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:9974d2f7dc561cce3bb88dfa8eb309dab64c729de85fba32e98d75cf24b66297", size = 402114, upload-time = "2025-06-15T19:06:06.186Z" }, + { url = "https://files.pythonhosted.org/packages/53/03/acd69c48db4a1ed1de26b349d94077cca2238ff98fd64393f3e97484cae6/watchfiles-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c68e9f1fcb4d43798ad8814c4c1b61547b014b667216cb754e606bfade587018", size = 393879, upload-time = "2025-06-15T19:06:07.369Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c8/a9a2a6f9c8baa4eceae5887fecd421e1b7ce86802bcfc8b6a942e2add834/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95ab1594377effac17110e1352989bdd7bdfca9ff0e5eeccd8c69c5389b826d0", size = 450026, upload-time = "2025-06-15T19:06:08.476Z" }, + { url = "https://files.pythonhosted.org/packages/fe/51/d572260d98388e6e2b967425c985e07d47ee6f62e6455cefb46a6e06eda5/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fba9b62da882c1be1280a7584ec4515d0a6006a94d6e5819730ec2eab60ffe12", size = 457917, upload-time = "2025-06-15T19:06:09.988Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2d/4258e52917bf9f12909b6ec314ff9636276f3542f9d3807d143f27309104/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3434e401f3ce0ed6b42569128b3d1e3af773d7ec18751b918b89cd49c14eaafb", size = 483602, upload-time = "2025-06-15T19:06:11.088Z" }, + { url = "https://files.pythonhosted.org/packages/84/99/bee17a5f341a4345fe7b7972a475809af9e528deba056f8963d61ea49f75/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa257a4d0d21fcbca5b5fcba9dca5a78011cb93c0323fb8855c6d2dfbc76eb77", size = 596758, upload-time = "2025-06-15T19:06:12.197Z" }, + { url = "https://files.pythonhosted.org/packages/40/76/e4bec1d59b25b89d2b0716b41b461ed655a9a53c60dc78ad5771fda5b3e6/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fd1b3879a578a8ec2076c7961076df540b9af317123f84569f5a9ddee64ce92", size = 477601, upload-time = "2025-06-15T19:06:13.391Z" }, + { url = "https://files.pythonhosted.org/packages/1f/fa/a514292956f4a9ce3c567ec0c13cce427c158e9f272062685a8a727d08fc/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc7a30eeb0e20ecc5f4bd113cd69dcdb745a07c68c0370cea919f373f65d9e", size = 451936, upload-time = "2025-06-15T19:06:14.656Z" }, + { url = "https://files.pythonhosted.org/packages/32/5d/c3bf927ec3bbeb4566984eba8dd7a8eb69569400f5509904545576741f88/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:891c69e027748b4a73847335d208e374ce54ca3c335907d381fde4e41661b13b", size = 626243, upload-time = "2025-06-15T19:06:16.232Z" }, + { url = "https://files.pythonhosted.org/packages/e6/65/6e12c042f1a68c556802a84d54bb06d35577c81e29fba14019562479159c/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:12fe8eaffaf0faa7906895b4f8bb88264035b3f0243275e0bf24af0436b27259", size = 623073, upload-time = "2025-06-15T19:06:17.457Z" }, + { url = "https://files.pythonhosted.org/packages/89/ab/7f79d9bf57329e7cbb0a6fd4c7bd7d0cee1e4a8ef0041459f5409da3506c/watchfiles-1.1.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:bfe3c517c283e484843cb2e357dd57ba009cff351edf45fb455b5fbd1f45b15f", size = 400872, upload-time = "2025-06-15T19:06:18.57Z" }, + { url = "https://files.pythonhosted.org/packages/df/d5/3f7bf9912798e9e6c516094db6b8932df53b223660c781ee37607030b6d3/watchfiles-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a9ccbf1f129480ed3044f540c0fdbc4ee556f7175e5ab40fe077ff6baf286d4e", size = 392877, upload-time = "2025-06-15T19:06:19.55Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c5/54ec7601a2798604e01c75294770dbee8150e81c6e471445d7601610b495/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba0e3255b0396cac3cc7bbace76404dd72b5438bf0d8e7cefa2f79a7f3649caa", size = 449645, upload-time = "2025-06-15T19:06:20.66Z" }, + { url = "https://files.pythonhosted.org/packages/0a/04/c2f44afc3b2fce21ca0b7802cbd37ed90a29874f96069ed30a36dfe57c2b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4281cd9fce9fc0a9dbf0fc1217f39bf9cf2b4d315d9626ef1d4e87b84699e7e8", size = 457424, upload-time = "2025-06-15T19:06:21.712Z" }, + { url = "https://files.pythonhosted.org/packages/9f/b0/eec32cb6c14d248095261a04f290636da3df3119d4040ef91a4a50b29fa5/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d2404af8db1329f9a3c9b79ff63e0ae7131986446901582067d9304ae8aaf7f", size = 481584, upload-time = "2025-06-15T19:06:22.777Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/ca4bb71c68a937d7145aa25709e4f5d68eb7698a25ce266e84b55d591bbd/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e78b6ed8165996013165eeabd875c5dfc19d41b54f94b40e9fff0eb3193e5e8e", size = 596675, upload-time = "2025-06-15T19:06:24.226Z" }, + { url = "https://files.pythonhosted.org/packages/a1/dd/b0e4b7fb5acf783816bc950180a6cd7c6c1d2cf7e9372c0ea634e722712b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:249590eb75ccc117f488e2fabd1bfa33c580e24b96f00658ad88e38844a040bb", size = 477363, upload-time = "2025-06-15T19:06:25.42Z" }, + { url = "https://files.pythonhosted.org/packages/69/c4/088825b75489cb5b6a761a4542645718893d395d8c530b38734f19da44d2/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d05686b5487cfa2e2c28ff1aa370ea3e6c5accfe6435944ddea1e10d93872147", size = 452240, upload-time = "2025-06-15T19:06:26.552Z" }, + { url = "https://files.pythonhosted.org/packages/10/8c/22b074814970eeef43b7c44df98c3e9667c1f7bf5b83e0ff0201b0bd43f9/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:d0e10e6f8f6dc5762adee7dece33b722282e1f59aa6a55da5d493a97282fedd8", size = 625607, upload-time = "2025-06-15T19:06:27.606Z" }, + { url = "https://files.pythonhosted.org/packages/32/fa/a4f5c2046385492b2273213ef815bf71a0d4c1943b784fb904e184e30201/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:af06c863f152005c7592df1d6a7009c836a247c9d8adb78fef8575a5a98699db", size = 623315, upload-time = "2025-06-15T19:06:29.076Z" }, + { url = "https://files.pythonhosted.org/packages/be/7c/a3d7c55cfa377c2f62c4ae3c6502b997186bc5e38156bafcb9b653de9a6d/watchfiles-1.1.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a6fd40bbb50d24976eb275ccb55cd1951dfb63dbc27cae3066a6ca5f4beabd5", size = 406748, upload-time = "2025-06-15T19:06:44.2Z" }, + { url = "https://files.pythonhosted.org/packages/38/d0/c46f1b2c0ca47f3667b144de6f0515f6d1c670d72f2ca29861cac78abaa1/watchfiles-1.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9f811079d2f9795b5d48b55a37aa7773680a5659afe34b54cc1d86590a51507d", size = 398801, upload-time = "2025-06-15T19:06:45.774Z" }, + { url = "https://files.pythonhosted.org/packages/70/9c/9a6a42e97f92eeed77c3485a43ea96723900aefa3ac739a8c73f4bff2cd7/watchfiles-1.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a2726d7bfd9f76158c84c10a409b77a320426540df8c35be172444394b17f7ea", size = 451528, upload-time = "2025-06-15T19:06:46.791Z" }, + { url = "https://files.pythonhosted.org/packages/51/7b/98c7f4f7ce7ff03023cf971cd84a3ee3b790021ae7584ffffa0eb2554b96/watchfiles-1.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df32d59cb9780f66d165a9a7a26f19df2c7d24e3bd58713108b41d0ff4f929c6", size = 454095, upload-time = "2025-06-15T19:06:48.211Z" }, + { url = "https://files.pythonhosted.org/packages/8c/6b/686dcf5d3525ad17b384fd94708e95193529b460a1b7bf40851f1328ec6e/watchfiles-1.1.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0ece16b563b17ab26eaa2d52230c9a7ae46cf01759621f4fbbca280e438267b3", size = 406910, upload-time = "2025-06-15T19:06:49.335Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d3/71c2dcf81dc1edcf8af9f4d8d63b1316fb0a2dd90cbfd427e8d9dd584a90/watchfiles-1.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:51b81e55d40c4b4aa8658427a3ee7ea847c591ae9e8b81ef94a90b668999353c", size = 398816, upload-time = "2025-06-15T19:06:50.433Z" }, + { url = "https://files.pythonhosted.org/packages/b8/fa/12269467b2fc006f8fce4cd6c3acfa77491dd0777d2a747415f28ccc8c60/watchfiles-1.1.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2bcdc54ea267fe72bfc7d83c041e4eb58d7d8dc6f578dfddb52f037ce62f432", size = 451584, upload-time = "2025-06-15T19:06:51.834Z" }, + { url = "https://files.pythonhosted.org/packages/bd/d3/254cea30f918f489db09d6a8435a7de7047f8cb68584477a515f160541d6/watchfiles-1.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:923fec6e5461c42bd7e3fd5ec37492c6f3468be0499bc0707b4bbbc16ac21792", size = 454009, upload-time = "2025-06-15T19:06:52.896Z" }, ] [[package]] name = "websockets" version = "15.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016 } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423 }, - { url = "https://files.pythonhosted.org/packages/1c/9f/9d11c1a4eb046a9e106483b9ff69bce7ac880443f00e5ce64261b47b07e7/websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205", size = 173080 }, - { url = "https://files.pythonhosted.org/packages/d5/4f/b462242432d93ea45f297b6179c7333dd0402b855a912a04e7fc61c0d71f/websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a", size = 173329 }, - { url = "https://files.pythonhosted.org/packages/6e/0c/6afa1f4644d7ed50284ac59cc70ef8abd44ccf7d45850d989ea7310538d0/websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e", size = 182312 }, - { url = "https://files.pythonhosted.org/packages/dd/d4/ffc8bd1350b229ca7a4db2a3e1c482cf87cea1baccd0ef3e72bc720caeec/websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf", size = 181319 }, - { url = "https://files.pythonhosted.org/packages/97/3a/5323a6bb94917af13bbb34009fac01e55c51dfde354f63692bf2533ffbc2/websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb", size = 181631 }, - { url = "https://files.pythonhosted.org/packages/a6/cc/1aeb0f7cee59ef065724041bb7ed667b6ab1eeffe5141696cccec2687b66/websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d", size = 182016 }, - { url = "https://files.pythonhosted.org/packages/79/f9/c86f8f7af208e4161a7f7e02774e9d0a81c632ae76db2ff22549e1718a51/websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9", size = 181426 }, - { url = "https://files.pythonhosted.org/packages/c7/b9/828b0bc6753db905b91df6ae477c0b14a141090df64fb17f8a9d7e3516cf/websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c", size = 181360 }, - { url = "https://files.pythonhosted.org/packages/89/fb/250f5533ec468ba6327055b7d98b9df056fb1ce623b8b6aaafb30b55d02e/websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256", size = 176388 }, - { url = "https://files.pythonhosted.org/packages/1c/46/aca7082012768bb98e5608f01658ff3ac8437e563eca41cf068bd5849a5e/websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41", size = 176830 }, - { url = "https://files.pythonhosted.org/packages/9f/32/18fcd5919c293a398db67443acd33fde142f283853076049824fc58e6f75/websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", size = 175423 }, - { url = "https://files.pythonhosted.org/packages/76/70/ba1ad96b07869275ef42e2ce21f07a5b0148936688c2baf7e4a1f60d5058/websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", size = 173082 }, - { url = "https://files.pythonhosted.org/packages/86/f2/10b55821dd40eb696ce4704a87d57774696f9451108cff0d2824c97e0f97/websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", size = 173330 }, - { url = "https://files.pythonhosted.org/packages/a5/90/1c37ae8b8a113d3daf1065222b6af61cc44102da95388ac0018fcb7d93d9/websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", size = 182878 }, - { url = "https://files.pythonhosted.org/packages/8e/8d/96e8e288b2a41dffafb78e8904ea7367ee4f891dafc2ab8d87e2124cb3d3/websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", size = 181883 }, - { url = "https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", size = 182252 }, - { url = "https://files.pythonhosted.org/packages/d4/78/2d4fed9123e6620cbf1706c0de8a1632e1a28e7774d94346d7de1bba2ca3/websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", size = 182521 }, - { url = "https://files.pythonhosted.org/packages/e7/3b/66d4c1b444dd1a9823c4a81f50231b921bab54eee2f69e70319b4e21f1ca/websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", size = 181958 }, - { url = "https://files.pythonhosted.org/packages/08/ff/e9eed2ee5fed6f76fdd6032ca5cd38c57ca9661430bb3d5fb2872dc8703c/websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", size = 181918 }, - { url = "https://files.pythonhosted.org/packages/d8/75/994634a49b7e12532be6a42103597b71098fd25900f7437d6055ed39930a/websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", size = 176388 }, - { url = "https://files.pythonhosted.org/packages/98/93/e36c73f78400a65f5e236cd376713c34182e6663f6889cd45a4a04d8f203/websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", size = 176828 }, - { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437 }, - { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096 }, - { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332 }, - { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152 }, - { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096 }, - { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523 }, - { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790 }, - { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165 }, - { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160 }, - { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395 }, - { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841 }, - { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440 }, - { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098 }, - { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329 }, - { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111 }, - { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054 }, - { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496 }, - { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829 }, - { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217 }, - { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195 }, - { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393 }, - { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837 }, - { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109 }, - { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343 }, - { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599 }, - { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207 }, - { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155 }, - { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884 }, - { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743 }, + { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423, upload-time = "2025-03-05T20:01:35.363Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9f/9d11c1a4eb046a9e106483b9ff69bce7ac880443f00e5ce64261b47b07e7/websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205", size = 173080, upload-time = "2025-03-05T20:01:37.304Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4f/b462242432d93ea45f297b6179c7333dd0402b855a912a04e7fc61c0d71f/websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a", size = 173329, upload-time = "2025-03-05T20:01:39.668Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0c/6afa1f4644d7ed50284ac59cc70ef8abd44ccf7d45850d989ea7310538d0/websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e", size = 182312, upload-time = "2025-03-05T20:01:41.815Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d4/ffc8bd1350b229ca7a4db2a3e1c482cf87cea1baccd0ef3e72bc720caeec/websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf", size = 181319, upload-time = "2025-03-05T20:01:43.967Z" }, + { url = "https://files.pythonhosted.org/packages/97/3a/5323a6bb94917af13bbb34009fac01e55c51dfde354f63692bf2533ffbc2/websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb", size = 181631, upload-time = "2025-03-05T20:01:46.104Z" }, + { url = "https://files.pythonhosted.org/packages/a6/cc/1aeb0f7cee59ef065724041bb7ed667b6ab1eeffe5141696cccec2687b66/websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d", size = 182016, upload-time = "2025-03-05T20:01:47.603Z" }, + { url = "https://files.pythonhosted.org/packages/79/f9/c86f8f7af208e4161a7f7e02774e9d0a81c632ae76db2ff22549e1718a51/websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9", size = 181426, upload-time = "2025-03-05T20:01:48.949Z" }, + { url = "https://files.pythonhosted.org/packages/c7/b9/828b0bc6753db905b91df6ae477c0b14a141090df64fb17f8a9d7e3516cf/websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c", size = 181360, upload-time = "2025-03-05T20:01:50.938Z" }, + { url = "https://files.pythonhosted.org/packages/89/fb/250f5533ec468ba6327055b7d98b9df056fb1ce623b8b6aaafb30b55d02e/websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256", size = 176388, upload-time = "2025-03-05T20:01:52.213Z" }, + { url = "https://files.pythonhosted.org/packages/1c/46/aca7082012768bb98e5608f01658ff3ac8437e563eca41cf068bd5849a5e/websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41", size = 176830, upload-time = "2025-03-05T20:01:53.922Z" }, + { url = "https://files.pythonhosted.org/packages/9f/32/18fcd5919c293a398db67443acd33fde142f283853076049824fc58e6f75/websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", size = 175423, upload-time = "2025-03-05T20:01:56.276Z" }, + { url = "https://files.pythonhosted.org/packages/76/70/ba1ad96b07869275ef42e2ce21f07a5b0148936688c2baf7e4a1f60d5058/websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", size = 173082, upload-time = "2025-03-05T20:01:57.563Z" }, + { url = "https://files.pythonhosted.org/packages/86/f2/10b55821dd40eb696ce4704a87d57774696f9451108cff0d2824c97e0f97/websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", size = 173330, upload-time = "2025-03-05T20:01:59.063Z" }, + { url = "https://files.pythonhosted.org/packages/a5/90/1c37ae8b8a113d3daf1065222b6af61cc44102da95388ac0018fcb7d93d9/websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", size = 182878, upload-time = "2025-03-05T20:02:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/8e/8d/96e8e288b2a41dffafb78e8904ea7367ee4f891dafc2ab8d87e2124cb3d3/websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", size = 181883, upload-time = "2025-03-05T20:02:03.148Z" }, + { url = "https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", size = 182252, upload-time = "2025-03-05T20:02:05.29Z" }, + { url = "https://files.pythonhosted.org/packages/d4/78/2d4fed9123e6620cbf1706c0de8a1632e1a28e7774d94346d7de1bba2ca3/websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", size = 182521, upload-time = "2025-03-05T20:02:07.458Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3b/66d4c1b444dd1a9823c4a81f50231b921bab54eee2f69e70319b4e21f1ca/websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", size = 181958, upload-time = "2025-03-05T20:02:09.842Z" }, + { url = "https://files.pythonhosted.org/packages/08/ff/e9eed2ee5fed6f76fdd6032ca5cd38c57ca9661430bb3d5fb2872dc8703c/websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", size = 181918, upload-time = "2025-03-05T20:02:11.968Z" }, + { url = "https://files.pythonhosted.org/packages/d8/75/994634a49b7e12532be6a42103597b71098fd25900f7437d6055ed39930a/websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", size = 176388, upload-time = "2025-03-05T20:02:13.32Z" }, + { url = "https://files.pythonhosted.org/packages/98/93/e36c73f78400a65f5e236cd376713c34182e6663f6889cd45a4a04d8f203/websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", size = 176828, upload-time = "2025-03-05T20:02:14.585Z" }, + { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" }, + { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" }, + { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" }, + { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" }, + { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" }, + { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" }, + { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440, upload-time = "2025-03-05T20:02:36.695Z" }, + { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098, upload-time = "2025-03-05T20:02:37.985Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329, upload-time = "2025-03-05T20:02:39.298Z" }, + { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111, upload-time = "2025-03-05T20:02:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054, upload-time = "2025-03-05T20:02:41.926Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496, upload-time = "2025-03-05T20:02:43.304Z" }, + { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829, upload-time = "2025-03-05T20:02:48.812Z" }, + { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217, upload-time = "2025-03-05T20:02:50.14Z" }, + { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195, upload-time = "2025-03-05T20:02:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393, upload-time = "2025-03-05T20:02:53.814Z" }, + { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837, upload-time = "2025-03-05T20:02:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109, upload-time = "2025-03-05T20:03:17.769Z" }, + { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343, upload-time = "2025-03-05T20:03:19.094Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599, upload-time = "2025-03-05T20:03:21.1Z" }, + { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207, upload-time = "2025-03-05T20:03:23.221Z" }, + { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155, upload-time = "2025-03-05T20:03:25.321Z" }, + { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884, upload-time = "2025-03-05T20:03:27.934Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, ] [[package]] name = "wrapt" version = "1.17.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531 } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/d1/1daec934997e8b160040c78d7b31789f19b122110a75eca3d4e8da0049e1/wrapt-1.17.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984", size = 53307 }, - { url = "https://files.pythonhosted.org/packages/1b/7b/13369d42651b809389c1a7153baa01d9700430576c81a2f5c5e460df0ed9/wrapt-1.17.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22", size = 38486 }, - { url = "https://files.pythonhosted.org/packages/62/bf/e0105016f907c30b4bd9e377867c48c34dc9c6c0c104556c9c9126bd89ed/wrapt-1.17.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80dd7db6a7cb57ffbc279c4394246414ec99537ae81ffd702443335a61dbf3a7", size = 38777 }, - { url = "https://files.pythonhosted.org/packages/27/70/0f6e0679845cbf8b165e027d43402a55494779295c4b08414097b258ac87/wrapt-1.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a6e821770cf99cc586d33833b2ff32faebdbe886bd6322395606cf55153246c", size = 83314 }, - { url = "https://files.pythonhosted.org/packages/0f/77/0576d841bf84af8579124a93d216f55d6f74374e4445264cb378a6ed33eb/wrapt-1.17.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b60fb58b90c6d63779cb0c0c54eeb38941bae3ecf7a73c764c52c88c2dcb9d72", size = 74947 }, - { url = "https://files.pythonhosted.org/packages/90/ec/00759565518f268ed707dcc40f7eeec38637d46b098a1f5143bff488fe97/wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b870b5df5b71d8c3359d21be8f0d6c485fa0ebdb6477dda51a1ea54a9b558061", size = 82778 }, - { url = "https://files.pythonhosted.org/packages/f8/5a/7cffd26b1c607b0b0c8a9ca9d75757ad7620c9c0a9b4a25d3f8a1480fafc/wrapt-1.17.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4011d137b9955791f9084749cba9a367c68d50ab8d11d64c50ba1688c9b457f2", size = 81716 }, - { url = "https://files.pythonhosted.org/packages/7e/09/dccf68fa98e862df7e6a60a61d43d644b7d095a5fc36dbb591bbd4a1c7b2/wrapt-1.17.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1473400e5b2733e58b396a04eb7f35f541e1fb976d0c0724d0223dd607e0f74c", size = 74548 }, - { url = "https://files.pythonhosted.org/packages/b7/8e/067021fa3c8814952c5e228d916963c1115b983e21393289de15128e867e/wrapt-1.17.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3cedbfa9c940fdad3e6e941db7138e26ce8aad38ab5fe9dcfadfed9db7a54e62", size = 81334 }, - { url = "https://files.pythonhosted.org/packages/4b/0d/9d4b5219ae4393f718699ca1c05f5ebc0c40d076f7e65fd48f5f693294fb/wrapt-1.17.2-cp310-cp310-win32.whl", hash = "sha256:582530701bff1dec6779efa00c516496968edd851fba224fbd86e46cc6b73563", size = 36427 }, - { url = "https://files.pythonhosted.org/packages/72/6a/c5a83e8f61aec1e1aeef939807602fb880e5872371e95df2137142f5c58e/wrapt-1.17.2-cp310-cp310-win_amd64.whl", hash = "sha256:58705da316756681ad3c9c73fd15499aa4d8c69f9fd38dc8a35e06c12468582f", size = 38774 }, - { url = "https://files.pythonhosted.org/packages/cd/f7/a2aab2cbc7a665efab072344a8949a71081eed1d2f451f7f7d2b966594a2/wrapt-1.17.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ff04ef6eec3eee8a5efef2401495967a916feaa353643defcc03fc74fe213b58", size = 53308 }, - { url = "https://files.pythonhosted.org/packages/50/ff/149aba8365fdacef52b31a258c4dc1c57c79759c335eff0b3316a2664a64/wrapt-1.17.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db983e7bca53819efdbd64590ee96c9213894272c776966ca6306b73e4affda", size = 38488 }, - { url = "https://files.pythonhosted.org/packages/65/46/5a917ce85b5c3b490d35c02bf71aedaa9f2f63f2d15d9949cc4ba56e8ba9/wrapt-1.17.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9abc77a4ce4c6f2a3168ff34b1da9b0f311a8f1cfd694ec96b0603dff1c79438", size = 38776 }, - { url = "https://files.pythonhosted.org/packages/ca/74/336c918d2915a4943501c77566db41d1bd6e9f4dbc317f356b9a244dfe83/wrapt-1.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b929ac182f5ace000d459c59c2c9c33047e20e935f8e39371fa6e3b85d56f4a", size = 83776 }, - { url = "https://files.pythonhosted.org/packages/09/99/c0c844a5ccde0fe5761d4305485297f91d67cf2a1a824c5f282e661ec7ff/wrapt-1.17.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f09b286faeff3c750a879d336fb6d8713206fc97af3adc14def0cdd349df6000", size = 75420 }, - { url = "https://files.pythonhosted.org/packages/b4/b0/9fc566b0fe08b282c850063591a756057c3247b2362b9286429ec5bf1721/wrapt-1.17.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7ed2d9d039bd41e889f6fb9364554052ca21ce823580f6a07c4ec245c1f5d6", size = 83199 }, - { url = "https://files.pythonhosted.org/packages/9d/4b/71996e62d543b0a0bd95dda485219856def3347e3e9380cc0d6cf10cfb2f/wrapt-1.17.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:129a150f5c445165ff941fc02ee27df65940fcb8a22a61828b1853c98763a64b", size = 82307 }, - { url = "https://files.pythonhosted.org/packages/39/35/0282c0d8789c0dc9bcc738911776c762a701f95cfe113fb8f0b40e45c2b9/wrapt-1.17.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1fb5699e4464afe5c7e65fa51d4f99e0b2eadcc176e4aa33600a3df7801d6662", size = 75025 }, - { url = "https://files.pythonhosted.org/packages/4f/6d/90c9fd2c3c6fee181feecb620d95105370198b6b98a0770cba090441a828/wrapt-1.17.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9a2bce789a5ea90e51a02dfcc39e31b7f1e662bc3317979aa7e5538e3a034f72", size = 81879 }, - { url = "https://files.pythonhosted.org/packages/8f/fa/9fb6e594f2ce03ef03eddbdb5f4f90acb1452221a5351116c7c4708ac865/wrapt-1.17.2-cp311-cp311-win32.whl", hash = "sha256:4afd5814270fdf6380616b321fd31435a462019d834f83c8611a0ce7484c7317", size = 36419 }, - { url = "https://files.pythonhosted.org/packages/47/f8/fb1773491a253cbc123c5d5dc15c86041f746ed30416535f2a8df1f4a392/wrapt-1.17.2-cp311-cp311-win_amd64.whl", hash = "sha256:acc130bc0375999da18e3d19e5a86403667ac0c4042a094fefb7eec8ebac7cf3", size = 38773 }, - { url = "https://files.pythonhosted.org/packages/a1/bd/ab55f849fd1f9a58ed7ea47f5559ff09741b25f00c191231f9f059c83949/wrapt-1.17.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", size = 53799 }, - { url = "https://files.pythonhosted.org/packages/53/18/75ddc64c3f63988f5a1d7e10fb204ffe5762bc663f8023f18ecaf31a332e/wrapt-1.17.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", size = 38821 }, - { url = "https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", size = 38919 }, - { url = "https://files.pythonhosted.org/packages/73/54/3bfe5a1febbbccb7a2f77de47b989c0b85ed3a6a41614b104204a788c20e/wrapt-1.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", size = 88721 }, - { url = "https://files.pythonhosted.org/packages/25/cb/7262bc1b0300b4b64af50c2720ef958c2c1917525238d661c3e9a2b71b7b/wrapt-1.17.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", size = 80899 }, - { url = "https://files.pythonhosted.org/packages/2a/5a/04cde32b07a7431d4ed0553a76fdb7a61270e78c5fd5a603e190ac389f14/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", size = 89222 }, - { url = "https://files.pythonhosted.org/packages/09/28/2e45a4f4771fcfb109e244d5dbe54259e970362a311b67a965555ba65026/wrapt-1.17.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", size = 86707 }, - { url = "https://files.pythonhosted.org/packages/c6/d2/dcb56bf5f32fcd4bd9aacc77b50a539abdd5b6536872413fd3f428b21bed/wrapt-1.17.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", size = 79685 }, - { url = "https://files.pythonhosted.org/packages/80/4e/eb8b353e36711347893f502ce91c770b0b0929f8f0bed2670a6856e667a9/wrapt-1.17.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", size = 87567 }, - { url = "https://files.pythonhosted.org/packages/17/27/4fe749a54e7fae6e7146f1c7d914d28ef599dacd4416566c055564080fe2/wrapt-1.17.2-cp312-cp312-win32.whl", hash = "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", size = 36672 }, - { url = "https://files.pythonhosted.org/packages/15/06/1dbf478ea45c03e78a6a8c4be4fdc3c3bddea5c8de8a93bc971415e47f0f/wrapt-1.17.2-cp312-cp312-win_amd64.whl", hash = "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", size = 38865 }, - { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800 }, - { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824 }, - { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920 }, - { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690 }, - { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861 }, - { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174 }, - { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721 }, - { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763 }, - { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585 }, - { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676 }, - { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871 }, - { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312 }, - { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062 }, - { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155 }, - { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471 }, - { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208 }, - { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339 }, - { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232 }, - { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476 }, - { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377 }, - { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986 }, - { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750 }, - { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594 }, + { url = "https://files.pythonhosted.org/packages/5a/d1/1daec934997e8b160040c78d7b31789f19b122110a75eca3d4e8da0049e1/wrapt-1.17.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984", size = 53307, upload-time = "2025-01-14T10:33:13.616Z" }, + { url = "https://files.pythonhosted.org/packages/1b/7b/13369d42651b809389c1a7153baa01d9700430576c81a2f5c5e460df0ed9/wrapt-1.17.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22", size = 38486, upload-time = "2025-01-14T10:33:15.947Z" }, + { url = "https://files.pythonhosted.org/packages/62/bf/e0105016f907c30b4bd9e377867c48c34dc9c6c0c104556c9c9126bd89ed/wrapt-1.17.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80dd7db6a7cb57ffbc279c4394246414ec99537ae81ffd702443335a61dbf3a7", size = 38777, upload-time = "2025-01-14T10:33:17.462Z" }, + { url = "https://files.pythonhosted.org/packages/27/70/0f6e0679845cbf8b165e027d43402a55494779295c4b08414097b258ac87/wrapt-1.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a6e821770cf99cc586d33833b2ff32faebdbe886bd6322395606cf55153246c", size = 83314, upload-time = "2025-01-14T10:33:21.282Z" }, + { url = "https://files.pythonhosted.org/packages/0f/77/0576d841bf84af8579124a93d216f55d6f74374e4445264cb378a6ed33eb/wrapt-1.17.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b60fb58b90c6d63779cb0c0c54eeb38941bae3ecf7a73c764c52c88c2dcb9d72", size = 74947, upload-time = "2025-01-14T10:33:24.414Z" }, + { url = "https://files.pythonhosted.org/packages/90/ec/00759565518f268ed707dcc40f7eeec38637d46b098a1f5143bff488fe97/wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b870b5df5b71d8c3359d21be8f0d6c485fa0ebdb6477dda51a1ea54a9b558061", size = 82778, upload-time = "2025-01-14T10:33:26.152Z" }, + { url = "https://files.pythonhosted.org/packages/f8/5a/7cffd26b1c607b0b0c8a9ca9d75757ad7620c9c0a9b4a25d3f8a1480fafc/wrapt-1.17.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4011d137b9955791f9084749cba9a367c68d50ab8d11d64c50ba1688c9b457f2", size = 81716, upload-time = "2025-01-14T10:33:27.372Z" }, + { url = "https://files.pythonhosted.org/packages/7e/09/dccf68fa98e862df7e6a60a61d43d644b7d095a5fc36dbb591bbd4a1c7b2/wrapt-1.17.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1473400e5b2733e58b396a04eb7f35f541e1fb976d0c0724d0223dd607e0f74c", size = 74548, upload-time = "2025-01-14T10:33:28.52Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/067021fa3c8814952c5e228d916963c1115b983e21393289de15128e867e/wrapt-1.17.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3cedbfa9c940fdad3e6e941db7138e26ce8aad38ab5fe9dcfadfed9db7a54e62", size = 81334, upload-time = "2025-01-14T10:33:29.643Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0d/9d4b5219ae4393f718699ca1c05f5ebc0c40d076f7e65fd48f5f693294fb/wrapt-1.17.2-cp310-cp310-win32.whl", hash = "sha256:582530701bff1dec6779efa00c516496968edd851fba224fbd86e46cc6b73563", size = 36427, upload-time = "2025-01-14T10:33:30.832Z" }, + { url = "https://files.pythonhosted.org/packages/72/6a/c5a83e8f61aec1e1aeef939807602fb880e5872371e95df2137142f5c58e/wrapt-1.17.2-cp310-cp310-win_amd64.whl", hash = "sha256:58705da316756681ad3c9c73fd15499aa4d8c69f9fd38dc8a35e06c12468582f", size = 38774, upload-time = "2025-01-14T10:33:32.897Z" }, + { url = "https://files.pythonhosted.org/packages/cd/f7/a2aab2cbc7a665efab072344a8949a71081eed1d2f451f7f7d2b966594a2/wrapt-1.17.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ff04ef6eec3eee8a5efef2401495967a916feaa353643defcc03fc74fe213b58", size = 53308, upload-time = "2025-01-14T10:33:33.992Z" }, + { url = "https://files.pythonhosted.org/packages/50/ff/149aba8365fdacef52b31a258c4dc1c57c79759c335eff0b3316a2664a64/wrapt-1.17.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db983e7bca53819efdbd64590ee96c9213894272c776966ca6306b73e4affda", size = 38488, upload-time = "2025-01-14T10:33:35.264Z" }, + { url = "https://files.pythonhosted.org/packages/65/46/5a917ce85b5c3b490d35c02bf71aedaa9f2f63f2d15d9949cc4ba56e8ba9/wrapt-1.17.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9abc77a4ce4c6f2a3168ff34b1da9b0f311a8f1cfd694ec96b0603dff1c79438", size = 38776, upload-time = "2025-01-14T10:33:38.28Z" }, + { url = "https://files.pythonhosted.org/packages/ca/74/336c918d2915a4943501c77566db41d1bd6e9f4dbc317f356b9a244dfe83/wrapt-1.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b929ac182f5ace000d459c59c2c9c33047e20e935f8e39371fa6e3b85d56f4a", size = 83776, upload-time = "2025-01-14T10:33:40.678Z" }, + { url = "https://files.pythonhosted.org/packages/09/99/c0c844a5ccde0fe5761d4305485297f91d67cf2a1a824c5f282e661ec7ff/wrapt-1.17.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f09b286faeff3c750a879d336fb6d8713206fc97af3adc14def0cdd349df6000", size = 75420, upload-time = "2025-01-14T10:33:41.868Z" }, + { url = "https://files.pythonhosted.org/packages/b4/b0/9fc566b0fe08b282c850063591a756057c3247b2362b9286429ec5bf1721/wrapt-1.17.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7ed2d9d039bd41e889f6fb9364554052ca21ce823580f6a07c4ec245c1f5d6", size = 83199, upload-time = "2025-01-14T10:33:43.598Z" }, + { url = "https://files.pythonhosted.org/packages/9d/4b/71996e62d543b0a0bd95dda485219856def3347e3e9380cc0d6cf10cfb2f/wrapt-1.17.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:129a150f5c445165ff941fc02ee27df65940fcb8a22a61828b1853c98763a64b", size = 82307, upload-time = "2025-01-14T10:33:48.499Z" }, + { url = "https://files.pythonhosted.org/packages/39/35/0282c0d8789c0dc9bcc738911776c762a701f95cfe113fb8f0b40e45c2b9/wrapt-1.17.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1fb5699e4464afe5c7e65fa51d4f99e0b2eadcc176e4aa33600a3df7801d6662", size = 75025, upload-time = "2025-01-14T10:33:51.191Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6d/90c9fd2c3c6fee181feecb620d95105370198b6b98a0770cba090441a828/wrapt-1.17.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9a2bce789a5ea90e51a02dfcc39e31b7f1e662bc3317979aa7e5538e3a034f72", size = 81879, upload-time = "2025-01-14T10:33:52.328Z" }, + { url = "https://files.pythonhosted.org/packages/8f/fa/9fb6e594f2ce03ef03eddbdb5f4f90acb1452221a5351116c7c4708ac865/wrapt-1.17.2-cp311-cp311-win32.whl", hash = "sha256:4afd5814270fdf6380616b321fd31435a462019d834f83c8611a0ce7484c7317", size = 36419, upload-time = "2025-01-14T10:33:53.551Z" }, + { url = "https://files.pythonhosted.org/packages/47/f8/fb1773491a253cbc123c5d5dc15c86041f746ed30416535f2a8df1f4a392/wrapt-1.17.2-cp311-cp311-win_amd64.whl", hash = "sha256:acc130bc0375999da18e3d19e5a86403667ac0c4042a094fefb7eec8ebac7cf3", size = 38773, upload-time = "2025-01-14T10:33:56.323Z" }, + { url = "https://files.pythonhosted.org/packages/a1/bd/ab55f849fd1f9a58ed7ea47f5559ff09741b25f00c191231f9f059c83949/wrapt-1.17.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", size = 53799, upload-time = "2025-01-14T10:33:57.4Z" }, + { url = "https://files.pythonhosted.org/packages/53/18/75ddc64c3f63988f5a1d7e10fb204ffe5762bc663f8023f18ecaf31a332e/wrapt-1.17.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", size = 38821, upload-time = "2025-01-14T10:33:59.334Z" }, + { url = "https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", size = 38919, upload-time = "2025-01-14T10:34:04.093Z" }, + { url = "https://files.pythonhosted.org/packages/73/54/3bfe5a1febbbccb7a2f77de47b989c0b85ed3a6a41614b104204a788c20e/wrapt-1.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", size = 88721, upload-time = "2025-01-14T10:34:07.163Z" }, + { url = "https://files.pythonhosted.org/packages/25/cb/7262bc1b0300b4b64af50c2720ef958c2c1917525238d661c3e9a2b71b7b/wrapt-1.17.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", size = 80899, upload-time = "2025-01-14T10:34:09.82Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5a/04cde32b07a7431d4ed0553a76fdb7a61270e78c5fd5a603e190ac389f14/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", size = 89222, upload-time = "2025-01-14T10:34:11.258Z" }, + { url = "https://files.pythonhosted.org/packages/09/28/2e45a4f4771fcfb109e244d5dbe54259e970362a311b67a965555ba65026/wrapt-1.17.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", size = 86707, upload-time = "2025-01-14T10:34:12.49Z" }, + { url = "https://files.pythonhosted.org/packages/c6/d2/dcb56bf5f32fcd4bd9aacc77b50a539abdd5b6536872413fd3f428b21bed/wrapt-1.17.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", size = 79685, upload-time = "2025-01-14T10:34:15.043Z" }, + { url = "https://files.pythonhosted.org/packages/80/4e/eb8b353e36711347893f502ce91c770b0b0929f8f0bed2670a6856e667a9/wrapt-1.17.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", size = 87567, upload-time = "2025-01-14T10:34:16.563Z" }, + { url = "https://files.pythonhosted.org/packages/17/27/4fe749a54e7fae6e7146f1c7d914d28ef599dacd4416566c055564080fe2/wrapt-1.17.2-cp312-cp312-win32.whl", hash = "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", size = 36672, upload-time = "2025-01-14T10:34:17.727Z" }, + { url = "https://files.pythonhosted.org/packages/15/06/1dbf478ea45c03e78a6a8c4be4fdc3c3bddea5c8de8a93bc971415e47f0f/wrapt-1.17.2-cp312-cp312-win_amd64.whl", hash = "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", size = 38865, upload-time = "2025-01-14T10:34:19.577Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, ]