From a0709a4696ea6c57621950ba5b6c0d6b127c658f Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 07:51:44 +0700 Subject: [PATCH 01/32] feat: add web admin dashboard with cookie import, logs viewer, and config UI - Admin UI at /admin with 3 tabs: Dashboard, Configuration, Logs - cURL import: paste Chrome DevTools cURL to auto-extract Gemini cookies - Real-time log viewer via SSE with level filtering and search - Stats dashboard with uptime, request counts, endpoint breakdown - Config management: model selection, proxy settings, manual cookie entry - New services: curl_parser, log_broadcaster, stats_collector - Dark theme, responsive, vanilla JS (no framework dependencies) - Added sse-starlette and jinja2 dependencies Co-Authored-By: Claude Opus 4.6 --- Dockerfile | 3 + pyproject.toml | 2 + requirements.txt | 2 + src/app/config.py | 11 + src/app/endpoints/admin.py | 17 ++ src/app/endpoints/admin_api.py | 205 ++++++++++++++++ src/app/main.py | 41 +++- src/app/services/curl_parser.py | 95 ++++++++ src/app/services/gemini_client.py | 8 + src/app/services/log_broadcaster.py | 104 +++++++++ src/app/services/stats_collector.py | 52 +++++ src/static/css/admin.css | 349 ++++++++++++++++++++++++++++ src/static/js/app.js | 45 ++++ src/static/js/config.js | 140 +++++++++++ src/static/js/dashboard.js | 81 +++++++ src/static/js/logs.js | 109 +++++++++ src/static/js/utils.js | 43 ++++ src/templates/admin.html | 160 +++++++++++++ 18 files changed, 1464 insertions(+), 3 deletions(-) create mode 100644 src/app/endpoints/admin.py create mode 100644 src/app/endpoints/admin_api.py create mode 100644 src/app/services/curl_parser.py create mode 100644 src/app/services/log_broadcaster.py create mode 100644 src/app/services/stats_collector.py create mode 100644 src/static/css/admin.css create mode 100644 src/static/js/app.js create mode 100644 src/static/js/config.js create mode 100644 src/static/js/dashboard.js create mode 100644 src/static/js/logs.js create mode 100644 src/static/js/utils.js create mode 100644 src/templates/admin.html diff --git a/Dockerfile b/Dockerfile index dad17df5..9b93c472 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,8 @@ FROM python:3.11-slim +# Install build dependencies for native extensions (lz4, cffi, etc.) +RUN apt-get update && apt-get install -y --no-install-recommends gcc g++ && rm -rf /var/lib/apt/lists/* + # Install Requirements WORKDIR /app COPY requirements.txt . diff --git a/pyproject.toml b/pyproject.toml index a5384093..18046a18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,8 @@ httpx = ">=0.28.1,<0.29.0" curl-cffi = ">=0.7.4,<0.15.0" gemini-webapi = ">=1.8.3,<2.0.0" uvicorn = {extras = ["standard"], version = ">=0.34.0,<0.41.0"} +sse-starlette = ">=2.1.0,<4.0.0" +jinja2 = ">=3.1.0,<4.0.0" # Windows-specific dependencies for cookie decryption # These will only be installed on Windows systems diff --git a/requirements.txt b/requirements.txt index 5939d565..d23a4d63 100644 --- a/requirements.txt +++ b/requirements.txt @@ -26,6 +26,8 @@ pydantic==2.10.6 ; python_version >= "3.10" and python_version < "4.0" pywin32==308 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" shadowcopy==0.0.4 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" sniffio==1.3.1 ; python_version >= "3.10" and python_version < "4.0" +sse-starlette>=2.1.0 ; python_version >= "3.10" and python_version < "4.0" +jinja2>=3.1.0 ; python_version >= "3.10" and python_version < "4.0" starlette==0.45.3 ; python_version >= "3.10" and python_version < "4.0" typing-extensions==4.12.2 ; python_version >= "3.10" and python_version < "4.0" uvicorn==0.34.0 ; python_version >= "3.10" and python_version < "4.0" diff --git a/src/app/config.py b/src/app/config.py index b5b29841..66907b2e 100644 --- a/src/app/config.py +++ b/src/app/config.py @@ -39,5 +39,16 @@ def load_config(config_file: str = "config.conf") -> configparser.ConfigParser: return config +def write_config(config: configparser.ConfigParser, config_file: str = "config.conf") -> bool: + """Write the current config state to disk.""" + try: + with open(config_file, "w", encoding="utf-8") as f: + config.write(f) + return True + except Exception as e: + logger.error(f"Error writing to config file: {e}") + return False + + # Load configuration globally CONFIG = load_config() diff --git a/src/app/endpoints/admin.py b/src/app/endpoints/admin.py new file mode 100644 index 00000000..632c6b3f --- /dev/null +++ b/src/app/endpoints/admin.py @@ -0,0 +1,17 @@ +# src/app/endpoints/admin.py +from pathlib import Path + +from fastapi import APIRouter, Request +from fastapi.responses import HTMLResponse +from fastapi.templating import Jinja2Templates + +router = APIRouter(tags=["Admin"]) + +TEMPLATES_DIR = Path(__file__).resolve().parent.parent.parent / "templates" +templates = Jinja2Templates(directory=str(TEMPLATES_DIR)) + + +@router.get("/admin", response_class=HTMLResponse) +async def admin_page(request: Request): + """Serve the admin UI single-page application.""" + return templates.TemplateResponse("admin.html", {"request": request}) diff --git a/src/app/endpoints/admin_api.py b/src/app/endpoints/admin_api.py new file mode 100644 index 00000000..ef3f3204 --- /dev/null +++ b/src/app/endpoints/admin_api.py @@ -0,0 +1,205 @@ +# src/app/endpoints/admin_api.py +import json + +from fastapi import APIRouter, HTTPException, Request +from pydantic import BaseModel +from sse_starlette.sse import EventSourceResponse + +from app.config import CONFIG, write_config +from app.logger import logger +from app.services.gemini_client import ( + GeminiClientNotInitializedError, + get_client_status, + get_gemini_client, + init_gemini_client, +) +from app.services.curl_parser import parse_curl_command +from app.services.log_broadcaster import SSELogBroadcaster +from app.services.stats_collector import StatsCollector + +router = APIRouter(prefix="/api/admin", tags=["Admin API"]) + + +# --- Request models --- + + +class CurlImportRequest(BaseModel): + curl_text: str + + +class CookieUpdateRequest(BaseModel): + secure_1psid: str + secure_1psidts: str + + +class ModelUpdateRequest(BaseModel): + model: str + + +class ProxyUpdateRequest(BaseModel): + http_proxy: str + + +# --- Dashboard --- + + +@router.get("/status") +async def get_status(): + """Return overall system status for the dashboard.""" + stats = StatsCollector.get_instance().get_stats() + client_status = get_client_status() + + try: + get_gemini_client() + gemini_status = "connected" + except GeminiClientNotInitializedError: + gemini_status = "disconnected" + + return { + "gemini_status": gemini_status, + "client_error": client_status.get("error"), + "current_model": CONFIG["AI"].get("default_model_gemini", "unknown"), + "proxy": CONFIG["Proxy"].get("http_proxy", ""), + "browser": CONFIG["Browser"].get("name", "unknown"), + "stats": stats, + } + + +# --- Config --- + + +@router.get("/config") +async def get_config(): + """Return current configuration (masking sensitive cookie values).""" + return { + "browser": CONFIG["Browser"].get("name", "chrome"), + "model": CONFIG["AI"].get("default_model_gemini", "gemini-3.0-pro"), + "proxy": CONFIG["Proxy"].get("http_proxy", ""), + "cookies_set": bool( + CONFIG["Cookies"].get("gemini_cookie_1psid") + and CONFIG["Cookies"].get("gemini_cookie_1psidts") + ), + "cookie_1psid_preview": _mask_value( + CONFIG["Cookies"].get("gemini_cookie_1psid", "") + ), + "cookie_1psidts_preview": _mask_value( + CONFIG["Cookies"].get("gemini_cookie_1psidts", "") + ), + "gemini_enabled": CONFIG.getboolean("EnabledAI", "gemini", fallback=True), + "available_models": [ + "gemini-3.0-pro", + "gemini-2.5-pro", + "gemini-2.5-flash", + "gemini-2.0-flash", + "gemini-1.5-flash", + ], + } + + +@router.post("/config/curl-import") +async def import_from_curl(request: CurlImportRequest): + """Parse a cURL command or cookie string and extract Gemini cookies.""" + result = parse_curl_command(request.curl_text) + if not result.is_valid: + raise HTTPException( + status_code=400, + detail={ + "message": "Could not extract required cookies", + "errors": result.errors, + "found_cookies": list(result.all_cookies.keys()), + }, + ) + CONFIG["Cookies"]["gemini_cookie_1psid"] = result.secure_1psid + CONFIG["Cookies"]["gemini_cookie_1psidts"] = result.secure_1psidts + write_config(CONFIG) + logger.info("Cookies imported from cURL, reinitializing client...") + success = await init_gemini_client() + return { + "success": success, + "message": ( + "Cookies imported and client reinitialized" + if success + else "Cookies imported but client reinitialization failed" + ), + "url_detected": result.url, + } + + +@router.post("/config/cookies") +async def update_cookies(request: CookieUpdateRequest): + """Update cookie values and reinitialize the Gemini client.""" + CONFIG["Cookies"]["gemini_cookie_1psid"] = request.secure_1psid + CONFIG["Cookies"]["gemini_cookie_1psidts"] = request.secure_1psidts + write_config(CONFIG) + logger.info("Cookies updated via admin UI, reinitializing client...") + success = await init_gemini_client() + return { + "success": success, + "message": "Client reinitialized" if success else "Reinitialization failed", + } + + +@router.post("/config/model") +async def update_model(request: ModelUpdateRequest): + """Update the default Gemini model.""" + CONFIG["AI"]["default_model_gemini"] = request.model + write_config(CONFIG) + return {"success": True, "model": request.model} + + +@router.post("/config/proxy") +async def update_proxy(request: ProxyUpdateRequest): + """Update proxy settings and reinitialize client.""" + CONFIG["Proxy"]["http_proxy"] = request.http_proxy + write_config(CONFIG) + logger.info("Proxy updated, reinitializing client...") + success = await init_gemini_client() + return {"success": success} + + +@router.post("/client/reinitialize") +async def reinitialize_client(): + """Force reinitialize the Gemini client with current config.""" + success = await init_gemini_client() + return { + "success": success, + "message": "Client reinitialized" if success else "Reinitialization failed", + } + + +# --- SSE Logs --- + + +@router.get("/logs/stream") +async def stream_logs(request: Request, last_id: int = 0): + """SSE endpoint for real-time log streaming.""" + broadcaster = SSELogBroadcaster.get_instance() + + async def event_generator(): + async for entry in broadcaster.subscribe(last_id): + if await request.is_disconnected(): + break + yield { + "event": "log", + "id": str(entry["id"]), + "data": json.dumps(entry), + } + + return EventSourceResponse(event_generator()) + + +@router.get("/logs/recent") +async def get_recent_logs(count: int = 50): + """Return recent log entries for initial page load.""" + broadcaster = SSELogBroadcaster.get_instance() + return {"logs": broadcaster.get_recent(count)} + + +# --- Helpers --- + + +def _mask_value(value: str) -> str: + """Show first 8 and last 4 chars, mask the rest.""" + if not value or len(value) < 16: + return "***" if value else "" + return f"{value[:8]}...{value[-4:]}" diff --git a/src/app/main.py b/src/app/main.py index 7ce2f769..160f38e3 100644 --- a/src/app/main.py +++ b/src/app/main.py @@ -1,14 +1,24 @@ # src/app/main.py -from fastapi import FastAPI +import logging +from pathlib import Path from contextlib import asynccontextmanager + +from fastapi import FastAPI, Request from fastapi.middleware.cors import CORSMiddleware +from fastapi.staticfiles import StaticFiles from app.services.gemini_client import get_gemini_client, init_gemini_client, GeminiClientNotInitializedError from app.services.session_manager import init_session_managers +from app.services.log_broadcaster import SSELogBroadcaster, BroadcastLogHandler +from app.services.stats_collector import StatsCollector from app.logger import logger # Import endpoint routers from app.endpoints import gemini, chat, google_generative +from app.endpoints import admin, admin_api + +_SRC_DIR = Path(__file__).resolve().parent.parent # points to src/ + @asynccontextmanager async def lifespan(app: FastAPI): @@ -16,6 +26,14 @@ async def lifespan(app: FastAPI): Application lifespan manager. Initializes services on startup. """ + # Initialize log broadcaster and attach handler to root logger only. + # Child loggers (app, uvicorn, etc.) propagate to root by default, + # so attaching to root is sufficient and avoids duplicate entries. + broadcaster = SSELogBroadcaster.get_instance() + handler = BroadcastLogHandler(broadcaster) + handler.setLevel(logging.INFO) + logging.getLogger().addHandler(handler) + # Try to get the existing client first client_initialized = False try: @@ -46,8 +64,8 @@ async def lifespan(app: FastAPI): yield - # Shutdown logic: No explicit client closing is needed anymore. - # The underlying HTTPX client manages its connection pool automatically. + # Remove log handler on shutdown + logging.getLogger().removeHandler(handler) logger.info("Application shutdown complete.") app = FastAPI(lifespan=lifespan) @@ -64,3 +82,20 @@ async def lifespan(app: FastAPI): app.include_router(gemini.router) app.include_router(chat.router) app.include_router(google_generative.router) + +# Register admin routers +app.include_router(admin.router) +app.include_router(admin_api.router) + +# Mount static files for admin UI +app.mount("/static", StaticFiles(directory=str(_SRC_DIR / "static")), name="static") + + +# Stats middleware - track API requests (skip static/admin) +@app.middleware("http") +async def stats_middleware(request: Request, call_next): + response = await call_next(request) + path = request.url.path + if not path.startswith("/static") and not path.startswith("/admin") and not path.startswith("/api/admin"): + StatsCollector.get_instance().record_request(path, response.status_code) + return response diff --git a/src/app/services/curl_parser.py b/src/app/services/curl_parser.py new file mode 100644 index 00000000..20532bd8 --- /dev/null +++ b/src/app/services/curl_parser.py @@ -0,0 +1,95 @@ +# src/app/services/curl_parser.py +import re +import shlex +from typing import Optional, Dict + + +class CurlParseResult: + """Result of parsing a cURL command or cookie string.""" + + def __init__(self): + self.secure_1psid: Optional[str] = None + self.secure_1psidts: Optional[str] = None + self.all_cookies: Dict[str, str] = {} + self.url: Optional[str] = None + self.errors: list[str] = [] + + @property + def is_valid(self) -> bool: + return bool(self.secure_1psid and self.secure_1psidts) + + +def parse_cookies_from_string(cookie_string: str) -> Dict[str, str]: + """Parse a semicolon-separated cookie string into a dict.""" + cookies = {} + for pair in cookie_string.split(";"): + pair = pair.strip() + if "=" in pair: + name, _, value = pair.partition("=") + cookies[name.strip()] = value.strip() + return cookies + + +def parse_curl_command(raw_input: str) -> CurlParseResult: + """ + Parse either a full cURL command or a raw cookie header string. + Extracts __Secure-1PSID and __Secure-1PSIDTS values. + + Supports: + - Full cURL from Chrome/Firefox DevTools "Copy as cURL" + - Raw Cookie header value (semicolon-separated pairs) + """ + result = CurlParseResult() + text = raw_input.strip() + + if not text: + result.errors.append("Empty input") + return result + + if text.lower().startswith("curl "): + # Normalize line continuations + text_clean = text.replace("\\\n", " ").replace("\\\r\n", " ") + + # Try shlex tokenization first + try: + tokens = shlex.split(text_clean) + except ValueError: + tokens = [] + result.errors.append("shlex parsing failed, using regex fallback") + + # Find cookie header via token pairs (-H 'cookie: ...') + for i, token in enumerate(tokens): + if token in ("-H", "--header") and i + 1 < len(tokens): + header_val = tokens[i + 1] + if header_val.lower().startswith("cookie:"): + cookie_str = header_val[len("cookie:"):].strip() + result.all_cookies = parse_cookies_from_string(cookie_str) + + # Regex fallback if token parsing missed the cookie header + if not result.all_cookies: + match = re.search( + r"-H\s+['\"]cookie:\s*([^'\"]+)['\"]", + text_clean, + re.IGNORECASE, + ) + if match: + result.all_cookies = parse_cookies_from_string(match.group(1)) + + # Extract URL + url_match = re.search(r"curl\s+['\"]?(https?://[^\s'\"]+)", text_clean) + if url_match: + result.url = url_match.group(1) + else: + # Assume raw cookie string + result.all_cookies = parse_cookies_from_string(text) + + # Extract target cookies + result.secure_1psid = result.all_cookies.get("__Secure-1PSID") + result.secure_1psidts = result.all_cookies.get("__Secure-1PSIDTS") + + if not result.secure_1psid: + result.errors.append("__Secure-1PSID cookie not found") + if not result.secure_1psidts: + result.errors.append("__Secure-1PSIDTS cookie not found") + + return result diff --git a/src/app/services/gemini_client.py b/src/app/services/gemini_client.py index 37cb027e..3b5c8844 100644 --- a/src/app/services/gemini_client.py +++ b/src/app/services/gemini_client.py @@ -82,3 +82,11 @@ def get_gemini_client(): raise GeminiClientNotInitializedError(error_detail) return _gemini_client + +def get_client_status() -> dict: + """Return the current status of the Gemini client for the admin UI.""" + return { + "initialized": _gemini_client is not None, + "error": _initialization_error, + } + diff --git a/src/app/services/log_broadcaster.py b/src/app/services/log_broadcaster.py new file mode 100644 index 00000000..067dfd7d --- /dev/null +++ b/src/app/services/log_broadcaster.py @@ -0,0 +1,104 @@ +# src/app/services/log_broadcaster.py +import asyncio +import logging +from collections import deque +from datetime import datetime +from typing import AsyncGenerator, Optional + + +class LogEntry: + """Structured log entry for the admin UI.""" + + __slots__ = ("timestamp", "level", "name", "message", "id") + + def __init__(self, record: logging.LogRecord, entry_id: int): + self.timestamp = datetime.fromtimestamp(record.created).isoformat() + self.level = record.levelname + self.name = record.name + self.message = record.getMessage() + self.id = entry_id + + def to_dict(self) -> dict: + return { + "id": self.id, + "timestamp": self.timestamp, + "level": self.level, + "logger": self.name, + "message": self.message, + } + + +class SSELogBroadcaster: + """ + Singleton that captures log records and broadcasts them to SSE clients. + Uses a ring buffer (deque) for recent entries and asyncio.Event to wake subscribers. + """ + + _instance: Optional["SSELogBroadcaster"] = None + + def __init__(self, max_entries: int = 500): + self._buffer: deque[LogEntry] = deque(maxlen=max_entries) + self._counter: int = 0 + self._event = asyncio.Event() + self._clients: int = 0 + + @classmethod + def get_instance(cls) -> "SSELogBroadcaster": + if cls._instance is None: + cls._instance = cls() + return cls._instance + + def push(self, record: logging.LogRecord) -> None: + """Called by the logging handler (may be from any thread).""" + self._counter += 1 + entry = LogEntry(record, self._counter) + self._buffer.append(entry) + try: + loop = asyncio.get_running_loop() + loop.call_soon_threadsafe(self._event.set) + except RuntimeError: + pass + + def get_recent(self, count: int = 50) -> list[dict]: + """Return the most recent N log entries as dicts.""" + entries = list(self._buffer)[-count:] + return [e.to_dict() for e in entries] + + async def subscribe(self, last_id: int = 0) -> AsyncGenerator[dict, None]: + """Async generator that yields new log entries as they arrive.""" + self._clients += 1 + try: + # Replay buffered entries newer than last_id + for entry in self._buffer: + if entry.id > last_id: + yield entry.to_dict() + last_id = entry.id + + # Live tail + while True: + self._event.clear() + await self._event.wait() + for entry in self._buffer: + if entry.id > last_id: + yield entry.to_dict() + last_id = entry.id + finally: + self._clients -= 1 + + @property + def client_count(self) -> int: + return self._clients + + +class BroadcastLogHandler(logging.Handler): + """Logging handler that forwards records to the SSELogBroadcaster.""" + + def __init__(self, broadcaster: SSELogBroadcaster): + super().__init__() + self.broadcaster = broadcaster + + def emit(self, record: logging.LogRecord) -> None: + try: + self.broadcaster.push(record) + except Exception: + self.handleError(record) diff --git a/src/app/services/stats_collector.py b/src/app/services/stats_collector.py new file mode 100644 index 00000000..3a6043bd --- /dev/null +++ b/src/app/services/stats_collector.py @@ -0,0 +1,52 @@ +# src/app/services/stats_collector.py +import time +import threading +from typing import Optional + + +class StatsCollector: + """Thread-safe singleton for tracking request statistics.""" + + _instance: Optional["StatsCollector"] = None + + def __init__(self): + self._lock = threading.Lock() + self._start_time = time.time() + self._total_requests = 0 + self._success_count = 0 + self._error_count = 0 + self._endpoint_counts: dict[str, int] = {} + self._last_request_time: Optional[float] = None + + @classmethod + def get_instance(cls) -> "StatsCollector": + if cls._instance is None: + cls._instance = cls() + return cls._instance + + def record_request(self, path: str, status_code: int) -> None: + with self._lock: + self._total_requests += 1 + self._last_request_time = time.time() + if path not in self._endpoint_counts: + self._endpoint_counts[path] = 0 + self._endpoint_counts[path] += 1 + if 200 <= status_code < 400: + self._success_count += 1 + else: + self._error_count += 1 + + def get_stats(self) -> dict: + with self._lock: + uptime_seconds = time.time() - self._start_time + hours, remainder = divmod(int(uptime_seconds), 3600) + minutes, seconds = divmod(remainder, 60) + return { + "uptime": f"{hours}h {minutes}m {seconds}s", + "uptime_seconds": uptime_seconds, + "total_requests": self._total_requests, + "success_count": self._success_count, + "error_count": self._error_count, + "endpoints": dict(self._endpoint_counts), + "last_request_time": self._last_request_time, + } diff --git a/src/static/css/admin.css b/src/static/css/admin.css new file mode 100644 index 00000000..80fefb64 --- /dev/null +++ b/src/static/css/admin.css @@ -0,0 +1,349 @@ +/* WebAI-to-API Admin Dashboard */ +:root { + --bg-primary: #0f1117; + --bg-secondary: #1a1d27; + --bg-card: #21242f; + --bg-input: #2a2d3a; + --border: #333847; + --text-primary: #e4e4e7; + --text-secondary: #9ca3af; + --text-muted: #6b7280; + --accent: #3b82f6; + --accent-hover: #2563eb; + --success: #22c55e; + --success-bg: rgba(34, 197, 94, 0.1); + --warning: #f59e0b; + --warning-bg: rgba(245, 158, 11, 0.1); + --error: #ef4444; + --error-bg: rgba(239, 68, 68, 0.1); + --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; + --font-mono: "SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace; + --radius: 8px; + --radius-sm: 4px; +} + +* { margin: 0; padding: 0; box-sizing: border-box; } + +body { + font-family: var(--font-sans); + background: var(--bg-primary); + color: var(--text-primary); + line-height: 1.6; + min-height: 100vh; +} + +/* Header */ +.admin-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 16px 24px; + background: var(--bg-secondary); + border-bottom: 1px solid var(--border); +} + +.header-left { display: flex; align-items: baseline; gap: 12px; } +.header-left h1 { font-size: 1.25rem; font-weight: 700; } +.header-subtitle { font-size: 0.8rem; color: var(--text-muted); } + +.status-badge { + padding: 4px 12px; + border-radius: 12px; + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; +} +.status-badge.connected { background: var(--success-bg); color: var(--success); } +.status-badge.disconnected { background: var(--error-bg); color: var(--error); } +.status-badge.checking { background: var(--warning-bg); color: var(--warning); } + +/* Tab Navigation */ +.tab-nav { + display: flex; + gap: 0; + padding: 0 24px; + background: var(--bg-secondary); + border-bottom: 1px solid var(--border); +} + +.tab-btn { + padding: 12px 20px; + background: none; + border: none; + border-bottom: 2px solid transparent; + color: var(--text-secondary); + font-size: 0.875rem; + font-weight: 500; + cursor: pointer; + transition: all 0.2s; +} +.tab-btn:hover { color: var(--text-primary); } +.tab-btn.active { + color: var(--accent); + border-bottom-color: var(--accent); +} + +/* Main Content */ +main { padding: 24px; max-width: 1200px; margin: 0 auto; } + +.tab-panel { display: none; } +.tab-panel.active { display: block; } + +/* Stats Grid */ +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 16px; + margin-bottom: 24px; +} + +.stat-card { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 20px; +} + +.stat-label { + font-size: 0.75rem; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.05em; + margin-bottom: 8px; +} + +.stat-value { + font-size: 1.5rem; + font-weight: 700; +} + +.stat-detail { + margin-top: 8px; + font-size: 0.8rem; + display: flex; + gap: 12px; +} +.stat-detail .success { color: var(--success); } +.stat-detail .error { color: var(--error); } + +/* Sections */ +.section { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 20px; + margin-bottom: 16px; +} +.section h3 { + font-size: 0.95rem; + font-weight: 600; + margin-bottom: 12px; +} + +/* Tables */ +.data-table { + width: 100%; + border-collapse: collapse; +} +.data-table th, .data-table td { + padding: 10px 12px; + text-align: left; + border-bottom: 1px solid var(--border); + font-size: 0.875rem; +} +.data-table th { + color: var(--text-muted); + font-weight: 500; + font-size: 0.75rem; + text-transform: uppercase; +} +.data-table td:last-child { text-align: right; font-family: var(--font-mono); } + +/* Forms */ +.help-text { + font-size: 0.825rem; + color: var(--text-secondary); + margin-bottom: 12px; + line-height: 1.5; +} +.help-text a { color: var(--accent); text-decoration: none; } +.help-text a:hover { text-decoration: underline; } + +.code-input { + width: 100%; + background: var(--bg-input); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-primary); + font-family: var(--font-mono); + font-size: 0.8rem; + padding: 12px; + resize: vertical; + margin-bottom: 12px; +} +.code-input:focus { outline: none; border-color: var(--accent); } + +.text-input { + background: var(--bg-input); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-primary); + font-size: 0.875rem; + padding: 8px 12px; + min-width: 250px; +} +.text-input:focus { outline: none; border-color: var(--accent); } + +.select-input { + background: var(--bg-input); + border: 1px solid var(--border); + border-radius: var(--radius-sm); + color: var(--text-primary); + font-size: 0.875rem; + padding: 8px 12px; + cursor: pointer; +} + +.config-row { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 8px; +} +.config-label { + font-size: 0.85rem; + color: var(--text-secondary); + min-width: 140px; +} + +.form-group { + margin-bottom: 12px; +} +.form-group label { + display: block; + font-size: 0.8rem; + color: var(--text-secondary); + margin-bottom: 4px; +} +.form-group .text-input { width: 100%; } + +/* Collapsible */ +details.collapsible summary { + cursor: pointer; + font-weight: 600; + font-size: 0.95rem; + margin-bottom: 12px; + color: var(--text-secondary); +} +details.collapsible summary:hover { color: var(--text-primary); } + +/* Buttons */ +.btn { + display: inline-flex; + align-items: center; + padding: 8px 16px; + border: none; + border-radius: var(--radius-sm); + font-size: 0.85rem; + font-weight: 500; + cursor: pointer; + transition: all 0.15s; +} +.btn-primary { + background: var(--accent); + color: white; +} +.btn-primary:hover { background: var(--accent-hover); } +.btn-warning { + background: var(--warning-bg); + color: var(--warning); + border: 1px solid rgba(245, 158, 11, 0.3); +} +.btn-warning:hover { background: rgba(245, 158, 11, 0.2); } +.btn-small { padding: 6px 12px; font-size: 0.8rem; } +.btn:disabled { opacity: 0.5; cursor: not-allowed; } + +/* Result boxes */ +.result-box { + margin-top: 12px; + padding: 12px; + border-radius: var(--radius-sm); + font-size: 0.85rem; + line-height: 1.5; +} +.result-box.success { background: var(--success-bg); color: var(--success); } +.result-box.error { background: var(--error-bg); color: var(--error); } +.result-box.warning { background: var(--warning-bg); color: var(--warning); } +.hidden { display: none; } + +.inline-result { + font-size: 0.8rem; + margin-left: 8px; +} + +/* Log Viewer */ +.logs-toolbar { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 12px; + flex-wrap: wrap; +} +.checkbox-label { + font-size: 0.85rem; + color: var(--text-secondary); + display: flex; + align-items: center; + gap: 4px; + cursor: pointer; +} + +.log-container { + background: var(--bg-input); + border: 1px solid var(--border); + border-radius: var(--radius); + height: 500px; + overflow-y: auto; + font-family: var(--font-mono); + font-size: 0.78rem; + line-height: 1.7; + padding: 8px 0; +} + +.log-entry { + padding: 2px 12px; + white-space: pre-wrap; + word-break: break-all; +} +.log-entry:hover { background: rgba(255,255,255,0.03); } +.log-entry .ts { color: var(--text-muted); } +.log-entry .lvl { font-weight: 600; min-width: 60px; display: inline-block; } +.log-entry .lvl-ERROR { color: var(--error); } +.log-entry .lvl-WARNING { color: var(--warning); } +.log-entry .lvl-INFO { color: var(--accent); } +.log-entry .lvl-DEBUG { color: var(--text-muted); } +.log-entry .logger-name { color: var(--text-muted); } +.log-entry .msg { color: var(--text-primary); } + +.empty-state { + color: var(--text-muted); + text-align: center; + padding: 24px; + font-size: 0.875rem; +} + +code { + font-family: var(--font-mono); + font-size: 0.8rem; + color: var(--text-secondary); +} + +/* Responsive */ +@media (max-width: 768px) { + main { padding: 12px; } + .stats-grid { grid-template-columns: 1fr 1fr; } + .config-row { flex-wrap: wrap; } + .text-input { min-width: 100%; } + .logs-toolbar { flex-direction: column; align-items: stretch; } +} diff --git a/src/static/js/app.js b/src/static/js/app.js new file mode 100644 index 00000000..fb6e9ce4 --- /dev/null +++ b/src/static/js/app.js @@ -0,0 +1,45 @@ +// src/static/js/app.js - Main application controller + +document.addEventListener("DOMContentLoaded", () => { + const tabs = { dashboard: Dashboard, config: Config, logs: Logs }; + let activeTab = "dashboard"; + + // Initialize all modules + Object.values(tabs).forEach((t) => t.init?.()); + + // Tab switching + document.querySelectorAll(".tab-btn").forEach((btn) => { + btn.addEventListener("click", () => { + const tabName = btn.dataset.tab; + if (tabName === activeTab) return; + + // Deactivate current + tabs[activeTab]?.deactivate?.(); + document.querySelector(".tab-btn.active").classList.remove("active"); + document.getElementById(`tab-${activeTab}`).classList.remove("active"); + + // Activate new + activeTab = tabName; + btn.classList.add("active"); + document.getElementById(`tab-${tabName}`).classList.add("active"); + tabs[tabName]?.activate?.(); + }); + }); + + // Activate initial tab + tabs[activeTab]?.activate?.(); + + // Global status poll for the header badge + setInterval(async () => { + try { + const data = await api.get("/api/admin/status"); + const badge = document.getElementById("connection-status"); + badge.textContent = data.gemini_status === "connected" ? "Connected" : "Disconnected"; + badge.className = "status-badge " + data.gemini_status; + } catch { + const badge = document.getElementById("connection-status"); + badge.textContent = "Error"; + badge.className = "status-badge disconnected"; + } + }, 15000); +}); diff --git a/src/static/js/config.js b/src/static/js/config.js new file mode 100644 index 00000000..8942bd3f --- /dev/null +++ b/src/static/js/config.js @@ -0,0 +1,140 @@ +// src/static/js/config.js - Configuration tab logic + +const Config = { + init() { + // cURL import + document.getElementById("btn-curl-import").addEventListener("click", () => this.handleCurlImport()); + + // Manual cookies + document.getElementById("btn-manual-cookies").addEventListener("click", () => this.handleManualCookies()); + + // Model save + document.getElementById("btn-save-model").addEventListener("click", () => this.handleModelSave()); + + // Proxy save + document.getElementById("btn-save-proxy").addEventListener("click", () => this.handleProxySave()); + }, + + activate() { + this.refresh(); + }, + + deactivate() {}, + + async refresh() { + try { + const data = await api.get("/api/admin/config"); + this.updateDisplay(data); + } catch { + // Ignore on error + } + }, + + updateDisplay(data) { + // Cookie status + const badge = document.getElementById("cookie-status-badge"); + badge.textContent = data.cookies_set ? "Configured" : "Not Set"; + badge.className = "status-badge " + (data.cookies_set ? "connected" : "disconnected"); + + document.getElementById("cookie-1psid-preview").textContent = data.cookie_1psid_preview || "Not set"; + document.getElementById("cookie-1psidts-preview").textContent = data.cookie_1psidts_preview || "Not set"; + + // Model dropdown + const select = document.getElementById("model-select"); + select.innerHTML = ""; + (data.available_models || []).forEach(m => { + const opt = document.createElement("option"); + opt.value = m; + opt.textContent = m; + if (m === data.model) opt.selected = true; + select.appendChild(opt); + }); + + // Proxy + document.getElementById("proxy-input").value = data.proxy || ""; + }, + + async handleCurlImport() { + const textarea = document.getElementById("curl-input"); + const resultDiv = document.getElementById("curl-result"); + const text = textarea.value.trim(); + + if (!text) { + showResult(resultDiv, "error", "Please paste a cURL command or cookie string."); + return; + } + + const btn = document.getElementById("btn-curl-import"); + btn.disabled = true; + btn.textContent = "Importing..."; + + try { + const data = await api.post("/api/admin/config/curl-import", { curl_text: text }); + if (data.success) { + showResult(resultDiv, "success", data.message + (data.url_detected ? " (URL: " + data.url_detected + ")" : "")); + textarea.value = ""; + this.refresh(); + Dashboard.refresh(); + } else { + showResult(resultDiv, "warning", data.message); + } + } catch (err) { + const detail = err.detail || {}; + let msg = detail.message || "Failed to import cookies"; + if (detail.errors) msg += "\n" + detail.errors.join("\n"); + if (detail.found_cookies) msg += "\nFound cookies: " + detail.found_cookies.join(", "); + showResult(resultDiv, "error", msg); + } finally { + btn.disabled = false; + btn.textContent = "Import Cookies"; + } + }, + + async handleManualCookies() { + const psid = document.getElementById("manual-1psid").value.trim(); + const psidts = document.getElementById("manual-1psidts").value.trim(); + const resultDiv = document.getElementById("manual-result"); + + if (!psid || !psidts) { + showResult(resultDiv, "error", "Both cookie values are required."); + return; + } + + try { + const data = await api.post("/api/admin/config/cookies", { + secure_1psid: psid, + secure_1psidts: psidts, + }); + showResult(resultDiv, data.success ? "success" : "warning", data.message); + document.getElementById("manual-1psid").value = ""; + document.getElementById("manual-1psidts").value = ""; + this.refresh(); + Dashboard.refresh(); + } catch (err) { + showResult(resultDiv, "error", "Failed: " + (err.detail || "Unknown error")); + } + }, + + async handleModelSave() { + const model = document.getElementById("model-select").value; + const result = document.getElementById("model-result"); + try { + await api.post("/api/admin/config/model", { model }); + showInline(result, "Saved", false); + } catch { + showInline(result, "Failed", true); + } + }, + + async handleProxySave() { + const proxy = document.getElementById("proxy-input").value.trim(); + const result = document.getElementById("proxy-result"); + try { + await api.post("/api/admin/config/proxy", { http_proxy: proxy }); + showInline(result, "Saved", false); + Dashboard.refresh(); + } catch { + showInline(result, "Failed", true); + } + }, +}; diff --git a/src/static/js/dashboard.js b/src/static/js/dashboard.js new file mode 100644 index 00000000..4a88b5cc --- /dev/null +++ b/src/static/js/dashboard.js @@ -0,0 +1,81 @@ +// src/static/js/dashboard.js - Dashboard tab logic + +const Dashboard = { + intervalId: null, + + init() { + document.getElementById("btn-reinit").addEventListener("click", async () => { + const btn = document.getElementById("btn-reinit"); + const result = document.getElementById("reinit-result"); + btn.disabled = true; + btn.textContent = "Reinitializing..."; + try { + const data = await api.post("/api/admin/client/reinitialize"); + showInline(result, data.message, !data.success); + } catch (err) { + showInline(result, "Failed: " + (err.detail || "Unknown error"), true); + } finally { + btn.disabled = false; + btn.textContent = "Reinitialize Gemini Client"; + this.refresh(); + } + }); + }, + + activate() { + this.refresh(); + this.intervalId = setInterval(() => this.refresh(), 10000); + }, + + deactivate() { + if (this.intervalId) { + clearInterval(this.intervalId); + this.intervalId = null; + } + }, + + async refresh() { + try { + const data = await api.get("/api/admin/status"); + this.updateCards(data); + this.updateEndpointTable(data.stats.endpoints); + } catch { + document.getElementById("val-status").textContent = "Error"; + } + }, + + updateCards(data) { + const statusEl = document.getElementById("val-status"); + statusEl.textContent = data.gemini_status === "connected" ? "Connected" : "Disconnected"; + statusEl.style.color = data.gemini_status === "connected" ? "var(--success)" : "var(--error)"; + + document.getElementById("val-model").textContent = data.current_model || "--"; + document.getElementById("val-requests").textContent = data.stats.total_requests; + document.getElementById("val-success").textContent = data.stats.success_count + " OK"; + document.getElementById("val-errors").textContent = data.stats.error_count + " ERR"; + document.getElementById("val-uptime").textContent = data.stats.uptime; + + // Update header badge + const badge = document.getElementById("connection-status"); + badge.textContent = data.gemini_status === "connected" ? "Connected" : "Disconnected"; + badge.className = "status-badge " + data.gemini_status; + }, + + updateEndpointTable(endpoints) { + const tbody = document.getElementById("endpoint-tbody"); + const noData = document.getElementById("no-endpoints"); + const entries = Object.entries(endpoints || {}); + + if (entries.length === 0) { + tbody.innerHTML = ""; + noData.classList.remove("hidden"); + return; + } + + noData.classList.add("hidden"); + entries.sort((a, b) => b[1] - a[1]); + tbody.innerHTML = entries + .map(([path, count]) => `${escapeHtml(path)}${count}`) + .join(""); + }, +}; diff --git a/src/static/js/logs.js b/src/static/js/logs.js new file mode 100644 index 00000000..b3ae983a --- /dev/null +++ b/src/static/js/logs.js @@ -0,0 +1,109 @@ +// src/static/js/logs.js - Real-time log viewer with SSE + +const Logs = { + eventSource: null, + entries: [], + lastId: 0, + autoScroll: true, + + init() { + document.getElementById("log-autoscroll").addEventListener("change", (e) => { + this.autoScroll = e.target.checked; + }); + + document.getElementById("btn-clear-logs").addEventListener("click", () => { + this.entries = []; + this.renderAll(); + }); + + document.getElementById("log-level-filter").addEventListener("change", () => this.renderAll()); + document.getElementById("log-search").addEventListener("input", () => this.renderAll()); + }, + + async activate() { + // Load recent logs first + try { + const data = await api.get("/api/admin/logs/recent?count=100"); + this.entries = data.logs || []; + if (this.entries.length > 0) { + this.lastId = this.entries[this.entries.length - 1].id; + } + } catch { + this.entries = []; + } + this.renderAll(); + this.connectSSE(); + }, + + deactivate() { + if (this.eventSource) { + this.eventSource.close(); + this.eventSource = null; + } + }, + + connectSSE() { + if (this.eventSource) this.eventSource.close(); + + const url = `/api/admin/logs/stream?last_id=${this.lastId}`; + this.eventSource = new EventSource(url); + + this.eventSource.addEventListener("log", (event) => { + const entry = JSON.parse(event.data); + this.lastId = parseInt(event.lastEventId) || entry.id; + this.entries.push(entry); + + // Cap at 1000 entries client-side + if (this.entries.length > 1000) { + this.entries = this.entries.slice(-500); + } + + if (this.matchesFilter(entry)) { + this.appendEntry(entry); + } + }); + + this.eventSource.onerror = () => { + // EventSource auto-reconnects + }; + }, + + matchesFilter(entry) { + const levelFilter = document.getElementById("log-level-filter").value; + const searchText = document.getElementById("log-search").value.toLowerCase(); + + if (levelFilter !== "ALL" && entry.level !== levelFilter) return false; + if (searchText && !entry.message.toLowerCase().includes(searchText) && + !entry.logger.toLowerCase().includes(searchText)) return false; + + return true; + }, + + renderAll() { + const container = document.getElementById("log-container"); + const filtered = this.entries.filter(e => this.matchesFilter(e)); + + if (filtered.length === 0) { + container.innerHTML = '

Waiting for logs...

'; + return; + } + + container.innerHTML = filtered.map(e => this.formatEntry(e)).join(""); + if (this.autoScroll) container.scrollTop = container.scrollHeight; + }, + + appendEntry(entry) { + const container = document.getElementById("log-container"); + // Remove empty state if present + const emptyState = container.querySelector(".empty-state"); + if (emptyState) emptyState.remove(); + + container.insertAdjacentHTML("beforeend", this.formatEntry(entry)); + if (this.autoScroll) container.scrollTop = container.scrollHeight; + }, + + formatEntry(entry) { + const ts = entry.timestamp.split("T")[1] || entry.timestamp; + return `
${escapeHtml(ts)} ${entry.level.padEnd(7)} [${escapeHtml(entry.logger)}] ${escapeHtml(entry.message)}
`; + }, +}; diff --git a/src/static/js/utils.js b/src/static/js/utils.js new file mode 100644 index 00000000..4ad5411a --- /dev/null +++ b/src/static/js/utils.js @@ -0,0 +1,43 @@ +// src/static/js/utils.js - Shared API wrapper and helpers + +const api = { + async get(url) { + const res = await fetch(url); + if (!res.ok) { + const err = await res.json().catch(() => ({ detail: res.statusText })); + throw err; + } + return res.json(); + }, + + async post(url, body) { + const res = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(body), + }); + if (!res.ok) { + const err = await res.json().catch(() => ({ detail: res.statusText })); + throw err; + } + return res.json(); + }, +}; + +function showResult(el, type, message) { + el.textContent = message; + el.className = `result-box ${type}`; + el.classList.remove("hidden"); +} + +function showInline(el, message, isError) { + el.textContent = message; + el.style.color = isError ? "var(--error)" : "var(--success)"; + setTimeout(() => { el.textContent = ""; }, 3000); +} + +function escapeHtml(text) { + const d = document.createElement("div"); + d.textContent = text; + return d.innerHTML; +} diff --git a/src/templates/admin.html b/src/templates/admin.html new file mode 100644 index 00000000..ce180fe6 --- /dev/null +++ b/src/templates/admin.html @@ -0,0 +1,160 @@ + + + + + + WebAI-to-API Admin + + + +
+
+

WebAI-to-API

+ Admin Dashboard +
+ Checking... +
+ + + +
+
+
+
+
Gemini Status
+
--
+
+
+
Current Model
+
--
+
+
+
Total Requests
+
--
+
+ 0 OK + 0 ERR +
+
+
+
Uptime
+
--
+
+
+ +
+

Endpoint Activity

+ + + +
EndpointRequests
+

No requests yet

+
+ +
+ + +
+
+ +
+ +
+

Import Cookies from cURL

+

+ Open Chrome DevTools (F12) → Network tab → navigate to + gemini.google.com → + right-click any request → Copy as cURL → paste below. +
You can also paste just the raw Cookie header value. +

+ + + +
+ + +
+

Cookie Status

+
+ Status: + -- +
+
+ __Secure-1PSID: + -- +
+
+ __Secure-1PSIDTS: + -- +
+
+ + +
+ Manual Cookie Entry +
+ + +
+
+ + +
+ + +
+ + +
+

Model

+
+ + + +
+
+ + +
+

Proxy

+
+ + + +
+
+
+ +
+
+ + + + +
+
+

Waiting for logs...

+
+
+
+ + + + + + + + From 8eb4469415c05aa6e55faf4928d62761f56c35ee Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 07:52:02 +0700 Subject: [PATCH 02/32] ci: add GitHub Actions workflow to build and push Docker image to GHCR - Auto-build on push to master with multi-platform support (amd64/arm64) - Push to ghcr.io/leolionart/webai-to-api with latest + sha tags - Use GHA cache for faster subsequent builds - Update docker-compose.yml to pull from GHCR instead of local build - Add docker-compose.dev.yml for local development builds Co-Authored-By: Claude Opus 4.6 --- .github/workflows/docker-build.yml | 54 ++++++++++++++++++++++++++++++ docker-compose.dev.yml | 11 ++++++ docker-compose.yml | 14 +++++--- 3 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/docker-build.yml create mode 100644 docker-compose.dev.yml diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 00000000..547ef949 --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,54 @@ +name: Build & Push Docker Image + +on: + push: + branches: [master] + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable={{is_default_branch}} + type=sha,prefix=,format=short + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 00000000..1e4d8277 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,11 @@ +# docker-compose.dev.yml + +# Development override - builds image locally instead of pulling from GHCR. +# Usage: docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build + +services: + web_ai: + build: . + image: webai-to-api:dev + volumes: + - ./config.conf:/app/config.conf diff --git a/docker-compose.yml b/docker-compose.yml index 8ff27e4a..1f54684c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,11 +1,14 @@ # docker-compose.yml -# This file is for production mode only. +# Production deployment using pre-built image from GitHub Container Registry. +# Image is auto-built on push to master via GitHub Actions. +# +# To build locally instead, uncomment "build: ." and comment out the image line. services: web_ai: - build: . - image: cornatul/webai.ai + # build: . + image: ghcr.io/leolionart/webai-to-api:latest container_name: web_ai_server restart: always ports: @@ -15,7 +18,10 @@ services: environment: - PYTHONPATH=/app/src - ENVIRONMENT=${ENVIRONMENT:-production} + # Optional: mount config.conf for cookie persistence across container restarts + # volumes: + # - ./config.conf:/app/config.conf command: > sh -c " - uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 4 --log-level info; + uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 1 --log-level info; " From 84437418e032bddc49424b3287069f34383a2a99 Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 08:21:15 +0700 Subject: [PATCH 03/32] feat: add favicon and API Reference section to dashboard - SVG favicon (inline data URI, no extra file needed) - API Reference section with auto-detected Base URL and copy button - Endpoint table listing all API routes (method, path, description) - Per-row Copy button copies full URL for easy config in n8n/Claude Code - Color-coded method badges (POST green, GET blue) - Fix docker-compose.dev.yml volume mount for paths with spaces Co-Authored-By: Claude Opus 4.6 --- docker-compose.dev.yml | 5 +-- src/static/css/admin.css | 48 +++++++++++++++++++++++++++++ src/static/js/dashboard.js | 62 ++++++++++++++++++++++++++++++++++++++ src/templates/admin.html | 22 ++++++++++++++ 4 files changed, 135 insertions(+), 2 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 1e4d8277..b0c1f7a3 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -7,5 +7,6 @@ services: web_ai: build: . image: webai-to-api:dev - volumes: - - ./config.conf:/app/config.conf + # Uncomment below if your project path has no spaces: + # volumes: + # - ./config.conf:/app/config.conf diff --git a/src/static/css/admin.css b/src/static/css/admin.css index 80fefb64..768f15f5 100644 --- a/src/static/css/admin.css +++ b/src/static/css/admin.css @@ -282,6 +282,54 @@ details.collapsible summary:hover { color: var(--text-primary); } margin-left: 8px; } +/* API Reference */ +.api-ref-baseurl { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 16px; + padding: 12px 16px; + background: var(--bg-input); + border: 1px solid var(--border); + border-radius: var(--radius-sm); +} + +.api-url { + font-family: var(--font-mono); + font-size: 0.875rem; + color: var(--accent); + user-select: all; +} + +.api-ref-baseurl .api-url { font-size: 1rem; font-weight: 600; } + +.api-ref-table td:last-child { text-align: center; font-family: var(--font-sans); } +.api-ref-table .api-desc { color: var(--text-secondary); font-size: 0.825rem; } +.api-ref-table code { color: var(--text-primary); } + +.method-badge { + display: inline-block; + padding: 2px 8px; + border-radius: 3px; + font-size: 0.7rem; + font-weight: 700; + font-family: var(--font-mono); + letter-spacing: 0.03em; +} +.method-post { background: rgba(34, 197, 94, 0.15); color: #22c55e; } +.method-get { background: rgba(59, 130, 246, 0.15); color: #3b82f6; } + +.btn-copy { + background: var(--bg-input); + color: var(--text-secondary); + border: 1px solid var(--border); + font-size: 0.75rem; + padding: 4px 10px; + white-space: nowrap; +} +.btn-copy:hover { color: var(--text-primary); border-color: var(--accent); } +.btn-copy.copied { color: var(--success); border-color: var(--success); } + /* Log Viewer */ .logs-toolbar { display: flex; diff --git a/src/static/js/dashboard.js b/src/static/js/dashboard.js index 4a88b5cc..5390b28c 100644 --- a/src/static/js/dashboard.js +++ b/src/static/js/dashboard.js @@ -1,5 +1,14 @@ // src/static/js/dashboard.js - Dashboard tab logic +const API_ENDPOINTS = [ + { method: "POST", path: "/v1/chat/completions", desc: "OpenAI-compatible chat completions" }, + { method: "POST", path: "/gemini", desc: "Stateless content generation" }, + { method: "POST", path: "/gemini-chat", desc: "Stateful chat with context" }, + { method: "POST", path: "/translate", desc: "Translation (alias for gemini-chat)" }, + { method: "POST", path: "/v1beta/models/{model}", desc: "Google Generative AI format" }, + { method: "GET", path: "/docs", desc: "Swagger / OpenAPI documentation" }, +]; + const Dashboard = { intervalId: null, @@ -20,6 +29,25 @@ const Dashboard = { this.refresh(); } }); + + // Render API Reference (static, only once) + this.renderApiReference(); + + // Copy button handlers + document.querySelectorAll(".btn-copy").forEach(btn => { + btn.addEventListener("click", () => { + const targetId = btn.dataset.copyTarget; + const el = document.getElementById(targetId); + if (!el) return; + const text = el.textContent; + navigator.clipboard.writeText(text).then(() => { + const orig = btn.textContent; + btn.textContent = "Copied!"; + btn.classList.add("copied"); + setTimeout(() => { btn.textContent = orig; btn.classList.remove("copied"); }, 1500); + }); + }); + }); }, activate() { @@ -78,4 +106,38 @@ const Dashboard = { .map(([path, count]) => `${escapeHtml(path)}${count}`) .join(""); }, + + getBaseUrl() { + return window.location.origin; + }, + + renderApiReference() { + const baseUrl = this.getBaseUrl(); + document.getElementById("api-base-url").textContent = baseUrl; + + const tbody = document.getElementById("api-ref-tbody"); + tbody.innerHTML = API_ENDPOINTS.map(ep => { + const fullUrl = baseUrl + ep.path; + const urlId = "url-" + ep.path.replace(/[^a-zA-Z0-9]/g, "-"); + return ` + ${ep.method} + ${escapeHtml(ep.path)} + ${escapeHtml(ep.desc)} + + `; + }).join(""); + + // Attach click handlers for dynamically created copy buttons + tbody.querySelectorAll(".btn-copy").forEach(btn => { + btn.addEventListener("click", () => { + const text = btn.dataset.copyValue; + navigator.clipboard.writeText(text).then(() => { + const orig = btn.textContent; + btn.textContent = "Copied!"; + btn.classList.add("copied"); + setTimeout(() => { btn.textContent = orig; btn.classList.remove("copied"); }, 1500); + }); + }); + }); + }, }; diff --git a/src/templates/admin.html b/src/templates/admin.html index ce180fe6..abcba8e6 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -4,6 +4,7 @@ WebAI-to-API Admin + @@ -55,6 +56,27 @@

Endpoint Activity

No requests yet

+
+

API Reference

+

Use these endpoints to connect from n8n, Claude Code, or any OpenAI-compatible client.

+
+ Base URL + -- + +
+ + + + + + + + + + +
MethodEndpointDescription
+
+
From 1f86435ce7699b013ef4c49747ecf2e00d35b810 Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 08:25:57 +0700 Subject: [PATCH 04/32] fix: persist config across Docker container restarts Config was lost on container restart because it was written inside the ephemeral container filesystem. Now uses a named Docker volume mounted at /app/data with CONFIG_PATH env var pointing to /app/data/config.conf. - Add CONFIG_PATH environment variable support in config.py - Auto-copy bundled config.conf to data dir on first start - Use named volume (webai_data) in docker-compose.yml - Cookies and settings now survive container restarts Co-Authored-By: Claude Opus 4.6 --- docker-compose.dev.yml | 3 --- docker-compose.yml | 9 ++++++--- src/app/config.py | 30 ++++++++++++++++++++++++++++-- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index b0c1f7a3..5b0647a7 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -7,6 +7,3 @@ services: web_ai: build: . image: webai-to-api:dev - # Uncomment below if your project path has no spaces: - # volumes: - # - ./config.conf:/app/config.conf diff --git a/docker-compose.yml b/docker-compose.yml index 1f54684c..aade94d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,10 +18,13 @@ services: environment: - PYTHONPATH=/app/src - ENVIRONMENT=${ENVIRONMENT:-production} - # Optional: mount config.conf for cookie persistence across container restarts - # volumes: - # - ./config.conf:/app/config.conf + - CONFIG_PATH=/app/data/config.conf + volumes: + - webai_data:/app/data command: > sh -c " uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 1 --log-level info; " + +volumes: + webai_data: diff --git a/src/app/config.py b/src/app/config.py index 66907b2e..3681efee 100644 --- a/src/app/config.py +++ b/src/app/config.py @@ -1,11 +1,35 @@ # src/app/config.py import configparser import logging +import os +import shutil logger = logging.getLogger(__name__) +# Allow overriding config path via environment variable. +# In Docker, set CONFIG_PATH=/app/data/config.conf with a volume on /app/data. +DEFAULT_CONFIG_PATH = os.environ.get("CONFIG_PATH", "config.conf") -def load_config(config_file: str = "config.conf") -> configparser.ConfigParser: + +def _ensure_config_exists(config_file: str) -> None: + """If config_file doesn't exist, copy from bundled default or create empty.""" + if os.path.exists(config_file): + return + # Create parent directory if needed + parent = os.path.dirname(config_file) + if parent: + os.makedirs(parent, exist_ok=True) + # Try to copy bundled config.conf as starting point + bundled = os.path.join(os.path.dirname(os.path.dirname(__file__)), "..", "config.conf") + if os.path.exists(bundled): + shutil.copy2(bundled, config_file) + logger.info(f"Copied bundled config to {config_file}") + + +def load_config(config_file: str = None) -> configparser.ConfigParser: + if config_file is None: + config_file = DEFAULT_CONFIG_PATH + _ensure_config_exists(config_file) config = configparser.ConfigParser() try: # FIX: Explicitly specify UTF-8 encoding to prevent UnicodeDecodeError on Windows. @@ -39,8 +63,10 @@ def load_config(config_file: str = "config.conf") -> configparser.ConfigParser: return config -def write_config(config: configparser.ConfigParser, config_file: str = "config.conf") -> bool: +def write_config(config: configparser.ConfigParser, config_file: str = None) -> bool: """Write the current config state to disk.""" + if config_file is None: + config_file = DEFAULT_CONFIG_PATH try: with open(config_file, "w", encoding="utf-8") as f: config.write(f) From a29e432ea0466f00f61c15dd51cc9e3c1671a0a9 Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 08:54:49 +0700 Subject: [PATCH 05/32] feat: add /v1/models endpoint and improve error handling - Add OpenAI-compatible GET /v1/models endpoint for client discovery - Classify init errors with error_code (auth_expired, no_cookies, network, disabled) - Show actionable step-by-step guidance when connection fails - Always refresh cookie status after import regardless of success - Add error_code to all admin API responses Co-Authored-By: Claude Opus 4.6 --- src/app/endpoints/admin_api.py | 20 ++++++++--- src/app/endpoints/chat.py | 19 +++++++++- src/app/services/gemini_client.py | 36 ++++++++++++------- src/static/css/admin.css | 19 ++++++++++ src/static/js/config.js | 22 ++++++++---- src/static/js/dashboard.js | 37 ++++++++++++++++--- src/static/js/utils.js | 60 +++++++++++++++++++++++++++++++ 7 files changed, 183 insertions(+), 30 deletions(-) diff --git a/src/app/endpoints/admin_api.py b/src/app/endpoints/admin_api.py index ef3f3204..39d5ee2d 100644 --- a/src/app/endpoints/admin_api.py +++ b/src/app/endpoints/admin_api.py @@ -58,6 +58,7 @@ async def get_status(): return { "gemini_status": gemini_status, "client_error": client_status.get("error"), + "error_code": client_status.get("error_code"), "current_model": CONFIG["AI"].get("default_model_gemini", "unknown"), "proxy": CONFIG["Proxy"].get("http_proxy", ""), "browser": CONFIG["Browser"].get("name", "unknown"), @@ -114,13 +115,17 @@ async def import_from_curl(request: CurlImportRequest): write_config(CONFIG) logger.info("Cookies imported from cURL, reinitializing client...") success = await init_gemini_client() + status = get_client_status() return { "success": success, + "cookies_saved": True, "message": ( - "Cookies imported and client reinitialized" + "Cookies imported and client connected successfully!" if success - else "Cookies imported but client reinitialization failed" + else "Cookies saved but connection failed" ), + "error_code": status.get("error_code"), + "error_detail": status.get("error"), "url_detected": result.url, } @@ -133,9 +138,13 @@ async def update_cookies(request: CookieUpdateRequest): write_config(CONFIG) logger.info("Cookies updated via admin UI, reinitializing client...") success = await init_gemini_client() + status = get_client_status() return { "success": success, - "message": "Client reinitialized" if success else "Reinitialization failed", + "cookies_saved": True, + "message": "Client connected successfully!" if success else "Cookies saved but connection failed", + "error_code": status.get("error_code"), + "error_detail": status.get("error"), } @@ -161,9 +170,12 @@ async def update_proxy(request: ProxyUpdateRequest): async def reinitialize_client(): """Force reinitialize the Gemini client with current config.""" success = await init_gemini_client() + status = get_client_status() return { "success": success, - "message": "Client reinitialized" if success else "Reinitialization failed", + "message": "Client connected successfully!" if success else "Connection failed", + "error_code": status.get("error_code"), + "error_detail": status.get("error"), } diff --git a/src/app/endpoints/chat.py b/src/app/endpoints/chat.py index 4c496509..5bc421be 100644 --- a/src/app/endpoints/chat.py +++ b/src/app/endpoints/chat.py @@ -2,12 +2,29 @@ import time from fastapi import APIRouter, HTTPException from app.logger import logger -from schemas.request import GeminiRequest, OpenAIChatRequest +from app.config import CONFIG +from schemas.request import GeminiModels, GeminiRequest, OpenAIChatRequest from app.services.gemini_client import get_gemini_client, GeminiClientNotInitializedError from app.services.session_manager import get_translate_session_manager router = APIRouter() + +@router.get("/v1/models") +async def list_models(): + """List available models in OpenAI-compatible format.""" + now = int(time.time()) + models = [ + { + "id": m.value, + "object": "model", + "created": now, + "owned_by": "google", + } + for m in GeminiModels + ] + return {"object": "list", "data": models} + @router.post("/translate") async def translate_chat(request: GeminiRequest): try: diff --git a/src/app/services/gemini_client.py b/src/app/services/gemini_client.py index 3b5c8844..1735dd4e 100644 --- a/src/app/services/gemini_client.py +++ b/src/app/services/gemini_client.py @@ -16,14 +16,16 @@ class GeminiClientNotInitializedError(Exception): # Global variable to store the Gemini client instance _gemini_client = None _initialization_error = None +_error_code = None # "auth_expired", "no_cookies", "network", "disabled", "unknown" async def init_gemini_client() -> bool: """ Initialize and set up the Gemini client based on the configuration. Returns True on success, False on failure. """ - global _gemini_client, _initialization_error + global _gemini_client, _initialization_error, _error_code _initialization_error = None + _error_code = None if CONFIG.getboolean("EnabledAI", "gemini", fallback=True): try: @@ -45,28 +47,35 @@ async def init_gemini_client() -> bool: logger.info("Gemini client initialized successfully.") return True else: - error_msg = "Gemini cookies not found. Please provide cookies in config.conf or ensure browser is logged in." - logger.error(error_msg) - _initialization_error = error_msg + _error_code = "no_cookies" + _initialization_error = "Gemini cookies not found." + logger.error(_initialization_error) return False except AuthError as e: - error_msg = f"Gemini authentication failed: {e}. This usually means cookies are expired or invalid." - logger.error(error_msg) + _error_code = "auth_expired" + _initialization_error = str(e) + logger.error(f"Gemini authentication failed: {e}") + _gemini_client = None + return False + + except (ConnectionError, OSError, TimeoutError) as e: + _error_code = "network" + _initialization_error = str(e) + logger.error(f"Network error initializing Gemini client: {e}") _gemini_client = None - _initialization_error = error_msg return False except Exception as e: - error_msg = f"Unexpected error initializing Gemini client: {e}" - logger.error(error_msg, exc_info=True) + _error_code = "unknown" + _initialization_error = str(e) + logger.error(f"Unexpected error initializing Gemini client: {e}", exc_info=True) _gemini_client = None - _initialization_error = error_msg return False else: - error_msg = "Gemini client is disabled in config." - logger.info(error_msg) - _initialization_error = error_msg + _error_code = "disabled" + _initialization_error = "Gemini client is disabled in config." + logger.info(_initialization_error) return False @@ -88,5 +97,6 @@ def get_client_status() -> dict: return { "initialized": _gemini_client is not None, "error": _initialization_error, + "error_code": _error_code, } diff --git a/src/static/css/admin.css b/src/static/css/admin.css index 768f15f5..47b7ba38 100644 --- a/src/static/css/admin.css +++ b/src/static/css/admin.css @@ -275,8 +275,27 @@ details.collapsible summary:hover { color: var(--text-primary); } .result-box.success { background: var(--success-bg); color: var(--success); } .result-box.error { background: var(--error-bg); color: var(--error); } .result-box.warning { background: var(--warning-bg); color: var(--warning); } +.result-box strong { display: block; margin-bottom: 4px; } .hidden { display: none; } +.error-steps { + margin: 8px 0 4px 0; + padding-left: 8px; + list-style: none; + font-size: 0.825rem; + line-height: 1.7; +} +.error-steps li { color: var(--text-primary); } +.error-note { + margin-top: 8px; + padding: 8px 10px; + background: rgba(255,255,255,0.04); + border-radius: var(--radius-sm); + font-size: 0.8rem; + color: var(--text-secondary); + font-style: italic; +} + .inline-result { font-size: 0.8rem; margin-left: 8px; diff --git a/src/static/js/config.js b/src/static/js/config.js index 8942bd3f..ef4eeb77 100644 --- a/src/static/js/config.js +++ b/src/static/js/config.js @@ -70,13 +70,16 @@ const Config = { try { const data = await api.post("/api/admin/config/curl-import", { curl_text: text }); + // Always refresh — cookies are saved even if reinit fails + this.refresh(); + Dashboard.refresh(); if (data.success) { - showResult(resultDiv, "success", data.message + (data.url_detected ? " (URL: " + data.url_detected + ")" : "")); + showResult(resultDiv, "success", data.message); textarea.value = ""; - this.refresh(); - Dashboard.refresh(); } else { - showResult(resultDiv, "warning", data.message); + const html = buildErrorMessage(data); + showResultHtml(resultDiv, "error", + `Cookies saved, but connection failed:

` + html); } } catch (err) { const detail = err.detail || {}; @@ -105,11 +108,16 @@ const Config = { secure_1psid: psid, secure_1psidts: psidts, }); - showResult(resultDiv, data.success ? "success" : "warning", data.message); - document.getElementById("manual-1psid").value = ""; - document.getElementById("manual-1psidts").value = ""; this.refresh(); Dashboard.refresh(); + if (data.success) { + showResult(resultDiv, "success", data.message); + document.getElementById("manual-1psid").value = ""; + document.getElementById("manual-1psidts").value = ""; + } else { + showResultHtml(resultDiv, "error", + `Cookies saved, but connection failed:

` + buildErrorMessage(data)); + } } catch (err) { showResult(resultDiv, "error", "Failed: " + (err.detail || "Unknown error")); } diff --git a/src/static/js/dashboard.js b/src/static/js/dashboard.js index 5390b28c..90ba6094 100644 --- a/src/static/js/dashboard.js +++ b/src/static/js/dashboard.js @@ -1,6 +1,7 @@ // src/static/js/dashboard.js - Dashboard tab logic const API_ENDPOINTS = [ + { method: "GET", path: "/v1/models", desc: "List available models (OpenAI-compatible)" }, { method: "POST", path: "/v1/chat/completions", desc: "OpenAI-compatible chat completions" }, { method: "POST", path: "/gemini", desc: "Stateless content generation" }, { method: "POST", path: "/gemini-chat", desc: "Stateful chat with context" }, @@ -15,14 +16,19 @@ const Dashboard = { init() { document.getElementById("btn-reinit").addEventListener("click", async () => { const btn = document.getElementById("btn-reinit"); - const result = document.getElementById("reinit-result"); + const resultEl = document.getElementById("reinit-result"); btn.disabled = true; btn.textContent = "Reinitializing..."; try { const data = await api.post("/api/admin/client/reinitialize"); - showInline(result, data.message, !data.success); + if (data.success) { + showInline(resultEl, data.message, false); + } else { + resultEl.innerHTML = buildErrorMessage(data); + resultEl.style.color = "var(--error)"; + } } catch (err) { - showInline(result, "Failed: " + (err.detail || "Unknown error"), true); + showInline(resultEl, "Failed: " + (err.detail || "Unknown error"), true); } finally { btn.disabled = false; btn.textContent = "Reinitialize Gemini Client"; @@ -74,8 +80,29 @@ const Dashboard = { updateCards(data) { const statusEl = document.getElementById("val-status"); - statusEl.textContent = data.gemini_status === "connected" ? "Connected" : "Disconnected"; - statusEl.style.color = data.gemini_status === "connected" ? "var(--success)" : "var(--error)"; + const statusCard = document.getElementById("card-status"); + if (data.gemini_status === "connected") { + statusEl.textContent = "Connected"; + statusEl.style.color = "var(--success)"; + statusCard.querySelector(".stat-detail")?.remove(); + } else { + statusEl.textContent = "Disconnected"; + statusEl.style.color = "var(--error)"; + // Show error hint under status card + let detailEl = statusCard.querySelector(".stat-detail"); + if (!detailEl) { + detailEl = document.createElement("div"); + detailEl.className = "stat-detail"; + statusCard.appendChild(detailEl); + } + const hints = { + auth_expired: "Cookie expired — get fresh cookies", + no_cookies: "No cookies — go to Configuration tab", + network: "Network error — check connection/proxy", + disabled: "Gemini disabled in config", + }; + detailEl.innerHTML = `${escapeHtml(hints[data.error_code] || data.client_error || "Check Configuration tab")}`; + } document.getElementById("val-model").textContent = data.current_model || "--"; document.getElementById("val-requests").textContent = data.stats.total_requests; diff --git a/src/static/js/utils.js b/src/static/js/utils.js index 4ad5411a..5bbfe825 100644 --- a/src/static/js/utils.js +++ b/src/static/js/utils.js @@ -41,3 +41,63 @@ function escapeHtml(text) { d.textContent = text; return d.innerHTML; } + +/** + * Build a user-friendly error message with actionable guidance based on error_code. + */ +function buildErrorMessage(data) { + const code = data.error_code; + const detail = data.error_detail || ""; + const hints = { + auth_expired: { + title: "Cookie expired or invalid", + steps: [ + "1. Open Chrome \u2192 go to gemini.google.com \u2192 make sure you are logged in", + "2. Open DevTools (F12) \u2192 Network tab", + "3. Reload the page, right-click any request \u2192 Copy as cURL", + "4. Paste it in the Configuration tab \u2192 Import Cookies", + ], + note: "Cookies (especially __Secure-1PSIDTS) expire frequently. You may need to repeat this every few hours.", + }, + no_cookies: { + title: "No cookies configured", + steps: [ + "1. Go to the Configuration tab", + "2. Paste a cURL from gemini.google.com DevTools \u2192 Import Cookies", + ], + note: null, + }, + network: { + title: "Cannot reach gemini.google.com", + steps: [ + "Check your internet connection or proxy settings.", + "If behind a firewall, configure the proxy in the Configuration tab.", + ], + note: detail || null, + }, + disabled: { + title: "Gemini is disabled in configuration", + steps: ["Enable Gemini in config.conf under [EnabledAI] section."], + note: null, + }, + }; + const info = hints[code] || { + title: "Connection failed", + steps: [detail || "Check the Logs tab for details."], + note: null, + }; + let html = `${escapeHtml(info.title)}`; + html += `
    `; + info.steps.forEach(s => { html += `
  • ${escapeHtml(s)}
  • `; }); + html += `
`; + if (info.note) { + html += `
${escapeHtml(info.note)}
`; + } + return html; +} + +function showResultHtml(el, type, html) { + el.innerHTML = html; + el.className = `result-box ${type}`; + el.classList.remove("hidden"); +} From d7935c19fba03a431d3db2699ce76897b01e3981 Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 09:05:19 +0700 Subject: [PATCH 06/32] fix: show OpenAI Base URL with /v1 suffix for client compatibility OpenAI-compatible clients expect base URL ending with /v1. Dashboard now shows both OpenAI Base URL (/v1) and Server URL. Co-Authored-By: Claude Opus 4.6 --- src/static/js/dashboard.js | 3 ++- src/templates/admin.html | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/static/js/dashboard.js b/src/static/js/dashboard.js index 90ba6094..62effe26 100644 --- a/src/static/js/dashboard.js +++ b/src/static/js/dashboard.js @@ -140,7 +140,8 @@ const Dashboard = { renderApiReference() { const baseUrl = this.getBaseUrl(); - document.getElementById("api-base-url").textContent = baseUrl; + document.getElementById("api-base-url").textContent = baseUrl + "/v1"; + document.getElementById("api-server-url").textContent = baseUrl; const tbody = document.getElementById("api-ref-tbody"); tbody.innerHTML = API_ENDPOINTS.map(ep => { diff --git a/src/templates/admin.html b/src/templates/admin.html index abcba8e6..93978c88 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -60,10 +60,15 @@

Endpoint Activity

API Reference

Use these endpoints to connect from n8n, Claude Code, or any OpenAI-compatible client.

- Base URL + OpenAI Base URL --
+
+ Server URL + -- + +
From 519e24b4100883182225cec491f010cb207edcfa Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 09:15:45 +0700 Subject: [PATCH 07/32] =?UTF-8?q?refactor:=20clean=20up=20API=20Reference?= =?UTF-8?q?=20=E2=80=94=20show=20full=20URLs,=20remove=20noise?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove Server URL (redundant), keep only Base URL with /v1 - Show full URLs in endpoint table for direct copy-paste - Remove /docs and /translate from listing (noise for clients) - Clarify format in descriptions (OpenAI / Google AI / simple JSON) Co-Authored-By: Claude Opus 4.6 --- src/static/css/admin.css | 2 +- src/static/js/dashboard.js | 18 +++++++----------- src/templates/admin.html | 7 +------ 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/src/static/css/admin.css b/src/static/css/admin.css index 47b7ba38..e1397e54 100644 --- a/src/static/css/admin.css +++ b/src/static/css/admin.css @@ -324,7 +324,7 @@ details.collapsible summary:hover { color: var(--text-primary); } .api-ref-table td:last-child { text-align: center; font-family: var(--font-sans); } .api-ref-table .api-desc { color: var(--text-secondary); font-size: 0.825rem; } -.api-ref-table code { color: var(--text-primary); } +.api-ref-table code { color: var(--text-primary); word-break: break-all; } .method-badge { display: inline-block; diff --git a/src/static/js/dashboard.js b/src/static/js/dashboard.js index 62effe26..98c2cc1b 100644 --- a/src/static/js/dashboard.js +++ b/src/static/js/dashboard.js @@ -1,13 +1,11 @@ // src/static/js/dashboard.js - Dashboard tab logic const API_ENDPOINTS = [ - { method: "GET", path: "/v1/models", desc: "List available models (OpenAI-compatible)" }, - { method: "POST", path: "/v1/chat/completions", desc: "OpenAI-compatible chat completions" }, - { method: "POST", path: "/gemini", desc: "Stateless content generation" }, - { method: "POST", path: "/gemini-chat", desc: "Stateful chat with context" }, - { method: "POST", path: "/translate", desc: "Translation (alias for gemini-chat)" }, - { method: "POST", path: "/v1beta/models/{model}", desc: "Google Generative AI format" }, - { method: "GET", path: "/docs", desc: "Swagger / OpenAPI documentation" }, + { method: "GET", path: "/v1/models", desc: "List available models" }, + { method: "POST", path: "/v1/chat/completions", desc: "Chat completions — OpenAI format" }, + { method: "POST", path: "/v1beta/models/{model}", desc: "Generate content — Google AI format" }, + { method: "POST", path: "/gemini", desc: "Generate content — simple JSON format" }, + { method: "POST", path: "/gemini-chat", desc: "Chat with context — simple JSON format" }, ]; const Dashboard = { @@ -141,17 +139,15 @@ const Dashboard = { renderApiReference() { const baseUrl = this.getBaseUrl(); document.getElementById("api-base-url").textContent = baseUrl + "/v1"; - document.getElementById("api-server-url").textContent = baseUrl; const tbody = document.getElementById("api-ref-tbody"); tbody.innerHTML = API_ENDPOINTS.map(ep => { const fullUrl = baseUrl + ep.path; - const urlId = "url-" + ep.path.replace(/[^a-zA-Z0-9]/g, "-"); return ` - + - + `; }).join(""); diff --git a/src/templates/admin.html b/src/templates/admin.html index 93978c88..abcba8e6 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -60,15 +60,10 @@

Endpoint Activity

API Reference

Use these endpoints to connect from n8n, Claude Code, or any OpenAI-compatible client.

- OpenAI Base URL + Base URL --
-
- Server URL - -- - -
${ep.method}${escapeHtml(ep.path)}${escapeHtml(fullUrl)} ${escapeHtml(ep.desc)}
From cddab615e6f3841a278df337b8ba9f73dc1df136 Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 18 Feb 2026 14:37:06 +0700 Subject: [PATCH 08/32] feat: persist rotated Gemini cookies to config.conf on restart gemini-webapi rotates __Secure-1PSIDTS in-memory every ~9 min but never writes updated values to disk. On server restart the original (potentially expired) cookies were reloaded from config.conf. Add a background asyncio task (_persist_cookies_loop) that checks every 10 minutes whether the in-memory cookie values differ from config.conf and writes any changes to disk. Start/stop the task in the FastAPI lifespan alongside session manager initialisation. --- src/app/main.py | 6 ++- src/app/services/gemini_client.py | 65 ++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 3 deletions(-) diff --git a/src/app/main.py b/src/app/main.py index 160f38e3..316892e9 100644 --- a/src/app/main.py +++ b/src/app/main.py @@ -7,7 +7,7 @@ from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles -from app.services.gemini_client import get_gemini_client, init_gemini_client, GeminiClientNotInitializedError +from app.services.gemini_client import get_gemini_client, init_gemini_client, GeminiClientNotInitializedError, start_cookie_persister, stop_cookie_persister from app.services.session_manager import init_session_managers from app.services.log_broadcaster import SSELogBroadcaster, BroadcastLogHandler from app.services.stats_collector import StatsCollector @@ -58,13 +58,15 @@ async def lifespan(app: FastAPI): try: get_gemini_client() init_session_managers() + start_cookie_persister() logger.info("Session managers initialized for WebAI-to-API.") except GeminiClientNotInitializedError as e: logger.warning(f"Session managers not initialized: {e}") yield - # Remove log handler on shutdown + # Cleanup on shutdown + stop_cookie_persister() logging.getLogger().removeHandler(handler) logger.info("Application shutdown complete.") diff --git a/src/app/services/gemini_client.py b/src/app/services/gemini_client.py index 1735dd4e..2defe8bf 100644 --- a/src/app/services/gemini_client.py +++ b/src/app/services/gemini_client.py @@ -1,6 +1,7 @@ # src/app/services/gemini_client.py +import asyncio from models.gemini import MyGeminiClient -from app.config import CONFIG +from app.config import CONFIG, write_config from app.logger import logger from app.utils.browser import get_cookie_from_browser @@ -17,6 +18,7 @@ class GeminiClientNotInitializedError(Exception): _gemini_client = None _initialization_error = None _error_code = None # "auth_expired", "no_cookies", "network", "disabled", "unknown" +_persist_task: asyncio.Task = None # Background task for persisting rotated cookies async def init_gemini_client() -> bool: """ @@ -100,3 +102,64 @@ def get_client_status() -> dict: "error_code": _error_code, } + +async def _persist_cookies_loop(): + """ + Background task that watches for cookie rotation by gemini-webapi's auto_refresh + mechanism and persists any updated values back to config.conf. + + The library rotates __Secure-1PSIDTS every ~9 minutes in-memory only. + Without this task, a server restart would reload the original (expired) cookies. + """ + # Wait one full refresh cycle before first check so the library has time to rotate + await asyncio.sleep(600) + while True: + try: + if _gemini_client is not None: + # Access the underlying WebGeminiClient cookies dict + client_cookies = _gemini_client.client.cookies + new_1psid = client_cookies.get("__Secure-1PSID") + new_1psidts = client_cookies.get("__Secure-1PSIDTS") + + current_1psid = CONFIG["Cookies"].get("gemini_cookie_1PSID", "") + current_1psidts = CONFIG["Cookies"].get("gemini_cookie_1PSIDTS", "") + + changed = False + if new_1psid and new_1psid != current_1psid: + CONFIG["Cookies"]["gemini_cookie_1PSID"] = new_1psid + changed = True + logger.info("__Secure-1PSID rotated — will persist to config.") + if new_1psidts and new_1psidts != current_1psidts: + CONFIG["Cookies"]["gemini_cookie_1PSIDTS"] = new_1psidts + changed = True + logger.info("__Secure-1PSIDTS rotated — will persist to config.") + + if changed: + write_config(CONFIG) + logger.info("Rotated Gemini cookies persisted to config.conf.") + except asyncio.CancelledError: + raise + except Exception as e: + logger.warning(f"Cookie persist check failed: {e}") + + await asyncio.sleep(600) # Re-check every 10 minutes + + +def start_cookie_persister() -> asyncio.Task: + """Start the background cookie-persist task. Safe to call multiple times.""" + global _persist_task + if _persist_task is not None and not _persist_task.done(): + return _persist_task + _persist_task = asyncio.create_task(_persist_cookies_loop()) + logger.info("Cookie persist task started (checks every 10 min).") + return _persist_task + + +def stop_cookie_persister(): + """Cancel the cookie persister task on shutdown.""" + global _persist_task + if _persist_task is not None and not _persist_task.done(): + _persist_task.cancel() + logger.info("Cookie persist task stopped.") + _persist_task = None + From aea0ef196f8f9b46bc3d4d563e7817ccf3496fd2 Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 11:41:49 +0700 Subject: [PATCH 09/32] =?UTF-8?q?docs:=20simplify=20Docker=20deployment=20?= =?UTF-8?q?=E2=80=94=20no=20.env=20required?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docker-compose.yml: remove env_file/.env dependency (ENVIRONMENT var was never used by the hardcoded uvicorn command); keep only PYTHONPATH and CONFIG_PATH which are actually needed. Remove docker-compose.override.yml: it was auto-loaded on every `docker compose up`, had incorrect sync paths (./app doesn't exist), and served no purpose for regular users. Makefile: drop `include .env` (fails when file missing); switch to `docker compose` v2 CLI; add logs/pull/restart targets; add up-dev for local builds. Docker.md: rewrite as a clear step-by-step guide focused on what users actually need — copy config.conf, add cookies, `docker compose up -d`. Documents cookie auto-persistence, port change, and local build. README.md: expand Docker section with inline quick-start instead of just pointing to Docker.md. --- Docker.md | 117 ++++++++++++++++++++++-------------- Makefile | 34 +++++------ README.md | 33 +++++++++- docker-compose.override.yml | 17 ------ docker-compose.yml | 16 ++--- 5 files changed, 122 insertions(+), 95 deletions(-) delete mode 100644 docker-compose.override.yml diff --git a/Docker.md b/Docker.md index 904f4e0f..cb2697da 100644 --- a/Docker.md +++ b/Docker.md @@ -1,86 +1,111 @@ -## 🐳 Docker Deployment Guide +# 🐳 Docker Deployment Guide -### Prerequisites - -Ensure you have the following installed on your system: +## Prerequisites - [Docker](https://docs.docker.com/get-docker/) -- [Docker Compose v2.24+](https://docs.docker.com/compose/) -- GNU Make (optional but recommended) +- [Docker Compose v2](https://docs.docker.com/compose/) (included with Docker Desktop) --- -### 🛠️ Docker Environment Configuration - -This project uses a `.env` file for environment-specific settings like development or production mode on docker. +## Quick Start -#### Example `.env` +### 1. Clone the repository -```env -# Set the environment mode -ENVIRONMENT=development +```bash +git clone https://github.com/leolionart/WebAI-to-API.git +cd WebAI-to-API ``` -- `ENVIRONMENT=development`: Runs the server in **development** mode with auto-reload and debug logs. -- Change to `ENVIRONMENT=production` to enable **multi-worker production** mode with detached execution (`make up`). +### 2. Create your config file -> **Tip:** If this variable is not set, the default is automatically assumed to be `development`. +```bash +cp config.conf.example config.conf +``` ---- +Open `config.conf` and fill in your Gemini cookies: -### 🚀 Build & Run +```ini +[Cookies] +gemini_cookie_1psid = YOUR___Secure-1PSID_HERE +gemini_cookie_1psidts = YOUR___Secure-1PSIDTS_HERE +``` -> Use `make` commands for simplified usage. +> **Where to get cookies:** +> 1. Log in to [gemini.google.com](https://gemini.google.com) in your browser +> 2. Open DevTools (`F12`) → **Application** → **Cookies** → `https://gemini.google.com` +> 3. Copy the values of `__Secure-1PSID` and `__Secure-1PSIDTS` -#### 🔧 Build the Docker image +### 3. Start the server ```bash -make build # Regular build -make build-fresh # Force clean build (no cache) +docker compose up -d ``` -#### ▶️ Run the server +The API is now available at **`http://localhost:6969`**. -```bash -make up -``` +--- + +## Cookie Persistence -Depending on the environment: +Config is stored in a Docker named volume (`webai_data`) mapped to `/app/data/config.conf` inside the container. This means: -- In **development**, the server runs in the foreground with hot-reloading. -- In **production**, the server runs in **detached mode** (`-d`) with multiple workers. +- Cookies survive container restarts and image updates +- The server automatically rotates `__Secure-1PSIDTS` every ~10 minutes and writes the updated value back to `config.conf` — so your session stays valid without manual intervention -#### ⏹ Stop the server +--- + +## Useful Commands + +| Command | Description | +|---------|-------------| +| `docker compose up -d` | Start in background | +| `docker compose down` | Stop and remove containers | +| `docker compose logs -f` | Stream live logs | +| `docker compose pull && docker compose up -d` | Update to latest image | +| `docker compose restart` | Restart without recreating | + +Or use the provided `Makefile` shortcuts: ```bash -make stop +make up # docker compose up -d +make down # docker compose down +make logs # docker compose logs -f +make pull # docker compose pull +make restart # down + up ``` --- -### 🧠 Development Notes +## Building Locally -- **Reloading**: In development, the server uses `uvicorn --reload` for live updates. -- **Logging**: On container start, it prints the current environment with colors (🟡 dev / ⚪ production). -- **Watch Mode (optional)**: Docker Compose v2.24+ supports file watching via the `compose watch` feature. If enabled, press `w` to toggle. +If you want to build the image from source instead of pulling from GHCR: + +```bash +docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build +``` + +Or edit `docker-compose.yml` directly: comment out the `image:` line and uncomment `build: .`. --- -### 📦 File Structure for Docker +## Changing the Port -Key files: +Edit `docker-compose.yml` and update the port mapping: -```plaintext -. -├── Dockerfile # Base image and command logic -├── docker-compose.yml # Shared config (network, ports, env) -├── .env # Defines ENVIRONMENT (development/production) -├── Makefile # Simplifies Docker CLI usage +```yaml +ports: + - "8080:6969" # expose on host port 8080 instead of 6969 ``` --- -### ✅ Best Practices +## File Overview -- Don't use `ENVIRONMENT=development` in **production**. -- Avoid bind mounts (`volumes`) in production to ensure image consistency. +``` +. +├── Dockerfile # Image build instructions +├── docker-compose.yml # Main compose config (production) +├── docker-compose.dev.yml # Local build override +├── config.conf # Your config — cookies, model, proxy (gitignored) +└── config.conf.example # Template to copy from +``` diff --git a/Makefile b/Makefile index 8b72b723..ed461d39 100644 --- a/Makefile +++ b/Makefile @@ -1,29 +1,25 @@ -# Makefile - -# Load .env file if it exists -include .env -export $(shell sed 's/=.*//' .env) +# Makefile — convenience shortcuts for Docker operations build: - docker build -t cornatul/webai.ai:latest . + docker compose build build-fresh: - docker build --no-cache -t cornatul/webai.ai:latest . + docker compose build --no-cache up: - @if [ "$(ENVIRONMENT)" = "development" ]; then \ - printf "\033[1;33m🧪 Running in DEVELOPMENT mode...\033[0m\n"; \ - docker-compose up; \ - else \ - printf "\033[0;37m🚀 Running in PRODUCTION mode...\033[0m\n"; \ - docker-compose up -d; \ - fi + docker compose up -d -stop: - docker-compose down +up-dev: + docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build down: - docker-compose down + docker compose down + +logs: + docker compose logs -f + +pull: + docker compose pull -push: - docker push cornatul/webai.ai:latest +restart: + docker compose down && docker compose up -d diff --git a/README.md b/README.md index 7523ff17..7031a99c 100644 --- a/README.md +++ b/README.md @@ -373,9 +373,38 @@ The project is built on a modular architecture designed for scalability and ease --- -## 🐳 Docker Deployment Guide +## 🐳 Docker Deployment -For Docker setup and deployment instructions, please refer to the [Docker.md](Docker.md) documentation. +### Quick Start + +```bash +# 1. Clone and enter the repo +git clone https://github.com/leolionart/WebAI-to-API.git +cd WebAI-to-API + +# 2. Create config from template +cp config.conf.example config.conf +``` + +Open `config.conf` and fill in your Gemini cookies: + +```ini +[Cookies] +gemini_cookie_1psid = YOUR___Secure-1PSID_HERE +gemini_cookie_1psidts = YOUR___Secure-1PSIDTS_HERE +``` + +> Get cookies from [gemini.google.com](https://gemini.google.com) → DevTools → Application → Cookies + +```bash +# 3. Start the server +docker compose up -d +``` + +API is available at **`http://localhost:6969`**. +Cookies are persisted in a Docker volume and auto-rotated — no manual refresh needed. + +For full details (port change, local build, Makefile shortcuts), see [Docker.md](Docker.md). --- diff --git a/docker-compose.override.yml b/docker-compose.override.yml deleted file mode 100644 index 82fbdc6e..00000000 --- a/docker-compose.override.yml +++ /dev/null @@ -1,17 +0,0 @@ -# docker-compose.override.yml - -# This file is for development mode only. - -services: - web_ai: - develop: - watch: - - action: sync - path: ./src - target: /app/src - - action: sync - path: ./app - target: /app/app - - action: sync - path: ./requirements.txt - target: /app/requirements.txt diff --git a/docker-compose.yml b/docker-compose.yml index aade94d9..85481b8c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,30 +1,24 @@ # docker-compose.yml - +# # Production deployment using pre-built image from GitHub Container Registry. -# Image is auto-built on push to master via GitHub Actions. +# Image is automatically rebuilt on every push to master via GitHub Actions. # -# To build locally instead, uncomment "build: ." and comment out the image line. +# To build locally instead of pulling, uncomment "build: ." and remove the "image:" line. services: web_ai: - # build: . image: ghcr.io/leolionart/webai-to-api:latest + # build: . container_name: web_ai_server restart: always ports: - "6969:6969" - env_file: - - .env environment: - PYTHONPATH=/app/src - - ENVIRONMENT=${ENVIRONMENT:-production} - CONFIG_PATH=/app/data/config.conf volumes: - webai_data:/app/data - command: > - sh -c " - uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 1 --log-level info; - " + command: uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 1 --log-level info volumes: webai_data: From d4363807d81e38b33198dd05aaa5a4c57a9c0246 Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 11:48:06 +0700 Subject: [PATCH 10/32] docs: rewrite README focused on Docker Compose deployment flow --- README.md | 448 +++++++++++++++--------------------------------------- 1 file changed, 123 insertions(+), 325 deletions(-) diff --git a/README.md b/README.md index 7031a99c..31d3980d 100644 --- a/README.md +++ b/README.md @@ -1,126 +1,131 @@ -## Disclaimer - -> **This project is intended for research and educational purposes only.** -> Please refrain from any commercial use and act responsibly when deploying or modifying this tool. - ---- +> **This project is intended for research and educational purposes only.** +> Please use it responsibly and refrain from any commercial use. # WebAI-to-API -

- WebAI-to-API Server - gpt4free Server -

+A FastAPI server that exposes Google Gemini (via browser cookies) as a local OpenAI-compatible API endpoint. No API key required — it reuses your existing browser session. -**WebAI-to-API** is a modular web server built with FastAPI that allows you to expose your preferred browser-based LLM (such as Gemini) as a local API endpoint. +Compatible with any tool that supports the OpenAI API format: [Open WebUI](https://github.com/open-webui/open-webui), [Cursor](https://cursor.sh), [Continue](https://continue.dev), custom scripts, etc. --- -This project supports **two operational modes**: +## Deployment with Docker Compose -1. **Primary Web Server** +### 1. Prerequisites - > WebAI-to-API +- [Docker](https://docs.docker.com/get-docker/) with Docker Compose v2 - Connects to the Gemini web interface using your browser cookies and exposes it as an API endpoint. This method is lightweight, fast, and efficient for personal use. +### 2. Clone the repository -2. **Fallback Web Server (gpt4free)** +```bash +git clone https://github.com/leolionart/WebAI-to-API.git +cd WebAI-to-API +``` - > [gpt4free](https://github.com/xtekky/gpt4free) +### 3. Get your Gemini cookies - A secondary server powered by the `gpt4free` library, offering broader access to multiple LLMs beyond Gemini, including: +1. Open [gemini.google.com](https://gemini.google.com) and log in +2. Open DevTools (`F12`) → **Application** → **Cookies** → `https://gemini.google.com` +3. Copy the values of `__Secure-1PSID` and `__Secure-1PSIDTS` - - ChatGPT - - Claude - - DeepSeek - - Copilot - - HuggingFace Inference - - Grok - - ...and many more. +### 4. Create and configure `config.conf` -This design provides both **speed and redundancy**, ensuring flexibility depending on your use case and available resources. +```bash +cp config.conf.example config.conf +``` ---- +Open `config.conf` and paste your cookies: -## Features +```ini +[Cookies] +gemini_cookie_1psid = paste __Secure-1PSID value here +gemini_cookie_1psidts = paste __Secure-1PSIDTS value here +``` -- 🌐 **Available Endpoints**: +Other settings you may want to change: - - **WebAI Server**: +```ini +[AI] +default_model_gemini = gemini-2.5-flash # model to use by default - - `/v1/chat/completions` - - `/gemini` - - `/gemini-chat` - - `/translate` - - `/v1beta/models/{model}` (Google Generative AI v1beta API) +[Proxy] +http_proxy = # optional, e.g. http://127.0.0.1:7890 if Gemini is blocked +``` - - **gpt4free Server**: - - `/v1` - - `/v1/chat/completions` +### 5. Start the server -- 🔄 **Server Switching**: Easily switch between servers in terminal. +```bash +docker compose up -d +``` -- 🛠️ **Modular Architecture**: Organized into clearly defined modules for API routes, services, configurations, and utilities, making development and maintenance straightforward. +The API is now running at **`http://localhost:6969`**. -

- Endpoints -

+Cookies are stored in a Docker named volume and survive restarts. The server also auto-rotates `__Secure-1PSIDTS` in the background — no manual cookie refresh needed. --- -## Installation - -1. **Clone the repository:** +## Verify it's working - ```bash - git clone https://github.com/Amm1rr/WebAI-to-API.git - cd WebAI-to-API - ``` - -2. **Install dependencies using Poetry:** +```bash +curl http://localhost:6969/v1/models +``` - ```bash - poetry install - ``` +Expected response: -3. **Create and update the configuration file:** +```json +{ + "object": "list", + "data": [ + { "id": "gemini-3.0-pro", ... }, + { "id": "gemini-2.5-pro", ... }, + { "id": "gemini-2.5-flash", ... } + ] +} +``` - ```bash - cp config.conf.example config.conf - ``` +--- - Then, edit `config.conf` to adjust service settings and other options. +## Making API requests -4. **Run the server:** +The server exposes an OpenAI-compatible endpoint at `/v1/chat/completions`. - ```bash - poetry run python src/run.py - ``` +### Supported models ---- +| Model | Description | +|-------|-------------| +| `gemini-3.0-pro` | Most capable | +| `gemini-2.5-pro` | Advanced reasoning | +| `gemini-2.5-flash` | Fast, efficient (default) | -## Usage +### Example: curl -Send a POST request to `/v1/chat/completions` (or any other available endpoint) with the required payload. +```bash +curl http://localhost:6969/v1/chat/completions \ + -H "Content-Type: application/json" \ + -d '{ + "model": "gemini-2.5-flash", + "messages": [{ "role": "user", "content": "Hello!" }] + }' +``` -### Supported Models +### Example: OpenAI Python client -| Model | Description | -|-------|-------------| -| `gemini-3.0-pro` | Latest and most powerful model | -| `gemini-2.5-pro` | Advanced reasoning model | -| `gemini-2.5-flash` | Fast and efficient model (default) | +```python +from openai import OpenAI -### Example Request (Basic) +client = OpenAI( + base_url="http://localhost:6969/v1", + api_key="not-needed", +) -```json -{ - "model": "gemini-3.0-pro", - "messages": [{ "role": "user", "content": "Hello!" }] -} +response = client.chat.completions.create( + model="gemini-2.5-flash", + messages=[{"role": "user", "content": "Hello!"}], +) +print(response.choices[0].message.content) ``` -### Example Request (With System Prompt & Conversation History) +### Example: with system prompt and conversation history ```json { @@ -134,292 +139,85 @@ Send a POST request to `/v1/chat/completions` (or any other available endpoint) } ``` -### Example Response - -```json -{ - "id": "chatcmpl-12345", - "object": "chat.completion", - "created": 1693417200, - "model": "gemini-3.0-pro", - "choices": [ - { - "message": { - "role": "assistant", - "content": "Hi there!" - }, - "finish_reason": "stop", - "index": 0 - } - ], - "usage": { - "prompt_tokens": 0, - "completion_tokens": 0, - "total_tokens": 0 - } -} -``` - --- -## Documentation - -### WebAI-to-API Endpoints +## All endpoints -> `POST /gemini` +| Method | Path | Description | +|--------|------|-------------| +| `GET` | `/v1/models` | List available models | +| `POST` | `/v1/chat/completions` | OpenAI-compatible chat | +| `POST` | `/gemini` | Stateless single-turn request | +| `POST` | `/gemini-chat` | Stateful multi-turn chat | +| `POST` | `/translate` | Translation (same as `/gemini-chat`) | +| `POST` | `/v1beta/models/{model}:generateContent` | Google Generative AI format | -Initiates a new conversation with the LLM. Each request creates a **fresh session**, making it suitable for stateless interactions. - -> `POST /gemini-chat` - -Continues a persistent conversation with the LLM without starting a new session. Ideal for use cases that require context retention between messages. - -> `POST /translate` - -Designed for quick integration with the [Translate It!](https://github.com/iSegaro/Translate-It) browser extension. -Functionally identical to `/gemini-chat`, meaning it **maintains session context** across requests. - -> `POST /v1/chat/completions` - -**OpenAI-compatible endpoint** with full support for: -- **System prompts**: Set behavior and context for the assistant -- **Conversation history**: Maintain context across multiple turns (user/assistant messages) -- **Streaming**: Optional streaming response support - -Built for seamless integration with clients that expect the OpenAI API format. - -> `POST /v1beta/models/{model}` - -**Google Generative AI v1beta API** compatible endpoint. -Provides access to the latest Google Generative AI models with standard Google API format including safety ratings and structured responses. +Swagger UI available at `http://localhost:6969/docs`. --- -### gpt4free Endpoints +## Common operations -These endpoints follow the **OpenAI-compatible structure** and are powered by the `gpt4free` library. -For detailed usage and advanced customization, refer to the official documentation: +```bash +# View logs +docker compose logs -f -- 📄 [Provider Documentation](https://github.com/gpt4free/g4f.dev/blob/main/docs/selecting_a_provider.md) -- 📄 [Model Documentation](https://github.com/gpt4free/g4f.dev/blob/main/docs/providers-and-models.md) +# Stop +docker compose down -#### Available Endpoints (gpt4free API Layer) +# Update to latest image +docker compose pull && docker compose up -d +# Restart +docker compose restart ``` -GET / # Health check -GET /v1 # Version info -GET /v1/models # List all available models -GET /api/{provider}/models # List models from a specific provider -GET /v1/models/{model_name} # Get details of a specific model - -POST /v1/chat/completions # Chat with default configuration -POST /api/{provider}/chat/completions -POST /api/{provider}/{conversation_id}/chat/completions - -POST /v1/responses # General response endpoint -POST /api/{provider}/responses - -POST /api/{provider}/images/generations -POST /v1/images/generations -POST /v1/images/generate # Generate images using selected provider - -POST /v1/media/generate # Media generation (audio/video/etc.) - -GET /v1/providers # List all providers -GET /v1/providers/{provider} # Get specific provider info - -POST /api/{path_provider}/audio/transcriptions -POST /v1/audio/transcriptions # Audio-to-text -POST /api/markitdown # Markdown rendering - -POST /api/{path_provider}/audio/speech -POST /v1/audio/speech # Text-to-speech - -POST /v1/upload_cookies # Upload session cookies (browser-based auth) - -GET /v1/files/{bucket_id} # Get uploaded file from bucket -POST /v1/files/{bucket_id} # Upload file to bucket +--- -GET /v1/synthesize/{provider} # Audio synthesis +## Updating cookies -POST /json/{filename} # Submit structured JSON data +If your session expires, paste new cookie values into `config.conf` and restart: -GET /media/{filename} # Retrieve media -GET /images/{filename} # Retrieve images +```bash +docker compose restart ``` ---- - -## Roadmap - -- ✅ Maintenance +The volume keeps your config between restarts — you only need to re-edit the file. --- -
- -

Configuration ⚙️

-
+## Configuration reference -### Key Configuration Options - -| Section | Option | Description | Example Value | -| ----------- | ---------- | ------------------------------------------ | ----------------------- | -| [AI] | default_ai | Default service for `/v1/chat/completions` | `gemini` | -| [Browser] | name | Browser for cookie-based authentication | `firefox` | -| [EnabledAI] | gemini | Enable/disable Gemini service | `true` | -| [Proxy] | http_proxy | Proxy for Gemini connections (optional) | `http://127.0.0.1:2334` | - -The complete configuration template is available in [`WebAI-to-API/config.conf.example`](WebAI-to-API/config.conf.example). -If the cookies are left empty, the application will automatically retrieve them using the default browser specified. - ---- - -### Sample `config.conf` +Full `config.conf` options: ```ini +[Browser] +# Browser for automatic cookie extraction (if cookies are left empty above). +# Options: chrome, firefox, brave, edge, safari +name = chrome + [AI] -# Default AI service. default_ai = gemini - -# Default model for Gemini (options: gemini-3.0-pro, gemini-2.5-pro, gemini-2.5-flash) default_model_gemini = gemini-2.5-flash -# Gemini cookies (leave empty to use browser_cookies3 for automatic authentication). -gemini_cookie_1psid = +[Cookies] +gemini_cookie_1psid = gemini_cookie_1psidts = [EnabledAI] -# Enable or disable AI services. gemini = true -[Browser] -# Default browser options: firefox, brave, chrome, edge, safari. -name = firefox - -# --- Proxy Configuration --- -# Optional proxy for connecting to Gemini servers. -# Useful for fixing 403 errors or restricted connections. [Proxy] +# Optional HTTP proxy for Gemini connections (useful for 403 errors). http_proxy = ``` -
- ---- - -## Project Structure - -The project now follows a modular layout that separates configuration, business logic, API endpoints, and utilities: - -```plaintext -src/ -├── app/ -│ ├── __init__.py -│ ├── main.py # FastAPI app creation, configuration, and lifespan management. -│ ├── config.py # Global configuration loader/updater. -│ ├── logger.py # Centralized logging configuration. -│ ├── endpoints/ # API endpoint routers. -│ │ ├── __init__.py -│ │ ├── gemini.py # Endpoints for Gemini (e.g., /gemini, /gemini-chat). -│ │ ├── chat.py # Endpoints for translation and OpenAI-compatible requests. -│ │ └── google_generative.py # Google Generative AI v1beta API endpoints. -│ ├── services/ # Business logic and service wrappers. -│ │ ├── __init__.py -│ │ ├── gemini_client.py # Gemini client initialization, content generation, and cleanup. -│ │ └── session_manager.py # Session management for chat and translation. -│ └── utils/ # Helper functions. -│ ├── __init__.py -│ └── browser.py # Browser-based cookie retrieval. -├── models/ # Models and wrappers (e.g., MyGeminiClient). -│ └── gemini.py -├── schemas/ # Pydantic schemas for request/response validation. -│ └── request.py -├── config.conf # Application configuration file. -└── run.py # Entry point to run the server. -``` - ---- - -## Developer Documentation - -### Overview - -The project is built on a modular architecture designed for scalability and ease of maintenance. Its primary components are: - -- **app/main.py:** Initializes the FastAPI application, configures middleware, and manages application lifespan (startup and shutdown routines). -- **app/config.py:** Handles the loading and updating of configuration settings from `config.conf`. -- **app/logger.py:** Sets up a centralized logging system. -- **app/endpoints/:** Contains separate modules for handling API endpoints. Each module (e.g., `gemini.py` and `chat.py`) manages routes specific to their functionality. -- **app/services/:** Encapsulates business logic, including the Gemini client wrapper (`gemini_client.py`) and session management (`session_manager.py`). -- **app/utils/browser.py:** Provides helper functions, such as retrieving cookies from the browser for authentication. -- **models/:** Holds model definitions like `MyGeminiClient` for interfacing with the Gemini Web API. -- **schemas/:** Defines Pydantic models for validating API requests. - -### How It Works - -1. **Application Initialization:** - On startup, the application loads configurations and initializes the Gemini client and session managers. This is managed via the `lifespan` context in `app/main.py`. - -2. **Routing:** - The API endpoints are organized into dedicated routers under `app/endpoints/`, which are then included in the main FastAPI application. - -3. **Service Layer:** - The `app/services/` directory contains the logic for interacting with the Gemini API and managing user sessions, ensuring that the API routes remain clean and focused on request handling. - -4. **Utilities and Configurations:** - Helper functions and configuration logic are kept separate to maintain clarity and ease of updates. - ---- - -## 🐳 Docker Deployment - -### Quick Start - -```bash -# 1. Clone and enter the repo -git clone https://github.com/leolionart/WebAI-to-API.git -cd WebAI-to-API - -# 2. Create config from template -cp config.conf.example config.conf -``` - -Open `config.conf` and fill in your Gemini cookies: - -```ini -[Cookies] -gemini_cookie_1psid = YOUR___Secure-1PSID_HERE -gemini_cookie_1psidts = YOUR___Secure-1PSIDTS_HERE -``` - -> Get cookies from [gemini.google.com](https://gemini.google.com) → DevTools → Application → Cookies - -```bash -# 3. Start the server -docker compose up -d -``` - -API is available at **`http://localhost:6969`**. -Cookies are persisted in a Docker volume and auto-rotated — no manual refresh needed. - -For full details (port change, local build, Makefile shortcuts), see [Docker.md](Docker.md). - --- ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=Amm1rr/WebAI-to-API&type=Date)](https://www.star-history.com/#Amm1rr/WebAI-to-API&Date) -## License 📜 - -This project is open source under the [MIT License](LICENSE). - ---- - -> **Note:** This is a research project. Please use it responsibly, and be aware that additional security measures and error handling are necessary for production deployments. - -
+## License -[![](https://visitcount.itsvg.in/api?id=amm1rr&label=V&color=0&icon=2&pretty=true)](https://github.com/Amm1rr/) +[MIT License](LICENSE) From 9495e28135ada45d11928a1e9dd65a1700a5c5ef Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 11:48:42 +0700 Subject: [PATCH 11/32] =?UTF-8?q?docs:=20embed=20docker-compose.yml=20and?= =?UTF-8?q?=20config.conf=20inline=20=E2=80=94=20no=20clone=20needed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 51 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 31d3980d..b5ac9a28 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,27 @@ Compatible with any tool that supports the OpenAI API format: [Open WebUI](https - [Docker](https://docs.docker.com/get-docker/) with Docker Compose v2 -### 2. Clone the repository - -```bash -git clone https://github.com/leolionart/WebAI-to-API.git -cd WebAI-to-API +### 2. Create `docker-compose.yml` + +Create a new folder, then copy this file into it: + +```yaml +services: + web_ai: + image: ghcr.io/leolionart/webai-to-api:latest + container_name: web_ai_server + restart: always + ports: + - "6969:6969" + environment: + - PYTHONPATH=/app/src + - CONFIG_PATH=/app/data/config.conf + volumes: + - webai_data:/app/data + command: uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 1 --log-level info + +volumes: + webai_data: ``` ### 3. Get your Gemini cookies @@ -28,28 +44,27 @@ cd WebAI-to-API 2. Open DevTools (`F12`) → **Application** → **Cookies** → `https://gemini.google.com` 3. Copy the values of `__Secure-1PSID` and `__Secure-1PSIDTS` -### 4. Create and configure `config.conf` - -```bash -cp config.conf.example config.conf -``` +### 4. Create `config.conf` -Open `config.conf` and paste your cookies: +In the same folder, create `config.conf` and paste your cookies into the `[Cookies]` section: ```ini +[Browser] +name = chrome + +[AI] +default_ai = gemini +default_model_gemini = gemini-2.5-flash + [Cookies] gemini_cookie_1psid = paste __Secure-1PSID value here gemini_cookie_1psidts = paste __Secure-1PSIDTS value here -``` -Other settings you may want to change: - -```ini -[AI] -default_model_gemini = gemini-2.5-flash # model to use by default +[EnabledAI] +gemini = true [Proxy] -http_proxy = # optional, e.g. http://127.0.0.1:7890 if Gemini is blocked +http_proxy = ``` ### 5. Start the server From 594946d24e5ee8b26e1cf2bffa3cc263a9dd7125 Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 11:50:32 +0700 Subject: [PATCH 12/32] docs: bind mount config.conf to deploy folder, admin UI flow in README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docker-compose.yml: replace named volume with bind mount ./config.conf so config is visible and editable directly in the deploy folder. README: rewrite deploy guide around the admin UI — users start the server with an empty config.conf, then paste cookies via the dashboard (supports cURL import). Remove all manual file-editing instructions. --- README.md | 154 +++++++++++---------------------------------- docker-compose.yml | 13 +--- 2 files changed, 39 insertions(+), 128 deletions(-) diff --git a/README.md b/README.md index b5ac9a28..98df4d12 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,11 @@ Compatible with any tool that supports the OpenAI API format: [Open WebUI](https --- -## Deployment with Docker Compose +## Deploy with Docker Compose -### 1. Prerequisites +### 1. Create a folder and add two files -- [Docker](https://docs.docker.com/get-docker/) with Docker Compose v2 - -### 2. Create `docker-compose.yml` - -Create a new folder, then copy this file into it: +**`docker-compose.yml`** ```yaml services: @@ -31,22 +27,11 @@ services: - PYTHONPATH=/app/src - CONFIG_PATH=/app/data/config.conf volumes: - - webai_data:/app/data + - ./config.conf:/app/data/config.conf command: uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 1 --log-level info - -volumes: - webai_data: ``` -### 3. Get your Gemini cookies - -1. Open [gemini.google.com](https://gemini.google.com) and log in -2. Open DevTools (`F12`) → **Application** → **Cookies** → `https://gemini.google.com` -3. Copy the values of `__Secure-1PSID` and `__Secure-1PSIDTS` - -### 4. Create `config.conf` - -In the same folder, create `config.conf` and paste your cookies into the `[Cookies]` section: +**`config.conf`** (leave cookies empty for now) ```ini [Browser] @@ -57,8 +42,8 @@ default_ai = gemini default_model_gemini = gemini-2.5-flash [Cookies] -gemini_cookie_1psid = paste __Secure-1PSID value here -gemini_cookie_1psidts = paste __Secure-1PSIDTS value here +gemini_cookie_1psid = +gemini_cookie_1psidts = [EnabledAI] gemini = true @@ -67,42 +52,41 @@ gemini = true http_proxy = ``` -### 5. Start the server +### 2. Start the server ```bash docker compose up -d ``` -The API is now running at **`http://localhost:6969`**. +### 3. Open the admin dashboard -Cookies are stored in a Docker named volume and survive restarts. The server also auto-rotates `__Secure-1PSIDTS` in the background — no manual cookie refresh needed. +Go to **`http://localhost:6969/admin`** + +From there, paste your Gemini cookies and click **Connect** — no file editing needed. --- -## Verify it's working +## Getting Gemini cookies -```bash -curl http://localhost:6969/v1/models -``` +1. Open [gemini.google.com](https://gemini.google.com) and log in +2. Open DevTools (`F12`) → **Network** tab → refresh the page → click any request to `gemini.google.com` +3. Right-click the request → **Copy → Copy as cURL** +4. Paste the cURL command into the admin dashboard — it extracts the cookies automatically -Expected response: - -```json -{ - "object": "list", - "data": [ - { "id": "gemini-3.0-pro", ... }, - { "id": "gemini-2.5-pro", ... }, - { "id": "gemini-2.5-flash", ... } - ] -} -``` +Or manually: DevTools → **Application** → **Cookies** → copy `__Secure-1PSID` and `__Secure-1PSIDTS`. + +Cookies are saved to `config.conf` in your folder and auto-rotated in the background — no manual refresh needed. --- -## Making API requests +## Using the API + +The server exposes an OpenAI-compatible endpoint. Point any compatible tool to: -The server exposes an OpenAI-compatible endpoint at `/v1/chat/completions`. +``` +Base URL: http://localhost:6969/v1 +API Key: not-needed +``` ### Supported models @@ -140,91 +124,29 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -### Example: with system prompt and conversation history - -```json -{ - "model": "gemini-2.5-pro", - "messages": [ - { "role": "system", "content": "You are a helpful assistant." }, - { "role": "user", "content": "What is Python?" }, - { "role": "assistant", "content": "Python is a programming language." }, - { "role": "user", "content": "Is it easy to learn?" } - ] -} -``` - --- -## All endpoints +## Endpoints | Method | Path | Description | |--------|------|-------------| -| `GET` | `/v1/models` | List available models | -| `POST` | `/v1/chat/completions` | OpenAI-compatible chat | +| `GET` | `/v1/models` | List available models | +| `POST` | `/v1/chat/completions` | OpenAI-compatible chat (streaming supported) | | `POST` | `/gemini` | Stateless single-turn request | | `POST` | `/gemini-chat` | Stateful multi-turn chat | -| `POST` | `/translate` | Translation (same as `/gemini-chat`) | -| `POST` | `/v1beta/models/{model}:generateContent` | Google Generative AI format | - -Swagger UI available at `http://localhost:6969/docs`. +| `POST` | `/translate` | Translation (alias for `/gemini-chat`) | +| `GET` | `/admin` | Admin dashboard | +| `GET` | `/docs` | Swagger UI | --- -## Common operations +## Common commands ```bash -# View logs -docker compose logs -f - -# Stop -docker compose down - -# Update to latest image -docker compose pull && docker compose up -d - -# Restart -docker compose restart -``` - ---- - -## Updating cookies - -If your session expires, paste new cookie values into `config.conf` and restart: - -```bash -docker compose restart -``` - -The volume keeps your config between restarts — you only need to re-edit the file. - ---- - -## Configuration reference - -Full `config.conf` options: - -```ini -[Browser] -# Browser for automatic cookie extraction (if cookies are left empty above). -# Options: chrome, firefox, brave, edge, safari -name = chrome - -[AI] -default_ai = gemini -default_model_gemini = gemini-2.5-flash - -[Cookies] -gemini_cookie_1psid = -gemini_cookie_1psidts = - -[EnabledAI] -gemini = true - -[Proxy] -# Optional HTTP proxy for Gemini connections (useful for 403 errors). -http_proxy = +docker compose up -d # start +docker compose down # stop +docker compose logs -f # live logs +docker compose pull && docker compose up -d # update to latest ``` --- diff --git a/docker-compose.yml b/docker-compose.yml index 85481b8c..c1bda351 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,6 @@ -# docker-compose.yml -# -# Production deployment using pre-built image from GitHub Container Registry. -# Image is automatically rebuilt on every push to master via GitHub Actions. -# -# To build locally instead of pulling, uncomment "build: ." and remove the "image:" line. - services: web_ai: image: ghcr.io/leolionart/webai-to-api:latest - # build: . container_name: web_ai_server restart: always ports: @@ -17,8 +9,5 @@ services: - PYTHONPATH=/app/src - CONFIG_PATH=/app/data/config.conf volumes: - - webai_data:/app/data + - ./config.conf:/app/data/config.conf command: uvicorn app.main:app --host 0.0.0.0 --port 6969 --workers 1 --log-level info - -volumes: - webai_data: From c0f88fb97f9526f16fc42c282152d41fe071aa6c Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 11:55:19 +0700 Subject: [PATCH 13/32] fix: redirect / to /admin --- src/app/main.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/app/main.py b/src/app/main.py index 316892e9..69867dc6 100644 --- a/src/app/main.py +++ b/src/app/main.py @@ -5,6 +5,7 @@ from fastapi import FastAPI, Request from fastapi.middleware.cors import CORSMiddleware +from fastapi.responses import RedirectResponse from fastapi.staticfiles import StaticFiles from app.services.gemini_client import get_gemini_client, init_gemini_client, GeminiClientNotInitializedError, start_cookie_persister, stop_cookie_persister @@ -93,6 +94,11 @@ async def lifespan(app: FastAPI): app.mount("/static", StaticFiles(directory=str(_SRC_DIR / "static")), name="static") +@app.get("/") +async def root(): + return RedirectResponse(url="/admin") + + # Stats middleware - track API requests (skip static/admin) @app.middleware("http") async def stats_middleware(request: Request, call_next): From 238e51e36bb8d93086b4813937808def2f94b667 Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 13:06:19 +0700 Subject: [PATCH 14/32] fix: sync model names with gemini-webapi library Hardcoded model names (gemini-2.5-flash, gemini-3.0-pro, etc.) were rejected by gemini-webapi which only accepts its own internal names. Update GeminiModels enum, admin config list, config defaults, and docs to use the actual accepted model names: - gemini-2.0-exp-advanced (most capable) - gemini-2.0-flash-exp (default, fast) - gemini-1.5-pro - gemini-1.5-flash --- README.md | 13 +++++++------ config.conf.example | 11 ++++------- src/app/config.py | 2 +- src/app/endpoints/admin_api.py | 7 +++---- src/schemas/request.py | 15 ++++++++------- 5 files changed, 23 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 98df4d12..8a6738fd 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ name = chrome [AI] default_ai = gemini -default_model_gemini = gemini-2.5-flash +default_model_gemini = gemini-2.0-flash-exp [Cookies] gemini_cookie_1psid = @@ -92,9 +92,10 @@ API Key: not-needed | Model | Description | |-------|-------------| -| `gemini-3.0-pro` | Most capable | -| `gemini-2.5-pro` | Advanced reasoning | -| `gemini-2.5-flash` | Fast, efficient (default) | +| `gemini-2.0-exp-advanced` | Most capable | +| `gemini-2.0-flash-exp` | Fast, efficient (default) | +| `gemini-1.5-pro` | Stable, reliable | +| `gemini-1.5-flash` | Lightweight | ### Example: curl @@ -102,7 +103,7 @@ API Key: not-needed curl http://localhost:6969/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ - "model": "gemini-2.5-flash", + "model": "gemini-2.0-flash-exp", "messages": [{ "role": "user", "content": "Hello!" }] }' ``` @@ -118,7 +119,7 @@ client = OpenAI( ) response = client.chat.completions.create( - model="gemini-2.5-flash", + model="gemini-2.0-flash-exp", messages=[{"role": "user", "content": "Hello!"}], ) print(response.choices[0].message.content) diff --git a/config.conf.example b/config.conf.example index e963a2a9..2c21cd3c 100755 --- a/config.conf.example +++ b/config.conf.example @@ -19,14 +19,11 @@ default_ai = gemini # --- Gemini Model Configuration --- # Choose the model to be used when Gemini is selected as the AI. # Available models: +# - gemini-2.0-exp-advanced (most capable) +# - gemini-2.0-flash-exp (fast, default) +# - gemini-1.5-pro # - gemini-1.5-flash -# - gemini-2.0-flash -# - gemini-2.0-flash-thinking -# - gemini-2.0-flash-thinking-with-apps -# - gemini-2.5-pro -# - gemini-2.5-flash -# - gemini-3.0-pro -default_model_gemini = gemini-3.0-pro +default_model_gemini = gemini-2.0-flash-exp # --- Gemini Cookies --- # Provide your authentication cookies for Gemini here. diff --git a/src/app/config.py b/src/app/config.py index 3681efee..62a1606e 100644 --- a/src/app/config.py +++ b/src/app/config.py @@ -48,7 +48,7 @@ def load_config(config_file: str = None) -> configparser.ConfigParser: if "Cookies" not in config: config["Cookies"] = {} if "AI" not in config: - config["AI"] = {"default_model_gemini": "gemini-3.0-pro"} + config["AI"] = {"default_model_gemini": "gemini-2.0-flash-exp"} if "Proxy" not in config: config["Proxy"] = {"http_proxy": ""} diff --git a/src/app/endpoints/admin_api.py b/src/app/endpoints/admin_api.py index 39d5ee2d..a824481b 100644 --- a/src/app/endpoints/admin_api.py +++ b/src/app/endpoints/admin_api.py @@ -88,10 +88,9 @@ async def get_config(): ), "gemini_enabled": CONFIG.getboolean("EnabledAI", "gemini", fallback=True), "available_models": [ - "gemini-3.0-pro", - "gemini-2.5-pro", - "gemini-2.5-flash", - "gemini-2.0-flash", + "gemini-2.0-exp-advanced", + "gemini-2.0-flash-exp", + "gemini-1.5-pro", "gemini-1.5-flash", ], } diff --git a/src/schemas/request.py b/src/schemas/request.py index 0eb3662a..ead30c82 100644 --- a/src/schemas/request.py +++ b/src/schemas/request.py @@ -5,20 +5,21 @@ class GeminiModels(str, Enum): """ - An enumeration of the available Gemini models. + Available Gemini models — names must match gemini-webapi's internal model list. """ - # Gemini 3.0 Series - PRO_3_0 = "gemini-3.0-pro" + # Gemini 2.0 Series + EXP_ADVANCED = "gemini-2.0-exp-advanced" + FLASH_2_0 = "gemini-2.0-flash-exp" - # Gemini 2.5 Series - PRO_2_5 = "gemini-2.5-pro" - FLASH_2_5 = "gemini-2.5-flash" + # Gemini 1.5 Series + PRO_1_5 = "gemini-1.5-pro" + FLASH_1_5 = "gemini-1.5-flash" class GeminiRequest(BaseModel): message: str - model: GeminiModels = Field(default=GeminiModels.FLASH_2_5, description="Model to use for Gemini.") + model: GeminiModels = Field(default=GeminiModels.FLASH_2_0, description="Model to use for Gemini.") files: Optional[List[str]] = [] class OpenAIChatRequest(BaseModel): From b9d6b5803213aad2331d874dc5c2a4e20547104f Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 13:08:26 +0700 Subject: [PATCH 15/32] fix: upgrade gemini-webapi to 1.19.2, update model names to Gemini 3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gemini-webapi 1.8.3 → 1.19.2 in requirements.txt. Model names updated to match what the library and Gemini web actually support: - gemini-3.0-pro (most capable) - gemini-3.0-flash (default) - gemini-3.0-flash-thinking --- README.md | 13 ++++++------- config.conf.example | 9 ++++----- requirements.txt | 2 +- src/app/config.py | 2 +- src/app/endpoints/admin_api.py | 7 +++---- src/schemas/request.py | 15 ++++++--------- 6 files changed, 21 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 8a6738fd..7d3bca4e 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ name = chrome [AI] default_ai = gemini -default_model_gemini = gemini-2.0-flash-exp +default_model_gemini = gemini-3.0-flash [Cookies] gemini_cookie_1psid = @@ -92,10 +92,9 @@ API Key: not-needed | Model | Description | |-------|-------------| -| `gemini-2.0-exp-advanced` | Most capable | -| `gemini-2.0-flash-exp` | Fast, efficient (default) | -| `gemini-1.5-pro` | Stable, reliable | -| `gemini-1.5-flash` | Lightweight | +| `gemini-3.0-pro` | Most capable (requires Gemini Advanced) | +| `gemini-3.0-flash` | Fast, efficient (default) | +| `gemini-3.0-flash-thinking` | Extended thinking | ### Example: curl @@ -103,7 +102,7 @@ API Key: not-needed curl http://localhost:6969/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ - "model": "gemini-2.0-flash-exp", + "model": "gemini-3.0-flash", "messages": [{ "role": "user", "content": "Hello!" }] }' ``` @@ -119,7 +118,7 @@ client = OpenAI( ) response = client.chat.completions.create( - model="gemini-2.0-flash-exp", + model="gemini-3.0-flash", messages=[{"role": "user", "content": "Hello!"}], ) print(response.choices[0].message.content) diff --git a/config.conf.example b/config.conf.example index 2c21cd3c..b3395ad9 100755 --- a/config.conf.example +++ b/config.conf.example @@ -19,11 +19,10 @@ default_ai = gemini # --- Gemini Model Configuration --- # Choose the model to be used when Gemini is selected as the AI. # Available models: -# - gemini-2.0-exp-advanced (most capable) -# - gemini-2.0-flash-exp (fast, default) -# - gemini-1.5-pro -# - gemini-1.5-flash -default_model_gemini = gemini-2.0-flash-exp +# - gemini-3.0-pro (most capable, requires Gemini Advanced) +# - gemini-3.0-flash (fast, default) +# - gemini-3.0-flash-thinking (with extended thinking) +default_model_gemini = gemini-3.0-flash # --- Gemini Cookies --- # Provide your authentication cookies for Gemini here. diff --git a/requirements.txt b/requirements.txt index d23a4d63..1e6f1c7e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and sys_pl curl-cffi==0.7.4 ; python_version >= "3.10" and python_version < "4.0" exceptiongroup==1.2.2 ; python_version >= "3.10" and python_version < "3.11" fastapi==0.115.7 ; python_version >= "3.10" and python_version < "4.0" -gemini-webapi==1.8.3 ; python_version >= "3.10" and python_version < "4.0" +gemini-webapi==1.19.2 ; python_version >= "3.10" and python_version < "4.0" h11==0.14.0 ; python_version >= "3.10" and python_version < "4.0" h2==4.1.0 ; python_version >= "3.10" and python_version < "4.0" hpack==4.1.0 ; python_version >= "3.10" and python_version < "4.0" diff --git a/src/app/config.py b/src/app/config.py index 62a1606e..9c673b35 100644 --- a/src/app/config.py +++ b/src/app/config.py @@ -48,7 +48,7 @@ def load_config(config_file: str = None) -> configparser.ConfigParser: if "Cookies" not in config: config["Cookies"] = {} if "AI" not in config: - config["AI"] = {"default_model_gemini": "gemini-2.0-flash-exp"} + config["AI"] = {"default_model_gemini": "gemini-3.0-flash"} if "Proxy" not in config: config["Proxy"] = {"http_proxy": ""} diff --git a/src/app/endpoints/admin_api.py b/src/app/endpoints/admin_api.py index a824481b..a7045c07 100644 --- a/src/app/endpoints/admin_api.py +++ b/src/app/endpoints/admin_api.py @@ -88,10 +88,9 @@ async def get_config(): ), "gemini_enabled": CONFIG.getboolean("EnabledAI", "gemini", fallback=True), "available_models": [ - "gemini-2.0-exp-advanced", - "gemini-2.0-flash-exp", - "gemini-1.5-pro", - "gemini-1.5-flash", + "gemini-3.0-pro", + "gemini-3.0-flash", + "gemini-3.0-flash-thinking", ], } diff --git a/src/schemas/request.py b/src/schemas/request.py index ead30c82..4ffc610c 100644 --- a/src/schemas/request.py +++ b/src/schemas/request.py @@ -5,21 +5,18 @@ class GeminiModels(str, Enum): """ - Available Gemini models — names must match gemini-webapi's internal model list. + Available Gemini models (gemini-webapi >= 1.19.2). """ - # Gemini 2.0 Series - EXP_ADVANCED = "gemini-2.0-exp-advanced" - FLASH_2_0 = "gemini-2.0-flash-exp" - - # Gemini 1.5 Series - PRO_1_5 = "gemini-1.5-pro" - FLASH_1_5 = "gemini-1.5-flash" + # Gemini 3.0 Series + PRO = "gemini-3.0-pro" + FLASH = "gemini-3.0-flash" + FLASH_THINKING = "gemini-3.0-flash-thinking" class GeminiRequest(BaseModel): message: str - model: GeminiModels = Field(default=GeminiModels.FLASH_2_0, description="Model to use for Gemini.") + model: GeminiModels = Field(default=GeminiModels.FLASH, description="Model to use for Gemini.") files: Optional[List[str]] = [] class OpenAIChatRequest(BaseModel): From 815a5120bca4eb148a682d49fb48a3af93ed9efe Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 13:14:38 +0700 Subject: [PATCH 16/32] fix: simplify requirements.txt, fix pydantic/orjson conflict with gemini-webapi 1.19.2 Old lockfile had pydantic==2.10.6 but gemini-webapi 1.19.2 requires pydantic~=2.12.5 and orjson~=3.11.7 which was missing entirely. Replace full lockfile with direct dependencies only, let pip resolve transitive deps at build time. --- requirements.txt | 46 +++++++++++----------------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/requirements.txt b/requirements.txt index 1e6f1c7e..79d03a47 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,35 +1,11 @@ -annotated-types==0.7.0 ; python_version >= "3.10" and python_version < "4.0" -anyio==4.8.0 ; python_version >= "3.10" and python_version < "4.0" -browser-cookie3==0.20.1 ; python_version >= "3.10" and python_version < "4.0" -certifi==2024.12.14 ; python_version >= "3.10" and python_version < "4.0" -cffi==1.17.1 ; python_version >= "3.10" and python_version < "4.0" -click==8.1.8 ; python_version >= "3.10" and python_version < "4.0" -colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" -curl-cffi==0.7.4 ; python_version >= "3.10" and python_version < "4.0" -exceptiongroup==1.2.2 ; python_version >= "3.10" and python_version < "3.11" -fastapi==0.115.7 ; python_version >= "3.10" and python_version < "4.0" -gemini-webapi==1.19.2 ; python_version >= "3.10" and python_version < "4.0" -h11==0.14.0 ; python_version >= "3.10" and python_version < "4.0" -h2==4.1.0 ; python_version >= "3.10" and python_version < "4.0" -hpack==4.1.0 ; python_version >= "3.10" and python_version < "4.0" -httpcore==1.0.7 ; python_version >= "3.10" and python_version < "4.0" -httpx==0.28.1 ; python_version >= "3.10" and python_version < "4.0" -hyperframe==6.1.0 ; python_version >= "3.10" and python_version < "4.0" -idna==3.10 ; python_version >= "3.10" and python_version < "4.0" -jeepney==0.8.0 ; python_version >= "3.10" and python_version < "4.0" and "bsd" in sys_platform or python_version >= "3.10" and python_version < "4.0" and sys_platform == "linux" -loguru==0.7.3 ; python_version >= "3.10" and python_version < "4.0" -lz4==4.4.3 ; python_version >= "3.10" and python_version < "4.0" -pycparser==2.22 ; python_version >= "3.10" and python_version < "4.0" -pycryptodomex==3.21.0 ; python_version >= "3.10" and python_version < "4.0" -pydantic-core==2.27.2 ; python_version >= "3.10" and python_version < "4.0" -pydantic==2.10.6 ; python_version >= "3.10" and python_version < "4.0" -pywin32==308 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" -shadowcopy==0.0.4 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" -sniffio==1.3.1 ; python_version >= "3.10" and python_version < "4.0" -sse-starlette>=2.1.0 ; python_version >= "3.10" and python_version < "4.0" -jinja2>=3.1.0 ; python_version >= "3.10" and python_version < "4.0" -starlette==0.45.3 ; python_version >= "3.10" and python_version < "4.0" -typing-extensions==4.12.2 ; python_version >= "3.10" and python_version < "4.0" -uvicorn==0.34.0 ; python_version >= "3.10" and python_version < "4.0" -win32-setctime==1.2.0 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32" -wmi==1.5.1 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" +fastapi>=0.115.7 +uvicorn[standard]>=0.34.0 +gemini-webapi==1.19.2 +browser-cookie3>=0.20.1 +httpx[http2]>=0.28.1,<0.29.0 +curl-cffi>=0.7.4 +sse-starlette>=2.1.0 +jinja2>=3.1.0 +pydantic>=2.12.5 +orjson>=3.11.7 +loguru>=0.7.3 From 9be11986e30e910fd2660e23dc828fe2c1079898 Mon Sep 17 00:00:00 2001 From: leolionart Date: Fri, 20 Feb 2026 23:48:40 +0700 Subject: [PATCH 17/32] =?UTF-8?q?feat:=20redesign=20admin=20UI=20with=20Ma?= =?UTF-8?q?terial=20Design=203=20=C3=97=20Gemini=20theme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Full visual redesign using M3 dark color system + Gemini gradient - Add Plus Jakarta Sans (Google Sans equivalent) + JetBrains Mono fonts - Add Material Symbols icons to stat cards, nav tabs, section headers - Implement Gemini shimmer animation on wordmark via CSS background-clip - M3 surface tint elevation system (no box-shadows for depth) - Staggered entrance animations on stat cards and sections - Animated Gemini gradient underline on active tab (scaleX transition) - Pulse dot animation on connection status badge - M3-style chips, outlined text fields, filled tonal buttons - Custom styled scrollbars and select dropdowns - Responsive: icon-only tabs on mobile (<768px) - fix: implement proper SSE streaming for Home Assistant compatibility - fix: add copyText() fallback for HTTP non-secure clipboard access Co-Authored-By: Claude Sonnet 4.6 --- src/app/endpoints/chat.py | 76 ++- src/static/css/admin.css | 1113 +++++++++++++++++++++++++----------- src/static/js/dashboard.js | 20 +- src/templates/admin.html | 95 ++- 4 files changed, 946 insertions(+), 358 deletions(-) diff --git a/src/app/endpoints/chat.py b/src/app/endpoints/chat.py index 5bc421be..622440a1 100644 --- a/src/app/endpoints/chat.py +++ b/src/app/endpoints/chat.py @@ -1,6 +1,8 @@ # src/app/endpoints/chat.py +import json import time from fastapi import APIRouter, HTTPException +from fastapi.responses import StreamingResponse from app.logger import logger from app.config import CONFIG from schemas.request import GeminiModels, GeminiRequest, OpenAIChatRequest @@ -66,6 +68,55 @@ def convert_to_openai_format(response_text: str, model: str, stream: bool = Fals }, } +def _extract_content(content) -> str: + """Extract text from content that may be a string or a list of content parts (OpenAI multimodal format).""" + if isinstance(content, str): + return content + if isinstance(content, list): + return " ".join( + part.get("text", "") for part in content + if isinstance(part, dict) and part.get("type") == "text" + ) + return str(content) if content else "" + + +async def _stream_response(response_text: str, model: str): + """Yield SSE chunks in OpenAI streaming format.""" + completion_id = f"chatcmpl-{int(time.time())}" + created = int(time.time()) + + # First chunk: role + first_chunk = { + "id": completion_id, + "object": "chat.completion.chunk", + "created": created, + "model": model, + "choices": [{"index": 0, "delta": {"role": "assistant", "content": ""}, "finish_reason": None}], + } + yield f"data: {json.dumps(first_chunk)}\n\n" + + # Content chunk + content_chunk = { + "id": completion_id, + "object": "chat.completion.chunk", + "created": created, + "model": model, + "choices": [{"index": 0, "delta": {"content": response_text}, "finish_reason": None}], + } + yield f"data: {json.dumps(content_chunk)}\n\n" + + # Final chunk + final_chunk = { + "id": completion_id, + "object": "chat.completion.chunk", + "created": created, + "model": model, + "choices": [{"index": 0, "delta": {}, "finish_reason": "stop"}], + } + yield f"data: {json.dumps(final_chunk)}\n\n" + yield "data: [DONE]\n\n" + + @router.post("/v1/chat/completions") async def chat_completions(request: OpenAIChatRequest): try: @@ -83,7 +134,7 @@ async def chat_completions(request: OpenAIChatRequest): for msg in request.messages: role = msg.get("role", "user") - content = msg.get("content", "") + content = _extract_content(msg.get("content", "")) if not content: continue @@ -97,15 +148,20 @@ async def chat_completions(request: OpenAIChatRequest): if not conversation_parts: raise HTTPException(status_code=400, detail="No valid messages found.") - # Join all parts with newlines final_prompt = "\n\n".join(conversation_parts) - if request.model: - try: - response = await gemini_client.generate_content(message=final_prompt, model=request.model.value, files=None) - return convert_to_openai_format(response.text, request.model.value, is_stream) - except Exception as e: - logger.error(f"Error in /v1/chat/completions endpoint: {e}", exc_info=True) - raise HTTPException(status_code=500, detail=f"Error processing chat completion: {str(e)}") - else: + if not request.model: raise HTTPException(status_code=400, detail="Model not specified in the request.") + + try: + response = await gemini_client.generate_content(message=final_prompt, model=request.model.value, files=None) + if is_stream: + return StreamingResponse( + _stream_response(response.text, request.model.value), + media_type="text/event-stream", + headers={"Cache-Control": "no-cache", "X-Accel-Buffering": "no"}, + ) + return convert_to_openai_format(response.text, request.model.value, is_stream) + except Exception as e: + logger.error(f"Error in /v1/chat/completions endpoint: {e}", exc_info=True) + raise HTTPException(status_code=500, detail=f"Error processing chat completion: {str(e)}") diff --git a/src/static/css/admin.css b/src/static/css/admin.css index e1397e54..bbed4773 100644 --- a/src/static/css/admin.css +++ b/src/static/css/admin.css @@ -1,416 +1,879 @@ -/* WebAI-to-API Admin Dashboard */ +/* ================================================================ + WebAI-to-API Admin — Material Design 3 × Gemini Theme + ================================================================ */ + +@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'); + +/* ── Design Tokens ──────────────────────────────────────────────── */ :root { - --bg-primary: #0f1117; - --bg-secondary: #1a1d27; - --bg-card: #21242f; - --bg-input: #2a2d3a; - --border: #333847; - --text-primary: #e4e4e7; - --text-secondary: #9ca3af; - --text-muted: #6b7280; - --accent: #3b82f6; - --accent-hover: #2563eb; - --success: #22c55e; - --success-bg: rgba(34, 197, 94, 0.1); - --warning: #f59e0b; - --warning-bg: rgba(245, 158, 11, 0.1); - --error: #ef4444; - --error-bg: rgba(239, 68, 68, 0.1); - --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; - --font-mono: "SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace; - --radius: 8px; - --radius-sm: 4px; -} - -* { margin: 0; padding: 0; box-sizing: border-box; } + /* Surface palette (M3 dark) */ + --md-bg: #0C0C10; + --md-surface: #13141B; + --md-surface-container-lowest: #0C0C10; + --md-surface-container-low: #191A23; + --md-surface-container: #1E1F29; + --md-surface-container-high: #282934; + --md-surface-container-highest:#31323E; + + /* Text */ + --md-on-surface: #E4E1EC; + --md-on-surface-variant: #C9C5D2; + --md-outline: #938F9E; + --md-outline-variant: #47464F; + + /* Primary — blue (Gemini gradient start) */ + --md-primary: #A8C7FA; + --md-on-primary: #062E6F; + --md-primary-container: #0842A0; + --md-on-primary-container: #D6E3FF; + + /* Secondary — purple */ + --md-secondary: #CCC2DC; + --md-secondary-container: #4A4458; + --md-on-secondary-container: #E8DEF8; + + /* Tertiary — green (success) */ + --md-tertiary: #81C995; + --md-tertiary-container: #00522A; + --md-on-tertiary-container: #9DECB0; + + /* Error */ + --md-error: #FFB4AB; + --md-error-container: #8C1D18; + --md-on-error-container: #FFDAD6; + + /* Warning */ + --md-warning: #E6C55A; + --md-warning-bg: rgba(230, 197, 90, 0.10); + + /* Compatibility aliases for JS color references */ + --success: var(--md-tertiary); + --error: var(--md-error); + --warning: var(--md-warning); + --accent: var(--md-primary); + + /* Gemini brand gradient */ + --gemini-gradient: linear-gradient(135deg, #4285F4 0%, #9368F0 55%, #E98FDA 100%); + --gemini-gradient-wide: linear-gradient(270deg, #4285F4, #9368F0, #E98FDA, #9368F0, #4285F4); + + /* Shape (M3 scale) */ + --shape-xs: 4px; + --shape-sm: 8px; + --shape-md: 12px; + --shape-lg: 16px; + --shape-xl: 28px; + --shape-full: 9999px; + + /* Elevation tint via primary at opacity */ + --elev-1: rgba(168, 199, 250, 0.05); + --elev-2: rgba(168, 199, 250, 0.08); + --elev-3: rgba(168, 199, 250, 0.11); + + /* Typography */ + --font-sans: 'Plus Jakarta Sans', 'Google Sans', system-ui, sans-serif; + --font-mono: 'JetBrains Mono', 'Cascadia Code', 'Fira Code', monospace; + + /* Motion */ + --ease-standard: cubic-bezier(0.2, 0, 0, 1); + --ease-decel: cubic-bezier(0, 0, 0, 1); + --ease-accel: cubic-bezier(0.3, 0, 1, 1); + --dur-s: 150ms; + --dur-m: 250ms; + --dur-l: 400ms; +} + +/* ── Reset ──────────────────────────────────────────────────────── */ +*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } + +/* ── Base ───────────────────────────────────────────────────────── */ +html { scroll-behavior: smooth; } body { - font-family: var(--font-sans); - background: var(--bg-primary); - color: var(--text-primary); - line-height: 1.6; - min-height: 100vh; + font-family: var(--font-sans); + background: var(--md-bg); + color: var(--md-on-surface); + line-height: 1.5; + min-height: 100vh; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } -/* Header */ -.admin-header { - display: flex; - justify-content: space-between; - align-items: center; - padding: 16px 24px; - background: var(--bg-secondary); - border-bottom: 1px solid var(--border); +/* ── Keyframes ──────────────────────────────────────────────────── */ +@keyframes fadeDown { + from { opacity: 0; transform: translateY(-10px); } + to { opacity: 1; transform: translateY(0); } +} +@keyframes fadeUp { + from { opacity: 0; transform: translateY(18px); } + to { opacity: 1; transform: translateY(0); } +} +@keyframes geminiShimmer { + 0% { background-position: -200% center; } + 100% { background-position: 200% center; } +} +@keyframes pulse-dot { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.4; } } -.header-left { display: flex; align-items: baseline; gap: 12px; } -.header-left h1 { font-size: 1.25rem; font-weight: 700; } -.header-subtitle { font-size: 0.8rem; color: var(--text-muted); } +/* ── Material Symbols base ──────────────────────────────────────── */ +.material-symbols-outlined { + font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24; + user-select: none; + flex-shrink: 0; +} +/* ── Header ─────────────────────────────────────────────────────── */ +.admin-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 24px; + height: 64px; + background: var(--md-surface-container-low); + border-bottom: 1px solid var(--md-outline-variant); + position: sticky; + top: 0; + z-index: 100; + backdrop-filter: blur(20px); + animation: fadeDown var(--dur-l) var(--ease-decel) both; +} + +.header-left { + display: flex; + align-items: center; + gap: 10px; +} + +/* Gemini shimmer wordmark */ +.header-wordmark { + font-size: 1.1875rem; + font-weight: 800; + background: var(--gemini-gradient-wide); + background-size: 300% auto; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + animation: geminiShimmer 5s linear infinite; + letter-spacing: -0.02em; +} + +.header-divider { + width: 1px; + height: 18px; + background: var(--md-outline-variant); +} + +.header-subtitle { + font-size: 0.8rem; + font-weight: 500; + color: var(--md-on-surface-variant); + letter-spacing: 0.01em; +} + +/* ── Status badge (M3 chip) ─────────────────────────────────────── */ .status-badge { - padding: 4px 12px; - border-radius: 12px; - font-size: 0.75rem; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; -} -.status-badge.connected { background: var(--success-bg); color: var(--success); } -.status-badge.disconnected { background: var(--error-bg); color: var(--error); } -.status-badge.checking { background: var(--warning-bg); color: var(--warning); } - -/* Tab Navigation */ + display: inline-flex; + align-items: center; + gap: 7px; + padding: 6px 14px; + border-radius: var(--shape-full); + font-size: 0.725rem; + font-weight: 600; + letter-spacing: 0.05em; + text-transform: uppercase; + transition: all var(--dur-m) var(--ease-standard); + border: 1px solid transparent; +} +.status-badge::before { + content: ''; + display: block; + width: 6px; + height: 6px; + border-radius: 50%; + flex-shrink: 0; +} +.status-badge.connected { + background: rgba(129, 201, 149, 0.10); + color: var(--md-tertiary); + border-color: rgba(129, 201, 149, 0.25); +} +.status-badge.connected::before { + background: var(--md-tertiary); + animation: pulse-dot 2s ease-in-out infinite; +} +.status-badge.disconnected { + background: rgba(255, 180, 171, 0.10); + color: var(--md-error); + border-color: rgba(255, 180, 171, 0.25); +} +.status-badge.disconnected::before { background: var(--md-error); } +.status-badge.checking { + background: rgba(230, 197, 90, 0.10); + color: var(--md-warning); + border-color: rgba(230, 197, 90, 0.25); +} +.status-badge.checking::before { background: var(--md-warning); } + +/* ── Tab Navigation ─────────────────────────────────────────────── */ .tab-nav { - display: flex; - gap: 0; - padding: 0 24px; - background: var(--bg-secondary); - border-bottom: 1px solid var(--border); + display: flex; + align-items: stretch; + padding: 0 16px; + background: var(--md-surface-container-low); + border-bottom: 1px solid var(--md-outline-variant); + gap: 2px; + animation: fadeDown var(--dur-l) var(--ease-decel) 40ms both; } .tab-btn { - padding: 12px 20px; - background: none; - border: none; - border-bottom: 2px solid transparent; - color: var(--text-secondary); - font-size: 0.875rem; - font-weight: 500; - cursor: pointer; - transition: all 0.2s; -} -.tab-btn:hover { color: var(--text-primary); } -.tab-btn.active { - color: var(--accent); - border-bottom-color: var(--accent); -} - -/* Main Content */ + position: relative; + display: inline-flex; + align-items: center; + gap: 8px; + padding: 0 18px; + height: 52px; + background: transparent; + border: none; + color: var(--md-on-surface-variant); + font-family: var(--font-sans); + font-size: 0.875rem; + font-weight: 500; + cursor: pointer; + letter-spacing: 0.01em; + border-radius: var(--shape-sm) var(--shape-sm) 0 0; + transition: color var(--dur-m) var(--ease-standard), + background var(--dur-s) var(--ease-standard); + overflow: hidden; +} +.tab-btn .material-symbols-outlined { + font-size: 20px; + font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 20; + transition: font-variation-settings var(--dur-m) var(--ease-standard), + color var(--dur-m) var(--ease-standard); +} +/* Active underline — Gemini gradient */ +.tab-btn::after { + content: ''; + position: absolute; + bottom: 0; + left: 16px; + right: 16px; + height: 3px; + border-radius: 3px 3px 0 0; + background: var(--gemini-gradient); + transform: scaleX(0); + transform-origin: center; + transition: transform var(--dur-m) var(--ease-standard); +} +.tab-btn:hover { + color: var(--md-on-surface); + background: rgba(168, 199, 250, 0.05); +} +.tab-btn.active { color: var(--md-primary); } +.tab-btn.active .material-symbols-outlined { + font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 20; +} +.tab-btn.active::after { transform: scaleX(1); } +.tab-btn:active { background: rgba(168, 199, 250, 0.08); } + +/* ── Main Content ───────────────────────────────────────────────── */ main { padding: 24px; max-width: 1200px; margin: 0 auto; } .tab-panel { display: none; } -.tab-panel.active { display: block; } +.tab-panel.active { + display: block; + animation: fadeUp var(--dur-m) var(--ease-decel) both; +} -/* Stats Grid */ +/* ── Stats Grid ─────────────────────────────────────────────────── */ .stats-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 16px; - margin-bottom: 24px; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 12px; + margin-bottom: 16px; } .stat-card { - background: var(--bg-card); - border: 1px solid var(--border); - border-radius: var(--radius); - padding: 20px; + background: var(--md-surface-container); + border-radius: var(--shape-lg); + padding: 20px; + position: relative; + overflow: hidden; + transition: background var(--dur-s) var(--ease-standard), + transform var(--dur-m) var(--ease-standard), + box-shadow var(--dur-m) var(--ease-standard); +} +/* M3 surface tint elevation */ +.stat-card::before { + content: ''; + position: absolute; + inset: 0; + background: var(--elev-2); + pointer-events: none; +} +.stat-card:hover { + background: var(--md-surface-container-high); + transform: translateY(-2px); + box-shadow: 0 4px 16px rgba(0,0,0,0.25); +} + +/* Staggered entrance */ +.stat-card:nth-child(1) { animation: fadeUp var(--dur-l) var(--ease-decel) 110ms both; } +.stat-card:nth-child(2) { animation: fadeUp var(--dur-l) var(--ease-decel) 175ms both; } +.stat-card:nth-child(3) { animation: fadeUp var(--dur-l) var(--ease-decel) 240ms both; } +.stat-card:nth-child(4) { animation: fadeUp var(--dur-l) var(--ease-decel) 305ms both; } + +.stat-icon-wrap { + display: inline-flex; + align-items: center; + justify-content: center; + width: 42px; + height: 42px; + border-radius: var(--shape-md); + background: rgba(168, 199, 250, 0.10); + margin-bottom: 16px; +} +.stat-icon-wrap .material-symbols-outlined { + font-size: 22px; + font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; + color: var(--md-primary); } .stat-label { - font-size: 0.75rem; - color: var(--text-muted); - text-transform: uppercase; - letter-spacing: 0.05em; - margin-bottom: 8px; + font-size: 0.7rem; + font-weight: 600; + color: var(--md-on-surface-variant); + letter-spacing: 0.07em; + text-transform: uppercase; + margin-bottom: 6px; } .stat-value { - font-size: 1.5rem; - font-weight: 700; + font-size: 1.875rem; + font-weight: 700; + color: var(--md-on-surface); + letter-spacing: -0.025em; + line-height: 1.1; } .stat-detail { - margin-top: 8px; - font-size: 0.8rem; - display: flex; - gap: 12px; + margin-top: 8px; + font-size: 0.8rem; + font-weight: 500; + display: flex; + gap: 12px; } -.stat-detail .success { color: var(--success); } -.stat-detail .error { color: var(--error); } +.stat-detail .success { color: var(--md-tertiary); } +.stat-detail .error { color: var(--md-error); } -/* Sections */ +/* ── Sections ───────────────────────────────────────────────────── */ .section { - background: var(--bg-card); - border: 1px solid var(--border); - border-radius: var(--radius); - padding: 20px; - margin-bottom: 16px; -} -.section h3 { - font-size: 0.95rem; - font-weight: 600; - margin-bottom: 12px; + background: var(--md-surface-container); + border-radius: var(--shape-lg); + padding: 24px; + margin-bottom: 12px; + position: relative; + overflow: hidden; + animation: fadeUp var(--dur-l) var(--ease-decel) 350ms both; +} +.section::before { + content: ''; + position: absolute; + inset: 0; + background: var(--elev-1); + pointer-events: none; } -/* Tables */ +.section h3 { + font-size: 0.75rem; + font-weight: 600; + color: var(--md-on-surface-variant); + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 16px; + display: flex; + align-items: center; + gap: 8px; +} +.section h3 .material-symbols-outlined { + font-size: 16px; + font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20; + color: var(--md-primary); + opacity: 0.8; +} + +/* ── Tables ─────────────────────────────────────────────────────── */ .data-table { - width: 100%; - border-collapse: collapse; -} -.data-table th, .data-table td { - padding: 10px 12px; - text-align: left; - border-bottom: 1px solid var(--border); - font-size: 0.875rem; + width: 100%; + border-collapse: collapse; } .data-table th { - color: var(--text-muted); - font-weight: 500; - font-size: 0.75rem; - text-transform: uppercase; -} -.data-table td:last-child { text-align: right; font-family: var(--font-mono); } - -/* Forms */ -.help-text { - font-size: 0.825rem; - color: var(--text-secondary); - margin-bottom: 12px; - line-height: 1.5; + padding: 8px 12px; + text-align: left; + font-size: 0.7rem; + font-weight: 600; + color: var(--md-on-surface-variant); + letter-spacing: 0.07em; + text-transform: uppercase; + border-bottom: 1px solid var(--md-outline-variant); +} +.data-table td { + padding: 12px; + text-align: left; + font-size: 0.875rem; + color: var(--md-on-surface); + border-bottom: 1px solid var(--md-outline-variant); + transition: background var(--dur-s) var(--ease-standard); +} +.data-table tr:last-child td { border-bottom: none; } +.data-table tbody tr:hover td { background: rgba(168, 199, 250, 0.04); } + +#endpoint-table td:last-child { + text-align: right; + font-family: var(--font-mono); + font-size: 0.825rem; + color: var(--md-on-surface-variant); +} + +/* ── API Reference ──────────────────────────────────────────────── */ +.api-ref-baseurl { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 20px; + padding: 14px 16px; + background: var(--md-surface-container-high); + border-radius: var(--shape-md); +} +.api-ref-baseurl .config-label { + font-size: 0.7rem; + font-weight: 700; + color: var(--md-on-surface-variant); + letter-spacing: 0.07em; + text-transform: uppercase; + white-space: nowrap; + min-width: unset; } -.help-text a { color: var(--accent); text-decoration: none; } -.help-text a:hover { text-decoration: underline; } -.code-input { - width: 100%; - background: var(--bg-input); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text-primary); - font-family: var(--font-mono); - font-size: 0.8rem; - padding: 12px; - resize: vertical; - margin-bottom: 12px; -} -.code-input:focus { outline: none; border-color: var(--accent); } - -.text-input { - background: var(--bg-input); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text-primary); - font-size: 0.875rem; - padding: 8px 12px; - min-width: 250px; +.api-url { + font-family: var(--font-mono); + font-size: 0.875rem; + color: var(--md-primary); + user-select: all; + flex: 1; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } -.text-input:focus { outline: none; border-color: var(--accent); } - -.select-input { - background: var(--bg-input); - border: 1px solid var(--border); - border-radius: var(--radius-sm); - color: var(--text-primary); - font-size: 0.875rem; - padding: 8px 12px; - cursor: pointer; +.api-ref-baseurl .api-url { + font-size: 0.9375rem; + font-weight: 500; } -.config-row { - display: flex; - align-items: center; - gap: 12px; - margin-bottom: 8px; +.api-ref-table td:last-child { text-align: right; font-family: var(--font-sans); } +.api-ref-table .api-desc { + color: var(--md-on-surface-variant); + font-size: 0.8rem; } -.config-label { - font-size: 0.85rem; - color: var(--text-secondary); - min-width: 140px; +.api-ref-table code { + color: var(--md-on-surface); + word-break: break-all; } -.form-group { - margin-bottom: 12px; +/* Method badges */ +.method-badge { + display: inline-flex; + align-items: center; + padding: 3px 9px; + border-radius: var(--shape-full); + font-size: 0.675rem; + font-weight: 700; + font-family: var(--font-mono); + letter-spacing: 0.04em; + white-space: nowrap; +} +.method-post { + background: rgba(129, 201, 149, 0.14); + color: var(--md-tertiary); +} +.method-get { + background: rgba(168, 199, 250, 0.14); + color: var(--md-primary); +} + +/* ── Buttons ────────────────────────────────────────────────────── */ +.btn { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 10px 22px; + border: none; + border-radius: var(--shape-full); + font-family: var(--font-sans); + font-size: 0.875rem; + font-weight: 600; + cursor: pointer; + letter-spacing: 0.01em; + position: relative; + overflow: hidden; + user-select: none; + transition: box-shadow var(--dur-s) var(--ease-standard), + background var(--dur-s) var(--ease-standard), + transform var(--dur-s) var(--ease-standard); +} +/* State layer */ +.btn::after { + content: ''; + position: absolute; + inset: 0; + background: currentColor; + opacity: 0; + transition: opacity var(--dur-s) var(--ease-standard); +} +.btn:hover::after { opacity: 0.08; } +.btn:active::after { opacity: 0.14; } +.btn:active { transform: scale(0.98); } + +.btn-primary { + background: var(--md-primary); + color: var(--md-on-primary); } -.form-group label { - display: block; - font-size: 0.8rem; - color: var(--text-secondary); - margin-bottom: 4px; +.btn-primary:hover { + box-shadow: 0 1px 3px rgba(0,0,0,0.3), 0 4px 12px rgba(66, 133, 244, 0.25); } -.form-group .text-input { width: 100%; } -/* Collapsible */ -details.collapsible summary { - cursor: pointer; - font-weight: 600; - font-size: 0.95rem; - margin-bottom: 12px; - color: var(--text-secondary); +.btn-tonal { + background: var(--md-secondary-container); + color: var(--md-on-secondary-container); } -details.collapsible summary:hover { color: var(--text-primary); } -/* Buttons */ -.btn { - display: inline-flex; - align-items: center; - padding: 8px 16px; - border: none; - border-radius: var(--radius-sm); - font-size: 0.85rem; - font-weight: 500; - cursor: pointer; - transition: all 0.15s; +.btn-warning { + background: rgba(255, 180, 171, 0.10); + color: var(--md-error); + border: 1px solid rgba(255, 180, 171, 0.25); } -.btn-primary { - background: var(--accent); - color: white; +.btn-warning:hover { + background: rgba(255, 180, 171, 0.16); } -.btn-primary:hover { background: var(--accent-hover); } -.btn-warning { - background: var(--warning-bg); - color: var(--warning); - border: 1px solid rgba(245, 158, 11, 0.3); + +.btn-small { + padding: 6px 16px; + font-size: 0.8rem; +} +.btn:disabled { + opacity: 0.38; + cursor: not-allowed; + pointer-events: none; } -.btn-warning:hover { background: rgba(245, 158, 11, 0.2); } -.btn-small { padding: 6px 12px; font-size: 0.8rem; } -.btn:disabled { opacity: 0.5; cursor: not-allowed; } -/* Result boxes */ +/* Copy chip */ +.btn-copy { + background: transparent; + color: var(--md-on-surface-variant); + border: 1px solid var(--md-outline-variant); + padding: 4px 12px; + font-size: 0.75rem; + font-weight: 500; + border-radius: var(--shape-full); + letter-spacing: 0.02em; + transition: all var(--dur-s) var(--ease-standard); +} +.btn-copy:hover { + color: var(--md-primary); + border-color: var(--md-primary); + background: rgba(168, 199, 250, 0.08); +} +.btn-copy.copied { + color: var(--md-tertiary); + border-color: var(--md-tertiary); + background: rgba(129, 201, 149, 0.08); +} + +/* ── Result boxes ───────────────────────────────────────────────── */ .result-box { - margin-top: 12px; - padding: 12px; - border-radius: var(--radius-sm); - font-size: 0.85rem; - line-height: 1.5; -} -.result-box.success { background: var(--success-bg); color: var(--success); } -.result-box.error { background: var(--error-bg); color: var(--error); } -.result-box.warning { background: var(--warning-bg); color: var(--warning); } -.result-box strong { display: block; margin-bottom: 4px; } -.hidden { display: none; } + margin-top: 14px; + padding: 14px 16px; + border-radius: var(--shape-md); + font-size: 0.875rem; + line-height: 1.65; + border: 1px solid transparent; +} +.result-box.success { + background: rgba(129, 201, 149, 0.10); + color: var(--md-tertiary); + border-color: rgba(129, 201, 149, 0.22); +} +.result-box.error { + background: rgba(255, 180, 171, 0.08); + color: var(--md-error); + border-color: rgba(255, 180, 171, 0.20); +} +.result-box.warning { + background: var(--md-warning-bg); + color: var(--md-warning); + border-color: rgba(230, 197, 90, 0.22); +} +.result-box strong { display: block; margin-bottom: 6px; font-weight: 600; } +.hidden { display: none !important; } .error-steps { - margin: 8px 0 4px 0; - padding-left: 8px; - list-style: none; - font-size: 0.825rem; - line-height: 1.7; + margin: 8px 0 4px; + padding-left: 0; + list-style: none; + font-size: 0.825rem; + line-height: 1.85; +} +.error-steps li { + color: var(--md-on-surface); + padding-left: 16px; + position: relative; +} +.error-steps li::before { + content: '›'; + position: absolute; + left: 4px; + color: var(--md-error); + font-weight: 700; } -.error-steps li { color: var(--text-primary); } .error-note { - margin-top: 8px; - padding: 8px 10px; - background: rgba(255,255,255,0.04); - border-radius: var(--radius-sm); - font-size: 0.8rem; - color: var(--text-secondary); - font-style: italic; + margin-top: 10px; + padding: 8px 12px; + background: rgba(255,255,255,0.04); + border-radius: var(--shape-sm); + font-size: 0.8rem; + color: var(--md-on-surface-variant); + font-style: italic; } .inline-result { - font-size: 0.8rem; - margin-left: 8px; + font-size: 0.8rem; + font-weight: 600; + margin-left: 8px; } -/* API Reference */ -.api-ref-baseurl { - display: flex; - align-items: center; - gap: 12px; - margin-bottom: 16px; - padding: 12px 16px; - background: var(--bg-input); - border: 1px solid var(--border); - border-radius: var(--radius-sm); +/* ── Form Elements ──────────────────────────────────────────────── */ +.help-text { + font-size: 0.875rem; + color: var(--md-on-surface-variant); + margin-bottom: 16px; + line-height: 1.65; } +.help-text a { color: var(--md-primary); text-decoration: none; } +.help-text a:hover { text-decoration: underline; } -.api-url { - font-family: var(--font-mono); - font-size: 0.875rem; - color: var(--accent); - user-select: all; -} +.code-input { + width: 100%; + background: var(--md-surface-container-high); + border: 1px solid var(--md-outline-variant); + border-radius: var(--shape-md); + color: var(--md-on-surface); + font-family: var(--font-mono); + font-size: 0.8125rem; + padding: 14px; + resize: vertical; + margin-bottom: 14px; + outline: none; + transition: border-color var(--dur-s) var(--ease-standard), + box-shadow var(--dur-s) var(--ease-standard); + line-height: 1.6; +} +.code-input:focus { + border-color: var(--md-primary); + box-shadow: 0 0 0 3px rgba(168, 199, 250, 0.12); +} +.code-input::placeholder { color: var(--md-outline); } -.api-ref-baseurl .api-url { font-size: 1rem; font-weight: 600; } +.text-input { + background: var(--md-surface-container-high); + border: 1px solid var(--md-outline-variant); + border-radius: var(--shape-md); + color: var(--md-on-surface); + font-family: var(--font-sans); + font-size: 0.875rem; + padding: 10px 14px; + min-width: 250px; + outline: none; + transition: border-color var(--dur-s) var(--ease-standard), + box-shadow var(--dur-s) var(--ease-standard); +} +.text-input:focus { + border-color: var(--md-primary); + box-shadow: 0 0 0 3px rgba(168, 199, 250, 0.12); +} +.text-input::placeholder { color: var(--md-outline); } -.api-ref-table td:last-child { text-align: center; font-family: var(--font-sans); } -.api-ref-table .api-desc { color: var(--text-secondary); font-size: 0.825rem; } -.api-ref-table code { color: var(--text-primary); word-break: break-all; } +.select-input { + background: var(--md-surface-container-high); + border: 1px solid var(--md-outline-variant); + border-radius: var(--shape-md); + color: var(--md-on-surface); + font-family: var(--font-sans); + font-size: 0.875rem; + padding: 10px 36px 10px 14px; + cursor: pointer; + outline: none; + appearance: none; + -webkit-appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23938F9E' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 14px center; + transition: border-color var(--dur-s) var(--ease-standard), + box-shadow var(--dur-s) var(--ease-standard); +} +.select-input:focus { + border-color: var(--md-primary); + box-shadow: 0 0 0 3px rgba(168, 199, 250, 0.12); +} -.method-badge { - display: inline-block; - padding: 2px 8px; - border-radius: 3px; - font-size: 0.7rem; - font-weight: 700; - font-family: var(--font-mono); - letter-spacing: 0.03em; +.config-row { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 10px; + flex-wrap: wrap; +} +.config-label { + font-size: 0.8125rem; + font-weight: 500; + color: var(--md-on-surface-variant); + min-width: 160px; } -.method-post { background: rgba(34, 197, 94, 0.15); color: #22c55e; } -.method-get { background: rgba(59, 130, 246, 0.15); color: #3b82f6; } -.btn-copy { - background: var(--bg-input); - color: var(--text-secondary); - border: 1px solid var(--border); - font-size: 0.75rem; - padding: 4px 10px; - white-space: nowrap; +.form-group { margin-bottom: 14px; } +.form-group label { + display: block; + font-size: 0.8rem; + font-weight: 500; + color: var(--md-on-surface-variant); + margin-bottom: 6px; + letter-spacing: 0.01em; } -.btn-copy:hover { color: var(--text-primary); border-color: var(--accent); } -.btn-copy.copied { color: var(--success); border-color: var(--success); } +.form-group .text-input { width: 100%; } -/* Log Viewer */ +/* ── Collapsible ────────────────────────────────────────────────── */ +details.collapsible summary { + cursor: pointer; + font-size: 0.9375rem; + font-weight: 600; + color: var(--md-on-surface-variant); + list-style: none; + display: flex; + align-items: center; + gap: 8px; + padding-bottom: 0; + margin-bottom: 0; + user-select: none; + transition: color var(--dur-s) var(--ease-standard); +} +details.collapsible[open] summary { margin-bottom: 16px; } +details.collapsible summary:hover { color: var(--md-on-surface); } +details.collapsible summary .material-symbols-outlined { + font-size: 18px; + font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20; + color: var(--md-primary); + opacity: 0.8; +} +details.collapsible summary::after { + content: 'expand_more'; + font-family: 'Material Symbols Outlined'; + font-size: 20px; + margin-left: auto; + color: var(--md-outline); + font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24; + transition: transform var(--dur-m) var(--ease-standard); +} +details.collapsible[open] summary::after { transform: rotate(180deg); } +details.collapsible summary::-webkit-details-marker { display: none; } + +/* ── Log Viewer ─────────────────────────────────────────────────── */ .logs-toolbar { - display: flex; - align-items: center; - gap: 12px; - margin-bottom: 12px; - flex-wrap: wrap; + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 14px; + flex-wrap: wrap; } .checkbox-label { - font-size: 0.85rem; - color: var(--text-secondary); - display: flex; - align-items: center; - gap: 4px; - cursor: pointer; + display: inline-flex; + align-items: center; + gap: 8px; + font-size: 0.875rem; + color: var(--md-on-surface-variant); + cursor: pointer; + user-select: none; + padding: 0 4px; } +.checkbox-label input[type="checkbox"] { accent-color: var(--md-primary); } .log-container { - background: var(--bg-input); - border: 1px solid var(--border); - border-radius: var(--radius); - height: 500px; - overflow-y: auto; - font-family: var(--font-mono); - font-size: 0.78rem; - line-height: 1.7; - padding: 8px 0; + background: var(--md-surface-container-lowest); + border: 1px solid var(--md-outline-variant); + border-radius: var(--shape-lg); + height: 520px; + overflow-y: auto; + font-family: var(--font-mono); + font-size: 0.775rem; + line-height: 1.75; + padding: 8px 0; + scrollbar-width: thin; + scrollbar-color: var(--md-outline-variant) transparent; +} +.log-container::-webkit-scrollbar { width: 6px; } +.log-container::-webkit-scrollbar-track { background: transparent; } +.log-container::-webkit-scrollbar-thumb { + background: var(--md-outline-variant); + border-radius: 3px; } .log-entry { - padding: 2px 12px; - white-space: pre-wrap; - word-break: break-all; -} -.log-entry:hover { background: rgba(255,255,255,0.03); } -.log-entry .ts { color: var(--text-muted); } -.log-entry .lvl { font-weight: 600; min-width: 60px; display: inline-block; } -.log-entry .lvl-ERROR { color: var(--error); } -.log-entry .lvl-WARNING { color: var(--warning); } -.log-entry .lvl-INFO { color: var(--accent); } -.log-entry .lvl-DEBUG { color: var(--text-muted); } -.log-entry .logger-name { color: var(--text-muted); } -.log-entry .msg { color: var(--text-primary); } - + display: block; + padding: 1px 16px; + white-space: pre-wrap; + word-break: break-all; + transition: background var(--dur-s) var(--ease-standard); +} +.log-entry:hover { background: rgba(168, 199, 250, 0.04); } +.log-entry .ts { color: var(--md-outline); } +.log-entry .lvl { font-weight: 600; min-width: 60px; display: inline-block; } +.log-entry .lvl-ERROR { color: var(--md-error); } +.log-entry .lvl-WARNING { color: var(--md-warning); } +.log-entry .lvl-INFO { color: var(--md-primary); } +.log-entry .lvl-DEBUG { color: var(--md-outline); } +.log-entry .logger-name { color: var(--md-outline); } +.log-entry .msg { color: var(--md-on-surface); } + +/* ── Empty state ────────────────────────────────────────────────── */ .empty-state { - color: var(--text-muted); - text-align: center; - padding: 24px; - font-size: 0.875rem; + color: var(--md-on-surface-variant); + text-align: center; + padding: 32px 24px; + font-size: 0.875rem; } +/* ── Code ───────────────────────────────────────────────────────── */ code { - font-family: var(--font-mono); - font-size: 0.8rem; - color: var(--text-secondary); + font-family: var(--font-mono); + font-size: 0.8rem; + color: var(--md-on-surface-variant); } -/* Responsive */ +/* ── Responsive ─────────────────────────────────────────────────── */ @media (max-width: 768px) { - main { padding: 12px; } - .stats-grid { grid-template-columns: 1fr 1fr; } - .config-row { flex-wrap: wrap; } - .text-input { min-width: 100%; } - .logs-toolbar { flex-direction: column; align-items: stretch; } + main { padding: 12px; } + .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; } + .admin-header { padding: 0 16px; } + .tab-btn { padding: 0 14px; gap: 6px; } + .tab-label { display: none; } + .section { padding: 16px; } + .config-row { flex-direction: column; align-items: flex-start; gap: 8px; } + .text-input { min-width: 100%; } + .logs-toolbar { flex-direction: column; align-items: stretch; } + .api-ref-baseurl { flex-wrap: wrap; } +} +@media (max-width: 480px) { + .stats-grid { grid-template-columns: 1fr; } } diff --git a/src/static/js/dashboard.js b/src/static/js/dashboard.js index 98c2cc1b..585a0411 100644 --- a/src/static/js/dashboard.js +++ b/src/static/js/dashboard.js @@ -1,5 +1,21 @@ // src/static/js/dashboard.js - Dashboard tab logic +function copyText(text) { + if (navigator.clipboard && window.isSecureContext) { + return navigator.clipboard.writeText(text); + } + // Fallback for HTTP (non-secure) contexts + const ta = document.createElement("textarea"); + ta.value = text; + ta.style.cssText = "position:fixed;top:-9999px;left:-9999px;opacity:0"; + document.body.appendChild(ta); + ta.focus(); + ta.select(); + try { document.execCommand("copy"); } catch (_) {} + document.body.removeChild(ta); + return Promise.resolve(); +} + const API_ENDPOINTS = [ { method: "GET", path: "/v1/models", desc: "List available models" }, { method: "POST", path: "/v1/chat/completions", desc: "Chat completions — OpenAI format" }, @@ -44,7 +60,7 @@ const Dashboard = { const el = document.getElementById(targetId); if (!el) return; const text = el.textContent; - navigator.clipboard.writeText(text).then(() => { + copyText(text).then(() => { const orig = btn.textContent; btn.textContent = "Copied!"; btn.classList.add("copied"); @@ -155,7 +171,7 @@ const Dashboard = { tbody.querySelectorAll(".btn-copy").forEach(btn => { btn.addEventListener("click", () => { const text = btn.dataset.copyValue; - navigator.clipboard.writeText(text).then(() => { + copyText(text).then(() => { const orig = btn.textContent; btn.textContent = "Copied!"; btn.classList.add("copied"); diff --git a/src/templates/admin.html b/src/templates/admin.html index abcba8e6..dc22ff53 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -4,36 +4,62 @@ WebAI-to-API Admin - + + + + + + +
-

WebAI-to-API

- Admin Dashboard + WebAI-to-API +
+ Admin
Checking...
+
+
+ wifi +
Gemini Status
--
+
+ smart_toy +
Current Model
--
+
+ bar_chart +
Total Requests
--
@@ -42,13 +68,19 @@

WebAI-to-API

+
+ schedule +
Uptime
--
-

Endpoint Activity

+

+ show_chart + Endpoint Activity +

@@ -57,12 +89,15 @@

Endpoint Activity

-

API Reference

-

Use these endpoints to connect from n8n, Claude Code, or any OpenAI-compatible client.

+

+ api + API Reference +

+

Connect from Home Assistant, n8n, or any OpenAI-compatible client using these endpoints.

Base URL -- - +
EndpointRequests
@@ -83,10 +118,15 @@

API Reference

+
+
-

Import Cookies from cURL

+

+ cookie + Import Cookies from cURL +

Open Chrome DevTools (F12) → Network tab → navigate to gemini.google.com → @@ -101,24 +141,30 @@

Import Cookies from cURL

-

Cookie Status

+

+ verified_user + Cookie Status +

- Status: + Status --
- __Secure-1PSID: + __Secure-1PSID --
- __Secure-1PSIDTS: + __Secure-1PSIDTS --
- Manual Cookie Entry + + edit + Manual Cookie Entry +
@@ -133,25 +179,32 @@

Cookie Status

-

Model

+

+ model_training + Model +

- +
-

Proxy

+

+ public + Proxy +

- +
+
Auto-scroll - +

Waiting for logs...

From ca7b9ca6fae02c4cfd77dadde7205345c167250d Mon Sep 17 00:00:00 2001 From: leolionart Date: Sat, 21 Feb 2026 00:02:01 +0700 Subject: [PATCH 18/32] fix: retry transient Gemini errors (zombie stream / parse failure) gemini-webapi auto-reinits its session after zombie/parse errors (~2-3s). Without retry logic every such error was returned immediately to the client (HA, CLIProxyAPI) as a 500, even though a retry would have succeeded. Changes: - models/gemini.py: add retry loop (2 retries, 3s + 5s delays) around generate_content() for retryable transient errors only; non-retryable errors (AuthError etc.) still propagate immediately - endpoints/chat.py: categorize exceptions into auth / stream / unexpected so logs clearly distinguish the error type; return 401 for auth errors, 503 for exhausted stream retries, 500 for unexpected errors Co-Authored-By: Claude Sonnet 4.6 --- src/app/endpoints/chat.py | 13 +++++++++++-- src/models/gemini.py | 37 ++++++++++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/app/endpoints/chat.py b/src/app/endpoints/chat.py index 622440a1..8d0dbe60 100644 --- a/src/app/endpoints/chat.py +++ b/src/app/endpoints/chat.py @@ -163,5 +163,14 @@ async def chat_completions(request: OpenAIChatRequest): ) return convert_to_openai_format(response.text, request.model.value, is_stream) except Exception as e: - logger.error(f"Error in /v1/chat/completions endpoint: {e}", exc_info=True) - raise HTTPException(status_code=500, detail=f"Error processing chat completion: {str(e)}") + err_str = str(e) + err_lower = err_str.lower() + if "auth" in err_lower or "cookie" in err_lower: + logger.error(f"[chat/completions] Auth error (cookies may be expired): {e}") + raise HTTPException(status_code=401, detail=f"Gemini authentication failed: {err_str}") + elif "zombie" in err_lower or "parse" in err_lower or "stalled" in err_lower: + logger.error(f"[chat/completions] Gemini stream error after retries (model={request.model.value}): {e}") + raise HTTPException(status_code=503, detail="Gemini stream temporarily unavailable — please retry") + else: + logger.error(f"[chat/completions] Unexpected error (model={request.model.value}): {e}", exc_info=True) + raise HTTPException(status_code=500, detail=f"Error processing chat completion: {err_str}") diff --git a/src/models/gemini.py b/src/models/gemini.py index 48fdd563..c840c361 100644 --- a/src/models/gemini.py +++ b/src/models/gemini.py @@ -1,12 +1,22 @@ # src/models/gemini.py +import asyncio from typing import Optional, List, Union from pathlib import Path from gemini_webapi import GeminiClient as WebGeminiClient from app.config import CONFIG +from app.logger import logger + +# Errors that are transient — gemini-webapi auto-reinits the session after +# these, so retrying after a short delay usually succeeds. +_RETRYABLE_KEYWORDS = ("zombie stream", "failed to parse response body", "stalled") +_MAX_RETRIES = 2 +_RETRY_DELAYS = (3.0, 5.0) # seconds between retry attempts + class MyGeminiClient: """ - Wrapper for the Gemini Web API client. + Wrapper for the Gemini Web API client with automatic retry on + transient errors (zombie stream / parse failures). """ def __init__(self, secure_1psid: str, secure_1psidts: str, proxy: str | None = None) -> None: self.client = WebGeminiClient(secure_1psid, secure_1psidts, proxy) @@ -14,11 +24,32 @@ def __init__(self, secure_1psid: str, secure_1psidts: str, proxy: str | None = N async def init(self) -> None: """Initialize the Gemini client.""" await self.client.init() + async def generate_content(self, message: str, model: str, files: Optional[List[Union[str, Path]]] = None): """ - Generate content using the Gemini client. + Generate content with automatic retry on transient errors. + gemini-webapi reinitializes its session after zombie/parse errors + (~2-3 s); retrying after that window succeeds in most cases. """ - return await self.client.generate_content(message, model=model, files=files) + last_exc: Exception | None = None + for attempt in range(_MAX_RETRIES + 1): + try: + return await self.client.generate_content(message, model=model, files=files) + except Exception as e: + last_exc = e + err_lower = str(e).lower() + is_retryable = any(kw in err_lower for kw in _RETRYABLE_KEYWORDS) + if is_retryable and attempt < _MAX_RETRIES: + delay = _RETRY_DELAYS[attempt] + logger.warning( + f"Gemini transient error (attempt {attempt + 1}/{_MAX_RETRIES + 1}," + f" model={model}): {e!r} — retrying in {delay}s" + ) + await asyncio.sleep(delay) + continue + # Non-retryable or exhausted retries + raise + raise last_exc # unreachable, satisfies type checkers async def close(self) -> None: """Close the Gemini client.""" From c172cb4a68db9fb9dd686a90e1ce4d680ee9a138 Mon Sep 17 00:00:00 2001 From: leolionart Date: Sun, 22 Feb 2026 19:50:14 +0700 Subject: [PATCH 19/32] feat: multimodal support, /v1/responses, file upload, HA guide - Add image_utils.py: base64/URL decode, temp file mgmt, serialize response images - Add files.py: POST/GET/DELETE /v1/files for multipart image/PDF upload - Add responses.py: POST /v1/responses (OpenAI Responses API for Home Assistant) - Update chat.py: _resolve_model() with alias table, _extract_multimodal_content() supporting both Chat Completions and Responses API input formats - Update gemini.py: return images[] and thoughts in response - Update schemas: OpenAIChatRequest.model accepts any string, add ContentPart - Update admin UI: API reference table, cURL examples, HA step-by-step guide, guide-steps CSS with numbered circles --- requirements.txt | 1 + src/app/endpoints/chat.py | 311 ++++++++++++++++++++++++---- src/app/endpoints/files.py | 113 ++++++++++ src/app/endpoints/gemini.py | 69 +++++- src/app/endpoints/init.py | 4 +- src/app/endpoints/responses.py | 308 +++++++++++++++++++++++++++ src/app/main.py | 4 +- src/app/services/stats_collector.py | 30 ++- src/app/utils/image_utils.py | 178 ++++++++++++++++ src/schemas/request.py | 30 ++- src/static/css/admin.css | 160 +++++++++++++- src/static/js/dashboard.js | 194 +++++++++++++++-- src/templates/admin.html | 35 +++- 13 files changed, 1353 insertions(+), 84 deletions(-) create mode 100644 src/app/endpoints/files.py create mode 100644 src/app/endpoints/responses.py create mode 100644 src/app/utils/image_utils.py diff --git a/requirements.txt b/requirements.txt index 79d03a47..e753636b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,3 +9,4 @@ jinja2>=3.1.0 pydantic>=2.12.5 orjson>=3.11.7 loguru>=0.7.3 +python-multipart>=0.0.9 diff --git a/src/app/endpoints/chat.py b/src/app/endpoints/chat.py index 8d0dbe60..a3ba97c4 100644 --- a/src/app/endpoints/chat.py +++ b/src/app/endpoints/chat.py @@ -1,17 +1,190 @@ # src/app/endpoints/chat.py import json import time +from pathlib import Path +from typing import List, Optional, Tuple + from fastapi import APIRouter, HTTPException from fastapi.responses import StreamingResponse -from app.logger import logger + from app.config import CONFIG -from schemas.request import GeminiModels, GeminiRequest, OpenAIChatRequest -from app.services.gemini_client import get_gemini_client, GeminiClientNotInitializedError +from app.logger import logger +from app.services.gemini_client import GeminiClientNotInitializedError, get_gemini_client from app.services.session_manager import get_translate_session_manager +from app.utils.image_utils import ( + cleanup_temp_files, + decode_base64_to_tempfile, + download_to_tempfile, + get_temp_dir, + serialize_response_images, +) +from schemas.request import GeminiModels, GeminiRequest, OpenAIChatRequest router = APIRouter() +# --------------------------------------------------------------------------- +# Model resolution — map any string to a valid GeminiModels value +# --------------------------------------------------------------------------- + +# Explicit aliases: covers Home Assistant / OpenAI-style names and legacy names +_MODEL_ALIASES: dict[str, GeminiModels] = { + # gemini-webapi canonical names (pass-through) + "gemini-3.0-pro": GeminiModels.PRO, + "gemini-3.0-flash": GeminiModels.FLASH, + "gemini-3.0-flash-thinking": GeminiModels.FLASH_THINKING, + # Home Assistant / common variants + "gemini-pro": GeminiModels.PRO, + "gemini-ultra": GeminiModels.PRO, + "gemini-flash": GeminiModels.FLASH, + "gemini-1.0-pro": GeminiModels.PRO, + "gemini-1.5-pro": GeminiModels.PRO, + "gemini-1.5-pro-latest": GeminiModels.PRO, + "gemini-1.5-flash": GeminiModels.FLASH, + "gemini-1.5-flash-latest": GeminiModels.FLASH, + "gemini-2.0-flash": GeminiModels.FLASH, + "gemini-2.0-flash-exp": GeminiModels.FLASH, + "gemini-2.0-pro": GeminiModels.PRO, + "gemini-2.5-pro": GeminiModels.PRO, + "gemini-2.5-flash": GeminiModels.FLASH, + "gemini-3-pro": GeminiModels.PRO, + "gemini-3-flash": GeminiModels.FLASH, + "gemini-3-flash-thinking": GeminiModels.FLASH_THINKING, +} + + +def _resolve_model(model_str: Optional[str]) -> GeminiModels: + """ + Resolve any model string to a supported GeminiModels value. + + Lookup priority: + 1. Exact match in alias table (case-insensitive) + 2. Substring heuristics: "thinking" → FLASH_THINKING, "pro" → PRO, "flash" → FLASH + 3. Default: FLASH + + Logs a warning when an unknown name is mapped so the operator can see what HA is sending. + """ + if not model_str: + return GeminiModels.FLASH + + lower = model_str.strip().lower() + + # Exact alias match + if lower in _MODEL_ALIASES: + return _MODEL_ALIASES[lower] + + # Substring heuristics (handles "gemini-3-pro-image-preview" etc.) + if "thinking" in lower: + resolved = GeminiModels.FLASH_THINKING + elif "pro" in lower: + resolved = GeminiModels.PRO + elif "flash" in lower: + resolved = GeminiModels.FLASH + else: + resolved = GeminiModels.FLASH + + logger.warning( + f"Unknown model '{model_str}' → mapped to '{resolved.value}'. " + f"Add an explicit alias in _MODEL_ALIASES if needed." + ) + return resolved + + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + +def _get_cookies(gemini_client) -> dict: + """Extract session cookies from the underlying Gemini web client.""" + try: + return dict(gemini_client.client.cookies) + except Exception: + return {} + + +async def _extract_multimodal_content(content) -> Tuple[str, List[Path]]: + """ + Parse a message ``content`` field that may be: + - a plain string + - a list of content part dicts + + Supports both Chat Completions and Responses API part types: + - Chat Completions: ``{"type": "text"|"image_url", ...}`` + - Responses API: ``{"type": "input_text"|"input_image", ...}`` + + For ``image_url``/``input_image``, the URL value may be: + - Chat Completions: ``{"image_url": {"url": "data:..."}}``) + - Responses API: ``{"image_url": "data:..."}`` (direct string) + + Returns ``(text_prompt, temp_file_paths)``. + Temp files are created for base64 data URIs and remote URL images; the caller + is responsible for cleaning them up after use. + """ + if isinstance(content, str): + return content, [] + + if not isinstance(content, list): + return str(content) if content else "", [] + + text_parts: List[str] = [] + file_paths: List[Path] = [] + + for part in content: + if not isinstance(part, dict): + continue + + part_type = part.get("type", "") + + # Text parts — Chat Completions ("text") and Responses API ("input_text") + if part_type in ("text", "input_text"): + txt = part.get("text", "") + if txt: + text_parts.append(txt) + + # Image parts — Chat Completions ("image_url") and Responses API ("input_image") + elif part_type in ("image_url", "input_image"): + img_url_obj = part.get("image_url", {}) + # Chat Completions: image_url is {"url": "...", "detail": "..."} + # Responses API: image_url is a direct string "data:..." or "https://..." + url: str = img_url_obj.get("url", "") if isinstance(img_url_obj, dict) else str(img_url_obj) + + if not url: + continue + + if url.startswith("data:"): + # base64 data URI + try: + temp_path = decode_base64_to_tempfile(url) + file_paths.append(temp_path) + except ValueError as exc: + logger.warning(f"Skipping invalid base64 image: {exc}") + + elif url.startswith("file://"): + # Reference to a previously uploaded file — resolve file_id + file_id = url[len("file://"):] + # Sanitize + if "/" not in file_id and "\\" not in file_id and ".." not in file_id: + candidate = get_temp_dir() / file_id + if candidate.exists(): + file_paths.append(candidate) + else: + logger.warning(f"File not found for file_id: {file_id}") + else: + logger.warning(f"Invalid file_id in URL: {url}") + + elif url.startswith("http://") or url.startswith("https://"): + # Remote image URL — download to temp file + temp_path = await download_to_tempfile(url) + if temp_path: + file_paths.append(temp_path) + + return " ".join(text_parts), file_paths + + +# --------------------------------------------------------------------------- +# Model listing +# --------------------------------------------------------------------------- + @router.get("/v1/models") async def list_models(): """List available models in OpenAI-compatible format.""" @@ -27,6 +200,11 @@ async def list_models(): ] return {"object": "list", "data": models} + +# --------------------------------------------------------------------------- +# Translation endpoint +# --------------------------------------------------------------------------- + @router.post("/translate") async def translate_chat(request: GeminiRequest): try: @@ -38,15 +216,28 @@ async def translate_chat(request: GeminiRequest): if not session_manager: raise HTTPException(status_code=503, detail="Session manager is not initialized.") try: - # This call now correctly uses the fixed session manager response = await session_manager.get_response(request.model, request.message, request.files) return {"response": response.text} except Exception as e: logger.error(f"Error in /translate endpoint: {e}", exc_info=True) raise HTTPException(status_code=500, detail=f"Error during translation: {str(e)}") -def convert_to_openai_format(response_text: str, model: str, stream: bool = False): - return { + +# --------------------------------------------------------------------------- +# OpenAI-compatible streaming helpers +# --------------------------------------------------------------------------- + +def _to_openai_format(response_text: str, model: str, images: list, stream: bool = False) -> dict: + """Build an OpenAI-compatible chat completion response dict.""" + content = response_text + # Append image references as markdown if present (keeps text content useful) + if images: + md_links = "\n".join( + f"![{img['title']}]({img['url']})" for img in images + ) + content = f"{response_text}\n\n{md_links}".strip() + + result = { "id": f"chatcmpl-{int(time.time())}", "object": "chat.completion.chunk" if stream else "chat.completion", "created": int(time.time()), @@ -56,7 +247,7 @@ def convert_to_openai_format(response_text: str, model: str, stream: bool = Fals "index": 0, "message": { "role": "assistant", - "content": response_text, + "content": content, }, "finish_reason": "stop", } @@ -67,25 +258,22 @@ def convert_to_openai_format(response_text: str, model: str, stream: bool = Fals "total_tokens": 0, }, } + # Attach raw images as a top-level extension field + if images: + result["images"] = images + return result -def _extract_content(content) -> str: - """Extract text from content that may be a string or a list of content parts (OpenAI multimodal format).""" - if isinstance(content, str): - return content - if isinstance(content, list): - return " ".join( - part.get("text", "") for part in content - if isinstance(part, dict) and part.get("type") == "text" - ) - return str(content) if content else "" - -async def _stream_response(response_text: str, model: str): +async def _stream_response(response_text: str, model: str, images: list): """Yield SSE chunks in OpenAI streaming format.""" completion_id = f"chatcmpl-{int(time.time())}" created = int(time.time()) - # First chunk: role + content = response_text + if images: + md_links = "\n".join(f"![{img['title']}]({img['url']})" for img in images) + content = f"{response_text}\n\n{md_links}".strip() + first_chunk = { "id": completion_id, "object": "chat.completion.chunk", @@ -95,17 +283,17 @@ async def _stream_response(response_text: str, model: str): } yield f"data: {json.dumps(first_chunk)}\n\n" - # Content chunk content_chunk = { "id": completion_id, "object": "chat.completion.chunk", "created": created, "model": model, - "choices": [{"index": 0, "delta": {"content": response_text}, "finish_reason": None}], + "choices": [{"index": 0, "delta": {"content": content}, "finish_reason": None}], } + if images: + content_chunk["images"] = images yield f"data: {json.dumps(content_chunk)}\n\n" - # Final chunk final_chunk = { "id": completion_id, "object": "chat.completion.chunk", @@ -117,60 +305,103 @@ async def _stream_response(response_text: str, model: str): yield "data: [DONE]\n\n" +# --------------------------------------------------------------------------- +# OpenAI-compatible chat completions +# --------------------------------------------------------------------------- + @router.post("/v1/chat/completions") async def chat_completions(request: OpenAIChatRequest): + """ + OpenAI-compatible chat completion endpoint with multimodal support. + + Supports: + - Plain text messages + - ``image_url`` content parts with base64 data URIs (``data:image/...;base64,...``) + - ``image_url`` content parts with remote HTTPS URLs (downloaded automatically) + - ``image_url`` content parts with ``file://`` references to uploaded file IDs + - ``thoughts`` field in response (thinking models) + - ``images`` field in response (web/generated images) + """ try: gemini_client = get_gemini_client() except GeminiClientNotInitializedError as e: raise HTTPException(status_code=503, detail=str(e)) - is_stream = request.stream if request.stream is not None else False + is_stream = bool(request.stream) if not request.messages: raise HTTPException(status_code=400, detail="No messages provided.") - # Build conversation prompt with system prompt and full history - conversation_parts = [] + # Resolve model string → GeminiModels (handles HA aliases like "gemini-3-pro-image-preview") + gemini_model = _resolve_model(request.model) + model_value = gemini_model.value + + # Parse all messages — collect text parts and any image file paths + conversation_parts: List[str] = [] + all_file_paths: List[Path] = [] + # Track which paths are temp files that should be cleaned up + temp_file_paths: List[Path] = [] for msg in request.messages: role = msg.get("role", "user") - content = _extract_content(msg.get("content", "")) - if not content: + raw_content = msg.get("content", "") + + text, file_paths = await _extract_multimodal_content(raw_content) + + # Mark newly created temp files for cleanup + for fp in file_paths: + if str(fp).startswith(str(get_temp_dir())): + temp_file_paths.append(fp) + all_file_paths.extend(file_paths) + + if not text: continue if role == "system": - conversation_parts.append(f"System: {content}") + conversation_parts.append(f"System: {text}") elif role == "user": - conversation_parts.append(f"User: {content}") + conversation_parts.append(f"User: {text}") elif role == "assistant": - conversation_parts.append(f"Assistant: {content}") + conversation_parts.append(f"Assistant: {text}") if not conversation_parts: raise HTTPException(status_code=400, detail="No valid messages found.") final_prompt = "\n\n".join(conversation_parts) - - if not request.model: - raise HTTPException(status_code=400, detail="Model not specified in the request.") + files_arg = all_file_paths if all_file_paths else None try: - response = await gemini_client.generate_content(message=final_prompt, model=request.model.value, files=None) + response = await gemini_client.generate_content( + message=final_prompt, + model=model_value, + files=files_arg, + ) + + images = await serialize_response_images( + response, gemini_cookies=_get_cookies(gemini_client) + ) + if is_stream: return StreamingResponse( - _stream_response(response.text, request.model.value), + _stream_response(response.text, model_value, images), media_type="text/event-stream", headers={"Cache-Control": "no-cache", "X-Accel-Buffering": "no"}, ) - return convert_to_openai_format(response.text, request.model.value, is_stream) + return _to_openai_format(response.text, model_value, images, is_stream) + except Exception as e: err_str = str(e) err_lower = err_str.lower() if "auth" in err_lower or "cookie" in err_lower: - logger.error(f"[chat/completions] Auth error (cookies may be expired): {e}") + logger.error(f"[chat/completions] Auth error: {e}") raise HTTPException(status_code=401, detail=f"Gemini authentication failed: {err_str}") elif "zombie" in err_lower or "parse" in err_lower or "stalled" in err_lower: - logger.error(f"[chat/completions] Gemini stream error after retries (model={request.model.value}): {e}") + logger.error(f"[chat/completions] Stream error after retries (model={model_value}): {e}") raise HTTPException(status_code=503, detail="Gemini stream temporarily unavailable — please retry") else: - logger.error(f"[chat/completions] Unexpected error (model={request.model.value}): {e}", exc_info=True) + logger.error(f"[chat/completions] Unexpected error (model={model_value}): {e}", exc_info=True) raise HTTPException(status_code=500, detail=f"Error processing chat completion: {err_str}") + + finally: + # Clean up temp files created from base64/URL image inputs + cleanup_temp_files(temp_file_paths) diff --git a/src/app/endpoints/files.py b/src/app/endpoints/files.py new file mode 100644 index 00000000..d6645215 --- /dev/null +++ b/src/app/endpoints/files.py @@ -0,0 +1,113 @@ +# src/app/endpoints/files.py +""" +File upload endpoint — allows clients to upload images or PDFs and receive +a file_id that can be referenced in subsequent /gemini or /v1/chat/completions +requests via the `files` field. + +Compatible with the OpenAI Files API surface (subset). +""" + +import hashlib +import time +from pathlib import Path + +from fastapi import APIRouter, File, HTTPException, UploadFile + +from app.logger import logger +from app.utils.image_utils import ALLOWED_MIME_TYPES, get_temp_dir + +router = APIRouter() + +_MAX_FILE_SIZE = 50 * 1024 * 1024 # 50 MB + +_MIME_TO_EXT: dict[str, str] = { + "image/jpeg": ".jpg", + "image/jpg": ".jpg", + "image/png": ".png", + "image/gif": ".gif", + "image/webp": ".webp", + "image/bmp": ".bmp", + "application/pdf": ".pdf", +} + + +@router.post("/v1/files") +async def upload_file(file: UploadFile = File(...)): + """ + Upload an image or PDF file. + + Returns a ``file_id`` (and ``local_path``) that you can pass to: + - ``POST /gemini`` → ``files: [""]`` + - ``POST /v1/chat/completions`` → content part ``{"type": "image_url", "image_url": {"url": "file://"}}`` + """ + content = await file.read() + + if len(content) > _MAX_FILE_SIZE: + raise HTTPException(status_code=413, detail="File too large (max 50 MB)") + + # Determine content type — prefer header, fall back to filename extension + content_type = (file.content_type or "").split(";")[0].strip() + if content_type and content_type not in ALLOWED_MIME_TYPES: + raise HTTPException( + status_code=415, + detail=f"Unsupported file type: {content_type}. Allowed: {sorted(ALLOWED_MIME_TYPES)}", + ) + + # Derive file extension + if content_type and content_type in _MIME_TO_EXT: + ext = _MIME_TO_EXT[content_type] + else: + ext = Path(file.filename or "").suffix or ".bin" + + # Unique, deterministic-ish file ID + file_hash = hashlib.md5(content).hexdigest()[:8] + timestamp = int(time.time() * 1000) + file_id = f"file_{timestamp}_{file_hash}{ext}" + + dest = get_temp_dir() / file_id + dest.write_bytes(content) + logger.info(f"File uploaded: {file_id} ({len(content)} bytes, type={content_type})") + + return { + "id": file_id, + "object": "file", + "bytes": len(content), + "filename": file.filename, + "content_type": content_type, + "purpose": "vision", + "local_path": str(dest), + } + + +@router.get("/v1/files/{file_id}") +async def get_file_info(file_id: str): + """Return metadata for a previously uploaded file.""" + # Sanitize: prevent path traversal + if "/" in file_id or "\\" in file_id or ".." in file_id: + raise HTTPException(status_code=400, detail="Invalid file_id") + + dest = get_temp_dir() / file_id + if not dest.exists(): + raise HTTPException(status_code=404, detail=f"File not found: {file_id}") + + return { + "id": file_id, + "object": "file", + "bytes": dest.stat().st_size, + "local_path": str(dest), + } + + +@router.delete("/v1/files/{file_id}") +async def delete_file(file_id: str): + """Delete a previously uploaded file.""" + if "/" in file_id or "\\" in file_id or ".." in file_id: + raise HTTPException(status_code=400, detail="Invalid file_id") + + dest = get_temp_dir() / file_id + if not dest.exists(): + raise HTTPException(status_code=404, detail=f"File not found: {file_id}") + + dest.unlink() + logger.info(f"File deleted: {file_id}") + return {"id": file_id, "object": "file", "deleted": True} diff --git a/src/app/endpoints/gemini.py b/src/app/endpoints/gemini.py index c2036e64..e30282be 100644 --- a/src/app/endpoints/gemini.py +++ b/src/app/endpoints/gemini.py @@ -1,33 +1,72 @@ # src/app/endpoints/gemini.py +from pathlib import Path +from typing import List, Optional, Union + from fastapi import APIRouter, HTTPException + from app.logger import logger -from schemas.request import GeminiRequest -from app.services.gemini_client import get_gemini_client, GeminiClientNotInitializedError +from app.services.gemini_client import GeminiClientNotInitializedError, get_gemini_client from app.services.session_manager import get_gemini_chat_manager - -from pathlib import Path -from typing import Union, List, Optional +from app.utils.image_utils import cleanup_temp_files, serialize_response_images +from schemas.request import GeminiRequest router = APIRouter() + +def _get_cookies(gemini_client) -> dict: + """Extract session cookies from the underlying Gemini web client.""" + try: + return dict(gemini_client.client.cookies) + except Exception: + return {} + + @router.post("/gemini") async def gemini_generate(request: GeminiRequest): + """ + Stateless content generation. + + Response includes: + - ``response``: generated text + - ``images``: list of web/generated images (URL + base64), if any + - ``thoughts``: chain-of-thought text (thinking models only), if any + """ try: gemini_client = get_gemini_client() except GeminiClientNotInitializedError as e: raise HTTPException(status_code=503, detail=str(e)) + file_paths: List[Path] = [Path(f) for f in request.files] if request.files else [] + try: - # Use the value attribute for the model (since GeminiRequest.model is an Enum) - files: Optional[List[Union[str, Path]]] = [Path(f) for f in request.files] if request.files else None - response = await gemini_client.generate_content(request.message, request.model.value, files=files) - return {"response": response.text} + response = await gemini_client.generate_content( + request.message, request.model.value, files=file_paths or None + ) + + images = await serialize_response_images(response, gemini_cookies=_get_cookies(gemini_client)) + + result: dict = {"response": response.text} + if images: + result["images"] = images + if response.thoughts: + result["thoughts"] = response.thoughts + return result + except Exception as e: logger.error(f"Error in /gemini endpoint: {e}", exc_info=True) raise HTTPException(status_code=500, detail=f"Error generating content: {str(e)}") + @router.post("/gemini-chat") async def gemini_chat(request: GeminiRequest): + """ + Stateful chat with persistent session context. + + Response includes: + - ``response``: generated text + - ``images``: list of web/generated images (URL + base64), if any + - ``thoughts``: chain-of-thought text (thinking models only), if any + """ try: gemini_client = get_gemini_client() except GeminiClientNotInitializedError as e: @@ -36,9 +75,19 @@ async def gemini_chat(request: GeminiRequest): session_manager = get_gemini_chat_manager() if not session_manager: raise HTTPException(status_code=503, detail="Session manager is not initialized.") + try: response = await session_manager.get_response(request.model, request.message, request.files) - return {"response": response.text} + + images = await serialize_response_images(response, gemini_cookies=_get_cookies(gemini_client)) + + result: dict = {"response": response.text} + if images: + result["images"] = images + if response.thoughts: + result["thoughts"] = response.thoughts + return result + except Exception as e: logger.error(f"Error in /gemini-chat endpoint: {e}", exc_info=True) raise HTTPException(status_code=500, detail=f"Error in chat: {str(e)}") diff --git a/src/app/endpoints/init.py b/src/app/endpoints/init.py index 4b9934f0..d8e06e56 100644 --- a/src/app/endpoints/init.py +++ b/src/app/endpoints/init.py @@ -3,5 +3,7 @@ from .gemini import router as gemini_router from .chat import router as chat_router from .google_generative import router as google_generative_router +from .files import router as files_router +from .responses import router as responses_router -__all__ = ["gemini_router", "chat_router", "google_generative_router"] +__all__ = ["gemini_router", "chat_router", "google_generative_router", "files_router", "responses_router"] diff --git a/src/app/endpoints/responses.py b/src/app/endpoints/responses.py new file mode 100644 index 00000000..5cd1e610 --- /dev/null +++ b/src/app/endpoints/responses.py @@ -0,0 +1,308 @@ +# src/app/endpoints/responses.py +""" +OpenAI Responses API endpoint — POST /v1/responses + +Implements the subset of the Responses API that Home Assistant uses when sending +images via the ai_task / openai_conversation integration. + +Request format (HA sends): + { + "model": "gemini-3-pro-image-preview", + "input": [ + {"type": "message", "role": "developer", "content": "You are helpful"}, + {"type": "message", "role": "user", "content": [ + {"type": "input_text", "text": "What do you see?"}, + {"type": "input_image", "image_url": "data:image/jpeg;base64,...", "detail": "auto"} + ]} + ], + "instructions": "Optional system prompt shorthand", + "stream": true, + "store": false, + "max_output_tokens": 150 + } + +Streaming response format (SSE): + response.created → response.output_item.added → response.content_part.added + → response.output_text.delta (one or more) → response.output_text.done + → response.output_item.done → response.completed +""" + +import json +import time +import uuid +from pathlib import Path +from typing import List, Optional + +from fastapi import APIRouter, HTTPException +from fastapi.responses import StreamingResponse + +from app.logger import logger +from app.services.gemini_client import GeminiClientNotInitializedError, get_gemini_client +from app.utils.image_utils import ( + cleanup_temp_files, + get_temp_dir, + serialize_response_images, +) + +# Reuse model resolution and content extraction from chat.py +from app.endpoints.chat import _resolve_model, _extract_multimodal_content, _get_cookies + +router = APIRouter() + + +# --------------------------------------------------------------------------- +# Response object builders +# --------------------------------------------------------------------------- + +def _make_response_id() -> str: + return f"resp_{uuid.uuid4().hex[:24]}" + + +def _make_message_id() -> str: + return f"msg_{uuid.uuid4().hex[:24]}" + + +def _build_response_base(resp_id: str, model_value: str, status: str, output: list) -> dict: + return { + "id": resp_id, + "object": "response", + "created_at": int(time.time()), + "model": model_value, + "output": output, + "status": status, + "usage": { + "input_tokens": 0, + "output_tokens": 0, + "total_tokens": 0, + }, + } + + +# --------------------------------------------------------------------------- +# Streaming SSE helpers +# --------------------------------------------------------------------------- + +def _sse(event: str, data: dict) -> str: + return f"event: {event}\ndata: {json.dumps(data)}\n\n" + + +async def _stream_responses_api(text: str, model_value: str, images: list): + """ + Emit the full OpenAI Responses API SSE event sequence for a completed response. + + Since gemini-webapi returns the full text at once (not token-by-token), we + emit a single delta containing all text, then close the stream properly so + HA parses the response correctly. + """ + resp_id = _make_response_id() + msg_id = _make_message_id() + created = int(time.time()) + + # Append image markdown to text if images were generated + content_text = text + if images: + md_links = "\n".join(f"![{img['title']}]({img['url']})" for img in images) + content_text = f"{text}\n\n{md_links}".strip() + + # 1. response.created + yield _sse("response.created", { + "type": "response.created", + "response": _build_response_base(resp_id, model_value, "in_progress", []), + }) + + # 2. response.output_item.added + yield _sse("response.output_item.added", { + "type": "response.output_item.added", + "output_index": 0, + "item": { + "type": "message", + "id": msg_id, + "role": "assistant", + "status": "in_progress", + "content": [], + }, + }) + + # 3. response.content_part.added + yield _sse("response.content_part.added", { + "type": "response.content_part.added", + "output_index": 0, + "content_index": 0, + "part": {"type": "output_text", "text": "", "annotations": []}, + }) + + # 4. response.output_text.delta (single chunk — full text) + yield _sse("response.output_text.delta", { + "type": "response.output_text.delta", + "output_index": 0, + "content_index": 0, + "delta": content_text, + }) + + # 5. response.output_text.done + yield _sse("response.output_text.done", { + "type": "response.output_text.done", + "output_index": 0, + "content_index": 0, + "text": content_text, + }) + + # 6. response.output_item.done + completed_item = { + "type": "message", + "id": msg_id, + "role": "assistant", + "status": "completed", + "content": [{"type": "output_text", "text": content_text, "annotations": []}], + } + yield _sse("response.output_item.done", { + "type": "response.output_item.done", + "output_index": 0, + "item": completed_item, + }) + + # 7. response.completed + completed_response = _build_response_base(resp_id, model_value, "completed", [completed_item]) + if images: + completed_response["images"] = images # extension field + yield _sse("response.completed", { + "type": "response.completed", + "response": completed_response, + }) + + +# --------------------------------------------------------------------------- +# Main endpoint +# --------------------------------------------------------------------------- + +@router.post("/v1/responses") +async def create_response(request: dict): + """ + OpenAI Responses API — used by Home Assistant's openai_conversation integration + when sending camera images for analysis via the ai_task / AI task agent. + + Supports: + - ``input_text`` and ``input_image`` content parts (Responses API format) + - ``text`` and ``image_url`` content parts (Chat Completions format, for compatibility) + - Base64 data URIs, public image URLs, and ``file://`` uploaded file references + - ``instructions`` field as system prompt shorthand + - Streaming (``stream: true``) with full SSE event sequence + - Any model name — unknown names are auto-mapped to the closest Gemini model + """ + try: + gemini_client = get_gemini_client() + except GeminiClientNotInitializedError as e: + raise HTTPException(status_code=503, detail=str(e)) + + # ── Resolve model ────────────────────────────────────────────── + gemini_model = _resolve_model(request.get("model")) + model_value = gemini_model.value + is_stream = bool(request.get("stream", False)) + + # ── Parse input array ────────────────────────────────────────── + input_items = request.get("input", []) + if not input_items and not request.get("instructions"): + raise HTTPException(status_code=400, detail="No input provided.") + + conversation_parts: List[str] = [] + all_file_paths: List[Path] = [] + temp_file_paths: List[Path] = [] + + # Optional top-level system prompt shorthand + instructions = request.get("instructions", "") + if instructions: + conversation_parts.append(f"System: {instructions}") + + for item in input_items: + if not isinstance(item, dict): + continue + + # Only handle message items (ignore function_call, etc.) + if item.get("type") != "message": + continue + + role = item.get("role", "user") + raw_content = item.get("content", "") + + text, file_paths = await _extract_multimodal_content(raw_content) + + # Track temp files for cleanup + for fp in file_paths: + if str(fp).startswith(str(get_temp_dir())): + temp_file_paths.append(fp) + all_file_paths.extend(file_paths) + + if not text: + continue + + # Map role names — Responses API uses "developer" for system + if role in ("system", "developer"): + conversation_parts.append(f"System: {text}") + elif role == "user": + conversation_parts.append(f"User: {text}") + elif role == "assistant": + conversation_parts.append(f"Assistant: {text}") + + if not conversation_parts: + raise HTTPException(status_code=400, detail="No valid messages found in input.") + + final_prompt = "\n\n".join(conversation_parts) + files_arg = all_file_paths if all_file_paths else None + + try: + response = await gemini_client.generate_content( + message=final_prompt, + model=model_value, + files=files_arg, + ) + + images = await serialize_response_images( + response, gemini_cookies=_get_cookies(gemini_client) + ) + + if is_stream: + return StreamingResponse( + _stream_responses_api(response.text, model_value, images), + media_type="text/event-stream", + headers={"Cache-Control": "no-cache", "X-Accel-Buffering": "no"}, + ) + + # Non-streaming response + resp_id = _make_response_id() + msg_id = _make_message_id() + content_text = response.text + if images: + md_links = "\n".join(f"![{img['title']}]({img['url']})" for img in images) + content_text = f"{content_text}\n\n{md_links}".strip() + + result = _build_response_base( + resp_id, model_value, "completed", + [{ + "type": "message", + "id": msg_id, + "role": "assistant", + "status": "completed", + "content": [{"type": "output_text", "text": content_text, "annotations": []}], + }] + ) + if images: + result["images"] = images + if response.thoughts: + result["thoughts"] = response.thoughts + return result + + except Exception as e: + err_str = str(e) + err_lower = err_str.lower() + if "auth" in err_lower or "cookie" in err_lower: + logger.error(f"[/v1/responses] Auth error: {e}") + raise HTTPException(status_code=401, detail=f"Gemini authentication failed: {err_str}") + elif "zombie" in err_lower or "parse" in err_lower or "stalled" in err_lower: + logger.error(f"[/v1/responses] Stream error after retries (model={model_value}): {e}") + raise HTTPException(status_code=503, detail="Gemini stream temporarily unavailable — please retry") + else: + logger.error(f"[/v1/responses] Unexpected error (model={model_value}): {e}", exc_info=True) + raise HTTPException(status_code=500, detail=f"Error: {err_str}") + + finally: + cleanup_temp_files(temp_file_paths) diff --git a/src/app/main.py b/src/app/main.py index 69867dc6..c65e7196 100644 --- a/src/app/main.py +++ b/src/app/main.py @@ -15,7 +15,7 @@ from app.logger import logger # Import endpoint routers -from app.endpoints import gemini, chat, google_generative +from app.endpoints import gemini, chat, google_generative, files, responses from app.endpoints import admin, admin_api _SRC_DIR = Path(__file__).resolve().parent.parent # points to src/ @@ -85,6 +85,8 @@ async def lifespan(app: FastAPI): app.include_router(gemini.router) app.include_router(chat.router) app.include_router(google_generative.router) +app.include_router(files.router) +app.include_router(responses.router) # Register admin routers app.include_router(admin.router) diff --git a/src/app/services/stats_collector.py b/src/app/services/stats_collector.py index 3a6043bd..bdc40486 100644 --- a/src/app/services/stats_collector.py +++ b/src/app/services/stats_collector.py @@ -16,6 +16,9 @@ def __init__(self): self._success_count = 0 self._error_count = 0 self._endpoint_counts: dict[str, int] = {} + self._endpoint_success: dict[str, int] = {} + self._endpoint_error: dict[str, int] = {} + self._endpoint_last_seen: dict[str, float] = {} self._last_request_time: Optional[float] = None @classmethod @@ -26,27 +29,42 @@ def get_instance(cls) -> "StatsCollector": def record_request(self, path: str, status_code: int) -> None: with self._lock: + now = time.time() self._total_requests += 1 - self._last_request_time = time.time() - if path not in self._endpoint_counts: - self._endpoint_counts[path] = 0 - self._endpoint_counts[path] += 1 - if 200 <= status_code < 400: + self._last_request_time = now + self._endpoint_counts[path] = self._endpoint_counts.get(path, 0) + 1 + self._endpoint_last_seen[path] = now + is_success = 200 <= status_code < 400 + if is_success: self._success_count += 1 + self._endpoint_success[path] = self._endpoint_success.get(path, 0) + 1 else: self._error_count += 1 + self._endpoint_error[path] = self._endpoint_error.get(path, 0) + 1 def get_stats(self) -> dict: with self._lock: uptime_seconds = time.time() - self._start_time hours, remainder = divmod(int(uptime_seconds), 3600) minutes, seconds = divmod(remainder, 60) + + # Build per-endpoint detail + endpoints_detail = {} + for path, count in self._endpoint_counts.items(): + endpoints_detail[path] = { + "count": count, + "success": self._endpoint_success.get(path, 0), + "error": self._endpoint_error.get(path, 0), + "last_seen": self._endpoint_last_seen.get(path), + } + return { "uptime": f"{hours}h {minutes}m {seconds}s", "uptime_seconds": uptime_seconds, "total_requests": self._total_requests, "success_count": self._success_count, "error_count": self._error_count, - "endpoints": dict(self._endpoint_counts), + "endpoints": {p: d["count"] for p, d in endpoints_detail.items()}, + "endpoints_detail": endpoints_detail, "last_request_time": self._last_request_time, } diff --git a/src/app/utils/image_utils.py b/src/app/utils/image_utils.py new file mode 100644 index 00000000..3921ccc4 --- /dev/null +++ b/src/app/utils/image_utils.py @@ -0,0 +1,178 @@ +# src/app/utils/image_utils.py +""" +Utilities for image processing: base64 decoding, URL downloading, +Gemini response serialization, and temp file management. +""" + +import base64 +import hashlib +import re +import tempfile +import time +from pathlib import Path +from typing import Optional + +import httpx + +from app.logger import logger + +# --------------------------------------------------------------------------- +# Temp directory — created once per process lifetime +# --------------------------------------------------------------------------- +_TEMP_DIR: Path = Path(tempfile.mkdtemp(prefix="webai_uploads_")) + +_MIME_TO_EXT: dict[str, str] = { + "image/jpeg": ".jpg", + "image/jpg": ".jpg", + "image/png": ".png", + "image/gif": ".gif", + "image/webp": ".webp", + "image/bmp": ".bmp", + "application/pdf": ".pdf", +} + +ALLOWED_MIME_TYPES: set[str] = set(_MIME_TO_EXT.keys()) + + +def get_temp_dir() -> Path: + """Return the shared temp directory for this process.""" + _TEMP_DIR.mkdir(parents=True, exist_ok=True) + return _TEMP_DIR + + +def _unique_name(prefix: str, ext: str) -> str: + ts = int(time.time() * 1000) + return f"{prefix}_{ts}{ext}" + + +# --------------------------------------------------------------------------- +# Decode base64 data URI → temp file +# --------------------------------------------------------------------------- +def decode_base64_to_tempfile(data_uri: str) -> Path: + """ + Decode a base64 data URI (``data:;base64,``) to a temp file. + + Returns the Path of the saved file. + Raises ValueError for invalid format. + """ + match = re.match(r"data:([^;]+);base64,(.+)", data_uri, re.DOTALL) + if not match: + raise ValueError(f"Invalid data URI: {data_uri[:60]}…") + + mime_type = match.group(1).strip() + b64_data = match.group(2).strip() + ext = _MIME_TO_EXT.get(mime_type, ".bin") + + raw = base64.b64decode(b64_data) + dest = get_temp_dir() / _unique_name("b64", ext) + dest.write_bytes(raw) + logger.debug(f"Decoded base64 → {dest} ({len(raw)} bytes)") + return dest + + +# --------------------------------------------------------------------------- +# Download URL → temp file +# --------------------------------------------------------------------------- +async def download_to_tempfile(url: str, cookies: Optional[dict] = None) -> Optional[Path]: + """ + Download an image/file from *url* into a temp file. + + ``cookies`` is forwarded for authenticated Gemini URLs (generated images). + Returns the Path on success, None on failure. + """ + try: + async with httpx.AsyncClient(timeout=30, cookies=cookies or {}) as client: + resp = await client.get(url, follow_redirects=True) + resp.raise_for_status() + + content_type = resp.headers.get("content-type", "").split(";")[0].strip() + ext = _MIME_TO_EXT.get(content_type, ".jpg") + dest = get_temp_dir() / _unique_name("dl", ext) + dest.write_bytes(resp.content) + logger.debug(f"Downloaded {url} → {dest} ({len(resp.content)} bytes)") + return dest + except Exception as exc: + logger.warning(f"Failed to download {url}: {exc}") + return None + + +# --------------------------------------------------------------------------- +# Fetch image URL → base64 data URI string +# --------------------------------------------------------------------------- +async def fetch_image_as_base64(url: str, cookies: Optional[dict] = None) -> str: + """ + Download an image from *url* and return it as a ``data:;base64,`` string. + + Returns empty string on failure. + """ + try: + async with httpx.AsyncClient(timeout=30, cookies=cookies or {}) as client: + resp = await client.get(url, follow_redirects=True) + resp.raise_for_status() + + content_type = resp.headers.get("content-type", "image/png").split(";")[0].strip() + b64 = base64.b64encode(resp.content).decode() + return f"data:{content_type};base64,{b64}" + except Exception as exc: + logger.warning(f"Failed to fetch image as base64 from {url}: {exc}") + return "" + + +# --------------------------------------------------------------------------- +# Serialize GeminiResponse images → list[dict] +# --------------------------------------------------------------------------- +async def serialize_response_images(response, gemini_cookies: Optional[dict] = None) -> list[dict]: + """ + Extract all images from a *GeminiResponse* (ModelOutput) and return a list + of dicts suitable for JSON serialization. + + Each dict has: + - type: "web_image" | "generated_image" + - url: original Gemini URL + - base64: data URI (downloaded with auth cookies if needed), empty on failure + - title: image title + - alt: alt text / description + """ + if not response.candidates: + return [] + + chosen = response.candidates[response.chosen] + result: list[dict] = [] + + # Web images — publicly accessible URLs + for img in chosen.web_images: + b64 = await fetch_image_as_base64(img.url) + result.append({ + "type": "web_image", + "url": img.url, + "base64": b64, + "title": img.title or "[Image]", + "alt": img.alt or "", + }) + + # Generated images — may require auth cookies + for img in chosen.generated_images: + b64 = await fetch_image_as_base64(img.url, cookies=gemini_cookies) + result.append({ + "type": "generated_image", + "url": img.url, + "base64": b64, + "title": img.title or "[Generated Image]", + "alt": img.alt or "", + }) + + return result + + +# --------------------------------------------------------------------------- +# Cleanup temp files +# --------------------------------------------------------------------------- +def cleanup_temp_files(paths: list[Path]) -> None: + """Delete a list of temp files, logging any errors.""" + for p in paths: + try: + if p and p.exists() and p.is_relative_to(_TEMP_DIR): + p.unlink() + logger.debug(f"Cleaned up temp file: {p}") + except Exception as exc: + logger.warning(f"Failed to delete temp file {p}: {exc}") diff --git a/src/schemas/request.py b/src/schemas/request.py index 4ffc610c..3a59a740 100644 --- a/src/schemas/request.py +++ b/src/schemas/request.py @@ -1,8 +1,30 @@ # src/schemas/request.py from enum import Enum -from typing import List, Optional +from typing import Any, List, Optional, Union from pydantic import BaseModel, Field + +# --------------------------------------------------------------------------- +# Multimodal content part schemas (OpenAI vision format) +# --------------------------------------------------------------------------- + +class ImageUrlDetail(BaseModel): + """Inner object for image_url content parts.""" + url: str + detail: Optional[str] = "auto" + + +class ContentPart(BaseModel): + """A single part of a multimodal message content array.""" + type: str # "text" | "image_url" + text: Optional[str] = None + image_url: Optional[ImageUrlDetail] = None + + +# --------------------------------------------------------------------------- +# Gemini model enum +# --------------------------------------------------------------------------- + class GeminiModels(str, Enum): """ Available Gemini models (gemini-webapi >= 1.19.2). @@ -21,7 +43,11 @@ class GeminiRequest(BaseModel): class OpenAIChatRequest(BaseModel): messages: List[dict] - model: Optional[GeminiModels] = None + # Accept any string — unknown model names are resolved to the closest + # GeminiModels value in the endpoint (see _resolve_model in chat.py). + # This ensures compatibility with Home Assistant and other OpenAI clients + # that send model names like "gemini-3-pro-image-preview". + model: Optional[str] = None stream: Optional[bool] = False class Part(BaseModel): diff --git a/src/static/css/admin.css b/src/static/css/admin.css index bbed4773..0ab7a412 100644 --- a/src/static/css/admin.css +++ b/src/static/css/admin.css @@ -430,11 +430,51 @@ main { padding: 24px; max-width: 1200px; margin: 0 auto; } .data-table tr:last-child td { border-bottom: none; } .data-table tbody tr:hover td { background: rgba(168, 199, 250, 0.04); } -#endpoint-table td:last-child { +/* Endpoint activity table */ +#endpoint-table th.col-num { + text-align: right; + white-space: nowrap; +} +#endpoint-table td.col-num { text-align: right; font-family: var(--font-mono); font-size: 0.825rem; + white-space: nowrap; +} +#endpoint-table td.ep-count { color: var(--md-on-surface); font-weight: 600; } +#endpoint-table td.ep-ok { color: var(--md-tertiary); } +#endpoint-table td.ep-err { color: var(--md-error); } +#endpoint-table td.ep-path { font-family: var(--font-mono); font-size: 0.85rem; } +#endpoint-table td.ep-last { + font-size: 0.775rem; + color: var(--md-outline); + white-space: nowrap; +} + +/* % traffic bar */ +.pct-bar-wrap { + display: inline-flex; + align-items: center; + gap: 6px; + justify-content: flex-end; + width: 100%; +} +.pct-label { + font-family: var(--font-mono); + font-size: 0.775rem; color: var(--md-on-surface-variant); + min-width: 38px; + text-align: right; +} +.pct-bar { + display: inline-block; + height: 4px; + border-radius: 2px; + background: var(--gemini-gradient); + min-width: 2px; + max-width: 80px; + opacity: 0.7; + transition: width var(--dur-m) var(--ease-standard); } /* ── API Reference ──────────────────────────────────────────────── */ @@ -861,6 +901,122 @@ code { color: var(--md-on-surface-variant); } +/* ── Method badges for DELETE ────────────────────────────────────── */ +.method-delete { background: rgba(255, 100, 80, 0.15); color: #FF8A80; } + +/* ── cURL Example Tabs ───────────────────────────────────────────── */ +.curl-tabs { + display: flex; + flex-direction: column; + gap: 0; +} + +.curl-tab-bar { + display: flex; + flex-wrap: wrap; + gap: 6px; + margin-bottom: 12px; +} + +.curl-tab-btn { + padding: 6px 14px; + border-radius: 20px; + border: 1px solid var(--md-outline-variant); + background: transparent; + color: var(--md-on-surface-variant); + font-family: inherit; + font-size: 0.8rem; + font-weight: 500; + cursor: pointer; + transition: background 0.15s, color 0.15s, border-color 0.15s; + white-space: nowrap; +} + +.curl-tab-btn:hover { + background: var(--md-surface-container-high); + color: var(--md-on-surface); +} + +.curl-tab-btn.active { + background: var(--md-primary-container); + border-color: var(--md-primary); + color: var(--md-on-primary-container); +} + +.curl-panel { display: none; } +.curl-panel.active { display: block; } + +.curl-desc { + margin: 0 0 10px; +} + +.curl-code-wrap { + position: relative; +} + +.curl-code { + background: var(--md-surface-container-lowest); + border: 1px solid var(--md-outline-variant); + border-radius: var(--radius-md); + padding: 14px 16px; + padding-right: 80px; + font-family: 'JetBrains Mono', monospace; + font-size: 0.78rem; + line-height: 1.6; + color: var(--md-on-surface); + white-space: pre; + overflow-x: auto; + margin: 0; +} + +.curl-copy-btn { + position: absolute; + top: 10px; + right: 10px; +} + +.guide-steps { + margin: 8px 0 0; + padding-left: 0; + list-style: none; + counter-reset: guide-counter; + display: flex; + flex-direction: column; + gap: 10px; +} +.guide-steps li { + counter-increment: guide-counter; + display: flex; + gap: 12px; + align-items: flex-start; + font-size: 0.9rem; + line-height: 1.6; + color: var(--md-on-surface); +} +.guide-steps li::before { + content: counter(guide-counter); + min-width: 24px; + height: 24px; + background: var(--md-primary-container); + color: var(--md-on-primary-container); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.75rem; + font-weight: 700; + flex-shrink: 0; + margin-top: 1px; +} +.guide-steps code { + background: var(--md-surface-container-lowest); + border: 1px solid var(--md-outline-variant); + border-radius: 4px; + padding: 1px 6px; + font-family: 'JetBrains Mono', monospace; + font-size: 0.82em; +} + /* ── Responsive ─────────────────────────────────────────────────── */ @media (max-width: 768px) { main { padding: 12px; } @@ -873,6 +1029,8 @@ code { .text-input { min-width: 100%; } .logs-toolbar { flex-direction: column; align-items: stretch; } .api-ref-baseurl { flex-wrap: wrap; } + .curl-code { font-size: 0.72rem; padding-right: 70px; } + .curl-tab-btn { font-size: 0.75rem; padding: 5px 10px; } } @media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr; } diff --git a/src/static/js/dashboard.js b/src/static/js/dashboard.js index 585a0411..9438e5c6 100644 --- a/src/static/js/dashboard.js +++ b/src/static/js/dashboard.js @@ -1,5 +1,13 @@ // src/static/js/dashboard.js - Dashboard tab logic +function _relativeTime(secondsAgo) { + if (secondsAgo < 5) return "just now"; + if (secondsAgo < 60) return `${Math.floor(secondsAgo)}s ago`; + if (secondsAgo < 3600) return `${Math.floor(secondsAgo / 60)}m ago`; + if (secondsAgo < 86400) return `${Math.floor(secondsAgo / 3600)}h ago`; + return `${Math.floor(secondsAgo / 86400)}d ago`; +} + function copyText(text) { if (navigator.clipboard && window.isSecureContext) { return navigator.clipboard.writeText(text); @@ -17,17 +25,97 @@ function copyText(text) { } const API_ENDPOINTS = [ - { method: "GET", path: "/v1/models", desc: "List available models" }, - { method: "POST", path: "/v1/chat/completions", desc: "Chat completions — OpenAI format" }, + { method: "GET", path: "/v1/models", desc: "List available models" }, + { method: "POST", path: "/v1/chat/completions", desc: "Chat completions — OpenAI format (text + vision)" }, + { method: "POST", path: "/v1/responses", desc: "Responses API — Home Assistant openai_conversation format (camera images)" }, + { method: "POST", path: "/v1/files", desc: "Upload image/PDF — returns file_id" }, + { method: "GET", path: "/v1/files/{file_id}", desc: "Get uploaded file info" }, + { method: "DELETE", path: "/v1/files/{file_id}", desc: "Delete uploaded file" }, { method: "POST", path: "/v1beta/models/{model}", desc: "Generate content — Google AI format" }, - { method: "POST", path: "/gemini", desc: "Generate content — simple JSON format" }, - { method: "POST", path: "/gemini-chat", desc: "Chat with context — simple JSON format" }, + { method: "POST", path: "/gemini", desc: "Generate content (text + images in response)" }, + { method: "POST", path: "/gemini-chat", desc: "Stateful chat with session context" }, +]; + +// --------------------------------------------------------------------------- +// cURL Usage Examples +// --------------------------------------------------------------------------- +const CURL_EXAMPLES = [ + { + id: "chat", + label: "💬 Chat", + desc: "Dùng cho mọi client OpenAI-compatible: Home Assistant, n8n, LangChain... Đổi model thành gemini-3.0-pro hoặc gemini-3.0-flash-thinking nếu cần.", + curl: (base) => `curl -X POST ${base}/v1/chat/completions \\ + -H "Content-Type: application/json" \\ + -d '{ + "model": "gemini-3.0-flash", + "messages": [ + {"role": "user", "content": "Xin chào!"} + ] + }'`, + }, + { + id: "vision", + label: "🖼️ Vision", + desc: "Gửi ảnh kèm câu hỏi. Dùng data:image/jpeg;base64,... cho ảnh inline, hoặc URL công khai — server tự tải về.", + curl: (base) => `# Dùng URL công khai +curl -X POST ${base}/v1/chat/completions \\ + -H "Content-Type: application/json" \\ + -d '{ + "model": "gemini-3.0-flash", + "messages": [{ + "role": "user", + "content": [ + {"type": "text", "text": "Ảnh này chụp gì?"}, + {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}} + ] + }] + }' + +# Hoặc dùng base64 (Home Assistant dùng format này) +# "url": "data:image/jpeg;base64,"`, + }, + { + id: "image-gen", + label: "🎨 Tạo ảnh", + desc: "Yêu cầu Gemini sinh ảnh. Kết quả trả về trong images[] gồm URL và base64.", + curl: (base) => `curl -X POST ${base}/gemini \\ + -H "Content-Type: application/json" \\ + -d '{ + "model": "gemini-3.0-flash", + "message": "Vẽ một bức tranh hoàng hôn trên biển" + }'`, + }, + { + id: "home-assistant", + label: "🏠 Home Assistant", + desc: "Tích hợp service này vào Home Assistant qua extension Local OpenAI LLM (cài qua HACS). Hỗ trợ chat, điều khiển thiết bị và phân tích ảnh camera.", + steps: [ + "Cài Local OpenAI LLM qua HACS: thêm custom repo https://github.com/skye-harris/hass_local_openai_llm → chọn Integration → Install.", + "Vào Settings → Devices & Services → Add Integration, tìm Local OpenAI LLM.", + "Điền Server URL: " + location.origin + "/v1  ·  API Key: để trống.", + "Chọn Model từ dropdown — HA tự query /v1/models và hiện danh sách: gemini-3.0-flash, gemini-3.0-pro, gemini-3.0-flash-thinking.", + "Chat / Assist: tạo subentry Conversation Agent → chọn model vừa cấu hình.", + "Phân tích ảnh camera: tạo subentry AI Task Agent → HA tự gửi ảnh qua /v1/chat/completions, không cần cấu hình thêm.", + ], + }, + { + id: "list-models", + label: "📋 Models", + desc: "Lấy danh sách model hiện có.", + curl: (base) => `curl ${base}/v1/models`, + }, ]; const Dashboard = { intervalId: null, + _activeCurlTab: null, + init() { + // Render static sections + this.renderApiReference(); + this.renderCurlExamples(); + document.getElementById("btn-reinit").addEventListener("click", async () => { const btn = document.getElementById("btn-reinit"); const resultEl = document.getElementById("reinit-result"); @@ -50,9 +138,6 @@ const Dashboard = { } }); - // Render API Reference (static, only once) - this.renderApiReference(); - // Copy button handlers document.querySelectorAll(".btn-copy").forEach(btn => { btn.addEventListener("click", () => { @@ -86,7 +171,7 @@ const Dashboard = { try { const data = await api.get("/api/admin/status"); this.updateCards(data); - this.updateEndpointTable(data.stats.endpoints); + this.updateEndpointTable(data.stats.endpoints, data.stats.endpoints_detail, data.stats.total_requests); } catch { document.getElementById("val-status").textContent = "Error"; } @@ -130,10 +215,11 @@ const Dashboard = { badge.className = "status-badge " + data.gemini_status; }, - updateEndpointTable(endpoints) { + updateEndpointTable(endpoints, endpointsDetail, totalRequests) { const tbody = document.getElementById("endpoint-tbody"); const noData = document.getElementById("no-endpoints"); - const entries = Object.entries(endpoints || {}); + const detail = endpointsDetail || {}; + const entries = Object.entries(detail); if (entries.length === 0) { tbody.innerHTML = ""; @@ -142,10 +228,29 @@ const Dashboard = { } noData.classList.add("hidden"); - entries.sort((a, b) => b[1] - a[1]); - tbody.innerHTML = entries - .map(([path, count]) => `
`) - .join(""); + entries.sort((a, b) => b[1].count - a[1].count); + + const total = totalRequests || 1; + const now = Date.now() / 1000; + + tbody.innerHTML = entries.map(([path, d]) => { + const pct = total > 0 ? ((d.count / total) * 100).toFixed(1) : "0.0"; + const lastSeen = d.last_seen ? _relativeTime(now - d.last_seen) : "—"; + const errClass = d.error > 0 ? ' class="ep-err"' : ''; + return ` + + + + + + + `; + }).join(""); }, getBaseUrl() { @@ -159,15 +264,15 @@ const Dashboard = { const tbody = document.getElementById("api-ref-tbody"); tbody.innerHTML = API_ENDPOINTS.map(ep => { const fullUrl = baseUrl + ep.path; + const methodLower = ep.method.toLowerCase(); return ` - + `; }).join(""); - // Attach click handlers for dynamically created copy buttons tbody.querySelectorAll(".btn-copy").forEach(btn => { btn.addEventListener("click", () => { const text = btn.dataset.copyValue; @@ -180,4 +285,61 @@ const Dashboard = { }); }); }, + + renderCurlExamples() { + const baseUrl = this.getBaseUrl(); + const container = document.getElementById("curl-tabs"); + if (!container) return; + + // Tab buttons row + const tabsHtml = CURL_EXAMPLES.map((ex, i) => + `` + ).join(""); + + // Panels + const panelsHtml = CURL_EXAMPLES.map((ex, i) => { + let bodyHtml; + if (ex.steps) { + const items = ex.steps.map(s => `
  • ${s}
  • `).join(""); + bodyHtml = `
      ${items}
    `; + } else { + const curlText = ex.curl(baseUrl); + bodyHtml = `
    +
    ${escapeHtml(curlText)}
    + +
    `; + } + return `
    +

    ${ex.desc}

    + ${bodyHtml} +
    `; + }).join(""); + + container.innerHTML = `
    ${tabsHtml}
    ${panelsHtml}
    `; + + // Tab switching + container.querySelectorAll(".curl-tab-btn").forEach(btn => { + btn.addEventListener("click", () => { + const tabId = btn.dataset.tab; + container.querySelectorAll(".curl-tab-btn").forEach(b => b.classList.remove("active")); + container.querySelectorAll(".curl-panel").forEach(p => p.classList.remove("active")); + btn.classList.add("active"); + container.querySelector(`#curl-panel-${tabId}`)?.classList.add("active"); + }); + }); + + // Copy buttons + container.querySelectorAll(".curl-copy-btn").forEach(btn => { + btn.addEventListener("click", () => { + const el = document.getElementById(btn.dataset.copyId); + if (!el) return; + copyText(el.textContent).then(() => { + const orig = btn.textContent; + btn.textContent = "Copied!"; + btn.classList.add("copied"); + setTimeout(() => { btn.textContent = orig; btn.classList.remove("copied"); }, 1500); + }); + }); + }); + }, }; diff --git a/src/templates/admin.html b/src/templates/admin.html index dc22ff53..916715b0 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -11,7 +11,7 @@ - +
    @@ -82,7 +82,16 @@

    Endpoint Activity

    ${escapeHtml(path)}${count}
    ${escapeHtml(path)}${d.count}${d.success}${d.error} + + + ${pct}% + + ${escapeHtml(lastSeen)}
    ${ep.method}${ep.method} ${escapeHtml(fullUrl)} ${escapeHtml(ep.desc)}
    - + + + + + + + + + +
    EndpointRequests
    EndpointRequestsOKERR% TrafficLast Seen

    No requests yet

    @@ -112,6 +121,18 @@

    + +
    +

    + code + Usage Examples +

    +

    Ready-to-use cURL commands. Click a tab to switch example, use Copy to clipboard.

    +
    + +
    +
    +
    @@ -226,10 +247,10 @@

    - - - - - + + + + + From e0b71c16d80f0a967fa1c89bc81ea0348646e4d4 Mon Sep 17 00:00:00 2001 From: leolionart Date: Mon, 23 Feb 2026 07:30:08 +0700 Subject: [PATCH 20/32] chore: bump version to 0.5.0 Co-Authored-By: Claude Sonnet 4.6 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 18046a18..12e61483 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [tool.poetry] name = "webai-to-api" -version = "0.4.0" +version = "0.5.0" description = "WebAI-to-API is a modular web server built with FastAPI, designed to manage requests across AI services." authors = ["Mohammad "] license = "MIT" From 4aeb5daa739e69804b5df537d9a1f58a3fb4a249 Mon Sep 17 00:00:00 2001 From: leolionart Date: Mon, 23 Feb 2026 07:56:45 +0700 Subject: [PATCH 21/32] docs: update README and replace server run assets --- README.md | 28 ++++++++++++----------- assets/1771806187019.png | Bin 0 -> 527169 bytes assets/Server-Run-G4F.png | Bin 151208 -> 0 bytes assets/Server-Run-WebAI.png | Bin 140857 -> 0 bytes assets/page-2026-02-22T12-20-36-999Z.png | Bin 0 -> 199017 bytes 5 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 assets/1771806187019.png delete mode 100644 assets/Server-Run-G4F.png delete mode 100644 assets/Server-Run-WebAI.png create mode 100644 assets/page-2026-02-22T12-20-36-999Z.png diff --git a/README.md b/README.md index 7d3bca4e..318d8296 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ A FastAPI server that exposes Google Gemini (via browser cookies) as a local Ope Compatible with any tool that supports the OpenAI API format: [Open WebUI](https://github.com/open-webui/open-webui), [Cursor](https://cursor.sh), [Continue](https://continue.dev), custom scripts, etc. +![1771806187019](assets/1771806187019.png) + --- ## Deploy with Docker Compose @@ -90,11 +92,11 @@ API Key: not-needed ### Supported models -| Model | Description | -|-------|-------------| -| `gemini-3.0-pro` | Most capable (requires Gemini Advanced) | -| `gemini-3.0-flash` | Fast, efficient (default) | -| `gemini-3.0-flash-thinking` | Extended thinking | +| Model | Description | +| ----------------------------- | --------------------------------------- | +| `gemini-3.0-pro` | Most capable (requires Gemini Advanced) | +| `gemini-3.0-flash` | Fast, efficient (default) | +| `gemini-3.0-flash-thinking` | Extended thinking | ### Example: curl @@ -128,15 +130,15 @@ print(response.choices[0].message.content) ## Endpoints -| Method | Path | Description | -|--------|------|-------------| -| `GET` | `/v1/models` | List available models | +| Method | Path | Description | +| -------- | ------------------------ | -------------------------------------------- | +| `GET` | `/v1/models` | List available models | | `POST` | `/v1/chat/completions` | OpenAI-compatible chat (streaming supported) | -| `POST` | `/gemini` | Stateless single-turn request | -| `POST` | `/gemini-chat` | Stateful multi-turn chat | -| `POST` | `/translate` | Translation (alias for `/gemini-chat`) | -| `GET` | `/admin` | Admin dashboard | -| `GET` | `/docs` | Swagger UI | +| `POST` | `/gemini` | Stateless single-turn request | +| `POST` | `/gemini-chat` | Stateful multi-turn chat | +| `POST` | `/translate` | Translation (alias for `/gemini-chat`) | +| `GET` | `/admin` | Admin dashboard | +| `GET` | `/docs` | Swagger UI | --- diff --git a/assets/1771806187019.png b/assets/1771806187019.png new file mode 100644 index 0000000000000000000000000000000000000000..ad48ba7f9019095e1affe70afd9bb961c1b29469 GIT binary patch literal 527169 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%0A)6p0$}D{=$+hA;gh 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

    EhG>>4yW{?pJ@oo^CKRbE)zc{$;Z;#zsR} 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⪚f|2uDU2@hND+jP4C8{Gp1Z?4uQR#%rj4bg7gkW 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 literal 0 HcmV?d00001 diff --git a/assets/Server-Run-G4F.png b/assets/Server-Run-G4F.png deleted file mode 100644 index 4505d4baa13ca8246e4d7aa09affa9c94c781402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151208 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 R(T{|*TFs{ueXkofrTB diff --git a/assets/Server-Run-WebAI.png b/assets/Server-Run-WebAI.png deleted file mode 100644 index e8eb55fcb97a2212df3d4d92cfa46fc69bb15505..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140857 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


    ;Tpp^?xd6}}{jn0Q6x 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%0A)r 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

    k55X_B5Z;F?*uQ z(VbF83;n-k^M9pu+nu?jH_pq53ic#kSb2sh#BMUIg2ltnt9(9TlxW!5%<$dBQY-q}|8ab@B`6XQz!l(U;lymJMiYa_FyyieByaLmV zKYgGgYUx;|8l-$OwKxb<$5R;DlV#Y~ICAWL(%yMnM%aNRCvQ!nm~ZEkuFieS4 z4dQy${JDhdSl28$C;MS(YE+uiH~M0RMxDn-l;q#S1xxjX@6AYw9}9%^cte8J?a1zE`SlhDyg zvB@)8p=SJRBWkkH@A{Z~H@Ez}d{;7NSdC%H(#YlC!94LthH#h^vGT-1O-fCg%OSEo2M1iDRWF_ zQ9Uxo7kDww1UHcf9x~kfp;tChtOXQu?^7gx_*OD z-2}-O?AwfL`fg*@P~^w=%<)IvmdyR%f85sOZ(|I2doVbn-Cl3#?)id+!t;3htBi7};c% zjGn?vJ$kK=`Fnf9j#bE?WXk8O57ppFbtG6HNs1qB1`6&kWQxW$nWo;aen0_1(ejI=9C}-Cw^(%|_f!WQ1|1o)2MTGZ`jDJA2q(A`h$p z4wI72zG&OyV~apvLF_WMi)Xc<7!}`wpcj?8=Ck2n>^mOFiaKlzxUd@=h}c``OhlIB zyIppkbB~U@&HLiTEkxz#B;f4kN)z3H8te-?TXw%$klgkU%Yn0A0ynbz;Nyw9D~QPCR< z2|5ZA5F(8_2zGwHcRdr9z)nK4{rn|KyOGYyQf@E*iz3snI0R`0l2Wr-L{>YWvDZ#s zFZt}=sF*d`h}?<(RL;@XaWTVWHUVv`}TQy-kgpAQfjSRL?t0Dx>8Q`rG~}X zyTs2WT;-F9^}e6;NautPRbLi<0>*WsDukSHtYv46-N3#d9^^9A2jc>7V!jeDn<54JfWfS5pwb4n>a`KBZ z3#GR%jy_3_QXu4HeE&)U`}>)mN4`SBC--WOe_P}HK=;WJE#r=KNVNlkP`0xRBrW58 zb==H`YkbD@0Bj<;=L#Uu@Xq%O#wp<2;px%$s|l0em)QVtmn?~@N!%r~axKzv;qgk? z$2SVk74~3O;@rrk&%w7-SB>Qjd_ijQ7l3`BAr*6;3Q)6&Az&n@;em5+8!wKc1@%(2iC{@<=VY%)3%Yo4=*YNU zrQsc~DW) z;PVfpc~EFvRD*U2$N{}tGFLFc-wSb3WFg`q+dwAYB-E%S{-9?qiab^gcaLxD`T7mS z4d`JrG828QLBVf!We&ast z%;`n3pQ-Y}w+073>LoQ>%+7)5=bX=?)gHMfu}t$Jl17dSA1o}G!`pwy`O)E4VR0Qd zy0oL6|Belc@-%r1!Nv1;MK7fbGt#6)(Ez?W`V}1^7PI-JZL2O3q=R<-EZjPuym`tz zJU3Kk*GRHlyZsEY$T_pbT`Ypn)_v-vJ~yRg5J&E4_T!Erq?8GUaGeQHT-j79=ZtK% zycnSxevo2g;7FK=Et~eS#cHRFU$}Ttc%Hl^-j1f36+SVQYsmlk4=9NGUYW(qh>4#E z%OIOi)Q4{_@@gGFNBT6j@qWT`WSRp;xFzkoiCcJId8Zynp7Rne|l7dXDKd&kzl z2)l*FLx8N+O@;yxF?kc;SP)d;qdou0`cx=sk84M_*Fz$j@k0kJ`QYHdp@S$NAe2zU zIz%E@|NO49f^rR@Hj!KHIr!Z2^olX+c`KOFqc6JC95`lJeWPxad$6!|hm4G8=>oTg z@!SnblGu>qZyg#t@e_(4@Dv83a!tRn9v7nRWqmkS)gYI`Iq=~f^GRJ|;aTvkzq;uF&ev z0G(=mcx3F+@^fY>AlKySG}t`AGEZ?+3dpE$D*JC=C89N&0g2^mK~M0ZPxwz-dPC5n zSari!EnN-m7DS5xH2?bp+b-FMM7ee7mT|NdXReA_EDoocR5SSqz!6_|V_&xd5= z$|>4PE*h=P=O9qE>q^MjBM;8n^Y7~x%Fmt}c&B>Bj*PAz=2LmZZX_WV`$lfsX(Ba#!5%aCr3X z+L-GC@q@NSn}1suJSkwo`SpwcT0fptz{mIhk3GRN52dSr``=H|AVHvq|F0u}e~BIq zld(8UV&Dl)1F|nD4=bW45XtJS*NGDQ+1&fPgh4CezU!1AsPm;uNCW;{eg5{InS&Eb zJtuEWoGPn2NK}o`zw%XfeQc$;3{)OlN$l!j@k3o;*79T5ciwmIxc3R+MjBB@SSLG4P1)-_xNtwi6j-A|{3QNopyfw+BX$ zCDMXB$H(fm+dv6;GV&UZrw8!Hiq2@Ilk3i=+4fl{5kcw_Juny3t<7T za~-H7`FuD|`c2Zfo;qtHCy!gjg(GG=e{JN^U*D<`l5!8=X@DTpMq%bfIY-k|kz&Vj(S)p@i|TpyAqx|LFy&^wQZ3c0>;vl&9{wD)YXDXMFfg zjS8*_R0BQM*-Bk8!MADQKgv`0UC>I|f0h^bFa$tu#xm=IQ$fi2(WTG6-8U#K{M(`? z(M^=zp54+N)}##^D-qa)D0KIJ(?-Pw{h;jt2QQTD+&{kMczYE#v7#Seq43=cPwRH5 z8twHFYD(be)^eKB#^7hsb;(%~Z+m;`tqA_Z6C|L8asu`kPy|G^QnuJ*w~iWQ55j ztMROCe^n`FDtT%vrmA)S(hl5W9Y!f1>?62)Sn9B5t=tf$Cp=kbFz%it^_{tj{M_DC zQr)Vac)ujsf~h@yeK(|Ydlgzooi^U zr*x8xYkE0;(ft$uDc8N?dg*`GK-`0UyAe#Si`?y`i!)G-rHVS~oc%?t*hT*u92SOxPmnN%2KfN^1pRZW>M>o%KQyNm@s?C8n^OB+vI1=+kCBsqWOh5 z;LJgi5sTzo5G0bSoHgu-S@}DajbcK7ZQYOzkq@PSGynH=;twB*lxM9(=XUkEdygnI zESf+NW#Bzh>v~gtVA=8p))<(&a`>w?0+-gYN=`9$`4?UXN3I31x{71@(l(FaP$rvp zX54Cl>cjzOJA8>Z40gQWZswCQZIBeU3P3%p2`bFeP{;*Yx)Rub2;Z1^I_5;hsq7-# zAE@F>K;~R5~bZu>L&Xgn1;BMx;+SqvCS51`|4PR_5?UZLb`p3_s!2w zdWZ$-Gv}9PNmt&rcl+Kv(ETGp=`u(xSlZV#4bBb&ma2i;ooKP{?*n)YExgZ$Ra&FO};$)Eh!U z@lBi_S<`BA;GPD)S3bG*o|Mm_UOCiHcVm*~xcf*Na~;n3K~;fgjw!!E zx!GKYm}nF(sxM2M+r|dP)#K-TORfZ3(p@XFa}+zBMZ$Wx8xZd79+6knZIV&+5gQXH zs_<^M)&}zo!V~FAN$2`$SHRh7c=sJVFTyw3_u@?$nuP(rVoSB?ra!UvGtRg2&P@7I z*(DSmgW`^A27|mQ7yw&HRC>`cC_iN7oWQTgB0ba`y~9GhVc$NSsmU5d_45$6UwnuP znjHt5fZ`P%WiQS2*cgwe1nyD-?Q6J;%Ray8d(9 z8GzhCx~L4xc0vMKBpZm z?l+Q?Ky9C%?5HNugBFghpNW#jOwa3ynPDFuokimAZw%bkD$<%TgI5MkOZ!uxET`R{sjxQEau}?`4ka7BD=+UyvB{q`4taF5)~!~`pyEwKz)~{z3nZ;`%q7hhxd3cOiTj~28m2#LzROc zx5*7Yqk6s6-bipdk-1JNFef+Ai&*NW()<_!+vdT0qCXp=x5S;G-{q&))q?l6;G%{f zT8JJ{MCui2c~T9b@_ zF|t8JONr$^!2VL1kr-x^C5-G~t{=p&6aLM)xkBsyVa##RSdYST64Jc+x;^d;+(4fO zeOTNMY{c6IHaCQ?T?sVok2k!Un~;OVT6^T9FWqIHdP3o&2|ZxmfLrZVidb9?i$&7H zjUe0>mN4H(v&Y{rff+Z_58A8Le1({c+oBqgHTuy^-4U}~yK+lhb0Z_J9PcD7r~>db zziqQ-Gb3L?ilM}BAfu@V!;Fe|v2UeP;L|KI57s6Zf@Mg-w{cb~ zfBxmg5$Ne>RwJEUTSUONfPaW&7>{PwrtkxsiN-3yN>iK7Dhb>MbMx^6x;w#@7;_GN zM2M%0uIu)B4?bQm10PTRY&a3$^pXcG7P04#2!4^0k&>@3R9!vqjGE=f|J)WTwkUgI zA`&-R(Hk5HEjg;qzwv1w>h zOO6CrTbxHXfDaBwkK(~EOB&_;?x^SASA$-A<}D%#Fa;hbX{my$?>Og&mjyV$c{Plu z3&Z}98@`-dRg0T+MlzY(8Ah?UkSjEZ>9$IDlKUU>=ln;K^-9*qrzU}nNe;CTrd@uu zi-f#o5)|zs%GO}mJ%r!8lI%P<2&d;Q_SGNh%*OMgvWfCiF5CsQ*>z8&-lxeg5fa1N zIdHfU-9Ho6Citgv!PBC5-r6X^@=PFn$PAA_g|+MVxjkZj4jv5E1e`**1;U3tC*^0z z`w$p(pnO&y@{xav`f8ao^sj6yx&L7lL3)>(VLwr!2Q_tkZL5ELcT5P5E!{ z#OdHbYSC9ch@^EphLj99Q_W`9f_!oOXiwPTLf2G<8RTUsf#0SX$<;R=**dXNq3D3k z$J3=O#J!&BqYDS0!lAW{f4wj_tU< z2zqh(A>TF~m%Ad<8VS_pWr<Sa?}AtD&fA^7uWoIkUBo*> z$s0d+A;E6*Fztv`=GTdprOTy2O^q@rb~-Am^at%%u&FPK!Bcg^a}mAw2e`>{~eilP8+bG?ObC;a<8L@#3`EgGKERj4N8+0Uu>~LXKk2fiH{i zS>Is`9Yi zNI>0}4^;I#2TG%M(t2}EaNG)1kPDY}q#WY{TkFLCDV0G3B;#MrHD?3Rn=p$U1)_yD zSA`;$I=C?2{xlkH>rA*6>_X8b=_IdX=cDI95_2OATpMxlXkbxlxZnHZr~1a)v9nn< zP*fF08Hdoyeqd^9keGzV186%0dC<%=Es>aWId&KEmb;qE&yWhGoZsGKLw*T8vXXXG z;;H^r);}0fCwd<}#{AfcmecL8P5ZWq-+9fa{%skNMbxzTGjSo0X3>jijzSaY+Xlxa z&;;%dwQav+PHPWZU^{-(K4P^&T(ArFy}WKI3Wnjyx+qjz)rAUET{DbhQl>!0LN`O| zNq%4% z(5yC49OqB^Y61Qd!bI7f*&dgp3P1d5BGM(Rz_BRnmtm`XFUZcJuL*rONa`#t!d%Rv&N09wSYmv2X`4-LD z+JKQVd!O6c^cOq#`+_U3hbjsExvWNkE~YcaIucl)a=iv5IwJ*L`0VRy&Ss5^y*gzh z(MmIy#|WnbFtYP?^}ruN*~{%&ZZZ#d@5|Huk_I?rhqz&)k#+>rdvwOpm`bT? z(Iu;U#LYCq0`fi7^Lz%wD&mzRQt87amW;~&R?}q^>MH=V#wzghrG4hO%0ZNumJ;A- zLE^K%D}b$jf`!Mbi>1tEisAbwkOm~%X2#&gTuMK4f_@sr-`2Uyde&fPF6>tC`4Iao zi>(?+>SN~MNo=i6!n+}{uWjar;H;R>uX)x)hVjFmpz*ttQLkV(Vk3aU&W>~GS^)Xx zrcKZ}Z*cBp@H^=?Y(}?%w6?gt=(ADCl2&YDLIFpT*->2B&O};6`iEd$P=Bl!Ps}&R zwe`Nu7H04RB*4KqAgTU@7>XWeEvRgb_v!;?b~d6icD3F`>AEx_hak_j5E~Rty`Ht_ znuL!t1@f>mwXE{N;Qc?zxmChjZ&OrK1O4`TsowB$UQw(;^f|GT(k{ zzkfC@ng!U(c5AfgkdQo?@ZL8DbYKdZ zzQy!~a03eoft_@Iabjcit%rvxF_%dC4^JO6t#7`KHFbFAq)bXRsQz&l8rW#z~o!Y8zM3E~cDbC;B zb_(uN&YjFix%$V<<&(g-dkANz^BK_&k&AFX;|TI0pHOkA?6V^Gr!q#gS8SP9wCo#^5olfhq^T? z6z#9@Bo4~$MAboPMCfG`Tq3vHcYkT>e_Od#o#MKwW;k}wv}D4dIvR|Qn93clHi@lZ zAJ$1XW&ZKzYiQu+8}s?Qi0&tLzs;aFWD>L;N#5guURFdtVYC6T`(zC8CG(y1fk~Gl z)a8Y>BNIOW`#8DqTefTMjr2OhBd4iFc{fuiv2YxD^XF1i7oVGZ9zxk8&sW)Bz7sr7 zU`0GzAbWYzm%c@(K%3tPZwDn%)o0dOqaI)5PUi77$2`|E{E*!n`;}S8p-&wM?a2ZXQy6`m15#x_eOrR1M66llSUGXafJuOzg?sejPSD!Q%bIr4z zk1>`Le}jrn{v4OHIv77%qD5;`py-l8SD3@>ZJl%TYAi-(CXoB~J71qTY+ZJq__&x8 z@nvpf1jw?L%7iBt)dEu}TYo**F8lACmLh0oo&4eRveLNR7g(pP+b?dIAHwQLx3Xe5 zZfc$Uaoa{F!m(ca8e^j6$3K3i9_x$hRbnwaUa?=9*=;d>&F>PB-Z>b{*<~}6UYSk+ zEh;&!-2*mz>WJqBM+}K=AdtOY%JzS%!vCLsT6}<4!#JkA3L|vLuD+IP0 zMPtf69pi45eg`F4*>L7Z4SkyywWKZFxE7&w(K1Q!o~KJ-->;APWN!j0dnIx_gwm|Z z-84na9-Obl%SnV{sg2g`Kz5w;;%_oMU{b+!x0bU!JH0!K0e|0&AH@?sIya_`KoUXSQue-o45 zgmiw~!FdQ?rej8OA71*Aba4N$ zM@NNPYpS;Q!Oh48R(vW@c2D3{P)`Baac0h>`uf7g>_$ZD#Cto7CO5++i9U;KK0G|R7pu%1BGp- z6>P8#rGjsrwgTqxe`fOu$B3FFs>E+R0^dH8;%x5ISB*%!h*IbG9=3dLMmoQx?yE}x z8nTH}HwJSw^nhCG3oeSt=F-v&DF4*>?Ub9nug z%o9#tb_7Jtkyiw}UxI^SvX6ykbMFI81-%GwoyD_6Th0Do3j5Bvfd4J*k8a=rp2`gl zGZ}HXpG_I>7vB9LF=K9&&~J6cymi^8aSkh_5Xhf1^V&z>zwDERh`c~1s_xrJ!LNpG z?JmU|O?i!G^P_9Z$*#EI&{qJy#HC}k+StW9P7I28eLh&{nu88@2}>SOAD3-(u#C7Q zrxC1tiLY6ahL|`@Y#bm1undeMu&YdIo)V=6L=~Lw^{~#8;fU)OZ)QFkHDTtIpJCCGuL0gh8Bn{2H?Kuh`PV`rcHE% zESZZ{Qn_a3VmF=GQJ1uUeg1IW`vDQ(&j-@E2hAG4*n6viFQnRbC|kwFvn?xmuuG~g zycaivZC}qXM;?($F5xv-6KQ^<`ngof(^@9KCq`U{y}!c_Z@p_c_Qro|!7aL%`@dLw z%c!>2ukDw%NP*%MmkL%~io3SBTY=)Ri&NZ-JG8V=TwA$Ksc-W z9sllqp67YrbIus&TSh)4S-I!E);+KJo7e1W0Fu+djPVI!y9@Th5vWkK-(MKj0T^Ht zb;2cZe7o>NC#L#lp@(E(o--qQW@kZ0e($k8bQqRA+*0J1OU5rHD!Z=RiR1NPJkhYz z6HQRgevg&@+U+U%amIqCELn{58Ui2Q8i({82JP!&dO`zR2N1IEr2G`&KOZ^hvAm7^ z%|X&5!0e8WinmMo5-7rk3*pvtN^n~u$&zpal>oThecTc*t6$wR$2hh|^{)SRfCMb* z{ZRWS)nSlfICMFBhYDju<}FKEnO14t%*D=CF3jh&woyiZ#AKkkUwGuyA1pudEPYg^0YlcQf-nHUAPJ z5Fz44j3D1CBsW#>PslSxF?UCvbkfV5kLbgfyY@^$ zSoz5it0kxTwW7d{l^f$7IQcO+S(|JiVuD$1tzAdeeO0!H}}vVduP0V=iODmUBd_1&&|S1J7wyD0U`azBt(q;Dm9KO1zU$ zg!^gU*b2h*ZKOOEj==0ElI?%Ork6IqRL|MC!ppX=oHWeXg(?39X8)!iZQ#!4Zz$#R zqCW%lHcbP;0)v)gbYLLv0v_1@>Pq=)uFTs>9X{*nt{yYx#-VdTWfA0qMshsfaU-1f z{KY7&&Pj3t3Y4^$8iP)G)mYD;Y!=Y`dfg*(oWHp&1i;LG^h2E$?A@D%=8lhMmO`B< zKj^5vU?b4}gq8NRoE-1M)t>tb?bs2&z8u{sJ(^!r$4ju8qc3DDTC45i`w*x{XVa3; zBq}~{L3Dx^m(pGTV{$0RNZ;l+^B<8^G;(!kx&37GWIsvH(xN%H`Z|sJbJ|^O#+}}G z8w9Og;f+9@+$mb}9~z|wdvMr!18h||l@cRWZnbFCBWZ?S>6vsVIY6yuJTurI_&OUz^_f+> z;@R6^YHe;5yfM=F5i7PC@@{W*BsD4|7!#oG@oNBO_d!|pLid#${6bXBG5*}#+iDp- zZ_(m;aYSKwWe!M#{`y30>c_}Rfm2Mh9QfdR$NE4*`PlN-N89JDX^ z9L~M7;IgyjoL`)xr;{|_tOdp{Eu)>8$-XX>4S-+kWX}^L{j@M6UKK$^!#TJf*(E=^ z$i3dgj*7?6t$YLtK5cw(;F+ULO8biA$-L4(NBnOJ_u1A)wagv7#1AS-AdAq`4 z-Nm?oqEDq006Up^MkvF+q=iK8-&&a|KPnYhRM7rL8uW_COq0A~%yd`bpU;Z2W(t1n zY74NJCAhIriG@%Jh}+iatB2M8DGN|$A^FRo3yQ)bjDTv4C4q-9DQO;5wrVOdUXQBK zA&1{k)}Lq(BRoy&j3JbX@*AeAqB43LZu*wL_C~{*@8Iqd&9?nr=f85gM%-`Sx3;?G zk5QXq+@bJ9YRzGtqPGCw9raqEu=$ZucIb#wBsaHMn4Ocf>5kkWso6i-^cr0T%UiDC z$A6ah?@NjDQ9;)`Ym*@QFK?^kVweAOt$)8_|A?;luix_f0?1z9XZzL#Mj?(rwABGppn2r<>Y5(|fJrcxB)Dm_2@73k1Zx$VN*?i7(UnF|t!^Wl5SQ+is{ z2~35-a#mazzUhHpq!(z^n;z%{R`$O z@s9huh?T%C{>%hn`ir*5rTs`jCuzN)8Ht7Fn3vs#t633XR~>|f%2 zyh%`_#%Bb}z1!`v4?xM($L+0n9b&wvnAgwYIUOqS-XqYy4wcQFMC*XQ`P4LMAD_NI z0ETH-QL$!YNe2yWXt+pJs(6Yb*GDJL9ywkILtseN92EAxWwfFDrMUS3KTwi8MwzY7D%{ScJz5nB@%Z|3c z_WX-ps6PHszFKw+WAYMdy+>>eX}f;ex>;`+DKQNiU74)5><1o?b^vIpT+ONxIO)HLhY z)OXHr$^WPwWvCy*QPPDhaK9X-7IG{}5CIPJL8U5#3A~6Wr(LPu>>F>b-UYmQu~%>6 zok%8&nD-0d{j-TKzg*HJG{*RGR+0tTGl5+JO;=D?pNA8R0sVOH2S1??R@QK#RGCZ zF}M*9fW((*OdXF7m8mD7!e8Iym{ipZL%}YSBWJRN@~AIJoGEA_fvV_% zhgcmxQPb<=nb*Re=V7oN(LYi*U3`=`TCc8lSkMjjVB^_7?(i_@hR1a4&8%dA&-SrI zC*}%AA~Bl2r>3)0?90y~q|_);2{WlRkANe?8zUFBWhp$4vmZ9(MtUF4vBtA3aUo36 zAl=JFw@zQUEctjz`*fQxNnrScK!WR@jA0`gsUq{anUzY8uFdbk(Rs}+6XX?n846_e ziDzPG`Us3o@;!y9Yia0 zmW!XUnBwEv#a;28>%Pdc3*urK2r8!1PQTZy@k7uxK_FLQvZ}7nU_h3?F3%=*Y@O7y zUdNpEeW(b3K@S|b#QBWkiC$!B6`Q^}F8|9VDeKv_!}8vU{&CweSmq%?pdh01H(q~X z1C%aD#p-d)=XA_@N!kybUkT!m1hk3Z)_x})7P_8P)p;3a(t_DhL7D*r<``bD>1M{Z z)!yl?e=*auRX24gfM0LUA5OhD*mGV&=Xc#_1ZNTgHRwuX`JC}l8miApO?>4GxV`)A1Ty(PV<0V1dpUF5bC25ZpAZ#8_NT+buNt0Gh zc^vH=VZS%p<}FIn-hM)~8WFthLCz`w^nj8@aFSdPvY-U(F&|Wt)K~OKjwhTJn8E}= zd`gv*Jf_00_g0Oc#P}jOx}EFB+ElgDfuXdbxCt;368}3%=2{$NJ29Gc$O`61QVh;D zPQz)7jGdIl=Un2Ri~HHxlw(lr2$X_*Ifi*Z3ev2SNZ!vd$Wo{jIAA?TQ{Wdf?c&C;}lO58#vQccW6%5d(! zho<(5rVkC!`0+lix6^QLm+@}zRca1sZzR?(?o`X=^8B{Uxn0d$JvHa;{j$%ax)`Nd z^?ilRl8yhTTEkG^>{qPYpKXtqzS^J(F^j%_J&!%D5tD|GVzC2DrS$84wa|4w5#g%+ z#<$Gxx%D*P6!H@32h~gL@S;7Cg!K8t6yx|}PTS~L>zU$y16h)CXSE(~*YWc+563)U zH*iOY{V}#?_>vnS$Z+ornSdMVsLKSM>*p-qiie8$KkQ(bO{4}SS3DwA23zf7MGemw zU6)bDI5Y#wXqnd=W0Y_=sZAjsa(XK`-jc(3?cG)GmoPsQ6?9-CBiWvHldkW`c)bx{ zd#G(gxE1sht2R?_G3n65)tz%wIVWxLVxS?vzWo(EQgG{F_X{itY1q2c>*o$yHSrd2 za0&9hU-aC(ywZ{3dZW1sx$&b9Ik_-jnWmX}ShuQV@ek+k%1~WHK{?}X%F&D8u+};i zoIbA6axch>QK0tGU7w>6^h${H$Wl|Ea|M4O9{{@mGgl@4pQZzCUkC{iShiU4d+0lt zln{u)^egf;$u^>0s_8ylAzJLj0D`k``0qE%dysaRvlj)>=9npA>~Nr9NX^~%_|nu5 z=R8Yr%T$Zai#Bk|y^}3Yyz23(8o5Y(uH6Dw^jUuK0@HoF+y>@$LQr) zA}*s41+RE4>0c*GDpQy$@9ya__FufL7b4$dDE*GNv=F*O|4N>}{u^nnA8uhj>D_Qn z_%C(WN_NYOasSDKQ=aefavjxd4-3^V3KC8Gwo^Z}65j+Yawj*XZsj}|xnj-x+~bzm zQXdVEJqNHZgcAS?7GOOm9O_I-wx}=f`6BH0Apf(tkaMmzs0T^jh4M%+8X_X%aeZFp3qgA%fNw+kbT( zE&TLpJPoWtaNrdbJtdL#u_?5DTKP;;B7Cs2U$U8O>y?*wPy~5aTc*;qa(nAgD{1{Z ztibG$LD5Efyl+i@Oq;(ppLj1V#JTy^**#?0%Wk{WbvhDny>^pfwk0;dzEM2`2FnHH zqqSHPpk6sPHV_k=Y{Ywy>0@}9Ir+=M={XtEe*(OXADvqjt77iNtDM^pu}Q=)Czjyb_oFGnWSG7iAZXp_54 zX7zp2%K^xN%qMnYJTXI1nX_Fak9;lPJ=BDF@hLNQ8-%wgB8DpVR+KAMoEIUg3(g1g zXn`RF-2Ex-1I?yUjch z51TRw)z|%C2wQU>2nhDX32?d&q?P%x6kTEfzh-#*0L$oeIBH8DJB!}$sK%`V_i!wy zhYQpVH4I;bh?i>Q6LBG!3T*Y+?5yJUu@ei!jl` z9m@x-Mo)=Iyj+5OsQInUTFJMzlpl&USzltYNl{LxDZ?@Jex(&S@V%7x#L+uq$ zraKaw-JdIJG4@kS<+Rg-=nP28;;X4rCb!(|fi@E~GLKCVL_%;T6sh2#n6p<`9kP8) z!xGgtJN4DVGfLXyqH-A_$?-#?@`-3Y>I+9N;Dw|Th#qhtcEENBL+#P1?NSipq_p^! zIC&oXhz9S(VN4B|@n9&*jI$CgEbyPrB&bj zG77zWHHN_-v*vM*IZRke=&2nOC$-d^_8r~CYt=Ntz29%bSHPswAB|fyk?i=P4TOYbwl!wCWjq*-_SMtWY=d%pUpEUCck^o z;8G!v7XRZ#miXqM1%8^ctvP}z_NJBYtc^i4FWP*%5ifgvbOfD@HR2Y#N*iAGH@7yT zHa%hC(D`|2UycGwh$_2&-+V|tQ$9HsC1%p|CmShuF{HwA0$H}PT>Q4aY-Ln zYdGH}p`9E<^4pvSCw9Y6rolV~aC%h8czB~jcXS#2YhdDE+H{^sx|`2lu0}8uhDc{;UDUqF-yCTb}nw$9S`H{#F^O) z0-f>}gC|#Zz?T}_0@zkkPP3r*UVjt}LbjC&wQ{)s4HsQEDHo|yjms%}Uc*-{jR2zl zfllR%2%jp3PaeQz^Jv>tO&#Z$SK(M8%(Xv0hjX|aa`RYyrAVHXPwlD8W#8$R&kTMk zSyV-LcT7`7bcWO?$FJacB^`KV^^?E&fV8jPk#tEM6Awcp6=2Zs2d0HrTcA~PDL_P-X3*>&+Ae>n#Mh`OblWNv058>9M>x9 zDDiFP7)EItp>b|DY@23u(=+BLZ(JhwL*3k#g(6G*?tj(|xnnl%6@V(7D?F*BsQrPN zA)L_88~u(QFF_Ex7y7fmr8`9hkwK(W>WHNf;-|Z|YbX!y22+{)*dHZ+DHKvs`v|~o zMj!Ednf2JckLSjFEsl=&f38qVVFV)|+iLc}6itJUOj;D}a5?58OyqJDGd;eBQ7YW6 zht5McVj#O{>~<{kao-y2MPK0T6+ha$;J6gE%lJh#DhdFz~QAg+mC22!PWTgel_;60%wn&U@@1N zstue7m|6{zH?N~wuA_!pJ3Zc~+;y`J&V60f(LW;g`WsPdYNq7Zue09ze0);*6Vo0J z&t4Q-TU+n;UeS^)BD<==bAL$@92aTPvnjyRqc~eREd$CMIS+44|XL7 z;;rEB=~tHy?8mUX-L0egUONIxdWA^M=h_6sOZB-AGw4AVe&1}6|A=tfhro^m^JLB~ z%W^!k&BvTFdAs8krd7@OEeU=9%>Bbeh#@czZKy}G<|&Jl{|0fh=m>0mdhKu&Yd0@Z zu&B7DIs^dbWY_R(y)ax`)`Zc48H+g^E#*s7m5(b%!3C!iA+r8;G&1Qk@U%I zX66iJ2K5q;iXQSVDpJH|xp{6vz9mV_@7$KQcsT0?S2iP{%z(Vj}} zAow!LcNR?C-;$oq!3&Lx3-3=l2WqdmqGTf3@*dxfR<;|!OExl+t+hvOy=r+RU$5UB zv^g2RyeMG~{T4$h-GRDyP@<;OJG#7iCHdqetvk}+>Cf%&(&Q+LS+7uI&MC=)h_IT1 zl_aC!$^12fAfyGepNz+-4-cc3XflmmWAQ`BG6r8*;GJ5!{J>++F?^N!kWYGjV2C1rje3duA$^S9vjKr!-$w1eZ?DUhNaGqng2uiR7_{S>dEqU{Erw4Tk`X_mma53dAt;)fmUKA_mix%A zCADReSv#C5Tum%7*p+qwkbeb|Z`Z1UBc&0ON!*=*c@+fm>X5{@gKtp574hy*k`wj# zB8m+2io|a5*nA&$6 zjQK4%WIlWBH_tOdEFsNtQz@G#s+2RANM*E85f5Px^Bo_1Yo%y~IWb_Z|4*IXYdbuoG&egvUE*gi~(s7h5y}P&? zJ;;T!#B+=&x5p3lk@c(DSh2S~X&mZzF2!G%oZ<1SPsoyKz{9%Z1Pv4_eI?)QOCliw z8a1CE&77yc#}f!?&bIJeAs%Sip^7@suuxI0`8)@%`##t)P||K7P9JY#THjb-&dR4< z+2^4b02*2KsSezb`YSK~t6#Y_WH&__sIr9^>hHXbK`-O%o$fu5J!PaZXPRjI0{zFA z;6^Q}cSv@%fXPC-KO~b8J@*;+z1*ts`R)BuV-U>4EwQ9Kb-&sSY=%{8n=NHO>f35- zAM(Mm5$&{zHnk7rQ3?*}V0-|g7)1(B<@`9g^t|!M`0OZDlp-S9m5wfsnydoK@3F`;APl_v#Q_2U78K$n;(2K&cp1B8*%siVPB+OJKLlOHVYv@p2<~ zwk|SUgi)iU(J%QvxV=Lw?{Z?6*RYkjn4U8`^Ok1L0NZ~av{A3Z81(3HLhTL-?hDo#9SbtY z&W<%837e-Ly!4#Ize#%eT+&0;Tm9>R`0sp~0qllnlUW1*DJ;qGNukuyJDSp!9!j*J)+XkAKUozC! z{J~TXIogqc=dOc)YgI1U;dff;mcnKiHN=Sc^0u2$D5g6dNiSh@wb%I@6O;N_SLyfR zKkU2x1jryAL3mqwGVkTAVI7w*mzM!lXDwO;Oxtq2O9K!vKbEh?tgE1_%r zHPjo%78TF1=0fdFslUO<7-LX$~GEvi=lxURYZ4uWn!Desvh}=-nlfO zPvV!~%jUrwz>Xa}D_F4Xh(@L##ga(0`ceaKZ$PCWkg6_Z)J;oHRyEsvcR(V*uYHKmjF>Isgwl)(k&8>;vb7u^5@=n z?`Tou6mk~oSy1s;@Z`n896~|aVx(cJZ354^H^DUuo%D-^9bhBbc*=7S-3zdQ6QV-& z{1zAF7+WXHkI(LtV6rSnbvzdZqi*d>Voi$dPU`o&k~BZ5Wx^D9RKFFpQ6gl-C$fZ7 zixP>1g`(5b+dXZuZ?%W_?7ePZ9&7^>3vjFAv7&A^^v<%RUEHd7m8;DkqfeSjCQRk5 z=d0JlP%AVSMlIaJ_D3D()+*`*rGAfeD3p}BHw?L5#h=!`)3hCh?McR%8id`AeC75M z)eO)E`a*uN^+Y^}3#t|1AM}mkS}NDBUW*wPxi7Y}OYAJcgfg-RDn~oT{NjF9(7A7+ zuRpe&-NY(^lsG}Yaxoe1sL1w-+}wIxa;fEs_-fw5Sg5=802_ds5D7oT{e!FHEA_tJ z-m5C|yLsNdlmI!@DXh2)`-sC#lX>}>yIpp=xbpU?*XSypsqC2sk0+E*j_P_Gq0l+f zRl$XugyBhiyBRr%RP~`kq^=5xv%ULC3#imd%mRBXqh&?hP>Ha?vMwZn zX@AFJI8~j79$ky4)EGacVPWf_vZgu`A4V(w=o9wzYjob4>ZUvcS|$Pyp#P#s`>f77 z-YfR{C;)Oj26G(jrxR0JkA5+o+O=sDoGnM+5xmqPe8paIEC2}-iM@rHq)y^_-wlY| zRM6=hqO*|W;PNEMPB*6_Rn7LZhM^B|MyER>o}XpU1 zP4B#qjE>27kNXQlVDqkLlDCf#PU(WMEB33m4Jw}Zx0cE-&qb@ksgF>VI5$QnaGqEW z&c11~4|9>Hv7Df4h4RmdFDBp#q>hKJ32p`VoZT=t0o(yUAuqzR)?iO)G!feS&a`Xy zUokGOST4q1(BRsEu=n;9wXwt&5F`*aiFwLf`-Ag{S*M*UTLZFMkpoM%y{)ZGzapWHQKhs^te=E6ao; zkF$*wOnvVMIg)vraCp*6k9_Px0w5$I0>+~5yXPg_U8aq9EoyHktibtJGjK?Vv&nFqA-=e26T+SLa=%R8`Dq+{2KIQM@Bj~ zsVU%{K1c?qE#GHYXbu|O;+l&-GEmCSyFJdEehUX{#(LiN0L|%rfwSIr51%{f~dRhAf7kr4!?%++XaSqZq~TY-!>RGj1gYHibbpm zsF(vi^%1%D2J{|>BBNt!tL|hlTBlAfmQJT%!3m^;I-((`p>r!~OgE19RT#qH6Yw52 zNp~R&CF7r)EYzgbQ?|!WT$D{qi|~C{+Grs~sxjR4@^XnkjAp$0HeQg=&-x8aTP2{4 z?#2^xhxEwQ#4^&2<`~0tzAw@|e*2Ddtj@rPIvUkSq*54(+8z#5D{M-b+w75RZ=$qE zy4)elgtn(c4WiyZ5q+@R8 z)mw(kIOOxe2fYMB;Gy>p^7ylI8UX?D(U-W{%t{UW!^zrFB`>-+8ws=IJkE1l$VmW5 zF(dH@OXsGo82~9#O4lI@n7)F^f0D$dZ9m%66qX18}(~~i4R_V z{tSpX+Y35C``^vG=d%|psF^Vr->s{IniC#=`H$rNR0RAYF+fj?F;ah_ht4g!n-Z+T zT+Cs~VdqbycY37UJje0*bFhg~Fb7W0G&>S6XDW5y`x zn`-V@kinIeL6m}di4UIrCX*J~dV$D-CatpAX8yZ9l0}|0oCxRDOl7`brSFdu9XjoB zzjEcZ=n17;2T)L(x`d2Bm~fr`(E`wYX%o_Cbr>l|89lF-4&|0i0mr3pz(%ApQfj%! z4ixznBJ~c8;|a70c&g|qWtV7_?`~Alf%2A8%^Q6x`jDM{nRCzY9lP)+&5T)x4rws) z7Y{5+T<6rx%alTz$)DdAcVQ4)ko3TJd)Qp)*jCIFo8&&dnC5kR^v-ay%_;5X#q@ql z@gmz*+VT!l=zl`+;c*Fb^yBIp9g4-d5F{=J;_w@byLh4o#f(2DB1XFIXT@8N`%imM zIJ{aVFEbq+nxs7#(8`eMD8quiJY_OKkCQ-%FF>vwSSe6 z|9;Qn6GQcXwN!ik_fP+megYq2z<~HH5&Y_FzeGSB{F97B5Z~%yrhMAtOM_RT9n%C_ zxg6!aKK^So4(0+vo$Eq&Aayqccl{HRDsGXG7?qB^Dy(egYhy|QbMl$@nMVXp97qto z$*?1m_54cxH@(QrZ9}t{uC%ux4lE7#wqg5i z!yCE@zonW$*q@krDnZLo%}XyBHu6X|B2+gw|s{Mo0Bv#-k}DP+u9`qTbixIzz{$FtlpUJgX>41B#VPf1R!@?s+q4Li|qtN z&YQ@gq5g=@h#)Mczc?E9*=DyS&GW=S*^Za$q`7w}yv%l=T5Ptm!h46fs+YQHZd|#N zK=-MxjP1bYK@l%^B*7}JN#uxz8$#6eKH^-o_$mTGL4|$M4$b%lGLI-{We^xLcZZbj zHDfF#J$~=#QO$evTaFxOkpA0a*UWmxWj`{}-Qlf@*)lU`<?T%;uJ6-*$k~bm~1A*kt*N5*HNy^`K`sESXx6tqSMtZ^|@`HZjQ8T@M{pg~= zk68-Pqve6(pu^jwL)mcdv48})HlwtbWifR?0r`ft+1#AjP%TenHdFe!y^Lg2s8R~^ zdz_<=3!hew>fR{9=p7oVczvB|L zrf#qtdMVf9k^nW$awC0a(zJWrK25=(t03YMcyiBa_!nr>XsFK#{NbshMc#YS5uy&nh#-BCFW_kxg&=W=%=L@Jt$%dvRy!?#M#AWpYd+<&&;aq$(c z0kxvo8yZlsV=DJ}(1WeX-Vi@fJ}!6UoO!amNpsZH9pP7R;%AKUOVF@E?UnP@n_HvC zIR%?JzG}K18{E;6UWv+TQ9(1>&fTu7`Q)^3IOy2X4bTBc!Cbc^g7N_-HJo3DiC!!z zsZBTc@^XwbvUKiI?8@f+m6ZYhRnY~dnr71?R~u6+MLSyp3{YpyQa}rsHw*580x81F ze-PiNVczJ2amnuMDdwKeojP0Qb%{IMGC5At2p?=}RtHs%`sw&S!1k=wfZ?Y%9tyTP zZN!3p|pT@3qm^$x1gu@s!r}R2%=cxYx)(C^vf`^LzKQeQertyt<@cOz6!5n z;a&&*EvgLz$Cc~zXs1&}4^$_C1B6B*e}0~q;hcY%z;(b^gTu2pXKsg6-DH0BytqAZ z`g~F7$Mcdg$s)qq5-M%&IF4Uv8wCmq8o;20k*wlKU0;id010U!f>Q%=8xtbHp{E3U z`j+!7T+jXPS^L=yFX-ZpimrsfF!lvK)o-4<5;3YKh8A|h6K~Cj9XZ(zPSQ_Hjqs(& z3dqy7rEa#*V}wt_Pt{(aM!TO>yQ0{gjMjkan6*WzTWApCXTfJi+!4a&CVD$1^8gN} zS`22+SLO}Vmb{O>mxP=lO3r$(<=<7Q05Zy)76{G$oxJL-W$k-zqnK6C!!-%NyyJFa zga}%4@RC;O;F)H_L2e|66}e^l4v#%<)l>QzXkxQBE%Q8B_o;*G6J5fOx{dV_NSEY+H2jO>p!&FHj1$Xs(gwk!N zOsj$|n^5K#@c|a1Ov+uqI5KOWZ|_&UKT4doTAPLTj60(8e^~8xCoa_Kl)3|w-1=* zlW!Fru4U7|QFuW9^oIn!?X6nAsbe=O!^@TGk;_*Z5-{OlwxZ^i9e{CIc-V%(awne!?CXhiVb7r`W85k!PsYg3Db*= z;(AP;*Hi?Fg^iqKGm<#r zF*6=Wi_nshg3xEu8aI#>!)#sLEI)CYMBSY!l-mP#5G(Esaz&WFT3Etvv#SC85A2Z> zK(%>0GprluCKNAq4PZya!>>m(PPs~wTktzdo{)LtS`s+)wN8brA*9#hSZ@LtKS*b_ z#;JMD%6mKr40s57IO^9xMg%s=*Lblkn6RebV#WlteH9pCYB}=bwL~O zw9{gJP{R42D~UzYtTwwAnDV)1E$if$TB0Qu6X@ckSRNSZ#mv{>Yo{Oq4M>gO*bBI?o86zzPLJBd$PKPC;-UFElW?Q&gu2w3v(B=0FUf6 z0@iIw+YG0W(QdNvTz-KM?sWCf&<%9_xQ6T;&P71=N)ExepGk@@@Xt09*7>q@_9TaI zx^}k_F(*}2(=yVizBoj3>)bsSjAWze1IKPF)x3%&d9S#92MQy@==m?A2z{>SSQ%yJ zz*(X0!IDH2RiX@#_L)CGRq%s<0M_517;ic_3;${eam0$!`y#db7_#~Hh_@=<=(u6M zC*9Fo9m;qU%P`pV{o*RQYQ3K8RM6>-Bgurb1RcYdh(lOrYjnFLJ^*m{klhR@agRy7 znnnueAu#n;@BcY4$*{*W=#f2dpzuS!TK3#jCnxG}!WPJ(2-J90;tJS{ORAWfn$l+b4j=q12=#mZw24n3y2ebGNx<~;&pb8!^#KWPW_u!OlzhV9p_a>om0?y2 zBw;t00A{PFrOC*2yp{miG@9V54Ua>5Cjl4K6hIeud|vNKjf${=><%7?1DQdL$Q4tb z{-SMr2VaAR>D`0Yew95-YVJxeMv#c1LXIi6vJ;Xw2!;mXZRL_6W6(V?WjednhBq=I z&%&vNOmY}cj4?L1#V@yl!ui;z{>j#k|N6Lg9&6t3vfP|m)!+6v?lt)T9`_=jG)?N~ z=#ezIHVfPL@tzK~>lrhm!@$(X=O#=)sWiJi%K0AHeTMhmzOBt$p)-{D^UBP)aF z|7YGS;`9H^dvybY1JAxU&-ZQZqnGlf7`~|NCuJCXQ!J(;dkliEHrgLrnel}LIP^%g zKDQqCBG`&2X_S;mK%!`;zlFE*Uk05SYZS1&)pxFv`;22QsLSAN@elE}k$_;-Cd}@= za!vY%)7g33#P5K)0C)i_va1BG)s?}esmsDYf4v^pc5DQI{(}rpnk@&vqj_P*YIK8E z^~SMEoyD&f%FhdpLn*s`HqOewDRs&Q9Px}sg~zd~SY8a#nf|#wSWwcF)I5S2sLZOm&w%oOjpevvRWA(|GdCV_7r ztmpV4@qPXI0xM!o^zYj)!j{j>U*5NpR^

    <;d*PEid4!JiBi7upErJ!HJ`kzdIri zyHWRiIbaONZv_%6N#1ZatD9LX8Wrfr#Z*9gcoh%tXcHhQrni?hO*EtG0T+sU zZ~3_z!D@ni?2i*>1{gy(%S{ClzU=m`TvNBZfYGc^;y9JD>i8^+-Ly<~$PK$0_m#x{ ze(^CwB|%)T4Z5{i?PHMAo|saAgv|>_^^DN@H?(IZ6-GjX2mELgbZ6qBP`H_$@=8zj z`r<$KAYxXDo)+?3u%KhYLhn2eTXu+;GJO9#sg7ybF;A+tJ9(#=L3UqrB7B{mFJ?!T z=qJ^~7%3xWTqAgmnZ++o9>v^P?nrxJrdW8a(1Uk@YUbi7n6TM%IHHnC-Lw2l$c7ZA2cpSv6kgkKas87WLp?paDqHv z?U6=GnRBCGGXS#{W?lK{`i5irz!BVf?j3Z@2&!v=8<`YeNKD_ZGW1pI&p$)9^13dX z+)*Gbx=Hawg9BmDdPT{xIqGYVf*GqkgB>ez>>%5(N7Z(GP6CcS zrUhMxeOI{wtNXUD+{gy=ZmBzuOl4fagsdWN+X6&q$E$k=?zY-{vrQ<_3o8EviZjrd z?1mHL43|9uO^vP4{_y{}V(w4FFBW_fayVhLZa&Ow2m%E&8Y$)Ew0jDqH;)m84}$$D zSJU#hr{0Va`U=aPg{y+gjX?+MmD+8^eTed5y$CGcrVQ^);oq5PT=`+9p@D%r$X!$omm>~ErKJ@CI1Rnk=GF`t(bDfCKr&xqMjrDgO1R7gmk{Q3Y!FO;qjuFQQ7`@i_iJEWrO~ zx=M0F(&XFQ$m)5;m}#gz)0uul6}27r%oUisI4^KIS>UXy&!0yS?DQAIdE7_fNtFCi zO-o}7c2^cEZDIcH!B#R!<6MM|DHVXbAGU`z1lHB0=4j*uF)TP~&T*||(!ceds?OFO ze*TaC^KF+%y<7!28e3tIKe<{e;H?(MNt(I#CWP>F*GJ8>I8e7HQ|

    JP{L{@ZG0&L0culs0x9DWn46@F=drD`GBkA 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 literal 0 HcmV?d00001 From 863c49a65b7dcfb6e3707a3dfb432cbed4fee5b3 Mon Sep 17 00:00:00 2001 From: leolionart Date: Mon, 23 Feb 2026 07:58:15 +0700 Subject: [PATCH 22/32] chore: bump version to 0.5.1 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 12e61483..2843a4f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [tool.poetry] name = "webai-to-api" -version = "0.5.0" +version = "0.5.1" description = "WebAI-to-API is a modular web server built with FastAPI, designed to manage requests across AI services." authors = ["Mohammad "] license = "MIT" From 3ae9f07da3e410035b9a8f3329e593f8e7fd2f7e Mon Sep 17 00:00:00 2001 From: leolionart Date: Tue, 24 Feb 2026 00:55:10 +0700 Subject: [PATCH 23/32] feat: add Telegram error notification system - New TelegramNotifier singleton service with per-error-type cooldown to prevent notification spam on cascading failures - Config section [Telegram]: enabled, bot_token, chat_id, cooldown_seconds - Error hooks in /gemini, /gemini-chat, /v1/chat/completions endpoints (auth, 503, 500 error types) - Admin API: GET/POST /api/admin/config/telegram + /test endpoint - Admin UI: Telegram section in Config tab with Save + Send Test buttons - Bot token masked in API responses for security --- config.conf.example | 16 ++- src/app/config.py | 7 ++ src/app/endpoints/admin_api.py | 51 +++++++++ src/app/endpoints/chat.py | 5 + src/app/endpoints/gemini.py | 19 +++- src/app/services/telegram_notifier.py | 142 ++++++++++++++++++++++++++ src/static/js/config.js | 53 ++++++++++ src/templates/admin.html | 40 ++++++-- 8 files changed, 324 insertions(+), 9 deletions(-) create mode 100644 src/app/services/telegram_notifier.py diff --git a/config.conf.example b/config.conf.example index b3395ad9..534ea416 100755 --- a/config.conf.example +++ b/config.conf.example @@ -42,4 +42,18 @@ gemini = true # Its usefull to fix errors like 403 or restricted connections # Example: http_proxy = http://127.0.0.1:2334 [Proxy] -http_proxy = \ No newline at end of file +http_proxy = + +# --- Telegram Notifications --- +# Send alerts to a Telegram chat when API errors occur (auth failures, 5xx errors). +# How to set up: +# 1. Message @BotFather on Telegram → /newbot → copy the token +# 2. Add the bot to your group/channel, or use a personal chat +# 3. Get your chat_id: message the bot, then visit +# https://api.telegram.org/bot/getUpdates +# cooldown_seconds: minimum gap (seconds) between alerts of the same type (default 60) +[Telegram] +enabled = false +bot_token = +chat_id = +cooldown_seconds = 60 \ No newline at end of file diff --git a/src/app/config.py b/src/app/config.py index 9c673b35..48515f11 100644 --- a/src/app/config.py +++ b/src/app/config.py @@ -51,6 +51,13 @@ def load_config(config_file: str = None) -> configparser.ConfigParser: config["AI"] = {"default_model_gemini": "gemini-3.0-flash"} if "Proxy" not in config: config["Proxy"] = {"http_proxy": ""} + if "Telegram" not in config: + config["Telegram"] = { + "enabled": "false", + "bot_token": "", + "chat_id": "", + "cooldown_seconds": "60", + } # Save changes to the configuration file, also with UTF-8 encoding. try: diff --git a/src/app/endpoints/admin_api.py b/src/app/endpoints/admin_api.py index a7045c07..6d7a5e07 100644 --- a/src/app/endpoints/admin_api.py +++ b/src/app/endpoints/admin_api.py @@ -16,6 +16,7 @@ from app.services.curl_parser import parse_curl_command from app.services.log_broadcaster import SSELogBroadcaster from app.services.stats_collector import StatsCollector +from app.services.telegram_notifier import TelegramNotifier router = APIRouter(prefix="/api/admin", tags=["Admin API"]) @@ -40,6 +41,13 @@ class ProxyUpdateRequest(BaseModel): http_proxy: str +class TelegramUpdateRequest(BaseModel): + enabled: bool + bot_token: str + chat_id: str + cooldown_seconds: int = 60 + + # --- Dashboard --- @@ -205,6 +213,49 @@ async def get_recent_logs(count: int = 50): return {"logs": broadcaster.get_recent(count)} +# --- Telegram --- + + +@router.get("/config/telegram") +async def get_telegram_config(): + """Return current Telegram notification settings (token masked).""" + section = CONFIG["Telegram"] if "Telegram" in CONFIG else {} + bot_token = section.get("bot_token", "") + return { + "enabled": str(section.get("enabled", "false")).lower() == "true", + "bot_token_preview": _mask_value(bot_token), + "chat_id": section.get("chat_id", ""), + "cooldown_seconds": int(section.get("cooldown_seconds", 60)), + } + + +@router.post("/config/telegram") +async def update_telegram_config(request: TelegramUpdateRequest): + """Save Telegram notification settings.""" + if "Telegram" not in CONFIG: + CONFIG["Telegram"] = {} + CONFIG["Telegram"]["enabled"] = "true" if request.enabled else "false" + CONFIG["Telegram"]["bot_token"] = request.bot_token + CONFIG["Telegram"]["chat_id"] = request.chat_id + CONFIG["Telegram"]["cooldown_seconds"] = str(request.cooldown_seconds) + write_config(CONFIG) + logger.info(f"Telegram notifications {'enabled' if request.enabled else 'disabled'}.") + return {"success": True} + + +@router.post("/config/telegram/test") +async def test_telegram_notification(): + """Send a test Telegram message using the currently saved credentials.""" + section = CONFIG["Telegram"] if "Telegram" in CONFIG else {} + bot_token = section.get("bot_token", "").strip() + chat_id = section.get("chat_id", "").strip() + if not bot_token or not chat_id: + raise HTTPException(status_code=400, detail="bot_token and chat_id must be configured first.") + notifier = TelegramNotifier.get_instance() + ok, msg = await notifier.send_test(bot_token, chat_id) + return {"success": ok, "message": msg} + + # --- Helpers --- diff --git a/src/app/endpoints/chat.py b/src/app/endpoints/chat.py index a3ba97c4..b0586929 100644 --- a/src/app/endpoints/chat.py +++ b/src/app/endpoints/chat.py @@ -10,6 +10,7 @@ from app.config import CONFIG from app.logger import logger from app.services.gemini_client import GeminiClientNotInitializedError, get_gemini_client +from app.services.telegram_notifier import TelegramNotifier from app.services.session_manager import get_translate_session_manager from app.utils.image_utils import ( cleanup_temp_files, @@ -392,14 +393,18 @@ async def chat_completions(request: OpenAIChatRequest): except Exception as e: err_str = str(e) err_lower = err_str.lower() + notifier = TelegramNotifier.get_instance() if "auth" in err_lower or "cookie" in err_lower: logger.error(f"[chat/completions] Auth error: {e}") + await notifier.notify_error("auth", "Authentication failed", "/v1/chat/completions", err_str) raise HTTPException(status_code=401, detail=f"Gemini authentication failed: {err_str}") elif "zombie" in err_lower or "parse" in err_lower or "stalled" in err_lower: logger.error(f"[chat/completions] Stream error after retries (model={model_value}): {e}") + await notifier.notify_error("503", "Stream temporarily unavailable", "/v1/chat/completions", err_str) raise HTTPException(status_code=503, detail="Gemini stream temporarily unavailable — please retry") else: logger.error(f"[chat/completions] Unexpected error (model={model_value}): {e}", exc_info=True) + await notifier.notify_error("500", "Unexpected error", "/v1/chat/completions", err_str) raise HTTPException(status_code=500, detail=f"Error processing chat completion: {err_str}") finally: diff --git a/src/app/endpoints/gemini.py b/src/app/endpoints/gemini.py index e30282be..82a90a50 100644 --- a/src/app/endpoints/gemini.py +++ b/src/app/endpoints/gemini.py @@ -6,6 +6,7 @@ from app.logger import logger from app.services.gemini_client import GeminiClientNotInitializedError, get_gemini_client +from app.services.telegram_notifier import TelegramNotifier from app.services.session_manager import get_gemini_chat_manager from app.utils.image_utils import cleanup_temp_files, serialize_response_images from schemas.request import GeminiRequest @@ -54,7 +55,14 @@ async def gemini_generate(request: GeminiRequest): except Exception as e: logger.error(f"Error in /gemini endpoint: {e}", exc_info=True) - raise HTTPException(status_code=500, detail=f"Error generating content: {str(e)}") + err_str = str(e) + err_lower = err_str.lower() + notifier = TelegramNotifier.get_instance() + if "auth" in err_lower or "cookie" in err_lower: + await notifier.notify_error("auth", "Authentication failed", "/gemini", err_str) + else: + await notifier.notify_error("500", "Unexpected error", "/gemini", err_str) + raise HTTPException(status_code=500, detail=f"Error generating content: {err_str}") @router.post("/gemini-chat") @@ -90,4 +98,11 @@ async def gemini_chat(request: GeminiRequest): except Exception as e: logger.error(f"Error in /gemini-chat endpoint: {e}", exc_info=True) - raise HTTPException(status_code=500, detail=f"Error in chat: {str(e)}") + err_str = str(e) + err_lower = err_str.lower() + notifier = TelegramNotifier.get_instance() + if "auth" in err_lower or "cookie" in err_lower: + await notifier.notify_error("auth", "Authentication failed", "/gemini-chat", err_str) + else: + await notifier.notify_error("500", "Unexpected error", "/gemini-chat", err_str) + raise HTTPException(status_code=500, detail=f"Error in chat: {err_str}") diff --git a/src/app/services/telegram_notifier.py b/src/app/services/telegram_notifier.py new file mode 100644 index 00000000..df6ac9db --- /dev/null +++ b/src/app/services/telegram_notifier.py @@ -0,0 +1,142 @@ +# src/app/services/telegram_notifier.py +""" +Telegram notification service for API error alerts. + +Sends Telegram messages when critical API errors occur (auth failures, +service errors). Uses a per-error-type cooldown to prevent notification spam. +""" +import time +from typing import Optional + +import httpx + +from app.config import CONFIG +from app.logger import logger + +_TELEGRAM_API = "https://api.telegram.org/bot{token}/sendMessage" + +# Minimum seconds between notifications of the same error type +_DEFAULT_COOLDOWN = 60 + + +class TelegramNotifier: + """Singleton Telegram alert service.""" + + _instance: Optional["TelegramNotifier"] = None + + def __init__(self) -> None: + # Last send time per error category (e.g. "auth", "500", "503") + self._last_sent: dict[str, float] = {} + + @classmethod + def get_instance(cls) -> "TelegramNotifier": + if cls._instance is None: + cls._instance = cls() + return cls._instance + + # ------------------------------------------------------------------ + # Config helpers + # ------------------------------------------------------------------ + + @staticmethod + def _cfg() -> dict: + section = CONFIG["Telegram"] if "Telegram" in CONFIG else {} + return { + "enabled": str(section.get("enabled", "false")).lower() == "true", + "bot_token": section.get("bot_token", "").strip(), + "chat_id": section.get("chat_id", "").strip(), + "cooldown": int(section.get("cooldown_seconds", _DEFAULT_COOLDOWN)), + } + + # ------------------------------------------------------------------ + # Public API + # ------------------------------------------------------------------ + + async def notify_error( + self, + error_type: str, + message: str, + endpoint: str = "", + detail: str = "", + ) -> bool: + """ + Send an error notification to Telegram. + + Parameters + ---------- + error_type: + Short identifier used for cooldown tracking, e.g. "auth", "500", "503". + message: + Human-readable summary shown in the notification title. + endpoint: + API path where the error occurred (optional). + detail: + Additional error detail / exception message (optional). + + Returns True if a message was sent, False if skipped or failed. + """ + cfg = self._cfg() + if not cfg["enabled"]: + return False + if not cfg["bot_token"] or not cfg["chat_id"]: + return False + + # Cooldown guard + now = time.monotonic() + last = self._last_sent.get(error_type, 0.0) + if now - last < cfg["cooldown"]: + return False # Too soon — skip + + text = self._build_message(error_type, message, endpoint, detail) + sent = await self._send(cfg["bot_token"], cfg["chat_id"], text) + if sent: + self._last_sent[error_type] = now + return sent + + async def send_test(self, bot_token: str, chat_id: str) -> tuple[bool, str]: + """Send a test message using the provided credentials.""" + text = ( + "✅ *WebAI-to-API* — Telegram notifications configured successfully!\n" + "You will receive alerts here when API errors occur." + ) + ok = await self._send(bot_token, chat_id, text) + return ok, "Message sent successfully." if ok else "Failed to send message — check token and chat_id." + + # ------------------------------------------------------------------ + # Private helpers + # ------------------------------------------------------------------ + + @staticmethod + def _build_message(error_type: str, message: str, endpoint: str, detail: str) -> str: + icon = { + "auth": "🔐", + "503": "⚠️", + "500": "🔴", + }.get(error_type, "❗") + + lines = [f"{icon} *WebAI-to-API Error*", f"*Type:* {error_type.upper()} | {message}"] + if endpoint: + lines.append(f"*Endpoint:* `{endpoint}`") + if detail: + # Truncate long details + truncated = detail[:300] + ("…" if len(detail) > 300 else "") + lines.append(f"*Detail:* {truncated}") + return "\n".join(lines) + + @staticmethod + async def _send(bot_token: str, chat_id: str, text: str) -> bool: + url = _TELEGRAM_API.format(token=bot_token) + try: + async with httpx.AsyncClient(timeout=10) as client: + resp = await client.post(url, json={ + "chat_id": chat_id, + "text": text, + "parse_mode": "Markdown", + }) + if resp.status_code == 200 and resp.json().get("ok"): + return True + logger.warning(f"[TelegramNotifier] Send failed: {resp.status_code} {resp.text[:200]}") + return False + except Exception as exc: + logger.warning(f"[TelegramNotifier] Exception sending message: {exc}") + return False diff --git a/src/static/js/config.js b/src/static/js/config.js index ef4eeb77..b1a251d8 100644 --- a/src/static/js/config.js +++ b/src/static/js/config.js @@ -13,6 +13,10 @@ const Config = { // Proxy save document.getElementById("btn-save-proxy").addEventListener("click", () => this.handleProxySave()); + + // Telegram + document.getElementById("btn-save-telegram").addEventListener("click", () => this.handleTelegramSave()); + document.getElementById("btn-test-telegram").addEventListener("click", () => this.handleTelegramTest()); }, activate() { @@ -28,6 +32,12 @@ const Config = { } catch { // Ignore on error } + try { + const tg = await api.get("/api/admin/config/telegram"); + this.updateTelegramDisplay(tg); + } catch { + // Ignore on error + } }, updateDisplay(data) { @@ -145,4 +155,47 @@ const Config = { showInline(result, "Failed", true); } }, + + updateTelegramDisplay(data) { + document.getElementById("telegram-enabled").checked = !!data.enabled; + document.getElementById("telegram-chatid").value = data.chat_id || ""; + document.getElementById("telegram-cooldown").value = data.cooldown_seconds || 60; + const preview = document.getElementById("telegram-token-preview"); + preview.textContent = data.bot_token_preview ? `Current token: ${data.bot_token_preview}` : ""; + }, + + async handleTelegramSave() { + const enabled = document.getElementById("telegram-enabled").checked; + const bot_token = document.getElementById("telegram-token").value.trim(); + const chat_id = document.getElementById("telegram-chatid").value.trim(); + const cooldown_seconds = parseInt(document.getElementById("telegram-cooldown").value, 10) || 60; + const result = document.getElementById("telegram-result"); + try { + await api.post("/api/admin/config/telegram", { enabled, bot_token, chat_id, cooldown_seconds }); + showInline(result, "Saved", false); + // Clear token field and refresh preview + document.getElementById("telegram-token").value = ""; + const tg = await api.get("/api/admin/config/telegram"); + this.updateTelegramDisplay(tg); + } catch { + showInline(result, "Failed", true); + } + }, + + async handleTelegramTest() { + const result = document.getElementById("telegram-result"); + const btn = document.getElementById("btn-test-telegram"); + btn.disabled = true; + btn.textContent = "Sending..."; + try { + const data = await api.post("/api/admin/config/telegram/test", {}); + showInline(result, data.message, !data.success); + } catch (err) { + const msg = (err && err.detail) ? err.detail : "Failed — check token and chat_id"; + showInline(result, msg, true); + } finally { + btn.disabled = false; + btn.textContent = "Send Test"; + } + }, }; diff --git a/src/templates/admin.html b/src/templates/admin.html index 916715b0..f6c14255 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -11,7 +11,7 @@ - +
    @@ -223,6 +223,34 @@

    +dHv~m+hX_K2MVb^~_H#Fp3I3*W$J&#$&Yz;TUB; zU??-ri3y!=l1MF?^!YSCJeNe;fc2h_zU>qMM1iP5EUd8>7CF?f^-lO0g(=h6p@Ysp@xohkrp5jLa!ka zNCF8kdA`r{zVCNt&CFV}=C4`5-~Hp>b#HRdxu@-O&fcHT-e1^KOD_~9vmEp|9`qnk zN2|n9-u5}O^GDlQJO{;Xcv$q@`)-OD+7i&=s@5MiLulM6{V;G>>G)|1w}QgzHO7o{ zPXXjVK%uYD3q8hGozn4}4?gFLC2yG&RHE7&^I%@Gjvh2NPYCPcg>B`yQ@WewJ>?7+ z8AKZyAL^pcw@UMnFze-J3JtPI`_Z#`tr-2LjO7|Fd&mDbt;r3c6OF8BG67 z5}j%3=ID5#uo*tkW#J$kR#kqp9yxJI)trxm>OMkfl!DR%p zZ@sj>Hu0mwn8FAh3VJ$iKcIlPv=#DZCVY@@uev34-gJeQLWAj|n3?-m$-eHkJ0-p% z>0K`#H9<7zacwCcCIqFCcLl0;gQ}Gk?LWu=%cep6ko*rK>Ri=dh$xuQ{|ph;e)fNi zh&nE;f5`au;@NHKUa70?2?3wIbR(CQJUdr}XB>xh$lq+lMf|^m0_=Jy?k({&_x340 zoySbL&IYq{o&t$l&Tf3(Ptt?(o#LOF>NX;Nfpf)&>!ksqY9Yu7dfNc8P0-Dq5u=PN z_hbp%F3=LiN=*a5@HY!=W;GG$8AJrdsQ-I+-;7ULN$_%qKW_@J0`dQ{H{`C4U%Vr7_s@C}g+|2x0P2;Y8;BLFL z9_V62lW0rH;PQDh?q&~xg%S5^&EuyGA#JgP{`ZG32g%dBCiuEVB%*w=NkdY&NV z$l7TXU^xZkGZ~H`&5J6>at#LYDQ-Bp$%BP??6cCyvOnV882qN;)J;?EeJG5n-5-o*sL!Dg3+cWop2$67~)M@eB(F-!2)2{0|?vL>xX0t^kHo9R?y#+)i zEV3UsbhhAr{smD>X380l>}Z_a>m?ZmTfH{7-Oj@1B~t8lz^=x$D>p4>h|-#g4Gr|! znL!0i0ezliRa*C}kg~v25Z4Yvin^-WMr@{wj>GuwJ_R+>ak%&b;4T(Y9uQ!oR>i%? zkl1mUkpI4V5`Ti+TmX_+jcz3g=$6KP8B7I->jCKsT>i1dvb5 z{$~$HBMz=``PoGD_C~jPevT>GNzwkza^yM%1szN18(lV%<~qb*^!we;qHogOc zn7o|EkSp=2(U2XVmawz)3#vz`|8ha1uFAj5Edf`!y>(xHB$b_b^pJ=m%bjjqb5-Yf z_HLo;WIM@JOo?Kwc);Mgt?2$lVM7?t}~NaNEe$`WyYv{N1QwzMzw z7eVY31-OvPFwmKsmSxO*ZPL#$D6fL@xweb9x4JE(jEBv> zJBdS1M^uo@ZgKp#dNH9fkF*7j7cRk65Qh$kx6k0g`&}z1#Vt&G-%VcQA_Whg@Ts3@ z{cn*<>=QLNC6ZpMeOl+nSnh%dfEk2#EbbkD%ui}p;qzQG2;}2(rqo!~BOc_q`0=b< zAIVVdqfeFPn@4IRq4UK2vUbk}-4$u2&z7Voc?lKYx<5GG4`aYYpKmFV_*6($rdMN# zGA*~sk3Hxmy{U)L!F>X*uJ`TPovqx2n$w*EPN~j7Clo_<+^xS1Xq*=bmhx|ehYp$f)^O1LB88U_rsLp&n9#XjWp|TR<3nn)d!6z zOk@E_90YyoG=|>LWyhcA;Y-z6(m>Hn&va@{>IUE}8jHJ+)qN7lz}^%nL(3g0k{@E} zoi%>@T>)joG;K#QSG7d#pM4K3>G01DhN9r3ppjNY;1w!5R-|}k!Ob@X9Hy>%lKu^| z6`KKpqskh2Tyr(@%df2X0U~MNo{C7Drf~*{lp@kLyXEmi%JqFO%+%R;l@Hb9e0Tu|d^e zTh`|~The*HWH>#MA6L2~mI!InQKdWEaTuBw5S?9!^K$M@lrmrDD?Yj1VWM^2S^7iK zPa9*ac8i9kEd#8?3!FqRB!{mZqji@!P&zYsn`wVd`Vr&a_1Vc7w_ANmAHjdP*dM;V ztM_#6Tz*FznZ7hUwjbgm(pJm@7+1z0RWL;W7KGH5jRe0p)5`yPU3KYGafmw|hf;(} zzz1wm7b08!#|9xs@NiGi7d88E!r~opUeQM&mYL;r=TiM+&u&J$%7d<1{hQ)l>2I@* z%PDojBftus&=_u#*)QKq9X@=nB*wIl-!9zwvXbZA1(;f{pX?KO*p(qfx)cVzX4#gz zfpY}+m?BLRTIHsP#$GWzU(f2*&`xqJGi&7n?&;Lh z3%AdL(W4Ga5UcG-uFzIm;zv<1=;DHdjD`l{T@*u}$;UhRqi*L_iC|fVv^1t@N8$b zw-{%@gJWDJ{<5bzmffAtI2G0wzTM_S2XztAq?Sh{HU3WIx@jknRtIya!#zs78M!I7 z)Us}gaxxwI?)mwH1$ven$FA6h0W`@(=3CgG3Vt{eK7@4G=Xa?|-R@~nT-qMMPTA7X z%1(RPcpBz47(e*?SQ(KO#ayUjkqC^6b>~>in#OuEB_^<}xvH&g@g_aLlMv=DQ904R z3!|9?%79CY&Bf}U%eLrqa701a;tIABT zQKsjVUQOTyP&`k&c9?WAJP9uN!XoS5kxgq%X zQTyn_v*c)p-^4t#C~0n3fKOI*rPF(T`**uS>KK`l5$VNa0m0hEHA~dPf6D$qGxD!j zR%2@f1hPr^OdbTm^EUD*?&ngb7lf1LpX2CqZQwEWf4uV7Ra4@Q-Rl0geRXu1Qpcff z9lq+H?n}A+jF9ngQ*>cx_>b2q*JQ417Z%)Z$^84H0`Z!EzWZMnQ(+N{f6wAgVfUN= zN;K|K@`q>t_BM;SX%HoL7RCW*qHYl2C3)H_`x}Ky@?of+YrlVInvbiRpJPcK1ET_3 zGM$rAkK>AC^~~#?{&1fEm?V=q#(en{?etT#m0HV%4Yc+0x0bTfo;*BsSPB2|)_!10 zjSZ6TtNb~r3j_3_WSd~r(4}G$&6=r_qw~j9@ruq0myYT5dmEn!9C&xywSWj!(-(=B z<8Qrg#%QxGZCnkNo0$6IAtnr=eN}Y_MSefgaS=(d8s6qpaB#}UK+ejY=kKivcywgz zX$hzrY@LCbL&c=Vt@c8H8Df~>hEMHfbk9B>BuPn<8{_}3HDvUMXPJ5#o$1A&h1+>D zkTj<1k-&QH1}BCmYgC*0)_SmDdbo?w*cTqGz{%T*@MM+z{+C}|Bxbab@ys-Ir^`un zCc-XyazqmR!CLm9?TQ@w?2x;Ii2r#r!q9UEnwGX~wm1%aeeT76BBW!0%=htIr$%-3 zMhEv!SV-C@r(XBY&KGU*NUxpiFDz6K&+9}Y@>}k@p0!Wx8q#@=Qbec~m(r5S0;ZL4 z3D_8yS^6!?9400pN_Zrpso^59&~>O?c)ACP=JDjQNG0Jt3({8EM(08|n(h+61ky>3 z;%4Nlj`JS7$Tx-^Tps&#m3SMkbtY13zpreKFvJk@MO?8N4c5XZzYn9;0QSqr96DE! z=vj;T2M1V-0)^J7FgYVGy{++ z$m73zpqJ2jeE1kM9YuH@(= z4Ah*jhxl<_OH%QUTEr8XHP*U-?@zI*(#xj{Ua75wgvS%`pEV}6er%0ZUcIF4{4H=S zbl$TzEQ~?ZDCa%Q|H7OGwP+&HG`8wi4}cveAQ~NdT=q)9D=wA0b-Ko>Nw$%d{B0Fh z?2G(j@?Mf8QYrxKzB<5mQQ-lK#N8PBCq5Y|Q@kwd_^U@qDys~qz#jeG!GHVbX=*FX z^@1lgXpO#J?ZPA@jM0c#Jh^ge%SGOlpyt!FwEnAyUUG{+T`==8bqFVVSjKNLzEZuk zu>GR?WZ~syXrHHVl5}`p7sHQH6I@%^lpn9~VHFef58!MO&<_U9@F^!p!}gYSsGCNQ zuju|gW|Nm7=Pa#O-<7>I_|bZvd-?7Ld2;>l^pjLFUZ}14s-Kfxx1w$(Dh2UL83$B@Xm}_7FLa4 zQ1$n{Am2Zlw@-0>%Z2nRL#ND-TK%}?Wh#Bm?<`^}@?M|}#W51hy?SX#qlmKuIdtjg zno*vqloQ=hAAiY}yt$~8aiRXL9rf+dF?SVAwn?fbu<13ayicP^uuYma=?e1rs;(wv z3i5*R5>x&)5*v1w6vYwe8+h#gkJQps0KRTaUcs;~@-IXfTu>Uh!poKApFro%=sBw2 zg3Az!rStsy*$hL&arTSJDlOcKxg#tj7yAm;eP{?~0^zTA%=9}fEHzYh(B7>~Saj;^ zOSyGL$qa%`2h zqczlQHE(})>8+@Y`kak0Q~J~t?L5tGWuWpZRu(Wv$7I!gz&V$w+}$v-{ACVNi56@S z|70gJHsXp^*=g>p)>DI3&fK5izUy~^gim|Uv6Lrf8G)+Ka)z+A)l*w>jE_fZ1aO49 zRKp-2CYS0fyCti70L3>3Y(hM3jDgpcQA#IAfQh9kO3#~KcGGWvkkO_&R1~mN!!%S< zH)K5K08Q~@$1K#r()@`7S9D@1^LS0{h`rZUpYgKv#rk^mNAo^6=C_w^LrAjeb2TN+ zVxs(1rjxK?gI-pq#JVH#Dt({qsrzT$3?8ad_G(VqSvT)xGIPh*Pp|1J?ufOhA5lBm z==)Tp;qsejYob%4D>*}VXl{E&nR~!~n^7;%eml`{^C_b7ou;$aNO$+U3$j;#nL27~ zY%G6%XCinA`vUy@A|@{c_Uk3G&8cj!$R8HEg%j<}X^v~v(2n+e@y^oXe52;j*!D83 z7!7>eV1?g}x)uR!yBB0DIkQ{Qle_F^$Ue3(>BCAO+PVW+n6n$F2qy0`JF9@YKN{(P zxe=eCJDc(d?Rj~m83Ut%H_ykV7p_?LQsQ&}eU3GxNW{2OU$HB<^x3;Olm7PKeRy%tKm*)g_2gfu!`sMKutvla~^ zU3LU}{w&09&v~!%gV5^rO3|p6aAz~Nw#$Zll0!A))J_So^?mbJir-?!=@)EO!*}ky zZk>3i0lp~zba9cv2W3PLuVe(sZuYh2BKA*u@`y2Ksp$6y8&QWv7#9qZ^iKLe>oJDi!0eG}W@26Glf>pA(wF_&)XzlG9SgzK&!QeU zKy%FJ`cJ2rtcDAzF!Og0R+x6S;ev+^(TDX{T3voho_I~lkD=*?MOQ}RjU9B^cv#h9jXv(nG%?`p&UBBx z=Ru@bR5d@!4o!A`dIRcVW@S7#Y9Gp4zhd#Bk4{`GYBRTZFnA)Vare{Ek|htWxH*pH z#={AM6=fbsVwnsXk_KKsd0~QnnQ2;3rFqZOp5D0a;qeCX;)+J`7oJ)J+1LeP@Up7o z;q1(E-tfTi1Bou>(nEYv=5j6wBG6~C)V42DOPDkaT7!`k?G)P{ZdHvK&nr3$9-m03 zy5*8{2IfFojg_FNutWZiNxfA_k0Yh|H2j;tu~TL_yQNVptqwTc@Yz#45j04%yccpP z>)V|DhwoDF+}(o%&!IW^^%GNFv)KcCji z3#Z<;K<^v;fmL|GIPsLI2Kp24!=N744}Sl*Gkv)ueRpEokFsCiAUGbnB<9#t{OiDcGmsOqYjwenJTR~_p~51Z zXNbAwf*}-;xtF!z;kL^{a#{tB1aWxY5yA$M>^vp+6)sRz!v8Gu!Jlu|n7&Q1@P(Tv zz#(~y0D!DE$L!RVUH6W3sT(1l3>^e5{^^ZX**<2L1^$yhXxv<|bmiE6l1ryh>S>L@ zd=|oHEmmd^BUC?-P#r>RQv<~O&st{`AYXtz`jpfo2ujse`PVnD#mqVu z=qjSOvg6wb%4?*mVf7-5Rs90KFNqKrau<&ee5+e@;{)^Eez}5q#@Ah7@2lBAw4Jv_ z3+lwZA=F;EmKmi`dOd{{Qm$D13vKT%1Vp!{#M7?x77}mtfae=-j{nBCeBtR9IDG#S zHc9;Pww{;mYB^B9 zC?#aBY)sy028IvqNA<1ChB%AH4}z_i9c$sBFyvQN@C6cvE}~5P@#Nhfp$wHptc0QQ zSFynBhaJ16eJ^VwcPK85rtB+odN5vn3j=q*QNs&a0!Q_cDK@V52ye~~HvwDSxg%G= z6%E8&!U-bK*p60gsQ==+Q)bppmrSp3No>$D#-Yhezb9e4Zr+1s?K>ts;D#H$ox7*J)%PuTg0+#B3EV|vl#^3n^*u&rYBB(I6|7<<8 zG4N!=$=^I^a3`^+hcXhy@XlIeU(AUWWwcBg7uX_E?2x|Zl6CjdQA z7ac5>Ay?44y&M{He6u4hGa}ana<=lC7>iGN$!ep8h;5alDyoCM%=R7@C)dxfytBID z|LV^}!{u!Qn-xX;io;G3PsTzr5oTcN!(7>+P$5EKHpBK+nOF&}%|7o0g!aCJhX{?u z&|ib;U`Nv8r^lRRdW@ShR#dzs;-UL)EA>yiQE)$|Q0y(dBaQw5Wv03^4?hntyeoFm zEFu)Y3H~GBnWLdsea0=C-C6Zq_lKJ}bVjEZzW(S$YtOz!{g&iup3cs;7i&QJQXcsA z*G66fl7B;8n;2=35p%eb=h{`Z@Y>QhV)1yz&BmJ&7_97(?Fhe!@~`;*VjPbW>-=;a z>h$JJ__^QG0k^R~)2Pm{sjuK|my^1zRFdYyxI!gp&HZ7y+3^;4SRi{`#P9iR*1Uwp z7jYy^tnA*Nkh&vPLi3)c6{yCHnw#7j`V(sJZv}6XW@!oJpWDU`561I9kF9bSJzg-& z&E!5(u2zr#GqM}>HD{e;gzF)`PDDA{9$OJ-(gT^clv^pl4=d0(Eg;O z^Ye!j;J9l09}j=okMN2qr=FFGM^DaqC*EDZ7@;IR3Rc&8J0BRdvuDc#-BT_2WpB(c zg2=xvWNUycmFm=j#D9X^xdCDcEzI5tBPmxlrET=HQ){){Innf;i8t$i1&S{Dn3>$M zhtPTIU_%r{S9ysdTdp<)Y9p_JPOo)D_hb#tFA5+Y{3a(x=1OaCvwNAO8 zxY1z-3Cm1p^lG2AYkTG!6ft!RkhfS9t&9&pm9??GvBaV}v-Llt2R0~frPU)aP#y1FbP8#h%1vHMR))r|Cp}wvI-0wchx%~$g z;Fja{v-NL52R|o5U9tX0_BL4aqPuO6Gkw8EIb51nv1-t~vZvPXvoo2Z})wwk;6TV4kT@wC~pKiP(M4w@zHDOL0q zy+#K_q(-O2Gl6WgT!z*P94KS!4(wb+!{~@r-5jG46-wBjk1^EKV!&4y(nK;M;aM54w0xOD_n*s|C@uwR-912$UV4+MU->LCdr2-f z!Tt<)}d1t0APjFP(b>17J0NOq?n6uNrq2}WA8Lc zpE4RgtgkQO>K?!kuT-i=YIwiLmUyw9?of3cox9FXusOqT#V3rCZW!ve`Bas%1I#`h z%|AseP9~jbXkcb(MR3Q|uTej;kqaWfK+%hngiB!uQs_C(!A6ZXMN|qJg^ltCG zE4gt;oP6x^LKjfQo2@T%*(nSpT)GDswQc4_+(OoiT(qld_i&5n`DKzT;1>1rwrJuU z$Rua6IV5Ls$54BpqJ8aa^!~6&EL^0ivPoJU?EM`BlMPW1WN3!pHFcO622qR2zwVLt z%6W$2&`u$FZpZO^B<9xvm{?Ekvc_~SH|YK|sQRii*2kVe=SB-PqSTKmsU?thr<8jT|W(uS%8-nCq9#0_TK z3uCSR@>X$$e;lM34{}AoX!3+F`yopURIW|5!Y%#{ztJD@XAM%&-Xls=G8tBkPMch5 z3zInA-|~kYZ_-zEwVaK?3iYi?nL$~P?Qsa8gjht?~={?VZ& zV5E+x@h@*rM@!yeANu7n^oiE~lW*}*H{XhGwHSQ`BU;u;Z7C-GfED@S(5iRPRx>E_ z;Oto7<`F7SO#K6R!3XZ|rtSnOPF-xRjIu28PI7;fdTH8tjfb97?>Sqg2&T@<*y@(L z6SEAlg851XcRtb^5xKrx%c01o(d_yA1>23&o) zAy{v(&A}iCyqGI&m8w(=nuZ1R(cyEi2jTpGhy8h?E@IY{jFjINRjg*V>dhPJUawz1 z=UZkVN&~2iKz?`Y^N`;KTi8zv=|KXOE-|6rB*7gHC;WX~EtV{3e6)8u@R@|VD_c`+ z9+F8(gsD<4jzp((+o9@9j;?kc_D%Z^RR!*@c12h0ZzvqMRLi{I3kE(Pdi3Q;&kwb2 zi8HuOywrR)G&CJ7XBq7^2qX-qS2r*i0Vb0)J_>v`oBluv7u%18y`AtD)#9_J(a|BS zUuV;zg}As5tWo({^>Q@r2~Af6cx`YJ>9?&+2d9=5pHlIIb_~PCNB*d)?T^lKgWWnV zmSLz8EN89)6NVHb#-nTBGl9syR{ZW7o;`P_=b3FsIj*s+9?K|c*kIW&LZx}Gz1hwz z?e_4rI#B(`){zek+?Gkms1QA#`XYbujCU2i12y#;a=3RWc$w*LM&6wq_q7Las1b}(bLMu+f?fP*ns#Bo(3IS31t~lf!+s%Evnz6wJ{J`-T%Okg)nXwBisgmb@1#+n^ZzM-kr1=bQ(%nYr8%l7e@pF=o zAhg(wh5N1RCx})idc)X@Hu_l0y&JRjybY8j(xi|Mf>tZjkl&<*XPilbxRVTg)VNfp zKG*|#++0bqpxEqZY&XcX(Rtm%`O}Ezq{bqNP0N1_7!##Y{DQRCGBA9oc}rsMihKr- z(A{8i-c98m6z_*gwA;QJ-ds{-cJ3K5v{=yC=2~QxI4vfowBr2NQL%2%`7CImd0-1B zhgq_%Eg}M*4ZC4@c8BxM`jY*{j*0DsP`Xe&6d7~p6zA0M-ttBxm>pEg5PC>c99WYt z`?rniPq0s*n8hXBV0MD#)jF@5CQPc=v!l0JzeoWo$zbM}mp@RPUDU_{wi~WU)?M*u zYf1gl7yLTZ*+6}_KXIH|mm`?}Q_9#vjmi+#ucA*AGk@8}jCfUMmc#5tiplGsjeKqG zkK!E~xT}p~mYRB48RfV}ji~+}!dUuKbovL=p`YO@*#?;ctpS>9kW3+luA@=?-}VW` zNviOq2@_MwW`G}P5kFVY)!+ewj^7)?u|-w!_AXeJD+H`{cKvid=Z!GijplhwswI>d9~}tk)OWn%$>4xX`P4X3+Ut_oq8e zOpMdW>Tpq8An>{~Jm1O^I$QPqXji9%R-PY3M&23klKk{d;Q;~A(?1@VG^*~;IRtM@ zQc71%|0Z@^l_wf#0zKj5ym#hdi25m(c+ytP1mufQ@DbW4kNAe@?S%%P&NkW(-R*oE zskd4J2icD<-Ph6moN={~;h`o5HZJl+>&OSaJB&Su{{2>yQ{R*!5Iv|*34CxHItW>* zAF2<}*Azc+k-q`;yNldt6&FsAPu)Oo?1@GXr7Y&Y+Y=*>@esZCZoB}-dp$Rvki(Z3 zl|(L9K%xZvrS5B%rSsR~uv=t{4tg6pkA}?p?bOkoANy;73hQq-7xo zwb{cTfkrLW`#2%QHeHh0n9h&y++ZdWrl!a1*-4>~$3c^kJ-LoY;5TvXLI*GR_bJTV z)LWvlGiT?}Wlq%%Vs-o#DD5=?cNl3Ftl1b45To-zekyz6=zNbHpDchbKVxywmk}*k9>hPYEo@yyEbA<}T+8zQLOlg{Bip5Zrnp z%B{1)i((gD{9-$_I!Nsl@;QLv2{-onP=!xCyVg}D!}Mz#JQ-~O@`m7{VxqKk^`nzC z`@+*h6>`=pY|0hPZMercgd0T6@e?Wrh@q{J@g(kSHwXcO(4Mw^XwdTbWOQ!1$r}FV z>tw`s7ypYwmiYW?ib8Tx|MkLmY60e)a#D{T`*bX1m9LXoO@>Pgr#1>s z9ZGlQBs^X7Ma>hPJbqtzr>QmsbMiUYL0mr&)R1-zG9iwQax9;03GIaL*;aAL3YN=n z7C0t2Amve6rK9a888t3@9LsHoFDX1Z0oEV4yF8w~0WQQ@PDWK-{#28;k!=LqN`C}j zXvOw%{H?VeO>9=Lk&93X{^%llH`y-36dWCXAJiW98@6rpDQ@hR?JfSq_l4=sbD{<2 zH(=H~bDV6((RP1%$w=ebP&294I+~S=XIu+ip1T4}EAXzS0j5!Ow`%G>s;S`}L82LD}IlaLwR9SN_%h0Q|YX&hFo^vKz(_yirT7Jy9%eP@@OCAiulH4zIQm7}wY!M=q@)tm>0w8ONK(q9fOU51*@3pe*e+ zxMu0R4wL4#ta#m3s>@8nzDBIwc|f6Vo=?lH9jDDUZ>sD}P)@RuM=njb21^9)nOp0S z6Y~2Gq%CrNGu!}|DqqH*xsDS<6;neonpQ^iXB&!0HFyq`k>{Ub+1YHc7E8?8_bdm& zGP}Un7ZML=4Vzj^JEbMW$ulWUWIr2l`TYT&h_e7F(*G)pk)rOuB) z2>2~XmrhE|{hFkUNXXZ7-WkkEBQ@b&+KORFnHlEeD#CwcXi&r8CW4tpIZvzx~l_ z>a|;Sx0}!b2kLqtNwot-ep9Ux=3(i$8LkCg8OvERezvAo*|*yJ3~XmVt?n^Z%1-hqfV@8IO7`3QGy4rJw11^o+SawwU$U~lcUvbX&(UuY zyiM9oKxu>X7a}?7G`A!@zaLEyj%wM7--1?> z8|92r#-^4&u5T|H>M30_s273u4dL2=+iyxj<%(ebhyCw1J(DVyf4KJ}He%>*dp^{L z&X>&j{PB^!?eTV+D$AFs4+fnEYtF0Q4qi)L_md%cIS6SSAta%bDJnTwVNmOyz1lU) zGSSP9r5Bh$8fWF-Ji7rV`>RDqp-!+D|o-o(5=3T(Ue>VcGBl$ z@+|!-F-t{#E#>1;av8Og-0L1MOEcxhnsQ0h<8_(zCe{hsNYsy1XKmFyRb$}K;?q?$@TU{*TEw7)Hcu+vokrg7EYy?LTXooEST&~2;J**Fj0O<`R5dEL_Ij= zduuB(H0$Z^E#%hu>H0RtX}e|B(Bs)55^Pdn8dXh!kQnvN3oHA|SBhCSuqurFIpJax z-KQW2@Ur+kmyA`7Wm%`nH8!k4T)+goGD;3P!j2=^ugoqbJzHVytN3e9g5bZPa$y^*aYdy4l;T|Tw*hhmP2_5wGof}*Z zp4C!U0C{<&Uu7jDITY^y_kD6PVAuUNvSCGCoWpU7b zJ>P9Hlothj^A5SEE>l_pVgjiEji=mi%*u$zTQq(^qUI7M21m`j^lf|9EjtnG5}>rj zFP6B*ig`VZfzfh`1Pwfdwo!VWhftL(tgIxiVmA<<7aD=AbRhoj7vo-R*cE=k*UgZS zpY4DlS!(#C^nL7Gt-fQcDDRR<=%Q%#`=*QYFF!??pyKUOfl=Il8st`J%e>`t6#asUf*XFBjU=ZWp}fCFC@y@o*SE? zT~d?kG)>1HpEvuuOaOJ)9Vc1Vf3hIIVo|)5EbGOa<@lzYf;bo}^Ioz7dpdZm2FSltNGbeOz7G9U%wIk}Q3ONqVBbVO_l+qXp$iDndh3^?j*Z@2&ciHh*?8wZMt-~KlR zdKljp?3MF&SIxxxmGc_p2e5;Q7!)-opY0fI9Xv!L(S>MyxGh3xPGXUie*a9OtZO$o zYDX*7ueT73#E^oRKusD@{A9V%@$cJvnRqkmbYI*?TOU4!=PXZNoGcXD?;)PJOePXL z#kwu#b@ADA-W986y7C{DSTyPsHP05@GK9y+|Aub;El(^!9J6J;?Fm> z2TlJPMkSx&^=!oY2Dt&Ar`d?st=`M+bVo*1SsGw~<-%KhuMOL3aKF!)YPCLwp?@CQ zRi>fyLOv#wnyRN`J{7Yxw6MO7O%PyfQ))~OOgT-UhA+Gg{VJuI-tf-eiA(10iE4qz zDvp5CR9U`r^P=`btwNsMt?_$U&+tRh6lX1+AZH4IfE^~5C$j%j#_`p`?5@}$(AcOY zphQcM{55l@lABC%c1b4i)Np#;dlnCzj5As1*|rW&U(^Xt&_o&&BQFrcytOLr#K*LV zQk7*4APAKqH#d*Bk%Nq1h^gbaJ)TcEXhW}HRN_hjazFaK zS?+UZYrTVCt_ABlGJs}TB^p`HXfKyuh4dZ={O=o`k>7vRuTs!Wd!omGD8Vb6`^hE* zTTjM&E9a7e_xw!-Myef0tp>8?6|#jd<~`fs_cg(U4^igs3nHt;fu~TuV&1h#xCq%ft5$LJ_%!~r1hts1_ng6! z%LlMJBchyS*%-OA=W$a;|5i8Tga_=~PnPKjBc4N-;u1!bDAJ2t%tuR;Rq2_S?E0~$ z2{dkTnC*dE1KMr+J!yUT!MbYA1%4nZ&aLb(BvL{yj1s3g($y-m$2xb-E+9u#`FlJv zh839#6x;tvwT5@zJGmDjK(YL2y38Fd5F}{zPFnJIlxDFN+5M*p{u%h~jO^!+(wEW| zd&hCv>sjA>U2xGaL1>I%=54RU+eGEu+>8)%yAJ26@`czHhyp zMw;z3{e*~W7MO;`AhllVP0U1Z@}FnB?;%-PbSv+c9K~BYm(aQ|O03yC3X5>9wH)v< z(KJ{a^V!Qx5J*1m$gCl}-4+Rg3Sa~%x)87H$E{w=m40@fD$bsrlKoXD0Vm36>BS7 z!Z6=6glI2?g}ho?+K#5^&l$qBkLO>+9m_U2T2898YqY53{V63~?Wl=Ld{NKT;B;{z zXb3Gtt+YP#XOFf<3mX4)&(oK=erZs@FQfu+_3L>kCDOV!o`rLBfu4L8vRvXqZ^+lTRSnpwyJ=Zul;;qVroXqJrN$KjeZs z@IXaySvMLgS=7%o(R~+S4s-GKX^T^JizqF5h_A5A&c4ELJ))B|B~+`-7+wdgE$``9 z%DpGE>qG}VK6fwl^X-Q;pr!NmP3!<*1aRyPP!_YiLltm#t`lH9Z0+cip%iw{HHdbs zQqjsxrLATqb@b~^J8Jy`IcDNz{3_rPqq-r+Kmw+}MIk7nX zw0+Wr^-WvSBCT|nnOa=^?VjnUi`jp^cv;bFIm{GN3_>hxkxGva-9-qK6|kZrBKu(9 zR%_rd|4bX8(`U9`-k{WpN79XyF}gK?+Xf`Ek5M*-xdb{CtR?7+In~IX&>`kUZJ5(; z_c9@nwFS$8PPU7&QXYzh3#UO|BU9ac{9VBQrxEMFqr*FILDZv|#v<_>luV zNPOui%PD2goSWg;TG`S~X#J&0Qyq4~T58$cziXw4(=fBP$@<}@t9P<_sSy?Q+S%c# zI}{^F>8EtSM=~NnRwcFSl8=iP)9A8opULGZ0**;lnzfC1u4A(&OYI+|y{5F`T$WMR z_M(~7b@ux*voDrxg6c8YWu=Dq^zCa6fsHj|5?>UxMt*u#MSso30$cC@5?D;HTg)D~ zp+pT(t5I50d^uYFZ7TWXODpU*Fa9Y1{qc3Qx-}2}{n0#Q5K5caCw)cuIkTOj=<7eM z;P=1@b)^Wd4D@Wt08WA%ryvrP-*bR$uSdlQmppx*;8qd+=Bj3TJi(`e*>Q)FXVEeX zJIo%G-f?hXqsA%~r1|_eV!f<@qoIWf$Z|j6+W1U#tF_^BS@?h}7{u7tM7;;1U2cV)@;Jkq1q~%2N~f|!%(GSExl=% z1TU)y;EQ~xaNZT$CHcbi2dq-0QwSEh>lT@!{OBY$%Fumg{ zsiCTO9lYBl^@}1z_F-bvowt`e>ZEoO1yjQ1G4fFp8`pT4Gk3aus}~9L_q8un7I6dZ zWQ4ST%|z}>EoIu85*-Y%iR{F7TTg0#b2}wM;6DajGs#a$Tt!S-Xz|R@Tf$O;uPmS?v_LEgG&MRb?hmBST0{4QN6pt zHgj*N(V!;`{{GYwk^0@RLGdAFOonGV3@<vWiaJA>~J%XM}MY_P>h|5?4 zB64k-)MV$QLykrZ&N%Q-Q$i{8EwrR!*6@cQRUjJ)Uli@~IM)o4U*b#+LbI-Q-p9x* zY0EjwVwxlKq})vae~cgj=eCB`8Bx7?&*H|+`D0>b^=POV=X>+4KPA7EUmyqyhm0z3 zG``!-T=&Zdu{g-^YkxjD_BT&g)vc=-?d_|@tEn#ckFqP~U{kB9@rs{98Q z02Fwvt{M5?y}z>q{JUxXIsb}F8?74IkE&Xro{r^f92XN36#S!trXZ|#h04!Yf_taf zS^xfP@G#LpRG1Ui%=H(kd~=7a?GMj{d# zsQ$|5?_59qE3*eRf0fcbwC5cq)A*Zzm5dE$U`O~KX8zy-N0RK~iQ#`Y9$C)yvP!&Y zvHmxKQ20pxwl&b;ATV&*m30IVjJ{qvt@bHIq0tMKny*#+jA{SWGDOIY*)%i+NhR8!N?jx_Fc3fB9v9RekL)rDgy-bV!k!=2zMA6p~wpE$;XZ zbXCquyEA>_=O*#2RG*yX0E=P>pIJU){I=!emM)@J-yAKj@H%{r1363i;gEo4ympmR z!*~Bx=+}0%f8A6!{#$kbXFigDRrNd@lqk0u1MB^JsjG{c!WPba(7MUXV8ieFO zco2A;^FXsCOX(>tF^$8XiW7&KJK^PP8+Q^B1X6z&wzyn(ctc?szS8+f_# zp@tS$8vQeCH@eG94DJEiYI_f(xEjF7nce0!JHk&oMpJS8w?mk-glT=W5{mk2;%0rjxg*#Ks5 zw2OuK&|{g0uS|^+bwKG=!ro39Ki~dLwlRpST^L~L>1=3Iip!?&@~|#*TWJDL{W-E7 zd12lhF9+&#F2;O_1OcZb2< z-90$Lok4>Kcemi~?lv&E4X%gxJO8=(*E)4E7chaOPS1#>Od384&33zyY{Z;XofXbM#KucYBg zM1PjJT!w-DGcvIfATjkhx`U@l-xPJT1YB!5~bRc4-eNfmk#$v&|^14zv#y# zvI^OF!2UgVC*W|+{1ue9R)`|mX`fX0!y=lEM-Hp_=d+538%x0^Dr&;{ZruF=^A=Rz zwKro&duoj2wJHrlU)Wl@VE;I2N#Gv^Gq=E7zL(Q;iB1w4ZLZT~krxP|&2DIEe4NjD z)piki#S)DMCZ^bJi;@%$ONuuYuxtqm3)JgGw-U%v+TmDu$CHr{Ciz`E@H=}*Ed zJyO$ncyu*k3-GB1F1QU1LRAYf$BlqUn%hROg=<0q_T`|Ma|L{COt3CnI;=%zZ`2>* zkx^EhZqUi5A(>j2yB@kn40@pHbEa9=W5#=g=epK)*2@$$P?u#wwD`N1%TQjm@;Cxx zJBGF|npPYz&?5*4#<^Y!wZ1ogksiqmSRI=%_|d(EkQs_NIkGzljUus{x7(RoC`6v3 zT&KtHY{6L4g7HdQTaI=v|MeTk)`Y6iNTJqec9Q!|^+8N^J>5U)+TOBcTMP)@kHt$e zJns|2)%y_(W!t~$Tdeedc`tiljJMY4eVC8>)CHJ;#4_?^^k9247wq)AmG3^Sh5V1|3HnD+a(sn;}4b}yMCZgpl<6cc| zG9uKL>LbyKDjd?=@1^|$BK$UF(YWY=RcdAH-TZs(Jwa=Wd$vx2V<6h$3?6=5(z&BP zooDaVwyS%%hnaw=EBgTc^16Qi#j{evV0jp(Od*qpH@m%h7&P8-s_>f2<9~~@eH(@L>OJ?p(YjQ54HELu%6od3vE$9c+ToN?7d_4UvA*B8`-Fi z1(qnqlv_jw4uWxW$a@t^n$JN|=B7Q$j%x9PvB*5Q8o5Wv|)>Y6ZFoaB*)^3-`5@2{pRB>`(yb zRiK4mb$VBplGJj1Y`Ky+0ABShBqXH7XtZb&>sSO$fqzN&X--=TuYWTqV_T90PV_DpbGc&z}%)|^sl_4AJyhB)*vK&0R*Z)-Vuqs@OWQB zNY^S!4}H;9m$6ypW^BfeRZpTo(T!}3tVXl=V)MnoVRd2YdX|8Q?bi+X(G$pJ)U%8y z^>@vMJUo6cb$qXcy=%p?$Hh_0h?qga6NjKZoOU1vyfn`0*0_*QhK~s1j)ObtA6&;+kPGn=da~1Y}~@7PUsH@U6?pu zzN8iOp|+byJYALs;Pd@$C{#j)|Kq15gY#g($18wK7({%ol>ilt@iBLP>7?SVAr&y8 z@#a%R2gKZ<(C@=y_jn zzBoS|GMYiYG?{4SZjJ>U@qmM~JmuRq+0QW7AhG^ZR2H3i2ue1lE2vXnFDq=-E@&g` zKmRHyxOQNn`3-&@s~y-nmqm|jWu(;>gq__c5mUBGx_0;U;5n2aWxU7+Gc~$DB1;6K zC4K#z<3H0kKgO00Y!Hy~3t1U|Inr<@*NO2F_mw;At+mQ>h%BX}S?O#HWkRi$m2m^` z+(Ugs30jze-E+G2aE%H+~PAkc?C^=h+f(qejnw*Vc_y|GVjkrm-(k$V=a zxP_lEWZc;yUfI17(u|DRMkc2C>>AJ7tz`+=MScP-34|3$HAQQP6$k~C-06fXUfY$I z*XR1knh8m=V4n1ha?;G;3hlN2sLUWw6DDkgfe%OQA#t8;L?$p8VKLV1vPsCnc%y0( z8GbK=5fI#Wb`dO5;^eFFu;pEl>(LB#m7!)n?(B5uNhfwXtwdrvmujwmQh|c{m7;Id zYT)29h?q9X#6*&YGM0}K*P zK~SfEL(Amig3N;bQQV&<5$cBkYfT$mb~d1kVAjVww9mgIdG^Ntwqt^V6L?`| zzSxCRW=bf{9w6XaBGlaq|GB^g@%kEAl`EU)c7rKqJougt3FWI<`oF%W9n znj9Olwc4lXrUm_6Ds_OX^@~gMSn^rfJ3B@RdO=4~$TT$(?TRF9C*7X;YmcO?f@65* z&O}gl+u~4dy25P}O@m=C%uK=A5SY*E=8ex#J2fv>p}$u^uZ+n{$fJ1enyK;94$#t0 zo1C>pqeL{wwAsH3z?Ej(n|^(HyT^_UNaD5GvNN6-(ZCVEA(Tx8`ifZNY9MV;M&h=` zZO=y;Jb(Z7>5?mF=PkessU zR#N;6;DWYn(Ba;P`c@Ldx;M*ycYbww9|u@Ij|?zX8R9k^4kGMg(-8Tzzt+JXSIbr$ z_4C$rzMW%g(uy3ABo(ezzbIMCNR6L1xMaSJmqr7}5x(3w)MsPEJBJAcO-_`>xiVPD zj|tSc0pYwJFW9uQIJ`6wci|uxK?S+Jn@Ej8^U~$Q$)4cPi}uz=k4>a{^d3aSqGnh0 zKCT|g#JeO+iD+$Bq2YIpyxH(!SbRX>ig)MWHv`WV zlHZ#F*X(=+-z9c5wDHTAu%n$>sYLoeyJj;G2-sd!#87zs7YuPX9o@3}OneqHo1Od{ zLCRWE+5&C&wJ~uYbZ5f~#ML%^zGs7dh@r@&VscW!x_A918^`6cv(ac9O>{eMKG{m0 z)~?Wyu%Qp1b!NQ61MIk$z~1s%lguAxy%YV`-Nu*+fuXSjps$ewGPK+!Io^+$(Xo-T zffMAKZNSr0-?fU1G3$f3u1GcKf2nQaNu**TZ*Q*9_h%m0&2NlqTxbe>T=Wx0{`sji zP;&~SW;&Z-if}#$CS^L^H%~w5UHz!6^iKf_a+LKn02vf;c{1jLC!2NqQgN((d z>T}CmJ!rgaUX-i5ZSkjh(9$;?g0a+9<2T9c+!6s_jSc%e^}pkMY-t9$M}KPkSZ{dj z?b}F)yY)+VB}pFED9>5G-S@T2(prlirYobHmV{HOWNeI7`zH?3;0ViX`gxOVJ*i1@ zr*MX%=MPGsm& ztStp2LvvGV*WCn-C}tQabYoQ`;18%i*_U)ELj3Lqe?M@F%ZjWBURvVCG$_z|crx?y z6}Wp3Vpx9&jjMC7d#l;!m!7s;#k_`WRpM(hz%{q#&1K8^E=+|LIPR2G$NLNT&yW`G zUEG|KM}4>w@-TasWx~uh`SH2A)AcK%M_(IpTT4Z}X}jH&OZG+zIdHK!y(|@B_o5s;TqV439_jLQWVHs| zVwB@#)DilEj|o#_qCz~QcgDSr)}3?WsNPiuUI{Qy_&V{nVCj4N;gc$74zX0guh_R0 z3Jo>%Zk!iL{d$>5+DmKR7hDyb3bY!ltG|&RJ)aCd(1_L-5y7pr4oRx=?lsufhZU~+ z$EWyMF9k*(iX=XFPDik++e=A(_EEUHC*2To+#O5jz!=|}iCK;5R2p$pt_||Z7+hFv z9gEZhP2}+CN(t!t-~2FpVeGWYafm4I&T;f>m(a~ zpY@ilk4$2u-k!1mI5oUa*n_FK_8s50KTzim_($xH6;VzPNwphW5n=&CU_Rk5ts-71 z(Ymt>rMa+cCX~7xAWV*5R}hKcOlY_S*UV}TvWOokO&)EDLHqy>-r2F1@ZE!)Kl{>r z9%f5az31H`y~4?#Xvu1Ml7oX^7YEJ?=J}ZUR5(*3J2|Sx--y3=r!(mKYs1v9Dzd7= zL26uy+xY!=K7Yz%zP+(cMNzo^>a()7R$#u?x}U+{#q)ypDuj)O0Aa-MPXbeFd0Gk# zSRZ7KA$r;-JjUZ(kweZC>+mb(n+jXymp`liN@1yl#tMq;WB42B_}4BBTbtxJK24(5 zMXx#dd22kHt*jxHyo5Vyh|wc4W!on`Y#BIbogOc;cs8@#G8QMKA^~yab7|8LKa_-0 zr3w)f{BkHSD0ou7J#gk|k>N-r8pYgdOAkmL!frkDN23MntN+VZZD%eMKaAqc;^$GE za?1>n;yk^?j8My_8JdKL4)>}4ERO1ySydBL!$Knwrgnj-K3v!oO?$AwxAu|z*{$;nAT^!Z(7HhbL%AjlPaVX0;{0BX9bbU@v; zz~rSwS3G_Yj8|fiqrqSq{48`~e=bSxfqK#@qztPK#GQj}R6)HUI_RAhp`wK1~?v;BJEf^WEYr(p#!LN`}9b6`rTCaVY zQCS?%-LyY|1Y`Kb#zajHZ{K|Rg@&LyHN5|XT=e1|aI=G_x{;Mjq|976`E-wR9Tnj7 zSf(JkEFVp1y;r!WtIJDs)jq*9BkyGToizCK+m$hLT;;v$F?9G^|AR8hq|Wy4IQgGi zsAeM59(e)09g1hoB}YxrUrii#yxo=XyK7sA^O+6F$Cr*f4S|#Ic0DXVV#=u`Mc1W9 zV%?BChzQ`tk1H-{#pCl?=>gz!4!4dPy%I+WUfCfaGrTbMIPi!RTp&@V<6zY2@~nOo z?XcloW>w+eozv}mR05L%ulm7W&x^5zmeaOczjZ?;5t{Kz+-dku*Tl=D*f}?jk`zNX z>B_=WCtPmM$K&G3VB>zH{1t;z;a!KATp%)_>ai|0H-PYT{zP=5hFK5|w6Txep;}P) zFpo4z4R=pvROk5QiWop2qmz;^lRSj&i4LtXOr}{O;jN#1(TA>1EyTl$J4nL2PHD1w}HnVN4&$vl=rk|EBYHnlqJ8Y~@Ltb%zkO0x>JFQF@~9cH;E zkS160c5k_{@u*|U;trb{j^WTwiwZm@Rc?;_2jK~lm|+*gUt3#{AUKaiAS-o+$#xi*iCYd36#z= zj8E~J)79minl(}urgPXq9SgS82No2UxOkrgr4a9SUvSjZxR(dv7;4(~B+-NOEZXEP z*i)WXn24gW1C5Q2m7tZ~UBd|vTkYrI%Yb83GA53NBGL^1=*oSe+S&%E?T|J;KH5N9 z3wER(HhW>|zKAMITJKI@na&cU(-S5alH^Q1Jj}FM*j%6*k{d6_CH1X0+^e`pMxBM|jsS8m38t^hbrVwX%2}iY*y;aPw$jC+Ne;rZ|yu}RK7y8zcLN7)_Q>fkl7KmRdVsRQikdu zfs23LPG#F9)Y;Hx(6Pd0azYvTYkh)Dr@~&m*a|U&t;1!X|4e*fe!}{j zVXpnay8n+0Q1hMM{9rJX(G;pRsVFIl$|~T6fYQKk4aH0%{mreat8qOZ`kGKGu{4G{$b*4E!Y@%~ z?yYqkHj;@ULe;ZZj8?<3gPZRDSB;;#3OO0%nrw@^gzSu~S(aWS%I zQ*=#C6Sn^Rb`y?pzD4(oa(;c@y}?{gtminu2(yA_s0+H&ZRo(Bl(Yuk%GvG| zXKa)87P+~TqbqsMmq8NuF1S0A;AP?cyd6{i1Ir%(e^o ztb-B>mvb4_DibVh6}JVl*>RiY7C%pnjg?HM>`{H(eIC}FF}-A75Uutn_+NBR61H#F zT@^^Mc;JInEB%2wFsn!mR)$ERnM)TNwH#ugmN!p zV!|M6@5;!EZhWvq=>Mke62tS>aNFc_yW0(W=`Gk%Ba=_Hv`4t~BSRve`^8o~5L#_? zgD%;!|17XyWj~i|uOLkiUtjyCGP#BI*};ddun~d$rlmqpUvXhcvrzmUo$#R%4jG93 zA;y^4bw07~on`lv@%SV!ok4)j+aYi#D==L^u7N?n%!@HqKJGXQIn${>&R}NktqR4do?Qax5p}-y<`-{Q^k2eiU-a!O60oz1sm0s$-bU6_SlUvCkAeF@ zasQbv^22Sco%pfm3ky88vf~OFO)8P$(kd^p79uJ4%-QZK8IeaVMPc=7$44l_A|1!c zN^ON=|7cE($~3mOlx9(DTO1ml&gXf@aT)HW=c9Q%!SHh2dWVSmDN%s$r6G)09g&Fs zw>CX3U~PEReJ!nV6-VPVMv%d$Lja?j#kbpBQBGTpZ%aFM;E`P3E=RS}^F$OLC*Kvn zvq8@RKXuZ9(TR;qlWg-*O+~L9Pn1hNftSSZzzVXOtS@9R7&4-Kicr;b_lMcz_s7O4 z`eD8umqvfGhsr0x2A*pjXQ9^nA-j{Xj+GUmOD6oN_os;cXNS%!d||j!cL**%|C&ZLh=Khe>Mp_Sa)hG`fv$B~4B|*ULkAu=jx-K%jOF5uIZpyIm zL^Jy}`A>hIZ~lq}DRJ-R^V{bbQIur2ho2)VClroo7XFY(;ZU=L4qDCLv?CQo#FCSgS;OkdO z&vv3>PA&5KPy0I&kzyH7R9Oa$=N?9cxhC^o_)TMRl!^b{nD4cyG$~Tzwohc(McU%p zdkz$#n5>nCF#~wcyydswZW1IDe(QeQG}M3dKiwid&su+Cf!b3T1rJ;d&w;aa*63oj<)Z2@;zPCRYk|(iS`%McMpB%zgVgYgf za^Dc0{u*xG2HfG)!kqDy<@8$i?uwx?7luO^w78sZL3)|^%xQaHYaJEdyy(50U^ydk z>|56(JBB5>JSX>8?jt^UXBaK+TAj)`6BK-^3+3W^EM=*nEsdI|j;YU(=C8$X!YDwa zHvet1M?!~F)!rH}yS6o#pEy%o4j+b-t}Jb@=WnFXC5|L$RV zQ{i*UgrHz`JUuave*nkSI9zBGkt-3m=mldZ*=R=~Vn|tHroEBxuTQ1*PU@IQO-^AG z{mDC&n~G8N4bswPdfZ&HI*BKGFs~IW1Y2c|2to$lhPwT#vJ=cKQo=Up5^L0a_4Jio z(T#72@AcDyWUas1QEgq>*lwNeCspceRN3v! z9sdaLJ^spry0K)}Cb1jk)X=QchBvvL{!__Smr+sg)Dm%IkIn{^I&`d+ORIhIj3Cy` z;+pv*rM4P(xDEMtBs$Lw?@XC*g+sK^K=aa&`NTl}`FLT`_+y~3AX$gca(#VlZui#K+0Qz=C@%br8da!*sBsoPSSXiCf^nfK%YdBT z`1FhOVUDEgf5cDbz9h^cq_~inP;Ged-y<$W5s#Bj54iG3_ySu!{6f7}4fDpa+Y&Aq zY0XbWK~7;vG zB>K0g#<;&mURm_9ggZw`CE~v9=$q=iS%k-%_Q2~iO1+u2G(x~Ca^lPu-ya(__moST zpJ*tJ3|HJz*7%sG-0{4yCLOw=+5=|A5CmS8iz=Jsc?siRG_=8C02=pC-tkNxPt#)* z79X`)0wW587*8mfn7W8G^STo~@5b0Ld%c3qui{8_y*MW^^y%!I#E@5Ph0gqlmApll z0zQ}!YqK7$ly2Wdoh!E@VkQ$cr*u^jf#KYDrPVV>+@>Ai%YKtwu`63eXL5h@$)C9J z+)|5GdEmIK1eI}_y4lME`(T{nUIwK8;rbQd-mewtH-aJIM+QFXvUj02?tE}%NYT+b zPT=CmEU8v7kt%$8!It;E-wA#x$qN{BGi7!q5NnpUgK4lQ$69A0Mw~5B-8!$GEt&f> z(+O;t|9gbyE;&2>Jwf~lh*n5JAs=lx^PQ^?Tlm;^l@7?VG!VULFjoPho^jFpslcdj z*aJA)za=7q{H2HrzSU_y&)$h%Ir}JhhiV|8xFyK<*#!i%M1AWfFXs`#0tV>jWr)h>ZNpBKli#OAWFP~sV z8aPmF81|rNEK0^;4%?obIH=F}9q+@Z7UBr7RvaQvtY3}c3!a3gXrCN3hL>{=Rntf} zb!zr#`{?TW{El*=)W+M5(9FTg423W;2|Lj5`<$#Xq#udsKfBNXmP+bvjqppNIg?h- zqgGsqeBX=tk1tBM2e2TfoQFK&DH+?A(}T}I(9M0U2XfKd>Q|LCr=-})Cdr}q_dJ}1 z*y;8YGMN)$l&@rJVbS%>DxW)Nrizcz@;dQX;V>tS+|9Yfai-j2W{1a_j&7?WVs|V; zBHrC=*XFU=AW;R8Tj)U*glyW`{H}wZba#qvv3>!C3HsT^=}Hy~lJ_QEB%GrA74@@` z6WD~-*N|$|jK{z9;(AfBlA1ivb-Go!^BKB-_C#&xCV3gV*Tx29XInkPvLk_4ELEW& z1u11l#Zb|#=Q<{^trst_^1?yrXn-I_z;T?k* zx~DL*)5178nVsCzne^vv4jap`Vo76OWO?`kgN|+-Q9R4#*$%RDZb%NqWAw89GPMO2%e<&0l%0VRq zx^o!$Wn&@Z|M{w~ai%|AQfO+;WEeFD1|)qU0p7#b$Fzji`_jsn9;4Nx^nN?=0vH2) zSbTR6;o3!h`ErP_oR%_dAgsu8_ODE&M_TfN^f7Pf9?-Et;wKv9@0IZSv3}*1G*nzy9P*{5!+bQjr3X2 zT%D1Jh$gcO+cXWV%V8t>ohDT300meF0}Eh1cV}4rJE@8fu;>s?genz8$wg{5hagOk zo^KQ)-Z`Pbf;0N8qupNV11VgEp5aG(1>e4*-{-bb0$4QkVC?3|mvnxoB3Rh45^%yG z4}Y-GW_(X!1p25ZI%gUEg?s9zNi>!{M3OJeo=w<|K(C;J>^Q9QKpW2@IGbhBPc<*4 zb|VIlN-fL`F=E4vqW6OMmVK%8#5Qe~McghaR>8EnhIo7CS;niO;>4yf#1U)WM0e5Z z^WsI?M>-KhU!l=yRSk2hd&`3_;pulgPUdM=|6q{D3mK=a4HGxi;$DGdOp2i3=IW!z zG_9}gO)sv+!!rADPigS+iblqPRLJohD!fZgxkTAdj7BIdWa! z*Ezi%lg59dwRm@fAtvgO%IHS%II;cD?(Q>Gdq~-$J?7^kUd9)6P?R&(wU-~1omesz zPPgRuz+62R{T35Rt(uS@Z-(H2j6$2fuqxHIt+8@Co0h9C*7Gf*m=dc=HZ~BNf!Mu` z?b>3mfkEZ&$vrWslM@=ioc}MYA$=T1`NqAVYc-8T8@298c)m};NgJ58;+6?HAsVy% z)BsUaOX+9P1RN#32?|f2yxPXX>zR<8fS@E_c#1_~qnz`H-oCz})Q&#GNdqpM#qlGOu@Ps1dDlUWuTB<7F;U zDHgvIarLV`*Lg7ih#V2!I%MWM8HSGKK z5EwD0g5VggUBYd_v&NcVdFR1kvf;zc-#UNlX$;u+p*Ib-0=Q6-28^(q;6iKfbla? z{g~Mdw0(xs_zJ-Ff?xpqP8&0uTe?gQoi;X>6r(f~-pphYZMUG2@v3tw&#k|sOl5Xv0{xuU!CSt$I@4u_|lbQMQB z-MKzrJ|{1$3x!lR5FwxODM_Gi7Uiz}hn@dXnjzEas3X#$ zh^KUn1GU!$h7w6dsz?Juk}|6pK)|_OSd2L-u4aZB<@n**$|J()TclaD_Q+_%(=55F z3`2$VWKD-}V?u@Z-Msiw8D@LqD^^*Uk9!=3=UlY}iZ3Yi+nXpwlU!y6S2sm0X8~jmw?2C?j2fO=2=ODy`tk zd2ys7gk{h>a$dWctqq_uQP0{6n-t&YXRbH?C7v0Ghn+sp6e_en1!VG3HC~c9E5;GDyLJB-DoZtB_^{XQ+3L+LF4ssthF@SZxTY?al+-b{O5LeLnIO@b zPYRAmE9WjIP5QjsnH!9cdM|LoKq>gY`Ob$D)*b@kh9(6)$IJd8Yi7Poe` zi*Xhk1}`y#B1_EcZMAG3p+ec}TkUijP(x_}S~>KuD%LL^F)Pv$ZN6FeU2ftZ=oIr13G-Wn1r>HepssD3QP_ZB^3Z_GVdSxY-L?h-LC4B*d9eH z<4~I)9_r}(MdHMrGSWH5CcG+pHDox?Pzu$8*v9_45_e3ll=dcb&?JRZ{)`jzvDU7u z%n_hr$&19GzJjEr4n|AKGNfk@`C!&l+eG8`77p4>B|{t&5jJnkhyqrRwk1t^5u~5e z<#O7W22!*Ao0g6(%|l=K5tG8xN0@)XHC-C3N<14<%0erzLW|H>5SXja0j? zoLZ>HnELy-gaZ-Q`Cs2>sjKHMk3J>pU8pi)3VtOOVE@X)({5@j~_ z7o;0{)YhaKA+R=!rlT!?p+M$;@;d&Zgt{1pOhFDn{0qIj-1fm)ta%FrB}UF%`y7iZ zi~an-=Q2vpx-V~F&c%x*$8Xwr**Jbpo4Y&vi@0NybdVtlDtw*RI5&6;UqqlU|CqsDtrHW2QjB)j8QRaP%c8NiX}No1$5e&$OC-O9)KeZ&emHIekn zagxf*(I-LIp7|HwHdSyPFd;J2dVlc58NPF&*F4T}{s$KqLz8&t-X|>dZn&ZhEmsXj zApu#FXLqLD)9d;Yg%WLq>nK9qhJO+#77O?IN^eeCs5E&Uk5H?XY z@9+AKWT+lnfIip+5nhV@4rZqpZrL@i>+{Q+QK@shaI1*mBx6zV@^zN)1-?ZI*hc-< z*H4zgjpp#p;gGZQBl8Ob_Z84=wYmH+_rB0+Xjn>%A~RIBizPz#d$%kNyfiur%?5JF zNG~=Q>JDg@biy97V1vcz-woQBrk9nBr`gm{%dcqtt?|Bhd5cXeBO+0GkIN(y6tg2i z5`s| zO|DM4IiqbqR2vt@Qsc8rSxi9PLl$-I8V)Wp%PsjqxfSv`=a3o#SP8#vYZr0K%yhBfF+wuubV#CgDgVE=G_KJFbUF5ke+`T1CBWo*Uy+omAwrv zg5~6XnR0;UR6Q)=%hYs@9Ge;M!;T$_fBN?NG1IYE-uE}Z=5zRMJxc^|Ek+Ox80Fwh z+P^Ftr}*37h=;$9dMe!;V-gcR6;kaZz>KlqK65K7r8Cym8@EOr9@R%Jvij z!gDH|fZl$MN)Q9=LQW46Z;s7#p1x<7*2~*T$4sDL_UQ=J6_F0j9_@!;{UcQrQlB^k zKw3PNeuT#k^cTWYQW9Mo2Xnd#F;(0+jqKlXqS_j1;ASlyWJCxFjv3BAJqwFhTY)CK zwY>a+Q3>Y4fowygL0J!w1{l%F(9o0bj%BXD>i@ipDt zPq^;KF1i(gnMG404bP)sVu;4(_{lSCItvk!UmtL3}K}>=hmo=Xtji4^}daA6I46q;RVi(?R17SAR zW1XQT@H#a4rkG=B&!(?4J05MLicK+rzGrGtrsCokNMyEiO>B7-CQ8Av>64de(1Q4| zf~DFVQ#?`(e$@llFO@w^#DDQuBAjgeE=M~sfb!c!F)7jRLj7uvLz>et{DuF{m0`|) z>;Os=?442FkwDTlKP%E)xivl9eN3o}v9iE~6}nS!h6MZaQ8QI9cAB|7R}b^AiImi6 z^*Zj?*u&*!Wf-@vkCC2jis&~x1#>zW8Zy^NuP7NBxpw)s2f6qI`egY;J$dn%$H1_u!<^4x}v-@LG5`%p*9|j!gJS+NArKAU9%{9(ZX3=E$EoJpAp1--# z`_!byAy3VAiCELW%knIBFZP!uqQzv-|74x920ZNe6|Fbrhn{8k6Q-)Dv~KmeRCCq! zI0B@GH&JO@K_lM!Tf~26sd!u)IyP_be<=*KSu=WXlQLb*?26f-r*iNuF4UgBt6$q{ zTUR!XrlJ+GNQ4ZU!y1m-LP~yz35-uNn8AergjM1~92R zo`fqi733THupd;enNl zR`0Eb+h{B24c*((SW(;UyuVguIaJ>4#Jo_-X($j9AZL?){rpxxIHrlr+GZz&1HY+5 zGWAxJMIdyz$|vXDxegJA?)Kg48$8ySs;iRb;K>ydh}oN{G_yH)=PZl`H;It^XQ((I zhKl!9z4p#z+_KQD7V4^#1%lhf4%hDUnD-m`+zK-zzf)_0v&kx z5=I|ssvP^?9*Lw1u8IEqRvo}?vK~l@1sWKVZGCu@5UiNxn?e6E!QuZw{LNWfYs@y$ zUzE;nbVzlX>}%|3Yc}Z?3u>O6`pxv3Jxb0^sGTNWIQh(!Tz}eVzPR8%3)9y1x!izZ zuOT;g#V?w890^!)DMo1v~msOc0vQDG5=bA~WPk8&h{)oN%GQ*mNmKQb5dhvDm!RO7T_ zut2;VyYF+1%qNLqgQRQs(90eO+g6`GK}|`Ei>R#;p~3|h8rRZlVWXjQr34yWv`dHO zE2)_laVt{H(N2Hiy}c!KPk~-`nD>ig24dS%Dt)Ib*HJ1diVBe;6U=hY>PLrr8&O3L(2pb!(!N4_q2-;F)5ns$W{I2$ufDEhWj4vOTF*`z`3^ zbs>{)eu9f6r#<;bYkfZ4gUFUpKrb9hB+eu-+TXUqQkwqF>rZ?(r~=^^4%$?#>-;_r zC=hux+G=obyUmKHc(|5`PE#n&PxI^SFG0NOABc(&Zf3pD`9^J#0<&C?qK~%sOdx0r zGk&J0>@MwTMXiWrrE9V8jgg*qPeKbXrPO%Ft*rcO#n!jN zBe+IB&Dazxu?dilI!;dZLen0T+Co2aca^!>mpz%5bxO*ZTGmm9%LV8U2Y{9~)iMMp zVqP3+n`voN|EVjC^f|MA>HfL?Kb{B@QV3jl0f|x=_SgSOaKGu)sL6nv6$lRQynO%k z`FO>?BB6x;&WWc3Ld5kGA*2kyAQ0Qtz;`dn}XEnlrN$!|<8`RCLJT ze<@0qhSR@$J`Ss1SGsg4pU-E2{O&*FqjIhCX4A9&D{8kM_vOX=HzP$AS{vRz8MQyIVSzJM$CXl-Sp4P*E}vJn4JMp#fBF#Vp9tAkecK5C|pg z`BUJR39u0a1i}SLe-c%5%Y>~Uf59^&Lp_#Nk={F02vTVf4{ztkbR|0;B_P9InkTl7 zjCvv#(%#-E&Cd=c6y@s?ntjndTsUoh*w!jb^0sN1MnyE zK>z+e@d~c&jbHe%>msX_n(r8!fV{eVS+#d49`CP zQvmS>i9G+OL{;*C8v8$U_CJ|MQEpY<@W0H&?@l!6e+MJ_uBN-x)?~h#iPChi{Eje! zR}Sq@ntP9^2d7+*XUQp++WuQBll)Ds~{0UNakg`I?oE zpOKNEZrhQZ9rr<4n3^jN%$m*@92E5TEb+#(e-CQDKfkcZqSq)Vs$ARXxSzYeo}d4w zxT&GBVTyy@Slx8<#LdIQ0}Tz$u3pMv034=z>vDkn)aQH@9Uc8hux009WAw4ZA0fN< z*nt=i0+I~T46D`zlF!^xZ(G_|_y|bu;=u&zOBY-@LcUIo%U5VQ)nVxF?q0Wwa^56@ zX71V!cR%GL(p*b)Qfw9E)0aDa$7^dhj`Mo%@4TqryrCx>$>b}r$#CIEELj+t9PI91 zEgkKj!r?_}dFf?~XW;3@mIh@_O;&pPT(ws3Iqsa4#=E-DOA392{vLoGuXJxuz-upGyMxgOZw>E~i~ycz8Hxl&90a0;S#gn!`?XR@e1u z#w1?f=GGS5^v!Dz3F*rIIUy<*{Yv+Eo0zn?((ok8a>IG9eANsX+K(`{pW^giUm%-Go2(yZ&)LsU5d zY;=EfW^*uQI-^)VUt)h^|KR^H;wk?2rF0rfTD$>@C94Sx6&SeRrK}iQV55-HdtRX- z#5EGB+x6x}Qh|<;LFds%ug;tghX50GlK&$6`}aypO1bgt#Vm*kzt7CGle5spBC9V- z>u{p+=7agB{cgQ<(sWru7H&4SIMd()37^8^;*0xV?$$M!nCNYYYS z-}8Z%0YvW%q!blPN?yNyEzDdFPiHKe&|t~J!oqA}o3qs|L4{M0a$B}=jw-wo8hf1L zAE8rc?8|o(#8x31NOV3nmRq=#mR};HOCKi46e#53eBu}%?7zSGH4AS#i; zid>ULhXMEbZV~_GVTB%ojNq@2_W6cUb3fv6{-UoHE$Ekz_ss!+OOAX%#q#p}sU zdpy2|BPpyd#7%qQ<|fT>N(~DUvwmt;mi$J>2W}E}^Y`~;BqYvvn8jUpG6f;g z6z>=r^T&UJ!|;-ZeGJ+kPLqbsSThU08`c+(`s!UW@%M07E}cOa+H1v(ZVc_#Ivr0= z#a#qO1=tyfel0Jz7CFjU!@2@)vxPi|I6y%yNguFJdjEIJJXLql!Ow}kg9B&4Jd_0AlfkXr8$Hp(dFxrt-18{_eZ&ag17 zEidgyW5>bFu^^tMJZHH4VoAgH?#*l3k)bXcEV6X2o3+y{C<7WQ4@(rL5AXTX+9({${T}=AfHcoJkeJydxpaab<>273oZ}|t$Ux-C;V3TNOQg>_6jd@HSsRNIIP|L* zgUHozu8!JZF9X&t2J^bMrUC~g|&$Vm-7^4pQqZO#VOD1GMl4hwD82|;lbKs za&+b3WJ6L{R;c?*b8&SnyDWutkMtHB<_o<%9UkxAozE*ME~f1)thURot{!Iz$n($3 z{!J#IBXF<~v4cNj?yt$LXJ~EQ;k|>+2#S6sLsJDLcIqECd`L^4|;X^{goH>cl&dRv0Isj z@?&Voa^^G%zbTDRM17e+Hf5UiM=f4IrDu!sRp#Y^z=dmASJqZU3Xh|u$KkJQvS!;0 z=!)6jt1uLr95nCqHJ@{qAVgFK_tbZ9#QEiNHRYq98JIl9 zm+le~5y&aR9qJzRxs!$>IbkkvNV8RpGnv4_nXeUtqYF8w`w=C4*)}UbrL={|dsQMl zwA)KCFm$+$~Zrm6&Y0JAUh@L!0w~sg2F~=;fM9Xnu*NovzO1upM>nccq|8^fdDV5Mw%d3mxL%qG<)dpk!wM;S*X z4AyI%8y8tiMRslHl-k=62qd2J=kMNyt+Rz`wG&lM&AFLLUN4wb@1WUuy7xg}V^qci zqq_?)BctWsCYXrTApawi;N>}7r`u2vYeEOM+7&UBr+a@)zSw57ubJa5opxM))MW~9 z#gr%J7owrr3MqR*eEj;f^V5@z@G6)Z zel|GV^WksM@4`=Zlt;;Vdonh_X8P;6@({zvKgpAT>8Gibs2`MXYfl ztw;M>gNsw~9|;8;2gf>r!)z0Se20Y|tNvnNL`itMsfL8*N4XDN#C%(xMzWqEguVSd zjP&$d1o)H_Qb{6*@;0xss&f{97K^^z+!*VEwwnM0>LnpiJ}HtM%NEvji1_}OaTIW{ zFY)j!JoVnbIP9&Iyy>9N^Y$9$jC_G1mJeG?BjZl z$$TIE{rgh}@rigf#}i`hroJe$BmSD0_WIs{5S+TYdSV7CioWZqOOvHpn+!g##)cXv z>*Wtr?{jY~M&;ze+HTi-CblCp`*ZZTe0+RUF{*c}&ypVS6Qg%SW~Qf&NI{Hijpmbo ze}fa)6$1*T@k%(%6zeTwuTY;U^%ckAKhJuVA#mw2RxDavs0-WL7$tOrCd7nBer`8C z$ZBtfauoLc13n>9IF%pi@xdfo^D7@ZBZ4c*_{X*CSYFdYh7a1BZ=*!3v9Y3}p6lLQ zAoP388jl3a`fH$`4_B+h2Pn5HhW;(fASRyMMt+jbZDaJHUT5)}l<&HEpFZRz<4Yw5 z=EFwLEY|G4SNFxI z9&}u7m2Xbnp&V9+{mbGeseg^jYt}=805tPpJVr;xV^iT{YiQUTqQN)6l!6hcTZK2- zpOnCIt>WUsjjV8JA!-PvV;&X%#E=^f?+r%}UnUMGdD^Ac|H=VA2Z7vKY$*a~BfsmB zey0zOAoW2Ms(KwpW>!{D)Zp-N(G=mm)5yLsGW80Mitx6NK*-cOfcDH&9gfZzI9gIx zPrIlfF9L^#lDz6^D5dm$vg_jOHf6)n(UEDAL~g!y-CdOX-=jD|mz}>L{6nH&@qN3Z zLV7fQ=iDwN!`=iWlg}KR7|#;AAEJH{cxt6kh?S`J+HL%mhRGUjR~cuJq;U-m4hq!5 zcM{rXBhx!8#w8tFMLrW`&{iffG$k$9XPa(Kbcog1oxF(jUyVUke3+f8;?+rbE3ex| z+b90ILe=U&a{+~Kf2V5m*v>ZX7|52ObkJ8}pA&NzO!2CcaQr?37dY;;6J6FDaXMql zSH80H<`GW|jfg0SawsFeZ}ka?kDrRM^2z@-c9PJmnNf((<2;op)Opk5-lCeZyIaaL zR(UnV*=!q4$^QTVpA)pA5Z5U$4Hg{&JhJ=#J}fm-QaeLH-6kE*zk~DDZ{$d$n zI^U^t8Ii(T%K=-dPpNaTxR8>TuWfGJ(IzD!u_tPZgA}O}k=q2QkXfEut8GSH`p@&gzFrxfsF++EE-882_r90x@S4#w zy=+fgpzF)Prd^Uj7Sp`Kxt9 zrk7{#zR{_*yFX_N&Ljfpe0qH6QYHYnwRpXzP(rJ~?{ef+<9cog{_tM?gytd!{Y`5ie&f2w8esL&UUc%Z?H`^kMr3B z9W`uiPT$uA-yIz4P;p*a+nP3+ESVNJx!gDJmm~>4+`w6JCFNQPgBAKBkeyN<}# zyP#M>zPGxHDm^h1{{@Nr-Uyg-n>C%oYOIJUg_Dz$HYx|7h!Qb>z{b_$b?$&VcTt{P z+2M(Jr|P9O8QscT)T>TpmZCLn_Heqyx+=8V*4CzG@tgObgq8DVCr)4`-$jX}sQ-sI z1N;+92NT;xxRxTe-^o~@&1r~PQ}A%36ji5We2absiw{jCK%?c!s;0#o!iKC9q35sa@Enw`|hJ%gfqo^Hddb7KaEDq*WpLFuAYK1bQDDI z^gbi@`5YbL*a!UC{Jw|labk)2Io)n!6lU~Mn~90z-Pd3HAW$PAQh9`mOTNeAFB*&m z>X&#g@q9ivT_x}$blS|(k|5u|2b5ZGQR4o9XvkTQeDB5ZJl}=R&&Lhv4r{U?F3Rl| zlup(skrFJ~8&K^CY64Al&@e(OT6Gi`ZtT~c*^z^!& z+mZ}NGTp|83*J<$daZJl(L1W+IdfHcn+wgZl<9*QcGbd&#n?El%zVJs%t>x84rT4L zp3-p@M^@@N=pLSD%we6K3nR`PZCGp=+iVw4V-mygA3d&RxS91-C|FXRoL$>BBwi(U zcucM!SKU^CfIywAfuW2|MO8^ngD{+Znu+&U>^RZH@|5b!p(stYmt~gbMYMe~sv&A~ zQ$=Y++^O}$Z&}itW1H49xNMrd&QE{jQf;#+jnWCSuvFJY<^g9{Y3=|@aI+}5P8?2% zZ?aILma%w#q%f4ZJedKcE8gUVc3zor0Wj^#%ST&VyU0$IpR{FvHnE_xGAlm*&1lLy zI>^in!(tLfvf6iSG^{_-$oCt~Ye&K@tnO{ORnhO%Nl(}wv#5})8|=X2YzLeD#e8>1 z()lJwPj!aUKjyHBD`0o(ce`)QX6d}i`vw_MMt>Sqz2iN7oTBSfT2^Lz=WQe>H%Fn0U9PZ*9Ej3R=b4=@0nmXwrmOvC~^ zdo-1AWf07usR|2(Yn zGQWKNEcWfzjM6%JeoHjxW7_w)it7LSjIf&bvyTbyFr2d_PDq4e4Bf;r?}u3_=>HO( zxXHbU`9pw{((&7O#*ZwSSj=WfTVqnfK~DLE*rPhX&e#2Ak6kK942Ad^E6X3Np1Z$j zP=*+CEdgBtd;5&|({hmK_tEQ3Z{lBaKJ4fW;Kwbwk) z*H7Lq*5l|yr6e52bUkgyI?x@9eUXb^M88mCi#6aI*?|uQx1zj6idRLuT7J(%P;LFO z>$iwW&-b~V<(@92e-I0R*WJ8tF-;!L?&-Bx zo|KqYVSeFTH6^9O5=_5W^vulo5pejagF}72L*4W)gKEmeq=-;n!4n9Q6Q`et(l~ik zuPQ*9?8WET)up#prKi&(QC+gLt8h%=!5tk*w8SKl)^q<|-IZKkWd-FU3%Qsx7C8#& zZD9#b(c513x`1dDr5AjpB7!24NTsOkN9J1)bt*MAmDx!Sbrls;Q117Rj^)C@fxC|8 zm9@vpSdYE?0R`(o_hnJb^+q(FF$N{qewfFu# zXsU#0jja(Aisu%nIL;QCw-`!-6ftxvlLLce^vv{MEV0S4L`ZkdLFXWHtXzr?6Up*m z*eylU?PSrDLQ%n>8w^z@;Hk>T$Duw}TesoU<}%iO4Vhw7Q&u(uiSRx3f11MzG*>aH z22|ks{y5HwNzk6?0iX7{ajUR|vK9$Z@Y7O;JuZlAp5-KC%`;%;D*x;Ayd@KYM@--1Tf7G;>8M;# z0UzJ&|DQwf$MlRHd74)z74*b!F}@BJc&+2VP3C+6J~0V6f@~RS0EfX7myh(v(mzY` z*u6-wpp>b*tDihRn{M5ocAx~nB{yn=u z^^T%og6Bzrj13&YV52k5fQ$RhEn_y21KOiC{AcgYbAGmHGW>3Pd9wApQM(7kpzFtF z`e&7&@R9n-aV9=~$6nR40fPs>hboFl_J6+mXtq>LSTwkd40F@i*{%=8pd(Rtv7yhwbF|5Cg1y7O1 zx5?c@?68!^AFU1;&p(aF<^{iazNUAg=hr4Y@Ly{VR530UefE*!D2u%H2K%we&QZH| zrJ^etTV5>^xysxE|GOWgk6Quw*dI}kvQs6a6N5`=^96I#(lBsy3%q9^*k1@34hljB9E_(O((9O# z{NlW_DtR1_!8^{7@?;JAMG<2dRK*t0kcf=b1u20AL;n z^~}Fqd5I#}ax~=vn#T|GeED%Q>3QSRl{dV7$NH}WsX|r*M9j@+&F34C%Sabt)1g#H zsG8W~&pb3?wGj9yDVO~L*WySqnqU!#_o1GP&h_pU-isd~KPOA4VZG%XA`pnQ7$7f( zvv>wPPOcbLU*odV^hZy<1qhS(Act+i=YaXSo5{^gPuaCNyy(Y+Jdo zn6HwS=48ZaJo$fL3*sjQr9l~L|M)+!QoQYzP}22sxV1hWrn~R+N>53UPv8Ji1s#f+ zHNYkm9Y!|D=%}9>IFa$`>5Qjl)6#uf`_Q^lp*+pK5?qHBIbs79t=8x7N_qkUgG(*a zQeKUG%r295j^zeHLi60Ii-RrM(0-t<15<(g_YRNWmzj~CnUMh#T^-_yowGGjXVhxi zq+r8;LAJAD4_`d70ahHJ9Ot1ily03U+@ATvkBpP+@1{1MGSPYIcPnsD@Nt#h*A+0r zjdbJu$^%F;Ds`7UMtA4}bMdr=xuNiPAW*Kq5+S(ulB@#XMrV6xi-D0LiA*tJBCxT` zOz?+i_;?2nJ*3v6Mmd37wfkO=9czlabQ7Qe9OnktDw-SYM0+^Vrl>?Jl{Xy^+2;qA zt4_)(B$3V%C1i?4L8Ta8$jEVJD7WiO9nCygDCTaMqoi9~raALn>FlqOKu2>nbZ!Fr z(=LJw`;^5rbS-OqFYpM7A9K_I#}&m)+Ui77oL5;=RkT0lu9S+Xf3sXjA!6BJv~^uj zzJ*P4!2T_MQ&rGt_#_9RYpYT^9x$jF()sG9oB!jf4+>MKvDN!7j+7e3juQ8su@9k-~jV_(Pt3qYR!~z^Gryxz-qxaSJ zTA9oSF#V6);+mTEyPsHi-Jh9C|JKRHo8b_K_CknvdIG#Wgsa%K!QY?SD=R}gYb^Y- z*+Iv%08-p91$b!@Z<$E6ZWk}6pw7JvWh6_9C=yWX8HMKa`YBb)wGWeRRwr0>E4JAH z)C6@j9{Ulo{duzNY*HpVTFM5vNFwrW&+YED7Q>s%K4_NA5To45^|4kGH^@)h?O|6& zE!FPPgE_;@bwAV zQ7hl+%!#B*Mw3^Xj^fU{U>_$M37MG8^*2`{m*4)UU``%2PQ>YYU}L#qY`z-Wd1fx7 zVr}jA#W;4Z9yP_vqmZ7DloNN#iPNIv^0Li4gZ?>49jrVL#1Q5K^r!Bt?IJj&8iZgr z8XiUfi+&1t9tdCJOybN16OgX__r7UKXQQA1`xG9I9z?@~S;^lJfT~BjN%G%Yv8y&j{#a~m zrs)5{Kw3*&SvoDQ@vdXJW0^Ve_Q`*TE^e||?{L{+qJOlYkb3|eBBO`@3mxWFHmsHU zg~EHUTi)Y~ko-F;0A5~|5W@^)-t%`yZb`%wS@}0ye?;{zq_+P7LjCyuw-RQlA)yBf zP>eUlRkpUeYipu_4VTVQ`rPtV4d7uOi|JwLxXr+QNs$V5_8QyXo3 zT>xiyyTxT?6;+#k`BHkcwbk470$qGGgUj>c&Rs!)yVKa#cKhUa!SXM2OG{o}?ibIm zR=Zg7@LrlnW@mRrH8vWPA%6I67QQ8&P?|GeZm~DU?{qZgV$svp4hamLh_9#CX)-4v zCzp>H60(6!%tIiY+}vYJ{pB?^u}@0L)SWp|`ENV!?$%?!Trixo3gswvx5*72mBq)u z!~%39&q4x~a=tF9ab*|J%uH{rveD7)EWphmG#NZL65f@$xqjqpW#YpFrMoRx^8mp{ z&%oq(P+wpFm?(0IVrHpiW?}BVzV`p=Ut4Rk0glnp(W#Aif&c1Lg!T!|SVBqm zwY&S)4XsF&8vM4RtjyBPs-(P}j2v%+a$T|8nlqks`fa>pXjB9S7M3Anh3@Bg@A_A^ z&RW0UH*BLvJTIa6sn$taX$t$e9|#T zDnkXCm`D|b8=-oJgbqB{BiGx@e9Uk=x*EyMhMuW-d3pH^hDW^;atZYKa(O7Y*k}uf zS6e*|2$(<7Yj?^LFq{I!3r5wwb*d~{wao17<+TAliP8y(`4)dYCM!$A?z5h{-pR>@ zv#HWJ$|Q_HQ&ZD5?|YlCU*o^~3ESWOK4^Cp^1Ax*YsC84PZUVt0W1L^+xhEt@{>Ab zUY)e_sOGhp!A;kl^NO~Iw)$|IYRSB$M$RN#CRU{z>oXlv_bDh-a~5Iijtqi85rn^NlEoP?e8bz#H>%547_4e0+^yXS&INL)ebZA%10h*3_$54BC2W6lR=LE}s+FYED%A>t?ZxlCj@V({Tj}i2E0BEKFWXdM z3T9{LDD-C~s}WZqpS%X2Pw>3PZoY>}$9@uDAhZE#@u`FFief`V0kRvn{bU;vy`hxtN0 zk8R;ihu7fF33yB-qlt1nli=mc%yjK*Mh+ex9tK_$K+czlxxgk6tT|)Nz_|zAhwko8 z9VeA*`rK^MX{&0?%>VlJYhb|b=%G_h&tk5PMb(k_%yD~racNlJ{XZU0{j`?#-3h0s1^BN6CC68bQA6!2-)W=G|qm zs(M1l)=7p`yU{f%F!5YaLus@9%O?N%y{2(f^lN0*}*8ucwm8R~? zb)WKNmUgGTit-XkPcq6@K~vDCNI)rWdRiJGA^x+JSFa1I%_b^kiChGt3~@}U>x;(+ zMp*=F{V$elbQ%^Gw1B;vhB)ZxyTC>dM^^*g89w}yS^LOLIGw#%B+Lw5YClRSQ7kja z23T@Vd+Sqp_>7QG*Icy$-0Pwty|2nhs z;&;ix1&v<8c z4zG@O1;5kgz!`%oIP(gikRu_${1Td)o{3$fUdc9HxwkF!6-l9V5>GQ7=F+NRKWX_;J>8P1XDb0Ga)>^tDh78e(a z+LgOp zu5J_k6aWyPs4y`whR4TU?QOj`ww?DHJTDIN^!OWOX_=W5t>E*cm1O}<;H%iw*w6Rb zQnP@21E3Y3)y>FWMx*NiE*{>-!GU;;*?7*h_Q8)hu_Ou&Gdr{D$|6DIi7y^CMvIMB z{n;;+U)&>4&d!>K5a1Kc%*?3DxG+Qapsfu~T>wRxRGw0;-(F`t`4W&X_bXDEfsDfs z%*QHqTO8?}oSbcJNGEMm0B4k#XiUCRCmXP5zW+%g<)B8`dHZa}O4FjmqP|$(LM*}E zxoD!SkM8a7wGQ=b64DnhUWCMulXHE2>+D!e%Xk1aH2j0V3Cy8jDA@woh;H%8r=?;7 zv#)al8j_MB<@8giDl-mG2V(8~d`qy&6|;r15>(rAJ{qj~F|IBhu2eR7M`^s(*gN={?VX!rgT%KwaM{dzH6fk>6Rv?tZYU@{h!tG^l5j6y4)TfpyE(Y7{PXH zSK6F_3^tS|<&JUB+=7OV$Usd(QnJ0YG?YJsiiyeUAs<<;a>A?08Zq~4M1X-U?#7~3 zvwYzdvYRhgB)Xx-HlVJdjU*{AEWLtVb7*g2k_&JOQr}OOpHi{0)9)t?N)Ku+q%Es1 zCKsWTQD7W zUUx~Yb*va`K}gUuC^&@nHy!5gTy<{ldeMNe5T!?bE65lC zG4M@j0$zV~fnEu#z5vez53!JSOZ@lmAv<_`pRyHmeE2RCZ1vi^k3A*<3f7aqy`E@1 zDFaDtm=y^g-l%?tnvQA$ znc~vyOeQKaRg@#q*!1F`rRpwTkH6;Dx|xkZTdB%McSuhuH0^^`&Y6e?ACgj22ZH3V z@B1hOymt3lyYlb3mbcuQsw8Mq_5cwoygTD^x@<;>)xbekea5o9j6|mUf*Cgg7!ho9 z(+PG}y9xOlpqcP(mmKoRQbxx7^X{&)(FJU6cn2;Kbw~f6UP{Akd153-^8`a{besOi zZF!!qNg_Jnzxa$NV%Z8LhzRioJWsqV|hmB_)t<>N}Pk+Z85wp!-Ied~7^nHZ*Bb{5aOCu2tN*U;!(R&sphD1>WW$MwI~UOfcdx*kbq*gdh_ zyz9kC)6!CNBy0;ol>@;5hL799rv9GNl8dcDt1&M%29NEk)c61~ul3dO zYcY%2ygz@0tM%}3i3hlF!#*{A!3{5i<+6>#WX}JS^5CO`SQ&x{Y5|^;lU{(Uk;i~oiF8{dI+7WX4NSR^RWhc! zM#-Qy)Y7+}Cd^m|4du(YGJs1b#ush9%A&Evi1OfzX2T z0gPJ4_!3lc12ZQ$acfvqmsM0WBYo)tHut{l`A+%k*GJcfX4%sjOAVc*vdP5+%iFU< zn9Y}UF%>)VD4!tnZls6P0I&Gs0_lQ0wdcI-IA0nyK7am9gdtX6Y1ufm@|+;IN*&&Q zpIt1fa`J=MFF3eKmrR?~_-(Rf?;Zic(VWVtWw{D)yyxFx+o5%T1ld*pM1H)0=BD|r zj~V3G@xP?r{@=c|HsklykVsNT-K5BYx;H2Y%_7a-0%~tTa{bkwD}i4pgUqt5z6a;& z#{>>`l31j4M#l0!Y~zrEcvW9MpD=$M&35X?#N= zD3B8v6b$eK{9JqHM*WdCQ!Q-#9o}K3@oM+mtu4)XOgb0a>6O83^6XakZvLlv zUP>DHP7db3u~GYI-ye(Kp2Atx)YTXMG^07xr7Nb4W%Wl=u*eT93LykOdV z9AA;cDxh(hX^oo`3;e7|B<5f6@t+lmiAT2N`aSV$o~TyLQ53#T9N*FOlGfC`OyG4S z(^|5=yJf8yBV)&Mj+!agP>(zd?B7r>YSWr7#vnrA;;U_BA%lLnHMnpnib*3L)L-6hL`g*W z5c32i&BeUsyuWx*uP9v3iRA#~5cqdC7BD&08tfiQD19rOIN}QO@=oA;l=AX&#Guk7 z*QH5P2Ofi3r!-^Ik-<@{=a?hoO#CakHW}RTuG{P<<~0PrauoHkL&Hj*EK*FVYI04^ z!WJN_laNsFr2b=C7t4f%6vSMw&hpz63z9svLD;t{VzW6254AiNN^Z2cxH!19^u3+D z2Amf_?%;Ye#%N77CEbQE{#lhQw`YB$89!hDjD!FSyfc#C>)ANY#K2&&bGQOT&!-NK zu)dj`=f#2q%x?8 zX3Q)Yh4i_1!B;`CH*fo`+g+-&vd(W9s6SP|LuM3Qg`C8X z@1l3kfUSDhq7cZ92NYNZqYQb^{-X&e~%z`2mHBAcSec9l(bQl@6-0dPM5XJ9~TksS`dL>T`0 z*z|n4Eifa449M`G*z#+O9c}}6ky;E9ejwYQzpt;!5D(?*yS_3p%LMtwR z^L&rZmT>Gcg|tgQcg(BNWeQh}uX7=4Qq;e(^UO{w8R>YSNEVwW*%YB&-AM%BM4JZ7 zm-Y=9<;PD^pgil2jI7-5-_BO)Mp)4 zz0y}1=@iMaUiU!;9ww+}u1+j_sVllz@_C*h$N&(U$@r95t> zhweWKrZ4L3LU+r+!8Ekj;=Rgy#X-hpG^0BrSSStFi;ZC{JQB)OyL-m{*!?A@Zjzr; zGAipE-DR0L81KR{(7g+c?(;Y9jQ%opYT$db{3;4q zRe+n0GH4R-KBhR_-IX0q6y)WLPJrNO3m&fd1<BKKlBtrWY<3fUF*NT+km=TF%#OIa6Vws;Aevxw#44ss!$U$>_7xs}CnPsH!R& z2n#TuEx?JM_&?cFh;_8L&-+Wpf4BZ8z=3+2W2&DpYxR<@htOo3r54VC{MP%Mr9~T^<~lNxi;D}p zR^R4jR4F9j3TJc_8UF`PLbRY-dwW)cF0YF_tzNWY@9r}b28cM zlBcx0I5x9964|x3ocZb|Pv7mf!wcHumD}dD$E>Dd8Up3{wsWYrMLNN{x>c?T$R~S* z4yMa_p1u~5A8aZhAt9M;>-o8wZF>G|nCU%zP3|Jbn~u@;VXyno(Z$JxJg^P;qDSUx z#6y{*ztaB9gCusPE|6U|Z!Xp=kZ4$ATJ$VSvC~+kf zeY8aJVtSR!?B#tp55K9C9b!>kB0z>GhMuM>Lm)rRy;ZEa-Tj$l1)t074^?;03|yb` zt5MH)*XqJvx`ricR(W14ld}u46#V_(I{(>=H&Kmnu3s<#s5S4Lnn4L7x3b`Fk>zDQ#3%!f{|^F2zkhtGB2 zUUU~m2%dP=nV)HmhysL2BdA($doVK8Tf#u#n9GzzH?GI-7))$Yn_I%N)R9 zZ^=faGB0j}g-iFut%}7lh?4lRs96MUpy34ZVNMUOYmSC3O zcm=^0dpXGI}Xpx1_>?E^m(J>y^7Hz2Mz<A@#T@lI ze%Qg9-u8aK!{5Ift%i>Er#dC^R*0*>xu!rcOnM1~jg7rUdvbcQSYvPG=Jo-JGXL@@ zpWW6!Pt)MaQ8A>^LSNp95%ciY%QA@b^T@)Y^$vozsfIn_74(ax+xjqAOoyjD^?Pdk zXNR*4Ey0ZBqqiKMF7xc3y3<3eLE&kMv)Ep2QQ;wSCW%S-zBzpH5iYN+kXC$m zKJQDHE>tPfMjfu}vSGcvk;d`n%^I@Z>YF=sbSntUT6z$4bn4}lI-8k!NN3x-&Ff_H zZa1LCDo;g`&e@Jar12*Eljb*$l@Tz}%%Ntk3VMzqd?+$dm`H`3h~+;6O)gHiI$WPx zR@v8CL#G_9_=`6!(`0==FPEEDH+J7?pA_Exm2GA*P_}PWBS5E+CA$AnBpTh?x{yxk zn_otx+OOSg3x^_v3_~oEy7&4isj1&s^5LaunCQF}{VA$`kaGdQWXky68x)63F4$=> zR{>5%2@4A9JuQ+2v+K?@7nYR zoE87It67_tfOiQI{?R>UYG|0}UcI;XCazT4=#?9e5)wPiyxwf|T?$HAS@_Ut(XckB zo&MaBKGD9UqN3tq*C(|L>$xiOOO;F8l~xiUc`4v~lIc14YwC3Tyjzn`2e{eLeSgYy zP-na@23+|2=x{iQVcSxc+eI*ZODVTr*MA z5+qiggaYW{`b%qKTx|qKDAK{TY~;E^(CMJ@^;*)HloVC^UH~p^cO8mSHBt#g*6amOS*AKdW7GddLVguTjo% zk7azf98P;(y^!p#pBZ;AD)$??ZSb{VI#|&1s+;vobjuN!{qQ^>Qa>#z9#8g9ud#uc zpNA*udPl0$$MNww!#+a;$roKyxg2R-SB96Db$NK2foo)2o5>of78yPR>pulOFDjfI z-boO4Wq&hwh0YoH43hJz9;(Z{XqZcG5A!;&sH|*twrss7CL?1_=g9%fx->Om?2PXS zQEHnK?PwGy6&>!85GOj%m+tPCrHjjUyyYESnwXnTkh|Ry5;HN`0&Z(+G~T~%Ey-L$ z&oihe7*1AAO|;gsr@IL??CFak>-Q3IYG|aXw|7$8TBG(>Vq;@lR@L&30XcjOCLjIv zE0di5(p6DfI*dIpJzYDi%Tup{vgg;YL&27D>}iLG_r5=Y3n#@2*>VY9@EOfzp%$jO zDrpKK4&!x^!-J`*DchB{^WW16Or=vh$18JdQmqofm&2Ye1N2N%Z^nr&z?#!_jvG@t z$vfe_)U)>)x(-8W;dN6}F(^v*VZn_vYUvpnZqJA`f22f_=9cKs?!*Y4bzH%U%%lJ@ zk3tG<(*}RjtOmzBgE1<#Awd)POR!IRQ-#{8`UR0p`g*^iB8j=A{+6aoVLF5(HBkNr~_JwAdpw=73~ z4KQm`7fy~Fo2lnPnloj;Bjs+~j&6}d=xCbX^Bn9M^Vd3(Q3SNdKtT8823^3&Z42b# zNT@i19*@bIiRI-E`Tg01KE={AyUw<@8%+bRpMrv(hs((}h&nnfm0PH42{svfqPN91 z!~%y>Xk?&tb6^jMF%N~kLc>j)ngGrvb!&J2^XW`(Zf-XZVq<5=%-opM;VRU}TPCJ9 zPwCGWyYcKL+9GcOwv*!{p`2;;?fxcezu6Y>C?93TrWaag z23}ChMam++MN#sP!J!Wo- zW)3&3<)wy`gZ61TMy&DHHjALwh4PnOgB06y#EBg@mNs7m6>1e^q2p!^Pw|HXDF?)EYwjc2X_o=|>*{pOZCB zhKPpxMu+#6h1sn;V;jP(%aKxY#Zxp}RfcWjX(j7l-|tJpQ>VzUr`wy&eDk%vu=7sBVCse~;L;~ihLn?oy+jNoyUU4!PvRMb zUU1&cC1|$D4oqau<+MsrFO(#5hcw&##8%u})=>W8-NB1ra=GIE>QxFAAyErzNF~4H zLG$z+acLNK)j?yU?3`gD%ADO*z^pGox*;PY1OJ#JB<7VCe7`y=8+o$86Q`Am_-QC^YxtIR0>$>0U`~K|b#q;dF=jCt?bIuv-{H@W{o%}NRZfnE-&ytBrfC_co=8ca;(crvaA zXWbR+-rbKmVaU~+3}-%)#72|Z0CG`Mr`4gn`{N9_3GpgJ(_46U+$rjUtb@?(R>k}LDq1)*vk+KsVO1> zLX>@4p=@1>mXe)u87K!k1qB=Z`K|Yh7cj-dSj9Sr5Z>G{QXghQB(uIU21ZWu?D**L zU+TvNh+o;mwS+R79cf_7dxU6wunR+;Gf*lLa8rwYjVkukz1+8}aL??k%gq(eHhvZM zD%^Kxq+feKF`%ZVW>kTuGBI)24tBeAb-K0B<3cW(;Lmc&@5}&~wt0s1`3t7Ol5CWp zD0H_ps;NKz`S09iIZhGv`(3&ls`=6=N~X!ILZQY$e>K>-b8T%cqBlLn`W}?~Lbp|C zoxdr(1qDgS$hutU3O^`!ks06DIri|>>^_}cDpGlmsd{)yUp;wo+ik8Szx6zHSbW*o zAnT5r+P8xOf`TL~BNyuG=;gJs9z)>Hx5g{0Ry6H~5{Q9NK|O;8IbM9O@iRvCwZ~W3 zjo#E)!LEcqYHq3keUxHt7)@|8YG`L-VWR_q#>KG?pRpX=st;HcZE`*{u0?P-SOC_w zFKy2OFs2(BxDbOG&?u>?tWc-VE-$U7?Dz|dXlexy?ru=uN&05IPG60?R#%^=qS8|+ zp`)g*b9msrh&&f!8cs_p442$en47`d}BM z{*Lk)Q9NlSp00pOdGr&n^s<=Em2_nI&sdaIb9K;rCbo*3xO!cVt+@=Lw&#+`9J0l< zvw#V(|7dz~aZ#e=z*pa&{e$*I@lBA+bd_BKD*3B55m&!-nEc|pR*mc`RiuC+{I4Y_lCtnJS29s zLWTFSLh_CDm{?g>r3XFx?T7ajxn+qq(|fh6vds8&#qNS+H64$mG}b~yz3IoZI^FM2$q|R}M{6y297yJMd)4PQ z?1%RwL(%IiZfI!TYHC>X!pFPb*aI{RT|$*j^hx!RxJJgx_Vly22Tca~dU{4mR_~xh zJt5DL^VY{S{S>I|n1-Jt(ZkZF`TQ6o)e7ROWIKYHa|Sf$R~PnX_GcSatho1hvJkn% z?MiL1>2GVSv$6!YgcxlHiKt4lsFaLWgL4aokI9rj+ISr9!Td#MAV;UGK1N(0Wj|)j zj>&$cQC%Os9pm6=D|b6D9PTcU2|+a@po(^FjwI+4?~|dSsc3R|*Zhg};90DrNKxWI7M$cC_z4*i74Y$)Yo!_>)E(ScK%WEI26)^|~f+oZ*onEX~+b{CCd*016Ew)=|Tp?`(d-ojeU|! zYHdM}0ZM9kWMphi%q6R-$sO3=k5y{u&2om2+;;JMYhtg5D>0qQfQ`A zMa)m6?`HWlnup8j<0hIrA|vI15T5*Zu>2IK@a>m{yQ1+B1O%VCdb^e6;@d5ueLUfZ z*A*`;mTuv9WAEK=_92c$9JMvioHjeP@{we;SF^_^MsPo9KH@Q?D>XWSgmWP-eLTL$ zXX;)#@~Nb+M_a>RNHxaUSPN*Lb~?>Lk9k*8&{Z}(ab?n;`?yH7dbo_NI}nFjCMhU_ z)QZ%uFP~xvElSORq@Lh_G3w^pWzFwJKI~mKHX(vkz`#<_rpn?M`AB`ONfoMf(c4B@ zY$^p-8{{xKm5raG;&f>Uj0@vimYRcXoE*Bzoz!DB~idJ*}DV5g`#^fR}} z@Wcipn(=@40uo6CvlRHHr4_1oH~lpIN(dg!Z_e3Q_{{d16&BT!p6jeEQ>(w)=%1_a z63OyS8%}XB9zfaHSSwPjJT8H;dHcpJ%$V!zS6N^A163RIA+hrVwbzO7`MNnPKjX?} zM$T9@11&YD?Sdx(O12L^K8{^QwUM4#w|czH&lMOX^FnPQ6__(NS4ZVb_C+RJhIfO? z$)vmV>Ycz8THKZ;Bb<8bXhddN-gijktQt+s5JN3L6?mo``zu ztzOu9EuwFuRsI{lkO{tzjrk$f-dWG#WL|{4+@NO~ud_>dINzsJkja1w7Ozm<2S+T@58yXs_ zSz+c2Y5@K2(E3^r{;5010{_$siXp*{HRw$l9H*g~UDYR2TwLs!aWmz5AlPY9ckyu# zRleYX@&%|AM~Y`k-i%m!GMtFVgSN`MU(&H%otQx9N$a7!!rusBO}W+7DhAz z20WmOQi`1zKQ46SfY0dg3jQ_X$ViJNdzpovj=T{OZT0)pK5~8C?ffV#DD|CV6egw% zyG8HU(PH&_UTwv#O1z??!gUzrU_)cvGA^`fR`TIOq_#kSLy8h( zUCv7Pz~$G(KnTHbwZ-;mg~meDo|>8<$L%~udyF+#rM37^y&c4xk&$x|Q%h{e`h6WE0kG2nc zZ*66+(S_Z9GAk+|J6gW&1kT8S*&(PNblpn7qi#Gq1ZoLu75_$;Gfvl2L)TlA4fhvM zzk$VZD@j7$=xq$yN1>;n`R}>6zI&8Hi&!rjjF4_qp>!H##ZgXG?8GN8}Gi_`^7j^$<ECqKA`=}|?dgwq z=aV?u=wX=M12+!!6`K)~*Y-oMcEvb-hncNoCYvkx)7iDF?~q*Y8PI*FahK%#S<&$D zPWhGx!%+5S9_}{UrwC!QMJCmG5fl$i<~(GHq7)5|S4`{x9#J!1q!MHD-mQD|!G159 z+bZ0ru3=WJFFQ;kWPeVO43TaimNTkx0^K+HO9GR(i}THyN%i*5*38s&8LC9kamwVc z-@Y|VzdRAn4kivNFDidrtrwKks2&Tf>YnBf-QApRB&*lh zio`3a)w}aB7uY(4S5=MYuhGcKsdE`tsny$qKG<@ydYv@~!v!3NZX`FDkzbBw5k*Et z#oQlyX1DH<7%?A3)IOA#)6A*G#>6-*uTmjAGX66LBh2){J%OwBl;0dU`1u&F8z7Aw zpE^;t0?7%27M>v?SS{Zq`v*=nTQ&yf=*@YxFWPKd(-s4 zYA^2*ob#p1E_*50&TO4$?o^J0m0=H53cnqi4$lGRZ z&7xK2rml6>lmD_`wQ~X4QE|3v%U&nEhh&{*&xl1biD-+t%6yBNdo=cz0Eb{ z`K2N@Zh%>NhlbO>7=&SrPGu%G#BkzUcfzS<9EbkR*$qs+Mrmij1M>~`K-L1d)b1U2 z0A4S$cb9^A>B7}Bmvef!Y!$(eo0qI>BqRm$?Ah~RF;jh`;jy9UBEtUNArI}_QjO|& zQL`-83rQWnXIKm@lKCyF9d(=C=>j10gO{1|6WLq z@58Oh%GC?(cN&du8~r~Y46o@qDZmdnr)k#qvK+qnD1{gs5ZYr zi@D%UZBbFt+}vE=urM6Ps|3y{wO16>oZH7yG{e0>5bpADf5&VPseT;!`gj3$e>K^+ zw^g14mcWXXtE`R2{JFyY{e6W(2n~3NDuODVdZJTcw_$FgjQ0zDD)ef#uL%gU3kqgx zbqrqk6_gTiIMeQbUZsb zT@dnWzDSskd?L0lS6Gr$?b;R2b8|7Ite%)6=|bmnMq5841;x(rxlo2f_EJljgq|4d zT5o@Iqe$@;gmR(kcl7ysCMJ{_75U{I`Q&Bfo@2%(YMbPC=)YUWMkl=6R;|RJIH)dT z%EIX2%`#;!_I$z9-N(j4?6gxk%=I%&6Kx03ubaM>?7wyF(6)pBo}dD|SC(?;1H zb{=;Jy|_r>JZxhL3Qx%K!@v}Bu*?=}^G=)W&E^;IfE}eV!@l6QC7o;;n+T!;;OL!| z2AGeQwTUTL<*pXTR!D{+v4$5QVHKUbUzzQ-L+&*h9)mKQfW?xChq~W`ZD)-bnTafA z^&Ec&yEkEAe1sDHkFJ_vEnZJw|Gw1JNMa!P<}PGm;`Wr;A!HG&FJUBO`AMN#^B12r z{$R6=&!@Q`lIN}Z7@DPqbuw*sTdfcgefyI{5AJj{HGirX6|0uFeEUW?Q795!^XkNR z3D`>zQ3x^{-|fmmp<_!QedSF*t0*9b;AuZfm7g~gGAW&N9a)z^LD{J_p8t9ew<-NY z$=bR*noebE>9hwvMGk)iRVkS|){XP!a8c(XNTI-&(#=eTgh)TTPOGfW{9TQkG zx4}2-`TKm{uE6*;(!A{bb%?(Ulr`0x`+CskW{3D>zbBQ!o}erDdfM|ry&gM)`UZI! zRYl!={}@V>SB8-yHO^(Ive2=yHf^`lpVBO~C0BuRd0l@%Qo!32;BJ#UY`0m8XEr@w z>*DY$U2sfQ%Nt2!fkAQc=9o%n6|by=m8d$nTHLl-*o{BUog6*wg6$DZ6^~s8)0^gn3Pv^h zK2C!WGz-Ip@0}dCfdZm=e~rCLXXo5rUez|U?U|q0w9U;>S4Y%r%m^2W^DZG*yR9X` ze3f@ztJ^J7T)ImWKjMDf!dcXm;F5`d)o(Vnrn{dIUG0r=wWQtL&i2MgAg*~RzA08g zJvr{t*h#lffm3qX?*90&D0yxBgK>1loMzy;pCn$h)x_j^KVfZ^t_7PS=S<7D9AfF6 ze)W^!T-}q4D#^uINR{N)ta+%IY?Q(Ub0*pIK#@tuaH6a{K}EbJGRV8;FG{%S%4mEeOV-@|=4HW>|CK%+(zXtA=v zV6e~qgZoRs2(dLvC99g46ciX(bHq_w>##r1;drR2JDPBz4)uS1IXl3MKUnerTtq*7 zk4leEjt4Xv95*+YL`!(DquFk2iAlH{BoF3+zi9R-QO>Kuc8h7PPI=V5P5Y>M=HBh{ za4D47bEev?Bj&Q4Px^2UElw6Q82OvrCiI+(}DS%!vQQ&C+C#o&`G zBhx`KZPe)8kk7!<$JfbA|Gd0m2gb3n^xO<`xnMCdR7qixzWj*@gn}G;jQB01w?@X9 zdTUSH$%LH*bm({yvsYIKmY??PERQfze`#@(%I_8>J`!2->%u&!R}L#nPtQuO`Vp+J ztRL*4D{js+Kl;P{uPHUCkTX6xS=|IXMl6Owp&@w{xB?*8o22%at6Q=O)uwqLI0WI@ zMEpNdgZ^g4gcR-B-2y~2KR-Xn6bDF>T01(VQ6k4!6}CpkCq~#A837X`8^3Odkx@JD z{+N*0GPGW3`RlJN1GZsy69bb1S~-C2&0vq};u@|8)K1`18KgkRCB(+ZgdR zHQvZIWK(wac3)fd4SYb$pRj8BcQ4=%Kx^^$d9s=w#-sW050I2_bwfo%Rx=q{nRU9@ zgT1|fK;nqV9%y{~US3|V=WW-@K6?PI!o_1kA_{5M zK3XCb`jX6RW@K)zXQZcP6qXW`5(?IFu1>yxw?tU&%Kf49hcFbX08#{wX&BfiAVjIz z)i{6I*r*8qd(sAsDLpLB5Bjl_ub+01S?XjvSUmiMv~rQe=P?jgnvkI#qR!jI;7!eS zssG&2aJmn_k~(y3NS45lSBW>y2dc8=ex4)Iu3l|pZ++J8N~jo3`9i;{g!q8&ws%q( ze@8nTmj$=xc3{4g(^xEjPe@|P83o)U>o5GdhQqzHHGW2-j@pwEgS)Gu_X5Y5PovGu zY>Q4YBjLNWM2JJaS&x)Y#e7oE4|3t);aZaprO3|V<}DF0gmMT`oUrTU0BWMjCq ztUf}`SpVFP0n)trp-TZsy4oF#WzEAO0}F;)M&nt2bT=%VRA9Vtqu_C=-V= zJj2r~eyNK=^-ckGf=B9V5n5X}*0A5(8Hpoe zi@B-UPj>V9rgNQO8QOG=_1DECh(7T)m)Q04&rN~jGdqO8CD1stxzCm0clUt0%<$8E z&fU(7G08A09D{WYVtrJ5>VJE?>zWX3@2L>XVy5-0iFy=+b!$O2l}IzCieTYaQ-V&R z#!J%50YqCBcB2~qaFU{lb9c6^govco0?zGx+4?HxLAeQeOe<8J16_0Obh8)dMg!|8 zzD@D-)!sU_=Y4eI_la!A^Mmuis8jJkq3wvH%N@VTjh}T|nK^OHJc7-NULn z7c5ufvYPz%%B{U{p}(&=Ub1jjED0ZXuj$P2L9JR;Ww=?e@>;xGqM)Gox-XRgz|>#T zO-Z|5O^G?nmCKDaXA+^g&X%u~m*yhg{|a9zxNg-w>wEI`){u8pP*CiwcUWgRk=uEC zYlR?b*IU4 zYS&ldS$gfFcBR#EgL!9}LG>D++X0}Yxe$-Xu+>6kWrXQnLJ@}*2OU@aYz1T9Ru4*w zj&F{w-JLdHb%3N>cV*6O&Bh4T!<;)tRAe_mB)Al(Jq6B|^t+4M4m;c08>ZaZXwJ0P ze5H7x!zUQN4+(z_GCbV=Q%Xpl~sMc=y5eZfeKl$I;rn)%_qZn@^p_J}+BiLP7X9 z&AB)emSI)NgeOq}L4u#Z?5EujfaX?CZfa3}o%Qa|svz2r=;02tj+Xr^@Uk>O@$+VN zwpU7aj*jwFnop62W~9V{uwXrh$Ss~rMkxv**qwQ07X9GNAOPF?Q$1FOYLXf9Sp%t# z{hX`qo;Sk5`(1BNqA;{KjOR@?HsDuT9ik%pIz418*0y9vy4f=rO)xA zV3gU}Hgs95B}_o*3iFlBwsWxiQB`v|nvnNAWU-V1!4{JWz*r9OUq#Sh&Ai$Cqs4c9 zgwsu&v1-M)39BY3!D9|(+a&84N$zac4?gz`jB7Y*hS4vi4PK7@BnU@#k9%Jc6tvb& zimh)pB}uG17x_vKTLv5H;m)x^SZOIhO$eLdgN|A1%|+l427KP#w$;Zv&gmi!C!_WC zMnB+fHV9!J8wyV(UW@w@9E3&49T62#Krc6r_B<}!ldifKX9F7_;@Af{xk$#F`Q<(Q zBq(JvD@aQE$G~=TZq?OZDgilXym+76Y{ANCaj{DAd{To|wT9g61YG^d3?rG4m;9M5 zT6JnE{LPo4pZ*yeAv~v<9z(_bV90R0^ysKT<|=7C)L?f1zN#evS(&k|YwI z6w^W8n?D~Qs*7>XIjsU~TIt+g!EUc`cstll#YX40)HD*AO}RJ()-6y3$ONx1LZ}Ei z;@{HE!mdw}e1j@Rg{n;Q$mOW79tq|P=$%Wze_M89B0FQp*&MAI3je*ae+?h9wJCnU zb(hlkFk@euRD`*=^rgEux&BO3Mt?n-D`Y&mNg#rfhI%uvV9eH|HpO8pto-8E^WX|$ zh$%-`&*b|jF~~M-v8iK`HKD}i>W0>G$e4h`l5g32-kkj{q5zBm)2fBPdCP+ zuVhjfhHs3rKSi!p_j;Y)Cc5I=;F|{qN2wQD*t*M`*BX%~du=K2SV^Akz2xfMjK_$7 zvxfO=)GNu4pRd=1ixW-<9mtToS$F1UJ?^>7LPSwB30H?lX}II%(bp(U#}$8WIQe`6 z^zp-c6Ga1&JG(7;7nhwZ!ZV!!9ol?+p2HXSce{2t=K;ZeG-$F#TLUlH+u++ailjw~ zRM6`~#?5pJTo(>_(x_g`aOBGB;If7tPt=EO1O$X+-I}`0MvC;4<_Tcp(_}`+_G|S&%u+e>N6{ z9^;LnL|z&R%b-+7i+*#;J-x$bb|fWh5s!^`5&gBs_YBkD2rc>U{sw7n1xuNMz1T}_ z*mF)euiFUPnVW19kT)y{TrMMhj7<16WX)_{42mnV(x^qdJM*_6b>`30aHrMG*4@wA zE#xXXOX-cZwci$Yytr5_o#nQ&bbXC11?TKXMU`G-2P{k%FG?*2^gZ z(m$uWV+}MWLQo08$0@uXmlc8f>+KcqSsog0zx|ATT5`Bqt)yw6kF6ywvK6<*QM;?1 z<5zxjSL5d%6IjXWN}>aeiYh#_Ll>nFJvliN%b82YhLJK_>2oTR&Q!T7rr9Guk_t{2 z_G4Jw&}+m>KQ2Fx9QB%&O^biePMWh^Q5(n6ov+td=Q>Qo!6H2)pzvFmhK}4jEI!(w zlIN!KYDBguy!cy#%VWhD1kf?_5 z+}+e8Mdu*T0cWz<#Dotx#E~bUt`N?3ag3E^)nh7d8$?LT7`Bt_%|w zz}%kpJf6c%!0~A%V`Ca^KERgilVeiSe4O&2)JzZhZ0r7QzpUBFR77F1y+V~R70zzZ`RA1+(2;KZuy3e(GKdloXt zl~8haTh+W%(H{fjCB0Lcx@SC+N2m+ep*^!Rgy`4m6I#q`9O1RB_7*;vL*%ik8QzQ= zbOf1Hpa;2ZE%IFKavy>55`yxKXYD-jF~|!M@T?Ek20EmJjba#A4R#iIQgIcjrH<>+JB(Rz z|Jd|!Z>l6oU2AGLURAQbenpLAnHBX{(!lJ6&RKbXGi+wAt3Xk&zfKNQYdCAa2uFa@ zdix{w%deZ>NvKGS4fSq{2p^4gQRNm;#Uy{1+0WI)YCQAFBgA((wLKq)!#If!!pY4d zS#|IAf7LktLcFimNgBRVqlcWC{UAewo761md}!ay=AHH(1DhW z^axqPr(T6`A)~)qLy?41&UTCqG6&QukLzL}eTO+Z*g=)7&X2;2F2z58P# zf=Yh#n*&=J`scfRE3hP%+X9a{uvT?(_s!;{jr?^E>9A?t361 zT{2TKjpg<4R^7eKcSkaBiCwM8?CrI$lHZN9=pf|DLQ(-UKO7S2hiD0M2P21NtEn%l z{<;u?`VWmlHw=jOIf-X00w=+M^nh8S` zTrvGpe1$G7#=O`>ZO5PnXPZ)1%G37JnAE^pGZeF9YQ{U5Ramu!N${~!{v1#6OA+>^ z;3t--q%G3)1$2DYsMX%x(pFtP!8WkM7Guf=Gd!@jA0IUp-dQJ|sr;~}-qQpB_-n(_ zhuhAEsHl;zSk#>P`bCA##Z>>{1xyE;Jgg4>7Op?Y0v63`D@m)e#=)TjbRnJmUURLA_zO06CEdtX;`dKAnI}*x*^M^>e zjvIV0+{~_5x_G)9oj03=MCH$C=aYJZE`kDi_Rg1Y(s-^g&qp2u+FCC0yirg~SNKPR z5LZ@DH_;oS<{6jep8L6G+*xKiu8kJ-0}WAn`j#v0jj*T;#QiH%f1s$eklS5`GcZEw zdK*{HcA&xQytw6LD+b(TZN5(d}G6L%f|AFsKKVgT!LtD8)ERib9C5p%~0WN1DImn*b5K* z){q#$#2(bRhjuW?o1QOFM3ALaDIEr^%3AUNy0)1Z|AOPb=^<46oL#-aY5QiX0`bJK z>#P?vryAS;kd}3S&31?7=_uz@8!1ge)zAf{`T3zre)VZjgamU{rKDmLQZ&rDqekT- zBdL>lk3Me;5Rbw2sM$$Cb5#`;<&I=bWrpRUX2x2!GZdk2qBM)Ss}*(z-R512W0Jqp z=PHnpo^TllXi;5HWJN*~y!@j{-a5TI%b##SQ7Hg`El*t9qkd@XDJ5I?0NveJQG6Ilr+2Zf)ovGc>XMvjQ2$U6J(A zFp^?jPhJ{|>f!T>gK{jRP^vsadAvBKwtC^Nq0z&OJi;W$(_R{q?zZXl%AmGD*trN> zXTJSCMtF~R9J~G-V~sI*>GJt~12BCsiZm(sjhft=or!E|9v_-~^?@kRh4oHCAuHp6 zk+Ja@9#~G9D%CW*01WS5cT5H6=~vVN+z}$GCQL1JI)|T)Ln`+?pi$>U^cO#!nwK@e zXXZ^o4mm^xBAy;xheyiubH(OSkimJ+=adBTD%6<$#u1Ce4;j@ zvbY}}0=T-@{~_c31q(`IwxG_G4|a-LkRQzh3JK@V(YN}8zY$T7SQP(PGe<821OH|c z{kK49MOB51G5Ao#|9f7vmby9$+@ne|Jyd|vbNnxcU}q^}7cJVlz5(NZi<;K@VvqCR zee^h;>FwJ*fQrUD!{3tpB?S0^`2RupWgZv~hbj@hd%NWawonbaMga$C?>{7DqM0Vr zKgXR(Mp5b~$kmAweECQi5V@!d$m@l{@icz?Z=9iLynO|GxSn@t=DW7_wKZV*#@}Wb zHHpRfg9Lo_pYJoC7|N$u;S&yjO=6WJ{m4j4GVQ))6bZnbBmaXUbW8}AM^++W>Q3K= zshd{`3wm~}fS(S(J^b8i$*H!o!S^NDp5?!`?*ZFSAqvP4^$&FQOUcN;dWHdP%3r(h zEEclBPUioI1nD8psSMqI2RON0E=(g4R_X8g1hb+-v5B_sm!#E?WqPq9cak^i+_CgAr(hlP>! z_vmc@fz#VbsIl6a{p*j$^rSo-JRp{o`3V^ru`D8BPuiY}f1)-9lc_(iQUCBVVM@8a zo*pV%TFq^~q^AO8WMRcketdwE{&$P7)kJ8Nxw*M(YwK7T-`|2XgEDy;T$UESKiF9C z(*3rK=}qge99Y=Ji)L(uOM?6-^aA9-q5bP!uuNgHO-)V3{P%6ZGsdW-v}9x=>)}&$ z^?j}?`#1UHQL4GrV)|rTXD}_CmfFJbzcOU|yV&f(4f=-`??&+V^Qm8?che8sI=}xR z#OMDFDFZQO9lCFt0KGlRi{xLwdpq{!@0cf~q)13LHUGpO@FhiPU50BBMNSp|vm>e0 zOfNN<5?+~qM*aH+K=Hq6k{bWJ_VVceWWq1+iTm*2xDF0A5cd&;bTpWV`uqQLdiciX zdyvxd>>@l?nm<%HDTxZ$Ld}3Tf1*f10B?UzX-i-VO1;H4@?|eO)vorO8`sTYI$1hRUX-SxUhOv;-(CqZqj)W6p)N2wX695yK z;avCHdXma+0mico9c@bF;nMK%aN%5WIEFjdDJ8d)HFkw!HMi?tW}b`>e962vK2M0@ zJ0TDAxrLc5I@`9*k6@Ynf3Ehg2nA_~V5ms4=Me%aavu{@ge0M3l?cHP(+_RGb1oP} znVkSRXk=r6#?7cZQ{?gE$3Kp&#>53{zn7t5F7MCQCoo`@mpETJg0z{DugS^gzz#YU z26uy6T3w#d>?p0RO~SR_B|Fet*ekhldr)4|ocbgQNM?r*$nJpmo)n7w=5~5>i`91+bDRNf*(ou{@XZ_w2F*sNP z#0eS2ih6Ss94xK)4olvjUX=s58;tED0?^p-Ijy~3lm9a~Awz#7dkJ8k{fcPn6Bpw= zyg-fT^l=k{4I7NA@@g!B{HqrlNmUo00qHA=&58OZwFR5KDfjzSold=n#~+HN0>n2H zFk}=Y6=HD9ZI_lc6drCb2yy$w#eW_ zPmW1}JrJ+43juJceM4Q{XPILay;5KE5Pzf>Gc^_2TGy?vt_^^~X~NQ7d9yYfD4HWwIXo}NrqtPxTl zL9buK=Ky6*0?*0HY~r@Qp`I51gUnPA?#bjF9Y9C&63^dcNm`4jz5_u<+1dJQ*{tl0 zbWT+H`Eg>kFW25|?#Pn8Cm~4}nlP91$Rts(uQCH*%})%19iLPb6+!A;86Fg0ZKfiF zFhbOO#@K=_3&Polh22^==Tll*O3M>VgTK4E2scIqmnKZc&ULbVROG~=#6U}~ z|8HHuY-eQao9uPk-rjO`__W>G#Gk3D*2wm|^LhY}mzSqxMXiG#0d(uiO3H;m*M__B z{o4p&4Qsd_U-^yXs5`nCs0x{ONaGx{j~?KSR-^w( zPC86m&dW1mEYmdA@8NrHXLq(+NNdH9%%rH68m^}l<>bw$(z8}$zyAE`)%sK=;j`1#mDZBht}vXN z+aE$G1p$jV!`9Z;5TB^1v6Lkd>q<83;7IikAo2Ou(vsWRnH#$a>Y#lnyvNV^{&@iK zrs9}dSb)&+1i9ovd*p|trNISS!3|>JENvVZC}}k{tj(vWnV6W^c#Fe=f|`<>R@3WT zYBmDeK=s998gAm-+4+4l_Kp4C&!7!Q?xRI{n(MmjD*GyuwD+JMC!!2B$;i*2?#-i` z2v-XO;cK)sT=ns9;}hbir#N(VGXZXppUy~}wIGTdB}k&LS6fF%!_f&73-eFaD&q+J zn?6465BdWD#?gZvQ~VVbkN1;DDG2DLi)YuUu(h(bW(u;kw#DJlev12Siws}^{QN}X zapFnBHUS`S#(rP(Btb`~!$>y!bH}F>CvG^n-++aBSGmPtzh-Q1%;s>e>c%s7*eQ%} zW`>D5l-%fIG1vIJX)Dq%0%YZ4+ptDQZ-8_`E}Q$^G*aKG7~uA|ULMVx#GRmIsjINg z-g{)ndKNqR#(ArD;swwmef0@Z;d*xI>gEPFU?6Fn+}B&mXVMGmUPECzW$e_ zee6XGUBgeL6U7g7+)U~DW8J4+vNM%t*soukn(5%bdR42x$589!1kTFOgoX~^!22Io za78#hL2|Ot1TLF%Ns|d-`71?+h6eWAGYaHMMHSfDR7|;k@2$a({(08!?k;=)HX|9$ zE^C3i@o?)FP*Hb_ifXuCJAs7k{1o{gH+ldP&7m{>GXLi4`U!Fn{C|NhHDB6WiDo^BrsK_sMfGpd6CBuK#|GMWC-|#^Lyr=$tC#zJQ4GgX2v99w?3dyjrXo+S)pD z4D>g*H-{}jATgksvOm;ENqDYyR~DG>o6q+4IBjj*92JHbg%4M+gEWgntyDD+01pE7 z_*lhTZo|Ra7aNl-!k~Vvx~-oA*rlLKWLbdw>KY$st8fVSVK=`H;ChyoK0Ax&%u-do zapb5prSu~D_UoTSKpE!{8n1E#x5NY$XYSsV1h(wV%=ct|`vBJn!p{%gw`BV&fDPQ0 zccDr;V?$m2RF0p2akdOI$Y{PIF5W-C+Tlo8Oe`RD5KXyU^vmYj3bScvsOW~%;@~fk z_UX#)wr&9{1W&icJBnI+DX6s5{@FKt1`H%@hD#6pFJfYMDJZ(LCaO1uSS#XCPkDkn4l`n;bK_!wIupX)%4lI?QDJ4hJ1ujI^Ao902jH(TAxaT+9W-P9UA;uF+}am@pb-g!_V}unWR^ z`}c$Fl+@J9M=RZ6fU|e?P;|Xe-@00rOUQtoSlhfnLi$AV3R#w^;zyPJ#UV)3!Jwv! znfalZ=g+L`A7b!axzte_lnT?8X4TqT{xApA3`|w1O^w?@{|NSg>P#J&W&BW?D5jAw z3G@#J&;LjBt2`)PAq0?OM-*a{30S>6od(Bx#t;}oqu2}&w&Nor@UgJ^dHcG%ukG(I z)}|XyPw<%>zei%Guc&xb;EFeDCpil&E&~Jr)>` z&eNGVIqNW(B4lOr<*UKP)zF4&m@Ok~o zdblb~V5_Z+ppajbm|p=APllby6y#(g```My`|k~QqCvXs>QPVss_ZNOUWq;yR+e~n zi=ldh61tfxc^K6EAci+&jsSMjrf`Fbe|T~+F*f#=(Y7W&{yJ<$s36XNyp=AV&1}4o z1KfgyUYVJhCo%Mac#OxtGJK~v+7L7UuwK(Fk#n&Wq!deC4)!qvV)~L9cb21iPTz1D zvor$yDr0;i6)*97Z+nJdTxRo$VxVRTR%M=zpBr8RCi6+$ zcHitvtaX4bvCO$Ge{@u?`O(7yySd}_?pDIQhkm`@;ZOdRj^GigiOzu@m-RF4E`PnT zlvsWjS9XhsiyX{?KO#b@L=J~4la1n!h^QQvmuNhgfOsmfq<*(NQxYB#0Sq$H#mc-+ zEty#XSTCMFInRnPkhJM@ztOpS;7u-fJ(9t3-@36LiSC;fi|Rj&v1{&2WHak(X#?RN z6AKm#zwV%P>f)-qB|ESLHY3r6c{hN@lM`;R+W=u?K#-IiACE=)qFukL*H=tJf{upy z#l;o;qp$2TApTHJCS7zc9tzo?Y%G|)7u6#po3`tm>%0%j<$)L2Z*AEIdg0ae)iQ@E z@Cj5E+fR>3U;OPS+kI28hD-OqXoCmDP?s_!uY)7v3~(PHzfC6sPjuJ+)uuDrvwvD( zs~G>2jx`@3N)fqKz%`lL572f6-#`6%P}MK)5dLI&2V!5?Dp3DKsDexOqxZ+p|4;rS zlE=T=Utj)rBTfISHgs$!5BjIzeH04G{XZY}`ad4xe;<%}@sEPKscG3o+3DmMNSK(H zuDozeP({Vq2!{U7E|LCDf3Y6no^JhZf`Q4*SKvYeFDZC*d^#F8d^6Uu)7`|}OgWs0 zWHmx1L6p3JPhi0Z=l%GQXn*HRKS_U4QLXLQ|2orh!TH~Uvp;wHBSpf!da@Ij7mU@` z;#Ki7r8Bm!01Ih!%rd{%ecC-T(qwjDOju%J>YGw2HDvp22_uX;zh)6!)?Vb zUN*|V!gKkY#u1$RXeHc8b=)Z;f1wdH(BqH35tH3m>PjQuB7M?Av zq+%^D|3y{(-ee;RDKALIDxq*TbM}@6+(_V7A}>6(OAkZ9Ed^)nI#}1yMj#Ge;3nEe z!p!$Qw|eOXL5h$`?U5P6zLY#G{W7D+KFphYt~+@3=#rikjy%=-dP)MC>DO28h|jMy8PY z+N&JyYe#>7CT1O!l()jQQ7)BvdvCCFI2yuh6mL@%{E=iwev>Q{%sZXC@N3am8W}OS zSBh9As0_H+>ebwmNAXE8P z0So7wat1rg(yjSXt+SyM7Vbi`9=0G_vW4XioegH2lS!xGz0qvHIIAYb-B)<-mreCG zse@C~u9*epx;HZnaP-_q>D7Z!g|*M^+1VB!9E##mKZ$NlahytYQKNP5;@N~$Xa5&* zZy6Ow&~=T*h)jY62?Tey;10nh*Z{#HID-ba!GZ+{?(S|u2cHCjyEC}EyYqGA`R=`I zz3Z;$$Cds^6FSvhr>c(Zvv*FDF{CWDske{*&xU0BscKBwY;;ab-c6cQ)pbxv#qxtg z)l)7`*@3Q%injc-eu?H=XN!*U9T@;^>MEsL!o>n9DBQWSFAS`SmH4bCV}49F54A`y z=;zp;uIRdBG8vQvaEN9%J-=Qb`^Q*O(LKNL?8ApyoDe?@J16A>&`AsMfjq^nsO0+r z41Xn7$8VJ(NPe7-wMkL8g*GCxRWeaua+eyID^Hzy= zhWRKd*j2TdVe)Y)X&)593Y{3(3V0yr6Gx!+h%GsZ$$0(?n2|H8cV=cw5RFERB4_+0 zsnEZd)|VS`_?E`IP=kYyP*({q20jtNEihUU_A6eB#0rz3Q52b{VF!rQ%yFyfX$wYj zL#qqhkTmkz99O3SpIoiK{9vAlZgCYYXyEXvh4~Tdi$`7qr`$bW+`qi;Sz}7N{ zQW-d1Q^qPWux8rtn^Vkuc8ZpHsxKWs?^FF;oO?aAgHyQXJ`TUWVpXNPc8T#!WQJbN zH@pPB>}e8Bd(2R|f>T&WPr%Pi$!&QS+k|krWNV-Mbub}ChX3Ie&@K$d&-oxDI16C@ z&!La&3ig^`&Dd{#WDp478shw2=zBz>q(u(R&Yk_5`88CJjstBA2d1~JO(AG;sF-Cz zJj!g(Sg`PpMloy>BAX~%VR4S-2P5r%+D3JM2qxV_($dl7w0@1JAeiaJULjtP4)J-QyLiq(v^NxIWiB;cctQOmlxi5f*lX={D&qoIA=TEeG zofaQucsKv--DFMVX7B0jt%aU~&Ryj2Ip535&i0Ou&dn|6?Drt!aRRy<*>12sggQV- zxL@beP|I4ZRlfv?_y9>_CP=ZdzQxkyB#_O9w(8;mie`Y%4|v5AzCobjdAEb(hqK-M zC6s8ka(qYlGxaVoO2^eB)K$(YoYbML<*FGf$dR{BgsA2t`k%LrwTSud2JOJu6VE(;0vJ5!vN%~rS63&9K4+eM9Gr2+ z*+A&~;0VN6kH^gpf=lk9SS~VQp+6_5LL|w)!HZ72#mYk3Gc89hDoD@RhxKmiDMP#} z722>+{)Fe!jPlh%^{e3E3}FWhBNY*|*tnSJ1mznUgBio(m~GDJrv*o`Z&t-aAdI-V zyOwVE8o1Wdw7w^3Z}NVUo@sxLENxm1FL|Vga8PBpxPC_=Rx#?;1JQ#8gKPmw5=C>Q z2$Tu`6f81|y_L4iOx0jT4L>DiW%Ch}s8q=Ha2*y_Y!y8V?Cnhb@xaVs`S9Rq)zD~F z4y3XYV+oy4gsilDU(a&9VOVU5OAVP(JvlS~iF~dFcMkvjQ3y}1Baq@aK09o7Sa$>@ zwPIp|%Vwo%LWK!VCyk0?EoV+t8#s20ONtR^KpW)k)kza{xBEuy7^tHnZ{H6Nk7`t{ zJd^g)^*GCk&^u&TuCA(zj)~S~-*Z|X@7sR^B}zks9b6;*@dg`t$C62vBT6FPv&$DP z5)h7!wp7h@0=zs%0diq`3$_NA6UvU2qfE1|Fpj~OK_LSe!F2rrTW{roQFwmY8yK2}=>k!1`|puxg545dU@&>+03iUkhv`JR>U_q^SS9E8uj z2m&WgH9h7`+xI^KKvp?KlBZ@TvMTbiSS{H&oc=T`hffl(7%rjSH5oF88D4ypG+W-1 zeQE=Rak+|g0`l)izGJn1r$Q6RoyknkH=fla40&xriPW@{;9@3&L*O-_#OW-X~{jeL`$`K#r4Uie^{WvTv^Du>9i56i3ri6H0l{+U5+l(uF5WWG1Gatd$m^ zOP8Wr#DMhE?k+D(J6StAI(q!(EVwq?q!grE?S9N*h0ck3o&>WR{sH7=V;OX6j^WyY zQh~}>+du~@MhE4)@-hb!Gw81P;T^!U?|9#|XbtEsn)Uu(;XfJ_)D}Ct%m6P-%3sKp zcGZ`XM|jCRn$Y{vAoHiL=??&vOB$YU#!u(pC7 z_XH6r8XMn1?@l!#xKSb4-+xICOcjETGO;yW1Gz(l7D>HVd&+0&4Kq?$y%8U4a93JuvH zHPQ0#&f{gYz8P`rMxrhXvrKerkWPgBWMWE?`X(gHELMAi!IYTwO3LHoVYMsxQQ7xX z(Gqd@x>cx(9{sI~0{9)XEv^hIt+Fj@ROB-(*5IId`uE9kKR?d>x_o=W#*}yQa)jLm zXhv|nEn2x)M?&I$F@%~rqX{1VE;&%k&+Ca7@GeA$-(piw_i8Yz7QZM)%-XR)xHTwD zR95;-cHnFF<=5!bZzmctjE)e?sG*_n>S~V- zB6@DS#N8Hms;TK|d%KFVT1fy>n}fWe-oztC$Sz&5->i#v?Tn5uX8`B`fGaDW@o+9r zJ;%a=6b1ziZsZ+AW3t{(eX5spP$Dj>KxV#Jd=kxhEiD*(PH)7AiVMvg#dd#&_dQ`L!Rq zIhn0mLm^|10=%$cZn!J3Q8ER zL^~SbuFH`u5DyI<56V6gRys;X1TWv2j@r&+|0Gs=)6f0GN zV{vhDfzns$u2vo0Pe9UVYrAWQ_;*GZ5W-=xHB-2*-(40o?3?FLd}B?mP_9o&==Wcz(3H z1Nx9Tb?f*6e?6!tHa6wB^-hTmqbs6Nc-0s^z{XWVbbT$@lh@s^`x}&S|HzKWA>#-D zNNZcrGr795s;~|YFRY2gh~IB;(Flf{nSPBn|9xb%doz<%N@K=S>NT#zm|9~sGti8%=9DqL)>y$zDa^R5n& z6Cm)WsoOip&cj{c*Kmc?=8Oy9`kOSnp$LA>q3)`6_b}ajg)Z5J#ireYd%|26bk(;p z-d5W6sr;UfKyGwLNu$v+>3(-6W27nI98j=gJ72B?m|HMkhylWn(Tnf@Y~=@~W}y(r(&sLEa5keBrqO?Qh;%U>j3QmV5*MG!R=``8}FIW`Yx;Bwy(ZopZa_8?LVs zxm~QxL=A%ngUC$CqQJ(dTU_!bsC_H6!K5<($pzHN|B&xsS_=&3gl9!5bretYcsj!! zl*DQ1Xvs~C0Tl8{nhcC~mNa)zQmjQ9dw_x2zT?yl=(t*H=ZeSKyR)D@uj;5cWwX<` z_?A4w^zXjb#kFmcDTI3 zT05ks+GIECG22-cmjaKHku|)>y^`C3Md50@x(`+1gheiCDoRh5{Lt)~j0hsNY>srb z+A8XXNcn{iU~KS&es#Md;*}ezNfVOtVbOKm8OdycA{PljkyeMd6Do`6SJp zPmCVx)m@|Iwh6dYRl4U0%4Klvj|p*Tk|@8~EH?-W0$~`;d}DBtvqEj7W8*PzL(j@e=y03P1ipT2egJ;KwDB`3A-N=ve3Z#X{;1FBJUO z(E#*>x`x_ay_F?`6dP-{$q6R2UTVUWtXXe{0Cd4_okqrQZf*b$^`LBls^1Iw0d8?^ z)vISpWa7E~E{*9DIZSOixv(oM_VbhCYdcp!Rw&!p1p7^_7!U58>naLAZL?@*q!JL+ zg%7Ml3i8Q~3_r4ZCVrmMZK%yto{P3N` zqRfw{=56_a-xbPKD4DeQ@$jP{`Sa25yRG9(OS3S_CazuvbU&p4#b+0M&4r3D#Z+2v zdM9mRjdZm1)YQ;co$%gKw3;L1HLe<=x|OTpdo zoVaTEXFneV;+D67Ii#VJ8=GnChNZ$*)#Y=YV-3u8z+^7AY*}c`7`4quFqR{U??#%3jPD5emc=f# zomywz$Op>IrSQr#jk?W8X}(-GAbf+lGT3=@QykwpjaugM2Fq2f`!X@yMOYfLUN}0UwL?^uEg7$TOUhgkV^X~6E^N*5VtOiB|OFXTW(sI zWf>W>(lhe^F!?z@SQH>$l@}o;HFJJ>&5530w9Wi`oDUw9WgD%3eF-Ay`{qmmGc{RA z(H}{7a<)H()#eibSdHHoH4_CZ9WT@T_~e6xgISibp$eAKtf^1h+3%nJD=^WDIkZfU z+KVtC|7vmi0`eL6cNKfJOo;g=Ew+CYIa%ay-D>Pz25C%lXicJ-eb*@ipzB~`rALr~ z)`{u4khn#vXDeX27I?hy?yy{LydP!?JlErvpT8J>Ri_6r0}0;GjDSDPt$ChMCBhjs+;<3o;&;o0vp z$NUXs+n}8aYTC~G^Fx=)$`MxHV}bqS{y$lY2T)E-N5z9S%^Z$^S4*A@~tvt`OE|AxZsA zk;6#WKd%xk2)xFFsJSLJ}N?LjW03$#S|9wb>Fj0JL41z>*xlheh$OHtB*RGd8b3O9r zkS87;T`@N^Gy7co_mey@?CO=2kCK*?%52oof7tA<<41(~ulyHp+H%00!tivPOkxG%|Qc{5ch^Y5GFC)v~2UI?hkFZae zdf4Fakc9ZrZM1}iKWIpUj``i^y%bdE)g&hVFCQ)}#IPBUF^uX{^J7_t)QG?wh3wY9 zfBZvr@zC#)x1+Q)SX`Xvm;f5*72bh?o1|gOUj45$eeqPQG*>b^Dl$1aHMJd+4Ml0t zuXA3>dBn}p4$V~@KCcntKxNZ4AYapF^ zG}9}XMgcHC>3L>vlc2wb0wu!ytT@?*nf&F|bND$O^53Zss{4Z60HP;e`OM{f&G+ZY zKb!y~MbiE7kmmafAk*}3QlTbDI8ZD#p-znF|19F7AH;kyYzX?AOG(HG`tzp;vsj-F zRJvfyX`>k&ca|pyxf3 z%p2O!mTp59iBN)+O2Gs!he&c7DFnT87&<0qtwV=njmaiB$K-}X+eY^Evl}W2UJRw0!_jG5x2@;hXG@=EE_*}n4{cChVA;P$5V75uf;J3kaRBY5z z!P-T64*v`kWaLoI^LJ~pIboK%*>WG$GPGP|)TvjM2fFSLNL)Oh83M{3R7S4bWw3}GD@!EFE&T)6yktAy^qcZzDkLEGBGt0v;o&Nly~J>EZ< zEo!JHgw;VgdVd;)C!R}D3?OQUmxdlt)i8Vu>&sfCZ}a~7{`~-7D(_f<(?;jw2N$(= z=7@-hJtiH60N}D)raV*GDV?h=)dwFf&gQi8supN*?~LbtjYfCfQSBD*vc6BQRNw%; z9V|;4?+VO{?;R-}>@{YmH(aaJnsSdr43{)u_{xjfsPZYW{cF3Kwu zkNZXbY0FQa6uN5ArwLxaeeY=j%kdM-xqZf z+MgY}yxrNxdb=b~RN&LP3YK@2#Qh+~Cb_d)xUsbbPR4jcNQjTG4A0*dI7w_4zZ`X&9mSriK{fu93m|mj z9?zHZv^eilqCzDS>~>TwRtwBjs+ksKRv?@$i1({dq+YEvx~}m%UUS-?y8W5;>}b(N zLj&4O4B#2ta5uNNQMUvY?hd<-O(6R3{%&4v;(8V=S1aQ*vV>*EtsEb7=-%RJiuxg? z&QZ7nqVM3$hy<+D?7ckLz~HCCJf*TyB`s*OI~MO&XkcK0Qc-^?zuU^&%JA^;^}Ris z0vaL#sPp!vTsb?WbaGL%zFP9b2Ox-RSUSMtu!de-DE2E_&DS|Bbn4aca&I2vVV2F- zHrt(hUM2#AmsGYN^=xno!QtWKmdfBZl?I(MsT8i1G<;*hB)_*F-~YS+VXFF_WU!!? z;xB&Y@|Y{5#--OTuP@8vJ3?T#&Pk6Nns zB)AH|-53vAxA`Q>6tgJPnBqAMTqV`0r%g7$h{>HMHy`$afNdnY*nA>)HzbJ@Xsnw| zr6{rd6&Pp%19arpZ{5Z)-m$P%m1&9H9riUi1vy=<^1K|&3g5lott$CcR942cZ@01W zT0#N^5b{ zs4)!%aTC=Gx%F@BPj7B+SB8jPE;bZpU~iy=OxzTHmrtXAnUAKw4{+Q)2Sn-5AoHdC zx8<{JBZ6x;1+F0W!ijXj%Z>;Gi9jsEyM%4}BYZ#MjuPG)*#u^(IVwhh&{)Gy@Q1h8 zCnHOT=;-KjDFQAxqw6Q>f#qFQ1tTj&swJ1}kkF3l-{X4lgXx2aL}_Y`KS5 zMcFPKSXfxm{x-J?$@%e%bS{0aJF$K`7y0jahO+q5`+oWJ-#$PpHT{p5rm*mT>va9M zhxLEy!~MVZxS&={E7A-}a!eMnXK5WHBO?asUq=Q92PY;>f&_So9UL6qUKp?C8f&3& zPLyr1o$g8m2W{RzdiCm+@1uuGn1j}E-#R2RD z6*2*GmKxPoqu=#x!I5QYL`q+WSkCu`>~=bb>Uru1X3|*aB_`xjw#N#REU)bDlQD>h zh%oVcZ>STs_TWi1xVSic=bufE2HLyL`il|RjM|2voR16|a=4u38A?7tdy_8!HP3x+ zwxR5~lRq@uU~dPg0$Z*LQ`pK6IBf#{tW(ssqMmMDw{=vWR=sTkP2zZ&&h^5gNV#aE z#bM+%Dxrczzg{An)o{Lt57j^_%e;`ltxZa?H9tISIisBgXU2za7RE8WP4Jn&*COB3!P&@{MJa@279)^A8Qg!-(7f z>^o2baxk0srg`$=n{2LpYGNfkq}m}$T((^{_4_WIptr2lOeMhA*LNzk8qSypC<{4n zpD|!Prk?KH+MdfXFG&pjaHmpHGFdNHq;6*-pDN%m+m5^}5r%aXEN(0^^uyyZAf;Ys za^L*gKmwVF)oe2;XSF-#dV7FddD5sk$(oNA6lfvQU%fp+A%(v7%+|@15C{JkG{*XV zkr}C~8>xa^EZWm+zGtFL8C7Yz{3EPi8}M(vgwvUy`l`@=EL>A?7)u-jj(lLllZ=ca z&Qe##_Rtmuxe5=84&FdomMGmS<(Gq z(OVu>NV^bYX~?c9w4~OQTN;WI>71Hq3kF` z5dWihv8^|~)a%p!k>kBvx59vekJW{N<-bobh3A;<0o_$*V^=$M$L~pW*}R|!2R}#h zU5qEI;G?&XQqlq=fSPFXGMriphoIt9pi}otY z)nSXna!IRDnMP0-&j0MJ8!tCVG_y3No@;XY_~OQ7AWbP2O#d2YHdJ8(BLrUZ<$6Ed zVf_r~&_H;bd`L0YQxqmfQ@97Hm9-mOvYf(F0b*pwm?D7I)=vg|gc;>bC5hAAO0)Tk zr`LVc^?BKBBctvbkZrCq8|oI)y$8-~z=AEts}eMi*YHu+hsWqHEmfsx(iu~DR4bhp zUOp+)foIkR3*(AA1`K;O-x3MBP1PIqL`P#znZovFHYf7J43IlI^YdFJP@15}i7CQ> zyF6VD(aZs_cIJ1ot`E%iC{|>skLG{01Uknb38dAecJyFdcp@W*gzippLT1R>xmWM9 zo=M2#=P8g+r0%rPYu6>WS5#5Ib6y}eH#eV(>5wP9KR7ff#Y-?AZMNh!AX`4)cdxmJ zvC@+!yAF#3!odX}OElU*H69+#yyrV05K69wPfXAK_{iAyWOG(g@V4&pI=EW6A30|y z{5djek$Tos1`dWi1!874=2tIXMp^%mkSDCRH_ymvYj9YP-HQK+*z0%s^nFzK=To`U zo>-a&^L?w!+Gy01qqBOuea7o@%k3KMGObK3MXl7TlN0x6=l2{o-CZMjfQUGxJ5@&~ zM<%XRyETFdvk`i^1dJUJSv}H5WLRELRhx~xld3~W#Ll^kW(eEL5+;adu(6uShSnXC zWMlwe!EV6Jrf}y|?q*z7d4{ejLx+a9lN1YoBhjP0#q?B+;WdH{%& zXUwPg`PIe2&YN$qD^j*i%jcWj&QC5`x5kHtHs|V!L{tK*PO7d^_j=ajw}*-V5o`3I zyYuN2!S#M)!C?@9Ir7+Rx%^-S7jRtKp)H!6rLdH)F`vzqUZq`p{aUq5I|E8gV0}c! zJV7xuF_Fe)CEPDXquHSq7ozCV9^2#a01K`=MF#Ba89w2pRj~azLT(Rb0h%eyhO@oQ zD7#W#?Y2XRrIEwMq@odP3Y(R1$QC;}`U}gnd&m9UASx1F=FdNbcp!tu8T@YhKivVZ zXhDMJ+d10V&eUypbr0a`aA7z%@V9Gex5s==pNl*oZLb2s1G>2F{?RJNL~#R%Nyu%OmB~ z*l|EhhEUK&t4X6;92pnfMG45F&d;rB*=D!K7ZX5~_W#_%2_*Y))}#2+w(Uy+3rfc6hX4$7|+?=+1qR0oM+HN$paV+lykoY z1@+cM6sb7i2pCQ_Kfabv=FzjT7|t=slTpn%&mI!DT3m8HyQxz$k;6-hx8ENQ=>}t7 z4!&V!Vaqi80_<4+zP`pR3EZfxMggLt&Rhgor`zLMEn54jO{sitw!q%9HDDzaH0-oH zeS9{X)StqWmzzt|vywkKi$HnhcmXZ>1azGoycc2AZ2%Hj(yc(C6pF)Vf8N|A)sOXIk@W zckFbN_4z8DYIii_NV#^vHm8+>Z}RrhcQ;*xqMostv>*}IIU3J+J~tq?Eu&hBFKEN3 zn9ODWBRz~rP{BT9=~Jn4xh;%QyWn~A{elOr$@vzdvQS%v=SOH7&+k-*&rrJ_EVaU6 zbYvun)2)BE!O3wSfq{+9YrFB47jS}R>NG+l*2Z8?X}nJR!_8Tnx(zld#-hOl zSZ`O?_azS7tGeKd?GEduDbYJQY232mO@gcwS)3#!=am>K?_3?XJ(fxvyWp9@d~moVGCiNE;6hH37w|7GLo)4|;yO_ZHZnuT*6NTq-Qk z7GaBU97(ohFW`>~5-T7c*pFFE=g#)3!=LpKo-VHM%b#}h*E^=cBsCUgDZJdDp?>cw zEt$U4X0v{%T|*bWVD!1b6DorrwoUYW_<3dps=`%XIw-< z8O!%!!8u{V`c+9Gl>Y>xXO&Tul{I;P*Lr;c{@`?kzTsvqD(xZ}8lL0EGGe5Fi8{qi)}2`X1Na5>FpzI!}w6PPKEt%_y_;<6jN zJ$%OsWq~9%4^kr~R3iQs$=0!6SxrtVN=lEDQwEg^Oj$!jA=c=KAoGt>Tcd!&vHY*& zr4E``=Rw7MvKb3--WtU>e)?i<2=1|x^MgaOt#oa)*Kfr%*SbciPKG8YJ9p? zs&`79>dur!WlY`xga?0n1h~sh2nT3}n_ZXdb%ne{>GfD?gYYifdg3bA`}JTiVtRoA zi@tqP!;;!w?{LoHa04?@4KW+*iKdZpixRg`fWQCr$t#F2rb6Tk?KL|WK0!o{SRlG^ zMmWgM{zFB;L(8I&3S`MyiBLkD!fpFYvpt*8t=SUiPtaM=@S(Vy_pEFcPIO>U;BE9p zW)3?G3kVsx$Khu_yspjw3Mtw|?cFH{TGe9b?LC4q2^5O273h^j5SQ3q zUFAYUsVnxbX9`W5&v$X-a{Kb`1z7pO8jE7fU^CUsl|u&1O$rLB{HGFEB;VAl0Tc!n z9ZhL4&^LLyq2lNWCRs0Into8XXH~f5a&bXIk&IArzCUaoz6{3f=ys4Y1@AEFukUG( z5eUdixACmiTXgqN9@XXJ5KjQ>XT_>d`;OC`QWHsPQ}n7!DO6kFy%DeW=^;(r_J^kV z>q)g~Y8|F;MqN@@SR?ZlSUsd!S-)L%qMSh_U*)6REkjmTR+opINkLc^oBH_02MZE~ z*ZboI!HuJY3;P3SCU~=(fK+l+HzKX@o+j@-l6s-CF}%=NSB2D^Q!NAPx4t*9%AmX% zc`x~KvJacd+PX$WUUgt}bjO?iVcQj8bUEhv;DnIJt3Bdvi&dk_9L&VZ%q6OMRyAG2 zk@!5WYUKmJY%l~Z@u!32Qw5`7;n@|PJ^`peh}GipEif=*9v2e_Q&Q#n=oixJgOHGH z?l~ZgP>hgNJs(M8rRIWtr+#03aRdqS%`9|0yEm#5RNfzg3+S!%PfhuQp-iLCGcoaw6eTbFdn%!IprD5tTe2OU za`Z&Ex09yfrwW&WZKXj3x2L;f5_1wtGDX?dvQ_jN3XYjQaeSWcfF){bPJ6{Ibm<&%bsU2atbO%X$hbOJY*h| zs90W1$i=Du4$82JflZc`$x`{W!Qx<5W>rMaHJPgTF?4*N_M59X?v^`>k^c< zAiys`QO9pL7o|IN7~B<5yi4u=U^(66@nje#517M$O{PfX=iI$V+E6j1k}?DjVCxAz z@>aG0^b(fPQ+ezXj|>=PlVsCaLck{XyNJG(!5;;8KRj*=OeL#NspM1Q1stx{v7}Td z+Y;*7kX1<5N#4Kyq{7>0}>o7r@2%TzL>?p{=W;>x_aT-Cto?(YjNe5v$* z*awgHXD-|z9~&+g!8G~_sRFf*%fa(1960$syoypHNuq& zS^BI$`BdViD$JwF6$U|=jZKZ|+q`c+143*eKcLE>(`a7~L_EMT_buoSKT@SYxeg$_ z>G??S1{9ZJPDCWS#9j3ULA3ES{+KdHx5@T}>Up^HRPuy9$03-O6=G_I;iW1ghbsw6 zN8YQl7c2#AWfA*tDT3Ot=#-sPP7m;;zp1HfxE3mwq%vWO@s8PnwJfH%Qg!x6(;lhV z!dPb(YSF)BA`Z|WuM9Q?yw~%_(Xz#x;nz& zv+gW9tO#h}vN99T=ou%N7JYWckPKUxIyH};?y8C4t=_MNY{zy~@I{uEmhvz?jH3`d zu1hoYv$)CvH#DMRU4!l1C__NHvK;RR+pJ8g)Ev9qZ8M<20ZXMB{WBNI`W)G2AjZ7k%DkC$ZuRlx8Cb0fGzr$@a-; z5rb>G>(h5G8ByPrv;jSIfmPeS53)URboVDccu8Y?^0b-~Mm@PZfOXhNt5U8Lmcy=> z-qv+HUU3qp4Tq~NA3v>N=0tsgob%~oAwmQoe=E~1Ypz(^0Co(dQs!pIFF|brM04^f zYzemP_9?mObp|1c2I8T)FPT>#h_ndn!d*n-J^-9ev}_9f-bd)zjH&m9>hFN41&80Z z%Ded?nK_}9)Z;kgK727XbP)(tOlS@|5Q4D+?LYEOV0+2|B{>C%Dx0XQ(`2ie#)3P{QmuyZ0ud_O zbk+(r(*v)Et^PokO2%6@M>+Xt;3X0+mHPKycW)y5e3_K1l2z^!6E3L)}C+SjE)A9;#8nd&zpt z*O6JV8AT;u@3h^|NJW4Sgw-AwE9G0|KnoAN;hOGaxO7ek9*310e6ddxF~1>+@CTxV z8+P*=A9od=SEg^NIk|wyRwE?~B(IR2X*toao&W0t-S*m&Mzxs=heuY6y^xpSuB&62 zqPl0>k`aZaMKnX;Ru-wevJ$iY*pIG2ny)_UZ9KU-CJGA~BqKEr zn&xzLm(++*d@&&JP^v9+6)OfR^+&sut)?bj7H2LCb(^BL5rMS!jnKw|VQ=(>ldQer3^Lhp#k=jE zkwYZ_O||>%3{Rm>KS%r&??VDJ4G*Pw3WcI4K@3Au1#68~>SIF@x0Ty#c{kr!Z$_RV z29LL^ytjB^@@eOQ)}+N`lN1IKzdoi4SQ1r2+=n*XnQyZjoY<73`SN#)ftT*vTVe6D zlZZE^3{Ovq4AaZx<9>4s0nW)>r)vziyNpqUpJ(5?Eq8gj&B<6vgHwE&Fyb*Sx#AEv z85!UNowvlu0LhW8yJ!vddVR!#w~q$QqHWby@apom(vf}oB0%3C$PC}SGsp$%qF4Lr zdHSHS&M+c=ISC0~;CKV{;@r-5jX)Yu=uPITj6X6yK=VL*g@c3NXt8R0|Kq`F-of}W zL&@m(_aeT+ul=a^DyXJ<;3Y~$95M7*tgvr8u}O>sybyEqeL?3>o#`ZWvGnpXGFin_ zX6ls86REb*c!+v;x?Nd;G>Pf77R8$PkeZN2AStZaDp3O&6PHk3->I`3A9sPz?*L46 z>_sZ`wZ^x}m!67aZc+Xr`IA&|ZY3m*dGFh+GL3RDX~aR5^E#7ut?O;!mg0Y`k(rp9 zIu;DEDc@l*MC?pfS2o8fr2&1aANq!eM*z+l8Z?bM*BCy2$umMeg|Ru0zWICR3K65r zZa6|EJ>-6%p1o?~Bja^adk*+$&)p3uB*px;#xGqjSJkT6>fo}8w3wiLHt5w(!gK`; z8+!e-Sf5}Zm6sRN^2;-}EW6@77@G;x`l8oyg<8&Xw*3?!!y^)Ke$KFtH{jHxS{goY z+}mw8()CnLR)t&!n=#WG<5%D|hh^v47c_2ZM+Ws~`^oSOpdD{)bo5o&bKNE@*&1%+ zteqXv%XNVD(n_Pjd)P>|REI`M9QTm+`gAo=T&v2kyeL=(NL7%Lwwx1Asse$q#qRX~ zX(wceTYta}n=Gs@3P2&Ow;v*%Dp6Ea#N)8Mn6J7A0*RUt_~Avi1(nh0y?QxN2e^gp z&FM5*?H-VbXu?d}mJc@!ZExF=aob0G8})9VRzv|DAwQh5ek)3jdnOT6-9<@Zw8rLBFdQ`Kq+;%| z8(B4YaxqKVTR#zfhHPhd{f(?8bWQAVI|& z0MqW@T)@4+?akvyA4@N(bT7eTdU|?WCdonhOW#8U#neQBK)lG+ej5R|z6XeMfN~C# zR>egTYFkV1zyuQm|9qbiaF7SZw#*q~KClH3rN3SX7+SH-K_-OTJ$43u)v00wVF5kh zCc*V>5jynyoyt)V{r|hn`QHNRg2aV7hZa89;iE`g0Y#2~T+HbQUA?`%;nMQ*1D&0{ zpFmA5glJ&ue419^-GB?zD!O^8+Z6H+!s5qAPe1A%OBvU*{0}qemFeGS0RSNLa`IUH zumWg`tJv6I|0_2~h`$f{NMd!MCiz%c77`lM@$Y#ym{ST~t(ek&?}%4SKZoP}f%$pq zK1JffTx0f=*VCfp6aI@O@ObCP+WQ+|a;>KL_s#;gu$~;r2lO}fNK3Xa_wB6yKC@Ya zd3nQ5p1j zqEHrJ2xRkwN=`Z#lY-$}d4`S_loTnax9rjWZ_@+vAT5%*s!78>uZL{(rC5$D71eMs z;;19Y@!oD6xo80Y?jN8MlgE{Z6d9S4hhs5-9Zls~4#;2`1No$?n(gH*-5MO_k#Hvw z>vn}hlG6w$i|USgvsn{QU%eS-^SQ+vJC0QXQJilQDLJ_2x2h^OBZ@F_1q@?9S z=_WG z@RCb`mJ@#SWedFpzPz@jBJ@i$#FoNxc>@| zSC*YbMCs2GCElacF-~-|?KoK3`PNX(s9|8EiOY388*i9F5+V!>e+x#$CUUnM)U}(? z`(f=`fxnCowm5OQ)i+%`o30_tOEkyTGjLqjXwrrovJKm^v{LyPiL-yaHPq%~4sQN7 z-)u#%Z>-cmQ@^uY*)WQ@ix#sOhd8fl$QHN(N_OO+hrk~D;0G!t`cae;AWAwCFAQ{C z8fKSWzvQ#8>U`!)8d0OY+HK(kwyj7@v$mMQHd4m}avR}pX)>OXEvH!vh1nXMvo_X*qB*h-R$&=hhv--MI+yO#-KL)nfe2Ta#l25k+1=) zaw4)Xf^%GTAv}enX2vSHEXVu>sj8{d2iwruwQ5@P_0i0@j#;}Pn-t4a@f81l*W;C| zcexU}3UV3nN5(zdM99#;2^P)t{pIU`H|}{7^VH+<_38St zpoxd|d|e3+8c;G4pr8;VM60i>$HjX)5QF3vM3$SIZ82LuJKLI4udS^G01(#J1c`5| z94Vyh9EeP``{xF>FB7!s$OFr9@%s-1b4bEVy=hdH?0zK^?1a1Br6$LtW$hIC*5)V5 zPEA-%UCzv@I3zkSs%O-v#a$z2d)i)-(j35hzwaB*asV`-0PVzKrHKQs8BhS%pC7#p3ZiJ_iR;Kc?92tGj zM=5z3m-C(RQ;hpua(5o=c#W6>M1G28_0uXOzO?x|SLn;tUq{KRrPIsxn6dPx803x!y?IlrCwP>#1l_$ zVp3zbh8?QvWG@vw_sa-_+ZN5H#;gbzj!7v=)vnYI@L+U=I9cs98cfKY6>W2t?hD$7cL_R*5?JmIkx4jhjwT>K zhbyM6&FW_flL@=iagCNCer@+7w3XGu!UD6)e0iQ?W`3U~Cu0?9Q~g#Yn_e1`;NTP6 zgn^--)$*8@i)+kk?zBD7bM?4_(L689`oj=GNYeJKSMInGLvhbM&vBYQ#xHqp5%ysP zfb=74ZaMBytX_a=KS?dxYS;=b#AEve7?=P?+%eLW4$~fZaCI{KF#{`}`VgrD{!M_8 z=J{?EUez0R-0D?Rvy|ED4=LPhGya9xKDjd7cKZ~*!!u?j%6}7&cpA=C&cN1H#wz{+Z)&8Wc>s-c|Qp_iY zAcbj1x6glXwTNdZ_SMZnVm*~t>!MwhOeBMzc7zf34Gmsc@6UO8 zJ+QMoe#6Mfnk%PWYoTs?6y_`|CasYudBQILg<9Do!b?F@vt#gw5H&g^STq47Ha!&@ z3aow28p{+Oh%^At0jLa(uVu*5fwYA?f74`bEd|~GqV27ts_fo(UlRocRFEzK>F!49 zu0^MGgLH$EvM52iyF}K#uOxz-f3Dtmz2=8}0J&g_#d1}aO66_nq+?>N(yd!p zaO-e++!^tv^3T!RB2cGNu$O=HI(d;pfI;|AQ+8>GL(Z-+&guHS1e7O#!uI#Zn}+dV z4+&+5@d+l*MvIpCuF0*{Bfcu-!rfkBU4y*w(Fqpr5{u>CF6C{#!vHEuE>?~*S7#Sf z1cPg@d+y`~cC52wBzKl0&s_?|9K+8seXI&Kn3gRBRW6u{0GxsLvRUfzugnGG+J%vzxAZ+6`ru1xL$^(!*!yAfLbF3 z<0a+LPn)vEzU6p_WAP`vNe7N5coND5%j?$BVZuT7ZQi^dy#z$qV6*?u@7=eak)5x| zZnCjgke$!v+4KIQ0qu~_ZR+f>$uKL+oH-{m6IP)o^2+r#VtgE^wGug9qoAe2etzkG zNL-%V^1J9X#&gld+63G#5&YhbJg#srUTQX7=k75(-(4X_(>1x=tDQd^wy_C((7W&q z`~JtOc;V#07Gtol&Wvl~#QAYywySGsvDl$d?d1E>RW7Rc4U!78XKGdGWlbQ)LcKFF zL8jJxEokBD)P*K;O9zMu^C&4z3`!+X2yD&ejO4fD>EQl{d(7Pp(cz>v^6o(C4`nJEre0h11awM}bHl7#cE9Gm>ApoNmkIMGs ztAB`Sy+7KpF3d{2BHGutPOAw%qe`AcnJNykxDK?@*t_w2<-y)y3%}k$o-0(MDk&%% z5MEg>8jH2De z(HrW5Vj2!YdCM_TXz_AZw&u!L|F~H4Y^TerM;l@gpgzF#N{s8|>Mw7O?VY{V9q`8F zA>^)NPg7;phw|()>o6|Ln6#^&aG+w1G21vR;` zs!l4HNRKD$eL(MGvb3hqS90OQuo{BL=dgT|-LCvibSp4AS@-+V&)4VCsgk+!c4yye zG_?7eJRJ|dBJjJ+WUK2jjZJrNs-v*?R+iwIl*U_fXxO8CKe@0ccX!;MQtC+B)05ER zt!~c=?t`UyLdwv+_rJQ@7$E+RvS<54!XW)nAb|jjbHq1LZ}=gb(YFREnw9O)B?(xi zBT&;GDioP~XG<}A_W)a+-E?^A?$qW+gRp7LN#;nMM!o3ICUf>i5*!NU^>MIPL`JR# zGxfk)j`5v*gC3z|(*I@}h2k{u)1B^t{XA}hnr!&DZJ&v= zO^-|NQws$exHj$vXPdU<`v-O2<(mLciHM@9(n-M$oY#W2BRXHuCQAsOFG$SdZ{ft2 z5P-R9}+A|rafX#;wM+Sz&kLdfLUYEejINsWDtjf4G)N!7LU zKOQsRpmID?;&!B~%YXlEV8_RgA3+Ut zb$PWt1|)>C4%s2;tBJRlSS+IIRp|E^){jI_b*^pJ!J1?W=I-%Ig>9{^3!ZnPJZ2md zY5Mak1`<G--EnYj(J_e8Yv9zrJ{b=lF2em1~6+^43j@m)uG_I$YVBVHw!KF6j=GH}muCHJ#lWQ)4Ua zoo}BUMnh##bCsGDcN-xqX{{3jJMsGz#EPbDtEQ$6)sA0Ej1qwKRS*T?ko5 zI9`|x?&!7w!u_HjoP{qfa(0l^A#S_d$2AS)FH15l@+Br4>^|L8DUF5XiiL+J4GH|> z|9j>jprzsAVPg87of*3sPsXj)c(=66<*?TMTqH#HwULDZtO7#Do9uaaX7bqF40N)* z4K8?`E(#J7`BueRblOeQ;^JvP!-V(7(z`Y+W`T(kjYs~)7Y>pgu`fSVh_D#HHuo?Y zVV)mdtA%Hz-4DWVV7z{Pe|InZk6mql()@l%yH?cG+|fy8YVomPeC3!O8ykv}nMiNI zm_B-rGr29JuFl24AXn0~@)M1Glwh{OV@!DC*6IE#FII6{JVeTeXdd{UI{pZDD1(y3 zbUZ5=oa&u^9d6Slk5atrf^d^&QLBa+Ny`Vl1KUad5xHD1meQZ%%bOnijs%?|36+W> ziEVL~?bTJYE^^Vp*C#x+&LI+$a+W-uB^I(n2iNgbxEGtSj_dTkT;TZ_OJ_D`?qdoq7`0_erSoIfnz z48(I)nz7k*zYPX)E)2BeIDAniE*YVqENUh4)`mp7>Fj8EcMz6jw85zA$f?r6;Q^;F!m1rXbFHv&c zC9a&sJd{tjKpw~p7YdPGz;-|c#c(hnnrqJ9;t_4G0#%%7?_#u&Vx-DM&(Z~b;mTS zJ_b%uiG}A3{+4TUDL_CzuM0_Vb+|;htlPx=TYIL7fr4>dl#i75%fRFqQ)y=!C_Jz@ z5bPu9C1qry{oTO%84Uq+?UUM;LDYjdJSFm6zN@3a^XCYRu$Yf}DcOl}QAy;3+Nxnc zKj~%>zIe5EkE>vRM;+2ubAZQ!3OQCwzZYqhTqjK?FIocIE~b z-|jpp#w#ULQ8al-b$oj(-q`ebfu}AqZYV-o;U`~kB=t2B4k+SBcfm@J5c`&|*m20} zgZcXp;5sdJ{pL~gqe43h4@WHh`a3D?-8-!9&BNqE&*{-j(0U8S<=Ti}%};pYM#H1| z?h`!|W8=m<_uQ8X3KFtTwe3}(f6IZd0?t-JXZ95wxWQ9S*21aIbtAIpnB32Gj-JtGD}bec*1@S-I;@1={b)@>Mw#1sE@FbuOEF}|Mh>T z{1Sgl_9;7S`{#=p{x9-2APYs!RP6>u0@Kvk81$o)vPhGQL9kgYInbsZ;3)X~mmeH~ zPW-)a7pbh5bo1CKIy^Il;Hoh_pP(VAg_Co0x5G0cw3m=jYyM*z_tjKWbKzIx{QWq| z{oV9`;yqVLb?r4a+?cE%074G%O8G_Q(;}UU_!@DDOZcC^d4eGOx0S5(IcD(RKi}E> z+cj=Iv(x`C)CGpZYwyI?=#TyV0F|is@7p{+qHV|mk`1FTEup@?I`rS`bLERRNS_UC zCTMKg86^MZ-fnt<@C`x7Rzvu)%zCa}Zed~XZE&u;FOV|JI ztmFTG|5`2))?0+DJ8keV9sPgH3h6jLP8?0&dy*0*ON_{ zEFmemcZv~GZ)H6|#dwq6W& z(?0$3v1OVx609|tm~V0418ZWBz9u`Ug@y&u{NWMaWLTSE@`j2S*>`M%g4yHjUbJlK z8++1%*2zOwXVyAZ1O~zj4-b!pL-)0NMGZu7yIv(h^*`riXR`sTnbE-zm{xaOq$2i= zi~X*su%8+(axU8lVKEaF_CSyZCq)WEJF^4bug1pa`hv=AQ1#Z^~ zsWq`!QqHa8ViY4IL1*%&Jf`jB5LCU#=Fh|e0%4-nu0u)jj+SN5`!>^xvq4bH;e6BO zVaWaom1=5-C6C(uc)85-H1Km%5N5z~HOFEA-COtmC{&XL(7-^*ojC8& zE}IoOq4|=6=T>tIT99gty6g~8`Cq+)lYJ%PJqA)@Hl*T#K*O3{Lr-rNSe#0YzFuck z+4*L4nib6NKBAY4kY#K#NfsFj3MWf>A2Y@k0$YB2dX{4ff**wc_v~8U_ z{_*9im6B#03jw3?YnW2w=~+K(bg4nFBsQBh&@|vwnd?HmJSU0_CE%cT<@Ulz zcqPWy?<>Vs!k{dXoSgI_ zDHmDfvleSNxLj{k=nmZ-Fh2RN9V18-%dqRXL(j~N%i}hFIQGEix}Xg_a8PXu)A`c# z9;R#%F!*I2r~vG3Y)+y()GUjNf^nGD%I%KThaAsJEcZEy{ezuA`2xJuAIJ>P-T~)+S+R}QCbq*G)m1|UN5IA_DO-SQ% z>8$`1s-UqS4N^2o>tm2z>K z=`gesz^KttQ8lw9RrBUD4k~aadYG&V=hTuoUE_k`;5B)=q>`G2y`ec5OdmhCbPtPm zP`9?Wt)ij^1qWfVl$*_7>|K|g95GT-nx0NbIXGMx^to9cLd~8&X%1EPVe$dKHAZ^o zyL(S2mYO+m^ZNPu%qW-q_EZO|DOIM2uXQ|H)sQ^#X}cG0yz41bmKI^63rz~S;RNn{ zl!kac`D|94l~&2ScH9lz6u6YyMRVsGCqe(|1q3P=$M9RV|5@(op)kLULo(CT)y167 zyr1(u6?lc@e18!PwJs~95c&?*#HG_~g`JC;anV(dV)5ZM z(zd|U(*}ov#p|>M^;7~Kl9czF@z0(;2Mc)VapY&hU)m=tE4q(i6*KHMcT-!-#1E<^ zJF&N?z>WYORmM{FI*JxiBfXAXiiNP8+@4GbXW|;(Uj8V{aYueM$7T_GP>AU5`EGr& z3sG2i`;<>nDwOBBm)FY5s`zw-+vD=s{EKSzCr|F2gsv&lWBa2#t7sFrl8Js1i-fWk zEPg)j``O*i<;XX`he3oW7tzz*{Tdlrw+_i*nkI@}jv5VGiX<7$ESAPTxosS1x3zfX z^CFAf>EaH{wU`hLntE;*YaAz2^V+}s z_gZyI`?dBvgNZzjyBD6@Z<7Dv;uIC8r<<2@<0ngR8)g~WF(%i2(-PG8Db-;dV|wQG zEc&j2nuI!{2a!uV^(b)H%g@j6dl&FGbbv=?sf%i+I58zosMf~EUu4ZK0`Vn2NWW4x zBBIF6RS52Nh^B#LS*MelUxLRKq*c;s<}t6sPxERZSEc?Qi!U%_oo0vSM@NtxpPm{) zz5GM**X#X%RoG4rUV9Ggj#Rk1xw#cR*H?#xD$|wC7l|!6H=2$A87W!q`qY!0CdCAS zh|ezcx{%07g9;1C7k8#B;*I=Y|)M)!a@{E!_ZIR!RoA!$4#-=2}6!nYmQPf$vmqHlO{J-V<>nWnD5b* zvJ|!#cw9yd-Hx_Wp(V7MH3|a@ji!pP{%#NL%ip%R`!QZqM$jz+M_Qk9aktf-UQ;*< z78-6sRMbSd+-jbKgMSEqNJs#Mi5_Ysj8cE-p`pz1PWsDyusU0fhP1>adI*bYqw}R7 z(rZ;9LffQGIvlO(13M(zt!Lol#T}dDM8Z1(Kh0`4F(P#3e5D50O;93BEz=Ill=uQS%NPP1q z;(Jt7tA$4UwW+X#Av#6DMa!8=`;oc7;4?QdaPj@jZ6+%Eth`c$d}61 zDi%v81>5$b=N2L4E%`Z{>w`AHOvK;cQqxA`yu&InJ3IiEfOXt|e|@q40hVZ@#lyq1 zPOHw*e?<5|`Ez&zGI0Y`8jV!oxVEWt9qeoBajpr{o=uOPBGUB19fkAal@rs;<>-O8 z=mkDRCpj_vKPg@Qihb^=dnhQhk716HaZ$pa;5S4={-4xd|1A|kEUjOt`7{sx?g9UJCkW~=YV&vhmR!xn2w4BE(6Rs3?*hdHrS{Y0 z?9AMrb(<~J(|eE@o{^aePSblEQv?2pbCXr?Ip0GJx(K#f?Yq_g{TL(z!BHl!ow}G#R9Sj*daVpvoio{vQa} zQQ)#oO{d?D8%^PqkI&B>Ov+{^zUKy{6ht&8ChtB7$fd?mto$AHl8-LKSJY_GY{X}h z1pe-T&&{O(7ZAMAkRvdenOK7)-uep(GVpycAl(ja<<}E<&KrvH4zCT(05|LB>hTLO z`Q*p*eii_iiMkeOhcqBq3-@22e};w>Mb8xQGbA`9SP$V96#ltDYqds5ZplYT#E1Rw zvV`L!4D`$25P65hAQMc?>&9r;-+{FY?3|*jHZ>7AZ-Re{qe;Z@`$a+fmN9pB8HJSI zAv?WzHsUz2YGQh9|0d|4cR#su4njI#ec$d&kFD=3(y_I@^ZJTA%a}6n>Bs1Nicu!r zMkXlyh{KsH6C2a5#i+hJ4^KxDv43a|FxEfkYy0)%`7W%m5A6jT#w0)+|1;armLOj` zttdy3kr+t;2h()Dl{aTl)9^nza6bHa?i>DZU)z_LLrtrTgMur9V{<7W?B(VorMg11 zQ`JL!Ho$!ZfCMjJy(}RBZhT0M{HKdUsw9GZWKB)YYwCW|tbt)8 z7?FgyNYY>cf@{VJcnS$^V?Do>M7lTg`4EV?SY6KdK44?_=Cri-2N|ZCuMXG4q2R{E z$9@vClfa1gcVNY zaF4CMq6&YSdba-FEfxCI?oAMld9O7KqG9xr5NCg}!T8U2VD6=GvF}xL3MAsOWlg~0 zpw4EgkAS8bFt4F8s9m2kRpy(YU*|9KO-YhbXYLA!J!w?`d>hE~tWG$zX;-Q!%T^s; z%=_S3WiduNTSXN`lW%G@g!VQ}w%V*~a5PhV(}*O?y3G$rz+r1P>+X`lQV;W`>&Z>Z z(y{EvQ>h?Lfp%ILi`8!Hs$^AOer%k;x7^MiEXRKxeChA^s}D5mEa&SD&U+Od6!&cK zI!8*f8XJK=W)c8$7JE!C4n1=)zpuzUkkM+F+MW0WylF1>rL@+FV;h+S7q?FTF@ zg=6KyyyuW_%$P_bT{Gq)!8^YaKLqRkrGCr7q& zVFDr~lA;RvCFK5X+f$YEi-FPRvwy7bdlkKJ&M^>t`$NMCql^(>O1@Jd(dJ6!#NK1y z@-(1?>1RyOmaooY+&VkQs6_0snbf#_-#SXc>mv(^sSwKeWf&A1FjZ?@9zGqw%$ycD zbPErpRYGYRHoR_67w6`@C}d%{xFE(B)LoQ^>A>?bSF>F!l}tPY|C@}VG{#~b`l0{Q z8f1e?&)3OyopeaV90m=VeWIp5QT&mSp3daZKV`vH35;fauF^^D6x7sq{a4oS1KI~* z=T$urZf@DeM)7^vApx@0FVPW3d8jcTR#Kl`iq0v=uIL3I_eoL>K!*3d(djs zn5JhAbiF+6>Ud0n!)GRTAiLO~&jz}KH=h~4J*+r?Se(dJ>;i15d*4@(&wx;5_;Ahj z{K?UC_^bMiH8lGLHc=DrMN+9WuL?o0cOEYZ+_E;gAH zr`A0CxUmlhuyixAa6#b?+zO{Xm8Lg&Ut$?7)aGaGlXyKFjUIUct7oUi>=wBwD=REj zr)i;q%W+50T{?-g;&JH*z=Jp*E+h_toDQ#sI)^d{CcW`jQ?(gj(s}OfJuuLZJ?`jo za8Tm-$ZIv7p%O`@q(*ObkV&P?YCaROs|)T{*P|^R$^OmgD&}u_L(4W+i?tm&*^Wa= zMFa5=(w+7E$$X_p)DL(A7gd$z3G5zTg@rVq>WZ`)TmWh7nml60#&WKGZtiZO;T9m+ z(;&i0wyCzgr9y#yQ8W_QMf0wg?VX)@Nv@INk#&x{8!BanK&qAKddX_B5D}FmjmTs) zk&LUFKl$=>BeU1WQ6h@g+Vj{8FR=17<>_;!LM`|G4Wy2mP+U%KW|Fn`o}v8DVd}8F z3&3(g4a_{`Z?M}wIcgEW!^Nf5Z0zs$+M)POO2FgL-#4p1Ag5Ac%CWP(t=V9mc&}0= zov7mt&~7Yo9>hWAFPpxec1oRM(7J72A8el*nN1W+DJ|eecuo18HZ@JhskwXro^KbX|XgTE9=2zU9p8P zLI6BGpg7js9$K!#A<@v#ToQ10BM;{ZNzh0Y{x*`9iz-&W)Ivw!`1mn(_Hp)LcT*%g ztfuVoMsJY1!=Rf3b9QmOz1%FDcD*kW1rY`43_8K;R7&IaX%?C|cHz5HFj$a=E zqi0=PkzBjcM9)Zyh9(c;ZtK>1v*>Yef8WHwh;YH7>Fx* z&}N>hfYJgyu&KeezydD3tmO@`O^NZ$EcClr-&MMO?3zpqwN=Xj9TvRvuV;dJzJq^E0NwVexvc|THN(_gZBr)V_Xf|JQ<E$t)D5m?%VghKaeg57L&5LA&?xh`=QC3RO|Zp! z_jt~&!@>Ew@yC%>f_9Sj|MUX7#@%oFV*x3slJ7nOjePKXr_Xh)y>$ zF`-3o#XFmffCP3l3^Fl~)Bj`<6*yQ*%{KAKMG#fV9*Y% zP~v0zoe*Mfx_zHg-lnu43QiPBnB;@SPPl;tp4qtZC!9~f`d>LKtZH6wwdmo%x14(;fxOpsA3wtZ;efzVOG|8}WC=oNKx~hts_>_EgW_mtQ?bPnU%A(Oj zFIz74K>ultEiez?7uE{fKWK18YcC}L&?gfE11TMn+mfjCbWy^ylan+{%3q)I>pA|! z+Ct(6(?vq3L(4^s#gbgBlQ|q6dfUay4alSN6$RpYKrMZ?$7fhmSNF(pE5pav(I zZ55ee{71e6YKuW#?Xa)rPDXa!K3i!ymMh>tpk5`J!1;-W#-e4;SyIbXp?IN0KqQY5 zm&2hSv~Ng*lVt^Erk_CV1ZVhFy+aHK2gsY_nJs#=XyRS$_NB?ffvVKv+Hn`ay#9J7 zv94=6Gaz-y0BeLwDsy+6tO&Y}saM1I>w%rY*kw(x^EjEw6}&#jN}UPC`Fq{L;sx7VF<+dsF9& zIq!&R`uo=xM_ZZAhkxZEnw){|w2^eO+(_k00f(o&{w#o5AYfprGEX%~u;rD4cHUer zQ?@@cwyAOr<9T*%-=kC_IyyGv{^cW$T1h#OO#qgsA=zw(&g#uM&fWb`Zvcdp&*ki> zD&Y5r*=1XfIncPIzIE+5i)GSX)de!LwkMxIHm}=EF&ZW12!h&>N%Ld0sB=fk($`AY zyPOfAGoP(7x?EoE!k#Ez%odRmcEQ1}lFS_i3Jh-dhq(=lNBL)8S7J)+NZmI7%E>6W zh=LWf?6#|t4o@_`11gi6TGngIa4i1ddP|bA@wM5AGE}nm&JNLCK_;e*LY`gbeSPgZ zEMi2AMc%rBwO9TSpT(gtDg^1N@!=%*TP13B;gP57rue+!okQNQ-elyBfrY>K72uDi z@zF+0G*NXt6#N<<22C)zSDNFK1!@LgzY-2z$-U3giyjQm$k2#xsj*&N%UA;+>%Ns8 z@ktAzXu9vr@n=i`93~Fu4Q6|Y)X|P&K6!(fNo}b?pR8<&$NkN(KlHtXa*j2n>r?f= zo01Q^8PWyx_emaS8_ec+SZ-WgprPeGuvIb{FliCS!=TkNpUZitXqX?v^^z}BB8uDQ z>~(w!4)-0TUrarwGO2RUgcgV&P9lVqpbq=fwpZO@=JENSi;cMy6oXQ6vR;;ZF$`47 zkG30osymNs$Eyw&v)8X)ytul(+#mBtmXnd$enHWHFjHe|Do*)ni=0fXqd*KoT4thd zkp9Qc-ahkkd*EJT!QUpJd_jTQ_VQQOw24=Fqj@F049%Rz_LDx=KSQ^dZoJ7W3^Pk0 zmi!Yn4c2x;E(;M6ah3UPbS+rbX3NEXn_ehVh=|9Re7U~?Fi~*Wkk(er)iu(++h(D+ z-x+VT-rcZJwde?Wbg-PR4wyfojPjShOilfGd9avmDULWy@canzT_9?35annrHwpFG z<+SIYOLh_{YA!k*DXXw`H^5gil=@4<3$<2PPnBl&al4$vNQ;E9;2rW*%c#}?E*+nz zi4ZK=c9Xu8Nr2z2J~lTtq!M|y@w1$oi_2ik`}di#kElk{JT7-XIgL%hxB#EkDW?AX zDKS^FMx#sQps>Q_;o+f3WN0uB8?V#VFE@}kzX13(mAt3!GW*5R8r z*53YtvSg%}lZ!1=Os>D*Lt-;OVhxRx&R0YjusnR8eoqsYQD!5gC!8$qAL!3hEabH8 z)vxTvz{BG?tunbS8{|+gRU^BufBa*)E>0!UCnA&dW^b&@E?1tw-5rOWW8U+OKJz<% zxH9{Pp6|a>B@%nHrFOP(D)v4WW-HV)(Nj{>6Sar#_pG`4HO(OT?42k1`1#6z{mhr@ z=94X`-bcWAV)i+rr>&(BsT$EpFK4YG5L{8$usnQm~RPE zCO@MArwT7)V4E%90myttl8?!|V`RnJO*Ky2X*()Ha+L!HrsnbkEjsfz_Fd9R8KIyV zj?JJ??z?FBxk#((!gDO^@u3L|O=?6L;11GK5;_06!(+Z(MT7zM@-GANXr!%4&xwTT zv&d386$MWM42;XGW7Lk9)y}&UDL5I@%mrN2`a-CNyd$s*$rKq~mNd3z%KfXjbq#KJ*|Ee$r!+=?72!x8B zTvmJWd*MO7$7-#*tuizWo5k3Phsu0+xKdLf8!q6zHCTtz>va{Tzw#nTO}M+?=PV@Z z@;N8hR_p?Zel4?Erw8C%HCUepa=l#3Hn_>{>=G*>$Zh+qoxF1>F&lB_{CJK0GS6y< z-1Qmdho!AOvcu%0u!oULVqyu8sB#Jp>$$7)0>2byNNTGc>q2VWbEyIi^_EDYTyN^u)x8Z3FH-)BIZI`rW=uW**d_KdIq0!P8c%vt;?6n$Q3XMXO&VktLNRy#$v=j}W@&dg5qvK`O;! z`}ul#b7$UhaugP6~P`PA0swv zG&)WJ>US^G2{3?lznGh*jHHsmWU}1Y<0Bu5wxtJS&{S`KYL)V4ZS?wqD+^B7k&N2H zANO!7Y7yVQeVeKfaY?U+@ML4d%=*>q=>eV9B; z_+ZuJdbTF__3JPg;Kdg62jXGknp;>%Srg9s*FM*$`hbZxo})wD@uQHsa7u0~quilw z<` zOk@EPZUF%%LwN+s2V)`mFmw3Ws4Qj^s*q?ycuFO+ujZDTX&Hc!a8^IWip9cMR!(6g z;)%|>9(y;)aIP$k>PgH5DU-o797VQHQ;QX5Q&zSjsEzO}>MWAaEsczX0dizy(8u|J zX#mE-@}xBSGru=)&A>4FoRE~$Z)md*;tbBv@f;F3US>8mG#VOgmeX!mQzhWY27yxF zax*f)JjYT?Ys%{D8`vJ}?Du?*(ZWZ18MQxAb0;WG&uQ>t*g|`COYu$GM29r6Bgna2 z_G0e7ATvWt!bMh~&2!5V(&dJ2 z=vSL-&0Nd^$Sv|G1I2TqRAbr4FW_h+hkN|s{R#|&>7y#1XA_M_!2bsDuJ*OAfmya! z=L9)qRQ)427h4mFqZ#A(H~aD76RhPd#;`5PseD(NYm1)pH=r)oL5&2G3eSPK^eb$| z{P$6|4>2@rh~)6sJNxRaK`*{1(^7Bc_2rGeCaW!D;B+)DE6bIl=RB6Z87ERi&Nygt1K69rL*V+k{auc(?ovzIEO4g z(%lMF^C3ynLkGR>?cD9{jx9O8!}@wq4Llr;v<01=<-}lKOA#+usfcSKn-) z$J+Co^VtelM|i}*l5`Qeum-#zlp_MIt)>$>$7kD2VU;-sf#}m4CnH0}()*ljR*O+T zJFsG7PjJF)GtCcNYF*S>E$1rrZUK-uH?FsLMvdV_G9s$;S*}{5;TJPO0}AK#X~6or zIGnW_sI>D{S?heO6fK?T%)Ky!w7bqD6)bh-woRp- z+ijq$Yi?nJl^oM8Yyb|2S!MeyzVW^awwK=sIGyMVZ@~l&v~KOs?X7%*J9+2k&gHN*oTZq*oG#q+8)f`AtHQY{j7UFJF(Z** z8)=8Hxkx-RlPYSAU&%g)GE9_+_;lV5cWHBUa%{2o;S@DKdnk_LaKZNL;?%ozP}N9{ zM0X*EhBl5y-PyUozj>`v`HcbQRRWuB^k_T;{VmsR8?kT_N=m47%}M1Lo7KGOV% zXH_Y|cE3`wbc3%g#_Ov)V3-0;jkUOs3Jg;}1YUIpVfL&ZS2(Fv9nNuB-vpw*qd{3; z%#uprpH$AP%s!OE2I{$gc>zp*oG9k9cH6xMoOA=Xr*tMlilnxC?ba7b0=0%Tx31Sm zscnEOnc6bqbaJ-c)|EWiyh)dY0skTpgIZi%d;$iWcKpg0dAEku+Pp-FK(RTPL>xu3 zy=7cHTb=auJO6iS2)u4UNF~@>7>0f*7itO^FhQT^){?QXocELgCf9shW2x?PX{MfV zkV>76fuS&*kT*`5^k2d^ez6v<=AU1tfjLEP$I$hY_Z@9rp|e#ceY|C#@i>WeLl(ld^0ClD4^j<3K|oAWlov$1@Nbsr{Y zD5De*QBzqG5#|u%4-&kKyqx?Xjkr0Gt=p1CqmHTCv9q9AcZ-5ej^ZI6Ny*~U{uAtu zvIhOoNU9;ttGlFp5BD3{AKu~HfT-JWbI}tQp$#OadCJ9MZ}yvTRzNRf#;i(>hLX$&E;|R}!SRwG;{<-S zlf~Wv{q+lwouKl^DXcy=4LGdFJmU>bOvJFtaM-NOr*G(HF~bdc?2g__AO?1CZ8h9p zN+sXKuhimTV-6-4851ess+M_Z>aT603W7Y0n{#lwEGXwGTbX-xakvOLq%gC|Bn2liIA1L$KmwAl zVN4w4=AHxH2Wn3Qato-1dL^xD?b$@M;vpKM6eibTXQy8;Cm8B#HCcPt_ebxNM~rd( zaXh?ubSMqY?-ACPIUIg?UQVRxY8RbM6iufk-{4~3(Gr5o)!V3{e^H>COOcBhO|5hn z<+YaXk8Hm^lBndvI(XZ!^;DYE7;3#uh`=i5R zIu6t!ZS$^dr8jFLAJ@Zs~>??mjGe16jOK1^1$!hSmGiKGy2o|as_i4uvsR2dx1ZIk0m zZ<8EMG093>mLVo21Ud1i!d$5Y*(+?qdz^#56pFQ*MhG+*A|L+23SuP3g6=ypom7!7 zs;#YEGV=7von3@869e-R3bLXn8f8N}8OfTP>qnT@h_k#$BO@DAy6m^+KdBnX{&a8k zUF{~m^NzOm^j4US$9zoBPN#W~z~Aa={2B8f@JSl>TLd3YqIoY>8yJ|1>JkZH%JSo@ zn+6K%29RtjY75@ma>pE8J`N0zkKdU+Y*xJl$!O+xQzi4R=aPeu0tw{wtEc5Q?hxP7 z($_GYbrgz9`o>eUU<=-UO#IY$G!C%*tgUZqaQ{Y05(G+Gzm;E+b)Vr$$B z3a2>4!zn!PAJ|KQXhm{u6;3NdvJqg~F<~)xv_C?~z{cxDzlK%yE)9!38WgjsmFT3V&0_5UD^t~0)7v`_n@YpVYi zBl*ZXz2%vL0+UZrIqa3l$d`A7K;6d0qU1~RxGu(o#@uq92^TnrbA5wB>0g_?PoX?!d&ATXP6gG}sa zpe_QxT!X)?TsX;(hpT5{=-Mf{J*(fUgKiGP`}pND&te5AdeD%vGC%YfRt@wGNl2jgX}TUtf@*&}d_f>v z0*SOR;$I&(&?Lr@P{cm8vM`fF{?!qXtLQcI^%8u7Leg|sPR`$4w;oQy|ChEtCS@;y znNk1S@5!qF2;u+RQ@8#H;Rd7@8S9#ZM*0&p6#i6MqA(EcC~Gb#D9qps&-kyj;Yo+W zUrD`s`@hnFqkMk9|KoVK|CQ3>e+FzJ5*82;Xx;?66_6x#)9&UO8;b>?Dm_36W@6G$ z_u@Z<6fFLy+R7s8U|cIMow`NM!vjz)?6^ghKaKQLfXOKA7kNmq3}~|GLmRazL3A3> zOd$KGe_?@>{L-D#keHN|6nAX4Xa3LsR$3s!?f*l35fc2IH~dDi^S1A(2j;fAng?3?ECLEy8HJ3A-`Cp^19Jsc8;6r%eEYtk`4HX4Fg|GjEg-^uYYJa}#m8;X z1zVAS-TTkGn^APka|ogdX?;crskkXY15KoPlR*d~hxD35qv*3t_uU&b)UereUf)u~x9WpV)gCzApN-Ca2Pkrph|O z3d}x|%fqEYeb5gUdaJyT-4+%Wb#^;wxM=Mjps^&mE*?46bU3c13|_p5OuzTkv%)Qe zz?(LV(g$?)^)sgY(_1LCixTvtM8e3U3s@4lP3(Q#8gD>hsh6%iq?MYQ8iY;V-*1fG z%ZfZ;cGUa>bbj;5bj{5*Y86bfQgS&iy;|45t^3R7%4fzr8!eVeUJr~mHd(phDGY4@s!8>f-=Tww5 zcH6^YJ$!5!Y%}w3&=_kuXG-AVud#i*Zb!oSft*7|BCu;r7n%Zm3N|b?ad&Q3mSI1- zn>&A|=N@rQezhAovy*BfjoS=>n##unVKbybL^8>GU)pX~SWYtk#mI=qse*O*WWK7RFZOhW)^zQOg)aw-Q1%vsDhdvAw@znLs>&wd3% z(d?9U5Mt2pn6)RHDx{k}QOp~aqg1P=_-bQzSZtxv%c4lzgdRI2q$2iiY;@FI?zOI_ ztRTi0APxH{SJ;_`i=3@D>)=VJRcg`Jc}}GanjPBYch)orsO|49bi&MqR7j|jSgyq} zX6tnWZUo}#OO;=D`nGfP-LUtvh4Zpv9+)e&cyTh0j#^pNqMtMHOQgWe#i_#f{F>>D zf8BCfW@l$q#LbJPoN}ZSg}l>N`6l1PXl!Ckavy$3#>~Kq9$=IEu!eZGv4Jl6BX48r ztFEri^^T%5fw&*Dqh+n-*k-qF>zY^)wIR@HzdUuHYw#?FTw0EQna14UNj zsIo1Zu+sMK%1Wu@Vk0+(Nw1HXgM(t0bo|BT$$GC}s_I;wCm-!Y9rIDQEtAJ&&88re zE=p=+!|iyHB9-7+@QJ3v!I<`!5A%SgQRaRC<{zFQpXlCw zuwZIRC2MK8J|SV}aOzyU%|#lFS0JpInS|!%=IC_Vz4&m8ibeiVuwSU#PO92I=r=B_ z&YD?_tSnFz@69Bykz`*n`fNeV2yPD{-|Z9jT=yipi`i;OFZ7I-=r zbe&iS#58A$VrFKb5m;%lc(DSb+ELAR*axX&N7vkX#Oa!@7eV+OJ3u^~2cYf3RdG5FO*zdc?xA(Wl;2&k+khQLBU332CaUN&)R{YkZJ~N^Ln4xN7vg0KZ7MjY*rz8gYyaIH)let|=-IAEknzD3Vh9B;A0`$H-KDa+TjVp8O zQyxgZncqI$7S#Dmm@=X_p>shl!^Xl%Aos{h?<1fFL zOAo_$I$k=0zGGpo=EkOe;c-t74;>d5zL2ijJ#jm0JiZw0jO(pf$yTPbyIOGW&Q}d4 zTIg#Av*xfg?v#_ZZCh+SZpTmaHiI|kkHso@`1ruVZoZS=#!;Dh4FV(uw}2RdvJGD3 zwVl~+he<7ePfw^~(CF|;I|sdD+16Dn>d*N-YimO@B3*d43YW`2|9Jhb)rfXyW5fP* zgF3(&oy}aeF1M(^V)Y{il_vkY&KIZL3Q^-R+MSi_D3=>Z|15DF7FsH;I<;L17VEZj55I0J?1~gml7tk(I!u1=*k3MjH4^;?u8CNKqop}p z$ggO+41i5sWq*TB>uw zL_i>*DpER;J;ywW*%x-K4xxa1!$zn=KMxU)*>aKIY6p#igC?FMY`+YwQo$#M6hWD0 zi;js-CM&tV2%e05(1l$HHq(Ph57$6_g~5t5DG{o#+a1x-o+?6~WEoyP4(lqLa+{o^6}2lS*awA*vvKjp66*BNb17d^Ac7#p+(VQXT8^)rrw?u@6aN zeOQU<*A)q&xnIYtW&A$UE^tA>&1!M-ye~Ken{KRQK%FQ;GKr1&6WNy^8zDg0lhuy! z<_(knOKKk?P<)x?Z@TAgl{b`(&u&CEZySZU4SH3$VoDyitMXf4 z`c1Ppf`lU5WBN1uyo4$#dr*$**9+<9t_uil1CA6IbY5H>@}PEnkrk}IJ4D|*$odqc=z0^qth2iE z5P!Pa?DM*svE~Cv|6q6{JY05)GN018P=W z3jDs~|7;!+(jEowc5xSQ}48<3)5)$TyyW z#GMn(lga)s4MGgHI)U%sgo4A;nJRm+Zn>DnJxa#X_~iIVOyUPd*C{vFy$1T8A3Vfd zKkS_6=UR3d5+wNr9}W~0S}=VGVhYKb1OwW+ZZ9VDAyIDh?LS122sm9uu}BL0vk`Aj zk-`lipuj3W$zAuXN#}MvtvQyRgz*eG;i25Q{S7TCDJvz9P^GyFiA^5~YfHcFg?cM% zxf2+lruX^f{E%)?NeM8U7kd|r93O|1-A~SX+vaN_q;wj=SjM&42pmUoW%v0;H#SK4iR@F*^KWLc=vz*EA4RJM1t6y_9ri+bsy92XTpruEp&Ydg9v;aHo zKCmpO#$_0veFvnx3)*h0rAJz=xn zLP=0ko4x>d(tU%U%a<>r3H182pKJGKgcF1lH^6!FkS6PNJ-|HlbF2E+iH#C$faw{JH(P zF`j&+ytuNeT=yS;Kr(mlT3TtTCclo((8Gj0ZPCfWWRVi6|I8zx*MA`Q&uPYT5wo+i z$|#c2(RqgcmV7fdo}@rd47+s6Ax`n(k zlhS^HCdt-Y;Bbo8l9HCrFvCy5EI`_~kVlm-LLr^;1SJF#1)plwqc?{d-3|{LLw2Kb z-YlKz=<0y7+M+$#iptttF^EX*(|q>?`s!-=F?}**kvOD6^{h!wkL_pca4(TCtF3l1 zup?tZkD#c+z!+XihN47Ko=n;pHxqrd;tZ3?$X7&kRrl*U9V;S@Gvg|G&11kEl2Ghb za)$m+Vlh58(n{uZE40oDG?P)~Fg3-24Sdg~u}DU0?gj!CfX-{YO9RIlocP@C&F-hU z8$&~hD#K>;m2UGbFOl*|%2(1RYtbpdIELH#`etmcI);Q6AHe5_hj8Mg)8;{jdmK*-Ox=hZ8q66T18ZAZu*Ml5m z+eHY4^*F6jg)ij=mAT7-2J%)$)tZXsC#3^pWCzm6F?)Pw#Jr6B&|P z<(T1%R8TkT>+8G2(#UAO11cN#4Q{>rDr_Q}zQ`txdQW}^v_KBsoRUVRR_3QJlMb148%?#$-mJFRb4faifX%0oY$AG|YAv zf83J&{oy@X&ji)s%cDZD_Q`D6-PsBz;0TRa{QX@Ik3#Z+oMUIL|A)P|uQ#?nUVb%d zf$HbmSZXL2Urs*2`|cuHcpgv4bQNnQu|Q?CZxB?dBd!IpNKvZ$!h9a2Q%ARMZeVdq zhu1Tm$0Dbu_K-Vu)RbeY$+6JTGBFXZnlH(d(D!YDmL2OV4F(Ej7F>RBu=&|!3ZaooJ~K+C^o}Fi`V4c8`&yt*zG)lOsp!!RzsVh3 zfA==L1~Uz3bG%?+c{xoOtlpT+TLMSRs@3Yn==L$a|6N)OkT zM~!mmiz0NzPsNwe)O80&ate-U#IAf$RYJji?oS{iqxg$)u?$vU~loDc9uNgPI_a-H?%z}2Nj8@23`Dx;-u>EGXrvr-NT z4eG`h;#Fyhl0844Ua7UaWw|Zyl<@Ojjy>OmUf;pMY_A3{=Ta8EPJd|6AS4x!PDdb| z_sgW+!Fr1(8em1^M=7(athR}l(*tqpuk?Pw;UMhHUxk2(2*v$18YNP#Ic=e-WN1>& z33U>D&1;qJ`Wg5v6oUCTJv%95L7dC(a3RO0TlyBstq|As{9@4ZF{#vys&hOYT1SIFiZ7yy~ZG5huLJ87mxk$ zv%8-GXl^pl?t0!SW6iyz8InT31t}&&Q-jRhW8JP4R=da(@8C1v3&fk7n?7HJS4Vj| zXCljCvp4cNFbW}3_siAES+Y{3LfcRUks95-dlxnc?BPxgW$<1nQni{^Tg1{($xQO^ zt`ZzDg}*$$$lZM=R1&x~^h$`=k0LuxwzGG3GZa zil~)rBFG0?{`^JQB`h2PNlPT!-QBLSwd1hbuoV^c2Zif7&u7`O3(wQFOpTN==Ou$F z)Mj;HQffdDb7pgYvEIgIEWYBfnR9hzwPktpzWj;slxvHBZ993SlrY2C$t77_wxjWx z<-Tm>H(oah7_s6rT~e0Y8-biK{7L4~m|DU?k1uhlswBHl;FA*yX7dmkjQv<4C6ZZ5 zMMZT;8dE$9? z^~_daW{Df_OwO#t^x25O4TW7#3B?BDrUq@hpQ zGOhY>=}b^$!M4`@$9+sDooH|rw2i;t|Y=wn=(d%Jk z4cI{336J#D;wK_()%c5z@+P9Q#m1q4%#^Ydv$C=(TWYP5tEUWh&#UH&xhMA>1cN)j zFuW9QyF&A8cryakxq_$P&uy^STI7osqEH`V6bcjHAaNP$6_nOS;CXVPh!ZZlGb zCT2I&#cX|=+WA>o@}pDsoje|8v*n@p^W{!npy!TLi|zDcAIIi(P;N-dY=iuJ5g!ew zD2(&bEwrbV!-QGHeK{&N_CpQ$6lgjS-X42O#PIm|tM*Icef^6f69qgYze=@Y!%O_2 zSehk=FOUAeiD$xD$yj?PCZJX?$ZddZlJX|YRFPNv$$W|9XvQZF8p6*bUp=R7Cf*0* zvM1X=6*{r4|M2l6d8_d?W$0&i>t`_VN-;WganZ>{zfM_AnjQBNnwp0FkmNr|=F1gC z#>Of(RO)w!VM{5sfRNtJAVB*N52m%$vcdS7r~dItp}It$Ni0*oB@YmJWysF7Iasns z&gKf71*K0M=V$z|SWvta^W%T|*v&aq{T;m*;j^lBV&&yqgOskeSBIId#6ai)3_ z9%z!SZImT>9uDVr_k>c|2oAXi(Ld43a4gY2L?#$UQS`|fWWSpf2`;=C>Ms&L-vNwT zHhOSiz-Iz+vF4U$^1ec)I*YGu9?s5TI(UgYVtsQR3&Ki=3} z07X~r{z3-p>qh+g#(Mm4E-6STJwQ5nUI)Dzwkycr@U{Pw-XQ3+sPGR6it3`k#|JH5 ztu~hyqF=roYPNh6;GYr4qqU^Hi9p(#wwyj#gfg+(pKXy=))C8+>WC^U4`MTI>AWAq zs4ZJ2@-}2PrM`{QyrMe&)h-bA)@pK3DJ&>1EB`gxb9xy6)GJp z*U_TiGItd@(=eDz2D%#?LfB&Lb-aqzuoNu2?uJ15huhY#_Ud&IN7>p~DJ;snB`P!Y zr=tjS;?dHYlL9sMLE&61VN?9hm(fik^UUU@>TSZy_Io24QbmeCL_#8Yjy`SDhPuCx zR>~;bx&jSJ#rpbX^;gd+K7qw46m!Dkt40ikgc4OA9uzEc1&IQJgSFFNIo}`b16lPp z6&?T0Orf5z7n{Rx*V>ob6es7WZkGp(%Mx)CktD!UWBW~?*8J>n_VwmN;`wGLWgM-> zHT0#!#hpq7Z~2!cS7RJpM8n(C6tfD0AGvQpa89+xl~f4(81C5Pu}YjyDOXjla_#2a z^!4VDjD$>90zRv&>=Ig(P|QK}b6^h=H*scHSQ@8QdYJJAp02aQ`LgtlWpR^XZhOI*(aTIiM@X;sL?~8YwbNfBF-S;cSz?kn#wv zWF7z^?DTW^e?Y?uqlF1BgaC!cWYiwX>Yk;vxx}4evH!WnT%sy(v~%3yg|dh}uqn%+ z)%}V33z)0c?JsokX7Kr`d{fTMq7Dv{8L;`KU^+db5V^uz=piO0<#w_+>)~=)URJDJ zZ?+weOgvSpo{$j1H~Om!@W)xQ0ZXfs{W-5O@eD_W ziejQ5_oDG(v$F$ki0rdQ>b0jWSxMYHgN7qft0vri{jYd5s|(lzSZ3iw&cT`VcxZ24 z8Ec|?R^(VDS)L%xqQYS&@ zNZ>p-2!kr!U*{q2GIi40HkoC!48O&tUkkN+^B8e|zRhIN1l3H3#B^tm>g_9T*Q;{vVFz+$m9Q+cjci~e@ddFvNp zECxoz=qQ-yBypd!blR~neoAI@Yiw!ZQlNq~G-!O>UL-e^PEM}-@^n&YmB@{qe|x|FNnC=vm_#b78Nl4GsU zp5o+KKdjZP{D3Aqhc;hprcr6TUDD)$#)2k93~F1eDk?HMx;y)AeU{$S60EVqPf`-h zG&$UQaF7Q?+f;$29^RbCSH*18u!9r%HK5D@baN@|OoXn;Y+TSlDib9Wson3$PVmgJ zNnmy7G^d%X9Zut!Z*ic#{pJTA^-RVKdS~?&d)j}*iA|OSE)#b9U;&*c4W$)@3{UP( zH`*R_SU904(Y4ta>UAqDx4IRWe4?T<8;>1i(JSLLCNbaT(0(;(fP^DWx-B4rn8xa= z*G1qVYo&NjC&PfvVlO$~B{h@RIp*x-?9{s{-9}D8kVgGzaqf71Ej*jt#%dn1^>b8r zR?(CBwL&o&#}3(*R+F<`Qz+id%{L&|n3|Z#j($&El$u6o-Y76x$mq5lMi7?9-pRfG zDv*Yv=9Lc-lU5aZWNWkv@%*?7=4?eD8E1C1P|oMRw)Fw+@$arrwKRG15!n@4O4V3g ztIz0~p;Ecd#>P+BwbsqN(u?mEQcNq=dz*4;=#q;p$)(lEy1{m(&+d>x3!efwtWGbETa(U-0?lAXj(gv|nsEB`^o^LE z(+fK#2D}}pTFD;Vj0ygaF`ViBy~o7>hwm6P{{>VGsIt6OLCsXUe*+bV&YOw!0H%1Q z{l8#}(-m(EIMFA+hJUPZ)35$}7O-|~_hLYXA3Z-HLhJfftX42*Z8lM{GEuLS>O06I z?&k9HBa4@Kk;h=#$HVbvbjb|J7}F}* zK5&&gEFXG26co=rPzJ`>8Wl8XFVj2dt8wRXhB@iC>MX`UtR~0>;&>Y;(Dz)bpF(93 zUU_^z`5I0xz2!aIIlUN2=swyip z$H(?EP*L@$bS{i_{a6Fd=wW{F&a@6(}p2@!w?su+GI;z9X_fC+|ir{bWLA#3O#` z9S49uRY}Q#X)b=$bg~XQq$f{~R^k5UodZ?~@Ei(+N413w3>?>{o27Pe&@Vq^Q5j3- z)2^MkFJxJfvBW2OJFx%7Dc{MWp(bMCbdmbMZr2;`NW_G;^HSHBBB*Pt35jxeMTVQB#56+ z0ESC|t0lhP@kZA@@|y|0D)13SNClGkJXAkdO>~tCHQ-xPj!%e4Aat`(QdPB9b)GA` zjs(rEfKDbNe@j_SrUUAYp1Y>T=7Ji|44Hw;IItjzjZIAkjCpL=9sfW75#9(wv?DvaYCFLW zU{nem8XISbC;0Z`w@HwrFzgLh0v24r3UIdr#dz-4ZO$`(#JK*+l`pK=&_AWTl5_Lh zAeV>L);07OTnvoL<(6jofX@w-67}~F?CrVY%g|yUH z&m%D!GXB%)?x5=xFtP5g&P{X3FK03Uw~Q zl8}oQqI?43sJsI6;vdt^tk*UoAs4{B9qCdBL)O4)^gCICCT^2#%g~mhw{&D zd{pE8j9W{h=%^ZPkR04Q>>q}B%kn?K1?>pvU$OHrJfB86k&BWGI$$s`D>jdeiUQKy z1pajWpjdRuxvnm^hlu&PIs5I2?Vkawd)+{a3?@3Yw_secyc$pjG{94eie?Uaf_ln7 z-~GipKYsrT>@%^*CzJ9|3=E9)Kpi}6_YeOZXxH&HyRTtn>W`t$Yae}u6z16|K5`dwj1-c^o%K+mj zv+Iv#yXBb5Z?Ibx&gC5y>KW`@zv~PNt>y<7XvN_`MNPIyLy0uLIw#Drq+f`2mpZ-=MjUOH06Z48Ft za#rj8=AWCBN=aG2Z&0U6lg?}&<|!g5Uw#_+7LX8NWQ2YjT}`91*v@yZjBai&H2305 z(m&L9XX^wd#b#6kRPkx;Gc%5>iRb*SU#C(UiL)|SR#x_kW(KcUW#o0`vA+WeK&d$T z4go5TTE(~hVB_)bU|gwl`Ms^d)terCJT3 zS?YoRcbF+8{*P}jNRP4u#F8i0C^gJZ14(y~%sYBC2{GTHoZfA%k}Zqg%xKqFsl3>p zq$H-kpUO3b5D;9zbwO0UH$gj4v2wpDv)an+*Pl;`ZO*AqYKR$jlBrci;UeiM?d zMQ{39$BYWacyn*~-O=FS>-y)igYBL)%yDI!F_#%<5Sz{1U1qmX&X1C*KYMg)feP-^ za`)oxCA;0BFkb&V+Rv>F>}4_K<>@mb_Ykl~>-;qe+uw-0`L?#O^S}rv=*q^e`w*i@CDa{}#hL>4vCnN;Fl)>#d zlm3af7(i8L&kiwahf_e)N+ktu8$sdkoxjNGH1&BMv{$LIu^}OYE9(*r^lj%{W{f@w z9uGrL(8Ql{(}Em&%Hk7VW^|;c{~~ zn|N*-6~oe%{=W9}J*>^fV9anzEsEX9D5;n@J!3d`3Y!>FEXl`l#gxbCymtG8o5PN{ zZ5{pmY@q}_7`OX(Wtt_*HF8Ul%+u7vPwvM42&DlZ8eTr~;SG-Q?pCwYt^Km+J!Ev& zM(ccM!p`_W$6SAXch?0>+^!S+P{IJ+hyf=AN+`fUNnh>jctN_%@Di9;iT+$sb2$8@ z#jV+tqxO2oWA%c1X9U?;sX(r?W1$0#8G$2@G4?M$*r@O(1CG8j8E8@5%qgLwlA^5c zJ0zXDdxB<^GxjFat&+2q?d^mjp?KSiRV+ABvVBEhem+^mZglK8ypVRtQBF&GK3)^w zYBHAJTN%?ZA>ej)YGbjIT*U*TC1q+=7L(Yj_{_m~_8=7w|1SWpQkhnXo>~R)M}QG| z^;GrxaK)XV};;ZK!+w!?wP8YV9tz1BY=6-QE3xsM$w(MAADsH`j`qiroiA`hr zb=ft8)d`PD9JjQEDYoWQ$rL9;$y`4)U;Re|;#|)jJ)>>ma)ItgaW^WB`grcK$pm|q zM?x6%IEKw{*J8yQW2L@-2Kw)%|!{xywUSUpdF1O>^)>bcS^fa)aq_Wx%Y*%g0)fo%4 zNnO6f|GzT`W+!6*5thBFfHoU`bNeW${>3a^0z2IORWu8^lXaBXq35#X=;a<3PJ54`^H|g%jte& z+xM6|-f3|4YaY%@;_q2NyV)?)?(}1oft{n{)!=+xf!D*qLX2hu0hhbvV%~5v*u;Lm z9oKShJnPQ2)E*g_O`u_D8@`bzdmD<+CT>OZEQ9y2zTNlJ`soq|KYZT+$e-xRmw&Me z;!^xP`_EFrQp5j=RImwv_18fdaw5R^3mr~DAYi5vBTBfNpCIjzWuM9)6=xQgm3?bo z7g9OnxZHZbXOPVw>`L_ytDuO8)zrVY3Tl<&&PV;LR`Bd!wSw=^v$?O_%@zw|5()~~ zv&vQL8y8y~!uZKAR)gYbONxuhgY|f(tZmWYyfrn)P?o?#F;anf&~jrTI`?#IRQDna zXk{|)Z?|QXWGu(7;LIG}&7K;NP3g0|h)N)rE7K5}pE75++bVb3jSY~`10HQ^K+8fJ z)}OkYLm!OB>cxcS1N#*pxXin3c|3Ru3;Qoj!8XAq&H~!bV&73OZzzp~$2bAPSv!`- zkW7_v12D!<`lPR;tZW3p4NMjLT@U#@A0J=I+k1~7MJj5AO1%_St?G~2?`6qMMfvd< zZ~n=*?qJ1HDdVDG2uHEIp1o4&h0uliZcmhY<;6{V_o6;N7%D7lx{+~br;?hBhZ1mI z^qrfoeh6J|xaBEaiCFI8vK`S*oG1ng(93Rw#$2SWc`a@&_SZfl-kZgpS?xwITJ(<% zrJ-=>Z_%KjAp1hs#~SqX_}^Didz9Q!I1c-J z7L%W%uNiCt1nJE;g1@JKf0M+5&*dH*0XuWUxs-Pyf;N?iiB-i>YLU_i5Y|*W(_FKp z8Bo71^LX!J%bl$q)>4(8V8Z~P{ZT5Z(zrhtU!$qt@~i9F+VM%75(x>(fL3$(1K_~p zAN1FiN?+&dIJuEITzZae+QZ{BnEt^z7OusqS6^?rVT<*BJSF zN?e>oRqmcYqhi8X&a!iBzs=Jv!=81F-kCyCgI7$f;>*u_YJXF0EBDn`TZwhk_Xdy$ z(CKhVsPINAwD-b>@Zmq8CsQ^_TjCro9Nu%4dHdfj78N?v!SnokRiTCwKDTpE4-IUq zyF19;L?hv1;tG1G)5N(e1>UO=W@H!+r(_{Et`)1)^nL%%n|chMAWq#hDcd^9yY#Fq z7Rkxccf7whUQ&>aoV)i~w$bfmAZ&tdnRF_f)FKq*kR~a_c_E3VVCN+)EDQ+Jyi7R# z@cbtAS?dWtuj||EP+SIf!71rTis0!I&8)J#yerWpbuIv(ZZm9i-9)#UfZAnll_C;g zZ~Ibh+Z!noivJna*2~W$kj?n@_|$mpqTI>JIi*b5o_-w2>)>)*lgw}IEZ13@hzHt4 zeTYuS;V?iz=Nn3n;Z|7bUG3hVt35?}_38+4rg=y)X`Ea+sM(*IOgD#sb0RuDE13lS z*$1hFfn4*LkdCp*$&$l0MwbJv6Ygk<>~o8m^o%CImu}f`V>gAf%mqG4lz7@Fo-i;l zO&8G^jCGbvmHM~L@ElmizOv3dyqU@a_)wG@9L323`P(iK-PEr^=XjWJ&|m#9sfPb6 zE-pE_+Wua(&lked=~BB+IipaK70<{0HK}NRYX8ysR@4LA_JQro))OJ@=yK3om3ls% zW~-8Ia^l}ZHf=Cz{8b#C65@k+>yONiRJ>emb-r8_J(%boZ0ngG$^i0G`I?~E#m1J< z{ouE>Qyaa0AJAM_ELMa>aBYZ_p>%b2#!_p1pr@~dc=^7g(Q>^zgL69{y8^oG>%0JL6@bt^!nayIOp-44|TunZOWq_3O6) zT?HMKG58NG3Qd_cS|q3J>Di$(j*&@a7sG;m{QiWU5?G}ITG9XEX=F;I|K2wIAmE+_ zZyr8Vugu;(7Mx8G^&C!%+gf1uTY);YaL>Dm0u7hFpT}nWzM-Uz&h$@&yg{&)SDUv~ zD*)9kMorm0p!#ReKIe&&_KS5@t!guYGK)(n2VHp`m@eA9gET?5ch3Vu*2EKCMDQw z#yg{b?@>kG$MRMVoqiq}8$;al>Ag1!$_XAymFvALkJR{Z+y{LNgVLGjP!-0W9(c02 zG7X5?=;qu4DJ#hpXut_}-rC%cnB3X^A+o)CC@D2a_6f`+B*ewxdmA|pzPEdwK=SiI zjmQ36^*Y>h=t=sET=;2D82-nvGU#K~4G5Lu=zkbWBZ|0ze~VBGImwT4>d&j^c6|W8 z^r;dphrR4G&8ZA8*bq$m=nhK?)Z)K{hxrsv!h+dnG_yb$ThWP~*LY6$0he2U4Is>V zU^W5tP-#qt%x*bmXo^)Ih5*MAM!*A6|C&^1@dlgq%YD}yM)JPUA&vTQhyX~4lc`kb z&C)v&7#9fHL-q6w#8El}MS7Gzu`rEKj$-lH;}SQ0{z~pojU>A!yO?`NaW*;}76Pks z$kUvcmcjWx+p(-#N-XU%ZT|GO*<-oF>ugj9IzCb6kOuAm`Hc`Agi@+J5&ieqFhW?f zx}4Q$t)K9;@RMe;=Jso_lnVe{mrO(Hs2XC1)*TPdqni-MJ_G%ZR6@nAzvp zUvE-}d&DG1W)~I3;bMJO$@H$NVN$c|Jvq5Jar`aK6!Y-Z(@Z^E61)KR``5N@KY-9? z%^B&lA7Il*3(epe9^wmTsQ9^?fHYCAV+8ayU4YHNK}gch(g|-Sy0mX~?ulqjErpgu z<2lIRQjblkFk14-YQN37H5x8tTQ5`lloUxyo{~Ak8McFZZfl46HO+6#%Y@sBkc2Ti zTB=vQEfbC4{%C!Z^6>I-TV2poE3$ZDJ;5$WDw8$B{h2Ky!Yc&OI|C8OyMcxrK=X!9 zJRUwz@HU|SO%yVWF+|s3>sQ%3)GoX_MTor|7`P&`)}>W~jrBbPD!)u7KTmrdOQa)jlKOnGC|1RY{%sJN{+<9C8PD#7mAc*4i9On2wCaiYi?%qMd$OI zb0C+(VK(|y-o}XUa&~pBB-#DPk68NO_alA|eU|+n{fOw+&Qyhsshn0io$$5L8kwBZ zO^}x~G1}g_+1OXJvlzNF`ThI%$;RhH&gD_2ulqFl;5wQS6cpUr-aVFE&^!MP8X zszYKB@l){s3$&umXK3Vr~7XVFTYe;XwP}X#N$9`pCJ3Ra?s;;h-)F9(5+s}!g-l3-><)1FNW}uzJ z7^-CAjC6FL)9M^nhxWyEyFhdWd=_6S=F7_S9iwSfqxIUCVi{k%hzrU!Gv3tMlZo-A zx8`_~DBe^=Cb`{bjERJqByEY$hi~xIOUO`1+C6zOG%&Fz@0U<5kesiWJ32TSvxB$X z_NYEf-jed;pPXL!0bvL&ff+BB$Lk;&7NK&7ZlES);HMjmpdzYvTwT(m-M4?NW zRvh4CxLwr46eLo}jm^iu7jWO7ZRzpzWkp0FpDNhe*>>t!X@^$_PPMn10J+C(+UYqC z%U1Eq#)^S~&W`eUg-9K~*+zI~3Q{Wpxk`7aW=Y|XXt=SLh^J1?pjJS=$vvbONmU*+ zzPPvC6sxyT40~?h$>g!>d-QcRKK|k>!l0hPAuga2l>q(%(hJJKqV;JJOM*jT={GZO z;GraRuO=;wh$qeQt#C)P#VI8@nWT-HQ-%UV(#QMfb6SGK2e+HvupDQ*9r`Cc3Ubzg zUx!!okDnD99vpBJa7!k9$`H>HS5;L7hoE>oCbkMLw}5HW@^}OtZSD6rra{$j&dy(6 z67WuniKz@$!k+IN>KT!t!QWmUNEv2?RmNFDtoW&r!?4-+y3FmyAN~ufO~Kd=c?m$o zg6;^k(><{dWbv*ZN{Pyj|0UJ7c}qejk#HQu-Ex!?rv&1J0O}B>#6(9W_Ry=Xi(?T| z0bOEmjxJ?DweqxN9Hmleq8H4)BXI90z9k@dd)9!i^B<`;ak&OSwXt4xQudPzobO#T z=+nyPCgRMIg9o(!{Oiu2onpG^NMWTZ9Lo(ZEF`S;4rQ8PnrN028dvx3zUSrHZk_4n z0SX3&u1J_BkqgH&g&JRP9}s|E-5xh2GKchIP*)DFXQgSS%-LBiwNfJoG0-!tvk+~H z&n|#Wcdgk%y?OVA>2#SqQ%p>C2oO>*KvbFGZ3{OAtJ0a^;oiisB$_W)>OZ#LPZg_u z^nfRj8lRqy3$y}KYK)^7EiM;qd0ztCHH6(i1-DBfm6xdTJ zr^~LdZ~m1~%S0*J0k_?R`9ibRRrqJ1xEAtBs;-_WnSan9w+KG7B{64fu)ba%W6z48 zSuax5b6M@rp^V#B;yfH~%dU|6<1;+|Sb2LXoyyJRex|(nK?*!zEf*SpL+kK~n=HS~ zf~IjKyeW_&fY(R`le*9kd`rT}x?E15C}P^EEkk4+`J zr2UxTHU2?bObWC&z@*%)$)wg>pNoU{XqRJhxn3VtLy$2LiEtoyrj^U>ATZqbH6xDjh=cBc^u*zeNNi^w8SP_X&^0z*TYVUA8m#EAK* z021BRxtW5mRb&4qW{?bVVrokIe*kxJz4`~-wS@8;xb^peaxYCK9TC`BNQffIzcJd{ zA^;YkqmlCzW?NR3who>-)xS)MpNEF^gHZDQlne|Gu~e#onXF{t+PD&~R4GKvcwHr0 zD_du3^!r?RX&jwr;Q_a}v}hk&P^QlB=4;!CrD`GPn4Fz1&@6LFz$lA<2ejEHXa2~b z!#BMz9-UH&VkvjIOopJ53PR7tNtCIy%&ii2LJ8LF=Q~U&E2y!>%DKwV9f~0~qu*Yj zK?WXAma0@kLr*vECbJwYog#cpJdpmvyLQYD>68T9dQ-VvD$lckS`o-aU%iO^k9^m) z!ZJ8;0I}by>gw#^S-^qSn%&2lBZyVuvpf3d_z3CQo-N(q=E~elSuMVKg8*6)EG#W$ z&?Qg;vH{=4#r!wlRV!Cl6x9FA(`&{~iS81pCJ=BqmDNQ2KJe=ofSH<*usb&&W8reT z)^e-9eps`7^6mGB``e3yD(C&VD0tf5^bymIU@Qd+rQGoZKfhaWw6-quG)Jn!ynl*R zB2JtDzAW9j#^j%Lmue{(L6t4n^J%t6?2Nli!>5wyFaSo z9;n{xD0aRxiT;wqdXMbZI%2lUASXAQM!hn=cQ69x<#ef9-j!wugjiVidxCj+ths9c z>RR$`3Wnp#)p7Ou_S^I08RCb|lKXQab8D{bI{9ZoMchtY6$@Pn2)@zck14nOVd&TwN1YUU)` zx6#4Hm4q$ccJ!NJvq!lq^=tiRPl4woab+YN%a|`v44tsx{rcB8j;x_rXcHB7No-Yy0>3x!j-L0) zKH~FO+YU85=^bV8Lv(K4MS6+-Z-`L6y>Fh38C|dFI~*>%otzbfmLB|i3NxI1yV<&s zK7R5QcW0^OHlfPU!xh&4Io|}DuE2eB^WE8i^}#3ws(0sD60?Pwq3L{s*C`NatToM$ zeG|`7O~m^6A#Veol1Uw^`7K;LFD|Tj#l*w#rPrZAGVN40gq+8?G;D#2&(j%^2zp?9 zFhS11fXYwj1kXMio2UsiE&Y%89|;-@6vl5xqq<2Ab!2_`Gi4)S)J8Geoz|zF7gD0~m~*q4f@8J|Lla@Qvx5e=vGE-pA20k;R4@9lH&Rluq&=?iR+I^wE`ZIyO$ z*1T^p&@evaJ$NUS76R}ICE&xvXUKL83nSuB*i-9CYfhCvKL)-aTD+*(I9vM1SL;jm zXSdq)Td>ZJ{264V_kJIgA1wa-FcylFqO52RgbA8P^Q)=n-3A=JO{dcgCEP#$1wM+T zJJ$-^pOD(tQ05H2we_GjHd@{nPvvA~l+YE2LhC!NdP#bA_l1Pth_*UY8NSLjLE=Q1F4*Ryq>_j?nWClk8vqmamZf z|HvN{q~Bs=Z=wGARphv|E0mvke&q%4R^c1+0%JjiXT;urzH@R)M)Kz^T>B`u{`|9o z{J=kd^Kb9lC@={H|9W@-TpGFQ@BfefL2z(nWCUDS;9a1IdA95ym{(r@o=1xcZGC-x z6SeK_zrMl{9A!z^xUA04Rn|U4vW7ZVPa)*8WKe2m4K1a-^zyH9KZXZ}K;s_CM4FcP zTe*V7L`HUXiZ7UN^|RB{d8vl_hf(jbr_uj;S-R8ZLkm4q5xs=_*N)}J=)Zsc=nnff z;kl6Nj|HGMg%YO8+PEY0_2}4aQBhOG2;Y4oBGl>uWj_J0{&`XG6~ey7WMm%cUpbDF z8}mVuW^OjT_vvXH?33x>b% z0468}x{enp_+@i_3hDf+4k1V5!lTKk&9C_NnSK@>yL&vFjpu_4-yPl3Kf1E zd?8=tS~Y?>jbCp%>JD6tv?0p+Qzf;ue8GIERB0+Qq@8yU;>F*Kx{f011BeXHUYEO~ z=`wHr3@WQ{msenJ07|Z(6#%>fe^C3Aj*e~sLDyhsjZ@VI_$>TTh@xs%n-*rNr>DnE ztH!+uo(u;du2m2{Q_sr3n6H*MG(so<;0$gdR|=9ZdQ^Wd(P__4JtI?N(uX~FFLAQx z@bC?|)SBz!ikgbo(E*LZuT*gHGUc=@Ss4=>``m;;E*%R;p*~qLqEw@Cs>m=Z;XH?} z9uN{=-S1a;aMo)~Co8LJNO_j&+>0rIZgiF~_)Sn;aETNbXqQ_tgz3yIdyJX)$>e*A zrMC0k zY<77@hGzy9^4+r}7PGyzJt~QU`rW0`hAaU}Kku^P3gGamG8}wX68~crT}>;gNXo!# zP^T9~t(#moI5&5Gs zL7~fkeY7#zn>>oQYB#yE+iaIAOq@s}jStgMafulw`9w`Z_1yu1O>1rUk=)i3|El-v zVp`j;l9Sj+MA8TX0xa}qgM|u(pV}>^SLvX9Wu@$0xYj8iB!Y=lCL-MTpdB(9VBoa# zrP4yRQm4)G2oO~SU4IbjkFZ)f7|(pCxQ;#6thZTl3V6RTXdfI_2!n?QMh;w8toH6S3hSE|eutK&U@+CD0aDxvLTcXEg4bAS|-TeP@|sb>Q=KRTUeT~bt-L_hTV zrQY$anUKo|BT$kuF{Ix7)j9yK(CY<^wK)d*4VD`TQBjkns+E9P5p}2%I&?UVN$+E7 z|DTas2Pp?I&en~(j5i{!VU_QhNy#bPKT#yy>9GAoY73-;uCo#x#~vSl%q^JE zCpFxi?kb)hFCjV-xS!4r$IYUt>vQ9zMhy}Pjj-NBDsMkOTre=8Awn)Ts$KvlIH(s) zITSikT9BbBDa@g^_-QZ{i7BD( z;IAfy@1SjQUA7 zeLjo-b;D%*#bOLw_@s;Ie62Gx{&i07o8T%G0h`0+Y%*iNNCl2HNrNJkU{;}8LWOc1app16B=*-@>@Ofth-%|)#g#w$! z^ppEDhM0cNspWcu@DnV+gmV1Yon+-z-2Re+6yl-?EG=hwj&soq;02Avh&lpyJ4n(BbO9ef@fa$Sqob zJWBvh^fc3ZVv^IN(L+nt&=Ij9nEj%c_1m;$l_8qOBw%~=2{mmAuJ z{G!s)d`B!>0f=`ME*g+SLINU3h(6w3&z%4z%)I=<*rSB~eNV-L<;BIWQf_i`ASLUk zQEC$s?%`^OZ*cH1P=1k3jGGC}bxT*lgfdu`epQcV$mYb2V4L90c zoSg1~bXQ>12;|Lp=ob*pOs?STakSm<;__5gWj8kh#1%wo^0P-`F`K^*gfG}YjuLqI zBs%L0^fce-%7Daa=87PwmaC5)NbU=?yE0F%%#_;h3>fwy3Dv*X9RX9;@rm>!tVCv0 zJvy42oaB#?PxbM>y==0w7s0V&C#X57oQ)T1HI_@Q4;L9+ZY^df#@S+94(WvYD;yj& zYHeap4&)>Pl-1zP&8{smQ_1!a?%s0H`7MTeQ|3PjxGp#1sr+E!aTw4(54Uh|(CM^m zw0df5Xr#o%ByLoNmaYJg0U&=V^ek#{$98wQqh}4#8ih(y@`u8vL^Rg;__$BIw-D~O z{A_^L{OJ;M5s@chZ%ES7#YUYOquS8c)own6A-oLotS8s%$AfY76$#1E^xjdTC|#5v zESz;#tlf==Evig9DfKe1_64Pyi7zki7NywXILyGd&F%Lo*6e$~{?RwHyNk6# z;n0L-tutr6i^xp2j3ljHrQ^l*X3>XpBIcuP? zgR)!?7tKjcY-*3lC{yFbG+Z%A0{FNbcHry!Z=N$it+`O@Iy^j7yH;nL(fn+3B)>K^ z-ydT3Qz9ts@Ub~KKP76FxsVHG|LUriR+f26t7*1c34Sk+`(hISx{(@ci{?%Rw6wBX ztrFAGUGR$yCEpwnE*fOnY#uN^_2iENDW@L2)XIrbem@Qg2_BEo~jwfO#zp z4g@5du2UX{kLQS~-jbmt!2>#8ioJ*i&uqWHx666r0#f&p^CdoyBo$Kl8d5?sB=qeP zmIr3)Bh{1bW#>ah#->p|za=t8#(IaC`vS@wT3`ZVWCqvOy8%XO|MmSXF)FLoT8rMy z!0zrY;O^@MbqCO_By6Hc{O)W2P|R+2>4IKS>I5!Jj+U16v~+-;<1{(v!iZ%y>k)d& z{i-fSLlcqV!-HeV(rUHR@c#M`{|}hO$1IBYi2&bsb>hw5`Y0qGsOL*!(h<$@dzNXp z2V_zuF+Tjnq}2w(Q_W|yyifZA5%0Yg-hpt$HS0sMTI3B|MGTAt!Y{*>G^b}vQYva{pQxeMnks}4K2CRVRAoj*iSDYx!G*>S zMsx?3mUCN;DA~Dmd3j%=nrhdO2lWU%$+$`!F13qx@_0C%ukSsy@+JjH=36nt^pntm zS;GS-c&}-u!suvu!&%Ju!~J7OcE48W1m}xIe&fY)m1&^dW-z={1(?RjHL;~hGE-vU zskT=;F*nKi`4__A5%y-%aq+tQfF{Aiy2mpvt_H@+v7%vKc62nP2+U7mK%V+JH&;?a zcr)n>CP$ss#o^)YLV%;^+l-(9{`h5Tg?PRWY*U-X#5thJqf@V@X1)u>=^5&h^CfSQ zRinljVo}?yst1OV0Ua}s+j^Q&sfyQgfgu9B`C||O{8g+py*;Qi0^|mx#ekGHo;ZSy zwfTIpL7}pRs_fkZfFIy8n0_U?(|x&m{*~9~mu&y0*5MQn7#b02G$@B@@*1sn7F$g& zI+0$_IITwFvn){CI*(D|IL^9zp)kQ{dyl#f01vqMu=q6<`7%u~@Gc5wReT|eCKD=k z=udvu($G+Exj+@eb4rOxtTxy`11>t4Vr&P3uh7KR6G|I^0sInsXRd2Jf)6=wI$MDv zZ|q6hTw?)TG+vE10ot~|X<}@)P%2HS(J8$XiGbs7VyPh_qBrj~mYKP@zRUvg=CTR- zyUW2kH}Z$e)Kjp^DQ7)B+H{T>oF0{W^Lh8@w>4HqLX1$NMnCMF1QY>;5!Mk6#aKP% zLXgbFj7uXI%I(|U; zSVNX{P&Bov=5cu`Sy{FC$o42#tn{N|cSal-=m2P9c(`XI{KY!Y_KJ!M>TM{*{SL6- zf1s2!Ol?>0SxY>@z|%pPr7)XKSGhf=NFRTjqUB7s9xlcNM!f|q9_iJ7B$;& zTpli2V!QK65Ksr6STZ2pX$#;1qTU{-a&@@fga?6<8$e0O0&hL_a6!Tep3GhK^PNi` zAN-Jz6mV1fnZ3;nSC!{Ti#2Ig7^Je?VA90p^HHOWx0Wle9Aw9Qu>jHe|!90v>%2hEo&)Dsbb#bPdKb*vqK9%Im`fd z=41kkF*2P){0%k%#*D=C@l&oF6$uH2Dq4&w4~Z`6*%V;=Vi~WXMbCs}VN$Sa@|U z5=zRCPDc8cpEtmjqOpndDp$Hr7Irmno1L73WrKdoFORk=ZC)Y1t_F~8D}oaR-+b~- zx3aWMOHEC^Y<6C~LM1ay<#UU&Th3@dw z>9th*_TA(9@$Q6`kR~qm?HY}W_HvumZ1u$B|RClsRaxC(q`{oPfFn=LZo)F_AJP56QNT+zrq z#_u=t<@C9tHftRSP7qU5!lMZ&l;5nZv?mJIfiFQL3OUkUZFxC0@}Vs%tXY0^sj#qS z+;KDlU4dmiFS+L3)|O_#-LLwl5*ZejXQn`-Z=ku@`1R|g>;$<6L72>A)R9LTYiNOmAMcmx^mkVRbQeeCmWaN3){<1AoyHBi14gGK+rv1u`k#x^U;Q3v2%nb zB1n`4C?oK0P&{RV1uQRXsVoJGzFl5Pa@rRGS1s3KzRL4e9ip3Pd;8vC9N@GCx zDO(P7jg-#`#yl-4P)1hYzFXp4$U`bNY0R>g(9?Yoe3+Ku%7 zh(gWxBY$7wtl}ZFbXL~$^gphp%p;1SuXMwedv=>f;U!So>f4` zKntRnowk>uZ2UFr=UBVy7JkWE9o1GeM4G!*iQnO37yG#W<)c`$zLDNk6+c)M`E{_i zmUg99yMz)kYFoP|Q)4IY_hdR`J}>{GPfn-ncn&)vgNWl+>1iU7afj7WqLD#02G-V) zjdhk;<6T)N_`cjy;o&=|sQerPOtRCAReHYYqX`qbO4AEEF?Ct8R@?j`x61XHc`25!$Qphx7`cqCcY?Tm6o0WTR7#Tw5K&ocIx88y?fR(Eq85|6WDD?d0_fiKK{rx2^S!m>{ztAxEc)~B%K_CiR`0vy%rbQ zvI#M{R^^NQyZ;Rrcek+Q0djAyyf&^hGhi|to0}~A>|FNt?|iN z$xWrS%94vIfTEWpHDFv1OZdGL*yI*;ecinkmzZf|p=fg(6dl7g*k5n4BJ4YwiAl!QLfrL}JBn&05AL!pM1LeC0h; z`lU6-hogx*+=JMMCxxEpMU}bbYjbmFtNm~=Ffaj-kSQrCdA&nJlgK4aKv|%s9jWP2 zJQqSK2gvhgU)Q-zUzs6&Zi92nj8DgVlP9_HlF2PzT&ph0PM{&Wxj~1tdRqEe=+;gu z14)`-%xuXpLu>;9D9Ssko0ZccFX`(`B;)RaTsrNN9-)9K3|ft^3DlSNN+C=w%`HAx zuU9v%2~mhp`g(e{cjj3>G{l(IY6s*&kEtmsQKN5?P}2=Zqt&#)eWxmH~Y4i0g(ACKeQtsVt3AmWf@lJ1y55#;*_ zDQQh^k{9LZ(95)Cn81`*(+tp6`@;Jm>?aL4X$;qlrKF@ogmWaU1;kR+2UNgti-%Qxzlrluk`mN3{jyS41J*jU9)*b$y&JENSUT~1DCzd3wf zPlaPWJOAe8<-M=1X2p$B*YJrjKZcV(VRGAwWMUeAZ(bJIqGNtR{|uJV;Q@6oi_1IJ zp>A)Nzy${8yYX7k>3SCe-@4Y}X0jNiw<{|GDFSyuOLzbs9vaC=IaSL9gabBfLkTQX zHyZ>-)Hp0QE8>W%Vd3u*o%<3|Cnvn+9}s0u{Jh(*2ewDM@_gw6rmw@O;`XlE+}z)V zz1JXl?=Ds%PqQ9@oLB4wm0iSa1<)z-R4HY7YnzRBPS-y2h=e?<`uyf6ueaCWnk>`C zjcy<&mgu*{eFYN>12)&t>wJ2RBMU!rp4Je0ND_PtWqV@=&(Ala&pkhnXMZ;|FkzR= zoGmMo%9zhqWs4Dqghc=h#vLxbLTGt@Y3>fY9U9w$9WU!BHlw>=M+SaqKQ_CAsf^4x znOUjhSF%UYH=#<~?nY(2qo{tv-I4=MHJUGeE4!&Iy@yK%WlVW__u!g6^I0){45~|n-|??_(p*wp?HO zY@dXJbbK*Xk$t>T&$BA*ndZD{gWE#I zm%zxyI-^kF@w{kaXh{5tWX1WykReHsn=6C&C+$X=Lzfo_HOuqlmY}ZP-7Q7948h5f z%keL)%NZam`emZ|=6Z>?8AkmPn98JZ?D_>f7J{hX*a2rJ0V}uH8@c=qAyLsls`|wurj&{Z+S8CI@XsOVISQ4}GeC}{+ijE6 zjw?VVZ}51yI-Klt+kRHd8IkOeOr-T*07bv^-mPLE79aM5^)iE|<%`m(g4fU{Mhg*g zsd>hz0Z%M8izTI)-oo8V@Cu_Csmc-T0@Jr9wWaS;HpM(4&t_gsl^601nk`1=X&T_$;VXEi&QB@xG+stL#& z@>Algc(Vv^Twsgj_hlx>1~!2%kK{rw)^reBF?n?A35jGbHyLa$J!AEu$HIAk?z%Y( zZ@CMaj7GU_Xe#3IjOT-^*g>Fg6_1z%!qwrG+dne$cE1Ctib<=+_@I0kp-Z9%Wi#>F z?2^)I^p}p6V+SKQ+N`zp_(6)g&)l41Q-k1O1$5iB>K(8iW4cs3^v|%D;C^rAiUJiC z;=m7b5QwSqQ85xlMA*0ywDR~#>Iv+p_g@aNQq1IvLOhwP%cM=J6i{=YxWqN}u+z=V zl|}C@GQ`9XnP5L@&iZiDP~4+te*&Qs?0O%6b5xEs3QZg$Er2??AL#HGB2IVvSW0kQlU*_8w=4jh!f(lZAC3+6<6qO{b-@%A>mE4<6OM8tZnTcmA9 zh6XO;DY#{pv}R*ofoCz{GCN23C!RJZD{(jDr`$+DAsIW1C zno~DDydj}d84>~U&sl7>couAXkGnER9)v}Uj{fx;(RBY(4OiotWxJJu8*c>Jq z0^VwuQH&=SW}rufH}nMfR8PPIghZ)E8?F4hWGV9hw&}B4{*EW{bacE(6_9BgQGgb$1U^ zXUh$5TpFjC%8BQyuOwKs=*W%-<7qSrKXwo0zn694SjRm4Fflm@3k%yJla;x;A|fjw zTfpKnl~ZMHq~B4(=ERiO?J@^xlu%`I27gT`6}&nVV^-D1Z@oc&nS=k4)) z^XNXQL=B0m6crO7`(2VT3I1&XjK4eE(a~{>o$|;@uXgcsbk(lqMTi|$a$rht^qixS z@RW5Y(j^mmsw_IN`-S{$6X4o1b!B9VfcPJHB6);lZUcQwc!lq?Y;=_VJ>M8Yl`V1u z5CVs`TEeGVNy25{a+af{+YSgY?&cm zzaJi>bAi5HDY&X@F)4-ka7^YVcSlG1S)ADn+F3au0t1S%UFjg^X}IzY9~s~gA%Y4< zDr1w9s!ZPBY|caa4fkRFuUT2hb&wvq%kgk!-ft#0ppcNE6`Txxq5yKDSpO5wG0@pB zG)bs+79oWW%?C=di{tYRz_GTUN_EJ&S{^)JqMnISMoMN3UB#TP_WGmWG5bi7VV5g@ zc(>mqfqeI6?dV|t<7lp!WSn{B;6VR+`%hh-{Hm&NHx1=I7ueI7Op!S*aOeo>8an23 zPg8rn5|llva$!C-tm3L`&4@bHG%Jm-P1xY@@CdSLTu*iS;L7xbKG{W05((}a8pk^M z0w)@Ba{2-Sxgz2HPv~?96*fI*SYnK|w-9TUns&azZ~N zlcJUEeTRnjdAZIjFwscC4!*v&dj!pS85$X1S53i0{|uF)bbQTRsx0s872RR2!crMC z_l-TL0!2Vzn$)jnj&X9<5E&h^h+i%PJm=G2P*KBogLLkBUp%*53tZ@@11J>Z-|QiRXH=5s$z`%XN)Pjg9tB zt^AGV3%M20n^k)=UQhOZgdj zB$jHkJFweu=984PG>5+ciBhKIIb#+ji2-7;Ul!!eO*JaS-++Y@O`pE4f&{kT9~=Q- z^R$LnWnJ{I8UrV(FadLrX^IkLx{jP$*XWjLzR?S{utvuVtWT6s(kP}rob2C>$WuPb zF6>rpSvE*CM@j){yaY(Kh!Phv@5ol@G(*ibr6qJrX3zfuG&GX!+%bTo!-*;n~?j`4TVexGdrPBnD;#Q>8zb>#sL*{b4o>AOIy?ja`i~ z|(1L40l!d6SJ%f}WlwW0(7F?nD&`Lr!4p zc5~W{!Jm4q^ z5Xs36?U`Ots@7cBj1)=%Xl0S4Vq}^5;{updxICv*~&r?$lppbYtB> zaS-zM1oM4~yi&U~A-$aDsW=P8uvx3(6wqGvOAgEz0OA&mt6FdUsfG8EGl8irFZe1O z>j~pp$%+ZXubU2P@BzoE$kT2HL4#31$y)#dDEVw5hrmKb?6JE#WQZwI1M3w=7#0VB zCPqGX(^a|j4#3SK%V5R5MN_#4;l;gH>Jo_aEbolB?suD*HMkY$lNf%;F7 zmnMsKT|)zDrvinNy0uX-?>Mjtoi9^^AyGN5bihVH6n%qzL;Haq{(#M@*T(Ao5>lmp z+6}fg94T2i&Rka3@ubxSi`q_x%p1&7zQSa&9QLSpdwUyzcuzhG&nn=_Bz6m0a?^U!|ZS}nRbi*s`so+rx#9oYF zzI&8Cu&IYcdvBG*Q}HjF7#m}M`c$U=urSxf_ar^w;xgA*dckNEa-8}>8wei=^cQyj zoyWu(1IKFGmBUiWj@xcQL+w4t1csknLVH|q7ekVF2B)| z5f>6c;)}HIv~3sKLsK<@BlosXrPE@Ga%oqV1rCc9Wkb!y?(kZx(`J#2#M_>H@Ji(IOmk3TX9^xh&uOVNeq&wIP%}Zdoa9w})avy3T}( z`-BWU!;?P4y&suK=GMk_dG;qR3j|yt(lM{ItvY8gG&n;YI% zmqHnf$*i{vMw7RC7dXjLG}vjmzcdBwK4DWHwg_rL zlKuQ9NB9MpiRt{^-8hYk-T z4PahExg7&WtT~zr4HDABb{qb5<>!5vI$R?42s&)=MSr%xZ+yJ6Fmz7|*yHIIu4}EHntp9`bvSF-oM696q<)KbRd57v z7SOgr#%xw1$gHB#Gg%}rglf^*>~#s7(Q&!nR-dk~Wy@VT}a?ZoV9 zY%qEHnKYj6$!*_}Ew*5(yrRCT>T)Eo2v?q`StEt7>G_vedh)WPTbl1*5+Qx55?4Ocd}ZEz{@wz zEiGN~jS9rV(rx3BvBITLIzH2Egr56!ytTF5%qWzj)8X3gxf4)#>%g!!y}D{MqJ)Ek z1MLI>0g>K%S!s#-;0>0(;{27KzS;TWEqI13d*pFnK1)Wu-Cg)>xt?g<@o-2lsEUHu z)kBl>f#3Hum33l#yuT&)5tm;@ z@+Yj;ZJvy3Z-=ODZK$Xp$J5{KV6#@Sna!I3uXM*O$WNe{+*qi(GY~!;L=a^DZZYs^ zpyEM3HQz?=m~c)n$3Weg1pVtcsgwAtvSNtjESp9hAj-pggy z;$~-o;8#d33UhCTi2>uFXJkdiSU8DORAQvDIiPs0i@ za!-zEXBhlZB_Gt7<#dZ{3Q|KuSybK5bNuy-UE!ZE^>!M{%nlZDUoevh&h*~HciL-NbcEoNmjw`lW z=Sa0XYqFgOv_>~NsDeHF`ulq~fQHyMDr(m(KHImh0BM|I?x6mdKxt9cMxA!o!tsn| zho|eItuLg~No*bi7d8LjMith@F5haG0NzNuu-myhT%6Mnc|5GQ z6H4%>(rC9C=1dq0Q1Z@K=-kkrzNR(5Gcq%#ZtpzPZ-4o;y&H^#cUoK6XI@#3<|#p(HB+rO!a zjhq|9_oAo<9gL?pSZ}PinoIzcO|&Zx z8uqM8L4h!crkpM=E!n%hBYU3#^rAaTbY_e5$^GHf7lw)=chrx_lFk=vU=+fh9#_}- z{{AFGLkHO(?Q8wpxl@N>;oyAtvTzn)@*V8Xp`T%3T!cL9tEv_o-B_Es00`-^tLF_2 zici~jp2Vi4n5W}9{WfkAsP6&k(q5o}P1{8%UlM6G%G!2~aC*YGj<@X&hoWPinHU&a z>>nylO97{hlCG|u%Y%vY0MpNRz#qrs3NM_J*FXRJCX&~bDZWIG1WTo_`6nItM$23g zKiHxQ&)V=5O4wt#W&_ZBbUs6{c`VVx*~is6h(4*IqV&bw10cF2aIyN>eQNTN*(a%X9)n1WX_kb zAeMTQI$Ku((~$WWkR<%$CT0}qGl4dq0xvanbW7yB+AZsFxF|0zZBBEN(#ypK#4Jb0 z#?CaV(sd5=j4t>fV9l4hIV&K~mjfESu@vBe^=u5;r%$i!!BIb)n*hwpk3{GyEpNmt0om`Y>Dt6%Nt7<$wN z0^+^ZDN`_;5pcasQ^DuKxfdx>a;aV) z5yJ!rXF=-ey?2A9&Q~tX&BY790QA_rGvCi3==c<H8_pa;REM@$@Q)y4y#t11I#o5uj?$}_%*Fc%E=8x!h!TI`*)y{I99PK>c=WS z+?BfIPSb2^2>syi>sIN@F+Rvn&#1QdH+c$J0``|v(Y0)yoV^k(E@U28UnOpX14nI7#__JvHnsSgM&5tl9?e+r z^NS+khlGW=1K1o;iU$T!5N5TFNlB|dWJIhz-|z2Uc40I>YqI(og zVKUo3;0<@j!RNJge@?Ih;>`V)Ndq&#d<BCf)gnGyX@u&& zAG17N?o2%W@p8K~BUw;zw$c!b=?6d&J~ogW?Q|~32HV>#)=O>Q&)tjIiPm}ek}d`R zsRh_ffeN^i_4XQB8vdHvzO?&6o38DAvGQeQ>!{WweVMJh#)^AoH*Ob-2#Ep>fo-Pt zU>snN3F1;?iB}c`@cp|u>tSc}>c*bY2>;Jpw+Di2e{LJwfop(oruotvAwk9K5>IX_1+Um4?jOO@vJ1ABkR! zYxgM+O9LB8o1>EApnE>x6X{?D+Qfhqm`w5He%4b3SmkSJKJ;RK0c<~*Hc#me;Y(*{4CS^_-t>guZBMEg!eCL7TT_(z=i%8gP{S&mp3 zk&lL-^zAm#{A!H7<+NHd!7@T35EBOX-a(Bge)rxD?<`bqc-6^S{~lE=YXatNQkksV zj7}124@knZ+6Ka~c<14ES=AiBDZTzfFG*PU1QHP$4pjpkz$}>dS2FjopePXuRY5WH zb5Lt_Cfb znY5h>78VYI-TjGkm-8zC85@j~{T5|aX&+T}exJ^lOkbgm&> zF~W<0D*XVG(vS_)f{Lm}gyiXR3ycD~++x;rKJVz7M7SO~c34U_kt>PWVz$kFug21& zsN&{k| zyF?*TgeSd$@)(kUz;c5vIIAlTR3I}B3o_-0YE*RJWMzbUG{5a00pakkaC>hG%;ZlB z#Ud> z_%b13hVGSCVf*J%ki;iYkf!|L5WT_kHGWoWhto~?imRzFB(BuEQ(tmUlTuT??_&{W zu|7Gh8B_%pSKGSle-;xB+81|)WU;K$U%Ccji=$4|fTX(LXjk&)ncjS`h=@)EOhGT= zz^aLvqV8y{mg7@>zF&QH9onz4 zCNlgqAdxHkR;i&bAe(w*nEE^V-NpPYLrMZeJ5h^^O((22alfg43?_%sp<>q7hZIzR z_AQ#p*^iv)ZLM_zgs3Js}FG);9y~!C*&hV{_Cm_jZPexRx7JB z-tLWFWf%Y>2a3GTvkO!6=f}rR=iB~%e&B*&U`6g?gIG#vS%@EFV}|Z|Hn+*bF^VRE z)c4`5d!LKd43?z>?ZxM^Q_JtQB{3iz;iMyqokSuq%;|x0kL5(17Dq>QH4IkY$_OZ| zF2z}5s;9S@Sm?bX!?T%szO0GTXwxREY03sZt{Tpc%SB4nZQ7yXfzBJs74Mo~PU$hk z?UG$2W~8n!4mFu}tJQQ($Wu%Mz&h-}!(b$V5yhR=88F6Op`$#Ts;dytKd=E6+cP`s zr$y>EXe9Q93+o6A9#RlvkEobtB-CeXMpBmW$tz>e_r}1$-y?P+xH_kOlORu7#0r6^QiRKJLA!CaH zgpM6`Cx>kO@WuyT{8ym@q=KL)?dF=P*@k|>dl-O5$9%p7`19TX_%CGnOblN&*qpsz zz_Z!e*@2BcA+D&W)pSwy`)p3K{Py+^&^R6vJ$>_qT5EBj{~C4M4pj>|UtMZKwF0v! z2uv*yoy;ZBXb23+-_I09=MGn581H|NYklZE7PNiedabC?2Eyv3#SWrAUF;z=`;!T) zib65SA_}b*n%KzMVo%TWHeRgbaqFWs3rgDGfV@7(K7+6-TAidIoJfj*2Eqe2)yOn4 z7S_t@MCJof zQps$^^1T6@6aNu{f{2ei7?R%<9(i4*w)l04^4ryw8pC3DGFwj1GloSS%HD@=Q}z}c z(_M2e8c|(Jq{6kse~v+52ouws0?%}IrGw{X3^@dm>y=@CX)~a+JMfX~3_O{wKz-^| zWCB&e7z$%dj;Yl{-X7C#8O9C^?c3IZ74MyT82U7ipWn0@*)=SjusJ%BJ0`|_nb}Mr z5fWVAc3l|!+W|(ymfluY4G?pHj*3Tv5o&Y;K3}X@D84grdD#SnRE~~E1V2y1UNyEj zVveU0{5aF7PJYcZaBBi~H(ER>pOpadnzV#CEwk!oGYD9YYGj6?=wMhGb+8Hy0^VZh zJ1`oHy1f&Ki1jfuijTt)NTJvyB4F0<>lO_BB_-`aDy>10jz^?REh8pjzFxKju=L&S zYxR=B^z1n~xEdUQ=1a5d022*kgyVB!NKUSWeZ8~QMu+oz2T%&~N*(E$R?ud5CEh^{tY0dRs0Vi<;3*) zC(T_8uLu5et!ShLYlWz=$o<(&p(sGxqmubR$-4lir)iQ)jjSA=C|njYc8X*<5Q8sY zs^a-wyBSO!qvgmy?hT)74t>-r04zy)VuRP-nxG5?z?AV|=DTHip%1$+gFMv19X zp$cx!I2%R7KLM`2xR?}y7WUn(8~Y)dk|Da_h=%d=@))9s8ke>Qy$d9K_S@Yh#p^{BplS|~4{@3Kq45(M9-6lh8oFXnw&N`h2Q;OJbU^5J}I=w4- zuh2y@+)NGNQczgKytdbVsik=pkfWAo0gmfCZGlKwBU|5z8vn5Rc_J&_y@3T%*V&*c zv$gLp2DBcANt3l_LCc)ZYZv=}NujUCHpypp8yr zMOD^^+0A=yVS}~c|3OgA{!au|n}_P0Og~WdClb!TA}z)K2cnuMp+uo7Ag!;Hi(v89 zQEV*2`=+K*z_$#8JYP@$XqVEgfAt&(Pn)hHc`;gr%q9Oecq;|QGV1f(pC+*fXHXlu zt?hVA;`Vsyq9JARgAvG?k_i5_YqXzm{!wg{YG|ZV19gT@vrUMFo?ER^6cHbr-MCKb zMNLyv7Mr&N@KJAuskd6M?Y(#WlH=81tioSw5&X){PGU54sh8=DuH0JSI8!k8W2r6P zLUlBC^L{LaPPYXOtv{ynIitR+QMc{e7C?n-o}bXmT%NmFLLc)cQGDqZGm6~ z?45BsXK>hK|4J|J=)g-)PnI$k66%{qA2k|7!&zJ!OQA>o1saqDu>rqc?}k(izBvgL zB*vtr6=!CEk~7E21J?BckQ(}MP^ON6!va1S!$){HS4l^#!{w~QLf>8*8hUU@zuQd3 z?mBVKJ>cSMZp&5$Odw`hF1L^{-$_DDjZc~NU2fIqzuEnt(N@-L?O$}|vP24gKWeC} zdkg;{`TG6j-l~S4OmYoe-*qq&cgcCv#;z$v|IpMTlgkNL#&GkSvpRaSasNnxbm~Z@ z6EJ>hXBYisf3P2XolvgDA2)EcL&jpW^qIGEpzmsj|2u}Jv?uBBm<2qBQ&uC`IIh(k z0$|9o-ozOou>l0qsa%7z(TZS)nT4a^)@cVwN*ww%1h@p#-9K}|xjCKU?rufXVm_}` z8(CC8mFc#7(xe9CU+0 zROG#EAj~5bG{L*Z;4}D<<#$z!ARBF#wz7KM#4KCjK5| zNNJ8JsSs@ zs{BLw3J8bhlk4a&`Si_CeU+h7nm#b2n9vd(!Ans(`e>Q#KYu~;UiFZK8c_i5CeWFA zkDx*4wy^HcdXr}P<4W=+ul!;I>ythXz{}Y=L?v?RG{o@9iA&JX3QUiO$P-?jBxZl_ zVj0=mD`FroGB{zeH=YRSnUHr$lNIKBb$c0_V!zo3)Y(Zz--rV!V&%mc8*H9!nV~;@!Um|+YqNgn5`Df$0r@}wHed#9m++sj z&&ula^Aicj4!xlo@l|B#Mb_~97V0jc5+LCLCyBTY_cnf*bl8}6;!I(OWq_CD67UT7aDM!B4IPI%2@qY1v67k4jn zTmZIGcqSo2zmT3Me>R^KbRUF3S^)mvyvhhpwOU$S3}m(dt>~znEUPNRgJMQg4fdY* zP}U#2lPkX-2wfmSe1iO=WYTM=4Vxzp4|F7UF?^(^L&-Wj{lZwt8 z9dmHk{~x>xW{B*IKm+?9IFJ}K#DB*x`6Dm_f?yth;X5Tz)EJV4$jHFu6RRg8VGb{n z_~wWF=Y#UZ_y5c8^CI+rCw&DQFOe@#j)rjg33-p7NXrUXGpd&sT9$vqcK~U-$ogM^ zuZYs63#$*&#M_#HlgEDW<7eB9q`%24U^>{lE34XD2Lm|z#fZEp5i-CKMEL^}G^)EYvcNB@p@AJ=akjZ=8F`JjKLI|uszZD7EdrQ7*9VQhP*QGaS_H7pBJzW`L^Y6L&wV9;S{rn+iqX!K1$h6wAvQ#HZ~ z`~E-dy=73B?b^62-62Q{2$Iqv-Hmi9-67qb(gM=msg!_#G?LQY-5t`M`{If9KJQx3 zTJJmm*?acvnLXndKd9r68}9o)uj4!p#cEl?n~ie|r&j|{fk82^O`lO22wxVS3-bh$ zQBYt|>zY|02SqXv#Ghu`Jj*WM+L{~AiWBxV!@H+w8ZR!&DK0jIIgag)z`k+!Q2cCM z^SjZ>mvH0IMZ{HC&)CY?tk4jK{DS9FpP7ZF&hb~d)fqlyf!h?j`971$H*gY9($ z-AUxBR4I0?tPh#K=1LRGCjrDvL9()pSW;+8aqmRsNS;X#0w;>E`PY8d>vW1HhpIZ* z0H5I1&WqhymElq;9J>95O7m_97t;NO#xyFGrQ(f^6%3p85D$GEmC4PltfLINje4uhZ0k*3fkvS z!FXP)-Y$;ftaskrP`Bni5U6+;pIn@9yC27byHnXCEhTewgtfk2)QB)NK7Qt@s`@ie z&R=n2wNClKnPC?}{P)O2F~p9aty+c&t0t^;DQQkV;Lkn>QmNqY1FyAPX^B zqBYyx{6U})nU-R7(c0~zWZso$p@_Y-xcDpfpoVI-tX8%i7^j#U>Ag{Yxzu7YlFxLc zb=y@XLLOfmP>>W{792t|J3Y2LUr}xTUPTS@@=}w_nZ7DHWAGVufZM||RQ8Ik*=m=u zK@fhf(32RyHsd2Z<&Xvis@O(e_q$5{^##k>>JklpCE%=uTK}p^KYta_k?VMT&=Kzh zFO4Ww)AUfK8oOxe#ZR#*B@&R)@?gE~3gen-YO;18{ijh0`scqGl_cVYM#uK{=4^Yz z8G7u2h{}J=ORL(6PJwCehj(el4Kdgn(1$fKIrzE$iF7uT0AD!VRcd0-0R^E=qua@w74u~)3|JF5G^o_S|*o|Lk#V~Qv` zOuotsjKhMinfQ7WnosNWYaZ%_YK`4Cvx3tzBixsZ;Ke%|<7$JKA)0M@g4hPRnA-nF zz&T3dyH(q@uTXb`hV%Zsqt&EWV&_nR6wcE)m@!@XY96m+GA_2jd|Co^4plX^M<-Tn z+KcJ9LUZ1;+$o>7A#%uiZ%51dm?L2^m^CKf(`jp?ZDC3js)I-hWanIXXD} zPskIzC1>@4uD-tA!NMJ2I)vhm`f~)*%H6II;S-_fYizf=mO4((`0v zdU_gsJ!i}8#T!+Te@C8Xb{rqwN+VPAJ#T3;np^~}VAgqz$MS*HNxKP;*83Dedm$JB zVROKn6Gq-D44+lA(wOz?{J+FXDo{`e1^MS0Yq7c{+!7>2bDN1O<_D z;GccWyNyot3q|FRt@zG|<1W9Ol)leJ;9v+_az1f?^&C81HP?)F@ zpS$Z(Jmi{k7(03*3cuw|?$01hd$n>4pjWHus$VI#U5cgk(a60YmY~E-){BLE<3ShT zgFul_<2@MgP|75NO`#g2iepSu)uwx3DLk{VDAD|ZNW^q?m!N*!GaS8hLcqG6q(=DR zeTDF>6Q&1c_v{6`)jV|Y%bS@3zY6=H@VYv#CnWN3T(x6ZNlsuW+FvtG9U z6E9^X7%lm=NCSs0#>m_pD7V564-X05omvc3?KHA!^A$Hfr^CyS&eVA?-ZzaGq(mnp z?!svz5RZ}=Zt~egdR7=aaIH?Cye~Vl1s++(t>jzVIGk4vp&%M!ci5$;T5LLMOcEg^ zxzX@DgC(eII9`qgE?!Re`_%aO2>_AoOqQYrxr3v_z4))q>!lnn)SMP{s-0s$PhGc8 z?%*C^x6K#lh{|o3h6HQi;J0sJM3_@qRX2gmgWqchn!xC8r&5~2JpQ2%4B`m5+!6&M z?O^t~qRa?q<~22&krV%Fiz+GzMks(aeLW-ZeDNhLWo><(7aoDr{+{5cBUtFZ^`OwH zaj12UAUf2C*&JRr=)8pV+3bo^7-sUB41J01eb2WlBp|TWi_^pManI!8DfJ4lEl;y{Z zO2~PU^1GTW)v5p8m`u?`j?u^>y$T`Le0|y6g zy-KSvEP{wv40|;%pKAJ@rX~Gzr&C9`IEt_ohyA&2NnPE8bl%;G0$~bYN65;!?M+#I zbfGmH&Z~?fDS4RJT)Z!jmB31ZVVY>1wGgD;I#{yT6^+u-Y49-B(?ej6zC{#5+AIFX z7%YSCuv+($l}fFm_U=o6O3M;1x3P3ipeQ*SVxCS0ANW~ud^69_&+omR-ELTyU5|>( zXP6IIhqpy4mQxMW-NOa5o6(d$MSItd?gku`-(WoRu6#1HBfy0)JLMSTs#KthjSQ5m=Q~g){Yq0(k{x%ZOvh)&mG16<@-YY* zADPBts{BaoFf0@zVbW5))R3R-9dg zO|;rz(y4Qz_~w*$X9=#|$ikvQzki4S{(=&oPF}O!jg*E#F%x)nft>(zZNqoKdUs3N zYye;->L-)xhp$_L;WV$%5S`*5KJ|V5`aqXh?J}*HOwm8+Ol`{0tz%0iT(hzyp29c! z!tko+GYv*`^wKlgG)@%McZ@xHo`HHuvp^j#|24B6<&M3?RI+$(~HI<{gR zv{FR1p9cU8@`O7Lx_DRMYGbviok-(BJoy9StGztoJ&Q5mXRN;fnLuij3q(AO$9>1y zF3AuyM9fU3`S$Lv^?V(cwlO+}kI^A{8{}7PLM%?b<6LM{?l(5BR?{_a#5FX$BvKSz zPcOS;^5pa&T4jFCRzelztZnIDOoI5zY0{|Shk?<0340*~;q9n{djNd?NT8;1CB}Bx zIo;N8XSKULwueQCiHS+b>oLXX;@afRFiq06 z=W}v; z&?THt%){4&sG*N|@Gu_oL}54>ob3pI(w}(YP4<~g7=5IDU25~CD7hRJjJ_av0E1~s zij9SKhJ-hOyejyBM9D&VS{4%(6u6FnhC76ks7}@zj<|x$un@6DrEHJotJ~dGZ(#?YHRP6u{Tr8pL-K9V#rwy zHHB{H0#25~5Qt7=$6im$${?8X!VVDET$JaIe~G?(A{(t!%IkKF8_zH1al7hW@rM5g z0A=?*-COx3(x2rc|E|Hpoc6(fM=Gq1_9EbP|52%hXqVD92;pof_GPVqBwxGjcUrAw z8;a8Xd~O;Lxr_0Ed%o5SWY5dfn+^}$OmU#{W!J0eE|^suUj9MJ#RUojNRGIn2{3Xl z79@!i4W=xSow>RG&1wDCZ0)Fp4H5{Zrw7U3@qM1GCMx7~Pdb;SHM9Dr3OmZAyR5>Z z1PDD9IqA{?kHqzE(~?Lm6}a0=mgO|`ui7-&mmSfNfNhV}eCG7nJ7M|W75kcpk1y+8 z@ytQng0MmxoPS+X!5d>SSSpW?-mMDFsDX9(9*WSuw>;l#=Wt<)r)55crMxy<+vQJt zeKj&V`jEGHk1CmSy)Cf ziVDlmmzatJuk{|7@}g#uku%Uflcn9&1@^!8Ffz~|R>q}-SbwvA@%?W7`i|@O8R>rV z-*I!p3SEr;YK?$4H3&(L6SCd*LUjRLN`oK60}iA6#ETL+q9(7qjh=Cu#n+8S!2CrD zCHzswa=LDP&-IPYyHX~Dj)*hJD->&!Z;bbe2(k~;uL`2I%YpZ+tJ>vXwO?eW{WLTF zxnRrT+aVFJ8*PRUxbDO7c-_DO-Zz?$;q>ZNpX7b=2dkmyo=>ovJ;O?fVoGRBT3MBn z(75Uik?Qu+H!vVn|86l>6BP&xqj@%0+WD}zvjH3UG325+JJiTZkKUXGIZI)>xYu`y zEoihvtNzP~?Srm;jx|c(P5-Vob6ZqY)N7eSQ40&C8*EtE>&%Of2fR;R+*^3j%pz}J zNzyM|5|Yb}lpBTmUtYqIkO=90KDQQ;gn7vbGz-z5T1}=8UCOJV;j{PnK^LYa0 zBREdmt}9>uBGVXUw^ya{w2Hg}Lao^J?P^;mLmCpF$L*u|OAXa%dui?!rx2F%tN!HI zT8+8+^!m(6+uL~URWNEo3Uf~oUmlkCOWBcfT;8^4pIj_mB7w;UHpa-sAPDNCg(9D4*H@Zl9$^PU@@UM>eJy{@r z!7r++F-ZoK)u0|9r-$8D|J7nz06|R+RMrt`kdS}~MMhe>MMu}ru5yAJC7@bJj zb}ax@&w%Fk^F1^PpUq9r{^4Q7ixx;SowUQVyG?qwB_ZEVL+nQ>@yZxCXE_tfjl_M@P&BV^`H;d&Y>V<+_x6d@yHa5k<$MiIpROEz=7wS2i zYMI3qNYi&Y($e$}#P)qHexgd)mf@J+y=|4|zlqA^vgUkT z3<{NbgsZF<>aP0F;xsQ5S&$piM()a7T7=*edoP;kbb8c}KO_YQgVW7@;h_AHW%L4Q zeS=khU(G|CUblj$BPFbV8q8|g*sNzYEyOTI?VJ61P<;r2wbW0(58W9}L7VR~QlNQi zX6!kyzMs4CNO z*lgEBi)bBt7|1*}S-|F^b2!@WQ)TFz>bWkDh-U9eC+)fKFP<1mRDpsJu{;8Ffo>+^ zib=uiK+C@<&%Epb`0niJ$nAV2BqZdUc?ni>7Sst-i(iZ&$ow}=B5|MH|Ula)Mdmim)E9zzbQN7oJA2g)86iQQv&QZ z=|7&KKOre!>7=4n_WU9&Do%-jgtl1wzIt%%6>;~HVerArSDbjV(?3O=o?*%x;U(!L zGb&KwqhE2_pIfYLHhz300DUZc5iylw^vg1%!M3&W1sfY11o;?;e}w>amA##vokN5B zL3&69H?H@-3+#oMy4mn>mQ8ewQs$IVhIB3FtKfd?rtz<8_DAL9x|Pj6$NQF0Xk&2%!Hr&U7^>=S=Nf^~@B=>DJ`Kl>nAM=e>e@=VKl9WOA))V#=0G zd1*}#0{^Y<>xcf?>dInsw%7qDs8_(*O~d(+o^82~q%a+e6YYjDYu}M|bRZOQb8cdcCxglJMFB zysX%2>&3*xWG9OQB!Xo|;V+CiHmZq=qdHnt=VB;Ph68&=)@GmkpH{jS~Y7^hu-3Ci_ zQNlqRYil0SvW+m+TsqAeTdee#RfVL4<%yp(&n%R3;-9v9=rv}$!t+nA>2%kB?}{Ch z>vo)(Zif50)>)4scU7M`8E(MM;mX}sP9^>f`&P_~GGH-P4l+9yM&FT8UzziuwG|xw zTr;kbr0S}R1zJ4YKKy3$jRT}W{+HC@%tF&e?+YQWy1-rAZHZ`RVxhCsX(hFkYW)wJ zu=J9pM7-Vf@A1^sFp4qoxqu`W3XMKv+>DNlCe`C$((? z!A+IvJS-~2d+2?SNAfWBck&Q>8r|vJAb|22IjRm8x(ykF++29P?=>6Mwm(2Xsal+8 zwFNbGo;=Y*i0N z7&3DA7fsz4xcK-VjAGJaNMrD{H0Q%JcoarwW?EYGy30QsuKc}(E&J=Xa(6u{BIX!_ z=2!4t)GF#=XLj>8u-*Zo0XzTNW+#Mx;@7NmN7&iURAXD4I0jPe z4vH+2kH8Z>MZFT6GaVfYKA+u{nF1v{I}Afr;%7p{3RjLQ>3XOsF{!yDmqFmCy=LMP z`WY_Imx*g!v^=G1Qe8|#{( zTUU&DBPM03c9s4{>U7Tq)W#SX8hcR6j*R7++D_pxXub3^MIZL1Hacnuz<8lVVtYQv z58h1P*{#USb#(k}e%g`-Ck~CZ#yjAC8JR_Ziqp8iP%VCD8O)sB(1(@Q^;dEcJ?e?4 z%bLru1E0KRNtzby={6ESuiNdV+0wZFMquN-h z18L|phMwH;$IDaG^_jPeOxD;Ic6)2xR}U!(snJ3?rjqV<*z>xRz9qmBJyI67dalI{ z5B*AIsblpBhJfzfJEsA56>x*bY#%H{&O;t6q+t0K3|XY|VT1Z5CEk#ap#vF40u@>x zEsdj`^M%|}>SR+*2XMfnw87hJQF$<}<&SH8;6 zDfvt^wue{Nb3Fy`T1$?WMGtoQ$bNTP_>UEUUG%Id1F>FY!T*xNQD0Z?PINDL{6h-o z;DU#Y$G3M7L9z#mC-7hm&Qrw2Z-UNCW(XzGO#`nN9kHetK;j$%f*MKfG zQ?R-=Y_Q928Os_$i@*~@L`0O!@A!ulPUHPQOX0k~{f!i^ii2RL*Zym5fvK6>b(Del z`#V12`^OIKeJX2_UR&Vd1RUN_QARF%SG)Zt4ub|FgO(7NsL#J86$30>B}V=P6$cFd zPe4U5WK7ywH8(PX*;oR4{^Hr{ZtdI8R*@5A`O~ z=RrKd0h{iu(q4;zC@cJo+9svX%dNX#tElO;M}4S>?rmdk9<<=|+w zfh5os1QLPTZ18^ZLA%K_XH8_O5uer0KOkTo9HcDI1qhMU3a^vv?C{D-z%>R*adx!{ z$EAl!kVCygs&Oor+`Xj@UN+gy=LNvB`aQ9Y%ab zQE+^tteCq9=TD;-#6OiQ6C)X*UNS~Ov@@%XTCgIp)(?O!E-2neO*v>P*FM$^1S@96Z$T=%I% zd<0{bn1eH*{o(8to9yA^b&!*)#`G($AO*W8=^Ab&#c(%nnVzS9K}ztzyKl7blvVQZ znEOLJm)M2ORXmnNE!p_#O|v!hwuoyc7{-~MxJ-u_qtM4GhK5E~8T)U^Bt2Fvg(Ah{ zaFhRmLcVHJMSq5rCQCDI1NjrdubWC~2*IjYA1~z}-noy=*<1QPo=}0-1u8%==UYQP zDoX1*-;}gGkj8a&BLnpw@e;D@$RhZF>#2}FIgXI#;8bulqiD37q2%8vPe_904 zPESOMmDWtP<-_2Wx8kUx#!U71ib{<-{Z}DW&{q^4f!Clqvz=5}7pW}rKT?urHTi&& ztP5wR#`yReFL^OFtI-$T*q|wSg=z%jGkzu*^nxi*f*eTXO*L2+9o7e)!u02uEC`7T z%f~0+D|?+Dz!y`MPr?{kN7Eybd0`%gSWY+61qD21vc5c@)Hdin;Hh$;y+3d#nX zL8n3;3-FoSyT(Q*)M_a4q&xT|WVteGs%{pA#zupvXlC+cmvMP7UtyNe)8pacEwcMl z`~gtqLxy%Uvam@@zoF5Qxm-=e-2qz_kL61u?C~GnRKX&cJKv~TWD`@!yLv_66aDe0 zl&SxXpRUAg@YnI@256EvS%!>s7fnmgmG{I^?_mOz@!txcZ9_JOdg!GSv#6x11eS>W z!CU&qB3)hSZ-30O@FcVp^6Tn-$ZE;s3XPr zxFl>a0=|ULWD2u6cboiLeOn>BKWP3hBbcEyrdBo|`G;Q@AafCtLH>qG9#uRuy*j3W z7s7zY(l?O(gBH80{BL%;w-_jeQ(t_^U|?1V8mZ_=i=^8kR6M;11wZ~td$K}g+hZ6> z#JZ9><^KO6%>R4ing5T4Fv0eHm{69?{g(E|`=4N;{xCF-S1%llQxUZ|yv159FYm`1-js=?kIfXf*<`7R`FZ4N+2i+f9 zEk8>EFYVo*c~+8KI#Cj~#Kh?MHXQV~$X!@*Lc^oW7-pgPNI+83k$)OV7$*jUAo<5- z46pbKcWc}5=<=;RN;FxXk%>JgPy@=#jlD%z%vb)x7J7;If#PRX&icpTvZGI?qmJJz z*D)zwBCHp_;`!VngYM;g-CLU9)q1&zfWpRotv+u0N*x36r|D6ji;7DGg&eW`kp~82 zmtJEN8j@sH{no6+d-~SzAIZvflIpTDyrEJZ4^4urO0Xi~R8_T>=R31&_qWB$Qicp5 zkOLyS&c<5a6fMayd}=ukLTtaRYYP9<1>6-TGA5>|d|UxDa2ho{GoyYcBZmCE%D7!J znPMQyj~D|qkuGpwPk|U&XwmbaHj>DL){=C~;$+rf$y^11Y*|=*EEJ6E>5EWmD-;v1 zzlJ{EZCy7pI(9Ld@s};N_#D~Zn>A|Uz!fGh{765s79@XS#$ne;C^r8rHyn#;hYvle znqq#+YnDFnZZeaR(f0NdsB5UN9lp}ym!MPL|+|sq`*={Qb76%XZx|P7K;L>B<^Uqm8I~(5SI%|8U zN^C;uHHCnR%H)Nf-qQ@er&v&1Toh?pYS@mQnSjoLJ)ajv$Bx-PVE^Ghxz9s%FrG3w z@$OydCf!$!JbH!N53%Lt-^i$+9_q50jwN2wOU`4P#pwwLl9Q34^V@I%cNCWEgk*bb zYtPtJY(BnnLEkM0Sd0MdX)BZvannoPCpJ^G+ToI6qQIB7nEvBlz0B^Q>X*i3@e3Ax zve37#bcn7VKG;%p2f~#Ob>_^^jAwJxlX6txgt!89-wAb8utbc!R9Y^IsjfJ(j;<>u z*6}d!Jo_&9>NQ1ij5mALcVS&c)z-Va>h|ngtCJfhPMw$3x5)S2QiC*IP%^@#7YV5u zLqp9U`svAuJ9L?)rF*XKhI4HVgoWF{{(>4Jd>~kLt=_xL<^cu_F$vaxPA_Kv&*{bg zKn&XYsJ6?%o8At!x36~%=ZFM6$|o*kO=Eyp;wii@`u{2Yr&#@KwCKVw63%yS?tqW5 zAeZ2Jc@>UNXZ)%YvIH9aZ6I}A(hG4a3{YCE2S^Yg1VOS6mBKHb=2-#rBC$V;v2+UT z;MxA&O?Gxp%iPXz<*YCNW}i+uhYA%LHIZP6yh@5N`ZS0qK8jNw#Hw^OT__|rS@)*D zo^72c;5_7*7oeFjQj@)WMceqM37c)e>EdFsaJZZ;Ur-g3Oh2aayi$Dr6sph zY;sshi4{oM85?>eHNbe3Jfl84FV^rkLq0pS`8B5|F21>5Gzm6MC8XpiN9p?e@4iS^ zmX-PFs>sU^)gnFgu-U%g7^?Mz!^Dhnzu3><@Wd$mWK9IK6Fc6kGFGC+z10y0x{5%h zNd33Iv*ULC-@}R{5|bnCp(nXz^>Ib-_`HvN=MevA-`NOu?LVrD{}KLELxjc(a&h5s zHhI|iRWBa#qSDc9m){=t3KLfty?1(}I1?(S09 z;vC5PmybGRQU!=5SYgxqfzn9kFiivmm!DT#`O?OE{u*nUt`!#7(n{;f&u>B_l6WKI z1Lr+_8?ba@_iGGqP8f`7V&5`Uv7KF??SmjpRC<)x>17%F!Gh4r+7bA?F&cR!1_k|^spqDo+#F1**qxplD^x4;tUu31r*q_Iw%ECc-9c(i#M|C} z(7e4^xN|pjGY@(PY$>#Kv@c0Xft3GcQ40t`0L&IbTTUkV^_w?ucx|=>fFk3cbB(Y~ ziNGIc6Oje#VBLd*NFVBGB@}}l9d}!e%PlM|&ByYe5)m~T4ASR&Nm*$q%MYY^Js42X z=G$?d?M|QXOq+vLZ|0LQp<|7#; z=TCrmdAl@Qt?Sb^QK-|@SP;B@GPHSvc8^lH0B(TWReC!THm~;)!TC3*JDtoVsRi9{>cF%(e}guZ zDZlW;9c~jc5JI!lDclk>8e=(pe8py=!4ru*DL(zn+6YaLSa%vt-MX)zwS{K&eb-S= zQ*K^kGSoYixxvD(+Z!v8VqJ5hNbQPexaZ4l9hMq0GSU*P68~C+T(V*sVm~}d@>m{O zU*L87zzH{y)7BY&1Oqu3MVgas09lG7N_&6n*%9#J!%zZ4?E5FjZ}RkFhI@p%c`yy@ z%fDXsO${Y}TXIH5^)v4xZ~O2Rtu-e@%&5cY+ZmY-o_aJ}1_FZt-vUB??JxCK^I&I2 z+RI-lGzr8Q;qvh)toveHLnF(>F_ib-efkxu3+d^GD_@E=*ezxfQ&T-o z&Mj3x3=$TY5*=?nrPZl%d73(E$mQ`APSI@lG+yBrTU>#`mO#4#Lvvs6d2q5rGqA?X2#7gYkfKGADqF77z0D87z%!utOqDy3yX)} zayplUmxP1v#9LJ8koB$LRjGIezkq$M`d9p1OT1Q^B?64V7DuB}T5dh@HN_$3(b87^ zOVJXjtC-4h`9(#$t5(eHr@!Tta>KBi&gI%~%7Qk5`^BCb*eGFsN-LCKEG-iXS@kE^ z*Gobq+)VND1U6tB{vkci!0OsAA z%o_yllv}Th!NEbDI+HSs>O-!Jw2jT7a`J%eGWWss7AUwVexG#zlYnPk7-8q_d2PlO zUN^tk!{aA1PBt3R-1$czoYjon_7{=9y^$YcB^4Hi6f9&1k0?>Y!{o&;M?_%%rspWj z#$2jr)V^%epL_zxBXf6sPC8p8oSm>aWsoO(DVtIEumrY9C=>Bh1h`D-o~O9&vRTy- zdCbp^eO2m|Et)7v-#JK#jpZ;L(pA-Kiw|S>wbn$gX|Nh~BflXjEB}_tJbmGIi1LDe zkuJHL zz^3MZk4>_Mb?f#ep5KhVm%Dr4uUf9}3Vd)?mIQhlk*fb4vr85cv1;v0nbN-%)rM|795qcx4gy0R#t6}6e+pZWRFlp2N(T!5%*<4L za#HmA`8uMy`p9e32MtEFG2H@oT+K`-Qt{$@^Iu>2-@i9DI^UY`YX~Qtan1)Sq_esv zDf{`W^9u4wb>f7#C`o6N6o=+h(T8@BZ_U4-RJt3)|7jhChgOe z5Zj}pwd2^}n4O7|lZ$2Hyn9Zhx1HZwFeoek9@!&t`x|6WzbsMmt(>JOsH8j#_z^5I zD39W9&RreYR9Q;d_jKLxFm&Q!4lejvm~GZD%nIbB8m|VbBN-xsw&e76A@!ixINVPJ z|3G3!m&>hTtE;+r=}ayqT@IIB4P!tLmq4!r zD+B-5z6}<|VSQ~8ls>Lex0)=Bwtq3E%~s=VAim)7AeQoRCW215uXhWOM>%X=XmsDa zZAW@!tSX!tT*yfp5VnCJ4syHParYg(c8jTyG@3{E8pW_e6efinr1urr@My+Cs{1_k zB=3)oWk&0^z&CKqbOI$=yYI$f_)9|pPY5shcz<-Zn4^sVg=wrt*Q)rp+v78ua$KVp zu_Yjg`*Cvy14HAz71b8B87wkD$W>EYXSG<4rA(CsLYAa9>eZ(6Gd->P$3GEt5gWW2 zj%fV)h^CtOYt%u=ISiN0W3XhN`8PWpeZub47n!nFXFEGC_j`g=j!Ss3dqFPcY-57w zu}k59%qJ$Y$A4J8H|LX|PsQ=-WBnt0x8TXb!op0L?QPR2|BgH~K``ge^N@HhO#TzT za^a63yudgO&jwNSQ6SO`t;VLABHr`tB(2W&m)j-5RE4+h;(g@G&I+WX)*~Ai<&L($ zxrVqiD=BU1LiZS;q8O-uGeF!EV_zI9!2gT|`EyXX=Da1a5jQq87O4A&%&lb|`Vo&)1D(pX zsup(ZR?gNWK*yD)S@H^vc54c+dL44Bh=u&mQL;4+!Rp8Mieg> zF5{r#4rP$9?9S(r_ihcv%EktWn~%~SAl$O3(gXN{YIKU#G5Q<8G5*JNpC$b=HGuH| zOPKFZCt1q}qz0k*&AcwToBIVhwrr?k7^b&WVr8+bl;PEmX1$rCFdh&w-Hc3Zfp)58 zPG_?h)>4Dg!FDka?%eMCFBEwa-28mVi7`U@`ug>j*OEpz>7SjI`{eI!6sM5*!-q?_ zK>7Mx$v62NOX)B_|Gcl+O$Qek7GU)G+)A_%e@3(9YwH_sd+)aqnLSW0uPhm+9SI|8P6aWl1{32tXE= zmi78Hsu)#i?Y|QJN?TMsNM-WBY3Vd;-9#16l%w_AVFm_3(aiccxUM^N$hIwON-*0-ELX92ode@f~;D8~Rt9VnOC?fYIGK6Vtj z9Bp7@wuW;Ud{G)I(ECHfskxkM-m7zRJWH$p1Foad3VX@zyi)%$EP~P+>RaE^#_;$s zIXd(e{zq}aX7O{!yDunft%*@N6)w|DTmFYp83(bqgAl@&mh@6wJmvDSG`l=dj)Z;` zri7!9%vOu2zL|a9{STbHiyYZuPLx>e)7bmnz5b`lDyYU{-MFYB61h(w)xl4c2UwKnQL&Goj z?fOV>xx&ss+??GZjbBLz)ICYazo_p7p9njpJgV;^u;80C3+B)6?Qx#lkO+!Abs!cg zeBtl^-EtL|5OcJnMXx^)1tixn#oKj_-wM;gkcgZ=tHdYIadLKoq5Kh%K#q;=@p-N* zS!Gfa?S63v|L25}bLzx+_M5PB#8zKOi@f_gfk?#GU}A+eOklOvu62vcm!NQQZwo!Q zYc{gc5R(4%pL?D(dm*>@|4n??c@>H+`8Vb}2tcRSsrdQ%&BI}_&M1FJc!R@U-3%fG z`)_PaTrOA=McZhZwsrb-qkyywpmOzo@VYNZB3GnKH^BfBl^ zOQr$eZh_4XvoW0oHvK~J0{fT)+R5c^14W2Qc#c=Z^=e5NvUg$P%fi-E(%!lkHk^kZKbQGbt#@ zPIrb44t(wqout9Tl9WtL&1~~&gZ+V(lT$qLg?mRCBO~MCF+sh<)rg5{SzkI+=y#3g z6O)saFpCeVZfv5%Jm_IdlBDjU*sH^<;^?-Oj4UtMCqgq~PCTJb&_^Z(!9xm7!6QV=qJW3!8c|Fj&okBs@;vd_CvhewCKBP*I3Anl-@Ew^ zS{L3My$|Z;WR4Zc8&=-iR~?t{rO1J~GJ4)a&aRPtPxpNC$J zkJmnb!*32c#h@QRZhmwdVECdH#2STkl{CzP@SfwL5UqLb4p<5?*&f+~4JE@nFyon> znP7b`Ir~BqR%Uy))Hy<%+Da-qF*UcSm~^-3YtJ?^J|q0XJMV#qMeC-!iSM?UcI#6$ z9Mij{CMwa`^rcIr7$AV?4TrS+qBXd@ZQbU|!^a<=pb&4b>Se zR6*^M_lX+l3BQ{tswiI~4Hy8OV-x3}n z_mMJECtNe@V|S*Ka-z%L_Q~dpmoGs~qS)G8DrY#eHHq0)5!Bm6Un&?nI7pfmZhnkX zx1iG^Bpi&&X;z85sa2auTqZp|J5{Bf=*kja_PHiY^FTu8{HXF*?cO@_d-eT%BY#Gn z#8MNY*1?7R(lsr0L&=@IHLhP4OHlg9t6FbVSG9)BJIe@D8`AXDVo4E^yhy8KTCKws zVHA2G%j!^>3R9i+^!k(8JaLcFWf|#6h1tG1xu|mFf1M~+Zx;~{ZP%aX@p0T4Gaad6 z;^Encf;}#;Fj#5)E_7RLH6L)Y0jFJGb#ZWa9P}iwvM6--2(xn?ljIS28_kVfQ?!Rk ze_lfco)i2(wM+uj9#O;v?P~|!hkNJ!1(}Z#FSraPJcJ;(#{eMe7vwSa@hNC0GPAIr zffng{GHWDw(xfCKXSJT#0}DD9bWW4>S|Nn%O3JaqQbFLl0&;2JRv|U&)&^{^qGe%ndcESXkHV@QaEN03@*)j?CSeThHv@-x-_P=S7+U)$^A}#$Q`|1zX zUR33$xTD4KA{Orq2tHGK@m+(Tl&ga$;XHqD&g)@Er$%VFSzhm7m(;SQpwMLu7I6)s zXD9jbrmvqY$d7p}Q=YcJUyqX}B_ZxE?EDA(anbSh{47?HiXa`6*Bpme_>;c0-UpcG zpj*}@$tNk@nq>~IRwa?W>jb=B$bI;tPlXPhgufYm$?#5BMb@_e$P`b&uzVZfohN;4 zyFa9m(u>lFHTUJMIWzBCH|b(nqu`dK)h%r}N58bC88~uvo3}oJ7sm3 zq6v6A7*kWzLt`>ajC@9wVzv2VsmX9cuAe`DS}fLj-lx{CQD{_K6S6zaC1VvWo&Ki! zbACD^XwpKgUFpEtV6Iw#*yf$l$)3Z*0mofby`r>+Lz3_8ya{xr+F_!sc*IrUk1ku_4uoBzl75nlx zHH23M{`lD-q%G%6$kHpB_B;Vf@5e}oLskXej4_wm5#CF$qmqoech|`d{e3l`cm#*# z094?G5*+i2j`}U%PQG~o+?lf2*K$+^A#JN};e4cCYzCi;{&1~m9N5I|e`ncC>zjE3 z&KD}Z*>n4|$R-nM_`Q#3p=5@SPc9z1{ zlPn$&o&E+54b5(?N9MJSILR0nsix6H+5ygZTwfITP7`rq^^$5ukmw z@5nr#)2DMcfnCW%NsJNgv-F(K$jy?qEijJ5-P|r{Uv8Eq;&&}K-Hjg`W55#O7SDUy z7Bm^}*0UbL=eE`b0uYvS4Ob0wWO!n*f!+h@T8jgyg%v|Xn^Nz-MutHmik3M~?t=r2 z`MR6&KCl1c*GhM2e0;$56~oCPIS)-x^oMDWaZ(bS`?7C_tJ3r29K}WN=4_X}qsZit z9i&Q^=9Vdd82YzV>E{KVp#^!`=hYSqRj$2tVb70GPO2@YrixYME=@b*iyisUtc8zv z&UOn%^H7Lh=L_GU0#RNUa78@u*_~3&IjUQn*Rr$+9r$I0aN?ln;zRyPh9NH#6Iv3g z@i$vTqSEG5tx?j_Rk3Sn&4X3GtBy6Yc6G5=ixJs6BwCI*XsN7;H{~;*`t?KGuY|?} zU8$<*ekR;{d>PRBF5skX#6{>zT@sM!peh@t?>8YZBt3EQ9GF{j#28eMjj$y-WME^| zEJU8jP{(x}9@#b8Cw|bUs%vp@a4`HOvUIn*F=I5}ad!Acml5x??6~R|DTXHdE8eaW zfTidMgYUAajAERtxDQ<^S?N{|9@#r7KvDSq#D)AlgCR36`gr6UK1>6HNZ*_eSA|#4 zTs%VNOTf(#j>cquLx!3la%jV(Os&s{~?+slB zaBxJKN--`zB4u6F&qt&hkO5Mrp`>KL9Nk_XJ3z<{gf_M>R!C@Xh-EVca2?bOSl-%j z5V+{Y_F-Ly5vNh1#S##%kw+vH^H{z6q!@~%%Y+Mq(PWMHh?Q*|+DRtclG|F$8xQPF z%U^OzzE>sU^l(`f3-iu6`ZZO1za_wqsr5K22Qw-@*K1{Q z73aebKJN$a>~*Yi_o;oQ(J|rzz@x&>M6vs;C1#)7x_^{Q?P*Aoh-u>&zS|mbYs?N1 zrs9-pk}S51JyoV2AL-*@;$&4(Em+QeESGZipXT#3$cOn z`e31nA>(&>-n(UIlx?JB@!^JmkU&{F2G;!Bt!+FbB1fgD8jRQ}S{@$B}&t_7*r^ zbTW$pM;!PSnGvW;D=YcNPo5+p$0$E9g(m4IwH$3pZfy(6y~t=T^Oi#-d;@`(vU66VMTUKl9QF+yw2B8L5zO(?4$i<_V-U;nZrnQ z&aNDx|IyGKhyFP5CYD5DBWfy2|NkQy)2_js#}+X7uq5Iz{ol$k{lQ0pdT!w#y1mCw zGdJ1S_c!<6|7*Wt6&4l-&c@N#tOd%59;DRiAUO)I8~NCTgbcY`q5t~0MJ#oh@HE4* zgZg{0LIl!++hIgL3uMVxPC0mLr2(Q)8f7QzKREKN;6JVde|0T*?=(w-hhI&_yViZR{W*~}CEJKwK3CJY~ z=H=zSN8gbaeU&dM98*$Y)U0Qdh?NIRF0MB;<)$u8AM+0%pB)6NiLpgubb3;HlBhC@ z0A>dTnL@!cQYc=bGzDuxiTA^5b$f_$zQ+RS7=~GaVnzRG^)uD+x? zU`&;nh*gvkMdgB|^6AWI;Z3FSb4G-nl<~31sC@qTFH3yZ&CH8wUsVxgm55G_2Q3f~ zDi-2ZP2|;rm9mWDpUPrdJYm*>tG(9~Noq=dp+PiLN6vW8(f06f=VOeeM-nU9Oh=g=^ zr*uhocM2jUNOvP3(j_h3-7O$p(p}QsUC(eW*V^~9_Pw8dJny@Y_si=C550~n<{Wd( zG0$$lbu z(n|M(S~MDlSSB>m&dhX-jP+Q9Y-LXDri@Aq5|A}xF^JPfchinh*t?q02GHptr-)^a znSoFh$Y%;9CyZn2>t-4(b!k05SP`&p8i)jyW6*ePS#6uF|-ESb@g?S zI`x0rP`JE%cV{ZgGU3z*+%eS|bZgA+p=q*(52is`xSe>p(sN&*&+UxrVi!0Q;j&vw z#GqSZ?k+#HT4+tt^^3i}t+ARa(aDy)x4p!9i48iPEIRae@9yu0QhC>Rekxf;f6&td zigHnx>jLX%_6`mngqWDe+vtkS-m$$|tZe-m2iW%9er;Dm`rapQdT1CQhDm#zR`<6} zOw}LTGR2#clY3VwYwYYv#@c2^vJ~H}&lOZ4|EN_z1g4sR6Fr0#&tFgjojy`z7HxeX z{->vAI*vl6!_Kly3={$at@0aX+nM~(%z+LQL-V&rmclBSCo@;U(-W1TzlN-@$LR%+ z@7;@UPnOFxoA6?BLX`d;g|6^K>&3~{Gx|8K8WNR$GfK9X@Re3d!viCQ5X33MOti$S zGYR5mk@-gxy>l~HoRY=55sWR>tFE)TFL0tKds}g}XNj4p=~f;d=8P0QYp?IWBr~F6 zctSt6W^ZDw`Q)TW-bxS2zk6r!?QQ&X)Hh5oDJa(OHY`T#%G1*g4HP2ipddv|H^a0Y z-OJnmdr8@U;kBtwgbK=QLthREac~m9#Jql({Wer0UVG5usoV)=guzLibu5B~6%V-3 z&oR1+d7PG&b7UP4=fv;GXnv-OM;!Wf8gN)lBBts)=cNS#rP0q$g>YhE&lNBgA%Xxy zOIx_fC>(29(#I{B`7sokfJ@~AL%LFVP0hhvt~KyZoZy73doIY}-SKWZBAt-mbNSS( zo!6kk^6vF=%CqYGRZ97cH*fl?R{p#o|6t1Tz5vnOe`3m|N8~yGi;JcfyfDo@?u_S$ zl?0-csWQ{b$;>%@y}R&|Z2r8qyojKzvMY*vt?5^D3rk*wV*RtgM@u#$NcLuS%3PQ8 zZe#8U*IE#yCknJR6i_iv6v=v&tKnSKQ-a z`SCGW=j6hyQu$E$fDK`ty*k-)jZTB}$b`idXuDA~=V)kX;DdGf5_xQLf_ZeVls7(C z`yQ=;dAy^e+RhXoKPA3YuXL%7n4T|1rk0KKGKpoPs|%Vg>Fd|8c32OwRzLY|zS`X) zQ&3QV?YqE-8#0xbOT6&o)P?b-dAf~`KSFT>!|;X%20*6*NSYq_LC3NMY%VtA z^Ei1o;f{$_kO(~)?g-5TZk+CCA;~3SLl>AbU&eoZ@iO{aC`l! zzTDFoKn_C!i2>PJL6CqI-un7swd=psl+`qOJQ3<7CLkCB3_h3J1CXr-MqW3=$wCj1 zV%Xnp9UScSnp~?L?;EPvdOr*PD-4bly9l&rxn1nv%i}yf05-0BpXMDW_hv?zMLUtV zi?yraJAd@FZITI6$^ ztgZAzI6mw|_(hJeNZ(4OL|ro_>gz|}3;~qDXl3#+;<5+z5?v&O|D@rnRpi4>B0dn2 zk(GV^{P`vRG}cQDRa<;MzUCDIk=^l<=(IGfClf*nUlW4!TbJx1JnpHZ-QTPlO%**_ zfWAOreBp7vfrJNT&XpI`LyGAqm5z+V^sU9r4mtkz=R`k{CPlDkQ3SAf?$uEM%Z98h zf>-uLcbRL!z|#$z*}e{RQ@4rS54UatWYAolVWye#-8XN)rWAgs3m{JOuj=N2PzCQ>IPCHb23{OFoko&dme;(Cn-PtvZhwxdPFQP7{K5XPPO+ zLp=7@;CeNuYu_ytoDXWZdA4+h;0qN{D8LCq<@F`LXJ9xQAJDB*pi>PuB;>c8ubCMC z?yusi{&RSh*XL^@0f2dXuyY+0Q=(MEXzyOrmMYO(( z^sWV1d_cH#J^B6^u6Z(_K(H{r0vJu#Ik)y!5NF9PI2GT~6Z! z*~R6;4;J{K>(lNx=SMMUtE;Nw81#g5{H`<`U6BOTnM@BJ8FU)9*4KX-R?htL{(O2k zBCt6$F*0#{fs@yQ&hVAT`i?4al5qGxK;piy z^bj^ku2Q7%I5j-ShRw)6*rd=ffE2VcG1q$0i3EH+YF3-}aSjhC(bH0gh6Jkj5jOEF2oc5^%&DV0wHJ~P+%2We?(t@a~E zGw<7wPyb(P$%LU|bex0%+~pu#;O!738Z70>w(@sE*0&M5xiRynuqVpi-E?)6a4pw&U<0}$pK9!fEHZ(Ytor44V5t$BH+kG3DpKnRv zOF+uypqqL|{8uhO4w$a5lvQh3(*KD@Bhn`xHhtidevd#a7-82}l@E$ddTFd8?|I&? z`<=>(Ze0k;Rn_tywM!6|Rq?tQ-wp4D> zz3g+Kz#QMem4GB%01blcXOH>AD*8vXE}_Tf2Bt9E3Q5%#a|gjycwjmb(ZWPIhRH3X zL0G~0ELlvIUSG?YNV$20B2jkXQHlew%8hu-LNSZ`{9x(Gy?jHX8;6fjD!E(-`r6+s3R2N{p0v6)v93k@) z74lzTEVZ&1Tlk`g(qT#a*BR-!^Vaj4{LE^o-o5j<`jPK7B;3qtS@vDBIA5~ZMAz<1 zV0VCbKkz{IdE&ifOsIek;0HR~4rHAE#Q+O>eR1Dt{Z^0;Q#s!}zj&NQI8R7%Iw{Dq zL$hOX_G^w1(ydlIo}wJI{+!Ou!QEf7vR1CS`k|edr*u23%}oEQEBo7Tv@I+UtD_?# z(En^7`F$tA@AavLg@*f~#7YHhO7W+V5i=i;uJ@Ncu^yA%odW#3J`zvx0NdsH+DgP( zJI?#6)|znugWvf|Fz#8`)2979(*YtChzveplEvk9{EW^o$#M1O++a!MONryY7Ljhv z`-Q}a7|3H<4QTOKbl=SX)Raj@)I{^zY%RwD6eMUB3ap}z{o8VM8URswj!0;^xO<`! z+0B#r?Gh1xxVU1O$x#_n@zI;<#{&|akE+TZ6*zc)ha3CypEw{xm@2V0pAHeydzQfK z0(gf&74Cc14Kn{bGYC2x%p)Tmfk+T2XSbJ8_`bhHWnQUNrNx=(kbU1;5;g=<5a(!S z{r&sbxogZ=y+(wuGkLhUgkHZWAth$-2TGQRZDeG6KkEfD5tmz(yJm}9RpHg*V60?Pc zOg>*>f-p0c*CSEUogcL;M^(3(evr!TfwLVO{`vE>Rm35*A?a(ra3X<##}d7#*W;a? z#eiR<5SYyCK|{}nWd0csK(rWGSVCwPT|zKXM=2BIQ>^}S^*q^SE0|*9BEJ^u5jmP& zTRR#`<(Vs$f1JBKXfHi_ZERwCtU}QAbcfs-TWC09q-Hf&j!6K;80te)U^v;aW8RvZ z!=a&x$vO4O*ulLU+;)UI9S1EfZKdO&7SKldv^)!srF-;0Q$?P!FkE7xI7s#wdyDE| z54uw$8=%j3#k*hk>oJ!l(ha){DMpVhYquHG9jBdcPW3ymd5Z-3ll+M5&8MauPNqOl zPelZHJt;I$V;NCgh5!}B`(S0t>pMJ;dshW%Z{bwdM=u+qGCZmG3=mZ_f5PE*-0Rr7 zx)vyaf!@@^~EP_#Pba-SE-`$CjJepA;#Ulh_D#Y!j)LD)lQpw-9**jXpX z1C6CghO>$OeK$wBR3q;B5JZdFdR*Lvbd6o6F3+*?qJVtKk;8X3vlbo8wnn0_Z6)jQ1}qf;6u z2^w|WoVOk1vL>KX`y%@7UMBe}OtzqXlD@S2raUsTg5h@E>OE8WVB>Le1Z=Q;%{x4!=Ku+p~Tbfy%-fqM$MoPKHfe79K~9G6lWJ{ zPbR;x8P&Ls2SwUp4FsmWuo524_hX$#4=3>WfZ<1po8dB|D7uM!`B?@v5&NYbS28t! z%jg7Eg&k!}$n=%-3CEL4==TKITjKfN0@kDcjPw%Wczifs=QMOw^#}gGZUhX?H8mFs zC@6eT?`&T+cj<#t(91utWMA z#6sW7CNk((e7@^5W*Hl6RmRZJoCpdDiMN)b-_3(?6^VnDBl&3WS^_}NLN7r1mZ&H< zGgDfTS8n<~@RE4Q@u2-08VSdn$Z~TW^XD66dae2RQ{p(Ou1%k9ArhsvL?NMSIOZy1 zKVG7ba4U5o@r=PICtB5(P>l}TG!CxC?w5i!&otoz?TaaQjwO3H}7W;0$ecMq#C=_J)E#R z>bD3!p%p>_;d_X7Ms;(i=EwO?Xm?XoMM!*Xblh7avMeiHaT})U4>lT=h7jq`mc`Y^ zx?cY~%o+khi_&}J7mEK@IOeNw^EyGQqpv-~&=2}A?O3GN1x7cdwY4*;9&+6P7VI}a zITb`6$3x_X51DUZHUYT){{&jYer803Pn<}({c^gj?UPCWCZmpE$s0q%hizrZJR#v7 zG?ZVSsVd{|l!0fe?)>~S2na)TO?W(K~|8sQ49Biic%Isor3)UG|qej;gy_`&Du=XwZVqXUeS*yPj$ zo$X=(@H7?rftaDUOiV-eskPwS51;9gnv^AMAx?QRBTs@9dFi&-?5NJ1?95R3B)CSh zp7q$!(9pmT4d}b2#PZ$_f5|pB;80*h?c;OTow*$9GWbX@aQdPxS`z=xb;!KDM}XE!q|Nw0IWS>p%#KYd01a z&eextf$cLQ5+WNryQEWaWI8eLhhRxb;|_A0<7iST?|;Wv3psyKg-j7sE^mAT#EAbF zd^HrF7m`dIEDTyqadby^DxcUI>Ki_KdDm`=Yf5=&^B^FE6skjDSQ6I@cWw}P2esy# zjliw~*41Z3$p{)!KEF1D9$}Z1kkJ9TDr}i;OY^DWLry0c+8|zP_Ia z7(JcfMIqYlO@~rL@8+@4I6!w&gsg(0k+~9`jk+zm@a*1VR~N;y1v~Q3qw7;sdhHkN zKo{~u=>k33%+?k@CVelOI=(P1AY-@0AN1x3eLn}CTsH7eA9aa;^!ll&e*1p7kf}}^ zsAf#b2FzWA(<4;;ev7=$^9nN|EPQdu$kN*v6WJ1>(-kdKIIWi^Yf5IyTCxJ^vk3{_W3=Qoo%b2XKrtdItVdUL}#Ldhqm9jb`te)~({r3>o-l zda^+0qp#ZW3}02?^2s;<(6(s{bH~IhK6FnH8z94do z1_XDf@_RiHleBy7jNjDMu;CPg?wo&Rrv1%HgF4Rweyzj$O+EiKY+b&;Cfk>I_7U$7 zP+Az?D=7>O8L|H)9P26_X!r*xEvl^R{~DA=clZmGR`cJ1($Mf`5jF==njEbTmu}Zl zo(j>ZV@-j4OFyNsKfL=lN$TG04R~Ho8%5XiElEfFfu5){TNlj#j+Ew8IAJ=P6>Bkx zs+4OjtfX}Mc5r#UZ_>zVe>8hqkzZ7ltIEF4<+jFqn30Mu#^E&shN$?|hWX)ai^t)E z$CUN_6VBLx?ChqKfyil*^5xDzk#8@3wka&w=76d0pPI4tq2>%j4#PCSRy8oSTxyQ) zH9-FF99q8_+y9f4Mr!ercD1!o-SmOKV}ld-FWHzK(|;iwqd_V4iG;ksoFPIdE0KVe zd*l_3Pl{M1+jtw*A@tH*fokpOx#kS-=qNpg=#(zpa%bt%*QZH?9}OgGOBUG7^i_jD z9k@W|yDtOvhyC$1^BZww{GnBo4%&A>zqKZ>5c<9Ady!tvvnE{y(rU+d&6Xod5x_W$ zUs6(*nAHDd*Siq6=A2-Y&%H+hIS@hL>2OZ@BuD{$ve2~A_7(4^i^1dn#fNqH9 z<|fV}T@)B8Ny&wJ)7%W@pns^k6jq{3wXWQ@Tl*0v+(EeuF$88-o7}1ik6P|QK;FFd zFJI>WD;IEcy&2qz$_JX@{O~w`9vx@$uTq|GP2!&^ZG|Yn{uH8+2623aZ0;D=ur?Lk zF2-}y;rmmKfJiL{C>N6aJ7A> zDeBMbvc~g)MQ1+2?k#Yq@b)OtXyD~k?^(AEBM^X|q<{A?UZrv}cygGHKvb#zP_3m{ zPAZ`aaiIEd^05Wz3zq!jj3QnILHW2))O2_+9LbhF1nA~M!vCdXYX~7I0>(4yx&kyHd4J1J)sOZ?&tu;J zfHsVMd5Oq<|4$g&T3N!J(*du;2HU%j`TwwNwUb~gt4v~llLK0eUJv+MLm$pI2U;S+ z1zw!sS-dw-OicA$n;y|@9gYxi;?r#wFda0XE+c*w2l-5>)H6zs2x~Y+zsZu?EU2!b z&N+-gB(*Ur^Kx(TO>%B7W*`KQ%iUTp=#5oUZdF0u$4e1IBm~mdEcu|j5%F+5F88gn z&?L^Z_$0cvo^MCPGnK$tQ^)}m=f=JF6GnxiU^>;s!ECebM1i(bYvN3)Su};RhkJ2R z(KqC}=h$@)w;Tz6nd7qGT-@(^B0XRpC;|(qq5syCy&C#MPi8?^9}IYBHU~D*?tk&l z$oT|>{DjIa=PO+1Ht0cv=M#&!e}c^X(;O{lv@A1r)Jyf{Q~0fpz6ya3#4l^RA`}Gk zkC%~|;wvR%MwP=UT-tQ3N6O5b!ps0{Dtg(J5Db?raSx4D$-)XA8ow;RzUPni9lAhX z*9%%nPK?uW?Gt=qS=J>XbhK6b7{!ls?Eu@m25(vZNk3!bnc)p47d7KtEH#fO9n>Q&6&47`3V399np2l@dL;am+%&TH4 zsP-(IW~l>oc>gxzJpR@Ucero-4pj~+FPS!AK!%(K<}YK`HhSRemNK{+o7{|=Y;vU2 zzr*$~(lMY?+Y1I2;#V3%yByX^E8hMb;vs`Z6lCfJM4!XqDElA)&&3`yrOo8I0G!Rn zdY0!VDqSl!3lHvqQ;VPiO9gy+eAHnjaAutxAJ?ffE~m@>-)Ur2sL&~DJ2Dt}$S{k? ztK76#}R`x;__|kblxK~inqvrCBf6KO<;B7c;OkQ z)cLrNC`q15L3Y9iBU|&5GNlgDb#mAVhZx03!K~gNcN>W382(H=@q#U4 zk#SV2^xwNW7n>hdb1#6xWN@wqzSTlPzibs_P&@D4*7%8%Utf4?s^W$sCq^)>&`eTR zzdU6g-XF{`*%6H7?L!nVO*#%pbx!wvGKgGT3>82BpSvZnM<&0FEMa|BRF%e9>19KS z5K}uCht(a`94}h@V5D+H)&!%abpH#X*X#dA=*4PV^$|Lfba|=St<;!O-E|9Rr6hR0f=B;TB@wkJe&e~tRvkugj2|b`k%bXIf%cNVl+wr z&~~X3GJbV`N}ZQmSe#p&5*dp`_>;1&Uy2k=wS5t)a0wz`lu*er<9AAI`JXn59+3gl z5}>|81-^wzKRNu34e_6%njU!(I!wy!ETO!J{t=e(vB6jwqgYBz_0cjLRIiL*R;k<) zkU;4}L%(WDJ$kaPj_OZ_O7p!d`L`zL#NvPVNhQNkDVK$k{M#rsp(~>F=8pSs%~OQ= zv)7wseGycr5_=NN3aBK1YkQRc|MMTJ*IbGk3WC37LSO_iWVk+++M@d#z3~5QJcuyD z>)_$r?|6y-k`sYB&$Ld}@-M@bhpwuKy0LNcw|ggQmM^vVvFdwYCi$2o%66i^6?GC& z&nghUV=2nTBoRSgas7w4D6EoUOz9qtzR;HdA>lt|PC#u0{|pkVhauyRN?r)o*fjUg zJMP!vNuTBr5ejP1I*3>E2T5qkV3* zf1lC>CO;!9Eo&^5b)P=!vvwVRQ9ohRuN1)0`OjH?t!P`pTERk_<)jw?D=bL0h81-B z5;5-MM`$0Sp2wL+ggS~@rYFm_N$?pi$_!shlD7H$_87B^E7{85EriTyt@$kWNm%k~UN5POE|W1v3s zAqtF7k<3=wMx^lh;~l8Nc~s7t+tj@u>bZD-#;0#>ZK1bfhstf*)XBslhYk__eitk? z<%_kABi71FR{v*Dk3;UmycNWxL*(8tnQ5^};68Vzq5k!Q;N6iYC*O_A706y}Yy`b- z#|!@I0g8a9a(eIO?f!9-W6?6S0afZ+#Ob_iRdWVB& zr7J>;zdRj*pCP>CT^==~KNX8i*B`*+gy zy_*iH(zz0mV9#Oyx@4`N-*zyBLiyW6BaHd|9-%X7p=r^n`4k~`Owq-$!+?%S810&mT@#g8zFi(PaOB^ztXE7|YoPXqtyR7kjM_!bb1`!egT(QfWU` zvHm>5JY$-Xd$<0Ii~U=<7Wa3m!uC{mW=5Jdr^_>(a+aTv?^U);0m~+iLFZShT>hy( zWh#?nlLFOzy(t!P=vIT{&U}W8G*ANpmtf$PbmehH^mv>O0W(#oeK>GkdC5o66V9le zW4WZ)+#gS$E1D_#S}c{v>tZ4Ba!s4PU<#YhJ?rlKFB?6#mE=8nE318^!l_<)R06be zQ2&&2jLiXci>)5RL#*L!eZ{wvRSAFrEzmREqnloq!ik0G>uiaevJ8oU;79Nfl5zQ8X-oA zLZR3of3s^+;+LGPtobIp-HQbtu>bl!wYIF)Y$1dZv>PuxD4JdE13p7PMf{e=baHcy z#Ju8DARw2mFk@L0hbhYOvC{yyHTyh~&2l`)A&KwyGCL=STfLau>ZD2)wEGB)_xMee z>W6n4bK07b5u#2OXjH^C6^HdD?4?BTUG5fo=E+mA<~AfLQ;T+upY zBb;$Zrw9u#V{?8}?fq?d4Vxewf#CJ70NaU||Lg;suT z_?F`ZH-YO>t;U)MJnXI0(ZFP%<2PN~yW6bTh_*P`JwrqM_GhRv?@dhD%a)$_C|r%- zCS-AFSk4%;^kKHmk6Zq%gF_|oI(vL)VKtWPL`dQH;d)l}_x*ClNt^yOz22eo;y$Oz z!*Mrs3hDazC>JvY*;-eiftZ6Oh>8Ki10r2v?RE(3S=QGGgW+7gV>q}9Ct}4e<1%DC zZYKL9g`WCIYav*+w^tGpVJTcramfQyhYK)Xj}eT-C*)p7k6$7q(|;Crw0F4Q-<^c= zy4=J>XO8uxcMyl08W@*3jzM4FB}w1kpxO!BRtPoURCq_k#Kf=}_53(0E35Or0@5nY zFG(US3ZAv;o~D200(_J4_^%z9Y9|W0)tyS@p#5oH=s@y$@b%<-UR@Eh(d|jU%UkM3 z*)}u#YXUH;KQAR7=VY`@%O&S-|F9YZ`V zA=2}x&pHrZUS9HyrNA;ZsI4b5E-ns{;B;9_fAp+H9Rdy)65kNQF^BP|z%_@L2Mf}_6lij^hU2F{{bogb$0OmhnWc@HgE6qU1K+(IxFH@|-(z)Lwwx#xKtqn=dQ z(|(|rhD9U_ygl0@zm2nMbQFYUTvF$>7_BnP>{>hG3%{*^d}AXaVPup6JW(x{YEQ;E z^QNA_!y)=c(6xZ7azwNH!Kv^?i6GH*wdqt8R0xpTLag$o@o#T!P&|HMRj#b=S69qa zdGluV%k-DP)bOBoa4GW=9x)mBCNkB#FW&2NHww7kZH>>2&F~WZjwEi9V!wMcG0MAN zwwKg2cRAs(osRloXuiy^sI98MVPausz@zZ)Rly_)KA?&@q*kDbrNM+Z@#^a8E}p5A z)0b~`C{#mz7Z4ceb+?AHx;tJVn>kjmvw$g^B*csv7gxhk69M-*IM~ODxHm3>4DPjh zkyd`TXtBEw8_q<$h`KD{OB8L$W4v zhP{~1?_lLi#sk!b6Zs&3YbnlbNnwH$ig)WCVv0zNbKRKN4BEoO$M3Dx*_pzE3&3CC z78FLTutSwUAZm)`YYSl}%qwn|Sm`+$&Mj3UR z-Pdm>Kv^IU9f<}~aqIgB^smTvwswSIDZk!{%@o1-YekBut#<+p6DUr3E3-wjJk0%F zRXe5#RP>9ZJ|XAAqwo;X(#0mn!*OapdU_827S)hA9sH6#OJKfORC1t8H0^eJQC)2H zQUs#o#}5T;6gUw#w?F_sbm4t)HD8bL@!Op$^tzeXl;9%ZcQoFpN{FVEbG^D!RD1h& zf!jexyY67NQTxGdpLXuFqM~Qz`&!m?-JSZ`jMkj7SJD%bs%6w(>P(26b9uj>{l0Y_ zpRZ;eU4AggiH!y=3S_=PY+U3neV@&Y+m-e8y-piK9V{l|_#%BF54*m1J{L89XRy3> z#E$rpCTg7vfdS;PmG%>>#gOqmmsX#KiaFWa_&1RMeMdjP#}iH`x;(hntq@=xi#kYI zDt_p`#Ge;X;Wb|Neo9Bd!@%I!A7)j7a8a^YCnhmGy0=)3n>O6&x)1+yWxP}!CF6D4 zRH<=5(~-+!lUZe-V=O-~QCvQ3wVXJ4>TxTN%^D_^4V1mY!iO{AocsQ@#vQ*zHl91L zTk3bl%h8*9R*r&>02*VwNH6oF-8twC6=Z`YMZxE3vhB64b=(JS_)nR0r^a$Cc*1gW za-gB1gj*Q&1vPltm)#1dhyno%!DDq&)+7WK6}#+1e-5zEv7M+d&EgcOM8u^``v^KeUdx54QiLV_D0Nzzq}KuEsp8zi%j;80u&i1a>sHU+UY}a(UHF%;CfJKP zzpndaYmAQGDlA|oD7SL|PhU=`rrb53#LG0azdIL$7MhXYeG?|Z+@)PTGf z+#u?KK%Ljxv|?s==uC}8ZgKVC7sWS00tIr#vwRJXln=I`iB+NSD3RZ7vT}1Vno`!6 zDOgad%5u@@>d$y~#cW?woSu8&VxY_3Nr6H19^goa!=aOc zy5`=VDRu+v2y7M?DiVWkm4>>!^=h0fX?JJ>x5Z6JJpZZbaPiM&!8?{#Bf_oYBjWI3 z(qD_rnRx6EZzgrBwav97+p7rU>2fFa!5wzcKXbhKO1;?pZntryRZCBgV4S827)28D zx$N!VH>rgtLMr)ptekC4dOSvoq{=ssvW|)xjpTaE&pBDu)|A&&m&c}^lut#2@b5b# z#BoxlAE~Z1L@tzh8P$ZbLx$)?fod~_dhXTcZiX+gS?C|`U8r|6RgfrqC7&D>WxF~V z3gjm27Nei9OguaJkM;uW0PX9KAnqZrb@^xX__&G>(bV^8NLyr(hvsW^ELE#cR3JO^ zJn%R^G10+H!nC0}h zZ1?&T07r`U=wE*7_ss8Eb1EPGD+px@nF7UT={fT`jFoH!61Fi$arIPz*h&O$z$tV zVbbSlzq|bIFd`<|{(f@MbaD6u1C}`$>_@=-t*ETvaJ@srRK0ZUR_mog@;TnZZ0#6`tYTixN}oCKF1V)tnR{2>WnxxS*N4!*0vpt<2V?OslvK+k(s%CXlRJZ!`XRyWmP;Kr**JQHt+(!;MFT(9{}}>)W;0+ zakJmg$?Wjh+;sbSwmncJ6A*&vv0GMF=FU!-7Qtk;V|>kO+dFf0c73{AYYl6LJ<}{* zYc3}TB52@b2DX3H&fGd7ZwCw2KFpT8Z+B3c&iUI4jl#~Ky%_0;+ z0dP^cn70Ef^XUiaKOz$tSy>_NyKVPnGp48is3@audkQ7&8h6q(a|$|=WJ~5QV)uBe ztXtoYL08D#E#6w`)C$EH?k@H=$66G2_Q$QQZ4~5XfLJF}{Bu=RnLi2vuPtntPS3Dp zTj;Ymlf6778NUo%I_!J?Yaa~gWv$`%z(_D^h5>gU}kV&6c|Hx{$v37RFTXN0;yZ9mC-_=k#@=ER`dS{=DgEd)o&gmEr3%!iSo12- zH#X0FP+e($^e1qb6-dzORXd&!@ip$z&Y^5gr6uQR$G>McAD;*8<_6i_P(-BL%Wd(n zK)HdQl@9&e7R?s(PP?>CFtj!06~4!WcLE$%Zp8Z8ciwV%VNk9)JJ65KQyG*>{$JnE05kCn#S~&7ZO6D zkUBrVGDj}31&3HtRt1;EhAF1fW;-J&FYl#tPUO;iV`JX0)~$fxRIJg=LPPQP;!JaG zfn6q4_N`nBamvbhe5tP0VpRg2UAv)OS2%&&&+%R;Y0Pzae^k#1eMQtF2cfn$sP4@W z=-wHCUO*pp8-;|L{Fv^?<8t&IBL4(@Rw>VU}B{}ASl){xA~cXYv=ycJjj9E&W`JF*eTmS6X6gF{0D;m>ffXgu$dgawzix7cn?ttjq$z+kdahCWH5N$h zdqgP}|H=gzyn6>q)v(ty3U!KtSN6L@#r(}T5$qs0VKD7ajH99^YF=W^blMS!Sg24l zKN8*Tv^U#pTmgm@WlLLQO?lGN!chyJ*8Tt@xIsHmuC_ZVL&=;@Ibxd6QD zYGk#?_UkGj!78#GVxeKcz4YEzCZF;as(R90i925C1-2x2Ghg)}w)k^$vT2eNK=KFI z0=Fb=sPR%?nfdlo2T@u|vH90P3I+uJOFpry|{EHoMYuF4k@3peBbB zbF^G~S`o1JnLL;5P{96)E&d{7YCr!(Z}IBxRH=L_7gR^Opq&d`LR zcc&4Ty4}Z;yQw}E$(bpjcy_SaeRbLD!u+B9h;l86$O@skFq<|WZFEc-C{`d=VBE7l zTP27wAWgm3LLp7Z08c8F!X3nZiOI!;(@io6MMV&GNJ~f%Vg1r=^VGhtt*P=q_B>o- z)TyB2(0gu{%;l5=#Kk{aDOm|n2>8z2X(XStuXt%x*{=72_1k{u$4c>G5_+z@l<6zB zSFfBWDlpb61gDbYJ06!0QJObNyTjD-6!_(P2R{wS47x8}KNo#E^L(paxJ(GzjaXl} zK-DfT?d#if91pj1&1y&07P{n$YAiu>*hy|5g(vAenh@Y5L*nR(?b1KM9RnhlL!Qpe zX?~Us{;gS0cQt|p4=COC`7A%eZ=W^mX?-cMZS6A|UEJ|l*P_x$H^&zr4pZNnaV z-zqGpn-m=|@+(`~(x~&PackdGpi9~4JgG31#o+|>e79=smlLJxUN=QAXLx(bZ34px z^w_)%Q)a8zYsZ9zh=J0|Sn2(4n3W}kbV}6Vz`%3#=PG;VDx9=zWBIJPsqS;+6uDV4 z*gOv)niNkBH>{}K92OE0yn_>GAQFsQ?z)ta#A$&r_lA(MX}1JjxK<%=+k3de@@J1YM~jK0{%t7~+;at^jT z&kj|vGgr|eJ3UJ82AVBHwA9wK$N)l{WP%%Vor9?uUmqWz`g$m1aT8s^#!na^<|3wj zJxUouI-Z_cypUbVL(F%Je4~nh$wZuZ+^Iom{QarDkA z_AiWajnmbQRbobJX?*RY_f{1Z6+eu=e@Prlo{^cEPLb}1%%>75fe3R>T;@-NS>bMZ zF{QmK*5|>?ePdDXh_M%zcEjI+YS}OM*6-nGd_;svNW3$j$IV)Tx`6^}I^=77V;p4< zM~wZ&o0iz@hp)}}CWjG|(zzIfWh z%l%iP67Q&H%qW_Vj?G4j>Oa}is2AMr?BmY3LODF#b)M$PCiclg=iS?92 zP0ge~hFVDwHr?U2X8)~R0x}PJo*s)mb=6u-jPZ1_(12Jfy?(^bTa4h>{I-qXQ630S zgLs4d4JqRyBQ>kdRj1Lo)C=Qck`XaVEQeGrZ!0Ji7AB$c^XyD$Yj$+YKMm3x&1u2& z)cy!My0R|xF&5I}?fzAMQZQ2%mVe3Tbo|VoEq5pxnU722HiDG+&MylRPa>{aE{z8r zmv%b_k&xFIWcH2HVF80|vb1+7PA9+Jh*?zlsCka8z7Rf59=X-ycCx1jm0KI+GJljG zfqko3g=SG-?7j&jt;MeIX_pZTu^<|(=PQSZwCE0F$&42kxVYEPHRx33&%NK-9eACN zjgG;bZSy#7Sk6!v9m4@|zCY=1*%y+L%WQ8(UpDo&Q3FN8r)C0+9)WVX{SBIuy^>%@ z>swL@+=QdEC(*@YJn+X=k<%XEkRMU2(CBhQoHVOOYS2B7NAMnB_TzVE5K=~a?atYB zKr;Z3)d1(!^CV!a{GRf5P+x%LhQE1hPMvAy+Vl$})@8{;)k=GI$PYA~a%0U*Xa@i1 zs2y>PrIS!`EHV_)!^4VKn2_bDNW$+6Vl8MTTsPg+!JI=ZD&JKvE!JxmGf+4hLGLEY zi)ikAJbp$mkt<>@+Sze$AiHtuSwzL3)_G@G?9JAHGl;vQ&|YN53ggKma@*M-Uu{0= zd&R2?uT(drS~yXlc)DJw?m|O|l9}-db{n1um%&-Ks3P>4Ffz+(BAsj*I!&QO%DJo( z%5_0N_vT$)dBiYF>=IT=tNU@vd}s2GH@nM46IaXO61&x?@p=UY>Nzm31zz%&CLA1- zeVNW=I^t$9CMrPe`+W=Ch{Q?aXhkx^yT ze%MznTTfo9u70($QV|dqJXn$6=db{mZarSFl?6AaH><060@os!>)^~l)yCI1%>|@J zKQe?;$fiB3M-X;(vp-pI-VRp9=!=hE@OhF!G{bjEY!tbu^_4kR%HwX0dFE+A_}*e| z?y}`tTjLTkQ#U0A=mibtpVR z(^3b|-fB2mfXD3ab^HwjC=mK}T$g2m2P|1`x>DW`@fUp##(utj_%u8{722b;R#brF z^-MsbrETPxv&Fi%cGX(8^0wvDkMzb3d5;u6b8nX)1`>23gb&^kcnCdU zzI{>=me`DC7%z7K((mMr=MnAnXVeqdZ?S3cY$<|=vnW+ru<@*{dLq6djAnu4kIThf zeY;FZ_i8t7d`-Sq_NS#ll#0lsiRf z9XZ+3XfGB9D)x`Bo)FhBKVl-n-g#eck17_ycZoAH+Nb@718A;ewT~bu$RmIoa4= zd^Gf$ZnnUZMnDMcyKsZwgI>S%p{enhITN+Az;GzB>{KhKRWq$5F|7a9mRN(gQ@ z60CjA^3W0}9zUc@6h@u}a~p_^!)A1a!a41HwCo8}dl3=g^BfRcLA&Qvt32TeeW|G) zC<4@0mlJ1|qsI`Qk-v52?=Rs zHI`NthsEHBRsC)en<&}ys9}0d*QkMtkyZ40iYu>-HGNaa)u$4Lig*&kAMY)#DlQdJ&G#h=T;pNX7*kHF)uEqV!7q)*3P)nAk$qADd7YwcPDzrs z8?Fy~&Rg&u+F=*S&8`;>x63V`GW1$pkkBs=M$moTujni_8P0KeUGFqF$|KW9nr7^J zlL8d-wPc{9bsUIku?Yx9Mv6PMw}qSC4yV5Ad3bm<%YQmhggkZ$I9Z1;CYgw_dZF;9 z+3f<{VUOFDxuHm*iPDDzSs9#qRwN9zHj^WJyRj5JxI0oAPZ>ZI9qArY@#%U5;l&LJmBf zsVx+ku{u_xtnq zb=;iq7prP&)cE)Yjt)F-T^;xN-+rfJCidL8*O~P2Pb~>ZxX!pn@E0bIaXdOAX6YU+ z6Y99Sx^h>)6dI+bNJ~OT|0@?j(V!l__`?DeHzT~y&s=Q}+PO?jMcZBL-rmoq`vn4b zLS!vsHeUDB8v5(!_7N8|)lQe7CcV^hN?tmmRDRJn*qh>W5AA5X%VhB|kIQK-lfdQz zDtR_f+J=YaAD+>?vVTT<`YF4=DsLPtsnNM|7)|EVEqS1#61%Gwj?HV?@7jCMm0@HA zvPfWGO`U{&!gY&$;79S6s=u*}1Mg(dGC= zRCaTxvF1Rd%944l1EH8C;KlnFKUN93?CZKoQG#p@6Zv2+2fqOKn+`V&)hu9lr{-Wg z+hEA5NgokHYTZE!A>H6|I|*W4E1gCms^`LVANJNhoXp_HVa7RFOi>&roLOxMECKxM zO4H+OBj&6T<51h30W&JY`yGce4tQHTkoU=HFn-xH{8(%A6q0K!SH{l(u0~2DKCVVkaHjwvCQ$yJOq7?T&5RHaa#>-RIfQ-e2LIyj(A` z#;8$M>-t}F{^oRIp{i?QwOV8FJicP4Qtg#*0RlyUl#I!&=X;TS(jwzXEo_Ode^sQH zWFYGK4obSFrb_IM)|N>-Tx9GKjQtqX&dCY*F++WjxWB(g;}N%1*Gz_>hu?$HEQ%{(fq>@i;jd+4NpIe78DsRMxq6&qfZ zG^%B_9|;whg}t#zP;U{%as_Z4Q6!a4f+k*PayqSg5 zsn)#Wo<86*4*pN%27qPAl-V6G)s_9Y@ zO|0lsyQg?b@vmyhm3T_j-D|Y1D!!FUo;k)@s6-{H9Phh49wXiFnU%WOaB;f1SN*CB zO7pV0@0MAv=;=q+0)%b(j5zkEaUkCM-W|r7T zPY?!uq2`P|30Sp z|N6(JUDN~xbEd1Sz-}kJ$FP?^QG(<{Sie?{0C3Ol8{R$vzZmpVrZNo-pJolsGa64H@)Gog5q7xO61Uv8kD_9VC>0eAq3A_~1%Q zhWGrcS)sOq4;CpdE-VBRuMZCnka&Fsaxn$I9iKpf`&C$)e(|=pt^#aQ5bz8v&0YapM#Kwk(2O$Hz%9a$Og$jRGrCZy-e6 zGm;;t+&6eYi2KOAUz#iYyybl=0zyJz37K~2AR+ZGfe=8zf*hx)I5#^RIx8wGyCkQZ zJ#|DzOp0bxKFIO5SA+CP4YUGRS0kt|1QZkib9kPbqf-m1h={uSN@;276^>-i*Z;Ym zNRdn`PRS3I9@3upxMw>k=y>T8Il6s|T3v3L3^Hirml>Nk4<~SWYPMqvLsO4K5(%@& zhytT)z2i(Y+(bVqLdiEGA|vh`TYwSc|z zJ|HC~HGX&vRe-#B%ZrfyM0dj&xnMV~H5S$=yLF2ID@#0GZDL}vKDGejI6heDqY5GH zr70H++rXzXlMv<`UYPmG${HRTIx#*#<9|8$x} zp~ygg*(VYei~}IZcj1C5;QY_`DMSpOGP)U%>bY*;XnuXy5#&@|0>#N%r{#T!+Ky2M z>E8`W5J-auXuv{*PlHuefpXKht<3wnL^&6z%_ zg_k6-?B|8wHMfG-OdgvUR-)=|Vq*2jUtNA8#Mh!b`0q`d$D$HlTdr^`1+RNgGHvsC z=un|OP{(Ys^m*(cn|We4MwylOFeFhlerG6vB60j9&s0OhmI+3IFy(3TJ0(~dIOX>; zvHJwIU=nneUHtF78A{L#!!=iZYV>eYp}Y+P{`YTFeWV}ZC0lAV90-N>R?*r+rdQFv zqrs%VgUB5v*6X~3UfyecbfDlMr6VF|XBn@+*aLGka_n=$lw^aP)Z+ArKJ0*Wzqr>% zhE&QTUl%>>lsLYD!2kZ=IW?ApA7{-cE_X%vz8~bKUrixR;nC){lkRWl&!gXOC3fS* z*(_PY2g0CWR6mJOp$F#sm#g&M(is*3u@My-@G{~dA^pI`MaD@dK>oCNT$7fPpi~`1 zr<7Q+a#*PDQz!ZxaeVC-fSxFT=;nqBt(-vS7WU&xHd3}Yt*jPP7$A~(!ZS9mI zR~JyeLSrk(8j5;548Pv4k2OX?r>^$YarA4Uv}HdMM^d3?%Jfb#Ig9)gNGT@azGI8< zd4W(4sbo$~dVNUi;VB{MTCuoLF0_3y>GDmnqStj0j1v9-y$(@(IHct1MIoB#fwXP} zxtQ)w)75*YXHA#e5I!4!?1+e%;oK*uQ%T8{eC5QRN4_V%Swa7ePJ|%&Nf40#W2990 zPa_bM={=Sty|LO{sg}znnw~G5Sl|VM+`o0`?d`qT@^O5fd=Clnp^5ON^b1pHx+v2P zmQfMM*Y$*l9GTY(EkPZ|RP5)wSw?5TO*m)Ww(*89H0F*!g=Ybq#g%3z6b~2pS#>VA z(NR1-IH}aV)Xac#w4YSI6{B3Pp2{lA>#;6@0E4W5DK2BKfvv<4JTQ7lb^Oxp%8>~_ zhd98O>s+nn9RwBr3%c=~D&qrJDq+|3NOhhuJ!>d0{CJ*A2cB87Brsa=wccA8#oKR+uL+T(VyP*Y$yLD; zf0Lr7R>=Pb1mA+C+PS^WFY%w?f6EV5cc(0w!=?4$6z4MzeF83j#HX!N?MGNeJSq2kzuEuvTvh$a zPTdsG&K)2=A|Y8lfu=B;a+cP*Sasled4AG8^cYxp)~yQy9>hOdRlQM25wcW^@okun zB6P3zicU9}P}ecNDHFLr|Bhxs!%w|iRI7iwrBxoS8oAw5LQXik1~jQ~ZPAm4e6pn^ z#V8|3+a%$oS?$(A^rpTaJ83RT7A_)VvoWf<+XCHTZ7TP)6J^bw^T+c8%tKG0k>%Zi zg1p)cZ4TFt*OhO_{u%ATOJ3X$3dK^ObUxniY2UDg_4w2ZXu_+6D|OYIjn(b2i(xm0 zqlQs>dOpYZ$%moRaB8UGGNCAyGmtAXAN=}Q;GrdlM@B#rC}{7s3VHn-MoP(Ji52;$ z+Dzah-S9uw9Gxx=bE;(vDLe6yquemDu|mM6yEWj>+Su4tVmqkEX#_e05P2gf44KX5 zOWfv+7s^!j%q>KPMdL>v0E?`0iJUxo=0ZW4Gpc1rx{ek(&FOs_2iLEgf;f|Wh|chBo2M9NVp66^jH{Ss z;?k1Mv&IF-m?pwON%eIl>iNcUwl!}%t+77$jAv` zCbyKD6Oq2Vcih|E%RSWAY#?4+8lR^Qo+7(Mmu~X-_3O8oR)c>UVeWK)Kbx>T>Eil0 z(@#)s3HVp^@RjxP5>F8ZQAwDn@&XfM(OO5HV&i@2P8;kEj<&uF0dE(u@^}jv)m*uM zf<3-JoFTv^rzj2kcPS|))J4~*R{)0pj?X91W3epgVyztE{CIc4qb{}R6zhd{g31`7 z3P*Q^dTBM}hq-{)+-izWtS#eIOtO$gW@LGaTJ_Q|cA)HMLKQT!C~@oly+@()MQi5r zrI@X#Uu0SXJ-OR-Ho0R}SC21bF77qDr}Mc6YOb!G6P2}+L_qEdaNOzFmd0TQobbcV zTS=+~A3m83PZ@c&%_H>`dW?TJd+2=A{4o~hoBdj%|=gTGf&4-B@qd2$r z0Z^rJM_sj88bloIKG4#mXdg-v<`S2yEiJt%#7;g;6sRG;$-DH!sU1Vpl$vR6N-?nG zt3>p!V0v9_kR$8r|GNuVT0UE>^|L`U8}l=&R8VQNuU!0Eght1yNR1jI{1u?a(4lUH zzQ&3X3{M!HrJiA9iV6n=4<0z1Zh^LB%OVpS!|?nBYEYcbrU|x0OHj)^ie+l#3s4Vm zO9XuE=HE7y_|<_?@YUp!VN|bverh=_6^qqeEjxb#RA9mq_lYi)KZDIwVqsx0u`uH+ zlm~dd7FAT}D<&vugy2B zsh-7O5M=-C$Hi|xhCWfQS`En0(N!DwcXyalq)OD`m475M%h=dCl}Wt0>%4Y!feE_2 za;{bRtPlo09XlN{&EVHBdb4#fHdhtf>X~xU>dDOYvE?NBHu?!B!hPiOrn6o>GoNw9 zAd=evzjl`sw@@y5fu?CX|G4;goFod@AL)8}Mw*4n!CZc`#U?h#rNcZ``T5`4G}I7s zqQ7RU8g1RIVawm3D0KP0rMNqtuBtl!_Pse6?ZNFGgsEdI|xQIGF}%okuKd3g!I&ow+#e)kRfH%HmX$oURvUB!FLz5}PyzT2Ag zZM}KMXaTaPmZ`a29+h9j%14gXqPn~ht3_!sBG0P>{*8s=`K0~$H+{0-;#b;KZB}Ia zE|vOPI0D4?Yfd}vWM{XF=1cr?oER0$a>W}(fFffvzjH*&dz9Emc8+ewr-_XKIh(AI z!`0C|JMb@WVSP;o76x;jR-E>n`V6ViK5j7D&Vku4Bbj*T$s7$1I4n=WIKr!{b@)7v zYWL=oLh@?r>V4RS`hJA>tO?9Xsmg9TQ3RmEr{yCEZV7Lfv_ED_ zlFPj;6^c?pCVTtn+-Z_BR@)M)Rq(Q5vvb-&-e}BwrB6acQN-C}O zpao1&Vgece*nr=g;Y?q#W=Rc$E~Oe|9_TP)etg3*zgY{Uh`Fonh<#YXG{ zDpeyaU;?~xM0+nNy8w}&_xH+RwuV${`;;6-Sp)EfOKmOXDv4O&$8O1UTd7~&hZ=?a z?&P1}9nLa!tt*Lu!-CKBdnQg8DtjF6Z`7ouJG{DCm|aM1Zf!ie+q)G9+ou}&J`q(L zEd)r|m_$Kuq5E3R?;fu}P|?QiA37h;SpMQ@d~WopX`8J^|2MYaKJ~g^u>kTQ8ik)o z*Y#`XS%i{WmpMcn77h+NicaB27_kW)qNO<=k!S`<$&~J~Xg}PPfxsuKME^V`?N?Q$wvg`Z{WZ6KFAkfX9&{SMLUrmG@tD0-Y3& zHO)DkPlcSFS=8rO(aM1`7?;0;%xDKxuY-PjAPR2lc}zBF59KO8g~(H8^Q8(jH0_3X zE2i0yA~dSR#(JBoL~N;@b{W~fzY3*`!*n4{vAE=^U|0etIx#D)D8xz)23kQ?*iTO~ z3JStzoJ)Uj~ zHnE^1Fnu`}1f;?MIxNM6zJQwH=_n3&2>p=-OE)Hny~Zz`;{Cyuq#3>RK{1w2I#19)Zi7G-gr%qGv|C zQ4jxcjW8~~!&xNfAT$rn42LnFm&BdwdhSb3)qLdainxj%3H$b^fE zxu$YGgmx4y@Ws0z0RYyV`c?jr0|TekHwvQg1H$k0fMfu>qfUQ~#k+M&xrzm%ij zhgQBBT$mgmS*!>`D>TZRvR3FTdh}5x+#@M=VyZS{ER(z+ll4))zPpeH4<;E@C(ryW1j2h-7UEU5B$bAG;T1o%w^!c==t^p5=cX) zQ*Em7Aba!+#4zAi?SMkHK`5%>Rgp;Ow}1ry>O@2c%Xf_9iGp1jgd|h*vvcHY3LKZy%oQpY(tFrw!9ZIEv8TImTYwJx$Po`j%2gw zDJUqehwa4uI!zw&4lKvG+;`cH_f4N101Fhb{N;3dV0yj=oL8W)>y0MKmW}>whCnKF z>g?R|@2059b2CP&l@(zT(aVi4Rzk|S7zlZQK&w!ip`{^uAFR}Lx!CaCd|s9}fKIB$ zR!ZoN(2qTpdl@4xn7OOFhmeD^)~QmCB1ob@KKse00hajX70x^h)E~6MBp-$7Y@##O zUL>0Z5$spz78g>^zu^w-)@OeH@i{(d*FY2VX~NEI>h9e> zZtIuK>0GECzGOAAF_bVNc6I8o;orHLNhI^5GR=%LK9@@GfOv+uF!r_g<^I%-_c18@ zJDcgoOy%Be;uxxmWNsuRzRgyVwvv>iU@}B1mbwXDme1jP#8V>AcTd0HG0zUqw7GIZ z`A0TiF~99WHP)&}G-Yyl8!r~wPhc@EJC@i$jarzMg{6ts`swP`s@b14ofCU>PPL#6 zp`kOF3|0We5cq0rM5=Fy1d-ThG0dG`cc4-X9+K$Li(A(%Q6- z4t(8!nTxP16I<0*5=4w)iPN_^+tb5C#rO({+NjX-#Mq@K--x_eB-fb+s3euHIr7s( z2-9dah{B2v6&mcJ%te%1-JCLayzUztT{*3Nc;(;DE)II$0mEYs8DRFzl+Atz^jdu@ zv-{1@y(;dukq#{4Id_*!Gh=H!6dVVD!T6lYhBUJW@W+pZGWI@^o%dcGZwa93-e$d( zzr+$7oEMI3b5@zEu9F+3eOnemDn}p2FaI7GVS`8^p`myj_iY`|m$a*f@`I&uSbZyz zIn2Q|t)6#Dl9E&wlaidw7j*tO*2h%#y4QJ$}}F0_O36qb(*)M z5L%0CzyDYrZ3YY+@;=tt;CyFIhDIM;#TSTM{NW>S`*o?+2t@3DC1Gy?1+Qpff5`!t zL7mI#_-TZhDH0hm#b!5zziDq*hr55M)Di(2znz4!87`+1b#@MNYigW!qBJ?j$f$XX zaj{W-ZGsy$xpjEda(6irF0l+no^wqvZt}#y+$spFYz&>0{7fnQo@I0cF89@Q?BUi1 z@}4iBZ*Ct)eV!&9jEZuey+CT1Am%BF`HK`O498p?o5YBT@*Sd*qdpNKkzO>1`+kbB zBnJPEfk?!S_jS8{;iU_XLK9TU(*VUE-h^z~5Oz`6A9{Mm=$Oc!fGK;rMoxfx^u?f1 zD3sF()sNLq-r5Qbiq>A077(W?m(f_82ms_ZL}YLHbCk7cJ|aI zj$zPfTN)ZN0g-9se}VQ@;MVk2-pZ}>(p*}s>3e?~@fpg}rhoqs{0=mskiWX7G8p+o zYl$Ug#nNhmu`vNqIK>+zfTK#M(Z}Ml*IfPv#8dU#LtIX~cHK*!gR#Wmtl-`oWq%ua z*8@Y~4eYK!(~~FHvbu1Li^CCVlV@XSS&W5(1_*g|x^%qM_yp`#g~NP(zj!jIk6<&HLK2IajHhO%r?1tw5%bL+nhLT8#$@r* z1KI7q!QUJ36x{F45bS6qq0jClI9{c`kyHTgZP8gWCV=w|9hy8I4ARY4O zJ(V^n8tIO7Mp~Q!Wd67|J+CSOCWk3~grmKqB@oE}CJduet*KaP&b(aOBetv@iNlTU z4vSJG)9QRX*k8LhmP8>K6`X)tK}Lm6=idvWB<+H4RjHwB_qeR`TveCGHWR99F#?ku z3O2)*(K9wZ^9aAwm6!6b9{{y9w3$Uv&9Hy`gu+LuzYsA3?EK>A@6m@0XXARaI|9T@AUi^YHL6y(1Y*;_=>PcYhLF)MGj~cN1ZbaGb5eI5Ut;zpTN^K_`Kh<`Q%=HA@8qzmnK;LL8rNhAaKoX0aztL3dq-gSErFeJ) zWkxXZjw zixF2LA*pjFe7FL%sQnNg2kRO*{HAS{aS87$c~Bb z1$>z+?dya?m>Q^dm(a4TOdS?F#aJNN{QB_?PE{P9qK$6fg|=m%uu+DmIFNcIV;y)h z9(WbjlBLwrY1BbP!7Tx|p-65DrfmTY5mw2b=})JzK0(&a=)W2c_sgWgRj-kn9#i9D zCia)B^gqM-%avCu42at9hrCFuy0QmQEYsF|)h>e>eL>jgtMk?edY5<(bl-)GEHmc6 z3Uqqjo^SSF9L~|Td>whIx7T8Xd``mkBMkd9$cO=kOh|1Nc|h_r~_gWmq{;QjY#+#vk)@$rfbEpNatm6-U6 z0|~A#c6k({$S}aqq=B6Yx*^ih+QH{a`lIJFo%XGobu)t9nbdvk_Rn|JT$QZ-90k07 z)vIz5F}k>)KYs=iaom9SesLWhPEAWYyn23xKj*bS52ngZXSP0ly#9tO>o)=HI>Le3 z=?{wy|3gf7sY7ueQSXl2V>xT}Un*tNFc^5af&yYP60)Iz!QLr$FfRHV#qMGX#v<># zPcRT+yK=54xPbk)1zZ}+h4pbRS|0D6IAMB8`a1Ex!HXiz zvj&?*gKxE2ZFO7P*}A{ zEioy$p~d9P+?Y6UWeRH8G*(|wIfzJUA0$mp-&^BEDpZ@T9i^Bm_HV!`E6}mfB8R7T zdUE;M{Jc+24;mVn*wSQ7(^^VT0FO@+jYgf<+@iV6!m!i_U>K&a=kg;LfF3WBN;Tw( zMZ=Fv#unKrmU}8i)uD{dOiNA_7?H`{@6M*sXz$Osd)l{*wNf8xL;*&?K)C=`=D+Iz8gcWn7Yz7dIoa4W(lm!R7nbINb+2hSoA_@K;d3syT?yFP3%$KY zz*C`{QQ7z)Zfl%gRYDvH>>BiL2lL3TnB}Ib1>AO^aGRREnPujs=F%se^1zj3vd{x% zO!|!+R5Hi8+(}625+|h!@2#xH4&J6=0+>-2)uM-@f#=fg=<(uyjTJD4Ek=$elC-6r zpIfS(zT(BT{S6KZ*HB|G$O{=eT zcqN}J*Neaz@p1>m(LfS*0OcVPlcv*oo9zxT@Vjh2ZD0RJ+_{pxrIA}U0)X$;-d7Jn zNU?nctuj+D+r34a<4te~@ScbjRoYo^wQtfHM5J}k`T_)#DASN%Xy|C@$k?N^W66d| zkM${~`AF;=AxAWKsk1_=_o<-+yV`FO-WTuwF0@(y|Jv>lDBd86%lwO z33_N@G%+pq_xO^i#cIOcWu0PK9a~jf>Zge-1A^@7@exBXsSr zuyhG56*e?F!NlmZIzHKXNN~IdWH#i>f*AyJ0n1z_h_;snKBj9P6WLfZMU^k zL(9>+aUW}Ysc|3o`(KBDc0S`C;b2Y`%n=AfIV{x5gWpsZd&|3I1w#lG@NGlS>_y$$ z2;?csu0KRePTDt(Wsh>YEqyxiwd>mMo_J(Kca{TtyV{ap=c)}f;lxl+ox;BjpT2v* z+OID?$wgk3{zBk)A_JN>VB$_~BW4?gCE55!;@hUO|MPwfdj~;rWCLQ$)%BXoW%qfg zz9&p$; zH5KZNjvvASPURvWP(#)Z_P>~C{k>kiqF;Zkwf$5d2Ml#3DZV8oB^r(9+pPshQ^)u`Nd3DyuWYA5}Z#mf%zQ_Jd54O`YuGi zrb(;IX%7fYma}PUG9oY#d?5EuKRHo=AQb?g4_0%4rbAaL3!E&*AlA9Y4{3Z%# zt#1Ht&{7p7OqqC(p*%V6&b>I4PS^nKZs_S53A{4xc zbG*lqw_ko5@=vfmX1mnf0!N-_y<9)6S(#1)Hmsk|ZBM-*9dDTr&C?zv67+h=HqrFD zMVmZE{ro;mOYI+c*?oHA54?uSFy=zUK?b}n?GaDQSF(8-r?Z~hxdx&)+Jb5^y~^?r zRi|No-o&_>py2qpIE6Wdu_T(;iw=DDBCVCW7IyY49H|eeTg)4hly-~2UYbIH-m9sh zUorou5bfUB8W=m3I-kyOGg6IUonSFb?Sgz|aq6YsX#Q?uV+j<+WR(v5c?SXQI$NN$ zQ@J_H?j)+um4>@&PQqoP!jZq`DX=3mM$6r8E`K+N3v>Ah2ren1I^bYnU`h%D`l}_O z!|B>~3QmhcBf=^a+u+$@GmG`|gZln4OmDJY#?3~oJ}(ZIYXIjrN8(_ODfQQdv**Iy z4OpjR$4$PvkE(;#l*U47+^?(s*|{Ft$0Ci%T41uKm$r7Dtz5Kc z>Vor6msL3nuz^d)ueQ`Rx73Fw5%p|?qhLY=%g~sOUs0-dJyl#*Q%|J`G74X(ftCLG zV~<;jAWuHDof>4(Uaz`wXdFrxCBtd$NYrZG8JgW09fYwzH0V@bYcI8T;XrqkPVlVB zl@!+_EA#2zYHyE?Z|}cvt6?nTy1ryW6EfhIEf9b3P0|W|LM@vy*QC%9o+iDPbSQn2MYxUaG$!#%EEYzEe|KD>p45Wht zIN~DALYpawgY?38h)7WpMGZv2lRI~Ev!Zi?vM}I@hwn|$(V^S!^Z9dYh=_=I>7Vg5 zUb3^biFYH6Tmgs(uA=1zI}`-7m-KVv1IeN;_t#c~;3y!WVOa7(Jae6cl$eCF&3$xn z(D-;eSF_0`@LT-V(aVBG*JNcLaC{E)JEdgn6mudU$v!-|4oDqg*R2bs=a3%zJ)$?0 z8h25_B29qWv%{JuRxwc&Qs0@C39|t?OtDa|h!7_U@NHCT#)^K)G&CNM=Wyu< zGAE&61tB4}C0|yun-&-S*0tEO3SI_XnlCmVt~?9QH!KsUj6-C_rWa$+se@oK!GceV zC({73a;C(0to!2|q*);EgXbHt{;kX0m<9(bp3ExUc4)3S@4G6Z7_fE2vd=nT&>@;nixG*ubbQQ~gvQrq$&+4cntybwQb+>xIj4dmyxH__8E{%;$;&GCb&?_bXC780*)d#xB@P5#yHNl!0F{whEUT+*= zr4Yoo^*gg4C7m~_dcOCk!e4!D&87fYh_KKg*v&!aGd)AGV~mo*e<{sA5ivZ7 ze3)D%zTf-fwhPj?rxWQiKRA>t6$UQ-_lteo#{}-nCTkFU`$AUKXcCq__Vs`JKL|C}JWiKd<93=`D zMVE*c|qM=fgBlAcnvAWH^%xY)fn_)3ID(iP=8yOb zG((d}1*ayyxc}|~3`+&sa21yIDbGQutD)Rp4~{+1N=;DYuLJT;ya{wD@GBKSrwx!1 zCtbd%NG6@dV33x!7V;n6QU>eb)?wLv>mF_ODfO{jG@6^&=L2>|TS7uYh4iggz&=Fu zBRw_?2?yuw@B71r!RmX`$pM! zZF+61#>cF$(L>qqBEF7H+JNcp>@;5hF+kn|;l?yT;)7*HMGm5CDcfL9IgwlEdUB1N zS}0&yVSauP0t-AShd={gP`34)IhCVsK>^}rixe6f)GdFY8&cms`JG2p+}(}ukB<}k z5(p=J|6U1BPeKeeBFpbx>hg%kf%`X^ck`cbN)>W;6JZN-Xt6UhxjTBKgS=Y85BsI6 z8ybz8ZB2_ai?!uyNcslkWz#t2y`TrC188sD7v)1^V|3#~fDG#9Uvar4mUTQhJsl(= z=Cgqk@OqrowXr`~oU~fqFSUe!b@)Yq%SN9xNi(i6HyCNLPy%Ho-z1gFJf_OA%Go`7 zcy_kdVqo$V8^bisN|{tRSI_I(vKv3Sk+YRX#r_cutU7!TMtFt>VlKRmMMPLzDu`At_QP`@ zh{)9}ReC%cdoWext$E=@nMB)Ib?6)3D|Fx%AFJl;aA~+ThcOsk!Kk$PTpIT(F4gTc z$c9?Hv_zb2^sLJ+9OO`|!s=XpFN?s)ZwcjyS`FvYq8keZ1p1tIi97Y3KJs$@ySv>=OwygySm?=P8upvGkb6<5?` z6zs(4JF42wcIG~jDiM2tSi1CBr36eB^*A!x4!S46oe*aO#-(2qKvvXucI1Z8?d$(<@x@Sk;`<%>ZU0!k z%ajhw;-c+8Z918)wwUswqGVf4(3+7k5H!FV`N)>-<_9xcw0DlG;ZB^Llqh{rd}Ks+tyupi7+Rd`SS#XjOt;k@ROEZ-R~sw;YBTht zBv&pis^@b}pLzTxpw91PkcA+rMTKyR3$%&_|V{@f0Z93W2-Mf1YByyYyzNZdP z>qyRnaw}_fgHah(A+>SpRYq3+rfN$4nG3PZsd6TOKY-@Nw9fcNJ&XK7Dr`5AYek`;J{XI zHS{c9X4YW^d3WP%HJ_B_qLPXVS2@Z|y&G-ajOQ^Xtp7IyvI5W*PT zhOwk|R*^V0G)aWOgV_L_;$OZ1heGg@377kBb-aX%6!wSeSy4!3` zL*)cTREp$MsJsrr^s1&(*A`cg<@eM7;0lDRjD@j}4$R9%$7aH8eHGOqPgP&xux!jq zF0@o8F0Cp#;-TAKUJPPB+x7?ca+NDJEL-xk(rZnyI1J}q><+mo|4`&JpDo26u~V%p z0H?L33SCYh!7tKc2?pFxRF+GS+T@LumNSt=i(@BzBLL-Rn^|zq+9Ux zIk`O=l*_G=GGAeyWH#`InP@C8v%$cP$6KaczZg}yRsx20s($xZiG&RZdqmORXyIU5 z2VUoAi=~pA39?RezZs9F2KxIQFXpj&?VlJ~Sd4*SkQh?JEt;pfeErQy-Ad75JkQEU8(5JTaHcPrHqpSlhN$mN@1BhiV;OtR%~)F z5g+Ju+(RG1u6ybVtO@dbc^lcA5iGi!#0so(J(XKjYd?=DsmUpGM)&p=*1>8ZciS`P znVXEjvuo~qRRWJr36~wgYdoDi|8gHiYwu63tY-N#KY?H?N5pOGQnvT!ajDt|yAzb$Gt54>=X0LI^ON z{9P)(oaPt&^#zFPDg5w1OuQeGfC`I>;>m?VUqpj~qtLCgbW~!}{mc2C#agM$>Flum z{QP(K_I8XMdN}ydHz5IlZ`I(!HIWpfydxmA#E?Rl^iEWOaM!L0qL2#e{*ufUo06Qr zID)VbM>*n=S+4HQLk-b4JIb&xS<>qQun5ZjD-HW8<7E)+4^rlMAnx?vzlnr&r{WW` zzz7gg4$XQQ#M^V!CKEDG59a`vaB1PcP<`SrmghfAlen;)-F7+??xPD}VJsR#Gv zhIJ=~!f`;6U)W&5VrHUu#p|+gNeHR2?uo5x)W3ypgSSYdJS%SEH$ie*tagUOEx{gZ zYq`Uen`&bN`6@NXK4zjc)T^eTHahV?2ULx%nIlPNRosUlgW+K28^a3dU1?K z1f{OlEw5>Nbi-s)F*z9x6&d>dRoFj!JB%YP3y%;cF+9t~G|}J4?=6iv-4Bty$|ut00?UQf6Z1 z2Si>guS(p25Cl@195Vi&FY;h-WdnodPQ(!Qn@;9S0WwqmuhH$z?_ zYPSiM$HFhtG?>un8s0o{_}&LQNiR;rGr0++1-eB=AV&(QItAJ8uQWRBY+Obxo$nbp`-Qf_QiU&fS@eh;%XE z`fY1)N8)QgF>G4Y&Viwhp@Q-5>r$ucBq_ub#tDYBdgJihsmR;NkvJ;!E_qaxb3`1r zjHE0p3yXdc{d_9i4XsL@)%U2}=@KRwB5`<80%Vv0w<|%(PLdYHKyrq_^1O&JcIvxr z@&@}JujD$KK=R$FsDd8%Niy;7&7)Y49?qr+c10+xsb!Esr7kX&aoS=h~-pcoDbGmY{+*r%-fKswbqbE~4B=C#{&9IQ3Ct`YUjM|+CU-V`k>z$*@`u*uo-eS}E!#aRnnshw zT8O+~y*-V%FsPLB&)*Hd3V2~SFF1AAHFkAD7-yn$)E|kbu@6TX8uh=D5@r$;!~dC` zkmN(wtvA!0;Z1@M=eOuI*2>!0c1MnApHg|2C@rzq@qtRk>wC__+LfJHnw6h=6_r4eEE(_3y6!l6&`6d_;PrMPnuI3=%{mr^Z)O6P)8s#)1z_ zb9FzIa$ox*B4G2#l>lG3uL z&GHOjct2hMw=KW5b!Yi?AxV7nbK?84f)L@(*ivA2*h74ds>b;mhD8R%Sqp*Mc!Soi zHk%{A_sGW1q;5MR3W{R0b7t59<16}oZioD>>z8f9`tkkp}ZqhhIHzL)%Ls_l2p^tOdWkrsrN=W~rGCTh=Nu3J@p`F#9C|-v-Gl z$IqZP^~q(q+ZFN>>2$wc$Me@>Ik_)8ix+|tKkXmvylD!%u@`akhoKKQ4OkH*o99X} z)uou}l8SRnZtW_T;LOxQUn<-WtivKw4GoQ-cIMiu0B*A6&H>0Q6B=UDbo%IipD{yZ1nh~Uy9Th+6cMp59SLPLW%?locVZ9zm0v-D;gXEd zS3xt_2NwWKiz|Ty?j3u_1|VNFPSN{Rt~uA&H#e8x*;qxxSOh(*|CQ)}ux26u$b~;% zpMyVwJYgdqJ`fcnOcwJ6lpE_ybO(B8CTDL~`KNG(Lb88rCP8DLMIv$8%eanBrYRs9E7_veWbBOaYV;~S?&{*3#r z9xf4xj|t&l1Fo|F+0BbC*UZzFqS@^+!ZyA|UJ1%FCXYNp!H zb?w6?*Xu&I7VuyFC7k}RAu6@#s{r=@_E;(X|B3vkpuDyLQlo)3DkLB5|HQgWU;_C( zEaAclTv8A~RYDBkXNGPw_b!KG+I!Z!=g4~GzwKGrs>t7ZpB)aFOSTBM#Fo&jh=Sqi z?&@JaHGlp3#rGz`*<{Jc!l1$(DfulKaHb=YjQ{R@w^*u>PT+b-{5uqZDg71zWiZ6* zY$lYz1B6)MELIRnlmXvUreo6Ta^i0I3A$-?>N8g3hJ};xxO<|rBI?rPl}(u6U<0BU z3haEOgXjqv-rk20gzWesSuIW-1yH!~c=oT|gzWCm7dwDueOl%pF{6)oPp_^2hqbqk zs=DjmepR}W?hYjcrKC$j>F$&eN$J>tbV;XlNq0BW9nu}L>F$Pi>HR$S`JHjb8SfbH zIsPZ2ve*9ZwdT6!H9wbl*So^hjkKa4-v*gR=u=@CR)XR;d&{#{s_nZfVq&1zm75g_ z(v#%ZDdxR^@CJY_frc-aAO)47G3vCIYh6080HVsXPY)Z@10B(M=lw;JrLKGDG*GF)V5Emh%?~nC&Ccs@ypS=G#qN?x zoV)1hNI;Mg4UQ_4o^aP$s~wt`{OGT?$P$%gsk#vUG(Rh9TGjXS&R^m~Fh#b=v%2&@ zZDhVFDd`^W{XACJ7eC4Z+BhfFyVJ!8rQvCJ1_>e=_O`n-rE<$wIt_8<%-Hz&Al0-J zfH7B@K^Q|;W)}Q8`Ank(ixzRxCHWGHSf-=pTs!y#D3r?TTurwRHUU-7+I=~SR*rx- zb;!uiFQAPTmFdQM6*%v%xFI0^>7n_y9RYMNCf02!sfGpye9Sh65_d1#!bdhc%8ElR z9|hbIFbI@u9d*hjl?%mXL`6FQ3?0mFb$k^yzFid!;ILSUN=+pr#TL!|#aX=k$-+Xr zMtYVmlt}Q{l?p4U*X8RW>1&ItGGWors--V6p`g{zkgTqzhTmd7vqCvU#N`Etgo>>E zmT)2*4Di6*plxj|!R>60Z_3rz*B>#LU6q%YuRdR8Ewb1~9uBIAeAC~8K36E*4F6|3 zu@v@%ngl%;`1xRN&#f0LV)OIOY(IPe#7X{Uz9DJpo=_reYQb!1PiZyZR zw{%U7OrosYK1`N6r3u5pb6U+HHrzga`V_D<9xBVMq=~qenxh-5W7jvo{?rx*JT$V= zTF=Lp`vR4GA~M3%xHxfDvv}DQiEx6+3Nt$$orBzwv{+n`sf75;agkk#+2m+|GcP^h z*N@#AT^j11Bii9hiU;{@n?tEEe%U{AqodpW#{prh72`0Lg9j2>U0v?we9a8_9hK!=Vqz% zXC)kb+!(%eK8v`kd!^h&di*E&Bj*Q>H99v6W#|vneqTU>dRXT+)%Nw zQX@69Uki_)*ooLxX?c0m)L8m{kd2l;Mm+UNcXfdX?A_}N^n{WX4w(deaFU@Dr>is_ zyt}*p!%k8z?E_;M8y}v-P3g{Z{#I-i22fZ7;xCQ`L}?L1@_`B+5+ZEesx^-!1V7h~ zjV#$6ClXQ@U6sq75K&PF`-kaz80Qb4_d7AgZQw9nf_};nC1h(EQNe-7nTv)QAJXi%0%n(!)dI z*U^>=pC5i*zyXJ}U2Owg%?-}y{eYtwiW<5i=g!|;$W_vzMLO@4r(XUWj5UzExlHBj zOy>uWqom<~|4#V)`E#)GVUTi@U|~f?#l5L}{5kJrEhWNKauAr&F~hVGovV9voXGL{ zrxBOc;@5}c!F)DFMJ04{{=MDH5-@1J-XG@%vbJ)z#|x*kdcrdrQD6TAX!i6TyPE~V zz{vD?jjnuT`)VIi?+p51<;_|``YZY4^cf$YX5c_LX*qE5`bU3`KAz^@l3^HrTssNm zv)y*J-z~|_tp#r2yu83R7zBg>Um7}EykzI$ZyK|+vk2&9Am3?gu3id62|63SYwJrd z)XaeReWVXxZ1f~IAvW1t&5{^pj)wDPh$~r1rlF;ON%GR12ylU9rYf~AN1mq1rEtfl zMhdGwJG;%0;P}|jj_30QWbAwz1!GuMmXq*2TBG$`?4yT^m0V{f`d0wsNl3UoT01b< zi--~rsGWV%1Y8ft*v`8mnx8+99PoF#xPT$BBUKP{5fvR}@C(NyKRA&E>naY6d{`|s zxSZc`P=EZm^PW$^-REp1%pT#YCESVKlZfJ1sj|nyqj+?by^&& z4aIo3B*2gl+S=|^$#|~XVI@Aew%EToxg=E(wqcCJHUry)!~|^CQwpRZ0}I_ zRM-m{<@M;a_4?cnU?uuZg|~Cln_{#l0hN$oYdfvc{vp5C$+^g z*ccX-kZpfthrgiv1v>+erbbo=K8S%j`-MHCRcmc*V$85Wro!}=LA-gyvxuSBRjTAjd2r^JILKcU+>n78D8L)|3O1f-zNMNAcQmE0b~%L00(wieJhdA z<7{SThTwgIn*M&QC3TsY=hfBIn&&(zzjB=p!BA*>qT}|CF{2dYryJmQ)^|nB6Gtch za&neGpvFQ>NZ9dv+1(~Qg6vklW?8BHYXLaw4ymu;9Y&+I>>x(W{5PQCOVrajYN^1OQ@Jg@}gRw#vzW!}}@ z<&J*Ggo(J+d>IlH;+NF~VlM#x88b>&P6Z?sT3T3AB8f|4?A%K7;(;AteB z`($!jE{cu63-%=%8g5ecX4uF2&C*^P%8+64y`jI6$3I4+KAqb5I(sp zCo9ZLvwQ`GNY*En3`qo3$i2$hIX^s(F7+Bcm?5gGodCi=S7~hx`|bLOjK@-?Q2FIs zLL8M=-Fwh;>9FV+B^0jnW)N7^?Nh`FqwW|K*?Gz;5jK9%tDIWoXx*uwtD|K0G`CfVY=b`62JJ1Mze` zqZ+y))@&|?#oGE&#zlJ8pRAj$gebFUK=wSCX&z7`!d-B)A*YH)x3V%S7RhDf;e?Mf z1fo96kM}gje!Y1msWL0guG6No*iaXaYHi=+iw$+8rr_+AI4M1w=<2j^x4) zl(B7a-gw{PGBs9kv+NMr9{1C3okg3yy4ovocWd$Wzqz?iX|-ulK)FNuuNL4Knpi;0 z$i{}k;HUI~a4l;CqO(de4 z_X5hi{(gh~{s#zzFMDrg-T?a0f#7g{28=ugM6H*H_^&k1e*eJO6C6qA?U)>=wa)or z*qZyf$MDnH#^OBCgw!#>P;cLW>g5{?zmOt}W<@)E%2Lp4y~QAlVe(L>86;-M^S!Ka znw$;AZ!q|ienq>md`Z#{N>n&MSbAFb5qV(*9NRY)g48W329jiEQ@>V4XrfCo$;rtB z?{!<&(~U~q@=Lu#gd5m+dS6=(__)@zT&wZk!vwAII{^KVj1=Y zorNw;ZEbD!<;so_ZZ%KkA5D}3lu6btLgmiQ{BR^JokQ!FXh=h1{ z*EZ!&DzlHIV!dL#gLCn-jg5rvs0Ha1OOCd-K>UCy7G!f$1H*?P9^M#A{Dnn|LY~EJ1qe1&dNJ{)rUvAf>`*^W36+xdvJe_T%;CptXhNQ zE5RTDc_LL%T6n4H`WtB*d=l%IRmDV_7o8*LhyWyy!Rw*rt9)`iy(cU_^j3++X+N%l zdP|@bVlt9|_C+5Tp~oixqdcLAXtH4a$a(aOR~0JdevgrfaZa`e#v=tTAu%zdo@A=J z^bf_Dp&<2xIkK%*ECyj~H$WnvulmfNE~i&pvrmB?b-!;*O4w^KoW!QaG<@p10mo19 z)M zidzr9YaRr!zfCrwP!Y2e>-Pc)(H%@jMqN~sP1T{Hq1B-kPT0TKPT_n<#U2Fim@$4D zmS5YZNcyqWfYee%{gqy^TgQFbWWJ}{D0DiC4)6Q=T$ZQC0_4bYr9OhX#B?NSJkuov zVC?O8W}Zj+MuaM;2Npr_qVpR(aE9ymDo-SMXvlqeOg-+?H)eU1!qrOPqM)zNE@;>ZBEUDfoOZ7rQ`b6LL17D~3H?@tM!cv4^wULe(a(3M?lr@R zv;ufKZE;_;hV`jc1a~vM5TMlMRAYUTZ*uZm2=N(qG!}SG(ViCR-tg!IPYl>7&16)U zm)v_l>(zb{ZQ0u0y?ZPR4O}mEibWH>6LkJ5gt)42ZMVL&t}$*Jxu&vrsl2C7v5V5k zG`+!WB9nv^a1=%&sM^FGpSFK^%A^yCyahm=$ASB#52JZ19g0ToG%Jl-MB#*;`gMdd#O7d%D!}zwvb9%B_szeC! zyQuB6N4W>gU_ieUy?Blu5X~ZaOM*F?uIq#G@BmG-IjS@C3oczh_?Y1=OQZAtLrWwu zBb9&oGU~!(_pq0JjIFcNxDc&dLM`}ZD3K#$jl=U7@Yde&4-O*tqT3R zmE^*|Ta(4b#9ad)3^aFSMVHAL-7zI3QStm))IInBS0QpgD!~MhlRY^?b zd4K8WgcR|yDl!H`%XJRXS7v3hfJKZ70#hG-(SP_fulY&g8(|BPwEvp&AEa;Uk9)~$ zITiyp7JyOD&dqIgJ&)pR#46KZdQ;|0qTr}HwcqHpGFc)sA7&MmAa6ifQTlZ(SVxd` z6K#j9cbe*{m!5Ulv-jb+QgJGt=g2oVP-dRsUt1^2pq{h`n#JB$Q0Xu4`tR5D+rRU4 zO_dwnH{;Ah@Ir~$&mcGN&XWg9DIo$F4->zB^~Ef?BPb@mQ+Q#)bR8(-5e|E;K0`we zXI%moe5 z(KWIbc17d+mwn)Rc6@`^-o~o4{xSz{Gk5gwo$Ny$mMa>ikGM}qb4C1}R$pJ=Xi(Z~ zOV^L_;vlUH;hbE3wgl@(M2UBHsSxz}2}aDN%XNj@wAJBKGj;Z&_qRdRX*>|8BH4nn zm>#^&2!QE0Jf@n;%v*87X#{VAPmFaNT)X=E%#OYaqsQ)pFhE}qq2Nrd&2?-X6738K z_w{S}2f!srXJq16lrean?jy|d_O(4Gp*=h|1~3FCa#@y?NpBfRh>N3=vIk203+Y+j z7gX193evR2FsHP0E4+65?4cu2s@qz_TDvvZN2-Y@Fj?cEb#3>Up37l7a|E`1Uv{Eo zR;y?BF@4eNRtqiMpF8txjR)GlB@iWn458WG{P>&jCok1c6K$8*gp;N$DZIo1WO8cC zU*(y&M}(V2PPEb__qgfK?l$(=O29+$Gwa2Ae#bL)TRvE?2oj%IOn*u=;NxJe_&~`v zm_Dw8L#4EL<8r-Go#6$h`uMpmIE&!R4C^MWkG77d-B{c45V)(3vw8$PPJBs}zKM@W z%zC4U86r~lW}_Kh6crcsZmX2CfxPdp@fC;Ov72{(C}riM90jSTkR&aA8%$WS(VU|n zf0$O?B6-E5-N?vZhc`C_-)_ms00o8;`{783)s5OeoFY43_~KyJ{Lt$j1i^7~vU~4W ztw0`ls3IdE70)InkJ?0y|Liw0`|96NLpO#}wfai1DBsh6eoZJ%l%kvcUBNCg*76yH z=IPdP7Qji^m`}HWTs{ChaoFEWjqYF>yL(}7K3Pcnhv#Y=Gm5%eM%l3nepuuWcmnPs7th)3t|h+!G?;BjV+rjpiwHj z2*DtJvDGzz&yiAiIM?v;S4CHZBXzbZmE~*;T4p+sQeG2$0{}DNS;9@e8cLcz-j zF=I>{2_Ty}*WxN-V#1B9cez!~YYsK%LKG9(x&(@%_QMB)NhviOS>-`8jdDNmjOCl< zAMJPeqx;AbK=`htdc8Ujl00_z=xFIvz(h*FZyzAOCj0Bw+wsVqxg3c(>b!MFcW3)`yAj6e6-Y`iGk1=1NYb*XqS$c3Tbe9TxF!y`=9QKW^T&uAH*vGD4XdV3zIE$Oz~FzW^pk$(WhlX$Z$leGs2jIShbxhyW$%EPed!E+nn5kyy1CLqsFZu_ z?u^lxqE|~d!0WLCO^D1|oU3oUTds2%pS#($)Bfj)T%rC$^CrN`bope3__a?deKL20 zs&EE2raGrIZ8?WIiJ0s2LYWr`o9gXmPRf=09;X)bM`wCvU;XY6ml^S2?@Z9Ln5~37 za@(3Gf0$OTV+sK46@%Sk6yrmfmbrq;a#F^Mli9CNf3tA?nm*X}U*0yCXg83!!t5kx zODw&nT9)h``Pn+lml_-d9P4;8D6U6-aYzzd4(Ikt%DS%E7TY*LB%M`y+&%H+4WX@n zC;!T(qP!yUjaffT-YNzHHJ<3$8`}QMSP$24bSdP#9EMd;NuZ8dj1!f??NA zbxx2~kng2tVQ!F_-{s7l!*H`pF6Mcjn7$_BC-*}sDJ>n@JU-Ehd(Tiej1wNrJyPqx zW$QrMrM$=XM1@PW?a=#NV(9!dzNC*P&=eq;l#~=tnLRT89ufe(t?TF*dGYgPLeI!J zNvLhg*LY%lGJ4VZ+rYY&db8u8?-vmcGL=MY59CGGKX~S$;Gl`Yl)(?b?GRBo@*ban zp2Ty7=SSmKdif_S4=^CDPGie*OE?wkk0{otz?=O%hTnK*V#Wx-YA}<88x$oZa^2!f z=(_1PS#*_iMbnSkwnpU?XH=rn)G7K1)(e#ATzK(BXpNn-@wNPE9L3N_-3(e9J^p(MhLlI*`e8rK83PJweayM5d0l;}hle z0tiv@?AQo}70JuK>A7&TasE|o$=mBkM@#E+%LhndBqrB?WENcZSjsy_7!g9AP}RN4 zaQ48QA8`4&d!iJ+AHqE?TGd26WWcvko|`dH+})D#QkMGOd7yX>)NB3Of$u)v@_&N| zZ(ppYr_;X;wY(YD|0XhLC?dm%fGh1E);7bB|G&Rn0KlWbO!VK@-D4(G%hwn0KWGbm zGWksO{JHplVyH)3x$DU?|EmRbb>~P+I^!rr{qX~IP>cKt_x+0kuN4xKjA3;~qx}0@ z@R}3}F#ido2AO<*PyauE`Qd{yL+rq$aV57sQHn?gW^1Y>Q$MJF`ukUoojV1e{&%59 z^~B}mK(ccCOfL;JH9wf)0f1_kPHUmu@p_&GkT)CjF7wK_E+OGXxw`b-(7%g%4-$UG zXKisokhY;=mZ&$39~I>>JqUOdey7=}+B{mua(rCgsfY6K|FirQ%O`e^Me#W89L1MfEtP2d%;!haWs;h2J`=(qa*Kz#bqk$k4n*M!l_MRQ5bIh7*m zyOe)_gjjn_dtoa~ET5qFNbitNw@)Q_QVc#S`Cp;@n{~~w-5*zoiBGNsKYIy*aasB-u){5=zHePhF4!dFvk9?O&XUkW>I;`i@j(iZlS0_{d` zf|eOMIW?2Aii?Xy?^M7~(hB1zvb{3(9?a=mnSY$m{-X5E44s7A&U`uY#WB#WwR2^4 z{zMXpNb)N)OoBD06p$SXy1gWI-W$y)Ry#-)bay%FG$RS)JZ=Q1KLHWZb5C4UL|Q<< z9UL0$Q!5XrEmLP=V`H05v*4WX?N#qO>+Yt5avdeXW?dm1hyXsD3P zrU91FwJxU9%Ud2D9e&ajLC3mG-NhR_lcAyh;i%B>Zw=mjqX{rpX=P@UHro0F z-TNR*UFgq~tOyfdm=qaVGJFc3q1O8OnrHJf$CRb^{!(*?XUGQ87O};A6SnI{r*&jv zBB1oj-KiXL`(goL!RD~8_fvQNd!*=YfulM(98%xU)1?b!ydD!MX`4rzIcQpf5J;=> zE}ii>xu7l9v(|+L?XBh8rnB#y?zXPtJZD$E%>Tm`5Q0dnU(PTTS3UH;aS-k2wq_h zOtjK%#W)*$$9GiH&>C?DS>xCu( zm*2{^{YYzcy7i8I)iP|(g<_|1=ojd~jeVryoWkq5aW<<2Evxt>&tc9;tb|<&p*HZz z|Go9@(=+IA&DziI55Ku*6C5oUpFI;qfb(>RnAWBq$X|oEkB)tRI#yay-J!qAdQ&w= zdN!r8wZ~#Scld*(5m2jaVhNUY&i5d3?#=9PtREE%pYXh{EBR*gb~Z zW>0!4ktgNqBxE3Yo+Y`pvu)|iKn)r~_#Wu{I1c6=kF}c}y(I8=w%)&q<(#Sk>z^y1 z=Rv;Yuye)Xwz?(%!}dr2;T;4e#YSB?$ks^OUS;~Y(Si&gDsGz zRHs#OGM@-_Ud<6i_;J2|{S;ko!P91>rQ&`XZelVdF!1YBfwbvb&(f zr9JK=8f+V*pQ4~g3BT6BsOYD~f}wOTAA={l5&qtN`cFP%jm1KHISOeAnI)y$Sd|Zp zcbzcE`BZCV`LElZEB+2i0ILY*&=EBHn;S7mX52nOkA88LE_%&ibtff#j~;+y zLF6#j14DU{Pwx>@xE&tmVzu}iFR3ILlGMKs#It~uRPCcZjX#w@Mp{O0E(SlXpS6aj z`ed<^=aRR^h@LZ;wXK7!{|>WCF{>)|`q_Y1Nann7>T+%P;61C7QV_?i)P36bQ3+eA zF*tTbXBw}VpNzk^Zx#D7)02im`)HX8FJ!XPsg`-3i}}vFJSZqzs-UgI+A{{tl^VpR(qLj-d&`Q zsrxOXaLZlKz0fQ1Zf=I@w0vjK;IzBCG4-VzxNS`3e5l!V7Fu;FYOOEZ@C8PA?X50P zVn-^v7<(gSlGx4Xs%8_8se8T=Pv*#IX&`2MSblA8L~ruAFOWF2vR-bPZ8R6;t`PR| zXHKjp5U`cZePsm#w2s933uMJCrAY+285j!QujSaVwvUYklOXXjy`6i9u2y1{7E4>- zjrDs(3?;5z0CB7x1_70h<+Y5QTmWvzaLL$o5ThC$J>Bc?gBSa}+7Sb7?FbI`brBSP zK1S!e^<}eBQgYx**$UY%01s!);fyK`)^Hl5nXn|Bs5Xzuf}|*QR$#AzB{*KA$D5j&5mcE{`zRR+SZLWKDIxUsEmCeOSH|19S}rI#qbv69KRQ4tvsnD^FZ; z3Y^hxREL~z--7eh+hkX@Y!(FHyrH6{^}8E?j247q^fEgAyv6W<3IWTYx^sd~S3l+h zKLq-#zZ%U5J(0`YW%mM21Pzr3=H{qVZ=DJabo%vNBn^{8b_q1L?idd{dOpk8GO0&c((H z^%i^DZ#c+)K)KbZv?VQqiCFN7K#fyVZ80BEMM6T7m#TO@l*Ad}Ku1XlRAu7#?}MPd zKxl6DxIY=12MN|@;58ShU7CmC$D#CxhlctUNJ&exM=cSdbW6rFX6sKb*1IuszPbpC zHwD%@pPN?&^s0ZzjyBm}|5j@ZsNwNL26hwQv3Q(0%qQrgMQOJD(a3p_1<=bgzkjc1 zqWxrLh5nTC?50<+n5os#+#tLDyO^>)4eD}(U6!$(TKo;TdMgRsc*>i?zn$ZmwXIdS zW4xp0iuHn(wy)IUwTBBQu6IoZN*t25B0eG%YM`{|NqL18ESnsYJgHr( z>kcY9)eqKQFfMCZ0kWgpY^y$us;}H178)VfC*X}9X>q+*RP|^fVX9{`Ti)T@pN|5) z_TgcU61~`kem@cUV5i^Z5U<%L3rSY2F5AbpMX=j|{PCjU?W@06+MzdZ#_F{JX}5Tk zIMh|p^Je?B2UkkXdbu7>qz-wVF^uSS+>jyp+bXWNZ{NNWuGIojNe+oaNRm$KqGFch#7P(D0c;z6OEBUE)eF>ikCVHn zFR)b!X0xa%O6F@l<&viMr%Lo>$a2%iKUMgsus*SCk9(CaN#hNyAxYCo9G2zIeV3;W zLqmgLz7U`YX|Jt)V+(9)`{44*aB%z8u4=w=3$Ub#;F)jx ztBv~;pC<1knpE>&Er2qeEiNHO->_gRea3K~H#Snx`(njZt0(awp@0Gc|vbT`E>xe$1rTW~1 z;$NYm(orD}meb^C;jq4kcT4A6OV}cGh<#z?-0#JoM}R5Xl4tfI8MwTTTlTk(t7xE2 zs@3d@_SWRd;+Dwa2gT8|e70BGeB`*e^)9>Om%};?s(F$)&q)HlT3`*bF-hfy9gqt& z(P!^&)s1Jep%p~HpfaRvWzTE}hpH1iyFn?wai0P$UCOLx8 zpkj9fM8l4DpvKe7B_ks>KxiA;BVbG9(p>twgI467X$RiBn@hYB2^I=NNV4!v|fLOjcGzHm~ilA5-! zVo=BJcju^id3pJ?ZI>(>Yxe176Huwwej8?d`Hq^iQ^2TB9Kl{wUgKw*j#+y_YQXG% zdQrW%xY{9}lbzk$ZXzjJ^LbLd0ljRMAhz{U;(FX1|GxHW=9n5BO~xO2oDQB5c0t|` z>~fXJk_ejZK(}|Nt-i@!-QcL@jR5ORhll)0zU;wTj|@$WPk*-5^DzRIb3BFYAmdls zJck=og93Kx!L(k2~aozuZWh0uzhdRT+L#s?tJy09+NLwVQm&htJcyVb89gv+{5~w z(w`={eYW0pty{+FJvjp=At5-cw+Y8hvBhu*2%fY-gFfaqH|x%+RB2T@(sFyuo%J20 zG&DJ1>};GjVvxHmG&!VimGB@wQ&1I?SjF`jlEc@kJ-ypNE9U3va_l?U1RBX0lJuHncr(p+q3O*Z_9{6qT zZY&Zux5rIDGhX&0TR@9gEAR%7<@!Os&F%6qmCxmFYjy3&q1t@XYc?VlrVB_#dvld* z0UsO>Rgcic!S$1n+r-(#WTS>uE8}HfB>BDI!9w-@$&X#KOa9xl9VeZ2cX#+Ra#$3& z`Dduh_2*CgZ!fk>BZG_~?zCJJe#~M2NGdOxnK{@P$ERwFZpgh}$QodI_pH5aIz+L5 znQ=&STL}amFnsUVaV8N)MlZ)5Owjc&a+ITi{lU!fN5 zt*T_IQhxDB@pnG?u{LztXOlMb8@`5fO)0ZK}Xd?6GF@0JC1gtOXLoTMxfn zj+=Tq^nbC>ON{(ZM%m1gg^Z??=

    + +
    +

    + send + Telegram Notifications +

    +

    Send alerts to Telegram when API errors occur (auth failures, 5xx errors).

    +
    + +
    +
    + + + +
    + + +
    +
    + + + +
    +
    +
    @@ -247,10 +275,10 @@

    - - - - - + + + + + From 8e96276e06fc0d422abbedc0b9e9d98cd762ca3b Mon Sep 17 00:00:00 2001 From: leolionart Date: Tue, 24 Feb 2026 00:55:13 +0700 Subject: [PATCH 24/32] chore: bump version to 0.6.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 2843a4f1..0a149e8e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [tool.poetry] name = "webai-to-api" -version = "0.5.1" +version = "0.6.0" description = "WebAI-to-API is a modular web server built with FastAPI, designed to manage requests across AI services." authors = ["Mohammad "] license = "MIT" From e6f96cc03d2f90fb4d8b44f0fc2546a5a3eebfda Mon Sep 17 00:00:00 2001 From: leolionart Date: Tue, 24 Feb 2026 01:02:56 +0700 Subject: [PATCH 25/32] fix: consistent Telegram UI layout + detect directory-as-config error - Rewrite Telegram section using form-group/config-row/config-label pattern matching existing sections (Proxy, Model, Manual Cookies) - Remove all inline styles; use help-text, btn-tonal btn-small, code preview - Detect when CONFIG_PATH is a directory (Docker volume misconfiguration) and log a clear actionable error instead of silent write failure --- src/app/config.py | 11 ++++++++- src/static/js/config.js | 2 +- src/templates/admin.html | 48 ++++++++++++++++++++++------------------ 3 files changed, 37 insertions(+), 24 deletions(-) diff --git a/src/app/config.py b/src/app/config.py index 48515f11..cb30ba9c 100644 --- a/src/app/config.py +++ b/src/app/config.py @@ -13,6 +13,15 @@ def _ensure_config_exists(config_file: str) -> None: """If config_file doesn't exist, copy from bundled default or create empty.""" + # Docker volume misconfiguration: path exists but is a directory instead of a file + if os.path.isdir(config_file): + logger.error( + f"Config path '{config_file}' is a directory, not a file. " + "This usually means the Docker volume was mounted incorrectly. " + "Fix: ensure the host path is a file (e.g. touch /host/data/config.conf) " + "before mounting as a volume." + ) + return if os.path.exists(config_file): return # Create parent directory if needed @@ -21,7 +30,7 @@ def _ensure_config_exists(config_file: str) -> None: os.makedirs(parent, exist_ok=True) # Try to copy bundled config.conf as starting point bundled = os.path.join(os.path.dirname(os.path.dirname(__file__)), "..", "config.conf") - if os.path.exists(bundled): + if os.path.exists(bundled) and not os.path.isdir(bundled): shutil.copy2(bundled, config_file) logger.info(f"Copied bundled config to {config_file}") diff --git a/src/static/js/config.js b/src/static/js/config.js index b1a251d8..9661eddd 100644 --- a/src/static/js/config.js +++ b/src/static/js/config.js @@ -161,7 +161,7 @@ const Config = { document.getElementById("telegram-chatid").value = data.chat_id || ""; document.getElementById("telegram-cooldown").value = data.cooldown_seconds || 60; const preview = document.getElementById("telegram-token-preview"); - preview.textContent = data.bot_token_preview ? `Current token: ${data.bot_token_preview}` : ""; + preview.textContent = data.bot_token_preview || ""; }, async handleTelegramSave() { diff --git a/src/templates/admin.html b/src/templates/admin.html index f6c14255..e0504128 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -11,7 +11,7 @@ - +
    @@ -229,26 +229,30 @@

    send Telegram Notifications

    -

    Send alerts to Telegram when API errors occur (auth failures, 5xx errors).

    -
    -
    Checking...
    @@ -279,10 +280,10 @@

    - - - - - + + + + + From 6e03b8437a219ff72e29da626b56a84f7fcab564 Mon Sep 17 00:00:00 2001 From: leolionart Date: Tue, 24 Feb 2026 01:16:09 +0700 Subject: [PATCH 29/32] chore: bump version to 0.6.2 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e55868c3..ad5e227d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [tool.poetry] name = "webai-to-api" -version = "0.6.1" +version = "0.6.2" description = "WebAI-to-API is a modular web server built with FastAPI, designed to manage requests across AI services." authors = ["Mohammad "] license = "MIT" From 9d3b19491640adab094ba5c6f3028b138e93c255 Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 25 Feb 2026 09:39:59 +0700 Subject: [PATCH 30/32] feat: configurable Telegram notification error types Add notify_types setting to filter which error categories trigger Telegram alerts (auth, 503, 500). Default to auth-only to reduce noise from transient stream errors. Includes M3-styled checkboxes in admin UI and centralized type filtering in TelegramNotifier. --- src/app/endpoints/admin_api.py | 7 +++++- src/app/services/telegram_notifier.py | 10 ++++++++ src/static/css/admin.css | 34 ++++++++++++++++++++++++--- src/static/js/config.js | 13 +++++++++- src/templates/admin.html | 31 ++++++++++++++++++------ 5 files changed, 83 insertions(+), 12 deletions(-) diff --git a/src/app/endpoints/admin_api.py b/src/app/endpoints/admin_api.py index 0e0fb2f2..43d46e23 100644 --- a/src/app/endpoints/admin_api.py +++ b/src/app/endpoints/admin_api.py @@ -59,6 +59,7 @@ class TelegramUpdateRequest(BaseModel): bot_token: str chat_id: str cooldown_seconds: int = 60 + notify_types: list[str] = ["auth"] # --- Dashboard --- @@ -235,11 +236,14 @@ async def get_telegram_config(): """Return current Telegram notification settings (token masked).""" section = CONFIG["Telegram"] if "Telegram" in CONFIG else {} bot_token = section.get("bot_token", "") + raw_types = section.get("notify_types", "auth").strip() + notify_types = [t.strip() for t in raw_types.split(",") if t.strip()] return { "enabled": str(section.get("enabled", "false")).lower() == "true", "bot_token_preview": _mask_value(bot_token), "chat_id": section.get("chat_id", ""), "cooldown_seconds": int(section.get("cooldown_seconds", 60)), + "notify_types": notify_types, } @@ -252,8 +256,9 @@ async def update_telegram_config(request: TelegramUpdateRequest): CONFIG["Telegram"]["bot_token"] = request.bot_token CONFIG["Telegram"]["chat_id"] = request.chat_id CONFIG["Telegram"]["cooldown_seconds"] = str(request.cooldown_seconds) + CONFIG["Telegram"]["notify_types"] = ",".join(request.notify_types) write_config(CONFIG) - logger.info(f"Telegram notifications {'enabled' if request.enabled else 'disabled'}.") + logger.info(f"Telegram notifications {'enabled' if request.enabled else 'disabled'} (types: {request.notify_types}).") return {"success": True} diff --git a/src/app/services/telegram_notifier.py b/src/app/services/telegram_notifier.py index df6ac9db..c0851a36 100644 --- a/src/app/services/telegram_notifier.py +++ b/src/app/services/telegram_notifier.py @@ -18,6 +18,9 @@ # Minimum seconds between notifications of the same error type _DEFAULT_COOLDOWN = 60 +# Only send notifications for these error types by default (auth = cookie expired) +_DEFAULT_NOTIFY_TYPES = "auth" + class TelegramNotifier: """Singleton Telegram alert service.""" @@ -41,11 +44,14 @@ def get_instance(cls) -> "TelegramNotifier": @staticmethod def _cfg() -> dict: section = CONFIG["Telegram"] if "Telegram" in CONFIG else {} + raw_types = section.get("notify_types", _DEFAULT_NOTIFY_TYPES).strip() + notify_types = {t.strip() for t in raw_types.split(",") if t.strip()} return { "enabled": str(section.get("enabled", "false")).lower() == "true", "bot_token": section.get("bot_token", "").strip(), "chat_id": section.get("chat_id", "").strip(), "cooldown": int(section.get("cooldown_seconds", _DEFAULT_COOLDOWN)), + "notify_types": notify_types, } # ------------------------------------------------------------------ @@ -81,6 +87,10 @@ async def notify_error( if not cfg["bot_token"] or not cfg["chat_id"]: return False + # Type filter — only send for configured error types + if error_type not in cfg["notify_types"]: + return False + # Cooldown guard now = time.monotonic() last = self._last_sent.get(error_type, 0.0) diff --git a/src/static/css/admin.css b/src/static/css/admin.css index 30e612d0..6ea1552f 100644 --- a/src/static/css/admin.css +++ b/src/static/css/admin.css @@ -849,17 +849,45 @@ details.collapsible summary::-webkit-details-marker { display: none; } margin-bottom: 14px; flex-wrap: wrap; } +/* ── M3 Checkbox ────────────────────────────────────────────────── */ .checkbox-label { display: inline-flex; align-items: center; gap: 8px; font-size: 0.875rem; - color: var(--md-on-surface-variant); + font-weight: 500; + color: var(--md-on-surface); cursor: pointer; user-select: none; - padding: 0 4px; + padding: 2px 0; + transition: color var(--dur-s) var(--ease-standard); +} +.checkbox-label input[type="checkbox"] { + -webkit-appearance: none; + appearance: none; + width: 18px; + height: 18px; + margin: 0; + border: 2px solid var(--md-on-surface-variant); + border-radius: 2px; + background: transparent; + cursor: pointer; + flex-shrink: 0; + vertical-align: middle; + transition: background var(--dur-s) var(--ease-standard), + border-color var(--dur-s) var(--ease-standard); +} +.checkbox-label:hover input[type="checkbox"] { + border-color: var(--md-on-surface); +} +.checkbox-label input[type="checkbox"]:checked { + background: var(--md-primary); + border-color: var(--md-primary); + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpolyline points='4 9.5 7.5 13 14 5.5' fill='none' stroke='%23062E6F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); + background-size: 18px 18px; + background-position: center; + background-repeat: no-repeat; } -.checkbox-label input[type="checkbox"] { accent-color: var(--md-primary); } .log-container { background: var(--md-surface-container-lowest); diff --git a/src/static/js/config.js b/src/static/js/config.js index 9661eddd..2d7032ad 100644 --- a/src/static/js/config.js +++ b/src/static/js/config.js @@ -17,6 +17,7 @@ const Config = { // Telegram document.getElementById("btn-save-telegram").addEventListener("click", () => this.handleTelegramSave()); document.getElementById("btn-test-telegram").addEventListener("click", () => this.handleTelegramTest()); + }, activate() { @@ -162,6 +163,12 @@ const Config = { document.getElementById("telegram-cooldown").value = data.cooldown_seconds || 60; const preview = document.getElementById("telegram-token-preview"); preview.textContent = data.bot_token_preview || ""; + // Notify types checkboxes + const types = data.notify_types || ["auth"]; + ["auth", "503", "500"].forEach(t => { + const el = document.getElementById("notify-" + t); + if (el) el.checked = types.includes(t); + }); }, async handleTelegramSave() { @@ -169,9 +176,13 @@ const Config = { const bot_token = document.getElementById("telegram-token").value.trim(); const chat_id = document.getElementById("telegram-chatid").value.trim(); const cooldown_seconds = parseInt(document.getElementById("telegram-cooldown").value, 10) || 60; + const notify_types = ["auth", "503", "500"].filter(t => { + const el = document.getElementById("notify-" + t); + return el && el.checked; + }); const result = document.getElementById("telegram-result"); try { - await api.post("/api/admin/config/telegram", { enabled, bot_token, chat_id, cooldown_seconds }); + await api.post("/api/admin/config/telegram", { enabled, bot_token, chat_id, cooldown_seconds, notify_types }); showInline(result, "Saved", false); // Clear token field and refresh preview document.getElementById("telegram-token").value = ""; diff --git a/src/templates/admin.html b/src/templates/admin.html index 740c8599..8a980be1 100644 --- a/src/templates/admin.html +++ b/src/templates/admin.html @@ -11,7 +11,7 @@ - +
    @@ -230,7 +230,7 @@

    send Telegram Notifications

    -

    Send alerts to Telegram when API errors occur (auth failures, 5xx errors).

    +

    Send alerts to Telegram when selected API errors occur.

    +
    + +
    + + + +
    +
    Cooldown (seconds) @@ -280,10 +297,10 @@

    - - - - - + + + + + From 03b078c8593c7f93d6e1f38b79bdec369f32bd97 Mon Sep 17 00:00:00 2001 From: leolionart Date: Wed, 25 Feb 2026 09:40:28 +0700 Subject: [PATCH 31/32] chore: bump version to 0.7.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ad5e227d..a968c098 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [tool.poetry] name = "webai-to-api" -version = "0.6.2" +version = "0.7.0" description = "WebAI-to-API is a modular web server built with FastAPI, designed to manage requests across AI services." authors = ["Mohammad "] license = "MIT" From ddc5f165fa562eaf461e6191796ebb10ae796244 Mon Sep 17 00:00:00 2001 From: leolionart Date: Sat, 28 Feb 2026 08:30:17 +0700 Subject: [PATCH 32/32] chore: add .playwright-mcp/ to .gitignore Prevent Playwright MCP debug files from being tracked. Co-Authored-By: Claude Opus 4.6 --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4405c786..a506b12c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ __pycache__ .idea config.conf generated_media -har_and_cookies \ No newline at end of file +har_and_cookies +# Playwright MCP +.playwright-mcp/