From b7abdc6f2826b16db2852487719efe837214b17d Mon Sep 17 00:00:00 2001 From: acailic Date: Sat, 4 Apr 2026 02:30:54 +0200 Subject: [PATCH 1/5] fix: handle string/date type mismatch in daily cost breakdown SQLite func.date() returns strings, not date objects. Use strftime and str() consistently to avoid AttributeError on .isoformat(). Co-Authored-By: Claude Opus 4.6 --- storage/repository.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/storage/repository.py b/storage/repository.py index 23922f2..9894684 100644 --- a/storage/repository.py +++ b/storage/repository.py @@ -590,12 +590,12 @@ async def get_daily_cost_breakdown(self, days: int = 30) -> list[dict]: # Fill missing days with zeros breakdown = [] for i in range(days): - d = (period_start + timedelta(days=i)).date() + d = (period_start + timedelta(days=i)).strftime("%Y-%m-%d") if d in daily_data: breakdown.append(daily_data[d]) else: breakdown.append({ - "date": d.isoformat(), + "date": d, "session_count": 0, "total_cost_usd": 0.0, "total_tokens": 0, From ff9508c71869b170803fb3f29bf3cfcd679aa911 Mon Sep 17 00:00:00 2001 From: acailic Date: Sat, 4 Apr 2026 02:49:54 +0200 Subject: [PATCH 2/5] feat: add alert lifecycle management, alert policies, and query performance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Alert lifecycle: full state machine (firing → acknowledged → resolved/suppressed) with history tracking, bulk operations, and SSE streaming via trace_routes - Alert policies: configurable per-agent thresholds for alert_type, severity, and threshold_value; full CRUD via /api/alert-policies with tenant scoping - Storage: AlertPolicyModel, AlertPolicyRepository, cache layer, 3 migrations (006 alert lifecycle columns, 007 alert policies table, 008 performance indexes) - Frontend: AlertPolicy/AlertLifecycle types, API client methods, useAlerts and useAlertSummary hooks - Tests: 365+ lines covering lifecycle state transitions, policy CRUD, and index/query performance assertions Co-Authored-By: Claude Sonnet 4.6 --- api/main.py | 2 + api/policy_routes.py | 205 ++++++++ api/schemas.py | 121 +++++ api/trace_routes.py | 217 +++++++++ collector/alerts/base.py | 26 ++ docs/assets/gifs/demo-failure-clustering.gif | Bin 0 -> 456766 bytes .../assets/gifs/screenshots/capture_search.py | 11 +- frontend/src/api/client.ts | 94 ++++ frontend/src/hooks/useAlertSummary.ts | 51 ++ frontend/src/hooks/useAlerts.ts | 98 ++++ frontend/src/types/index.ts | 44 ++ storage/__init__.py | 11 +- storage/cache.py | 86 ++++ .../versions/006_add_alert_lifecycle.py | 100 ++++ .../versions/007_add_alert_policies.py | 68 +++ .../versions/008_add_alert_indexes.py | 112 +++++ storage/models.py | 31 ++ storage/repositories/__init__.py | 3 + storage/repositories/alert_repo.py | 439 +++++++++++++++++- storage/repositories/policy_repo.py | 213 +++++++++ storage/search.py | 11 + tests/test_alert_lifecycle.py | 365 +++++++++++++++ tests/test_alert_policies.py | 268 +++++++++++ tests/test_query_performance.py | 250 ++++++++++ 24 files changed, 2819 insertions(+), 7 deletions(-) create mode 100644 api/policy_routes.py create mode 100644 docs/assets/gifs/demo-failure-clustering.gif create mode 100644 frontend/src/hooks/useAlertSummary.ts create mode 100644 frontend/src/hooks/useAlerts.ts create mode 100644 storage/cache.py create mode 100644 storage/migrations/versions/006_add_alert_lifecycle.py create mode 100644 storage/migrations/versions/007_add_alert_policies.py create mode 100644 storage/migrations/versions/008_add_alert_indexes.py create mode 100644 storage/repositories/policy_repo.py create mode 100644 tests/test_alert_lifecycle.py create mode 100644 tests/test_alert_policies.py create mode 100644 tests/test_query_performance.py diff --git a/api/main.py b/api/main.py index 39006f9..635c806 100644 --- a/api/main.py +++ b/api/main.py @@ -24,6 +24,7 @@ from api.entity_routes import router as entity_router from api.exceptions import AppError from api.middleware import ContentTypeValidationMiddleware, LoggingMiddleware, RequestIDMiddleware +from api.policy_routes import router as policy_router from api.replay_routes import router as replay_router from api.search_routes import router as search_router from api.session_routes import router as session_router @@ -133,6 +134,7 @@ async def global_exception_handler(request: Request, exc: Exception) -> JSONResp app.include_router(cost_router) app.include_router(search_router) app.include_router(entity_router) + app.include_router(policy_router) app.include_router(system_router) app.include_router(ui_router) diff --git a/api/policy_routes.py b/api/policy_routes.py new file mode 100644 index 0000000..c3a5e5e --- /dev/null +++ b/api/policy_routes.py @@ -0,0 +1,205 @@ +"""Alert policy API routes for configurable alert thresholds.""" + +from __future__ import annotations + +from typing import Any + +from fastapi import APIRouter, Depends, Query +from sqlalchemy.ext.asyncio import AsyncSession + +from api.dependencies import get_db_session, get_tenant_id +from api.exceptions import NotFoundError +from api.schemas import AlertPolicyCreate, AlertPolicyListResponse, AlertPolicySchema, AlertPolicyUpdate +from storage import AlertPolicyRepository + +router = APIRouter(tags=["alert-policies"]) + + +async def get_policy_repository( + session: AsyncSession = Depends(get_db_session), + tenant_id: str = Depends(get_tenant_id), +) -> AlertPolicyRepository: + """Get an alert policy repository scoped to the current tenant.""" + return AlertPolicyRepository(session, tenant_id=tenant_id) + + +@router.get("/api/alert-policies", response_model=AlertPolicyListResponse) +async def list_policies( + agent_name: str | None = Query(default=None), + limit: int = Query(default=100, ge=1, le=1000), + repo: AlertPolicyRepository = Depends(get_policy_repository), +) -> AlertPolicyListResponse: + """List all alert policies, optionally filtered by agent_name. + + Args: + agent_name: Optional agent name filter. If provided, returns both + agent-specific and global policies for this agent. + limit: Maximum number of policies to return + repo: AlertPolicyRepository instance + + Returns: + List of alert policies + """ + policies = await repo.list_policies(agent_name=agent_name, limit=limit) + + return AlertPolicyListResponse( + policies=[ + AlertPolicySchema( + id=policy.id, + agent_name=policy.agent_name, + alert_type=policy.alert_type, + threshold_value=policy.threshold_value, + severity_threshold=policy.severity_threshold, + enabled=policy.enabled, + created_at=policy.created_at, + updated_at=policy.updated_at, + ) + for policy in policies + ], + total=len(policies), + ) + + +@router.post("/api/alert-policies", response_model=AlertPolicySchema) +async def create_policy( + data: AlertPolicyCreate, + repo: AlertPolicyRepository = Depends(get_policy_repository), +) -> AlertPolicySchema: + """Create a new alert policy. + + Args: + data: Policy creation data + repo: AlertPolicyRepository instance + + Returns: + Created alert policy + """ + policy = await repo.create_policy( + agent_name=data.agent_name, + alert_type=data.alert_type, + threshold_value=data.threshold_value, + severity_threshold=data.severity_threshold, + enabled=data.enabled, + ) + # Commit to persist the policy + await repo.session.commit() + await repo.session.refresh(policy) + + return AlertPolicySchema( + id=policy.id, + agent_name=policy.agent_name, + alert_type=policy.alert_type, + threshold_value=policy.threshold_value, + severity_threshold=policy.severity_threshold, + enabled=policy.enabled, + created_at=policy.created_at, + updated_at=policy.updated_at, + ) + + +@router.get("/api/alert-policies/{policy_id}", response_model=AlertPolicySchema) +async def get_policy( + policy_id: str, + repo: AlertPolicyRepository = Depends(get_policy_repository), +) -> AlertPolicySchema: + """Get a single alert policy by ID. + + Args: + policy_id: Unique identifier of the policy + repo: AlertPolicyRepository instance + + Returns: + Alert policy details + + Raises: + NotFoundError: if policy not found + """ + policy = await repo.get_policy(policy_id) + if not policy: + raise NotFoundError(f"Policy {policy_id} not found") + + return AlertPolicySchema( + id=policy.id, + agent_name=policy.agent_name, + alert_type=policy.alert_type, + threshold_value=policy.threshold_value, + severity_threshold=policy.severity_threshold, + enabled=policy.enabled, + created_at=policy.created_at, + updated_at=policy.updated_at, + ) + + +@router.put("/api/alert-policies/{policy_id}", response_model=AlertPolicySchema) +async def update_policy( + policy_id: str, + data: AlertPolicyUpdate, + repo: AlertPolicyRepository = Depends(get_policy_repository), +) -> AlertPolicySchema: + """Update an existing alert policy. + + Args: + policy_id: Unique identifier of the policy to update + data: Policy update data + repo: AlertPolicyRepository instance + + Returns: + Updated alert policy + + Raises: + NotFoundError: if policy not found + """ + policy = await repo.update_policy( + policy_id=policy_id, + agent_name=data.agent_name, + alert_type=data.alert_type, + threshold_value=data.threshold_value, + severity_threshold=data.severity_threshold, + enabled=data.enabled, + ) + + if not policy: + raise NotFoundError(f"Policy {policy_id} not found") + + # Commit to persist changes + await repo.session.commit() + await repo.session.refresh(policy) + + return AlertPolicySchema( + id=policy.id, + agent_name=policy.agent_name, + alert_type=policy.alert_type, + threshold_value=policy.threshold_value, + severity_threshold=policy.severity_threshold, + enabled=policy.enabled, + created_at=policy.created_at, + updated_at=policy.updated_at, + ) + + +@router.delete("/api/alert-policies/{policy_id}") +async def delete_policy( + policy_id: str, + repo: AlertPolicyRepository = Depends(get_policy_repository), +) -> dict[str, Any]: + """Delete an alert policy by ID. + + Args: + policy_id: Unique identifier of the policy to delete + repo: AlertPolicyRepository instance + + Returns: + Deletion confirmation + + Raises: + NotFoundError: if policy not found + """ + deleted = await repo.delete_policy(policy_id) + + if not deleted: + raise NotFoundError(f"Policy {policy_id} not found") + + # Commit to persist deletion + await repo.session.commit() + + return {"deleted": True, "policy_id": policy_id} diff --git a/api/schemas.py b/api/schemas.py index 910d3f2..f503b97 100644 --- a/api/schemas.py +++ b/api/schemas.py @@ -300,6 +300,11 @@ class AnomalyAlertSchema(BaseModel): detection_source: str detection_config: dict[str, Any] created_at: datetime + status: str | None = None + acknowledged_at: datetime | None = None + resolved_at: datetime | None = None + dismissed_at: datetime | None = None + resolution_note: str | None = None class AnomalyAlertListResponse(BaseModel): @@ -310,6 +315,77 @@ class AnomalyAlertListResponse(BaseModel): total: int +# ------------------------------------------------------------------ +# Alert Lifecycle Schemas +# ------------------------------------------------------------------ + + +class AlertStatusUpdate(BaseModel): + """Request schema for updating a single alert's status.""" + + status: str = Field(min_length=1, max_length=32) + note: str | None = Field(default=None, max_length=2000) + + +class AlertBulkUpdate(BaseModel): + """Request schema for bulk updating alert statuses.""" + + alert_ids: list[str] = Field(min_length=1) + status: str = Field(min_length=1, max_length=32) + + +class AlertFilters(BaseModel): + """Query parameters for filtering alerts.""" + + agent_name: str | None = None + severity: float | None = Field(default=None, ge=0.0, le=1.0) + alert_type: str | None = None + status: str | None = None + from_date: datetime | None = None + to_date: datetime | None = None + limit: int = Field(default=50, ge=1, le=500) + + +class AlertSeverityCount(BaseModel): + """Count of alerts by severity level.""" + + critical: int + high: int + medium: int + low: int + + +class AlertSummarySchema(BaseModel): + """Alert summary statistics.""" + + by_status: dict[str, int] + by_type: dict[str, int] + by_severity: AlertSeverityCount + total: int + + +class AlertTrendingPointSchema(BaseModel): + """Single data point for alert trending.""" + + date: str + count: int + + +class AlertTrendingSchema(BaseModel): + """Alert volume over time.""" + + trending: list[AlertTrendingPointSchema] + days: int + + +class AlertListFilteredResponse(BaseModel): + """Response schema for filtered alert listing.""" + + alerts: list[AnomalyAlertSchema] + total: int + filters: AlertFilters + + class FixNoteRequest(BaseModel): """Request schema for adding/updating a fix note.""" @@ -405,3 +481,48 @@ class SimilarFailuresResponse(BaseModel): failure_event_id: str similar_failures: list[SimilarFailureSchema] total: int + + +# ------------------------------------------------------------------ +# Alert policy schemas +# ------------------------------------------------------------------ + + +class AlertPolicyCreate(BaseModel): + """Request schema for creating an alert policy.""" + + agent_name: str | None = Field(default=None, max_length=255) + alert_type: str = Field(min_length=1, max_length=64) + threshold_value: float = Field(ge=0.0) + severity_threshold: str | None = Field(default=None, max_length=16) + enabled: bool = Field(default=True) + + +class AlertPolicyUpdate(BaseModel): + """Request schema for updating an alert policy.""" + + agent_name: str | None = Field(default=None, max_length=255) + alert_type: str | None = Field(default=None, min_length=1, max_length=64) + threshold_value: float | None = Field(default=None, ge=0.0) + severity_threshold: str | None = Field(default=None, max_length=16) + enabled: bool | None = None + + +class AlertPolicySchema(BaseModel): + """Response schema for alert policies.""" + + id: str + agent_name: str | None + alert_type: str + threshold_value: float + severity_threshold: str | None + enabled: bool + created_at: datetime + updated_at: datetime + + +class AlertPolicyListResponse(BaseModel): + """Response schema for listing alert policies.""" + + policies: list[AlertPolicySchema] + total: int diff --git a/api/trace_routes.py b/api/trace_routes.py index 4305a2c..7d66782 100644 --- a/api/trace_routes.py +++ b/api/trace_routes.py @@ -19,6 +19,14 @@ from api.exceptions import NotFoundError from api.schemas import ( AgentBaselineSchema, + AlertBulkUpdate, + AlertFilters, + AlertListFilteredResponse, + AlertSeverityCount, + AlertStatusUpdate, + AlertSummarySchema, + AlertTrendingPointSchema, + AlertTrendingSchema, AnalysisResponse, AnomalyAlertListResponse, AnomalyAlertSchema, @@ -315,6 +323,11 @@ async def get_session_alerts( detection_source=alert.detection_source, detection_config=alert.detection_config or {}, created_at=alert.created_at, + status=alert.status, + acknowledged_at=alert.acknowledged_at, + resolved_at=alert.resolved_at, + dismissed_at=alert.dismissed_at, + resolution_note=alert.resolution_note, ) for alert in alerts ], @@ -322,6 +335,157 @@ async def get_session_alerts( ) +# ------------------------------------------------------------------ +# Alert Lifecycle Management Endpoints (must come before /api/alerts/{alert_id}) +# ------------------------------------------------------------------ + + +@router.get("/api/alerts/summary", response_model=AlertSummarySchema) +async def get_alert_summary( + repo: TraceRepository = Depends(get_repository), +) -> AlertSummarySchema: + """Get alert summary statistics grouped by severity, type, and status. + + Args: + repo: TraceRepository instance + + Returns: + AlertSummarySchema with counts by severity, type, and status + """ + summary = await repo._alert_repo.get_alert_lifecycle_summary() + + return AlertSummarySchema( + by_status=summary["by_status"], + by_type=summary["by_type"], + by_severity=AlertSeverityCount(**summary["by_severity"]), + total=summary["total"], + ) + + +@router.get("/api/alerts/trending", response_model=AlertTrendingSchema) +async def get_alert_trending( + days: int = Query(default=7, ge=1, le=90), + repo: TraceRepository = Depends(get_repository), +) -> AlertTrendingSchema: + """Get alert volume trend grouped by day. + + Args: + days: Number of days to look back (default 7, max 90) + repo: TraceRepository instance + + Returns: + AlertTrendingSchema with list of daily counts + """ + trending = await repo._alert_repo.get_alert_trending(days=days) + + return AlertTrendingSchema( + trending=[AlertTrendingPointSchema(**point) for point in trending], + days=days, + ) + + +@router.post("/api/alerts/bulk-status") +async def bulk_update_alert_status( + update: AlertBulkUpdate, + repo: TraceRepository = Depends(get_repository), +) -> dict[str, Any]: + """Bulk update status for multiple alerts. + + Args: + update: Bulk update request with alert_ids and status + repo: TraceRepository instance + + Returns: + Dictionary with updated count + + Raises: + ValueError: if status is invalid + """ + updated_count = await repo._alert_repo.bulk_update_status(update.alert_ids, update.status) + + try: + await repo.commit() + except Exception: + await repo.rollback() + raise + + return { + "updated": updated_count, + "status": update.status, + } + + +@router.get("/api/alerts", response_model=AlertListFilteredResponse) +async def list_alerts_filtered( + agent_name: str | None = Query(default=None), + severity: float | None = Query(default=None, ge=0.0, le=1.0), + alert_type: str | None = Query(default=None), + status: str | None = Query(default=None), + from_date: datetime | None = Query(default=None), + to_date: datetime | None = Query(default=None), + limit: int = Query(default=50, ge=1, le=500), + repo: TraceRepository = Depends(get_repository), +) -> AlertListFilteredResponse: + """List alerts with rich filtering options. + + Args: + agent_name: Optional agent name to filter by + severity: Optional minimum severity to filter by + alert_type: Optional alert type to filter by + status: Optional status to filter by + from_date: Optional start date for created_at filter + to_date: Optional end date for created_at filter + limit: Maximum number of alerts to return + repo: TraceRepository instance + + Returns: + AlertListFilteredResponse with filtered alerts + """ + alerts = await repo._alert_repo.list_alerts_filtered( + agent_name=agent_name, + severity=severity, + alert_type=alert_type, + status=status, + from_date=from_date, + to_date=to_date, + limit=limit, + ) + + filters = AlertFilters( + agent_name=agent_name, + severity=severity, + alert_type=alert_type, + status=status, + from_date=from_date, + to_date=to_date, + limit=limit, + ) + + return AlertListFilteredResponse( + alerts=[ + AnomalyAlertSchema( + id=alert.id, + session_id=alert.session_id, + alert_type=alert.alert_type, + severity=alert.severity, + signal=alert.signal, + event_ids=alert.event_ids or [], + detection_source=alert.detection_source, + detection_config=alert.detection_config or {}, + created_at=alert.created_at, + status=alert.status, + acknowledged_at=alert.acknowledged_at, + resolved_at=alert.resolved_at, + dismissed_at=alert.dismissed_at, + resolution_note=alert.resolution_note, + ) + for alert in alerts + ], + total=len(alerts), + filters=filters, + ) + + @router.get("/api/alerts/{alert_id}", response_model=AnomalyAlertSchema) async def get_alert( alert_id: str, @@ -353,4 +517,57 @@ async def get_alert( detection_source=alert.detection_source, detection_config=alert.detection_config or {}, created_at=alert.created_at, + status=alert.status, + acknowledged_at=alert.acknowledged_at, + resolved_at=alert.resolved_at, + dismissed_at=alert.dismissed_at, + resolution_note=alert.resolution_note, + ) + + +@router.put("/api/alerts/{alert_id}/status", response_model=AnomalyAlertSchema) +async def update_alert_status( + alert_id: str, + update: AlertStatusUpdate, + repo: TraceRepository = Depends(get_repository), +) -> AnomalyAlertSchema: + """Update the status of a single alert. + + Args: + alert_id: Unique identifier of the alert + update: Status update request with status and optional note + repo: TraceRepository instance + + Returns: + Updated AnomalyAlertSchema + + Raises: + NotFoundError: if alert not found + ValueError: if status is invalid + """ + alert = await repo._alert_repo.update_alert_status(alert_id, update.status, update.note) + if not alert: + raise NotFoundError(f"Alert {alert_id} not found") + + try: + await repo.commit() + except Exception: + await repo.rollback() + raise + + return AnomalyAlertSchema( + id=alert.id, + session_id=alert.session_id, + alert_type=alert.alert_type, + severity=alert.severity, + signal=alert.signal, + event_ids=alert.event_ids or [], + detection_source=alert.detection_source, + detection_config=alert.detection_config or {}, + created_at=alert.created_at, + status=alert.status, + acknowledged_at=alert.acknowledged_at, + resolved_at=alert.resolved_at, + dismissed_at=alert.dismissed_at, + resolution_note=alert.resolution_note, ) diff --git a/collector/alerts/base.py b/collector/alerts/base.py index 0f99f1d..8bdc8b1 100644 --- a/collector/alerts/base.py +++ b/collector/alerts/base.py @@ -11,6 +11,32 @@ class AlertDeriver(ABC): """Protocol for deriving alerts from events.""" + def __init__(self, policy_getter: Any | None = None): + """Initialize the alerter with an optional policy getter. + + Args: + policy_getter: Optional callable that retrieves alert policies. + Should have signature: (alert_type: str, agent_name: str | None) -> dict | None + """ + self.policy_getter = policy_getter + + def get_threshold(self, alert_type: str, agent_name: str | None = None, default_threshold: float = 0.0) -> float: + """Get the threshold value for an alert type from policy or use default. + + Args: + alert_type: Type of alert to get threshold for + agent_name: Optional agent name for agent-specific policies + default_threshold: Default threshold if no policy found + + Returns: + Threshold value to use + """ + if self.policy_getter: + policy = self.policy_getter(alert_type, agent_name) + if policy and policy.get("enabled", True): + return policy.get("threshold_value", default_threshold) + return default_threshold + @abstractmethod def derive(self, events: list[TraceEvent]) -> list[dict[str, Any]]: """Derive alerts from a list of events. diff --git a/docs/assets/gifs/demo-failure-clustering.gif b/docs/assets/gifs/demo-failure-clustering.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5ff9b5be4a2fd07e27e03166c6fd60d4c98af05 GIT binary patch literal 456766 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

&^q{`9o)~X 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 z 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≫0mW{#~d0FJV_G=_UKJdY7#6vvL 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%0AfXZ#Arl^96DHvkD&Yu9 zKn6rW0|-DhxD!2`LylZo6IBi2g;UmanPq`lIw>AQq=Ofsg8&pjs!hNG>|h4OAqmpq z9Lk{`<{=*LVG`N3D4HTEo?@q|A}Ow-sIlTGh8irEqAQk~Euz{j<{~cc z;w_$90z|+s7Tc^5+p-NKvlXMU9b+;gnjZ1|&faq(K%WLLQ_-CL}{Hq(e3&L_VZMMkGZ}q(xRFMk*vfI%CDrV?l1@Mn-@- ziX=bcBRrZUN}i-jrX)+Qq)QgvN&;O>vZPFAKnK`l2IS;T?qp8lBv0z3Pxd5F-Xu^K zB~BWp2MA?PCS^`CWd=AUR4%1dHlC@Cvwgf0Ky-0HYal7 z-~K^o{Y9t#O(y};)&gc{0&b^vb|-g!r+0SeY<*S(rk{C^Cwlf@dIsm}X`lks=6gP$ z>BZ;t(WiYX-+dBaep()W_9yWT;s^pL6gnY+4yb`HVSys(fij^SGU$Rfs1r7*ghJtj zRw#vDsD)-IhHj{ab|{B_sE39qh>oa+P9g+oLl>Pxm37lGXwnx>78!QUKpdvnEJQfa z13erA1GwP=z@d-!D3JcBkOnD{4*#i<7HNE1hk}*zL`mOTAWF#oe`RzT`8yu z+MZcyq*ZC8Q5u+jshCdMm|9wyhAEkH+NW(Aq^YSczNx7BBCHW3tZMky0)!iB zep{!uo2aTAxUCzhit4?g>bj*WtFEf6&fBZ9n!u%M!j+!H*=nsu9Io~o$Q4|#D%`IU zT(I(L!_ix@4y&;~T(2&xur@2PK5MeFT(mOl%T24Z@*K8iE6a%90QIn7GOS26LAt@#^~YkLgKLrX3;}1kYBly>th<-=J}lG z-CVSaR==U_XsO<4ktXZSEPJ+|&9dI?;jC)zENk{G&;G2>2JLKiAkhx3(f(%j1!rrw(>`tY?Voc_E!9@7)e;x|*_L!}ZFO?(|6wP1hHZF?t=K{!>Q!LyT_Df8W^5L1 zY)U``n4k%wUL3pet`A0`;U?(e?xiq1(vfh}B?+Dw z7M|8@EMlgiJ!nG&IRAi>iYVuDs2x)1=k6gDPJogHq9Goc={Dk#VSptn86~o=>t13e zo+9mX;wOe8>!M;T>Mrlr?(X_-@1~;g{_gMwFYz9)@g^_uE^qPHBBo71+{)>xeVDOD z@3B$u^$y#+O)oZTFFAhiIhG?jj<5KZFZhllM}A}ahU5C8FZsG}J*IE`(j)!mqdnH| z{o1dSz9j#e~0AHj42QUE-umKk^0w1sfColsa64T`p+*j7axUNJd%7+aqORP^ z;pmp&ghnWdHgo4bvol9CG*7cMS2HzVvo(L{2u8p;tb@}0ofbpx;Du9RdRZ1Vgf@Ib z1lrw^w*NDdx-&cj=^PH}AvWnrb|Ol4A|%FHAwnskv99K#X{7^CCn)v_wZVv;pI<*(smysYYkCGAi3LezZqBTQXuBNo$))mo!SBv`VKmv^8o= zpBlHV+NsK$sM0j8<{Q4jYEB>Az6D%QUmU~*HBb+Au@ZH}6}81B^~Pl!Q@dQrrQB1i zTvSiBQ&)A(&78~8+*RKkR@(tTCa7zzBOFOwOqq% zzNYKH>MLH~wO%`H!!oR2_cdVuwO|J}Vb5g-K)^SA!(VpOD{#__Zpk>|f@DuNE^rOU zp8xYgh(i&`)>%_t$-d{-ogQhnEXa-a=!G7yre4j`?Ct5S(7v`F$2M%gHXr}7Z67Tl zA98LYA8EOsBmXvV2lvxLGHH>YBvUeSC%1A}r`BTfCObDLM|UXK-)B}g99uVbU$=H= zH+OHhcW>R~y>Z;V<^}pOZre6yE`ZrBKwamxzt&}3%4K}dH+|Q)ecv~J=Qn-_Zr}DG zeRF_)19*K4_U_<}3=1~B-8J2-+PE`={>g)g%MJb^f1v5GYIC2g52 zu!7`njn`ZenxK=%GK4lbg8^JX9r7U@0-_(@;UCsGjoPxN=cRx&_oafWNv1kU9yJK(Uhm32=b1mw>V( z`>`*(vqQVFBfGRmyR}pMwUfXJWc#)wd$()5vwyp|J39=lzzQgPrK=@X4*&64qB{$$ z01S|T34r^&Z+pGVJH6+-z3V%^@4LVEJHX$&!1MdS|9im)JPE)63$OqOB>NJ_Hxt|C z!zZ!CE15H7g93G7B~eLZzru)5(V0|sWt)>ggt0@2!wU?6(Va2NhaDQn9cHqfW)9sO zW49cWrfAObY3jUe_xx;cVDX)|(6?$cG!J<=Eb_4&4NH@(w8{c)n7)GjyG3m4aF z^3^{#*h=>(cl~sCr_f=*-EqJQsK5-IJ=&+e+OIv^x4qlHJ>0jw3%CH<-@pvaJ>Jj2 z4d6ZB-#`nr010dWdn5snYQ~v3TKI%(;>9fA+yFTT+01mwS2&}+^XLExB_zKiM3*dkY zxIXZUe((>!@E1SvAHVS@Kk_fX@(aK0)4uI<0Pc^d1QfxBbNGit$(4A#$AA1Mg;M4E z%`-H>0mQTUzcc!uzmF=Z1y7l0tXH%ZUph-Wlb11uVKfQJ)3rI+qZG&)*X8d z7%xF?s4z`hL2={9ks~K<8ntRLYu3oNG@W{N>({Yo*S?*5_wBI3fPoTZ#)=iDGo)9) zp8a~$=4S+f5+1g9`}gtZ*AF`km?lA7Sb+r&NXTFV0}(t>!2}sxaKQ`?cqW@^q>-kX zW{$~F!((7^#T8gU1kuA0U3tgE6HVMj#T8lH1s7d(;r~U(8F|6RMjN#OWdNs=>(R#_ zlS{xjA(P{gCIvbR?Es_r5)4TL3`jsQDWRk?N+_?a5=$$&-115(!TeIpFv%R#%renD zQ_VElT+_`q;Y?f=)`e*q3y;DHJL_CjTp@g);BzF@+J z5=z)$f{7`v*y4#dfY=5mzF;F0Ul3ll;E_o#+2nx_P8bu0nZN-15pXhx~HQ5r2qrg(kQ=qR>H_;G=;e_{pZ!Yx;?G2@Y^wsMtF? zVD{T<#~pUvZO`5J-GA>L_~C^wp7+~rH~&6)>bJL^ z`@X@qKK${;FQ0t!liy4I*x6s-{r2I1U;g;%pWpua@xNdH{Q2MC|Na5^KLG|1e;BYp z24(;SFR-B($FK%C$Z-w{l7oU3wBQ9Xm_ZG0kb@oc;0G@V4sA5U7jqC#4K$De3z(0E z3Q*w&5(oxM{KA0{l;Al)m_r@zkcT-Ohd8X!j9*y73{p4(2};0$19>0=Ol0B`o5+C@ zkl+VWFvAR+@xXCJ5QjbV;updA!5;>3h-Rq550FTLC2oL?9$;e=*|-5WwlR)#l;Z|O z@QrFrgF^b+P=-MC3Rnp86|W%L(f>~5B3$6YMU7k$(`e*0YucLFrbn^5!>HRV!HSs++blr>@G0 zPEYk}o$X}jJKY&ic+OLv^`z%L?U~PB9Uuc3NFW27u?=#JBO9D}!aU36g&8Pu0YbWy0$wVo1t`%4 zRluS^32IP;Dm0=!^=U*W8vj&|4wa}JErJn_8d8ypAQ{>?$2hbhjUj^J2P;V8)~qJQ z75qSkzmNt_#o>vCCiJIeHS0o!T2!^F^{8zv!bq9wRH#bT5>&M+2e6t~tywJs-jD_# zEA&SWambK`En0~X`3|MA2$D^68ZVwv00}H$0+h9EWifkM&1ROfoAqpEGvL|KVpahY zP}}*^X4wi0|;Xj`p|~9LZX|zXhu64(vX%kmMLv%OKW=5WM0A(eo%u@ zCu7uZ4g(Wrz=8&C+dk z3R^IPB-B8OO2C2XO?NsR)BtrgOr7dgr+OOHkOr-9{S0a7x){JpXq4j!Co{Lsz3!M7%|k@Acr zB$od4r$^oDmA`t{x2|=te?9DDFZ<`yp7yo39nfx6Ev8<*}Z5t#_UCVmCYJL(g`$ zm%j9;pS$V_&3Y`j{>fX&`=g~md)wol4ZDZg&2DD3_)o27XLH6e#4QbF0TSIqJFJHi zOR*MfY2YoAIrfo3b zZU6cv1OumU@`iIB=Wob{AV%6#|A9|2X`>KfbhA5FbIjz zB054L%1gYI5WKvL3BPLzeh4x~5-jIG^Ck_Xw4hhH(@$e4yFc0}~5B+d|Fo4ydfDL{j*0SLV#vlzO zp%Ngk5|mEqAa4>T0S+W_5-pJuA1@Q94(Y5e`Y=!Wq|Xe}zzj&y49egXQ85)ykqlU| z6OG4+BB{NNGD zssQh>U<$B+36P)&aB&>0K^fSf3ako2o`?frUW$(EjuhmL?C2+%C<8`;81~3pE<~`7L68QikkSp2T7;2UqyP=@Msi^k zc;u8gsW`auD>q4#yt0!lbm-4dk zhRNeN?k@o|Fa`6NvIOM}^Dq%JF%|PrHpS*-?lB>ARB{gID6{5jj-7T+pEQ%_HnTH1 zv!8GP41U2H&cPX`z!8?t6DmP9m9aHl^EH#P87r|8C1Db3Qxb49H*pgZBta1!0TR-{ z5rT6#g;O|3aTL9=8WkC4o12(>H;$IEiyOkCPOYGdWT5#st(kS#b-V z^Et<0I;)cwr2q$L037%+7}%f$Rsd@#bP3oX7!)!aq<{=0fi>5&J^x=b65kU(-(La;Z6jgCR3DiJw^f?uD3t*2HtDr$2G(sn|Lib9qu<9rQ%R-nk zXg$(&*yBKv*9Tg?E zOEA34Cv-vyDRn50Vkhcry|e-=Jhf9nwJJVUR6{i@NcAJQLch#HRowzD+~QT`;=f>( zE(GJh0^`7H^;Q!sS2F{_5W`m=<5w}GGJ>^OCu1`-V_1<@N&h4RG?e5sM58cB;|4@i zA)lcM%AgTnQzB)v5-IT+rBND@Zd|P~`mzxeOOZyykvR#p72}RN>CQ*xHSee(32Y!c zwc!`Q;082c&WytXG=N%1lN_!!TiKIaOVnE}aT?WtTsg7o%=KI|ZyWz}UB%HHS@8?d zabq=BV}T4_d2L?lwbGuT2*3dxtl<}efCMVI{F5!4+H|4-Upv zBd3ldA$IDv?h`+8Bug?SQ?f=|vL#~@Cg1h@W-@B&aUQAG3a+eVPu3cOLGYBw+q&&* z4FpM(5?siwDMN&ipfs@>X-ZY(MXWO34v zv?SrYL`w{}Fcr=&6<6XIcX1sTP55#zC0FAFB`^63R? z^mknpU59r@!_h{aGe>chM===o@Q!(%7k~9^8vm-mW#EtgNZ4jdcmfgtN%QY#_-~N> zZ;+z$Xx27q8Vhcn21^~FNOjmqD-dkW^BslY)J5KUQl#i5CvIq z1udrq0S5*ZM+P@%2DLbgxj1vS*o(WE2E+J^Ifn-uB6KhUjkOeXB7h-+qK(6A0$zu9 zBmj=*5Dc?04D~pV`52F}aCveEkfG;!2)TQfM-AC94HcPt7}-qQ@R1!kk`*8ho#%e$ zFn#_ollyR!HMx^H`I9~QS2zF)EFqxCK?+cFTbc1aqp_94RTG~tVkI{7($!+wwK;PP z7QruG=T+DoO`)`59Gbxrpx_syXBbJ@l>bq=W>*P4)|njI zxe8c7jqIqT>*%EEXaSD08md7lmy+BH=_z9vMb?dNRiuV(_)4`>EYGs1Nhy@dvZYEX zEmNtLjM^<>>6KhbmX`W)7Z)!zE~@oXs{3*C1rNIxR;5=AO3M}EP&Y=n< z0S=TAB0oJM-xFsifz+WH8atg6H4qs)8RWfN;u_eW^X_xrt*%?HoiNPB7NZeTXkDRiQ49RHJt)>^rz2DYKu>nivmTtj) zNVxJi7C>$Z4&az%UHGDJ(;eZ&L~xzDapgVU=^b+IovJ5ys`XN<0TY@EH>?3Z;03;# z#=5Kx{@@Y5;Mdx8)jFOsQ?3mF14uv$?wTA#L9bO4)c-nsO;ovc(>~4ju#I!;6g$nU zo6(bZe%(CEq+khZAQyX~3e;!=OrQ#UK_M^RuQmRAIlki+_~Q%vd>>eSU3-F0{uQ@? zw&i!w=vUaDO@w~o3t9kTTHp%`@rUp^3o-RR1<4y^E&W*IR}M@V%MFO1S}td-wqlUjh@~0u}!P z*~W#=rUN-}10g?c(8g{oe~IgcieE5{S1WHs2aHAE2RlaxOaBK^|MXR#^e?>iEBy7H z%XGX;_DTE+o3QqO!V05Mcc>7(_SlcTu#bZu_$N2|& zeJ;8BLm8B@|N6B*`?-G)EdU3?;27$84Aj6iZPpq6nPJJi)vBLCBvJc%-m8I@*QmN`=XMBFW*UN@E?Goj8dST8wPfM3NNAt=y0#N7}7>Ce0Z$ zdtv&e2~$iNF=Pl6&QdsW&&5O=Gxizur%^0UtyGSx6f;$;SV?U7oWaBA(HlaO9xZyo zsAJWpO_K(@*|FKQkHLEN$`x+iu6n=w4g5E*;ly$6+J#G(E?&%=V|xxA8?sRe6ew7* zz-#pI890^PFq}xX{MJBbyO9eep*FlqDIBU63LJ=O(sF8 zKtd3iwE1S7bJ|JkLU>BFC!c=$DX1ib5^5--iVnMIu_mqLk{M+vtE@~mRSNAGn*UDA zDX5^1nwbt20mT+qjPb=9E3jH?uSp|YZMMO3TW==k z=38*U6^Gn$$2A8tFVR6aT>=v?t1OC-#&ZpvhQxY?!EJlJMg~WK0tnlA25If10a9= z01+(jyy?+1FMadYSC2jQom+pv_NFV|edF7Qe?0i!kKcLs=$lS{`0AU_{`&7n;C}n* z+aEvt@9$s#{r=~#z5vEgfC1!R0S8z>^;tj#Ug(82#_t_4l1W&o7B+<#%5Vyccmg@J(F-rkUP0Vn;R|4B0!70lhA=lt;T9m{m_#0Bkw|e$ zQyz&KsZfE7UIgO|NRWZjXfl(W+@vQnpc>XxqZ+UQnaF5^o7><9Wv)=!%8ElA}4;j!%Ow7hdl`#W&!ilJ^FNRJtoSJiIfSTXP$^Y(yV5Ju6dwr zVso3?>?SwA>CJEk=t1P9P&p@r&I+khLlzoQhNRgb9m#W^^sJ{n?}^WRw&+SuVv;}q z3DAHFbf5$+sFM0gr6*l!p$cuNmBz%+0c2nWUigJJ$nlIcME_)6wzA+5a|JJXc?4L6 zO4JfZ*smw*B#Hx@))uPRsf1xsiw!dZIkxc&FZ|#K6}@OiH_Fj=U2sn!?NtX2l?Hne zi&0JF*S<{1(t}}viYs*C3$dleDjWeE+Xx02maqgc1Y;ZI$c9Ea+R=8oYgd0V>b#Ju zRAVtwU(9-{zg7w`g6UOSFtzGTv%1x;g24tWn1Ep`c38t&EU^@;SOP{tj8T3}8nuDN z$V}Fo+_2J>!hxl6kP|cJ)Dj!F9EAfihFXoK7L==9Kxof_3%>m18uG5$+T0VeS3 z4shTE8+gGIKrn+H++YPq_`wo}u!Sp}U<6-S!x^4%ggI5BYDY6ZZeaf?Bpmz zdCF3*GL^4v24)}zSs5XThd3lpMZ}0k&iuhNpR`dw(^@T6+Br-4^ieF(! z(;0H{rpgFI5Q5OiF)`qyF@BNRkx8Yx(K zq$58q$xu)72-*P0F(d&6Ca}RE812(oUQHH5mw7F6iHoh1xahm=u`ho7i(mpXn8F0x zFkgttr6JQ3q9i-nlUXEXnqnDfj|wWHY61^ReGE4E00yY(_Gd)%?QVzC8m%d1GeTBb z&GKfmob~K+hNGNWinf-eEf03?jqiNxd*Ami&w0|b0QLm@J^3NHeeiSe{(y7g;#B82 z%?a^zo^wO(bf?8Hj`56ZeB=Mor^i1I@{o%>pFeWZj~Z&wl=~B*41K7}6Z-OqnrY@| zqPfj$j`N%Ad`uabK^R!Qg-Of`tql37yZ_oMuR$GZ%_wzLN}_3(QF17+`jb~I2PZ30W{?a_>%rs7A< z_`;Q1nxY1{sbN5FZR@Sx=7#;YX`lLd>)Y7&M!4`7PWY2(fQ4=dhgX<|Q|Ja=IRAwz6?IZab$)nfST#dYAwyEIdEg)omH-7!UYrP9s!3Q!vvDVWFO0vKFGu$ zoiiZt#BeRya4rdxFDa7`@^BItaqD!G<-~D2$syJ>az6=_K`E3VS8^(HatWn!NvV`e z$&@QsBr)euFejB;BL8zaS99nw1Ar%XWI!w7AP?s74eS69q<{@yX%6P#4WQtaU@4ZQ z&b3hbZ` z<{*aV;0R^;nQ6%lUzrVU8F$XYhmFZXu{dpcwnhAiiqksdWS`Nh&6hqM{biJSaAN&kfvp$4L=25}e-ok@mjfDLkZ4r8ec?y!w%(3yZ)mS1^?gDIG#PzFyJpRIUl zet3BbGoZ$~MUqLG-QbUF(y5<%c6flFh87O-FqaxJpLCg;Ac3kP@tUgO4sVE;ygHap zl%8b}hr$|Zm9|nkk!(UiuZ_V-iDXE7{Zf#%eQ^oAr|73Ln*j}OSpxbBMjA)iK}u@$+%M4a$i!FJ14nTIk}bF zBUqW4)LJLlzz$zYg_VGtXGw*e>$!gt4)Y*|npl@(8LTIfnyg6}tVx4X&;nKRV0209MXfC)nY1;q=Dc47?WS_!*aou3H`s0o;p@c*&h z87OyPm#LWs02~kINi6J{2I=Xr%sZB4kg_jKrL1Gn8m3@JzJpsxV}P5 z0vynwBTT}gXL=rEZmVZmCBsUtK((=FwaK9z8=AFRi+eS*dpXQ|JDf8`vjD^Q!-rZl zGFCNOlQmm&ePx3-WfL}8v&7t2H`^D*P@H{KEX7qEH{i!N*Y|zir=?%arFRnn5%_-c zXU6o0#%HX?WqdlLgQjiFI;BH8tux2Hxa z07uBFVyC&bQW3@gh4V0$Wf>1y7!80T%kn_W&Zq|0AckL=2DM5G**b?N5v;Fim$56X zhOmacj8`XQNXQyf0(!oY`Mb_4yh1CjuFOWAIS=#jm2i*?<;n}?Dhcely1p!{gJ}}u z`n_yuz_yIb%2Euoyo$idQqzpA8GOwI+OtXUv+FysP=E=Y8ov}Y3-KI<(Lf35AP-n5 zhjkgzY&ez}I}##s3+8OS+AGX&w-R>A40Cw~wNS3RP_8IDmnw^&WYDs93A6I>4!BAR zio|J+Hk>~>7h0p9i^2^ z7}*^f$xB*o9o^H_!c--^Z|&A`4c82Ew>XKnc1>}9 zTeoLzxP9%{e_gm-0wgS_xP@)lhs~6P-MEj-*btR-m>YPnoK_G~mZv(H?;OPRQ+ZNxjR$D6!(l9w}0%ag#K z`ul|+@tSL(y@MH>>ad-FS=^-HbTd)eP!yah1fUpf%^D2Q>5H7XxSa6&oJF_L$Ss!n zE2_HUpSdgvuSrt7?GCi8D9?KmA{!6PTn6e*%VaPJD=oqBApgPUumv&uidAKGy(>dK z-ND%a)Sl5;465J>p5TvldQCf_u27*;%NtZHds3|nGAwTrDKj8yT8ahYAwHrZjx!=& z;;7|Xv^4=Tnxnf#qb`11Jjz?LC0sh%qsO(R(Z!_GHGN6?Tscmp>xEuJ9^^YN> z!24U6mQ4z9KjV9dnattLUP?TM;p!2b=sOw47V2lzcHafTCd=IU|g zm{xT~w8*T!8{3lU0^1w}27TL{ncMa2ndPt!W7(|}>&tMk(6O4DqPzOz_j}ORxruQ3y*G3sDRV`GH4&PMUgCT*|1 zFa%zpLSW!Q8w4ld8At1FA|GzyX4IpEdZt7hP)p&jzzQ#a;a3Z98ZK`gJ~K5#wmGl! zXUiQ}Z5_b0AU|In8M2WF61Q?)lL9hvOJCRQr2p4X5A{)xaU}xSRd4lIPn0Ht*eR#j zjvJMY-ME%3_LNKZV{i6g0@>bdC!8zJhDnzA5YD~K_VM8Mk`NAXFArbo2*ljIqshz4 zJ?aZg3bdQ|iW$wTO?TycRo0z%x30~}>2<{`+4cMDw|a?_P|ney&glU6;!Kyl+R$mh z>}g=FyxRG_?7gV#_R!6kxvThr7(*JbzU=G1+-)cAeu>Kq3Y;JJfGMh(&CB5o50;-) z8yyXfpa{6SC@7Ve?P>WjVbalX-@Q)?0G#(!B1VuOMS3Ke(P2l9Ay1O**m9*ym@j36rCPM=RI5R&_T;M7Yge#e#fBw2)@)g{ zXT>U5+m>NawhMhGh&yoZfdLW@L>K@RZ-l*l5Bwc0bg=1hCA1q(OWNb5$!dDm~X!O@Y8Qb|NIk>3IV5RVn-g6NP>rK#*qdSD4M`T z!e`V7PB}`JYm&)Ho^);!NvNbU5=kOaLyhVjQNv3w)9}#4?#?j7Of<_lLrpTuX!A`s zW|D?i-K?}8F3LFzf6j2^~^s$E^8w|n(4mQZZ(hM@y zbkj{Y*g%0%h^eNUX{M2;ng3>vQFYa0V0qC?8N~nvnx(5*XQ7RD+6APAc7X*3!*;M{xlO>^!4mkESp^bn)&OS3r7Hn+ z)phq>c-fWLfO+es_g;JR#dlwQ`{nmve**@XUUB&?SY3kUJ$PY-8&3G)cq5j0Vu~wf z_+WH1)_7x%JNEcvkV6)EWRgoZ`DBz+R(a(CN^aSJ0b-VUW}0iZ`DUDR)_G^1d-nO~ zonfw7=$2(B`e>t*ju~l~nJ&8Nr=x~?YN=a3V1XIfXr{N{maGuNn}&V11zw>A%Fma2NxEUG>8bfrqDv+z|K%?>Zm*W>=M;3 zkL|YK{z7gU>!$neyzy?7MP*|Yp| z%rn=#3eGzh@beu*7d=u-f*@go2{_GQg65sy6jV`3mFCn`Rec2(SGa#AR`6$K#nxPL z{ngi9fz^eV^@~N;SZJh?3?muG_{B4ZaUfE(%R<=5l{L!6jdP4+9T#H9f#mUy zd(>ke`AEk(N>Px2(FBRky z(W4?oBqL3uH_!ioLvWgO&nV?nN@25-DzT)7>2&E!0|gVAW=SG6oynSKfKx-|^i6Q? zG7A&^)7b0zORjfWsT+Uio z#1vpLunJ797;_lH%*rr`p*3C!3u{~5`c}BcHLmTt*UIdASG?v`uY2WdUr|;xpaoX2 zgUuPzmZmhoCf2ZuO&Zh=OEt(=EwYo9Y-K5XS<7bD09VV}*2uvKNmN1(%Yg%iG_)nu zrdAEEoF@M*Yp1r{v1g+6>D@T%=F49SZwh-0sgH&kI0iY0a1sKoXcJdjHB17a0Bw$H zQM(4{PLrCnv}J6`Fxy?$7EqeQEsk`nqb4XpyyI1Zk4877AwUR8YgipKo#WipvKDgF zbuDaTi(Tz*_qMqGE_ioD-tw9kdCKE}^bE`?P#uF*rovwKjzJ7qxXKman{chh=Tlv! zFIYnr7EyWezGErNi1j1!{Yrdd6Q>x(2rM9r?|8sJ`f(r+;mC{+l9Gtz7$iFW2#!@^ zl92$pBtIr{kc&KIBPSWjEKvzcWRjAR{7}k0?4ec?0F|Ufg(+KZ3YWdy<*X1TF;y9J zR?7d3l`{vW%w1VCT-?GeH}@niaF%nN>3ruo=h@DBu5+L9yk|iBna^~lOJ3j%6b1B! zS&IJ4W*Plxzd(AkMIp>$CM}suJ0{bX-b`jp1DQ`hCe(!)bz(}rSx=|h)TCzhs$Gq0 zSI-94vYySSYu)Nw=UUgM!3`<77TRUDuAdtMDC}e>%gEXCJk|v#=6=^*-3F5h2ckBD zYyghnJ_wn<0e0eqy~@+ZP7-MtHzZzpZfVjka<{8yH!0U_xjmb|!XsX91uP^Y9TQ1u zs01Yv_oRGQDMQZ85{IyqhAzGGOWPS!ch2xIo;!~i?DJcJR zo^w&^WYp*EeQ!yTpuh)aIrT=xU{tZHRXBZ>_g=+Q4F5E!K<#k*J`7@IkxN=zg%;7V zdH`r4UFqC1O}AJru5gVD>hxkuy3qC2cCm|KS?4-i4RF{V9O@!J`Q%!@YzCEXvNiAS z%Ef1*pbvd_ZS>v$2G~c&BR-IVYdX|DBMq#Ry=rAyhBTDnc4`xYdA?AFFOdHs``g!k z_OJW-{L0&x{SAI^iC_EyFE4t~%M|;cxBm4fK&CWxFwMhvfARISeCJaiQHNzzWRV~H z>7M~4zyjQ#0Yo7CF`xnpAO}341WKR*T8IfOp@B#th=3sr8X%2;ArkVy6{;W;@<0)) zArNFC6fB_>JV6y~K^A;L6O6$XltCAyK^UAt9BjcEatR3pA`2>_9t6T4bci6dq6vtA zBbopsG$STNqb4jPCyYWUoWe5_Brmc;Ey6-5(n2e=!Z`9mD6*qB8bd%LLotjoG?cM4 zTthW%!#^U!E?lHUn!`Z?rBAv;JIq5o+(SL=Lq7aNJrpHhC!C4&EBrD!rYb4xde ztFP*^uJ(X8+Y-I;114#kwrWFy9=NvPVgh~pwL&zlVVjcIiKa+6w?#y_b5jE|AQ7~I zKIyZjwQ;ESfT)NPr;q!%kV~hLTa=GFxse)@BEbZCN*yKfH+)LQ3uz{1#1gU*sDcWU zb8AIvjJPwHxXGcoY%C9qa}gMsC_k}}ioybn$|!T>s2cf2U<{Iy3W5_rDVIvAm5N7t z+<=&>o>IA)*anyQAxDu{&0XZb3wsz`PD zD!9wYwo0pp0XvQSNRSLkk=)3F**lXwNt8^^FOpMLKn#cRBDuF%a5;xR}ora^m*|9y%V>Ubiz5S}hXfu#ZJP^M@5Eo!Q z;c~sAq`cTe$}Le!F)2%A%e>pey%vEH?GnElAwNesIpaAmOh~WfTR!({uH{GA#?UC!)@)s7|ctitPVXi?rxY?)*;g3{UX1v#yx4 z@|=tFlq0(Ei8fl#g)lU>FeJo448@?&$>=ov)C~Q+&;85{{=Co8hz-#IPy&q&){qSZ zJx~RGjRa-T)3A+OtBu&`wcUU`fn%maEJc7)#Z+X(gA$Ke{L5Q zwglnI2k}bQ8Aa!S9b+pubUQZ@p+Akr*k@} zJAkRH)UMLHk<8S&GCNK+n0#3~jtteaVmnPO)vcpDl}uGtT~$^M8J6UjmodDToK;$_ zRl+K~#LLy1)YYnaET8O2$Z|Z-ioDnx%gbxHvvf+pyf1L%y%YVt{vwdmOFe4+n;GEB zAQ&zS1xsUfK4hI8zXVauyFTxu9B>4`-g#CO{Vwq`zw;wLAg}@CLB1wkjk3%HcTDD!bbw!Is`<* z^+UrgT*N(G#Z6pC62uB6$`}Q=u^G2SywO;?+z(Bgeuc`2O3cvfB{dz8OI%TEYtc?r zuWkLd44qNRb%YMJTrttnSmakOWvGhVrfdRI7s0r2+7tcKMML35l2gYv4Mun(#(7FE zWdt}W^(S#7n`k5`+N(y0Tc~BLxQhS#(k*b2GRP$|JGtB@@$c2omYf;pulE|zoIt88WKEm2v@ZN=OCk+jOO)0XtyXJwQEi3X82G{2xU z``k22iwtn?W>Hf$P&4OpzKl~_XLGi-R)aNocIR4~HF>7BTchV)%V&M2P~y7KX5t2U z22F%UTSKLwiBGFu$;y3oL6b&ZQomLyT)@(yv$Yl;IK?i{j zXm}un4Yg6s^-xy?QHcM(UR(-O-UVO8{9GCV9)$HAByH2-6M{NE-X?7le>Mb>PUw<` zor9~6a2RQlCIvf42c?z=cmRbh#YXJ4xG?obnU-nsbz|V^YAOI8(#vU`Hl8|`%sa+o zO_^Bxy-q~jK++qG_i=f3W1OHGWD9BfQ2?5?w5#I6{$ zTkL=V)ln5y$A*^)reL|Fs}8pkCtV=E3X;Y)&rH6Ch}*W)`K zBryZ{q6K@n?tYjDQWz1}#&6xm1M9|b{r*?(6YqgVS7$4yuU>GQwh@bF*Y$31ctyRk zepvWxzYBlA_LDzin1*V&o>QsVi{;b&&A&qCSV3K%{{vw75x@b&mI9<7l*ONcSiqEh zK$e|A=#kk9yug|L@eKUgpXFI0C)y!rp&%z(o?UV!Z}OUD@+WWd8qC3>t#TW@aw^C2 zDc^D$NTeXFAwvBT-=fc0u!Ya&jF!b9q z>~p&=iqC8_t7Ux|My`du*0Wb0W0ND~LtKrKi@H5L(@s;4So1CGe7nn;vi z;0FKJDwfB{#D000k9nE@I=RbW&Axe@&-sywRm2MI(KhYUCgBrK?G-M1qCfhdL>HDE z0H9oL&@y64xb3Jm%QU!j?Y?dO=I+}I%yKPP_=rly1l=m`VNATrtVDv;YwjP|Xd(7W zBTfWfhlemW8{U3OZ7SC^9@v>KShu|CHI?I#YHtb;_fJe6Gce*^A9d|81nZu9voQl* zu!m1?w{*w{eK3dH#e0EOr8*`98d9VfA)WW_fHG+B+odbMu{CKe$;sI zBgv5_36?~8lHkgeELFmMi8AI)k~2r%Bxu3H4K~uckz*uj(oji8?XcrFPo24FY9t|5 zO3G21bo}&1OQY3H8m?u`d<|P>>{v2o$e>NDb_+)l6sm3QW~nJwW9y-+7&Eo zv1HGlRV$krOBF1;?NX@{eE44~f2TA_u3SkH=1HDIe=bBw5+sRjWE&?9 z6O<;Ffj(0+X}r-%ocF<#6iHIjd7&YxaTH%o8Z}n2qWsQ^J) zVu@0g2XqOhmS85Z<(OC+aHRriqIqQkZ@!r(oO9Ayr=54=nWvt6^4b5VpML^MrvY#d z8YiKFBARHQg&vxwqmM!wsic!qTB)U%Vw$O@n{wKzr=Nn_=>P@{P^zh?qME9ztFqdv ztFOWutE{q;nrf}1ntH3Qx$;`-uB85oE3m>6JFKzAB73Z{2P`lH8_fVElp51cn}!|q z^pkD2^F)JGf25>Q#(mL%_1|k>l<@@_>Z+Rs8Sbi!MHceXRd2m_;kB1u5b`@kV1{uR zu)vHF`~wd%v;di8K?GsRWztehA1(H1+Yfr+rWS6vt(i*}y6mp|uE_4vJFmTS^#&Y+ z`ttQ)zkey=oOILCT(iJH^pLZMk_|D0!{CV#F@3SvgC1(_VXXgE85<{pEj*z7hfO}{ zf!yxMWR!d|%D!PS+{$}R;WEEXAQxeDHKR@Q%{phdu!tnW9k<+bzo^VK)6gi5jX1sn z43Ist@}uBFvSOr>OCrf6E=}t4Brj7=S)~ILEU>@?lv_T50-0AXf##M=fTib~kG??Z zr-yEO=n6Oxx&*B&@Ve`;J3xEu3DhnD?zhXnyY9V9@OlETJK#I(x7S{L^0+gF3v8-Q$86*=9gM{iBaxsmmfx;$J888w> zGm=OIJMu9Pci^KRo^b?ePUFe?a7B(`*;pCQK$bJyF*bKZOBra>%D3>bK)FE>Z)({a zDs(NERItJncPTWDo0w~z$`?S__C*g|lu(6zkqGHk{Pri3VDp?eZjI*LK&IHmz26Oh0} z0v#wp3%URpRihertI^(wag0|y^c8^vQs7p>id7h{NJ>hQE)vJM#yt*lR2oGB7O=U> znKVl&m;W^g(|5^T`E(X z>eQz~)l$A1)vab_)vLy8S5w_8uDGhzu7dSgQ&m>7%1YL=nl-IxU8`E#x~yhBD_W8e zT7BxO6{~QIjo=d3RmjybvaAwh?iwuC=GFg4t;yw&fYjH^{4&TyTIXg!C>X(Pkg&*1 zreR>DD}Csb217Uv6d7AuSnBwnRH8+&BEv#qXNlO9G3aai5?jBL6SI6KA#IYy+0MB0 zNTAU*n(#PUHS-g${Yd3Mv!K}1QX4YDlFYD(<(kU87D(D2hinp}4tFz@HX-bGXCQjp z+{#Nggf3KXdwVD`fg$2|#Sc)}Upu!cL#;SYNl!Xp0OgGqe85?`2oDsJD3Tg>A2 z^)CSeG)Mqx48R-PILA2Nv5tGpV;=wikH!TFvi^ol<097>$wW4Qkqg*l{;jEjQN9wC ztE|5%W7*17zOt6H%;hg{Im})bbC=5u<|xC|%4yaemIuIQH(yC0OqR0(=uBrJ3&bHz zw#c3z(q}zmL?TQUG)gK`=!6`4A&D-?q6bZpLPJ{7l4kUz9X%6EN4h4Mo^(w*?dea0 zx+XjMqFlvjl&3&qu9B!qUy*j#zOJUUt^uqn@mL$$97s0`!WYZ1dmKVSmN3-`7-bvt z7|c@UJD4%Gs#BeYRU_>*8RMp`OS?I?3#g zvY%mwqMZ6X>9Llp;fNYuOb!1YbmXfxX&p|q+}bwW=Js!V^KI+?Qrz{d(1ptF-E#*_ zydfHqc`NQBgetT~ILgtEd?Yx)4QamiT@rqwB+@EvdQ74Al9nv}rY)6;Ol(TP%;iM$ zLfJg$IA>H*d+zg}1AR|C4|<+NDbEJW2{dk(jWc?qzkL6=|AK4dJOE15} zwn2gq8-%o5w&V~&3EltwuG$2av)i)`vpxG6Ii3+TwbQ#F_{fUXj7HklcoXzxzyr42 z^W1mwy|t+4nstT4SnQImFRo{T>~ou2+SfiYxW~Q313Cc`T@L-{&p`Uwzy9})LKq6g zo8C6wBUkW9qWZ7sMd$kt#NF3NfmBFAj^td<0gBE6PQdDTP6K|91CCDYEMV|3AO!|b zO~DTCgpLMc;0E4~2ENG$BF_j$*a$Y5@DNY+I8XMlp!B$)3br5&zTgVZU<}fr4C3JO z01xl*;P3Qc_xNBC0wMW$5B&ts_)H-Ea8DA}&k;7E{KSqCzK`a}&jC!p{a7IuUf~3E zP#1pC7iLfxdXWDZ_K*jap#z;E51FAFmQWeOPz$M09KPWS(V-mX5Dwwt9qM5o^5Gup zVI7vC4+-KB36T~V;ualZA|m10P)ED@Y7)e;r3lP>X+FR>my3DZ3} zTrq*yuyx3~F+sb%8?#9QHx#2K6(d$S0$zcOBXGv%fdVO-fz)`$8ARhMm4#WvMnPU< zIi1rss?+}#xRX2Sg%z+2IaUb6;S+8hQe+)dcKA~e08~MNBuE|dd8OEaO#d z6hIza0$&>BrM6t2ae3Zf1y))F=D-nVE2`dXH5S<@K@$)`6U?6X(cW&|UT^s#a8-+E zr9uBV6l1n*Cad{}8Dx_=n2S{m-(Ox0$qc5}q)gX<+x4Ahga`p^x~6Mth|NeA`L)e> zQC!7U+>0DTdZ`zVzydI+BrCYWdl8QR$)rb>oPJeFPyQE9-lTtF$xZg8doEZ`%@j}O z=T8b{pX?`{fLMTrn1B-KfEs9lBB+Zg=!-3AgN9H3$XJpcnU7KEkL6g9;n1egqIpc!eAB56h_si3WdNO%NCKq*bM#FR>DmCA%mU};O_M5o~dO>AjR9K`>q z`9!H1MXHGgBw&L&s6#%Yh8>IpXgp(Q`rE$+oGj%UE&T?#2?t^VTd=8Pbv!0y>cC@k zLoY%B?+Jw@q?(zonwx@#HBDQr?b~T#TPhOBo!XLbC`k2%8*Pyzxm{$2R7Vm30jX*v zZ$U$3_?A105u=WVA&>)T*c)nu5-D+v9aU-`-5RFi>836x>nU70Hk`RZN2w~tvEs}+ zfDkW{CINllpvLA;#Isfo=M zM7kOk&+!ye%Imz+YrO&r&mA39>g&GpYrlGmuuNrD3hclVEUj4OR$^ts2Fw4#j%CA= zCE2Zk*@=RDWK6|&-mP|w=&2TAWzA?RC&GcvD?*4YHs)>xD&r}h4a5KoC=44g%$SnH z#M-9CDvho7WxC+q#;(@9m<)0n9H%m8cKLG_9Ic;RPEO}|Cd2#3bX&m2t zoRGAnd7`I%byNU4Nw`Xh0g4U-K49UJj^;>U=cIrVTmdLN0w_SP<3{e|IxZE&zy)$3 z2x_hfvf1shPUnJd2Zmtr><&y#Pw9qW0uVtoRDktl5B6Z#>&_tTx^DmMCTQ^t11a3@ zfp!>!`tJJ7kNYg)@X8PI(hvXG&lT#=6#|g*R*(USr~*MRiFzR!g5elqZ}n#H^=hvI zz2OP15ctyQ9NOUyyU=|ZZEl~Jx ztFBrABjYDg#WG6j)kb3}p%yEpMJu(%E2&}wXR0^iQVxeB>&+8Ig6cU&#~~f7br3NR z6v5N>A`|dlHoT*vmaqV$Fr*srq~akPFwRW7~00~8H>*3r&x6UL1imQDZn0*qm0_eaaAo3%0 zf#W7}BQr80CjrsLYoNG5IG_=F*eg&OLnR3xDP-~|C*_K2Fe zfIP45!N34yGy@w*ffT%DHe^9CS8O=<Hgjz`XW7Ct#HHIjOEk`` ztqj~VIOKB>tU%mq=Zlb}Nv;XAZcj5qIHW^5a6>2bG$S{H4CqvUCUpW>Ma5`~K3EbwJVBlOr&8|;8EFe9 z?}>o!LT)E8QF~O zHUIRrl1=E70rrd{(3lyvnUUF9-eZP}VpHkw&BoYmQt*%<&KM4Sy! zXJf>lfi|BVDWVbDX+Iij8=7jHHl?|?qrrBjZJPgUUz(@Q_H3_QZtFIvalkGUgD+=8 z8K_z^eo~|!u$(4vIMpep796kr>fjO5s0JIcIi_P8%ysiXV-&$TYy&Z{0cEhkZ<9lC zmoRY;uyOAjF@uw>5y-aXTAn&L!U1b`jhjX06LlD?sUm9+Ai+E%3^{DWF?=@^ut6_} z!#He#e5~3DLuzVJ8x_x~axd_}=^AV;bGQX-a*#2GbeFLbv10JIMDsug2RIwtz(#9l zipY($mLx;1*D=5XwtigR`rk^A+_y3gG9Uw$)a0IZT3dQanZS0sGQuN2LL?YNI?%(C z(}O+GLpXE-Pd~yYP&uLOoKo7tS!+ufdA0v%OtnyPLndX5Rs&TXBt^x1Vwa1xP?>p` zdon1)IZ`R*&7E?c+xeY4-Bqsgp7VL1pUPFX@+-TtSk-c&XTS=0!7pgTfn&ka2(!(8 z-rZFV>Gj?8-I6*l^w4U$_SNFyaY*8!EaTb0sE>LLYyyA>0~jp95`aN4`0_Y3y46DZ zYbc-A>RstcpV$5@GhbKhy`FQv^J_+QvMw#tQnMs*cdD;?t8YU%kOLNofvh8U8Ps~t zZf*3Po~~cILSy(}WZ$oI-|T%C5TF~{E-eq--mxb;7~sGPwBNhGU%bQ3+?u5Q`Hhd{ z@!+I1eRV62HwoZIi2*v`;SRh6Ue5moN?->>uH$w>IM4$-qyv>)15ndLI%q=VZbBoZ zz~_db?r1IwV2ifELj@2)Q)df2EJ6mVyvLtz%aiWun!HxK{OHm=>c*hSe@g=3rnb08 z4%*<)*MVMYlJ3@E(fhp7U(f6o&jTFc^Dw>cJOJ}NeF8+i{5atfI$;zp;1p`T0&x8n zW+4}Xz4CT1_nN)+T5lQ#q6DeE8loW^x^MZ)J^9i-9ImhW;{Dz0J>Kuo+7}}H{=NPR zKK>H^;2VD7<1YrNfE4tCHH5=CjKOG_uz43ZGfpwquD2EM5g*yG1IssdO>iMWbFd-7 zEl$>CWj7BTf$Fn>HjINd_=5iz;J^%kfiEmNyGtLnyweU2emMXQ< z@h7A{!NQ#9+aC^~x1Uk*r9*GkMbFEtR)$wRD+FSIn5acws|^4JS@yqY^0a z+0$px1VDujEjj{J(npWD(M!jy6R4$+M1^xIRcVZ&Te)&Y!LDD}e()*`O~+3x*{*BZ zwoPz0>^^vI>C%N8b{_w!q1^I`&081n);jjY>eCw-abm@b8Phe8z(8cllPOoWd>M0Q z&6_!Q_WT)iXwjodhaND%!0FVdS+{om8n$ZKt5LJ2ecN_!*}H4YPW`(!aN)s;4>w*M z`EljRnJ;(VocV#s#HIh9ULE!I=?XFgu{5n4IZJ$9%d~g@o=h1sWWLNN zljVMXEL-+t@&6ydDzFfciYf{`kctEooPvre9DESM2bq`h*DqyW`pvn*=M083Mr*JVJ96>m`UdvP()#en@7%}r(3Buks+|J#2Txt1Y#j9 zEPc$OO9931lB+Sh(8B95BIpqd->n=-VBmrYKG@)d6Bw*8y%c^J;fNugSmKH)zS!c7 zDV87sjwSyvz+;d_j$q`HNj}*ClvPgIWR^cB`Q?&hp4sJ^VHTO@k9EeG=be4-8R(yd z4w~qpjV>B!1(IGmKmnb50y%1sr-oYUr>llq>w38!K!OA6jX-RW%O+bov{ODn zy0Ft`d+oR7j+<_^?S}jAx${0?@4oS7oA1BbMmzAq0Vf>s!xcB2@xmQXym81K2Ym9y zDX+Y7$_dw;atm$<68j(x7Q2Kibg`ce^VR{`3dD z1wqMw036@|3s^t|9#BgMY#;<5IKc^y2??I!0S33BK@KM5R8Y)-6sfp@C~lxt5t&Fu zE+VUqbmSu+3CTxD!iry=i$yrWwo)ewvoDOEP!<*Q=6Q1#u z=RE0IPkX|XHm$)8Z}!<6f8qu>zJbnj2s%)M3I_uukU}r4F}fO+2S@JflY72UhWcDI zKSRPo7B*U_03B+723l1AhBqaXGJ%L3Qt3)T1R^!9$wVfKK@3!+4PR7&1tACl3##A? zZ8(%X5Y3V6Cfc5gVzfSjA`(YA>QVnB$%Z0z5=kF4B?p;w3PMl|jS!9GNXpqyv&ksbtg! zrT_;Fj9?s704Bpi7U6!ym1NmPJ%-tjedOi33E&1k%!`k{m=_*T5N0RcHBIxrcU|(@ z1%Bn_%V7r70l%Eb6ZF82^7aEC^BM{Y(t+Q2sfA(j(#tP_NeYZzSY!Vg#_)zK_JD(V zcwit-fQTPpfDnsp0ysOs$5O1b75D7LK8vx6U0h?c**I)Cj`5Cl+~XVnILAQdv5bv-`UQ2#`B)_+-E-j+0TJqvjso^1vY>%9Ov)_j?`zu)|o+t z?`xq8=ZCv3T>5^#qahWxus=pc$auy>-ttI&q2>YM2uJV`s;}1r>|u`wG2q@dq+tnC zfq(-mfPy8YAv#4fT6OAEL+jkP!uG(A(lD$arZY`LC2`u*RDJ)H4*w@W1N!iX2V7uE zizq<}@&E}oNCr93QEO6(Zv|4|bqLQPibe+;Jt>4VURmfu`N6OZ%)WFMGQFSPS)tQa zumYkIWCaH;Xxh}ab`P_i?FM3~+eQSph{j!RKj0K04bk|b`YtdK2)0M+`V0qfWyg9`T7+{Nn#Blbz}K^PZ8vXFn;gn}1p! zpqDS`<`3F=&VSzX16^lu)@gtYtiTJuXec?vL5B1U^>s!46GoNVQ6o7Osv%v}r%U=M zCI|tgMNH{RGt|=Qy)>pK8aHLZP=gguy4Js*-tdu6>}anazuw-XxgYFQ z3+q2BS!t_W;?h^elqoYo_N5|nfh5jxj&KwN2bVql^sAp}QA8B>j16{v1W;;^qrk6F z#Lv^nZ+Nb1+OCAF)~`!2MNAxvQ^+d*=CA(l4-E28vpz6YvPdF6&Wm25R&Iq?NWv9X zffam3wOETKSfV9v;k9O>CT5Ga5};WYU|ED>=8XSBD3GG)cn*@-fgYd%6rh0~$ff9@ zYbuiN=GKDdm`*Jc;1H%sUf@nIYyn>6LI=ohz}_X3T8X~YD<8J5UGUE8%wp@6-6c$okkT~kriJtkX$hqVR02_ z(H3hF7iBRQwaXQ+#uuOF7p(>r!6uLffMiVZ0E`iCKyhu9hGg_c6zwJ&1&3|`ry8lz z8r3En;bt49qZ>658@W*&y>T4DksQyFa?JlR9WQ4b*O49H5gy}F9_LXWEr0`d4TMBU z9PBDjQmEJ@&E8(9((Gr3cxOPAB&u#`ctY)XlBd*8O{H3@)vBj@v`2gBFC3c45}=?| zFaQH`4Ie{@_4qN~<}K0&Fd!>!3@%NEH0>atZLp;6suYfg8V-mU2q%Zn+brl)WPk?9 zAhGRCW-~NaFDhrV~-|7I`F8E z*yfuENxFK@2)RM%9w{lVC0jND6gK|>2EM6}*n$eng2Da^8{P}TrYSGTjx59wFXXH1 z7%U$Wj4SFeUKC6Z>;WJCjttjO4XMc-;3YPluIi|X>RNNYs0kkUkQ8Ep9^^v41P?ir zb1g3On*fRNo)bEwQ#z+pGDy#zBo8~YQ#-elJFkr^vd&~Fn|SOq}N19 z8{$I%-$SpuFAKh4P?!p^0t->bPeEkTsvgBZCuI1DFCvdG{$MKkN@NYlK}Dva7pkBJ zLg2T4D+Fqw3VH!N*wa1xL<}g(qV_7Iz5omS>OKQYQFc!uuhKtF3jMfhvA!y-&;+0!qLJD)d5GPZYM`JvkJqKD0jn3im)tKTp(A9B@hy zi$xcU0^JWr$0|)COHE`TK@$x}JCH|DrANth0?c$(%Jft?%d@;Fv_@;>Osg(U?u<~b zwP514js*vILbxJy0(v4sBNR{rRl9yG1txPcjjI#5f#`;T9qu7qn1LR`WiqELy{t>S zgsUf*4jthhkRK>$(btTB#Lbu(e=*OJcY+ zVZ0S#z;#DmSj)XWK$MpS5{?P_RTCH18#u&tf3q9anVr63>@Lnh{`FS^4|1KDxJ-DqOJUh zhanr1)R@QAOik51MbRqQr`+vXrV25%8%NrttPQ8+qNwUATEL=F5HyC{?Nf{e}RL_vM4<$3{-Dy z74#DrEoXQ3b!n&AVH2)_TsmP1oA4gc;ali|88!iXD=A%ybzR~DAIO5~(ib?RDGIUy zmGEo8Xf=J~i!17Y>|&Kz`^yavY+crO!T=ax<^dcW%zfid@AlzW6-+rFSUCv~GMtk- zE7*cB7=t~doh&c%@+mwoPdq_bgw2zLL$8ES*o2V-JAh+_wZl46qlIDEg$KY?a3FDM zR)ol58EpSY_P8%l`if8hD@pQm0r#_L9i<6SD)_jKLmr4jj4woxFQ!_c2*3d-tu`3g zfFqyJBfHqG3@sRNcyxBSbS7%{epsV)M~I!Yh@sT5&JP0BZ&Db`MJ-TE<4*=;jU4I^ zi`l@fR^^M?AdG8vbh4pHdzb)&1c=qRNd>EotQ z!5EfsTkhc;uwp6D<&w}B9>hVGSn283a4m?S!Qvtx{>xPhgTFjU?ZS%}@}YkJ*DuT= zmZJYb1h``E9GEMxE@0L|?-1<2WD_|Jk)8?BViJ*H8c`7=k)I{8pa0pP5s?x1S)dD= zpbr`ma|UUShM^bQp&J^aA6gbmk!d={6}RSUFj{M}#>uFrYdQvxxTa&oW~85{Y~03d z<|b^Mks9-+Zdw|q^+s?CCvIpOa%$RdBFAzhho^Vir*#^rF-NF3$8tD_9f>+~iW+e2 zQ3asjhHEy5m%$9az)07Ya-Xu&>Zc_^7k{c!CLM$!M@@N@)GW4@!MWFH24OjlZg7_E zD3JKbG6jk7w0kRdc?iYjd#_;_K*1Q&0UOfc9=5lT9zp5oA~V}!H`|aaY{49qU^nxE zRqMCwzPVwz;x+w(9pqb_rP;qaDVi2W9gu;3k8{DuVGps86n4{DA(+Agukb9Bf-_jd zH=M&2&+$gDJ40N=M?5w>ID{+j#B(E{QW%9>yfe51aerYNLaa@ zcYF*O;m3n~42GP@i`>YEd<#}m$$_@3sgf$EpbDT|3Z!5Os@%%29Lufz2$o>Wt31`d z{0NM|2-rjtpdqd=J0qvz7s3Dvaw-D|H9|9Br<_{GX|m^9m}^|(!bmY!aU4vzz8HE87y0b&;cFN{1@1O30lBZ z)U-^$wgo)9&Sm$`Mf({Ko9643!$!G(qZd_vs8Vv!WW~S zUp}7|v0&cS#1f!h@%0huHRo|267O{peg5Wu9$$f8UiTGXkKX8$zF&!q=@qu=qs+;a zEb5y~Vx{b1!Hi=!R_n8#>nWCC(M)8;?95!2>{-_A%O35|UhUJq&pvVm!WI*n!5VxG zvqxu->kseqUhnsw@B7~G{~quIU-0o>L4mUFw?P}4p%=hl2`vAM1G?5DA)jmAo(7z{ z7n(sE=-&PmbnrXh^FJT-2cPpj-Tn|?@!8z6J}|E>AM-VTbV48YV_)_~e~(E&9J(R# zdtnWjUa>FCs1FsI`$IkBb9(#zJvr5XxzxLqsNaRLy8oJq5$&6_xL>fFh*r^^8}ff@ihps3NKNR$66UCQ+6(4tR?LNyw-D%Gn~ zrw+Bcm1x(mUc-VNE4D1zvu4wx9qZGlf(#jENMZA$Xjsv|pC0ySKIRVmwo%Zcws|^t$%-Hqa>iffC36QAb}bwV4#8t3OK?h zkATw2Jrv%<%_A6Q$V`Rwfbs|zF*GRRMzOGSkwpLUm;=%-5hdgzLAJDr5I*=EgpfY) zuw!FJ21%siMm;L@qepeDgO7{)%mdF8AL&7li%6=7f{sw$2u}qTNpxi_GVTKpMJ9zQ z=9nEhkbs$Jo~dS8PTX8tSQ_rb;TRtEy@$r~;ZAs|2&w zx~Z+0&Z_AEw2sQ_0S6cmfu|81aOtqe0xPTm!4}&rv%)ItY_!1w+pMzIQp>Eg*m7H~ zx7%L(t+?Tqo9(&XjvKDE zYbtmH4hW8t0}&vu_?Znzun8!XvqKL(=y;eR<&U64VTT^3aHg4~Ym|5bK|(nXlckSd zhlxlonRu26c{$FB15uffm)PKbBPsu<$B588i;#Z$nY;L&5I(>gPdW@OGDsDcK*fI`e92ofz=9xD zAq;Sj^%L&87@x_#zW*_yQAbP=XR{U;=1NqZ-$U#toEU1vp^B z7ub*qUnt`kRn(#$_sGW@a?$^bKl}pE%7_~@!o`poK%{OInHxn~hZxfs8+X2Q3}66* z6|lIZ+s>1oRm_b&b-UZ$;&Y4o+(#Gr`I~-BLgq05u0T=0X>}%MBD0yVjOLl5AP#ewgLS8?LpiM3JZ+jI z8sR&hILBAIDe(hG<1Ak~TbE83e1n_obO1EA84YsA)1LT*pZh#Q%Z~JuBmdk;KsC}& z1QnD)2udhIY2|ptY8OA*uon2u!!v|8^GWNDCB?!D|i71LV$q|RQ9r#%`C}C z_A%ScAP6Y~!(REC*wUKzw5T=gXu-g-Ak4rvKLgryI=h0;hIX&1&8=>Ci`cz}0SrwD zf(ux{0uqp*YRFBla+k~89C3WXi98!(@wk;3#~_quzc8OyB|=_`qSJ-=jjv z;08PR!4PJ!05OO_3vMui4osj?FwEf%dsxF79*P1*Oq3Bjki;lfi;CB>;udcu!rO9* zvRX1@mehD9GtP0aV$5S559nhYP(coI5Ck6tp~yx?@{xUzWF{}U$xwc>l$A_nCs#Sj zM?NwXv z>)FnIuJfPu%;!EA`p}3@w4x7v101}T1ZtM8q&o{~Ip1K>n9j7OH_hozGuqKBfOKpn zP3q`aM;O_VWZ5YH8J_E&$2^_nZg=fQ>%8fLynRz8dK+{g_AbcR2jYkhHiyd$8Qa*P zNCHQEy^-}c``IHxu$X$J4;7`uOVZA^wztjg1fS&FE3qG<0QIMGll$D}PB*&Ot?qWS zyHAdaH>BiE?|H{5Q>emss`Py;eq-vTx!M%Kd-ZR8&uZWU`nQ5?D)5C9h~WufIHrs> z@nFF;S=Yk2wx-2#aCMwqAE#DH#Wiw~f4t<*8oA0-&T?zD99S=3xyxq`bDGP%=JQH9 zyL4{zozsiwIFA?5^%XCEeM|*H&ViUc&Ge=#n#@p-y40b5<}`!MGH$*M*4w;wAloL? z9PpXg!%lYpu^Tt+#yxx5*S>bNo1N`&kGtIGPWQNf9mu85yVq?~_rCl6?|=_H+)ZEt z;}YJu#J!Diy~g;iIbLg!Z|(-38#Yz9&^yGaWG3I1-MD#@yS4~@C~@%~z2Vw#=M7w) zAh)>HGj4IlbG`9W@B}W%_xACH5EWu@Pj%*#o$qU%`aIG;eTpwg^SFjRCSpF~2fy3U zkAC#)2jl8n|N7XEFrF58rw4i;g5M86_{T5)@{|Ak=1)KR*Khvr2kL|HpYTrrnEm>z zWI%8s!3=zW*ENJ;4Wku+0yuyKSbzq2fC$K2g0)v*Pz6DN11vy9aFIk5Sb-L3M0uAR zT(dR*R)btrLmeCFfynhS%SD39WrE3tf+NTQRYQUka7ZthNHK^=G&qAc2!l8%gD_}< zJjj9@(1R`LgFyI$LRf@B2xLWwghvQuOW1=*_=HH9fl?@2j}%Fhgf^DM3R$>Gu%;f| zHG1}F(8L?z0FJ)7u(}vM>OlX))y`oHZSchyV0eSd)>ok1L_lJI{ zKE2~2*anFEBz=gOh|niL2BHy+s4U`kV=5tuJ+@;x22v!2i5#_wn%IdV#fhKjiJ5pO zGbK}*(g39haHyD7s+fwb=uxR>ByJ#5j!q z##oHVc#O(;0CEKa{sJ&j6b#EiFxF6w)_9HBn2p-FjojFc-uR8+SdH323_i429Rpii zmvvgVb(YbN7~qb%@s2$;3ZzRR$gTYI33|^iZ~L?c9LY04kv;m ztfP`J8I#>cefC$AHhGgi5h#hWlRDXxE8&xZQeq#LVMN(sAXbz^X_Od*VNt=9L)nxU zWMWVW7CMQOR#|-mvH&FnFul+W+At2}a1P`E4rE!DW_gxqnU-p~mTcLUZuyq~W=Rfm z2@cbsF&t9^Kcg9#p_iPomz}|8eJL`588Q+u0h>iKSO*vPn2zs=n29MJi^-3YIhmAM znU;B(mw9TbMm7@(9^yeBuZA98_(>lbUZ%7+ypU_Dw;(0ih$Wel>IH4-HJi&On+PJ4 zxS5-}sgjK7h~V~{Eg^0;>63?2ZsYcog~F4_Nhr*zoXrW8&KaH1Ii1TXot1K(lp-mP zI4N(ko!+UPw-TNKH=YDno)i}<#d0jr0#g}zF*hI@zfcY1a1Pqw3{P;OQh)^iORxk_u%RBx zp&WXlB08cZTB0Lr1V(V7D7vC7+M+J{qA+R%MKGf@TB9{e1213%FYp3vkPYBK4%z@2 zUN9NAp^k^ynC!S&@Q9@J*ra)fq>71|QaYtnTBTO%c>hR{S{jgBx;0fONtcIt#2_Bx zkzH=%d9vnR;6-{MnKvS-YpUlst~WS|GpDV0r>vK!kJEd==X-wIr+~_*g35=4`lo|x zsD&D+zZZyy$f(9Ae2p5ZWTIeKS*ez~Kkw#lntE>Bw{Gh9sq7c3pgO9eTB@Ylso&>* zs>(pCimKc9s(;d{o4S*g`W74z8ko=w;6R}^AO&N91!nLCWnc#X#9FLmaIDChtjRhC z%sK{N@T^~e1=2dL)LO06S_M@=1=_l;+^Vfp@U7q)uHVW8|y{92e3U_}2KuxNCF1DhFX7%u~pNtBFnK9FtR6WvM9T{N$V zONUsyOjK)!Y4eiam)lzYb#LyZA(yZtF{TkAO|(KcI%o7 zb+^W%5qp~eds~SH8n}QvxH=}d^J1XxQlN@Eb5~W0F7=8O<%*FDxu!U|mRq@|h>N$l zxtiO#ocp;vrBl0DQomTbR+WsXyNs%vx~#jpuG_j6Kvz%@2EJeoKxzb2kOgJ{36oF> zaPYgp`@3oY2g9od#(TWTn+9s2ylK$9%_|0CkOpS}z0_O1)(fp)kOkViz1(Z9*4nM$ zyRA(yzT`W;RL}%T@B~Hh0-JCS;_wS>00pnLW=7hWTIZNf8m0PMkCPdhSNgvixPbx8 zr35^XTxyUU*pLdmzzp2L2uXRV2Bs7F3Kq#Wu23HTL~FEj(~+gQw7T%7tGS!CDZ(UN z!X}Jh3MQPFy23a~oXT084R9trDZ?>*5-~g{HGC&D?1(q4!#2!5JPgF9!#?t3CX7;@ z)cKr9yu?b}#MbG=N&Li89K}@3#8dndRau=lHY_y8#Wv=}TP$OiIL3xc#>`>?8NdOv z`wQAY4$dG2Sda#i00)&&$8|gjlrRZ;JPB~H$9}BG$Q#JV>%4?q$jwWvWst~%G`o$=MpdQy>LXumne71e>4@;1CS)JHPc?%BFmz?kJDzsF)(dj;y@D zunfSmJj+%pkha{Vw|u}2*|VE@h2D{c8H^tP!W?U$hqT~jdLLX~aN3%;SrY8^%(f|; zBLbVzcEZ+t&DiXljQA+vMw2Yu!n2yGnR=Y$tiw3`ld8zW>1@O6Op2$NaHtqd@Jt{M zK+pCp&#^>t4Rt9K#m~wzQNhws!P3tgHPG=1atCd4-hy&8r_d@9a}aHF5gl|BeRCEa zb3T`IKey2u-O)m~pzQK7IS>YHd=8;724_$Sl;8=Kz|wa7(lA{Kz5B;|ED4h!2{@h8 zI1LFrZODdPti{U6itNZlO$L#C)JILNmTbx4y9G;71fLwr@oO9Po22)fq)VFB`3sr5 z0j2y)%U~VWw4BQZT-IdGzz=DK5?NjUWXgGOgQmsok;iO$AZ&(bJGN$<*MI7$kczg! zm$rcY*Uy*Dgk4|@28lMdV~H)sj7_*^T)2*1#*!V`lnvRCJs|F~ij(Wko2}WHE4i5~ zx}oj4qz$^JT~nj`x~ko}ti9T<-P*A2y8LnjVDJmpa1PEe29gldFHO_FUDG)&$j0l_ zK8?si&B#T4tdTs)*1FV}48G#Z1WVw_Ihxbgj&(7f)^|PFJh71b&BEt4w-` zwa~QSe9G5>?R*e!h<;tz6uxc$2=a&w!p(?{V~UMqmr~h}9paO1*&+_&BW}i+O`s{B zaGIh3oekPBUR0A?+BAOJHZF^yd%9S4Q?K3QvHjyd9^|kcFB~ufUVsVHKn~Ba1;bkj zm%!UFJ<~Gn+cvG!!9B>t?YuyJ+{m5W%AM5A?cCu@1<^g-?Q0Fa-~~9a0$kV1kGYOa z8jo^5k54+@cHWNyT)=0Y-t4WV@BQb1-dqov9TNN<6#NQn12=E2T^igT9Q=`{mkV{> zAI1p+)Y{j5{#i3s6(#gX=8N@%l>OS1+q|=?+Im8Jt00ONi zHvG>k@tzu5!k_aApvHdUiF>$<8!w0p($4}Uu z-qo#)zyABxcOLKpzmMgu=X}2BJ*(E#g?U>jnxffB`As**97-NM>H85N!QzN1?6;c2 z@d^?wAK&pHKbt1$ns=+|D4+6(xXr)`oSy#j**EIbiRyx)>aCu`IB)YgFYC50!`T@p zM@%R`Kk6)z#m!mtSe*1OVf3^L^G?qbB;*CQZPH@k`CEQ1sKyU;s0HoJFMEm-$23weXAFzG@_kJJv1N*QC zo3IE=_=unQieG~gD}#;CMmbo6k$;0aSoxA~`ILY8nxFZcKlvJ~gOJy;1S$GiL;3@m z)|NMs6$uQRXQqrUYaJQ;-t}Gmt(tZnwRfHSdX3j%tNXpb`@YZn!q3+OCAa<*x5Zz# z#-F!%i%`yw5-vW8A5P*YUi~J%?8(mT1-epf72}ud{hv*_H9r0~Uj9rKi%P|dLcab$ z-u~?W{_by5u?q!kpsV9B25OM?ciin=f8~N4?f{WSU>Y-K${a+P@E{q64IMJXf@RB= zh!rhjsghCuBNdJvIZgo?QX~^5Ns>I-L{6F|C@VN%fEiQfOqw-q-o%h0L(H8$b>jR9 zQ>Ra&LyaCqnpEjhrb9PuK>Adt)C^RuLamDR>eQ!QxpoB`R_s`^WzC*Nn^x`91*3#b zlNPtxF}lQv0RzS=FRN9rR`KP#YSlZ!g$dh2d`t1-Te%$P(uGX2WNeiyBOB#Fvt|hi z6gcSoIW%a`q(zq=J=%e137r#wR`7cD=hdT}A2mBkLfd&P9aKH#B{EtEgD|9f!1~=5OLk>SgFvJ8! zBymI&OGNR+0u4Ce0QXva(Z%*)oKZ#^Z?rMT^l;381TT8AhMZ8&sKk>>jzluaBqyn4 z5+|Q@QW7broKg)nAc15cEw>b?pn?=q=pix5m}sJi%)CgWjXdf|q>)HsVu>G8AV(Wt zz?fl$nsyRuCO&ieX(&L68g$U64lN2%MHgkXQAZzzG*U??l~jRIh?%AuxSHXVu47)w z>y=md8Wk|X1~aTM#B5<~vBw;nj55oxF=mwUZpC%H*mC8yS6_bxHdtYYCAL^&j~%c7 zyae`RmOm9!g!Wl!qovlw^a#9mMFUn_aKU9AP(XrhZ`(H9albXUwsOUlKmi2|Xg9Wa z;dM8Gce%N7%CvGv~76G<6V~jVh znB$8(2Ki%=H4eGrkxj-JWs^%*dF6~-b~$F5SGM4WFpk+~oGR2%vgakCbka(phZdSk zqX{wy%rM9N;)^V@xG3t1)Xa#@Hr>S9B(0HH!U$-%1@qx z3e-?a=cc=EyA|CkE3Wp|yYIZOTC1$K-hxY-PV2&p6~zS$>{P*0RW-3z8+$DOvRG%O z)z)1Ta51*cJ>L#=>O}Xf^xHNU4|QZ$XT5dTUxz(*WtXLWz1o|_J$K!A=e>8|e^;-+ zY=;lffDMgz5cvU?PyYA~nP2{S=^cc=`st&m{(9@P=N^0SxBp)I=NTM;eDkR<{(Ruq zXWu;qG6=$wX}}pLjU$cpxo0MUj*?3MvBc8RwB#i(DXk1+8dI4RNRg>gt!h@I0@mOJ zrzI?*2%I2CH825%5M-b=9|YkCCm=!+j?jb>IAID=xWWmv5QQy-Aq-Kd6Bn9LCohCy zPGZo3eku}9AXiXctj;OF^NxPA{3X1M573?ic}o`iWRen#k+O! zP?o|};S4vIy4(d8z!+5;`|=l5L2gy7x&<65_n278sxq~bj&q{3$K~)*kKp+Zccv4_ z>I^bFh6Lmx1sOX=Hqw!~^4GG^LnHQ3QazU3k&alT$%px;lMVP}C?nv>QG&9Rq9kQ1 zO{q#$uF{pQ{A9QyR!Uh$z+4TeK6Qo8R?Q_OAO#?e zBO7U8QvUe2Pbv|uXaXGImkhWN1d@q?QcDxnAQ(Zcg@hzYKte?SCCURD)X5iKm;u?& zwo#7CByDf|lTFeFH!qg7DO54a-?Xw)zNr)}UkO}HWjfQC4o-|@JceBomlwu4?o^N? z%;Xs37+pZ7j+n!YX_T58)a-_-xM59j+GU$?Nwtqx^^PJ7xyY?{m5^W6>LbNERVhv*0;X}Zg3q1#%yFGE@Si*sFbV!xVIn%)=x;v55tyVi>X5MJ`6MiDlek8o#*4CL=M9W0vC?&&Ic-R^mINUHA)-J)^A2qAT4J!_ z272mfoPh$;waLwGZ(CcSgu7=x0~e)EVX5B&tx}l(Ud5)zJzP!`=iJ6Q4yf;lqfjYV zRLe~UskU;_Z92y}4WpIQvGKI$P*<<-mfF;(Mzwfmcb?mc*VT%Jb*yDQYyFfjJ%^3! z@{A`}UFVwDzXo>r<_hfW4g1%{4tBDYy=z`G+u6~3cCV%F>%#ULv9_l5?i8?q8LXih z-5|#n^4a7jl^bZ8r4j(Mlm?8F}g#Q}N~h(b1KhVqSG!%iz(Ec|`irm5$Y!;h5)=53~U6CE^U@wmXG7Y0wp3?2Ce0$sB4)r%dI}8W6M$`GQ0aDm5?XJIwo5t!jBt1A$9JY#aaq z209>o;>+3i9{nhx=A7p|Cn~sqZt0+h;+b*c|gJ~X+76_ zJ<*cAsKGa@IjwzTg4~m+9tRap#HNsOUmKg-B2|0BdgG{i^Zme)|kL}bKq>5l~=uW6CQNQ}g8 z!7oe1#7oq~Ok@`V>%>p=#83qP#ZhdqP!zCEgfLX37k0rgRs=9}kuX?v7kZJGS=5(& z!NpqCMSF=PTLLhJIk6EFMqnJqg|Qe9J4TN|Mv563k0F_6EE#8%#%QEQmq{6x!N!xx z#+TVfBKxr#480sA2Q#27bfAZOKu30<1~_0xf6@bc=!bZe$9aebfk+2_U_zvUH+g%A zE%V1N^RhKzs4zpV3929@K(mBIGahh(-m`?U8N=g~$mFXtL%FkxER;9Y$UP%8L8Cs8 z6twLdi$jwOoC-fY?5Xnmxu6@W$|1Tta=-Ws9nZi&{nNig#L1l0N%E+jo;1Lp1j?Xv zs|Bn!3Y<1(Q?{g3%B5ugN~AQ(2|UWDl)$14K@hacs>DhT)SYd+L2)EUpJ4}d6w7;{ z2W{vdDggv|oCkGS2Yld%e#pmnt1>8jJ%ge*iwH>5auX~(NG(JH9_T`FScxAvxP>!J z5@I-rd$`5Sp&|M>#|$|Ss<`^=5>BAP3l!yyKo z!wXO$6*g*|m1Iew1H?eg9I3NSs`DeOL!_)qq~7Gs-_*^WL^VcS#Ns5*<2252c@0Mt zCIk5-0eQ~6Wz&lU!ltuMqm%>}c z$9ueDiqFPly!xd7&--LNX|kor>%9Kly#Msi00qzi70?3xyl@1!udJ*lL5Hy%OLjmv zNqEP7fQNzLhJ4V63grfQIKnhY1a`oOC4>i1I0!d52YC=tQecQSIMEa(gE2T!b7;#Y zG>3?Y(HWfwbEq0TSciF_QBt_QhtfhcJF|ssNWpwaF)Y3%9X^<7QYMXwCzaADrBWx2 z(w`W`1YwK9NMzG(C&KIWEKT6rB>kz-Y9ef-XL6l~<`W zJA%pkqe*v>Kbp+Hnw&}DB-BF1$yXD~L{-#9)g4>=wZOVH!HUXBh002$%B#fGtkl#@ z<u#ojwk?q)$ z1=*2BS(7E%lYOuTtFV@xFbjj(3bPjsyD(i`FogLR5HlE_6|oviF<^wTp%vPqEis_& zu^2=DT9@Im8|yJ0^Tw!^+Nq`5iUCJf9Y_6%)v-heTD1oX6$nS@gkojFT_uGJ)dzC` z1a{B|dc4OBjfQl{2MT>#c!&mc$OpJ2g<{RnWRP15O;&#B+rNc}z)jmJklPH^Hwx;v zZ~ZqL5Z9G}NQtCekD@a`v9plM35*n!FLl???IP$S(=jd6usGAMXbWYK*PBb6QAtU` zD1}uh1=vhKe?^8%<1}(nmd<$>06ZOn1>WF2HC7|uv=Tr@Mc(9HRHDSSX_G5SWy z2siLmCM*LJH3w3-Ulk>Tw~Yp}C50`(1796c0j`1q?gw~a2DMa&2mV@k*vozEH-B?n zz>Hi=Ft`mkOolT|g=5SRhPaF4IE*u494g@y_94hTqQ{)L&V*si+{_t{Va}9cnDb20 z6wOG9LupuDx&Rft*o#uhL)ujgIjXLgtWDf>x+b1FC%#Q6X5uHN;wXl?;Ix;{U_`9j zVl7@oF8*RIR!-0m<1&7YF-BuE1{XD^rfsRt>#R=hbmQ=pWA2nD@VsO3Bv13)F%9-H7BzH25vY}V#%rc!LSQg7zwDeZs^kWz9M zzM_>#` z01=l_0!7Of#mpwf&DQMB=Iqb*?9c{njs;m&>|B(bpIAyR+14H0jb4UZT4TmL+hB81~bI4^f7;1cghxWGrWnXq*UKZf0cHjP; z0$N}PdEn}TWL(G1J+YQ%YF5(9MexmKK8rlVi&UG=Z5y`+U3nhedA7cM9?4Nq-8syu zlVmi;z*NCI`Zp;roUim=)h+27B?%OY_;RH=ozQ+So^@|&0gx&aUHi_kG|d< zZ(foXa*-zTP7U819KB99Hz+Yjv1Es7fHEsN|m&(^|~>ic%zDwyiC_40Wbb47^YT^$DuH3u_8NU%mT0-t6iH8{!a;6Vpr z#Y~}`csL!hI3z;hDXJkwSM(aD;TxuO8@BWu#&jIkbP2crn;w?yAYL>g9%y})qv@I> zSh2L*g-I)B_1xS|ECwszgmtYVq*FueTTg6U*Y#XKV=sPy1b6@in1JPcfH~g8?Yu-j z*5hR-Pi9y4W{37?mv%pPc507yYkzk1Y)|%lPhjfy^+aU(Y-C0z_i<0;JEkW6%w$Yv z_jPyoc87OO20g501WDkhNsxpd^aahb5-AgiDPPunfCn!z+cJ<_c@%ht*z$P92Xj#P zS59+Acys%9Uje3qH%DBE&(SHMbGpUH^={@eOGvT)0U#Lb3|;~yol+}RXDV&^mxod- zmHC(_zLz&=cE-{wt@)ZaXPwAWaz^K%_j#cQ`k^=fdPIq5(pCECdntRy@TZ6R4cO;? ze$$iO3-Tks*(K;cbQRmh92B3)6?gHmC;Qb2FBz}#v{!q@@-=I7R0sre?EUfW9rC&_ z^1HvvjwaPlHC4Xfdr?JI6|5vx6<=|z_ep?*Nr>{H@%Jg)M=-GlbBKnA$b)i_e1DXK za!`l;#mj(vpn(*LJFt8p1@Ixzb3O-ak|+5BA6KZ@T+Jmz2S?03fi<(*0NnYvJsj~_N>fa@mBQVtFr zFfeZH_%Y*I`Zes>o;PebO&jy= z47qpL*4>*oZrZ|w3omZG_<~Wwq%oKO)~wmFW5kF71IFt5s_fcVmFoWPJNWOmYSprJ z%a-}`xz@8s<{lX~_}H)+8+kRXKY#%WI3R%q8h9Xr2`acCgAF?PAcPL` zcVB<};kO@t8EUv8haGzOA&4Q0I3kH9ns_3LDXO?4iUVZmq5%WAC?kzB#u#IbIqJA0 zk3IVMBak-kh~tbx8d)TgL@GJsk~cE>q?1uXIi-|UQhBA7Sz-z00SnBqMl(A3qDCcZ zOrl0nYN)xUnoC9XCRA0)X_Z!9+4;p6V~p_yS$+DM7NCH#6&ImzF_8qKi1L*e5RE$O zXkb6^FsTeJ6ebNDKh!1xrxS4h`YEWLhWhCQo{H)zs-;R$YO1ZSsw%6o$~vp7wAy;> z1endLtE{}n$}6xLlp5@?!sco$vBws>tg_7}`z*52G7IgrrWNbiwVP!t+iMCaH_bH7 zK^Gk{uT)nZE33S+O1kN07hZVem4_a^wy@XUd-2Uj-zW|^pr5}0|C>O-1P@#=!UroX zFvA8nobba7J3KMO6iZw&#uqQ_@4p-y+;PAjiySh^Ae&4u$|9%CY03n%+_B3NwCupk zE6ePF0ynRkzymq+tiS|62i^0~Kns2J1V$$vbkY(SFu?&%OAxgIQ%g;?)m3A?_0?T# z-F4JlhYfbtR*(Jl*lC;pEkVvvx6QWIZ_6Dw-EP+ncg}g^y|>y6LG?Zb1e&g-Omb zkOVco~Y83|^9f)?z}1t*9>;ZX269{eB(Lny)#lCXp(JRt~^ z6AW>UYdX}ij&-vCZcGO>wH zJdlO*!=fotv5Ho_A{Mi##SLMoiy2A)jEDqA8Qq7BG+L67w4}x@t+9=4e4`uV2*&{o zL`roGBOURB$2-30j(*J0AMsO1g8;ISf;1!{4~ZWRs2~i)*akVCVFor)vQ4{#)10W{ zyWo)lPg%%mQ3e3YanB}-YlAO_^v1~JTVgAimu0vM1$ zFMlaaU-~jKpV^FPPE#6gF|(P@d?qxbDa~n8(>1x7O>Mj-jBJGKIW2r4D`L2cUu=hl zH~fyg>P0XAALasx?%7v;o+!_G9tdXkoEbjvsn2}!bD#d~CqVxx(10dDW(F-NLJz9Y zgfdj2RZBoYq(+d5Ms%W1t0+dRX3>piRH7Hvs7FC6(vXsLq$VvXN>8fNl(JN$3NYzQ zLmJb9YBZ)fd#FvNM#QS!RAxElsZEQ>wxAYN0YWuuQID$Bq%w7=1wFt~2QoE`XoMkE z<%m_YidBbbRUloR97ez@R)&m~t7i4;S<8ynwW_tPWF5&{(+by>#FedcRY_fEqF0%4 zU^cD5@DQgSDWG&sd6QJK^4>cq*eh-G+vA|+Z(>6Sv#r7n0`6lfzQ z+F0`cpa{1N1{iR#0?M%VF`v0iV~!cy*)nDWvE__qaMPLI#LqIe&8_}?8{BFVx46#) zj&Fja+~hJBxx7IkbV;bfa5?8WxeqLk z29NXe=n}o?MlX7DfFUk&xe#6AEGKupo6a1fhn?o_^Lw+d^{sQg>j{b?hW0D=v6H>* zX6Nr1{|m+!IZ43@P7;FKKH<4jnC^D3dzAE;_Z#WG?|lDzfBmkZJaTA|8Zx|>!f=dj zjAI;P_^^o8Fk*R|I4hj|XZ;3ND6=DiK9JM%7rfH~ z;LBVQvzNgn<}iPG``yzX1G)OWu!4`~;S<03#y@^>waHE9w0SyCcNaPTp)Pgu)JweV zY$p)0?)7<6y8D*?zW2iqev~b={0%+7`O}a7_3JdF1$jS3nW~%$slbXq)(Wl!WUB}yv;2y&804;GnL>7%mNn!;e%V7h zWVMu;wUC*%Smg1k+46Z4)BVD^{6f3P8J$fZ^_7Py)`HdlxzjaV1HWWUpt+==#UxD5 zb?``9M^+-Aq&rv2#V z{NRuJpd8HA2L7ZR%hiv`_2I}>kp8^f&oL))-o|tPPN#HMXU|;_ZD8jH3>|lJkauS1 zcW!5Rb|-k2r+Av@&>fw6ZsI5?9rH2Wba-SqX_qK^2PuZv4w*-Ks3M=SqJ79BfCi|5 z4k+01qJbVLg4&lC-Qs-B*8qeal;|DYLE|%4D1~0=lkm}u@R1&IXpDF$;f3fR1yUlF z=!hcHi7Jwb7Lo#F02EZ?HZ0*XIM#@n0cLh%<#CcHfzmi$7QZ3S=e>n0ElQ28qZ*!` zJHBHL*wQ#`Lo-+c6#Q830aNYao|R6i?%`hV0Us~{pO*&Tmxd{rj;WYpImlQ3F>N7jbI8Q#7nWDux=GqeU-6V1XxLgTcs6QH7m0|D_c2h zv_fl1c!6r!VPzN-ZRH`u24cg`79b8+A@(65_EvCF z>~0<6B5o`ra;(R8EXZywnp$F;mTYtXUE+GCtOsSlC@4cGMu&9Nsddn2eeNl|RG$v* zC!pp_d^p2^{w&Z2tvuCYgN9v#9xc))trp=?8W|&u5F^y~h||KIG9u%IUM+@Zt%Yu_ z8c8VN0g{&_;f6V;jbhTe(up^6ra1QKXZ~pNeBPnNm|ipr=`{*Fp58m!Kn$z_Ied>b z{6cDNN|AxeKH{U0{gROp6RUJeFD==yKpCqvF6|9VKOsw3am8* z0~aFvrbs4Bzk!!yL((oFb0g4f}Ba2xoCZClNbm58s9%KId>Kadi@6 z6Jufp8As3=M|y^*%3d)RqmX4hLo-xYGblsMI-hmSF4T?U4S|;_>Zf|_ZuZTGH(ZF& z#<3jFafB48(%vy1=P`=^V2Fd+h#r*@)dq5tU@g}cveq7QFn+Dy`645;9fuI!h8P|q z9UdaF4hIB57%=8GoC7(W!(e4W8k9jOTd?nZ!8h6o=J6=oZt&ZF-jK>z-MW(LA!**m z0PBGRIfO$utZ)mjfRtY8?Clrv!+he{@LF@3pAz%H2sOx|3RRtN}vN)U_)ErLq{}2Pqaf*^aTna2y$RXd*DTr zV62*8QxQ=}FI7SR#1ygWpbb(L4We`mrnC&IG!DkJNSH(r(sW4lV7KP9PVaP1TL2?L zK_-i9I4q$jFM}0|K^Y*mDSv?&;E5-FK`LjSDsLVY)NAKaK@()PR&VuIg8?fxxl1If;RN+P;bLD{6Y)MVZDKR0wow{$aiz=DHyUpIDVw{~xLcK0nO=W;k~gEllnFMz=ktUx{Dqp0+w zdKX#Znu@JJE7VJF??bdFw8DF z(I+{p6MnL>d$8m+JVODzq)_tYhW})T2PKDxxQB~4h>y6x7!=JEREkT$inln5zj#Bf zc&V{W^*ZH@gW8Q_FH|;VRZ^u^{`k@W`Be%zR(7TO9{E_FrIM4)lB11TJ~>=QIsLk& zll+ z=`hP(a}XEt6H{k&hI$l-`gxA}d7e6XqWXBQI(o9Ys<%33iW|4@Iba|UF1YCk))2W^ACHnms#eJyCwev!6c$czAT z+Ijnf`nI_Lb|Gu%hb}URrhA93yCOkyims@NzPr4mD81u{1t`D*umBWz0UPwfF-(Is zXu~#aLpKz>!5=)rC%nQhJi|A&mP;@=UF~j{?eb}#f){$2 zB84LZOJc({5GugLv(vvb)B_YgPkla9z13HJ)vxMDZ7SCfG^cKqr<$tRlPcMdz1g2C z+CLyoJz%TCs;hFKtP<5w*($H%>aN~>uiiaR73)b4E8nk`vL0(#N$avstKk$cvN1)Xxq)w39!D`j4UAKlUJN9bZvv0r7OawP{a^P9MQxQQ9Mz_ z6hVwI#R%j(0LB?*tdYhWZOjqJ9d+!H#~*zR638KiERx70jZ6~BC6#QFNf;04G0F%m zz<>jZRG49g8*t$AhA(l*LCi79EYr+0(M(g#CC+41OgD3YQ_eB}<>YdP7dTjfgAg#t z0D}(p`m;|#{RFhoK@BBT(L@t(uh3B;L=79{j^U_F}SqT zOi$HxgG^afmDN>U^%PbQU|ki}T4%M@R#$c1fYx4p1y+gAq=+V0se}s9}X5j#%P}DX!S!i!shv0lR<%E!CNTG(9 zUV7pI4wyJZ=vPS|F_rus{Kbu3TUN3&dW416$8tHSG=7ZX4~l)rOmGx!sQ2 z?zzu)JMXvmRy%|hB=S>&p9mk^@WK&4T!N&2GE4Eq86O<0#<4PMD$6myT=UF1-`w-g zLH}Iz&`BTNbk6fiUG>#jZ(Y{6FtFj9Y@7`&u)(G^447+K$+od7}op`s=OF9{cT;Yt1R3Uw`}O%RlP=>GMDR%}0Rzb4dLHSf2#{-iJO4P~dzV2*CzUP=XaSKm;#H z!3_u9=NCZ~8b^gKOyLVzsGJCXO@_yzVGJvzfEwm-hctwd z1EJ)QDBW*}QHoj+jY!0(B@u~3Y~m4%=)@>4af(8u;uWoEMI&Bui&{+L7QYBaF^-Xp zWi;a%(U?Xxu91yxM56`Z$N@Rdk&bn=;~nvsM?LP5k9rK$9|0LiK@O6Tg#@IZ_JYVk zB{EQobYvqN8IeIn7kR*f>0r6lDkO_@qmu2Pk)WaTJp z6-r#aik7mfC9Ga&%U$VmS-s2@G-}t3+ZBfYT8H^XV}kcBWqNCPmnj~(pm~d0q>Ekc zavnCckqm`xlbhW%7{eN7FK~`ioaL++IPZl{Z?2P_08?ka7)G*@&6A$>wC6qXnNNL! ztY$KUS|z}oS;$USv6X$SWuK#1?bO6MM)A&O$HN`YerL1|^3GAp!yWUahqV(}t!vNoTG_^y zwykB)aoDpU-6F_9F%pn(_XAu9^>(5_m#RjC;4rv-OlRSZUzT7HFrU&U&}9k!K+SM{r4h4{lI zCh>_!oMI8L*u*MsF^f?QV;9G`#kvx)|BZ!p;~Lj^6n%M?SaX*cV@j@Glbb**uIYh7cm ztG&JpF57}jVP`6r!tOEc0Q0P4EJIp`saEf}740OqmC2Yn-ZZI6*XP-F6x#DP_rU#a z_>DV$iKrJr%^|MwmP&KrRMwD$n<%|HV(klzpVcfSGtZ-ED#-~%^! z!7<3dgj4X{8??|0A3nqTK%7A{)L{-MbnzQ*T;mf!7>yqEqq~vmO?P@54H}7}WCN+skQHFBtouuTTSmnt}zS5O-r~BPa zIZIpaeOGAl%y|1*=B^{sdP>tT;EggjKB08Qxa6B^LkI~1b4k7(~FnrGqP znfSvWzDGm)QROGUArM2zOralr=}({fGPU$gl9H3_D`opN$$qSd5*4V9zp3Sas`;6E z{<199a!_f%=iI+*`SaS>_0P**oZ$`H)$VqKS;n*!qgoO}ThOY=f`_e|Y4Ru!+vdue z-o<&Y!5bD~u%u@=aKo>113EP8v6f>4C2QS4u-!y31jz$DLhG|m&;(I%1!3#6YD+y{ z%RAgdLf+#*6oj{KFb8dL2X{*cdyog6>p?JtL56TbitxFHaJ#f?39+jQneYjzi@Rzh zKGLfS)yoR8@Cvms{|mX$yJC(;zR>2tP)6QsFXYP%%W%HX(7n*G4F$yw0R;{NB@W-P z4(ad?=P(Zs1q}~uQV{G9{V)*wa1ax$5FLzC2BlIyC6gv>QWVj`G|5#;WmaVAR%&U( zc16c5u~#%P#R%^cK`|74i4pWK8^G$vhzT)>4BAYgTTG!8UUAwIaPp){Gjajj*2S9K zCG(!=8=m0_P%jvTaTtlQ^HeYPkTDsRaTz~m_1dh>ROVz-24$qt%^s?ug0J|r(fGEp z8-)h>oCc)Aarws4`KktD&N0!@G1Ay^(%P}nEG-@}jnnASaOzPW?{OaOaUbQea5&8$ zFYO;!?bHa;|8SCmaa64!50cdkvU29{A#*JvA#x%mvLbiQ{#XatBH{_2VRrWK6a!-! z5--S}4XvUr7MDr#6wnss%JP`!0paBue320xzyQLHdcMbea&jlbrzgSZCw0;%gA#pu zl6=nRC`T|UNl+=7l6~ff-ttG^^rwIp2;ZoZfa>jl`b~fo&fh?2gTV4D#d3tgk}SuP zgvt^v&vJz}XocL;g;)rN-ZF(`DC2tQ;!KF-aOj5eQsiccihwAJ0uzg#=;WBFiVCwZ z!w8EOGmFN^i>9cH9`oravobC7GBFd4ux>Lsvok&OGpp|F#18Dnj*-I7G~o{J(k|{S zY3(}c|20*!lGv^_)z0p06Yp^IHY+jjZt3rQvp0K%mqbxlJY^F)@*|V&c9h{5lwn#_ z@md@s+KvqJRI=KxjREC~t}ai?xPcqAK^uG#6qcY~3V<1%h8vG&XT)(m$uVi1&phGN zV`i_PaIZe?^FHx2KlO7z`LjR$^FIOfpacMA1Ykf7v_KK`KoN8R60|`b^g$ssLM49)Iu?IK{d2MGn7F))IdEHL`5`2NpwU_v_w(#L{&6JS#(8Rv_(CXKuJ_aX*5P{ zbU;xC0wQ2Xb(BYU^hbRZNQHDriL^+K^hl93NtJX-ne<0TYDY)vNtskiOG>3wYNonx z{~vE6OYxB(^|4FA^h?DwAIa29%QQ^$5g<1$AO{jO1!-|IKng~oBR!IKrh)&4i7=YY ztj;Q}{FGbPD)MGAGi0F_3Y8XI+nmXgjT+&^l4D%jU9JqB@gY{d%HC#Vc zQpwdDBK2I+HC@$pUD>r=-Su75Rb1tDUg@=7?e$*qHDC30U-`9P{qjY@nmtyrj^Ompm-0BWK3X{mNc5T_V zZQb^5;WlpNc5dmmZteDN@iuSuc5Ah^Yoj)6wRUN%)@cQoa1Hlx5jSxacX1iFaUJ(@ zAvba%cTUA&cKR<`g6ugP_F18|IwO_=pA5>hK^&4{3Y36lQ8#r}cXe5}|8-p#b$`|h zXf_M701L3-3vf4gb$54pw|9N_cY!x}cee_vz;<7jVNr9n@dEn$Hn7*x?&rxO;x1tqDiP!ZTrKlc{XrDC0d3Wz`nBv^u9w}LJBf-yLQ zNA`3zmV-C;XsN&noS=4Xmv*zD49Y+Z%)ku9Kn&Jk4b(slURVv%;Du{=4Q@CMYFLMP zxQBiChk-bVeYk~*7=>xq3XInZj&@_ow~3wjiJ>@(rFe>|xQea#|BA6#iu*Qw%XfVN zmuUyre#JO)qc?1);2Fdr8=4ImipiL?#T1;i6;ZNt2X$JHhk+ZIUBJ^3h@g)r*n>4V zkOg^=LDqu}xq~^Ff+x5M{mLp5?iq4f>!FI-wO> z38t2z8yagJdTu`$i7{D+*FX{~;Sw&v6E@ltGU1~^I;2Hs<+yzy*jJ8TBybPr^R||dzz<@+N^`xtaG}p-TJNJ8f%4M zuIIW5%=Letb1|edP@z?sJoj^}6*RN~8r-?C3mcvjnvoT|gZ-JYBl({fd!P{+pe6Z_ z3A(ZuI=pT& zfcv|xXdxB?e82^~zyo|GZ&4&AsB)o#a;ZxVLZlVe8y?K#!;Nbli?Rqyjgug6jZtrj$65F z+P#TADHN zK^l6Y@f`1sSD_XAIwkA)b8E3$Ws(YnfC%cm&K*3@-xeMvwhv!z1`jY z-Qhjnf&Igy01Ki(4A|fjGGWn`;TNi4{{kjG-~&_wmcSQO+!r$864by9X4+*(UDqKV z$$h%3v-;I7{^Bt{<24@RuiVMG8rGe9tY_WU$(w79nyt&*ytzE$S>B3y-Q9se2!LSb zfuP6q+VPMq=aW5JEd#K}<=S!~0^L2`?Ht^Ve%#4j+xu9|9o*cPp03kf-lcx(slMv1 ze(IZ`lCeOA<=_(dT^X7{;KhE@ZNT6+J>l0t41AUdMm@~q`|ar(?tfkG5aa@#U1LeKK5mQ_Gw@Cvz}&Mm=5+`$Jrp# z$Nu*N6bqIi7!dvv(thnVw)T~O`I*1@oqy(KUh*Y>uAyK0Y5wrBKl`!kWB&V*ApDbH`lBEEW&ZuCAJ~8W-RFPm>%acxU(D}c|KT0~v)%szLWsbD z1PdBGNH7UPAqp2VbO>=F5FtP+TD-{VTd9p4S9x5;F{DV5?@F31Su3T=l`LDbMCL6b zLLvrf4y0*Qrp}!_d;0tdG^o!ePNGB+vxZJ4U&@yK7yvb@)TvafTD^)jtJbYjSp-w| zD-)eHVxmxS(nP4*wQSqE|MfYMqQHttE?PulH*ZC}dHDjt3;3_#z(@)Y{%e?U;=zjn zH%3hOaOBC7D^tE~IWy+Xnmcp;>^U^((Tp9N77aP|=ESTox3>Jcu;1B+5#PN%`}W?- zyLadIeYkgU!N3C-C!QI2UBAmKGPJ0$?!@TM8vOpyZrnj>gjK!e%h+1tI7&%sHxtHYpylU z<)W4ZiTUe6EIPL$vBg%3Cy!%%(@TBM`lnyC&`ujIntI}%MyYGS0uM}Z!3H0UaKZ{N%y7dF z+x5*arcA76|HY+P`;MD#(!y~{#z4bw$Rh6v;ZaF3)yxd@uFNur6D*^QFPX?u)>-?G ze4@X@KFo8^KK~4K&_WMQbkRym#N#u{n1Wxl8|{}Sv>2uoL9JcD!BUbp8b zpmYQhOfz4!jCR^u{m_guA+jL`7W&@&bwOZqX?L+Z8_jp$e*X=4;DQfMc&X1o1GU9z zPEBXyb3PufOV>D4cjcDoSv@J7P zMoIeo|Gz8pdTH(EpO1d}>aWlKz{x-pNGXBDPc5`h^M`Tq`tQ$w$8?ts9VQ9uL0x=fU(Jg$u%FFm(RKE6UaDyD|pa(xlxc5oRX(Z&&?()~a6!K3N z#{-}MUsyNkolF_cxZVP9I4=oEgBW4S*94Izrn^DuNioVG2#<)wBr0) zhsWIM$9L5N9t)Gl!sRKiip$d<7TbtOWMys*m-vJ-q!ETPN)k~vkVeczgoV_dOJ{Ga z|Dz{A3Cd84(tPjxLm*5!LTcS_Bq+3^{%SGEo4 zJQlG)8oG@RYm8Jh^TbIq?QKS#EJz*LvC}*$0;u;?3m2nchD!wEkz}q$r-0iM+zYE^*ig&!^Ew6dEYu)rl*SXHMNPBbi z-r>sEj?nmnegBZk5w4OXeiWpCW0}I3zGbg{6#_2Yp$>Ksvli^QsXXi{{{%g(!=|x~ zXC2ld51a;eWPl~bffKCZc;2GH8YYDv*wKy#>y)QLVDL>VECeT5JpR;-C-( zP`O;jH0Tg7BG5yiLzXQ-^^q_235j6yBG&2)E)oxlH>)0$QL=Eb`QkvA8 z^#(cU5f5{Cqp+BB0*^a44LLY9AML2PNq_SeBa$4=oT12zBR6VKF_TY~tdA!<}h8zpOep-bI(OII(_WiNEE zJKgMBx4Qc7H+J{UT!7d6-~PsT!TC+_gd1Gp2w%9v8xHY+A6()Lr+9MPJMZYam(Cnt z;`>ax(vYVVzwyJb$@$#pl#dgggXU|YO)Z2rkORWFpa(p3Ve@#l0UhQ*hRu2E>3Kv0 z(?BJKp@SNWpNp2KdLTzMR2x)B$JVu%9x9HPE|74jgA{|MHBh9-t}t3-4UDZUmq{UP zfkGu6%*I25`O%Ml%tHjzt|}hvfsch&djMxI@>K9}Ghep?*)QQ(E=zz^OQLUXZS{1?-$_hBep#FDC0FAG9?`+6Ov-Wy7Nu_GofEBs=$M zbD12>ruLAtdUj|-Un&nE2bSf2=0g>}ZHNEfn1r=>Ys&wu>|JlZ8*bd^!h7K7?Z5y3 z4}bwEfCJcn>veJN6<-^-BMBIJ4Jdi_bxQSfXZrzifzVR@Lr7M{d2Qi&M<)=d&|vYf zXq#nv1mRlppn54dbR1T69vEXZ#Z!qeV>o3FxF-<0|F>x=xM<%1d;}qUYe9SmWDS`B zFJ8uc%qLYJ;CInCWo*Y;{E&T>^#JTpTWaTh(Z+YzmTkPy4$*)NU3i7#cPK%iW)n3c zzJ*co=YVU-hHdDEL}F+515RtTRwx%}boFO(^qs8XjFgVMa5?gz5p-N1{F^= z52Ub!(kErD$PLvOg;up}atBexHf*s)3S71bQl<~_untg_iIimy+@}x4lqg?NhV2(A zL4j^Uw0KxDEFDFE8Ygc62P5w_aPmfg-w2N3|0s^*2!QFOT=AxW)AfeyI5?$L3MTiC z@d%HmWOAqUj;C~iE;T$Ww}EWohwvZ}g(zz9UMx5cLp_hh;j*rM+b<9hI;a5>?oB}NtJ9kd6Z{) z`Sl;xVl`F+Xm&MM{kRtYC=i~8Q}YlHLYI|Rmq#EQcCt^ z3V{%u!zrA_8IL8WQh$(-`p7?Gxgbtp4d0Ms0ucq;P!6*;5YSl;-{5u7GYsCqVo(PS ztuWEv18NIW7D7w956{&A$^uvpHQIu~XmT#@efa+Lp2zY?^|Hgl}S)(^L^`BDdZa~) zq(;i5JIb0*DkL#lpi`P7?nsaKSdUqXrC4f*nWu*>lvfj4Hx)`QeWES}R>M{M#(bHzf2nsVDBp<+rdZEy|{ zW-j@pIk{wf+HeAJim6kvpKTKemrzmQ^Anu(C2B}SbY^cdYH_%kf8FSswdty_3ahaS zUIwUM=$IE$+NZfHB=5rqfxri*@CU;gtn_$F#d@Xm$Y)@AhlrYTi^{0a+7mLg6h5X6 zsFZZs1Gp*blT|COh@Dz4*7uCa5V392T#ldKS$Enn%bcjc_mDz6c7p)_O- z+HfJ)3a9(YRlDV%LUA`;5-eS^ZXH*Ds5+y%xpAkOn-vF}4|{PD2eASdv8igY6FYGj z>#!B8u@85#91F4(E3y;!qSa-q>WH#Gf~)1Kr&emL_DHP9`m)N2dFS*;$ipq}8n5%p zv(Y1|Vqid(x{~y%ulbn?o2m?*x&~}SE&UR2c-**uA!}TBdw(A*t9|RYe;b=T zYJc>`BMK|E1j?&?|In-SXkVvvU-#v>k4v+J>ZNxDp_AjanH#N6aHfq^HuAX*?63}I zOGf8F588mVrt>Ivnuf=6xUUPlvAZz0lV4Dzu3V|LTDvux%eyksCx+QB_ZklLP`0G2 zK;d8y=)kYb(4XJ)pYSKQ151t6IDhlSunSwO@NvCK%Dqjhq~F`UODewL>%HMizT<1Y z>07=`3Z*M6yR!QX&7h?+JHIgNtI6uFh{~*eW(?WTyZ`GD1VkY|cCV&8y2dLy=#ac> z%S^!lL2dS};rhN4Ou-ebB;K$zfSQ$px|M|5t{k(-yxOo0;lK{{P`oibFT+c` zYFmc)LQzaxDNZZJd(6juEF(kk4H9U(xr4R2%dR0D3)v6~Wz5Jz5H?7)IVf|lYD~lQ z5Dst*FQID>?9dH#%(iyyLu4$yCn~oqT8*Z_R9yQ(5uCK%*O1i%8bnSTeF2~$lLNUjatoFT-34m8XT=%BWn>N%YXH%7s_D5A%}4A1e*$Jvm<8Z3do!zR(JwRS?y zCR{QT!Z|B^uiLN<<7^N1Ko8{{4%$!+)8Nn#4bc%T(GyM46>ZTM{m?Aj4dYA?2VKqt zjk1hK$jbnzy0gLg1>JbvmD#{G+1l`)Ho;)Wa^O8wpw^*!L8Uppd$ZCl+L{JeA?z`U}^$ghn)K)yRLB6=YO5}XdrAV!E-w>tA3(!k*`^9%PP7H|_cA`YsGx8rT@=2Mysfh;Y;xe@ayk9Tfz zb`2ni%;$E63bF9#A3O`+KsijVxqkg8M=?E7{s~~j6oax1R4(b0PU)3y>6eb_nU3kp zKn#QO3*(jvjj{%2P~Rl7=0HKpb4$HHjLH~?s=o}=tDLYlUZcEhqp3aX5@+kXUhBP1 z>%Xq+z8>trp6kVq>&ITQ#-8lRe(THb?9E==vks+i&W_IT4e^7_itF50|7^v}?d{#p z?aQsWcBsEdZcc;#4A^bxwDh}AE(S;;2TI}HVD#w^{tLkn44W2%pd>bif9r9w8!*7V0jVCyn3KZt)l2fJ^`l+0YCB-B$N}wYW>*+=2=v zZ}OY>4Wh8_nTzOD04eXj25b=TbP(8~uJAVB=sBp8CD7#~NW@D0%L<5s)} zy;|gLf6Q+0tKX<;PPDr^D(~$azOZm{~zUtkNAnN_>0f@ zjqmu3U-%%N^h!S>SitlW-yZKw_M6Z7XSE65@D24mF~bV1r9Z6p^^TG&xq5yQfbRN# zjta66`>{V)w4cAX5Bq>_-QVyGm4NwsFF=TH7FYl&fdB5tkNnB6{L9b$&F}or-~2{F z{OUpk5&!!op6Z?*+N>UD!0qY`$jUB`y}ixbvXy zbHoIa@C@JZ4gSsTrV#G`4-kL&2qZYrU_pd@-YsOfP}W0;5hYHP6)RRnj1(UlyY|ha zw`U&(&bB-F=fuAS<~iCoH=#wD8}i-`@Ru`0qoBnqQy(ef#w14?qCf z*yN2^^W{Bq1Q*L-u%JNLX1F3#Yh zk-Zmhgmlp#@w@N89Vz2=z|$zhku(55|HBd5)8IP|-XVDejlChs8+b_6Py=n@jgKS} zD7Qk4LRO`<7zmahemUgNesq{a{_a;mIru?-1@wa-=0Ly)9x#FrEZ_nm*gy)-p@A6G z;0F89hYkASgCK0+2uWDN4|?!}fA9kfMc9X{w9teh9H9qactQ}4(1j@MLm*mM!WaI* zhb}Z>AOa!8tHAJsMr7g<1EEAyG*OCAjA9h0C`GOW!ira9VpqljmM?|{D`O;M8O?Z= zttiSN7XcNf+&HPY#1SpBKm{F3|3$~Qti_I=l4BiFk%~XU1(1UbBq2>zNKv5zk$_Yr zAr;w3MmACrkNo2#DQQVX9t#zx$mAqBIZ05W!jixer6@@mEK~wZm4_(hAy#<`R~{>t z)mm1yY%2t*)LnZCqVGMlL{W#TJe$(&}sta(jA z3<8_mkWFxEQ=8u$XEq(?O^2oPVR|6MI@M{hbyh5%55t2V>UmF*d8}pjT-nR+ znTMDGRGDl!cjy^KDax~p9&Mr%RoWev_EC@8;iFR% zDM_U!wK_y?YAH>r9ompm|2MS3r7@-H*Vq?P#IVATD*;Q^FxJz8` zZg;!h4euPN8(s67{};XFO>Z3bK;AyMSHAImZ++)bU-!;|5BHs~e)+oxKKXYKbLfMg z_6y(w_i4WgHt-$_3}6U5*iR8=aGwx7s5?zq!U}Hi9~!J+K<&Z99_H|!0u_iopt!^- z7SxGTEMgd&xWzL*afnfz5F8&w$2sP)LDcvTjJ#3El8VTsHdU!2Ukb^kiiM`;0ufU+ zxgw^b@~BXus#K`z%Bjk7sKZ{+8E(D{S`7C5o6Vm!31ivcnuS*XM)7n&+ zzYd1!N;Axy|CL5qs6Rchgc(d>4VxINDHcz7hD>B2L!99cr+CCGK5>g@9OE08c*ig9agBqV;~yt^$V)zQlczl4S`c065|;(kW#Mr8 z=JzA^?Ff6nP7JauL+yAs@1Og8=lni5--><)yvdt+oJB+Oj>o*ElUohcGhSz#7d_h= z?+ueM|K8ZHwgx$j@9XAM-__o*zO$n*4&kH2+VvL)|GB;G0&Ji9*8YaJ$4~78l=}k% z2=@gVFoPN_U z_+0c#7@eP$Gn(UCJeD>7{7-C1J9b z|7$6x3OuG{%D`(mglFnNXp$yns-}DaL2J^cd@;dpNZzZaL!lC?r7|kEF{+|^ zsy2u!KcuRuYOKZ50>!c_Li8%Ix&pykM8Il9Mtnp^j6_JBL`kefN+hhZs;W#xEUi*3 zLUb(3imb;H#mT~|EAXt!N-WSCs?kC!(E_d1DlOKEt#-i2z9cg;kUTO>X_Sx*vLgGG zBkPn=kuo--vQnusG2=2w2;YdO%#xW-Ai;Dj9Egt*~+oZ_sw<8++l1Wx08PUVD7=ZsG3 zoKEX(PV6L3?L^M)WX|pk&fi>|y^*=oDV;{xH^2Ft*O{HY5rdx7o!Y@U-GKz&`8m}I z9(hB$*>pO!xjN{H9_WdL?J=G-$R6wAy6733t`j@3GrP1iJG4u?|MZaqw`04#bDy^R zpTu(?2~D5*Svvq)AHVA#`SGp+N<0Z7JO~Or#Ur4@OHs;eJkDbv6mq>AN+BNdJk%3C z9g;m5av|Icp&-q?&GS(qy&)pH(H?>!AeucVB0k*nJttBkLRr2iq9Wz9QX?w9)3*gmvqq(>^#G=)Fj3O20dOKR1=6_@h7kn?Fm^ zBu^65{Ocq^H5RE<7F@a|0=y+!n#w`5B?`=9jaitT*^s4Km91Hv^;j*S*s)SXsp>?r;;O^yDxpoRsshBLMcPkvDxyUyK(s8T z8zkBbcN~S&3fhonGp#l~n;sIcqbY z49Yj#Gd<%or3~M4aX<%*mPKvA2HezN8W;9eG)8;hu8g#4q9(Bv%YFg1RLkF0BN$a< z7=m%jwB+Bn^xwIZ7>0SZyZqHz)60G8O9ws~|6GG$UfVUpOx9pS%$rfn$81c;jLa*n zD9JP$$}A}@bQ+#fDXy_LtI3+r3{9^2OmB0;sDT5sq2c9Go429Yaa*^yNgLK=O}ObB zya^t}2_3)LO*FXAfa8M0@f;_9VknMcDV|~~uHwo$9mYYO(LtQsL><0KPuzi>*qI&P z*&E#H9s2B@-wB@K;Tz*Yp5l4B=9!*3{?7qbgET-;?LkoKQBdz;P_lba^)a8i;~)FM zQ2NnO1maLb=ARHH(EvJ81d^Zx3Oo(6V9c3ofQ4mVf z6(XV)GUX5|WgAK%Rj#2~?ja$PA=?|F|1F);T<$$7B|hP^QY11WF9p*s%Azh+zAZ97 zD<#uFDnB!gW;z=XYIhDWqdnEibmQo6(P1-;I zd*=e=KUpHB0#v|xP8I}Q)TXr5OpU+@oIqi+Kv1Q?P|ZMOsz48PrVq3xYC2U_edtw9 zK~^;H}=8I&g*9M&Bq){OZ1I;*TQMaNn!P?W63 zD#fb}Ma@DgROBqr8m-XMTB*e>t#z&1vbx0np4!^2*m7*&+C}18+vTc8<3h&fddBH; zE@*5}<)TLIy2kR_M()za_Bz~eWZdW)M{u04#ckYkgxvl*F!!2Ab2Kn|{IEG-NDCWX z&TX*E9Y}l3FwfmE-R5nB3>1V+?uWdw7;DIhl*kvm$mMQbioEXVRtPm3UhaMrjc79P zHeQj82$)>n=S^OiTr)8Xvol+7EIYF=i*NWoGoD7-$`Sa5ws={B(=6YwNL9`Rok?+1T_)| zU=UvzS4(lbv>3Y7)rSe0k?E&fD;WtkX_gsGfkHyVyx=A@wq*<9WBYL|+?i*?LZp!z zXp^>}Mpu}s8qRFttid)HPU_KY130j98YVY&OSg0zH@AtmE&w>WIXB>$xAwd@!>Kpj zWI4mp0@Fb`I2SoNKe;(qxjK(?I?r=E*K<7Ib3gBMK!5X=!#5^|x$(SDdn28j%egYx zx!3WzGyu9tug{^gIpR6Gq^q~3J2(D>I^|g&s%xG*cAl*B9z8an=kmJqIlDn7WC~@U z3T+>_yU@HtAHOrN|Mj`MSNG7pD^U^s(EBk_7cC&bYrMe=_6lM=VpkwzmpsT@M^Of$ z%A-8kBcaG^y$!;>99q2IK3`rwC^cp+6{1}hqKwpvFimD>ehWE0c!Xb5xJdYf_hvj@Bt3n2Y>rboO$BqF zzf0OAbk-z8ZD(9ER8U&fMQv1(uT+yyRH>Z6sYF1Pe?V%Hz<$P-f2Kf!u6b(_)lkhB zQ{DL#OjTH&=x~x~Yx<^qA$o8kr&+z#i?P*Ub@8Tu`e7|rsW(<1)F%sWR;7dDsj*l4u}@c`W^%VT>NSLFo1)jcuUEUzd%e$ltLE3H z+E+d7Lw(iifR!qyJy@_3D?e1kgcVtfeSF7{e8``C$*+9MzkJKje9Yf`&F_59|9sC6 zeb9f{opso*n%JKeTGi(&pcPs|Jldw6tV8Uos3KaYn*FKmD$^oF(VE(;wc4wdtgQX4 ztrdgbAKSD={^v4&<6r)?b$$nB+p7UCy4CEtm0Rhu+vv~RyxrTt{ae2+T=DNl>Ka`3 zD*yBMF2*HC$7M(UvRrnAM{{Jy2+Lf~C9vP-$NCptdo)M{`)z>OGiMLMf(8xt*~8}` zLxO?$|2$l{upvW;d@f?lsBojijRYrBJos)T$&s>Rp*)!~*2$JEU&@Lpb7rcVHe;p2 z=~AZ6o;78ql0|D4(V|9=B279=RZ^x#ojzp>RTb5uRIe_*ssu3o=_4SV&}DXL`2 zsydtYEZeqc6}^p17B1ODZtu2DWcQR_zGwIL<*Rov;lg?e4Mv=ZkYdJ+4>v~aIFTX7 zhALmioOv_n&YnMS)^k~pXws!gXBKS;wQAIWNCN_7C^l_Cd1B|eeY-YqK$>D}`i&8?2 zkwZ#Si6or-7zu(5a#Ep_QBKlHCzDLFA17B<*$IAFTKQ!qlZ;u3nOKr}rkQJ2a)}(3 z$nmC|ab8j5$UCvddg|2nTC34si2yQ>ZYo48px)fX5wllfBb=IAhOcx$E~~4`bRIj{|53$ zAiezh>#oESn@KOdx+<$5wE`P#u(cWstgyZg8||&gW?SvH$a4FuDaV2ft|`5kGOj6o zsH?5J(%vd;x`DJi?ydH|n=h~>l@tpq{sR0jN&@@a5-O=2oG`)*E8MWZs3`1{O{jEL zR7|uCrIf}}9fcKAQ&|-Fh}?GLO^6&g$diy;{-+}|KN8pAFj`-nz|Ff3bYOA4! zhiQ^ao?GR4P;MLMfZ%~S=6ZA4=hV$>a0loFrV}HH%Z9tDk^=+WRJsjb; z5eXXON79A)XsE9~8t=o=KKt``LBIX=WN1yY#A%!%oPb73mA2n3MKJ<}8B;){x_|O3kL`)(biUW8RbBSHqOBfdq^V}{Q$>3^kEKpG-E=@ z*hf9$QICS`10e@F2R{TdkA5IzAOk^2MiSDIkKBVJB}qt#^r4cOyj3PKxvNfAl9LaK z)+XK6hd-1OSfyMguRiI@c)c=Tsl=Bl@0Bf6@Szl<~7K8c|p$6TH zUj*|{y<9XAtr*Nk4dc;|f^;y3(91A}K~j?%qNJA@MrK$FnwP>frZRo0Y-S^y-u%Wl znlMCgdg{}k0yU^Y9V$_U>YU^>2RYEOj&wSaoIOExPj`qaRrf@RI$6mRo$!QKw`!%Y zf;FsSwbGV4!HKh?HLX#y(t)OQpiOY%L2{idUF&MsyW%ykdfh8u`|8)f0yeOM9V}t{ zde#S>)k$zo?350x*0cTyvP|NHna)}X%3c<;mnAD&IopX!aMny)6>TNBx+boAqOz$q z6KYx8TGYaJPpGXESD{*4+D3}Dp2%&acFU+o)rq&k|Mk=*P@CJ``qsCeS}t>&>)cFy zg1OO+?sKavUFP-zx}NIACw@g;Vs-ac$^sX;!d0$foj1MeU2nFAm0tI*H@>~_g?x!c z-}{!UyyZIAEl>GKedX&~l@wMc3+zZ#){9;W9@jUX`3;0Y48jSEFvKQoVF_2bVcX2` z!Jv`~lPM)*<{YueI%Z;!F{Pd7G|D^SnNN7Oc%Ctar^@gtPo1SDpaTtPj_c{;9|Jj_ z0A1$*gFt-0kawI2BePSZ0M+P`J-Si8bd<>$4JnliGg7^b6s43&gqBsx(l4j9rDC2b znali{onB_AYUU}Md&<+I!a2@z9;$PCT4&|hIjP7=D*v93X?kd;4X-E1T(u?e%TRZINwbSL1tiAb0l)p1qzsZ;Ih zRlmB`u%5N7Yt8Cg#~RnP*0rs3?dx6ty4S!Swy=xM>thES*~C`1v6F4;Qp4KQs3!F$ zHv4I`R$@O%TGF;D>j_D8LK3S@Qe`(w*)4Ix6I+TzS1Ie&)I$2RkY4R*;a%E$zqYid zg)O}K&F?+^_7aa0E^`IGT!AB;xW6Sh!xet;=E{n>5udnov%B18Njz5D)wrvon_X9V zS6Lbl`Ny;MiDAWxSltQ)eZ$4_^9G{3^_@A*YyY0#U$vaQe=r5M*5%4f76c><`Q=3d zu@R#$WS9g|x<{HW^q?060Olx(IRG$|tH)%UTK`E6Ydfz+W`|fvo{u7{q2RxC79QYy+gPkQ^JmVYhc$0D& z@{gZ9qPS)BGr`qR_&fN(hwbqB9g3}@_V}Jq{_oSRZcc>ate{Bi^r_DYP*nf1+TT9+ zyYKz)gFpP@A3yoaZ~pV6KmFU!zVxM^{r~8r75njzzbC4XeXc^E_{ER@^FuLw|0f>+ zF5mtwU-Idn0R~_I{vQD@paLRSC}aWzMxX>{f++YOb5Wpm`JV)Of(1&TDA?Wy+McI? zU36h}gjUWm}iZA$r309yAo}ei7!V3BV2qw!7=9~-S*L?9HvixAn@nFvRpbG+_ z5$+%o9^nrzVGkCe5jNp`fy)pop?y)I6JDVcK4BI@;e8PyvIy9E;whqHDym{5W&<=R zgSo`ZvaHK6(V{Wg;xR2#E;5rZ?Liv)qAyNUHvz>kc3mCHp-pT>Qj8rm^x-p%0w^p( z5hTDgQe!n*<27PqHfrNGa$`4o<2Qn1IErI78h`;zV>zB@?$^xV?PeS02qKk4x~T^BtZsbK_28nGGs$KMaL`vjDQe;J1 zfD5h2bdq*BJ5v8KP1j@WCUc(!2cPFLGE_S|x?S;lW7E zRd!g)jLa;U9UnTwB8+2Mn&nxdWm=Y{IVQk5w&h!zV_d=|I;vw^>f~MGWnSv#Uh<`0 zs^mKwq)7(mU@9a@8s=dlW@0MlVlrl9I_6_S=0z4}OC}^oPUdA2W@ZZJX0D`41|~qx zq)hhZXp*KrE`l?7LpJ;Zy4Z_>ZA3y0Q_?}*N6e2i~woEb}g)x97 zACAHTsO51YXL2g%a&{v++NE8VW^_vDbW&$^;w3^-W=t~VWJYFpdgph7XLyR|cy^~? zy5vcUW_qq;Nxo!fvj3!Y!e@NSCq7ERD11XU_<~US!nyDlQ$pn#23RW{-HfQ52tmwG93ZYW)fX^@g>nVM;cVyBIw$fHy#c7XFGDCS{^FB~&u%e*&14X63>h zD1v5K9I8xFWdFl6Ou(0NYNvv!hSDWmifUYrX`q_wsiLZn=ILg#shqm%tHNrm$|`u; zXk~6>t!iejvg)d?r$2rsucqp$O29K@1F_JGf5B!k(Pl?1t8Fr?E#_u{R_U~c1yU44 zHY9_mYU{RcD~F~dsRnDfitD(>W12eTOxo(Ks_VM4YrD27oxlUqC#qgNm!&R=z=0>%0NXnI0Ls*Y{fPwhMuE_j_R0t zXuf*v$BJl);;Fe#WQw}$$)aq^sw}N;XT6$ijp`|%ifm}kY_I0zkKQZDhNv?XtG761 zlJdbE$p7Y(ChI~ZL`NWPFG?%5GA+wg1uZ~>HyEeIQf<|urE}_R)@m)Pl5E$m?AL;A z*otk*>gjp9ERSxd%$lvA;_TMCEnX^sH#~z8Dp)UIN*^pz-ZtvqHfk%uQoKkhr3x+` zHVlVp1y~xxH;jPQGH$1aDTm5sU4m=JzHQ}NEu;OVw+Ux3G?sS&GH@u>;03B`Gu5I4#L5(qB(4-R?(rh; z#b)U1GH>(VrPpd_Nrvw9Qg8LfXxZNA+Gg&0((8G;?)Exw_~zpxd;{IKCLsxIt^~rf zu>WtZxNrNO(%qucA_Xsl+AqYY!u?W={^l?KCQSZ%%q&2|GbC>TSEzG-Bi6bj<%(|u zJ230EYV=y~1XFMY%W0kFDcN?foq8|$KCt*cLy@A(wHWPdns7oO5(?wd9;7e}Zv-Nh z@InNy@KUQ$kli;(qXFx1)jlo*fA9|jv1oSfn!ctFAjzCI%~VpPupu!@w0E z>VUm(FS9SF+%2cz?J#fgFxPKY_OIcVF~THsh9z@Xz@0I8Lnu?TH->7)UZc0(@hx+6 zpn9+^b7s0eWD&b^Ih*r2<7j7UaQ4=#_R=gke{)UZY&>_fJ9Lw>sX>ej|H9IspienEyCmz>xMT0DMmMuA>^G0)Y=bA1p=PZiK zEZfqvMeA%b6spSI3KtKv7xS$z`*Pr}@l2<&(EzY2yxlh}!9zRlaZ0ou*Z*-ToAgkR zD<7L~My|IE=!zfM?fU}rVIy`h zD|RslFB;=a8s7|LpYb#E@BJQb+7a+t@9-RBtToT&DF1b6rz%~y>|LAoX^$;Pud)PJ z=1BKwNsIP~KErC#E+P>GKjYCQ{j)&xHXr=+Mf^5EU&IWTb;}S1*}bu5D>pWFHfVEf zY(w{%igWiiHELV;b(7~ukF*o>HTN!ZbbqWQ(=CDNtxNB1tzZgzAOE&YBk0k%w_~R< zDx89R)3?VI!!=~XTu24Fy6|0ry`qZb^5Hf+O^GkKFc`IAF=luP+GXu~mhL0@7( z1_1e%b9tBdxRCSZD5UiIW>R9CxiF(SF{?TKN^52N@0;(hdq?(TAFeT!IEqs(XM1+W z{x^&JdB_s+j0^gpM%~sFQlBm%5U7LpYqnHdw-4asUrNdaTR(tj{_Ra6n#)ITri#KJPO?@3wD0 zB?}+)(XMa|kM%FkOtOnO$;^VCn>e2Hw4Q$}MgMuVk0xmcI-zU(wp%0y=m4#Qd$>Eg z5S#!JGjcutLO6tjHY`KCyZgJtd%Vm0ywf|qYlFJ~!cCrl5Quxf`}??;yH4gheQBI| zyY!iJO5nox!pAp!&-cUA_rt%p$2fahPJlVYgFL9i6Ii1+xP!)XJT-1YJIF&jO!G9V zLp!Lv%C7?`b2cdh^=Ef1wOf15m#aJ)HRmcgxAT0@PyeI~{Cm)Ydk?HYX+!nVnwjsJH0hlwgFfhM!#Ny7KeoW-qkg#008V^y z^P2a8l)g940L{(lKF;hu0PimVyEKFY zHS8nSr~m#xdJo*Bm;*#Ffq(k^+0*A>!ajZc>}mMWVMK%tCn`(`0AogssyKG^_z`4C zk+X`GGCDIM-7jIs@d-?YD z`xkIv!Gj4GHhdUyV!|GpG(W6P1Hhmg(YS7`R zfz@Fdc5KpZ#JwyxxC1@LwM9WZ+D>Jt;OYxY`RC^J| z7-J0Q7^)hi3WXAN+z~buZp)3gUQ7wZAU^gm63HW#OftzmlynlxDEDA4Bay7UlA}{p z(Xu0wOcKw&o=iS;Ytz06aoE^ z&_WG86wyQ#T~se1czm?P79zZHs{b&~X-39OHQltCbHd=N1xQ5|RZ_En>?O!v{P<&4 zyj&O+ z;Mg)ivEH=8(PqV=OYEkej3h#E4IqJ)e@h-4*m1)w7? zx5ScVkV-1XSvS2YPbE<1iLZ!xWKzkUb=bql8I_`$#|W0f9T(|1;fzWpI^}&D>Zqlj zx+{7IZ41z=``w!BuD$+RU;hjw9y>A_)Dkp81Dfe(;kMl#t(#`F;(_eCE#sl$-FOQm zkmCII`_)#D3;g8mv^(5z?209}Bk+m=vrTd2ncOFqqM6)1b+lDU9DFG6wkP_|O(8l^wVE?{q|SJ(o2{jcQYDqHg5?O zZ%S}!5pl%vfOG*Q9exfeBRLRtknSLHQ1X5tQHr!6r88jg1F4a^5l6mOKw8 ztQ$4DN)Ikr!Y1^fdjA%?STFw2LKn7*RWXENK~`0e;1I-CvpSjjo`b#~LdSXfSJh5RI9# zhQq8P0Wp?P0%SRrKr*(mgYe-Ycyx#!{lJHb`0*Mj|-l_fhm%}IbyVq zRHCvSpgH9~@}UmY%p;d+9L+fC1ko;Q zc=6;Y30hEtO7H-*@rF7W+KzuXV>0H@#|1M;mtS=7MdE13MwMBPWw=8h>-a`H{NYj4 z;3FQwgxfEyLc-ZZV;}7pg*o!kjwWnDn$hSSKBzz$f2=ZkC>)FR1cE({A<273N~-vj zYNS0R^{Gys1C-`qKKEVqeIiMu`Z&VKcg7Q}VRgwQQO7!eo)xWW_0t21$JT?s6|QmZ zS^{(=51u}T3hI!DIwabdP3ZLafSC;$N!BVupv^qy;TUyH^tL^1LNfkA z*vCjtrax_rIph(K!M)vaLmbeNK9=hkP~<}& z^T3BbCOQgzKK%6LLc~Ohcdr0BDxr$8)uYJguf9Q0*A(~q9G|h7VM9d z#={>h{>MDBQPR-tBegM(2ZEsyBWrZSDkDOvW1{hoCY(~YO%SeQ=CKb2>*F7*T<|>d z@&6CK-u1{lU2r>~X;a#0Gf08ZW61=W$2|T~kZBI&l+3wRH@|tSS^bXup7mZk-v?<- z%jXnZmtQ~s`HBk9$e3=-lA9ooC^tqOQ62?8M$s6%I>R5;ZbC1cplN8!V?DI2BjYzY_ip&8zAhyPz_ z10@>rV?5`WZ%ni?(a>u?7#~$Waz2vG>>Ve0A3z<2&6D1QA$!9gjIeqy z4@)A0cZH}zDo9hw{#2@--APkTJKCR0$U?sTBk{X8zUiJcdQy?#dDlDCIEf;+J{<6Y z2YkdwgmrCOI37gS2Nh_V;0@Q-J=-pDUYnc`lgCCyD@ysMIKGUQv%2TD)@(}gu@BEV z6f`x>#y?8DjBL0AAOCo{jEKIO5)n5h$!5A^m~Gc2>%$wPK=3@?A&-1CVgJ#zox*S{ zOW<%zH&xZm?)0@=eeT}Ms_a9S_KO%SU?po;?-oCF);ssQ+kLEhJ_=b2*yp{!AO3v* zlRyPufBQQ;(IcX5k{h#sXfJ-VEUdPo!5_ZCA0Evy7$E>pPDR#2)MDft#33{~ucktS zwnAg|Brx^jq0~$&=9b}<;$ikgLmc)2)nG)}f^0`%4fz(YF-GAZ4llP}Fv@n!w~Va` z^uZkVq3a&Q`1lVtz^pd{fgbq+LQkLLD4AA(829`O)WAnp5!YmWY4V5fcpEe_)(2yFd@zCgsHcn|WU<|=3iweGB9}tY=C@tE$ zjtZ0s!GOlG>O!(&Bpbx>=RhMHN-rOrtg{#_9ZB!OeopjcjS-hY9P}X^6YRCLA+|=O z9Ud&hK%p@b5+8eTxRxoyfNv90Ngv+f_%e+Sn*iBRNe3NEoBssj6HK9wo(dtHZ}-lQYpG{&!CYgi;_Y3tBkBsDVGwV z0>&Kp>M=C#@;L1=p7QcyL#QBY04^$17>YEqK^=PRD>q8$Xe}&9!#zX;8rC7`GNl_> zsw!NHHW=^l977zgGUFKPG5!i7KXJkyV_MvhHnK7-<|q(8fe3LiySA&ly6a@bFBlae zGR5!R)aks`tEf8bp%ZoJ1yT((KYS4%U<=+cYMR6HaULyZ@xqPPqzCds18$K^}UvA0F&a^PwMp z;*m%JM-LTIO|KnNpflrZKjr~Zb+jtv0a526YT5x&iPT6pwczIOEfg*(n^aUs6+?i> zOLv5NzAi0{$4Xmu8I~t2pyyP_hI+(pZxT~6YvnkuuQ9!=&F&PDC{tJ|Gkx^*O-Mmd z|5P1dAOVI3N7uwnu|M3eDj*d{C3R8{)l#G89S&7fIaOVc z)Kf{-UElRyo^)16Lsh7 zCrje1=pzMg6h}cP0o0)%@*!y^z^;ZO9{;M$oO)Fq!5CS@g8 zkK-{f)M_(S-m+Fh+YLjB$elK`K3;Z6U*bl0hQ5a4GXn%t^I;2DwjZo@B^DuB2eowq zZYxkWM^%03_fW7-1^7R~$s3ZvmHnQL|k$&t^l_aQByg2OvZ) zmogUjQ?a5&BKL!6#4B|2_ZVg*$oH5ObEHDg^ucoHj^4Jv}PM~y34g_sc{3`hB4ZvD1?%h*r) z7md?+F&4ONt_IX%DKk97fd7$)HC%&@Wy3ZcxJ(5?U_p1P3N~aCR*)~^bb6k3^wUw~qpSZv$D0K~Q* zz&MOM09mz_qtMliubC_KcQw_Rn|0O$MC6XA6lkSUDm>$O<~U)bp^n3%OYc}R#x#Yv zDKVp#p8eRKB{&yz1rhf75cU}n+|8dA0TBe6pa;&*Z^KQ8g6-`Z@FbV08-J@lS__bpE;y~*#M%! zPy1ntDYjf~`cS8MnGK+#E%k{Hl?Pw=31S*Oo7tMN8Jh*So1Yr0;rgv>a<1drbg6`g^4gFS zY5Wu!VjCJMoOy(SLTuwB1yXsV-PY1Zc&`$mqqWszLDq@pmTgfMABu^3Ss7j10X&cT zq%#|+J$j~P`YB?19=w5wp~AF7J7Z6}qBXUm^Fab$HXp>nqwjNmnOe6I?q>6Mo1+@I znUrUbwg*( zR8Lh1hG)HuDa8`D;T*!D8@53kuEEnk9n?cz)JL7vNnIPZfw|9N8!Q1qIDl?0mj^gN zK@zl^j>DdB9oO-hYAyJ@3!0$cZJ-gkpNIXQ(OaRR9I)3fruAV=(nZ5ednI0bTb3A6 zr`XGfGAe|3D)1Yp4L}@{mE>MnQagvf^+A0>+W>C*q~)B!JKUBH02CG+6jrz$92~=8 z_Rk$$(1(=J0e8d|9pKaW01|)$NMHjtfC3I);SWCH7vA9?9^w@~12CX4v_>l0!V8Y! z)c?1E<2&BtKOW>mUgSq!8;-#X5Dq~wAOj+vok#iz1M+#$rHI17Wqw_86TdYB`~&HPB^10+FIhl8;W4#MAorAT4?TPwE3ZR zUie2PAeHyQz%!dqNdXkpfyxfmr4if!=5~tNy`)7}!4I{8Ki~61pYu;< zyi4EoOW)UpUNYSceO@NY(H2ErLMITlretCh;z5jI02C1WCuo}|5KJZvzyp#MC;w18 zjMV{^-B&7l`9NRWz>WV;%btiy!BFwR2ypmNXBpk$o0s?202U#YnO(DKx`w+Q?)!cx z7{Sk}_@;T--YcI||9x;1pZ@C~F)V)Z-y;@`rape+%+a{VPscrUKF--QvLwlqCR6SKz_KOFQ;J~9j7f9mshc+u>DgMp2oxc=A3k|~^HDX6FPZ^$cnuV}+izY61EBiOGyf28sycOj z)d?&cRo#<$P~Qmz4K<%U#`^N9lQ-3z;eqYi=3{$y6U5uNbL-yCySMM(z<&=AIAD13 zjs>sM?R2!`}7BwABWHU z{d|JPgX`bVf4@XuqEO_AA9ECF;DHDlIN*W|Hn^ZmE+KNrgc4GCh=dqks9}aZb%>Kt z#bh%IQzR;76hd#MsLniCMYYd7iy-CAJhYicia-g(vkyKk>NC%cOkoxkK8xUJ04e)O z6%{}E;1kbl1DPWiKlqr#m^=pH)8tfn89-W8?PRHBJC)@V&zDqwL;uhwfVnu2I0KQw zm};y+g->is;v)e;LiWSYk1X2R-=KsRYUrVeIyBsR=QZl+qmV`_>7qfNBYHO{y+6rMyFe!paufNtLtW7cD zZ(jF|J70o#i6L_(yv7H>hIm{X)c`NH|owgaas@x&BYY;i%Q z=BM#{qB82KrXYtb^2j8YZ1SWZCpX{9oPr9S$1KYSv&!@(hyP!x4as~n&K$>g@y{3k z=Zi0&WRl5%boi0<(n>cy2Z3}vJxA0~OHK9EbL`5JuUsS2wXYLeXd#CedUz9v%@&j* zT+y~2ZHY^%dz9Ml0&Vx*c;~J6-o2gd_uqgAF8JVt7w%okqS{zyiqhFVoGEYgtz-Rgt63gHLOcdVY2kS8bHNeYprlMl6yelUa~+>mm= zb=8f3{LA0|c8I|q`tXN*8=wJ|BRuvr@Q6rEq7nyZKnJ?ah$@R>$9Q%<3py@i9+0@sQ_9-GJXmec*=T~O3?-twXcO@m}on7-Lw(FSx%@GVV@WE>+I!+1XTne&`sgJUbbmIyq)(0*&% zrS0gpHWXp=p7_jXqKHYrW%~1<01fCOuXsf#R?<^iwBj|fSvjLU4TKOCp+w_A!aG{@ zq8PIw(#K%@>vnr&OtS#;RErYgdh0Inl}0bHcG$AQI6G zq2B?0G#w>A3#Z~Hm=c> z8u6fkbfvWtIyRQDjBG~P2iA8!E0>pzryu`l!?OPMv!Dg05Z5zA($e*`s7UVw>LUCW6Mv+uo9MbQ{``9C^~!bIvl4yxid~6;e;yI`_Hy#G+|c zOWo>P_qz2VAYQ{$P%KstuL)Tw5CdzusYUd>b9e)-)T%*Pq5rd;@e?Z`&ssMR+xW(X9AJZY%;O$AlBd(`E)<`* zveG)Qc^y`Wc>mW>S79y=YJ{?^2#a2bZnd~vm2V4K7ori>Fuw_jCyvKV<{t7Bs6I}! zn%6usf+lXZeJ$o*iQ2K(epZ{^(`|x$%je(j3d?{-r#rhG<}w@l&^|mfn-|UKMjNk^ zl9kW9hXE}3_gjw-BBaWPa``MK`PW96fN<%ZJc ziW$Jots$a!&FkXH&vgzVStMPh3c7%{rvr@Xol#fg@cs-^XSizqiOoK5Pg+ zuBfK6w47u6Zwue~834jQ z+haT;liE6^`^7a6YmE1#`~Al9KKXQ~{`A5dzEKg5*>oP<@0d*(sNj7jwlREQ4pV#J zX%*Thw%uoOdw$_qOaJlcBwj~Bm_F!0=lPcD{`c0qoWUJt78 zI0ult4n26n#a$qV&pbh=CcW}kUyN1|nm5si$6w4bkmygp`qGyN^*1B^d1wY9i?GW) z*0HBW$m9Iy|Gq)YaTJTOa!3g5l4k>UDAs`R?a)11%e%7ab*jIrAAprpB4nVRR=%;`P!GZG-fCDHH?DrQ? zLJ<4ce*!^*CRh-gu!0KFg5)OnP#kq=g?C7Mf;fnl0$bljRL>S?*=1z1AP1FriI$j&m?#I|)Olo-e1)(Rs#iy(Ge?W)Vi@el zjLdi>*jOdZND8)yi}F&8$C!)-(GKpn3G3h(UZM`zc!V$bCIlf5>o9}vK#mBAB?IA$ zz<7*sqW_DusDHm0j1FUt(ZC2R@__Ep4%p}o3PF&Yup%Wef6_>eg+Yw#V2sEp5DvK_ zAwUr9=MeJH4j7q?5+IHlX#gQPk^&(Q@jwcokbnrWk@L`z06G!9f9((^uZa*uG7zj8C0Ih6IB1&% zfe-684-AP9?pTEcAr6yqoVGy_C7FMRA)7kcnpm=v1hE*PFc26R4_i2f_LwE%IT~<+ zfg0I`xH+8w*^&5AonA7G-;j>kXaLiq4h%^U(Ey*DpeM!|pZ_@!0V)AbQ3MPzp92Ap z;fS3E!Jz8-ju4t93u6GoiGsyB59#8IFOZze*__YGC-7+i(%GRBx`Dh%5aekpr)eCq z*)h_|hWN0Rn85TOpKx1X)Mrz3MxS@4Sd(*w@N;X52%*Sxp%|xbI;Wpm zI;xlmtmu432a8a0qV2E_)i)WW(5I8}r$yimM7Vz1>6`)~4i$+I(zu<6(GIgng#!_s z8VRVIF&Q6usW-w1YGR^Ph=KTE1ksS50^tq&vZ6Yvoy=Jf(U?Pqil}iys0lEuL?|Z& z;SPYReS>NcIa-^eN_~-9ljJBcO-K;V>5IGBs`JpBCi)ldFc0!@o3l6&A%G7>(5V99 zoYz`}+RA<%a4!kLtm3(S(O84{(5w=95SVHJe;TL`z^z#_BIGKn=b9x?aQ~_Vp{fmv zo!;ps{TU^b0X)(;i+WKUgL)h@`lm184S_fStAQNM`J?(04b73GMT!r|0i@D+94|Tm z0uz_=fE>$;4}D0M=D?&Z+p>{{9&Wa8*Z#Fc5Z{0gpdbPG(6#d5Wo3zi^DqG@`4~>IFixSH zD|#6kc^V}s5A^whTkE)9+pVEW1J8<*eQUN3(~QC>4x8YMqpBIj+W)rQYK@CZ3g)_! z2gt3g`T}Qb5b0RA-Fk$x8;xdbw*48l3bVRTIU3Z*xbqjbi{QI~>m|W^fO31a|2eOz z3$NPAFwV)hehVbW8;yG+4~C1WiCYkhs}93KtzFv=5#T8iFu8s^fQMTgiTk6Q>!Tto z4y(b8jNpqMyRsh(hj>{SBx|y&i?YW7q%J$a1Y8}qcZj6brHbfpy%%|oXjJ`!XGv4E z2v@-tT*02`Tj!IC9NfVkYH?H?j_7g2mAwy5dQ?Z2OzUsjUAS zkFAT3azcdxtCJPU#DZ*%S}eUqlEdu~y6alUCOQup0Iv$D$c)U#j~vNfjKr|Pyz}6^ zdfdd%2*py&p#@RJG&!xkS%O;($&wtt^6;TAAdko)0%M$)&RHBboR(Ou$`ZS>1K`F3 z0LN$2n{&*u0gS(9sK3m?e*Wu=DQmF>9L>^8Zroo1rJIdX)IEy8%tZHqEXq*vKl4(e8Pimh96Ay~*-Q$guj0z&U|e zxdPpKo1{?DrTe>*47|jVmGIHgt(+bkJseLR#rfN@;9DFTTO9Tqz~KAUA&ZA4dmJbG z%mO^ka2-&{CREwXZ`xI*cul2Tx-plOr5485dab3t28p_}Jz~1EWQwNY#)(tI*p-+{ zPD`h!_`#G7!XjM4t)QnVoExA(tr0WTjf#(*E&mUnjmL~2(*^Mj@M#42Km#wZFX}MR zRLq-UqAx71$sQfrXuI02Z2+Ju$oZEr1CauHi<>uM7wA{H*7>LaNv$l5)TS-dqg~qe zc-oO%%2POn`FheDSfk>(p0wSl1Ebml!P+#yw-+jmEe()FSkfJE8c;&s0%6_;@ZQWl zBm5K9FZiy)=!?!>g5`UkXs+}&ZZ3F-VCC(V!`A6L0>95Fre#+h5 zP(t9(4Zd&9%mXmpAgiO!T$hDWhi>i5BCDejKqLV?mTxVjBKrgbpxVd5+Aq-J5i5*w z-Qzw!nCcO;*Q_0qCS*4IqzeJq5JA`kq5rduU20KwaI|8ymq@fz{&hWD!AH9*P21&O z{^egT*>bvNdHRaE;S}-kFR5DG5f~1}zZ89jZ1tBSk_3$9s)INf^WcAU-jPlLB~QS@sJiI* zfah2;?DlM(XS*VVOU1gbpafCUufFEe4jWzgu2(rCihk=mX^xOy=m9#A_}J%{dg+;t zkKd4}pdF0^xCmbP=DvAhpT=ZQQ5KUP#jnJ0uq}S1HcIR%fBLU z>~N^>0sqU|`r{J+<3e6DI6K%uUUdm&c}WJrcq55pdch(u@)_J)=QF}0obo6S=1g1J zg@C86Xy&-#4t-nmq@0c{Oxjpj^P4NUIe($BO0CrT8pu5l?f~ZlQ3Pkg!V1^{*%!OG zZN@^c^Aef!GVYPeSegB4=|5kj@b_M zIPcj$fA|D}^*m2~TTiX*ZvW|%@r2p56p5#rQ`$Q~#*6|Pc`V6L zWJ&|1NTuA!a->X!61*9KxRT}~aSmw;j3{$}0TA9q7#Ny#pwa=+79oY&l+l2s13-L> zMpf%pu8gvBec>$vSO2ad$$BN5R_$80ZQZ_w8&~dJx^?Z|#hX{}UcP<({>>Y8t6-)` zaAK8%QkBCcJAH1e+M64 z{CM)^&7VhK9`jkwa|6 z@kT@tIi<&9e*eraJt2oAvPdJ3L^4SwkBrbj_LgEVK>(+uvPvtj#4<}Qx0JHW`x*o@ zE%zdW@4@yAg3PnV609sh2it56v@<0nvO-@lY|TVHL5!_WKVd@=IOzr@w9rCnoH0=x z6X~&)M6lCtNl7QAv{Fki#gxePHs!KYPd^1UR8dDIwbZ*Bd{Rs@|3Y;z2nAeK!8zp| zP@xKY!Eg>b;*f(^Uwh>c*bRpbmRMtp4fMAimu0qDXP-^9MnMo^^wH~r%rskVx8=55 zZ;NzLvvA>LDoRt&MK@h_*JanPFb69)t}x4tmqBsuCD*ciFQZd4&L;dlS^8ABWM$OEs2un!Wrhe39floy5kHj&6MoKGvYl< z{8M4WYnvG3rip`Eap|Z_#5#__ro3{?FVED?x5{R_bI(5qJ@l4aB^NNx#XZo>nR6!S z)?9ZjHuhtK9+r07Zx1?g$B%0+>KB*o@swh+#=Lmrk4HYeaVfj^Zqc8IK6>d{71O|1 z5C2Q-?Z;BZw|RX5t_-x4ybl=sSpDu-ywXHL?UPF~(JeRL9H#$a4<$}^_luP?w29TII7TuWX;$p8Il za%IG1CN-(N3x2PYX>?;KMLEhU@i0~Jn&4XImA&q@(t890pZNraL|3ZLUrm&yP#Cj8 z)MVm)_5)`9_#`61O^gu7L}oITxlCj_@|ccw z3}-?Wx=<|DaW6a!VnmflL|7J4b=nl74Ap7SBW4tDCD~x$W(UvO(QcS0g_wx!X{bm> z)1@tisY|Idj4y^!ND9DdPIbCdp7zwIKLu(~g*sHC7S*UnMQT!&y40UqivOukg=$a_ zkkhFu-~d;}YF4$nRjzi`t6v3cSj9S4vX<4XRx)c^)w));w$-g~g=<{lS|z#G)vkBN zt6i=7Rjclmt5of4Ua{&WcWLk$7`g}55Z+00h* zpDZj-PctxD(w5e=r$udQRl8c&w$`<;g>7tQJ6qb;*0!eYsgXo`Ti*8ewHP2Ra7PPV z;$lF!86Yllm7Cn+HrKe%g>H1EJ6-Bl*SgomZg#a>U9ReftJ?){c*Q$j@|M@U=S6RN z!P{N@d{@2i1ut@?yIkWgSH9J~FLd)8UHU%PzRdk^fB`&UxX>@LxZ#w7Xbvh(7BiLU%$PQE5QI4KiI>?=0NOM>IwkD_WV`_1 z*4V~3#&M2yyyMf(n8u^cX?kEhS|9V+$gLG_eBrxfCO0{}I(=?d>66vxLfOez#&VXm zyk+%T83R(D4_2$3Q!ba;%x4~NfBF00`676~PbRZ*!7Qcgxh15&q(frmIZ{3&D}OM3 zCZJ0k=xFjYvWd`GG5%T2@#K`qH0A&YNHA#@RNB&)#&o7Ny=hK&+S8u~b*M!>YEqZl z)Tc(Zr6)~-NM}IC83;0Y9PMgIOPbQD#&xbey#h<~nguK1b^ow`-Rofs8`!}dq9N0Mt8c^y>50N zJKP-j_LsT+7ct`$+~IC_zN`J~Wfwcy#pd_81Kw|D`&-!o2l%lQzHo(C8rjCy^uu>O z>`z17*uWmPq_0hD;7;`b6rH8q$aH7cQ~2l)~{alAPk)a zGf)8wSnX<9!sfJUP0zJ&v?_<-uAc0eeQKHc+}(I@hXTsyjeeQ?3s(5&%l*0bp;}$HD5%| zXa4i0&-}+uC$iSxEMy%C$?Zpy`;YX#G^wL#fO3cDY9|5E-42B+c)|Vd4@3OrKY#ky z-~RWSVwJZ zN4a=MaC^LYOv3oP$AF~BinPd!#7K-B$WSaubX3PJT*$h(v!6+Dl zm}^Oxd&HU(gcO@eewxG<^A1duK%#3uP_%?z=mlT+ghp9IRG3OvdEOUjRx>5XUg^ z0x1~FNK?olbjJgLFd`&6DY(G4#Dupb%EmO!(?reGRL#|7&DKoJ$BfL$tjx>gfXt+e zcl6942u*w>&A4>U-vrL!6wcu!PQZlCUXV<3oJ|}c%i4r6&E%WrS&Wg)6A>z$>+F+> zskuRz$?n`v@0>}Q}C&;m8k14YmTRnP@x&<3>z{FH|J+)Bu_gfOUrAow{FaKN)niDGQe z_l!@VEXrfBPyDQg6LruORnZk?(H8%8(HC{l6RidaZH8mmO5_wrFtE(n14+$vi-zO? z;0ppN00YtNg%K^$X^>GEWzr^f(kF#dCY4bdwb5X}Q8v)gAmCAU^wG8eQXwT$-bB*- zR8ka;(lbTVG*we5oziKD&?>#sEZtJuv7>v)K3M~P!-itCDl?j)l)^) zR8`egWz|-7)mMepPX&i<&<6dSh8hiqOdvTC1=j|Q!>M|u&bY%1nIhXzm|)TklO$P`%%VVv#AVvfm1WtMJp26F#6hjFM?X*dQeCC3B=Hs=hgV{ z-~lG!0yf|SM&JZCU=d*826o^FhTsU6;0bPE5C8!Nw%`ob;0@MbVg)wh zBSzvRR$>4af&OjcCw>7arr-<4U=g_BE4Jb+#^Np3;x67|3%2474&gBd0WuC@3BUjm zkbnlbfGQx}Z8+Uus91AM-Y;Vda^(PE6JJc2VQZ*e^nC#u0OIz2UmdRB^+n_#4&p_A z0U{3KC5GfkmSjk7V*ZulD8}R|u3#_bWG?pPP6lHRHsdlTZf=4N(g45nfZ zmgWsMt_uISfD2#*QTT>)0Eal9V<=c*VXURXAi3%s9PC7A#7UO#WM}b|NfgW86LX}R z(*u{ix$gam7sdf7kX-uoV{-V06`%nlc!DEX0wh?1gjVQ>!i^c&P*k~KzXpaWzkQV8YCh3wk>5-NJkWT59wgHxQX&HzCn3m}nplO(<>6^ys zoYv``rfC?sX`lA#6o`TRO#v7v>Z3O5q(15tSZbzr>ZgY4sFv!dE`btY>Z&Gz6)1rf z2!Rf`fH5H9Zr0Y+4Ff2^fwC26h0teymR*0|WoV#*BCvrYKxl++=(~34iPme0#^}D* z=#T&Q=#D<=!6xj&_UM#8?3Pw+mtO3dp6QzA>ByGspQh}f9%`k=Y@}{#qn_%{_Ux#( z>Z>jR4oHCzu;LDg07eMhT5SelNL_yQJ;rt2&eS}D?FC_I24y7&Z7_ouAm}HkYrGcj zy(aF5_UpdhXu%e2!)EU0PVB^H?C5svn7(P7p6u(+X`k-tp^gEeChE)vZ>Q$$&nEBA z4($}E>J=#M7bs&0Xl25+hSq*c;L0-|p?U?C;j>@Mh}qF7FSg>d?k&t$qRITIFqqWBLE~ z*0VNS`(9q;Ta8OtK0u{$LA7x}{X`u1(;WZAH9*8g1aj&{u|h~OA~*6P2fy+AEJ#J$ zILrVT2E|?=25G2Va2RBRmI5YV0x6h+F8A^;2lFOq0xeI1GEV{|K=U+Lb2JA6AYgMh zM}jtg^ERjRI=AyWFL2`Kfj#H*KKJuK=W_-Zbdjd%8mIva$L;LvCIEsY_;oiI_BbbYVV83{kMm={b2|S4AZYeycXnt00UrN=Xll3i zX~*_!2XsKU0Uqe~Z})a@AM}!D=@_s9b8mrjw}EtL^h1woNB9y50T>8@5byvIXaGjA*025a#09o(t7Xo_ z06p$!x82%Jc!3(g@*&W2DY*5N&-Gnzf?f}HU@!KVH};uN_L*OHXvcYJr}l@|_H6h0 zZU1v{7kY6Yca&Cab4Pb|XZLq^_j-4Fdw+UJ*LQxmG<@eYgD?23H+Y0s_^S2*hwthN zhyZ9f2RQb0vXkQA zpz9xC|0DPT0EhqikN^6ge;&C1Bf$Ut*MI%D=pz6K8$1LO9BAVp!h{MJGE`W@#>0pZ zA=Zdd@uJ0y7-MAQ=<(x67%@bWgi+EY%9JQsm@H8ugoq1_$Z7wZcFY%>Fi=>K$dEyS z0s}$~0QE_N1(Yysd>xyn4cs|SMUE_)!i35ctXijV?dr8FldxjPk}bPLED|PZ*DgWQ z_O08vNaoV5YxnLEBzgBD`Jwm7k0XKu69#NJFb~6t7aw8F_BM4LQja z!NU?#Fp(XKUvanMSl)#PUR>nCbsmj%rKeY4e+9-~VLi?#pJVjdH(7rC8Hw3M{sFjT zM@(%{kk=v(7!oz{1Z#13k2r zR%UB7xZ9qcdi)gy0ON+dTi{-g_C@8$;qa?vVJWaDKq3W2e>mwK3mT7 z&O-|=bkW-)tu*LPiw11dL<@PM7~|c+COW7zTF$*=Bn<%{J$3V#E=tx{V@P zuEH8Ct+Zb3_pX2Y>hZA63u`js%S!J!^$tlJt+m-#i>-^3uEFw!G2ZIw7jfp2H0&Hf|x_7BSUScAO0w!3&5ADkc zMFrAOFlOKtBv3l!zFm z1szd|Nn|2RoQS0tNB|n4l;IKKDcMpURo03wu56_XV;RFa&X8m_yk#zTs2N`V zaU;JJ8d%kv8g43v8gJAQ(ZTus{lHupl{{Q3EN!t*2cn z7*OBVgds3N2uU!i-ukB0ZaC_rjH}@P*GMZhdPBHUOJ35Y#qnkOG+0$Ege)#ika_ohRECw}Hv6u+%vb6Pm!V zg)NM4etWD_oeDUP0f7gDGaP1-6}@FG4xYHIo(vEovlh&Zv=$+)S5x~{vJTCxKQpUY z(YjWs(N=V74VTqSCpEajH3S)mz&FNG6JcONC%fqlhG@5;{I_KyD`i5>Tu>o+-6aREYDgsvGOI2Gs|Rs$4Q5~i7tpuHsU2%s$y(O^@|bB$^D$e+CE&Nh#*qrv zNnV4(zB9FtO`>SiB_OK5Df4fCbFea&uYBc??kRy@{;~lT1*ru(P^O#8A~k~$221>+ z8P*VP4VbWntWaSqq6D5dS(KKugi}W3v`b#*a-+Pg$1psKCIrz(xJihwKQEsPAkaM zCW*;1OZ^Mns2ZWanI;936YDNkh0b=aj;?pjojsos*yH>&u?L+a_8eNB@lkYQnk{f> zvlt=Mu5_h)X-{l}1ep2ccDGmZf)u=f5$D*3xXBI8b7L|H>UMKZr+bxKzdPRYE(^W; zY;R!;df3Ir(Xrd3PGtjJGLC*WLZYq1gHzhtm!_7(Hw|$r84(5|s6cQt4u*0s;F4w% z8`OidCQ<)*;!Sa)AJ(&OCoThEP>Aw+qP#Blv6H>*3X~M3Vrpig?3D#LsKTgZO^&HZ zft%S03sLc2)Fco!sUZG4#Jme$6B8a}DxPY=nEN(NyVy_#9IzlvZGU^*w=oW97$Gg(3@Y8yvRH-zzV_V>{A2<5yv*`G#q3S| z%ii0^;S1;^jfXtuG^hNZS&8{bto-F`D}CI48o)z_&4IN6`rAkW2P;6Xa#w%@DWv`! zG&n-tUtieRC+uzsvpxI+k9+abpIE)mY*lgCI2H$=_{6s-&IDk6ZO-x`k@F$V=kV9` zkxu^!R9}GY7H@d~Y$U@tU|i^R-}hZeZ-^iH^};b&1M9#*yV+eg?jB~5?T)_<|p=KU6eZ66zSU+JmO+KmD(8NBL8zl(`nw-g*Or4v+2_0mVMRk---sDDMp%(5W7xrY>AxcR_ zilo5Q1DP48EC30hUN5-WHav&xUD$PDSQBX2-XWFkwIF1X*i(H>dEH;)#GwBS7F=kJ zr457@R+%Nt*vw}PV141(SY=CCoz;&mpnnA!Zf)L>i9j-bUNhXr=#hY@$V*bf-BQY( zGdw~1`BYRMmQ`q1!*CbiVdZx*RqlxwS9)a)9p3MWWmyiNY1x2jsiotwrH$p+(7>f! zh7Mi&*wo;b>ENY+ZGZ^OgavXR4!{lv;O6+1AKOruVoIe|H0JCQIJ3sPqNStj9} zmwCnDX0jMr!q>}$W(%w(4nm%3{tRlSm1_QA)U>Ac!6t8sz^K*c5#DCm=w=6gAnRxo zRQ?ov0u@zum{AGARmxvhYGuYOCuV}BiX|RdlI2;>SXqkZb+)BgX2lKnE1z1>yh+aLNI+q=%A8lRX)fNf{NE==@ySiOPYNsVIxCDA$1*jE0#2 z&FCN)LLwN#Fc`uZ8l_LDfDd?qB?LorIKvU(+BTV@yt#sG=?jgVp ziT=$XMoJnldIZA}$S)3^x9yWj_|qgZk!)V#Gz5bsc!3Y7KnCPy2KXqD3aKd8K)bzL zL8=NIhJ}*;8j~)hzQtU>t<$o};=oY`mhzC2xZ}e4qDMkpm=?{L7EPHNV+TM3GXcYz z-hc{h2ydvs4FD-HKvy=PAD&{Pp6+R%!pNUCDLDmdln$zokfZ+$(a@m+B9`(TqrRiH zd?}j1gQj``r+O*|fU2lUmZ5X7q*e);9#aVvfd@ztvTkaphE3E(-PBbboXCmR(a#i46rKF* z8(<;W#i+poP#C6NQ9_Wb%>WeK)CcCyPNiRp{N~&gRaI6cajqc69A{Gr&SiBab7p3G z`Cg)SW`K5PFHz2cUMJ-}U(zVxgGQ)?iYIJj6=+|bR^KBm(KuE!>4$53s5q8HYx45DHw z*Y=Uu-XLif;MgLdw>ao(erMXQtxH@g&RWCU>O|bmt;06g-8SVH1q|O_?1t5+#@c7# zMkdrs*798D$hy;4I%lG$Y=A!QXtrz)l5OR7C)z$>fN5?%V%+EMtQ9F4rnsa5Fkzc` zLMF(M6auV9nJD(^&x_J1_kN-G!l)o1?2S&!FsPkO9c5CAN}D|eI6T1yk)U>vk{Kan z33+2HhGRN)Yn4u9EyB~u?vmvA93aIbBZ4G73hVzr6(dPbA_J$uB!Yk_2$!k34i2aQ z36Ova;K125gEn*nIcx$L!Ec_;ZyeTd9fG4P62?Q0V>$BgJ6&m_0`RT^prZy|BOb6w zCUB)P@I5*(GF@nb^(7=#aBgO>HF2=%zAp)muqoABD*f60o>Trp>L*k6z-84g;`(P; z>XCcR3|gY4MR1kxmS$@;GlQbl%#se~5-$X5Zf{v4L8+4}(kEbNpgf{2E z3~=)dSCBVGcAZ2Cofkfc^$51`CiugZ!Q(Hbb{tRgDrOMb3Z?GYX0+o zQM1(yG;hHMIjC`(t|>w*G(*So1r@oY&|GfH!(N(VIYx^(|9np2Vkfq* zu_|K=n`0YWtV%YOGKRq6+(BG6^q- zmLH(!1n-wS;A?WV2dK;TfvyVBZ5Vi<+_@*}77Y8%-uumY(=Pcs+aI1Mbv)-0@KL${ zS-In3`QvH1^BH;%3a|fnN{ylyuS*x09M>kKOFE@D<#f6E`V~3GvMx|_dPT?X$2z%2 zi~61qvL5;QsROzVs=8OPx&gjy+5R(Y&br!iHEf7@yMQk2D1h@iFHA}=^rhE3T zd;f5mjo-Lk1CSvQf{vFjk7tUju>jop0uqx05{U3YmT($ns~Yh!I-&Pu(-JMda5|1F zA!ek7uPkSKsb?>D7}p~sJF*$4fCqrUQ>-ygcmdA>?FM%+Ib=hL7^J+>@4zpl!Q&yq z_ck3ZJUZSYA!q5#L_841cZO@)M+V~~4&!}m{3APXx2v%bi+rTdK*@(Q4;XC+X`{d^ zr2V2W{>FS2o8$i#OZd${{6p;G40CA>`+UUBV;Bp)hdVbVIxv=mfFmKjyNo>3D+dQJ zQ}3w!DNcPiR((UJu!HX}%~xb_U!>RPJbaHmF#WvQ3!^=%y>qku<|5b{bKh=Il8Iw7 zo9OHOc=AQ9K}LB#=)XbekG|;7_`9DzDy#C2x^kzaFB|-V8oKt~FJ|0KG~nK6eu`Me zd^+v+r*kelfU0agi*)5!=Tv`Hc5cg6$L!@YppY#(SHHA=tFbhUn-@SqSV4jM#(qu> zB<(Y1Vx2SYhgf7WdB|$??@M`m3I9_QzkwbUU%iF}`?Up&7%a-3Wr22WTemDuw2eC#Ze6-3PL#l#m#^Lue*p&;JeY8a5Xs1O z(@P8%2gjIlAO%l`CPsbcwTOPS-kp#@;!Uc2TCc zaX)n$HLBIAP_b$iJA5p0tZCV*W&74`+_iV@M#rmndf&W-v1c!_!9(K3jiKNmp&)|- z0|Wogr#Gij4XhvbrLl4PYfCL;0`emAgz(IluDyCp@iWgyw@kJ(RtkK3Baa^KC z6?tR=i6wpv638KuDALFykxUYaBbIEE$sd+H;)f%soYG1uv7C|zEVu0P2rp-{;fUIV z%FRsNYOo>AHPuv8t2bkSQ_id6q|?qjuYw^4J^9>oPZ$6VRM0^IWg$>Q0X+c*LrZ`` z(MBPKp@bJ24M7BGDx2mPHo$d$}zbqEaAH*cnwlkSUip^);taHveuM!SVJp0V{PeQpp)Z0WC zmDEvjBb^k|6gu!uQ^z11sKgT$(lOOl>2=j!8)5ZP-&uw17f4(IE^^mhd&Sb%D-kZ1 zSTK!6c1)sZYgS^TpnY~)X)&($+H1AVw%d;p4HsNS$1PVEV6gC0SB5z z9#WNF81KzFUs-*uwbpBd!Jn`fbIxcxb4!!x_+wV63-y8q%!3i&% z@B1KJ8DtV0I>}o6HiUZ56>CdX((CgP) z^eyM4>wYfl{OU`)@k0m!nsKz5CKyY=km6G*zz`i?a*|mhbr@N9ouk-6v)zB%Z+9Bq z(S&yd{M`YEH@xC4Fk;6$)AE!D6{>ONdC`NO^)NWSaJ5By&5?`uqys+ijc-NQ_h$5s0+TGqC&2|8PhJ*?fQLYyC~!6mgqZ&W9~i;qO^{9& zbYfSi7saz|Fni459(1q>7ZHY!gyU1$2~+5<6`p7u*;s-UV2D2%(lB=X%i$YEvcr`0 zuzlyl^&+r7b;YnqIojn9B5O@XXqvL1Eo528)ZZS8lOs$s4|nPvLez|v1%l(f|RQXv#hbe`c0IMb)01?>rz}A zEtocst#+d6wz!7VxrPg$cIBz0@(LKB{>1|wD4S6&amoJ`V1R9L^DQXrb_rCj;SIz! zZgG)&+%>F04aH^dbJYM{=(-X?le2E)u=_a4VJH!n!<^=L2_jzt(+imxW-*VD1Q||* zGZ%5A4oPzw`SLI|FyX-u?+6=|%7!R>?Ci4q=oF(Q&o@@70ac!uVB#Q$!OLNe6&q<6 zyl9b&BaGyQ&DV{A5+f4_P3S_+%T)RyVZEENNDXD@KRM!Vz5=W-OYUn&AtsQ&MfC4V z%PHUp7FdD^F658NGQ9?u<-rinq9eaoVJ=?y!W+N_IZ)vK9@v=_zw z6U~ZS+~NTOA;$TAO&)8!$N%;*z(*l)ReC%XAOruo!DlH8k&EoXBTG2Rk7V+NJs=7w z6I9B94V9H2TE-qoLCX|5@q1Mq-!RK}%w?Xjeu?N4H8%~wNYwG0dlP2`kJ>ABW(%J4 z%*Z`|ug^-p&YwwG+uIWQk}SYLdDN3@^nfxx^SO_3Ng3=nLkVc-KRoU-}>n<|U@-RFv4L=1fI8%Batbw9%_FNnlPIny-v@*r}OkomOiF7umsEYqD}tic*&ns5OLvi8UB{4OS**MC&K+ zaoelhjYW5n)Xh+ez@8cWdW$RXDkR{sF`cJ>o`BD$<2POv54;nND|A$ItDrbVIh??G{?Wisn_M zeYM_SZ{W-Q81sM69N+@KdB@hyt+prpwUCOtZ8c1EFx+6bz4a~J+!Ko6;;od1bN%aK z|AuB?m-g0`W#ux2xocxv+brO=x6ymd)veKWDnfBa00_rOmt@SVA)uLsnC3M@9*I#I zuo9I=+9qzF)Q7a*qNb?G4t`M8-pl_B3tSEB>;!Zh*5L5OlUnifVtk@%oCq6@-$vyp z|H~+8{_YG2`p%5MI8E%_>;M5tf&$J?C}_^O!uvER0y}8@7^(cQ=={=8{R%^f|N>~DsOPk(HP|MpMP{_pu@OaNs*h0W&Cr!0)E2XnQ{B z$S`n=G>|a*s{QKj=#p;l(&+w9@c33x1q0~CUd#nAEr_I#tPHRQ6OcEwF9%8O0e3J0 z!*2p1%mPEG1kjHNi;%BC4+*9025e1}IH?YI?L9<^4oE3*0A~&4z_?Ipl?0KM?4#Kz zL=O%z+7z)uE+qG?ZF6{Uyng@hyiA7#>&5RfYF{3U>Ig3+s0pM%5#>rsY z&H&qlV$eynXl?;<&}!6!IPdL#DjoMKFgTFz zicSfMv8jZQRgf_gp@|clQL>(Kq@qz_=#3g-gR}BY6<6_`((3H!Bo+q_=TNJr3dI)Z ziLTDE^LA0T_-gLp@B^VB1Pd!04(k}5&K{L<@H){*oN==HQ5yfzCaN)|9*-cm(ICC? z6)i9A7*glR(H14LWIF#3w$$+_Y3mI|kMww}ZBFlP<|ep?Yq^{&x|~wFo-!(-lDX7C z4Q5Z;90YO{r1q=}_cWv!b}zhoZxX-lbh6CE9-_;X56t9<(x|YGU@+4NPzF`eDRu+S zLTxLABMb}4)Yd{d9_)%Dtk0@r$=VP*LclOGto`1P;(!n1NQ}K8LM>I0EltD4nvXT& zG6so93&qYZcMLCsgOK<#di-*F@=P#Sjl%Xq$qo}S4Pyf&paYZe?vf76WT+z264H{- zGFgniG82fdaKAXS0PFH8K^<5yO&~#PRI=-qrsdd76(tWLtwkX(51umbA%Qff8YLI^$y_RO zF^Mi1pqQao@4OL(XO<_aqTuQT!yqK zdx}yjvK=!L9!1a+D+)??WJS@98LO1!VANn_)E{Y-OTq3&4KPQ=6c$VCCL1#6&eUtv z)F;_A9gqLe1L3rEJd*F`)bFBH6Q>kUtM2f!u1~d;Mww>KzLXomR7Vr?P|H+NxrVON z6dfHk9r;PtLNDS*uk?)aDCOoERL>JCfetDm_Jp-?h^r3=XAKN-5tTJVE9Y{+5)#Ey z5=pcyQ73<(a3j1d3Tvk=QA0I+s5M^jfHpxM$kiP5$cSc;AiGcjsigr+6N<*L3^^z| zSF_csvp@d=NrfR3lvMtj)PAg0|FBhC;p;c)2*1J=3yIUlNVQbgRjr(dKE)6M6Nv)r z0u6;Q{ay`U|H8?(QzJQ29!rdk_J=$Pc3aQ$U}-`f$Tc3;bBNCM#@+9}MvZQ1b`r&fhft%>fn*#D0y%Z+N z?jQ^GQ0Zh<k^?`T!F-tc$tgQdh zGeH+xME4s>*K~7owNkgWh%~m=Q9B~FHbJmxD^*6Ww@$N{O0Q~nL$P8uC&(4-7a)!5qW^6i980yVyB}Y>ZLuK6`e;_VZ`K7CV6s=#aEA z;|~+&Z^U}oy-c?Mf>?-i=PmJTIHR^b(N%asfr>{Vip3-v%;6gtK{>HlKHvYf3cSII zm!QmW@3C=w$O_C$*`BppGeX`A*_Dg}4RpsC)ZCANGqq5m_8Y zL5b5fDVW%ap%^!uBA3142^iVHPSu<@PQvLw;%Fh9@GKl%weTldLQP&8yNqF2e} zU*-5;FEym~CF-Q~XZ%;>^z=%#?n;unABsAs9q)*uVIK6sr}4oYZo?Vg0Uz>#AMybo zkViG-NCr?l9Y{OF-^KxwDOy??C^%PDNXz?y9d8)*pD7-+H6W3#!l zaZ}BoQ2*MzJed#9e}K=oJRi)}HJoA4i5e7a*)|eA%8h&}THVKAJ%XM<$>H0Ix3AVm z9ht*|dc0w_i{N_7P#uWer{%$(!+Z@Vy^{?Cn>qV_y%RhcZ3@<$(@(Zw#hH!*@MX(+ zoTT8+Z@pQf0o9cnijxQ2uN>Fi6)Ut{9V`d}!%u5>wgU50%sClf|Fgo$mJZL>lTuH^ zFF_69;B5(B4g~&f<+g6=)^6(-4(?WN9o`WCcH#kd;sf{MJG4V51QB6ra5u!oduiLI zHTY(v9!Yu`Pr66|c&mOu9=80)7e*akz90C3udn~nD3-<6mprJC0^NPO9oQr)e7>dI z0b_>Vr;DI;C3_qn5_Qe-!71`5Dfl{}A*^K=&5aR7A9oYc8)#M@8g1KHMuFUaJb1AY zDZF7HX8zBSA{zSq%JBgdT2ba-zUIf2tyWb~PFHz%l1TAN>Pbj??RO(**QvA~cey_0 z-G1ivK^#Pi5y)PtmtZA1_Xp^H%WHmFF8|7FJ}Gn_z6-ejxk7)Z|_QNMrT|S@r7}+?A zH0e=wKKsoRN2;AZpYv?Auo0u3Pk!^-wZpg7TZ|TCwZ7!)73^7WEm*{0(N3P+x$@NZ z%U6Si-V=IR@crvIFyIp>N)RrL*l>x(j2k8sVXc2C@@rI&r zA_2z(dfBz(O*HMqhYxYgy`)b((R@>rPwgOQoej}Q_ft^u6@}E0?iooGBjGVcl{lkF zMb%hiK?#$TRKjFmee|`Ioe}%(6%SGBfYP0N02(G>Vuc+Dr-73#xS$6ei1J{B6IKYt zg&A(sO*TD9Ap{dbByp$^wblPtQKPx()?13d2}fy3#$Bphra5gwq&(kDNu)YKDrJsO z`fTUTjs5I1N_a8QMAuyLk+PnZWVzT+JGOS&C4OV-$5(%Y{pVMJZYmaMvIx?N8DJ4nC+2dqcI1|N)Y!Uhkb#~_A0JWRyUjPh;87JsWi1{tv6Ll~K)2IxRc zj7)OLCZEj25+ozR1j{bB-0~7g$V@X5Hs6eM&N?G;1kXPA`~%NNyyN2$KNx+4IyU8V z1P@238c)+rFM(@2M`-_=+)--rLmg71#1{=x*m0fIIzGw6Lk%|6Ft#~0)DS}rX1^p4 zR&d`fUfk+Pmrpc#{~ZGife$Wt;V>MIc;bp5&I00%AASN1jh6sJUEQ%H$JRM<$Vv&q`t*8ug~aT|f_I&q&5w|MCT&OYJp8@_n_ zj?WLd! zMc73hzT;GOq9Ol0aqvxQM@yd6cmOpUT+L}!LrMyfa)cIY?JQk8%GZ1n4Yk!^Yi_&S z4PW9nyuqz%?Gw+|oKd*(_+%0CYvSYVSHH>OPk)-@-{<~^Ma(3FfD)q60aXX6Y|M;- zuX7*-X*WR$R&b5G+g|?4C zhz)vRC`11tN}GogkvA6=B1fG_BO3w9iYis97G(zsE71uGeIgE>V25c+*+fr%0!SN- zf+|Rf0al`?D^wCsRnS+sJ5l^jJFi(cIz@9I`2izbER{QnEqQL5lMl;IM0e$qN zA)Ql$xM)BNfpJ6FgsDPa3LoCVCj#l1&L<7l9 z`|_qOC2A;BIVq?p7EEyxgB}>wzsosDQog6BvOz#%HfA+7Zn0v~wouN(Win!Yg?kHQh8$^B}yU-U(H% zJStpyBPrEuN016R&nK)+h@`NIJ{Yk`TelC+xlY`i5l-hjFFe={_cH+33d)jVVwBht z@PJYI3EVRK<`Qa>KS5S zg3zY<`$}yf8<{%FM2ELXq;48r==zlL$5Dy%9=qMGNfs%XKZ+9Z>Cf=gpn76yfkDUe z1aXLC6X#vRLQ_v4^Jk|9tpC+TWe=c@+TOmnmy_-@gBiWodv7&yU6gEd#cVr}d^Dw8 z&Bt7R1z6EHHu3On)Tb(pAXGLWZ#Fk7lSem|*J?KK1e6zkc4JUvfhFp2UZ3|We1v-O zCu{Ww3iqTBn{a=BQ8j-dLfH`m^@S|`=YMswdje=D5~n8>r)u1Q1cf5yy7MHcZ2v> zEc)kzKp2F(H-x@tC(t5wR98x;WHI7GF6FXH5wd9IMYVFBQ&5uBzGYX++%V) zzzAo9ayEcenQ|1*lY-U(WmmHag0y{405)oKj9p~};!^|4h(n7c1$JSJegkm020xSJ zMDzn}RFprS(@FkwMV>@DQb&A-wmQj>Xs38GsTggnm}4IIiZ&CAKqE9q13Z{EMva(>y@(SZaX})=@o<<%`*&4)|abKVfr)fnAB#$>kk2;2CXMqne;zmMqfpWBg#q*C& zvjx1ULdwx@RX}<07J|c=6lw!yMqmReXp!gxWf^%sIVlge1_RM^7oXM?>hO_^6O!LZ zl9?lp<%p7>WP}uVfWHL|85fg`Hj~o!XgB$a_c&?$xQ`~+k4In^`tWH-vI%)~WiYo1 zNAhVz5@n}$7CGc zv`Vd130()9vDtN#*h{quceYuHxoL?cc6Ta9F?+{%(gb7w)l`buL|of6Q_1Os&8Jg3 z6@5FU5=zq)I*Aj+QIsFZly{L&PPuvA31vC)eYui1i-0TQwjOq&USmO?O%V<2WsNvu z4)AqT3Om!AcaU(FH%1bBpR zxjH&Qpm(L5I~oyfs3VqK7xHop_JHpR3Z4J6xmPTb$(On zf`3C6ESQ2T2oqlw1B)OX`#=gTun0a84=Jh_;pUX@Fk@ zmoqa2OfUr7Gz18Wpf!bfLE4~GXobe1Pw_FG`Y?0b1w9=)o%moBm?r}SB_7ToNC>4> zTG@s^ffa0MqAh@;WEFe#NniGPp8_(cak8H!uwQ?Ont`aA1-44*B1^dnOAb~Ek|1Hd z`m4SwtiU>~{DO8ShO7#sn;zzg&GehVDT>1hcrf`oH|A)qh?gH1a+Jocei=t;;-PmT z4noR{Ik9e521wkQ6vYTV4~Y+Q!KmVPKIY)A@H(B?_&470kUp^w2KPSQ$T$aQKT5}R zBuS1Bw^o6MjwpqI?5Jqg>N0m(k04iV-I{Ix-ujm)R}v|QZa*-gL@^352Z9$$b3UPv z@5vAOu&?cKHzBH#7%6lextX0Aut>*i1Ur&cbg)nNQ7T!ZdU~VOii#YUMmCeJ)3&Wa zGY0Zdi(4TNOMo;#>5n`RlpNbrQ#Pd)3Uf)hlu@dkSo%kWn7K^bbM{b&?azB72 z;c9at8zidYq54omN1-;DYXdo%Z{x)XV?zpYqbfxpbZ@4alXP@-JFo?-v*vhTrrBS! zYIRq~nyfSllVEmbmj+_DyS?kXzYDzoyE}<$H+RL$cE?M+4g+F_u)Gb^o1n;I(fW7R z!~@B-d?f;fkiwwb%e~W;s64 zp825{>aYl)AQbNL7V{+-t17^)Y9Oy#0{h8_MEHAx1{&#Te63*v*4u!6g%LlRQ;GMS z-+O(MJ1XK3A7q2R-T8e7S%Tt0ehq~q?cgL+;&V?x79skAZ)i|oC5Q60qP2&gwne}o zrF(Uvz2=Cxj2>Vok1hO+h+aQm45deOFnk&{1B7afWZZE|}%%)`vWdkM^kciOkURZYQl z#Mn!y+1tH^?3~}rctJu6M3N8lAPkZtJ(b=rcvG@a1U=EMm6omCOKEVj& z_5)SRxGI#j5z4ht`q5uIjA3R2QCYTpG;3s=75pR~ZJR`5%14OvvC{#tP$bg{&fI&K;Dm9XQXOmQ$U>6ly9bf$t z@epQkBaLa6L!#>wq{~R9E3+>h)BlV~am`7jSI zxQV%~+qq2$&PxdY%k<39EWOj*1A@n+$vMc&Wypr?Q{G#Jo~C(O?6v2cuA29hHQ?1& z6$7L24s&4+Es&F#Y$e?7-QbNwWPxzLc#S9)d=SSJ| z=A|FnrRW_|Xv{V~FeFg~CS0hGAGMsuHSWQL63j=fLvbsT|)hO5Yu@ z+Oj&!uRQ>^>Io5+25|7`kq+sTKCG2atgi{I@8YY*%3;eIVj#B63e&8<3C#vD+{F3Q zBa;Muy^5|lvD?ZJB1du-4bE|a58rTZO_PO#HDz38eOG3ALGoqRVH5L!1CjY%;**m= zSDAm4lZ#M9N%UniJK6%9aKQGN1MPHri-!tpIt=TQ4qGy-&S*j%(K-g}h&$_vi_y70 z94)64?clDUkl-Ut-AWPOYlCXAb~pD_H*n+cEd6~4m6`l(bi1ay3TKv0htqSq0T|H7 zEg7``CPVH-+i^q<5j_SGm8K5y;K<(UBKZKdIf+3V%LBu{ZW-w7T8tDcKiz6G?ED@# z_f!=%U}o%7?El2CpT_e<0ThR0UGp=7UG-3_tMJ**@Hvf#9)KrW-qRQtxD^kv7f;mb zF6)=Z?ip?JC}FNPFi!-jD)9tJyY3W5mDTznm0UgHUuv1;!Snb)Bb!z5+Nf)EYqK)F zbTmC|N)Lpv+uDi#+O;cTk^sDC(7T3@_-T;%i?8^Nzxcze2h1z^kx%)P|8|#8cbEUX z&l-w-H;SlUy%U_o*?S^m9;7Q`<|kjS^~9uJ-&NbELfCPT)zNuJvG!D|-7R2x{ji4r zXlN@KnR@GydZ-6~Gprvn0$Y8t-WL@tfiCESPN(!O{nBqI4E&#k*02#Q`lN4D{|)0S z;oLx_q!3!~Z#)m%*L@gj6<+Kj`@nt-)&A?@BKi>FwsQMx*cP(?hF+57Kau=p1rR4# z2qZYr;0c5SPn1~Lkm17;5hYHfSkWTI5G68tD8bQV2oE4dh9o&b0l9G7tO>&u1_}-w zP{LpmW^G$Iaxr!w0m2hV&!0ep4kb$T2auylks|%Uqv=zpQK9m1imzWke$l9IwZTK) z)qF>Iw7c3*9S<96(~`YvPVL*b`L5zSB13JABXaxUi(#XMUb-=2v>03jFyUzbW#tWK z+~Ql=cr98azPgx2i_0v$L1w|iTv^beuf`L|)~rH?MauGpc+vH1j2b)6{z!7<$PS`V zs$}UBrc9bP$3f$P#JEr6Ka&?_-n{4!=+UK5Z|b!AR_xieV~5+_hTeSLzg`vB-Gy2g zl>5p1(Kv?He)?>=?^M3#X6!5=<6hi1g1Q&vBK?W@f;Xw!^e6Rxv z!0CoJOu)Ed1q?7aU;q$9G$6zQMtMe*P*Uu~lSnFQ@kJM7gfWsyUaav(8gs-E03Lhf zaS%O%1X9Q#^#JlnBa=LG$Re9GNOfVTXm`SY(q`c3BpXZT8p`V2HK^7^tr^+;WSSXoC!POV_uUW~vF^GV7)H-Z!h(mrktx^%r2S{fuWd zK?(g~6u_1^LOpz>Fmz$EuhM4|hZ{yKQRIo8kk z6D=NM6JM`}WI?XX=A4~HcITcm|9M-XJ11IP&?E978Krw;7r3Xpfrd`0)1*3IIkU#P zU#@Ha^Y($oHW*>v8D6_#vEa)J)2^1-Z%4qXc*lq)3j7wLi&7+NL5yo z_fy>MmS65wX7Y`t{QSy~)md82H3!;r_>Cr4A`d#S5JL_BIrNZ3{y{V`6i;}96O`bD z8Vq&^L+GW3a397)6INJWxRq2zYBf)-3p%wlk1 zg!ks54p4>?ltZ+EIq-2xx1=QoqflZzj?fo#=%pY3yb{b4WU0j#kRphUDWX17#)23m zu`JO5X0wdhnVbbkAe|{lGf~5Whd4w*cf4aptSK9gJjgaA$$$h(*OJpY%_cap!A=%= z&P1j&D2-goBdIe*vEEw#I-1qi81J< zTlyl*t3;z$QXI@8s@NEcvcRHc$w$s&5DkKc)QPK+hdDYE16j`F8!RA2Jfzo;Z%DH> z)NIf-ubIu;kR&(XWE$$kv^p5VP&qPm&JB$^9ZM#aE8a0pKH9N~BdCL)YLUVz@d3rR zL<}G5IKn2{Axm1mtcdRrU$5FBQi8gXaWHfL*0bXHRst=PjtHS?T^*Fi5OlzP=weC! zI`pCbk?4N_^aLd;aX>gI(14Sugd`eU2}o3ev5|FbWG4&R!&0zEP2y~4J^R@v;Xw~j z5@88VcqJ5e=}TeS#+ah!I;+K2cC-uXo_b=OLFG1VxlLH_erKpDc#j|X$cGZmf|eib z6Eyk2hb;RskL0RFdID8T+pfZoQ#$vEBEup__W_!D6b^CU1q*qv5?+_thd=rtMa__z zOt>0^nFc8VH0@ho{Mwa4)(in3)8)r@y-Seuf-UT>rnTDI_Bgs_u%LST;D!AzZc!1- zRBZ4A$9?ZApdg~9;NnHFoN~F05Lprb6<4ytd5^iyMeq1#_Tuy5%$Sv%akHXjWA^z> zbDx`^ej{Sd4Pbz$;S?}AUb`mQT8&?`OYm`SyIUydRvpGA?o0QgHnC(_AEz|0KD>ck ztIUnY2-X;K-D&dVnytRUrV0tYW`{2rDdY&2OWK3gZ>;3{8qW=ZZMUy~-8oK@eZEuGg+-M-Tx5<5Obf;UhJTk-}+Wl^K#~a>;7;U}j zeQ$f)8%o141T#!~+A5`1g{*b03u8D`gwL?3N423+9Zr=_evcmrt*&!JgAYc)Wx8-N zhm}JU5Aj7zG#D3*WCSDfi%UU3>IIEHOe)8@BIwz6#jAuo5E77dz`w-E1c0Fc$Z^Jt zkU}9kBWLK&c0L6<@T?>bm8waoZ!&pl$*_h&VV5Evu`ex{56YM84f>cSH2i1>VI%`g zH;-K909xij-0n=e)={Q2zsOCo*^!*)^yVNj$&h~|PI&3WkjhzS;fvZ%#4kOPO^0W8 z)IsZu`%{w;6^$?90-vz|yd~`yuflx%aw?01hU8|CLC3!rnZaPD^d1LIJmg5Af$(`W z&ZK;xpFsDz-+d!^-=^Mm>Szr06!60__`z?RaD_96;SGPd!>8Vz&F?UkX>oOBx?_6& ziOQ`-+GapgaEZFP88*po15AQIig|v;&*1 zOv4>CB$z_c9pCbuPz$x>I)bYE9uBjCtn-e0YB_m8o>b{WQ^~{C5Qiazl_!wF&~U0F zbTMLcLT0fXXsH}(F*IiDmY|s*OO%Kns|X+yvPUzWzbmpMJCiZ=z)Lej5kx~jQNthj z2JcCuc~}I5i7-|iyCtkJ;=w#5u$v_?#O1=O?%2f{^hLnIK^?>g6dOWfyg2+w#F>%3 zepoAIF{PKnu69V4V|&DAi9}}W8A|LN`N723U^L)^v`>^Y)xIY!$n{GmTuA30V1iiU2YrwS zCb}3YP=~W>hv|DhwRn{p7zK5Bhj?fQuwzC>P=_Z{hbLf0E@Df0Xa~1!tBU-OZ)k^j zPzPcfhXX~vn-=ys!iCNFSvUAFHR10?dp$8}J5oh=+Gj2WQ|+ zxY)|B1kJuU&-s9rMUYLeWDL|Ky%r!#vqa0*e9hOC&$ILf8bhYn!_Bulh$k?I?_`8% zD$w5aP1&%!;LNF=Do){h7veiZrcA!4e5a_C%IpwN8;FK>Xa`oi7;ykdxDd-4$jf%v zKDbO#xU@!#JioX4OS(GH1sTiCpigk^4&#lRPXqK!e08QY1D1 z(ixEv8L5$Nvyn(xKs=aIDy>p0#e+P+QZ3C=E)}gj(1S1i($U(te*-vyL&^+{8Zs(_-5ZEKb z^f|yAFj6eTGc2U!D5M5U6bEa=ScF4SE42&5Q@hd7O36x3;Zx6J$UzjZKvhH-n@IJs zoI#th8)F~LkwiqZ7NfyEM$G_D48BMUIyIftC0j~O>xoQVLr$d>x0x_fBem)XRn3$- zJ)JsK_0v^d)mDX>SEU(il+|RboLarr9NRHn4IM2^P>pC%U_H*(nzS`F#U^9_N_UFW zr=(NLlveGmRvry89)u6RvlDAy-P!7rnyQ~1C>!m)hqeS5Rn8dl6(fj z+O~AtSdKk|bMsho16efiSdv}9cN;BtL)m*v*^_NqmX$Ym8%imeKngrl3@kV|ZOW#s z(CSz^47DWhu+yvX*J>S6Q<;x#g-h^TTFJl+7xl|S{Yx30Q5wBDtG(L7zur_(+Q_?Y@_-Gn+Qs#NzH`uE4ZI!rTCjCaN1Dt^s?4X`icyjO56vuExM17R z{JgD8Pr9{R)V*8y%v;vY48QzOz$J*?eAq<=&cj_$l2Ba6y*YLz$EJZ$;+W9NRlW+X zOw0UPeF9zaw2FK{6{JntL}c2MYucxUT85R{sSU@fy;`g702>WS{jt~|H6as05f$+S zIOv4*P2WgRUrK0SICx)5h~G$kL4UBCx)z%Bh>E*;Y-Dbv%kS%T9*HF+J` zTE{!7R8%BEf`JZ1p~nk#zRw+1%41Xy4DHRwG;gr&%YO(tlOx!EP$z}&(|<=Q}s z7Xm{vd|6=G!L&1U$FM1wf>~BjbJhu)8>p+8-4+hTs)^wboZ$wpR2x>s-SIRxp5pYe)ot9IN`#+F+*M7CwsG`CF#f4?w3j5nmn1-fNRDI& zuAMZNM+u%sqcYxy+gCZhynf`&Bj(dTb>a^mwr+*hK8C`Jl)J&r-jAHvY7^hU8Z47U zNtskEUEXB{LIaZp$|K1GdK-kG1j=D9W*`}63>s#cCEydXz=2E3;tML_eGZ>`E zIo4AWJ>_jZ7PhKLg{|H>YS`>`4H~t%to<(*4!S{V%*OoxTCsg6%$3gVNZU`&V9`ZS zeojw=Ma}nAUB+-tf__bpsxkglCfNJig@C5nomxhn4Q)c)oEpwA_9@AQXXTV<%av2I zwP)?XXSLPm&g|#&EZAN-O@X%Cf+pyL-cQ?{FaHEw{Ca4JRoC5{Xxzn(L^jSv-i8QW z%A8%eYeuSU9_ekiRrO~(`E6ge-rsf01G%1Sxdzj^o@+48>oC=8y{6J2Ayb+)Q)ouhf}3PX zKI}@?6NH=R6s%yW^kk$4-BIRXrrzUJHnu{IBdJFJVXFQy8g3vOL!tv^btId|V&ep{3)h6!kUM@WU%s=YdGAX*F>uAMOypL`^k(P0_unW6D z&$lJr!RWQr-E!4!T^-l)0cpFx)y*li>DtZd+ofo$1qt1~xyF6m(8g$-&6M{D$%U_Vc??;u=rs(*(bh0`naY^QcXb9|!Wme7_;*-S4Hg1_u#uqG z5}ZdA++@d2swgM*I!5ABKJ{?!WXLomxF?g4jWtw-+hG+!`Nn8(K2e;))poB^2uAOQo>TBlYqmKGhJ=$(&cM!Hq_-ggI z!roZ-%^+uUA~(#QN=%{CXvz)$TRewOJ>Lq;>P^*(1aC#CiH;ja+bEwmWJuY zm+3~Q=>wPa->eNaxAd#EXpa}|oG_<&COXZBOv!w5v%RFy$L`S|U4AxwR#j=$zuT5( zeb?{L*eCPZzv-?$va64Qj6W`{n@ko;_YDC;aYsmFih)#D93jXMAOX(Z^r3 z$j91SpFgqhYFlOzNbnoK5 zd*TG$y?*_c2rPIo;lhRw9}b~-G2_M|Iza2T&6+SwVW8l^0VND3VKc*#OJ;)!64FbM zoDQlQDAA%wi2gtld-f69KWgK?t@{WM-oAPK=nZ^0)!A_aWG^bzC7AELzm{)+iCmVpH1 zgfm%Xmu0qDXP=RC6KSTQwwi=OQ3#uC7wRTkZX50<+;7407MyW5jELM-%%RBDb1OzS zU3S>PxE)*IefORJcyFPX<9a)`r(S*X(f3|p_vKe4Vg2z3pnr>XAPRv7T85csoO!m* zIMDDgp_Z(*W)u)jff?phV?tHcQz@dkoLFL!WtNO@t|gb8IF6T>ohV>Dve8K#3o_m#WLd`eZZ1cK)BI!X1J_8+s2SO7)w9y`H0B_RoE{!zO z6DaWHp$JaNFK8|70I-(@6HKteUlSL0!w{1lvBX$WT$RNdXS{I@9g{q=+;M}PvfV4Q z{IcFL!#s1&I0L?OpFRIvxY0!;&a~2tE51RKQXiNvl`~ywtk#zw#q3hfGTd;qXP*t0 z+S$J8t+w2rzHQ#C>&4f(=>8?R?1Ht+*u1yHJ7}R$Cc0>&ks2^S@WWFoN+`!u!U-Il zM4~+Z^U6=sJRH$aGJPb~Pl5*a+E34Y_NYdbhxp@@Pku({W0XfoyOz`|O24`UlT0+( z6x){fYk7qJ`|FQX|F_jfbDZ-W=p-h(>8xo@qCJ6CWJBIi#-RPPw&C`n0*QpfW|C9a1CH9Rw#(43|;(O^wz zS~Hv4+$Q)SvZ`;cDi7fNrZ~r`hjNY+ogo1r($77tkN&Jm+A=1cm%0=?heX}nYRUqS-882so6Anmqf0xvZf|?D84Cda_cwBxhAOE!Le3Q8T2GpGb)<@HkNR_t-%n1 zZNs4r(NK>e63)SjgI2S_GLS%YQH&~l7Jzw<*+o~)s)w~U~;8q*Q=cN((=8CjIVs>!m|4I^1emNZ)0>9 z+hYE%wvbZhrI-f^QvupkT@clvKUL^6bm6(@)B_$C-Dq(>n$h2Ev^gvN5sg|*^ekkjmrTn}4riV1QfW(DThz98wdscKyJ#DzE%WwY z!7W&E2ZnHm{h4BmhVFG^ylF{uoR;|;*)E4#)LSFtWJyROh*^8$okC- zg&oA%g=^RDn%A)9-E8x$=Se-oc*t`e8lYEnXHrjlNMCyPk{&(ZKKFc#rpVMAZFNas zJ<{bA=lV3w-R{EkyPp>Cmsf*I7y?k0`6TnHQO@33de%+o>cIUKT`BVO@xZ2TM@uj3jjn8B0Zx8)~{c|vOb z$eq`4-9zu5x{zMVC7z_}G0A$vTv;b8de-+|45Q zmDin#cTZ2=Yt~S{N8Im<>3}fr-1B4p9G@|hGi{SLaf&s0N~b7b0y5wNDw?HLTKPy| z`2a#50K%nZ8n1j^r^!=zWyw9=lgN==$)%skL73bBq1md}Y#eLyo>DsPw(w2SSWC=x=h}^P}9NU@P`e{W9uAnU)l$*U^ z>%^c8&S3sokPY6To$;LS0HB^JlchA%ZmGc;K*BSfL2^MtaxGVJ*GKeISiNV&;rssg;>kSmIazxYuW8Vq1V-Y0=lr)mkXh4xN!Az2qQd zageZWlz>&pjb%uVJ)R!*Sc8#>!=RO!U0%kFh337L3eJe$%Hf7!8X(mf&Sn4J0FtouiG}29Eh2@bMUf5yv~G6bc$2J=$Y-DBlt3Bi)e) zdHCawh*&_97(reiQXM3gHI+gN%_4f-I9f^gnNnqqTr-v+0YPIlRt4OtTs59WeCZM= zW+M#R7dMI`Yki|B64U?v+@mNHCtzhH{28JV8dnb5S9)bwg5_9tL85gN1fnGbP9O$u z7pECx2ZBSfM535cq8ke3P+ChhwjApJfJ?Y^;M9OF36 z#yL#}ct8e>VMD?jgJ8{EvLR%;p;Y)2WnSiRmW5@?RcCUhw}4CP_@!t9qRjNoCx&8b z21aTgqQ$+Yy2++&(q;zOqz;-<Qh}x=3O3;Uh?I7hUQ=LRbVpIV0Pmu8fGc( z+*G1sRRW#Rg+lT)*Yh-&rZA7D5NLrGs2UI`f@+EyJXbI}sDoY_rfHyC0?RRap!k^` z`KevnW!6thi*k%YJBa9rssmR4h(kNbgFBc5R+z(xj%YLtr8l(0AVq^Yq}dawgFMJX zJ4C}-tiyC=#Ii@Rs86Pii2~6sE)3~CO}7=%EO$N#UiMKb)0C5+UQxR z!#A7-nx2I>xPv^zgE}Nq{GFr|L7DW)2Nk7WC7D?DAx8Gq4nr~`PQn-uWa$ZQDGGJz z;(@6;ifQouMwzM<512!VR)sgLC|1BKR;a_Fw!=4g#jH*kj_N3nj)gk7s5(#wuc~RA z5G#)Y>Lz$cG^_)nsskhcyu~+|16-&>k}?sKiC*bRpQLJ0w^r)vwVqPRBx8K1IEJTA zVkjJGD2K9=n4lL>Y6Y;mXgf$jRWPfwGD1~+!@RabIba1Sw1YEDhYjc{+%+kQo<*Ok zC|amPkH)|zv;!l=z`^pUTOg^DPODoOs&QYNL8awC;K#(h=>o~2@KDHAAoLZ)oW z0=jGiib|+>3aFUMb5-EYT42uN?9N&sAXK0pTwu@w?a;1ITe=emf)}VgVhGNgPkQJx z77!zpLpi9!JWMUF+CbHs!zh@;j=rinbnQBbgE)*r5yitihyz-fLp*2)ih9E+RIS9u z06vVZI3Ox_L<8FY)-5Q|1wP2bU92r#io-k#cO{q8HTq%a*uW5#2`b!U5 zmStU*(?%w|x}Dp??L067Sm1*>5N?mQz>bbWG{l2Dc#P>rgFD0nw`{^ZfQ;6HLf5uK z3(SQ)cy3)R!aUT)DBwf2euLp&A!$bEHqIb*wkA}CA?`p88FH#tag`5RF0oxPmr~^KD1I)~WGrZ28$Y*NK!7}5^sFU=l0!PQ`zS*l`K_OY9*l-L0F;F5QAgPe3&N{ZM@LTY_{D@=;3inWWm zY3fbB7&$;>E%yXP7Fd`9-76X)PNwffG0QST?n!&vq0dkwmkUd38b$ApLG*VYwXR5o4kFxs*}@6tse z2k}xSFvx~t4Z2o#W?XEl_Xa#KZqDA-WX)oe+Hk)iXQ}8n$ir0tYgI^ca$7dR0dEn+ z&1iqjw(zjG&_xT3ww)|^Ug$3iFhVoqMc49$I<)Ct9Pnw*pm|F%dcWp&#^z1`&z^W% zFk=t5nFTdgYyv(kK~{8aW>N>RriJ$^wN+0y46j8CIKw=gPIc2Z%&|arv%oL|FgY zh!Y@4=%&?ig~BBsj~Dr^Qk}2eyQ-HTe=n`NL%bq&Q7>{>$b&Z|vWhKn0ow-z`C9!^j0 z;g!;;ekt#TsV+xehzy^q^4r-=0i(AALEAv3r|61=sNc3j*_K7In{HYENOKL;>gLJ# zRp%`ua5Hy+Gd?7$XEz_VK3{xjYfDlexPmM8&9wH7qR_lEcxDwu!aA4gp5o1V9r>QE z2Op489_2yU5}@=$gF;mVvJL@pQ4_Vi=BqK+z}gyL4J^9${yIg^gO19BXUD+8H~Lvn z{I7#YNarneDCs=7g@tqWlR`ANJJRU6wDh4KOj~M|6;`<~#w*jL2Z(qhqU)E@`G&UZ znBlqlrAdn0t3qc*|1Naa{&`iXgRlatQ_q7DoG)5LHK0N=pti6jvv6BPgRozED0BKJ zceOLv=fJc3MOO?t8X0SN>=nX*+1Q zIIw^^#DjO^MGfG05@(}yo__6oqw0GARY7k&%bOY+e(dLY0X=e62y|8OaD+<%Sh$0* zg2gw813t*@WoI^9)c#e+2@G65LR~&xJh=Cs@?GFJT>$F|^e<-vgtHR^2bM5+5Me@v z3mGyD@epFfhaNmkq<9fyMvWarkqfuYnlMaZpy0p(B@8D2Vb->dgT@0$Oqnxj0{L+h zXHK0udGNT|6KGJOLv0i_dK78Wr1PX09X0RB(QopM)=<~3MhvYn=8cNMXkHPmo5F52 zyEWQ8v*zM$g#lw-I~FYDslz93?%Zhd^7h3yw=Ubc1Y=B%N3dW+#fur2koY(RMT;6K zXY5b`TsM#+!Q5DZ0mFd-qe+(@FzQ*TP@XD9;-p5+8AxcN*;4+c(8_e9MsAxd@Qt(5v|xd zYpW;JF-x5fW5CC)w_w;S1`|!hrwACHQYRk0GzhXFBdci0 z$|&jp8qGo)sic!qT4|eb$VtYA`mD5XJ|K|L@&_ck{PGAee+ZMzG0i-J2Q=06DNQzi z5b#YN;G0v<0_{|433aLp(S{oEslkRA`mA9Tb7IJ<26?=Rp-@C)P_zcJv`X*^vl>j% zMoi6_2Zk8D`9{UR-s+3gyiPC`$5c-(fdy7wJ;Buo1eP(Md;G%F7s4Nu+&9uBxTaA<3AUWfVG6El5@WKf{yznv-Uwpac^mrWd z$R(frI_mVu<8ebYH>A7o#v8A^^U_=YuRU;FfT<>&`O}$op?rS5z_b7j^wD;iJ%ci2SK@FlUZHNIM_{2B9@|_SP5{SUcMA9-Ry-!Ll z*unhjryu;aZhx<1go2FH6+rFKUolw3JO)?Io!cCu?(+x!~ZI?tp*g7cugeKz)N4M0TR6g<}ia zn2l3TbeQ=ZXEqa>(qU%hnga+uY_4;k1D$!$qaOBb!#(hs**NQS1aqF#oHt45n8Jj! zp8N!deYC-WjM2JPhddr+J$W4TkXnfsKISoxc8G<597@nZ z59*DDwdgJJh{szdN-lZ-kfLi26DbTth)Ok<@NGoG2>OQQLSsQmN>q~1639u;BOu|X zIrS0{*167``Q#_uaub{6^aDB>C4c){XhYi(6+cn5E`1V*h4QHmL`~IP^Y~Dt)RGlO z+%up1q}tLtg}Z{;1)rP@=~_cNmyv4BRUG5k3Q9m%lO9B5c^z3wCo_Ry#j%BRgdsU< zuq>L^bY?ousZDUI&UU)9KSGr(oQ@hGq^!#*i8Knikm3!BUhfFAdzaA$b+n~AvgVR1#q4QuUYEzW36cqt?6t(DEuCg_Tjnu7PgR5NQT36%V6-c&Hu8`oiQaH9$ zuuzH_Vrz;{bUGIQyY2+){r30Aq8uT&2mQun+X2WL`0znekXoe7MNt_@6lz=fYFfqG zFS4e^q8+X1!c?SD6QMPqpz<0E-pV87f()gPY3`9;SvSwjvX-_?4JcSM2}z^@!x`4_ zhB>_9Gi3O~7(RnClXE!}V-Ce9Hu2*yH@V0?^P1T7jyA;;x^9vVobN&19r2h)8}2bE z@)WWS81W5IWaUsucG{Ae+#zv@0~DP~k%@x)JS&qbM6PZ_$dWK~ZHRJh|0Z zu7Ni$hBh6gt^5<^^ z8n{>1wxUmvj6)kZ*NWNomwnyfCCL(R5gyGgJ>iK+R00i>h&LK$bDKy&!Z-KUcQ5fR z%wPUn4I~DDbMR1bgC88>30L?tF_#_A&6vjEvGM4>8BUqa>^@#Pc23?IryDNYXZFJ{*fStU#5=(54ew5A#VflYY6bD!6*<3K)YxRUB=(a!5# z(0;G~$(dfT6g|CQD6g`%ZS8VcUA+WY54T?P%3L;18rUwSW3n#Jtc>>@?LXHpJoh;C z%7Xk|fJ}Oyw6b)jQ`_lzpYmF#&hlFq1nYr+IoE9!q?tdr=9V6I+0E{(jdOgvZHK#^ zL{4&0-@WN6m-?WoUiFf`+#xaVHTmWSOLWsx-FxdBCm;a{!zpfYu$TSpX-|8BQxo^q zxmzFSt=Rcpx(T_g$V{rZJa~s#&Ur6^y|NV=EzXMc=(!_56 zuw)4N)@=QPto`of{ov1O|p!)2u^YCxW^iLu9&xHK%NC5DS1~9r7F93W%gTMWf zF9DTp0STl59q=q5Z~`Zg0{u?QJ`V%&N|n5i11%%`T#0VZ?ZMJ5^-=?uD&aLGK@Et| z2#XL2k5CDdkO`0Q_Hr-x7Vh90&Jef*;)ai#D6VwGiMnvgx_YXed}?(fk9AIv@+^aoUd+2lj(osw56zG4x==m<@dy~Jof>QHJgy9h?(N#I z{}CDS5g}3U@{SU-Ee>054l{B4Hjxua5Agzv4;N1qz3>aOOAPIY3=z=`2?Pz(Fv%dX z+G?>4r|uT#A{S?HuQm}6&5bj95cMK#Z`!RAEKI~eEDb&k9nVo6(~%w5aUBH?5bz)# z=TRQ(ksbjd5AabR^N}C-Q6FOr__8VD$Ri7jFUO8Ab<{5zg>D)7XLgPT8mCP~`tAik zY0;l}_Ik_1sw@>FtASkfh%Y$7=?CS~#>Gm-|~hTLw_11{qigN=@2=8iTl|LBxY zC|7diijv8Wa^;dT21AG`!^bIY5Gq@V8)L~E)otB?uy0&LHsng)~MtOGFfQ4_3C_-KsyaLnT9`C5Hq1sGm#PowQn~c?J3*n1B282z~LpDB{k{i@qn@n zn{z8i4kBlhHuugpsq@M@6C*zpJ42I=O3%UW<{N8C^*G@!9ijIA6F>vB{|p39I{+a& z3^Y6XQ9=DN9}(0+5fqz-K_Id4Jc7Ur9Mg1mtk}d;6-zKE-%JKVR76KqMC;D(mW&0Z zZ+OHKH~-E$nX>!R5(feBd@=w7Mzb0?Lkfxo3{;{TOmjnN0@*w?B|(%#k96rm6#66y z0#}qpu`D-dvMe?74rO$uX!Lv(00e|3M`MY7dQ=#GR7#8>(}J|eh_us|4M~sGM3*#@ zBFRag6#HCMH(|5}t@Qt}v;%{}TU943%hOmN5?P_GD3`Sssgb1OvnK5@S~H>oxKtRd^-Hr=OnH@C zfz=ob5gCb90mqdkWm8$vwLP1aCNWSO>2o8XL0;(JRmmorKj8J9KBZ z@>t8&D+#t>;c#7@wOyfAVOMHXHKSTR6;$0a99aW5&@nd7ac0XPHUdWt3I`2zmS+QJ zX9EWw4Rk?;)*p#hL8A#Dn?pMS@(OQt0Z1TMgJBx9p&JOR|4fCH1U>XT`{%vPbv}Y%71vWaKmmLZ z97pvwIN=N&p?TB5dGAtsCBX>yvIwacRaaG+4DJrNw^hG4;i@SyZB?7f<7sgKZht{? zdG+FSZam|}UpE$D(KA_T6J$NtBL8km6SgB?No{{Y|8?Cqeb-kT%FcbqGh7ihZv(b| zKbBzecTQcdY-0{8;}vxQm~kB!a@Ch=$w3mpQ$F4oel=EHRkCB9v2Pz3cUx3~c^5Qq zumiq9c>h;*HF$uv0UXGI3-Kd_-#3A|Yk}$4YwcHs!;&+{c7NUV1}DIRY1j*Jz<7~Y zKU1S``cpt_j|*Tgi?_H8xOj_$_Cdo~jK?^P8?*|8Zy*WseA8DNI=BWbSA^jyek(I? zJyty(l}R5}kBui%sqPX= z*crVRkKuHWAGMER@ES2tkV*GaGvFf;S&=iC|8?2Gk>@rUB$-3w_=hbybM07@^Y~3w zw3GSxlaJUMF>wY*nIj3AB7g-P!U2_Qc$HhZYRMFK<9LLD_>wU>J#RUen{=1sw3ngu zmjOA~gqfI)Bm@pw8xolfN+OE$Q*TB!mxeHV`7#ZRFrI;Fo*^Ng)4-meaGLhHIqtxp z@t}JH8lVSSpu1Nv5mPbKSOFAZ0XTpKs(_W7!Idf2O1gDl!L^c?Z<@>1T!&aXL6+~3 zvKm_jm`j!y(RPNLp%)f+1{`+=;ICvYgc_9}b!{t{`ODITNa9_`T{hxYf-SfLww2HGd4+k+g8 zU<4nJA?Y|ap>wa#HCdSQKTz;SN?C3@i)NK&p_dor05 zwx84Tym}3pmC)XEY(3MYZSwohrvqI{c!9eYNP?|TI}DJ!JCOLNF>A4qBHi3Fz zDG`Dtbu7Jk7w1!{m%6v3Qv6mX|G355rH?zgTS6P;N4*j7HETJO`IfIkwgRu4T?1RU z^Lr!q8vu9kzoB3T6gyN!H55Q0E+wIPM?8A1S9;&M2;;2@k%Lvi_j{wmpJQCcp92ua zw`p%R15_Xg)}R-@DOt)?gkRe^-CMTdJ2PwBh*|hWMR&pn+ekJb19}_E&j$mX8YGBe zB!XZDR$v8YAP7>z$H(D4nEP%OxV>Gm$QeAS<=eKoxxSD3zMK5}rrZOjTm%kaWw1O9 zw4BSm9L!158Fns~o7>EX9L=M9w&UBu{TRaS8}xY7$t#1-r@R9cpsC|X&-uK|zZ?^G zwO0?^$AnzLt69yb8_BEN|Cir9w^8a{%V*M~Tmpg@)3aO!AS_h(QxYD*Kf9RMy_nax z;McpD3xItKhP@1mo!Ez6pP`VN7_?|dn|#X`SG~XzTz4F@VXo)nrn6e7x7sqv)s7Xt zufbAev0K6^c(*H~BZk)!Jax;vJO`-VbSFn(3$Uq1@_1_-mga%&L3TgL7pNCdu>g=WnC5sKU|mgGM8IWi93c$^j-a=`pt*kQT~#{tATbkKp)+8O+29vsdUDen zYoU3THQM5-xq+Wg{0lyqfSZ2%$;Ktd+sgtJ)3l@S7EqXNEIB+wZQr*1SDpszbyOteIy6oAsYuUbC z{Z_7Pg>+%qy?c>G#uI*X>;4^lp~AUyi*xSm30X2xqe#gm`=Ob$_0OL} zb1lui|GSOT-&3DuO&;NE*Rf|)#A{pc?)Q6r`wmXu!|)E!6yH?NlY@c-2Mi$KfCLIS z$}^#a;t3~_aH0kzXh8BH8j@7_NQIJ62uX&LsKKF!6oS}ch5(dkVu^U9sN#w&w&S&jKe@PiUBz0sAG-_WRQUhK6qhCFwc3|>uXr9e}b zS5ONr2*jnAUBX~M;$L6YQ z|Gw$!MsdzbCw+Dfhi3;q(iG00feuYY4N}SF2&S`dGm@it#Eap(+5I=%S52I?g#>CA;jtqBTp} zv(b7=t+l0+nyt3m(w648Y=$eYoaB}p+_^HPtH2gDx$A4Z7z9}0#{(P~3MV8-0!bHV zaFKEsDs#c|%Pz+ZGs|4WTr5YqnY9r6$mL1G{zJ+YUh_o80Veq>;nA|H-F! z#1h+Q7`uxd(+e9?;6TCxh)Ruv6jmQonNr#q(e>9*Rd?OkPoAxLcxkJ~cH8E`4R?BU z*Jd}kc>A@te0{4VlLU+)7x>_X`-i9k94y{=Wl2e5!{n8NZMk)rm%X{aov*ca4WPp% z`si}UR(A<^r{34<^R+%4O~~COIN>Q5Z+7yYGvB;H z&qH5VLep1oeSFvpOzZp>6AAQbcHr|*$3XTmktGNelyH!QOeUcUJ_r&PtRMy-#6b*Z zPz^dW5gzU^!V;1&MJFubi<-7|lo%HM-H$oTdQ8sUQep$V4!tVXVv8|DZGPVu!|3 z3bLqDJRydLh+#3JYLK`ZB}R{lP4w0i^Ts-eQSl{KBn~-_^rtO$@r(W$BL~WOMjjIK z960zPrLyD3?ZB~!XyKgw=-3+A+!2qnVb~sX6GcD%v5FKE0rz&LMJ{>~jQ=?R8G~R( zG(t)nH~=CgE2))BViGl<Y3+pPJM+-Op4Br(|AsKcFkslU8Sbb@ z8DIg`cDIdgKu(fj+hy7M<&bcO)c9;s-!Ts6ykH6&vutrZ{aVCdC8Mh!P}!6y;WJR)x`wVsE1Z^r$lr zLynA%6nrbdK*tUsRh2TXd`E#4IJ^?mgzn3xUAd`PbqY+i#UPkI1?nd&+MZSwRU{fU zW#5!)r`UyKS5GZmRHs_im1fm4*~q0#;a4fIFqEulC+gfwJvAsmRsKnlDIN+ zR&>43H=JsX@99;l)wHI85TqamaUw!pfY8Y}0g2PH*0pMg{{$KwB-=>D77ezo?QPWw z02caogm(z8aEBY*7QQfs{`_YR7l}hl`~qtQg&dXKh}f}!$EO9uRtt=YD#@~nvLoqZ zGhI@vbY&ny7pkO0Q+B~oj!*S(00r6S8%U+5Zi9OPJo3#i*)w0Q-)2GcHq*(yo| zdqlwthKZfbi{1?Q0y*cX@P*&2Vfk{{z6G_6ek)mG6WajA1RK+e3*6T4y0{}Sj`30} z2H`4W0377V@lAG|VE~Etn$G}5$sX~Dn%T_EXil@5|JRIW-X`tMaE`N_<;=658A21k z;HM0e%Of9=fCW-mLobL?B&3|ORiY6qudHEcsO`JG;)MX|z!fn$d) z>|#&aj>Nnurc0pdk|4EjBEVRdZ6fN%tRPVf8~{~;rD~$ES{sJWa-wHF>)7%v#(A~=-qo%A6mAAd$MmkIT@5%d)7^mwq|AsyZd>W%BIJQIkWe0`=f~?(y8aA;( z4_;7%IKR2hZO+@@`us&HJZ?Yv47KIn&0G`N$}RQ>*t#1>Di{m`m$fgrn>#`LbT z^?g*iQZbOpXzIy{F*qpXfSL+8I7%0p11KcD)#pG*mX#3|s7Jl5J#DOGg}wKC6Iko{ z26@*X-8jU7&vUQI>sh|85`qy#1Na+DZO-zB!(7Mn688wr8RnAZi?# zK@gB$K5BsbNXXaklIq@QOWhsPW~Fx<7gV7ndcucbAy<5d(E(vs6LyWNm^Q zI7mG@h*2THY(Ch7K-e3_XCERk2H&6*A1G1~I5-kWfeMgq2ZsT;vw@T6flX%vE+ANB zQ-UUlg1L4{?zVz8&?zn`Z!lPI#zuqNqIEi$gE`29KNyEXID{SG0b}rKNvL=cIDrZj zT2wWK^H+r}MSD1~f7o$*@e_3b{}^waXKw_kFio~>nWkw9NF4trb`Q9COvr~%$Z{=5 zS|!5?XYdHAHHv3oGMn%Ss5o8{J1*b?(Nczb_ZBIT0ts=A+PIC}*p1$p0v2(N;Ruc= zaE<>n0wVw`=(vvPC}o8gNbnesGEo8aSdaEt0TR$7V~`BTmt}dlgzg0e1vga$0w7YA za8N*BvUh(;@qt;U4as0r(m0LPNFLXijo+A&8aa*}S&k`ij_Fte?8uJph*|P@l7V!O zDk%XzG6n!AcF3WGni!A+|LJ7|VvyXHkb;;L%?J+A5Rp7Ek(^SItZ|Vrppi)FjU6eD z9to1_IFfNvlAVTmm!dh>bHW8&B-ElXT3j*uqB2TCz=&L<*=L9&Pz;JS z49Szosd~pTq(pigswbpHnxslvq(>U0K{}*P`lLo0cTzf~$eE-_N~A}+q+HsiUizhA z8m3}8resQ{PI?@7^(Pi441*JvIB;#9_%Q~cZ5V(!Dy5UXAPhd5okn`4W%{Rp8mNLg zsDxUmhI*)7|0<ZWiCg&;awrKL^W^nF}_1}Iak zErSNhx~wdttj!uTZYEFC`kB;+ zt_4M|&WF%ChDWz_Xp$m^W#%L13N15U!YdxSb2Jn>)L-Tf4SUshs|}&sucONbJ5jp53ZJT~x~%KEzWcectGmwoywDrH(mTET>bao1p2rZp!)v+( z|5>ug8wOUhL$AxcolCvud%ozKzSPUR*9*L)%e}^1wU0?Ml4+UtYroMtXZpLppa}?f zre`^-Tp6$c89)N^Ck5b}34?nK%`gqt@Vd+Uxe`3V6kNd;e8Cu;!5X~59NfVk{J|g` z!XiAvBn-N~`@qxC48#Bo02`J$FaxGW!2dyXeS0V~(025N3B3Re#L&PG?7IK1!oUE<0r|p-a=OiT#lUjII*AE9?89Gd#(KQReB8%=Y{E?J#A_VIZcN4T|0}UpMbFJt>9`p#03<;3j2$Bp5lsw6mOv#$eqP^J3FY3v5YX^8B%DyO?0Zf`vQ@|?l zw^abXg8K`>(8Gm04Gvrl4}8nGoXfhr%e>snzWmF;9L&Nz%*0&G#(d1kY|PcL%(N^G z&2S9FFuIsv31A=vr3*$ww%oH z9MAGR&-7f+_I%Io+|17$%}{I!?q$s@fX#3WqH?@QP z&mV2bs0*TxxgedOipZ+0KpivADlhvP?lp;%AeopO~==Wx!3Bac;z=%Tv zDu4q)Pz7Fqnu6O4zVHjMObldQ)@FUyXr0z-z1D2q)^7dQa2?mgAPi?M40c`CcAeL7 zeb;!c*K?iMfF0O^J=la@*oJ-BfE^5C-3$FJyb_25DnJ4S8z2D;&I61nSzXRv;L1AO z3t}A%h#lIZJ=&yQ+NOQlsGZuXz1pg+*uTKoH5~?CV9k(yJ0bn6SB%+OEd`sM(4GC+ ztR39KJ>0}y+{S&}i0#_2?a#7J+hEj(IqkhayGUBy+Y0U3u#DW=|GnMZ-QC_D+{)e9 z%^d`_4c%4CKv!EbTI;p!eFkC6im@2qwK(6gc#Cy=-=VCF`rV>0^a*=g)iulkEHDE& z-~&+L1znArY>?2FkO>a{;1C|+5-r_F);xHcLFz(L_F1)f01yFDUGf;2?ecrD}#R*5?H-O`t4Zbyw&N80l zO1|Vw-sDdH_P8=4hVgYQE-E zUgb6}uvxz4IPK%93*;*>14Dk`V}9gp-sgV)=YSsQO77-Y{|@IjpyfP%+jJf>VMf1? zFq!uo>1&q1{F?`#eCaB32T<*qQ;nlltz4#{!Uv|j7Be(SiN>$-mBU|{RLuIga$>%kuEVKD5*j_Lv{1yB$KIiTfWG{70~AJF;f zb1F+;F6u#n139p|%8u;D{_Wr%?&3b~`Uzw8bF+&CTaI-SU%&>)oT-kNO5kZ=Yp|F6l9;PQY5^<3Ze zUjOx6e*;u6_F^CPWbXrKpY~{v_BW9BZQu56|MqLI_GAzDZ-4iApZ7PA1ALDIZ`u_^u!M zIe`1fpZvf!#9%>mIa!~Y?j0AWDjK!ODg3>Y{-p+JQL z4m`wwL4g7c94uN~kx}DDjvYOI1Q}A~NRlN@oB|2R%`5jW0K$a{-?4*Oabm`c9XE#T_zoUTl{G;d zWl-~G&ITq<%n*9P=mnuopGKWp^=j6w|6RX^9b5Kn+O=)pMvWo2Y2Cdu_*SqWctnW@ z6f``T9N}{12gfR;d4Tw5nZ&JM$DUpLcJAH1e+M64{CM)^&7ZeUop|);?RWC*`5FCu z`t|MK$Dd!n`le3Z|A#LopY$WJKm!j%Fv0i+1S_on#wrUfwH|qdi!Ln0@InnU>0bWlO@u%nJT5>51uMIUWc(8(;jEHfQ1#SuwO zH|4ZbPd^1UR8dDIwNz72J=M60Xj+w3OT4$3*R$6PX#Wq`Qx80Ijs3J^jlSdliqTCD1MHj<#&0Uw> zcKm^rDHd(x)nrbaGnmbd1*Yp=fsJ8ZGXCcA92&qmv1 za3`$rL$^DG`)!@?rMqsshn}%UqnqZtZ@>QrJaEpK>rCQ>EVejp#TRG1amOErJaWk= zr@UmB>12yf&HLP(&$)k=S7^oVrrY1W1xGz~)mKm0aH%VYJ$Bh=r@eODZ^u3Nkk=NM z+;)ElKKOKX&KF;O`$eAL;z`Gs=ud34ly&K+r@nfJpPo3O!*%Drd+)yoKYa1WPy2G1 zH^Di5^>O~ZXZIt!TgDj!j^29v@5i6vr}w|Q|JSqj-;)wYJ^~idfCofi0u>m(wMF6) zkigIxA~?YdNw9(x|Kx%NGl-$NG0%hZYRu671-<;0(1a)Co9lF>Lc}f5g)f9*3}rY& z8dA%AYROz%WTvMb?x}}%`XO9&W+);S(TGP3TJtL7i_@XdiBGg1#h^wjDr#*kRfNg_ zYq&)&cF~Jp1S9QuMF)V;al2#&UJ=gKt#g2%88+I@ZyS1i{{tD7HN-hS86I z1Y{ruIY@8aFlOsRP?TBX9Pc}vv!wDOPxB$ zIc9F|b3sdD|18}{FG-2;6OznjHnr)Th*1qnH_>7^bD~9KmeZW)L}xn3Hb&o_FQ= zUUrk0gM*qURXS9n7S*UUG$i`&)I+8&)u}ps>dekCL`PQDs)>PQ(K1RfMu@|!;_yZa zG(!rn7NH>CP{$$!0t#`Ef*{cl2Pg(20k3X`6y{imI-)UFyy{f~1`&rk)?p603WTg* zMeGZB|EjRVUD8RN1ZN+uh{dB;*0Pty>;lJFA$OsXjh^kS8Eb0Oy5aMA`^=Fz@UdFf zs>2}iSgkn<;tqW5)d1?ihieC74t&UCAh>mhK|&A@)~;3_n;6J&i;ItWxK$uDfNgQb zArRayceT!4Z1sM+q$YVYv)=`8c*R@3Ii1g;=cSn&WhpwwK(oE?4HVu!!Njc&Ottaw zYIVOskVP=Jx3jG+b#q$~*vgg>t1T=+a61okY~mZR^{s#z%!qFgH^R4Nt~WMOU9%om zwe$F@VzWyy{`pd*RV3+&C0o+*w%EllhOx+4I#U|Mw8mT*Eotv%+MFUxwe8sLe}k-! z|9Rj;!~&tMZE>sHfkb1qG@vb$=ek-(48#aUcB=$di`;?0)*Aw82R>vA=6Kk4AVMDT z^eToU7E(5(F@|%Ty?k#gYU=VMh*|1_YK&LM(;B^RC%vIiur_;>l{qd2qZXV}k={##% z*V@+4+3aW47+PI_Hpe=ym-8-)S{yC9%lIhl3z!>fd<1tONfz*>4bb1!PS+s31@dOF zT@ckey9mTx?L5|D1cRu0)q>kDP_^ex7T?<4?}qn5lZsw?!&1t^?i|9xOo?u&2U^gi$0 z6jcXDDQeKItuIaR(Cof<)uu4DP@Gn>6YwGUM7W z%$q)+;ye`#J&;?m?t{PxltA*CF&neMnUg7(y1Cc0Ciu&xMfe6%IJklULF_V!t}?*{ zM4C3^u66UgZ<@dul))L4obTJSJZrlfe5yaYJ42}hH~7II9KZ1snt$0l6-2_#^QaeO zw+F-t?;0r@l)@>b!pT9sHQEq%$wIi%!ZX@HoHH%iL&7mkAx!D0|Lz*7DpbQYWW$sB zKJaTOdz&bUatt@9CcWD^GTbR8?7Yq+IR_M~HWb7`Bt()~xt5E$M5MVzRK!NyAUTYv z(D@)?^FTec#Dh7*f(g5d5xYY4#7_i8g#rchg2OnBJ0P?}RJ4OsT*X#g6gz|zNGYP` z`IkJrL~Y_j2MjqV+(jk~#a{%*V04cwWWCih##eGZU;`a%nlD?t#b?ALgdrR%Y9V2? z#%pZDH!MX(I>lCG#c%Y+aCCz^NJVlq$8jveW=u3_#HBpiJYAG5PSPY^#KwBG$3i?r z2y(=IWW;`qxi8eQbW}%nB*;s0L4#Sdc)Z7jWJn3r#%)X={~jcwA*9HPw8$Zp6g*tV zf~2E&T)-wwu_uhekW|QqG|7|XK4Lt^m2AB~0il=Vz}Ry}j^w!N)5Pn;NtD#dogBM| zgvgwMsKg*Yp;U~alqgr6J9#m}nWRY*lAwFO%gd2i>yw(%gB_>SyRbYaw%4V8_UG8WVD;LBoz14yGlGvo^nUV z%1P0i%+yp(qRLCXoS7j4$Jj(lSRBmSOh?fiO_)_F=yib@n4AcF+agcME&MbQ*3rU;RcN7xGq z8p{~%0vMf9u&hxTrBMlzNVRmN(QzK!?9eB|9s$Z8JZdcZ#7-4e(k1002h~g1{J~X> zQdOkVDYep6tb;bl(kSf&P4I*O4bp`vP2L1f|9M2x#vD1uOi(6e(>6Ulu1uzuyTA;@ zz#H399<8e9{1+e%Qzs%&?wU(_bkjj4R2Xv7pXAHgywF9p&_-3%LQ_gl5Cx{}Q-JCz zh{044wMqni$|JR!G+fg{71dECAQtsXNVw4&J%dzzIabXeS6x*d4N5v}3_Aq04du{E zwVxrK#v<*mK%Gib71m)LpF@R6opFOUNY-W5Qe|z{WVM54jn*uk);6eCDRsYG)zvAw zR0T9KKZGnOG*kGbOJX(Gb1k3>tkXHYF`7!tTm8&@OAJ=LggbyvO5N7>kL(q<=LJU8-guGD8Ex-~f&jWGY#=FyNCt-~>kC1y*3U$X)q`;Dfyc zFa3m25Cx~b-xh@3@{LBg#iZjE;1CvJTthph@=lw1VBKwlH(22nb^{iEgBOy+CgM&l56U-U|0-F@PNed0NwVkmB5IB)|yzJ%Ys z;NY#K@;%%RR>1sa%un@J$CBNwP2)sXW6Mn@%vE3-Jzz*?*+*{K5P^eB#^g-aGUJC{m=ms8W zfriZ|UPXj1TX3X<|5fZ}JC@+n4PRk~Oa3)yUp+{jJ!607==F7HQ~Z;pMcR>0Ryc50 z7;XcTX5nOA>E6|29j2be<=Fm-#@FzG_aC>&6D) zu0|xCpVO_@MS_bPo=3Zb%YwJVod_J+7*6DdnQ!~w?G-YNYcI?%LWjH-mCWdW( z)R|7EZBEW)|4-)Y+y-TFwqWtqDGp{cb<5v${$JKM?w*BgZv2zIPU+@m?y*kkJC5$L zegoZxgX$i~OEBv_-lpx^STnxo-Q*=gZsmrq?CuU@$FwAy?bVG%?*mWo5$iJnIA6yMsQc4SxW+!uFMz5Zm{_UjslgHE{d9LMqd z-tYeAZqlskw&hhKRq-O{Y6V~Ly@Z$CcJ3yJ?k8{Zl1AF=E$g$U=)^X|03Xo;k2Ni) zX*2%d|1&l6F=t=(zUwo`>yw>r8=vtux9vC2V;{%x`>E>2Y+C|%>wPBkJ+Iy5R-f5! zVU$+sKyPl8X5qa?12{++4F%)eSmJ&HcwEe{)X8ZQOSAOpbF=@b4>^o*-Wud){Yp8uedaaU@Uj*L3x< zzT}iXc1%WgV`uhdUv^691W$^W&<_a=7(F88-M z_d7v%2Zk3)fCG1j_ji}~SEu(&rUd?;_BnssKSkbM4`cFfW#U$6a3^?T_49~a@|0$D z|3x3`g?IRdhj@h_Ye$E4Nr%iH*6`CF@#m;?565<%Ht&!x_>rGn7I*QJ*IXEH;t+9n zd&lIKm-l#=`IxtDXqR>?$3#`O_S6~PwT5ew2YTcd_F@0dC65G#Kl(&ZdN^46rf2v| zPV{8A_h`@eM7yG5=J=i8U~d0-O-J#d2YZpF>vSi3b2s~SNBh~X_qE?-c;|0vzx5B5 zOEmTJJ0F}>2Jh4k`@QGdgMX;ymiWMD_>}H~NI(NLDEz}u{76{*#iw{rC~K#M$2jSD z5=CE2XY2AFc)sU+$u;?uM|sZ${gpS2NHG1=NBz`S{ne+0NND}nk9N4H_HhO7|6H&1 zRi1QE@BG~t`=K9pojLl`XL>XUex_&oHYon!M}FfEe&Q#7iVuazABC&`@|)E9E$3E^ z=l$&$;ITJ*J6U(|*PQTIci>{s#y&ks@{K6snV`XQKufV93w_#E23nQXJs0A;yOk8(QqxF=IxLB0r8SY4Rk> zlqy%UZ0YhP%$PD~(yVFoCeEBXck=A%^C!@tLWdG9YV;`5q)L}ERXXZfC{Ua@McUM* z(bcS2w`%Rm^=nrEV#kW@MDVQHv}g&M9q9Hg+<^r>g$k8$)W*De_g3U9|M8;6jUz!q zJQ=bn;>3yM$-^C z05K-z=+QJLRl`O{$MjgzFCNKg(vThPIMR|9B`MO6K|bkGksTdb|I(CAdZgu)9Ytx8 zkS0}W(Ul`*siR0;TJ+@rVG?QNj97}KrIKm-2qc(l4lw2bW!kwVnmpbqrI>IcIcK09 z>B**>Bk}2{pn#S{=Yy46dMT!vYHHL|5>8cB7iVw*mZ+qT+EuBja*-hbak=`ctLe#g zpKkdrv>!#7(6cMAz0z~eL+kkJ>pC5sGpw(f46p_}$nx5aMY=k>E3g&`J8iKR9Xl;O z$}-C>v;#;xZM6ej>uk0IY&)&D%}yKcxXzY)F0$#a>ukH=M$7H59nm|iz5M3;?!Mg4 z%Wc5i4(u$v{2q+0u>vpaF2eo3BaYP>PW9eccSgcDvk|MJMJMnW6PC##$?%PW(3 z;)(@@qMJhf0m$0`&G5@kVf@m=5yj3nGe9@|qGOTH-12OZ&p`7#bkW=%o%7BdHEmJQ z$U<#2(p6*4uhZOaEp^vQhdu4tLKDq3)nnQQ*mTy?n^AdNOF!wu=Bn@)O1r>o9Q zVXL36i~+8nZqewfZ^O;)+@xOm?YWnpy6>wiGl1--(_TF479p>@^2iUrJoB{|zx(vf z7ytb7$0JX@?A*JK{q_S$-@WzZ6Yu=_;g9dS_p7(B|2p{9ukU{O>??jh{`u>_|4t!i zM=}60l%baq5M~7g(P{*;n%fw}AT^W8VfZJ(2~x0v7Q7$^GgukMWydQX1Pcg1*acP< zBrOHm917jiIa~P$CBDJPjaWiB4brfNHoPGYbErcD`R_9U{9$NJX22mHkccN@5kelg z!zD7YiB5bX6r%_o4pv1xk}J;@DL0-gVlH!SS&LfK;;IsQPKp0{;S8my#x=6Bjc$D7 z6MIM@AOg{3AG%{C@Tf-+si=q`LSiV)2**JZvXF*6Bq9?>MXQ9cks=Hst7HWiNpenw zU<6|c@nfsd{iioJ^GF&UBEyn|GL$|kWg=6l|H@UevXzRwj>tgsh|B?m?vzg9(CNyIrN6CT4a@CyNHK}>I0j98bL-lCzxVJZBr_NXI%3(1?B{Vi$fXPqu)cLdv!4!qC`2PF(dejiodFc$J2Of|WCpUK6a6SiLn_jda_Tybvm8pbm{OE> zF@=zLDNJK3(@4CO6P@5h89hqUo$|D&KK*G&Dr!-Zu?iAhFe*}ys??-H0u4xYDpZ>) z)u?h*nLxcNRpoEuHr;xUbiaP!4kHxi-RRqA`zNfGIp_!mE~g_am%6x^9+!v>}93;2+eZV zshf4`OF;_>w&FCIIyEe6Q>)t5Qm~@ixh8BM7u(m$wzg*|s!Vem)40MFrZoL+Z#f}X zPI!VY3$-e1ldIh2GPhDf9qNUOss^b}*QwQo#C5CtxbkrKagVsER65$+@shW^=AEKR zvm>7Fu6MicU9ZV>%iG<`x4y%rYdG!76Tq&7ujlmg`OHBHj=4xW_*Ju}Gc^-3qbFy;|vxBeLR%GbFjmM`iL-kD7*;<`}0M1~Qhj ztYy}AwYx_K;dj0qmH}>J6L2lFT+6%(PNet}-SI>cM zNuReY=s^?Oi9J+of+ZW-#wME4jbK$UBOOdMNIKG#uCy>EomtPqHOHncG^j%@YLSMR zG_)1XsZBhZ+j8@_1A*(S5jsW;gJQ>{zBR6MZB8K%`7{}N#2Mrn?060v*up+GvE@nW zcv704_S7}Bqb==KF0#GW|0d6S$rIm~^0wQ){Wg_*+X-=BxD&OmYfS<@?RB%e-5)#j zqT}6Yc|STso4)sF?;Y9+pV-3Sweo4*E%1R8yn>~+t*S}fZ}31G(+s+xuZ^X}o4s@W;*`P*0W{yFT-9n-Hsn#BTPz^S$p*LHiul?(6et5sTT* zqUFkS;S2}d?~Z>w|Kx8nbHiKl@Rsk6$%;wz6&ro?MW6E~irL$$n7JxqHFw^x9QoC= zzV#!4H)N+CdqvN_v9hoCdAz=21k>^EVOPEDgD-r)dtC6iM~(4IctafD;C?hl0t#`AKm6S%1^A`k5mJZ){uZG> zC_3^2Z>U2Z;#h=8bf5frgg9)UMJxjJ4W9xoAQTm!;1yZTWt+{}Trshn-o1o4;DZKk zVEPS!JK#gQ$OAs8!$@r428zP~WS|M+Lpz8>2W(*ed4vYOfJnpxKA3|=sGtdwASvL3 zJaohd#zRMl|6m8|;0BUlN35U^0-#0sphbv)2;v|EP9YWE(Bw%V7DgcE{TkMFq1S!k z*MV290Ut_aU_3yd4gTN&EP@8Y-#6gHJd^|+wgVluL;9H^^qIpv;DZ6?ARLaMNN6Au zT0}HxpcLX^^x5AYfAtIa#ogU4xWgjB9fBlSkU)Uo35z?y z9fAi9?(Ul465N8z;_j|{`QQ6~ey2`7)l=2qW}dFKH|0J=MmJbdXq z(L_4o`Iaqq zw@Hm>rlZF6g?Er89?odtnj=zaCK|u4G?L4~Yo@@xrQ~j=kk80JCd12FfZbhyL?ngR z-y^ojATAqdykn*W&Qmv~|BAJNjJ8A8{TXizM0v6Cz7`H^cc7 z<{Tn#*`KTIS11>|V->OU)^SZhdXol;!Eh*0vY*LbWc_O)OdtkK-nb6X$Vcjj0l=GL z&G`_f95N#M*GH$anB|02>_?}da6<+zB?zcYBudH`Z45$7-qm+yh9c34*D`a^G4XyY zawE#c5zN5}@I(5x=9$YxX_G4#W%X#ZFT`+%(j&~fTNuE2l;Zvfn+ho zcspAn_00S>^b8^UNUed>1W2-P`cYOpE8(}n^j=SDB`5}%2RBq z&svgf!%CUaO-oUnOG0c>SQfH=`njlNjI{!9>Prk`WuHXuKyw5h+W-IYRXrbMr%thKT1&rVtFHw(6#gLb6y&R_J+4=gp`O7rNB z+P)oj3YPZ_Q7qEx7c!L>sxhyp>RadQ+vTLWY-B2lvk!*Y6;e#S|xplL>3L z8vBfzPJ`)T17}7fFUPC}hebB)Ki97U1xJ52%H|jC+L$V4e{n1d_K&pD{42ApKi>IuvQ&7oiS}u0BM3+#38e5l8sj{k ztvp`kJlUx{IpI9LsXTq*JVUBF!{Rz8sye6Qx?rlh;N-d#thyBEx{|NDQscVTsk;8e zbz@O=^Ns7)wdz*K{)kmleXl}}@OV=G*evzTjd4BCRz0tBz3f!I zoN&Q!s^BkN0OV=_Ha7xsH3Bs^khvPj#SIdw21#&(6{^AN+=#l>h{oJVmeol1+(@DT zph^CgT=`^fRo+-d|E$jIGZ@f^?UEq@q1+e))fnU4m~+*bYus47)mW$8*tgZ#a5y&( zat#i>Uuy;UZ>c^SGf!EvZIr-yE5- zJfuHsNL9Fz!tA#fZI`5L$Q91XJLV5cjSl<4L|HskyERm&Jk+-})Nmde>+Sm{+VABJQ>IJFGwyo|cFjK;i7mbFawyvRb5+nz&`{Izc`_s5hiDNhNR zi)vY`c-fk2**bXH2Y8W)&y`|NMGEF4D{MK1YB)oWmpnLo(qsXHygbBpJk)%=%yqn6 zmqf^bcjd>wZ!TI+cnMVMmQPAqZtc*$WP#juLf`oyp>>cSe8TijK(WgSR=DFyv?IO5 zg$jwJ@Ial|IN#g3y0>e5SksP5%Lio^I~3oSS?a*z*!)t&^-|RQ(%AeW^tD-3)E|RZ zBQzCd?Ps%UNn~}eWEJY=>}S)~3Er42t1{Fp{@_>oS+A5;Ps7DeZeK5N$uAFQkyGJU zZK{{~At!@euS@|@KIK=xtyhQhYnYuOj0AB^^W-)HGGf|&{7c4z-~}I z<9naCA#qElRs{Z_(xCfYKrggGkBd)R<%38Sec9kuWJ!aZ5RXCA6~Xr_K?7Oc9}Pxp z0-tspK3zI|>;dyPovTze7+?z$SYF3|6;PgeeH{hOgc{8xTrqC1RS4h$q7_aOO?=$r zL8dZ-mTrxf-vzC9tIXSiw2cKx$ON5fZ?}ZEEuB5c0mPdS%YKr3a$)Rzcc}MF{+#9ZRs&0-w@A z5sf`h@*u+tx2Mt`szwmYQdccDF8K0hH(J9N>z zfkJnufkm=kjkQ9K1XVit6AuMd;Ejfs&5CyJeqPO>PzX4oIlQbn<%e*p886G(YbUxR z-GIauJ74p@LZ^+zq4&wVfx_GYBAxd_ijw^G?v9T8K0RD4oh=XscZt0~5k30!(3TfY zVP#oJlEQIf78iH6Tl8J0<7K64$7PS=D2}hTKIyQU6n<40nkB@&OW3Zn>?P=0g04W_N z5;RY>_F@BW?Ks2;8N)sJgQroKcXeL3Pdm;1DxFO#0G|#J%lrdV?`NL zCbY<-^b*v1+9ST_9Yg;x2D*zHkomU>k{A&a-+HS43GqR0A6R?4y89NhLnbl-GV-(S z@1^k2u>EqC_b~Q-$7Rn@hfJRW?UQ_ad{-fuI+q9F!;=MXY*!9-FdgiIrSYP zbo?4HB06UO__)(79z`>Jry7Q2r56#;wdk-BZkMGiFdgX5MreN;r`$U4JO5G*(J@UR0V7t?KEEInKRKZ#rk}cYpp<((6{E zDB(eD*55{gz4rIV-PMntY= zwcC=v8Z_Cj_a}+|{I<+|5OKhU_kI6HTHA;U(?-=-enT-I`5@6 z%SP&n`nHoe=Bqo6XDLjV=oxmn@mSiFdz>3dIEZ*WJh2h*h`a3IP```Nr2gZ5pFfu* zk>%_2czeD(*OB%8I~7)2B6XbG(c;ZI6}YNsP=53I6WM_O3g za(6U~D1E>#?}2Zy1EKle;891FGlsqWVeU9yg&=oj{)D&5Bi1$vVt+a2mYpWw>8`je ze7#k}#o4m_<)KVL#O*-`pB_k$JX^Okevi|uK!rsd2Mf*x%j?xdF*%noc<&{ZNR>mD zlIRFOs#?uz3;Q;heH7(PYS2^?f0GmJTc4u4MZ?dMC6yIcp6{J#5H51aU?OXQ;uJqC zYEwb^BM(pN%BtpC(R*exVCC!Leo;=0{y|Ae<)Zj|x)TLz55XjpxLgYzwGrPNMEtH$ z4YpVqGkQCN_YPZqfHDnltRuCxRDCv zx)4q?-Ikwr+P0`PJLI2k`jpf^-EXJbuio$G6eSRN$d^yw^j^-s)mm4$ew;a_MlgOl z`%As{bcWwbm}qDpigLfV{=@j?e!pt%<#Db3;E(t4$2<7r?aSl+ z%j4b4<1PI0=K1jk{&4&9a0`F9dHGM*FZVYu_pkNp`Qi5Y;pX|_`uXAN`Tpkl{`&d; z>gE3O`9EDez0SG2dj3zBFLxKu|LOec?&|68^6Bp4>F)gb_TuUG^69^N{&aixbbI=E zd-;5G@pNEre3UvDpuA1{vXE)Va|5AHAb?l1Q4E?(=--No+RYdzn+Ki|H&Jh?qTcwHiH&JS+R z_pi^7ZqIja&$sW-c5lyiZqD{^{;S&$r~415yLYEMH>Z0yr`r!FyLZPs_eVQ7C$BR% z9!@qNPF8MDH*Zfi?vFR_jyG2iDa zYG>+d^TW0CgSE5&w0gR~dbYcKybC+toIl*0 zJKvf<+xT~~I=Q#Gx(!?0T^Zk8oj+b4Kb;#o{MWy`G;%W4e>~Z@Ki#vrG_kfYy)oCn zGB>$4-E}z8y)x0WGVyzHW^8_P_~38rUSH$ZV8eEI)y!!B#NV!wzTbmgty`^mTP=ml zZG~$UsgreSOGVM$tyRD4%bO|-Yl?q0_oiWwLM*=eVwF(9Hd-r&1y^pS`7H(Ol3{9RMjLQ z!mP9$lmu+#cqniH3u*>KEM8Xt3ckL+;$OT14IFyqAU#$BPH9A5o8`e8GX$*mKhg9; zm1J>I6yD(s$S0(cQ3Ai>RDNPD*F;wq-(L*Y6^&;}paLjawX6_;ijho4L-i%oMgP%k zlp9L_mFd0GY=#=jUTHR{7?L6;b_;c1`U>TS8!MKYpqoRPDovFuZSI!`E5l7yYaM>C z8IH?yz-Zc6x5uZE=9#ekVHKcsFrE3r8 zs?9`Q9TLk(4Dw|6UwYHs7?k3v5a7>)nhpwsl%q;x?H-OkfLxV1%W9FXL)1E3x51Su z*)ZbJ7kE9aXi_C+i`*ZEl7n8QPuKg%&)OmWoUd?6{BPX2TYFykxDhR6!$kHS=( z{lP3wJM|;>Yyr_{0v)UMU=oYs^$-fzz0ZbpgG?J?)uS2+1~#PU!@PwJdmEA50YoF* zT$1xN2t*^28!=+ZdQ!TkTeSxEnNYgF_FaT-6pq8cbCxO88N1wIc&2-->+5M%G`j6>whW zy__&6&p8lh=gzRes;o^kSIqgw2>#nvq+V1Xof{OMj^?ltAz0$WJAwSI+!3L5@17B> z7Jhi3O;r60Zxp@y7Xa8!?aXmhXznf-Y#J(dIVv=cbD_sE)*D}9o(>FO`X+<7fC`;Q zYsz<06&D_8TC-rG{JE8kUMP)8ND$$+ni{^7e%8;%RRopqtSnj^ZMe6lxf=a%Wu#UK4PNg&7N7v<)hU{4*3!sflvw*;3x*rNIT(^!9R z>!+ivx~r$LD(W|Qqgd5AVx{c{QhInr|6=5X39&UjjZ()LO{)ozE6AsQZ4Bd$u+Nfx z@6y;UhxeD>kPo@i@$YYh%K5cFwBMX}3prv_R%&c5-dLJ4oGv@JDcPr8EgDq$0+8TG zw`+dLoRAM7ucO%@4CczajVPf%5R|q*I_Ls3T0LWLSKlxpas8dyaN>~JT94%WgA*T2 zr$~RJz^1nK%225sl>ex2t^`Hn=RyOq2s3=oLl=GY4#a?Pd@n@j8!h(6w){Of6vf$! zlAvPw8$~99`=3_e$Q2hJDCz^Y*by16xN)6I@3ENXyWxSm+6%r2Va;J4+7+i!oR3Ev zs=I0wxr(NydchlY-#9`IR!pZB02-B8r5sssSEamMu{7cm>fAyntr`@5(fMd2g$h+7y?>G8t64!)sA!k zH$Fv%vul>&jnux94%!Y9x??O?Ni^*W%LiFjye52+%T$-)CEqi%9vl5vOmw31y1Sw% zCE9s945J7_svx^iZch>Z7YMm=_%VELMy+hOFci?l8+|SvaoC0o;k1Ou%%@mMD_R4& zLlE*TmIJ9dRZXG|IS+Ai%D-m6HXtT<<3Dv{2_r*=wiV5}$QDug^ z%DU}PrwsSevQM`WIXGcq=rovQrY9ah;Q#1i+KT&$e5Ax&y?cCRNIvGD@L(BdoRZgQ zB9Jc7X_$1rF(ok27a$r+4RN$E=c7kd1EFGlEJ7{|F+TMF~|j;Mbt% z-v){JVcv5qM8_R(l1denygT2W;*RK|cx(>g`y(ZhF8ztl09S z3zYbnCT9)Gf`dU6hO4~7#yvI*-YkN3nH7OMKw4hvDb6q56{$9u-03G4Lc)l}pM3Jl z0*FUU#5^vc-qF=T%&MP%J4?#4eEs6O5JwU_n;QY+R-kBO>(j<@@qMBQz2`+AmP|q* z`4z3nIorZN72jQ-PeTO(wD1~f(Nk=v>_X&SV+2>t`Z*qp1)2v8O!(KEgu~vsGWPRs z4QaJJQ*?hmjZ2A3Jtd<>T74UGAgeq}SGY%l?DCOfcsb)1?yvRkJtZrOvAzGOZM)VO z(z#0I5y9oS>2}P=jt>#Me}-? z&c<>vL%=T%UN`WBEv;z$V=IvEKPct|f(@CANk) zsUVra!THU3ch{y@)NJmi-U1}3rZ(loeV)W@w>-`8eW3;{KmNXluhRiDmnqQwjJ(@w zvSd5yGi&XQ!S36Mb3IN4b_zC`G<*`3+9+C_WP_IInF-s5b*Hy8mw_syEGh&(f;5L{F?jf+D3|T`!`*vKSq~vGGKf;t%+8*6DeE_fki0-*kDi+c7BI?Rn$E)n?)$h6e8`tI^gfLToooIGCjQvnZuPCsadrAi0FUv%J27 zL!8pC26e|DW_5SAL=9VxEY%-nKhrqk^lX{JR@LlN0;z9P9P{PHf@HGusBb07Y<|a0 z8Y#%vS>d81X>{chZ3FWKN(5Q@*C%~e=_xaFZs6j2xgSOvFerHbwMyZN*jby|MRQ(I z-H{=ZTXrtqwyO6J#We6L(^~i(!!XU7uH}LN$9N zBSSg5CQ-ZBKPgXfBqFO`Au{&JI%G04*=`C3-58TGdxl#`-y&F75(n}^92w`{3Fvu2 zQUXO#NC;t|nn}6O^&}0QKH>scl^QM_d{{($;5De0l57wM-v^X>Kv*C_>N(xlUbQvL zw?j~2ydJDU7-?0X+Tu03#yr+O46_7J!A21+n~`Ue#;(vGz1NRVt%k3<2JJdTsb&+L zxBX!@Ti8qS<2d&hrQ|OF2)m()AxEH1C43zis^E{F=q^hqAk~f zLddj-hlc6kfQMkh?k;Vo?TO^-=@n>l(@h|TgQ7=6D1d`vL<5nPjO3e-qzkpiHHC;m zqI&hB0yPnMt9d-27$R{b%GK!OG@ruO!90XPdcEi~o#K2ONvA2 z4U;S&dgctH-4D@71KkM61ji4t5+0i%vVfujKyWrApoqnPbjD0*M2P18b_Bzuh6z!> zy1${Ae@K$}-bB4IjneT*(zABnp5c#kP(QAYrsD+>O)y*1YJlbVtc1yAlan)f=;h7` zh;R%ITj;-^38&H}Pt{7cN`<$_p~h$XcOiJh-}f;-jzJ{msGRfz)C69 z74p4biLQ+s>u8pKgoOhH5B(HnsiM>1k2=SpRtu%Mi@Rau%o_Aq;?Xhx5GH(-29`1<^`E@Vk*#`7)=&F=oS) zL48P?2ta9^yxMc*Q_Vb~w4dIopK#1o3_l>Nn0h2C6d1Y~XF+gwrY!gHnBI6q#4g~2 z8^PoU*yx^^dH@8=M(jadbf;;=F(?MMMj9A~b_~NtRragwRC3S9CPO~dgdmQK{9SU*$#5kT1y&q5ge`amr8(g3Q1g&K9hg* zik121m4Y?809VMR)vYAC2ZX>~3oR#9?FRqBt~is;Us$@v+PO$wo+)=Os=pL;UbL-> zo0)JX{7{Fm*Q#-8OfU%oQ_lhr_nfFGd9b3%j7a?v*Zr~we_}}1M7+@g?fDgJbXA~w zVpF5#hT7yL=$BlH=n6GkvkaBIqG_ai$(o7F#y3Fz51x=xq|n4t6mWoZ^O@hp&T5Q8NkVKW z5T4fT)Y5G7xdzkOzjOU3A%Vw04)k|vxV|ps(8C^p&<7F8TZ z%yq>86mz{3YYT=sj)OvmP(;^-wIj*828gB!E+V|doPpwz=hUkj0C3JQ35T#(vwthV z@7Xp@uwWXP-}C|46DY7RSR*Q|bCN)@*h;P?#D1Xdm6+)A-ZC-2_ErS@*+Qhhny$(PP7qr{%C_p+VI*7`hpqUUkkX0}oK2XHO#s zUY$)8+&;HdF{=!i>CE}MjKx-s&Uu{$9KzngL2(hmvR3566M$6`Ci zJvAb|v1g%8DkfTtn^`Lj2;d2nUZ;Ma2#t10Ks$`DTuMsfp7pee(MfWH!U=F&fSgPGl~_oklf+%BNEAMpv@t(7OloG0HbJ;?jajHBko^*_P_pR z(q?FjS~4Nd#K^nf^y(FjpFh_mKp4mkei=HUwwAVH4E(y>{QyWIewZ#W+`ioFHJaEKIFD(jeSt9Z?vZ8w?Nxvl*RRUaqA(!;3& z5272vkY|%88H_Mb^2XF;0TxRrU>F9CST^GE>$)4+QkH!@fpX-x1a1aih-QO3LF?IL zPZOO}0l1Axm$ zYZJU6Q#BepBaZnf|2X1W)sgU!@PhLN#(7QDWVi*TG{5m^;SSpocNafPt0Db}WBIsd}sx6dM9f zceG=0^%im_f%M$b`18>v>#>FejcjJs+^1_DE?Q@CkO&QU<)uZ08^j9*5>*3M%t`M= zdepiAJ109m0JCrK8z}Xyqr|N<^=%Jqr*xtkv;m-o0{OD9r8L$g&#w7sZe*5Ei4SM@ zwSRTd&XpXZIBU$sQQuRs1fWv4tsCMbRo_SY#$)=9S=WvWy~7enrN)VUpYrPpv3jdw zA8kxh3t=dYlJcVdF9L@~_8W!+FScCYhjzB#V@fRt96u0~Wd;YIG5OR1ZNJCX{Vq?) z8n-mA5($r1B`;muC+H%)l|NiD!XvK4e-I>bR_V`=E)W3o`or{gz~v za~YcwVZNjd2P*JnEa5tH^Tkp((C_~IwtR(6%&X72=UA|O@JZd}FWKg=!`onhMDJx$ zW)_w#w-h3=d9@TWbr82SDzoYYZ7>yYaZU&YYq1Qr1eiw_SAn5M7GGVKM~+a}yylf= z6T~A=YMEanPcGN1(c`bYF(FO)fz=8DnTlo#fj*Ss!k;!;l~;)=J&0GCjx@XaKbj49 zv1TLtP_cTV%>gbCbzG^c!cJ@{tH@A3eOY-oS{b`Ab578h$gy)7hsuR_WJU8qYguAD zfS!Qc2TsNlNLIE7WC?VN5XgU za}u%7r)`?{c~zG$KW$k5Rb(1zWZF^NSNd1|wrO7|s+Ff|w#e!!-w&WXIH8rM{uIDi z(J_CbWI+raD?3S*6cn(_vaF6h;KCYv&jy^`;y2R-O7-lz)%u6qA;s^sajFLXme6|5`teY zJY0IICbC~Ht1iA?I?UOA#VVQAOT4DyFhKm>@Z6}MMNsfS=N%KbjqIVNwsXYqT{53) z6J}lLJWC^`@s&q^%kV%+*SUUws$IK}9!E0uAlc_)7nR!<%dA~T#KtV2`FkWS-wEsd zG?Oo7g(2o8>9_S`{>cBbR60uh0Lu64SHE_gu|q@EAOA*YdCAHgPeEB3Pk!0|q0f%| z%JJ{_MNjF1xay50>o{WL==qm$96UW(?XrIe&QgGlA zZ@2ugYEot(Om!(qPzzS_&uDK8yJK9UXlM!kk7hGF5hCP``>(vQA;|mK)=*{;tF51w z=6*a(AtN@q(Y!Iodtb$*wU>TTkWisM97{Jfkg&p3sAB6KyBCQ5BTyH$31dwCd#*}0 zlJ*-QL3VVoqZww*=NQ3PU;OfbLw8?+Tea$mEObwayWfbs_zCbla;s&UAa1L!}N9MPZ6pJS-v zRpYLb6tG(>Ne(={rfOv`(;|l}yUs}a=~ag?pCZIq@>}|>Yy3b$xRVS{f}5w!)msRb zwTyxs>!haZEfCxU)g1pH&E{W=nrq{9=BYRHs1}5dWUBfX8@uA$BqVj;o9Qe#*h&&{ zNIg5c&RRp%N?NIq4^MC=2;0R<)}UV+du2Kol1TfHouHTMmtvmyM)9ogoeV?rm5CIs zvL^3&K|Kefs(N@tYW4f3^5tl@Phd%s$#^2Mn&2p(gAeN%%x`+T;xz29&~d##N83{5 zp$Bb9(z~ytVcqp%SJFt)#MDF*Jry7|%-g`12O$Yj*USu1IS$3nSkAi*l1iFR5KuD` zvw4HW`Kt!8>v<+JKOJd%r!=6gGg7~Jmx0`>mouyrhwg}u6z(oJfoAhXFF{983bvfh z&)4=5QOC*e*D;fTT;#iN@q+b*autFSik-pkVGVSBR(4-R4Hjo-8=Lw#dc{j+$}xFp zKTXrxd2C5lKF`(;RFvb5?i4VKd{MQ~PaxbTG7_o(`%b&dnxw%1^&~A08vKEtb`i3g zSJ+!FubrVu$~*hVZaO*^qsU@=_~V1CYkldvuh!bOcq4RkVLN)PORkzJ@rn9wqXH zRo7!ELZ)LdcV-`RUP%B{i?-&#qVY4uge@k<*<=1~fWOj6m^XBw+c{j&Nx#ZXZ1FxtM)zF-=z zsFesx|8{ai(#EXPg?1*dQuI~7WjXWYc%GRE|X5{C% zG?ss?tg9bt%F!1#gN$z>H|cqAj~@@_7K{2$eH(tinzQGZ){ulm(J}LULY9_y<=t9` zIXSb_C{WRQh{H9k$kuJiN^#hT% zk&%G*&qG}VFXG>d=O3Ni@ah`{454pl1RR$)x4)bY47C4z?k29EDZE*+#JaRyqBt-Q zscJ=(aCf6~@AW6TS{G>4=+0})R=0KAqQyS-(EYUfv&mZ)ezYrY@B1r*+H>!6#Q?v= z{pvwnq=4_)Er8IFK=E_QqHC0mhz4V%Gr6PgOf}q#@8}bzMG9o$)cpMIihgkp3fDlA z`WH^*$94dP$JMB)PhwQY^&IitP{D7XcBi#R8>G*F+yUDFg>|Ouql`RH{L=8 z8+#=sLZzy~TZAZ_IVZXxGqhm(gcRun4m{r1?;ntGa?yxOa-Q0ttc%J`6>+Sfye4#E z+%$-7uCA!BvLA=NANgZ>Q7!*>Qb@jbO%dNuVP}aQobxXDra6#8r?xR&4t7a zTjdLS@74uB=Q$oPdqY`XF8hW^vA6?58@NM&FjU{Z?fW-{%a=fCPT{H+ipM7E>_m- zkk27%%kf}_>$H_qAS&_>9byp_%R!T#qZpB|NdA7a<{+(7cjoQtx|CPgi=EZ@noFc*|kquJ7Hjo%I zleqSxbu|B*oKYb|kDJ2Zq0rNz@Fc{!Op91k@8Vp;F(Vtr&jMtK@GMtQq7h(`ZYVa9 z6maMi2xvJ z>~dQZMt>I0FrcTumA!f#9hU_|8fQJ#wtlz+JmRb@{cWZ{=k*x1>1;6^GK0!M6-aqtNwa1T&G1_RchH1Zpx;({hbDSwY7cL>B)_tvQ3mgY&0vcc zebS!XQ2jd#Rbg{Onx?H$xua3IdC+jiW#LzY3Ut~IR)UURt+8$M*Uc14XCpQweuJXA+3w*TT<(h^xnT{ z74^^TsB?UhyuAvG2Ka?`Jr!ra+3p6|AnNExoCfthhFVX;$i%3;ZchBGn0#3 z6I7V#59Y%(i0|Wq>i?lBDP6Wi4%H=^zqbj}Kn=rveJra;PKSe&X(kno(io1{+Ct8*20%akC(5lkxnH zl^)p2P?8(&=6cu4m7$8@{Pwlky`pl96#ELj8+-{ySB5Lm$~%wKl!-^1#jfQ@w>9V4 zXL;mwqA2>MU1(PF$0ae|ic5cU0^cOqy&wOe#C$zp`DIK+R+|7}$!S@MA(Kyd`aS3GG0bRv4oVicC)tAM za9(Ye-1=62qiF%7p(RkQ$91k3qM`9W-TI}4?{cwb+Vkt}EtcDYQZ9n^-iAd<%SGBV zR+wYGzsnU0^b~{VnMaEd2-8Lhja;T@Ug?}@m#-dwX*KhaILf~tzN`$+OmNELBnt3( zsFobdHh(mNz?U9db)6s`!OFsfc|=B|hCRxkRB(EemUe;%Eam3+8kVgq4EqSj4l@hC zx5W~ck$uo!IYnGMOOlvMUvbMAd&Hl^$T8YI)=*cOhrz$_)l3;;^3uTSAcrc};AfNV#wY5KE0R8U8FZ9d?u(M9VW1 z^^yVvPk;mj$p#W4sYrtNVq)A}iv0pJvkIC#M?`Wp0S>_|=V7*`{zen9zHZl5fIsIoHi0L?K}?urG|d5{Ay?*MIOi#0pHjgUG0cTJMNt za~2Hmj9|kP{LCyL&RY2y*u0J@7*41ca3UPbssjUkgS||KzB;ya&o?b$!Hke1NKA6( zBpbUVvkX;{Y$Y4- z#4>gR83#pZ)=#(41f2=NpX5s)UKrO4j2j7;*EfWZ2nAVV6aNNBk0?yF(w{i>HL!hr zYFlgicqTe&2RTXTykRF(#`wKU3i?-t>*Jk&m+#|0Ea;7bDQy?1HwP*qy!3n^Sfr$P z!`zhEJKuMs*&^bGBhz`AilIlq9mP=RyAa8XKpT=*$h?)YpPw&P=y$9=U?=dq_#Qlh z0ceTxdLL?eS89J}sS}QsSd3^-gX~I!Y+sBBbVqXK-g5?o;;rtz4kD@c0>rJ5QuZR$ zLL&>=fyD?DipZ|bdxU3*scNAP?jebt0k!~S#!7@&?2L^bLZTnB<(qK%<`5^GeOo`a zV2eF~$6j#EUP0qN6l#N_SomEH+1|t~aUNiN7ZOW_Y(eYy18YBy(>fu{IuOe$&Eg=v z-zq^5i~k0-B4)4c*M25a=&zT3LdB4X8*59Hbx^5wWdB~!J-`NlZ04CgxN|s9>o=qm zLzo?s?7MGCbJRX-mqA6-BY$KGu*qRMKo&X3S0kxTJ|g6%ac4OQ%CUi$F@@T~D7&z% zP(t?XVThTlhgrUUwJ(nJvJXBoSgTkzo$wY_!CC|+P^jC^69-^nb=8E(1*q6)DNt1G-#D^{vOS3ous>b zT6%uvXDN@1G)$X}MxuCxI9DUlVIgay9i#5jYezsas-W!9kUA`|ZZVQgwdg4+G8Bra zYh~M48VsTeb*&B=IN7u{2{k(dS<-~sn*eN0kS)&;jpq^BQG%#%kzA{hXl?`1i=f(Q zHUzp3j`K;N4SHr{2TPJr+q-jBk8HE%3(!U|6i^@uu-28zhBE@JX_*kHijX9#lgzlS zQH>q3ksV%todWMJ-s4?5z=FxnLY(g$jEfPMEW-3z!X*Kr4ub@?G{`owzy9N87sbbG zTwn;n@YT-=EyFM&2hPyahEo6fZlD)SIOdN_rPDK(4(B)HXZng4dn`pv>eoh-$hz){ z8iLGv-yJ^|xj<VKr=m{-{&x7nt)X106wnpG|Moqj*tYaoA_7ytsfJ+yG@1e>u>pc=QB`d zme-rAN9b$L>lu<&L~=rP2=onVb`uhp&O^SjCve_R+}Iym?-6*zBI%h%4p2JagE}gW`FO@U0$&p46ot(=ELo^qliQY*+TC2`Gn@_GY_zVgqo*h z|6+cz;r89qeX*(a4F2os)9JIb`@DhewaVX^CutDT71mKV0I;Lt|2o$9Ybq034jE1dZ1362s z4C%Dla@Smfa2pEv(<#LNe`z)!82sbG0r3JsWQ7KJ3k2u<9=LXKuN3SW_!jR7A^K*r_# z9c04COv`0N(`m$gm&9e2XCJqERYQ-0Pfc`9%ttV{QG z6Sts?DLPktuS);0oV@hy_dX~C`jAb6ORU>2{|*3;+s{(5da>~n>o`VE}#hfVP}oc`+mY|_|6F{`-fzK=Oah+ zdW0xv%XXT|N#i0_8fVjCYZ+(zaeo`f?~_?C`?kA-bgqua*J#jA_`@T97b3YgcQ@*^ zbE1XX@7!y8eF^v{l)xZynSM3kmwh^F6xDgn*LopXI(woK--Kxe{n=|-&l?ic5|x2&xxDn<)v=*vX2y&}$Of4E^2=3CE@h-)?c z;b>{r+}BJ{^8?>Ws~xClS3LfluR^ledUf5X2qfQ*#=wP|b1DRv!et&Lea4|MW=NW}!3m?=o$&gFe>Q8;ft0{K)i<-bOJ5Gh9Mu7pu1sCk$k`-P? z9Nj!^i!0wmKoIKLcG^bgi7_%+!0LYPR;WD=mqaBB_#$yY%$$YIa}-Z8)`qs#8kNCo zt`$kGSs>omK);?aI24kXKX{51aQ$-T;tgP$~q`ydE+?zW&8Ed|?Eb zSJzEbn2>Ns`sRNC#6Ua0KN+;gSfUa|yA0Aop_x)}hLA@8A;L3imz>k2W_<*Jr7TIn z!>+Bs8s|7h0M$f5{RwJL1lR>R#(@Q2sEIZ{I#hMKu#0D4fdH-uM>t3@odxQnNDf4t zZy-g&>5w2e>~MxPo#C6T>B&2i`w>B^L4YMx;~ef|#|VEztIrX@A{B@oJ3_M~a`<67 zxEx1vc1eI<{*s>d90xwXu>xN>;{y+PQvHxej_fecdB0iK-KG;HqZn>F*_#fNz?7cq zgl0qF7>831I?Ho>^B9UUr!zv8oeey|YSwUtY_^j>KtXDU%520pz@ZPI3UjD|5{^;f zlhi{cs+$d*(@DkYt#XFrocd^lI*H?ra_H$$@6<>CJoQ0@dfsz{bK2)F^x;o{x*}HJ zAV(JjB2!(q;}`>A=rPv%(1=dd86I#zr=VqxjV{j>M6@fjzTqtEh=hp)aN+>glP!Lo ztFxZ{ENDY3+R>8sTZ;dky?Dmi(zdp?RijHVHWH_-Q6_DSqi&0` zN1y;wkFGrKQb3kSleMKSjeLY79_fg^z^sygi5Vs{xk*lT(lCpu#CJzoN}-)Hl}Te| zXIzN|{2-J78}O&#y0%_+wD-N~Siw-@X%z(x#TNzP0DcMZfNQWL5KdWD>IQ5bEL4*^ z))5@x>|25O@>hHXu?-fcvw|nF;~5X|4}#SHcZ>%RAya$vhBLg89|P;d56-9tHNe5T zp#anw&VbS`paYKXwRgVtwMc;V+u|3;*c&hE5A?!e6l*9szc?C7Ad-q;Fja>LA6Nnp zBurrvS=bs&Nsl$sp*<|TbSXYwke0u*z70dv!z0qtQmr%{FpX$IT~5Z|UQ9#n&AHA3 zDhQs#q31tsb8wJ@FQNv=Uw!!38g9z4KG@vh4`U(3VHzX z93G~R?P}o+1QFpO8TO7omerpwycCw!sOApCK_)d5jsPrOC}~`Ao{P^Mt?uE0)zT3- z0vzKS2Ij#v5c;2IYydylOvmMXu>n6Acmp@CMy*${3szyX9rv(Cu@F?8aWq2V1RqM6 zA0F{!EWPPZ_rrZw@Bqopm~jal3fn)hJ#Xx293y|}27ubNmmgf_wtE1^!#5QER*I+o zZM)YQ&i9z(oE$no)YExNkl}d$tABu>`IE-sKFdAhTb2)e<~QGt&L`RzhYGWv`u_Qv zw+G8Px9OaE9teE^{e43(`rpEV^mHhl>H2W`IG~ONsZ%{1R>!)G3cB^K54^4d3Hty@ zpqgZ8fawF!z}czsj1@TGoz(J%NZ9Uy%!Y&R-xvq1>aGE3`C!93`?f zi4<8|+WmL-w5xS(YyF=9&P%`)puiX)0v@0OCLjYYAQw>^1V*3)!bG=STe$TW#H2)U zHOw4go4AD=SZv$55rA@y40E-c%0w4mxXdMG(qG)n&1@F{h*Bv14A6WRDH+XV_?yy1 zjSo&uS3m$YSdKSTLp3D-gOfDKGeq1sNFNazArb~hI4of}V2xEk#}rZnHZ=l4pjh&> zol!i%_gKR-1f4ZNTsi=Yj64s^8O4)G2@`Gr7CwU(hC?GTj^p@()q#T%2Fo#A%`<%A z(sj;K=vNJ-7#$LdE7SrtXvtE*mouD$=mgz06x|aZAr?p>6=KaHicXA$gKk&^8J=Iu zVS#})$u*pV_MP8|jbRy%gO^ng&naOX&S4$i;gLw9FYv-$g&J~z$q=?f5n|#SE@6Xg zfF9lhA67%KM45d&1EItf$Ps`o5=xtR2U6|WI8h^^B%&RXP&O)%p-o3I)?zn)Vw*@% zGA^SZjsrLZB7toGzy?jDAtK@@E+ThKBP2@VD^_AK4r3Hz(5(q{Aw%h6A{w84iFFJ;MN$V}ocwHQJ$0Y!OI`L`Z58{!O4so+L`9q!~qw1$JO= zrO|HDkxbUnO#Tra;nBu?MNMkO9r2bNdW5W)9kjyHtHHu^#GB-1sBh~B_WHOR+wFjHKTrCS=0fYIeS*yS`P1JZ#dIXJ@# z#8Tf}1A=V-<8;&lZT!YA+||`+N$5-*2|a^1d>CGi17KnSTBhY%w&h!fQ)s#+IKY`J zTuC~BgJ~K?pXoy_d_y^q1CDTjo&4oEXl6`3Ls>HBT!uqk?%Ytgf{b{>E=(Oe&=)!l z#cP74SSqGjqSa(tPGth;H$*46JSTdViojJvdOD_EdP{pA3Su4#cp8sBsOMwC-k}`B zc(y}jUS>LEWjwWz;Lo!reY7PJ_v1W2&fd_o0TGoOF$mU)OM1q3DLgprx z@McOV(Qx9(1`L2-N@!q`#C_I6tih*W*`JJ_mjCgejov7Z=BT;UXaEwRkM=0Q#FhgF zj7k>&sgXip1@@Lt;)DeX7Y2eLO#)YOjhkl#B~gaVQI-tKpkQ3gMP2L#c3l@>m;ud{ zsTs)NRHo@wmQs1~AbJfYNp->Fe1$xQSXVqi7ue}X)k1@H1rG#*d>F+B1VSwY>Q}tT zoDKz^>M2;X7@vB~qI%2rOgahO$NpPwwXaGx?BDapjZD7Pnya*OpE4Cgfx~8kTt}DB$Ym;98 z%*243P9~|f4VQ6=Ai2Tmah0IRoM0nef(owSywTgdxgeURX;qRJd5u?PXyw19m%e62 zvNo%-PGhcGEXH1}#%AoVVl2geY{fdO#6~R1mh2$)nXwwHj;<`rwrsj!QM>j;ytFLM zh86(c>;M9(YQa_m_Uw@Utj{)J%nmKl8VtR1;JaqvN+j)WMX3iaDNACM+Ez_cr20kfq$t2S9BUOXPe=rD#upn7)$YyT| zUoQ%uunLnf3y-Y!y6~w=>jv6n9Kq!M-Y^d5uns$$wJA&w^Dk}zmy%xpg_Ppt2iC9$ zW(-ltE0ls;5znjJR_zHUWx&E)y!l1JMy1Z|?!8&%!e-?Lzo`hT>hzXz_j>FKn{W%i z@EEtT>Jo4J#xeVjueR*)OXQy%_n-Ubto-(|y#y`L1~MQIvLFwP9Un3d8!pod@J<-+ z|L$)Q1MpPLE9O4&P)PB*VQpM!t;^7Enc}Y3Mz93i+t}XVzMbtUHEbBKtsA$pE59-< zdyKC}FD;v~E!T4N3U23mhc4G75=-t#lJ5gLE+QARF&Fa>zY!!yYZ`6te=~6T5g03}BGu;-Y>-H-nDX=6lFdfJN?YhAmn6o*%0hyZr0Xx%-?sBnVc(Lz- z@zDtH+Y)Q>F2z1~3@+a?K>zc__Np2ebPAI&EN^dlu?;kO*L`2`O{w=nS`f>bb^!#%FG-eaBW-DM;ceee4wM#ZK zOQdwPLhVVTG)t?SmI7=F##<-T8<}1K*wV}y;EWl7!ENVuU2}2o>a|w#wHO<=a1S?e z!|53dv{56saszZP*U{icGvz{VFi$rz2lE$sHg;!sv-NOQRC4Ajb2BS3bVD;X=VZQy z;4b$OzGAbLLhZSc1ucxiA!ULh!LB5z3{y&yIa3lkQ<6EGshRHf?$YyQ2o3N8H!J^j zSLibwgGqy@EQI&7xh*$^C%5!AHHND&Kj*W9Bd=tCIBB`WV?%aigSd$=_C;5=iU;6E z1G09%_>nI13~S73XP_gSbZAfV>C%yM(YL=U@LKc##RJ#0fFo>P_nX7^b#X5_lQ+3P zJGEd(Ih0R%h7)$hZa5pquvUooFUv4h!#J3SxtJrV4aa0pB(s@wxte$PDS_itDUp`*CKc`ev`Xs_V;`zxqi!@{EVB(Ndr` zzXVt8c^$Ny?B2y&6Z)Z>!5PT5uopWR9D8o#wt(MtB^*Yx2hDh`sbxq8aQ}3sUpux7 zcZF}eg>(DhKDTo-1-Nsr{YrOZpF6ClySgX;44Qj)j>c)&UXU;D}KM5exI`^<8C{{^G(b1Joh%g@msYk`A|-*gJ=7OdwU5VHr<8k_uJj?Is9H`Bzz0_0v)H6WUU%l3EJ=b@=)@QxfhrQU3 zJ=vGN*`Gbyr@h**J=>4{g2ymmV{F^cJ>9E))>r)kNc{rjJp=5$KI}c#_kG~|ec$K( z-XH$oA3owM{^B#f;ro5#KR)9pzT;Q_zU5y&<}d!=Z@%GkzUOy7=!g2jgg)tizUh}f z>Yu*qr#|bizU#L>?7zP3XFl!MzU|*W?pr=>;o)C=XIVEvpxKn46iKvWPokYGWB2N5PzxR7B(hYuk}lsJ)M z#R?D@WYoxjfIfX433T*0l4MDfCrNJ92*F}Ymk1{ej9FnqO`A7y=G3{9XHTC$fd&;i zR49W5N0BZ-xs++sq(~VMl{%IGYE`ROv1Zju)#%d&1HgtAJC&YU-I;=DOy=FF8V zoI!&zBbu}s0H;x(zO$Nj>q>WCPl8>Ec5U01LRr!sigzjBzi|-?Ih=TLH3L$d4gE#&A4c6LgX+6Q!6S(cx+i$f6SKM*QE!W(0(M?y~b+gAqCRevd5y;9(i= z*yE2uW;lg##ocz~k-@E%O@bv(iX&6tzfQgH6)eF0Dj2+HmV_(^7)-)a&A)H8oypZP;OlB8o6V?X}r%+wHgE zj$7`z>8{)EyYbFj@4fl%+lV5}4wzVE)vKUAQ4tSSaZo=BJGv6cHXCif^G;iB%O_7; zbF?%6+jGtT&YbhnNiW^>(@{@d_0?H#-SyXDM?G+d=dIU7iqBF?t&19KX>y;VzACHQP-`+O{e);XW@4j_?yboV|&Sw``-ee_apk|uA zW|J_(4%1oBo*nra=*i-ULr^#L&%bD;&u|8(sRn8VlvLHOMw?JnLTjA*+Sit&50*Tx z1TQd~5tz^f4L+d^We|-SKo~+1j*x^UG~o$Rm_ik_?k2AjZy zBLMCN@UnnFG=eXaK#PJF+yMr0$UzUz(1c|GVF#b+L>rpHhE=rU6|tB_EpCyEUG(A? z!5Bs{j**N{z@ZL#2(joXWdJ8>qetGTk2va!Ma42=5i+XI(i>4J(Io89#0H^CWBagLLm z4t?-hA5sZ~nHPL!G^bfjYYtQr1hwWhACb_4E_9#@O=v?Q`cR2Zl%f^2=tVJ_QH^et zqaF3=M?o4=i8^AMY*2$5%3ww#G|vQ!yxsJU@_?H3?v5HP!%0i(2$AlTr#xnBG1#I`cTx<`UU`W}IHnHvi_9F>Kq$@Nbq+>T!=eCdngQOy4umyqVGT&NOIc!= z#`I0skZBy{NU#DHKvfR#_yjPlL8qJm1t>;gic^f1w52ueX;GV6)vlJct#$2dVH;c7 z&X%^dwe4t4F^bQ2LK2QxgBi?tgdC&_1NIc6au_hd%Vu`7o&9WRMSEN6PM5mXweEGX zdtKdvq7&>yX%micgJWGFddIC^OyYHe%-)m@kKlwSKx>NVW|zM8weNlLi{IS;?$*0V z4exlPhr9DuAie8VLwnx~+R)~g!3}osgCTs1{c^Xz!4+?U0_@0D8m5&y>lr)kM+Y`c zCV;=?OaKGO%fTjAYLudsFm1CyO>GUbksZ!H2`ot_JmJ9Z9mOeh0SsUSgUCfT@{y68 zWF;?|$xU|hlc5}CDNmWoRkre#lMIYsphCBjpu=~M(8CN|q^$Xz503k};~sP3$G;dd zmf;*{InSBSb++@JjSLK3oB|Y{c*GiR_=6r|U;;9I>0gv0(+SXY2WmzzC`=J#JWra^ zmA3SyF-_!OoMIGyHff*-UFcGh=&6g=F^>`aV@YS4)vb2*t23=m$I;5cAf!`s{vwlI5UeiDJzJu$Ojl_F)a1*h#@y#+sTj*E(fmktp{Bjpnf< zBmwDP1fv+mAa^l@@e6gYo89ep_q*X8Z+Xv~-u1Tkz44uIea~AL{r3020UmIH51ilu zA9uNn3=B?l;t^_if;?Z4fghH&Df_f+x77@8QJiAjQ(pm%RR1XK6Aq658pw~Gn~7gqZjBxCwjO!9`kZDUFvQBcl+Dn9&fA9o#h8N zcQCZP^{(T*xM8OlE9KWSScaHTdDRSPKv>ILmav!7Zn4yaxf`qDhJjndwzlCjK@+5) z(PdZz+J}sAQDmV8Jm3KgYLI%>ub%a-cm3;O|N0fop7yo3{q1p|d)@Dz_q!(n31@}DpIYCsG|K^W3+6tZvoUZAD? z?nivi1Tc=r9>M7BE*M6E^kCrh*f0J#umk1q{y;DUMQ{cGelPg`?*vgW1(PoTHGl+a z01a~C+!PKJ60ixDssYDh>?!~Py-f`!@DxI?7=9rWmZ1Gm&jXP#32R^knXn0c5BNw> z1*LEbPml#`APX)*7htX!X0QgiFDBL`t;A5R*vd`<53XLx5iY?`?24A?KvB+s4vfZV zaEVcNsqt70YHCBVFs1TnEZdF)REQ(|EC673pb5;t5j?>Z4lWpoFawF;2Y$c@D6tYP z@e(UB2WDUsIk6Kx@e@H&21IcbNl_G8#S{Z36;*K+S+NzX1zTi=TeihxAW#HE00eF^ z7eQbbd9fFL@fU&d7e4?5hOrolkr+Q98I^Gvl@SB~K7a!_zynA?`r6rq%RXZ4jU)3A}_LDrl&CQ#KY2%@Q_Uo zQ|!c0OvRiA+6oJ?T+GE_%xWetQ!KB>kSQa??*)oL9E}eBED#B5ARUq52$CQPgdjCl zb2V90HFe-MVKX*mb2e#H2Xf#x-SIZRayQ{IEPc~AT_8AxGdNqI1&Fgakuy1!b2*u_ zIg^tGpfft9b2?eT7NOG?u`@fhb33yW`F8R5dhrBUAo!3{5Uep6I8729&IoQG=L{!t zkZUtLGZBrB+^#YMO;QL>vo-mXHEZ)fUz0Zl^ecb!H(g*9hciJH)CHWgK^?R~SpYeu zQv{-uJ1z7=E!6*bkpy@#14Q5i{_z9q_EKDRO0A@ZN z;WNwa7f3H1e*g*gvp;|gATP=7`pk4i+q3%? zU<^GK*n%xFhAoyPqYWoxmXb|r-arkS?b)2|FTm=y@Pk`iANT6I8LrBzS&bV#u^Tlw@)J5f-*wIz!) z24VnFAJkQf(_C91EjtEFXYUy|phV$R6%cSeUjPJ*D~r4HTHR-cW@t6 zQK@%2xdl3P5(G%#16E)Z;*}KC(*{pq%qZ?YSmJe?Aa+4P70Qhkcwk3u_jU(1ckfgZ z0rq$C_aujRcyY4_`d4o`ae2YAd7T$}4On^|w0aeo1-gZSvGezyz#4&JWhwIO2yFrm zZ2-pZ0)Q@kWfvI#g7pdBR|tAmehZd<`*U}NAb(l-68Bel|F?JnxKF*3fD71wpBI54 zbb+b2fwOl7xR(}Al!9$=to&|+J6L@|(iTP&ZcSKOQ8 z;t&p%W|s&#gj)4g5&3j01$F&!Q*4zuJOV!A(*jDM(dZNDmcd_%piZASS&x7p?FzUQ)o$&VL}M#5|>ppuz@=+-wF)>ed*S(%TuHG!a+NBNnH7D%VrHmez1uh~y`Q=5?#mb)Qjpv%K?V1=Zpq#;$uXmsX4CkeA6$3c)32OBGmO&V@pjg2=taFzV^VzY9 zHd-Tli`AO4=h3n+yEx%mv&jWJbrL&402)sq6Ur^L``U11MlA>|wQE#ubAhAd*P|DE zXoY}^Z5tC|GhuUkl_#6G<^$deL#D1m? z>Oc_aAg_!juLN9GQS6Wr+1ViBsS~`g68xzvLBSvVQmX9_Gc#Y~mIGmb)!6S{>Guk#;swnw9x>2FRNf#Z?qv8eL`lRj{_MuaqD^0I!z;7*Ny^%HRmb zccK%%}apI-5h7T`m3?K&YAqq^IXp%R+amF#Q{Cgv7FGg z+;9(FVG_N#7hNDf0A6{#<|3WYj3O-BWH9dgtr}xb>gs+jBY!y8GZb?)z<@OWj$N=C zb2T6nv6fmg5r{GssFA1IYpS{ga)1fcKoS@cPWzw-j8zGgK(QD5PMuW<)UmtS(IhF+ zB=@&?u^4&xcA$In&t<^gdHc%6cw?nDq2W5XWjc+CF$sQQ$4{XX*1!gjWmzDAlCyo= zyZskx;0MBe)61PdD>2>G-Gze}c&|8yk2kHSywqKM-}^mdU;5uO`+6G~1Xw`1(X$gO zSYFf_S4-dqv|SQDav7Q-7kVIm$DQ0SzBMy`^7ZC(e&;*9o`aswhaQwEQR9ui5|RGnwV3Ju=lz=B@#&%7 zVssMqjMWJ#|Mm-Y zk0*{msR9Nq*peSek~n+_F`~pILMmFk2*e_gjT?P<{0K6nNRK-IKI%A$GNsCsIa<1W z3G?NQnKWzKyjfF*&Ye7a`uqu$XN(v!T(mffG^x_1OqsGk$|5R@6H-rDy^1w!RuNZ4 zc>U@XgxIlSKX^D3teC1%kIEdmfnfrJ1q&uz5J=Eqv0|fm2$=|Y;>E#2GFIf+airpr zB}uM)j54O=m^dq2o)J`rzRa9~4lUX=wCJW!k4l|dRjX>PT&;oyOE&fg7`C7dTif<+ zh6xZB5EuYFxNzWGY>CQrJd^TFmzZC=2&5$e}g@{b~D_&a|ZxEJor20?U27? z{=EA0mD;;^Z^?bA`K9XH$3=*M{{8&-Gk`!r2{|yKh9su{0JBUmTKo`LgAWk~VT3= zhJ=z2C!)yaiZkWF;!QNp$r({P4HW}YdGg37R6+g;=v7k{i6mFAk!6-3#RP*&CsI;b z0Rs{+5a1139=J>~m-O%#n1PKs=9!|JndX{pqDT{*appv4t3KIj<4}6`Nh_eX3OOX9 zg`RNeSRb&Ei!@IC9FwkGU`V}WizR4-q+;er*K^+|c2OI|-*cFWM8453~ zuz2F32eEnSt*2fkcR+IS9q-9kNhtQ+m!G};F;Ia8CG7A79ipf*%rd%g`mA8lLKs94 z6V_az4ngF+gAP6a>~qkN4V_YnBF;bq(%LRS1Okcijw?I){HP%-Di`xR&VIy^R>1Ch$w%n@2Eml~wJ`ivK2Eii6FGexD+TCsf3mCv}KIp*^5&&PwS&no3HL&T( z!C-M{;li$P1%{mg3^c4E4ILJqi0P1G726nm$E^;|~K!hJhCt!3hBQPiYW2VeJ?J7AThc}UF!tbDDq4}MR3xXUMXyyv!IK-om8Up@&M815 z*R6&$C?Zj1Dy=yI2+$=KBs2*ar|5(ln1F*4U|^9MP$Cl#l#uvE(IHd3$m1rI#Y}#r zi=5=7OU4MsQ)P=qYt-BuPr0W#ipGwt928Z|HKecjv2|nNKqi(!NJBEg1|_(FFOz75 zGCTrP#mEKBCRs^~T+%|C%w#7!`N?Qv>rHVgWw%iIMpcfcm3D;XD`R=2v4qcVEU<;J z3VBFg`tkz66ec8#;RGnoFPRltW;31n%rJ&>pKKcCWvt09Y`RgKtK{Y#bA?c<$WolX zLJKa@xl3amQG^uTPjP4=3XGcnuwT!C&Lsp!9e~Z@4F;Ti4 z#*~NbX^+NyxG^CPF=YGEhd%W4Qv&=aKs#u{8bFbXVI;%}otkIyDr7|qN%cY&%20>Y z)R_LU#6(70ld1X%r?8??tg4bh4xWZqfc~V7-Xcm1WY7XR$~CTZP34Zh_7t}1wSlbZ z3a|Y5*FOr@kKr=`1*LHtP&ncVJ9t3`D3F1Z85OC+DCRMpIx~-0F^i4CD*vtp+B2?7 zt!zXkL3NaZ)bLeTM{?je>lPbdi2*^X0L7zBfB_0%K(cD^L{gzq3@|7Tv(eHlGpW^C zt%jD2OCv3vuzA|iq*jmrt0h!xVMDiZ##Su0Tt;GVo7>$MwYRC@QZXbM#iv3wlgaJh zaz)wPIStU7(2Z_rrt8Y;uI9Q*%IrCej zXIN>4FWen4WZ0zuP>)O}#zXhq6sMu+m`;gUME#J=0w*X!85}W+Ul3y%#zZDPFH#{) zRuzl)9LW|vvPDjEag3fUat?@m|Zl#U+!T_w12A_cOkLu9Im8O=xZ! z`docX5^T5ofiNHl(rqciq)Sj~ITNFp=pEjjJ^krw@mbW9VH%z0TS`HrS}9vzHER={ zUG2ge2D+GrnrjW0+|i3a6~&jnHrmlTNJoV!q=OvdAcr@&0p0ATu)8bVQkQ=C!w@S^ z#cJxq5_?RDC{8gFUvPv+BB&UmkY~(pJeV9$b*fgy;#ITwV=hWO$UexykdGWjBy0T0 zGaz!uKi-3m%b*8NBRPz8qDFvDxvjCP@?2j|*Q3~VDOv83&A0rgReKrCWA3?_Nic?B z;IdJNY^(|YP5^K-40BmbO)tVX`?z3x$csbHrx>q3O*hG@)TS2bo@6y>oELhJc*JgO zI3S95>2e1qXgk2&i6Cg`qRt0@Iy0j#b;VFUpZe@OC`YaJrg1$pUI#na?JIUwlYNh7 z_mvO^NpvQ#-R(z!dxF|PcTd^IpleX1G(x&&UnU?yzwQQagusg~b5ZeSVK!zY00JcN0ZHI4iA4uf@&YFC0yf}%;Fk~v_blaye(4tyLKb?`q-3Mk zWLtN7Yn6I3hid=VO$h~Nu}2nYXB)K@FKs7*YVdsnHwqKNY4r3FotJ(b$afz2cc|iI zA~=FQQFy7edfJ47<)VU(M;5?>STI;DGB|q#t%@QMQ0l8nql8k2MB0}hK2W(>SHmbrCb%Otmt_FBc+ch< zfdyEDC0M?)1Om1UvhxJBgKMF9R4fAxzhHr2qKaE664pX&wpd2SMuxF+C*V?L%jPFI z=S|kt8cz6MVqpPzqZSy{1lU*t+Gr5O09*yPX%|>Y;y8{V@>QbtCZbhM>G&D3Vt7dy zU5OWuMZ#aNR*z+o3)Ut(`}hJS(2t@>4AM{xnHMGnX^TgomCDCq zG=-JXXMNXaV*JKaA~RHy)jrG6B~P$8N03Z4b2B?51UkbrLIamt)jV89mwi@7xtNQX zaaJeSi_W!jR3=v`@B(oqHZib3+|xE|qhHo_6@SDP&^SwD;b_)IYh}O$9|>n=&^`b; zcc^%hQ0yuvi5CNj8>4S0_LcTR zGDKx*2vUkYU}ra0ML^&KFe;-4NpV3oB431Yq{onzfmTn(b${7bH)$F-N2Kt$cmg<& z(MD#9#!w_+3)A2vr_dIXhXOCa1TPk2%OH0ZLVlI>IE9gtT=+~t2wx$nn(0WN%C>B2 zs9LVHf`$@7+bL@gHKkMnaKD+QBq<1eWre^4ljOwO>@~Cl| zkqRgcl}bA>5GfpFl*C~iCFG#LM;*bp1}>y9U=TwLvwStQq4lP$G_{rSQ3;lSeI%M< zLRA3)5@(P!4Z%PJ&w`d1VHk)3uHYJ@9TBQ%l2z+jG+vb=?+HMJjBCZ0cE>qGXQkI)+7f zHA0#c3iLILnXjxvOaJ)+XE1A0S_Z{prC5p}ddjDsy0C}Qu!!*y5X%_JshkwcuFr#} z8LP3Qlb>!=T_3A1{2Ch;K&gb(7ARY=qp-4^+OiTc7=}^*7%|HcGfOHqJF(bOu@*}c zJNr33n>|14u|m6OL>n8^IIBqO7Pbljky26oaZwr7V1DRPASH+fV~7-ni0*a;Y5)d) z>$l*+3)N5!yf7Zn2Ync$xaXm`mFT#S%Q4vpG6cYhlp9nkRx&3LOpbu9!SDl1ps>*b zqlXcrr8}cE%U)SEi(J(b3F$n|^<;b*W%XsBVK;WvWsy8tH`@81zOs?;60jZ_iZ6yK zTl%yR(Kvt#rUto^?HNFb3X$1ljH^0!YnZ!+QntNYk0cAcCtEubNW2KavIHr*nuWS~ z*SyT>oT;j)5{ZV@duXchsM)K%v1PPriwct9y%AXdu#hAT!jQ0^2`b8azEYRIEcv_w z1ZaZhzN`notd=hHTfb*3VBO0EH?Tn+l&eT-Lj2NEmjIywBYYS7LdCi;$9hBF;8Q;3 z4IS2qlbA8)(YTjLiO&i|l3O3!XQF|lL|`BZ6qv0@0J;q_1Pn{HM+^iyki<)juBNF2 zG(ZDKGZRU}wg2R!uJVwmMz33pHv4HLx~s1fEXE|T0#9lisbEM=@D@eIL={s3+H)3qa+&c_ttOiZ+12=F3O(0A_Tnu{( zCUHEqb6m9&YsZg)$2rTj3%nD4?6ZIjw1V9KpM`A5^?Sc(oW_m($dN3*0DQbjV97{K zu8HAUo6Me+k;i)6wX++_g9e*oE6B}A$a9m*^*fDFn#i311{eGR6(AQ1`aui|ZYWf4 z9tsKRtj-|%h$3oYq@an@`fp3LCD0JW;FyIP z@``!4cR!e;0S$Pk3cWR%f9+_yteP5ngrvOtUu0~?&AbL`d;@I!!wB)leTr~en36td zb)^b|1YOWa7%qsX&~56fwz<6sA<>NN$W7432r&(lJj)o!V>AkS0R4er__`tuy(B%o z6M52&n$iyaU#r~Gt_;%`4GsSrz%G0LV}RPv{+!c;y3>UUpFeGe4J{2 ztb9l}@Bz1{!A8k@y$ZsDKnHH!2EZBzYcNAIL_>9r!ZZ{P9f*&@|Yy6K!jcTp(_Y zu*WMVQj5M=+dPwgc`U@n~CPxpDh-MJlgyC(x)xcG_BE%4QzVWUPR-( zI$PPbyQ=Sa+nddwx~dej_ z>drMBxzgGnmrJb}fY<_u&%q$X#W_Wy>KLJ>zMj0t_h%=wectbzlgpU9-ox8t;iRJ7 z38Wp|Or6n;tzM#|UsDu>}oRmVH{o+yWWu00tmzoe z=^MV-^pi|qnrC6^g@51+&fpBYz|;Rj;>Hft)XS)^$9Sy)tA-rf1kdE!&D6UN@067C zUkc)*N~%|Fsy;6N+p2nktm;i~8kuI>yVKt8)jr(U9`8s0*q-MEy8!dN-~>RX(|E*W>C*FJ zyv#r!-)NnyyJrg>?7`0=2$$amZ7_TaL)UeE1$PYwcHQWX4(Ss!>B=hM5-y^dIJqOA z;rE=+pdPi~n#uPR*~{ra@0ASga1Zwo4(rRlR7TqiE#0&U@Bt6nPkQ%dKJ>g!JTEKi z$nDxHAtJfo=DmETPcQsEDBJ>R{Q@rH&jebIhb!)27WCG-vGO+0*9?89{{(C0f+z(W5bx zE>+sX=~JjtrB0>F!YYdsS5Iu^+SThSFe z!WBZ6pz1&bow{m41{d7QDzLl~Ypb%xYU@G_K_J1FxDHCF2!7xC6FI}OzOX;oLYhqSGtfPK`5hYa7wKn zjIgV*PN>kV47*h8j9{RV>%$NqifE!@1i2`>6;-^>MHu5mNycOD`RAW|cCj&sAH;A) z5hu{Y@h2IOVDgV5e_YZPKYB27(ME$pGD#V*sIR{$Gi|}D7_ew05F)6=%E~J#6v5R0 z3cXYn1c5q4s0k1oGPAjg)|9Tz>E4uc*OFv}X-{Bh!g0|pdi2rAp?VmQ5G0T_YSI{- zN>WozMQxC)QA^eG)NNB;wad3$U4yO0n$}>-N0bU#NER#k#{l3BBP9sH{#Iu z41TY;f?t5a5O`pLODiokgza!`VTBc*4U#(^rfuTeZsUzN--6TFui}nNZn@^3WAmes zvh%Jxl~8_ZWtLkGR@j_wLcv2$DfEIi;0acHHroZ`5f}%6D2qYp$cdhLD0lRy&2dgAXgLye;JWc(lM2 z)5E}J9ekQJZA~$8k>+H4q{p*o*(M)?4riY`_wnW!F=Cc^r$3zWW*m0X0q1KWC@<>s zp+zVCC?qhi{dQ*vDeCn6(av_b)7@0Y<}|2DjcU7NU<*>Pgtl3u8oP*43Id_Nr;Toc zJopN?@Rm2^A+J>hVP336bS8=zE(wV1NXe{+y~b%zhLJO0ClxJWpcx>R5SdHD-p z{t}o>h~hAYnO9>R;h4!pW-|MtLuSrEhs*E_3}@J59}Q-jgar~|vSCdn9=3^1gklrA z!Psv$MjYcHM>))y$a9u(D_mvLML+lfuRLjz9)wbqVt7V7_R)`jcF|30oim*?y%wpm;?8%1KzU;fG3P^wCuNsTPfXeYuFf<&uY(OeScqzM%!OI=!&v8HsTE!~AQ zV-N^ms+E|=0Czx$zl5n&jJXKmM&%ViMM=PK&VH{dXI4Iq9^g00bl)!&1Y6ED6SyK|2SP6&V78Nq)b`D zH#+J}SF~VSF|CSVeY?(e9yWwt922?Bg|2law_Wd2OdAF9TtT!!U;7G}!2Crp>=Nvc zcM;@kU~?MTM9h%0p;##_cCp?#@{t^i=NLxHgE#hZ%>c)iq(X6mFCkn@mR5rZP;mt~Qkvj)90Mx5Xa|5z zd?$YB)j@>4qJ+2w!kl&~o`72{$OvbmHMPkj_Ps9*v6sF5g2#q`aPWnNDL&Q8=fEen zWr#C64t_A1rM`elfB$RZVWOiJ)MCL?98{$iQ;2xpiZOIzO^XmM^e#!E4bse@zW5E(fLqB57sOujgChR^)#Gho=RKDzsFLKd<%7DHqs{W6?` z0|zhdon*+M!)D0NI!-487B2|B(tTvyvjVOLPrivt|BPq6AHg&aqmQC%@L5&kAm7I| zFe(FQKzpU(9Jwt!-IOIbxS2F3c{_6JO>nxl=Kp9psC^3|7HjKn!sYhg=Gjxm-V@^a zlsJrJbZbGK&j;0bur2wqa+U7m89(~CN>?fJo-^7HoA$cKSK1C=B&klp946SKJq{`I z_UK^F)|IlvbX9)<4PjDjnt!UMsZ+h`+abg_Kn_y7^8*}#%E2Gl4*8Cf{2s@!VcA1| z%Crk*?q-ktIK&`&nSZ^bN|p8&qV)r=Hxujvw#JjBV)0-~TPiH5!8KBjd1jg?5GzKy z-Cn#!ZiAo#19^IlQRrC6=4$cVp*Yqj2eZ<)|AX$T_bkz`@uMF2o}%3E`7s+|j@Qy0 z#oy6tV@HQCBb*|)6E?bZVSRlZ7nU{96mo|8}H&}x> zSc8E17l7fT?BciWVi*jB7>8LHhH zyD^JkLGDPI?zo;>i$Ru{K^vkRMPLWb|N90etfn1oht83YYp_8fR3>IBLZL_oJFz)$ z*o7Rt2e^ZZEeHoHM2BRkg}4g4XW*TuIDu4jL;TYsIaC$FBfM7gDKt@&=?IDH(Tf-eJX7EFOaF68?jWc_J4vA|o?0 zqrjL2QJ94_x`afy1VeDjOL(q6u$MWCgFCV#JhDnY+Db6E0t@`3f9tM*TaAga4cuU) z-6%m5>=;S1G3WRJB#6H0;3OWKzLT&l&B}pL5`uBaJ#^Rtnt;8oYq=R91byU(boc|F zXuK#hkJCen@d&$<42qZwrj`o|OAI@2z^Ek-%-l|KtfwW2iuDZiwhrbxQbdx zwj%tkq-!T`u}%3bvx98DgiIm*^v(Pf&g{U;%v#bt*{bYp2S4BmAjFdijgJ{6I&Tn) z8$~g2_z}^p1tj?aAk-PsRL`kk&ncNr9^DEb4ZQvvm%2Ev0A!Z|EI?Rb1WaIrL}*Gw z=u@fegMCQ@K?N9p|CzuuumVI)R7CAJv4jNgat#oan1>O;O4tPR!VUCN%k^SQ_X-&z zxWygA#UA6u$C-&hytNr{f^=|6pKt!#y4pjES*_KfxK%vy1sQMxbjUsS+pVZD(R;u&sPN2o zAkW@{5Ny*)IQ-FVMT=OhPkN$7=;;F;xJ7d9CsHj{bj^W!q)U9b|{7Ac9|&$*AaoG2I7eu)k56 z)qvcJB|wMu1B-@r*oQSp=CebJ6$Wwbh>X?PUWA;E-LD#|$QjsG^B9WQ!xNJ;3Z|v7 zRgJcAaI60?%=4VK7F|az?AdCmlKW#=IDA;O_(^dwE&xm}zt9VFJ2zT*7k5d7=2{Fx zkhjQa13}mq%&-ir)XF~MN=6OKKw=H=ij7Tx1VmCKQb0>heI!mz!M9Yry0pvc3$i8X z%V=YVp6Ll*u!bd)#$}|^j7m0>jE`{0y)Gq+|7?d~Ma}={0dmN_Z-|zm1&630vG8#Q zsn`NU|Fb#k)zQ9{+WadEz$F216;g23g&DY5Txk&`ZJZggzMH6=V;F~aXov3`iabEs zXv7)VZ})h(FffunuR`QzTci;yYawpZkUHzi!; z|C-YQXct&GiD`#^~i*!b3`ov;2(_m4J<%gu_Qmqkxwz;$Mg+DMB+y!1||M-ca zja#HB>3a|YqL^l6?cv5`hoXS!En{e@;OS(}P9B252gPR@77G8$J$ASTYuG5i^hl$~19Esm zr-o|y8%+e!v_(|tr#Rv!GZ1Y49pIU07t2-(uIjVMXg~(a;tHd}CFH=6g-jqoM#uz4 zU`nU-Q+exyc$0%Z5ClL?gUl6e(VoCP(j!jx+|(FL@+vP&H8>L_fYoK?{M1j$@?cOR zPQ45$I#Vi)YlrvY9GFSlVID1;KIWqM0dr7hqF`pqyhLPe#0pC}W>X5$|2zgBa0)^= z&Ht6rb!5hI(AV`u(=^>t!$Q8M8()ql5%b;P=-VgUE(s+yPQ4`SoWK!RfHHgRXJH0t z88~hkfMSmF?YZ)UrN~a8tt+0^JMxxIn>z2?oKIQQ>O0I}_kM2zoh;#Wg>(2SRvL$? zN#WhTQl!0!p&f^^_6eD$>0%C_+C%W2mf5y~acKf-auCnmVrCA*TSjz+wmuqbOKY=J zzhMdoC#ESig>b4ZGpqg9tli>`=;DaW@c1T)`QB~JBI_JrEk6S(kJ7va`w=0Zxs78s z|0W6&zXl|c0nglrYPisE_=anMR%&Z-2Ul9ai!s3s$~b-OIgM;P|HV^11L@Mr zG|;0%^-8X^f+%owNRNWlP8d&a7*8f7+bFL}K(F2?L4*?yg;Qk|WMx+-nJ+e~jdd9@ z-U(f!stW_DcF07YAZ`{H3IGR^<<8KeaBdm+19W&o+?k@Sm31c%;AaCagWaB5ea-#D>_7X6KIf_E43$R9E$zxT_Dds+KwiB)Ab0 zZ)u-6@o7Zs{%&^{mjN2TSA6IAoW6HleX1K5>Zs8105MTF|7QVz)|ujK1Zc0cPJ2Vc zM(?U_a`Jt0gFkhzo#k3~-*Vrov^_CtYef8T1$IcZ{g&GR8B-{f3Z!2|CkW~k>n)=z zEWfS!2*2n(Z|wgYWO4(J#67n|ZrsNegvfn2>8e}^Yy$~|KnUbY&fPB6ru2ZLm`bhG z*G@}RR^3&8uVAQc4zBVr4zeFe22=X-J98$^n*mzaczK1WlBdMx2A{JHieLmeVmd8q zZh@TZI*{ThQUgc^HYK!!Mn6FEYsJ58MQria_I7UXOsaAiY+spg%lXrmN*RS6{ zfBeP;I-zhOLxmzlID9Aq1jULLFJjE7u_A{Gqoze0ma5a5CPi-CXre~aDPYj137erq zh!B1HXyU}_V<*p^K7RrY+Ea&)ojHyoO{#P$(it<3I*lsTX)AUF3-%M}?_a-r&SZcM zD;6w~YWueO%Q~>&!9QYS!~h$^6}zqc!o_HzSFa3f`wH%})`ADQfB*P-+pBnS3l@$a zLyjC-q2q>@PdtqHa3kl=8#yfb1yUqQCN@4y|Cq2~0PEJSx7dQ!N_HkpnJy)|bjgq* zLB9LMiL)k6n>1&RUjcJ`IT$O=pIfmhUAmp>)~!RzejSpX?B2g;uOvQHrBJ0vl}cX< z7a;=f-@_-MuL6b?M$AYu<#Jju9zTTcL{xx9`5<6{L?M`_v}0IcV~N#6VTXM)RtwksrQu#bSaZ)+hNabyUEu5$2smdM zhT~fQ>_d%S3}I1AEq*-H4nHP7bD3olQCX#DS7Le52U~Ksi#(%>O@(x>RFesq7e)YJ^N-XVHOdD?o zWuUJF&KWF%b=FzSHSFB8k3bpTlgtc_n&`|_GK53WL4$%-D2PHNYN9nVXv!5kE`~a4 z3*mCgSh*n9qM~7!wvfW7@xsVeJA0W0*fk0j>d!q4kw{QK`?NC-vR4JBYO4!x^eUGf zfk~@Lwwk$LOuPd1>ws|zD<`oI;u-R^DE3fqTKBLsPCGzqNC>uI)zXf@1e0^Hw~X!8 zZ?lXMVwJsqq(Ioa-Y8V+sYf@Y|EiS?Gi{N>TY@H9n5CVT+G?(04Vx^mY|Tg}jNrE0 zZoUc9ha7^?(MH*EoWZu+Z6Bwc+-HC>-E`OCo%eR&eJ5Teo0NB+dh4|pUwjPEXCHq0 zy%fw3IYFM&504AMrsbFS)Pv@mYkpMcIehM554BixuwCBFkS~ZLibbNg*#5BMr6|^` zp;$julPo{G6MWB(d9@J3AKqNJJ3qafXe7>iHELHll0hH+WG7TcJqwwgK+$GRV@X0T zqlr0jnYf~<=1h@GK6&MsvkxHWoFmmk{2xb^gUCMc!p@T?U$ex^*?#Cy-CC3kpe3#) zz$FGwsFuC*g04<2W?lCn|JCvqBfSesZy_wuphU8#J?>%Y1F@P__{emtGfhKR=R+S( z)VIF&!O$n~+uTtIL5*=-Xe*q;pQ85R45&OM2Mjz&guCE z9*n~-Eqco}Hq{QeD5eqB00%g}@r)%5kw=Otpf@<`jbrShhsuKt98b^!a0mpCXIO%YI-`thD1R{{x_*6sp9A#vr9P zQ;Zq!L4+1~LyGDW6}$Ap(#Op7Xf?IzOW=;AV;#= z;fkdkgR{F}D3Pi$6(^iSqAwG)Sd1(K(Q2p%gktSI{15|Rx1$HaOEj?~%~-}{7J{|S zit(1kmGe3VruM4d3698%gGc~<K6ds#wkx6|L)W!TsSO4ur zUl1DwDF$@SA7i8dt>Iq_o|5fNNtnS`d=a427~lugm$_}+)pXndXbsoEf^8gFf+5o~ zEz{Yg%`!a`+Z@L;JrmtPq1@D*huz#af!HPh4i*ZXi4h%&9UY6s(~JGl|N2ahyIoEp zA<`iwMXc#iI~+q6I7J@lSlP{hADqJ@9Rs2W!Bc5S5^Vu5Ji{~af+lIprMQd?5CSDN zR9M8tE?h%3xQr9**(13E@U*}W9D_F`gA=rXALNb>LC}kwMOP$)>iNOlJqk5M90q;a zEU{G$f`Iq*)&ly}3b9a7`M`geq2(0P{CE!iC{l!oLGEN8JNSZ?V$ds+(Dryi1y_Q+O zLm+^K7?=YdA__K&64u$pIf8`~s3Qn^q&aek0*&Nd5u?!-RwV^E->=cFMb*~tY;1zp&M8~VWy z)B^EvU@cICHB`f&g+2g`-Q8HB-eOhL>+M>b{C6m}TSS>YA>jd+wo zB@E8cxraWCCTYIMe5}~w#M9E1+5}eMybac!AVFB^&^?61|214gIM@i@B?DOaMQx5( zg@o5Bg+>0{1IoAp%=pZsjDs~?!)mpmOSXUv?1KL6138q`Zk~~1{J@^^!##k5H>_58 z-GeHUmN<4rID7*+uuMC2!AwqB_GwIyS+(1!RCWtpi}5csB8sbv_pX! zXu*6%576Fsg5FrN%sm7rpLLgBG|J4N!#C(Ad0tuRncrcw!!=j~IB4h2tXE}F8Vur| zxXoup^xg>F=UjoBe&Um`;MhnG40c`vI5>&EIK{oyCO9~!{=5r0gvB3-=siT0g94{D z2&cY)#rnO=hlc2gCWBr;sfU8-H&Cfw(8X{z=X18F|4UK`N0BK<3F)JN12rf_O3e&A zV5oKmip8xc2pC>b)+2rb7slAcAi1W;^k-B2r}vG;3{0DCegiwSXLA0UvhY~1brQk6 z>2R`=Vr&6;iHou^Mi)FonU<+(eJJTQ2767M?ZxNP%qg8d&0mVi4(8Wu*a9ug0<6A5 zE6l2a;f5h7rXk3Iu0Gg<8AltuoN*Wjh7qfVZ5S1H)6RVd7XA$uie}Lnoja*!{^8(N%KBLo^}L1Q>F99?EeU{H}0bZCy? z$hw}O&v3<%psCumKo?NbfZ|_Qs3K5~>SdJb|EW?$m)Pf>_LQ2f5H4P;PsCZO^=JKH zAXwO63*H|;fWtMO!@Gp+bDb+z?2fv!19riM44B1@vwuoLJGJCepQ7f9Rs|NpGJ%-Mj^=RP@O{z${ikidA_YqQb1gwL>JeE0I0vOcE?s zKq#i_g^y@&!JZbV!rd+yWcsGXK7@lGG{hunFTwIp3&f!Ao$3wZAP0EK-zwgjNNnT5 zNdr@$yjkz{;u)ZItjCh9$X;--fp7k0#rQ4;7F>gk`0v1gL!`xvUg(&$2?_oZ0t_lF ze4XwM8ZguhEyNZr@iiSj9iP)>EF)D4*#?QinL{m9<&OYyzLw`zY2Ww0ZxDAd`39Pk zgzvzNgQO@%3QsYQNebL80s3+<|Ag`Y(&$V>bn%7U$o;azF2t|_a=;9800fA_EFR@F zG@uSh2T?$v4(k>2^{@mBYUkw-hM?>{Tm!jA5oP7sOrG(;q%mUYoDy&wLrv-eW-qbsFS#x(cn!(z#_axvgE5m5hQSlI@)@+jV;+YUoB=II$FU0U z@M_1-X`vRX2Pt$RJAL7_x)|iRP~pl@FM>`~0%H#RK?wJ+K@f~J{JleF`9ro%Dl ztSm_!Un&G0t*FByu<*Hr|HJ|k#Uis0C^P8z;#59`;&#Y!TJ%LxoO3^YO%VI#Ur? z!*n&sv|_}-IG6J_qeGR>^kZ<+agKvz)POJG5ThdLHTVHQ!x1eFAOZTV90%^2(Zn$m zwL=>%!dC0fHje{38<820%UJZlG32#5e`p@a1r^zyMSBDAWY?6*0P!HH z@<1F-$5KE8woVfs|LSJks;+Jivc@Qj93vzGBAjv|luaL`L2y838iYX=RKXcc!4x2O zb1(OEKX>rv4c~N!&W%$R{tajf&a)QXFee>e9Jd|PZ>d8gEw4*F97WFG{Q6Nw>9v> zPj1kOUUKeD_yEgrPXiy|!YB@l_ly=*d52o448%P=gA;_z67T|(dP91FxLCY*e9w1% z>q!E|xHo(Q|Bb&m&TRR3)p#q#Kz{Fce~W5_U$Tl*gDa@0Cd)7!6ZTxy@rKbDk@IJV zJ2vHkcn`P&HMF=|j)m#*!#SWx0%3tKJYqb1Zlf;`O9f?)3*MU-v43KGvHBWi6Gg*^aqN6*zJ4QOi$)KE8`r#ckEoOMdUaUT8>&D6efF}Dw zg~K*W6}BupmN|R6m*^|KBbfOtrO&6~)$oM}c@7}6u)`+j-UCD~6izLIJq`$DqFFcR4aT}vOCtEm> zFW#E$Fw{fvK6$twXFZ6+2#;M~*Due!oUo_Ro!CzaxWO>P_g>l?{=BpO@WtEP!@csE zH=gVQtDy`LD_7l5dCPLW-YW*!fBoMB{@yD5j>Gxc8-5$hdEz1TOVqI)OCamRy-`X1 z|DJ!igX4K>9?`U@6u`L!vrwEelfp(d7Le5P1k(Q zCHVF+0e2q=LK?_{927_P$1<=&W-JeDa!(lf*Bl(6fBL6C-k|?=;6ZiZLHyf#7CI{z zF1@t+dbKWP^fvTUE;CdDL=J%i2@0Gs!{9-M3lGY0_z+@5i4!S8j1j}(MU5I;w7A$2 zWJr-CNw#2d5@kx2D_N#IapL65lOkw}0C5v%PMte>_U!oq=m!#`rbQc;s?(Y#MQ+?^ zqDImwV9=!LnxR8TRv|uo{P@8YY*?{l$(9w{18v$K1J?>{TM+KSgbW#0v@3%e|GR61 z?nbjwW5&^l8+o(~7mpp>=E5 zuVz`dHmg>x+qP)o#zmNeF5SMndCU0gJMhQBhlz_^d_1vC7Rn=AcK-Y_P!1J{8bzv< zsZ*#@p-mHZ6}3KnUR{?r?*n#P+3RZ)l#4s}!rl>+jr+!H{_o(zg%>Z596*(nW3DFX z45Tb54wm?(sLs}4!iEnfm|%ecEW8lIEo_km77iJ~gb_p#NyLys3hASdG}4G8jx)k| zu?j1ym|_YUtB8@tDWcF(NAZ00(T*U691;>ciVU(yNR(WX$xSM8vXo6q|Cy4?Qg9)J zfGoA#k^lxOz#s)9%#g&C(SqS&wez^rL5DTjd=pMK+nckt`0P|@zC7>R$iF^GI;kU< zU|O!RLJd9i1e#uothoan-3hZuB?W4z2Cw@}JJG1pMTR!jTobG~Mb&}MQU|*8PCZqf zh)+LV4HP7o7(GVe*U1O8kW=VaP&S>MKmRf7C z^)FjNxAhiLMZ;xu++EB4bwPC>jBvsVE#xvw4P}{ymRT5qC6iY^|Gb36MCvd^jzZ{= zBMy{XjN^)x&uH-sFwVFl=9%LKa>$%@7IH~D@c5ZYB{zX&lcF~vWlB=8qPe~AlFKyJM?xY2|UT$s}89K^KPsjBLfYBk^V;a;rk z)Oza~y7n5du*Eiv>{%Tn7;RnEHjwSirh1!QO^;2s?(?kHyS?}N_WN(%^xJQ6!VBMa z;93)xY;ndHp3d!IL2I`=Vc_LTyvkX-9CO>|(zkQZzuu3q&`TPfbV9p5-KNx`V_QK6 ztxF0*2`R*o`T;DK#Y09INhFa=4EbIVK~QAz3>DKj1N|##|3)8uE8KtIiYaauPe?fG z-`U6@@d%p9N-80`5}`O+m9E6JrhO?)V=7a3&h!IMSvEVPS$|7(*>Q&UKkGR%vqZKrix8R6c|c5alDpAr8lg z984kzTOh(VG7)hnL}3(H$UGN*po%d>m&4!&yJ@_uc0LFs7)K>WGSrx&g7+2ooovhn|O4&nt-*3@&NZ>eZLrG?Ro^wXal^{7C}2^n*O0G%WS0rMKx&gez#lc3zt zD`erZM1;r?Bsx(a+MuF1obN?ph|!E{wAJ|S{|Kx-nx8Kr5zJuf&u7CV=Fo~3C8SZQ zfXeI=0-?6RX*94k5G3RT^=45Z+SD(<6AVX3^3g~Z424h>YED>q#~98Kr48K_-EOx- zLK^Z^WCW~5sx?@`hD27SJM1JAd(g!)mU&c!;X<<*x9$`JS$X{;7!66&&26@`f&1rY zJ364z+N!icJ?&60iAO!AtDSw693W*|FCNxbn_I&zV06n{xU zI;tlPXfcdw3>J)dMItZ(vZxB8m2_ZHAFdip^quc~HM`{%=BE!{{#R%A)8EgGv_JkC zv#q2!+R~KC%({*S7*lg8-exOC_w>yn{|%Wg@HWa@vibISa-`&Nand-dCsfKaOVKjdB!)6OHX%#zM69?sr!m6Q)UmM#AznHH+ysZpqyjdHAGmSaU z?xB#^_00((quN=G9*eN33b^@_2KE!bqhK6$rBl(O+mCt`$=xWqr!q){Q}$)sAW zL+J$(_f}bm@TG{BX$Zp^s&IxWT%pj3j^CndB)_rxlB{Z7D}v$5U;{c>fe=R1UVDf& zzaElvHU1h$9l6F1rr@`p}+qHu>E#v2m6`TXFfCVlGtiAq#@JNOvAJ@?pEGG4t9K!IfzcjIq0IEcEb*e z?N?tNz@b;?fqzm%uy}>y|GAe4M7$S8R8>(Ju==9+(FlH4h{EPMzxn<`I!Qberdplk zBn6wi(sG^a(=yFKmzM>}xVG>iduUvhEvD*D_od|AZ2Op2BZDH1jzI7uff3~u(ZM>cT%`|T?VAI#`w-pCx?90%& zFw`=-mn#G0!#@1Wk8$(MfBW+TRQHO9`q=OH5bFIL>))J5ybSL`2w(sl5CY9BV;G?o zG656V%e@Q%zDh>E;()&J%a%Z}W~N{SGfv}rX-NL-XFv{UnnV+f>Ex10u2#;j@ao7s zWz66M?{q`n%+6oX|88_Ztj$O(+_3M&-j2&A>;C2mclK}Wn(oY=E-Xn|d(k2&)QpYzPk~3ysj+B8$kpLk7O=2Du^!Ywn`VkneDe zc&reyi17NfaLyJ`dJeC8@XSN@EaAS#&roDVT7>ens?ccUMk+B!F456$W@iKptvXTC zCe4_rLbm7j@B!ut@9t=nH>Q$w1A_rfV352Nod-8NWpt+wj#8&>1b@ z0nV)pjpbe1|1HUK%^E{Z7;lUi>n#@F2pN5E8GWp{oDqfy?_mltsVpRv^h|pU;gm{* zL=2%13c=wDK}GDVd>*ovW+oyrE|*S_6YuAjf~l-FvPp``Xxu90D24{5CQV+h?q+W3 zqJK+YH3yF{Z;EBcN?j)6NrgqRBdkv?8$0h#-CaG>FZBcn{ z@&nKS8oN&#zt1GU4kdq*>B_MGpspydO#81NqxZ}BdWdmc{%QKSv3O3*4V3@&d9sNj95fb*cBF+Y#v zJWeu0|L&~d0OTaCXgsoL-pWcsl1oO?_0mN7A_%&!Qo8hTD|Jo)yKTF`Qt-y@yI>6` z&vC_=Y=@jnf=V+O&#bdj6aCbW*jf`Dl`S@5jSHjE3)5f*Zj-_;s~Uk43T^6hd=sEn zGdPbe5MeVHW33$F@Y$GaS(=l!p3^jW2Q}eRHDeOrgflzCu{bk{9|i6ot!G2divlgs zlt88sG|&)IMrA(m3eq41?Tcne5YaL*UM%t=J?pb<#Ge2FdP_L)&tn(2NR4R1L4tMENcF;17m2 z|KK>GGC7yiMK#n3Pg6#@iAFulMyJeB>~T2rv4tvN{%Es1-bF~OhDgWINIevzl9Uet zghZQ^09_OKc2pcUAU^ey;5Z}^Lu5osWU8zR5@AF}Fwd)aB&?#~^B^tcI&lRHY?u&C zN|I(mm#Gvjbkm%Z9icN1J4Xz5!51PmQfpxeWS|EK!55O@7$~&`dcYMVHBxz@5kSHZ zYGDgNLIwiC6-0uKoM0D{AsKjK3p!{CY9Ul>;Rjw~3m`RA3E>2mz!d_aG5o+4c;E#5 zfESW=7yJM_b#&bHF_UIfIPs zpZ=x?6oFD5;tyP*2OeT#E7l2W;TU4|4@v@FS5+ix^%$JN7YKn?ZB zY+Awp%z-P1-76T2q7f$fMQ7^55QJj2?JjFm0p*C z5M;Jgm*50;RZ@AuSAkVnUxHYTRR$ViWRJlWYT(VBH5`vNhR{?2^U@#p|I!vZghSYC zd!p)l`rvyIQX#J@MMUr+v5ID_U?NTM1R?EDIWlMjRYFw{G*6KysnRFK4k+)U7OvqN z!hsyX;Tx=hVt3&hz#$yK!5f@m36>xkz5yJ@!9Khp85{x$o*^8bK_iIZ8LmNaoIrZR zVR)-y30j~QydfOE;TwwAU3~!@c(;6y0erpT8kXQBlHnSBDR1UtikMh;24CLd-tM!BlsJrp#`vDdxw`AzE^|6 zVT@bA6{z7EPQn$c0gJoX4_KfJtl=9P;Uqek7ZhWL$dlw>h2Ku z8VP|Kly@A)_Zsk{jo+9Wu9g?PA$Q3^f-6=Ajv*YZVFvy}ez#yhD*2Knm2rKzzf2_3#>pfp&&7}S(~H4F~b=OpkPn&{|DsIYUI>P6Et%(O9ACv z_fTulm!xxQ7rx;dL?REo|3Ri*!5YY+8fck#C3Re>8l_8fqbY$$=VJAP~Tz9p3i@k^vl?;a_Q3g%0pN^GIoP(p?5QJfAD5 z_gYUf_86+cK8}GG{=f-F`x*oZt|1&``vgY1qeBa;(TH=Ri?Lfv^3 zFD;%m4MQyl2RD>qxwJQ=*B2hbeka%=Y9W0e|H2Qv0UXTk8F)7w#xn&c$^4iAfcVX4?x<1Wnc-8fqHdIdXIsT z8XKuIUyv}nO&RGDoS%9s*0VS}&8^)mv0>K;FA*5eBw*8f8``C~3 zNJ;^j(xm}Bu@uvt@Wu0l7kc+0cp)6T|KTCB;Mm3BA+-DlfI|kpU5qutyA4CjdjKT- zydwae$*%#vodG4HT$oXU%7dKHvpgMK;RIsfdhs^j96ewKkzf(r&Jb^@n#!5qYpMvd zzOu@FxJpJYuk$$1!vXA^DRabEmz@W-GvT>H?dn2vvl^|@reypfCR@m3fC!v>20CKL z105u=I~=~<8Yns(Sk;39LCdSb8F)d3nYM?J1}o&1e<8!5ea}w7a}eh9w44QYso|&Srtl6?~ z(yCQ!r!AhgcHZKdOP4OByLUHf+QfGgslTKM5g1IkFaZV?Fr+YIMv^ID(540B@xzDZ z%a}83zTBg;=gv8DfEL{&wCU5PXUqt#y0z=pGGfb~O}n;?XW@LwzBVq;>}%wH#P;J2 zoQxRAcYV9IhrEUL>n$2J92d?Sp%%WvfqPaB95`1ksI^NMu6qp@2dh0B z_pD(c7Q9*LZCnShboY*=@=e8+vPyqy@TxgS?8+Q0%h|oy$ONoWH z>%*ZfD(WJm|1!!5DQuF`#>+R>$c9@ovmL8jY`h5<+ZM&~P)#_sAZK57EkJA?Z#`Tm zC6(k@3FJ7qw!ngV?1fX!dsl{&<$X&qE9*DKrWtL42UhFmwb|Cp5x3mF6qC3&<+M{z zK?Oa)P_JN8G*gHm0#zS+N1X-u3El~*M{4`GE_58 z!!gLZ4wM53P8U&g-e0AOHL?}n1`Vl2vc6FRYK$Wx&XAx5Er`M8X|Q<}cz`IR5xoqRD}*BYg$qh(!oi`C z|4}MjVWe7Un|<{wHW8tQY68+2?epqu6!$=RW|B13cge2RXdq z3fs{Rg1FP2LwMi^KZpPe$KZ|=inqq&wegM3gNaP)h!dUg#3w=n%1~r63t7m55v*Xu zA`pRzODN3{f+$29;y}$XV1;U2xk44fa0aSX!3tHF!Z)ozma(B_Eo(s=Tu;9X-XFUs$i>OPpoDZ>Ze-KNYX~7WUGzq(I2Qx! zT&^7$#ppF!P&!OnhZooI1rb_M3xzn*WB#EXnc@R1aJ0iAz8gn?mT;_OL@;I(|9n#| zZHBXvoFs!Tc^=Qm#iw(L=z9OuK|ldFP=XdTHV929<3Q>Q;Ve+1@u_IUVnEd&wBV{O z=;~KZs=tPMH3ktCU`t;bi2RYV1~G8bGol4S2vRGjG}~#mdYTfTwqyfhz?1auXw=9A zY6eMN>ff50!h+5Ks*g=*Ni*6Gb^t7LvI>V2EaxT45oa7*fLIL7NRZRHq8egq!R1UB zpVLuwq$TwR3tr2D*aB-gwKb0)0OX2L5@C!dNY+c8anlLvm8X3DsT<)aM>>9xu+>x7 z9uw;WfikvHj)kmLWnf6zloT8_k7v9!j= z8RPIqBlM%vGsQ=XE_DbN>a$xSkgAk;J#NkT>PEk^0C+%$zeJZq_1Q0jDNI|y;uRN8 zgoY8}6hSbp4NpshHM==AE0}l+Q!ufLqrl=8v)G*HL}yyg28VS*LN4#j%O)z(7rB*! zZuTq;KJ~WGY4p=?*}Jac91E%K67q4e*&J`EA&}kC$~v68&b~IvQRg^8I_wb0Gia59 zGV>xFL|E z&#`N;lckHX>GRT7i(* z{HPt?xQ;POB@pLW<8(i8&Js?S0$0fI8q^@wHBu0s@d(6$s4n#h;?3q0aOxT-7%iut z;hblPV2lRhMLOEy3}7=z*uy?_9K*%SMo0G-FIYBHCGG4=L%TNJjZF{CIOkGRDZW@P zPNw%44q92Gk^=F?xXWyv6j01|u7h_J-=hzvV2I0iW?JC15#fuz+q1}3}69q~Y`7OB^d6Rh!#E)0u3 z<46Z7&4i|DQ84KTXRuF|H=#v09J=UwG-CgrB6ub0`P?f!3olNa9*Caw)!1y8GApte zSby~FDE;X}4}S57)f%N`{5Tx%jncwi^;M+3?PW@)FVQN#eB_oD9|@A^df!F);RpOSu(J3-p~Uwumz+7IsZR!4B#*h?2r!E-~^R( z95LVo>DDT)GFj{}O6akDo~J(KhkfIBec@+%EO1(L^*_!aO62e)GQa{|Kn>NPA2r}C zyznwEvnIdye*hSO%B2$D!f?-pY{|DS%cp>v5qJ%#C7EgkP<94S#@1&TtJpfF0_`e(slgEx-fL0D16%X6^ATwH15+BY!MF z2-kp7Oq7I6=zBWlgdGup0;n^)lqXOJOcXX0u+R#yfC(D56oUXweZU7GmIhd(KmzZ3{$BrC8 zfF3khR`@4}#f&;Yk4r{r_b5KCA_ITG3l^b`@3jQA;0qmtN&10h-RK9sw*@mvjsZdh zu3(KP0Fi1WkvBt;4yJI;b$lC{E_x(!Nd}UWCXyrRLatB?tJ5mh(T^&5mDoX$2C0NN z*_AzsQ#{}bzR*9F2$UeeVC%?^PREJ96m_3S6#vF_Ov$teiGT@)z+tG^2h@ZW*VIkg z)J=dni?hgfZ&#RU5qEaMHu2OKfKg9DhKzh?Wd2kr0ObQri8x@mLQi=kn5KfRf|a0| zmHIcD2-%fBX_gy-iOY3p?x>OQXgvo-U6%=g;Io-E(wUyARiPQ0qe+_lXPP+Ggs7>S z#1>c?d2Fw#Y_iFev>ArBSsS?NnY+20y{UhtiIb;^ni)Zyh_-Of<(hbel+#6-N@bbM zc{oh=oVF32Dmb0IS)IK1o7fqgWeJqTsShfFpC_T89Dtu|IWCUkqoshjTUQ7qR2H5wq+;gvdSSM>Rl+IdSBxj`E+q>2VT?--uSx1!C~qEYpt zv=O5-nvFGjqqJ5KJ9?!)>3?Pkq(S;uLpr3!d8CDZ2*`+J-r5oU#M){iRq5^#6jAt5+X*wHg%BJK7r&KDZbLy3KTAvch zrF!}je7ZAF*Os0bOv6-lSBD8q;S^Bu6ip)sSg{9Ca|UEk1z(`5uIdF=0IRZU1%zps zZ^uq?r8_Pz8F2d;w`egEp50Xwh+tFG&M zu-3_c(<(F7nsoCzl$!XRJ)@}tIuxyd2`yWSh;WL6zz3?>24m2Q5IQxmXksiTm=^kC zFjknl_!haCtMAk{b>|n2X^e-VcSHuP%ea&*da>!5tnA6LD)}GR`KaaSYa=VKcv_K_ z`Vt;sA;)Qe+z#j#e0e0OgKMT#>$Zn_wTkOej4O_g`;~Z` zx0E`zx+D!}8=z7*6tfTuv6~62kO>BQ2_2T89=4z$_Ml+!puS6?!dt7h3U`Q^n2?|e z$}3NI=c`VejQlj2OQl#Jd7g%grs}z@i5j{GyR{G5qgra8LP@#9R<_e{xkuTpv3VJl z$!vt`w%Gfe+MBMSi&D|rxZnG@;XA40+qd?LoZ+dQ>|37hOL6dPs7^Y+iOaFwi@$Xh zsqxCcJ(Z`!X1Nf1h5r&;T?AaF27J8;{Gtk6uyWhLq?^B{>!ZWjziNpDzrea|`7@g; zG@vMoFMFVgkf43ApnM6KVE_hJ00y$?!#@18Q9!&hHneR42Xf&~?v!IlyQ?JHt9XYu zFYvU{`vV=^qUDNdiaVu@T4pIwy5tDK`-_fCH?}9ir+n%G=KHrla05Hg1dWk=*OSH2 zxWy&d#b5lUWhTZZ?6qI}e`k!wYW$@YfCj$UKa#-udd>qDp%%l2y zj;I^9X#8M>+@}m+wjcDy9m2?wAq)rg$j*kxQ6{&PY@=X&$(Ve?3AV{}(#c+0$ojy- zE^HHOzyvn{!~ZKwb+7;nb*W(pY6yJ*O@q(}g^qmTez>m$|g9litDlLny_{%zECK(%<};& zkPGLFA!^VBZyd*E5M8L8h3-PJ&}Xcg8Oa(e!itK|_p5|uY>C{-w- z(C88k#UKa_-7XGYtc@klE-KL)d(Rf#t{}^Vfo!dqNWoqz&>(Hld_vO7I4BeQ&J_#M z=GN`1TB1=W&q5>{JOT#vM-CwgD?m)TeCOIO<D0v%EYj<8SCu+W9Qq=${z=(^a>8k6=r ziI5Gx`z*ogNZD%nr5b<<%diX>ve`f2*&`j=kP!{b@Ck!zy-tbRpQ+jv-Po<|y;us{ zPHk|L&C!RZ#u~uWyKT_E4cbK(3^Gu_hJD-_o7@!5z|1|mb<4GpZOgMw-MGZ3`tSt7 zklAGb%os3XS{=KyTf4XG6kv_RyxX7-`n$jjp+9`!K5WF`e3-}E#PGDM=KPoyKmjFC z1pnL(49j5BZNSi#Ih&meuxZMkam&3H?cB4R(O}!pUAh5DP}RV23X)I;O|SzfU;|75 z+M|Hs(l8l9t-+Sz;VvD4Ar7~>S-+0$u_oTNk1N?w9i$sD0hu5T%kbhcKI0|u0ypjm zIiBIrKngR^0|Wfy=NaS{2f{=yokl*>Np3sY`J+wVr6gbr=S$@>z5^v-<2a7tl92>p z9_Ho=lFf;%L!Q_pF4OqD<~OzE?2VTE+35M{68KpGXHX2ROXo*$0~NpkZpo>{+zQ9s z6qkU*f&gM;5C>_{O(JGuRS*R!HcsT!VpDLT-|TjCp^I)|7Y>dGk$@M$NOz2>*Z=2C z;YIKST8`l+EeeP8M}>;mt*qSB`N}wIrLvspv>e-JJh`}hk)O<`l1}N+@Zyh9-!zWp zO~3|QzT-&1xlGFJ*I3?B3hh-o?Q9O+5q#~pOxr8I?L%4t6Cmf`ehT5v1a?mD=5FlD zH&DyY?AxoZ@b0M7zTR$r@9s@(`o8Z!fZ6{Z@B_~T<$mtPa0%+J#R^Zq9NX~H{_yn9 zSphLW<)#qsM(_eC@B&9r?x3Iw8UFELANEB3&@FweLXO8t?d;UK_H19%3Oh4z z&z($H1G+E`bZ_@BaOHc?27TZ4#V`at&KZNx(hvCI^UUlMz3{8e_~`9>ZqLtfua<}` z<-kz)WpMYJ&-Z>04bYGa6}TBS+i&b7Q6ITwOqM$ zUC+Q9Teb|nwE6zUjXQA5mxg`UOpMd_68=Wlq^75ydr%uQuO)FQgp-YS|dp4~! zVKN%7b{jXx>({f*=k;hiWN!8;SMnzO+jnr`#qBRXj$Em7=KuXUIF~AhT(a`as~t?x zhk*qKV6Z_42iU@vSz?)xkySFmBoRyu;ZP6{`{*N%HqsdJ3^2~P!o)Mq2m=f-tgs>q zFrtW29~*D95e^-9fI#mj+`n1M_k&IB(_HNAt)O;h8%jm|oA%d=HI z<15T2KNAbIR-OihtWZOnk}A;+qJzd!NF^1`QcN|KhX1WGKLu4aQ6E~fR8!kTbv;#A z{ma!n;ge6+6aKWdR$PzLb=O3Fy{geiBc1d*V>A6Sm?t_dv)Q+vWs}rt-K zFm3PT_BU_A4HwXH^`p$(UjI{+(P)Haw}c54d@$n(TY&|Z3=>HNkwFp>qz^vY7;%g^ zObnxC7-OXIWtgL&xn>-3^pQs(feaFkB7Zg#5=b-~lR>Rk|eW^_^;J#8wK_s%xCOZZB)`sa|`gBTIVO-5M6u_z~kg5W_K^R3k zXog9p6E%o6;e@ECuKMa_M7e?MuIKvtyxPP@>Hq8&EKgf)w%2z1?YQM0ly3j*);n*# zWynREzXKoqKod+joNBA5nI;%coqfEn$YqC4C)ssb#+!nq0iYJ@-*}kF9s#Ndg{ivWf53c;u5;o;c>4U(RkDrMjPm z0jF90`WrBqzyubQF$YBm794AZhCpTrk`1B{gAjxRK{O&hq+twa7{e99fI$paAq-ad zUY{5 zgA=^&1x485D1hNZY1l4^Lloi>kC?AP82E6pi;ekW zuEMyhUv=+{XPW~oRm zvcQqI6iP02NjEeEql}jnCIAIUzyjK$6_|J@A{GdULGXbOdT7HK^w}~nXdw(*u!0n< z00k%rR0;=;f)k+NgoG}XggG){3jb56LZG!!Xh|yC(PF4H88(fC41fRyuv4002qbGs zuos$gS54lf%8=RACJPYx9!9cnRs%2u~x0Ip1x#`owdKD%1eT33bX zUb9Nmt`hI7-xO?5##&gP{2xdjCS^`YcF46PnPB#w3kCsfISRl32EvxH66+n)U)DzAB3m zS5^zFB-ticVRaby*)p_(5@*B8N);!VlYfBoMC(d$0Sa6|EJm2xDXbvJs!eC$ovqq(&a`B5D948si zc$O13%vW>llO6L|bW{OBCX&3mA@9Iq7>g}~Huj2lf-Dh+7{qSviL!mN%w;g5napNZ zGnzeAA19P3&njA^NdFYtg-5Gy(w25z8&<#qDA1uXe?bg^3 zo=E(f<@V-u%eR^vX)}D-pO&sFNC2`{fMJS9sPU*3z<>oFy@NQKW*W&t=|M6Ltxa2` z(^v(yBICtpvp!g|D*_rna#7am6;aRgoP$ zP%oRkfCa6EqwQtGQagH8>47eWDr;KXn%myywK07y4PZQBA;Xqxv5yVYWCzdPGx@B0 zpFQtY^NQN8uD}z5p^a?tTiY*CCv0OIAz8qp_wSx#_jvJx0|^Fa;H0X?*8;?WMd#_FmT_kE={aMPVlev zS6;<-c*LvMTV#iy*&k1D=ShXbL%nb1OK|zQ*M0LPPL>k*{!G7z2k=TsZE11 zPdl&OsIg^xpJy|U&{4H%Gb+wp5e0di$vlaDrdhHxyLC|GAh2SbzzDngwh?w1B$WxwHv9 zzH_s{DXTK{;;i+usSfl&imNyc0}vLtgkmtk=}5scSU~`KEh?PBD||o`%Y`z4i!SV% zV!OaFjIh3PH#3|#Bc#4BGpp-+Lno9&DCE90Be_|a1zBJOR!}(&;gH=bnLbDZPfUYQ z-2Wh*s{$4=MLl~N{sTH6*_odiI-*N7C+VmIL_iBT0jBGO9*Tx+z=o`8gQs$wXNeX- zG_S&gFj>MfW`j40JGId|!rD{ACCCM6XhdKTGIlY6Zj-_V&>IsVi@VdsG7<$V0F^(~ zmoJPlAB-h#+CXI#!g!OtFCweDK@?VF0YM0cCbULRz{U#@ASs-H3h+j|%f(LO#oD<9 zAvhCr%$F$Zm*vAMWNgQGdq-y6GG|Q0%XpZ~=z&ad!xP-ce*DKN6v%HZNFOr62rNhO zI!A{rMs=hdiR>(jM3`nItY@sgdZY>^Osi_VM(puNDeOKqvjtdq1&?tvL|~v!{Qs>` zjDs{_kvpq`DVPE)sDhW7f||+7K3lF;{1Korw4qUwSd>Mkp+y+H5)@d#(lAJD7>G+y zf*o{8idZ+aQ6J3-!kel{Q#(WuOhb!v4vd2yp6oo&qrA0}!&`en7-WD6$N;r`0=7iS zU(DOk`3RYkA-za1&GpMk~cT9Q#P%d>Pe z8I+nU)D#ochR6~GClI|#`cX3=lwqOUO~f1k)ZRvL6-7 zG7ZQfMN_DA%VHP>Fi0`t`y)Rzy(d*Z7o}4m91JTBt31upJ$(XOSpQ8O4OB55R5BgP z2w{aqNY(LE%JRD>JKvp%7gmCkc>m1P}J%hNcz-kSN+c?HS91Jq#oX`}`i{vTD6T!?Nfgj*f zY2Y|ORabTexhQN9fb_3#tXF2`MQj*RUC4we5Q2V1H@w2YD#F$=95rq|LvLNRz}$cj z_QI#_T+w0U=m|C#YIo z$j5Va)?W(LPFMr3wU`H300w9f0+>R_e4}JF1!kRw!DY>2(1pV_5h+mI#%B~Px+Y5qinxLMb+P=_-Aw4;n*H4!)mi}#3j!|GAPpb{R^VYkCI%je>aBw| z00ZouV8?~rB)H%vzT6BRUk;XHApqejPTkdYU-*696V@a8ovaqd-z0bfEf9qMRn!^| zUK}po9X{2fJjz!{%BA$rrc8sUjLHw9f~lN>Jf;FGpn|NN0w@UND1ZXF{SoKt82}7G zVMQ8_nnk@uOAC-e+63I^1!957hHcn}24+oY2>*s)_=Q{$Z-QttH$cA z*6OY1>aO#{cMs*Y-p?hIfkXyJXtYz!cF4pNfTo+qH!rhe*Y)?{bp zZ{Rf#O~|D*6hvZ?9TS= z&lc!;R%^v>>osWXxF(>;jvBk(*vf`##0KrymhIW5?b#06w9bmPRxP()LAZYGk|xSj zUDZQq)q2tcSdGr^lWP>=*+ z=2{a#@C4U~1+Srq$NvD>srWKbgNq*pjRyvf_jqrg`KhP+s<-;9$NH?-`jM~sWw`mA zABCPTgP(8r?gL0sFPx-bdQfQkjqmuH-}<S4*c$mkXJZLRzL(rn0JzSX$S&@ zG>GXinCY9#ATQXtoaX5%&}pA0A)q#)I;c>ge)A07?xRLa2$1B$e*!R|gGcZL3DbL&u$Nucs{_W@f?)U!h$NuG4{ym>&RZxXf7zIy| z1V>PVCn)f+`2W!Y#t{{t!UvG}9f0sMU<2YeepNvJrw52(0*4VRXz(DygbEijZ0PVI z#E23nQmkn4BE*3LfpPq$O4X@Ro*t=r!eqyb5)~#qSg>FK%$PD`x@1`agNYqSnv`Ml z$P=hjs8s#p2uveEj7pa>ZR+$XRHsOddITv_lB1F*Q?6|JawgaTH6Pr}xwGfbphJst zL>l!i+_-Y*&YjxvV@OX}wW3tX(q-7dGq>1cwa74{Lx>Ck8pKDBo-vZgcnM=g3uY;r zp+M2>nKNk6`bLu;4d*oK)T-g&IgRHv>`1a9X{x{peib533y_F`i6|bp;({*H zxFnNJI@zR+IMQcdN<8`qWQc^#63dpDtb)lRiC|&~nSuz?#~x|)kp>xThM`3mRa60I zWm;H4g%widnP+LGt@h`it>F>Lpt21*Xl;q&mfI-5{rBi_B;K^#4Lb2;hIEfSA_;Y# zc>nq-sG*8FDygNKdMc`^s=6wxt-AUutg&_?iKdQB*@O{A+;9R082rURp9J(b+5iL; z8hB`mF@(cbdG4+X{^;+do8xvYP&7Bq0UjC*kOx3HrZvHeKy)@tN*<= z+ikP01{hXT{O=AnoM1u*73jxbe@X`j)6&LGfRhO}*ib|fR6{4X)^0ogIOLH_J~`!; za}BrL{?h%zxD)gUqQ>b8$-uHE6n=Q(RWoim>#e)~I_$4wZnfsQ)@{14pPw7LSfiJI zI^v4U9bN3j8-G0V$Im{u?Ka@<`IWqbMHnosRG)|aq>wYw$j@hj3KVMy z^%|k|PdB?c8UXz!K;-CcKqfjt3`$r+!%?!5mb@e;GpWfIKvzW#_rr}Tt1JkvV zM=4BWSd2)z3GA|$zeFZBv#HH(aub`%WM&n6ghps)(Rb7&5-&~QOaDoBvz_jICp_Ev zO)7@dI9DX6Ob8eOCI3_%4OPP|)nO4UbP^`8htsU) zHM3dGXAZE41M_AJx4F)CzB8WbJLfoKY0i26GoS;_<~{Q{CLCjQR%r)TTZ)s#C4%RkOO)u6{MFW9@3|qnT*v39KvXiasWfQv4ykj=Bqb==eQ@h&Mp0=~Gc}EWicvT4yWjNd*}qd$ zhk^69w}t#Ps1vU6g)_Y24u3erBTnn!R5iR{CjWC(SGY5aYrM?a{y4}(F7lC+yyPZ7 zIm%P6@|Cl^>EgT5NTmBjH zkiL;P)T1u-sZ+h`R{u|}Ypt|dR$S&@|2o*iF7~mLz3gT`JKEE(_LLJQ7OZglA{5ca zLnLAlfB*y^;^^+l^xUC6w__ePvu}-N)aXH0y3h<>VB2fSyI zI8DJfJ<{K90^yNAKJt^V{K!icQn&7#=Ko2v`sq`@`qsZb_Oq}3?Vp_7CPsJo*4^$j zygT0Rqc{BQgl~MW(BJN#Lq_3GKls-H4)yvAO(_K>$wqQI7ZIR5zhf$(0xX2S(?$w#{C5!)7gg6@E-uK zAPcr&{}qdHaUHI)PzBbY4c;IQ=AaJlAlkLv+Zl%3B}U!dUEV>)-bqH^J=EU?o@cb5 z`}Nxh7FErlA_HAse=#8@eIK zU;<)d{j1|;Op8v>96o5t`a)tvo!epzp}Mgfn~)#8$y?0S8~k`izQv*wK4I^1 z6v0WMA{L*KJt8mmqSZyBt^o%EVpXmki^s`CupmoJtPsa3ASgZ~G)AK|P9rsj&IO9h z&Bc-VNQP@&MnwIbq}@@a@fhLN;%XdT(jj6YdD<@eqC37L3r1oh;aVATTr(bHHRhu} z?jt|;;{^I3+yx=s*&W{L9r^JcX87F_GNBaA;u9L);Vm5%svta8q(%A-Fjk%Tt>>{qhuuXVWLU4BveMFR8A#TikSDA+lg&Y_@Sb^t>XE)qWZ-m z`|Tu88eaY-;{LVcQLd#s(xWhTWamkrRb^aMA>**vrAc;NRqiEU_N8A+t=AZr%%^}%>S_04tbU`3oW*3lvf7C!AbU_UW#|BvD3IIn9bion? z#{&?79}q!sd;k_?CUHCfXVyY3V8H_nhinD{ZDPR&3`c0z!Y;VNX_BTNT&8h$=4Y}c zFH+*fSt7+jK^oyfB4I)*Vb3vSLy}{Ul_TLL9cn~E zM1qv!v7^H6f;WHzeSSkV>_Tq_#|k(DIDA7g2!|h7!#C6daPY!6JVS77fG^l5Yd(N{ zT7w@9M-A}8HH1Stq{BBjLxhqhg<2>%9B3c}M-3dqH>3kQjKek5!fhHTeYPk#cmppe zXVgvJTaMZ08DmLq9_Hm}bgs~K{wR zgaZ}`#{>8RJO6BHmu~4boaUbPDVKWbJ$S=#`hu7K>76zL0Xzev`YAggsEn?lQa0Z_ zPE~lBVUG@}r+zA^hAQZZB38E1_Sl`eJw_^)-x#=$L)DS`X-2-usza6~6!v6CwWoV3 zB2oH{mbQa0_yRTbX*i&%ocif51c#ckshh%SaA3hV+ygl@0yT8$F$@P5*y*G;!Y+gZ zmtJeO-ov);LbSHSe-^+saH%f@LN#}aIwlpuXO`YWI#d8~Kx#WA zD*=cx){Y0S`C>j0(rll5D=VAanXnQ*tW7N~gkht=E1n*lJ96#@%)jWD)AY z5w>c0{@r0R;ozMopqQim=_*?ORJ8WpPri0;1uE%=AGwcFuN^O@yZq**y>SerY&*h1% z!eXt`V*T_at_s}Y9iApI!qA9(Ej|eརKB9!!`KAZD#MC>aXcKG2~sX^I77K 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 literal 0 HcmV?d00001 diff --git a/docs/assets/gifs/screenshots/capture_search.py b/docs/assets/gifs/screenshots/capture_search.py index 0fda6a8..1c3ba0f 100644 --- a/docs/assets/gifs/screenshots/capture_search.py +++ b/docs/assets/gifs/screenshots/capture_search.py @@ -1,10 +1,14 @@ import asyncio -from playwright.async_api import async_playwright from pathlib import Path +from playwright.async_api import async_playwright + + async def capture_screenshots(): - screenshots_dir = Path("/home/nistrator/Documents/github/amplifier/ai_working/agent_debugger/docs/assets/gifs/screenshots") + screenshots_dir = Path( # noqa: E501 + "/home/nistrator/Documents/github/amplifier/ai_working/agent_debugger/docs/assets/gifs/screenshots" + ) async with async_playwright() as p: browser = await p.chromium.launch(headless=False) @@ -20,7 +24,8 @@ async def capture_screenshots(): await page.screenshot(path=str(screenshots_dir / "search_01_initial.png")) # Find and click on search box - search_input = page.locator("input[placeholder*='search' i], input[aria-label*='search' i], .search input, #search").first + selector = "input[placeholder*='search' i], input[aria-label*='search' i], .search input, #search" + search_input = page.locator(selector).first if await search_input.count() > 0: await search_input.click() await asyncio.sleep(0.5) diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts index f38cc77..fa8ae63 100644 --- a/frontend/src/api/client.ts +++ b/frontend/src/api/client.ts @@ -1,10 +1,15 @@ import type { AgentBaseline, + AlertPolicy, + AlertStatus, + AlertSummary, + AlertTrendingPoint, AnalyticsResponse, CostSummary, DriftResponse, FixNoteResponse, LiveSummary, + ManagedAlert, ReplayResponse, SearchResponse, Session, @@ -371,3 +376,92 @@ export async function getSimilarFailures(params: { `${API_BASE}/sessions/${params.sessionId}/similar-failures?${search.toString()}` ) } + +// Alert Dashboard API functions +export async function fetchAlerts(filters?: Record) { + const search = new URLSearchParams() + if (filters) { + Object.entries(filters).forEach(([key, value]) => { + if (value) search.set(key, value) + }) + } + const queryString = search.toString() ? `?${search.toString()}` : '' + return fetchJSON<{ alerts: ManagedAlert[]; total: number }>( + `${API_BASE}/alerts${queryString}` + ) +} + +export async function updateAlertStatus( + alertId: string, + status: AlertStatus, + note?: string +) { + const response = await fetch(`${API_BASE}/alerts/${alertId}/status`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ status, resolution_note: note }), + }) + if (!response.ok) { + throw new Error(`API error: ${response.status} ${response.statusText}`) + } + return response.json() as Promise +} + +export async function bulkUpdateAlertStatus(alertIds: string[], status: AlertStatus) { + const response = await fetch(`${API_BASE}/alerts/bulk-status`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ alert_ids: alertIds, status }), + }) + if (!response.ok) { + throw new Error(`API error: ${response.status} ${response.statusText}`) + } + return response.json() as Promise<{ updated: number; failed: number }> +} + +export async function fetchAlertSummary() { + return fetchJSON(`${API_BASE}/alerts/summary`) +} + +export async function fetchAlertTrending(days: number = 7) { + return fetchJSON(`${API_BASE}/alerts/trending?days=${days}`) +} + +export async function fetchAlertPolicies(agentName?: string) { + const params = agentName ? `?agent_name=${encodeURIComponent(agentName)}` : '' + return fetchJSON(`${API_BASE}/alert-policies${params}`) +} + +export async function createAlertPolicy(policy: Partial) { + const response = await fetch(`${API_BASE}/alert-policies`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(policy), + }) + if (!response.ok) { + throw new Error(`API error: ${response.status} ${response.statusText}`) + } + return response.json() as Promise +} + +export async function updateAlertPolicy(id: string, policy: Partial) { + const response = await fetch(`${API_BASE}/alert-policies/${id}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(policy), + }) + if (!response.ok) { + throw new Error(`API error: ${response.status} ${response.statusText}`) + } + return response.json() as Promise +} + +export async function deleteAlertPolicy(id: string) { + const response = await fetch(`${API_BASE}/alert-policies/${id}`, { + method: 'DELETE', + }) + if (!response.ok) { + throw new Error(`API error: ${response.status} ${response.statusText}`) + } + return response.json() as Promise<{ deleted: boolean }> +} diff --git a/frontend/src/hooks/useAlertSummary.ts b/frontend/src/hooks/useAlertSummary.ts new file mode 100644 index 0000000..35f7d24 --- /dev/null +++ b/frontend/src/hooks/useAlertSummary.ts @@ -0,0 +1,51 @@ +import { useEffect, useState } from 'react' +import { fetchAlertSummary, fetchAlertTrending } from '../api/client' +import type { AlertSummary, AlertTrendingPoint } from '../types' + +interface UseAlertSummaryReturn { + summary: AlertSummary | null + trending: AlertTrendingPoint[] + loading: boolean + error: string | null + refresh: () => Promise +} + +export function useAlertSummary(days: number = 7): UseAlertSummaryReturn { + const [summary, setSummary] = useState(null) + const [trending, setTrending] = useState([]) + const [loading, setLoading] = useState(false) + const [error, setError] = useState(null) + + const loadSummary = async () => { + setLoading(true) + setError(null) + try { + const [summaryData, trendingData] = await Promise.all([ + fetchAlertSummary(), + fetchAlertTrending(days), + ]) + setSummary(summaryData) + setTrending(trendingData) + } catch (err) { + setError(err instanceof Error ? err.message : 'Failed to load alert summary') + } finally { + setLoading(false) + } + } + + const refresh = async () => { + await loadSummary() + } + + useEffect(() => { + void loadSummary() + }, [days]) + + return { + summary, + trending, + loading, + error, + refresh, + } +} diff --git a/frontend/src/hooks/useAlerts.ts b/frontend/src/hooks/useAlerts.ts new file mode 100644 index 0000000..c443412 --- /dev/null +++ b/frontend/src/hooks/useAlerts.ts @@ -0,0 +1,98 @@ +import { useEffect, useState } from 'react' +import { fetchAlerts, updateAlertStatus, bulkUpdateAlertStatus } from '../api/client' +import type { AlertStatus, ManagedAlert } from '../types' + +interface UseAlertsReturn { + alerts: ManagedAlert[] + loading: boolean + error: string | null + filters: Record + setFilter: (key: string, value: string) => void + clearFilter: (key: string) => void + clearAllFilters: () => void + updateStatus: (alertId: string, status: AlertStatus, note?: string) => Promise + bulkUpdate: (alertIds: string[], status: AlertStatus) => Promise + refresh: () => Promise +} + +const DEFAULT_FILTERS: Record = {} + +export function useAlerts(initialFilters: Record = DEFAULT_FILTERS): UseAlertsReturn { + const [alerts, setAlerts] = useState([]) + const [loading, setLoading] = useState(false) + const [error, setError] = useState(null) + const [filters, setFilters] = useState>(initialFilters) + + const loadAlerts = async () => { + setLoading(true) + setError(null) + try { + const response = await fetchAlerts(filters) + setAlerts(response.alerts) + } catch (err) { + setError(err instanceof Error ? err.message : 'Failed to load alerts') + setAlerts([]) + } finally { + setLoading(false) + } + } + + const setFilter = (key: string, value: string) => { + setFilters((prev) => ({ ...prev, [key]: value })) + } + + const clearFilter = (key: string) => { + setFilters((prev) => { + const next = { ...prev } + delete next[key] + return next + }) + } + + const clearAllFilters = () => { + setFilters(DEFAULT_FILTERS) + } + + const updateStatus = async (alertId: string, status: AlertStatus, note?: string) => { + try { + const updated = await updateAlertStatus(alertId, status, note) + setAlerts((prev) => prev.map((alert) => (alert.id === alertId ? updated : alert))) + } catch (err) { + setError(err instanceof Error ? err.message : 'Failed to update alert status') + throw err + } + } + + const bulkUpdate = async (alertIds: string[], status: AlertStatus) => { + try { + await bulkUpdateAlertStatus(alertIds, status) + // Refresh to get updated state from server + await loadAlerts() + } catch (err) { + setError(err instanceof Error ? err.message : 'Failed to bulk update alerts') + throw err + } + } + + const refresh = async () => { + await loadAlerts() + } + + // Auto-refresh on filter change + useEffect(() => { + void loadAlerts() + }, [filters]) + + return { + alerts, + loading, + error, + filters, + setFilter, + clearFilter, + clearAllFilters, + updateStatus, + bulkUpdate, + refresh, + } +} diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index 625d483..1f22dd3 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -462,3 +462,47 @@ export interface SimilarFailuresResponse { similar_failures: SimilarFailure[] total: number } + +// Alert Dashboard types +export type AlertStatus = 'active' | 'acknowledged' | 'resolved' | 'dismissed' + +export interface AlertPolicy { + id: string + agent_name: string | null + alert_type: string + threshold_value: number + severity_threshold: string | null + enabled: boolean + created_at: string + updated_at: string +} + +export interface AlertSummary { + by_severity: Record + by_status: Record + by_type: Record + total: number +} + +export interface AlertTrendingPoint { + date: string + count: number +} + +// Extended alert with lifecycle management +export interface ManagedAlert { + id: string + session_id: string + alert_type: string + severity: RiskLevel + signal: string + status: AlertStatus + event_ids: string[] + detection_source: string + detection_config: Record + resolution_note: string | null + acknowledged_at: string | null + resolved_at: string | null + dismissed_at: string | null + created_at: string +} diff --git a/storage/__init__.py b/storage/__init__.py index 8a6dcfe..6792561 100644 --- a/storage/__init__.py +++ b/storage/__init__.py @@ -5,6 +5,7 @@ """ from .models import ( + AlertPolicyModel, AnomalyAlertModel, Base, CheckpointModel, @@ -12,7 +13,13 @@ FailureClusterModel, SessionModel, ) -from .repositories import AnomalyAlertRepository, CheckpointRepository, EventRepository, SessionRepository +from .repositories import ( + AlertPolicyRepository, + AnomalyAlertRepository, + CheckpointRepository, + EventRepository, + SessionRepository, +) from .repository import AnomalyAlertCreate, TraceRepository from .search import SessionSearchService @@ -25,6 +32,7 @@ "EventRepository", "CheckpointRepository", "AnomalyAlertRepository", + "AlertPolicyRepository", # Search service "SessionSearchService", # Models @@ -34,4 +42,5 @@ "CheckpointModel", "AnomalyAlertModel", "FailureClusterModel", + "AlertPolicyModel", ] diff --git a/storage/cache.py b/storage/cache.py new file mode 100644 index 0000000..9154221 --- /dev/null +++ b/storage/cache.py @@ -0,0 +1,86 @@ +"""Simple in-memory query cache with TTL support.""" + +from __future__ import annotations + +import threading +import time +from typing import Any + + +class QueryCache: + """Thread-safe in-memory cache with time-based expiration. + + Simple caching utility for query results that don't change frequently. + Uses a dictionary-based storage with per-entry TTL support. + """ + + def __init__(self) -> None: + """Initialize the cache with storage and lock.""" + self._cache: dict[str, tuple[Any, float]] = {} + self._lock = threading.Lock() + + def get(self, key: str) -> Any | None: + """Retrieve a value from the cache if it exists and hasn't expired. + + Args: + key: Cache key to look up + + Returns: + Cached value if found and not expired, None otherwise + """ + with self._lock: + entry = self._cache.get(key) + if entry is None: + return None + + value, expiry = entry + if time.time() > expiry: + # Expired, remove from cache + del self._cache[key] + return None + + return value + + def set(self, key: str, value: Any, ttl_seconds: int = 60) -> None: + """Store a value in the cache with a TTL. + + Args: + key: Cache key to store under + value: Value to cache + ttl_seconds: Time-to-live in seconds (default: 60) + """ + expiry = time.time() + ttl_seconds + with self._lock: + self._cache[key] = (value, expiry) + + def invalidate(self, key: str) -> None: + """Remove a specific key from the cache. + + Args: + key: Cache key to invalidate + """ + with self._lock: + self._cache.pop(key, None) + + def clear(self) -> None: + """Clear all entries from the cache.""" + with self._lock: + self._cache.clear() + + def cleanup_expired(self) -> int: + """Remove all expired entries from the cache. + + Returns: + Number of entries removed + """ + now = time.time() + with self._lock: + expired_keys = [k for k, (_, expiry) in self._cache.items() if now > expiry] + for key in expired_keys: + del self._cache[key] + return len(expired_keys) + + def size(self) -> int: + """Return the current number of entries in the cache.""" + with self._lock: + return len(self._cache) diff --git a/storage/migrations/versions/006_add_alert_lifecycle.py b/storage/migrations/versions/006_add_alert_lifecycle.py new file mode 100644 index 0000000..d655a31 --- /dev/null +++ b/storage/migrations/versions/006_add_alert_lifecycle.py @@ -0,0 +1,100 @@ +"""Add alert lifecycle fields to anomaly_alerts table. + +Revision ID: 006_add_alert_lifecycle +Revises: 005_add_patterns +Create Date: 2026-04-04 + +""" + +from collections.abc import Sequence +from typing import Union + +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "006_add_alert_lifecycle" +down_revision: Union[str, None] = "005_add_patterns" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + conn = op.get_bind() + inspector = sa.inspect(conn) + + # Check if anomaly_alerts table exists + if "anomaly_alerts" in inspector.get_table_names(): + # Get existing columns to check if they already exist + existing_columns = {col["name"] for col in inspector.get_columns("anomaly_alerts")} + + # Add status column if it doesn't exist + if "status" not in existing_columns: + op.add_column( + "anomaly_alerts", + sa.Column("status", sa.String(32), nullable=False, server_default="active", index=True), + ) + + # Add acknowledged_at column if it doesn't exist + if "acknowledged_at" not in existing_columns: + op.add_column( + "anomaly_alerts", + sa.Column("acknowledged_at", sa.DateTime(), nullable=True), + ) + + # Add resolved_at column if it doesn't exist + if "resolved_at" not in existing_columns: + op.add_column( + "anomaly_alerts", + sa.Column("resolved_at", sa.DateTime(), nullable=True), + ) + + # Add dismissed_at column if it doesn't exist + if "dismissed_at" not in existing_columns: + op.add_column( + "anomaly_alerts", + sa.Column("dismissed_at", sa.DateTime(), nullable=True), + ) + + # Add resolution_note column if it doesn't exist + if "resolution_note" not in existing_columns: + op.add_column( + "anomaly_alerts", + sa.Column("resolution_note", sa.Text(), nullable=True), + ) + + # Create composite index for status if it doesn't exist + existing_indexes = {idx["name"] for idx in inspector.get_indexes("anomaly_alerts")} + if "ix_anomaly_alerts_tenant_id_status" not in existing_indexes: + op.create_index( + "ix_anomaly_alerts_tenant_id_status", + "anomaly_alerts", + ["tenant_id", "status"], + ) + + +def downgrade() -> None: + conn = op.get_bind() + inspector = sa.inspect(conn) + + # Check if anomaly_alerts table exists before modifying + if "anomaly_alerts" in inspector.get_table_names(): + # Drop index if it exists + existing_indexes = {idx["name"] for idx in inspector.get_indexes("anomaly_alerts")} + if "ix_anomaly_alerts_tenant_id_status" in existing_indexes: + op.drop_index("ix_anomaly_alerts_tenant_id_status", table_name="anomaly_alerts") + + # Get existing columns + existing_columns = {col["name"] for col in inspector.get_columns("anomaly_alerts")} + + # Drop columns if they exist + if "resolution_note" in existing_columns: + op.drop_column("anomaly_alerts", "resolution_note") + if "dismissed_at" in existing_columns: + op.drop_column("anomaly_alerts", "dismissed_at") + if "resolved_at" in existing_columns: + op.drop_column("anomaly_alerts", "resolved_at") + if "acknowledged_at" in existing_columns: + op.drop_column("anomaly_alerts", "acknowledged_at") + if "status" in existing_columns: + op.drop_column("anomaly_alerts", "status") diff --git a/storage/migrations/versions/007_add_alert_policies.py b/storage/migrations/versions/007_add_alert_policies.py new file mode 100644 index 0000000..708d3e8 --- /dev/null +++ b/storage/migrations/versions/007_add_alert_policies.py @@ -0,0 +1,68 @@ +"""Add alert_policies table for configurable alert thresholds. + +Revision ID: 007_add_alert_policies +Revises: 006_add_alert_lifecycle +Create Date: 2026-04-04 + +""" + +from collections.abc import Sequence +from typing import Union + +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "007_add_alert_policies" +down_revision: Union[str, None] = "006_add_alert_lifecycle" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + conn = op.get_bind() + inspector = sa.inspect(conn) + + # Check if alert_policies table already exists + if "alert_policies" not in inspector.get_table_names(): + op.create_table( + "alert_policies", + sa.Column("id", sa.String(36), primary_key=True), + sa.Column("tenant_id", sa.String(64), nullable=False, index=True, server_default="local"), + sa.Column("agent_name", sa.String(255), nullable=True, index=True), + sa.Column("alert_type", sa.String(64), nullable=False, index=True), + sa.Column("threshold_value", sa.Float(), nullable=False), + sa.Column("severity_threshold", sa.String(16), nullable=True), + sa.Column("enabled", sa.Boolean(), nullable=False, server_default="true"), + sa.Column( + "created_at", + sa.DateTime(), + nullable=False, + server_default=sa.text("CURRENT_TIMESTAMP"), + ), + sa.Column( + "updated_at", + sa.DateTime(), + nullable=False, + server_default=sa.text("CURRENT_TIMESTAMP"), + ), + ) + + # Create composite indexes for common query patterns + op.create_index("ix_alert_policies_tenant_agent", "alert_policies", ["tenant_id", "agent_name"]) + op.create_index("ix_alert_policies_tenant_type", "alert_policies", ["tenant_id", "alert_type"]) + op.create_index( + "ix_alert_policies_tenant_agent_type", "alert_policies", ["tenant_id", "agent_name", "alert_type"] + ) + + +def downgrade() -> None: + conn = op.get_bind() + inspector = sa.inspect(conn) + + # Check if alert_policies table exists before dropping (idempotency) + if "alert_policies" in inspector.get_table_names(): + op.drop_index("ix_alert_policies_tenant_agent_type", table_name="alert_policies") + op.drop_index("ix_alert_policies_tenant_type", table_name="alert_policies") + op.drop_index("ix_alert_policies_tenant_agent", table_name="alert_policies") + op.drop_table("alert_policies") diff --git a/storage/migrations/versions/008_add_alert_indexes.py b/storage/migrations/versions/008_add_alert_indexes.py new file mode 100644 index 0000000..2ca800f --- /dev/null +++ b/storage/migrations/versions/008_add_alert_indexes.py @@ -0,0 +1,112 @@ +"""Add indexes for alert and analytics query optimization. + +Revision ID: 008_add_alert_indexes +Revises: 007_add_alert_policies +Create Date: 2026-04-04 + +""" + +from collections.abc import Sequence +from typing import Union + +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "008_add_alert_indexes" +down_revision: Union[str, None] = "007_add_alert_policies" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + conn = op.get_bind() + inspector = sa.inspect(conn) + + # Get existing indexes to avoid duplicates + def index_exists(table_name: str, index_name: str) -> bool: + existing_indexes = inspector.get_indexes(table_name) + return any(idx["name"] == index_name for idx in existing_indexes) + + # Create indexes for anomaly_alerts table + if not index_exists("anomaly_alerts", "ix_anomaly_alerts_created_at"): + op.create_index("ix_anomaly_alerts_created_at", "anomaly_alerts", ["created_at"]) + + if not index_exists("anomaly_alerts", "ix_anomaly_alerts_severity"): + op.create_index("ix_anomaly_alerts_severity", "anomaly_alerts", ["severity"]) + + if not index_exists("anomaly_alerts", "ix_anomaly_alerts_alert_type"): + op.create_index("ix_anomaly_alerts_alert_type", "anomaly_alerts", ["alert_type"]) + + if not index_exists("anomaly_alerts", "ix_anomaly_alerts_session_id"): + op.create_index("ix_anomaly_alerts_session_id", "anomaly_alerts", ["session_id"]) + + # Status column was added in migration 006, now index it + if not index_exists("anomaly_alerts", "ix_anomaly_alerts_status"): + op.create_index("ix_anomaly_alerts_status", "anomaly_alerts", ["status"]) + + # Create indexes for patterns table (individual columns for additional query patterns) + if not index_exists("patterns", "ix_patterns_status"): + op.create_index("ix_patterns_status", "patterns", ["status"]) + + if not index_exists("patterns", "ix_patterns_pattern_type"): + op.create_index("ix_patterns_pattern_type", "patterns", ["pattern_type"]) + + # Create indexes for sessions table + if not index_exists("sessions", "ix_sessions_created_at"): + op.create_index("ix_sessions_created_at", "sessions", ["started_at"]) + + if not index_exists("sessions", "ix_sessions_agent_name"): + op.create_index("ix_sessions_agent_name", "sessions", ["agent_name"]) + + # Create composite index for events table (session_id, created_at) + # This optimizes queries that filter by session and order by timestamp + if not index_exists("events", "ix_events_session_id_created_at"): + op.create_index("ix_events_session_id_created_at", "events", ["session_id", "timestamp"]) + + # Create index for events.event_type (if not exists) + if not index_exists("events", "ix_events_event_type"): + op.create_index("ix_events_event_type", "events", ["event_type"]) + + +def downgrade() -> None: + conn = op.get_bind() + inspector = sa.inspect(conn) + + def index_exists(table_name: str, index_name: str) -> bool: + existing_indexes = inspector.get_indexes(table_name) + return any(idx["name"] == index_name for idx in existing_indexes) + + # Drop indexes in reverse order + if index_exists("events", "ix_events_event_type"): + op.drop_index("ix_events_event_type", table_name="events") + + if index_exists("events", "ix_events_session_id_created_at"): + op.drop_index("ix_events_session_id_created_at", table_name="events") + + if index_exists("sessions", "ix_sessions_agent_name"): + op.drop_index("ix_sessions_agent_name", table_name="sessions") + + if index_exists("sessions", "ix_sessions_created_at"): + op.drop_index("ix_sessions_created_at", table_name="sessions") + + if index_exists("patterns", "ix_patterns_pattern_type"): + op.drop_index("ix_patterns_pattern_type", table_name="patterns") + + if index_exists("patterns", "ix_patterns_status"): + op.drop_index("ix_patterns_status", table_name="patterns") + + if index_exists("anomaly_alerts", "ix_anomaly_alerts_session_id"): + op.drop_index("ix_anomaly_alerts_session_id", table_name="anomaly_alerts") + + if index_exists("anomaly_alerts", "ix_anomaly_alerts_alert_type"): + op.drop_index("ix_anomaly_alerts_alert_type", table_name="anomaly_alerts") + + if index_exists("anomaly_alerts", "ix_anomaly_alerts_severity"): + op.drop_index("ix_anomaly_alerts_severity", table_name="anomaly_alerts") + + if index_exists("anomaly_alerts", "ix_anomaly_alerts_status"): + op.drop_index("ix_anomaly_alerts_status", table_name="anomaly_alerts") + + if index_exists("anomaly_alerts", "ix_anomaly_alerts_created_at"): + op.drop_index("ix_anomaly_alerts_created_at", table_name="anomaly_alerts") diff --git a/storage/models.py b/storage/models.py index 460a43e..2f55d8d 100644 --- a/storage/models.py +++ b/storage/models.py @@ -104,6 +104,12 @@ class AnomalyAlertModel(Base): detection_source: Mapped[str] = mapped_column(String(32)) detection_config: Mapped[dict] = mapped_column(JSON) created_at: Mapped[datetime] = mapped_column(default=lambda: datetime.now(timezone.utc)) + # Lifecycle fields + status: Mapped[str] = mapped_column(String(32), default="active", index=True) + acknowledged_at: Mapped[datetime | None] = mapped_column(nullable=True) + resolved_at: Mapped[datetime | None] = mapped_column(nullable=True) + dismissed_at: Mapped[datetime | None] = mapped_column(nullable=True) + resolution_note: Mapped[str | None] = mapped_column(Text, nullable=True) class FailureClusterModel(Base): @@ -159,3 +165,28 @@ class PatternModel(Base): Index("ix_patterns_tenant_severity", "tenant_id", "severity"), Index("ix_patterns_tenant_status", "tenant_id", "status"), ) + + +class AlertPolicyModel(Base): + """SQLAlchemy ORM model for configurable alert policies.""" + + __tablename__ = "alert_policies" + + id: Mapped[str] = mapped_column(String(36), primary_key=True) + tenant_id: Mapped[str] = mapped_column(String(64), nullable=False, default="local", index=True) + agent_name: Mapped[str | None] = mapped_column(String(255), nullable=True, index=True) # null = global policy + alert_type: Mapped[str] = mapped_column(String(64), nullable=False, index=True) + threshold_value: Mapped[float] = mapped_column(Float, nullable=False) + severity_threshold: Mapped[str | None] = mapped_column(String(16), nullable=True) # warning, critical, etc. + enabled: Mapped[bool] = mapped_column(default=True, nullable=False) + created_at: Mapped[datetime] = mapped_column(default=lambda: datetime.now(timezone.utc)) + updated_at: Mapped[datetime] = mapped_column( + default=lambda: datetime.now(timezone.utc), + onupdate=lambda: datetime.now(timezone.utc), + ) + + __table_args__ = ( + Index("ix_alert_policies_tenant_agent", "tenant_id", "agent_name"), + Index("ix_alert_policies_tenant_type", "tenant_id", "alert_type"), + Index("ix_alert_policies_tenant_agent_type", "tenant_id", "agent_name", "alert_type"), + ) diff --git a/storage/repositories/__init__.py b/storage/repositories/__init__.py index 0bb89fc..99b2b29 100644 --- a/storage/repositories/__init__.py +++ b/storage/repositories/__init__.py @@ -6,6 +6,7 @@ - CheckpointRepository: Checkpoint CRUD operations - AnomalyAlertRepository: Anomaly alert CRUD operations - PatternRepository: Pattern CRUD operations +- AlertPolicyRepository: Alert policy CRUD operations """ from .alert_repo import AnomalyAlertRepository @@ -13,6 +14,7 @@ from .entity_repo import EntityRepository from .event_repo import EventRepository from .pattern_repo import PatternRepository +from .policy_repo import AlertPolicyRepository from .session_repo import SessionRepository __all__ = [ @@ -21,5 +23,6 @@ "CheckpointRepository", "AnomalyAlertRepository", "PatternRepository", + "AlertPolicyRepository", "EntityRepository", ] diff --git a/storage/repositories/alert_repo.py b/storage/repositories/alert_repo.py index 7fd116e..348a465 100644 --- a/storage/repositories/alert_repo.py +++ b/storage/repositories/alert_repo.py @@ -2,9 +2,13 @@ from __future__ import annotations -from sqlalchemy import select +from datetime import datetime, timedelta, timezone +from typing import Any + +from sqlalchemy import and_, func, select, update from sqlalchemy.ext.asyncio import AsyncSession +from storage.cache import QueryCache from storage.models import AnomalyAlertModel @@ -13,8 +17,20 @@ class AnomalyAlertRepository: Provides async methods for alert management using SQLAlchemy async session. All queries are scoped to a specific tenant_id for multi-tenant isolation. + + Queries leverage the following indexes: + - ix_anomaly_alerts_created_at: time-based ordering and filtering + - ix_anomaly_alerts_severity: severity-based filtering + - ix_anomaly_alerts_alert_type: alert type filtering + - ix_anomaly_alerts_session_id: session-based lookups + - ix_anomaly_alerts_tenant_id_status: tenant + status filtering """ + VALID_STATUSES = {"active", "acknowledged", "resolved", "dismissed"} + + # Class-level cache shared across instances (for summary/trending data) + _cache = QueryCache() + def __init__(self, session: AsyncSession, tenant_id: str = "local"): """Initialize the repository with an async session and tenant_id. @@ -38,6 +54,8 @@ async def create_anomaly_alert( The created AnomalyAlertModel instance """ self.session.add(alert) + # Invalidate summary cache when new alert is created + self._invalidate_summary_cache() return alert async def list_anomaly_alerts( @@ -47,12 +65,14 @@ async def list_anomaly_alerts( ) -> list[AnomalyAlertModel]: """List anomaly alerts for a session. + Uses ix_anomaly_alerts_session_id and ix_anomaly_alerts_created_at indexes. + Args: session_id: Session ID to filter alerts by - limit: Maximum number of alerts to return + limit: Maximum number of alerts to return (default: 50) Returns: - List of AnomalyAlertModel instances + List of AnomalyAlertModel instances ordered by creation time (newest first) """ result = await self.session.execute( select(AnomalyAlertModel) @@ -81,3 +101,416 @@ async def get_anomaly_alert(self, alert_id: str) -> AnomalyAlertModel | None: ) ) return result.scalar_one_or_none() + + async def get_alert_summary(self, hours: int = 24) -> dict[str, Any]: + """Get aggregated alert statistics for the recent time window. + + Uses ix_anomaly_alerts_created_at index for time filtering and + ix_anomaly_alerts_severity, ix_anomaly_alerts_alert_type for grouping. + + Results are cached for 60 seconds to reduce database load. + + Args: + hours: Number of hours to look back (default: 24) + + Returns: + Dictionary with total_count, by_severity, by_type, and by_session + """ + cache_key = f"alert_summary:{self.tenant_id}:{hours}h" + cached = self._cache.get(cache_key) + if cached is not None: + return cached + + cutoff = datetime.now(timezone.utc) - timedelta(hours=hours) + + # Count by severity - uses ix_anomaly_alerts_severity + severity_result = await self.session.execute( + select(AnomalyAlertModel.severity, func.count(AnomalyAlertModel.id)) + .where( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.created_at >= cutoff, + ) + .group_by(AnomalyAlertModel.severity) + ) + by_severity = {row[0]: row[1] for row in severity_result.all()} + + # Count by alert type - uses ix_anomaly_alerts_alert_type + type_result = await self.session.execute( + select(AnomalyAlertModel.alert_type, func.count(AnomalyAlertModel.id)) + .where( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.created_at >= cutoff, + ) + .group_by(AnomalyAlertModel.alert_type) + ) + by_type = {row[0]: row[1] for row in type_result.all()} + + # Count by session - uses ix_anomaly_alerts_session_id + session_result = await self.session.execute( + select(AnomalyAlertModel.session_id, func.count(AnomalyAlertModel.id)) + .where( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.created_at >= cutoff, + ) + .group_by(AnomalyAlertModel.session_id) + .order_by(func.count(AnomalyAlertModel.id).desc()) + .limit(10) + ) + by_session = {row[0]: row[1] for row in session_result.all()} + + summary = { + "total_count": sum(by_severity.values()), + "by_severity": by_severity, + "by_type": by_type, + "by_session": by_session, + "period_hours": hours, + } + + # Cache for 60 seconds + self._cache.set(cache_key, summary, ttl_seconds=60) + return summary + + async def get_trending_alerts( + self, + hours: int = 24, + limit: int = 10, + ) -> list[dict[str, Any]]: + """Get trending alerts by type for the recent time window. + + Uses ix_anomaly_alerts_alert_type and ix_anomaly_alerts_created_at indexes. + + Results are cached for 60 seconds to reduce database load. + + Args: + hours: Number of hours to look back (default: 24) + limit: Maximum number of trending types to return (default: 10) + + Returns: + List of dicts with alert_type, count, and avg_severity + """ + cache_key = f"trending_alerts:{self.tenant_id}:{hours}h" + cached = self._cache.get(cache_key) + if cached is not None: + return cached + + cutoff = datetime.now(timezone.utc) - timedelta(hours=hours) + + result = await self.session.execute( + select( + AnomalyAlertModel.alert_type, + func.count(AnomalyAlertModel.id).label("count"), + func.avg(AnomalyAlertModel.severity).label("avg_severity"), + ) + .where( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.created_at >= cutoff, + ) + .group_by(AnomalyAlertModel.alert_type) + .order_by(func.count(AnomalyAlertModel.id).desc()) + .limit(limit) + ) + + trending = [ + { + "alert_type": row.alert_type, + "count": row.count, + "avg_severity": float(row.avg_severity) if row.avg_severity else 0.0, + } + for row in result.all() + ] + + # Cache for 60 seconds + self._cache.set(cache_key, trending, ttl_seconds=60) + return trending + + def _invalidate_summary_cache(self) -> None: + """Invalidate summary and trending cache entries for this tenant.""" + # Invalidate all cache entries for this tenant + self._cache.invalidate(f"alert_summary:{self.tenant_id}:") + self._cache.invalidate(f"trending_alerts:{self.tenant_id}:") + + # ------------------------------------------------------------------ + # Lifecycle Management Methods + # ------------------------------------------------------------------ + + async def update_alert_status( + self, alert_id: str, status: str, note: str | None = None + ) -> AnomalyAlertModel | None: + """Update the status of a single alert with appropriate timestamp. + + Uses primary key lookup for efficient single-alert update. + + Args: + alert_id: Unique identifier of the alert + status: New status (active/acknowledged/resolved/dismissed) + note: Optional resolution note + + Returns: + Updated AnomalyAlertModel if found, None otherwise + + Raises: + ValueError: If status is not valid + """ + if status not in self.VALID_STATUSES: + raise ValueError(f"Invalid status: {status}. Must be one of {self.VALID_STATUSES}") + + result = await self.session.execute( + select(AnomalyAlertModel).where( + AnomalyAlertModel.id == alert_id, + AnomalyAlertModel.tenant_id == self.tenant_id, + ) + ) + alert = result.scalar_one_or_none() + + if not alert: + return None + + # Update status and note + alert.status = status + if note: + alert.resolution_note = note + + # Update appropriate timestamp + now = datetime.now(timezone.utc) + if status == "acknowledged": + alert.acknowledged_at = now + elif status == "resolved": + alert.resolved_at = now + elif status == "dismissed": + alert.dismissed_at = now + + # Invalidate cache when alert status changes + self._invalidate_summary_cache() + + return alert + + async def bulk_update_status(self, alert_ids: list[str], status: str) -> int: + """Bulk update status for multiple alerts. + + Uses efficient bulk update with WHERE ... IN clause. + + Args: + alert_ids: List of alert IDs to update + status: New status for all alerts + + Returns: + Number of alerts updated + + Raises: + ValueError: If status is not valid + """ + if status not in self.VALID_STATUSES: + raise ValueError(f"Invalid status: {status}. Must be one of {self.VALID_STATUSES}") + + now = datetime.now(timezone.utc) + updates = {"status": status} + + # Set appropriate timestamp based on status + if status == "acknowledged": + updates["acknowledged_at"] = now + elif status == "resolved": + updates["resolved_at"] = now + elif status == "dismissed": + updates["dismissed_at"] = now + + stmt = ( + update(AnomalyAlertModel) + .where( + AnomalyAlertModel.id.in_(alert_ids), + AnomalyAlertModel.tenant_id == self.tenant_id, + ) + .values(**updates) + ) + result = await self.session.execute(stmt) + + # Invalidate cache when bulk status changes occur + self._invalidate_summary_cache() + + return result.rowcount + + async def list_alerts_filtered( + self, + agent_name: str | None = None, + severity: float | None = None, + alert_type: str | None = None, + status: str | None = None, + from_date: datetime | None = None, + to_date: datetime | None = None, + limit: int = 50, + ) -> list[AnomalyAlertModel]: + """List alerts with rich filtering options. + + Leverages ix_anomaly_alerts_tenant_id_status, ix_anomaly_alerts_severity, + ix_anomaly_alerts_alert_type, and ix_anomaly_alerts_created_at indexes. + + Args: + agent_name: Optional agent name to filter by (requires join) + severity: Optional minimum severity to filter by + alert_type: Optional alert type to filter by + status: Optional status to filter by + from_date: Optional start date for created_at filter + to_date: Optional end date for created_at filter + limit: Maximum number of alerts to return + + Returns: + List of AnomalyAlertModel instances matching filters + """ + query = select(AnomalyAlertModel).where(AnomalyAlertModel.tenant_id == self.tenant_id) + + # Apply filters + if alert_type: + query = query.where(AnomalyAlertModel.alert_type == alert_type) + if severity is not None: + query = query.where(AnomalyAlertModel.severity >= severity) + if status: + query = query.where(AnomalyAlertModel.status == status) + if from_date: + query = query.where(AnomalyAlertModel.created_at >= from_date) + if to_date: + query = query.where(AnomalyAlertModel.created_at <= to_date) + + # Join with sessions if agent_name filter is provided + if agent_name: + from storage.models import SessionModel + + query = query.join(SessionModel, AnomalyAlertModel.session_id == SessionModel.id).where( + SessionModel.agent_name == agent_name + ) + + query = query.order_by(AnomalyAlertModel.created_at.desc()).limit(limit) + + result = await self.session.execute(query) + return list(result.scalars().all()) + + async def get_alert_lifecycle_summary(self) -> dict[str, Any]: + """Get alert summary statistics grouped by severity, type, and status. + + Uses ix_anomaly_alerts_severity, ix_anomaly_alerts_alert_type, and + ix_anomaly_alerts_tenant_id_status indexes for efficient grouping. + + Results are cached for 60 seconds. + + Returns: + Dictionary with counts by severity, type, and status + """ + cache_key = f"lifecycle_summary:{self.tenant_id}" + cached = self._cache.get(cache_key) + if cached is not None: + return cached + + # Count by status + status_result = await self.session.execute( + select(AnomalyAlertModel.status, func.count(AnomalyAlertModel.id)) + .where(AnomalyAlertModel.tenant_id == self.tenant_id) + .group_by(AnomalyAlertModel.status) + ) + by_status = {status: count for status, count in status_result.all()} + + # Count by alert_type + type_result = await self.session.execute( + select(AnomalyAlertModel.alert_type, func.count(AnomalyAlertModel.id)) + .where(AnomalyAlertModel.tenant_id == self.tenant_id) + .group_by(AnomalyAlertModel.alert_type) + ) + by_type = {alert_type: count for alert_type, count in type_result.all()} + + # Count by severity ranges + critical_result = await self.session.execute( + select(func.count(AnomalyAlertModel.id)).where( + and_( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.severity >= 0.8, + ) + ) + ) + critical_count = critical_result.scalar() or 0 + + high_result = await self.session.execute( + select(func.count(AnomalyAlertModel.id)).where( + and_( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.severity >= 0.5, + AnomalyAlertModel.severity < 0.8, + ) + ) + ) + high_count = high_result.scalar() or 0 + + medium_result = await self.session.execute( + select(func.count(AnomalyAlertModel.id)).where( + and_( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.severity >= 0.3, + AnomalyAlertModel.severity < 0.5, + ) + ) + ) + medium_count = medium_result.scalar() or 0 + + low_result = await self.session.execute( + select(func.count(AnomalyAlertModel.id)).where( + and_( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.severity < 0.3, + ) + ) + ) + low_count = low_result.scalar() or 0 + + summary = { + "by_status": by_status, + "by_type": by_type, + "by_severity": { + "critical": critical_count, + "high": high_count, + "medium": medium_count, + "low": low_count, + }, + "total": sum(by_status.values()), + } + + # Cache for 60 seconds + self._cache.set(cache_key, summary, ttl_seconds=60) + return summary + + async def get_alert_trending(self, days: int = 7) -> list[dict[str, Any]]: + """Get alert volume trend grouped by day. + + Uses ix_anomaly_alerts_created_at index for efficient time-based grouping. + + Results are cached for 60 seconds. + + Args: + days: Number of days to look back (default 7) + + Returns: + List of dicts with date and count + """ + cache_key = f"trending:{self.tenant_id}:{days}d" + cached = self._cache.get(cache_key) + if cached is not None: + return cached + + to_date = datetime.now(timezone.utc) + from_date = to_date - timedelta(days=days) + + result = await self.session.execute( + select( + func.date(AnomalyAlertModel.created_at).label("date"), + func.count(AnomalyAlertModel.id).label("count"), + ) + .where( + and_( + AnomalyAlertModel.tenant_id == self.tenant_id, + AnomalyAlertModel.created_at >= from_date, + ) + ) + .group_by(func.date(AnomalyAlertModel.created_at)) + .order_by(func.date(AnomalyAlertModel.created_at)) + ) + + trending = [{"date": str(row.date), "count": row.count} for row in result.all()] + + # Cache for 60 seconds + self._cache.set(cache_key, trending, ttl_seconds=60) + return trending diff --git a/storage/repositories/policy_repo.py b/storage/repositories/policy_repo.py new file mode 100644 index 0000000..c4e9dc7 --- /dev/null +++ b/storage/repositories/policy_repo.py @@ -0,0 +1,213 @@ +"""Alert policy repository for policy CRUD operations.""" + +from __future__ import annotations + +import uuid +from datetime import datetime, timezone + +from sqlalchemy import select +from sqlalchemy.ext.asyncio import AsyncSession + +from storage.models import AlertPolicyModel + + +class AlertPolicyRepository: + """Data access layer for alert policy CRUD operations. + + Provides async methods for policy management using SQLAlchemy async session. + All queries are scoped to a specific tenant_id for multi-tenant isolation. + """ + + def __init__(self, session: AsyncSession, tenant_id: str = "local"): + """Initialize the repository with an async session and tenant_id. + + Args: + session: SQLAlchemy AsyncSession instance + tenant_id: Tenant identifier for data isolation (default: "local") + """ + self.session = session + self.tenant_id = tenant_id + + async def create_policy( + self, + agent_name: str | None, + alert_type: str, + threshold_value: float, + severity_threshold: str | None = None, + enabled: bool = True, + ) -> AlertPolicyModel: + """Create a new alert policy. + + Args: + agent_name: Agent name for specific policy, None for global policy + alert_type: Type of alert this policy applies to + threshold_value: Threshold value for the alert + severity_threshold: Optional severity threshold (warning, critical, etc.) + enabled: Whether the policy is enabled + + Returns: + The created AlertPolicyModel instance + """ + policy = AlertPolicyModel( + id=str(uuid.uuid4()), + tenant_id=self.tenant_id, + agent_name=agent_name, + alert_type=alert_type, + threshold_value=threshold_value, + severity_threshold=severity_threshold, + enabled=enabled, + created_at=datetime.now(timezone.utc), + updated_at=datetime.now(timezone.utc), + ) + self.session.add(policy) + return policy + + async def get_policy(self, policy_id: str) -> AlertPolicyModel | None: + """Retrieve an alert policy by ID. + + Args: + policy_id: Unique identifier of the policy + + Returns: + AlertPolicyModel if found, None otherwise + """ + result = await self.session.execute( + select(AlertPolicyModel).where( + AlertPolicyModel.id == policy_id, + AlertPolicyModel.tenant_id == self.tenant_id, + ) + ) + return result.scalar_one_or_none() + + async def list_policies( + self, + agent_name: str | None = None, + limit: int = 100, + ) -> list[AlertPolicyModel]: + """List alert policies, optionally filtered by agent_name. + + Args: + agent_name: Optional agent name filter (None returns all policies including global) + limit: Maximum number of policies to return + + Returns: + List of AlertPolicyModel instances + """ + query = select(AlertPolicyModel).where(AlertPolicyModel.tenant_id == self.tenant_id) + + if agent_name is not None: + # Filter for specific agent OR global (NULL agent_name) policies + query = query.where( + (AlertPolicyModel.agent_name == agent_name) | (AlertPolicyModel.agent_name.is_(None)) + ) + + query = query.order_by(AlertPolicyModel.created_at.desc()).limit(limit) + + result = await self.session.execute(query) + return list(result.scalars().all()) + + async def update_policy( + self, + policy_id: str, + agent_name: str | None = None, + alert_type: str | None = None, + threshold_value: float | None = None, + severity_threshold: str | None = None, + enabled: bool | None = None, + ) -> AlertPolicyModel | None: + """Update an existing alert policy. + + Args: + policy_id: Unique identifier of the policy to update + agent_name: New agent name (None keeps existing value) + alert_type: New alert type (None keeps existing value) + threshold_value: New threshold value (None keeps existing value) + severity_threshold: New severity threshold (None keeps existing value) + enabled: New enabled state (None keeps existing value) + + Returns: + Updated AlertPolicyModel if found, None otherwise + """ + policy = await self.get_policy(policy_id) + if not policy: + return None + + if agent_name is not None: + policy.agent_name = agent_name + if alert_type is not None: + policy.alert_type = alert_type + if threshold_value is not None: + policy.threshold_value = threshold_value + if severity_threshold is not None: + policy.severity_threshold = severity_threshold + if enabled is not None: + policy.enabled = enabled + + policy.updated_at = datetime.now(timezone.utc) + return policy + + async def delete_policy(self, policy_id: str) -> bool: + """Delete an alert policy by ID. + + Args: + policy_id: Unique identifier of the policy to delete + + Returns: + True if policy was deleted, False if not found + """ + policy = await self.get_policy(policy_id) + if not policy: + return False + + await self.session.delete(policy) + return True + + async def get_active_policy_for( + self, + alert_type: str, + agent_name: str | None = None, + ) -> AlertPolicyModel | None: + """Get the active policy for a specific alert type and agent. + + Returns the most specific policy available: + 1. Agent-specific policy (if agent_name provided) + 2. Global policy for the alert type + 3. None if no policy found + + Args: + alert_type: Type of alert to find policy for + agent_name: Optional agent name for agent-specific policy + + Returns: + AlertPolicyModel if found, None otherwise + """ + # First try to find agent-specific policy + if agent_name is not None: + result = await self.session.execute( + select(AlertPolicyModel) + .where( + AlertPolicyModel.tenant_id == self.tenant_id, + AlertPolicyModel.alert_type == alert_type, + AlertPolicyModel.agent_name == agent_name, + AlertPolicyModel.enabled.is_(True), + ) + .order_by(AlertPolicyModel.created_at.desc()) + .limit(1) + ) + policy = result.scalar_one_or_none() + if policy: + return policy + + # Fall back to global policy + result = await self.session.execute( + select(AlertPolicyModel) + .where( + AlertPolicyModel.tenant_id == self.tenant_id, + AlertPolicyModel.alert_type == alert_type, + AlertPolicyModel.agent_name.is_(None), + AlertPolicyModel.enabled.is_(True), + ) + .order_by(AlertPolicyModel.created_at.desc()) + .limit(1) + ) + return result.scalar_one_or_none() diff --git a/storage/search.py b/storage/search.py index 26cb265..9d89a89 100644 --- a/storage/search.py +++ b/storage/search.py @@ -174,6 +174,12 @@ async def search_sessions( Uses bag-of-words cosine similarity against session event embeddings. Searches across event_type, name, error_type, error_message, tool_name, and model fields. + Indexes used: + - ix_sessions_agent_name: for agent_name filtering + - ix_sessions_created_at: for time range filtering (started_at column) + - ix_events_event_type: for event_type subquery filtering + - ix_events_tenant_session: for tenant-scoped event lookups + Args: query: Search query text (supports natural language like "sessions with tool failures") status: Optional session status to filter by (e.g., "error", "completed") @@ -221,6 +227,11 @@ async def search_events( ) -> list[TraceEvent]: """Search events by name or data content. + Indexes used: + - ix_events_session_id_created_at: for session filtering and timestamp ordering + - ix_events_event_type: for event_type filtering + - ix_events_tenant_session: for tenant-scoped lookups + Args: query: Search string to match against event name session_id: Optional session ID to filter by diff --git a/tests/test_alert_lifecycle.py b/tests/test_alert_lifecycle.py new file mode 100644 index 0000000..772e084 --- /dev/null +++ b/tests/test_alert_lifecycle.py @@ -0,0 +1,365 @@ +"""Tests for alert lifecycle management API.""" + +from __future__ import annotations + +from datetime import datetime, timezone + +import pytest +from httpx import ASGITransport, AsyncClient + +from agent_debugger_sdk.core.events import Session +from api.main import create_app +from storage import TraceRepository +from storage.repository import AnomalyAlertCreate + + +def _make_session(session_id: str, agent_name: str = "test-agent") -> Session: + """Create a test session.""" + return Session( + id=session_id, + agent_name=agent_name, + framework="pytest", + started_at=datetime.now(timezone.utc), + config={"mode": "test"}, + ) + + +def _make_alert( + alert_id: str, + session_id: str, + alert_type: str = "error_spike", + severity: float = 0.8, +) -> AnomalyAlertCreate: + """Create a test alert.""" + return AnomalyAlertCreate( + id=alert_id, + session_id=session_id, + alert_type=alert_type, + severity=severity, + signal=f"Test alert {alert_id}", + event_ids=[f"event-{alert_id}"], + detection_source="test_detector", + detection_config={"test": True}, + ) + + +@pytest.mark.asyncio +async def test_update_alert_status_acknowledge(): + """Test updating an alert status to acknowledged.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-ack")) + alert = await repo.create_anomaly_alert( + _make_alert("test-alert-ack", session.id, severity=0.8) + ) + alert_id = alert.id + await db_session.commit() + + response = await client.put( + f"/api/alerts/{alert_id}/status", + json={"status": "acknowledged", "note": "Investigating this issue"}, + ) + + assert response.status_code == 200 + data = response.json() + assert data["status"] == "acknowledged" + assert data["resolution_note"] == "Investigating this issue" + assert data["acknowledged_at"] is not None + + +@pytest.mark.asyncio +async def test_update_alert_status_resolve(): + """Test updating an alert status to resolved.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-resolve")) + alert = await repo.create_anomaly_alert( + _make_alert("test-alert-resolve", session.id, severity=0.7) + ) + alert_id = alert.id + await db_session.commit() + + response = await client.put( + f"/api/alerts/{alert_id}/status", + json={"status": "resolved", "note": "Fixed the root cause"}, + ) + + assert response.status_code == 200 + data = response.json() + assert data["status"] == "resolved" + assert data["resolution_note"] == "Fixed the root cause" + assert data["resolved_at"] is not None + + +@pytest.mark.asyncio +async def test_update_alert_status_dismiss(): + """Test updating an alert status to dismissed.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-dismiss")) + alert = await repo.create_anomaly_alert( + _make_alert("test-alert-dismiss", session.id, severity=0.6) + ) + alert_id = alert.id + await db_session.commit() + + response = await client.put( + f"/api/alerts/{alert_id}/status", + json={"status": "dismissed", "note": "False alarm"}, + ) + + assert response.status_code == 200 + data = response.json() + assert data["status"] == "dismissed" + assert data["resolution_note"] == "False alarm" + assert data["dismissed_at"] is not None + + +@pytest.mark.asyncio +async def test_update_alert_status_not_found(): + """Test updating a non-existent alert.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + response = await client.put( + "/api/alerts/nonexistent-id/status", + json={"status": "acknowledged"}, + ) + + assert response.status_code == 404 + + +@pytest.mark.asyncio +async def test_bulk_update_alert_status(): + """Test bulk updating alert statuses.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-bulk")) + alert_ids = [] + for i in range(3): + alert = await repo.create_anomaly_alert( + _make_alert(f"test-alert-bulk-{i}", session.id, severity=0.5 + i * 0.1) + ) + alert_ids.append(alert.id) + await db_session.commit() + + response = await client.post( + "/api/alerts/bulk-status", + json={"alert_ids": alert_ids, "status": "acknowledged"}, + ) + + assert response.status_code == 200 + data = response.json() + assert data["updated"] == 3 + assert data["status"] == "acknowledged" + + +@pytest.mark.asyncio +async def test_get_alert_summary(): + """Test getting alert summary statistics.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Get baseline + baseline_resp = await client.get("/api/alerts/summary") + assert baseline_resp.status_code == 200 + baseline = baseline_resp.json() + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-summary")) + for i in range(3): + await repo.create_anomaly_alert( + _make_alert(f"test-alert-summary-{i}", session.id, severity=0.5 + i * 0.1) + ) + await db_session.commit() + + response = await client.get("/api/alerts/summary") + + assert response.status_code == 200 + data = response.json() + assert "by_status" in data + assert "by_type" in data + assert "by_severity" in data + assert "total" in data + assert data["total"] >= baseline["total"] + + +@pytest.mark.asyncio +async def test_get_alert_trending(): + """Test getting alert trending data.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + response = await client.get("/api/alerts/trending?days=7") + + assert response.status_code == 200 + data = response.json() + assert "trending" in data + assert "days" in data + assert data["days"] == 7 + assert isinstance(data["trending"], list) + + +@pytest.mark.asyncio +async def test_list_alerts_filtered_by_status(): + """Test filtering alerts by status.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-filter-status")) + alert_ids = [] + for i in range(3): + alert = await repo.create_anomaly_alert( + _make_alert(f"test-alert-filter-{i}", session.id, severity=0.5 + i * 0.1) + ) + alert_ids.append(alert.id) + await db_session.commit() + + # Acknowledge some alerts + await client.post( + "/api/alerts/bulk-status", + json={"alert_ids": alert_ids[:2], "status": "acknowledged"}, + ) + + # Now filter by status + response = await client.get("/api/alerts?status=active") + + assert response.status_code == 200 + data = response.json() + assert "alerts" in data + assert "total" in data + assert data["filters"]["status"] == "active" + + +@pytest.mark.asyncio +async def test_list_alerts_filtered_by_severity(): + """Test filtering alerts by minimum severity.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-filter-severity")) + for i in range(3): + await repo.create_anomaly_alert( + _make_alert(f"test-alert-sev-{i}", session.id, severity=0.4 + i * 0.2) + ) + await db_session.commit() + + response = await client.get("/api/alerts?severity=0.7") + + assert response.status_code == 200 + data = response.json() + assert "alerts" in data + assert data["filters"]["severity"] == 0.7 + # All returned alerts should have severity >= 0.7 + for alert in data["alerts"]: + assert alert["severity"] >= 0.7 + + +@pytest.mark.asyncio +async def test_list_alerts_filtered_by_type(): + """Test filtering alerts by alert type.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-filter-type")) + await repo.create_anomaly_alert( + _make_alert("test-alert-type-1", session.id, alert_type="error_spike") + ) + await repo.create_anomaly_alert( + _make_alert("test-alert-type-2", session.id, alert_type="confidence_drop") + ) + await db_session.commit() + + response = await client.get("/api/alerts?alert_type=error_spike") + + assert response.status_code == 200 + data = response.json() + assert "alerts" in data + assert data["filters"]["alert_type"] == "error_spike" + # All returned alerts should have the specified type + for alert in data["alerts"]: + assert alert["alert_type"] == "error_spike" + + +@pytest.mark.asyncio +async def test_alert_status_transitions(): + """Test alert status transitions: active -> acknowledged -> resolved.""" + app = create_app() + transport = ASGITransport(app=app) + async with AsyncClient(transport=transport, base_url="http://test") as client: + from api import app_context + + # Seed database with test data + async with app_context.require_session_maker()() as db_session: + repo = TraceRepository(db_session) + session = await repo.create_session(_make_session("test-session-transitions")) + alert = await repo.create_anomaly_alert( + _make_alert("test-alert-transition", session.id, severity=0.8) + ) + alert_id = alert.id + await db_session.commit() + + # Transition to acknowledged + response = await client.put( + f"/api/alerts/{alert_id}/status", + json={"status": "acknowledged", "note": "Looking into it"}, + ) + assert response.status_code == 200 + data = response.json() + assert data["status"] == "acknowledged" + assert data["acknowledged_at"] is not None + + # Transition to resolved + response = await client.put( + f"/api/alerts/{alert_id}/status", + json={"status": "resolved", "note": "Fixed"}, + ) + assert response.status_code == 200 + data = response.json() + assert data["status"] == "resolved" + assert data["resolved_at"] is not None + # Previous timestamp should still be present + assert data["acknowledged_at"] is not None diff --git a/tests/test_alert_policies.py b/tests/test_alert_policies.py new file mode 100644 index 0000000..6f53aae --- /dev/null +++ b/tests/test_alert_policies.py @@ -0,0 +1,268 @@ +"""Tests for alert policy repository and API endpoints.""" + +from __future__ import annotations + +import pytest + +from storage import AlertPolicyRepository + + +@pytest.mark.asyncio +async def test_create_policy(db_session): + """Test creating a new alert policy.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + policy = await repo.create_policy( + agent_name="test-agent", + alert_type="tool_loop", + threshold_value=3.0, + severity_threshold="high", + enabled=True, + ) + + assert policy.id is not None + assert policy.agent_name == "test-agent" + assert policy.alert_type == "tool_loop" + assert policy.threshold_value == 3.0 + assert policy.severity_threshold == "high" + assert policy.enabled is True + assert policy.tenant_id == "test-tenant" + + +@pytest.mark.asyncio +async def test_create_global_policy(db_session): + """Test creating a global policy (agent_name is None).""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + policy = await repo.create_policy( + agent_name=None, + alert_type="high_error_rate", + threshold_value=0.5, + enabled=True, + ) + + assert policy.agent_name is None + assert policy.alert_type == "high_error_rate" + + +@pytest.mark.asyncio +async def test_get_policy(db_session): + """Test retrieving a policy by ID.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + created = await repo.create_policy( + agent_name="test-agent", + alert_type="tool_loop", + threshold_value=3.0, + ) + await db_session.commit() + + retrieved = await repo.get_policy(created.id) + + assert retrieved is not None + assert retrieved.id == created.id + assert retrieved.alert_type == "tool_loop" + + +@pytest.mark.asyncio +async def test_get_policy_not_found(db_session): + """Test retrieving a non-existent policy returns None.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + retrieved = await repo.get_policy("non-existent-id") + + assert retrieved is None + + +@pytest.mark.asyncio +async def test_list_policies(db_session): + """Test listing all policies.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + # Create multiple policies + await repo.create_policy(agent_name="agent-1", alert_type="tool_loop", threshold_value=3.0) + await repo.create_policy(agent_name="agent-2", alert_type="high_error_rate", threshold_value=0.5) + await repo.create_policy(agent_name=None, alert_type="global_policy", threshold_value=1.0) + await db_session.commit() + + policies = await repo.list_policies() + + assert len(policies) == 3 + alert_types = {p.alert_type for p in policies} + assert "tool_loop" in alert_types + assert "high_error_rate" in alert_types + assert "global_policy" in alert_types + + +@pytest.mark.asyncio +async def test_list_policies_filtered_by_agent(db_session): + """Test listing policies filtered by agent_name.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + # Create policies for different agents + await repo.create_policy(agent_name="agent-1", alert_type="tool_loop", threshold_value=3.0) + await repo.create_policy(agent_name="agent-1", alert_type="high_error_rate", threshold_value=0.5) + await repo.create_policy(agent_name="agent-2", alert_type="tool_loop", threshold_value=5.0) + await repo.create_policy(agent_name=None, alert_type="tool_loop", threshold_value=2.0) + await db_session.commit() + + # List policies for agent-1 (should include agent-1 specific and global policies) + policies = await repo.list_policies(agent_name="agent-1") + + assert len(policies) == 3 # 2 agent-1 specific + 1 global + agent_names = {p.agent_name for p in policies} + assert "agent-1" in agent_names + assert None in agent_names # Global policy + + +@pytest.mark.asyncio +async def test_update_policy(db_session): + """Test updating an existing policy.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + created = await repo.create_policy( + agent_name="test-agent", + alert_type="tool_loop", + threshold_value=3.0, + severity_threshold="high", + enabled=True, + ) + await db_session.commit() + + updated = await repo.update_policy( + created.id, + threshold_value=5.0, + severity_threshold="critical", + enabled=False, + ) + await db_session.commit() + + assert updated is not None + assert updated.threshold_value == 5.0 + assert updated.severity_threshold == "critical" + assert updated.enabled is False + # Unchanged fields + assert updated.agent_name == "test-agent" + assert updated.alert_type == "tool_loop" + + +@pytest.mark.asyncio +async def test_update_policy_not_found(db_session): + """Test updating a non-existent policy returns None.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + updated = await repo.update_policy("non-existent-id", threshold_value=5.0) + + assert updated is None + + +@pytest.mark.asyncio +async def test_delete_policy(db_session): + """Test deleting a policy.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + created = await repo.create_policy( + agent_name="test-agent", + alert_type="tool_loop", + threshold_value=3.0, + ) + await db_session.commit() + + deleted = await repo.delete_policy(created.id) + await db_session.commit() + + assert deleted is True + + # Verify policy is gone + retrieved = await repo.get_policy(created.id) + assert retrieved is None + + +@pytest.mark.asyncio +async def test_delete_policy_not_found(db_session): + """Test deleting a non-existent policy returns False.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + deleted = await repo.delete_policy("non-existent-id") + + assert deleted is False + + +@pytest.mark.asyncio +async def test_get_active_policy_for_agent_specific(db_session): + """Test getting active policy prefers agent-specific over global.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + # Create both agent-specific and global policies + await repo.create_policy(agent_name="test-agent", alert_type="tool_loop", threshold_value=5.0) + await repo.create_policy(agent_name=None, alert_type="tool_loop", threshold_value=2.0) + await db_session.commit() + + # Should return agent-specific policy + policy = await repo.get_active_policy_for("tool_loop", agent_name="test-agent") + + assert policy is not None + assert policy.threshold_value == 5.0 + assert policy.agent_name == "test-agent" + + +@pytest.mark.asyncio +async def test_get_active_policy_falls_back_to_global(db_session): + """Test getting active policy falls back to global if no agent-specific policy.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + # Create only global policy + await repo.create_policy(agent_name=None, alert_type="tool_loop", threshold_value=2.0) + await db_session.commit() + + # Should return global policy + policy = await repo.get_active_policy_for("tool_loop", agent_name="test-agent") + + assert policy is not None + assert policy.threshold_value == 2.0 + assert policy.agent_name is None + + +@pytest.mark.asyncio +async def test_get_active_policy_disabled_not_returned(db_session): + """Test that disabled policies are not returned by get_active_policy_for.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + # Create disabled policy + await repo.create_policy( + agent_name=None, alert_type="tool_loop", threshold_value=2.0, enabled=False + ) + await db_session.commit() + + policy = await repo.get_active_policy_for("tool_loop", agent_name="test-agent") + + assert policy is None + + +@pytest.mark.asyncio +async def test_get_active_policy_no_policy_found(db_session): + """Test get_active_policy_for returns None when no policy exists.""" + repo = AlertPolicyRepository(db_session, tenant_id="test-tenant") + + policy = await repo.get_active_policy_for("non_existent_alert", agent_name="test-agent") + + assert policy is None + + +@pytest.mark.asyncio +async def test_policy_tenant_isolation(db_session): + """Test that policies are isolated by tenant_id.""" + repo1 = AlertPolicyRepository(db_session, tenant_id="tenant-1") + repo2 = AlertPolicyRepository(db_session, tenant_id="tenant-2") + + # Create policy in tenant-1 + await repo1.create_policy(agent_name="test-agent", alert_type="tool_loop", threshold_value=3.0) + await db_session.commit() + + # tenant-2 should not see tenant-1's policy + policies = await repo2.list_policies() + assert len(policies) == 0 + + # tenant-1 should see their policy + policies = await repo1.list_policies() + assert len(policies) == 1 diff --git a/tests/test_query_performance.py b/tests/test_query_performance.py new file mode 100644 index 0000000..343ea08 --- /dev/null +++ b/tests/test_query_performance.py @@ -0,0 +1,250 @@ +"""Tests for query performance optimizations. + +Tests verify that: +1. Database indexes exist on model definitions +2. Cache utility works correctly (set/get/invalidation/TTL) +3. Alert repository summary and trending methods use caching +4. Query patterns leverage available indexes +""" + +from __future__ import annotations + +import time +import uuid +from datetime import datetime, timedelta, timezone + +import pytest +from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine +from sqlalchemy.orm import sessionmaker + +from storage.cache import QueryCache +from storage.models import AnomalyAlertModel, EventModel, PatternModel, SessionModel + + +class TestQueryCache: + """Test the QueryCache utility.""" + + def test_cache_set_get(self): + """Test basic cache set and get operations.""" + cache = QueryCache() + + cache.set("key1", "value1") + assert cache.get("key1") == "value1" + + cache.set("key2", {"nested": "dict"}) + assert cache.get("key2") == {"nested": "dict"} + + def test_cache_ttl_expiration(self): + """Test that cache entries expire after TTL.""" + cache = QueryCache() + + # Set with 1 second TTL + cache.set("expiring_key", "value", ttl_seconds=1) + assert cache.get("expiring_key") == "value" + + # Wait for expiration + time.sleep(1.1) + assert cache.get("expiring_key") is None + + def test_cache_invalidation(self): + """Test manual cache invalidation.""" + cache = QueryCache() + + cache.set("key1", "value1") + cache.set("key2", "value2") + + assert cache.get("key1") == "value1" + assert cache.get("key2") == "value2" + + cache.invalidate("key1") + assert cache.get("key1") is None + assert cache.get("key2") == "value2" + + def test_cache_clear(self): + """Test clearing all cache entries.""" + cache = QueryCache() + + cache.set("key1", "value1") + cache.set("key2", "value2") + cache.set("key3", "value3") + + assert cache.size() == 3 + + cache.clear() + assert cache.size() == 0 + assert cache.get("key1") is None + assert cache.get("key2") is None + assert cache.get("key3") is None + + def test_cache_cleanup_expired(self): + """Test cleanup of expired entries.""" + cache = QueryCache() + + # Set entries with different TTLs + cache.set("short", "value1", ttl_seconds=1) + cache.set("long", "value2", ttl_seconds=10) + + time.sleep(1.1) + + # Cleanup should remove the expired entry + removed = cache.cleanup_expired() + assert removed == 1 + assert cache.get("short") is None + assert cache.get("long") == "value2" + + def test_cache_size(self): + """Test cache size tracking.""" + cache = QueryCache() + + assert cache.size() == 0 + + cache.set("key1", "value1") + assert cache.size() == 1 + + cache.set("key2", "value2") + cache.set("key3", "value3") + assert cache.size() == 3 + + +class TestModelIndexes: + """Test that indexes exist on model definitions.""" + + def test_anomaly_alert_model_indexes(self): + """Verify AnomalyAlertModel has the expected indexes.""" + # We can't verify migration-created indexes on the model itself, + # but we can verify the columns that should be indexed exist + assert hasattr(AnomalyAlertModel, "created_at") + assert hasattr(AnomalyAlertModel, "severity") + assert hasattr(AnomalyAlertModel, "alert_type") + assert hasattr(AnomalyAlertModel, "session_id") + + def test_pattern_model_indexes(self): + """Verify PatternModel has the expected indexes.""" + # Check that indexed columns exist + assert hasattr(PatternModel, "pattern_type") + assert hasattr(PatternModel, "status") + assert hasattr(PatternModel, "agent_name") + assert hasattr(PatternModel, "severity") + + def test_session_model_indexes(self): + """Verify SessionModel has the expected indexes.""" + assert hasattr(SessionModel, "started_at") + assert hasattr(SessionModel, "agent_name") + + def test_event_model_indexes(self): + """Verify EventModel has the expected indexes.""" + assert hasattr(EventModel, "session_id") + assert hasattr(EventModel, "timestamp") + assert hasattr(EventModel, "event_type") + + +class TestAlertRepositoryOptimizations: + """Test alert repository query optimizations.""" + + @pytest.mark.asyncio + async def test_alert_summary_caching(self): + """Test that alert summary results are cached.""" + from storage.repositories.alert_repo import AnomalyAlertRepository + + # Create an in-memory SQLite engine for testing + engine = create_async_engine("sqlite+aiosqlite:///:memory:") + + # Create tables + from storage.models import Base + async with engine.begin() as conn: + await conn.run_sync(Base.metadata.create_all) + + # Create session + async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False) + async with async_session() as session: + repo = AnomalyAlertRepository(session, tenant_id="test") + + # Clear any existing cache + repo._cache.clear() + + # Create test alerts + now = datetime.now(timezone.utc) + for i in range(5): + alert = AnomalyAlertModel( + id=str(uuid.uuid4()), + tenant_id="test", + session_id=str(uuid.uuid4()), + alert_type=f"test_type_{i % 2}", + severity=0.5 + (i * 0.1), + signal=f"Test alert {i}", + event_ids=[], + detection_source="test", + detection_config={}, + created_at=now - timedelta(hours=i), + ) + session.add(alert) + await session.commit() + + # First call should query database + summary1 = await repo.get_alert_summary(hours=24) + assert summary1["total_count"] == 5 + + # Second call should use cache + summary2 = await repo.get_alert_summary(hours=24) + assert summary2["total_count"] == 5 + + # Verify cache was used + assert repo._cache.size() > 0 + + @pytest.mark.asyncio + async def test_alert_list_limit_default(self): + """Test that list queries have reasonable limits.""" + from storage.repositories.alert_repo import AnomalyAlertRepository + + engine = create_async_engine("sqlite+aiosqlite:///:memory:") + + from storage.models import Base + async with engine.begin() as conn: + await conn.run_sync(Base.metadata.create_all) + + async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False) + async with async_session() as session: + repo = AnomalyAlertRepository(session, tenant_id="test") + + # Create more alerts than the default limit + session_id = str(uuid.uuid4()) + now = datetime.now(timezone.utc) + for i in range(100): + alert = AnomalyAlertModel( + id=str(uuid.uuid4()), + tenant_id="test", + session_id=session_id, + alert_type="test_type", + severity=0.5, + signal=f"Test alert {i}", + event_ids=[], + detection_source="test", + detection_config={}, + created_at=now - timedelta(minutes=i), + ) + session.add(alert) + await session.commit() + + # List should return at most 50 (default limit) + alerts = await repo.list_anomaly_alerts(session_id) + assert len(alerts) <= 50 + + # Verify ordering by created_at desc (newest first) + if len(alerts) > 1: + assert alerts[0].created_at >= alerts[-1].created_at + + +@pytest.mark.integration +class TestMigrationIndexes: + """Integration tests for migration-created indexes.""" + + def test_migration_006_creates_indexes(self): + """Test that migration 006 creates the expected indexes.""" + # This test requires a real database connection + # Skip in unit test environments + pytest.skip("Requires database connection") + + # With a real connection, you would: + # 1. Run migration 006 + # 2. Query pg_indexes or sqlite_master to verify indexes exist + # 3. Verify index columns match expectations From d4489d84557104297224301d41c153242b412651 Mon Sep 17 00:00:00 2001 From: acailic Date: Sat, 4 Apr 2026 02:50:25 +0200 Subject: [PATCH 3/5] feat: add AlertDashboardPanel component and alert UI styles Adds the alert dashboard panel with lifecycle controls and policy management UI, wired into AnalyticsTab. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/App.css | 541 ++++++++++++++++++ .../src/components/AlertDashboardPanel.tsx | 305 ++++++++++ frontend/src/components/AnalyticsTab.tsx | 2 + 3 files changed, 848 insertions(+) create mode 100644 frontend/src/components/AlertDashboardPanel.tsx diff --git a/frontend/src/App.css b/frontend/src/App.css index c5286e9..28d9a4e 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -6180,3 +6180,544 @@ pre { scroll-behavior: auto !important; } } + +/* ═══════════════════════════════════════════════════════════ + ALERT DASHBOARD PANEL STYLES + ═══════════════════════════════════════════════════════════ */ + +.alert-dashboard { + padding: 1.4rem; +} + +.alert-dashboard .panel-head { + display: flex; + justify-content: space-between; + align-items: baseline; + padding: 1.3rem 1.5rem 1rem; + border-bottom: 1px solid color-mix(in oklch, var(--panel-border), transparent 40%); + margin-bottom: 1rem; + background: linear-gradient(180deg, color-mix(in oklch, var(--panel), var(--bg-strong) 8%) 0%, transparent 100%); + border-radius: 1.3rem 1.3rem 0 0; +} + +.alert-dashboard .panel-head .eyebrow { + margin: 0 0 0.3rem; + font-size: 0.68rem; + letter-spacing: 0.18em; + text-transform: uppercase; + color: var(--muted); + font-weight: 600; +} + +.alert-dashboard .panel-head h2 { + margin: 0; + font-size: 1.2rem; + font-weight: 700; + letter-spacing: -0.025em; +} + +/* Summary Cards */ +.alert-summary-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); + gap: 1rem; + margin-bottom: 1.5rem; +} + +.alert-card { + display: grid; + gap: 0.35rem; + padding: 1.25rem; + border-radius: 1.2rem; + background: color-mix(in oklch, var(--panel), var(--accent) 4%); + border: 1px solid color-mix(in oklch, var(--panel-border), var(--accent) 22%); + text-align: center; + transition: all var(--duration-normal) var(--ease-material); + box-shadow: 0 2px 8px color-mix(in oklch, var(--muted), transparent 85%); +} + +.alert-card:hover { + transform: translateY(-2px); + box-shadow: 0 4px 16px color-mix(in oklch, var(--muted), transparent 70%); +} + +.alert-card .metric-label { + font-size: 0.7rem; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--muted); +} + +.alert-card strong { + font-size: 1.5rem; + font-weight: 700; + color: var(--text); +} + +.alert-card--critical { + background: color-mix(in oklch, var(--panel), var(--danger) 6%); + border-color: color-mix(in oklch, var(--panel-border), var(--danger) 25%); +} + +.alert-card--critical strong { + color: var(--danger); +} + +.alert-card--warning { + background: color-mix(in oklch, var(--panel), var(--warning) 6%); + border-color: color-mix(in oklch, var(--panel-border), var(--warning) 25%); +} + +.alert-card--warning strong { + color: var(--warning); +} + +.alert-card--info { + background: color-mix(in oklch, var(--panel), var(--accent) 6%); + border-color: color-mix(in oklch, var(--panel-border), var(--accent) 25%); +} + +.alert-card--info strong { + color: var(--accent); +} + +/* Filter Bar */ +.alert-filter-bar { + display: flex; + flex-wrap: wrap; + gap: 0.75rem; + align-items: center; + padding: 1rem; + border-radius: 1rem; + background: color-mix(in oklch, var(--panel), var(--bg-strong) 25%); + margin-bottom: 1rem; +} + +.alert-filter-bar .filter-select { + padding: 0.6rem 0.9rem; + border-radius: 0.8rem; + border: 1px solid var(--panel-border); + background: color-mix(in oklch, var(--panel), white 50%); + color: var(--text); + font-size: 0.85rem; + cursor: pointer; + transition: all var(--duration-normal) var(--ease-material); +} + +.alert-filter-bar .filter-select:focus { + outline: none; + border-color: var(--accent); + box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent), transparent 80%); +} + +.alert-filter-bar .clear-filters-btn { + padding: 0.6rem 1rem; + border-radius: 0.8rem; + background: color-mix(in oklch, var(--muted), white 85%); + border: 1px solid var(--panel-border); + color: var(--text); + font-size: 0.8rem; + font-weight: 500; + cursor: pointer; + transition: all var(--duration-normal) var(--ease-material); +} + +.alert-filter-bar .clear-filters-btn:hover { + background: color-mix(in oklch, var(--muted), white 75%); + transform: translateY(-1px); +} + +.alert-filter-bar .bulk-acknowledge-btn { + padding: 0.6rem 1rem; + border-radius: 0.8rem; + background: color-mix(in oklch, var(--accent), white 85%); + border: 1px solid color-mix(in oklch, var(--accent), white 50%); + color: var(--accent-deep); + font-size: 0.8rem; + font-weight: 600; + cursor: pointer; + transition: all var(--duration-normal) var(--ease-material); +} + +.alert-filter-bar .bulk-acknowledge-btn:hover { + background: color-mix(in oklch, var(--accent), white 75%); + transform: translateY(-1px); +} + +/* Alert List */ +.alert-list { + display: grid; + gap: 0.75rem; + margin-bottom: 1.5rem; +} + +.alert-row { + position: relative; + padding: 1rem 1.1rem; + padding-left: 1.3rem; + border-radius: 1rem; + border: 1px solid var(--panel-border); + background: color-mix(in oklch, var(--panel), var(--bg-strong) 34%); + text-align: left; + cursor: pointer; + transition: all var(--duration-normal) var(--ease-material); + border-left: 4px solid transparent; +} + +.alert-row:hover { + transform: translateX(2px); + box-shadow: 0 4px 12px color-mix(in oklch, var(--muted), transparent 70%); +} + +.alert-row::before { + content: ''; + position: absolute; + left: 0.75rem; + top: 50%; + transform: translateY(-50%); + width: 6px; + height: 6px; + border-radius: 50%; + background: var(--muted); +} + +.alert-row--active { + border-left-color: var(--danger); + background: color-mix(in oklch, var(--panel), var(--danger) 8%); +} + +.alert-row--active::before { + background: var(--danger); +} + +.alert-row--acknowledged { + border-left-color: var(--warning); + background: color-mix(in oklch, var(--panel), var(--warning) 6%); +} + +.alert-row--acknowledged::before { + background: var(--warning); +} + +.alert-row--resolved { + border-left-color: var(--olive); + background: color-mix(in oklch, var(--panel), var(--olive) 6%); + opacity: 0.85; +} + +.alert-row--resolved::before { + background: var(--olive); +} + +.alert-row--dismissed { + border-left-color: var(--muted); + background: color-mix(in oklch, var(--panel), var(--muted) 6%); + opacity: 0.7; +} + +.alert-row--dismissed::before { + background: var(--muted); +} + +.alert-row-header { + display: flex; + justify-content: space-between; + align-items: center; + gap: 0.75rem; + margin-bottom: 0.5rem; +} + +.alert-row-meta { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.alert-severity-dot { + width: 8px; + height: 8px; + border-radius: 50%; + flex-shrink: 0; + box-shadow: 0 0 0 2px color-mix(in oklch, currentColor, white 70%); +} + +.alert-type { + font-size: 0.8rem; + font-weight: 600; + color: var(--text); + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.alert-severity { + padding: 0.2rem 0.5rem; + border-radius: 4px; + background: color-mix(in oklch, var(--panel), var(--bg-strong) 50%); + font-size: 0.7rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--muted); +} + +.alert-status { + padding: 0.2rem 0.5rem; + border-radius: 4px; + background: color-mix(in oklch, var(--panel), var(--bg-strong) 50%); + font-size: 0.7rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--muted); +} + +.alert-time { + font-size: 0.75rem; + color: var(--muted); +} + +.alert-signal { + margin: 0.5rem 0; + font-size: 0.9rem; + color: var(--text); + line-height: 1.5; +} + +/* Alert Details */ +.alert-details { + margin-top: 1rem; + padding-top: 1rem; + border-top: 1px solid var(--panel-border); + display: grid; + gap: 0.75rem; +} + +.alert-detail-row { + display: flex; + justify-content: space-between; + align-items: center; + gap: 0.5rem; + font-size: 0.85rem; +} + +.alert-detail-label { + color: var(--muted); + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.alert-detail-value { + color: var(--text); + font-weight: 500; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.alert-resolution { + display: grid; + gap: 0.5rem; + padding: 0.75rem; + border-radius: 0.75rem; + background: color-mix(in oklch, var(--panel), var(--bg-strong) 30%); + margin-top: 0.5rem; +} + +.alert-resolution label { + font-size: 0.75rem; + font-weight: 600; + color: var(--muted); + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.alert-resolution .resolution-input { + width: 100%; + padding: 0.6rem 0.8rem; + border-radius: 0.6rem; + border: 1px solid var(--panel-border); + background: var(--panel); + font-size: 0.85rem; + resize: vertical; + transition: border-color 0.2s ease; +} + +.alert-resolution .resolution-input:focus { + outline: none; + border-color: var(--accent); + box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent), transparent 80%); +} + +.alert-actions { + display: flex; + gap: 0.5rem; + flex-wrap: wrap; +} + +.alert-action-btn { + padding: 0.5rem 0.9rem; + border-radius: 0.6rem; + font-size: 0.8rem; + font-weight: 600; + cursor: pointer; + transition: all 160ms ease; + border: 1px solid transparent; +} + +.alert-action-btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.alert-action-btn--acknowledge { + background: color-mix(in oklch, var(--accent), white 85%); + border-color: color-mix(in oklch, var(--accent), white 50%); + color: var(--accent-deep); +} + +.alert-action-btn--acknowledge:hover:not(:disabled) { + background: color-mix(in oklch, var(--accent), white 75%); + transform: translateY(-1px); +} + +.alert-action-btn--resolve { + background: color-mix(in oklch, var(--olive), white 85%); + border-color: color-mix(in oklch, var(--olive), white 50%); + color: var(--olive); +} + +.alert-action-btn--resolve:hover:not(:disabled) { + background: color-mix(in oklch, var(--olive), white 75%); + transform: translateY(-1px); +} + +.alert-action-btn--dismiss { + background: color-mix(in oklch, var(--muted), white 85%); + border-color: color-mix(in oklch, var(--panel-border), var(--muted) 30%); + color: var(--muted); +} + +.alert-action-btn--dismiss:hover { + background: color-mix(in oklch, var(--muted), white 75%); + transform: translateY(-1px); +} + +/* Trending Section */ +.trending-section { + margin-top: 1.5rem; + padding: 1rem; + border-radius: 1rem; + background: color-mix(in oklch, var(--panel), var(--bg-strong) 20%); +} + +.trending-section h3 { + margin: 0 0 1rem; + font-size: 0.9rem; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--muted); +} + +.trending-bars { + display: flex; + gap: 4px; + align-items: flex-end; + height: 120px; + padding: 0.5rem 0; +} + +.trending-bar-container { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.5rem; + height: 100%; +} + +.trending-bar { + width: 100%; + background: linear-gradient(180deg, var(--accent) 0%, color-mix(in oklch, var(--accent), var(--bg) 30%) 100%); + border-radius: 4px 4px 0 0; + transition: height 300ms ease; + min-height: 4px; + position: relative; +} + +.trending-bar:hover { + background: linear-gradient(180deg, var(--olive) 0%, color-mix(in oklch, var(--olive), var(--bg) 30%) 100%); +} + +.trending-label { + font-size: 0.65rem; + color: var(--muted); + text-align: center; + transform: rotate(-45deg); + transform-origin: center; + white-space: nowrap; + margin-top: 0.25rem; +} + +/* Loading and Empty States */ +.alert-dashboard .loading-state { + display: flex; + justify-content: center; + align-items: center; + padding: 3rem 2rem; + color: var(--muted); + font-size: 0.95rem; +} + +.alert-dashboard .empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + padding: 3rem 2rem; + gap: 0.75rem; + min-height: 200px; +} + +/* Responsive Design */ +@media (max-width: 768px) { + .alert-summary-cards { + grid-template-columns: repeat(2, 1fr); + } + + .alert-filter-bar { + flex-direction: column; + align-items: stretch; + } + + .alert-filter-bar .filter-select, + .alert-filter-bar .clear-filters-btn, + .alert-filter-bar .bulk-acknowledge-btn { + width: 100%; + } + + .alert-actions { + flex-direction: column; + } + + .alert-action-btn { + width: 100%; + } +} + +@media (max-width: 480px) { + .alert-summary-cards { + grid-template-columns: 1fr; + } + + .alert-dashboard { + padding: 1rem; + } + + .alert-dashboard .panel-head { + padding: 1rem; + } +} diff --git a/frontend/src/components/AlertDashboardPanel.tsx b/frontend/src/components/AlertDashboardPanel.tsx new file mode 100644 index 0000000..5f47673 --- /dev/null +++ b/frontend/src/components/AlertDashboardPanel.tsx @@ -0,0 +1,305 @@ +import { useState } from 'react' +import { useAlerts } from '../hooks/useAlerts' +import { useAlertSummary } from '../hooks/useAlertSummary' +import type { AlertStatus, ManagedAlert, RiskLevel } from '../types' + +interface AlertDashboardPanelProps { + agentName: string | null +} + +export function AlertDashboardPanel({ agentName }: AlertDashboardPanelProps) { + const { alerts, loading, error, filters, setFilter, clearFilter, clearAllFilters, updateStatus, bulkUpdate } = + useAlerts(agentName ? { agent_name: agentName } : {}) + const { summary, trending, loading: summaryLoading } = useAlertSummary(7) + const [expandedAlertId, setExpandedAlertId] = useState(null) + const [resolutionNote, setResolutionNote] = useState('') + const [resolvingAlertId, setResolvingAlertId] = useState(null) + + const handleStatusChange = async (alertId: string, status: AlertStatus, note?: string) => { + try { + await updateStatus(alertId, status, note) + if (status === 'resolved' || status === 'dismissed') { + setExpandedAlertId(null) + setResolutionNote('') + } + } catch (err) { + console.error('Failed to update alert status:', err) + } + } + + const handleBulkAcknowledge = async () => { + const activeAlerts = alerts.filter((a) => a.status === 'active').map((a) => a.id) + if (activeAlerts.length === 0) return + try { + await bulkUpdate(activeAlerts, 'acknowledged') + } catch (err) { + console.error('Failed to bulk acknowledge:', err) + } + } + + const handleResolve = async (alertId: string) => { + setResolvingAlertId(alertId) + try { + await handleStatusChange(alertId, 'resolved', resolutionNote || undefined) + } finally { + setResolvingAlertId(null) + } + } + + const getSeverityColor = (severity: RiskLevel): string => { + switch (severity) { + case 'critical': + return 'var(--danger)' + case 'high': + return 'oklch(0.58 0.22 25)' + case 'medium': + return 'var(--warning)' + case 'low': + return 'var(--olive)' + default: + return 'var(--muted)' + } + } + + const getStatusVariant = (status: AlertStatus): string => { + switch (status) { + case 'active': + return 'alert-row--active' + case 'acknowledged': + return 'alert-row--acknowledged' + case 'resolved': + return 'alert-row--resolved' + case 'dismissed': + return 'alert-row--dismissed' + default: + return '' + } + } + + if (summaryLoading && !summary) { + return ( +

+
+

Alerts

+

Alert Dashboard

+
+
Loading alert data...
+
+ ) + } + + return ( +
+
+

Alert Management

+

+ Alert Dashboard + {summary && summary.total > 0 && {summary.total}} +

+
+ + {error &&
{error}
} + + {/* Summary Cards */} + {summary && ( +
+
+ Total Alerts + {summary.total} +
+
+ Critical + {summary.by_severity.critical || 0} +
+
+ Warning + {summary.by_severity.high || 0} +
+
+ Active + {summary.by_status.active || 0} +
+
+ )} + + {/* Filter Bar */} +
+ + + + {(filters.severity || filters.status || filters.alert_type) && ( + + )} + {alerts.some((a) => a.status === 'active') && ( + + )} +
+ + {/* Alert List */} +
+ {loading ? ( +
Loading alerts...
+ ) : alerts.length === 0 ? ( +
+
🔔
+

No alerts

+

No alerts match the current filters.

+ Alerts will appear here when behavior patterns need attention +
+ ) : ( + alerts.map((alert) => ( +
setExpandedAlertId(expandedAlertId === alert.id ? null : alert.id)} + > +
+
+ + {alert.alert_type} + {alert.severity} + {alert.status} +
+ + {new Date(alert.created_at).toLocaleString()} + +
+

{alert.signal}

+ + {expandedAlertId === alert.id && ( +
e.stopPropagation()}> +
+ Session ID: + {alert.session_id} +
+
+ Detection Source: + {alert.detection_source} +
+
+ Events: + {alert.event_ids.length} linked +
+ {alert.resolution_note && ( +
+ Resolution Note: + {alert.resolution_note} +
+ )} + + {/* Resolution note input for active/acknowledged alerts */} + {(alert.status === 'active' || alert.status === 'acknowledged') && ( +
+ + setResolutionNote(e.target.value)} + placeholder="Add resolution note..." + className="resolution-input" + /> +
+ {alert.status === 'active' && ( + + )} + + +
+
+ )} +
+ )} +
+ )) + )} +
+ + {/* Trending Section */} + {trending && trending.length > 0 && ( +
+

Alert Volume (Last 7 Days)

+
+ {trending.map((point) => { + const maxCount = Math.max(...trending.map((p) => p.count)) + const heightPercent = maxCount > 0 ? (point.count / maxCount) * 100 : 0 + return ( +
+
+ {new Date(point.date).toLocaleDateString(undefined, { month: 'short', day: 'numeric' })} +
+ ) + })} +
+
+ )} +
+ ) +} diff --git a/frontend/src/components/AnalyticsTab.tsx b/frontend/src/components/AnalyticsTab.tsx index 66baecc..a0f5b59 100644 --- a/frontend/src/components/AnalyticsTab.tsx +++ b/frontend/src/components/AnalyticsTab.tsx @@ -1,5 +1,6 @@ import CostSummary from './CostSummary' import { AnalyticsPanel } from './AnalyticsPanel' +import { AlertDashboardPanel } from './AlertDashboardPanel' import './AnalyticsTab.css' export function AnalyticsTab() { @@ -7,6 +8,7 @@ export function AnalyticsTab() {
+
) } From 1f5e249c0b7ac55af1bd5806ae70ef483f5631f1 Mon Sep 17 00:00:00 2001 From: acailic Date: Sat, 4 Apr 2026 03:15:54 +0200 Subject: [PATCH 4/5] fix: clean up unused imports in AlertDashboardPanel Co-Authored-By: Claude Opus 4.6 --- frontend/src/components/AlertDashboardPanel.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/AlertDashboardPanel.tsx b/frontend/src/components/AlertDashboardPanel.tsx index 5f47673..2615e1a 100644 --- a/frontend/src/components/AlertDashboardPanel.tsx +++ b/frontend/src/components/AlertDashboardPanel.tsx @@ -1,14 +1,14 @@ import { useState } from 'react' import { useAlerts } from '../hooks/useAlerts' import { useAlertSummary } from '../hooks/useAlertSummary' -import type { AlertStatus, ManagedAlert, RiskLevel } from '../types' +import type { AlertStatus, RiskLevel } from '../types' interface AlertDashboardPanelProps { agentName: string | null } export function AlertDashboardPanel({ agentName }: AlertDashboardPanelProps) { - const { alerts, loading, error, filters, setFilter, clearFilter, clearAllFilters, updateStatus, bulkUpdate } = + const { alerts, loading, error, filters, setFilter, clearAllFilters, updateStatus, bulkUpdate } = useAlerts(agentName ? { agent_name: agentName } : {}) const { summary, trending, loading: summaryLoading } = useAlertSummary(7) const [expandedAlertId, setExpandedAlertId] = useState(null) From ed7b4ea3b83758dd52f2ed00de1e57e5b72b9804 Mon Sep 17 00:00:00 2001 From: acailic Date: Sat, 4 Apr 2026 03:26:39 +0200 Subject: [PATCH 5/5] fix: address PR review feedback for Phase 4 intelligence features - Add prefix-based cache invalidation to QueryCache - Fix cache key to include limit parameter in trending queries - Expand cache invalidation to cover all aggregate cache families - Fix frontend to send 'note' instead of 'resolution_note' in status updates - Fix trending API response unwrapping (unwrap .trending from envelope) - Fix bulk status return type to match backend ({ updated, status }) - Change ManagedAlert.severity from RiskLevel to number, add severityLabel helper - Use numeric severity values in filter dropdown (matching backend float param) - Add accessibility (role, tabIndex, onKeyDown) to alert rows - Make AlertDeriver.get_threshold async-safe with coroutine detection - Use UNSET sentinel in policy_repo.update_policy for nullable field support - Rename ix_sessions_created_at to ix_sessions_started_at in migration 008 - Replace real sleeps with monkeypatched time in cache tests - Fix hard-coded path in capture_search.py (use Path(__file__).parent) Co-Authored-By: Claude Opus 4.6 --- collector/alerts/base.py | 40 +++++++++++++++++- .../assets/gifs/screenshots/capture_search.py | 4 +- frontend/src/api/client.ts | 9 ++-- .../src/components/AlertDashboardPanel.tsx | 27 ++++++++---- frontend/src/types/index.ts | 10 ++++- storage/cache.py | 18 ++++++-- .../versions/008_add_alert_indexes.py | 4 +- storage/repositories/alert_repo.py | 11 ++--- storage/repositories/policy_repo.py | 36 +++++++++------- tests/test_query_performance.py | 41 +++++++++++++------ 10 files changed, 144 insertions(+), 56 deletions(-) diff --git a/collector/alerts/base.py b/collector/alerts/base.py index 8bdc8b1..7d1b684 100644 --- a/collector/alerts/base.py +++ b/collector/alerts/base.py @@ -2,6 +2,7 @@ from __future__ import annotations +import asyncio from abc import ABC, abstractmethod from typing import Any @@ -16,13 +17,46 @@ def __init__(self, policy_getter: Any | None = None): Args: policy_getter: Optional callable that retrieves alert policies. - Should have signature: (alert_type: str, agent_name: str | None) -> dict | None + May be sync or async with signature: + (alert_type: str, agent_name: str | None) -> dict | None """ self.policy_getter = policy_getter - def get_threshold(self, alert_type: str, agent_name: str | None = None, default_threshold: float = 0.0) -> float: + def get_threshold( + self, + alert_type: str, + agent_name: str | None = None, + default_threshold: float = 0.0, + ) -> float: """Get the threshold value for an alert type from policy or use default. + Supports both sync and async policy getters. For async getters, returns + the default immediately — use ``get_threshold_async`` in async contexts. + + Args: + alert_type: Type of alert to get threshold for + agent_name: Optional agent name for agent-specific policies + default_threshold: Default threshold if no policy found + + Returns: + Threshold value to use + """ + if self.policy_getter: + policy = self.policy_getter(alert_type, agent_name) + if asyncio.iscoroutine(policy): + return default_threshold + if policy and policy.get("enabled", True): + return policy.get("threshold_value", default_threshold) + return default_threshold + + async def get_threshold_async( + self, + alert_type: str, + agent_name: str | None = None, + default_threshold: float = 0.0, + ) -> float: + """Async version of get_threshold that awaits async policy getters. + Args: alert_type: Type of alert to get threshold for agent_name: Optional agent name for agent-specific policies @@ -33,6 +67,8 @@ def get_threshold(self, alert_type: str, agent_name: str | None = None, default_ """ if self.policy_getter: policy = self.policy_getter(alert_type, agent_name) + if asyncio.iscoroutine(policy): + policy = await policy if policy and policy.get("enabled", True): return policy.get("threshold_value", default_threshold) return default_threshold diff --git a/docs/assets/gifs/screenshots/capture_search.py b/docs/assets/gifs/screenshots/capture_search.py index 1c3ba0f..8ec7aab 100644 --- a/docs/assets/gifs/screenshots/capture_search.py +++ b/docs/assets/gifs/screenshots/capture_search.py @@ -6,9 +6,7 @@ async def capture_screenshots(): - screenshots_dir = Path( # noqa: E501 - "/home/nistrator/Documents/github/amplifier/ai_working/agent_debugger/docs/assets/gifs/screenshots" - ) + screenshots_dir = Path(__file__).resolve().parent async with async_playwright() as p: browser = await p.chromium.launch(headless=False) diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts index fa8ae63..85f1ea9 100644 --- a/frontend/src/api/client.ts +++ b/frontend/src/api/client.ts @@ -399,7 +399,7 @@ export async function updateAlertStatus( const response = await fetch(`${API_BASE}/alerts/${alertId}/status`, { method: 'PUT', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ status, resolution_note: note }), + body: JSON.stringify({ status, note }), }) if (!response.ok) { throw new Error(`API error: ${response.status} ${response.statusText}`) @@ -416,7 +416,7 @@ export async function bulkUpdateAlertStatus(alertIds: string[], status: AlertSta if (!response.ok) { throw new Error(`API error: ${response.status} ${response.statusText}`) } - return response.json() as Promise<{ updated: number; failed: number }> + return response.json() as Promise<{ updated: number; status: AlertStatus }> } export async function fetchAlertSummary() { @@ -424,7 +424,10 @@ export async function fetchAlertSummary() { } export async function fetchAlertTrending(days: number = 7) { - return fetchJSON(`${API_BASE}/alerts/trending?days=${days}`) + const data = await fetchJSON<{ trending: AlertTrendingPoint[]; days: number }>( + `${API_BASE}/alerts/trending?days=${days}` + ) + return data.trending } export async function fetchAlertPolicies(agentName?: string) { diff --git a/frontend/src/components/AlertDashboardPanel.tsx b/frontend/src/components/AlertDashboardPanel.tsx index 2615e1a..d2fe139 100644 --- a/frontend/src/components/AlertDashboardPanel.tsx +++ b/frontend/src/components/AlertDashboardPanel.tsx @@ -1,7 +1,8 @@ import { useState } from 'react' import { useAlerts } from '../hooks/useAlerts' import { useAlertSummary } from '../hooks/useAlertSummary' -import type { AlertStatus, RiskLevel } from '../types' +import type { AlertStatus } from '../types' +import { severityLabel } from '../types' interface AlertDashboardPanelProps { agentName: string | null @@ -46,8 +47,9 @@ export function AlertDashboardPanel({ agentName }: AlertDashboardPanelProps) { } } - const getSeverityColor = (severity: RiskLevel): string => { - switch (severity) { + const getSeverityColor = (severity: number): string => { + const label = severityLabel(severity) + switch (label) { case 'critical': return 'var(--danger)' case 'high': @@ -130,10 +132,10 @@ export function AlertDashboardPanel({ agentName }: AlertDashboardPanelProps) { className="filter-select" > - - - - + + + +