{outcome.objective}
{outcome.requirements.length} {zh ? "项要求" : "requirements"}{!fresh ? (zh ? "历史 · " : "Recorded · ") : ""}{stateLabels(zh)[state]} · {requirements.length}
-- {requirements.map(requirement =>
-
+ const counts = stateOrder.map(state => ({state, count: outcome.requirements.filter(item => displayState(item) === state).length}));
+ const gaps = outcome.requirements.filter(item => item.agent_review?.basis_current && item.agent_review.conclusion === "unmet").length;
+ return
+ ; } @@ -136,7 +132,7 @@ function RequirementRow({requirement, fresh, zh}: {requirement: Requirement; fre const [open, setOpen] = useState(false); const review = requirement.agent_review; returnsetOpen(event.currentTarget.open)}> +
+{outcome.objective}
+ + {busy || pending && !open ? {busy ? (zh ? "正在保存" : "Saving") : (zh ? "结果待确认" : "Result unconfirmed")} : text && !open ? {zh ? "未发送草稿" : "Unsent draft"} : null} + {gaps ? {zh ? `自查缺口 ${gaps}` : `${gaps} Agent-reported ${gaps === 1 ? "gap" : "gaps"}`} : null} + {counts.filter(item => item.count).map(item => {stateLabels(zh)[item.state]} {item.count})} + {!outcome.requirements.length ? {zh ? "尚无要求" : "No requirements yet"} : null} + +++- {stateOrder.flatMap(state => outcome.requirements.filter(item => displayState(item) === state)).map(requirement =>
-
{zh ? "关联工作与来源" : "Linked work and sources"}
-{outcome.objective}
{outcome.owner_agent_id} · {zh ? "版本" : "Revision"} {outcome.revision}
+{/* Keep an existing draft readable while its same-source write basis is unavailable. */} - {canManage || text || pending ?{zh ? "关联工作与来源" : "Linked work and sources"}
+{outcome.owner_agent_id} · {zh ? "版本" : "Revision"} {outcome.revision}
- {outcome.work.map(work =>
{work.todo_id}· {work.status} )}
{zh ? "尚未关联执行任务" : "No execution task linked"}
: null}- {outcome.sources.map(source =>
- {source.summary} )}
{zh ? "补充要求" : "Add a requirement"}
+ {canManage || text || pending ?: null} {notice ?{zh ? "补充要求" : "Add a requirement"}
{notice}
: null} +setOpen(event.currentTarget.open)}> -
+{requirement.description}{stateLabel(requirement, fresh, zh)}
{review && (review.note.trim() || review.evidence_refs.length > 0) ?{requirement.description}{stateLabel(requirement, zh)} {zh ? "上次 Agent 自查" : "Previous Agent review"} · {({met: zh ? "满足" : "Met", unmet: zh ? "有缺口" : "Unmet", uncertain: zh ? "不确定" : "Uncertain"})[review.conclusion]}
{review.note.trim() ?{review.note}
: null} diff --git a/apps/presentation/dashboard/src/features/personal-workspace/goal-overview.css b/apps/presentation/dashboard/src/features/personal-workspace/goal-overview.css index fc74ef6558..1ea48763c5 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/goal-overview.css +++ b/apps/presentation/dashboard/src/features/personal-workspace/goal-overview.css @@ -166,11 +166,17 @@ .goal-outcomes .is-stale, .goal-outcomes .is-held { color: var(--pw-caution); } .goal-outcome { padding: 10px 0; border-top: 1px solid var(--pw-line); min-width: 0; } .goal-outcome[hidden], .goal-outcome-criteria > li[hidden], .goal-outcome > details[hidden] { display: none; } -.goal-outcome-status-group > summary[hidden] { display: none; } -.goal-outcome-status-group > summary { color: var(--pw-muted); font-size: var(--text-caption); cursor: pointer; } -.goal-outcome > header { display: flex; align-items: start; gap: 16px; padding-bottom: 4px; } +.goal-outcome .goal-outcome-disclosure { margin: 0; } +.goal-outcome-disclosure > summary { display: grid; grid-template-columns: 15px minmax(0, 1fr) auto; align-items: start; gap: 8px; padding: 6px 0; min-height: 40px; list-style: none; cursor: pointer; } +.goal-outcome-disclosure > summary::-webkit-details-marker { display: none; } +.goal-outcome-disclosure > summary > svg { margin-top: 4px; color: var(--pw-faint); transform: rotate(-90deg); } +.goal-outcome-disclosure[open] > summary > svg { transform: rotate(0); } +.goal-outcome-disclosure > summary:focus-visible { outline: 2px solid var(--pw-blue); outline-offset: 3px; border-radius: 4px; } .goal-outcome h5 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; flex: 1; min-width: 0; font: inherit; font-weight: 500; line-height: var(--leading-body); margin: 0; } -.goal-outcome > header > span { flex: none; color: var(--pw-faint); font-size: var(--text-caption); line-height: var(--leading-body); } +.goal-outcome-disclosure[open] > summary h5 { display: block; } +.goal-outcome-summary-states { display: flex; flex-wrap: wrap; justify-content: end; gap: 4px 12px; max-width: 28em; color: var(--pw-muted); font-size: var(--text-caption); line-height: var(--leading-body); } +.goal-outcome-summary-states > span { white-space: nowrap; } +.goal-outcome-body { padding: 4px 0 4px 23px; } .goal-outcome .goal-outcome-criteria { border: 0; } .goal-outcome .goal-outcome-criteria > li { display: block; padding: 0; min-height: 0; border: 0; } .goal-outcome .goal-outcome-requirement { margin: 0; } @@ -193,7 +199,9 @@ .goal-outcome textarea { width: 100%; min-height: 72px; padding: 8px; resize: vertical; border: 1px solid var(--pw-line); border-radius: 6px; background: transparent; color: inherit; font: inherit; } .goal-outcome code { overflow-wrap: anywhere; } @media (max-width: 640px) { - .goal-outcome > header { gap: 8px; } + .goal-outcome-disclosure > summary { grid-template-columns: 15px minmax(0, 1fr); } + .goal-outcome-summary-states { grid-column: 2; justify-content: start; max-width: none; } + .goal-outcome-body { padding-left: 0; } .goal-outcome-requirement > summary { grid-template-columns: 15px minmax(0, 1fr); gap: 4px 8px; } .goal-outcome-requirement > summary > small { grid-column: 2; max-width: none; padding-top: 0; } } diff --git a/docs/development/design.md b/docs/development/design.md index 15bea6904a..496d6e6d76 100644 --- a/docs/development/design.md +++ b/docs/development/design.md @@ -114,13 +114,17 @@ Owner-facing state follows four rules: Show an unavailable or partial count honestly; put full current briefs, linked work, provenance and original conversations behind row expansion. A Goal's supporting outcomes need the same bounded reading hierarchy: show - requirement-state counts once, then at most three requirements needing attention - in the default overview. Group them by their declared outcome; keep failed, - held, changed and partial observations visible in the summary. Make the full - collection available in one expansion, including unverified and passing work. - Clamp long requirement text only in collapsed rows; expansion restores its - complete text and evidence. Explain Agent review versus independent checks once - at section level. Overview check details stay collapsed at every viewport; + requirement-state counts once, then at most three compact outcome rows in the + default overview, prioritizing declared failures, held or changed checks and + Agent-reported gaps. Each **whole outcome body** starts collapsed: its title + and meaningful states remain visible; expanding it reveals its requirements, + with individual rationale and evidence available in place. Collapsing only + evidence, status groups or a few requirement rows does not satisfy this rule. + Keep failed, held, changed, partial and unconfirmed-operation observations in + the summary. Make the full outcome collection available in one expansion, + including unverified and passing work. Clamp long text only in collapsed rows; + expansion restores it completely. Explain Agent review versus independent + checks once at section level. Overview check details stay collapsed at every viewport; an operation's consequences and actual failures remain visible. - **Owner language first.** Primary copy uses the owner's words. Protocol ids, gate kinds, preview mechanics and executor profiles belong in a collapsed @@ -169,6 +173,14 @@ Keep the summary's actual verification state visible; open the chosen item in place, with its complete content and original evidence reachable. A disclosure must not duplicate the same content above and below its trigger. +Read freshness and verification validity are different facts. Reuse the existing +cached, coalesced read owner for quiet background updates; pause polling in the +background and back off after read failures. Preserve scroll, open items and +drafts across same-source updates. Show an unavailable read or historical source +once for the affected region rather than repeating a refresh instruction on +every row. A fresh read never validates a changed requirement or starts a check, +model or worker; those operations retain their existing explicit controls. + As data grows, preserve access to every item through the existing list, pagination or history, with honest coverage. Do not silently keep only recent or successful items. Reduce default expansion and repetition before adding diff --git a/examples/personal-workspace-browser/goal-outcome-backend.py b/examples/personal-workspace-browser/goal-outcome-backend.py index cac0a9df66..26c2b6c2f6 100644 --- a/examples/personal-workspace-browser/goal-outcome-backend.py +++ b/examples/personal-workspace-browser/goal-outcome-backend.py @@ -114,6 +114,14 @@ def cli(*args): path.write_text(json.dumps(patch, ensure_ascii=False)) cli("refine", "--agent-id", "author", "--document", str(path), "--operation-id", f"experience-review-{index}", "--expected-provider-revision", cli("inspect")["provider_revision"], "--execute") + # A real declaration change invalidates the earlier review basis. + # Reading it again must never make that historical review current. + path = root / "updated-recovery.json" + path.write_text(json.dumps({"outcome_id": "experience-0", "requirements": [{ + "id": "recovery-later-requirement", "description": "后续补充的恢复要求也应保留,不能把旧版自查当作新版核验。"}], + "source": {"ref": "fixture:updated-recovery", "summary": "A later requirement changes the review basis"}}, ensure_ascii=False)) + cli("refine", "--agent-id", "author", "--document", str(path), "--operation-id", "updated-recovery", + "--expected-provider-revision", cli("inspect")["provider_revision"], "--execute") path = root / "checks.json" path.write_text(json.dumps({"outcome_id": "product-tour", "criteria": [ {"id": "tour-opening", "validation_argv": ["python3", "check-tour.py", "opening"]}, diff --git a/examples/personal-workspace-browser/goal-outcome-recovery.mjs b/examples/personal-workspace-browser/goal-outcome-recovery.mjs index e1ebea7802..b01650f82d 100644 --- a/examples/personal-workspace-browser/goal-outcome-recovery.mjs +++ b/examples/personal-workspace-browser/goal-outcome-recovery.mjs @@ -20,7 +20,7 @@ const reservation = createServer(); await new Promise(accept => reservation.listen(0, "127.0.0.1", accept)); const port = reservation.address().port; await new Promise(accept => reservation.close(accept)); -const child = spawn(python, ["-u", "examples/personal-workspace-browser/goal-outcome-backend.py", root, String(port), "--without-check-plan", +const child = spawn(python, ["-u", "examples/personal-workspace-browser/goal-outcome-backend.py", root, String(port), "--without-check-plan", "--overview-readability", ...(process.env.LOOPX_GOAL_OUTCOME_ASSETS ? ["--assets-dir", process.env.LOOPX_GOAL_OUTCOME_ASSETS] : [])], {cwd: repoRoot, env: environment, stdio: ["ignore", "pipe", "pipe"]}); let diagnostic = "", browser, page, releaseDelivery; @@ -48,6 +48,7 @@ try { await waitForHttp(url); browser = await launchBrowser(loadPlaywright().chromium); page = await browser.newPage({viewport: {width: 1440, height: 1000}}); + await page.clock.install(); await mkdir(output, {recursive: true}); page.on("pageerror", error => errors.push(error.message)); await page.addInitScript(statusUrl => { @@ -91,15 +92,38 @@ try { await page.locator(".personal-goal-link").first().click(); await page.getByRole("button", {name: "Overview", exact: true}).click(); const outcomes = page.locator(".goal-outcomes"); + await outcomes.waitFor(); + await firstDelivery; + const changedReview = cli("inspect").goal_acceptance_contract.outcome_requirements.outcomes.find(item => item.id === "experience-0"); + assert.ok(changedReview.requirements.some(item => item.agent_review?.basis_current === false), + "The fixture retains a genuinely invalidated native review"); + assert.equal(await outcomes.locator(".goal-outcome-disclosure").count(), await outcomes.locator(".goal-outcome").count(), + "Every declared outcome has its own complete-body disclosure"); + assert.equal(await outcomes.locator(".goal-outcome-disclosure[open]").count(), 0, + "A populated overview starts with whole outcome bodies closed"); + assert.ok(await outcomes.locator(".goal-outcome:visible").count() <= 3, + "Long repeated requirements do not fill the overview before current work"); + await page.screenshot({path: resolve(output, "default-desktop.png"), animations: "disabled"}); + await page.screenshot({path: resolve(output, "default-whole-desktop.png"), animations: "disabled", fullPage: true}); + await page.setViewportSize({width: 390, height: 844}); + await page.screenshot({path: resolve(output, "default-narrow.png"), animations: "disabled"}); + assert.equal(await page.evaluate(() => document.documentElement.scrollWidth <= innerWidth), true); + await page.setViewportSize({width: 1440, height: 1000}); const expandAll = async () => { const more = outcomes.locator(":scope > .goal-outcomes-more"); - if (await more.getAttribute("aria-expanded") === "false") await more.click(); + if (await more.count() && await more.getAttribute("aria-expanded") === "false") await more.click(); + }; + const openOutcome = async region => { + const details = region.locator(":scope > .goal-outcome-disclosure"); + if (await details.getAttribute("open") === null) { + await details.locator(":scope > summary").focus(); + await page.keyboard.press("Enter"); + } }; await expandAll(); - const openingGroup = outcomes.locator(".goal-outcome-status-group").filter({has: page.getByText("Retain the approved introduction", {exact: true})}).first(); - if (await openingGroup.getAttribute("open") === null) await openingGroup.locator(":scope > summary").click(); + const original = outcomes.locator(".goal-outcome").filter({has: page.getByRole("heading", {name: "Deliver a clear product tour", exact: true})}); + await openOutcome(original); await outcomes.locator(".goal-overview-criteria").getByText("Retain the approved introduction", {exact: true}).waitFor(); - await firstDelivery; assert.ok(deliverySnapshot?.acceptance, "Retain the real initial delivery snapshot before advancing the native owner"); const evidence = page.locator(".goal-overview-evidence"); assert.equal(await evidence.getAttribute("open"), null, "Secondary evidence starts collapsed without losing its reader"); @@ -119,11 +143,11 @@ try { "--expected-provider-revision", cli("inspect").provider_revision, "--execute"); const initialCount = outcome().requirements.length; assert.equal(deliverySnapshot.acceptance.goal_acceptance_contract.outcome_requirements.outcomes.some(item => item.id === outcomeId), false); - const original = outcomes.locator(".goal-outcome").filter({has: page.getByRole("heading", {name: "Deliver a clear product tour", exact: true})}); await original.getByText("Add a requirement", {exact: true}).click(); await original.getByRole("button", {name: "Refresh result", exact: true}).click(); const region = outcomes.locator(".goal-outcome").filter({has: page.getByRole("heading", {name: newOutcome.objective, exact: true})}); await region.waitFor(); + await openOutcome(region); const form = region.locator("form"); await region.getByText("Add a requirement", {exact: true}).click(); const text = form.locator("textarea"); @@ -158,6 +182,30 @@ try { }; const draft = "Keep the conclusion understandable without prior context"; await text.fill(draft); + await outcomes.locator(":scope > .goal-outcomes-more").click(); + assert.equal(await outcomes.locator(":scope > .goal-outcomes-more").getAttribute("aria-expanded"), "false"); + assert.equal(await text.isVisible(), true, + "An open outcome and its draft stay visible when the full collection collapses to the attention preview"); + const scrollBefore = await text.evaluate(node => { + const positions = []; + for (let parent = node.parentElement; parent; parent = parent.parentElement) positions.push(parent.scrollTop); + return positions; + }); + const writesBeforePoll = requests.length; + const poll = page.waitForResponse(response => response.url().includes("/api/chat/goal-acceptance?") && response.request().method() === "GET"); + await page.clock.fastForward(15_001); + await poll; + assert.equal(await text.inputValue(), draft, "Quiet updates preserve the unsent draft"); + assert.notEqual(await region.locator(".goal-outcome-disclosure").getAttribute("open"), null, + "Quiet updates preserve the selected outcome"); + assert.deepEqual(await text.evaluate(node => { + const positions = []; + for (let parent = node.parentElement; parent; parent = parent.parentElement) positions.push(parent.scrollTop); + return positions; + }), scrollBefore, "Quiet same-source updates preserve the reading position"); + assert.equal(requests.length, writesBeforePoll, "A background read does not check, refine or run a model"); + assert.ok(cli("inspect").goal_acceptance_contract.outcome_requirements.outcomes.find(item => item.id === "experience-0") + .requirements.some(item => item.agent_review?.basis_current === false), "A fresh read does not validate the changed requirement basis"); await interruptDelivery(); assert.equal(await text.inputValue(), draft, "Unsubmitted draft survives delivery loading and error"); assert.equal(requests.length, 0); @@ -231,6 +279,7 @@ try { await refresh.click(); await text.waitFor({state: "hidden"}); await expandAll(); + await openOutcome(region); await region.getByText("Add a requirement", {exact: true}).click(); await text.fill("This pending requirement belongs to the original lifetime"); rejectRefinement = true; @@ -284,6 +333,7 @@ try { await refresh.click(); await text.waitFor({state: "hidden"}); await expandAll(); + await openOutcome(region); await region.getByText("Add a requirement", {exact: true}).click(); assert.equal(await text.inputValue(), "", "A reused Goal/outcome id cannot inherit another lifetime's pending request"); assert.equal(await rebase.count(), 0, "The old request cannot be rebased into the successor lifetime"); @@ -311,8 +361,7 @@ try { await page.getByRole("option", {name: "Remote snapshot", exact: true}).click(); await page.getByRole("heading", {name: "Remote handoff workspace", exact: true}).waitFor(); await expandAll(); - const remoteGroup = outcomes.locator(".goal-outcome-status-group").first(); - if (await remoteGroup.getAttribute("open") === null) await remoteGroup.locator(":scope > summary").click(); + await openOutcome(outcomes.locator(".goal-outcome").first()); await outcomes.getByText("Only this remote source declaration", {exact: true}).waitFor(); assert.equal(await outcomes.getByText(newOutcome.objective, {exact: true}).count(), 0, "The same Goal id in a remote source cannot consume the local acceptance cache"); From 5ae77b06a91a4fea64c225a606598d350b495fcd Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Thu, 22 Oct 2026 15:33:06 +0800 Subject: [PATCH 2/4] docs(workspace): show whole-outcome disclosure at desktop and narrow widths Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- .../goal-outcome-disclosure/after-desktop.png | Bin 0 -> 130452 bytes .../goal-outcome-disclosure/after-evidence.png | Bin 0 -> 184891 bytes .../goal-outcome-disclosure/after-help.png | Bin 0 -> 154045 bytes .../goal-outcome-disclosure/after-lower.png | Bin 0 -> 141827 bytes .../after-narrow-detail.png | Bin 0 -> 77206 bytes .../goal-outcome-disclosure/after-narrow.png | Bin 0 -> 65449 bytes .../goal-outcome-disclosure/before-desktop.png | Bin 0 -> 158540 bytes .../goal-outcome-disclosure/before-narrow.png | Bin 0 -> 75609 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-desktop.png create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-evidence.png create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-help.png create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-lower.png create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-narrow-detail.png create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-narrow.png create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/before-desktop.png create mode 100644 examples/personal-workspace-browser/assets/goal-outcome-disclosure/before-narrow.png diff --git a/examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-desktop.png b/examples/personal-workspace-browser/assets/goal-outcome-disclosure/after-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..19770bab01bffa4a509e0105b643e2434dcd360d GIT binary patch literal 130452 zcmcG$WmHvd8!b$Ccej)vf`Ei{gA!6oihy(qf^>JMARS6bNjC^0p)`VYgOq?ENS@2* zd3^tU->-9q!!g{rS$nPfzG7Z;&U=Tet194PQDGqE OIZEB7(jGHm?ZO+`mta78} zxT DQmzx9_IJq&aOyMKO(tMD!l^;-Fvyy3pA zpFNkataQPkDj3=z-kq{?cKl
4F9Y0kH JeCqKh~P7e>N>#4f!*(Gpt=18W=o(X5j{ZEH)Y~*3*tg zMn(eS_`~16efv0uCV)U1gE5FeTCx9=;(z~y*9DI3j{keb@=?Y=@PDs3=&)$u{r~(D zhSGuhBE#QTiV>km=zp&D&;LEVM *6{?Vvk_P)#RaGsS{rCO^X-Q@Y7MAYb z-rnwUewh#)rUOiTe0*F?Of0Pa4B x y9?k>BdH|mi0zBS+VZS#tzzDpL4Fivc2yg(!DtS %&bf59au(!2Luhx3HKxx(u9~=9%xM@$e?*-$3YfLq)B~LBNF@Z~(!OzEpM5)O9 zTpN}-p&>~-ZYlD`3qnG|FX@64N-N*LTlsDb9$Ag;%{FT0NFp+uu6$0rlgg>BY%g%< z4srh!7Bw|BK7Opv JsX z9$ulMqNC5u%;;7aiPfz%bM`JVRxNFBd;Yk(H1@fA9AgyNJ6de2pvJ?~IB~Yxr(bVh zsFvMk5_nCZJm a&erzMHiO-) z`t2O2hUR8+E_F#y6m8x{m+zx<&2G7xIsKw8r 4HuhFc!t)nSu(lUvgY6M=z4ZjA6b%+Z!owo1DkfQ644Mb8`85`P%STfsYqHiA zb 4>l1=w veuMn{e9h>l+ytx)0~Y_tIF@D=W0o7XGj(=X7r(2@2o7GZeolMd6Ge%Pb4J3z zA`ma?W{(jpeNdb$|7 l$V*=+S*F;*vs2{VmAHtYyHQMxgRxDDlUCU z=F~0MtuO!Y9 N!(eOHwr zL8sAUcY4fXh@dw^`1#uyT641)8evw|S2>B!do3@s?@dE}3F3=ku0t7qFe`Qs2?>ee zy<$aCYK6hewPhv}?v>q{dgt2I`XBR4Y)GEJcBG!Q(Th!g{%i|@H7yey6vS^mRcRhc zrmCv?RyA9m`|Epim4B=5sG#vAzFZy=IU9LjTER k%(mG)H^$!u%s0A zP$Oj0Mhg#g-^*ein0q~(Bj_)Rh7z+o-#W9fV9b6?_?B@SO|h0_p>lG-G!X>_#=*g_ zGX2r)qSDv;U(y9~?Hd{zT6})8a&q?f_Ok0OeT*dc<$fICJ&?*{+~o3oF^=Hhn}J$B zWD&DC)$+1h(abTTiDp*yp^(EuoA>Ev{26hN@9K4b3Tc1pP%2OMRZNOpgjVrGIW|5f zrsauJ-Lv=)48bJbZ#Sn4u~A}z+b>giP31R9Ant`cj@XxH>TT-H2U1@C++a4SwVpuJ z(ZQ&(oc9`A|MK{~880ud)qKnE17bE#op+BK9~LfLpPC*PD6RFUWD47)6c=;U;nDKR z{@1@0mw%=qefs@#LyjpC x1kXoLpw2ObS_j$wGZH !}Z5JZF7N(!|1=QGmb=7#APDlG*QCWC;rsk-5o=k2vZ)FS zTLC>Ujsg;^paQR @~Jxb@%MPh;wWzV=~ADiAGG z+*_~b;_Cdzsnrv=UdqavAM>sHHI^E=MaZ5fd%-@r9!b=KwiH1`nXS^&(mk>C?WUh% zDsDPLd3dm`z+~9u(tzya aWb4 t^_=>CF8` (l;~gjD#xOlEXmUd*&2Ue{gOr`R;={Hq I zZo7!0ywjG~#F*4cb@n=oqj!nA&xAnXDJBg;AEay1)#qF;wEPL7y@mE{qPdPYYT0zo z@^G22W%_rYbode7P`)^xG*(B{ID**V{tGp|Zq(U+%cE6BxbtOhj@EG8`hLEAG!Fd| zBtROUd4kC!Ut^8M%DOuFp)*(@c3&U4A%=!R-V$mivWb %ulSWen0B`^hx0j zdYoWR)YSC!^6ApjlElTn3^XIu|E7Sr3UrS*COJy}$d}uj^C{THMW<(H(^FITGerah z{Z~qn*O=JZHxv7o6IgS@M$SX &YS04_PD4u@oHq@NNn;*4z7r^e%Gveh^<8LQ(T>qn0@jn|mqQZQVci?h zs(viAEBvMtabdsO=u3PH0F^+ wkzpgHv=c tqT8nn_US1X_qY8$fo-TE1&4FZqKINGUV)9 z@cQ{6@0S28LrJqH=B*_tT}*u=CDgolW49|mD-$Jl3?1LWig *DuM z3|R#Q<5mySXT?XGF99Z={8%XMOXs)BGknX0`KaEW_I&}dm5B-BZ^>GEmcLv810)J; z+~^X!$RPj?wgjwAs)y^tGl##G$DvVkK=<2M-SikpbvJc8a{PA?L--Y^+ zU_wq#E+HYoLKZFqds}VR2k0$K)tN-OI|F*G7fmGNwQ;)-E$zs&XU{fM<%M-tZU_nr z4)f%s`ULWOl- z>A~G3FR4fDizMeMaKiH3e}(ix`1$%cWk`$DN)HQ}P+VwS96?!6{4K*K97?|4%J_J~ z`x?1NuOe7b&QP^*%Gfm6X)#nLkcVyv3oQ~TEe6VLJFUDAP(* b}5+=z9qdnZ;4j%=${h8;I5S^ z>L%Y0J18eB%Wpki1S6696@ZS|?5+^pK oIJGvpI?OfIKKnwI%bvqtijGgqsnH@7LHV?$rBy9M$Y<@4G!z|Qy?U}j zx593wP9#g9@;shd;nwsw(%$TLr$pAvYuzu$KTobT(zGVZJWuNAy-9W@92W~}Yt>Ue zB-9qDqutEB_wulRqLkp~Kr**}t9*2>Oo$@So%V~f(s9I2KoNF>nKDmcK}2GTO_4pA z3Wh9HRe@zlNlA&O66~HRzOr$2#CJQ1Nal<_UqYw+x!8$3i-p2^|CM^1*GmChqeq*v z?c91nC_<_OWZW(;4;>tStgyuxw>lrsU!DV6UwpOTb8d$yrohsRhUdIHEfDrfM@PrB z?b;~W9P>{?^iG-&=STrQP7(CFJUc${g-+v4iv8#m5=)?xr^e6N_fosIo=r6)EQLFU z^>q@bP%nTlxkJD?bX9i!=>j)xA5I}LS#cZ_TFFXis;?AoCEZsf@kdUP$(0T^lZuMA z{r0}Gu`xVIM&wnp;$#T3e3T!Z|J@}3+~3FERy?j=hnBkLQGR>l$@qgbKGe}3=oJqh zJOE_Z3b{c{Onl4`C(ZDwgC!96YmJrWl%9JkObkxfSC`O8pm}Mt-nn}>Gzw_~*?} C@#Rkt4`yb-oIgJ5;Lq_(qax>i`DlJde~ZFqciyM$k`Q?xqXC zWT=CWCr9IUpVr{T54!HS^O<@(&0xBJ^7znoM3)zb`W5HxOS6i)g7g4I(wygFfVZL2 zDpT~CaVp!gM08X=-xvgzLd>hfk )_eKIh1ct0Vz~Ie_}(* z^+ D>G?}7P`s-9-wgZXWh z(m#Uq<`uuIb=$>nrzz<85*|mEbM4nLbOOrVp-={;y|eGS*}wUmmdm-kdu7v?VA2&L zm6=qJy@h7~QBC4ft5vU7C6(v;=a58JR#txdH634E)yQ?DwtT-EjPox@d30=lN02u3 zKnu)lcg%fR{p?>VGtR6}SL5zOvT!EHjyBH6?+Y?I390ev?(P5lNvss$Z_cM7izAAz zO&dvc7z~radN?1}-tS2Ay1F{&KDw!kmxrq(tlOiF)lDg+w$4yog5J*_#yPahAyjCq zs}Ju8KhMa_tT1e!&wKg&A{6o3IGvE$j7o8QnBz%( dLP>=5IJ*ye0b#(-OQk?5G;Vx&qx*B3*f}Ix5n{PvE0wW7@;m)zom _ z(o$NESLRZETQr@z`elbf RSUnMKOU4T|W~SaA(|m0OsEy+Io4W7ZPxdll${Iu{ zayKbt=-Q*BBVcB@(R-u9sIei;{b7r{lPl)N!y7979e>j6!+c$RszhzQO?MdKuz(}x z%foeT=3Lu4%Mt02o7yF2wzf2sl;MFG|290uh#Tfy*RQ+BH3@=P*w@$BN8hp{k>1qu zYl8NvRyISfG?*bgQ5ncbhq&$r0CK$dy?MXcK*|>&T=4ed_JmzVi-;s=;}uHv3L~~o zHQBF9e_Ffv5B1E=d4KFrhKA$n>N?Tm+rv3BU7NwEZ+Z8ldo#nAKa9x+LqiYn5XDPC zOG_q_{>LpO;Q;lX5LTvN-;YV J%adeQ z261m>G1KImU(}P8
z+c59pt9X;NL?Rukjyc02bpxm%| zyjJT5Pz5Re?I~QCc$nc45l!v~%P?aRXu|OJy;wK%tBI-2_FGG`GX_&W2_B=iB$ZSZ z`l2u`H{
n1scI2D%Y+JQ@74tX6xY7FaY7()kI)?-OMN#F^od_(xL TQ!IT2Of?hM6QHWm6A}V?i7D26)5{Nq zh@<@erI7a-|L7w!?vguNC=lmmK=VjH{?KSy_0-?r|9I 5mbu9w&RiW}LpC3DzHJk;C5D7|JcXpDnnna#8RP z5f;aT(!)&^l+BAPoECWVgKMFSKXVoRgM_(1`-_H8$3>L(&jx41VB2NsFqI<(G{oHO zET37gI^bx5Qe7Ket4oueDGg=?GIn(a5fQ2cspzeVlb!jpmA0c$dY{d&wWT;RR~@&` zRPthA+2Qw-Z|a7WBXXc9OU;S6#?T4p9e)egWJXr!bu91gRlJxS`kB<12p}UGXMm6f z`3(Qny_e2F=(M)9sAh_+ZLJHw9A&}arxkVaJ7So8V>e#8#3OMXRhp= PI_y zwrjKCJ7XS)KX}6N0{Fjo*C)nb+5X9GW7?YG4_zOSE-p1c8IT%$^qnLk3)v>($msUu zSMo|7{b-rp9sFmizgRHY$Ly`K8taLsX2VdrpM&~pt(Wm31_5oBuy8WF(X8M8_nn;# zHivlt?jKVStUt`uJDB{$4m>?SZ+CL#)_z|wcsq`#yQ_=&HhYofNM4WpHCtIoNQg9w zhG7r@jux+jJjmXX(SvUnZp~R@Hy;*+U5N<%bC;_(iQW+83RSC(6x zZ!+zUz*q}q@}pR5Ma7RRWONs%A9KyRwaTRbJ*H9@#ZbC{3PA$vzv3&9{y7FabIm6~ zwF0WT4US7k-^XUAraj!<8KTN82D6TT9UlJtIrH9i8~W|ek68}&oDNU5p_~p$TM_5g zu-I5N$eFd=cWPN6L{37^jbdsPC=zztPPYhia#{o91OI>L&YehJ jn)4Sh>$B z+%xN6UPnhoIWlE9?M~N*^#Qm3OSYl>Zh1LOC_-MR`;Z*~+PHbh;-MXX6d>c))4C?I zwY8O&k#U;n?Ccbp%WCzcm+* 9E1V_<783fMQf06-YkVu*7m}w5#(ehWF({~c>^d{ zK0f|ZQkB{I{0>Gyip4X_D{5ZswR+M{*Jlfve8~TF?f(j%ZLZa`UUw*Kce*b4$pOrR zvL2qEE3bgd?8}z$H8?~Lq_;-m(**FR$Vo5m)iLBdS;1p#!u#Sg1+nHBF7;h$SqyCK z>gwt{ed(^V_!6t1ld)3~2y=nyf(iHosfnhR3%_&eb4P Yj=jZi|@TxqcgB${1E%QL}v3jd@g&lloqyA zIf%D5j&0bbZ#DS$QZpU2Kl_pnnXwfeFvWNhOra&`;1hAx__W3Aca#X{Tg$0RM(3;j zC7BFb@&?Z#x(nCcQ8_Wf|EvzeiADq u9334i zX^QgJZ`Y~Bz3eg{%(}C2ZT#{4L?b@ldOj}t&4ct!V=XPMaUc&w-L?vdD}2i-c<2!g z-iS>0jE)lZ5wPpm?WEnY2#}F3(JABnZ|^w}|Ji$cdwWs0-L0`^x4wiM*&yg&bYtdD zZ87HN@<}~WSHC64b;<(cme=_&JK(ekL(F5cs|vfnKaIM3=MFYbH)deLG6ExVW53n2 z7Z0j_2J@vL#w)IGZ*OmGyxj}?DQzLO2uxt1a!SjO#bH>kop05DG~x{s#H%Yl1Su5f z@R%IaMIy&hAi6$h-cb-8TkQ-)cMy2l?0fA4ESt;V=FSezrQAa5zgzcm)z1&%`yq0C zFgI5a-|oku1qqP6AaMPs82=a4sv3+egida5kOaOUe?&z^l^e8T=~KnuP)Tw>xOfTU zS(KgYM@?el#120M -j;#IQzC4rRetlh8-|M+7W% zUc2_K`aatC;A|t};Bd{Tm;0)@sYygwn9&^iR{31B=gAgovE|TwYiC5{f2~!KFSN8M zu11CEU0wp{mN$X>t*I9EU6O{mD@)uv9q=uX3&KJ|8I^Tyo W(#82!!s< z&Z%XJ&vo>d-2Xm`u{d783u2suajw^IAT5CNAb55G!DrO|^3Ljv1F+&Se*ONns~^V0 zrk3gKbJYUo3INTIo9zwHU+hMZa3IYg>YCY_p|nbRGBpNZ#yFVTP?M1fI(8t;8tuMk zMJdTrE1j#LfCKoFM@j*)mhlTfYk)Yr(I1uRk+M98M+QDYAA%%?2 AuSQvOu69jBPCOaA`^!-gB3XYbcEN<$U=a)T@Qm=JNb#^=a zkw-}tfu_l+UKC2^)F%3GxLkc8BD|ClR}-Gb_mip0KLJU9ZffcgJ2BI0Lr7d)+)$kE zpPoqb>R=gL(&xQdU*4S-rrWoNySrsWpg(#YEPo_qmIonP(l>m?Bo=nv9Fa;2lH7yc zyC&6d#R1@Gf4}lEQHd(!2$8-ZFt^ZVL-6V8QlA%F^3Y3vKBByHb+Lk9{6Y%n?>!|c zc}z6ZF 1;*{aX_`GF?VF5E!ipFldzS z1pGD1DL(BwnEH2JApZVe`Q-l7KnnkVAY%dfKX<|6kAZ`O1AnoxiGwb9VEg$6e&b7F zC`|-$$jZuNA${ze63P!yB>K;d$ASPJG4ZxGD9AutK%kPrZ!t15g8tiSWb{nfxj=15 zUWl O8%38EQnx|17Qn%a~RT3 znW_USDtIE4?Vmq~TX5}oH5A9o+=d$9#qy7Rt|0r} o-yD(NeJK0d&$6&m^SAmU8$yODZ%c|}D>|6CiGglP_F{~~k+GZ rDru>k1fK0C3*|_ZdtGPwFkcq}O^JZ%L;GVlgi)EYRo4 z12X~6vlq}3F^GXN+}eX${oKWcOY=?CuUCMkgEIU(pgDl2EB95eVk7A&a#GCjusS<7 zn_5;-qdwRVyMb5TgvL09V#v(Sj&Z)c1KeuJ5yNuSJs}rLgK?Nh&~T}al%Agfkq zQEnhi$-|blI+&^7L&B+L32+`L(1$u8lFI|CpRTjJi64Bsj>!|Al-x;POo${6IFQA~ z5Y!l`fpEp8h@IWtT$fD@8eXGJEL9TIdw b!f^M9Pt$m)FwLGX4sfsPpr4uoH!yA|E4OfBF15h)=J3a&mHX^kFg%gSMox zBwe?~(#lHU^_w?uLJ~pYT#Cq9TpWcRLKBv6p4gvg{hCwFtkG$Ts~%@>urIO5%w+!F zbw&rc6vD8pFd!O;p!0f+463ptEl8B=Ha9m%b|bD4xQX^WU|$vC1#r>mbJ=vN47RTf zF*j9e;+fYm8ToncKi8ub`5pHm-m%Ri3<|PDH#Z*<1Q8s5gn7C27?Vo+%++<-Ur)FB z7kat~q*A^8oL;L(t ufQ?}yyZObg^ruH$j|sp{)J;o}%_JRo zFJCo^At;Vy;OE9r;T)BlQJWX=6}AkBJ6sA13dd~seWqHLS1bc5I&~KtpDwc86t_SL zZFxQYalZBrMx_9B+G$j0Gv)3LKqx({z47@V##biwg9~%H2cpgK)4^k0JiKyHxdHhF zKSf(1F09_U=hJiYQo{Red~A#upA>&|cGe)1+>}8qVeNBTwQM+1EWN~w=g)6y6~#5d z%F^C*SH}ffOaw4kzy;6kMsjYwg6K3+w{ogKh7izv<&;e)N_?Hu*JQu&x$i%r4D5h0 z)10CrYOLAAP(g{*}9P~=WY^ts^8CCmA+UF|wk z*YfhGp#3 rmCJ2^5%*N0gnoh9+=cM-U z(Y0e6YU COU7|(;c23R}S$NhLq`}QF{&Cbd;wkxtLs@Yfio|xcyP9j7_ zRX`@z!#SPcpxb|sPb;EDn=9yWFOz>QpCaNxj7Q0;8OSifR{NZ=oOK|>-U?rIFN2~v?w;Geb zG61P^C`-&-+_gi_b#r(Lj5vFvg#$sD#4dGt$HyzN5?E` E}8#fs2NXn2 rv8pbW|yhdZJ2_Zv-LQkev+OxCiqr4~sZ{MOj zLv5pWNy zrSPxCNi-^X1~jYsU7z1; GJLcDxQ`vYR!O%xKLE5mlWjfcLsUP(y6fX@3y_Sf0*ZnMpaz1B~5x-283UI~7@ z@sD8P>~Ld3^qyVhgC15AEp@{W-D&sCl>*IujA#0rc7@J^7%pU>(#!SV;vt3N(f3^6 z$`oB`hvDHiGB_ `rT6jhBpCQ;-U!Hx|7EQ)`q=uK81IYpfA6(sX~LJP *$GDVyD24`S(PEioA0Uwr7}b9S1_yrxf}Fr|v>+TRT1CXW>)LF;hgeSW zEwnT=``ks3s+g=D;Fv%Rt!T;XVRH64Sp-p0Q805*%KNs|Fziju=zH1L=hIg~Td`b| z)=4qG!F{?+K~34oFE4S^c?O&dxn8I_3 h0)7 zlqrbyc~WhVTDdL kH2EiBJ)@l|`Wch)N z!=M3RQtx$eBsncDZ8J#bn=4dGm>)p-`~q~4I!kix_E)LlpcJmVQu1 LZmTFea5Vtgtij~YKCN%}C z(1>$zhyM#gF5hu?@NK4k0u#P%sZJRKan5LYepnfAK&vB7LA;o|5S5R#TI?4U5lP)K z5RDjUB(?qdC0w_(yxJW__=|ndzO%8g1LN0{2Y_h6X#fh=9Du>Q3toXbV*sM}QNLB1 zAe#|#ID&~3+k~C3NP2`dgu)5TC=Lz|H3RWt>;nL*=me~j)b9=B(+Gj%GsG7xiD0Q3 z*^@^1yNzK+GTtPVei42%c}3=c1165cWWP1`3Ec7QIMM=AhL3pN*yd*0{&Q<=2--K( z8`M)wLh^ZeaBp}KGOUy!DZtteKUL_WppSt{x-u3xjURHa#B#jwbXM^-$%~su#^X(+ zHK_}DDB`e&F*5wUpr~ I4G=0~OIBB&WZI^75MR6Qi# 8)iUm zKo&ukHEk9#lP48gMMPDa$YFuCebbgqN)=G#4Q-B;j0%fzcwhkAItPwb>6}yZTdIRA zDtNR#sI2Ify7%IjGpj8vim9(`sw_zz{y4S^Rmi^@{p%{QNV=*_dnC=eXKH-9LJ9{` zFwO6iF}e2K@_tz^Xg81Z4JkF;1NrT61W)QMWBFDIp9}XOFi-)d7%6Fj9SNW|_Ikm; z|Bt-~hu?0rpqkHvNvdOHyo%HE yV6RJ ys-pl`~S8@C(b)?1Ds3HaJJ4_vhZV$ORO$f*H*B~)H%j*e8M z+PwRLFHk*Jhc~5DsixaT_2bAaYhljmZhQYCn2%|uKg{3RpS5CZ%@Ez#*tq6p5Z^G7 zaS%|kE9b$Q14dHcqcO_FYswCmx_C$C G4Tt)kp2$+7MjIOAhK{uxpeQ{qRQS;4xsn^82 zH& wtgrnR<;kq}$bfXCuN5u?wjY`6*wW00acZSg3YHRsVRGZ7Q23vPE# zV;IWW3Wrt Sh;U_4rd<7O>;j2@2VRNTim~tc`Q;f9pCJK#4B`DMA =mL`n4i>5l o&iP=h3GB8GEzzaV&A{#^CF>bOo{p%RtzXVse7pOuzXU^aV^EulNS|W;(M4` z89GU6!odlr!mz(+wwMzTj7gQiHHJP$GR`uYx|gZz_FKssBh6O~W{Q*<*56Xwn?1~w z?inVM(|^o%W8Ot;O d)(^MO$NVB^$sZkO>9Mx(-?b( zK4A#wQ)-dW#Z{db!);Hli%#bxPZO`aF&K-fwbbF1--sY_Z3mJ<;)q{IZU7x^joAKg zNf~U?+F$yQVYnQh0TNn4Ab3w`f{k6TqljX}=c6uKtKBf4*}XPdOHH8X)Yxg=igv-H zhZ=7vs-ocxof5z_rksUT>s{|NmtCESu8-h&sPWd@+)L**Mbp~{g)eZ*-{#W;$##+^ zMCikFQY+sv1vs6y28)9O~PzBQ+(Qiw2eWu01_o&RB7Sow#P&avM8B->0ffO=smcwy4-K zi0FsC;*sfPmC `J84*LQGOBNf+Rlf>DIrB4Hua&NAb++$17b{2yJ#ToewvsAbAndg-k zs9`%kU^gAFz6*Qp^82tGleo=bks!kC8>kv~GxaNTI}_DxN8Q}|^-S-+P9`K^sS~cw z%7u;b(VgtSJKXwyH>RD&&CQKwVQlOUCm#_fn>c2JL$3+Ad1|-ikGE%Zj}tl1RS&+z zNfhSEVkiwz?0a1(z3n}fg!4Q(xE|1cwR$ZFn4&x|l}k%BnY|V}5XV(5sd91OG&T8o z`9)}41?Bm((iEU?BApKA#YnGU9Se)>4O8{#Dp}}Nq1aIzvF&P0qMly-e(p7(zEG}T zzvmy=^&6YqOroGJPo|pMBFOqD*j&NX{{xnIldU^^KU&5|i(KXX5YA;p99^CLT*Qvm z4bx;GCnU+FhSY&=2zo|x*Lec;cDYEhzH-(hJ0MCh%+ZFS%Z%i+8)k^R?;~)GByv!b zVlJ=I+I=wZFOpBAEVifE^tcgJV7|&iQoARO8~&o=NEla}L}G1+=y6pqqo;_1BsMW; zqYE2Lu|_@`i|LWnGIqeUcK@(+aYU{F1D&e?&hyNboZ{G_(65uu0FGS0KI&8p`!M`Y zyLDz{gz$q4*pC&Wse%>528PYm6Z2_fnrIJ(D^j^0BYDdj>aCXUry+%+oQ(K=QrJAf z++6*U$P(rxm%zy3^o4}mQZ<(llbe{R2e_+Y8d>iVVAQTI&%7l(Txz!_t{>MbFQj^o zu|9}HBQ>C|nVtqK%Zb_}e`HsJ^y-I;n^U>S&g?7rbRt@92Ewj77&|YD+BI3#24CN; z$j}RBEzZm|1RO}PAT6a@uaVi|E!^;w?W4n;64#bVo#X8vGwsH=GR*um->T(5=1I*L z_gO~ak4O6bGry6G2uaw?_O#N(@+hApTgr-TB~9G-0I7+T>T;AzO3ruP7d?9bk@aM6 zLD$rNw&mM a zc%j_tIetx;(R%zZMyBQM2|MmelXBVG* G_%=a5}!i`TF%M z2EWy)Y k!{=yN0wZH}!chU06WbOt=WV{s+&oHads(@aJNceiYcth8Fp zw=LwExE4}g**1v+5)LeDwPY 7=FH9r^xaQ`V z0nc}h`&;QT+|a5px?G3}VovzW1^8Yk(<&CF=QQOhgL0 DEzmj={ar@aN?X%#QVb;9v?VO0>|rX-oGa@j?!7lfrDhcen&6; zx1 3Qv3$~s 40Nn|{*hv_Y|Ao+nhBX3u@DW@lzRfp>E-YL9WMv`;{^dei&KiC=-l zsebI!aZ#L-3!RViBiEJ=jw{W4{aTUdzieUpcZ`(Bp^v%NtuTz_72DD*zH!%PS}PN^ z4o)Sa93}o(*^X3IDaQK!`+VRNA~FK^dI&DntMv4|k2oK(zPQx94(6LZ>*x$@z`A!} z`SD4I%#YE==O5 9e z?0zXXrr*Kg8{+IdkY|Bz17iE0tl89cZp60DCgE^1hzw~w#^Py8U5in0j!k!FtZ36Q zqy6fv6mrszwBV<3t~(B8Nf #)l? Z*?&ps4?ek8R)l{z` z1-%w@2x(zTEs#pVqZ0`-Yltv}lcuAm&-NE@sH6g;Fbo~5qEwquIsx-ba&XE~S2jwX z9}QKA4(k^Ecn=8p0ZkFH*eH0&Xo4@s>6@ZttTON0`1XVt814a=I?MxyO3$O0S13nu zO6>Vx9>@)oD}Z?70{rgr+a_h;>GWX=D1H!b)UEke_3~&;t$*jUAROK(JDP}nA;E%A zc-K)TM}P;c8Q>ZO^U3Df0kS`*-q}{j@@$21JIcwSs%szt5&0h 1(vpd}x$D`H6|HZ&(x2}RNr >TGe(5Np)_ zTOL&}e$0#QzRi{m2;jtd7>Ofe;pF-}QO_But-{o2E?&8Eo>w1Gfn=N7DrxekrOg)q zLYv6bG=w~H_U-wGd^8P*t_0=p5w`Z#ve3{$3=DiXw;FG#W;nH{y(9U(_cuQsBhAjv zJ--o$Lqb5{M>p8!ea4`RF GVlkTie^Aj84-J z-ZJYT+A+oYb)4iY{P~)V`HSDU)ck&f53;3#3LcEURf`RIVyj=JRE|JO4H_d`a+*_- zOiq*xYTPl-FHX%jIMZ*+lE2Z5WJvhZiApC+df45gss%j~OeJf{N^?9}5(?UA;fTL{ zZ7EN8>lbneb0~2!>1bo&iz{N(wcKf5PL>-IyZ{x$kHR%xy3uU$LooK5<0e?Zaxcru zF<9rmBYIH=^Zmm8fZ}4;XduFQ5kbl+`AA`-pe^(sw}@$(_P$jYuXZ+V1OKJdG<@yL zQ7 9a=z5m)J!vJw08seus)a>nKfO}EQ#_@ zSil6FH_Gv_;LnKwu#wce^buL2zyT~W?lbSfoo|~W)co$ZWi|P=MQa@J8%aoYR^+4C zKWFN%nub1FQ%)xG3b*3Nt+!h!zpBv%M*uU$*3{X?^2eeP>#s#4r50+!ua<{%W#II} zu(fRJlkA{GD>ze*X(;(Ao85lohwp{IH3_#v=F)9A6+p}HnA5b#)NNX0Y) 1rQv4?n3z3P*3>9Za2>4Je(_21>W=%O{+diP+WH1r9bSEcvD z!IRXuuhRU{;CIygWbXbVUP{+CGk%Q oJLAN2yrOq!mtCdPg)$;2#xT`N|yr+_sqch79_gZQ5CT&6beZO1{w~_Df!(6S| zYyxAQ-_t!iFZ?y(VoY&RR5N?*wUd$T`SMP{zLlk|vid690i(0;b9eg&4Xj~oY{)gC z`M|`4B)7q fI{WEvZ8&0 zKVy6IbwYRV dZ-a|2d&`H!B#OG?{TZ`E_jYpW^ zv#uUE%Oa&9Cb9D!{nyk1CTCfZSz *cFr5_zI6aoJ(BvI~HsNCJO^ OG-99eX6Rd z=|s$9rz$lN)uHU83evwFSJP6T`}q?#1~()p9RJWr2ra&T=H?i*)2F8PlKR5O<%7V} zj68HmSXdZ+XL?Cc-WG!m%p$CqoPh~5^(;DTw;5 dV~2$Olad|weaz& zNIePnnhKR&_m~){) %oPJ;iI=i;2k9Pjg+C ~8S+>Miu<_-KrGY)QQ>cjoE^cbe=nkkH$8m;_DTOrkMWIF2=i>A>M6gV$I=a( z+@<{zbYtlHwqEmsh%)@kYXvVsZLkS+kf$(LHXIScAHV>6(E8)k5+J6R|2xj+!;;PP zRO$-+P;?JYzrJ=$b!%e-+?g^Sf)mayBqa38P+D4AU-+c{(MN~Ct@{CF*TdZ%Dq6{Z z*_e1mh31hGqF@D{D?hhypi*kg0@51{KL$!vcQnTM#TkG}j8Au=gUZ0iLvBWihU74N z18xIg*D#+reOe}F^*_CV)ZUB)L2W9^H|Of}=tN&fhbdLX4rp#Grr`-7*fnBMfxK9) z&~scd0*p@3S0QT;1MLp75V4KnmnEwhm|g7Z$9OFMd`NS=G4hVahN7Yuu*~3)H#!B} zAjNjBNA&@_nC?7Y4s*7Ux)<6xH^DVjGXhWpnL$~dXiMddtB}Sd|GAA}rcPO{S3B!} zs)sh?I2KVH)00~J3c(5=_31SPk2*m6F-BN0ySRaNj|y>ahB?8jK|s#BVU?&r{6*jv z0R1<;WswR80||CC;I+h6u%h~8%A}*M3N}ATm;2w_NM(@84e}H8U)c|qpd9)c{{b>| zy~5O}+_vSE<`k+;4LMECFvJI ^Zt*6ef)9ic2A%N)#^s4+zCS0G(Y%&h z6t|Qprav|AXyXlbifzVryw%sx!9zTX(Sh5V&AXatn3$3=2LCd2?Hpb=4jV%Eo_I!% zLM2xRn5DTqK-PU0yibIWuK*Tth7NKL<2mEnm4W{ra^_zo7P%nk5RBf$ba-kD4`kx( zb&`V&T4L_lqwT?2f_9jwjzJZ%TUTN69V!Fp8>AXR3-(icUVh^b79flh^Ww{2-`-ml zbBm$_t=U>L45t!$i<1Te$o&jQ)BiCHqA;hjvFMnXT!$(Rqn7kVUT$tG{Tfv`rBTgZ zZEMabMqR)cub@~ncSL@o4x=}M^Ze}b;~EI9htGl1_SdgpEO{+u{~5xNR7lGj*I+TH zT;|%Z^~DLKQ5c}WgK2M7%n5)!W2>+dxO4%ID!14xtcq+h-S376z%zzAWKpB%UXK2~ zd^ 0?o$K$~<5AqdFFRLU?yxpt-#Q_d(+m@CV7z4~hVcSz8 zYgrI8r0&y|gU@bx{0|ijbAq$ x4ZcOZa$B0B|6CeURZ4PGu7cwQ+yF!K z5Qg`>=bfSgUcY%W_#e?NFKIs57A)rQ=;&2kRyInWEV+byerz91{uEY=6dX;7(g~L? zeL~5wNl)+F$EOE;eVuV6|HyRwkU@Y)FfuYOEiHZM$~7Y9Ju-L*#v?_6f9Dz )%$Mc5XzWt3@fhK0S3s?j~+6rb4RI4W9D5#@`Jeep0SLQk;>^4Ag z;ZjCnST++ Kced8J!8V4-`0{q>N8Bu`KBwH6C13(LCu$}S zXp`Xdap&&c4f~!efw~e$B7oe%D{o_58ujZN?zV}7$x9fFbRrfIqroM_1O98xWKQ7T z9BbrNjc~8dU7azKvkEQ{t(H{Q#@#)I*8JLfn>IzSENolRL=j;pgn|2>p+`&GVfh5F zCKbaxCdfhJ1Tvc7TUQZr0-RaN*YG)lEQD;00{Yp7Teof{$8F&ftKy$$Z9Kft{q!kU zp7dD_`6E0O^Wh2Ty+BC}w$1+GiO!utiWCS6Bo$)2o1DD#0POR1yB{r1r~s}3Y+Jlu zPEBnVPjT&h#Ma*I?9cAd!bC1FsuLg+c=56>;_HsRep+~XQ1aqPqF}|euYzj|@X;gl zGRDd9K%(co?aYw(9I^Ut*i?BYm 4tgsUdtQ)t%EpnFaoGGGG|Pcm zJRl0$&mTS{%_8(7gag1Rh67j1iA8`^1NX>5BqfKI+Pb;~txKjN!oncH8jOIua&o=; zu~R2b@PT|!r9TX{n#aHW4Fa>FgEnM{4sXbIr8MH#;EGVu0qq%51V-WIIC17~1P@D8 z4OvGH2Pno7zgbZ0+@^%Y#Hv+V_BF^$h{DuQ(Z(CqkAJ-ITNG~?qcePq)yLP7hEISx z+A}9If(hf|F9fL8>pa~RsYvGj5u(VuXEq_U?=|G%Q}Beq(NTVfjZD9A^XSBc6Rz6J zl+=`z7z0KH 0mK#lMfC*xh#~0^6m-cpL8!s3b76-E7M|wc0H?t| zK(n?eZO3GTni?L%?(m0$H~ehCOicT|j49#N#ix0)>5G+f(cd3$z=xyS^dSkGWeD}* zMj#DZT&zH*>E+gjKMT2@D{rK$^WtWDXbK&cKRW(cy>+0}=-01bRkrJ|w%}=YF|y^g z%>DQge(+%XUDpT4j%x9Eb)qjsPa(PA`HK5Lm0V5&m683BJ2dn=hV+u9cgo!A{J6Kg z2Z^IqwEw5I@4kJCd=iC=B|8l{dC4xdk^>xu_Zfk*-#_&I!u+~wla7M53#-YG^p5;c z!c9m0%u5=SlGyOpxQbFe;*r!uD{S?5K+2(y!ymF}2JZx?MeNn{$w|NB6Uc=tI3-I8 zApY)vYbZAx=ICqmB5Q3R2;2^tAXtJ4*Q?W?JeM*`LLtR{^ErwpdJDUXrqP)hQAnEg zS5}>GdU|?(Q>YA$o1O2=+<9S(u%UyDLrYho@@bpK3>3B0NS_yjo` $6 zB}dMe7=|Q=C+>zZ8;VENBakTy$Jagy2Gf&s&>Jxd?r7>~Coyn~ 0`vflypM%{m(H-j$K-IB7=Wmoy8SWPfMpJ Ay2pySjkl9s}eAMK}jlD4@XaVsufz6 zsw9g!0zCo=29)2CwJv+yy@@gfBDr5v7psPFt{=ilug3@fQV%jX%x4)aGP``U=gsz- zD5mYnNSDqXU`lv`(yC)$5fqi?T)iZ%*sqa|hxyXL7X{RZH%xj$Ds-m%Yb}{f?yy$t zsCZtB+ki`pD7vi!B$*J{%%Ee_o!X;NdXRkN&Mvhu=($Dcs2x%;RerVj4(2W^*1&JU zB!QcR-2M!}%su8qQv7S3dM#4fFQa1yK#ZXDtYcgQj8~G^MTE=(6K3POr@Y*~w>C$7 zai@n9(D~{$yAS||oXU+;*9Qzw&S->w*uuobB%EZa5&b*Lkzsj2H7)Y^Ktv8n2@$_i z6J5i^)KuzWnhP^#Kg&-NRbM=biTN}$ *w6;25TuW+~D(cJq zWV#O?0^AZs1E^$DQkdbkyZA-gyqanZx>O%aTX__7vnUItSh{dQk@rh;Ir6)*AL=Vs zu0dNtk^hKx2W?^YfnSK9g9RA;4*c*a{W*>>g4P=ReB+%k2fV7Rq{PTBL>zBmPvLfh zeJ#m&ueIf_U6V5@wwxlTAeOol{uzd-r}?yZMb5l?u+y6E$hUVGJslI3?cEr39t<@8 zZc-eQ`p@Y>EBSSEVh1Sw8e|HU9?9wJb|*}M^`f0z1;$XkUZQDVkYHz@ONK!203r{x zVGa#Jo=`ht+9;YSFtCkY>mhoeQq!_yIn$ n)`%@n$vA*FL&)jfQD7zh~as=6G=pAM?g=&ll#^6|lEj8o$lnG f$GTe#GnwB1VDdN1`-X7DDf&)174HvpW{oc^Nj-O-c=gzG0@ z6O^dshlOFDpd0!j 1uQ4+|E>koK=clsi zYMN@+M R;O9^|rrVZ|8^UZd731YV?bP7gbs#YC%0jl}_R18q z!=D+(Vuni+gct{n;Xh A-tastgUNY|NR=y-@ zUTwfCin`$Y!ouM6_~K>etP%5drQGFTlM^cpE4On~oO-{#Lr#I^rSD@J=P{@%Y8~pI zZR`8VqUgLa CppR{jtLUYXt>2J$PQm3j3r zx?L=}<+W+c-ua4SA*Kw67bRbl-kZ&?W61JWRS}C07LNVVep#1qUug-=DS}8S i*6VPRp7kT)OJxE1g!DgK-&y7#-l zBh@+Iq7Hg>>)kQMR^)Y+9gW(<0uWEbDlYRB;~r6UuQpicpptlg!TK~_VSAx7Sq5fP zi2^dw OyMM#U(esUk73Z^1iX)_#*43j zU;|AJ;XS-?P;a1(d53^=cB?`dV<$Wec5XfA_VYZ+Gq&8`#xR=qz7f%s!Q$QsH)?an z5^C_myR+!t?swJTZs#5wk1fg6n7%jdqHPI9%)m%YncgLLvdrx3BHC`xTjj2tMh@gn zxszYHSXtAq2`dzo-B;ZS>i0kZ9}B&=;TMlGp@b4k-Dqh}Jeg7>~Vv5BS6{s=Gjq z1JpBNa00@U!
D_jSr_XbyS7$-PJd8T$^J%g!t@6TM%e zv2@cNeS)j HcQ0HM z98U3L7Eo}YzmqyGIiBx8G-gT>3#n%NGK0doZl&CAOOTJA6CLFdn$Dc_fL^LTNLU&n z (~ z{9GFIQh|~y&s3R~fnw}_Ddnw`1T}J4VP*8(SR#as)@|+WviB&^O4jXta&{A&x9dg0 zoeavtVaq+URAuztGupv~-FIgc6YKjc?Pavo>#_m3w;oF#&7jX=*!35Pxpul`R!;gC z_sVt#`bBq;gGRz%R5_Z-^L*CX`*n0jhLAd8ZHyheT1*pcKkr0*wR1f4;SUyYWsspX zekAn@`u>@rYYi`Ob4*un9Dc^}(_`EMjJ~k09I22M<`mP_&Vd-2BAW7Xo_CstRyQ@oQiw^T~RU-m~h-vp?+4EA*+rhEg@VI zomKs;#Mmd4>+I}i$u|#!k3e7dyZ=4CV$7Sl>s`Yf?}^Ej#OsF_{GFUP|6UwNjfFfq zc+pnE^`@u(=peOPmrNkh`Fv{Y=wN)upsA2B79)`7E4t#ti(5fDPJ5o_@j;;zlQL%G z5*?c#d7?Q=;q+7MN?kiy7WMOs*nU=*UcB0(bMh5O*KRaNY9Sn?b7(<%+jp9 m7-*XuB^n6w;7g zvV~FD3la~FWuyy_yWtix99~>s*u>QWn}JaiW4aT0V&3kSmzPKCBX6ey^>~5%lTCIC ze>pc@#TRh{YNTH6*^1yaoV|0wsWrV?(7hge-_5_m;9iTcQAIZBdW0`c$`4MHEyJ+a z*kDNo;hbf*a`GD{4IY&`RH?Gr{8YKY@8w97xt+g_1vkw*6%Z9Z3NxyP;%+32ohn0V zj1qIWhUf}yAA>Wer=KV$gGt>tA#EFAKugnfH@=%&mI^>tH@a0h$Qm;L8aDX)W$;pw z=-pT@ru*6Ml7)y_7B@;Cb3OZ3b `8%J#5p6eoAOGQLd(#jB)_%4AN330H^q|J zJv
wtf3{7y9eZocx8=_IqB^)zzhl7(Bgqr)dmKrh_(VPn?8q)H-;&T6t3TYziqp zxZ*XA+7ZzF5j3eb$(IX(Y((#1sLMdJ?CgnTd-ia>VmsJi08w6tY~F}jfbo}Rg@=YD~Et2@c35e1`U49d+tXhP`R5*7iI zZZT(%bc%e7DyhNE+?uEguQQ2P3PC-)7Dk!vTq^dlm-!JR6C(Fd{uGBW_U_${^PE1W z AG~ZsRGIN!FAHLhZXD$ z-Sfc)#A>bqWAa|RN%pTP)9mfrS)+iAO%K<9Lfq#jpTlS>5$4JMZ2WHvaGIlkzKK9~ zGwKH5*OSM>ASl*8l(xaD8dk3p1~v@TP9&$!8j>?9R)gV~dkTEEC6h0V&3;p5KGCX0 zZjNu1m@|{_1GH@-Z;fVTU=Y)fYS{bi0_ru&U+ dv!S=n7Szcat%3g!XalQ>r@E~gCR%b3DHJWX--m7T-wMFX0MTte(>4}4( zvm?!s%G&2!Kf;fVlIAIYjxlm+zDn0_v!0$PB_`?$MferhXPKKP#Trx*qB@KY1_$>& zneF?CnjTF;($NNB*?!XBJbSpcYZ>jmfb5n^?cLKLX}ZuT&G(qaW75CFhdm_yNal@8 z(;1c?3;|w3XW}X>e2$ihxg 4u^!k196Bu#Ffrp{Hb=f zMDGwGR_4naDO}Ufy=ARvo-0%tSRU;-c#xle+qM^IKUqx5Vv5;Li%{ajRm+AxB)y Z>^y4u@dQ9sfC@dVZ_QiBI1w{Y?4_)xKeUfNw3FY$Wr+KOtpr@o_CmfdKL zu)&l1w_C=0_So3RR(iU;P*YcL9%o@=dnTNietK+X=5>{$d;)Uz5&{iMlCCmsO7N?) z2R~GIcnbr}FhS4u;<9Ue{KyWWNE*AC3Io}qy!OW}(d6wR`*24N?%1p6ed5qGQH)Pp zFY+X>6ESi(Il5QL6z-^9sC{HUV(y~2^S<5{n=4W0@@d`q#H*dEXSH?sbgZS=`ioQ< z1XaJr2fNdmoX+THqzYTj`@c{2$()ea-O9zz8dhXk!T>Pj0jTpRm_28jDv+zrW)t?0 zAb9n(OXq$-ZvxmiPMGDHx)be9>6XRKUTw_tg{=b)dwN@!_r7jWCjd4O-4G~x^ii~j zIDB>FIrm*d?wEW7RBXe{(PuHW43~Iqw_ajyAWueykgrM>@H6&4<1#diZtDaV&?mFz zRhn{b^R=sCIbXkg;pAwCrt_o85-P(MgXdQy($XEwuJ-U#CMsBkWE%Wu6a&sfd}_cH z(|&ZaSE^tYp o=&qE``JlZqnREw@@^7F-3lw zoxqc3Dz+8JF%$T`VQbuL8B|=vKRW{akmER8S}Pz`eaw7??yVQO$-cl~ zS*#F%SC6aD?E7mAoPS@6T_TtmEi5t{@vZ0Hl8SytTSuokkYc8~h3CZeYAHvwo$#Fr zTPf!ir!d}env;0Wx?eU$uz!DSv8?8X3-)<~AeT<1FPDMQyFghhxLn$DsU~SEyh2 z4PdESj(2EItTli>bbmD>j;^${Ctf)W_S0IvL`}TlvCwSu6x$q97=|8z6l5}W{l*R6 z?lXcy?Y&bWA0Dy9|3s#;QyDm^is*3{buj9{TDJY6eB(I52GRzGkMrfZE*}tjk)vmq zBvsW^+EGLHxKjtCAI$_m2EK)-rz`WmSbew^B{h6r)0_TK>zibexE>=Dnv-T5eT?{z z>8FZ{^PaPE84zs94heWGWaj^ny)AO6VNVRncGlr&YVzBmrb{X-jU!@IXcBMDuK~hl zfG$rae3?ZjLk>K@d~!MU?Q?{_?QU)mo3MwU3wNMlC!V-JdCY910EN-PGM-cJQpwc= zSKr?A)mRChQ;Wcuna-PMD>=NaIhkXPT-OVl7G9-8L(BcbOf$ x#5>aCX!z%GeWYAmUCWL+?Xr+Dh9=VW`MiOg! Z+7zwHBTOTDB7BT#JM6(th0@J^F^dE zNd;Q;^V_$6)0ST6ZN-T93dS6J70YsioDHLvf5R=w7g<3~)w6+8wuru|K9mENU(L}% zX=t_Y184~UKsekbRj>sdik1WxH964HNL||q_h#&bXSI8Mv&^cNT4Hw80;Seudq2ye zHwXMx e9%2G1mPiS|;Gy0w7>I8a3iH0NA;0!dT%?dW#Og8!N_e7}`^@`0N)y9?HDW9% ztbGB(BsVKvx_t}H??sVt;VX^XV-n3LA3(Kf--TA6aqHcti&P`j$+~13Zhn5Mavhy} zDV@a1+g=%nq2$DZXrj_L1Ps%Es>2_5Xg841UV20wiWeO7I?)ZY1LIJ^!iqBk@5)Ws z!m^(_$0Skh27v;xeyg|NcxQ}os))#0$0=NTT H%@|s^iBT$b_ZJO zJg_=RCPsA*Ir_b==4tT2oG^zgd&KR$E?!f67<|A-k00Zn*dt)AEL{A%xM9>C>@&&E z)~I8wqt) `ZC<%)d( zYPACXS+DF{EXpZk-y9JV!qc4>y?81*L`xt~vu)od))j`W`Z_YS3^MCkTCsE@Z~tGZ z3fPQhUXBF_I)1&9!bx#7HHIrygt@=qDUAe~yki!b3{Ql0Uwg~yC !KHt_*1Yd!jH--&xAp1uP=Ds%@t>%$ z$gfKU+XE&<-ut*P9sZ38&*ZBU7`clm6kV|^Zr0J&4WH`wMHa@Hh<`Nt{(a)P(RlHq z_q$mvQfu2S%)Me&&2$;c9`QBZBHiR-xzp=u(SOOxjZW6*)$^ME7f3&M(P}a}i;HRL z?&ut&z?8(QfE@cFJyw&vJ4Z({++ajaOKTGZ*}5<6#kR*fq=i&&9w^6<6| gGV^vkmum@>H6K^j}WdTd#UFE FRIEn{aBsbVQ!eCndBcl)o|Uart<6FjIW7y zfz0dMk0wQp YA0Zd^%4uA6y$Ss2>N+9`?M};Az64FRz!1fAGvJRyx0j zkHJ9U1Zc{>P1|YnSS|a&mqm%dX o5{QVv}v-o9B-O)6#PW-QLEL_@NL_aQ>MsrbR%_;c8fBMxmJPrhIzBnCh0-9 zGVO-ff_Y5ghE{A$#@AjP*0$Q$6o%~rS~Ij$lWa9xmX$8Vm`mhO{lNlCs6H$jvX13b zsndk_qi^5beU~kKE>u)A?pnHT10!tJh+<*YX1ZmsqhALJ9|Ne3{Ej<()y+Cmbb2fx zX>MWR=-< HN=_=pjLbe$hcp172$C5gB z1gC9L$t$!vTg6wXBUggOK1X9K_!LgEU%)6J>yZyq6_abL(`v}~szUfq;7)D6v~@*$ zFHbeYi3b0G(r>^h0W(o~$5HB0nh!ag!XodZgKamWs*%?I0`Uc?rP;j_;)97=&ibR3 zbZ1|HJddp*veD(ADE!(3w(Fialp4h14v!r-dy~~Ipv*B 0tsK;A-(f6An7f3d z==ZEE+!T`) o=fMa8PJ26W|n3d1f)2Df5S-kDR&Nw8z5i zY*Qwnf@g?MFo1+@X_Yu_H* s1zrnVFNRK7{^x@G(-RCA@xnSmYOZ{AFa%_1Cn|NQak-luh5?rV1;f7(e K1sQlT z+d2%J8alLdPrlKJd1IeoR~bY+!)D18UgUorQ0d)g=GD~whb-*6;+~1+e>stBwrH{u znc10xA|jIOX*LRE(hcQ+GjrFjB9mGKDCA?)UF9O!`pU^{7sR&k`M3lql|LlBQoZS6 z7inkXv{&g%<=xWU>UG1eKl0BJ%Y_rZr3$DGuvWa_6fk&jZ^kT+KsYU6?E}l4u=U+H z3+6QvKk$j{0H?LK$ydE2xYxZ^tK*G>< Q25v!ay=WhjPLB(+BRyZaM^5c0T_S z!w6v19Gajb!E4Uj9?{#!mjrC<;dOi9Xs@?SG6PdBTuXPEyK+sW3XHC{wlhpxVgXn0 z)1=WUE8WsKN;|_jhK_aODo+S&80&?*leWajX^UTRi?NTi<6-4rTM;ViZgtJ8UGfv0 z5V!bHh5vr(<6T1}Hu0Gt@<#L;CRSn&<{Ny=HoDtai#E?KE$kCI8M!oRoY*MK69-}2 zSn8(-US#o*R71dnLRK1=9S>>-4D;<&OtDj|8I+|%BO0-e%>2B_JxoodG}>iwpX6W} zsp}a_re(VBDDWqTD=ot3HIoQjR$L~OBx;tLAO7X4k+D{B@I){9S0!tmgUnktp)38{ z;x3;7N-O! jU(w9 GeCDKkNEco&*G!SYT)BWIv9a;=e{?%zF&JGF1{s$zqW& zsUhn zWJz(NJ&R)G{OpNd+AFN0wc=&r5a`e@2~LQUT_@d5HpQ4X)--%xB#*Rr{#B3lF?>R8 z qkQb(vuyo=*kDgeucx9en&Xjd2bE z80W3>8?kq{rhj~z&ab-T(pF`m-Q;zXTeg}_js&0E1!E~En`bc$DMzGRt89O6E770c z)3{LUJtu0<)2nAt;UC&^xt%R#8=b1YK9lYh;W2`Q^*7^BnQOjklfXIH-p!@bO~Xn@ z0H#+MUvo-<*@P{9D^Y?$E=p^{HY&X=1O8J^#V6yu;yab~t9SD_aaWRqq#OT=j9c{S zY=6fqrNBuwJ=MdzSNsOFrp{7oN2x15RoMJfb|EzbIfK7w^7Qz^=C73A6@Tog=|@do z (8#mUL|gK4{YyMLfp zt5D9|Mw6+0h9NVOnOw5z(&qEeu%P4R8I!9sFzCDh724ObBzdNo%B=OI zNr8^U5!edVx4PD?D|6p*Z*95eib*w15o0Xf0bz08K(Rncb}PO6ASjit3KV6(AYSKm zBE2T2ydlPbSCe9%;F-VcCon=o^@4j>H%81f@x~sy0cE4md17AJ7V82I9h+I;D7f@1 z?~8UOjIH-YkM1urDYM9Rj+tu-Tn_E)DVyy)CsIsUY-kVJ)X3U7Rfx+M_@4GD{s9K4 zyIjA)1^Z6!k;C>!49fDoEp}1HKXlbT=MI_Pbw1?dI^QSDZzA4}>X(L?a-`nj%Vffu zpG`yXN)6%#H76Kw_+t3Y?|l`_VM$G;tj8mEyt`qMalGtu$lTICCJ)y0PXyJa9>|!N z>=#@lP4s~MV%|cxok7{@pqi8$yWi=SAxE*T=Z=ni{rV2@LYR%$GnCSOTVn`uats+w z7&-{gMi@BIM=lL(neEzKI>&n3Ff-OZcE`pQG5biLtG|orT7?+%hRs`S!@A4fCxmll z2-k(M3aVsi9Gd9juCuG> Yd~*)>SI`%FXtR#u3s`)%-7d9 zalIz1&O9fnL+(T 9zVJ-vF-wTZgd8wq%B+d zc=SYGerK#=_E_o9kF)dVaWSk7={vsGd*C4LN4$5q_LOOcqn}H>vRNT?#C6SC2_J9o zcuu35iw _QwfBu|=E?GWr6O zXF4y@EAzxP*okZE6VZB_kK#gxK-gOCq#$e>8!MWmNNLXhR;V;xxo05OilY7|*R;M4e2@X> z!imy#Wlm-OLaX-s!)9*rrG;V5gO^EHQHW-~d+VB8HXCoVKP>gr#I}aF1_SJoS98S! z7+1W%^${s40{_I8)3DStU6@UHy4g+M@9st&ori~Rf@fo}k>@d+riv#=3$v58ikAXm$qI&at|v{6^Lg&5bK(r9R;1JDHn1}TfCu8eD! znBGiHCKR2c1OGnun>z}SL1n_7=Y78mkLiT_?K!7U3pVM@lGrhgqIe$bQibKRE3> zx3(M|5ug5R%kAKCMkgtA^KZ0+mtA?WG=PstEgV1rL8w zPA=9wDAn2$QNSTIsynyTa+1FN9Ee2PY)UFKY~$`f)}5>LD^@TyF&&c+$ zMbpCC9)%65ZGnS(CZfM*7c@^a h2^35!YTJT$x=grhMf+n=$Q#W z&wVm?v-{W)QDT28Jn6!9_{F?JX$m|H$?Y_!6vSOIHVZyT4)IT3cUEgHy|C%+c8gpi z_l8E%gB`qQwfsrKrWQ$JSKMa6t(SJDVc}Bcp5F5M3Q85$_5*@prj0GtKV|i %> zW1y07m|U=i`4`=1*2betUIG#vfKI8`AKJ9{&}JE~HV!CNd^Oedx!2g(Tbn~*qDsZx zKBpM3lH9~G-=~BMSf7Ca!{BSmwF4y;lDnKc{D!B#Lz-B<^08LMYt7cB#3rXJU?AuQ z(a@f_+n-(hBg5~e|3}74%G*fK_qMml6@Bum Cs^jPQ2o%u+OWbo=v|#m1SxV( zioN+cmO3Y{7xyAx<{J=q7>PL ZbuP6?Vx4M)nH8r#sH-|RAF*?-5 zv3&Krd$1$n4XZ;J+`pY;d2FR5B_+RHj1P>Xvz%k=P@dT{u#R%b1)xJ#u;7W;*h`^t zMBQtMmPl`RqBC-i8g(9xUmN4z_d>sjjy8w!xt1k^KNs1LTrzz}uew>aSuw`C`hXzc z-r^$J#5gm_^bKzbRkN(Ap?|Od?o#Jnd-lAj-?z @yOYs%itCr*l<%o+Ndz#Gr$qA9s+ zeOKT3q@T(58?bQn(}qt5R}!n+x>`@%J~*33)a^?gb7T!TTK9oUh`!tR;k8cPU#_Va zx$EMO407J0m+$apShzcOKAB;qK;86$WAB$W-rAY*r!#JeAE$XlbC5*1%n&vqy<^XB z<{8n(zlLv0R&$a}Ez!pKNnig?U9U)%pZwY$ipd@?J@?DLG DOG?>%s7`@6 g*TVlgrbV zWq67tWr9r>rw<)IJhp~OQ6v`(^``TlsyZ$-tG=7!$7nB!uf-7m7kB0MTPpjfoW|1_ zbR|_jqrHy2`hDUF$1AQ(`m#sAK)7I$4&Hv|OmXz$XfkFhhKsFMVtjn0d&g0lt@+98 z9GlhTNuz(NfUUw-lMUjep#1moO`)9uX4Ye0zh( 0XdXS}(S>G) #YTN->(NdUSJBcvv;LXLEBN8>ff>k22fLK3r5;40Z5bVCSfg#(5Ld*1Qw1 zlmc_oZ-q)|u6);5dJ+o*PHps?6cSpyh1o*Ez^&TxA_zD~FiPJ5Nzfo0ms^4^UHz`z z&|Xm~?PQ0<4CC+i)$Ef!i5wZHCZJK+aNzY~;E-CGON-xUW!LNU#dm7+v8<7H9sfb* zY2m4Fyh$q4(i5~F+tr<;&j-^x7iKM#tE5U71e1YUn56OLZferb)m7zkKI5c0Q6O+4 z)NiEv{(KO>-_=e(tDfB12L8!gd{xXsjI{!FUcAPN#y9u92m~27vJDh9;KQAc@g1?J z*F)Hb2gM3Np7lYP0_`ensz{ydYPg1Rj$Pt0$X2SdN5%=;P4>_W2P#;K-Pb0wOc#Ic zEu+iWbGz`i-C4=JDlYY`rs w=p$%9v|bcbgJSxt9@4K3;)}F z?s8%DeoTHO$=*xbRLdGZn5f(Fs|aO=jGk_2GRrS-4k)4%uxsA!WDo#yj)#-Ta29c3 zdRnp<2=~5{b9|fnZWg35TAm7 A5_tbRJJi&geO$Fs3 zDM?>*mlOWV5Ec+%Xkt=vjKSgM#~2dr)NKbkiyNf8I~PCmCkJv|GOAhX<1z7Aou6`? zcc8)^3ic1EDhZX5WLrTJm*(MJCB1jGq^ekkDkGouoiK{;fAWOW z%1P_j3Thi{cT{ zDT$~JF;<*R6Jdjz1I@!-uA`i7>ucm>%RQ2v`)z196%yqD&nG=iz??QPtFdHJfJ%~V zV41Fz5aPGH?jux~Byy#ubQ5qxdVi9>=HzM{2aIlO+%FovjS9Op#_4@YDNS3DRb1aF zGOGGgaRbe1`tXp9Vc|zYd O zbNKu}-(O|UFnvv)ie)n$N2Au8ukO=Dd@a44kOGZ|xo7Vslg8bOvwanQcA=Cg zbODqC)&c>i4 LHn8XHa|Y%vi$nuei^1%B{f@ zXSQnHA}{O4a~u>E9}kVsr(Ec?qW?_yuE1F2i=_k8RD%l+hQWxrlUVcP$JRF)>tvGc zYd)#2m@r$&7z7&J5^~F_RjxPHcgw6KPi)BtrQuv*N`OC$NW=6@1i$Mwp~@W-F7G0( z#V8wHblFmr9Xtdq(?@msCp(Sgf=^P3%O0)lju8d=`xaE!IRpNR;|x^V&+o@ka!Wjo zvt+}RSov`~-Gm1|$LtIYVno$_Bsty^^xRwbmd;Db?`&`i*Ps_Tb@+(q#l7-e9gAN^ z2Ae`Hi0`&UX)16Q5Ot Rqy&hK2n$lJj0=-Y8G^rH r=4~vU2^k?E|4q&;&W|j1rM|Yh z6WtPFnKd$W-Iq<%aYDfVZrJBK?@mth^Tg+ab6s}7qz;W}Q#rJ8*%`&izK HxrFaFze|y4|P| zN3x6LGb8sHA4z%nYTqhASe12a*6)vm0&wR1))C^V`uD7#oq=^t^*lE?M(sfLd>-eS z9R3OG87=p{<`P?~`BY@}CK`c)Qd891f%*=F>S~qWvIWNvmo8I!4Lj^kKNQxiZjkut z>PC7@+5Tra$$bK}ZFV{b54V>l0-a*JdGFr6qp3WywS!Nd*z6e-9|&@mK?a~D(NrYM zmEQ<)MFnu}FF+$s&blzlPi~3U;&_tyCiu#b21^yirs00%TzT-)JUC$oPywf>r`u>q zNR$BPXEX6pfF%p3kf^9qgi|NkPzDHI5v_@MH?u|~5C*6hB=a32T7xCObkT>k+Oq%8 zYKi*<#KIeObpxph9AK!UZeHl>>bl5Eaiv&Ag}uF;{~JgpCclF_uWTnMOu&|BTDKQM zMhG6 >1@Wpn1qlPAx}-N0snvPeh$pph7Np6z$9 zEJON`Bin|OQE;1xxcGfg5J@q0QXY32kNzdVLZMK=k5D-(bm-8bhl8a&L2q31-2Rr` zq*514ctp$ZnHV;uY6X8CHowTPPUtIxLR|O9G88IddN&sr7fT<~8j`Ss9$+RUX-O2S z(uFLC&L3UVXOMfR)B3R1iIsx2SV83F7p{yu@}SI{`7||k5)#WZY|>V^m%ne<-EKF; zCa1$6pNOF&^OhbN8R v6Zf%ja18!VXpWv9P$(WOXaX4+B^*a=)617H z`}?nh?nAv=4K&xzfzzd;q7oAD6~a)mU{+QZXv>dFHb2PEcf?F-&KCncwXD*GB`5Uw zWf>cqmfq*Ekm2tq==dWcvs-TlJy@^Vy0jJ^{P3}F2cW+mE6D#n)b zeA->||4N!LaDJGDf^Irv1XfDPB3RXSy}my2HS&o?S;mQ&-BKGY#G0W-Ofv-nO?(Ce zYG&bHPRPo>O%EzoGTJEyC7{_kXLSKgIpBYw`6XSaX|KTGI)s+*bKL3C(a~Pj9f}4? zSVL7dpH`#$yKO4#==_mthVl$u(gf)1)q8xga+*qQtJM{!KiMq1Ir_J#r6qJJforiK z*!C>sK$BKm4@>W*E^;E~&2|OTo+-~eGs?$L{q$$hR!=_?U}0g&rInD7fOZeq^riGr zezF~nTa1&$b!ZeZTA36ym&^_tYhy8|qgrXKLMie2?Y%X*y;_oF7dN-^b}w)5XIQ%o zS+Jb-sWWi)hYdR*yu|gM`}fa$_z(`lB^Iwj&c_?a{JV!m2Jv9qo9Hnm9K+)_nxL&I z-QW`vV!ln!M3wp5b?jVRTI!~iq{&NjZ+G`Iy)d#CpX=fd)hCIKQs3~(8hpA`!Za+| z^KBG+xbrR;)L4H1XPqj^sPW#tg>5s>O*^!A8g&{avlei-rUx0B*$Hki6k=*tA!@N} zFBlUPE(mEWX{5?b?qL~b(zv>t maDP675WP>q=W{BQqng64mI0hqya|ED$}7OFg1L5WzK$sG+5C}uSO z{jHqHJT-zDLW!TBA9Toz?$Z202@tgk3kSRZ=RZLiGi)(u*;yG_IU=cD@Skx5)=9HS z27ziNpK?d4xh%-wZ=v4bznW(ckLd`Jh4p`Xs _u30oAXGP! ze;((4jIp40X&@D2=Q!}{rgeob1X`;wlQ%Ol!Bu~F;_LmtIQ?zH!r*ds(Ps CK%LzTubP%Z95EZ#_U!H{Bhv^FH`IFm}X!DkGT+assYLG z`Sb6=E`|LW;!r&fJr ZslaNg9SJ|GokT{Zw+09`-2WO;vZ=!FLO$8Zf1^`mMQsecikgS@4_3MCz;F z>Qg-!!%7gmJ|Br-cPbh6kf6AKJO(i(g!1khsm zRPVTV*fWCEu?n6Tc3CNt$>ytJ=6Y0-o}**#?nS6`=T`9@{i`!a0wMG_>kIB=bYfiT zqS6sXdb5mk9%Ar*p`+o>o#EkOn50gAy<)vP2D9psTIiz(Q-99SyVvfDEiM-GDZsJ7 z&pg5hi~?M-jt4|$sP-YV+l<~BGfrk-_oV#%XJDHMV4<2jSl6tcx7my{!Mecn9mSjr zWQ62|SiMgfwFZYPb+BV8MLoZv6^9A{V!+Gm=QD)CIlp!5CqOz;Yz?@9zMW`DgewQV zjZ{Am2nSQoYu21?-`1yXXM=r^e_lINs#cuQVgCA?Hw!P^)yKLbd^@Jsg&49_rPS1F zp_fBVn;b+G5V#5O3WF}HqyX|zjJaQ-)cjxq*ZeYlw=E%P<&$pMP_O)v**q!(**U&L>E<^b} z8;Xr0;7d}!P8^$3_X6eZKLF$4r5QxR7y!i_l>zlS7&4e4wo~TN(nHia4>uEYWpB(> zu+uJb_4iQ#xnLz b^x#;FW2o_qi27;nJpmkm2h_qmf@;LCHdxe80w$CqP$x2A`0L&R& zW>988F wHk%XdqR=!aSZML`HgOW*?nBvifWNF6s~h&C)l7IBM~hLjCJ!J8Cr8Db^;bFhv8 z(S*L8sdE{o5C}c}rA=jbMo(z&&HHm6DEjHf+}ao|VFk 99ta}o ztN2a9K|w;`Vr! xM1huSMIHDlzJSo{M5wQ!$ z0UiowQK+%-pY)AMHPXs+2a7ZQIImb}k #P8!6LAESDOT=vvKiB|P#%MqbnE8LBu}hK2&&YB!xW0q&Ri^E*Y#|n&)rQmZ~Z5qkqph1 4d&>N#OFkQerIe*pJB5gq|rI$;p6wT8|OA4-DqobRysR71zquMP1@@%nOMnb z) SPua@Xc{~pHvN_nfBEU%gH_N#pdj~wcWPwr`j|Sy7i<2cp8IF0eq3Wc zvp;{n$i^zMeYk^I=^QHtke92*@QHJu;ip?;Hw?uk9ZnnzyHmy^F8<}yr_(48wJso= zfDRrJ91M2`W)$n3n^QNc4d7*ST9~X+IPet_{(VX|cpWa=xBtX{!5TKm=wIM$1f{#( z3RE`9LGJ_t>QN}4_r4tTb0D0zu-x|NlR4<7$_6pFXHMeQR9M*`MG1s4z?G}|<~+tD zDI2Sss6G#Kw-LtZ@-pYg%0loJr- WD>Q=kxeB2aj# zX=rqV2--l||EWc!V`xY_KJLGJ&73OFayyL`&Dfv+PZU2-6Vsp1OkLWP_}>%2)J*Tc z=SBJd|7Xqme_9@U>%mXP(EJn$tqMrp(hp(ehAw6qC^q)E{V(?3G@Q%6dmq&xk%UlW zXh4QCgh=L@$d^nZipZ2mks_2iQ$?BQc?cmxLP;daETV)=NhB#5_Ic_4{r~&LKK8L+ z?EP*($MHPJ{oIMK>-v1wI@h_*buI{;M;^aH_mP#24KLAhAXpJOwgPU|uyW{lb>sSV z WGbrA0-wbK?lN$bGm2a_;{jx^%9NZ5aBw2X`Q#Eke?X%MC4h z$QuD%eDN#3*m%?$Ev)GE6-d;>)AL=z@q@}6DDww^jx9S8?`L wWo(E zV;G^W5Ss*71pw1~WmHL^;gDvVgc8~4p~sd1H+PMxE$BagE88tZlU!gTqIZg%-e{Uu z0`$g5NR2%C8K?q#Dz3V@Aw7z2g!GTW`PK91``}y#@ByQ^x;0Q5n6Uhs&MfX2|7#qr zx -H(SGRpsRBAd&r& zbM6o9(iOE_4CJ30A`b)p6^6PmOfeqWQkf2*Z^s#Cd+AcR91yAH8^W0A3g;#-FRv78 zKW~eB`xLh%{H$I6afeT3tChnx$1UZ(EJnRu9yz63r|kCG>py7 zV`J8kb_fadwYTeVHzmo+x&~C8x3*?tVEFla&hqN6CMKNs$j_iMCe^m^Azb%_$IEzD z)v#}fI)@*-6hyI|WpsFWzs3GTho <0L>a3=6&g_JA+pjJ8r-kArGQd=T}5PJo6hWBUzIuylJP_Uo3- zh?J&oa`+A{*nTqJ&D_PJBUd91C?&H16tgz!T<|D$=%XLrIvRya^79%NGIyOxzgvxB zsM{c5H0A1 *b~&VuBtXxq_uT|s{3G&oiyc`D^)40+R!9$dzjqzclO_9pw~&jB1HdQ_sf^Pt7- z!3!l>1K9W-{BO~_`X)lb@B9bVWY;XNX#iwx_6FU1>ky;PMk=rbI(xqY2*ScmT5qoJ zU%zg $}5Xt!lS*joJ LybAhKdGq6TJTXys!gTCk>u?WPAuExOK6Ic#kbCQ&JA$~6Z$N8ct 5fdWdNd9@QzeX5D{dw80qzPTS%E=gPw7Man9|SR>{7~IR zC2r@d74^`-!2PDyRW)a@$>i|C+Mx}YpF44~<+*ToF&|KJMGI7BLo{+D5u2p{;TH9V zbw4P~dL0!d&)$Or*>(CDp_2i~Yem{Us2NShZ(Md?T3VV|$fJe5u{1{CmnaI2ic<>< z*SC?uCXD&M_$4#gGX;`^^g%&5g5ZGlgXSx2c)JBFyt@?do{Mfq6I?;~FN{9RF`Sih z?WuPTMqLFMPMD}@ BuTwb@xu4; zQP3+7XFJ~0-@g>VansxGti-dIFJ35Yw-5CgB}rCey*PQxUtH|{=r9vP!OvBQmPqaS zBBBRiOm+DWy*dj2QpZ!<3FdB7Uh$B?YcVToOACv~XP<9`eq3z}`X8rONNVE;mdq4f zAf _NWgJ-<@xm^dP!-p#Ey%gNqBt4>};9G+J2X5^>$K$iLC>Gk{_J*o2rqUma z*sLvrj!na+9V{l!83o2=3ONxqY9!zEG}_2gT*mkB-y>1W|DSK*@DWHACaE8zt}PNl zTW(v!XMhXCoy$Mo2u@T5?32XD$1-GK6e*mE2x=Hy8vP@_L>&i=w5q`^aCj}#sVv~P z2fuAMR81@o_#Aqh@D3nx;6Ts@UVOEgVDx)l^ZbDCmoxeqzL2w{2tCNK7K@*Go5{N< zBZDiFW|V1TBUX@H(Tfv2S9mM%AR_d=)DYHd8$p>MDxx2Ff@fF78GIfF4!DyYr#b_7 zH@)3-948Z{a!P9QNscG* -UkFo_O~!JjR-))gVO3F$;c?$m3w_?A2y%6 z*RcfRoFA7Ics8&HgtH_Yir>}aku;N9mf! vFp#oe9UVPA z9xuyz!j7w`^xXXe?-ZE#@1u_eBbOt>%Z@Qm*KfwzQY3Ad!Tta|3EIhRbdxne7iDgO z=O?}iC3pnM3JJCK^|@p2s-rbrYv?!i?AG*|v<%env=UB|3C`jQr^(1SQY4B+ZnF{Y zSH2kGlC1`s2az(C&uK_P_caR$!l^yVCw2bVzox&cYNJ_k0-06C=QNTgvgGI?M$<`r zKG3ua(*HUL@RcUw{4lHw?SGD+$ch5QyM4aMwv+ox2@GyopMC96+&sD?d(T$QXrbrL z%^CuyEU+xh^hPO+DM2|@A?yO+z{8lXYGQj5n~FqO$j_
9Pjja_XtNb$E+pZuBrKIz(BX0FJbLM4h!)Il+GvdLvTJuIwb7*S z(&r(k4LZ;1*o#0($$JhYw_01#IYnM4xg{O9$P>jjmcz>U>0c%oVW09XpEX5I?{ew3 zM-3omLmQ>L>@-Oaon-G?55EkOq~Jiz-XXi}y+)FDVoLA29voE?6XBw^k0gvOu!riK z{PXhi&_3+iK0pB6|LV;SGSrjmSJJEY{Q(7rbL4~p26))2C@aI_TfVieDn8J;*ywQ4 z*?r;!IfW9#5zccc4lGYh4h 1+A9LJ7DgDuzlTsx_HKGr;+jG42|MkeHAJI!8g1|Hf)PPQNviI? z-un9b#zs}110*o@Wi%3yg`RI!p5D#O91|D!Rf&b2i|9E(kDnu(#AmZp)Zslz-^Ho1 z^pq5}2)Jj^D4 Zz_InyB{?~u ?KDLIL)lVgy? zDV!etf;tZI%f368kzqTJ0jV+Bkr=iARC9(WQOWO!@#c*INPdxF$Uf&D4h@}sskm|H ze`LsZVyY&+F4ey{_ax=>cc>#m_K2Ts?DapFd=KxSu4q>X3TxoTZ4JGdM_17}=@`rm zHZ@X$v`4auj2^|LUe(PA?3xeOrer0FpAES4duV1x2CDH*l;~`v`Je0lx|NkAfDWGD z M2J%P7(KG<7XaeX;_EH?vLg4WZ)!2x~At~AvhO{|yqQ~U1tN7BK#+=rYd`eG5+ zl`UsC^~vV{ioLmILh%<|@nK!L`kYdo4#M7KlT|F`iuAV!&oDpw+VbMXXK3q#mGjKn zd* &fwq|2o^WnpXtcof3SCO}WbA0I9ecl1X zJN|~(+9_ORS{6{Q=LusPEK%6f|L9ww3``>)tZ%wU7=|$|$gt`Me)~N&M0d zGT9nf3IUm2yo+R>0cjOJmnHmTRgyr5qWXiw#%jbdLhv1pNwd`WpKxGpHR8p{0(kv> zMhtv Lp;Ngn@L<7x6$<^bTscfF=YF;)Et zj;8HRajn(#+54dHsjDote`x1Zn)3b7sYK9=1i2*fQ1ovZ^Q${+;Jqnt+ek;L!A(b; zSULYnImMqY7^}wj+0M<*de>3;oP{0da9R?LR4mam+skI+!M=s*Vbq(RoA*$FU^8v- zmG}F&D3>3~a<$3(?tdA=dW^o$f9TFyTZ8Yg^yZFm)}23rV?p+8wc5_&?sNIuZX2#E zVjAo4cm3hM@9(eiSfJXzf@db*E&)m-g!Kx$La$sB-^*>s1_nQVWVdF&&TX}g{qfdm z$@iQSTn6Mco@cko580roL49=Q%o*p+?*k+gI(#{`_bSR2!Kt`-+1A3M1H3;vn>h!> z+K%mr*^%%I-7#Xaoy!kZfx>SgsjVAdeZ!!yv)s?+`Y^wSM^~qU6h9aE+)BPGn0p(R zzoR<>?~zz%$8u?8h%(TRT=oY4#I#@e?x#cKT}yvMwh6sR8ItRie-v?Ug4;M~GX>$? zdvpcI6Asv!q4JK~7 8f^Sk@s3;YLl|$CuNKWJ3V+*U1<$Y-0i2lkxp4>~E>-89~VV zxo!CM2ZW96u?E7^o}@im8VEW&bhq#e^ydeSVUvwoX5iV4UT^yyTm69ieD|M*O(xKm zSwcVus=iI*5YCReee%qzDVStbVuf^h1}c*CyI=hR0a3c`t$|KkCRSkQht&x?4aqfS zE~%=FqVU#; w;~G1CPAXS9bR?vI$8cn19uWp^ zn5C=H`C@%h1S+SALzjPSJI^4Mtli2Nd?0%Z8fiWh6dTA5gJ%f{kS9`f0!CW@(Qi2k z|2hG3=GaRdfK_X0we&9$V$RvvUWkN~EcxW$g|7j#1SVbkwdA!{a3(8E^w`g=>^k2M zHJ-;cw?^+QV!8tH_K!Y9dzN33F(kD`VQ0+{NB3|0Gp{Lrk<2vzxCsox9dQ99UEUXW zx6fdMn mDbV2LC$kcRDoy>lN!A{AH zjH=HQ6I)jlc-VR;41G_hCVbm*HgE4U5_bURy-(~|VHyP zd<;IdxIpd9iLukH_ojlL!q#O2TYnPm0eZX3@*Ua7D9LATOWsw@Vo_(C5cDw-4*nl5 zAdO#G|379o;+h3#&2A$t^onT@`C8nUn?^b9`C~K)zMa&JYV4OyC9gyj6&0cGl`EP3 z^@~tDtqzCr6}cEcaX5zV(boMD%0+kfs=vUKEwgu_YPk3urTYI;L)?p3Bl9_cIdn8- zI{eH)73>kSOBW#X(L#eQEI9a{?A?}z24%^$8*q^s-O;oky)dGXIWjyt$}lpA;_N9f zYf8&6L68WzILZE4DZ7_5XJ*H6D@am6yy>B#y@rL6*umN)FB$Y4AP!jSe{JM|u!L-< zw5FyepW!11IJH97fvv$jY>3>b6d0O2{6Q!@DJ#y=DX|7oPPDIZSWw!+KC^z5kSYLT zkIF+{{&ix)C_{rWaPN19^By2YP-3e*rKV6q>Q!+M54W`%$vG9@0KBG7vx?x1;yH zM9Nu5$3$q%c%6_5PI4YWhd IWYv!B> z+<4#D2g9h-s}5LVH%e*4tfQlI*>i(BLMGbb6W_n@V0-!Y?L`3PBQr+TS9YBn6fB1n2Lt$S@2Y0 zJ1sr^t+hEerDR1pIkKw7+S$Ff_rd6a9x6q4-k%8LXQqt-uG6oA)*3&a@jk6{)PXhW zjO)2`lQRMt@+^}oEE{wv8A%Ms&4r8h=+JR-aw*Y97-&esM9+1y|KoSp#NIz+(tD;~ z%)Dq{`##)n4{c3ni`2Un&6b$7t~4ks430!&1ox;jezgLIyB3#pHjv>zoaO1&Y;u(< zrriyk>Ri`K>SXUJY|pv@5kmi+cp2M{blcuX3FO3A)`iYiZyK=H5N_FN^0IeK%D>)S z>M-#KWOD~V_Kel29Ps<^n=V^&KDW1+6P)WhrG4!C9sK|q +5y-ZC&TEL{h*_-vE)myca3h#z3mKsA=)DuV{x3iJ1%zx|{|<$!b?g6zteSlT z#rnUQy}p^Xj_sv8cbFu!K^Q!xqznoUzPtk)jhK70e@6Kms^SW?=rlA)r)ORT*B@Ok zF+Zf)M0`K*524 W+9ln^NEv9dbZU5m4FO&|nWBP{{l#5a z_rvgt_vILk%&Raqcse?dkDv=g+#-*z_%+)P=i~m=f*8I;{E~7 0smXryea&s5L$zu|ao-ABg#Ru?K8^Fjso7L %brJ qZbX#144o&TqQMG-Zrqdw)U| a+Sy!m8saVboWUYL3tr_H9y)GP30@s-0|FGp2%dhN-gxcjeXzE rFT67YgNB^WciZXuOn+G(78n7 RTMY&4`9RZ8t7A0gQr}JKrVdQw&aef0D{^@TL6uEG^AxvFHuQ|=7O~a zvuY;2rlFgfcHqDPE$pHV }CE;d;3UEYy1t8gNnR%t^c zh jp8Rrvw*=Jh+Y1< 61yb8u)kgUdp*DfvmF5e{8~chykev+DLm(~?_;R~5(KzXG_Za^ zZz<9MfbR=@6%6;%v#{jSSnbDCltf<_GAKs7E~rI?gh=Otxd|J=6;AZ6*qRS?$v*m{ zCsl0IzCYtIzJ-86esm|sPdZs@Z|2dSM=z7b%ZU`Burn0%FjLmiAdQIiW%#K}pW*0j zk$4RLdCZ3|;j_FY=Vehu1LWU}U?*M#pVgf{FI;aV sODHyM)Zt}A*-=shWGBfsN?0=B@LY>3?aZWs&P1t7AXXP zg*wWrs)l(67g6Dk>7+ea@zq-a rt@5 &Q&H)<;VLt@Oay>lfV*7j&M-CLcI=hO+J|kNsb4yx zaiIF^GW}SNyE;JU`R@TA#RGl}I?1RdF?jdD22~rI>?No`rF(>7=$nbz$6!hbAucWP zSde0A+1Ve-DY1o1|B8M=bKy65YI{A{FqICI8pdWiAw&f6!Z);)np%$~l|(3`$J+NH zMd=t=ta#qh!b3aiIFK#+(lUPLuQ|gV8wbQWSuj79hpf<)dyp^!m0Qnx>`qsy+rar0 z$okdvr1PENd*ojjW_s^dRHo6Uffb-);ns>bs;|+kpDYwsQc-b)#2WQ4OG?z)nK!~j z_w>){XV=SKiw&UpT!T^+oIJuku~BF28bbvl>2K8P&Bqa?9Q*o0S7Q%4znrI~CGJZF zBXQnPO>_}_(ytvfG_IeFb@456gHb0rKwG!;9_?(a4JSXQ$jJ`^owQo9P|&cp*%Su& zW{;rPg9p+AlXjeN#@KxG+8SIdoIkyel+O^grq_ 9i^~QTKCylQ$R1q3mEGg)YKEXkD9=b4XtDl1lj+N8n^QX z)e5cd-P Iiq6sT7~6>pVfE_>{nNz@h~ARR|dH1eX;j>uJ*CcF>mN8HdHw zZP64}=k;HGbKEU$`a^jkIE1l}#2!py+Z@hiv!G~sY&Lxi)c8F)ry8mA-4n6pYO=?$ zHSYp8qn-P -