From 8ec1c706eab56d30ed759675452783d1aa223f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Ferreira?= Date: Fri, 9 May 2025 12:49:13 +0100 Subject: [PATCH] feat: interactive feedback mcp, initial commit --- .github/cline-installation.png | Bin 0 -> 46510 bytes .github/feedback-ui.png | Bin 0 -> 18994 bytes .gitignore | 19 + .python-version | 1 + LICENSE | 21 ++ README.md | 111 ++++++ feedback_ui.py | 581 ++++++++++++++++++++++++++++++ images/attribution.txt | 1 + images/feedback.png | Bin 0 -> 9552 bytes images/interactive_feedback_1.jpg | Bin 0 -> 148060 bytes images/interactive_feedback_2.jpg | Bin 0 -> 211815 bytes pyproject.toml | 11 + server.py | 73 ++++ uv.lock | 522 +++++++++++++++++++++++++++ 14 files changed, 1340 insertions(+) create mode 100644 .github/cline-installation.png create mode 100644 .github/feedback-ui.png create mode 100644 .gitignore create mode 100644 .python-version create mode 100644 LICENSE create mode 100644 README.md create mode 100644 feedback_ui.py create mode 100644 images/attribution.txt create mode 100644 images/feedback.png create mode 100644 images/interactive_feedback_1.jpg create mode 100644 images/interactive_feedback_2.jpg create mode 100644 pyproject.toml create mode 100644 server.py create mode 100644 uv.lock diff --git a/.github/cline-installation.png b/.github/cline-installation.png new file mode 100644 index 0000000000000000000000000000000000000000..89b4b1219c9a977662ab51dca9f77f50a4b3ccb8 GIT binary patch literal 46510 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⪻eq}vx;sGnY5=ECmH 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 literal 0 HcmV?d00001 diff --git a/.github/feedback-ui.png b/.github/feedback-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..18b81e8a697030ad4b0e487f925759a15e767dfb GIT binary patch literal 18994 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 Nee>>(0xjET{}(g!X$=4X literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f1b1d9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# Python-generated files +__pycache__/ +*.py[oc] +build/ +dist/ +wheels/ +*.egg-info + +# Virtual environments +.venv*/ +venv*/ + +# Logs +*.log + +#Others +.DS_Store + +.cursor/rules/ diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..2c07333 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.11 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..edbad56 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Fábio Ferreira + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..583ae9f --- /dev/null +++ b/README.md @@ -0,0 +1,111 @@ +# Interactive Feedback MCP + +Developed by Fábio Ferreira ([@fabiomlferreira](https://x.com/fabiomlferreira)). +Check out [dotcursorrules.com](https://dotcursorrules.com/) for more AI development enhancements. + +Simple [MCP Server](https://modelcontextprotocol.io/) to enable a human-in-the-loop workflow in AI-assisted development tools like [Cursor](https://www.cursor.com). This server allows you to run commands, view their output, and provide textual feedback directly to the AI. It is also compatible with [Cline](https://cline.bot) and [Windsurf](https://windsurf.com). + +![Interactive Feedback UI - Main View](images/interactive_feedback_1.jpg) +![Interactive Feedback UI - Command Section Open](images/interactive_feedback_2.jpg) + +## Prompt Engineering + +For the best results, add the following to your custom prompt in your AI assistant, you should add it on a rule or directly in the prompt (e.g., Cursor): + +> Before completing the task, use the `interactive_feedback` tool from the `interactive-feedback-mcp` server to ask the user for feedback. + +This will ensure your AI assistant uses this MCP server to request user feedback before marking the task as completed. + +## Configuration + +This MCP server uses Qt's `QSettings` to store configuration on a per-project basis. This includes: +* The command to run. +* Whether to execute the command automatically on the next startup for that project (see "Execute automatically on next run" checkbox). +* The visibility state (shown/hidden) of the command section (this is saved immediately when toggled). +* Window geometry and state (general UI preferences). + +These settings are typically stored in platform-specific locations (e.g., registry on Windows, plist files on macOS, configuration files in `~/.config` or `~/.local/share` on Linux) under an organization name "FabioFerreira" and application name "InteractiveFeedbackMCP", with a unique group for each project directory. + +The "Save Configuration" button in the UI primarily saves the current command typed into the command input field and the state of the "Execute automatically on next run" checkbox for the active project. The visibility of the command section is saved automatically when you toggle it. General window size and position are saved when the application closes. + +## Installation (Cursor) + +1. **Prerequisites:** + * Python 3.11 or newer. + * [uv](https://github.com/astral-sh/uv) (Python package manager). Install it with: + * Windows: `pip install uv` + * Linux/Mac: `curl -LsSf https://astral.sh/uv/install.sh | sh` +2. **Get the code:** + * Clone this repository: + `git clone https://github.com/noopstudios/interactive-feedback-mcp.git` + * Or download the source code. +3. **Navigate to the directory:** + * `cd path/to/interactive-feedback-mcp` +4. **Install dependencies:** + * `uv sync` (this creates a virtual environment and installs packages) +5. **Run the MCP Server:** + * `uv run server.py` +6. **Configure in Cursor:** + * Cursor typically allows specifying custom MCP servers in its settings. You'll need to point Cursor to this running server. The exact mechanism might vary, so consult Cursor's documentation for adding custom MCPs. + * **Manual Configuration (e.g., via `mcp.json`)** + **Remember to change the `/Users/fabioferreira/Dev/scripts/interactive-feedback-mcp` path to the actual path where you cloned the repository on your system.** + + ```json + { + "mcpServers": { + "interactive-feedback-mcp": { + "command": "uv", + "args": [ + "--directory", + "/Users/fabioferreira/Dev/scripts/interactive-feedback-mcp", + "run", + "server.py" + ], + "timeout": 600, + "autoApprove": [ + "interactive_feedback" + ] + } + } + } + ``` + * You might use a server identifier like `interactive-feedback-mcp` when configuring it in Cursor. + +### For Cline / Windsurf + +Similar setup principles apply. You would configure the server command (e.g., `uv run server.py` with the correct `--directory` argument pointing to the project directory) in the respective tool's MCP settings, using `interactive-feedback-mcp` as the server identifier. + +## Development + +To run the server in development mode with a web interface for testing: + +```sh +uv run fastmcp dev server.py +``` + +This will open a web interface at http://localhost:5173 and allow you to interact with the MCP tools for testing. + +## Available tools + +Here's an example of how the AI assistant would call the `interactive_feedback` tool: + +```xml + + interactive-feedback-mcp + interactive_feedback + + { + "project_directory": "/path/to/your/project", + "summary": "I've implemented the changes you requested and refactored the main module." + } + + +``` + +## Acknowledgements & Contact + +If you find this Interactive Feedback MCP useful, the best way to show appreciation is by following Fábio Ferreira on [X @fabiomlferreira](https://x.com/fabiomlferreira). + +For any questions, suggestions, or if you just want to share how you're using it, feel free to reach out on X! + +Also, check out [dotcursorrules.com](https://dotcursorrules.com/) for more resources on enhancing your AI-assisted development workflow. \ No newline at end of file diff --git a/feedback_ui.py b/feedback_ui.py new file mode 100644 index 0000000..c71e951 --- /dev/null +++ b/feedback_ui.py @@ -0,0 +1,581 @@ +# Interactive Feedback MCP UI +# Developed by Fábio Ferreira (https://x.com/fabiomlferreira) +# Inspired by/related to dotcursorrules.com (https://dotcursorrules.com/) +import os +import sys +import json +import psutil +import argparse +import subprocess +import threading +import hashlib +from typing import Optional, TypedDict + +from PySide6.QtWidgets import ( + QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, + QLabel, QLineEdit, QPushButton, QCheckBox, QTextEdit, QGroupBox +) +from PySide6.QtCore import Qt, Signal, QObject, QTimer, QSettings +from PySide6.QtGui import QTextCursor, QIcon, QKeyEvent, QFont, QFontDatabase, QPalette, QColor + +class FeedbackResult(TypedDict): + command_logs: str + interactive_feedback: str + +class FeedbackConfig(TypedDict): + run_command: str + execute_automatically: bool + +def set_dark_title_bar(widget: QWidget, dark_title_bar: bool) -> None: + # Ensure we're on Windows + if sys.platform != "win32": + return + + from ctypes import windll, c_uint32, byref + + # Get Windows build number + build_number = sys.getwindowsversion().build + if build_number < 17763: # Windows 10 1809 minimum + return + + # Check if the widget's property already matches the setting + dark_prop = widget.property("DarkTitleBar") + if dark_prop is not None and dark_prop == dark_title_bar: + return + + # Set the property (True if dark_title_bar != 0, False otherwise) + widget.setProperty("DarkTitleBar", dark_title_bar) + + # Load dwmapi.dll and call DwmSetWindowAttribute + dwmapi = windll.dwmapi + hwnd = widget.winId() # Get the window handle + attribute = 20 if build_number >= 18985 else 19 # Use newer attribute for newer builds + c_dark_title_bar = c_uint32(dark_title_bar) # Convert to C-compatible uint32 + dwmapi.DwmSetWindowAttribute(hwnd, attribute, byref(c_dark_title_bar), 4) + + # HACK: Create a 1x1 pixel frameless window to force redraw + temp_widget = QWidget(None, Qt.FramelessWindowHint) + temp_widget.resize(1, 1) + temp_widget.move(widget.pos()) + temp_widget.show() + temp_widget.deleteLater() # Safe deletion in Qt event loop + +def get_dark_mode_palette(app: QApplication): + darkPalette = app.palette() + darkPalette.setColor(QPalette.Window, QColor(53, 53, 53)) + darkPalette.setColor(QPalette.WindowText, Qt.white) + darkPalette.setColor(QPalette.Disabled, QPalette.WindowText, QColor(127, 127, 127)) + darkPalette.setColor(QPalette.Base, QColor(42, 42, 42)) + darkPalette.setColor(QPalette.AlternateBase, QColor(66, 66, 66)) + darkPalette.setColor(QPalette.ToolTipBase, QColor(53, 53, 53)) + darkPalette.setColor(QPalette.ToolTipText, Qt.white) + darkPalette.setColor(QPalette.Text, Qt.white) + darkPalette.setColor(QPalette.Disabled, QPalette.Text, QColor(127, 127, 127)) + darkPalette.setColor(QPalette.Dark, QColor(35, 35, 35)) + darkPalette.setColor(QPalette.Shadow, QColor(20, 20, 20)) + darkPalette.setColor(QPalette.Button, QColor(53, 53, 53)) + darkPalette.setColor(QPalette.ButtonText, Qt.white) + darkPalette.setColor(QPalette.Disabled, QPalette.ButtonText, QColor(127, 127, 127)) + darkPalette.setColor(QPalette.BrightText, Qt.red) + darkPalette.setColor(QPalette.Link, QColor(42, 130, 218)) + darkPalette.setColor(QPalette.Highlight, QColor(42, 130, 218)) + darkPalette.setColor(QPalette.Disabled, QPalette.Highlight, QColor(80, 80, 80)) + darkPalette.setColor(QPalette.HighlightedText, Qt.white) + darkPalette.setColor(QPalette.Disabled, QPalette.HighlightedText, QColor(127, 127, 127)) + darkPalette.setColor(QPalette.PlaceholderText, QColor(127, 127, 127)) + return darkPalette + +def kill_tree(process: subprocess.Popen): + killed: list[psutil.Process] = [] + parent = psutil.Process(process.pid) + for proc in parent.children(recursive=True): + try: + proc.kill() + killed.append(proc) + except psutil.Error: + pass + try: + parent.kill() + except psutil.Error: + pass + killed.append(parent) + + # Terminate any remaining processes + for proc in killed: + try: + if proc.is_running(): + proc.terminate() + except psutil.Error: + pass + +def get_user_environment() -> dict[str, str]: + if sys.platform != "win32": + return os.environ.copy() + + import ctypes + from ctypes import wintypes + + # Load required DLLs + advapi32 = ctypes.WinDLL("advapi32") + userenv = ctypes.WinDLL("userenv") + kernel32 = ctypes.WinDLL("kernel32") + + # Constants + TOKEN_QUERY = 0x0008 + + # Function prototypes + OpenProcessToken = advapi32.OpenProcessToken + OpenProcessToken.argtypes = [wintypes.HANDLE, wintypes.DWORD, ctypes.POINTER(wintypes.HANDLE)] + OpenProcessToken.restype = wintypes.BOOL + + CreateEnvironmentBlock = userenv.CreateEnvironmentBlock + CreateEnvironmentBlock.argtypes = [ctypes.POINTER(ctypes.c_void_p), wintypes.HANDLE, wintypes.BOOL] + CreateEnvironmentBlock.restype = wintypes.BOOL + + DestroyEnvironmentBlock = userenv.DestroyEnvironmentBlock + DestroyEnvironmentBlock.argtypes = [wintypes.LPVOID] + DestroyEnvironmentBlock.restype = wintypes.BOOL + + GetCurrentProcess = kernel32.GetCurrentProcess + GetCurrentProcess.argtypes = [] + GetCurrentProcess.restype = wintypes.HANDLE + + CloseHandle = kernel32.CloseHandle + CloseHandle.argtypes = [wintypes.HANDLE] + CloseHandle.restype = wintypes.BOOL + + # Get process token + token = wintypes.HANDLE() + if not OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, ctypes.byref(token)): + raise RuntimeError("Failed to open process token") + + try: + # Create environment block + environment = ctypes.c_void_p() + if not CreateEnvironmentBlock(ctypes.byref(environment), token, False): + raise RuntimeError("Failed to create environment block") + + try: + # Convert environment block to list of strings + result = {} + env_ptr = ctypes.cast(environment, ctypes.POINTER(ctypes.c_wchar)) + offset = 0 + + while True: + # Get string at current offset + current_string = "" + while env_ptr[offset] != "\0": + current_string += env_ptr[offset] + offset += 1 + + # Skip null terminator + offset += 1 + + # Break if we hit double null terminator + if not current_string: + break + + equal_index = current_string.index("=") + if equal_index == -1: + continue + + key = current_string[:equal_index] + value = current_string[equal_index + 1:] + result[key] = value + + return result + + finally: + DestroyEnvironmentBlock(environment) + + finally: + CloseHandle(token) + +class FeedbackTextEdit(QTextEdit): + def __init__(self, parent=None): + super().__init__(parent) + + def keyPressEvent(self, event: QKeyEvent): + if event.key() == Qt.Key_Return and event.modifiers() == Qt.ControlModifier: + # Find the parent FeedbackUI instance and call submit + parent = self.parent() + while parent and not isinstance(parent, FeedbackUI): + parent = parent.parent() + if parent: + parent._submit_feedback() + else: + super().keyPressEvent(event) + +class LogSignals(QObject): + append_log = Signal(str) + +class FeedbackUI(QMainWindow): + def __init__(self, project_directory: str, prompt: str): + super().__init__() + self.project_directory = project_directory + self.prompt = prompt + + self.process: Optional[subprocess.Popen] = None + self.log_buffer = [] + self.feedback_result = None + self.log_signals = LogSignals() + self.log_signals.append_log.connect(self._append_log) + + self.setWindowTitle("Interactive Feedback MCP") + script_dir = os.path.dirname(os.path.abspath(__file__)) + icon_path = os.path.join(script_dir, "images", "feedback.png") + self.setWindowIcon(QIcon(icon_path)) + self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint) + + self.settings = QSettings("InteractiveFeedbackMCP", "InteractiveFeedbackMCP") + + # Load general UI settings for the main window (geometry, state) + self.settings.beginGroup("MainWindow_General") + geometry = self.settings.value("geometry") + if geometry: + self.restoreGeometry(geometry) + else: + self.resize(800, 600) + screen = QApplication.primaryScreen().geometry() + x = (screen.width() - 800) // 2 + y = (screen.height() - 600) // 2 + self.move(x, y) + state = self.settings.value("windowState") + if state: + self.restoreState(state) + self.settings.endGroup() # End "MainWindow_General" group + + # Load project-specific settings (command, auto-execute, command section visibility) + self.project_group_name = get_project_settings_group(self.project_directory) + self.settings.beginGroup(self.project_group_name) + loaded_run_command = self.settings.value("run_command", "", type=str) + loaded_execute_auto = self.settings.value("execute_automatically", False, type=bool) + command_section_visible = self.settings.value("commandSectionVisible", False, type=bool) + self.settings.endGroup() # End project-specific group + + self.config: FeedbackConfig = { + "run_command": loaded_run_command, + "execute_automatically": loaded_execute_auto + } + + self._create_ui() # self.config is used here to set initial values + + # Set command section visibility AFTER _create_ui has created relevant widgets + self.command_group.setVisible(command_section_visible) + if command_section_visible: + self.toggle_command_button.setText("Hide Command Section") + else: + self.toggle_command_button.setText("Show Command Section") + + set_dark_title_bar(self, True) + + if self.config.get("execute_automatically", False): + self._run_command() + + def _format_windows_path(self, path: str) -> str: + if sys.platform == "win32": + # Convert forward slashes to backslashes + path = path.replace("/", "\\") + # Capitalize drive letter if path starts with x:\ + if len(path) >= 2 and path[1] == ":" and path[0].isalpha(): + path = path[0].upper() + path[1:] + return path + + def _create_ui(self): + central_widget = QWidget() + self.setCentralWidget(central_widget) + layout = QVBoxLayout(central_widget) + + # Toggle Command Section Button + self.toggle_command_button = QPushButton("Show Command Section") + self.toggle_command_button.clicked.connect(self._toggle_command_section) + layout.addWidget(self.toggle_command_button) + + # Command section + self.command_group = QGroupBox("Command") + command_layout = QVBoxLayout(self.command_group) + + # Working directory label + formatted_path = self._format_windows_path(self.project_directory) + working_dir_label = QLabel(f"Working directory: {formatted_path}") + command_layout.addWidget(working_dir_label) + + # Command input row + command_input_layout = QHBoxLayout() + self.command_entry = QLineEdit() + self.command_entry.setText(self.config["run_command"]) + self.command_entry.returnPressed.connect(self._run_command) + self.command_entry.textChanged.connect(self._update_config) + self.run_button = QPushButton("&Run") + self.run_button.clicked.connect(self._run_command) + + command_input_layout.addWidget(self.command_entry) + command_input_layout.addWidget(self.run_button) + command_layout.addLayout(command_input_layout) + + # Auto-execute and save config row + auto_layout = QHBoxLayout() + self.auto_check = QCheckBox("Execute automatically on next run") + self.auto_check.setChecked(self.config.get("execute_automatically", False)) + self.auto_check.stateChanged.connect(self._update_config) + + save_button = QPushButton("&Save Configuration") + save_button.clicked.connect(self._save_config) + + auto_layout.addWidget(self.auto_check) + auto_layout.addStretch() + auto_layout.addWidget(save_button) + command_layout.addLayout(auto_layout) + + # Console section (now part of command_group) + console_group = QGroupBox("Console") + console_layout_internal = QVBoxLayout(console_group) + console_group.setMinimumHeight(200) + + # Log text area + self.log_text = QTextEdit() + self.log_text.setReadOnly(True) + font = QFont(QFontDatabase.systemFont(QFontDatabase.FixedFont)) + font.setPointSize(9) + self.log_text.setFont(font) + console_layout_internal.addWidget(self.log_text) + + # Clear button + button_layout = QHBoxLayout() + self.clear_button = QPushButton("&Clear") + self.clear_button.clicked.connect(self.clear_logs) + button_layout.addStretch() + button_layout.addWidget(self.clear_button) + console_layout_internal.addLayout(button_layout) + + command_layout.addWidget(console_group) + + self.command_group.setVisible(False) + layout.addWidget(self.command_group) + + # Feedback section with adjusted height + self.feedback_group = QGroupBox("Feedback") + feedback_layout = QVBoxLayout(self.feedback_group) + + # Short description label (from self.prompt) + self.description_label = QLabel(self.prompt) + self.description_label.setWordWrap(True) + feedback_layout.addWidget(self.description_label) + + self.feedback_text = FeedbackTextEdit() + font_metrics = self.feedback_text.fontMetrics() + row_height = font_metrics.height() + # Calculate height for 5 lines + some padding for margins + padding = self.feedback_text.contentsMargins().top() + self.feedback_text.contentsMargins().bottom() + 5 # 5 is extra vertical padding + self.feedback_text.setMinimumHeight(5 * row_height + padding) + + self.feedback_text.setPlaceholderText("Enter your feedback here (Ctrl+Enter to submit)") + submit_button = QPushButton("&Send Feedback (Ctrl+Enter)") + submit_button.clicked.connect(self._submit_feedback) + + feedback_layout.addWidget(self.feedback_text) + feedback_layout.addWidget(submit_button) + + # Set minimum height for feedback_group to accommodate its contents + # This will be based on the description label and the 5-line feedback_text + self.feedback_group.setMinimumHeight(self.description_label.sizeHint().height() + self.feedback_text.minimumHeight() + submit_button.sizeHint().height() + feedback_layout.spacing() * 2 + feedback_layout.contentsMargins().top() + feedback_layout.contentsMargins().bottom() + 10) # 10 for extra padding + + # Add widgets in a specific order + layout.addWidget(self.feedback_group) + + # Credits/Contact Label + contact_label = QLabel('Need to improve? Contact Fábio Ferreira on X.com or visit dotcursorrules.com') + contact_label.setOpenExternalLinks(True) + contact_label.setAlignment(Qt.AlignCenter) + # Optionally, make font a bit smaller and less prominent + # contact_label_font = contact_label.font() + # contact_label_font.setPointSize(contact_label_font.pointSize() - 1) + # contact_label.setFont(contact_label_font) + contact_label.setStyleSheet("font-size: 9pt; color: #cccccc;") # Light gray for dark theme + layout.addWidget(contact_label) + + def _toggle_command_section(self): + is_visible = self.command_group.isVisible() + self.command_group.setVisible(not is_visible) + if not is_visible: + self.toggle_command_button.setText("Hide Command Section") + else: + self.toggle_command_button.setText("Show Command Section") + + # Immediately save the visibility state for this project + self.settings.beginGroup(self.project_group_name) + self.settings.setValue("commandSectionVisible", self.command_group.isVisible()) + self.settings.endGroup() + + # Adjust window height only + new_height = self.centralWidget().sizeHint().height() + if self.command_group.isVisible() and self.command_group.layout().sizeHint().height() > 0 : + # if command group became visible and has content, ensure enough height + min_content_height = self.command_group.layout().sizeHint().height() + self.feedback_group.minimumHeight() + self.toggle_command_button.height() + layout().spacing() * 2 + new_height = max(new_height, min_content_height) + + current_width = self.width() + self.resize(current_width, new_height) + + def _update_config(self): + self.config["run_command"] = self.command_entry.text() + self.config["execute_automatically"] = self.auto_check.isChecked() + + def _append_log(self, text: str): + self.log_buffer.append(text) + self.log_text.append(text.rstrip()) + cursor = self.log_text.textCursor() + cursor.movePosition(QTextCursor.End) + self.log_text.setTextCursor(cursor) + + def _check_process_status(self): + if self.process and self.process.poll() is not None: + # Process has terminated + exit_code = self.process.poll() + self._append_log(f"\nProcess exited with code {exit_code}\n") + self.run_button.setText("&Run") + self.process = None + self.activateWindow() + self.feedback_text.setFocus() + + def _run_command(self): + if self.process: + kill_tree(self.process) + self.process = None + self.run_button.setText("&Run") + return + + # Clear the log buffer but keep UI logs visible + self.log_buffer = [] + + command = self.command_entry.text() + if not command: + self._append_log("Please enter a command to run\n") + return + + self._append_log(f"$ {command}\n") + self.run_button.setText("Sto&p") + + try: + self.process = subprocess.Popen( + command, + shell=True, + cwd=self.project_directory, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + env=get_user_environment(), + text=True, + bufsize=1, + encoding="utf-8", + errors="ignore", + close_fds=True, + ) + + def read_output(pipe): + for line in iter(pipe.readline, ""): + self.log_signals.append_log.emit(line) + + threading.Thread( + target=read_output, + args=(self.process.stdout,), + daemon=True + ).start() + + threading.Thread( + target=read_output, + args=(self.process.stderr,), + daemon=True + ).start() + + # Start process status checking + self.status_timer = QTimer() + self.status_timer.timeout.connect(self._check_process_status) + self.status_timer.start(100) # Check every 100ms + + except Exception as e: + self._append_log(f"Error running command: {str(e)}\n") + self.run_button.setText("&Run") + + def _submit_feedback(self): + self.feedback_result = FeedbackResult( + logs="".join(self.log_buffer), + interactive_feedback=self.feedback_text.toPlainText().strip(), + ) + self.close() + + def clear_logs(self): + self.log_buffer = [] + self.log_text.clear() + + def _save_config(self): + # Save run_command and execute_automatically to QSettings under project group + self.settings.beginGroup(self.project_group_name) + self.settings.setValue("run_command", self.config["run_command"]) + self.settings.setValue("execute_automatically", self.config["execute_automatically"]) + self.settings.endGroup() + self._append_log("Configuration saved for this project.\n") + + def closeEvent(self, event): + # Save general UI settings for the main window (geometry, state) + self.settings.beginGroup("MainWindow_General") + self.settings.setValue("geometry", self.saveGeometry()) + self.settings.setValue("windowState", self.saveState()) + self.settings.endGroup() + + # Save project-specific command section visibility (this is now slightly redundant due to immediate save in toggle, but harmless) + self.settings.beginGroup(self.project_group_name) + self.settings.setValue("commandSectionVisible", self.command_group.isVisible()) + self.settings.endGroup() + + if self.process: + kill_tree(self.process) + super().closeEvent(event) + + def run(self) -> FeedbackResult: + self.show() + QApplication.instance().exec() + + if self.process: + kill_tree(self.process) + + if not self.feedback_result: + return FeedbackResult(logs="".join(self.log_buffer), interactive_feedback="") + + return self.feedback_result + +def get_project_settings_group(project_dir: str) -> str: + # Create a safe, unique group name from the project directory path + # Using only the last component + hash of full path to keep it somewhat readable but unique + basename = os.path.basename(os.path.normpath(project_dir)) + full_hash = hashlib.md5(project_dir.encode('utf-8')).hexdigest()[:8] + return f"{basename}_{full_hash}" + +def feedback_ui(project_directory: str, prompt: str, output_file: Optional[str] = None) -> Optional[FeedbackResult]: + app = QApplication.instance() or QApplication() + app.setPalette(get_dark_mode_palette(app)) + app.setStyle("Fusion") + ui = FeedbackUI(project_directory, prompt) + result = ui.run() + + if output_file and result: + # Ensure the directory exists + os.makedirs(os.path.dirname(output_file) if os.path.dirname(output_file) else ".", exist_ok=True) + # Save the result to the output file + with open(output_file, "w") as f: + json.dump(result, f) + return None + + return result + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Run the feedback UI") + parser.add_argument("--project-directory", default=os.getcwd(), help="The project directory to run the command in") + parser.add_argument("--prompt", default="I implemented the changes you requested.", help="The prompt to show to the user") + parser.add_argument("--output-file", help="Path to save the feedback result as JSON") + args = parser.parse_args() + + result = feedback_ui(args.project_directory, args.prompt, args.output_file) + if result: + print(f"\nLogs collected: \n{result['logs']}") + print(f"\nFeedback received:\n{result['interactive_feedback']}") + sys.exit(0) diff --git a/images/attribution.txt b/images/attribution.txt new file mode 100644 index 0000000..25b552d --- /dev/null +++ b/images/attribution.txt @@ -0,0 +1 @@ +Feedback icons created by Freepik - Flaticon diff --git a/images/feedback.png b/images/feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..f4070a70c3f798cf48a905b3bdce259af4817b34 GIT binary patch literal 9552 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 A4FCWD literal 0 HcmV?d00001 diff --git a/images/interactive_feedback_1.jpg b/images/interactive_feedback_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4c2acde173869741ac5ce0cc5849b42eae86abd GIT binary patch literal 148060 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 TT{d9M*woZ6E13_-$4vYO@ddCy literal 0 HcmV?d00001 diff --git a/images/interactive_feedback_2.jpg b/images/interactive_feedback_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60b0a419c0c4fbf8c127b895cde7b495a2087ed9 GIT binary patch literal 211815 zcmd43c|6qJ`#(OiCuAovl{IS;BAHZ3$X3>vBv~d)MAVoG*|(4sg+jQBl}eWE z%htFTU-TL*v>hJ!vxomL`wD}C``<>mKZh-n2s4HCmFV|iF zOWpI9|L%Kt%dYhMT)eJWg701HAA}jh3}A;~7hvaM7U25?%m~=$e{O%`Py2H)ZV_~cm@`ZXrU2^4VaLEnZP(7AFDU=o@84@dgD}`h zb8z$Ozt=7g!(g>$Fc?S1zt?1?VKB~XFj$A0kCU&{?$iDh1~QZ1P1WOn)%W?rV9e0Y z&W0EORV@rg^WE8@yx7^H0UI)cXMVW7GYWeM;ILcvfWM4;_UvI~Vg!YWg=x32u(JFq ztbZ4_KZSj_aQvq*?Dk@0WCnjZ*jU*9bN&CgvNI0w?6UI##>2+6#A3|Ia0Ir8hk=oY zVW*Yh6&NMvza;!yMHrBiiJ66!jeRf2e%KxcM#eo%jLghT0Lu))yVHq@hne@ViY^PE zxfAP=+x*8vl3ub&oGoh-u;?L5s$TaEW#20(BrI}3N?JztsN4xPb&ZpnTIbH|=^I=y zyl8p(ij_4mv-1s?o33u|9)5TH1MUU}-3xmd9uXN89h02$IQ2=|(`V_ga&q%t=NA;d zDX*xks;+tWzP7ogwXMCQ^W&%9zW(n6gG0k3Q`0lEbMp&77MDot8=Jq#zoD&dFsJ`g z2mJT%G5c2^9-z-2CMHHE)?IxV_T1f7mWPS?unG&Wt~smIZN4MNL)iGwCcP|cVwX_0 zAPQXf?b$0Rd16Y6w5!q|jsDLR3jP13(SH>Bk3KsiuzidSV89r8U>s(SgYM!^T?3M#<61XsZ-WTg)BuCv2cvx&MsGXQv`f01QrP$FT4*lUl5-DrN9&~)#gw3{v z@Z>Ghm+#>#KP0i7ka1h>q{Jy{{4*(ir=9`fi*e}kOioNwpfjDbbO#oy>n8Y-rHJ_3 zVo>A^i_t39T>sWRT6&<+`X2ni}s8&JC+9iQz=A4k}M9J?iZatU1wf z2R0Xv={G-PL$yZyxf8VsDX`K$|Ix)A`;Qdn{}JpjDav+W`&Y0{!uTJt+*H{=QgA~W z&UCi69oTsr?34ixyWWoXkj+-W$Y=ez(RvRp$Vi|6Bi#u+iR&*R3jP(MuLlTWvujWU zArASkLETxYqTqFZ?56OK-KzM3-2}S-zH?fKgJB2e_m}06P~_ioT>eK6_a8tG1?)do zYWc@XC&K8Q|BHQaBQdfZ@R)_aZ-{3xKiGl2|I1Fw)N}s`^1lz@|2kT_0EGYDLW8S% z{LG1Met+LcG!6ZL9qZUNRN8-rN#Ji_;YRKOF=FBW*y-QFIe!PV2dLL~mjNdFAhBWzRMUm*IAdDJN8yCAajhBT0LwiYb~U$lU* z@eEz=^!>OU*qHuHFj#(gLM(FgdQ-9>aJ_RpQ+MWPuu<(V2l^q@Tf0Ugqy^72ik#cw7?O|U?x$($(N z`Y^M%?~y#H1gH1awKtb$W1A!pgbXY{8a`zTL!XCi zJxko^Y-I<$!aeU6dK~AFH%sc6%MmSUy%nMIMDj(B+P12mkkbu}2h>ex+WJ{dNPM+*Byd$myQ?^lMzoyg74M# z&!t`@3N_7@4Q$F6tljc5jZ%A$&WO77V@xt_HUp|fj} zI;I5+N%qtE&36a1bxSTv*Vm`C+D)G*DiP=;iX&1P%udoBV#?6Jw zM3BT&h#M{oZL%Y9{yLBC=V9jY19~q0_sa`JTzt+usb=2W7YuZA`cwyhfndQBl6GK3 zlkVY}wl6c2p@_Y!+G@oObt7uynJ)_zBG~s<$Y{ufUct(J=*1J_u|(r>Zh}<}MfJxH zY@bO@NWDP;r=@wX^PpOI!u=|h{c~+=PhrRO!mZiVx#TwoVw9RYsX@dw>V642yTlZS zn1K;7tGR3Z_^8c;k;yjq>297gX=eL%6I@J;+4-2_i`kkMkv3FmU;#f&E1nU}J+%Xi zgmX~$o){Nx#`#GnF?!q!Z>qT8o;2^4n?5&d<)`rA#qdZQW=()x!Y@701hh)LSM%q6 zBDlZ-@2KsyX7{zKeprv)crGb_A8WgXv2OT zWwZ-)d1N7~3MuK}Xb5KFk!iMG;r32k56e)G^_+R%0N&c|)rvym=fqe9Q6C3MM|PZs zH{XM|nMRa*RMT0?9ZsDa$1STEy59;BFf$ZeuOsL`br;EqTaX;AL0bV6qA?viV{;{=LinoW)4=rFVZIlE_MZGn(+ojP`(JS zOH5r=?&>SSWSbjubyD3x#|bJ0cYT@Z9_NXQ;cEMB1oG*CuT*M^_GDg4-2`?jGJ+`a^6LMi@ zkji6EXAh&825wSKp*3Q=>Hg){6Q@ioyQVok6wYx49J=701QR*U?~AJM#}gi7iKf9$ z^n->)Xl+yqG07Y)HIK3@!rqK()m7hty~b>~g(^0BQEv(3zP*v1-<=;%cVIkVVZjoO zvSM{k;-NH>=oE7T4(H*^?uE|m!B&cif%N_y;{x}wxaSonBVW%oI_&!ngF(`agu0|C<^6R zkn&?NoHU%}_n)sD>YhWf4wjO?xg7PIml*VIQXas>!tbqxVhQnhqKR@Of(30r(Fv5F zDo)3SQSA?J1z}lUV=#;lm zpv;tYi%{MD+;)g16hq5>6$_qRhr>1+A$pj7WLgV7Q~Tf5I=A1uB48mL=HOJZYbGAOREpW zNK@G$#|ii#XXO*Dhsk~0r(4HU73yv_-dS*4&6NMe6=P%)+DVP;!xO^rM8kNQX*679 zMThS~rfl_hA-hB~9f?6ZT}<-U^ewS-?%v0|W}QzL{V3rE%OZsX@}3!}qnNriG6$ml zr|kv${1vS!&X*NWzfq9m>(aO>wdFZ2a+!5*`D6F^2}_fbu+#vADqRTMB#I?GMKDqC zI+0FIA(}-wS&_Ze?sBBvQVm@w;U$9#`5E`3dtF!5))AuR88N@YfkaRk|dy?2CPaM!C@CDJb?}Xr% z4|BG!QsP1>Ul1Cnj8;1j`p9qg#wfJ_C5};#f+srz-*5wh6L3*@SMR;l<0w;>z;d^r zY7WOxBVBo|W&EUc4l33Cm@$&>SVz9Gue`Bmg z&$W~`$3y8O?Mos|MUrNQg(ohai|?3i`pJoT+j9vx&`*eXB=H;$l5$<;BT1M+b)>W@ zOBCkFccvrrB&u#n>s8$YZNkF>+ecQ(RS6rBo# z?p~#w0HBXW4&2l^pJyaJjLS9VEux+-G62bAs0NsNCr&7biXWyuKam)rKiT9c-{@d^ zrBBFVKz(dn{(RHtEYA&V7PihSK6vFzm$1eKuhy=WBUBNt-H-&9%4bQwLXz5n#WupI z>S-;t5rsELg8P$}w?8-A2e<_1NjKi1bRIi1ro|ZQ(H({*B*KX%2pE;;JKmLhA6hv9 z!Gx+QDwteU_1Mm9RUKDOts43gu-1_z2)oA8(_u%GdlmZ@c*L*BJwVVSAePL?+J_dH z#z$hg=z^newHgVx@D){~sMAK~QI4axl20czFZ(oqImCQH;x6mSQtY%0l_!JFo<>4W zWrbrnA<9(BB;?$rQfa4@skVAkc=bwi;k^8;>q+yC3pT%gY0|V_#Wny}@aY?HsaZr5 z_&!Yc_TWm@OX`V0ZRTnD)_yfk8OnXz8|m}v;oqq(XqT&M^#*&VFpkfkL%Vs$t|J1e zF6)1S{pOfmaA&jvzrqcIzt~@h$lC5GjM(Y6?&gBk>%^iRn3u;g?fDaZ=?Aj*A0&sI z5@~Me)dlUr=TsLkLZa9vIS`UW-%D$U$07FG+mWPkv$WD*yEyF);*nILmLXqpmbJf8 zFIYqtZCciGT^XV_)3ULII0Vr+aU`pQ2YmtBBDU3^D`|2U3w6+GC_bZCZ~V2en&Zb{ z=;~M1?%sM?VBPmfqFw}LlBubKX8d=e@+n652IiO>lIRVm@)Wgb&80=3P!8KO^4m1? zR7Q|N)UUpBo2SRsxv~wIxY*iIfirZ@9T<=qLA^k_vJhX7BHmpc$=kBZ^qW@n=SVfn zdDt(Y&(H8dOr9(q(>KzcGVFK1ZZwbF5JfhdUzoG5!p)6-qrMtM5F#dt7nS(}o%M;X zQJDR0_wyi(1Xq@~dR0;RhljFrLt=yy^FSIm zdH!vYr>y7jRmV7xh_Qd7ST8jQ)C`ts;Zcef_6@1U4FaiYMoR5S%a$Jv&+iQ0z?edH zbT(jdrcBa846=Pf2|_TFOJttdEt$AlZy@gMdCk@^;|AMz&)O6OcsGHXH$Z0o8B8?5 z!0c_I%ONX*Q&#b#>FsMW!tImQD~s&`3kR(izX%wqv>o-6D{ok<8^1+ExBWV(_Bi;l zC+b%9>f-B;*_xI_=&&`FH*yLdbCZN?=?*{cK9cv@bYBf)tKDqeq6EveW)t0zF4@ys zF|MIN*@u%v!^y~WuDYo#7OFH#6wY@>vFc=6tJd(wG(-PUMa)H#1oz{Fs_kJt*L^O5 zz6F<2PskPb9BfCc1`=zPZ0wHXPY6~w#=f4sdug1zb8RoS3AheIGM$ZBT|>Zepe5DQ zkx?@?Rid}2#XJXY7>E2`8!BZKw`N@zXa(#;Q|%;C?~4w$QkQsE`m~Bnl-ft3_24s! zy@1Rp@PDHw{Qi`Iw^D7umS91jNtHn9ws+t9H)=BJE_Ht*on3hbw{KCLlVs2=@UC~0 z=TP73pyR-+3rz3Egt{6XxmZ~;X4as?+*DrI>4*2Oil2fm4wBreyIh?`NL=p^= zTO_uf@L=DJBt!Qey#0@&Or`qAkKbtAmnr(Lh+FKdIV%y7BkJ2E?>M5U+|Y0@D_%zk z%uB%d5E3vPB(cO;v@#L3lAe%p{Hncis|jw1&PTRfNpe+%O-ldx1C6rDYM2ET6{ z(rCqVjF_mJ)uKj=0{vHSj(f>CzpH;OI;;GZOE~G#$t`_^S;4DJrG}GQmzUIpYE5$K z_DsY|S1HXV_38k-d+=y1i3_nCltw)QP)Px3or~Xf61RacF_W9;0U?&YJ7EALHW0I* zUbe+^7vN72K}M+v>kersZ^j+QmI z+2dZ8_I(k1WP+kd+1|=Z!h*?52tyJL5fAV6(+@*;iE)cHY3kjslCb~>zt0`E=!(QU zeKh~(8nXeiFqRnr1p)kzXm09JwH+9sBvwlVxQfRFG?e{s)yl8A^j%MtJ*rtygzxiy zN4*HBGhhmvO-K?@XMbzm+X%cHJD!k|#ioq&SB{uu&$yUnR->L$k2yRjTxqP^@dXpG z&MF^A8EkFgcpw)2b?^4+G?T`kFA_V)0pW9c z_qBr<@x`pYYKVv7)YCbiHb!i@_b+=SeVU8DRRY~aobqj*kr7x}1_qnMHVJ&2!>}^| zB2F5=OJUN=UsV)Z`7114BpafJ-O^s!D}|qZe5iyi?*~Q}+o}mB8h-mo81OG90KiXn z$+-V57aQFxe|!bwi)IHv(8D&V<8L|y*V_^$rd)85Y6jIP)gYFff`+D$PZcuHr24Aa z^}0_NNqj&M4Y(octmYlq!wDHkgaD5ycW>O~7piYb>}CuPM134^aWU#~`{S|`I5E%6 zFRf@=J8y6kep7kCEKVVE=#dbS7#^yMr+8O;0ISi!ONaZmsa~rhw#J_GlRA^BLoVu> z_j;E>s)~f9t)p}p7UAV|9I-8rC?1X;Nli$lH54B)xHE5o{A}MNkHw`#_-ZbG=vW-* zcZif*!MLH7fI?b8Asr6tNs?=`as+~NuD4!eCc_U^GE|B$?h@-aPUI0u-Wooh@X6T4 zP41leGqVHgEStMe>pVVt5iTcwDkW;-HcyY69ghx8Vb-V?%M3HkuNTd?&hp} z3<5?sWS%NN%%?dMk>01ZoJP3+ibtoi9@urS)V-u0zmH{rBDVZb8yFrSms{M=J(lWs zxN$?DvmPn;4*BTz0RB=zK8X3|xm&y;32s0kOtH3f3!#rfw}~G&ySW2@jw||iNe%vb z#`{yYa>WCq)~Z6>{n8P7XPLLLm~IBu4#)+xr=+s8@=oQb@Y05 zvc=qULEyd9t{bT!RB*j}WkJ%ranlr%SfKKm&{;i@6}ONaPBlaw+`aVpi4^ZQOFnv1 zy+MH~ckX&DP1c&$wuB@+!@c09iarCVwUyu`8uRSHod2d7%l?=s7D9o02XHA8%q!iNNPo@BX>s+}QN6}hrHtT?Ic@+$ z=x_&>7e~O8Lm($&$!6Fa{iLx<$HN1|FDy^_*ilp4XF}hp^+IWMwm~4`C@CS#ZwkvF zxQ9+LZ7@{|lp^WZoA-SKJbz0b=6TO~)q_`$-WRq?j&zanL|3z4^Xbj1N|oKXTi%#~ zn#CBn1CC2~4U()*Ax@e>2CvbQ$Dq5H-`N+{sgby9qFv608+zBQ&2(Mm9Gc0qA$e2x z0}k}mOkt%_mLOG%a;s4+^pxl6(bfY)fv;jkg?uMNDLyKAL?Lb;~I5$g97`QkX zQ2t%{{4b-IC{BIqSPVV(P0d{X%Pn>iADvACC=mx$Oh=>LNgPw$-$gSyt;b9fBc%zTZJ!k*Bl?P*sR06 z@6l9Vm7b&;yBuvVPI-c}F4|bDlOhmT^_8A`iV4Q*4F?Pdcg&-K(gp}fy5VceOE*8X z`lAuZ19d-M6H)UkYwV*(#K{bVSJ$d#V%A-}TFMj_I#NUBV{CF%8mJGN@{ZtkErO!T z`jsqO4-72ER!{qQM9Et3^*?)SINraB-3UwGHt-K&V!{$Fgw*XlJL~} ztjGnDbVHLEVqU^=71?#T#?l^PalEvCTKAlQQd$$l1nOjIBGKc)lBwYEMB#DBaQ# zY)AUHV$xHW=xg2^{*AvT3T_Xdx>MbWQs$&q13QsE#EJ#12|W)E7kVi z-X@NbGu%-K!UUM`$QZS*N#12Vi#BCdKS;?7%+iO64$O0@v8S$i!1kqlgUO%3HoeCa z^QH5g8_I zV3Rw+d%r^-`DN~?N9}VS6F<@OU5DL%4xIVWBsA{S9MX3Le*w_cyTO9!G}yre@5~@| zHDS1*Ad>Y|#?rRN0|jiw9S+yQs;2{=25*?JScLUmJ?$M!Quner?ukZ&HO)bOMx396mCjz2Ga#k?7;Wj%Vzhst%h1`vd&*td~U2sa0L za?yY`yW|9-M=}1zlM-6ho5&az!|QTKgs$_gn;e=yj`4O%e4!1(aVA~>(+g-_D5Q{j znH1SS&Gj8pa=VJ!suEv70^Y1@2H1EkqJBg{r1- z4{_epippk*SE?IzBnKVO*GK5eeY(5Eq{79}vWMG84^t2JnE;VG$J&mC4%bk5bI9RP zY9aa>)IrQ%c9i^1&8nI}M5z_TWw}NlN}P?M?e|PjbL7ACt8|9oO66JJr9su8WP~tv zKV*)|_8^@hf4nc4SMbs22$}_X+&C$@eYxdFmg}f8*u4esYmZ&m=I6x0z!q6M^&vp}q(})l(xboJ! zDnqDGS=zzR`bBPKQffM4((z-J;T0J#)eu0x@$Z6SKCKxCNhDJF_z2j9l}2f*6lCC> zy}W(*sUptPpHtT*&P4P)v;#Bj_#F2s@CQoY8xOMM=SBEEGjijF|>n#qbf(7z`BBc4IGuvm3(>d7o3mY4YZmg z&iyQLCyUnX(r>oc#^COTYq^*9#vK!lJamu`iTEqT$88@0Eb3n&z8VFoC%*~&5MMKv zsBa1)=MXwO6ifCa*0cy#5|Obo2@6;H^c#wgj~VgA<%k@BKD|?sVOu(x(*#`eZu^$* zuuMsafzTack`EcQts6*}Ig2+G@4)het5-RXHg1H*hs{~<)z=jU?)lE{*2#t_IT#pM z6`)2H;er(&4+M!IcZ)RfCob4oIzyYZJkm;8b-9z2bM*8|bZE~@%KPbhnZLJ%uswYL z>t z1?tM}-@acuJ`Yo)A@D|)B?v(_pjF;MjKawtBzj3{Y34}mSpZxnhb8UMNdt=WLD`s_Hjph)=)RO3%G$I9SJDtb)da{CCRFArmN)A05sg# zIrXklHIL+@T@@`bpzk?kTI-`P-vewql_(sj(S{{jfHMapfhLySJ(cmwru}ng*`AP` zHvE#>Esh?E+ve}^pbugR^=9aUrW8qRY;Zf_<%u*6Yill-boadL-4b;-DpYxG zQj$@oZjW!pZTTa1zR{I#dX}ZEB3CLXn$X_CDeINr1VlJl_DEO@Myz-9U61~ryu8ZW zFxDOv)lFsxc6svR4(yg>!bvl|{d?aWgZ+SI7bM`mc#m?Bx2hm`$wy+{lxMLPE_x=> zf9$u2`V-NP&SL(;WD6b72M>zkTW{>89mUOLT_Ne@&v;s_wbzc;O)Oh>VKpDk)r_h5 zA_$rztk+bK%55SgSH*<&6Oz*$Kibf+&Eor-U7s#}zrCEEDgeKWdha;6eidhWDRK}& zBr1>Wz$m5^13K^K@N-%kMXP&d2WI-q(F?JfhsnTnfPG$EJIxCbKFMElt+)OX>1So; zYkesA zP#eEFvNWqTzbi`w;igUuD3l39^YGub%Qeb~o@W{z`3aYM#HK8*Il>0>mpB9miP_XW zva~jsBh&@1( ziMAa$C8qWC*7-sU)A2aCQY>op?!P0DFr-dWSm@Y+=8dQ;qu&YK-uq_Cj1CH z)v2(9Fe%z1R$3@GKN9Gx_%kN)*%`^lkGKMob>Vl2XSQSTBBg4lN(8?xll7j=7|RFo zScWx@MGAM6s%)Ob4X4xkniG`UTmuhOmVN!@R{6fVHgy%NcC&G2BSEdRU=E5h8xxV(s40seLBZDKV--h+}FfNRH~}P@_AtP^?RaSa#Zu?F1aO^{y60&$V8!<)?Ye!_#hzxju8cZT73kMmGEZ)`z+I)s1OxF?aFPL~=%U$JEK<-0&4g{SBSo zK6&pAcE&x2(JP|5 zI!-OJUkTi+)!nU`V*Mwarcdk8M}jre0&5elxLr)3G>s;<<4+)55RjZ{OX5f(IS!m+ z{N?`AFx!x@1FOQeHZQHqM69jU$a_ZhGq05n)W!14Uq8t{rRGu5BOjHGH7cJUc^@QC(Z!5|eZEG{!1;wM ziH1Zn>_*g`B$ltGKK3zNmA9XA%`7t2|LUyX|UC#L2lap$# zvHYk^&6|hz;-=R4AXHne&v)w40(*~uhpT*c7gG$9MtynZA>f8Wv*|q(a0sxe%+gte znpMR&%T`$SdRAXWotEtOWCzt)mt+^ogEt$l29skhnX6)dK%`aX{zeSoMgn^xwo&K)^E zX`j&wKOye1^?)I(?sj^KR@-sV!}eK%z-50) z@*aHmDRK;+7D*S-1(@K+e3+0UJAI8U1_H^r`2PE?i@| zgDTKPj)W>m6Uzkdm9$q&Uvlly#yyn|&Nde!hVtKipR+l{>nxfR{e85n)56D8?j4Mt z2RKM9Gt_z!Em1V=(WpBrGxSp;%W3lzdm9GCQB7yDggkLpFtFGW$jjvZnT*yAD8l|} zeXLQz)P3&?1<$m7#Xi%z39J{X1hC(*KcgMbr0qAw9WzNZ?T%7)%RKUJtYNcJ;=POQ z-qoh4;nCoZttU3m1zZlf79b?CP0d*q*ibYhiM4sMGCX#io0obf+08#Nu1hK%d(&>D z1^!68^7i^Kg-gM#7h&{B#4R!GOn$5BFst=!-JF=OncQz_h4p%`k%3di-Q@Uw)w2@MsO_Vn8Ro;zL#3VS zX-qLxQ`$R(b9XqhET77=(3Z&wndrQ{?T%X-QL6Cu7qM^^;xoMU@bHBh1{L8CO*+3w z8UPWev&4XrcrmQ>ZwItb;p$likBw_3=w}r=8i~lj$6q*gWZ%r@UWqjSey8EU=xTby zXREifN?Xs5%x;RD6o8YzCeohxcUQHLrOq9GH_>RO+y9gDPP{>WOB$H`Ilceh!YYb# zi2fO*a@ry?qrU*}(>!V35YDY!U>}k%2Y0Pa_Bq}AjvJCkCd@$AB-SYq@Mn5jQ4Aq# zLW7V#eel2y-Jf2w*DVaG<>oj1gH4SmB8(DQJqGM5eO{ES zJzms$xhcioadB}O;vCe`0)S6JxOuZsJ%K!)lYx!nx4x&@^-&G@J(P~fDnMyz&|e$Q|YhGN~}p*0BZJ8YHjOK1A$YHFh$=QWR9j#P!= zk5?Sz!q~xR=Sj+O^>9Mn}bZ0pgNFyFmU8jExtKu#oyEZV$FAFo1ac8rh6{?7C1=U z4Y!rtd&aNoE!*fB_&`TA+K-UMT&y@FcD=(;i1ilo*1H7G*#L)G*P4qzN=iL(iZgW; zNiH#0_9Z+#UY_}or%8Abxv)i~%owc9Q7ox9Nonnq&{6fGX&Q)!&3WRFbMI^8lRR95 ze*cL6^CZ7q+ksLp!|OhN+kkvy3ZT8McOWL4#>3f8WKhOYA9Q$#Uu&i(xyAIwlG|uc zmQ>yfu2Z2g?Id{tYs;EsLm0i%Tibrh7+a>N@fpQU9ixwSRJ(^;l&;egQ(z4_$ak&`^xfzA3Mry0z$tzUz)>)NW* z-OSh~8=a$psvYSmD6NUaJQP{u_fJDqQHJNm0Zl2%WZ#v%_mUfD;IF`zJ$#fh^Ly2l zL&R!Ep3R5-zQ~q* z;S^2PS#~oLfayO}2t%8_5l_+Ks6PJ^m&)KTVo#-5k#E-XC!{nyc;k zXql~gNL}L32QUO+r+A=AK%A{(r@98lg|wUBxT>+NYK0B z*?X+;K=#Mefrs&KSVAWJ?ck~!W$!S^{Xd9nkuWc&O(TWAb*qP?`1`89=f3$8p`tC% zkGW&=%t})@C`KjI1a>=%sFygJMSe)D+QdesWr?q?dS|tyxVyWMQ8ug9v3c)~yIvF7 zfmyxlzDO(Tt2dhZa(!-PGnRrX%n`W}aV5a)$VMKFzOiw(Xa}}uHZj8;xe`fd52moAzWMOM?Y<0-~3LEy~k1u}`2qkWDdMgK@wpk-6#^GBD` z=;HRO0wu#P5vG;nEnau|55KcD6#mJKt^zOwBM_Q|#5SElOHF4%#+wE>A^4f^{<`>dY7rGI(eKtZTl!rNop`U9dyCfpN$%~OI*fPN&oRo^{uc1a^( zAP75A_jD!{HY*qe_sEv?4LanDNX3qRrEic2pbW|x`e2v5(G)VGJ1@{%*B?<6BH>m_a~pEG@L zG$C>H6WHx*N}mA9E?Y<9<^|*5wT{!oFJ8s_zj(E>G*`&g9vgd@VB_c52Zo@Hxb~2$ zMq!{Htt8&Mo!8J2xvDg;Qs6Lnmt+1aUqb#@S0;)Tt_43VLzaf_Q;e1-#dHq3Td5;> zs|@Or>Gr{w0#Zj-em<{y`MkL<@$>EdO$%XX;8EM&V6ez^((ewu5crwZVPc9QDI6d1 zQ)yaoB)DW{Fj}CJe&LC=VGJR&S!y;;T$5rz2D>bwZMcrC1aLwUUYQuO01kdevqyZF z4AOpInq*YTtEb>DRUgjcyw3(<99F3@m9=6(xkFW=g&{mAV<-1xlVxzq(V?W_OC+L$ri^h2lszGIfJOi6W6dq6p9hWlD>a-atEf}I2uI8 zQZ^R0Y{9-w( zkWKJnl5)b+dyvS~dOBacp}e1Is_*0*bFa1P0V-ESj4ZAZkzx92EyfX654le-ZW2kCNBZg4*KA@9IE;i91mStcNNABenFkFLf;~ZTnTJ{{$k6;zY7!d zaXesT6ka&zc-S&OGG4(&eNF(?K0;fyfl{XKKJdm!LA9K`1L~eyy*6|GuJEOv{So^Y zgq5XLD(_rPNl@L+v9(i*d;tTh&@$hq>IVNv~w~@}1(uh>z40 zg+_b_-Yu2+#5UvvdrmCciZKJu@in|OoZtKmsQzF1z`ufHbQCf-tq9@rj(!Z+;SF}A zoUqN7ukA(`v5NzDb2$D9T7!?JpTcxy ziucxAPECqA|q4u{EqK0u(#6 z7Ok=vIP8~MZzTms2BVaY`8)8gPR9j>GTd5uWgUGZ!YxAb%<>WZ=g6dre(cQ`s&ozs zQVTh@Pe%&Vmu7|FKr`e$oqhN1L=Wm{Ka=f|V;bWZL(hfC*LR*J#x7DK^-S@x%X;u00!RUr2u|BeBDLE*SpT`@*zv=opSv`vl77nQy=1zD5Ko-sq2xeZ z8J19ve{0&#J*qJ!^iTrgdh58X!&UnZ`_|zqo83Ie)1FHoT~49fRFt>d&2(h~^to3R z`5CAX)dB*GH?th=H5jWj@RJl#(qPjQcM>nBwQ)`FtrDe`91T0q6#KGtTTDNB+BjNu z<8?rsj4`c(qD1eUkUUsnJe|*{5j?5V;==NhI8LPxf$Qm+%3vKmaH^z z^3Xl&#S-wo=ODZ}fhD9Os%2UxN0yrrJXjB~leh!B3E5Bm%ImK+4?g?#r>bAWh;WWk zP_F+TRJ4+=9LwB7GIKDFk9JF1gVAvy27HKl%&1 zD3>3VYIyYNOf$A9+Ak$@2lh>m-;8x*m6%9AL@Uq+xhiuuiF?(hG|;&d!Uij4fAhe5 zR(dwyM;t}?REV@A6P$&&tvC7ffRe2mE4H9LH+Z8rrms;BdPae{9l$1P3(P2|o9Jv` zNLwLvIvhz>JzbfRtn_+nLa% zSCuULdDdl|z+HVpxBSG$Y`~aNQq4RK_38m44bA}8U7{r(lKS1QENDk>p^No3NZ;LCQc<7|AuV-WAN&rt?&@6g#N; z)6AtRV#%wK$^f(R8y8n4*{lz9r}45&G8iftwj*o`vbkrw30W&B&^H!ni9zdwLn)@i zN-d^?Xqjozq&bf?Kidq4!qkM>mJ=T(RpsClvig>B42L)z|B%f%&N=BjnOJYQzZm8i4x%TzWpmHj z>(QdXki15gd9Rkuc*h|tghKCdN2!Y|)z+)0XO^AVcPL^VtF0ROzB*Gghf-=S2c7H| z{xu277_4wmQ0U#rI3#dpCT-RBmHoIoM!HYUt@Kxv(&~+xhFbi)2>oFu-=L484=Cr( zhg@a|Cs=Pj15Q*fa~~}hPbk2GUn#_66cBG4W1VLvnW6ma=e=_y=Pq;!YyZfc9v%op zw>vBudud8Q)|=quX$M6aGdjs#jJ{2BB@d7ya*6_D+sX_D(jw>jC)WE+xjz3KJs*E7 zZnetU24j;W%sM}UF9R@NkEZZ~^S3&ZsH}>$He5tj75-s1u_nsD?6u*PgKepz^3AGu zRYFoRRmBzjQ5CN~M|wYvOt^B94hFyJP~$=RL{EcyJ=1`pQ9d&Vq8vc!NAYp9_VlYyF8}~L1~n8m==r{bc%>Ip%0S8-=+sv zRBpVg+0c$%4$AtSqJ6tmB0lkR%WKw?0$U*@OFDZYX>i(<$}0qpS%1jMR)7oYz{je7 zWoD7TD?Nu%)9@Krxd4Uz|K zoF=F6kI!+24XrztUf$ZjEuz+`4(yfWQ1gM$T30r-oxe)A*NxP7xzgH8r{i-S)gG_yGRz zGF+*O|IcPhe=@k)sSq5ACzfVMlc&|Ct%0D4hYkB(xi|C%cBhvvm%jtE__F~&Pie=u zHv2`{FCu#{0YAfB29Va+^k%GywF8xUKJ~i+RU(}gCXSdFJ=0f4e^hC`Rk;IeS;Z6H zA~zj=Vu{a*yDm!J4RBJU*rxxFy*CesGHn0GM=B(HC}Ju~Wh+_AHf>0kCVL@cSBeSQMvNhAh8Z+&X7OG<-{*b4&-NbQj?M&j$i#6R$-ii z3=Q0?GHIR+8Y)^&!_ytXSA0 z$3YnXZ(c6z-#+J2kZ+iKsdB)<{=d8+?%zy|@Y)>wor$f@!P+`l^F?DmYwKWb9jvW` zwRNx-7yY}iZ!Iy66UqGLHu*xB*XAVaK)k5>2G{ytqt6 zhuZNP8D-Javd03nc5ae>(8t)jPG9vspc6R3B=W*Yoadpdu&6Aav{*A~1+?4E-xlNT z4?28r?IUaBvStixi)76+thvLrZDMV2Tnh-+0;RR+a4l+HOBMbjKiY3;+ThCI<#HoO z0B^@^)U4g@ty*j?hL=99`y1(}p2sT8WfXwY!mw^8yaH_EieDz~lP{T9)v^l9+{9^) z;GX5~1XnHassNlZQx4WjyaY)p zIpxI6zBIUc{@u}rH}=$cSA;8(ak0D~-NmC(+a~$DI26OyFAK&`0|}>L-xu~SsA_&) zu^oS~m;cn6wGi39VrdnIGtEP!mMXXgg-Lp7EEd`fm&Pd3P!cEhPgTwm-QATm z&fPh8CcdV*S&RSf)Y0v-DP}216t2#a*gufa#HW626h!}pcLZyFr z13hW3(O_;?6o9;kols>^bfd$*kC%_;^XyKa&V3MdG4fIoQAPRfJAn!7KMzvP6X61W zvd8e!xu}Rbc)!yqF0z!Y;ED=0M@e7YHC6cnkn=fgcUPzP8#V-G#w~F6wuK?0Nb<(w z&>RZ`sPM!>2vR;tT`r97pGkVRa(|?aPJa5~Yv!z_yU{N6KVJ9zSP3bl$6zYsPKc}I z@mET2-xhVOzpmJ9%mI&J_bO_9YgYR8R^^PRR}O3y6*aom6?O4)Wys!%blsEBq~s-n zYHzg^8ogOJ0X}{4idBR36|`@GhDi2zpDk~1+J^TCbZz1D11tWm!$IeMtDcJZXRoZb zZTGnh$vL5Y3%>|opjbw^ly9av|gyu;xs}K0~d%f-Vd485A6y+-{n8(+S+RB{Ce_riqeDFn5!GQbUmTFt)m;+%z&NzoJJ0%)glft{TZ{ zAjn|0K`BIzGV_P3Pd?;r^S(>d?OdXiPt=bLj?6A%Bq^i4n&*!y|!Xs2JNUZzjW zM(&Z%x^_0Re$Ea38yvX7CO@wcA(?{6?VY~0Oqh#|Ql zq|kaSIR>8I;#WXv%SKnY5{^ZjxzK05`LWP~5@K*awjHeqFqX&uOu{txHnJ~|x3%OX zua*apY+<9^3QbmW3Vwz(Lms-(Kai6cgJCaCj13@_FH(@xn?GL`Znq6M5NmPS%r7n^ zNG%WyOY-=G{Y|BM4hey}w@Qg212(>gZ4+)9@cnHn*LH{hhc-vu|Gv>5rp9&Z)T6bg z&pMhqEvnt4TRww_p}F@+%}Imq!z4C9PHPkQW{9{5^G@8w{T@Pa1s%rK;M2)~g3M8t z6F##F`&Erw5hs2f z$cwzV@uJ&8fu6Y0(J3T(F4g;Y1y8VpZG#cxJ|%gQB{;_+E@*SUG`YkR{l54{!?^91 zf933m#oaigq>k3no$}-Rx40!7&Jc3}UUeS;iSGdT+kPfL_zOVBKb0-&abz^lKxUcP zhE-UxX(9uDzPg74-;iEi>B7pCed1>*pI_rCX1o{tl0{}yIVC{oO|3t zj1hx8(h_k;;l%LLBg`@P*LAd8%ccu>@f6V@FNIOy$WZRFVXR9m>a=QZSex^9Rzt9;l$D1`aMVdpBr1}HT>eSCNAY8UPu5Ey7+ zIWY9-X5h6XI2WxW^_}mHKN)_ZV$Brn^0@TQ)ukb4s>rEn?~YK#<$%YgT_qxkt%UrV zO;c3HIU=4Ut63w#8{$bYta2G24i_JGS{m8*-nrwF4kBE8fxx6+P(Q^o40y%icZ*bJ(2C_@~tcP70gR_ z2Rz&%zV*O(@-R?5^P>?WiP(eFI9bjKrdUJ$k=I=uA)i-67hS8~8|+Ml@=r+o^m}&O z!Qk1=qX=Lu*HIC=fNam$7(GA}dAbVo46R?8&CE8@9p+uV>sNhh*;RDR22C6g6LTJd zym=y@dtNha2DnvB=_|dih^NaIV?H8rSqGg!4>oaPv`N1lp9c|ayQ`1nh$vZAR;D^R zNhgjwU2us!brPR^OO6(B@W-tuZP*XExt6_4}4j#i+Vt&rOoVYSx2M2QA*$tQ9F7euEHKPur?Q5$wafE;+^ELe73b@Yz7C zV0?QQyQ?VL7PpJq`c(57=JlQR9}M{`F4rl3V6W%sGdyP8nH8*YhBPY?{s?nq7%qbR zESiSFG*)*N@H(^)Sefbx?d(gq({73R#Yh11dx>l~=PI7n$Uro;p<3pldk)=(I>Yg= zoCmCu-wFlqsZ7!_6)!)~_Rjs7K}#$40XG?eqJ{^EWBU-|i0eidwGk4S8;qJf8N7$| z$EL>H)3WtHvx~KD-^WUQJ!${+EuCK_3dY?J1_FnxJH|n=127s8nMNA$Zg7P&$0Hf! zhJw*pnYzWvf|nJ^=7akO-ZpLtH1i@J*{!D}W2)+GJ>$vt!yv&Iyuj>&xL`nfdML(a zuRPP&eaD>0UHWu7?WAc-epUAU85GexvVQU3=57Km%<6Xfq2j!IiDgdEZJ-Gud^gl>;N3eQGt0uog?)(P;4QjoyNM38oy z@j_F?$cEoZ(f8jt?e3gPmdx(I|0e6EP3umx$bfYM&#Vp;F99a0Et)NIKxt?R@GCIR zA|)Y@1`3dfLo}X);MPn-%AGT;j?;3qLYeJ>SX8oT)AHTSYx`k$&p~viEbBS68$=^@ z+YR~H`=|7K(?;o1Exr2Pv&k&a-qxZ7`O=Gq3tNMW-H(-BRVQ1CirfcRsQh8qzTSaw zS9S3Yz|)PDbgMML=bHx&DQ#Pm$@84h1^w6%OVDdR5@bBaB^v8^gKk?u6;*MZTVSkD zx$pyH!id1*BXH#f1#T6o)2$YMJIy45GT>T|e9_)i?F)MB; zPizvmiL=ekU24dSQd+(aCvoQZ_$;b?`7AwIKKR12y*&Jq4Pw_KiQ+f>qJkrlWy^hf zt*0E~;U0Y{Y{}-PV(&1$w_{O+v1R`8v$}z45c@sx8-fxsisDGl@iv`!iRK?gHWOk} zCmPhP>x~u5JN-2`I!#u{W~TlqIZ$-x97_I_Rrlj0c^RYWXHBsCIQnPClM@UNj`V$& zDfH%!r9lHvnK?!dM^&49zM9eXdE4|rF!kisWu!qpYPP8Yz-V} zN3>-m4_m#+0wR|knBzs>ayS;oTDQzF%<@Nt-sa6!gDHudw8D;N32Y@wfR1XEbzj~H zobJxv!7+u@^V-~oNntl9ZGY)5P@I=5)juY-RXu|*AxPJE#f11YMm1s2-d3IWW6eVi zfWJtOKEMaHwl_nF&S(dfw^)LdmU#TGnunp zDi^c2vO_(Sp`P>t9z(o?er)E|US3p$|H7|$ZcytJGq^NYHMZK}A?F}4*ioQi_?ztv z-KPCY5p{FoP{@lQ_aHsx!C0M98u=2I*8*uBLB@ZU z)ued^Z&NnY4p)%{ShC-?R|5v)Ts9hgpQQrfM=WqriV7$h4uZ+UYlM!tXzc0NPAXof zXOi&tE5E+90w;|wGO9{W3Upu0b^;r1H++F;mDnZ!ebuN?YSAw zdl<>~`5o1d4(_CmT^+NTc~EsqU=sh3bP13(2GCPRPTe8(DUHVE4imNy5%jDW)M)i* zSV*LPtB0_}rxr!$3ekh#x)8$&$aggrx7ePT3(2eq#!p2RCZbM3e`H)iZe`5)O8{|p zS8rR=nXHqT3irFq$M#MHM}2{IGl)FFFYH|y#}1sA1&N|`7J5`8Q-#0SVW^igDJzrg z=X&v7!r-;U<{_-tEt^*kv}$|5c_2kp{%-dUo-wcKo<=b6J-@k+jMaHm^_LgW5hM1I zBfSjSaE}^Wqq2wbfmol;9iz8?G;aU-s6Iq`ARwMtuL+o=t2@R$pIqoeE2>P1}N3jM1+_kXm za=}!jdSj(Vo_LJX)}RD4yoA}O%~;F)tw;9rePk-}HvM|QzQ}9CYCxLoJCJ=>v+=If zoq7+eEpnWWxdmnqX^gVlqB1j8ydDReTh`7RoaPb!BF{FL+|3p)9M-ztb{Z7rU{h~URYp7oRz<(o4Yx13n&ylvVSs-V4%ni@~S!_ zIxS5fULLFcqEi5^tEu2t{>eNZQ5mOjvXBQ$f*V$#O%}O`_BJc7>HTe}a;mr$pn z9m(W_kHp&ci$w3lVrThUC?px<17N#4gd5J4lYLmD&HGN0(&Pzq>^ijHYvaWmQ(c;K zJ>HsmS@mZg+$Z=|h~08~!qY);YtT(9!%jr37NJP;AOw*ZX9+?OwyVK$u5mQ*HS~6< z@kTkpwkv!7vJ4!_5@2cOSb;*u)bZ zFy9cDh1sUzZ;@9bZ+)Bj?rhfH(;;sI3|_q5^rjBn>I-P(-vAZ|bs*UR_-_7-ydlP5 zdrFQ|QvfTF9$>!S$vH4UqG?CnXks1xDEv6C&JWaXeJp?wF_B_W2hKr){h1!M_fU~K zPEOiFQb=d_)H7lu`&;vI(bue%Q#nT#9{l=^;BE3}TVbTQnbq6a2v3B7KaqYPzaDd> zb5X$u+h#=S_ZPlnt9&u_aAVpjcE{|AzTTg6sn_|f+m^E0mh#Ek9pkC6u7wAa;L8rR zX$QUz(&kX_8B*_kU9eR21Vui*A-vvDiD8%7+C~4j4a8=#81>38b)+Q;o~NsuYc%t6 z#YMCMZv@_^+Wv;$;rJhPC4n0NVx8mC%V8T0v&q@m^hxBre90=TkO{Omj*|}T1V?$* zqfxNc9-hi9={q4C8~2MaFJBElF^`)xB^~x9b;GlYU(fK)*V);3dR5xL(!q`;K*;mI1zC4)i**#t1wV#;3R@&ADP9IQE9@j0Mzu) zd<4f5c6Z356MtyR*_xwf9SvWEuYKd%IIdaG+L~GO6l?x*ZC6;^UDslYwMc3$eq4*1 z*K&om4C(*vOmm7$T7@ONTZJ*T`AV4Q?%YC~_Slx2IQ6LhP^Gs_I7^${+LQOz%j^PE zWR&XSLs1B_$?6l`U~yEg^6$YjUm#L9v6Ez@t+_1HzY6O`ufi60B9l9CdB|)SZnc-E z;*0Cn>m-@|rY?&N;d%oRi%Q7nvdHPQDP-2l1SfnB@vEA!B9XBf=q?3q+IRD4`{7sr z1L388N6G7gB%>(3)kj9)o2FIFm?mM(X?HUYhD`4XKPsO|8Q!k=!(JV>#nxo)=l_Q> z@cPG+k>*RFC_p;RJ@${7apWJ&_)|WhX{Q28Mt?B{^52<)-hY?^#fu#9LTTxKC?jj<4WjOOX;6pmGIWs^WvTH!^3=pUWqxKOC^zJVy~w z-UJ)tfSQ+pD93|I#?z}0vK=@^3}jS|6xEt_e@?XJ)!S%`ZCHD@ssW-s>NbD4NDSt~ zdh88sFK(T&0J?%TR{aN?_tf%H;Pxj0h+}uUE z_}&dE3L)x-_JUGdwD#OOv_`#;#f9$KDCVTyqYP<-_*`AtV8T=?-gpnruU?brV(OH_)hLH!8x>BR!aXv=^6< z-uiy6w~DVfdW-wl4W;{{4FWEWhyiKzx{ZJ6d^dCUF*O_E!cbLh`hgydwAT`LCxaC6 zn^5kpfBU4KzPb1#vvE^?U+Y6EzEXj;M8F9fdXr;LoTLH`5U$yos-$fZ_1wFoH+?aE zg=#5q?wDby9b$Ok7rUQ?qKXe#tC}lj4!hjaNQ|RtC0E=qzQ?Imyv|P}^)2v(+}IYp zA4ma=2{Ui_L31Sc1?|DvUJD?lqVcNy1-9c|Su-Z-p;Mjwa*07}wynHZQ7ys-P2dR% zvpr1QXk-b@j$X_*rfS2=@2>tI-q@|(ysp<%sLejg#6ZLN=A!zj*c91-9sBtDr9UEA zM!moB0FhirB9-a%MBHQ*lSh2kbq^gXedep7<`!=p7h@aYuWSdXKqISH!RHit{)J^QDCan_5|2o znAXn;^*{8c>GCZlwM&+jd&8**9?9^>yZAb&xZoxmpQ9wb9!nJZ~PQzI!)zLPKc9nkPi|Goo@Nx>#ME8fjn4Lc~O@ zw_CR6#~P+wGQ!;@EPYxm{567`sbGupJ^?*7V%?wxZ36C)}kSWWA0vhyW zM$dGpX-Mjdhkv}XCAduNajiRc{9FD}ggVI+2dTj6N^BMEH|#dqsQ=H_>r9+ z%PlJS?Cbx*_3#h*t+5p^c5TG%eIiFVxOM-#Iz$GXVRs!1$JMKVL%*47$mP{^rDnun z>r_(ef{@PPe0!HIwNENb)*ave2C#pw!#~A3g0Ze0+Q-}oO70u3L5Ul){FNiKUdMV~ z&5qmg(6hXlZas_FGQ%PwBQwOvtFSmAzNbZns_2H zZe!$GGvRh=7J+tcgydk1o65ckUSghamv8WLZpz~* z0~FFT+#?*L3&~h4aA@Uq003eRP^=cUE*WiOI}Gp!*#(4_lG&LSMc0G#0AK=e-=PVB zkaTb595?6=jw^)>InN#dt`@krR$G568wO4lSN4$Bzk$7s+Pn7i|NR*J^AXSk*_E;t zhiTEUKU^G$l{q-?q3ZmK=5O!C3^5?|@wa{ZzYO7499TBoLSsX06GGMptBWN&c3ofj zDp6MbwpF>js{FQaouS!Sg6@7%u^mCJCtzl6cF<^`v)R_q+I(zo05Aywj7KNYw;IJD z4wLGs0?;p8^9{XGcesK8u$Y{9N=qrlkMx9B+M4rz7fCLH4rhMH1RyDQpd1@xgv&{< z24}7DU-U~qjc1?n6rS~${A?al{oIVlm>$QsC$qsG!OmL95E}xA#?WCL>s^uoam#f8 z{@dpa-7@mLkK?G4O{ z0*u)=f4JB$S^atPojK9mT^5GZ9c@w%GDx{+<3URmJC-~C!o?c~vLz>z&Y44J479j)}MYGGY7PtgACSB1HKE9OcK z1u_G^u#%fqqks`(P-}^BG`tomrB*HNTVAuhhKY^kW(K}Ck$V_><+7UhqmJ`7^uaJ# z5x+FF{7)}EIY&1FUv-I_i|`(_pt*iz78}Veor5fJ{%@u#9uHV-Nq*wehBA1NFH~Lp z)+fvEf~0tE{1iT!s%c4n(w5v z4R?$r$=fQtojES!nS+V%ooLCBp4S1<(mz{hqRHAn|6$3l4ah(Fu(bhM8<4+kXlur> zW(;e_fV~4K>i+G%dGUQ|YVSJRn8hahe{4h?TSQLxP9fju|3fWx@=q-lG$MBXXUP3u zmdd`DwNCX)5^bZt6gc6QH#h@flI#3Z_g6YTe)KH0;jgGDkRRwtGl3c0zqj_UwUJn} ziT|ZbVdLO4Ezf}6ANnick}{?kGHmpOTN1%P{=Cv!Fy z=h;(v#~ct0IavK)3N1BdMcintwiltOX^u|L7M3UQdsYrJxD(07DD}CmJLPEu^%BZx zA8K>8!#TDLs91rl$`d{?vecvtFKLP`7=?`MH0OBTdXIHKT`=2@Q}vB!>2{AASZnh! zMWlZLJ)uqL1y&5yLL&tuHfNXvz~>ffQ%=8f!C15M(@~8+16$LJaffX?UjUUlQZx|P zib+?3WJmjb_VjR6@9%kmx#7N$AuG<9CWf_l&8Ke^+!bUP7qu6h53#+0H1VTqH}+{B znE;weuOr30?H&Ci>I(E*Y)NJB9khmaGoSCTxAWP6ZTG9hEEX2x zW8{p!XAT9AAR$K?DJ1Ud)RVyEROC}70}a{UiM}5q#i}ZY+c1A8(GC(dm7H}v3TjRjC`MQlWm+w1#hl_!Bl6&}Aj5m{ATiM%aEdt$M z7}oM~MSmYVfV*M-y3J6nJow$sGYY46pNTJ|rUi+$-TQO=^_L&wRVbcqjJXaWhUbJh zN1+tjK!Lm|vn>lbspl6aK^@p}ywfBEYolzH;lG7%^v*w=^dR55N`u1^3rql$9Kz$D z=1KQxC-;)BOXcYXXE~SDDa))JFU4!mC+?LV-SoK>Ub6v)weN6AZnR$aizLk3;Y|`T zv{8~HMEDE8(3&|pFuFijzW$2Rx6P&X=B>_;6D~m4`5+X)GU~wjs+-&((FA(SSd8x6 ziwgm)?{S`@ljV%GOSrUvoGpCw*?+HcDNP4OTp%Pb&Ffl)!K-(&ji6nphQD)=Z=I$d zw;kBC*KnLK`)2h_q!vB+xu*2eQk^xVj0A|^SZb+96Dfq^5LqnzLthT;9YNTiWeqR0e z$3uv#AJ6cQn^e819%T^s|1l&FR@7e%=?JzRE`ak?z&RFw*ItFi+`Shz7M5LE*>mgtnSwytP@K_ zaF@b-wLXpVqYztc_)PA?#V`URgea`>H{MoA?)%U$tP-ibbCG@X_;Q8AZ8h6HPB7oQ z{K`S9bHsrOp3pbKyDg3$;nhf{S$&Nf^Hs^RenrHcZLZ!gR1YpkbtP{)ddZZ}#4t2Q z;wU_|^lvtRbjQ|{ip9C*HF~7F&`}quS|{zQ0t>d8YjSG^s>FxeIj=QwcgEwPz3<)O zAdI((%l8{#V#3}-82{#{i-AAmkMh`N| zN4qXGxGFF;vT5P2-EB$^F}&Gh;b)$YmR;q2gELMLpuPB+-;CK`Bkct= zCu=Fl&pP&XRW)O9(Gednxw)j&qWntKk!u%P-)y_F3C4;1Tfw-dkAa*qABD^C>W2<; zt9^CS)D0SjqTjNp7s&6?cjLKyCGXtNn=Z{Z#1KPdj zfG4RB$N*S*X+XzA?JrBI&h=N%Bq#bB;Q~r44tvD7jSusWMEzN(s{Kk_g0Z&6A8|*| z3mk(x7$L=MZXBgupg)ZDjc4sVOF1?b#jN}@f_;!GTN2$e3ZF@2I~ybKEc_3__yjBqv!ohMj*rQ}1HoAm960?mA9L`^V!|0!xK4Nd|RO7 z6Q&!AWA9Ur|8yUdp2$LRw#(*1N;JJDayasxO1-HnjSw;QI; zID5VpWK8150Ink=ewH10_;HROb19mRZKG)hJ32hVpd^$eT092;abctzf~8hJ)VkiTc}`j73AyQu?x0o;-7M(cs= zaU>A)xS=*q;TUJZsev+BMGPxkMCI@BG^QV|C7RHbDw_D_llqhMUE^^l0(hDbdn`BrWLN+it_l^p^{|3q&8F#Kk%a zqYWC2WlKK9vF1L#*lj+meDIK|xRCh|A-nn7&mQNADI}j8xQ0mFRXBSSl(!1ADBR0G zNE&`YWyEp(xKCDLsP|wSpl)=&o*EEYN)ly*k~Jmdb;g{d*#PQQIyYHXDQw z-Uz%DxC%QB!c7sZ4tkDthZ~6idsHk=cp|E+(N%%56ft{eYAp8J1z*I-wMdnuWz)S* zx5GCG@!yVrd>5EJY8_gSCv45$Z4C|q_#olSB7_z~guTrG<`knlqrodFi8*4xzB=7# z`Y>ZG#;fCMsqGwWIgR!3j}=~<;|Clp;hf7flqfgZ7HafR)JUcWXmT@)e_6+39iHYN zHvb8KFTtI=j4#IdphR$Wp!;a}1*u%7jBSV}3}Z`1S78TdUVktDwUpGugI82lggunW zo7m?2Y9H@$v!`9CM$=6ge?8-@T@*urA9) z*nKix1+2P<4F4RC^guo09l2Kh%6*go=2S@;b7M+?A1_`fE>Z2A#Z9eSG*e+o5 zo_;>n8}q=D9f_;1m8ySBgj|0grO3I!#T#q=Dnh$iLcfOxNWvGV z{episR=}QRk~k)_xT;{DO{S=d(%=mME1I2i>W~~db0DVkVDID&-mCqDk26nSsE~NpHblm?Hnb9-ZXnVP1*gsyC*YeI@Llo2|f0nUHtMSeg185$!5Wu zzs3;7NPsJm;I$LpohNd(_^|*@DXL~i%c#1ek8EAKSW#tCorB5MQ>3gJMsc~9brWAhHvLojud_z1OPd*=*ZbUv zx)hmM8z_;IXnyT{-v?i=@ zvC<;|vr;L4G%W}e3Bo&>aO&@QCdZVdybANygm(KU&%oJxn?|XWyym1zk7fmwZJY?a zcIC!9*W$j|*A~&aw(YeUhvoS!2ViaqvWqILPHr0J7TX(F2e5P=a4^j!i9Iifp1AeZ z^0~)G*#6Z~25Efj?Rl5?eihosx_AgqRr0i{{U-427ik@Eqp1Xj1v!W$;>7v}`Qey( zBjm<588IpH>z3Rfo-&RaDS?gV&r$+DHxT##{4Bp9M<;)wGS1@q7Fd_Q;XJ6}U`A~4 zeeS3`q;Q<%wX`$u8N63>M$NH#11PFsN`L>i<+FSro^jF=Q=B(&w{eNMs|WyPak36a z0B3vy*B7!1JHu3Yq>U1~fVOBhR(xL-)jVfKD)R8#v&Y>frpr9e;ow`XjX#caK+w10 zNOV2C2*;5k(DXQxH8}Bpbm)lUlS1++T=sS9kblh!!_WFAH?H!ai=PJSb{YNL>;Flh z6ImfvkARd^I8xE)8Ft2MkilE@T$7>}1N-8wh@_G4{D5_lWZ?Fz9ECode_ z8zlb5%4q?`YUCy%JU-*VFoA=0UwnVsF<#>XD+_`!dU|)|`$_?qa%92{Yqc8d=Q~p^ zBg@uRU*dD^2C#}PZag^x%?dI31PxFYW<$LffjwAu8S1b-FtX4egUo_r-v|pM8C(fLnw8(J3v`h(*Sf4ELdwfLYUe+Rl>dXzN{5SK5#DdUMWF-Vgch`f>I zZ~G-sxA4{8vGU=&8DhZzJh5zuibk-GcvDxLbg-2i02oX3HU^tVKN1Xdr=`_L9IF{P zUMcK%T&W&imWb^jy<1#?HzLAGlD`e`5}uVW%5zY@<+-`1x=L@WwP!y((`46Do!ET5 z-0l`2Tc{#Dq!!I_q$X%897&WVQ#~ijFpw5|4=ICgp0MDKeT@D7`F0-aNz8kv;!Ldl zfOvr20+4Gj$95n};2fy{o=_N#8d0+z@X8pY@uLbAQQ8JZ7S2$pVoBg-w=EUQb5Wnw z%WLV1dixJG4ms_)SRsW>LxN5JGNQkV^&LEVdLQpAvdAHtI9ns@ea4^ft(Od0fgbx% ze7V;qF+rQUtN2;w?JBFEgM?Jl4Uz{QBnu2jRR2Q5kVphi2q4#;jzUWev$Ms)S!wpE zUp?>M+@3dJDgC`IV6*Ms1~cz{s!Mk_%6qrX;=DEcoLC?_2@So%T&nkuRWV_R=463f z7BLb%xLwKfF6HA0TbGr>y@&Np>L2D+NlxyL>iNd4@O=|sqO!8n$vKwS<9gwH=GU!it7D2c2F7nJVuUN zxg%kkI{Z2w{iWbS+b!Q7 zi6U>>X)NJ*dMSF8U6f^hMZ3u$E2SW2=a(%5Pj8q!!5>2DEKjh7p}F(Wlh?Sq*AN82noWDnJK5A$q(2m$(ECr$h1H|xaQU$V} z&>z6M1_kC~b~2vhD4pKP$#NxBFURjP--I89M8@QoTB9pA)v<3&-9EGo_sSP8ZfVf3zYW_My4l-iig$Y#oBP zWr`|?@FIwyH=&{=IEvpr;m?wVo#5ZB)Z;qZdCYItd*R6d2az z$p5DK$eMDA)wXOqbj<+@ybiI!8@n(4#FAlCP;K7KnX_lUOqGBR1RTSPNIAi>VajqO zCs;`U-_io04K|3et z8<@SOl8(+8H|90Mu*+65UMF8|6^7HaGDcth5L?uI?%O6{XzNFnc-xoR04UT;3lo1s>KA`)AHa|&D<2&k59QT+n7spR^=8AB^Wy%D&uSMoWRx)iqs8MN|;uMgLC z@Kp$&|3t|?!Y1;B9=yVM)qo2v+YlVdFb+bDzPU!_DZ0|4$c>w?O&nSl=KHu&Cx-Z> zI?DFsr-Q=%^XP*&XPw zvv^CsB6erGP`1b6K{dA+rHzRFTH@49q#WWhUJ^S(zp_QKlkyTrQlObsjBkl`t>qvgdO@EH z?o!{G3dI94a!PkZz8yUzNDZFfJb;frhzeTWl}4i3tSS|UfwkvZZh)@f+UkG%yN7#^=0 z^=EW{>o7DQ?dkE&_z=h2rSv{Y_3$gZ%lxyO--x>lp1&3H0L9AZX5K;cpBvTVNR_aH znP6Sb;6*q(j2TK~q+yHGJ|9{*Eglh>q;e(0Unz=)^CUw%HR)n(TWoJ705OWO^?vab zdul{67Cjn<*0RwXv&6&eyUsoRK^{Nu^wm!&K)7UQNNkhP&ZCEng|S~qFvM^wmElO* z#90T0(ju|Dr)u_mUzA^kMXY@BI^;R;d7L--Abr;E;rhz!7v;2KA5pK(Xxxo^!XiRq zY<;lmPa}qj$<(6WdNG(KgWV*K&O4vhT%)D`vHhjLs=?l+R%U;zVVZ}5ZnMp(C7G(RX6SxYzf$8X{s={DRq{7e0~;nu=90@~Fq7E}ZbKc7~`Czg-h zekDl_LzLkgr~rg7ssqI{rAFGOr?6Xl49yC!JBBS3p6y0i&%VOVzHE=5L($HphXm>4 zBX}^d6g0rTsVFdGFiZ_r)L=Z9Yidl@2xIO5r15QgGFwmF+MOSB<-+Tmy1r*g2fp5l zNn{Wpl?aa1IhJR)u{t1c+(`0$q+D46?R({_^~?T{vr}1eU;3@xixOtL)Ka2$D&P8A z_>u42Ct{BfPZC#Ge@~@pAngT;72Z*be`ufZaRlPcT<^RPd(dif+}lm?c9ZUyyu{Vf zuLEt^Kwdr1pc|_^MPS$vxBW`jLWmb?@D#k>Vovu&U*^7j*WfSd9PK}%6K^N&T6OEO z*cLvJ*`UG^!^yacIgr-S#AfCgp~H!D4>^MGpfLaUWg@<__g{E_d6#hCTp2ws#(zS2 zcT|%`R~7uumFkI6hXy>P;?XP?O+j*`?z6-p|2Iz1_)@bBMIK|)qq8sD{N(LYy)#M2 zUTi3y|75zoIVk>#vj9gPAi($eKyIrrXMZYJd$6}1S>iw!%EY!37VHZwH&8q3>^wB05wh8^E7G$~Pe)i}vH@w<`q0}^_5n*0sDc}sn zb2A@oE}Gu)=ykg4g=eN6Cw3Z?hasQR%{K}M=FEWN)cPdo;4mo7scS~!E}^8qtIO?gwDaBgk0>TeuK6LG_pR4J^{5auK|x<+?O zpHNGZ9@NdtLI=BdCUseK&RVC8wH6=kdS8ClW{aeZ-G->59hi7^Q*p)knGK_4 zNX4O9lhVuj-k~`sOB?!_BUo5k^?_D(|Ly@?rkPypW2pe8N5Yk}CXW-{cStO>gje4J zw~d1O*{)8|z=-Ta9egNNpcF0^JEYL%Tj+nE?tMPQe*bG)sJ5#1nauXzEy+Q{<;*!! zaXDfHj-WimeIKL|xvK99<{-V74Yb#pOt+EeGI^PL&BtgLtsAVNQzw1AbX zF?SDhK~(3t=YUI!bdY?lPwUT}(hJEP@sO=pNl@leMEDk%2s~ljr_nh*Y7N18UONij zC=~x%Ulhz6#GQZ_{jT6ho0)-bf+7zPE*nCTIpq6+!|J|1Vs+m>zb^aIBGZ&?yDz8l z?c=5oJI|2zxFv2d!5O6raNGho@?H7U6HAU2U^`x?y7$wv%VMn5gbKI&Ls`5v_fAUz z%zLO!r-dW$uF%vV8_zqCbj>ZnyzI!Hnm+~S16WY0l0mqW2S~MY@X+7pT@C3+desb# z3O%2HEc+@K^VxTMQ`gtX6c+_kS}e&w#d_NM&mN4q%>|+OaF92{iFLoI;=9gd&EB>* z&kB9db{jrYPjsGp9QH}0+8#Fp-e)}lQ2(V-WlPBe=XjeUM)9JMo*83(UY@7ENP0$c zYI!PKGurvLu4LQ_iAjJ_4WydJ+Qoa68{qPVr>une&VA8VEgB+nG!2`)Wg zpTg)fMm-TS#uDhp$r}A9bO*__0)2Yxv3(VRu6xT3-!(mpKQ#8q(xVUi1z9pzPk@wk z$aEAl;u!B6@cXJwxW1u{FA58H$=rJo3HN$GuavkeS$#88YS-bjZcX>_9ErS9(HBe= z)=Mavy_4hAEz%y$K0TRQ7~vOS=q<~!+UB0#KH2=?{1d;^5)Q%2Q39tYal-}W(W7um z#c(f2k~G{_|6__Eq+K9iXS4N#`ER;i1M36h;DUkn&K3{*6__ZS701{F>G6aT*>c#r zyg+XfdLiC!8jvts>ZEJf-YC_)CT+uC6T~GO_O{Jec|}Vn&*+ zj6p+l%;*tv9L52ci){ziUGS>Mm*^I5;bU>WJmr1i`B{?M)4FNRGloT#3QPduJ26{@m`{Iw`b)HwTT+O*GRB`tYn^k^H8be?oXSr z`P{UcUA#tu1j3U_Ve^D&j3;@`^2u?-R@2yZ zD!Zj?j(3rULkSXCK2XGgZ^aG2QdI4#k%crH?4``z)WZhLGw zl_c4+FOvva%i7mArEIB&3T2y05kitJ%t)cEp(tYPWSeBmI(BW6ow3X!lq@sJ_%KW7 z?R)*seP7po?(28%``q_=obx;9`-ew0na}6FzSigK`C8X|3cpeFQ;V8={XT!;%lC3Q z2L0kMbx&MIR28+u$JFUlHLMb}Is_-{2kD-KFw~YAdumHEp?UWG;F_hrdm`aX#HrOf z1CMFPoWWWi*C0(ejRzNtS$xy;8o0g@*$$z-Ib|`f(irE}- zQTh>W2e%2`!Fn3KlmUps8IS}i>OO@>_ayBuknrLq%E zz0&vIY-{~`2fh!)i4h=H(Iy6BmPF}LCkARk9GwCfZqGdol_2Bx5*&Mi{brGpuMC#2 zxhCGcY$?EXk^g??fYKMvT8MjwxX25#3T>R(w7SRaZD(IW@_jwFoBklm9{qUbs%Nvi zs_d#Ze*nHY4#8yLmPczs`5C*}-NZMO;DjdNNqJadwD1p<81^jfRJ!~#QkXcKGA$u- z_fmo8RPU|AncatAnPoY~sTZ1_(vf36B=s1;-V4d#V}HZ0CyvwC&ox2uIm}bypdHJh z-pPQ$UN?Hse!Y!{u=2D$y^&L5jxn@8NM3hwm=WR-dXT2jr4GrDcAIMfMmmC81zq|8 zbbDZ;{ilid>4MK{vmus|^ScL5l^FT+KI?#mS}<-e5UFSS9$~o+G-+mZ%`a=1sFq{N zKP{2`LE@X9nWh7~!|&ATtXI8yKUq>18NK(Y_@aKxB=o?=lM12{Zd4>`n6RN2-O~r3 z3c^~&>f4{yJ*#}H#P>l>rRTw!!Z6PT1f*hveGJxJfT;=0Gp};Nb~?VM_7&ySeJ`fY z6}`B0&HSVX7#0oVj_mrB&{;oBFr9wb0e;=aO?FIhVG=Ei_8l? zeYj`X~( zNwDC3;V1V-vQlB^BdJ|G!%i{)K();P@Ad;haG;w*T-2DMAU)!Y`opH9emG}|7t5AJ zkE&q5&$$$f?e*|GTI14-u$^J!KqCPoGQyP!!j};#=s{t4o!MdtCi@2{_-*pZaj%;6 z4Ad)VekpD@ewF{7_ro|zrGrsnkCvnFyosopMNsW=k;J`gSVAM+4l+a}E;04VZcuQp zdn)_L%}=RRhx`Gvo!_^c)5O~U@S3@nIZg>b#LC^$p*#Fo&oDQgEa^vCxd=BO(ICr? z5r;A|lp$Xkc4(CgnG0Fdl(N_uR-i* z3PS4YX+G`+9oo&{m>g<&HuEOlcrlr8fv;g!%>LBQXD9htoakO6FEA-8QM-*)O{gpM zMw;0}whH^>w+aF_#=y?6$k85|ze7cS@3Qx&$m5im-iL4saML^S)U#N^1@hwbLDnn$ zRpOXSj}D$k8z&l+>g7Y$DY%Ih36L3uzs2$|Ezd&!lL|$V41KFV>V`YlGUf5r%Dx; z!{5KRW!O>dmTiF_Op_d%E zyf1wAi97{yjD2*5Ez=H}BNoc00YkJ--f{SIgiz=Kj0Yl)Ef3vih=j_FRQv3Dp&Ho| zUC`rS&ZE1&y9}q7cXUy|FL#N1(F4wZG}CTGCFwg|?zsCTw@bOAz2ieXB0AwF$EGbf zBX5Hq(Cwi{a^mKFs&`I*jgSFt9<6>D77B0yqR<||YZo?S0!`Zk*xLKlyH3hvID$ z7+Nf7l)bya5Sa247OZfC!?;f^yfmRVQ0kyvy85r;P^0q}q8dxE&xHzgwym~dWyTQ~ z!?vuDKm9*~?o2ByI#goI{}X(0>1~S1mlioGsS?>S5tM`N5oLIuq zh2Bix zI=_e`Q7r^4ht^&x0I_(R3f&f%CNTIp<`YAk)dMTISWHS?-JSC$XZ9acV{6vIg ze6ddIB>okOYOW4aOs7!{GP-={t+0hgUAY#ib&ysK*;|vkKV?=wbZpzAj>nmFK;lp2i>`zh*3dXb+axoJE>z z%4vu`NmO(^96w-G_Ns2>NzwNeNEXW!ke$IVo@9gsg-}M9!Z5jz>ypgSqJe6`$zqeh zz_MuzclC6d+?mrIJjE}@-tLgfyV(m1Qeg7CfM#X1`ELA#ek+l$MyLNSk6XL_Y*az9 zX=D1pXG-u)`VB|P=QD@GdpyW^*GyoyM>Fn)nq$TS$@uno47mkg-sa~;MoLWn5D^*G z)&0`#B)%~8{;R@szPhxC=;gz4Pt1TS-(mBGDM(3-C)WBzq2(4H=LY#%Q?u&5N<7p* z5H4F9d^hM3r5teeljYwh8P!}uF3QHa-=RzxgO5TFYV!|4_HS4_jkxBb7cyKi0# zGOc+<_^2Yt<(;?t>SHkxpFRnx@paGu@*w-nc zE)cY4VCZ6imaI+gwy4%WoNg`AN8deg$g|d#ko|UI_klRjfJcnI8{La}jasx}>;}!* zCRi;7hr?)Qop@nyHM56JGM*tiFMM`Bixouxa-f%1!T1xYZ01*?tC7ZWyx(r%TYK%; z+yG6nqa9Kwp~f?82bWva(0%==n+>=qb+?4io|$@!-7;Cbk|Ov7run!C1##i8l{nD; z=m`w!(t-{(uX*pIl8sX8?ir*f(jT|pN(2PPqf!PL-S|}S?6{3r#%NSP zf-d_y;^w6m&^`X;!oUPBg?ka)!fTMalbl=WWr`mmN|n(YoByW^zX z$5vq@&Ki-Huuv`valD8gPvwoSFmRZ`!-7&w2Fi6d*6TKHdTW{-#ttqgn-7bq7{_H< zY{zFKBt!Rt0i9>}U|x?derH?^y$hj=p_wi$U-ci;UVBC_H&)gR6(zn4_ED2tg?|tx zKNC>oxBk>~TgDV2iw0I|+j+dt3PFLKRYdihL3Z|9qNtzW$cWSm_IOwJem$LHmYk#< z`o^^Eh#B%UYa4jiYZtau8w0#`EUz46XcTT#z{)q`*fQ`jH;4~^!+7ze>{#l2r;##s zy_i8XsFFO@HeU)rxy76fHk&8SNCIIN?3#WcZjzzQE zvJ`&9`bTP3Fns8vJq$xkn+}46MM$~D7e=>Bs|~LO=f>@Fm#G@wn|$!W{ZtdBKcqse zb|Mn*A(;GdHrEQxNPVo1QrGU}MfUdS7?@Ys{tt9bB!5V@w|wF#J56PSQWJqH8iayRh6Xhu;g=uyFD@Qm+TTrfV~d z9lPg0ZHNjJVx0UclTN44fFlTeukA+L(YptJ%<=@6uKQz%L#lT*Wi`UrEa-r_Y%T>sC8#` z|CGzx-f_R#y4@l%?OyG%F7ziTk-ZyE!_ABC(90De!@+H7iF*N zrvQE>i-Y&_kaMCFP#z%!2sy=X{|iBc|JxwJ!~Y5i{x1~z07j9b9=Rv)-n4g#nJby? z;QxLmH(b@3=)7RJYsLD-{IiCpxXXzYkMgZTg}?o9z6uq9^8Bet3Nae3GXC8j{g$xv zmtFMP;qsA%?j>1-mS$&bRD#KeERtj#-)>e{6RQPJirK_>hF}P0R;=eWr5N!ZU+L^k zsjP}8kT326Pvb{N*!}L%N^e;o%E@Hqjc=e!Xcp@Y#smKdUfZ`MOYtF~DA%p*7qVp2 zHR%pc(u^;Fj^h>Tz?dm-Uyuzc>a; zwn`voT}}5!@3<>lqZ0$G3&DiFI_F&@mPI)aQNOOe_KG0^^jJ5OMfBqP}B2? z26@HXA=h1E3N2jf>*bSUV9Im{x+1vX57?g&uiaXmkX1+&XTTAaGp+n8%sG=&1d%alMlSyQav%jW?r`ena4&1ACKRTRQ-%(cg1XOtLbTnwnH^d z6-l39NkWfoISP-HC?)+SFvl=6tK|1u;|fnEOaoO+61o)LI!C+${~_e+Iq~t)wc5AO zrjMQAFFmRhPPd+*mJC^Oe&+?*MKDrI;G!V)0{svam^<}d=QnJh+t8Y-_uOoMiq(+M zSG8nQ!6&i;XYjiEmqFvhj3Ka{Ug~O#3L>@|O#

anG)1>BZniQ!GqiMt{gfnWPFU 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 literal 0 HcmV?d00001 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..e8752ed --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,11 @@ +[project] +name = "interactive-feedback-mcp" +version = "0.1.0" +description = "MCP server for interactive user feedback and command execution in AI-assisted development, by Fábio Ferreira." +readme = "README.md" +requires-python = ">=3.11" +dependencies = [ + "fastmcp>=2.0.0", + "psutil>=7.0.0", + "pyside6>=6.8.2.1", +] diff --git a/server.py b/server.py new file mode 100644 index 0000000..f0070f0 --- /dev/null +++ b/server.py @@ -0,0 +1,73 @@ +# Interactive Feedback MCP +# Developed by Fábio Ferreira (https://x.com/fabiomlferreira) +# Inspired by/related to dotcursorrules.com (https://dotcursorrules.com/) +import os +import sys +import json +import tempfile +import subprocess + +from typing import Annotated, Dict + +from fastmcp import FastMCP +from pydantic import Field + +# The log_level is necessary for Cline to work: https://github.com/jlowin/fastmcp/issues/81 +mcp = FastMCP("Interactive Feedback MCP", log_level="ERROR") + +def launch_feedback_ui(project_directory: str, summary: str) -> dict[str, str]: + # Create a temporary file for the feedback result + with tempfile.NamedTemporaryFile(suffix=".json", delete=False) as tmp: + output_file = tmp.name + + try: + # Get the path to feedback_ui.py relative to this script + script_dir = os.path.dirname(os.path.abspath(__file__)) + feedback_ui_path = os.path.join(script_dir, "feedback_ui.py") + + # Run feedback_ui.py as a separate process + # NOTE: There appears to be a bug in uv, so we need + # to pass a bunch of special flags to make this work + args = [ + sys.executable, + "-u", + feedback_ui_path, + "--project-directory", project_directory, + "--prompt", summary, + "--output-file", output_file + ] + result = subprocess.run( + args, + check=False, + shell=False, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + stdin=subprocess.DEVNULL, + close_fds=True + ) + if result.returncode != 0: + raise Exception(f"Failed to launch feedback UI: {result.returncode}") + + # Read the result from the temporary file + with open(output_file, 'r') as f: + result = json.load(f) + os.unlink(output_file) + return result + except Exception as e: + if os.path.exists(output_file): + os.unlink(output_file) + raise e + +def first_line(text: str) -> str: + return text.split("\n")[0].strip() + +@mcp.tool() +def interactive_feedback( + project_directory: Annotated[str, Field(description="Full path to the project directory")], + summary: Annotated[str, Field(description="Short, one-line summary of the changes")], +) -> Dict[str, str]: + """Request interactive feedback for a given project directory and summary""" + return launch_feedback_ui(first_line(project_directory), first_line(summary)) + +if __name__ == "__main__": + mcp.run(transport="stdio") diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..f28d2b1 --- /dev/null +++ b/uv.lock @@ -0,0 +1,522 @@ +version = 1 +revision = 2 +requires-python = ">=3.11" + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { 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, 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, upload-time = "2025-03-17T00:02:52.713Z" }, +] + +[[package]] +name = "certifi" +version = "2025.1.31" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577, upload-time = "2025-01-31T02:16:47.166Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393, upload-time = "2025-01-31T02:16:45.015Z" }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883, upload-time = "2024-07-12T22:26:00.161Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453, upload-time = "2024-07-12T22:25:58.476Z" }, +] + +[[package]] +name = "fastmcp" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup" }, + { name = "httpx" }, + { name = "mcp" }, + { name = "openapi-pydantic" }, + { name = "python-dotenv" }, + { name = "rich" }, + { name = "typer" }, + { name = "websockets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/e7/a37b7bf39ee9bcc01b51319b94759981be0fde84526e5c7c479d2abbbefd/fastmcp-2.3.0.tar.gz", hash = "sha256:28c8799d1c28c2d10cca91dd2076c33ee459b69484e2e39d34de11f9a88b628f", size = 978654, upload-time = "2025-05-08T20:29:18.112Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/22/494b4b037c87af874f932cc6810221738c0aaad044d58537e85d91f9a0ec/fastmcp-2.3.0-py3-none-any.whl", hash = "sha256:1634e88111adadd790e1d39a5f83248ef814643ac5643f9ad0a1986884e2bdad", size = 90411, upload-time = "2025-05-08T20:29:16.645Z" }, +] + +[[package]] +name = "h11" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload-time = "2022-09-25T15:40:01.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload-time = "2022-09-25T15:39:59.68Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196, upload-time = "2024-11-15T12:30:47.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551, upload-time = "2024-11-15T12:30:45.782Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "httpx-sse" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624, upload-time = "2023-12-22T08:01:21.083Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819, upload-time = "2023-12-22T08:01:19.89Z" }, +] + +[[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, 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, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "interactive-feedback-mcp" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "fastmcp" }, + { name = "psutil" }, + { name = "pyside6" }, +] + +[package.metadata] +requires-dist = [ + { name = "fastmcp", specifier = ">=2.0.0" }, + { name = "psutil", specifier = ">=7.0.0" }, + { name = "pyside6", specifier = ">=6.8.2.1" }, +] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +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, 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, upload-time = "2023-06-03T06:41:11.019Z" }, +] + +[[package]] +name = "mcp" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "httpx" }, + { name = "httpx-sse" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "python-multipart" }, + { name = "sse-starlette" }, + { name = "starlette" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/97/0a3e08559557b0ac5799f9fb535fbe5a4e4dcdd66ce9d32e7a74b4d0534d/mcp-1.8.0.tar.gz", hash = "sha256:263dfb700540b726c093f0c3e043f66aded0730d0b51f04eb0a3eb90055fe49b", size = 264641, upload-time = "2025-05-08T20:09:06.255Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/b2/4ac3bd17b1fdd65658f18de4eb0c703517ee0b483dc5f56467802a9197e0/mcp-1.8.0-py3-none-any.whl", hash = "sha256:889d9d3b4f12b7da59e7a3933a0acadae1fce498bfcd220defb590aa291a1334", size = 119544, upload-time = "2025-05-08T20:09:04.458Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "openapi-pydantic" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/2e/58d83848dd1a79cb92ed8e63f6ba901ca282c5f09d04af9423ec26c56fd7/openapi_pydantic-0.5.1.tar.gz", hash = "sha256:ff6835af6bde7a459fb93eb93bb92b8749b754fc6e51b2f1590a19dc3005ee0d", size = 60892, upload-time = "2025-01-08T19:29:27.083Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/cf/03675d8bd8ecbf4445504d8071adab19f5f993676795708e36402ab38263/openapi_pydantic-0.5.1-py3-none-any.whl", hash = "sha256:a3a09ef4586f5bd760a8df7f43028b60cafb6d9f61de2acba9574766255ab146", size = 96381, upload-time = "2025-01-08T19:29:25.275Z" }, +] + +[[package]] +name = "psutil" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" }, + { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" }, + { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" }, + { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" }, + { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" }, + { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" }, +] + +[[package]] +name = "pydantic" +version = "2.10.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681, upload-time = "2025-01-24T01:42:12.693Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696, upload-time = "2025-01-24T01:42:10.371Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.27.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443, upload-time = "2024-12-18T11:31:54.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421, upload-time = "2024-12-18T11:27:55.409Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998, upload-time = "2024-12-18T11:27:57.252Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167, upload-time = "2024-12-18T11:27:59.146Z" }, + { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071, upload-time = "2024-12-18T11:28:02.625Z" }, + { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244, upload-time = "2024-12-18T11:28:04.442Z" }, + { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470, upload-time = "2024-12-18T11:28:07.679Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291, upload-time = "2024-12-18T11:28:10.297Z" }, + { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613, upload-time = "2024-12-18T11:28:13.362Z" }, + { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355, upload-time = "2024-12-18T11:28:16.587Z" }, + { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661, upload-time = "2024-12-18T11:28:18.407Z" }, + { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261, upload-time = "2024-12-18T11:28:21.471Z" }, + { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361, upload-time = "2024-12-18T11:28:23.53Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484, upload-time = "2024-12-18T11:28:25.391Z" }, + { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102, upload-time = "2024-12-18T11:28:28.593Z" }, + { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127, upload-time = "2024-12-18T11:28:30.346Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340, upload-time = "2024-12-18T11:28:32.521Z" }, + { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900, upload-time = "2024-12-18T11:28:34.507Z" }, + { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177, upload-time = "2024-12-18T11:28:36.488Z" }, + { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046, upload-time = "2024-12-18T11:28:39.409Z" }, + { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386, upload-time = "2024-12-18T11:28:41.221Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060, upload-time = "2024-12-18T11:28:44.709Z" }, + { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870, upload-time = "2024-12-18T11:28:46.839Z" }, + { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822, upload-time = "2024-12-18T11:28:48.896Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364, upload-time = "2024-12-18T11:28:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303, upload-time = "2024-12-18T11:28:54.122Z" }, + { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064, upload-time = "2024-12-18T11:28:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046, upload-time = "2024-12-18T11:28:58.107Z" }, + { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092, upload-time = "2024-12-18T11:29:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709, upload-time = "2024-12-18T11:29:03.193Z" }, + { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273, upload-time = "2024-12-18T11:29:05.306Z" }, + { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027, upload-time = "2024-12-18T11:29:07.294Z" }, + { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888, upload-time = "2024-12-18T11:29:09.249Z" }, + { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738, upload-time = "2024-12-18T11:29:11.23Z" }, + { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138, upload-time = "2024-12-18T11:29:16.396Z" }, + { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025, upload-time = "2024-12-18T11:29:20.25Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633, upload-time = "2024-12-18T11:29:23.877Z" }, + { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404, upload-time = "2024-12-18T11:29:25.872Z" }, + { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130, upload-time = "2024-12-18T11:29:29.252Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946, upload-time = "2024-12-18T11:29:31.338Z" }, + { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387, upload-time = "2024-12-18T11:29:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453, upload-time = "2024-12-18T11:29:35.533Z" }, + { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186, upload-time = "2024-12-18T11:29:37.649Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.8.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/88/82/c79424d7d8c29b994fb01d277da57b0a9b09cc03c3ff875f9bd8a86b2145/pydantic_settings-2.8.1.tar.gz", hash = "sha256:d5c663dfbe9db9d5e1c646b2e161da12f0d734d422ee56f567d0ea2cee4e8585", size = 83550, upload-time = "2025-02-27T10:10:32.338Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/53/a64f03044927dc47aafe029c42a5b7aabc38dfb813475e0e1bf71c4a59d0/pydantic_settings-2.8.1-py3-none-any.whl", hash = "sha256:81942d5ac3d905f7f3ee1a70df5dfb62d5569c12f51a5a647defc1c3d9ee2e9c", size = 30839, upload-time = "2025-02-27T10:10:30.711Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, +] + +[[package]] +name = "pyside6" +version = "6.8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyside6-addons" }, + { name = "pyside6-essentials" }, + { name = "shiboken6" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/0f/bdb12758448b52497dba7a3bbfb5855dfb29129c64ddbda4da56c4b11f6c/PySide6-6.8.2.1-cp39-abi3-macosx_12_0_universal2.whl", hash = "sha256:3fcb551729f235475b2abe7d919027de54a65d850e744f60716f890202273720", size = 550254, upload-time = "2025-02-06T13:56:07.585Z" }, + { url = "https://files.pythonhosted.org/packages/fa/00/0b232a25eeb8671202d7a7ec92893bd25b965debfd1d5d7aad637b067efe/PySide6-6.8.2.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:23d2a1a77b25459a049c4276b4e0bbfb375b73d3921061b1a16bcfa64e1fe517", size = 550489, upload-time = "2025-02-06T13:56:09.913Z" }, + { url = "https://files.pythonhosted.org/packages/8b/8a/9eb78cf71233399236c257cf85770ca4673ed0b9b959895856285157f643/PySide6-6.8.2.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:bfefa80a93db06dc64c0e7beef0377c9b8ca51e007cfc34575defe065af893b6", size = 550491, upload-time = "2025-02-06T13:56:12.51Z" }, + { url = "https://files.pythonhosted.org/packages/fb/3d/3e626e1953408cb8977a050ce54b1f1adff9a4c06bb519f6d56ebaf9310c/PySide6-6.8.2.1-cp39-abi3-win_amd64.whl", hash = "sha256:92361e41727910e3560ea5ba494fabecc76cd20892c9fcb2ced07619081c4e65", size = 556167, upload-time = "2025-02-06T13:56:15.394Z" }, +] + +[[package]] +name = "pyside6-addons" +version = "6.8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyside6-essentials" }, + { name = "shiboken6" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/79/a868ffac6eb446afdd25312b61872d0d11173032d50320d48b5277b68ccf/PySide6_Addons-6.8.2.1-cp39-abi3-macosx_12_0_universal2.whl", hash = "sha256:5558816018042fecd0d782111ced529585a23ea9a010b518f8495764f578a01f", size = 302704501, upload-time = "2025-02-06T13:50:40.242Z" }, + { url = "https://files.pythonhosted.org/packages/95/3a/93e0028805c50ceff8b8ae0f274d502805b8a864129b83d705ab12d48f78/PySide6_Addons-6.8.2.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f3d85e676851ada8238bc76ebfacbee738fc0b35b3bc15c9765dd107b8ee6ec4", size = 160641392, upload-time = "2025-02-06T13:51:32.153Z" }, + { url = "https://files.pythonhosted.org/packages/84/5c/e822e4ef6c2140b273cb0f8531d7e200c8771bd61832decc524fc318c335/PySide6_Addons-6.8.2.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:d904179f16deeca4ba440b4ef78e8d54df2b994b46784ad9d53b741082f3b2a7", size = 156398179, upload-time = "2025-02-06T13:51:57.622Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f8/98f85194f85a1fcff44ad98cd80cf6e856f7edee9e744fba81dec48b0ae9/PySide6_Addons-6.8.2.1-cp39-abi3-win_amd64.whl", hash = "sha256:c761cc45022aa79d8419e671e7fb34a4a3e5b3826f1e68fcb819bd6e3a387fbb", size = 127973648, upload-time = "2025-02-06T13:52:22.998Z" }, +] + +[[package]] +name = "pyside6-essentials" +version = "6.8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "shiboken6" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/bb/0127a53530cec0f9e7268e2fe235322b7b6e592caeb36c558b64da6ec52c/PySide6_Essentials-6.8.2.1-cp39-abi3-macosx_12_0_universal2.whl", hash = "sha256:ae5cc48f7e9a08e73e3ec2387ce245c8150e620b8d5a87548ebd4b8e3aeae49b", size = 134909713, upload-time = "2025-02-06T13:53:07.533Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f9/aa4ff511ff1f3dd177f7e8f5a635e03fe578fa2045c8d6be4577e7db3b28/PySide6_Essentials-6.8.2.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5ab31e5395a4724102edd6e8ff980fa3f7cde2aa79050763a1dcc30bb914195a", size = 95331575, upload-time = "2025-02-06T13:53:26.04Z" }, + { url = "https://files.pythonhosted.org/packages/fd/69/595002d860ee58431fe7add081d6f54fff94ae9680f2eb8cd355c1649bb6/PySide6_Essentials-6.8.2.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:7aed46f91d44399b4c713cf7387f5fb6f0114413fbcdbde493a528fb8e19f6ed", size = 93200219, upload-time = "2025-02-06T13:53:41.404Z" }, + { url = "https://files.pythonhosted.org/packages/5b/54/28a8b03f327e2c1d27d4a1ccf1a44997afc73c00ad07125d889640367194/PySide6_Essentials-6.8.2.1-cp39-abi3-win_amd64.whl", hash = "sha256:18de224f09108998d194e60f2fb8a1e86367dd525dd8a6192598e80e6ada649e", size = 72502927, upload-time = "2025-02-06T13:53:53.124Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, +] + +[[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, 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, upload-time = "2024-12-16T19:45:44.423Z" }, +] + +[[package]] +name = "rich" +version = "13.9.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149, upload-time = "2024-11-01T16:43:57.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424, upload-time = "2024-11-01T16:43:55.817Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "shiboken6" +version = "6.8.2.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d8/8f/71ccc3642edb59efaca35d4ba974248b1d7847f5e4d87d3ea323e73b2cab/shiboken6-6.8.2.1-cp39-abi3-macosx_12_0_universal2.whl", hash = "sha256:d3dedeb3732ecfc920c9f97da769c0022a1c3bda99346a9eba56fbf093deaa75", size = 401266, upload-time = "2025-02-06T13:55:54.499Z" }, + { url = "https://files.pythonhosted.org/packages/7b/ff/ab4f287b9573e50b5a47c10e2af8feb5abecc3c7431bd5deec135efc969e/shiboken6-6.8.2.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c83e90056f13d0872cc4d2b7bf60b6d6e3b1b172f1f91910c0ba5b641af01758", size = 204273, upload-time = "2025-02-06T13:55:56.926Z" }, + { url = "https://files.pythonhosted.org/packages/a6/b0/4fb102eb5260ee06d379769f3c4f0b82ef397c15f1cbbbbb3f6dceb86d5d/shiboken6-6.8.2.1-cp39-abi3-manylinux_2_39_aarch64.whl", hash = "sha256:8592401423acc693f51dbbfae5e7493cc3ed6738be79daaf90afa07f4da5bb25", size = 200909, upload-time = "2025-02-06T13:55:58.317Z" }, + { url = "https://files.pythonhosted.org/packages/ae/88/b56bdb38a11066e4eecd1da6be4205bb406398b733b392b11c5aaf9547f7/shiboken6-6.8.2.1-cp39-abi3-win_amd64.whl", hash = "sha256:1b751d47b759762b7ca31bad278d52eca4105d3028880d93979261ebbfba810c", size = 1150270, upload-time = "2025-02-06T13:56:00.094Z" }, +] + +[[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, 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, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "sse-starlette" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "starlette" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376, upload-time = "2024-12-25T09:09:30.616Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120, upload-time = "2024-12-25T09:09:26.761Z" }, +] + +[[package]] +name = "starlette" +version = "0.46.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/1b/52b27f2e13ceedc79a908e29eac426a63465a1a01248e5f24aa36a62aeb3/starlette-0.46.1.tar.gz", hash = "sha256:3c88d58ee4bd1bb807c0d1acb381838afc7752f9ddaec81bbe4383611d833230", size = 2580102, upload-time = "2025-03-08T10:55:34.504Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/4b/528ccf7a982216885a1ff4908e886b8fb5f19862d1962f56a3fce2435a70/starlette-0.46.1-py3-none-any.whl", hash = "sha256:77c74ed9d2720138b25875133f3a2dae6d854af2ec37dceb56aef370c1d8a227", size = 71995, upload-time = "2025-03-08T10:55:32.662Z" }, +] + +[[package]] +name = "typer" +version = "0.15.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/6f/3991f0f1c7fcb2df31aef28e0594d8d54b05393a0e4e34c65e475c2a5d41/typer-0.15.2.tar.gz", hash = "sha256:ab2fab47533a813c49fe1f16b1a370fd5819099c00b119e0633df65f22144ba5", size = 100711, upload-time = "2025-02-27T19:17:34.807Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/fc/5b29fea8cee020515ca82cc68e3b8e1e34bb19a3535ad854cac9257b414c/typer-0.15.2-py3-none-any.whl", hash = "sha256:46a499c6107d645a9c13f7ee46c5d5096cae6f5fc57dd11eccbbb9ae3e44ddfc", size = 45061, upload-time = "2025-02-27T19:17:32.111Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321, upload-time = "2024-06-07T18:52:15.995Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438, upload-time = "2024-06-07T18:52:13.582Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.34.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4b/4d/938bd85e5bf2edeec766267a5015ad969730bb91e31b44021dfe8b22df6c/uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9", size = 76568, upload-time = "2024-12-15T13:33:30.42Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315, upload-time = "2024-12-15T13:33:27.467Z" }, +] + +[[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, upload-time = "2025-03-05T20:03:41.606Z" } +wheels = [ + { 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/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, +]