From 330eec4bff6f194aafdcbe499ab893bef06254b6 Mon Sep 17 00:00:00 2001 From: Anso Date: Sun, 29 Mar 2026 01:01:45 -0400 Subject: [PATCH] fix(scheduled-ops): audit log text, run attribution, prune targets, and pagination (#234) - Fix "Run Now" audit log showing "Created scheduled task" instead of "Triggered scheduled task" by adding wildcard-based route matching with specificity sorting - Add triggered_by column to track whether runs were started by the scheduler or manually via Run Now - Add configurable prune targets (containers, images, networks, volumes) with checkbox UI - Add pagination to execution history with offset-based navigation - Document Run Now behavior on disabled tasks and add screenshots --- CHANGELOG.md | 11 ++- backend/src/index.ts | 75 +++++++++++++++--- backend/src/services/DatabaseService.ts | 22 +++-- backend/src/services/SchedulerService.ts | 13 ++- docs/features/scheduled-operations.mdx | 17 +++- .../scheduled-operations/create-dialog.png | Bin 0 -> 25205 bytes docs/images/scheduled-operations/overview.png | Bin 0 -> 66909 bytes .../scheduled-operations/run-history.png | Bin 0 -> 53487 bytes .../components/ScheduledOperationsView.tsx | 72 +++++++++++++++-- 9 files changed, 180 insertions(+), 30 deletions(-) create mode 100644 docs/images/scheduled-operations/create-dialog.png create mode 100644 docs/images/scheduled-operations/overview.png create mode 100644 docs/images/scheduled-operations/run-history.png diff --git a/CHANGELOG.md b/CHANGELOG.md index e272fe51..baeb27d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,9 +13,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added +### Fixed -* **scheduled-operations:** Team Pro feature for scheduling recurring Docker operations (stack restarts, fleet snapshots, system prunes) via cron expressions with full execution history logging. Includes new SchedulerService, CRUD API endpoints, and a dedicated UI section. +* **scheduled-ops:** fix "Run Now" audit log entry incorrectly showing "Created scheduled task" instead of "Triggered scheduled task" +* **scheduled-ops:** add `triggered_by` attribution to run records distinguishing scheduler vs manual executions +* **scheduled-ops:** add pagination to execution history view +* **scheduled-ops:** make system prune targets configurable (containers, images, networks, volumes) + +### Docs + +* **scheduled-ops:** add screenshots and document Run Now behavior for disabled tasks ## [0.14.2](https://github.com/AnsoCode/Sencho/compare/v0.14.1...v0.14.2) (2026-03-29) diff --git a/backend/src/index.ts b/backend/src/index.ts index c719a299..0ca8d8e7 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -686,6 +686,7 @@ const AUDIT_ROUTE_SUMMARIES: Record = { 'DELETE /sso/config': 'Deleted SSO configuration', 'POST /api-tokens': 'Created API token', 'DELETE /api-tokens': 'Revoked API token', + 'POST /scheduled-tasks/*/run': 'Triggered scheduled task', 'POST /scheduled-tasks': 'Created scheduled task', 'PUT /scheduled-tasks': 'Updated scheduled task', 'DELETE /scheduled-tasks': 'Deleted scheduled task', @@ -693,15 +694,45 @@ const AUDIT_ROUTE_SUMMARIES: Record = { }; function getAuditSummary(method: string, apiPath: string): string { - // Try exact prefix matches from most specific to least const normalized = apiPath.replace(/^\//, ''); - for (const [pattern, summary] of Object.entries(AUDIT_ROUTE_SUMMARIES)) { - const [pMethod, pPath] = pattern.split(' '); - if (method === pMethod && normalized.startsWith(pPath.replace(/^\//, ''))) { - // Extract resource name from path if available (e.g., /stacks/myapp → "myapp") - const rest = normalized.slice(pPath.replace(/^\//, '').length).replace(/^\//, ''); - const resourceName = rest.split('/')[0]; - return resourceName ? `${summary}: ${decodeURIComponent(resourceName)}` : summary; + const normalizedSegments = normalized.split('/'); + + // Sort patterns by segment count descending (most specific first) + const sortedEntries = Object.entries(AUDIT_ROUTE_SUMMARIES) + .sort((a, b) => b[0].split('/').length - a[0].split('/').length); + + for (const [pattern, summary] of sortedEntries) { + const spaceIdx = pattern.indexOf(' '); + const pMethod = pattern.slice(0, spaceIdx); + const pPath = pattern.slice(spaceIdx + 1).replace(/^\//, ''); + if (method !== pMethod) continue; + + const patternSegments = pPath.split('/'); + const hasWildcard = patternSegments.includes('*'); + + if (hasWildcard) { + // Wildcard matching: exact segment count, '*' matches any single segment + if (patternSegments.length > normalizedSegments.length) continue; + let match = true; + let resourceName = ''; + for (let i = 0; i < patternSegments.length; i++) { + if (patternSegments[i] === '*') { + resourceName = resourceName || normalizedSegments[i]; + } else if (patternSegments[i] !== normalizedSegments[i]) { + match = false; + break; + } + } + if (match) { + return resourceName ? `${summary}: ${decodeURIComponent(resourceName)}` : summary; + } + } else { + // Prefix matching (original behavior) + if (normalized.startsWith(pPath)) { + const rest = normalized.slice(pPath.length).replace(/^\//, ''); + const resourceName = rest.split('/')[0]; + return resourceName ? `${summary}: ${decodeURIComponent(resourceName)}` : summary; + } } } return `${method} /api/${normalized}`; @@ -3388,7 +3419,7 @@ app.post('/api/scheduled-tasks', (req: Request, res: Response): void => { if (!requireAdmin(req, res)) return; if (!requireTeamPro(req, res)) return; try { - const { name, target_type, target_id, node_id, action, cron_expression, enabled } = req.body; + const { name, target_type, target_id, node_id, action, cron_expression, enabled, prune_targets } = req.body; if (!name || typeof name !== 'string') { res.status(400).json({ error: 'Name is required' }); return; @@ -3412,6 +3443,13 @@ app.post('/api/scheduled-tasks', (req: Request, res: Response): void => { if (target_type === 'stack' && (!target_id || !node_id)) { res.status(400).json({ error: 'Stack operations require target_id and node_id.' }); return; } + // Validate prune targets + const validPruneTargets = ['containers', 'images', 'networks', 'volumes']; + if (prune_targets !== undefined && prune_targets !== null) { + if (!Array.isArray(prune_targets) || prune_targets.length === 0 || !prune_targets.every((t: string) => validPruneTargets.includes(t))) { + res.status(400).json({ error: 'prune_targets must be a non-empty array of: containers, images, networks, volumes' }); return; + } + } // Validate cron expression try { CronExpressionParser.parse(cron_expression); } catch { res.status(400).json({ error: 'Invalid cron expression.' }); return; @@ -3436,6 +3474,7 @@ app.post('/api/scheduled-tasks', (req: Request, res: Response): void => { next_run_at: nextRun, last_status: null, last_error: null, + prune_targets: prune_targets ? JSON.stringify(prune_targets) : null, }); const task = DatabaseService.getInstance().getScheduledTask(id); @@ -3472,7 +3511,7 @@ app.put('/api/scheduled-tasks/:id', (req: Request, res: Response): void => { const existing = db.getScheduledTask(id); if (!existing) { res.status(404).json({ error: 'Scheduled task not found' }); return; } - const { name, target_type, target_id, node_id, action, cron_expression, enabled } = req.body; + const { name, target_type, target_id, node_id, action, cron_expression, enabled, prune_targets } = req.body; if (target_type && !['stack', 'fleet', 'system'].includes(target_type)) { res.status(400).json({ error: 'Invalid target_type' }); return; @@ -3493,6 +3532,14 @@ app.put('/api/scheduled-tasks/:id', (req: Request, res: Response): void => { res.status(400).json({ error: 'Prune action requires target_type "system".' }); return; } + // Validate prune targets + const validPruneTargets = ['containers', 'images', 'networks', 'volumes']; + if (prune_targets !== undefined && prune_targets !== null) { + if (!Array.isArray(prune_targets) || prune_targets.length === 0 || !prune_targets.every((t: string) => validPruneTargets.includes(t))) { + res.status(400).json({ error: 'prune_targets must be a non-empty array of: containers, images, networks, volumes' }); return; + } + } + if (cron_expression) { try { CronExpressionParser.parse(cron_expression); } catch { res.status(400).json({ error: 'Invalid cron expression.' }); return; @@ -3507,6 +3554,7 @@ app.put('/api/scheduled-tasks/:id', (req: Request, res: Response): void => { if (action !== undefined) updates.action = action; if (cron_expression !== undefined) updates.cron_expression = cron_expression; if (enabled !== undefined) updates.enabled = enabled ? 1 : 0; + if (prune_targets !== undefined) updates.prune_targets = prune_targets ? JSON.stringify(prune_targets) : null; // Recalculate next_run if cron changed or if enabling const finalCron = cron_expression || existing.cron_expression; @@ -3606,9 +3654,10 @@ app.get('/api/scheduled-tasks/:id/runs', (req: Request, res: Response): void => const existing = db.getScheduledTask(id); if (!existing) { res.status(404).json({ error: 'Scheduled task not found' }); return; } - const limit = Math.min(parseInt(req.query.limit as string, 10) || 50, 100); - const runs = db.getScheduledTaskRuns(id, limit); - res.json(runs); + const limit = Math.min(parseInt(req.query.limit as string, 10) || 20, 100); + const offset = Math.max(parseInt(req.query.offset as string, 10) || 0, 0); + const result = db.getScheduledTaskRuns(id, limit, offset); + res.json(result); } catch (error) { console.error('[ScheduledTasks] Runs error:', error); res.status(500).json({ error: 'Failed to fetch task runs' }); diff --git a/backend/src/services/DatabaseService.ts b/backend/src/services/DatabaseService.ts index 6f361767..0d858681 100644 --- a/backend/src/services/DatabaseService.ts +++ b/backend/src/services/DatabaseService.ts @@ -153,6 +153,7 @@ export interface ScheduledTask { next_run_at: number | null; last_status: string | null; last_error: string | null; + prune_targets: string | null; } export interface ScheduledTaskRun { @@ -163,6 +164,7 @@ export interface ScheduledTaskRun { status: 'running' | 'success' | 'failure'; output: string | null; error: string | null; + triggered_by: 'scheduler' | 'manual'; } export class DatabaseService { @@ -395,6 +397,10 @@ export class DatabaseService { maybeAddCol('nodes', 'api_url', "TEXT DEFAULT ''"); maybeAddCol('nodes', 'api_token', "TEXT DEFAULT ''"); + // Scheduled operations migrations + maybeAddCol('scheduled_task_runs', 'triggered_by', "TEXT NOT NULL DEFAULT 'scheduler'"); + maybeAddCol('scheduled_tasks', 'prune_targets', 'TEXT DEFAULT NULL'); + // Drop legacy SSH/TLS columns from pre-0.7 databases (no longer read or written) const legacyCols = ['host', 'port', 'ssh_port', 'ssh_user', 'ssh_password', 'ssh_key', 'tls_ca', 'tls_cert', 'tls_key']; for (const col of legacyCols) { @@ -1133,16 +1139,20 @@ export class DatabaseService { ).all(now) as ScheduledTask[]; } - public getScheduledTaskRuns(taskId: number, limit = 50): ScheduledTaskRun[] { - return this.db.prepare( - 'SELECT * FROM scheduled_task_runs WHERE task_id = ? ORDER BY started_at DESC LIMIT ?' - ).all(taskId, limit) as ScheduledTaskRun[]; + public getScheduledTaskRuns(taskId: number, limit = 20, offset = 0): { runs: ScheduledTaskRun[]; total: number } { + const runs = this.db.prepare( + 'SELECT * FROM scheduled_task_runs WHERE task_id = ? ORDER BY started_at DESC LIMIT ? OFFSET ?' + ).all(taskId, limit, offset) as ScheduledTaskRun[]; + const { total } = this.db.prepare( + 'SELECT COUNT(*) as total FROM scheduled_task_runs WHERE task_id = ?' + ).get(taskId) as { total: number }; + return { runs, total }; } public createScheduledTaskRun(run: Omit): number { const result = this.db.prepare( - 'INSERT INTO scheduled_task_runs (task_id, started_at, completed_at, status, output, error) VALUES (?, ?, ?, ?, ?, ?)' - ).run(run.task_id, run.started_at, run.completed_at, run.status, run.output, run.error); + 'INSERT INTO scheduled_task_runs (task_id, started_at, completed_at, status, output, error, triggered_by) VALUES (?, ?, ?, ?, ?, ?, ?)' + ).run(run.task_id, run.started_at, run.completed_at, run.status, run.output, run.error, run.triggered_by); return result.lastInsertRowid as number; } diff --git a/backend/src/services/SchedulerService.ts b/backend/src/services/SchedulerService.ts index 1c8e71fe..2c9e04d7 100644 --- a/backend/src/services/SchedulerService.ts +++ b/backend/src/services/SchedulerService.ts @@ -67,6 +67,8 @@ export class SchedulerService { } } + // Intentionally allows triggering disabled tasks — useful for testing before enabling a schedule. + // Manual triggers are attributed as 'manual' in the run record (see triggered_by column). public async triggerTask(taskId: number): Promise { const db = DatabaseService.getInstance(); const task = db.getScheduledTask(taskId); @@ -74,13 +76,13 @@ export class SchedulerService { if (this.runningTasks.has(task.id)) throw new Error('Task is already running'); this.runningTasks.add(task.id); try { - await this.executeTask(task); + await this.executeTask(task, 'manual'); } finally { this.runningTasks.delete(task.id); } } - private async executeTask(task: ScheduledTask): Promise { + private async executeTask(task: ScheduledTask, triggeredBy: 'scheduler' | 'manual' = 'scheduler'): Promise { const db = DatabaseService.getInstance(); const runId = db.createScheduledTaskRun({ task_id: task.id, @@ -89,6 +91,7 @@ export class SchedulerService { status: 'running', output: null, error: null, + triggered_by: triggeredBy, }); try { @@ -297,7 +300,11 @@ export class SchedulerService { private async executePrune(task: ScheduledTask): Promise { const nodeId = task.node_id ?? NodeRegistry.getInstance().getDefaultNodeId(); const docker = DockerController.getInstance(nodeId); - const targets = ['containers', 'images', 'networks', 'volumes'] as const; + const allTargets = ['containers', 'images', 'networks', 'volumes'] as const; + type PruneTarget = typeof allTargets[number]; + const targets: PruneTarget[] = task.prune_targets + ? (JSON.parse(task.prune_targets) as string[]).filter((t): t is PruneTarget => allTargets.includes(t as PruneTarget)) + : [...allTargets]; const results: string[] = []; for (const target of targets) { diff --git a/docs/features/scheduled-operations.mdx b/docs/features/scheduled-operations.mdx index 133e0b6d..24073f0d 100644 --- a/docs/features/scheduled-operations.mdx +++ b/docs/features/scheduled-operations.mdx @@ -12,13 +12,17 @@ description: Automate recurring Docker operations like stack restarts, fleet sna Scheduled Operations lets you automate recurring maintenance tasks across your infrastructure. Define a cron schedule, choose an action, and Sencho handles the rest - including a full execution history log so you always know what ran and when. + + Scheduled operations list view showing tasks with status, schedule, and actions + + ## Supported Actions | Action | Target | Description | |--------|--------|-------------| | **Restart Stack** | A specific stack on a specific node | Restarts all containers in the stack via the Docker Engine API | | **Fleet Snapshot** | All nodes | Creates a fleet-wide backup of all compose files and `.env` files | -| **System Prune** | A specific node (or the default node) | Prunes unused containers, images, networks, and volumes | +| **System Prune** | A specific node (or the default node) | Prunes selected resources (containers, images, networks, volumes — all by default) | ## Creating a Scheduled Task @@ -28,10 +32,15 @@ Scheduled Operations lets you automate recurring maintenance tasks across your i - **Name** - a descriptive label (e.g. "Nightly staging restart"). - **Action** - choose Restart Stack, Fleet Snapshot, or System Prune. - **Stack / Node** - if you chose Restart Stack, select the target stack and the node it runs on. + - **Prune Targets** - if you chose System Prune, select which resources to prune (containers, images, networks, volumes). All are selected by default. - **Cron Expression** - standard 5-field cron format. A human-readable preview appears below the input. - **Enabled** - toggle the task on or off. 4. Click **Create**. + + Create scheduled task dialog with action, cron expression, and prune target options + + ## Cron Expression Reference Sencho uses standard 5-field cron expressions: @@ -59,6 +68,7 @@ Sencho uses standard 5-field cron expressions: ## Managing Tasks - **Enable/Disable** - Use the toggle switch in the task list to pause or resume a schedule without deleting it. +- **Run Now** - Click the play icon to immediately execute a task. This works even on disabled tasks, allowing you to test a schedule before enabling it. Manual runs are labeled "Manual" in the execution history. - **Edit** - Click the pencil icon to update the task name, schedule, or target. - **Delete** - Click the trash icon to permanently remove the task and all its execution history. @@ -67,12 +77,17 @@ Sencho uses standard 5-field cron expressions: Click the history icon on any task to view its execution log. Each entry shows: - **Timestamp** - when the task ran. +- **Source** - whether the run was triggered by the scheduler or manually via Run Now. - **Status** - success or failure. - **Duration** - how long the execution took. - **Details** - output message or error description. Execution history is retained for 30 days. + + Execution history showing run source, status, duration, and details with pagination + + ## How It Works The Scheduler Service runs in the background and checks for due tasks every 60 seconds. When a task's next run time has passed: diff --git a/docs/images/scheduled-operations/create-dialog.png b/docs/images/scheduled-operations/create-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ebd0a4902ed91d242ad1ea35d9023f06b59305 GIT binary patch literal 25205 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 JL&Fo{{{^*QsD}Um literal 0 HcmV?d00001 diff --git a/docs/images/scheduled-operations/overview.png b/docs/images/scheduled-operations/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..1e873291df60588c0a394cc49f467254ab6d1377 GIT binary patch literal 66909 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

h1wzc>uCYEeat)n_1XUfa?;}YbZYCYQ6jdyE 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 C6-+Sz literal 0 HcmV?d00001 diff --git a/docs/images/scheduled-operations/run-history.png b/docs/images/scheduled-operations/run-history.png new file mode 100644 index 0000000000000000000000000000000000000000..307e94a562870d579be47a0a52a43464e7f2db46 GIT binary patch literal 53487 zcmb5WWk4KDv^7eApuq_wxCOW14#8c6Yl6EEIuP6;1PdO5ySux)ySux?>pAD#`@Z+@ zd-;)>WU8yHtGo7IYwcAXq9`wcf`o?z1qFp7B`K;51@#vA3PXYb4SZZaXcR#~p+iZD ze);N}a+C`1N+ID>WBFGcZ?j&oJ4@5C+cB_cPoHRWd=8fo}+IJvo7$Xv}7G zq*Vn9!EYlN4z8eUINPry-(sm=PMwZxOykrhq_w0jn@6=y^7Bi8KPUO6EeEu%qr0ra zTc5mI1*0WDkou!vnqKY<7Z(?cBar%QsNO}O3j<$(zoOwKp^*RiM(W>(Oz|V&zaO^V zVz&L)g!BR$(cr%(=x#o+WsoL25|lBYfzK{lQD}{SyCN0U`-uzfdJ}08)oTdp8*)sM z^Gp#`+T&i)(r?Vp|2iyJJ5Q?a^Iesjkdgb}|I)NXJBrAEM4+td z+g_Zs^iIy3EBEhbK0GBRC0&(NsziCc!{buY!nwPd9bVE{hIXCbDf;!EekWk|@S32v z=p9S1RPH2XlF@~O<6u{q4rV7;4_j|M(rRX6y5v8FY+721QBkEodxDH^xgXlx%2CVE z2Vop$cQ4OfjHTsR0$Henwix218I)e5`TdWfncaRgkHzkO*FEv17J9#MQHH&3Rj$BI z4w(&1U^YNom8z|Y1GFmW7f#Nt+|R00 zmi>OK{*XgB6xuc5u(>sJddn2>4iy%fEmDeuC~8;gaZb-&KIJg&_x?wI(~B%9RkOiP z%s5u5dNeHHg1#$B@?Ys}hI`f=%(8MBn7nRFQ}7iJYkrh9Dq3q@iFLm+l&S#Q-~M#y zuNe$zw5Gsm3Im3A7@n?ATBsf~NQ`#oY-QNUh*!rc9hB7yp>Vzj81(9u;Or-d#kGUh z^0u()Xom7&tbvoq3cqrriZ0=VBEEp}TFt3V@rps=SSD+bi? z<)r{CqsYukdurs~^GPDNq2a-8)MJGLCHxA!iN88GJ?(r{8DZs;qV2~)Ow~?HPrro= zwz877P)k87xwTZ|-gipED#thZa`*hgu80~2y)9%uq|UJA_NHJg9zL!TcwDBtiC@lw z3JPf1m=^`_+R=vWuOAafJxy*;mQ6B>1m1Wa6uf^k#Po1?ch~VN>C{T2edAZfuZf?d z_doH7KO7MgMBtk(<{-toM+EdsPc76@MYS&a;gEAJ@TCbW)91*VwpN zpzmMK{Z=gzD$VwANjG>pu85-xtmzRImx>tL?cuzdud}XH~ zD|=?mML>jy#}f9%zVk*-HK1j`t5Tk zY1dQ6UT9d@eVD}T?5ruUR1ipK2wYo1nFR#{DJ+&cPzebMi(<$k8R)|g(a{)J41a6? z{4sEHidD-5UypMX6)fPK$L(?6?od&kGt7CiS2)*S&s+Pb=_gyW$P#(q)Qh7uA% z7?6OcL05PBEbmV2+FrCRRi<-q5yYdA1U1=mVkUCb5m?uiiQ2VPWsb!%cWm{WQ#HC{ zGv;S@uSe98b>uu+dj(4JY+OLfX;VP9bGNlb?&lVyOk>h?sfgR&o}qq3oCJTE#2C>u z^DyJAZ7Y<58Xb>v?zLMmmXBb) zgg+)KDqiCB89w(Z0&$QZg2x|v2}<(v$~Lo2M~CQ{RN~$e)6d=Q*3b2bJ*}U@@-i~+%8W>uS{rsM0Af5 zlaIW0A>dhvS?oZLXJ?y<6(jaUOQeX|?0imTD1M%-g5{6H2TjEVL~75@C&X!^)^s~$ z!pa=tThjf_NNHbIVX3dl_(eZXvTkSvo0=b8m$n2mteQ?&c@VxtmKu@NGnh^eKShJI0{4kQV_i?*}osDfwuwiYa zaY2rEP?$SChMW-Xo!Ceoik#Dtpk7`fMgh)s=tB(~-fyboh9t9ZW9d@iQK(l{HMdM5 z6C-+rldUxcz|u$fOkPJGGgbO1z$};gw)I^Th``|8;=;m$9hWTDPfFBd*P7^-y9TQd z5+`bEYVonLbxd|z3Ud#gAT9cZ=q}<9A3hKh3UdCs4L!zx?!F;E?I5}d=s3q?V> z2ZtD`31>?vb=(vhT*tE>koia@E#Onr+wzg?EP>8~-`5bibgSvFf5h)x*J&IfrY&4e ziEIQpR@pxW4$zd6dOT;CO$Q!}1xOHcDJ|eBC^_=<&Ya`YHJXUAekF$upzmn zCyoYrPOq%Atj%h|v@7N@6WR$r-V*zVtGNH0g2Mf>X&-#!nwRhiSHEa6Lnaf}!x;)5vT}8=J9s8J!Vn z$)#+No@c($aECtvGTr4!ZQw6kcTe;0!7y(c8*H7OuctIii{QNM2o3P(cLn472sC)1 z>z3M6r{@Q>WOWyOXBHy5zgIP7j#CrD%{5sOa67;j`r~A&_Eq&EQoVR4NTmd>yZ+@f z!VhoR2qbJA2!e-mk7D>Swd!dX8jY!0TYvNAIyp3oYC<#HBErb_i}~_H!JH4)w6RZ& zx#cuz*m28>qNbdjV^Pd-0Rs?gV&rAJR91wjUFo}UOKg_7JYS=A5RZmuQe=5j`=!S2 z$lg15>y8LnD-S8P?pu-1<5MFn)Fw6im@V%(8+s(qKIw=%61;{#$g$%jZqBk{-QJl9v6r$}YDOib$unX3`jo2B{reypMR^^V!zu-==aelT%k1KF;~H!)o~ zO{u%_#E=@h|N#ga|staD=6^lK!&*VZ63VoK-++&6yh_#vWZ-!8{T+6_}UePm>0 zh>zsCvX`oy;%o(5niOZqBGk@HM~sw15JjcD)jjlW9CLDR<~-Wx)dL?RkN9VP(iW|P z#GRFHkoE0Vb+aD#La@Fz+Ty~~)uxPpD0jz~`)bbPL55#I*3y4YknZO3T+ZaHWFdV7 z>l{m9vFy!USn20%dX&d)!i0+*pRp%*9ypMKy(|k?SYu@wtdT)PTUcoB^=GokddKYN z#&ePs2LHT}{v+SBq<2+AP8LbbZ^;~(0OM&fF~3yZ@~x~hWzLkfg8jG^h9CgM(qR z_B_$@_Z`)TVFNLGG4k%ds)seO%D03kr8y3ZV9)o5Bf;2&^OJ05@=T4OW8rxm-ZGyV zv0HaSozvNo5aakCeGjS0biyCq_hhR;hHM0L9)IWrs$&C%#pKns%gXw86PfA!KTWhv zcau6<+Quv<&P~r_gg=T`=<`D!3FX{6ATJuPS5OPSMa0T8<0Idz-xabLthrXQtyyJN zJm_lN6;hX1k|@B-j22cm;N8*-N!nEJfI#=c_oEqp2x|b|2U{1Ld|zVsQGgz&tdO$= zRfYWKE|bMtp@->HH#+X>@=qNf;5v3~(s`L+>%tlVzu`JrYoV|r*bFnNRUI+G2zDW! zbE)#67U&0G-a%(bY7Rdfo2J*-=bX8ksh->4TVi&mqSZL`EIdd=Mv1-)qzhG$rDLCP zu_|+HGPPSGEIsZYC^68SvwrO{WH{08J1^PsQg`!^y7b5HH5~5M*>QdB%QCSnBh&dA z^EbKQ^|n1N8os!v>9E3F|z5|l1UB49T+zk4P` z`&CWXQl8GHd=3?w=zHGk%8FjiNLFOx>D1UUAvHB97XNI8|=-@9E8$ zhG~-1ivw9xZyG{f=PJ7&=ZjqX9o+pm!_=JSpN{EmQOyoXbvFyCbVhLIXY% zBu`lBcU{V+2J>aJsU-^XRGcY}L(LDf`riChgS|40^;=oydammMF3Zjd+KP@w-#qHi z*j_FYT0OV=FqF;A&FN;Kvi?U4aNFfw<=)4>NK~QMj;6XhX^Cmgmk^{>SzX)TABl}M z!J9F@K9+@r7A4W*Z~(*bHiV?a0^ulPvaY{{)R`cw=zV7iMUA&oz5g7?-&EuUu7bLv zA}c#PjOSEW@5A=T)B0B-N7L6cS2E|n*f(&Q&f2wKd57l>lze#0=F~MR$%8_FTK3$- z#Nct&TbHEWg)q@4z%FB}V3F6$Yc(0K>h{iq_xv+L^1J5zaD>U?cu2dIU;Su$6eP!; z!W$d!pGe7ZVic+Oq{2~%nAVM~_|_4z{ommvb8>qA$*gDR6?SQAZLT&XSx13I3X_pW zh8fW=Gcor4TA0T*121xmWs;+btxV28EGKuPe_PI&bb71#YDJr>4B=w0q3^g{B>EEeHGZjgK#LbQ2Zu?}_F~+qLfqEeTH9K=w@AH+ zDj5R1?YHX@E1#nx`YXKFR=exiU)(LAsSQ*g`E!^JRX%9IxEGO~YdODp%epjZ&ss4f3~dHff4h)^$P(giEzk z)mZ}q0;2a3f;xTLp7g%xJ1y<-T3Ao0JIRcDo8lz@{Yy5I+FI`elE>;mMnc+2_R*AI zzxrP4!G;H3m`nq8zgMqYPuZL*9PPz3jomydLw?qYL9)P9Y5cHLF-z~c21D$+j;ybt zt7{Ga`8^lC&0D?Z&x~x;$>X+Vkl5tS?Y_$0f9Oj8Lldn_C{y(@zbCUT-YETZ6TdZ z)aak1u&?a#E`$ekZi?D?wj|g|FJJbrhc~|mIBZ!sD2e|vv5wrN=`of6jNS#Ux3{5W zi8N})f_0;S!gfh@8@HKQqx;kyH=P~OBFmGg3&oqrkz2pc#VaBr0^-=zfxnBDqI!6U zYBtr^EgvzmECH*oaF!aSxE+YQCpRpsd#liW=V3rXs+=A9F}<)5dMreO@0k_wC0Z-U zaUG9|-D_(P@f2#;>tj@P6$(+Q>;9JHpB#`_{KQwqR?yjHzAPq3+?;Du1N~Rb&(FR3 zO8JX7V+&)FmN)r=wLF|tRl6rAW^!U~_8_FOUXM6l?-Duk z{8op{;SYE(rm8w^ssFf;{`#~#=@rJ;a<>r{QmGO5ZGkaRWt|kw4MA;Sy)#H3hy}0D zr{0{AVzxN%3-clz+2zv8FX+lNu%BjM>6Nqq35wzTfb;IfJ;vphKW${>C`Ds(c^ zVxn=RW~Fqu%?p&i=`#}xW7VwF`uh7oXk%gDa|}@pYVq5sXI8dZW_=h8mL#%6w3;_f z!D>pitqcFwQRV2!$1fjv1ZdY=CFD76hh?!lYQ4+IhPllW){{AiD2zqL#0KbTR zJaHMqc2s^hlJcF!tzk7<$6<#{a%B;hGltA0rR_di+LZZ~_{vV?O>2Laib@BvOktt) zy(%>$9ZGiKLbA5@B5#Ac_yn?Rs!Irt8&C7qRTKrlSMdjYDK%N?v(9(~rUu{g& zB||>$pAs__nCq-6x+MiAF4VUlQGDx3ghys@DfNr%y7^?$D0;S$n6kggUJoP4rJ-7QIEpnL_O(9`iy$^&boPce%*N7ZJ9ee&~1iPyGSUnG9L>#Z4DuGs!^HJSbr+h*(i zxM-3w2f_;ypH{&4QMo&PeX%X^IzF#`vvN~YtE5^){-FPQt)G5BWZKtx+j85y)T}7? z`q=t<7|+4pMbNrbV{|vD=Sjir(!0xl>gN40nSOTwe2K!B49I{}Mq7P8aoH7bdAb;E zJquupjgL<{$}1kT)VsuE*~HnT=&NyNp;8r=IobYGqI|@Wexo(_nfnXV)k zv|;w{DL~7Q?6+B$d0}C3CcV{qC@D2qQx`#n9)E0133THTn3_In(sL*pN!2v5 z>SvSF-wj-7G+b{`HaZih+AvUu7gRge6+0{-ra#yrpEtekbJY}^FG=0!y{&Q%;#8YH z?(<5OinwOuEPfB~O6heTrvKFXdi%;@vlMJBap^Le#((O$%S(J)*BcQT>Ggc5-wVnl zec9n`op%m0Lu`6JwiUcxax87Skj8`Kbvb$3z-rkNF&rY&z)(t?sg#^{xxlN$aigmrd3H3^|fXbe+f9yf4>! zKWuv^SM{*TR*c*8Dw8-{RhAPA?r~S})vcDb+a&5vXTH>Po9^Uf%jcK93=z$U zD*1B^5jdVs_?gPs#;BybDu7kxEywo=-{|D}$B`+K(P68VUo;Gyti|%b3k5M68#M9rTgBl796z!yGh*yjDR;z2{;{vAR@RYiR^S8Ve4{f2{)%`g}V zN7Eppur>BGR`~2AWi0W}1Y~rj$rBd(EP&_ibx8IXni-d?))fKG#Tq)vC+9XrR?U2%c zL*~n?G~>C?W2Z2CmA=UzbbIx?!_19j92Y+suhD!oRW8OQ)P-Lg!1sJJ=|@Z&$}qde95Z%SsFB>TuUxE0C@)Vum0lJlRiH`>px5+ z6s-pE{n=MYeymxv5qZ8K5dUB(H4gIbm(lZm;CDSE88)th_Zpu}yJ35pu5H?8sOz-_ zA8JQ4@+~n(n8yn4e2#LPZCnXZ%Qy#5kXC=Fxm|W4h8NRcFTEI#99XF^4#N+6JgF`P zGfaHK2?GNOs;92!Q5d0Ezcq~zBZdPHFC>RA!YgYNUhwWqMbIzLnaVWw7^t4FRSTWI ze}5Yv(d~vkbZdyTZ0PAZ4zuUYvySp%i8w5%{NX%?@I!;st8&oguP2Kk9WO_|z$QhIIx+6wLJalOIc0 z`@dZ8I*H{`%k%ZmL)Cu@?2erHSK`hzNA!f04Qs0O`8#&y3O?^67@WLiWaHj7vJc^A z8xh1!niwhe@5;^fOR>DgVn4D(#NUR(xGpZsgseXvu(#qRsTXlSykI&{UcCb@-$mJ{JyM)98S&ryYk_mr)d4JFt#8_6@$P)Xce9 z8K#U-AV&+CZR&K}I8z1)TE75Tb@lI`I%Rbo`+&lkoVU)R8S_~60RBd3&-#R~LInfC z>Ng`UEioul?7PM?9#MWM5)$>eP7_yJ-aukaKMyxWPp=fhQjTU8yazX3&uCM9oSNlU z?9(ar@p%)jgCChS6d{f@#hErrt(^@2ODssmIlm2ittSFs>eW>6F_Ccb2>=!M7*VdU zyJCroBPr0K<6LNTQ>RnzX7C&p?WID6ow%)cVidK{5q6p7Odr=6*Gw`fmglMap>P-p zsUft2`-=^y1^cq>R_I?x4^G9qE9&LFAGb2LVGLxU#*7l_H=%aqKVzg^^5h6AZ}Szv zv=?_-w|~$tzZY}2^|-N(eX~;6Shx9d;^1emZ;y6KlH(n_*net(i@JW^3l=*y?D!Vl z<9$PD!MM#SY;G=p}^2nJrp#Y@{D$L^ZOVU$6I(_imYb?N4C!4Z>~!@A=^c1e^sbf0+*QN@e+ z>KNI^RJaGx$F$cEP@GUF4vQ*BDo%O6ebQtPi0ifGf&Nj$E}j@+6(lm*1jOJ#!3YPJ zr7l74IqMWgM~g9y+{?(_4;zyxUFlVZe&+)^wMd3zHbdFXKAg#m>09#v5!bvrLDlq{|YdpBG_4)Eprq9 zHcghEGmJLOOff%_$~#_e)|by3*D!ZJx0QlyAyS6EPn}5nW4U|)*=$+KNmB7DH}1iy zWo%ctSmZG3#2x@)jl8NqbEEOwU)W zMo%|-zdUkEe_ozbTEBxA>t@5IL!6B5qG{t@3tmhVF=TQC)5v-pA1(UYu$@TM!qz?h z%oJU$Fh<^Ri_g^eJnsf2n3p0Ds*an127;G(V^0{;;QV({tI@xgYxqIWbrg47o16aK zMeHyfytZ1_tZ=;|30(HETQXlt45=@w=fnNZ@OTq3Ra#p34!${NX+xGL(rtEXCOy;K zP|kz+!*W?mP8PFWhve;)Yf)`xwza{F;nK!(5J+Llwxl%J-?RRsBvlU_PjZs`&gw&$ z3o%HUJ}Ql5hc%09&TY$VG|Bt z)^^)l_hU=_!R+=hP$QKI-qy7*ZW9#m0*Fx&9u6My!wp#QI63G%bLvi!eug;ND@$i|9L!IN|2!uwwcpjZb{0}l;dZJ!JbBD3;#zd9STqb9 zCe!(*&_`u626Y9zwqmZ%kVNz38v1G7P#7#7>h^`QWUcS44#c_WlA?aZIb zYOw|d-%;yL(;8n49tU9(Nk5a0cQdaHZ;TU>(}hiQ{gkr8gj zo}T;NbX$o|hl;JvOl@rV5fI?90fiy%pJM79({cp z)j>tN1eA{}@0VTgq__3}7WySsLRiD6o=$|G@&su6T`h=$k1Zhg8V!1Jh7H=Wdtn85 zj+ZPmfTfwH*au#l*XvsmhgNTxa=V|n52|EPg>A|=h?M`a9(DqIk>W(F*1VfIvR#qy zC~<|=Xm=_mb=t4nAgWx}^0!lA=j6PM=@+4D92)EDBG7)l91y>$?tB@E&&iaieAVJn zpv4XG3hzH~$><7#kEE)X)M6LltLvjF;n;{w&b%sm}P?Ln$5>3<0 zsj@zy67AIQriHDFd9;BdC+`GKn=bD_yCbR8h31#clZLMVB+oSWaq^sqNi)hVH13q< zswjU~d94GQH_k(7fN6Q!W||zihv=n1rV5?pjBGT^;SEsfXT|%iHW|;LJtnLZtdjWZ zhKbN^S=t=WW}3Kp3nWra2?=+cF!rM_08;B(Z4!Pu9dnNwRAse5qet<+j#L`%A0%rxjrZH(Vu1-y?>~rU^c+qk(wHIMpf4B)rJ{``R)@f)p3(=f!EhB`B#$ zCIEO`!DSW9IYJQ%9T)tLYkx607c~HMSX}EMZki6}kl1Z%xri(M`DSEeg!eS%23uNM z8YjhcW0AD6j9HTlc`iz0pi)$bVpG}SOSF{hqq;treKzUo_q{=`jL;^bfaeF9`_xm< z+($LqnQdK{W#dO^o0fYMBv>ig#VD4<8JToMB)&vh99&!o_L7*Mr1L3z7a)wVwu}lo zr-*z3gpRplVbfG+9QL1w*Tc46Sk?XZwsq@phrTtnwY{76m`__&g7fq9Qc3kej{p}D zR@T9=L2B^No3?fB#Fr%2<=JOn%SUf#ED+6wrY}HMe1*yl!yyYi^+Xl zw$Pbd3fp@oGrU)gtIs8go&3~YO^Sk{=*a$o-3ww*q?H_Sg zjW@z%suK6Nd8}T%i zlrV;`(10?~>pAi3xA?aWh+emit4gBP)z!h&4VZH~Q%9}~<_h21-NfS|s#V#hYc$>E zuK=pIsrLY-wVrtFj1f{6xJ(=sRsI{6hpEwismuGr2HR7{>yFEkSO1;BR+QHjIlaUd zBk2t$`P*=-6T8}DmzEMXh-uJV-&Bp zYP#!Y61P-UQ*#LUe9SH3pRHSkgW<8CosiV+r{x0+(G()NJOROiWioX5vO}#S5huW* zbj`OAed8V|%j`@HIpGd<(6hh!tT0eFso=3N$=GuD-CZL`?)7V=jY+defQBf=kKG{H zGp+ARuw~pOKI1(WYv|wf8WQXzs(cYCW`-?qMieV zGYF-ORXHO6CCWJHk!NzEMFtiVWA+x1`S`BgtgMC_>a55YU$*sMj1TC|kar#qOLwVz z@{fTsL=?sfWmNzBHt}H95evd*H!c6XsnXv#Uf^TVjT4qDIs(o@BM+siQn^WaatV?7 z2Qf;)HCb+bIy4-5X4$m&kWi<{9hUuLfSHePX?pq^q5vEemg<>YTc(VceQ1T$430dS zG8CzC!kz({!FzsCuO|3lmW$4Op1Y^@GWE0x&<{E8hxhiVvoqdLbuSoH^R&fpvn^f4 zwBBgY!_RfUk5AnE9p}Hx1%fNh?jthS67;OTdYi&i!(1Hgbv_3uRFrQBN*lLHyr z0pf5k;+Z+(X%nUwJfQ>C_?W#W#reG70)1nyG@3K9?`Yq`sxfU(VR2LaL0h%`ZG3S4 zA5Tc)G{XH-b=@)+;epcMh@a!rc*tS3C+lN4nvTzR8+Ky1if z0P%q9#24QJUSxj_r<)Y_I<;_TPugKtM|!I*kc+$O(XBXFfclCS3iG7GPF`G(2zEiVcooau6S_Vo9bvDsbRMNX6ZBQC01MCyY$fn$Ys(Y9#F8W zQ2w`B;5*Kab&?w&QUAO0i9hld0v!L|l&&MQsXWNt{J*}gA&-v~|K8yz|IYQEo*qSN zqYIeU)zSO-_;}z}Yw*R7yC;Dhdo}29 znt>|jjJ9pHJ`lieZf~Q)!-sxBzg5-NPL`!?Y-}7p*op%*SqPf0-8|=_x=3Dq+Sy6A z)r+0h*psE9qsv5!h>BV?PKe zJ<%{R5d$7@8Msl?v;&DKB7V<1JHWNMwzdWlOaP2l-kScb^)@$uu$aptwv1r**D zP_aLhk(P#3dmt5)jRYH@c5^se+WLI6IBP+E05R~B6P*V)p0+${uRh>78!XmX2d~2u zxf&Q4tbGGA1ODorI3qu?sg#fSj`qq0&dmdmm#x&Oc2ix5bcp~*(B#Q-WBn|1Ctwqh zAcLmCaU9Tb-_I^}?WVJG!6eR?v|<|NuP(bx+H~Hn_X*s^P*PXF9Sah;dIJy40(~4z zc#GH)$k}=L@8>&y@&&S_wnI>gN|IIcZJV;wweh5U)ryB*HHaJucsvRbwHm1PHmMUG zN4QO0UGE@j)AIq4JV2TJKpl98X?PD(ItJh=By!)o-ft&ljzY3|eT}l1Sa(d?6-ClQ zl`Mc8UrIAGJBx_8aFNy_nlzy8woACfmYt69T@DfQf|eXd`Ta=(nd-MNDMV#tkWI8~ zZAVR6S`HOHpX1bd6V}&IRNY}2A8^mR2kTaPPOHJ$^3_4koQc@JqXj~%HQ0Wt<70i_) z`~wxzqxTigvbb@LS_cqJjsj?RC?5c(Az!YNMG%b*te!4Cjow*Zm(*hOFjqZ@mn*Sk zV;(ETX*uL(Dp!CVFTz13osHEdY3s?Q^-=fb9TCQ4MOBPJhL_u)GgsZ;qwzFnCbUQ_ zV)L@@;xTC}h@<{bJiwhKD{aTma*kBYpn09^6{yL`c;n-*ywC#Xr46>mJBgOu`o!dh zC>#xU_0crtykWLE(uBX^RwoEpJA-u!CUHNV=8k?qlWqa4&_qconsCVjpuIY7+i`4F z=umkANV^d1`1f;dY_RNMItncF`fqd4&=f=Ml5pvp06&B;yrjJQmO>`4fE}%>e*(qF zKuDl`5MUmaR)p}9nk*t}>3I^FH(` z*?j!^>6y}$`w1ZDXwA$7<6KP4zovj-6ovT$tZM1|WEJw;raHSxHNKMTti#CmLveD{ z+Od#^`e&+P}M14>n82TsbdA%R{jrbOw4BZbmg7nY_xl-ihO&BfKZ-UZui+mO6 zC^{PR8tQ5USJ@k#&&Le>hE#~&%&vK@&DZUF-^USoWWnwemV^34OOW9E`@KKGux8Q- zPz$NFhqi6lrxf`9aUP=#!QkDujWL0hR&Q@>Yle0Iu^IhX7n+1OSBO1F5LE$qP?lYn zt1i4>A6K%a zi*3btlz-s+g^AR$Xp`JE?2X2Z_y#IMn#!39#?|a1|&KOl*qiqfMvj;a`LlZO{DX0K+necmu`l2Ee#tzq9vgJ&WSU zWnwmFTMd!Ay80+)5JKg<-1bNI7`@#qBN%?`OHT^1+2c74jDfCRtbL)niu3S|4swrV zL#jYr{traDt%inf%h;%2b2g;#40W zA99JvvT>jY!NX&re^35XKi=0DnholOXq}fZ{IY>O3BDFRYOn|sl4CNVqH`c|rvL`U zaTRnEL)30xf6XFbLy8p4aO2{mtlWG zDWFVKTPcTzp+@^Qj8mo+lT=PluBP3D%AisumH{UP_u4HdGyy-R1f7-^e@aj1dkODj z#ilHc%6iC;s-3Iy;a5oECiuxDAC{R@!PIp3s8T4?%hc`7T%>23%-Ye^YtuOP-gQ6vQ}MMwo9TzK7s7hsDAg}7FSokMcRT+W3T-B$>_a+!8JWGdiT zP#Iwvq2BbZ6D}zhd2d_@b)8Yq>wcReay@)FIOXNo*4t8z0vlP*QrhIC@y`Qe;}Oe^ z@ViCCbOofi_Ea5|g!k3;Q*^d+Jf-GzD_Ob#j*#Gcy&uip^pgQi)K2d6kwrs{zyoxp zqKJm&PiydkWndvPLCpoyF}fcG9niL(d53k09}Yi8B#0vw%BtG$`Ja(Do>piFfiCyZ za1!DJI>+tQY(4x`pGZEGi)t)evNNOU6ne4WLH0KOHPA;C#{-;bueG{DZ)f{jP|Va2 z^BRFzFzxCNaUVt)dM^Ws{LTSE?9rWBFcsuRA#7o384a69xT#?=gZ#-;OQ8b?Rd@6W z>C#b_OkLMGj?mmHcdf>EQdb$^V~N>8MJ*feOG!qFALn|DCWB?c7cuGK>4NMm3vo^0 zo67WT*|}}qQ}@}bar&FLbao6I5%`=X+O;Qi`u9jRa)yTF+e1Ez%huM`CILPOo`4B$ zP!*)FpYF~Rvlh;k3ImS{aaeC&ls_Wt-wCtQ1sk29@`N9;DPf}~bdF#*i*BVQ6pvCB zyN;V(h0>LfoB^IOv};grBq0RXnR3J8d^R>thcZob+ZoimsW9c+{0Kn5WU$z$@<2`6 zH&zK>l9~(qN9vek5RX2}nRLA5`jnf0O(j3nJ_-?{S^?5F~UxBl5Kc^A{2AiPuN)<#|X_&2A4HeRX-i428TIU z!x!qWCS)+)S);IO*j80+c;bvf)0ytaOXbxug^hL*|O_P;M--u zSra4qanTV_Q31foyJojHMw$g}>57(508)qAwpGqe{$b;95VsEWa-94UfuP zEK$;U+||z>YVFDE_W&4U^S7=%=WkacCc{KeqcH9V26W;2CwZd@&r%-o>?rZgb|hG0 zID81uYH2?(@4GrkyAJ0NW+%RYB|M$u0`gx(ZaKJh+?B4;34|M4NM|6CmK23WDx+L_gpa_a%zO<4ZGA)Dttsq3U{ zotk6mIlF+ zxu^<%HRHbsLroU44LcY`9s@WFMnZ}#O$cJaq*4QvyzjG$wnd4T|sJB-E=Z6qB zyh;|ib|zB!bH?U8q8(Y&F51fn?9bQM8V{j2l($rou*T}X%xc2d9k2KmnzV#B`N0#& z!MellwjdM!Jb1+t4t^`-VK5laAj8A#FrM+oFDw|j!M&G%!$tM$*RdSoVR;9d`+}mP zaL{a4yGxzk&RueIC9}%*sQaqv=F&z6ZJx|T>iQhXm$V(Ry#H&H2PrXUgg&M^bwdf9E>dy_-KILat^6qIk zI4f7z$0XMsMyuk!v2kiRGnkHN#UrchGT&rBZ*LFzTM>+lxI`@A2sUTl4*o{2Mgn=K zLb+9u_&);2?`*8L+!xd{GAw#VM0l3X=kjuHe_ZiFVPM zS^jV+Q{^ZAk2+&w;srg2>J{0$DH$n5@~3=k<4PDMi%1ziKW4}E8T&t>#9Xt_U`Ljc z_4DWT+sAC5?)`v*-_qGz&k*JdG}-BBdRxZ3s5sFM^slHN4rqAFczAfgC&Fhs;I$Se zpEZJEtl|PGm*3ODO6dcd$uzxMGGqu`G|1_rngt^NO;#7JFftzEzn%X3!V3*eSHf^O zAg8L)y2DFDHad$zYXrynj_!&8uS%F|!4@u(y>h|?Zd^e$6wbz#--+1sUk~=mhJQ64 znIK?#b3gL#X#OYT1!s!`$4`c+wgPkY-&x~7lwt^{2zUylPnG_A*q|SQ0jWIxO|w4a zRSrNi4V*0~Wc!6OM*;kQN7q$B0uS`#2RR}o_Tk|HlHmaL;`HbUu(m$7@_XEDc>&wY zp82j=>6Avgy9K1XOFE^c zySux)Ls~#&&-K3FH^#pY|FKUu2aI*J))O=C`>Ls!HD0*O5r|rvR9#)2olRO3|D9s} zx`10wR(1vKAo=Py_0gc*To7dwRU>P&`UC0y{ z5qTc~t&h&GP0mdl!`8Zn1{lM6KV6*Xuxdp6zGTcE5LVaX~G3C@r-s z8jP$1ke4C@$Mc1S1>+o00nMowsC@x-1fIG9B`M?q z2SKLC$Sah=H0!2AP+HKJp!+?5Mu+Hg$Vu(`)~FCbwHATejtqnL5tMkZma(~$D^SZT z+(s?xtd^Z`7fqi5_1wirRhgT+4f-+s0y{OeB)QFS_OV}&PjiCazq?6@;a&@Y+OWR9 z{;H~>0hc~mRL^lz{12r@9vc@Mojaf{m7``C7Jd&%3dM?gg4&95*=5BJmP9mr;@7WA zNGTi(R)MW+;ptH@RFYH1#^hIYwgp&NH7B!1M@P@B_>w;8OxZOP;O-Gs4!KoSe$aUjVjoorF*!id|au z)|4^D{appR?cRbgH?wMb5q)g{Asa}BjKnfwdFdB8SXdW`Xdz<1IG7xZ>9h?Jn z?&$a!_~kgkV4h=wllerMa}9)0NL^D%>pv~je0-iKb0r<1_fn?kZC^dH^ zVbvC$Tjcq$b!+V`cOcdbq}yFBfurtV6v$Mk4}nI|_YTgPEJE9I6m|G|=Gk-);(5OP z6z3uA3jxFz*H~%Yw?UvOokq~dq?JEuy<0n$==1Ud8uxJLCoob^-qCite@_I;EUWn+3j8Q3 zX#yDRsv)Vhbk?d4V1wp^7IBC?rscS+hJo0=1`zCGWUM#p6w8y7ek@d3MnOmvRcXth z!GN@AK+O(T_MStNHDngAD*Sr}Rs0$0Run)QScJa=(`=#c`PSwcJE|YbPuRkuG-DjE z-Wjw8pc2ztN&Y8q#0Y5SA;MxyxaPNt&)0?TS^+QF0=!yJ-jHE>`rD{OTB3h1lDMR( z=xt1W+szMaxWscv$qa#;L9c`*vc$u54JqzYB8?3pQ@jsB0@nvHvrf<~!5&A-S)mCL zX53(;$fq|D1)gkR;UFEe*xR-H9%mTsJ{cw$F3>49!j>N5Y1pWJCznZsaUk&m1wYh z0?_s|(-978PTbyy9^tmTH4leizH#K#btYs1oC2&t0xnBoZxGkQ$i&1%M<+5>v6IhD z!!+dS=y*M&<~KBhWio^)8^dgLc!i3l5};4>yP*9K7QtcOjo{wIQ=EaO4%^KU;5N@Ya?=%epd& zQp-s6=W4ko$&DpiQS(|dk(#HkLMd68h|eb39= z0X+QAr-KXE%;wzIxcgiUL?W;_m_<)VmkCg#a=mtM zFe%^N4=MnS+34Uxqr-kLSb`zjxLYR4!$dG-RvB$T`f3~Rt2D|4?)3AM!*{#Dh6cXq z^y(h6dHDdFa+M!MV>NsYwC9{4IvixkE zR2D_-dRj{k>(juHEX9T(&(8B)b^^ZePYcV-9^FXX5Pl_nLt7P}zZHnWPJuh;88l`b=3gEX z-awD(-QAm~4>`=LsDVX7siGir3_|ey(5i<#kqj=*rrL&!knY?6Rzgc5XCNo2xM@G# z0l8Hlg2^U5kn-wXcD+2aWeF2^Z`mI>TRv~NDhF%i@z}CW`@ldVxNTsH5H#$U_8D zp4&(w{zS7B;qrlUo#q1#mcoFZch)j(`pV9g*Jf-tMMJ+~$A>N9(tbie0GEN66_`no zg$~d$5E4G`sA*jYY^y#1ItvbJ1T|P4U~Ygk@*;26HBfjI{`ITJCt4SQt&!bR(KS(M|azN!AzBMG3M2*C4oo> zvUzBc+|UDvf+OorR&B|)u`IR=k$oj zv*svU7nhkE_RNbnj^E}zM!1BX92y|BZJ)+8vhqOLn*rRdbP4Jyv+cf!Mm^FE^MEPj zzYv)^7}m8vefMs2Uhiv0w>ba_lb8f4( z=Es_1SpwWkO6DKbD<1j-cf;7|)C{e>u}yhQ$|RR-ljqM?TF!Fh?MXz+`w1AGE~05J zHX{sNGwKhj2cPc&+%PC9;K|@sJ`WK*U9b`&=Q161ZpL1qMQo~WvlEq_)+OJL=S(dw zh8UlEYqxv1Hjkc4{5_n&!^hu}s4H-hmWE$_nH+k@U-@3??Iue{qsk%Nu-p;gBJ+jT z0geg4H43U#VZzAv+}vDc3?r8zY=>C5hVL`Bp%;MnKh35M zA{+11FwV%!nKWZ??qcj9j|sj7Lel36IrH2f>A`v8uUx$;9#S4fr;vnoe}w5*_S-5csm}2|ZlIR*Xljx~ z@57<{Q9?)iRzQf4g(oyYfR%$Knyb^+9F55B5ExR{+9qF5(v^M?i9>pv%qGS7qOPZh zKD3t)LQi_UnwR+>@jnbHi&l~TS)MuA=n(F}p&Q(z6l7gk73^?G8<~m6xfeh&=`*np z%8jm%@r(INt%ys@G@-Q(HrPbirCg5e1y{&+08{t#=dQO{_0)kQK|w8?IrJI;D$8FK zNCy`@fiWv4GZXZ7?Kd_-a9-IbTP+(7t(X-KYzKm}ypU=CDPff*R3jKxcrowkU-@>H zsxQ)^k zQ_pMb;3>Y6iCi}={}xwv;Vz7E?W16W!TWPSw~j>Aw(jJ5hn$)%Ms=c~yS5QRiPqY< z95QdCAXwffYs4vhgqHA^gyhEOd|*b{$o9`VNoq0Ub!{XSvyH4^6W#AN4>p3ZZJV`2 z>3qRej6oc$5AUkkes_9o+q`3cie^)|GJ~=5eDAa|{OIYUy~C#n%4&&fgFYT2K{%9> zQml>@e27wSQ(})v_}5$ZhBIIUbvSD}W(psIFxrr+bK;YU%6peL+zdHr?*|S&L9y5+ z-?L6kNSKEcesl*R?p_8>h=y3w)e60IkbfdW5j7e)Xo~#EyF! zrWrS2T~4k32@eoy#qLApN3cDeW~7XIYhts7nohHhSb_(MZf1Ww_bmAHr3mH z)8Gn$@?TLz+x%lHyEPbas5+?0UEcC}zVm4$TnVR9nIe6E=jNYCWw>INj>wHBsCqJn z5kx=mG_10>mwI@;x+2f#MJyRN6g=$)L|c7UGI9+&u`)+TM+>$x$=cb#uE;uu5%p#r zQ27e>3jiu@ayo{qC5lWJDQ8q*%{hh0I3Lkwt;Vfm9|AoHPq@V2`zgqll_>#c?}|)t z=AF?iCr;HTP0w8dXIIIOFEhV~bQT0Kruc94h|wudRSFuw+-_jQlJ6?nJWmRqo;vZn z%;J#p_w%p*nyiD$I8D$RUsGgTo1bBg9%yQklY1)g6g7{r`Sq(6_JK{DayPq5J}1GN z&q3xMzFX^$PzB!kF&p|JZMA?$?73e~G=^_RPlSBg!=v$Jvq+-3>j!7Xp1J#ABug9zh4W zTh{@a2bA4DT1G~3lnH}jtlHWTJ0&yI=@;TNUO*?AyK3J40Q8Co2S%FFJ%e6Pmk<)c z*d0hzy1C|%AE|Dr}~!p=E|AochiBUJZQi7I(sbYDRo;JFGAS`hz$Q8Yk9U?jmOKgvv9U@rh2;u zy67?d{_DZ^-sVs1e%@HcB{5+pz8QjN$^+T+Gx6nf3-8UqP*2*ptdK)%q0P!`!N1SE zCy!2Amx}~b%Q91@Vr;Xd3e!@Z?JFt8G*T@_G6mL3rYUwEKSg^N?U1mK7&9>Aa_n&4 zf^Yx`!4X5|xW1ulu;*Z0yh)RiKW9w(@0;IV;?dK2ArjR=&kQyuJqmTqJ5?H%TutF?ZsX--{dU)+WP# zD#K?hiDRa!sz%Dag(7qMIT<>J^=v6&J*!svzz?`Qa2VVEu?N&K}LOOPa z9jF>+PVYeSy-FH!-(AmZ)%S_?rLwJ{JQO?R9ptw&fcX*-5Mj!H%*0-^!F<0m$e=B4o z$d(eDgIbmBeXzaJWu~9)7(X5rny$;3hDKoe!Qwibrh2=DsSe!a@`B4od3SI#o%8H# znC2#o&4-NT<7$J3axf|7R-ukR3=xd45ifY@$xIg1oT47Y?1_RHG)7aKA*#e;^Jbgz z&AQIZh{o>RZX_*>AmW1+50}FFw;wfiRW+2*>;#tlOMaNbf=XAv*1MVLmEfe8(STN! z`F!7HnRA6@lY@`xxtW}oQcfWrt#17lgJent36JM^XTfb}Nko5CG_lRP&-ZbyMkg&f zDRxT$$*SYMy)vV{y}6l;A9?Z`4@_KvxJ)ck5B!gf<6cY!7(d3R+vJ&%j&miWAnG_I z8&@bfA41}=P@-4I2F{P;{zJHYEEf`O{fC9%kGC44D6c=iB6-ZmwBKghL}B4){ z&Myw}elx_#rG2zBXqiyn*gE}F~>&Xx5BFU>N(qTKdzF4i1IbhuR4UovMow}n0gs|W14X~qQoi0$Hp;}wbOjE@hDw!B>x5_Urwo`C-O$7@WR`W zJhy=2uHa4_-z7uqosa;_!u<5=;>`ToC&gB){ibg=_T>mAbs0M1WP>4-F)`WR?yu1? z;Hl$SF}~0+SMTr8ul|azArL${eUmyA?sUe#z@^%>n@#Y+6G9}Y!$X=}h%_9u$m`lZ zPd7Cq3?FiTK|+1x1eZA&XlOdZgfB^rCr9d@sn zj1!Pfa+~LEAue*Q1Df6xKTOOa_)i8C4MG{6XSS)}vBnN|+BcAcz+!XA)-m}21Y$w& zIcBBOvF}tm0#Dl@mKkG_0H~1n*+tJs&GgpQ~O%XU60eI+Sfh_{hA=W4QSidYwx*9aZ+m^LJZ^ z>FtBhRJ^+wCFx+2_23Buyr)sU#wS~HJKtgeRg!Q;rgzYdoEA0!^Y1TL2>1?Z5zjbU zr1+0Efmz6HjCX%ydlLQ<(48}70w(UTu9lYJ%c1P{KWv6JL8o*Nw32{P;3M$w$R$(^ zP>vIC_zN*j>`@m+VGLVA@|3=OsfB157xq>faWe^1>8!d}lm57weYYPR1bRX%gkLdH zo)qvxoA3(1L9@)m$%(MuCZ_*xD?=0OO99kqxOMHaG?g)vcFO2O@Ix$rRZ!<$;} zMlUjAcgv3&`TT1Rzx;Bc>_B{0B<8rY0Q=PR%#_O?(YG7YSuE?0&NsQW^EhzgL-%Sm zq=IWzHZI40bJY&>3esGhGu6++`(}MOGz?5Bc|RQ}TIZiPJchP^z-qZ-8^O54DCh5f z>?lPc_NhyYhFO;#HvnT(=dBQ=CpA23LTb~tr|#_15UE_0u(GqefE3NC7Re$26c!`h z*tx#Go(S(Nwew1rj?>>P`3Y?Pn1Cv%;x|i+Wf*M+ktT>?@S}}R$Es~krVD(nz(V9B zj7jUg__DrZwRA( zl7T$)%x+wm%*)yBk}|E8+c|%neq0P{4XUb4mq^C=2tgS~)wE86O@(w^zpL4$W13q& zeI~b5&X4=PnlUr7s)PD03;*D;y>2F#PI*5O+WK5huum5s7Pc(}M5WK;a25&6zKfN;?c1T@**wGeOt z{QX-uCdt*>SzphFgAi zi)%asr>UaC#>l8A^VLHl|B`%I;NPrkWEK(#A2)d~r9$!5&@M9l?S8e(x$d1@9N;NV z7pk@aRGa~Fw>hY~d+J+p1+hj&xtO=)^s7hz0!9gpZ z=pb69d0>8pruc979bv@$DPQT@k)2IZnZV3aY^sS$L1*GqMo22rK37o9yX{=7fTvt* zs%?ym?Y~!Icb&Q2F+oVPW7K;0bHSE$2Wzd5zy6N>k{_jN)!g_jwohW!v(k?p^@-Tc zaY-5;kyI6tr}blTu8j+noXTio+tjDx?X1G1@wP>Gjl0Mg?V4OY5d2C^6VW?#t9^%(K@OV6I z`Bjj}wm5riS(%!=bB=gyx9^x{72=%mu%)SCO85NI-Gej6eHeZhDfB#^W*5Y+6&g3L zp5!_AVCdIw#V(`(YIQ21r-75U0K4^yL?ihV$eQ8!Sy74Bd1eeKWqg3xxfMA6YOm@O z5)zbjV!m)yw<3P)W`fAui&8$>@CUC91rx-jAr7a0=%t+q322c#oU9TlOt5>Mzz8e6 znk~Zn{?;9YEXWJiiwgM4lbozWfRI|z4B8Iu{b^{quu@rWzt-u~^r^lJ`P0`Pw=@DD zrBFwuO`=nsdub`w^JWI%KSUWk1H7T5golep2v>*>e*Sbflt&I1VN4*pF!O5{)SU$;6e3#QQcv35u zeI`SWCHM7AWWCk8Q58}fy1ClB0pZD@ntGK2{`2;V-kI|yB^)+LG!HS66!e$6j9JtR zD!#jw<=FD^FS?#O?6#nC@6IQ1DT{iT+FlL5tylPT&SR=`#^zFd!r$!WHx!X(arihw z0h4;ijr4WyoslG#iu(3Wg_smy*8s@jdjErtyjF5*3Xj|gUo4>Si zUdr!QK=VdBoUJMBi<=RWbM3q6sg>**JvcuHBv;j2ZSDZQ+39BNF}wPkETh zSKyfr1*A;98t-^bch@-)&D<3zTj!Vf^<4G4tvOY3a(YIlGt$WsrhaBAa zxpCFR?fCN<>*-97qe)}_hjD*9f$`W_bXgsjb#r!h#%t`!YkSifEnDP5V!JQa`>|AV z@2ic1=@mj{Bbts%N^R{NJUaL6F}aQHrI-UeczU>U+?Q~qRjB}aLCpzv1pVO+yG=|Q z^Ofpis&vLa=~oLz=w6a{gl9ilTQ{4mOlM5D^I@XSgeD9{MLD$yMkWI?gd{Bsf;4Z> z&PP<6FD>bcW9ndU>!Z}WnG~zc_k%7w@`6oGTJ|UY=0f$eZ^O@8E>4>1E$o&CJVu#Z z;gMa$zWn+)P(^67pt$6-VK%}GSKVm-+?jcS!Or{p`wOmqlTa?z-3omQUtkvkI1LZ& z!!|HDQhCWF5v<#5w`FYS5Q&S6V_{+4TA|i*m|q$R9O?=PgEJCPCRVt$_GCf=ZnR8N z1he9{c&!x{M_{!uuhC=~Y1}D!E$~sD^-eE8vMFrVO zuSR&z*FSo{Y%1% zBS+(j*uCRgE_%$|AJ^$|$p($wU*9XoSVD13aZlx%kz$gRs3Hg_Gp@Pf~j9 z>;|b#hwOMIJ+$rpzxCc2_ZN3(GS0D33(+p~>hRK5_lMY4dkzDiEDy8&u!bTVVJ{K6 zpcRZ|=3O{>q!;Ml<3ARgqp~6y z{`8g2_`SmOrCex@m{Ec!-?lkP+!KAz5a58n{e02KfNn;m!wsL4UACn&z$D{;L=SU|0(AeL3QQhI) zjbO+ME&aYd)#GNLLvxZ0kAoG8%`c|9Es#qqqoI6?hFW|plWytd)v6=VA-~3Qy6otz zAuwZp7D@#tg`c5ni{AOubT#)13$}|%0%|<|WtwU8g8;u~wuRb}Xf^seHuP=>6IWJG zZQ)=LQtc)t=C0xLM^ABip4XD~7rab|3oU3Qjq>&1PQ%}#;K6R;@TEI)Gy{wiPzORh zX9j#-TNl4Sc#|wJC671+t&Cl$nd1}Vj#x&d-t=akU8wM4^KFdE7pP#58Gk=^Ac9GX{vg0?Kj4#JNWT$1~mi?Mq7lZGWjBC@u+ur9C^|RBBs|jLXqsqab zjTqQzFiLpMYi(`K`%}6Zqo3IBNXk$|D$!<@6Dqvsnnd!wn#0@Ibh=EY9Lg{!OgnxU zwaQ}XQukMAZnD)h`>%pmn_ZTZidJ#bR=r<)MAoJGBEH943K^wQ|5#Is94oCAl>U}4 z3#N#3_LP7Bq^th+nzyHfJ^t%}R)de*p6&S5b8nmx<#Grxx-q`PL)5i<>*0)XIMV6` zpw%*c1s$_lx#!;9!Eg$>`66?I8=kOEd@##Cuf1AG6_NOc)%PWx*rBSDoolq#TXW*` zRQ)YE|JbD_Eg3?7XgNI(a!CkRgwETsBNeeEPMH|bxiv@T*AJuKfr%1YWVdGZG2e8W z$0PTC26zm@7=(M7v&Tdd@rI{omMEF_^JNjvk74#so*to5Shp&3*AvboIbIOkigXm3(6H>cVx$MGQmy#U2O-S*6L1Z$xtJ(p;CB$CiSSGh92 zQs*>U_`^7pzj!LefiC8Trvh=N+i-2E4k{z7B;Z zK*>^>K5SY+X3JmovdY$+oz!e!>%%JYpRd~-WRj;mrVNsp@lWC|NJg)J@b9yiFyGO; zbUUQu!`{)*u$GF~48J3eYVl?Dc3xpNDbvwh?RAn_>G{EvPT`9d!PS*#o92)v$Sq@S z^mnOh@vPy@oLxWPq3bZ5Gh0!srP`3@ZUp@YyE^ODA&f(aERIMPl50UEdUlL!Fsh#wTr)o3 z&=qryWnj!^^D^86SfEwkIu~U9=^08k9~Jc!$&1V=LBR6_*~3~$mgM6(J|#q`n!sD} zJ6{kP^qrOG&GJ?jQxfkDG#sWz5X?c=iM*yFF^a>-R7B!!)78lpRC(;;6oRg*g2)OJ zNrbQa1k?lTD;T6gDeu2%Ce5ZVP^IksMygdVWNe4 z8Kjtwa3 z&13OHmhEQp&Y2ozt*xF{YhNuSVl95}luPpSn7b9!^_VNCqe3>A;;Eru=IHP5Hy!Gj zVXNZZRIlA@QDEX>YCFd#?@*NG$+Yyw0ZALmJfMT&{R zuCkuq`1A(Q`0>-ZfFgh^8Wt1F8)&w!hk6aFG>DA>Q`$qZclyFmRsXeIwenYJU0#vrFGJ@2u*aL2@iZ)GA;ymc z%&|4_Vy6xgbBg)qW5qFSnl4LkWbt_nC6(h~w;ZYoXEHIRFC2e9VV;OMthb?^o=Lr5 z6y@OJS`ttDwwJjrtLU5l%CyyZ7`yKDkeVnQm7d_ix~TRV1E5QnuNyA<2&`OzkC&^(wc>}z)|@QYvQUEo5%-A)3_=tWU&Xt!pQI+3aK0u|y?0^N`kJEB zH5dNVV-XpdZ22bGzMU+XaGtO43{zR^14kVZt~AxD<0#yx+v-Njy;{+qyc(YNJv(_d zCVEHeXT=)9>3L-jyEN%IcxkjyamXAS9ZC~9G`f*pys`An@k+o7Ew|2;7q3-y$WR&l zwtzFsluwLF%0=tMIn_FiH8Pq0N1%GjTlYrg%!ipm`?QU_C0ZEYv{ZSTv+w5fP&i|K^K)$BlzA)B7TTe|be3IVTWNEUv6mIZfAY<5K5K{H}!+!Hs(^ZkFvuW|7#IJ1VK6s>~o= z9AOMr9$zX~GD>2u&i%fa$??je;Ek;R^roimw_@7#cwS-y^jm|`{MTQT;p-pG!8ms8 zPtMP4Yx^r_Un3_^sfvPzOq`BuhDTSYw(YSLr6ki{XVMi_R1Y+vph794v0^h-+1{T`8hnY({o4t5`a zY_KZ!{k1&*eAT};f%}mErFr9j8|v}@zh313I_lJa7qtVV4)_Uo9Nz$gLP$u6tAO>t z4h^6V+ch?awxz)g6(bYMLRn24H1hA%=OHxlu(f3Yyqh3V)I7;AWAu;T|3z5lN>|l6{&~ zJSF*Z6rOUwbph*jD8|L7ZDNBONeCce5PWe z`)g8s{2L^sjFH#K&`&8BYkqc;@B4#2JOZG9ipS)%T`28aD14{EM+*K!#fyC$CP%0+ ztgNVw4G-&C+%sVN{Hp;889U*3T-7HQ{L7x;puVZbs-TBpYT}V^6_t6lJUipEJrA&b z1r4LbK1#J;4c(P7M4$Khz3psfE!j+Em(bmM~vt2_+8Xvb^qMT+HWFq+Jhq91gkpS~nVhKcf@IMJj#$p5u>HUyskSZ# zql5r|syh!}d2vPfZ#lY*3)rw+%D|M#m=KOwc0vT>D4rOWY+Gq*8cq)Tu6Ug_DLF6k z7;qlO4G2j^PsSydfeDidL--?9y(3!QCyC(~+O#zFN?~bGgF@3xBAA-zrH^Alfctg; z$nan;FE3`ejl4sVcP-$LMhino@Xs;Ux_br5@%DwfRd3vxyi zI~S{FALJ#EvU;C}x|SSo9XCEa5&}H@(1^aMe0&B*B#%CK&1T7(mw#iInqot@)YYo< za0i!X*Rp1RWZJ5TirZD;RkcsFU7Kkw>#N%1sH$S+1@kSXtM{pC&Z9EYhdP-$B%~bJ zxJ(g-t8ph{1&+cqIom0{ch4*R;UbXcZl~fUO<~y={Kya0c@wiET!<9)3CF$fVW}yY zy&s)968p`q9A=_~DW4g(LQzgr%Uj-wIXv>PNplpV|IQwUXrS#;Z|>B$EwFj=ZjUgO zmoTZV@Ty%`!;J)~%47+fu_HaKfw%}TY=f?EH9u~N^}yY}Mi4P+0Ef%T6X*apI>Vbv zqBnSPvoTZ|$(53Cu&`V)$OHOYS7(GhrhPHSd_qE$=&RTVKP_!%43apS2 zgi!}KYZb=jrDT^UW|t8W0;-mVf#Dav-gn>e8p3$l#JNwTb}zBEe_X%BZx{Z%qy#{<Lw$paC|L9>o`0??DE_0WASe(qlyi2LQ4On?+%gd%v&ucXX@J-tGJ0Ts#~o0 zz{mLK@1mWnt2tDVs|!x1It5bm7f}l?&93eLummO>Tnp2FUZVf;__~avf!bVe2lW7eCa;u@AZ-|t!isy5QUF5{9rWv_B!0P3u~8jTo#s&uC%yQtBZ??6zw$iM{8de;dNaufaZ9n7dASWlUDMULyx}8-`oG+(;haHW3 zRud1*#BOi4j5@-h zPo77UA&Up(##kZ#6VpW89qYHK9k0i{&T&X^kpwt69NCa8<9`6w`gFWeFW4qtuaw$v(x;>Hkf}!A9$!oJqOG}lOs?;s@ z^*dlBawlVBW7pQ!CMT81RbLckq^9CCVG#L)`{t}ujpPvLBr#|iA!#>V+_(>&ACx7XJr)dpR(s=kdU*6W5xCno|Cs~~w2`2MR2 zU%68475W9DB2p3}J2V$RHL<}5ia4rFC=I|ExZc7ag=na#h!egJ;r;tDq`Yhx9LKz| z@!c+-Vpp0uDxu(OTK-F~0hQyUqtxLp?;26Q-QC?kyO^l?y}i9Fjd|;l?p;TIEmeRyeeJMSsP$k3wtF{1ioKB{^xrW~0~Tw#&U3HEXKCF9#wK9coG z%|-5-=tUgp;sU6CfZzjGry-}-nVL3YIr0ONPcqV$E$8Bfz2e3|-b&sIeJp)=)p>)h zv!?g$Xsf?PR6~GWnLa|?rQL9xLG}dA%ORvd^P3Vz!q6n7(6Hau93Mi4#``xnKYQre z@}owCiNmorB4`s0t&DwnUwvXv_aPx~;0>)7()#?oB$o*Ctw>gVWU19CG&YdFOMQ_n^(pL~js9&$Fjr0k3@c*wnaXwnOz`N%`$75-XKWt@@~d$M|Czp62D|W#onOJ+OU zK&B0iUR+#Uh2Q5LrnybiW9nigON^jTK@!-lhky+&L)s9htcXA7m_N~gL*r1dx_k!H zL+XNRY?fQaPpX{}8HwzyQARpZ^ufb)c5W^fe{nmvwUFnv3ymM)H|5Fv!f}5Q3{^ z+D)g|Lu0J_RVdewErc*cB`(V)MVMefs5co@NF@8$&xC#KtIC0>*6b=4Dh=Ur6NbU5 zs@C%2cLA%H_PpT^E(_iyQ31!(Ok{OgUHC0^7+?8()tw|Immk9jmxxidNKWLwq#s*P zZx+<)ExuWfqwMBN)vDmRXe4O7EwBGuLxgSs7TRwr-#{;DKP7_bl~wxt%rluN>Rztz=KjlmNhVb|0fQJPwd2WG z){S;fWps6vCqp`)qKUo%D778 zQ?Nb~9m^x6M|w#w?99;fPjsvfpR(FX`pe2;*Do#|_G!Q_{IgRa0ZQN!ntv2MXZXg) z>_l_W$TaDvVcLEyrh#t(?*pFBdkn&mUYOKQE4;8c10rz_c)H$%kC>L`=EWI^saroQ zw3iMWe)!r2R%P@L$c?s=T^oFNJDG4S|E4O%*542B5hV)098rwTB(4TbQUV2*tG%uf zsGM6^b?`E|=%l&?p_*#yL;!>@l5Vdssnepzqi90O%*VKw=cbC)gu3y%W3 zfjYK@#$v1dEn>+I2RNZ6jF;A0^{7%m7W_miuLPEDJ>ZZfGboU6LRY2xz3$$Fn^V^T zYhR3Hj{)oaRh32h1USXRvbN&=)Z4vn*~}@5XsZF1)L~~#jvrU%NgC+voq?657`r7@ zr3xo12gk>v;h(SZB-fGOyitEddkU~FE-yFH+iG}RqBl@$V{Ibiov;(Wk*J%UpC^zc z)O_NaC7{N?3)F!Lx!l2DjFU{!*0p7cG0JvdV{rebswo{jLt80;+qIM#K@{EnqJ4MGFysp&ab|VrJgL( zE^@4ZScM+CUiLfgp|9$O3(^52=3Pu#7V_L@`eT7|=G(|WM#hU168-KY8RxOU!2YZXCV(`B|mSRI@w<7Pe*YR118DJ-Qe^Q-FVS!Q{#&iZ zs7bx}_Y>*A=@ejILw@uhjH1k)BT);kD&2?;@8A2GvBox-&E>uiL>&%-nDf7>MEpNo z7bI=ufBf2iF5`cF+rJ=2agj26V5|gDYAtK#-gCK=2eNu{p)gl++TdH&bp~ESQfO6C zK^`yIb3ws|BJfL?FQd*+O1UmLIJmHn+8)^R-=gZL@qpS61RUI!HZ}3J-Q0UxnzE&I zc6Nf}x4Gq#R?Lb&l>n?RH`nmXmS;j*17u&tzbF<}+hP3lw-~9@IG}FNT%ZZnz_`l+ zo;Or|7cEALBD#~y6CBM5K%Rqf=?hj90(|`Ff`h5Cu`zuXvmcsy_8J-*R#vCKfAi$j zx3&_Y4Xd57NsE))t(pPX7h#|o#Xz>HbUKl=kD1v3zM!ti z4f5LLnKx~5Q$p3nZLzViG>Y*M0)Oc|dB3|op|}`S8&G>)@-)x}taDsce&B4R@^zUZ z;wV_?VJ^00I5G0**ZoA69M06pCd`sqw02z}egLkDPh*0=biPbBa`S=iMM{~c3H$ec{xpa13uazg&5tfL|%q?T%uS= zv!B;{gq2N4Lhwq8_8m+NzW-oPOcg=_7^*6f89`J4+E{5xbQUw*ck!4Evq=ygl1IC| z@IyyO2WXDhstjQ@uR%CP<3(6lSWIrY^H0=>S0g{k2QbKSTkhfJ%NuIs_5&YQmu5HUK6jzF;$T5wlqpAC)!W-*uT9YP4*&a;R3oh(iPC z%3ka$kdjbU>{^F~5sJAa3LX0471UFRq4|BztW!R8rtB93BcO#r3hE97emuVE**R|S zEu|0*tlN|wDHk;cPD5h%es;+1pgHf6UK2NU!SV4661%^qNd&&b%Qrhrsncx-1Yx}( zQ9PzWwK@}Fz}%4`kr}?)?+q7tabj)NFJ2NNJk+#VD@fX?<{~4@f8tII4$awIE0^b2 z3pRuE*lxN{?xFq0*sx*c7c7H7MVqn5ealhkau}`Wgcd~`L@RO93ER1+3 zAYeI6$IXHYCu?uEyu2L2KGD&3mqzbf6;@b)`UWO~9ozj#?Z9EN9Wrw{5m7rLKlVB? zUdo3Tuu}nXGx430 zrrZb#Q}hm&e-N3f$kVi@c-%vZIB92dOG_}9grAmHX{BHPAhO%=|4LOYSW9$jsV6|S z7!wndg6^_k@XvZfgs2Wfo4JKk*+Ie(nkbgLY0DBV9Uk64je;=lzZDyu)sbCg$c%-R zr1lk{pnjP#XbSIZSq|=GdDgKcK8XIE`K@osuz#A{)3ea?mECgAlcbjmF}8uE6x-;7MD`i+%`(~2Rn^X9-Bcz zwa7J@hV)mhOr$er=lWO4X&EyO>-Px3Da}#)FZ9s-Y^^EVwoGKk<>_^6`Np zfxUqyo{>-e#8J5uPn)3!ilz*Wl>%@v^AjZnL?>VLakMj_Wh7I#L01g=5+WiZkjtGp zh;n*ZSI5Oa`$K~!Pqc>E4S4VC4BmSmw61Fm)DI?3Bsx;>e)#Z(Gbi5m6OD@nNPhl5 z?Y(tWlyBQMI)XnCB~+ACU00yJLp#8oFcn zE_|MMziWMat-aoF@BPoW_xq2?EatvvuKT*qIL`At4lwKH9|n6!a?G6|?pg-g)fdKV znoAuRE0~Z`F3tHSqE6qFsR+@%SUqqR6;hh2w6%K+^w|giy5AGxwyC4D`F>4Q)0}O9 z!5Uw)77_FF*#hHND7w}QTmp1yvzaAyFM@!FgziqZP=>~QPZ)7FpLk*!?kYH!~y#FfK> z9pR<-B*>S{33g0K6<+7-`3!6>Tc%J9i~WwNEQ+&-GD(q4_X(Z+ zABJXzT8?38>2Xt+w`3-V&yZ(En_;Q&1qz z8c2TveVNO4-fou=SlT7^{g54Va#E`Gl}D|)Vy(z4g!=e= ze%*d4uu#_?%7+6$3UF5X% z+TRs-%FJje=Ez6zx#+#xpMlMy5A_6=2?bm33VmL@^#u-y09=DG%~5oO^CS-K)$&Jf zIt$%dBBn=a2_KCHf6HDl=4JxMgs@G(_!X@82r-j7c#0YwU0(ibzHlr{QRi{xUU5-+ z{2y4r{erBlwe9V`vXasJ#zeBL$5iI9_>nie@-N{_s_$Ci{L%!uIXNY<6LkirxQ&0S zOpA~A6K-_rGnsB}Qol?8kkC>pk~WvjeqEvpkl~36VwWe=58VydFyI&94}X#PCAE+# z#|(zsrqDL@<}$;^9&whjmfMT(a2%5Uja@^Tdas)a90tKko+4Fz&9BDsXL1 zr582+jPee3s~K=dbDM;j{wz%=4;Bk=JOKbKAK_@(Zn&#|1*q2A+R}I7HAW^vCzYm7 z@iOb3_6_r&zI~nf2QTE^VITAQdygLT#Q*ZIvHY7r{?KqBs7; zuO{h&-;1_?C~2lG2RP(_8mJ2L{@AX8S9JDVuI7vKE1V#GZ8cVO;uS0{EbQx>ZkHFR zgHqoxug=aMNBkpyrTo8D->-KKy|Bi=OSTXPaj$%S66Md%kk``feb;s>mzIUyFu~^OVQcwB z_@lhCoBw=Cv&^J=2dmWn$NTl|l*vY3`Ix&HS%QDb7c{*t5yJ~-w}ZpQ=uw%Vb+h_nKW{G>p>?o^)dGi;i|lTHkB!AY>da`)uHtGi|S2(thNdUDb-O1 zAt536*#<9@Kbj`Nx=hVf*|k4r)vV_}&)iskx#YefTWLWVG~W9O`n3OFDFg1ml6c9N zSoZ74Y+&MlizD#w+iY%jmSh_G7z6g`>IXi)8$qRFZ`0}|frORS~T)hYOxdQARw_`2;r{H!#C1Ow>yi~4+Kfr2DKbH|@q`#S(IuYf(V ztY&S4zCgMD>uWm&_&o`~N5}s9{Suo)Rku#*lL*O@m*YSiFR&sr6IUs~v`J4?y?P;d z$mYXZ&+17k#_lGG54y(cHn_o^{r+BFH{3{@l)I zHstO^jg#$`)Y@O41GFv{+3z>7k$Ja2J2n_leCCrCWXN#`YeMYHs+L1I!wc3s3Jwv; zbdSF?yBqhR@On>n8rtNxbzRY!~g;aL-?;7)m5 zU2+|--4m(Yv$;{8*VX8a8?4IKZx5cjEnYWqSZ=!^gPDy@(K)>O4)9r^g<`2*aC4<5`yhT^<$wMi$QBX%<-Kz3$ez!=j<^{NO=R2L7g&9*XFfsQlU zhzMW2>j$p;WE4Y3_r{;^4I&A802CRrertnl1pdrCon`MKWBmEU$AFaxq+6{69RP!X z<3~=FmzdIf=Xq^9=%h7#T94b8x)~#0J>=u{q)+p>>+%`T*U(3;j3D9Zz5_CT!0tq7 zH&1J@YwqGwveCMdf9_LR_U9ZOspGHpW_7nwyyXPFw)P@KqSfuKDj@;EV^1_MJ1mMZ58@pdGW?!2(1I@eLZZ8&D*oZ#V_Z-1qUb0H%(nz8m-6IM4oiog=w*9 zXk9*xlcZ^oO6r@0kmk_BV}pCO@L;n@4pjSR2Y&vSV$0~;sMhdKV|zN#=NVgJ_d*3=o1qM^zJVKI2J{4Gj*S zizOi;DfX%gtPzz1K$5hybTVg={8N2J#%B-k0KdO(yp$(rjrleNC7EYRHTkM|UF*Sf zPYbT}VmGU637da^Vr6Cm0s?=oND4M><_D(c=A!#7j&92nPeBl_ka8^hi1^%Qs@i__ zk5bX}!}%Xr=`=SM9IUOwY;$vSOWDs-pW(get@(IUtw-{tzduZ={^G6cec4m?Kc)?o zK{?$6QP7e6lh2y7Tpc0V#Ca0i4+%>fs3^{z;7h^W0#R|PUDHV9nL|^+ZW8EQ6fMjLD zT)@dqLcz_l3mQ8HqNfS!cTmmA8#puf*VjU73oWdENr5u+M$zhI$o-vW(U+Y!? zeB$WW`%Rf#z3xBD%gd8LzbXs^MC2x&S-3|e-zc-!^*nAbqCjGGlFP=qD0vF|1`=OT zEMMXWFGDfbKRcW0R2jaRl-+CI^Kab|Qk3K?J^C0xL-@<*$v_ApYW1iibbZ>K=0`y8@rn;o=>J~0-zbj zhU=0NoEL386#w&Q;Sct;@kk5dTiQh`%nypU+x|vhxnh4mJgv&+_h-D0s;-W1$_->j zTr6|`TB7EFSAC9I=__+K-at^7%EBvus@Zq0iv8jA;^Shvk39!uC7ymIVPpJ05;!** z{V;Dsg3GQzbKt>4KQ$4r2qF1kYs|H`ql~OcsXN-5GHbSB=K7`#t#s9R$~Fn2sZIVO z1$xx;rlnRU(Jf>MPEbPIIHmTspVTX(n*%`qkN0Nu&w4PDmjES#z5?C2g0tAL_daNUN2Hi8Cfb?-v1a+WEbAQRuPY&he;Nt9T{avz|u$Wu-_JicI`L(CX z6-^|w(i?SWR2)_>M)K}2527%)h6||lL*~mAXsl-HsQ3UcN^pM0hF8w4)~bdCfmPCi zJdL?*Wv+(X{ZiSN9crY=>(lrq_x`^&h;>-TLqf;A-=rI7y$|Zk%Sq5*tG_7V+)`Plsn)7uBuzI;e5!4LzIE96?x*G+LLj0LYGO;X*_QthL1PpHn-c)7nG4E(uf^F^bh z{%UdoV&cE+heIVs^MiH|hxP07+_p4lTWWNFhkrca>7+B+OoeS#v@426CM!1-dGqwQzJo6VCWlQGpqmtr+b@#}|ThI4I= zSXSj1&A1*-6&nQEl)ksJVt>Qz;LAWNO1RAW%mEn2j%RRft8x{sbymGO2y=DEBD=HSCex{S3Bh`Db?nM!!{_`A3=nTYtrD3P!FEY`d*4R8&)00S~>E9Li0mRUwyrt0|430UY9(Ub0l zW>_~?%!$d8D4AS_k8VjYylETiC=NrDe-ld+;Nd#Z1R+N(IH|X6?sF{+40_e<@+BW| zO^$uhG#LR@W()q)uV{5<=o@Z|`2!qT#tbbl+C2CCy!A$l&nK8vr;?JAXra|1io3xm z@T0P_FSfZ}u?i3_m44BY{kNL?__-!T#llU(+haDrwg-5=QMz`40&l}V<>PpN_WK`- z%YPo-b)05&Oq-vMc2yu+FvUtIg*Wo)zzKGDZ+w6{kBc|RF)S3 zjfta23t7^?3X4tB2{W{LZ?qt;ew4J5tY|HD!5W2G+Fh<{*npinxsBO$b#qv_6thZji_SG&%lW zO#t-9CDWN7>@l6c9Pr)48k#U-!uStcnX~K?@(}q|m}{$0@9{E)$qX!WABZ zb@XcGX;h!_)!+2Y`tAl80ngsQEIG-FJJekb4Za8D-1+Sto!u8a&yg( zCNe>>%Ku^e1=TFw6(x4)y{w$Tlh*3vEwdiD0PaS`_V4`cP`fs>t~Xh#Lt7#twvYZ( ziN;N{#e2?p1x;{|DaLu8372rng8?p3Q=O7~zBB9)lb!mu&JhgS@E8!O)U9>5&hLFD zzSC2K=z~pHAL~>^AXmq-$Mbyp$QC<{6T4_d397DpKv19sZ^g59hd!Z+Xe3 zgz=O=e&P@uop6?BXhj`OMJPopsY9I?L^Rvl2-=**7Jh{{JyTF3<0A5HL+I(1g_~37 z+`dzj6(BuvMqtp(GaZTd;6X{z*0B3|~a5qM+tmhq#^=@`#@!6;V>pcHJ z;+H%)OJFO4x*ez><*SEc;a{uNUFUHh87lxjr*EU#((lKaeVR(r8be|QT#EQoAVo`GZ+v) zy^O17gminkJDO6|xh^5n|1Ihv&V9WJ9+y9>2HJ&%{R#XGjdhZFw7^g4+K^LGwHzLv zU;58Y{A1C5<2l)(%b<$Sbv<+LrN@oQzp5h$HSs4DybFX`-**3b^Sb%hei42b)W5Jh zU53^_)Y&|^FPMTua8B71$T4BlIKu871Dd%h8v^Zd?j?A`D*w_ZGbY2C&C=_f8&jq`(r?0mY? z0oMkSHE`UbzHH*lwz4+gT_ts z{zIi-bDl9|o7;~<&YMQmO>fJtlnqs; z4yrd9@~wV3W7l@)LA3JluvI%X8?{`L;0O3pJ2#0vMDN(h8zVj19NLcWA~=j)XV3( zi#O+9J{6cZbgAS+%VJ^Ej}U~vs<|51?{AY$c3y}XnYdZPWL-K0&ck(%3+ly=Kseze zNpV_8Z9ur!9C7!Mj*TR582NT+0`qU9Tjg0N@P0cBU-BS02Y8?Y@k-8Q^R@jR@t32jrn5@fle4(RMp4Qww=m#y_c?K*RQreKXQBS0 zbYA%7b8%3MXDlqD90c8HO3iOdoQa5tT&LlxN)mr1MV|WrHH1i077`I`ak_gH{tRM7 z#C7hMX8<#pJON@A7jI|gx9D^MLjeDa7q4}|%)Y(%>FwIUAJk-Iw9U>{%+uH7b#4~7 zU4xpb;KmjfZ+Gb|GoOUKd1AxG5pYfGuWL{DSLG%5LDL+^%ZEjQvnz8Ix*fZK+zXG7qkydIOAc-uUDeBdoG}fAX1-?#;sE~capAV$I5y%+zE=B;mDrgyCIjy=yU=d{7mW?X72sstzoC|j`ROg6lt<>*MU zu(IOmeT98KZIuscWlM~G!$HQ?tGb${oziD;1(IUbk$-)f#&>tJW=v94!@guXWFHx{ z*4YNB1JK$?WXBwkodX&tX)LlQPo97!A1!iIh`vvsp#QRi4fv~n{`u#(HUh>NkX%Mj zs1epLTJBe#mVgdwV}QMU`BGtiYjXH{w`YrV(FR-?^ssxET258V#6fLn5sH$a-Uw(R zfRvxHmR|8dYYSmOZP0jKmh`omn zW`KQKi|x8Ndy_-^(+-r2%Ua#u!2wlk_-@kpuVQdc#FC9?S}+P4NqSb3xI2wFg2w$* zV%f&`D`3=x2u|_1S+dAN`BA}98Z6x0#^yzjF$~un%rcZRubSRq3S8#B{mJRzNZ#|J z-=)4J%qoI4h4qDsEhFRo2Or+?K6^m)Lnv1h0l)Xy;TcOQbFJ+EQD@y;UDZL9ltiE? z3Czd1QUxUY3H{(kUWSOAoS@KKn_%PZgu7(_pKGm;u`2r)vUX4D6LakaA|)L%K&)Od z*ZE8;uv@jwD~;+8Xme40a?N3?ohM@&RY=wBZ@kEk;wrcjc5!G@YN=XrsUf59rA?;w z7a3g6IG?nizRIc0LD(Woq;)B+p>+2?=vN9Kr6KqT{h!=hx;o7*(TGdU{;f$Nd*mR@ zy+~zCy(nlot)I!Wcf{{4jJJ?~%*K}{=5&=%(d+a){ZVTOZqCk(oAI#=7#t0PBIV6j-fk6Syj6O zDVBiZkeid|Xmxabe6qvR$>5}Uci?cQV5TFks;HxcbD>Sl51J_KWPRQ%??NHS?`~)~ ze=^=a+q(bDuVPyWGs8269Z^Es77DKKdbYZp=Z6|%G9;;UvbkECTl+Ir(pEuzfpPYU zV^?uUxb4ra<0{|6Rn#r;fJHn|6m!`#z*rpL>#295k2`L5(sr3^@~LUGaFCOXHpJk+ zVB{qwAwdSe8v4b_$=T5hB%|$DLfe}a&8CT0G(Y3SBAdJ8H@oNaM)!D&VuL46^ZC6i z))s>k1=^Djz|i_0R8aWrtz3EbTdQ>*&eGt%XrsQw9`mfxqY!~T+x>E(PZzy;7Akc; z0<2Rdy%)LV$REuyM$yD9$0~{DP$Bh1rYM;n*)I3-b8fG`c)ket-kd^Cd)_c)!#1qG zY@fOw(Y~z;D?Ck8CWL4wgbLw0S~}`)YLj-j^vrpA{W?zQfG-ZOMTpmt%f2KcB(TWC zK&?N2T5sMZ7AK}gJ^GT>Vo1oSNFaOol=^DKV1%>+5 z&Uk=AL>u&nyG!{%!cPHP2CFb}9<5wUFbB*h^rHMo$D}MS7Gb@25l$J$n7 z-t^gMbU{TG6C38d>JL*JVy4{cCvVN+0n$TjCQ-oN#LyVMD~z#8~B*WsKF=N#DO27|9sw>tST=T z=q+ZID0ZY!mWiv~eZot;@4ZJq_`xI_`s}>*mi%%@sKmD=MAk%Z`o@y;4^z?*AUbqxPN; z1jX5D+t+sc^kxddK&DB_O39VN`P1>uqNDlc*NAQ_Q|LJd`)f?k^Ej1ybo^)^Yt()v zK~<&;3NJOLgz82du0_~Ig7_j9us}yEPzm-i>Qef!Okjrc3oH^eRE^tY3C->3)0|Wg zt97IEQ}qZy)We{u%cRt~^AwmPq-)Y{HPbd`2fS z8vR|(>S7Z5HO^pvh7r0@-{=IkDiWGW6s)(R?~9@tdom zu9&wvNByVhJhwk%FMt2Mak}|yH*vFLa|KXn>dTeWr-QP z{-~d%ucBX}pSiTQVsmHKl`f2Ze{$au#OtP}&-%_l!%9r0ZJ5BFW!tX-iTTH$UZehK zZkx_&S_#x#zAGKr158~9-W5(US9|reWZk(n)FR%i= zs;(FBk85E3+-|P3$7aG>QmG*_@q!NU_3n#B?1leN@Q7RN9Pw`pG*b=H*` zOrb?xR2y2pbfPfQw%qkN@A8oWlm2-5M#9sCz9)N68+`7N7Sj}~lo+YqukhD&&kK&P z*iQl!TA0?`C2cRUCOv)?rxj-tLXy9S3Y}Wmn{5E^%@jxBbRKiH)My#)i3w{XO3Ejo zimB$P61*t@b;2~Y_;4<*ys1s{%$Rh?l! z|5~7q82E4y>VOVCDI?gCZ{lV&KEPC_~a_C3;abfOhFYN zCgB5XT&jo~<-k(Su&Q9WEsbXsVM=8sN>}I^4C_cNOJCo*R+4Z$F4})4-+_GyK9nI9 z%?9MZ7z#O=W1q&bUS-&?EH4*3xlAAnq!1J`fjl%XN;&QK!(Sul?2cZ+?GfQhD9vbg zZ4A)n*vpORoTx>OJ)xwwq#@R)6zVD`6%5jE%ZTqwfE_D^24h29W99g8d8^Jh&XVlx z`$6DReKmD4Jh@bFrR|pKQuX<2^br3{K-1OH_|xa*y_pL32Plht!75wZg0!;Z{29SL zbj+>~O)Kf%$Y|@jw>l3Zb1JjoZk;8X1DT-U4*0KmmaArl>WQrDRY*xmw5sz-iZ0aUS_6sgO-e9@`sI&(eh^69uLy8*1z}wG zsIQNMl zZ6whX#>inWOr=NxQ9DY}HjWL!{nHR_lR9>k(kDXEN5fvQ z70>T{&>S8vx*L&6<59i^8#@tKZf}ez9dDzkOPdTEv%soe5PDkexT`BbaRm%-SA7=A3^^^urK96V1scuwYm=KWH<0eIgc9B+5nA@b z1^cA*DK!@1{3%nH6`Q+gbr?3Uwjq6m(BVr;$ont|&g`s2TZS5ndt}hBV|duy*J9{5 zx~|^|m{08jd zHSl3AluHsyc$!4nu(o2}4SIp!2~pH@dZHM6UKZ8wfpF^vKE&mCK*bBklU+Gy6v`EA zT5G!^`-s~<_N*t_a_sq{bVs`dLQgps+8FaRrbKB=mYi`*i|CQ~a-TDjss`CIf|!2T z6_Jdd*GG4GQ90bcP{rHKh2Draw#xK4t{=(Yp33(pSy)&=3#np}L5_NFaX@gzeWk%{ z+uEPVIgr}m7^2VxsPOKNG3Xa$@34$qBA;!>#*#s6@J!u~5{$B%CI$@$c*hod|JHtd zUJpse*L_~OMa<?NcSb_2iRM!1mq7{au|({ilS@_51&I~%R0 zjDDj`etXNAr*qwT$!UE!Yj~MrjM@s9tb&5Q;;>@l^X1!~3AVHm!e3fiT8Te@w!eo9 zdzLVgrwKXj=_7^um>DmMGqE8@(hzLdl;xF`A#=3NGq$uZ=wW4exUO`DkmFAB)ca~- z!G+q1m{Uvn^0#_)Q0;Q7+7~-8US3`BqPK5#1Zwl#X`R*z0G^#4Mj7;GdaZ|z@ zmH$}Bv1VQDq`;8a4Q=-tAlko6mBpT_w}3v|-bXE%CP!O#LdR;WTBU z#X;x?4A2@1s}z=V}|tpsJJl)%^-kmhC_Tm@AYC1)`pxS+yIkL2)p`v#ne3a zLfCaGT958*B~O)3G{7&J@@0A)Nm{D;`)O!|bwERRm`zi6Jo~kgQ!>c9spNZipLgG* z9MtUm;ii=7?}Q?;>VgA<7Q&@=J)GPlPYu3=YFU0q#SIWBvK zo{@B{$`tH%pLT*x%2EHaY7;iv#cX^htq4Beif0ve03m=J1G^basq){C;veLv>W)PC z+j)G#%*pT8lF4xP_?s3u_^7C)`(AjN-4lE4B0)~Bpf`Gdr7zPDRTc@JokB0(!WJ!Z zbWpzN^6{jom2y-{i(ulHaanx} z6{gNFmo|p*F=1RscFvVwr?UbbQy9r?^rH_{kXPhbWQ4hq7JmFEWUfJwr|Sg!p{F=7p{Dh~;?1;fgv11qC_r)=AhgLEqn?f|q>;Y$a5}XE!7K z{e8`C)g_ki@-p~FrSNK|-S{897a!N%gr5iLYrNoO0dZs0&>zrtdbw@5$s=5<*~9y% z3-@rkgeFIm(k0saM^K3^#8Y_c)$}s_y}U2a@$Sub{I5rS-!5~?&LNq8GY)f0@IfnG zy_NA<7}FM8PkiGv*qWFSnfpw6oJ+tQi-%BlD8Lsjw2!Q{qFuH6ciB$+6x=W0X|mQ# z9cEAc*xX%cLtF!IOt#B<8Stmu7xvr5$nN<1I#oE9>H)SN z2op(Rkdth(8@}G#-v7k4wv%mZJ=xm&*axeR;yC~gcl@ynZ*cUojri}1GVH?~bPPQB zz*Qo$I3Y0+^y_2JADw`;$um^vTp=}yt}kFPGwfaY2;w9f;MD=_81%{Y{Pr_jk(# zN1IC_oe#|qA5cD&lVAP_0=lxB7UC@Rw!NE4?qrz}B|6XNj-7z?W9tvp?h(R+Hfp>4 z%t8wNGLypi#!l4z2FQ8$<9;qQ&)n)j8VF>1exh-$qTS98*5KYnQ+>)39PF&Dc?AXA z2IFv`2y2^BOZ6Sn;B_!Z;erK8Y6C6D-y6~LN;EaHU|$^rNIuGD3V&xy$Oy-rxYVWU z3La;B{MZ0;;*6&Q8TVM5#y_Rz`%To|0FjP%t4s8cAE2B7S}<{NaDGHb z&p1$iMu-mp$`5dy5YtcVLTQ9a8X$$FATX-C)t4yP^?Q3~$6D9%I9YS6Iv7~lj$;-u7W2aAxSYYyh6~yT8&fmQIDV1 z^!D890ljhxQIOrjI$!Ca( z(0~|+D7eq<__AuD)+sdpCz-Ij@%g|wP$ACp@#(OFCR%-?gb8}=?zNl-xbA*l-N~v7 zB4u(mi>W(6Pc9DR+E_21Y&tBY6?n`a{OVefqoL_3C#2+ea-JJ(+9iZQJgbG=Z=USz zP%~kIM*LI?raSI#u1<6bOH;>fR-+b5hQx7|x3sF99bEK}PO50wLi)O=RqHMbx(MuZ zc-$|RDg^jlPPY|i%%|%2`cP)I3Qm0?31r*u8_O9X1i5vwNGk1 zL|mLoczgw%7FP%8{ctLL#Rwh1%_0v6ZV2p{yKS`ZpokH292^Hdb4B4}+O@72SG0n1 zNmS+YHG4gXod5ix{s%C5Wh#Cdrz%~tPFt-{=P9Y9y@-L zs*@{H|aq0zyjxmzsl%=8k~v6|0NlGuP$uW}+E~tL@ItJ*Dl-CuW9&l{Y&yqkl8_A;Q`YE@w|VN11vBjFkukLySokG-$+_duq@2~(;Lq9Kz{@H z@Iq;ggyT%0TL(OsovK?p<1`>4zrKl-{4{xXDqTK1uREfTLo-vNQ2R=P(xu7Fo=T(['containers', 'images', 'networks', 'volumes']); const [saving, setSaving] = useState(false); const [runningTaskId, setRunningTaskId] = useState(null); + const [runsPage, setRunsPage] = useState(1); + const [runsTotal, setRunsTotal] = useState(0); + const runsLimit = 20; // Available stacks and nodes for selection const [stacks, setStacks] = useState([]); @@ -142,6 +149,7 @@ export default function ScheduledOperationsView() { setFormNodeId(''); setFormCron('0 3 * * *'); setFormEnabled(true); + setFormPruneTargets(['containers', 'images', 'networks', 'volumes']); setDialogOpen(true); }; @@ -153,6 +161,9 @@ export default function ScheduledOperationsView() { setFormNodeId(task.node_id != null ? String(task.node_id) : ''); setFormCron(task.cron_expression); setFormEnabled(task.enabled === 1); + setFormPruneTargets( + task.prune_targets ? JSON.parse(task.prune_targets) : ['containers', 'images', 'networks', 'volumes'] + ); setDialogOpen(true); }; @@ -172,6 +183,9 @@ export default function ScheduledOperationsView() { body.target_id = formTargetId; body.node_id = formNodeId ? parseInt(formNodeId, 10) : null; } + if (formAction === 'prune' && formPruneTargets.length > 0) { + body.prune_targets = formPruneTargets; + } setSaving(true); try { @@ -226,13 +240,17 @@ export default function ScheduledOperationsView() { } }; - const openRuns = async (task: ScheduledTask) => { + const openRuns = async (task: ScheduledTask, page = 1) => { setRunsTask(task); + setRunsPage(page); setRunsLoading(true); + const offset = (page - 1) * runsLimit; try { - const res = await apiFetch(`/scheduled-tasks/${task.id}/runs?limit=50`, { localOnly: true }); + const res = await apiFetch(`/scheduled-tasks/${task.id}/runs?limit=${runsLimit}&offset=${offset}`, { localOnly: true }); if (res.ok) { - setRuns(await res.json()); + const data = await res.json(); + setRuns(data.runs); + setRunsTotal(data.total); } } catch { // Non-critical @@ -419,6 +437,27 @@ export default function ScheduledOperationsView() { )} + {formAction === 'prune' && ( +
+ +
+ {['containers', 'images', 'networks', 'volumes'].map(target => ( + + ))} +
+
+ )} +
- @@ -474,10 +513,12 @@ export default function ScheduledOperationsView() { ) : runs.length === 0 ? (
No executions yet.
) : ( + <> Time + Source Status Duration Details @@ -493,6 +534,11 @@ export default function ScheduledOperationsView() { {new Date(run.started_at).toLocaleString()} + + + {run.triggered_by === 'manual' ? 'Manual' : 'Scheduled'} + + {run.status === 'success' ? ( Success @@ -511,6 +557,22 @@ export default function ScheduledOperationsView() { })}
+ {Math.ceil(runsTotal / runsLimit) > 1 && runsTask && ( +
+

+ Page {runsPage} of {Math.ceil(runsTotal / runsLimit)} +

+
+ + +
+
+ )} + )}