From 4c47ce55e24666bddad8809b6a8502c37b88b4f0 Mon Sep 17 00:00:00 2001 From: ZiyaZhang <199893125+ZiyaZhang@users.noreply.github.com> Date: Sun, 19 Jul 2026 01:05:01 -0700 Subject: [PATCH] feat(desktop): rubric+growth+runtime three-page fusion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Architectural refactor unifying three previously-independent pages around a single shared event-log model: rubric-fusion-model.js — the shared model. One log of scored events keyed by (rubric, runtime, timestamp), plus a small set of derivations (recent-scores window, per-rubric aggregates, per-runtime rubric grid) that all three views subscribe to. rubric-fusion-seed.js — fixture seed used by tests and the isolation-machine screenshots below. The three page views: Rubrics — now leads with a hint card (recent pass/fail streaks, stalest rubric) and a stats strip (7-run rolling pass rate, latest score, delta vs. previous). Rubric list is unchanged. Growth — rewritten. The old compact-window event feed is gone; the page is now a pure SVG time-series curve over the event log (score-y × time-x), with per-rubric coloring and a hover-time tooltip. -420 lines of the old feed → +630 of the curve renderer. Runtime — adds a "Rubric grid" tab next to the existing Status tab. Grid is one row per rubric × one column per runtime; cells are pass/fail/unrun, click-through to the raw event. Wiring is careful about the five hot zones the parallel lanes are each touching (nav / chat / context / trace / artifact) — Lane D stays entirely inside rubric/growth/runtime and their shared model, so this composes with the C/A lanes without stepping on their finishTurnContainer or chat-triple regions. style.css conflict against the C+A combined append was tail-append vs tail-append and resolved by concatenation (brace balance verified). rubric-fusion-model.js 419 + rubric-fusion-seed.js 624 + rubric-fusion-model.test.js 181 + rubric-fusion-views.test.js 189 + growth-v2.js +631/-420 (SVG time-series rewrite) rubrics-page.js +89 -0 (hint + stats strip) runtimes-page.js +198 -0 (rubric-grid tab) index.html +7 (three mount points) style.css +252 (new page sections) rubric-fusion-fixture.json +94 (test/screenshot seed) Test suite: 1704/1704 pass (+22 over Lane C+A baseline). Isolation- machine fixture screenshots (rubrics/growth/runtimes, docs/rubric-fusion-shots/0{1,2,3}-*.png) reproduce from the merged HEAD. --- .../desktop/docs/rubric-fusion-fixture.json | 94 +++ .../docs/rubric-fusion-shots/01-rubrics.png | Bin 0 -> 173387 bytes .../docs/rubric-fusion-shots/02-growth.png | Bin 0 -> 141445 bytes .../docs/rubric-fusion-shots/03-runtimes.png | Bin 0 -> 114799 bytes examples/desktop/src/renderer/growth-v2.js | 623 ++++++----------- examples/desktop/src/renderer/index.html | 7 + .../src/renderer/rubric-fusion-model.js | 419 ++++++++++++ .../src/renderer/rubric-fusion-seed.js | 624 ++++++++++++++++++ examples/desktop/src/renderer/rubrics-page.js | 89 ++- .../desktop/src/renderer/runtimes-page.js | 198 +++++- examples/desktop/src/renderer/style.css | 251 +++++++ .../desktop/test/rubric-fusion-model.test.js | 181 +++++ .../desktop/test/rubric-fusion-views.test.js | 189 ++++++ 13 files changed, 2259 insertions(+), 416 deletions(-) create mode 100644 examples/desktop/docs/rubric-fusion-fixture.json create mode 100644 examples/desktop/docs/rubric-fusion-shots/01-rubrics.png create mode 100644 examples/desktop/docs/rubric-fusion-shots/02-growth.png create mode 100644 examples/desktop/docs/rubric-fusion-shots/03-runtimes.png create mode 100644 examples/desktop/src/renderer/rubric-fusion-model.js create mode 100644 examples/desktop/src/renderer/rubric-fusion-seed.js create mode 100644 examples/desktop/test/rubric-fusion-model.test.js create mode 100644 examples/desktop/test/rubric-fusion-views.test.js diff --git a/examples/desktop/docs/rubric-fusion-fixture.json b/examples/desktop/docs/rubric-fusion-fixture.json new file mode 100644 index 0000000000..77cafcc07c --- /dev/null +++ b/examples/desktop/docs/rubric-fusion-fixture.json @@ -0,0 +1,94 @@ +{ + "_note": "Rubric fusion fixture — feeds Rubrics/Growth/Runtime demo. All demo-tier data.", + "rubrics": [ + { + "id": "svg-gen", + "name": "SVG generation", + "group": "interaction-reasoning", + "description": "Iterative SVG editing over 3-5 turns. Judged for shape correctness, style consistency, and no-regression.", + "dims": [ + { "id": "shape-correct", "label": "Shape correctness", "type": "continuous", "min": 0, "max": 1 }, + { "id": "style-consistent", "label": "Style consistency", "type": "continuous", "min": 0, "max": 1 }, + { "id": "no-regress", "label": "No regression", "type": "boolean", "labels": { "true": "pass", "false": "fail" } } + ] + }, + { + "id": "bug-fix", + "name": "Bug fix", + "group": "fix-optimize", + "description": "Reproduce, patch, verify. Judged on minimality and coverage.", + "dims": [ + { "id": "reproduces", "label": "Reproduces failure", "type": "boolean", "labels": { "true": "yes", "false": "no" } }, + { "id": "minimality", "label": "Patch minimality", "type": "categorical", "values": ["heavy", "ok", "clean"] }, + { "id": "no-regress", "label": "No regression", "type": "continuous", "min": 0, "max": 1 } + ] + }, + { + "id": "multi-turn-feedback", + "name": "Multi-turn feedback loop", + "group": "interaction-reasoning", + "description": "Five-dim fixed rubric — the classic RL-plan Stage-2 rubric family.", + "dims": [ + { "id": "feedback-understanding", "label": "Feedback understanding", "type": "continuous", "min": 1, "max": 5 }, + { "id": "fix-effectiveness", "label": "Fix effectiveness", "type": "continuous", "min": 1, "max": 5 }, + { "id": "convergence", "label": "Convergence", "type": "continuous", "min": 1, "max": 5 } + ] + } + ], + "similarClasses": [ + { + "id": "similar-svg-gen", + "signature": "prompt-shape: 'draw/adjust SVG'", + "count": 5, + "sessionIds": ["s-svg-1", "s-svg-2", "s-svg-3", "s-svg-4", "s-svg-5"], + "promptSummary": "5 sessions this week iterated on SVG output (draw/adjust/refine)" + } + ], + "events": [ + { "ts": 1720915200000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-1", "turnId": "t1", "rolloutIdx": 1, "score": 0.42, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1720915200000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-1", "turnId": "t1", "rolloutIdx": 1, "score": 0.55, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1720915200000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-1", "turnId": "t1", "rolloutIdx": 1, "score": true, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1721001600000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-2", "turnId": "t2", "rolloutIdx": 2, "score": 0.51, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1721001600000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-2", "turnId": "t2", "rolloutIdx": 2, "score": 0.60, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1721001600000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-2", "turnId": "t2", "rolloutIdx": 2, "score": false, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1721088000000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-3", "turnId": "t3", "rolloutIdx": 3, "score": 0.72, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721088000000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-3", "turnId": "t3", "rolloutIdx": 3, "score": 0.78, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721088000000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-3", "turnId": "t3", "rolloutIdx": 3, "score": true, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721174400000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-4", "turnId": "t4", "rolloutIdx": 4, "score": 0.85, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721174400000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-4", "turnId": "t4", "rolloutIdx": 4, "score": 0.82, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721174400000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-4", "turnId": "t4", "rolloutIdx": 4, "score": true, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-5", "turnId": "t5", "rolloutIdx": 5, "score": 0.91, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-5", "turnId": "t5", "rolloutIdx": 5, "score": 0.88, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-5", "turnId": "t5", "rolloutIdx": 5, "score": true, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 6, "score": 0.63, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 6, "score": 0.71, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 6, "score": false, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 7, "score": 0.80, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 7, "score": 0.83, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 7, "score": true, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "shape-correct", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 8, "score": 0.88, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "style-consistent", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 8, "score": 0.85, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "svg-gen", "dimId": "no-regress", "sessionId": "s-svg-live", "turnId": "tL", "rolloutIdx": 8, "score": true, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + + { "ts": 1720915200000, "rubricId": "bug-fix", "dimId": "reproduces", "sessionId": "s-bug-1", "turnId": "t1", "rolloutIdx": 1, "score": false, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1720915200000, "rubricId": "bug-fix", "dimId": "minimality", "sessionId": "s-bug-1", "turnId": "t1", "rolloutIdx": 1, "score": "heavy", "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1720915200000, "rubricId": "bug-fix", "dimId": "no-regress", "sessionId": "s-bug-1", "turnId": "t1", "rolloutIdx": 1, "score": 0.40, "harnessVersion": "v0.9", "model": "deepseek-r1", "dataMix": "mix-a" }, + { "ts": 1721088000000, "rubricId": "bug-fix", "dimId": "reproduces", "sessionId": "s-bug-2", "turnId": "t2", "rolloutIdx": 1, "score": true, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721088000000, "rubricId": "bug-fix", "dimId": "minimality", "sessionId": "s-bug-2", "turnId": "t2", "rolloutIdx": 1, "score": "ok", "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721088000000, "rubricId": "bug-fix", "dimId": "no-regress", "sessionId": "s-bug-2", "turnId": "t2", "rolloutIdx": 1, "score": 0.75, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721260800000, "rubricId": "bug-fix", "dimId": "reproduces", "sessionId": "s-bug-3", "turnId": "t3", "rolloutIdx": 1, "score": true, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "bug-fix", "dimId": "minimality", "sessionId": "s-bug-3", "turnId": "t3", "rolloutIdx": 1, "score": "clean", "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "bug-fix", "dimId": "no-regress", "sessionId": "s-bug-3", "turnId": "t3", "rolloutIdx": 1, "score": 0.92, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + + { "ts": 1721001600000, "rubricId": "multi-turn-feedback", "dimId": "feedback-understanding", "sessionId": "s-mt-1", "turnId": "t1", "rolloutIdx": 1, "score": 3, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721001600000, "rubricId": "multi-turn-feedback", "dimId": "fix-effectiveness", "sessionId": "s-mt-1", "turnId": "t1", "rolloutIdx": 1, "score": 3, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721001600000, "rubricId": "multi-turn-feedback", "dimId": "convergence", "sessionId": "s-mt-1", "turnId": "t1", "rolloutIdx": 1, "score": 4, "harnessVersion": "v0.10", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721174400000, "rubricId": "multi-turn-feedback", "dimId": "feedback-understanding", "sessionId": "s-mt-2", "turnId": "t2", "rolloutIdx": 1, "score": 4, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721174400000, "rubricId": "multi-turn-feedback", "dimId": "fix-effectiveness", "sessionId": "s-mt-2", "turnId": "t2", "rolloutIdx": 1, "score": 4, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721174400000, "rubricId": "multi-turn-feedback", "dimId": "convergence", "sessionId": "s-mt-2", "turnId": "t2", "rolloutIdx": 1, "score": 4, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-b" }, + { "ts": 1721260800000, "rubricId": "multi-turn-feedback", "dimId": "feedback-understanding", "sessionId": "s-mt-3", "turnId": "t3", "rolloutIdx": 1, "score": 5, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "multi-turn-feedback", "dimId": "fix-effectiveness", "sessionId": "s-mt-3", "turnId": "t3", "rolloutIdx": 1, "score": 5, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" }, + { "ts": 1721260800000, "rubricId": "multi-turn-feedback", "dimId": "convergence", "sessionId": "s-mt-3", "turnId": "t3", "rolloutIdx": 1, "score": 5, "harnessVersion": "v0.11", "model": "deepseek-r1", "dataMix": "mix-c" } + ] +} diff --git a/examples/desktop/docs/rubric-fusion-shots/01-rubrics.png b/examples/desktop/docs/rubric-fusion-shots/01-rubrics.png new file mode 100644 index 0000000000000000000000000000000000000000..3f1fcedef7587caf4e590a242e04b11d50cdb8b9 GIT binary patch literal 173387 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
  • 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�g^}gJM1puU$XnpEIWZOiOUjon|Tj%d9m%eOV2izBOxnUYuEOz_(^{(w^kwM zV5dJeZcXC+yF(@@Z6Ue;6m&t2Eyr3IV3F){)otkmryGFzri*CAO5;BeGF@&;En%D-kDiGM(edW zElBwN8)O!Vx~?H4aLf7y~0fC)*QhUeqQ(Z0Sa7lPyI&i&p>B9(gM z(P5OA6WgV)S|saZUG?TzAeFi+l$VU8q)nQquC=XgWY(VeYVKdI?UR1~+>Kq`SGu%p zl0ixiFACFQkl8|c71CUBfgb6=sIcA2DY?~*4t*ZF>8=A8 z_me)!V31QM43=9v%pF0;b{@dA7Yi2$2cp9DF24GGN*AUoOD{U$2kv!Kh0N2}*}_=6 z*b0`*z3(o5!^jBPaM%bg>5C@G<`9mhbo-JReen8z!a9##Na!t4Ml^RZm0n&B#@DZx zjRdz+U(jdM61sVNxo#EpQ^NCAPD&c|Sy1Yag1A@~Kn`=_vHV`6L4oKX8@2L)`_$k~XSKET}Dw{IiR zvo2Cnm27r#5gC!ZY&WnKLiTTvb33G!c4eAQcVr~C>fW3-0lit0va&&Z*Ci6=) zT8L*Vxs|Aq{PWwTsP&Hg-*(bfvFBBR;2-zzLKVu+9uXYQiRP>+UQs?D?4TDx3pq1E zF#dK&!*@rHnkGQ8`#6j@R(`+udT^EkYM~1707m2AhF0zbDZX|<%TtwAv!f$Cdv zh>qDw-tpi?MhkZ}b$Hq$$bnG8px3!8@j3S_x(MJMfv4C>N_1o9T%W_vu6Sa5q(Hg4 zjZKys7uqB?x45{ts$pvfxO)TbL1|*sa1}=(U;(&5!c?FOrcv}%RQ)3(M}uo*q@}^& zQ6_CcJ%P|IayFD%s4ib)8Uaum=a!@c!36glAbbg!f5R#hb=rkcp$Fh$A!yYZe#;d; zObE(z`TFV@<}av3Ah0uqQ2>}xfUIFpF+4ij4va&w_{^hFY8skYjbsE8eaDF?U6rDJ z+&o`)CJ?9MljLO2oIXta0?hJd_hT^I*JKF!^8=XY=Pu^9>c@0WA-$YC(5&={pMf}u z)2>@1H!%ums1axJtG$Ud?X(06?W@LGp3sC`&%6k*zEz){d09=f^6V zKKD7^?TZkg4JgvJk$jpFiFm1jYy2@0;*&tS8ok2YY}X0_;QAYg_e#&Fuv!j>uP^g|#*cjpv@8 zA!qC?|JEWdnA8$B-BRS$Z`6inmzE}i>>7INt~BBX$=G0K#V05T1Mf69#2CH+$7*At zO9wdK>?}FRV-Hq@y1#shN6XTcyP5f5z5>+Q?g&u#H1)%W}Q>zjg)Hsa?QyaR`HMZ*D|p$AT*bn z82f23HQ95$gd`Ge9cD!UaIXWCR*e7Jnmt_V>Y?-Y;&=QtkT=#-R(ui?McT*P;Ql6d zM)a_oiBPDKOOMr{yaFT`spd6sSOY>u$?)R<6O)qqtHfKuyP2Hhxy;bfH79P`Ae7|w z>vn83fDpV{>{H9do12OHTPSxrAxQ{)c8U`S+ zbhv7)9Z6-4?F^ROD_FA-4Iz!9C-1{8)5ISbodfjSoUQc4Ec`{y{@|0F9CY3;%f`!C zjg*v>0AS9-zf+O$=ut|^z&nbz6KGFe)-vxk#_Y&2lrze+emLI3%0O8Gqmk9$zj~7V z%O<;A(Dgqny<#)oQY7QCK+w!Y+v|+;B3aYpM+mqkq@HvX4qeW}9>suuT>TC#X&IvaKg!TQ5S4IKI<&PPN__ zaKDLYlXeW?ESzPSa&rdPzzh2+B?Cm7M#;&h(|xx-VQk$m6`3L#j$%yJI6ny-1N zEC}@TWNhGWFu*{PZ3v-i=(suDo->bSs8!)>dvNYt>DRzi$eJ)Z)8>|t7-&r$)y;?* zbI|9h1A4IaakPiWD(1e|t`A}=24wIBoC^phYM2bu@w^TQ52vBF_NKB%>V`(L4V+Od zI_+i87xTWH2cw|;+ALzUoF06%!Ky zcT|prWeVL4*qa#h56mwE2uiaE5QY*E;|FC`Ram^40?@|wzBhM+Pfi_#kbGQt?4ID* z;LILF1cGekF=X#zANq1b0L&pMiZ&M}3;y1t<`eC#Xm!9jKKpQm5_k{BfABa5i(b-c zNs8=Jo^`A5!7aVLJ=5L>APcnt_D<{J~~#`Vw7*cTYior)CLYSD-`_S{R`AOOW>xu7_ zROY&5X~}Xq_Y>s68;stv*Q6Cb+*H~6m^e8ATM%%OX-gHGfWUaE>v@FHL96i%gm--F zebT#N=+a zAxs5vZX4zkZZR>1#h!O1V*{B9H&-O|9-D;bA&d;cC_FcPJfM2pw#9;vPMW9kqtmFz zs@`Tym!S2eXA1iSkH>~Xk=WE776`ntI~Y)eq@xJ2?7pa@+UaL|<(MT_65&v6pUdXM zYuB!MntF-9ZQdiKU3c{8@IN=r&CN|s|2c^lQ-w6d?FH~w9H5&h6mTsK(YC_e$J6vu zlp<;nF#E0ugy6^^EKJ>nP-7+aqQQ+DTDSpmN220TGWurGv%<9A6n@5~d2y#36-XFI z6B8h7Z_m4@8z#bHXn2|87F^On6+2_rGK$t4q8y;8IpcloPOYEIBJbuwj1{Jz`kCe? z4wx~Rl%QhU81PUR6BEOZ072lfW6AgrzFQa|_xARIMYS;2ta*r!mW&b;X|Ew>CZ?`L z)sr|+P();#Z%(=yTUvfk^54dWC0&6J;r0T$iA2nV@dY*HW?*6muXQLs#um12Y?Ng) zV1%NJd;TSdDroB?B_?QSghUO{L??^c`cbhLrn8hJt>PZCBW;YI>u z2+Qwp0n%TRmX-!>49&@NM&XxK2;$mLMTPO7oahzPw)9DiV9oD=etuMC``uH_(p5y` z<^d}lAJtd*zJ2?-x`n zu)8V0IdzpVs!l8C?$%97o_E^#>rlW^SEX-)hY!1!Ug4v^fzy;t#%b*HtB;xXg^L>x z0U4>Kwt_o`dA7In80r*YG=7pf_fEaR{Q;ti9(Q06?v~4_S5R&G5q4X^jupmYW4AW2 zGoQZuV+azGl;0oRG?1eO(Db1+85<==!=Fzsuk7i3Z_MQV1!*sg2W57BDwzU7k4K9F9c z+E+(C*j+^eBM~l+n|joe$41=U*OQO_IXWKvXNw9OHWi>7hu}sY-m^uG1(W(lJ5Aij z;GC0_$LDz92-?ji>llX7p<)-zma#a-hQZ}OeOma$;4@%BrhP^0m?R&)u#!o=?ejJ* zRH&{1yuI$+5(p8GC{m11h}{M@IhC~NjAdU@+T$&e=>ypZ7QbZ7VKy+U;3o3DLOikHmO_Bfo$Eh;_;giBAk$zo%yyou`oo zqqNw#<_;mQ3KMArSgi`3+ih+2j*0)8z30ihc?Ke3GU|*gCocoRKK>XKB{VOpX*z=R zl$`T@dhXS0^_u*!7r4UrHOcTIj|kfsK-R39h3o5dguP?HH=HTtFnCcF2CKcUEKHbKs?7KkA&|d=sjks0NL?GUq)$Ij} z4lMYJo}SC9swWQ}>W?irbLvz%<^tvA?Ok2Ege{@SQNk~wF(D4zz?elt%PQf7fy)Xs zDA;7Dx^gov^3>JT$jt9fGW+MBYQkqA$|x-`)qS`>{-92{^O6kNU7Op|WO)ePhHQy# z2%B=_P1I|K7VmJagC3S6;}Xz|WkXcy>>x4PPOWR_o<|w7CMNdh9+$V-HF(mL3f@vN zZ*P#-4K_!D2=b}cmX-3S1Jlxe4^~EF@ovnp2}1T>C7T9iEWjdP-wU$rvm5KAm42-H zKOT2?>+y$t(@8Ucah5{W2{d~6;((GMp~t+TWc+KOxy{fMDuF9fF7X=RC|OrLk5pVM z_y{(2_~kNuR(fbzRb3%Ym1PI$!Ma|MdK0fhu&1*jtw&qWqT2U8hwW?^NBC32DAAzW z)@);G=^vm7?t*9p$|eY7eGLDogC|0#I+q(ejw^i&uvD;~|LKENkryw*j_bT_F%bek zP_g^sr``|n9@!-p8Xk^+QifTa@|&gWvgMkfgn@oKR!P6h9l%M}Rhfb&6?c(}bFl%F z?U{vljBIFPfsOqXJtGmljYj19@FG@1{R8&<}l|0%61b}K8 z&o?}``K^$h3Qzj^sH!yD`I$N6AutiZ<T@V;ogl^F;wItSJZnjP%>q^p2d0j?=P-Z1JFCu~))fSHD$8;G+&#G%mF zTqv?RP6A^keDu4rMb@FV+Kv4v2efPpP z?Mc*2NYpUv%Be*LJU!*p#Kfa)ai~-v80#&ti!3Z$N7+C23KifK`rs@5y|B#9Gw=@z zN~n!nbNvF|T*rqIr+J@w9RHwIftG>%iyYnBGuybdL7@Z_(uY+t0n^h;zesp#HWk?U z0q;Q7ah2~Grq;!qiv$7(=1pkTfCXH=r7P6kUF;HxaTL&|K)p1y=IMmNjvwGvv4}5W z=$xv}eZRogVl;;hW9|0b=_pt`h|u{m4rg5G{*Q=apo)Xix6l= z)r(R$Dkdg#EEg;*+}>hmFDaiG80+wan(Weh8wj(2(4%txGB;ejw7S~W*=gCg;gOb> zCLK*i+5HRbK)`q9(N4R5VHSWx7Ri~hx)~8TK|3IAsPHMaMfV7R4Rf_K4usdPu4Ncc zz`qH=mqKI^M$q7BB!d9I|LX^w7GN~zynnCvX=y~nq7!<3AUK%OIbHYs-TP#RWU>A1 zwVr(8G`;Ni@7|$2Q|4^$>RJWs1me@h+1b!ZEu zxcwcki@qCL6v@f5$0_>{9)v(&@J=stpdw5y6WTJa>*ZPohKA-K>FSR^G_EEQ6mfwW zv?uni+}j@|N2;>DMF4wAFljyx-V}&w|KKE{LD7ka?6o1oU*bqH0>fg)z|1Iib9bo@7Y0?i+&e{$on4T^?Db#&Cqt50G-(z#Xl`p;i_*$63krdjK_ zn;QlvzkZ#u|Kc^wyyxhN6O)ON3Fl>Hp|7`F{9e3Cv?o#K4nzg*1D0IJ`*=bTj2*cG zk&?x0ey^)&-4846*3Fw>!~q~O?aYcCr8#x)=LC)`e0+G$H#H0Hlg85gWIa5Nc9Z4Q zJEJrmVoMDYsUu-jg=`E$SKeSuyW_LO;pmcS()bei4TMyi2uA^fZokKyJgZjw$=FMH(0WSY^*<82Ef1ot0d3XM2+UNLq4|A{@9c0S^ zX1BgK_Qtu}Kr<_)jTmrEu2+$F-`ar$r<3Zf#c8a2a`-L#4FQJWniEcqFyR$u^vMa( zJq?*)yvC)WXPpu)Umo@nXD|*J3{MLDmL%AE#lR?`r$;rmvEg^lzaqkMWjIMIwx*DH z=r}vWao*YAF%B0HrWS=9Ad29sm_p8h3Z2Uf{;^YlB+5QZH&$*pYq+)7%IT^ZU&%Qd zPg$r06;7&n%3_3joPV!_zoKV?Mlu8hV>(;#eCw4mr4oe;tBvS@{ z{Y>+$2>`ZtThOrheqisgw1|y7>?9v~wq$nr+@ozI<1zL0{Ym$)f7~%1#25cqo9@g*rxeXq5^_?;M;8+}VYpX6 z61y|j#DPnquC5M;n=iv*Pj^d7h#is&{4ozTK^`Y3M|UhT_!>-vN!zBjM@8$%mn^kXAqj*? z30`-&9HV*GYK62<@x_r4EhUnuL2Pt?ay0n3gqYx{uAHi>E<6u&SxEvDQftzTiX$*7 zOl}dr9Q5DWmYTMWjSU|qDT$LU<|Iur6_}9)Paf7B{m&?~#re-9u4FUQuJ5Wk^ZK@u z5k^wx$%;Mhk>%wg*v3L>^`AeJTq$w=AD40x5=wi%f90O|g-2WV?mYEBzsT2L`akv}BqTe_ zew_3D4;O&=!u`Uad-nDAZm?@kjE=(n{Z~di`YLDVs~0Y$DI9@LcQnIfpETNQYR@>< z!^~1<=D)CUIAmTgj}1wR-g9y&?$H~8thcVuiWy}gFo+C3xUMRoZF1@6*Ujjq{W za_6BUgGGwB>H&hBy1J(V;oFIPztx;vJ1`m-dDVYAw4KA1u;<5zeWXiqj*9gmVJzW- z{%modb64VkFA88F>Y+z%rhC^H7J3a_Hr@GwQ4)OT zs8D<~^8Eyn+|Jfom~u^-zjy^CK3yH1^au8r(i(<%2<|IO!1Q95j|Bk#Qdj3Ei=LZ< z#SD*|+P!-{$XDB+0HV{k6v`Qc--SjGPkgC}7@L}M{$H%UcUaH=|38|Q z21-{8H?V*9Bl6IuMwfElVme22dzTfjZ*LBWy zo$GY@ z1eI`2txYiE2j`S7U(nS2g@SEH@jr|#*%rU#7w(gK=R0!srsc6&Qq8>**lHA~t2;b5 zcIhgY;*~4WcWG7$9_vgVhZ`a)0l$Mtr6fR;`SNAZ1%fw!M+V*z@VKff)w1pPrGNsG zr70;)^}e6adwDb8G{Uy#=DE3^C(xn)@4fkP@bF*>>BuyRlVRPM{KQmLT#Q@f@K-c< zcI4k_@9bQVHC60N{hjW;$?9dg_UGSq{BR5IB#%~CqMpGq)Nt|hyL8Fn!8fOxZOfqx zWh-VW9fXVwM7&k*LBep5)FMtx4$e!6)ccaEWeaINY-iXi(4vTQ4I-vMM?yK*`&nvz z+UWWlslbbnqK_u4BVgbZjClF*s7ZP8iHYUq=lfO}x3#qm3{ulex`RU7eIQZ4w+&ZM zj)kQ)1|k5oKru-w1_YJrsj2l%OvoiRg@!U6ri~C5-gl7%R|yIsv z09m(#5Yw0@GQ7S5#xCR97*G9QL zpr8mDRJo9mVFq6pYHuAKvT@;Ux{4U6sYAoUaMAGB^4@H`tll3#QeM0`cl78rMCQVS z0XfNRg+eU^VB!wL!z*(UWaQ)r3D2L?T)p}nqWhSSA45oDa|LU0Fh*zt5D1$NbRrix za^0^R5)l)tY9YfvyVFd&kAoWPE_6&xNolLD_K}ZArwEbyjJ+1SPbWef51LlA-kNY=0)lF?osqLRpih5N0^Cy}U_|BXOwq-y730@ndDFc{k>nW+J z#jIZN64-foj>D%^UM|N?6C-@k5#9Fw6zZVqE869@p_QFzV}cyYVx zUgmd6 z)-d^9A;ZbLkWkG>wdmOcf0ur5Je09`=lo?nlY${1rFy z{rfxcgwD=rXtjL%9{q*-O;XapRB1W|!)TgC_u`_Howce?^vp~IJ|(c?MrU)NXGFKF z`&+U^#j?#Sy@%9GeAI-?<)yr;5sh1j@;}U0wUEf-`N1emNl#xn=!B)>TE@*06vE^4l)M|p$rSm@ zmy!UF4#Lhs(P#Pjm4nQoB<#E&TsO288p^nyy>95m@KV(A2f8#`8yaHYzkl7~=jUIS zokcglxki5J2??SXpg$ssg;_Q_z1heTuC=eB>QM;`2t!GGcJtiGaR1>Dak zTMW10fcyIUH|m6#SRggEwY9wzFKHk2qkraAq;8(oiny@w8FUo$ruWR%wRo)0q+n*~ zYHUP01R2>QgcQR!C=L-i9yqvlgS5;KfTOr&YKn5Hztht%U0s!b7X)8PdcOUJI!R(* zzwW3Avj3gFHUF6RH_G2R#vOyS;{bA zgCLU?xKz>WV1+jUi42~?`N>anxz=lM-@h-)$WWyzRbl^8$GhC)Q;sm{=PzIWYHQ;Z zGf_*%IOXuw_YS~WPTq9Th#f^Ma|n#@Ds*7>TWK6(p>=Fk|_ z?dg__X4bYGriNSDiP7(Gl(}EH-~;ocgjp@Oo;hmNKU%lbA_)7=ogqpBzMTO{v1p?Y zJaSM+ON*CDioh-^YO^p(QM!E7Cxb7t%r!Q(_tuAmgx}cB$F;1j|3b@ikdTs6n47zZ zJ7;Z;;**D%bgW|!;i}G21QZxJ+c z$vq^oZ{FM+81OGCxp3}mCTK^F(y75}ue=Pb@_+`=w)pjW z{ja+G4@pT5PEKFTg>T9rz}|n_i76%)%)r;LujS*Noa|Tz2Y8dZkbI?@L1$ zqt^jbZyh29&_uSq-Kk4UAG8@~WBVQ{nC4}X9zTEHc*e5JvPvFzKMog3qrO$0C8b** zvGAcpnT-4~%v|NTAnqC=A=O#$-tqJEA7S#mefzqRQJlNWEQi~=a3b#p-OAz6vZPT0 zb+D!Pt6hiydP9tnZ~8}U!>!|&4n%anO{<~juLSgmLL#?@w<{#ESb}@VDPSa-ow&LF zi;3k#IMs6Q1h$%^B6j(pbxKP5Xa!IphN^mANvvmqfm=i5@vFYZv`w!u3%q!e zi8*|AAPGCx&6~B;F6$2-5MR2qcf~_OTzvOVNfD*l!FX;8wdCeMF9Pj_v4XlM>Pw1; zBU$p~>?ih`SmD%yqbY_`NfoVcq`hau5Lu~_X?Xb{L=f!cqAjwCccX_2B)76axzgq2ilH_e}Ztd^i z7d1625+5ifRvpVx8~E|2o-{aRF!YhkfrNx$=wu;d)zhQ&%>UWZv5#e-uMbK895H+2 z;ie>%ho=A8GM1B1u~RU{Ix^2yr7Tm1Z$(u{PvLG0WFhVUX|L z>x?>qfeWzTVm0a2635EG>dVQM`ug>2KyUqheJ9qODvT|93%)=F+SaBBIi8dh)2>|} zei4^aT+Qj7K zgRNwpUw?QXrTH5~7AGHc{RiSylP#Gn}$M^FNCMwCcG&lcfA$$47 zX99hCGc^<0{3rdG%LbjQN-|4{P;PeP#_@|!NPaaLB_B&_Y`pm+A&2WVH!=(cokG4^ z_D;h_06!ljG>Bn#a`M4nr!5adDZNdSqrJJWk7{LEmbC%dap>y9n(plA_#rK=+nJb_a)s`g@ft#N1N*#iu!;bU!5IhP5?A^nG48u0U>5#vm;{J#m+h#f{eo z2+wC`XAvp$y{=W#WxBqsjDe!H=eb{tx{As4^)>u5y*y~0V_vVTV1l_A*LP9%+BMlY z)rEQO6elemCVngFSu8>%-qUk)N6&ss&B+O@GR9aA6lyOq_|jF$pb8A?s_Hujq_EZ} zynENH)`u@JpsmuG8Z^L>c?StwJFxsS!7rjBmqpoq&y2}yTv zW+1|c?Gz+UUM<;<*1gx0q?YmuXOli~@dK&y6$r}jscoDAr_mes{CRH9ot-<^*N!U? zt$UrK3dptDAltICw9K*_-0N~|E5j%;LD`Gk7G{JFP)e;<$7i$Xu=Z_DgG|Etk3ESwqF)JI#9es!*-&h*h7p(SUBm;8x^N>hQ&Db zPWJZNSX!R5{QacALfK<=6js%cS~BPHSAD$p4nw>LS&icA@H!yKQDOxQH5_Pr6SsMj4G5oJS5mc16l+S3RWL! ztK{IQ>3V0m&)m{7U2o+J26yCkv4>M(oJ4Pzil!{9`mf2uAGP1VVcvp_{H%aLxZ_UH z(@;6ymY08Z`NS(|2|d4h(?8LxJd3U*DEYvuV(++re-l&VE2jLAkOrv9J=gE>Mk%%Y z`t{|P3-$p-0^PSw;reO9e7t4v0?*|e0qWOS=!I_&<6!Jw!pv>8+dy4JaB;lzlN?pR zi8J-xh`8Q9-trrL&jtk%pJ)cdiBPvYGQXu3G@ens7H!UJ`N@%rrB$6E26VXV~bvb{6A zi@RQy^`aHG`a$E&@N$u>ZK{`PW((}&3{+G%ZPS+n;x8iUUtazP1j8|xJU@@UOHQt; zom@Gs)Ai?1Qm@|K{k?A2QrJx46!kkfR;4=~$lcn!OVaR-!vxU+DT^<10>1v-DQWoG z*rMuYiHF!1#2j{XywAumpX%x^Suu4h6~F!@rhwTtLQ2h>8FSSrW(V$Ssg*M*wf-tU zJImL9v^>R>Tnjtm_h@t$3wTJ;U$ax=xF7T5i>>SO`kdnc)zv?KuP@A=-cHS>;iBho zHT2VAIZhQ2cDnnafKZ-{Yn-YKfxEQiT{h3#V#i<~_*1_goMX{}yIS+d@$96x4~ z`{$EXyo`IX`J)yiyb)a*%YBdcd%QGz+H%8Vv^|16&nD=`P8Jv1X!ajTH{ z5k#XtP(IUpT=^x8CUaj*9hCpYo(sDQGD7o`q$ef#ZKY>9IO#LL(g>Va80zNa9yDl0v{e;H`EB82;kIcQ-`M!lNPF-?wwkJ-H2g^~U65A{nz#%Aih#yQ#9tE&ez4>77IL3HJ(hbv@mcS@Q4 zu#UENQKoVOS8+Xi1ztL01hRL*8V=~ALxO^LiRjceR$t-N`!xTC{`ve^BKBP_w8%zJ$za$z9qUhpKo zWIQ10t0MDFekG9pz!1o5bS)XWXUx3336*~XWJ-vM5`t*7^*d~Z$n@}4Q4Q()R6;at zxa$sa#l5)Rl;^uD$DC!-Gw!=&MtAQ!K=gUbz8)n|1{@p0K5-FQJz&@66{?Nn=mG<; z;LoyZS-_$0^CY0x`(Lu6aTv6(sN-nZ`gb7AurIZywQM{4*x35yJb(>B9K4*Q8dtKh zs9V(YvN3SmJBZ*&#LdMS!L^Qo=G9q~AHdU%$MoyaF#uIKlmjFO4s;<9+uWR^%RpCm z?aN*!hy@T*9EtkONqwN_#>5?igX+bem*$W8{3m*Sx^1k6Xs?0h;Zk)53MUZLaQ^ht zCVy;2ikH5Q&W~Pp*T}+Sh=ui>?%84B&KT5zC8Z{2tGl2Zu1%MtqY`e5=+Z+*1YGA{ zkTr_CFMmu4gzj$t{{1co??c`R+w#_Of6&_diCyP=j7x-9l8OD2;e-t`%jiF zr;89csfkbJQBaT}JU&<#LtnmZeVq9p*CAH5&*alTEpOizehm#H1>v&bXH^3OFoX9o zE}p62RpS#hMWO~W$h_cXNm}uagS~p&YV`CeRHZxwc0Rrk=7%3Ye#8rA_x)K{M?pez z+rdEw!2EXvu4~enK$Z#m59XAa_BJF90V7(hIu+A1!h$X(Bqx#`z?N)>^qGW;q1pvy+;rpS7xjPi)9QI+4031r#93X>VM~?N*`$UOv9pV%*#D<0*V(dIm zva-C4@U_g$Q&V0@Qurc;o_X}o08c*_D2Nw|&l`=7LjaI|H#I@7U8k+_U$2bFMf&dC zLyWiw_U#LnxZgK9nd>s+_L#PG2#4uBoSpU%6VJ1ndU<&vFAqX`VA%+5uX!1_zJKBz zqE3;xhH3|#rJ>M-r&iNCOx4ARHA*S5;g(C(ft8avgG`N3#MpvX!5n~Fx1ID5o5t0v zi+vA?j=I zAZr`~daVT4=0|R=ry{}X@#AxwM@#khNToKCqrV*4ZN?4`^KjyTo6qYWKdIeo z(DOH2eG?ZKmzS3}u1h;iOIxknq4J0j>+9=l1t}!-9nhm=W}fIgxZ?~nfY`*W(6vna z`_tZEz}I;M+-H7>=8>M5>S|cFvQ{}PiHiR6Tk&R2_Q9($F~Q(+bPC5igUgKnC{~Tp zL884l7YR*GgoS0pzou+%e$*fm2U3}flfa0uLOZ3O!><1XlMqOPN?zWS>$s;te*~Uq zrVNn5qk>C*HAmGH!c4p}LyrYb_|CvwK+z~--gsg~gnNj&s7!Q}F^c~l!uB$Txvdb%WiD=)xW4W}~oI{>H``y|aK#7yj zwH%8c6S! zC9BA&fvE~v%>Mi77NN9EX=9H|OWQz^sLh{`H@-bQ2(Z36NfqZNmC*eV+QWW~14|1~ z(lT;)#VE3t%RRC^x7&aq$ET-j8Fqg(Z(0Q%5^zWrSq?vb*g;eV=-$1g2Lu#W7TnNQ zg6-ASW$o>jNL2(_Q&mOr`#lDahQm(1Gs~xxWUz>^_`>Ef(Q_U8GH@HmDM>ISb-UT# zN7z}A)a1r=nF(fMkjscqMG(tgid>jEtVN?3>D-=|H`Y{D!JuzjBGS;^O~K*-5(I!@ z$Yp+1tM!&$2xELq_zMr1@jwhnMTEp6C$|_DZ%hFb9R)CCv$OP`4!jsCxxoXWlH&J8l7i5~!O;13^Xq%-@6{VyK70JPI$wzyKM~U9M)( zLN8RG{uc>dlzUg|^Zg287_2Cd3^P$v1K@o)ywM3;LC_D+&A*Y1*-ki+RJ|9FM9s#B?fPoDJk^Ojc_Lexf#A$N3in_B=a3*$pf zX{jONAw50OS000z4Z|Kzc8!9B+V%Mn^&keZ0;FyMXmT8r{4O$dTNr!3mAU!K%20Rd z@>l6xH;mfa++F`+##hIt2p4=1kAV(om*ppU-O(QF%gN}}3l4sRH59NR&Jd^A*z}9< z8lh|sbdFx>=3^|;tiF&_AT69QjNE2GXxqQU)^=+o(NJn_{7|w6;ps$qv^9|dd#p;> zvuC-U8#+ctPFCZs5M82Bga&VEe88r4RwVGEf}C90gkMEJ>F%%l=_Icx*9qV5sejHx zhkX+IPyg@VFDfV~bm-#}=DdIJzBv98uti(D7@ofAOueH=UmiH%BPJ@Uqub8S!&4Xa z7z`e-o^WYl;oth$INjX&5qP(^SN&tf?lQ8B2KL#`sgD-@P=T;=^iVwA;K=ZBWsr?{ zI9SamHuq?MHa6}IvH>axwii4o%)g8C)4&Z_eX-vAQ&5!Kf0YpLFm~$|65{H__Re{3 zZU!C5h>=fHJx)pRA#OD&uoD20+tme!jwX$qtZaN%)*;4bIzHCyj~|cNVkAYb2s*=) zH7v|dwS4~k2FlaZlX};#m4hh?%RLw`l97`GfT%TREV01842RjZ^l5E&cDpOB0UZwW&|X|BSlRePQoG{cLF6BZ{B>&&)3jQ2A&^u z_J(@ZiD4j^KZrRkXk7k)F>Aj~4H0suJDX$+;j` z7Iyg?2@7ske4(Q>UZK09PM37|PI}~PR8PpN=R5{+Rp@AmQ=4)WwCYb~Nl;4S`Ni8A zmls8gkqdv=dOi6_}Ec;Dn(OD+CUZSi-682#HN3-sed$t*~-%TmvkM#KQ7MP0bXf zHb}C(HnX!LD(W&$J703YdX?VQjxOfOb&Ind>Hh=3rlYux%mE`K!AUa6cfT21EVTTm zb%%X82GXX_bGW8v;2Ugg{tgWpnF%E&ChqOF3=9xaH!!$^rT)<)vMWwi)m*nwZi0f> zXD6q6<&NUCiqmW)01!9;A3atu{zSoO1tjff{|x0eaET;nrl|NCW=`pzyJbvcb8R&!0b~L_#27cP9SIt27r(Ou|D$ zx2tWC?bWQOO-&o|^R)=infe&?Ez0tPrttGNp1S{?o`C_N)l3I4y1p+y;kmXD04J-6Bfm((VkSA&@&JUrcLXV~FVu z3**No?>c)zussQUH@)uNyBDRUdw+yi^NUFl?K^|KnUIh*U=#?Q=pI7{ef>z&9fV1S zc{SE_c0#wW-jrDC=LJA|6Rk{(l{2F z;1FFz$PNFR=S}^*B}6`cfJ8v#w5Dak&S~#n6EQ5>t0#{TwqYt9F?)N@`4VES4!)NB zTIVE@Q&s6qTmOT|WrTlf8<*IFaL~+{0I!~j-O`s&P^wH-24k-kt zUt*$_9Xq+WssYVGzAnv81Kv8t!QsLUyodF=Gdoc7cW!dJS(V5)czutWf~VbUo~p89JFMtgp-aEAWe)&Y#?w&LtZ4H1fPxpv|o=gTrdRSGUg__l9~4ni5z;DC={GrrTVp3!zJO8TqG0e2Tik%O`ln5EC;* z;C_DQhy&-s$)9h4JF^KSG1XXF+ zyBiL>?zOZlj2qxOQSX4Tvq&>D?(?0Aw!oyM;aou_3ky#FvJu&R=;%Vi79?e#ytX`V-t2>&djGzC7z(&3 zNmft#YhysfM7+jF_+R$~eh}H}jeEz>+I2&3d7Skst8ZJIFrN3j2diNHK%oK>ny45U z7<_{R0;+&$Y<#D)JxoKx>I+-L!J|i4%4rSv(Fu;v^jDC?qLqP1`y=z2Ge|X*`lfqY zFaM)WrzpMd)vLb|S+1k2JChEm!s+ha)n_LafGa>&b_!0ZYu5s{G<0-CaS*oRXL)W^ZU@&X^=8w10= z!mP)a!qJf_^WFgw|0Fe$OHR6UiL?|ch}FmTQe_MAeOsa97&0;s62PZm21Hr9s=%~ON!t9F=34;sVY7Z%Kcz`}{VR{Ch z{mC%G?hEg5fO;$JmzS74veB}EynjSm6b8lb_&less=DnVNz*OG8r%t$SM-voz{!*G zND{pJL5^M6Y5biw_w$Wc5n3PtS6I(YzsK7~QhSo?GAPS; zSaDcIB&58p{Zh)Oy9=vN8KlPB7K{`X>7^;_j+5HSo+QEA31MhSSg*(xam#aF)Q~Ht z78YJyv}9UC6z1ptiq<`Q{EGjm#-1AaR8+JM2f&h+)iKlbZYefg1##+PO!gNi%P8LU zH0<}K{15N|%ZKu7Vd*&+sHY)zLU8|dI=qvhXqU}UXdxsd>PS~}_wWFu1M~uc5>UyDOGq3f zKs3s7_~1c4^lgYAu!H5hB#fA-E;1ls=6m264*LfX;20jxKzU}|WGG3BnubR1gxcMh z)pxY=%so<$Ddp!lc+)@TGj77Gei6pqT?-EoXA632dYY%3`!SR!+0&mN=?*la|T6}%lC$-vBn z43kxfw9Uq;n)N+NA3kK{=8mTSS=HW&EwkYhgW*l(x1{^Cgeb=-u#Y$tm%b485PenF zyLpqV3}{`(aSGP;?|enrMh?MtTvS(N{{s+R~N)#3RUTr6d6y9R%3Nwp%G!{v@1A z=lJ-bbtrY60}^FFtTKgf2s52+F+47{e4WqJlad8Kc-#_95_dJM#$RH-f^omV-mHIZ z4nOr*Ljwz1nJg@@P{V8QHzfJ`ADRQD89k$9C?S@;#$NH~OUxLUFl}rkoo(_Vx)xCc zLNU_Bhtm0u4tl9TY()s#hPZYVwm(;K1k~7LMZLo|Hi{?w*uWS?!8}B=^|;2mxa`)%2&IHDQ#asC^~S37?VqNxVnF zC?(Lx7%68L7(_i*o1q|+lUpM7u5WB4qlgi?6>QC9|EI0(7_IY%_;^i)$9(7sg?c0Y zil+I=Q)WTckU5C8*Vo@NF@gQ>R!47es7l*U=c&!s3bV^PI)xw>UyEejAq{Rnh&;rn zPl1V|RS+7=e0$h=-KKj&RM>%zr(X3)8odq`{bYySEgKuC684ePCC9}z)z`bM%ywgC z8*M*mLxL1dEDNNhP#;O={|#MJi$8fjA$xbF-_M&P4B{>?D#i{zK51aUXj?3R`4UP5 z&?M3DU^6jN(bJz00-o0B} zN5{h4{MYZ_kdnaue+6qr9Tn$7xSP>wBC>Bcl$Oz-K3(ktwHWvdsrB1?{L5D6 z>UQboc}mBsVDN&~tr^B+G%YQ^lHsPY7glB@Ma>Wrj+SF55u=)>o$>SAxBQF@(yaw} z6<{2>V`t|+&prt6Aqb+Bv^0n%*9Jm^rb|+ua`E#E!O;Aki(ny~Bu3Z}`DHhnLU?qU{Gb!m$x7QKE zt=iYqP)zFPP4--O5S3uPDSNZ87$LnYU*5O16^ht@gdIa_sOlFeo8x zutYFMRO8fp+vzWaoDke>!o5=VV1()#3$N76h{DKKVr&zcT z9^?X%2I0BM+OshVX-eEKE4BGY%H?AeI!9Ip zjvYDjT3EHIt<3_>yzp<>*l?~D3cI`9Qc=0beQMy)yTdE$isp-9&(D{7DdJdGFB6mC zvs67yyoiYb-846WjAh<`0(cwk5v@iXvmKqCI3&!(om}3?WMpJ?x!1oPSCO0h-Rqc$ z-2go7*b}D-j4w1eC(^}tO?zWeLgrddNy)abqP?A*B`hT57lNbvWDZMH?!3=@?wlpI zpzRZ!GOTuG2LLHn2C(dUi6fx#Vjm9duIKGF1!WsSU zW)cQkT4oXwG=zs$&3(7qpo|qE)oj{9NkE#-lfb}(1e{&uv;3LT%UT?f>5u*boXK#k z1krdYRt1pLY5hXbEYoL_2qPgJSKhvPQ`y@3vK)SDZipq#L=ltPIX?axk5Da?E`*Ws zfyIrp$ozZY7ufjw_xDms_ZO_;RFKJ&cmrV_ot(TX`WcnO7^_Z(Tn3_qWT@nnl#4a> zRNLnWM((UEIt_jOI8=yphJzhXO-RT^8{!}BL4Wec<-lSK3q=tYjsuE>gt#UP^=MFv z@WR41LM&0mgHu$JLC?I(<>J+d`>U3AaE5zJv7^ZhpBnVMfDgg0C#MYL@5eVId!yPlk+vjb4Kbgq`Z;|M-lNC7>V$&z?o-M?t~gA=m=W$k6@Im=lFp#9Ct*wozu+JGi zCceSD5Kn54Y)E9;V8DPl1z5dKmg#;%<@fI>qk$d&G$t1oevA|Jq#H36t5MrYW>hH9 z!5PYMnPq3a7UWzC&x`!0z77r!y4}4C8XN~UclYRhy;Y_s8g4m=PX)-wKPqSSeL=$F z$NLR8*>C<~hX*s5H*^+y8Gv+|o&6>Nve@Q4{_QQRKorm^h*UdJd^ zi#CJWjkT&}IhvZP=m6w+L;uZwI3!dh>r?nIFIZ6)jraH|AYTIk(_c@O6XF{F!C~dH zGtJec@p2E#Z?-xf-#FSri^NJ*P0a;5+b5_xU*25P#}B%4oeXv}De?dx=?Bg?1aKu25F+8bOXEEO;`9E^=63nwongNwS(Pl6bcWC>nY@9vfaBc0^N6FO6>8sp)tDn|%JeNu4&pH}iBDL{_|6X(~(JKD(ACH)^`O(^FFwatZV= z8xP4O^d@Q>%Kz8Rcy~qbyIG9KQ`)2DynY+wS#{L8?n|9s_(ecGVBiCAz-RP*A9^c6 zy<$j{+FH+Q{ETA^2ICp5o#sIk5KGp#X*kB-9Al-V+Z)3=hiCK|tbCH9RBs)8M=dN8y|66K~sD1U~NNQ{Z^YM!)33L{m3NwsXT z5^4t@KYrZaE(WrYiE~xgJRh$HOXp$g@XDvCFXX)9-SIPAt?lWudkJ)$FZgai zzMr0){3XtXD&SjFQ$M(Q3v)hA0Yzky5c}L`+JGr}e){&W>HLA4F7k95Iy+N#TB_|F z91LGRV^@EOC5u*J6!Occtg=h6aSWhHru5S4R{o7PxL-oav3d$Vf;KLgMlp z=La=#!ehg?uuDN_2S4%Z-^eX(?HBmTrAu9e^?P!#>_NqQM;OcUS54Wz-d-o{9ko$X zb_MzX*1j+8yA*U_4J#Km$IQJT;~&JtOi@U!C#9wu+1NY~I&jPwhv~T*Au;q8z$JW% zX@i`FABr{ziX&gW0)L2FI{auDaqD7&-d{SP`d?ZAAprrbNl+2LUG+f-7r+&6!Y$}k zeD=0;?Z2Qzm?NkcrbkD2fvd+)VTxhNuRAI!KJfW|83j{N{dLRi)lPB>OT1((YuBw9N@<6ye z2Rl0sUcv@*zkd9%sAq0RhM>dk+b_g~+^4U*-9P`)ZK)2UkHuXh9P>YazL#Fwb;HuK zsjG|6repZ?XCk{ZWPUdh3WPrL})(nqgz|TQX{DTfjZX4%wR`%eL(6#UEGWG|t@V^95PcQ4)2Ja=T(Q zCMNywm2hs%B2Z7m37wRd2E|NE+M0|xm3*X#h+zB#{7*23?F7lp8063Nuzv=y=_U@X zoQKJPGEBc>lSe}3Bo4J^S*=t7NQW`0bGStkdyi-flMPngT{|BH9*He_#>KNEo}Xif zVRtN$l7)6#FCaKQiLx3jElkj`!QTLReQrhuv^H3a4~Ck{Ps#yy#PR^8ftzR)KJH`- zO%3i7Czk7DkMG!_(Co_+!yK>S@rc7%S(8+JDrlQEF#eys+q-GmqHX~}K^<-JjbwAl zt(TGS&NKJStzaQ>DO`^6Vx$*y%1%q$AEo3qs(22&8*Sc6}@@l_Z~o6^di(v(z<-j5;Cv!uWq|nwP#irwt%W16)BbjZ&$)&Q6bqX^|k-hewrT zp58&6z{19q+AaC9Aefxv6HAPj-S2B~x?1F6jERnngznSPMh1p@*SufLFfGM5jgT4c#yL18T*fUzCcRX;&r$Ji9&d?j zlH8eNfxm;eE-sayqmQ+#A9qhs=G*W8Xm!a5l-9kS+leNQ=fEAWdmefd4GwdG;yGBqVFn!K?CrDQ zPUf{!qVXf#adu`BviV7Vgc091ZQ%{Ufq~Gnrgu-WqGEF~DHTHg(vuC@`d7Xv4B-D* z_Dc0)T>S4S7MFnk7e?;0mxSl*xRt`l-O>mvk@9>!_xju~DFkB=7@j}bgls@n)s?e$ z%~CGn2H5NW_5zW{fq9k7u||PcNGP3l2HOIXF!m20ns0+Q2Ou0wU6$6?O()iYKl1RT z&Fb#n$-=!P2A9q=>#@ z0qcF`ucchpczm1uS1*2u?3akJFp0ZiZK)miY40-!Up}FvB(DZ#=rV=@%4Tv<#RcrokaN0n~pZFZQKyhwHr zQ9T{HIzN2yEPq5{;B=9afVBV1tRanVzhaO(fj6+G(^vrrRA8AwN6ZQwCkz^8a)k*DzzR-YC*7Ta%LF%kzF1MK8*(K{QS#*GD0y@ z8>l7V6%&PTGsZhEupf?=VlvdwcpG01yH(Vg8+s-tzh0gjI!Tow!^$A#X?6bdnf0Fp z2M2opGNcT^mp!+zAWedr9ORlp+#}+Uw1fkY#RpaZei);Wd;%d>OpPg5=hEz8Di|YJ zg3rzZQ7Ex$Rr6JGbgTg~j|&3W!XmBDY<*Vbx z9YGbLOl)sd*s%!>Trb@`wgU6kojRW}qJK2T;R0G#CLPd3@QdRmR^}a-jPdG|(YSB{ zR`4E3bzvFaJW%Tb=R(1wR^gp3QFE?zR{~JWRH|Q=qU?pT2-X8ps1Fa>NE%r`l zfEjwHmvC?li8(-tGtp>s6?Eo69$}I}4*31j60E0Lw;Farw}xBEoxBA;@{J{0#PPv4 zDDTve3SHd)9i}EBrxS6u5he_;uPnFc9ZI<3_J4uELu!0LX+US&fbIpH+3!f-*hg$s z_P`OhG8To4PmVmLe0ArF{nvddSL#7LX=-WFGBBJntdyrn%gwa` zGQDLqRZys4`U&zoR+2ZSU8pL{qT*((fEg% zLVGgynfO?dIZQP+N;@~bXS-rIwXt!B?>C!u(+&oAsUQkvJGa_`p=dYznvK6tpho@n z-3Gp0cqy6-)ZxZQ$ewlQv2=};B%a;UuO&SuLzSP?9XW!X<+(+w3Ojn9(N|h*R=24v zr9U%~M~Ac@ zr#Uq(eVz^2$(ow}es=P4vxTG8_}_;QcN}>DS!`5|DX(G4_+;mrS?&5vm)lgf+E)eH zA=wXE1@lr@+L|qL(3*1Y(5>8uGB*(}-Q4V8WE73$8^_1>z^W5tB-84P2JHg7yu5Oq z&KenQZ>k8Okzp0!>qQQVs{X$0DMFin!qrsBKcAo8_&73z+}*J3j2*?_UyQ(xAq)JD#=TuE1HHYI!^8I|`{q_o$g!PD1iT05&$AQP3=Pq_ zV``ST=Iny|&B%z6P>J*xsjZB>yi?MY$WS}Y!;_kxPD`SwE9&b{5xQ&Vdh!r^N-R4l z|0563a}FPCc4IA&L1a6Zmk*-PlLQGi2uyN5-SV(nATuw|^5k(s60{Hq%&;aFhIkTr zH=U>w1E%AQV==Ym@O13Ln34%t*dI=T-L=0 zdLIr3UIYV4CVM<0b|aR^B7#iHRqYA7H2Y7LF84L{^) ziXB;}2bkgefVgR7esjYkx*{HOSgF-p8Il~~@<^BOf`UBRLM8M?wu8i>-3J*YUX=Cn z^TgJyee{!+n$XYot};gSZS6lJP5lD%=N;$MV>LM8WoY6-?gZEA)7$9{sE=P=pd;Ox z=($TT|F)-{-6+W6w`2L?Kr&Cd^7tlo=-om)jBKG|Gs;U}7Y`6-AL*)B9) zB4RPN-l&@slzYY*es^|&6l|H-DN_sT#eGqm_*h#s<|iCOsX&ZqYF-guQ4 zCC-0^_YV3Y^>?l6;+3KjT}KCb17=!jI?}Sb**A_nxWPX<&A0D(6^+*qo8NbN!WW%i z9?{g{;<31Cz5(>4U8ga&xAtoSGVY-A1LOnBo3XaWEKYtMQ|3+~POyzx@X{ z2O(C4+2wbDPenfh;y2Us60%yY0%YX(@aO0kxfF~Tf2V)CL*R1CQD7%oW?R8k#-5%V z;O9l?bN?Q@b(hv+q&}PX$dxP=+7!n9t&+Q?>BXMcJ3I#dBk(%q=%`J{c&6>h-M_bm z+1S=iPiDI^U1dLPz1ba`jE!DF!NVvSPxWW=U8zY#^_F-f#Sy79YNwbsj~t4Dv9YG~ z7_`YKBX&I;>7XxOyx7NZjN#C^qU`LjQ8iUiUz^%&%dF6%41iszJMu%ZR&cyL(eKs_VY=2oJ+6`6TLGBD5)E2Io-;KL)+6->0RqZ}278X9ABJ{nS3*ac&+Oc>+e?)ZYC$$aBt3dO#% zSBzShFMkASUK<9+4EsHn>t@~2tnS{iYeOE|L#G|O{E{+c(Hk9q?=UV;ec+qDdx?rK zYHL@bg$tC3n7aBQ9OT!@yNgz*CnaGkxDp%O((*XhCeZoLoko#WI0nA{`n7;G z0ZI}@2Kw=s3foPvsiG7$*j?ZX6m%l@kv9Bzozdq@{an3+yrQ_eo}P}u=KQyS?mt$w zSe``aYn7#}`4IAkhzG{WiB}Hlb-yo=lvhllZg#h{Rp+rf(=5m|eB56ggMq0n-5o&)X(2ToWm)67mMg! zl_p2ES4TzpSL>vB=clF=iuaR|DJs`N2N(m2FhTKUv)bOb&o5>O_}oCwUOfIl`He_f z5kn5yIxZG=cEr7VbQbQ%^@n$St`!0zGQYPAy3z&)n+PTxv=fO^`sBIsy)piAQUhNN z=ld-xB|g66s7%7qQoy&qKGp}eFEM+Gu_6k~DZ-FG35&zpVw9G_(Z&xF+j})HF7 zDEsbsF5B>JZAztNMp9DADkGa@&y38h5;79m86~4gLS$rTXN4q$gzQboD4S4O+3)e~ z`91IFxBhtF@297yRNTJzbzj$c9_KOSZnjg9kJ$42SGAq4!x+o>&2Evwck-)YYSEqO z$`>m3%BYCDh zAHw0RmA>^})~D;|J7>hz3Y)Gq3(QqEI>hg<`Ss^dG@_H7D^f@&viDj4#gMq8YopeW z7DO}2($&ZYzpB2WO8<<91D?r?*}K=9N$%?>_Yf14R_33+Idta>ozi@E3R(}Hr2<7E z{dsF4moY#`s}dI%wp4NcM7qhhdk|qH+i~pCzSYe{(m!I<(LKdmj%W6y92dl_qR2f7@Gt5TU7%gJHhDH{wP`=DIb(~ua&>Qe0h!TGw|uWZym$5yv+@xeA$@+e|?> zC8ENEjiscj;S)f`s+9ve>QpvJX9r10Dr|(<*pQeWinOrBsZRO z`8qWfBzTw6P)5jbh~q~_p0}qo+wu`Gk^{c|bq}r;FLfio2{|Gfy>=W=W zaFl`dBqp4|9Mn!DJ0aosj~-D>4gCCKK-Ex;xIj{wxku&zK4^0*;N1jPxU2r{Fo3Qzm1XG zqDz4{D$~u3gyb~zP7n%y|L$02;pdt6H>QR1fp;P@2o(EJSOPC9U#^I!97OkED}Bg{|YPL zTXb*kB_)0Igj6$waB9fO%AyBONZbQ@f=X!XVyn{~D6^AP(O6Qkt%_~&P6mW4_{b&s zQ12mfqwq0O7`wa1hNbE9@aZyyA_~(}UVzPr83DRZ8o=4l%g4v=wJ~Ys>hfHfA%d0e zj>#mc!isW*JX+}>Dd|gID;;t1?FBax-USO2V1#gQ$1wD5e*TXyO4}wVFnUToP41nb z!Wwqm>wh->>INwoyP(~KAlwIDkr>X_kAmxUEq`Li$&-mNTmr{ZE%13Sz9V?2>|(T= zQvZ&MtvZn5C=Jaq8XDLrWS~8-GRaFd#x)e?ZiTxv9;VO&A`U*u_+En1MuileCbl}2q4{K!jUPc`jx^fy^NA2wo3_IJ}7%w)uO=my`MViy!dfRXOns*RnUR*oSizxN>Y zc6BXDE8*t{9m$!&m6ITn|B^fJ&mq#j(t4cu`@-biSl2gSq0McyhY@{P_beEb&fHEDN`#9@Db*-}0sod&R7QfK-ptGJ1Wn47;MmK^Css z2jlZy+qa2-{_^Dyz@?p+n3>k4f?q)(S8L3+i;vh7rWv+y19saGmE^e`Y>Zvc+gnmr z_N;91;^HEj7+8ImmzQI@$T%`OdKOqr`p-(=THMr*{A5(zY^UxmoPier5=g_DYSCij z*=M}Gd-}D0nfsW!P}N_sqoXdpO3d`i6(S!a=z~uyt@E0zKY2`Iz;rlPXr&lTf|Qhd z^;WN`Fh2}>BrNnb?I$5KG3^YI_@m}=culKu9PwlM%c(apGb0%hXQy|dDqr#Kk|R;njY|s2i1x2AL?jYyU180w!yKYA?J()Q zfrDdtZm!-W@AYfe6<2o~8FF&OLOxnXn$yr9m|R^ z8%7Wi=)f$YQ*au@0o41><|M@=0HVD(;W&S+!2}v}hzvs_mtxa-A2b+^%;q^ni+!w@ zh9YOWy0(PIk$a4%25p>~>ZaNWA2OGv8|?oBzgQ7CcPaRlToUH`+ZQ2Hf(smOV&p-~ z=|E)+Wh3=dR&sgLNJ3dzSWX--H&8Q??`-ec-f^%)@u;7RVe)3usv|WGO{UJGjk$R* z)K6&p`r8a?gn`2~KH!Q#Kugk!T3-0R&QPMYqq2wp-UAEDU?!fs3U3|X)M^~aoV?lP zXTlceW@|sj!oi`eAhfnRovp34An3vk(-Ms=h8Y2_%@{5)>eAKOx}0GLfS&)>tx3?l z^a{*(`B#~zHN?f0i{vN~0CyrWhOUaM>Sr)x-rAT;M+JtxZN0SW>TyoIn>P0LR+=i9 z5<#B_qa7n7BXGW}Y}SkCKD4hdLg96k*HWwSwjL4)k+gzZ>5w?wZ1B7y{J96A>^3&J z1U<&nUH4;}dwZuQ+iktB+`g?}d|~&_KU9>I*Qr53)MlkzbW%o{0=8+KJ~Xlys7aBp zaljYmKmGYTxwy71uJJFH(~%9mh>Akb*kg&-74uwzCT?+2HSNjqM{teNU?Hcbe)boe zkRVnGxngFns-lt>L4W+rnd28P2G$zC>9J&a-zv8liEo9SgF~8lbYwjvKGgw(QDi)c z5u>DkqxCu`rv(RgB618uSWlf=1WHg_Z(;DfqM_kQt+DDuW(-(MN`)7i``Y4By+5k@ zZouv(e}wSNhek!o2OC2JWN#lzKq2&o_?`~G3k+Odm~7W#bvU=fDpl+Wv*lmE79y9p zCM5}DbMyCx6|Rb+Ps76xb-2>a&?lTABSvR{vrUFA^g2eX3)z^rV&xxtECD$Z0Ka3L zhD73@8yjaZ!ztU^L{4Ql43cYbU`Z~!^! z1#4(HQBuaXx;M|*k7D^8gP+x1$XTs{h&5d9jg#%J2U7rg($MURjIBq@bYy>i6hpX8h zOI+~STqBOJ3EZa~EeB=5i(2DE=`F6=xcE!#l>UM_>h0)}VG?CxZtgccB-`sPP_qNOk0(PBBRQKhaWG5YWn1N$V#wlt}nDx-o1Ml&K2Lj4P+aviD(lZ zTB11Vijm*d2aI7~)4{@GUGhtSr`c?}ua6rBP>&uFvy`_!f%p^nHGJeVSm!$weqAEL*vq66&kN-1pL;rd zJvY2&xFAN4{Y9P@tDDrMe3Ggcr+LC2Kk?Q_M&TyxZ5pWnmtQ|(l&O ziQ|jl#q!fROy{x$GfAE}A6Vm7!KKDYy}&E_xkLS|;_1Fwg$p=I?yv2}+ZHc%LhW;z zN}p`-C!3c{vYy9@J>%XFn(L=_nok)795|p7pFq9+!P&)x#u>eva2vW1@dMi$aXg+E z_LPth#Q``u>uA4)|Yq2!bJGEe;~X zZ~n_kqB!eto@qVd)7>w5ERrFOna^(Z=e=Wy;4C+QofxTce>1eUZY~^j&nwQ@P54qo zVpJ250KR&)2iQSs2Dy*7H@6;JQqoMbGM0gA+Q=^_4nu>ugVSu6VM6A%gA^cz-N|>> zXbGOP(48ivN39{qteD zJ>x_F{EG1N1V82*L=yxboT;hE*(}NK&kYT#8J&uS+`KG#d3OcE3U!T*jUD6%VzMoi zuUJ{>p&Zi;{pb4MlOZ8$f*wucYpq|CR0ivFINETg;@aOAOP%58KgGsYnjr_6+R!&v zTrlKC@UuJUP%id^#7qDha!WXl$p+)dH0SC;bTE2!!7xo_*xi6`XwRD6G-akbV;rW~~BqZyBcE(t8GA515(VS?)T`Y$8Dw78VlX zKP;hJFK6dA@L^kJj{Wq9+g#eRvT1<0Ykp6q{eu?dmI!1lZ!cf`OC4&tSWYEC%LEi=(b51%`$tBOB&i~+ot<|7QE)~c zJ}iytY>&_!*9VhG1%qEQoHqo!9SpRuvBRlV1};4zArDQg(trQE%`Eri4c@#Eft?yr?p9{cFf~>W5&o}$z?aj?emK$)i0~#WYqqzb446Y| zo!Pjs!w;|A^Bi1UQB1Xne#VSXtVNrqh!K!ca7x28ayWMv`g|!kDSpA_K`*XN%|Hd47S5YsGaF2sqN~qfdi~Squ`+ z30b7~0os6#kCy+GOVv*YE1iyT!CjaS@Iyjm; zJ9)NNnpNp)hQDK?<}fxNz@hj4@G+6&EG*v(2M=4APor; zuf$#2G5WvE=Wj7+8XG%d&OaWT9V6&S8P%A;JEbig?QHM&^cc5Q?-8$-G_}W?S=Ww& z-(+i>{@_7H`c;P0r&EMno{OJ?r=*Y@UC6-IRfgRP%Nzwga8Vg}HeZ_Xv4i>Rztm+PrIjQ4U~<^)xF2PfB}MgUue-i@bf1p1B11q z+)N4VQP{1u5XO!|AKe!2s%$WX^I-R~f?JH{9E`ze3KLFh)ER5j*+)@g!BgUGo6D-E zaulqwSwcHP;d>-+^}hfC)X}Fu_xJM%2|bZYgcb?jo4*qSDW^SVPBF(s2s*xfOd=}c zo&v4lIi7#&#{OMn1f~EiOk&8jf4?nnQ~()jaTt}?JUvC2R#tw?SHJjg zpE+sgB6i~q%O5^|JQ06IM!04P zlbe+Gjg1ZDCGs4VM5`cnA9-B+h<~PB0CGgWGve9LK0FyXfRVG+6``5(@}&^W4M5vR z*@~_~G4Hq+tjN)k`xv2FUM;*|RMdmg?8BA_0sN}1%}v^f4F4&4;#X}*8D_YE2_-UAY*`qAnvr-tX!=)=JkNHfaJWYewd zl*5D$&NKd1x6=mqR3VtGGd&P&ZjffmXhMcLJ^a9EVhQ?i^gYDqC(7Lx){?Ddjs*B_P`-|gkDv5P6=n2-!#tX!^Q1TOdJr+- z;@;Ji5%S^%+{9qD^wCC$gQHAObaUGB0W^##zB9Fc!IR26^Cf}T2mLT50V6(F$)V;1X_E#CFVbr_k(&Edb2kxPwJw7O~o z$r`szOeh)3)G{^5cjnq#2t_qU3OaV-Mx`j7ij0b?H-6Kac!T>U8p4+Xq2bRLF!**F zDnH}(%t3!9(vX_hq+tS+h!C&y#<%bOdLwaFqYO0K^tn*^0W^wTe!X0+9;Vdf2EuJP4Th4$keW{^+6pnIi zY<<+&B~;J!ZUjNVrheuKc1A_tgU^^EA|o-7BIGkVj3OP(PC$<<--|_#>F~VMS6;#K zVM0r$6RDoCV<9bO^Y1X(+~o+9tQ?an7;x>zd{56E*$W`u-<{H+n1r@a$` zj{ns7emt|q*>*8rBO^(bCU$W430wT`^p||UK#q-yHSiF&UB8U&K}|TAiDIv0yT#Cd zZ4kx$n#d&-l{1=mviGuOU*Wz^-L-n{?dlEAi6?J0l5wfT@w_Q#Te)b&WtciArdGP$DbsU4^%W8Sp%a<@%35t)uq@*-EQcKM$WSxYpy<54O&D?`;pRw@rs%bhsV0bR zd7;W#GU>iu+N6H4k~8`cJ6bo^h$WIXg``&InXoyojLN4pTvMNe66M2KZ+Fo$$sz=g zQCJwGH8jG?;hZ0OyaZW7S3hyhuYuCVkfSlT8xO#tl4h%1?+Fr?aa986z11N}jlZlBZjGE21pYJe> zgnt%?_8YJC6^MZuMAm9WJJUp+s`{1!7fY@SUHv6noMr>DB7YD&A8R#o6NOC4D zz82FKNGSbhvvv^mD>H}uTG3lE&bmvrD)cg=b0++;+G#blZBdQzAEp;xy^44ZrLf&V zq}tjJS0elhUMP=_@zp1nmX;P3X=^TCbv_S*e3-bRcEVkq!2?W*CysPyZ}Hry?n5#| zQc@BG#KiHa(7w&hnO?tcJJ~i04F*Srq1dd9W0b;8MKI+UIg4l>YRTYTuDs5bQ^V7iT^7ofVE+N1DRL7x{K5$VP zEOrz~DeG-hbXa1Nys${HP=rB>;B%woHXv*7YZv@v%SGLh|Ol(H>Fdh^-5>Hd3K zcPd=iD`rq>k_YxW%BMb8*X?4;)zv}<1`PMs#s!~bRKiq$h~%wavXUDc4-ebLi-nUI z4~)RS7vYF7os20vUSP>fbCDIEYV(_tVcjS*ZhY1Ct-q@tiuj1j7ZS`bs{jpac{ z2Z!6GsoyGnaZ!PdCaA8xK>y_X0;2AdW5NQWqGh?cLC1*;bo4YeeTSW7WPTRUHCbxR z4-F0F=X0|dU(?VSo1Q*LaQEH^mG=!pLwvgohYtq_1<5A1rj9-fS7821f`{<_i#-G! z0Adn$p<~v+M`~*VPqXU2ecmfhCV>V8bBzvNz@Z0x)zs8LZc41>F_y_!VD5X%_Ox+q z=dNAQK)-(fzW38739blY9`Ve@1n%LoV?r_?ZBCq>+#IAhj#06dr6umKGe$X|K5=2- z3lP+Tm&e-BuslirMW?wvI5dHQ7o!@%OTC)$3+1^giI;eg$zub;N-nV^APV@u-Rkmk zV_ltqyU>HFC43VwzViC$!Xk62F_(pmIMT%ELInKf!#Ryy(ep5&QMsYYLhW&PAB z9J1bs2pS(ol*HikiEfpMkpYss;ky157OV?rF=iSbhCs6)gD$H#{UdlD!OOYkX>3{{e&%-|FgJm9Ys_x3{lLW0;x2R34-E8cVKpAFzQ@9_+ z-tLF3tg~_IEHtE2d6Pm|3~gwo%*?*n?UN0*Eh_1$PNqO`-F~>QC3dOadLON1J&?Zh zk|Fi(L`@>IWDCNs&?39@l9|4RhD`k15T?h&?@ZE;(AC(`b(h5X)TBq5{p!P2clry^ z5$V4)F?e(@8r&8ry%xSyvF3v@-~Z0W;`=9?NH%oO80v#8`9tdgOQ`wAY5<~Af$T?u z1P(!*S^xX&;)FV)l8)YMWnqmb7S1YTQ-x(?}`g{5&ZqSaTRFCk7D5S$>OH-aT&PB}U|LBV31;cD)Fuu~;25;@V_ zDf)_C=AP3#M@LD*4QL^6{jUc{b@M%{)rDPGGi;*!VnIi+n~(uy2RKGfE?p<{ZDFBW zMkkaWeD*BoPo4x*HzI<^AVmzu$_`tbmpwL}e<9du`-5`mMFp)v-@_B1_TU)EEo)1$ zdq{~ZIa$w6egoAR-!+(aLlYBX8z;bY(5KUc?ch3mvaz@{Gz6punV4Rd+#T1qw^ziD zt=jf5E{=#cU}-`{4z!L4F2YQ{8#GDyIWfMvOVx|GsL+=$Rn^o&LPJ5GCghWm!3MEu zvfVV>pzII@#ihluFU8A{+E5THpcaHv>=95_g`Y6opG{Jp+YQV|b^Or*rs<>DWhTqxc8^jHm}CrGP=FI;#jMPRy{kB`o;kdTz^rzWd2z5sbiLi?nM z$bfCp`cOsXKB^|@e+^aJF4NUOI7B86{dq=aCj53Mvp)!61&f)E-vP?8XHRiL!fC8G z(tZ2lkBz4i)nFJxO3EiIdl3DRZm;*-p`qi5aq~Qm@Q@dNxBmt?LdArc3>|dWol%uw z;^FHJ4CsU6MGb7{oDBof`+b09iTa6Wj}qNKmb7mN9VaiveSOw*=ZZZ%4A2cgYdt=X zSFga(ov_UC2{VO?AzB__7P1KkpA3UU24)*&t3D}Zc>p`BkbRY9a+?zh5zLO zq<5MlC+c>9X`VI~>jw1xI4y1gv$|0oWn&|%tE~+;ib;dx|6F+7#gCYQ{jE2%)6?rJ zDrSpjF~Wk^`OJCxy^_VE!H9{fG~$YA;8laC8*fyH_&-xb5!#N_gn@ULuR^jwF#t``ayKMaUk(wp;Tr8C6JzsAc+> z)2jQW)|mb3%_RgHYV+cXGd|-#uLUDc@WlUpxd;P>{r45u{Sa2X|Gxfz|LEs;qkcU? zeL{5q!|v^LL<_9kw5}}MCf3Zj|Kn@eotJXdL_Ntty8CjPx`QJdoV*W3EBRhwCYn)Y z`!xN@OI6arQPPE-lAN5neKn%(Z~xd5{hqlTIa>Sn9`gk;OZFB~NrM^pld9{W{(2sN zU(8N)pWVlZI$Ft;bBJW;eTOp{8r|~5F^2-0y+6m@?$GpMVa!qwdAl*RERPZ(W8dt3 z@NJO!xNCd+djTT?p){3(h=YfA|Bc-6emz25PTbnr=f=^G?ms2TOkDMf_&p&`a=ZF8 zKP&alJw#5j_Cn=B&liS%eoO3_&dDKDQ>%br7;dfi$y|m5x&^zUFgio9iy$8#5`hkA zk}`sth*;tc=+Eqv$^O2(Eu}{Se!k1%pxtkyMV(JgG<37;7e-^39>6q4ODh$eu#Aj- z;xflMC5ijXV%4u)X&E3QIAX&$2Ez{~GGdIBPMkRLVRO|2>|KpFbjZ#cDt`bA|6Xe( zA{N3a3$@U7>aT-;?}y7dPbQh%1=)Mk;jC(Yx77=E-R$roA=g4O`~g@1 zV|N07eE1nwO?$#hh@+a2xepm}byd}1+17Dx?&mJ|5Wfy&1<9FS&p?vF=nxq-s@99o zqoe5$9jY+NJ0y;btUg#!eD~)_6@4s`fa|x!8v&XJKM-W`RK#;20Ooq`pZR9dSOI(U zyu!aJ?j>Lv5XVCSap}rQ>gVuta!oU5*FIEYzK=EVw}fi=I;Fd5ydPkWZdGp*s^K6M38U%o*wn zBcY%j*gN;bIM}{g%`QDH4W+}K7v0+y^vm>KC|=Xfa@N()`0$)5ML&c|z)8Q&7V*FV z#@9UGC6!GX^v2``KR#D)nwjQu&weze&pgBH-KKp@*rJ5#^#rJ z{GAHV74^Y@ckljyG2`j!2|igmLygB)v0tRK`ql+7AqZ}|!1}?oW~nwZHT5MsAqzp@ zO~7&h1YxAqg)!>AZy$HDzgTNm79})h_&5TL8V62zVO|7JXEJf{K=Fw&WI(dlpM`d1 z)bz0UeL!YzX$i$vymy*if7% zqM(T5hik|qZ?7+QBL;pvw|ZteTX_wECB-FLKZDTQ93#y z_w_$;nE6@$U^LG`Q+U2|h2NMf%70vh3j27)du;szct6RK60V#dn}FwKv1KKG&?nj~@x zicZy4;9(qP*XU^lz!q}qc@s!W8?!Nl(vPFH_3}ecPe^bKbaesCS3LCnux`sEZr1mf zukj~&(Y0eV{LiLrRkgMGO`Fy>*4C6Gxe?=R5b|rX{dZ5^xN0A681C5P-k6}EUrmBs z8|&K#+}EN}NVA(CZXpjD%XhEvnW`Gp9Bg*s)la^3>2=T5i}$QL1Er^Iw4{&WuD1jc`HC63 zjC^jz5KNu5va|CPJG%%w`#@)BRY%8jKNr+@&m-@uD|h5P$Fc_E8PsT!t(E&7ger03 zneQ~bqP;Gv3-W~#a>=8$5c4rYlmWmOk7)A8^ml76*?TuU+))xq?CfU z7kTia>mwn`O)`9w_Qj>;LGsFv;)Fq`oX6}}29%4YO-wN& zZmYE+-(m0rCxln8K2=$P!t@ydRS?4-q~lBF%7#QfBjYk`SiY~Wnm&{z@jP?xT%!BW z@Qcx2J@4(0hTdnY?a4DmCdIWfcY9E?bqjB^ab$}Tqt|MT5qA9OMS|@d z?vEdT^xTcDDPfHBeYYeda^@LV`HQ<8Y7fXi*F6#Oc#|7Qez#wo3%9vwJ1=?PyDwi` z{Zv%b4&1q6we@N+g-g+KlO4?OX7iG$_%H81t=9xLv@@KWms3}N#3aySxF)ynv_*A< z?$%UxYkvM(gx{W?fI*J)Tkeln9{!M0{N&{chs#s7LH=!QHIm)O>P(+}XY@K|d{Ly% z>T7=fU@x-qUL;Z2^C`vUdsgSFNcCwfz+*R>beFi<7Q^8iCwt!puDPAp&DlEmSXJ?a zm#yE``sAojnLjkuN!ax{O0nY)3CkQ6&xZ3 z7G;pmzEN4@UzV~Us@rl}d=$cp5( zN{8baBrNl{m|7ZT4o8=D4-Ge{o~d6|>$y6LIW7!@gzOS<|yDQ+K?s$mtJ% z-nN@{clGt_2BjQ#3QbRVH7HKZE-8>+W{mk!*GoCxB*S*)z(F3v3!Kb5jvh0ArW0qm zs!4h|ESXe(TYrDdtwDhrKM?&sNZlVZT$)2_kY0XwSGT>U1Ndp+ z-LEy|Wr0QDSA__hJ*W`;R@>1tb7!Mh-@-owuW_SnOE)?uMk%EoUScp)JtPhV4h#jg zKe&Pm=%&!{nc|!X?s7*{p9{}1QFf>~6O(scBEA)7eU1ZmHy69tpJ2eGSPBAUsr|Hu zdWYDQm3EI>y6K*Ydv9XSNUC~HJq^-M6}lASxnS26t*s!~5_r5fi%)@wTRc8w3P!35DU- z*%$RljJ~vA2u{H|5)wNxjdAZ2K+5^WLD##Wv4NF~9GOUVMm&({$#jbyW)PeB*R2kW z`yXce2+va~H16E)>+dRk1M!fJL_3;r>v?QEJUHg@vtm8@vFOGE7ck~`?=mfU1=-nW zTN6$5?3yFE?lrya!Q*7n^?KvaFvZ%^OlMO@g<%U%KMPNu6I@YWym&FphkJKOJSnNU zOBbfz7)s&3z~NAe_?A>VA0HnnkeBW(gP6-9_hUwTFRvtY|2hB72eJh}R}Z~Vaamg} z?%W?e+!WM4oTO);Gx>TaQJlfzKCqwnvwOm;b~5qLH4*k_(~Qh=w)w0pc>(+qM>*?CPEM7JzuO6cReCw>H&V$2@#-EeDopY^I&Lyn#p-^3>&7l-fUE|Bk z5)M{&^F9|s9`*E*Mib|x@wshiWfF(U+P%+<= zhjAgYzwp*hqo~d?f+}kjK^Lh-a6|us0_Xglq4J+U@1TZ-ecu&rR6nKABVy}Q9q;2s z>~{*XQSsn_B;^<2#v2<^RJ1bHnNfyE2E|ek^2vc^A|zr)m=gCXuEyL_ynS9JQ{xtI zdgoN~@x+K_ zrKMY-qP+hB?i}tUwU8$|k!^`P_D3eGr?t*XD`xV&desDv5aS$^ExyHu$NuJ*G z7b0GxA^-+;&s;e|0VGWRmt(Cqp>kEm7j#|v4i{Z>|NiMQp0!Rm@-q?ya^NQek~UCt z*VBszMI&mkQY`i_iPmuWnxl%gb{dTr7>rg4V}9S^q!|2U)j-$K@J>4$Iu*-489c69{SvDXm8bk?loD7&MgU8obcb(tR3%Vl{Xv%$v3&gN!( z!GmctK>o0GZ=OEV1$M$gk#J>t;)#H%Pw%cMP}AhEUF7!^i+pe_vYY8K?Nuh<#cU2I zzNa!07baHSr!90YP%ynJ?3zjBr<3NBeM|G!Og)HIs<_OrZp16?yrSV(Der|cFhR@r ziIHu+J|MXn(5n>8^mLd>_VCV2WIGAI0T%y3%VmdC1G)d+oyi@CSxT#*8N|~jjb>3- z_Z}t`C?AiG^*Tjdy1#>{rQOc?{%{r8*S&*#AYE2X`);dyE!=Xrdamj^cFc`H7qCvW zSd&fK_V0fz@p05PN@RX!pw#s9Gczb$y;`7ICn&fc>{#O_DDhyzGmw>{+)`=BSN_Y^ z6R1tx#i@@((lz5lX6YgH7vEPki*6z9um>U+Ow1q}!qCjoF@R_yZ)9q>x6acLH{&ix zQX>U{`e#O;;_MsQj@6aNc2wX=vxU0dR73=0!y>}|J{O(Gb9@S3%h zLkt69!=FFzl05*{&WLVr$um>lzE>yyZZF8RPR@3U2M-Xr2u@V|T9>(c*js0yzhJ_J z`r{u;DPm4iWc`?B zLESiL+80=HeaQa0_^T5OGMmBI&!6YIp)+0o6~WxG1mSY|U5Q2Z=?s~U7lCLoU7orp z+d0|ca$1Z7@ z$O+|~Gv6g^U)V=3Px;WBES;iTX5_H6{Atn+E;k+ToR{_AZ1+cI)Ah_WQN`YV>%Et5 zA#CRFmnK>efZ#f=2H=wO+6;|QOzwkiU@An#~DCW5%u8{^6Qextcy#9 zCodN2gE(;(@g4`uR5di-nl$!;rE}ZLO4xefE9SuG3!7bkRh2cz2%8!k=bJR91n`y5 zFE`QbtD2W;qWZa$UO~We!*GwHnim;)&}0ATb86E1Ds(SskN)8A_}JmO()BU_VT4wl zNv=H0$n|)qWp4(00saF^)T+~DMnN?kk_JxJe@ZqqFV|6w4(Pd!J%v2uHwoi68%?DF z(sO5O=ghipwUyUCbXg%6Kiu|xS#O2En6v(4$L|11b)wRnzpBi1K1?I^@o}d>bf| z>>DsBajU4hH!dhANYlY@JA?egsPCcyD{nIj?v7MGnqKyx`YjpVC^#tZ_kQEgQbMc$ zG;PA`bk;&X$L1=%ZL^n3qlGx6Vz(yO1HGO-|2kroQfOB=nQQsg_wbEc$J1R@VHD}y z>05NG;w)kA=jTO5`dvLfygPSxTsG62qS9g=XwUboTBu_5-SbhGid~k_Q;Qic}$Q_OJ=gS z42tyr=gl%S--qYig z$c4+-vC`0hVB(~jnS}+=1O25IrfQSWx|hm>n+l((b`>3LVsG$sbxL&c92RqWbpLcX z-<>xfJ}I#3t&G()ELD>aF6GRePkpf!WZ~;q?;jSh^^@VA#9iR|}!daI?(daD@U543A5iVC-MdwJ|pKs*qzq&slq4*U*CYvWd|l$`HDZ&Tk%E zJkpCaTy2i(Qtqos6Z^^r_}f)_Z4?G=3MfDPs33IrL}K;jv~)yPN^o+AO#{qd!M9gQ zQoU+00`91TGd$j1ma+=Ifw&^Fe#cuQqX3)i@88!ClVc_H6+0TZxCk(gG(;G9dit0Z z^dg!OInEnPeLN=bZq$gwqs+1;3L?RR0!wHMj!34dr^7t(?!v@*lgH0cK*M1Lt&w$E zf6JpCbluk5GZP)x-v|qf&U6c!UJp)mE8gO-F&+$!RSZz5`O_IJcP4|S-+5_mS0ZHu zEzCc{4rl!MXc?fPcSY6kY;L;tR?S^O>r(@yrS9BQzoG|}Vpu<_T673RE5)bRo%zgn zh^9`xp7rw|!!^&7-3Me98}xqYkuY8l!rl?U_wOnQ$Kx=zJ}$bYsi6T@UEgZ(o`Z)m zqXm}^J(u0WM9_O$Bo1(ZdhTe=0nuNs7CI~`@y|I%m(d%-jV)cB1@Xv8zbzI!4uJ*E zoQ=F@5rg;n2xBF1jPGyTVeatGaV`dLDx~tDNgSZL;M5S_>h-KyM7P+i^*TeW2s*mX z^w1O~8j+Dv?`uDV<6y8`1*s_}w9kX-=5o0dqEj!P2-~xT=VuwkRPHTOIRcrVuuV<}pHO#MS zJnsG|JA6YnXFNwb;vfm5gT~Uf+YfMp1#Y^BH;)D`INykyK7PzsGcV^`4PV1;yNLJd zTbXAK+CJ0~;0U5#`Y`cdZOURqP8)!yV0g+McYSztd>lweuC}isBzpxqH*#$EFur>I zx&Z?8xSWIpgdKDb!XW(Ai+T#;ot^u@gLM)b*he*#+NQ2?>zqY@Qc}LMzwPT+^xohk zMVA;7Ukwc^{~UK`ZdCa6N#!2~Zdy!aX*}kPTO60wS1pE^01n3ppxfRup zNUA({znsx|VQb20_nz`;pJvqI>ye{8c}MrJ4_ANr!l@}vj0ok1vn8zTz80o8xBQ|p z{4u$hek1S8?jAtjxjA7cuOAAF(CU3APIzaC%pN`)BD&w*Vi-7tJ0SicZkzqzw`|D% zK4z!fCwZgVS%!OcdhvsI`3#-LG#&llf7jual1e1Tb@rpv^?Lw+O9~`&98jEB`vqF76cS;_LVjST-TRpM4mHGQrq{Zz|~<~iY?DUy;LFw;jYqBqs1ab6F%V&TXmA~9lT z=9Ib&J9;LqZR5M1o9j7%Wk`Qz|&?)&%{ekbP4e}3WT*GMt+%4c;oPb@|hb>My&8Y zxNrtOJ_@q3t({se=Q#)%Y+>yVM5O)s?(cDN{XiVZ#jp?NcBV!g^b;W~m0K`V4SklN zVG&eB_-bbKGZ!i@wcCN(mRZbAt0?LHEtE0ek)NMGlV03ElFRhAgv6^$-^Lns-&*zE zzVc^nt{caMgoK1T$E!2upP$8JW@`Prybifp?Oe1mLong^4rn?`h}0}a^$pLk#<>aHeJwcs+qRCW8nvX+ z(09uOJyo1Nw@FYdieZZa9h2N0Y3fs>oy7=>X~;sdrTz5S*Ob76^E0LQ&STQ(G#*Xk z^(-ObyMa6ZnyWf{&DWC3``b1U;Y7@M@R-p1d&|f2@W#k6=gszYztDd7pohn**Z6^0 z`3MJQV?jt|=rjjg#n-nu!$LV3GvD=%`n=^?#@zDwDF5e8XXxSWR3wx z1fT`$ED%$_f_{b=V#G0h>5VT?>3i!YdS^&%qYzHxXK_o;-&&QPUz+MfZmOQ*0Nc9a zI%VR7anp*h)cLbA4bQLnYw-2`47Zofur7P=vpm+WmSgg^NJ-k=U*!ksxxU=qH?n`v z`TJqrpK0je{!&r#aASQHk!p3JcR*$<_hDxj#-wK;B{2IMdzt;T(xTqBZ4W&k?g6P7 zhDOrT@P1zhKNC*sA|m?MCFeiZ))J_Dva+=eS+EVQ9X*9l34QVnYip`QhaRWV&9tJL z#I&855zbXWs>&3Yqmbc)Ii9Xy)>{Z<=D~elSy@>Pe)jCyrH8va+eezB1#eV8neJ(~ z|B`bEXx7cW2&j^J>WV?~-LLO{;Z?wkGnkIcgl>Le(0yY!?3=hoG1P+rV?9IS9D@+w zJ4fqmR1}kQ(XHkMTkGRxuCA-3bQ2yR7stiHu&~FAELv$9P3HOrmc#-?{%(!;tcD6M z;j8Z$jpQFIs}b39%bl}yo>FT}K6&cf@{!I$5=LouP1b8$mYdzXeA$IP0x3SH6^I^b z-bx-~5cG?oG>`b0pAs2ZNY%KhToG~9W9620OJAu(XI-YZf0t;V-75*TnvIjJls5Jw z8QjgwQlc7}Uv>Ue6gDqKyB#Z6PN{!-ElaDY;7+ZNY4;6^&Wy&b_d~^(PsuILzx~$g zmozA>`?E1`kG(P{VQ;%X*7A9$ua+fih&FUSNsiVB{Ssn?&siE?K6g$YKTOB7V1Bl{ zFv1SGoXmMki;IXUYLFn^ffPZ0e&x~<7Z70@!G&zjR!&i(N3jx73StT+CB5+li^mde zDS^#UeiBzysjl5cX^(yg5`$M5zc*Mu1%u(O!xgJY49MTv+`tp@$u$ZZ0|4!CjPJS{ zn~)0ObM!^)S#a$UNP+@s%ofT5GpkpQ&LKfz^4Z3dRTmZCMSsB`f|^-f z>nl6TT&#cFx|nKB)^H{DY3f8q*)CWu&Wfng7hTJpR_Lj&JXN18gDD8bLSRb$=E_sM zzP?JAr8$-4KL)n{#W4XTJqpej5 zNkS4KGM2~`NkkGwGGvZ251EpAYIr4tBAF>d2uaACkc5z#%#nGX$9<~x+sFUd`^(<% z(T7!wcX;0Wx$o;buXE7Tn~FGS8UaIE*bWIf9z1l2N(x_}d)0K`g@sN))WEtA91w={ z-&w~=$PC)v?0le>V^|e5+5-wHNJ&YGOh03l1Hs;@3FEWCSQRGgpYA_|*tBnMcTIXw zP|)+|s>YGX>z$l{!cOW!AU_*aO?t)a@l8#td-m)Jxf}vk^}qn)H6nvKN;EAx56RpC zwhDzIZt?xhhNxRPt`bJ79VgdeWEwy*+iqf^7%f`+9DKFyt{6&n0ymxy>Mx9H-yQx= z@uB#NBXv>!^p)eLxjgG9lzj6Hob8*b{o0PL9llu3^=t6%{ix&IucZG~(`1_%V__vM z=aFvcc*!eBsQ=@4k-J7DNA2fl%5NR-U-XzN@;9enb-N-!&TQzU7r!+bOs{$~OYV|g z!0uXR!jU57hOU?`5tWVk@YDRda>QI2Kf11{?soPeX5RQo;HG(|dFRaS7llzCQOOSW z{n~P8G&y9gUJ?nId&^;m;DJ=;X0M4a#x18r#Rc|tqm zFFC@vL5AVT2ZW>N^3&sRcwS{lv_k#{mNQw11s<$c#}dFKA1VN|jV2$+`P^3qLu+zm z4e$0#b27vJtPB6f#l>~N&!2=@FpY|MSAoL@j3W{uW5|uw>jBH!#o4)~Bgcb_D;alq zt0(BGc7q^cJ z#m5`K;1-!m-$l-xQKlXo9sTlr&#qrb7_#Gu8ugzA(q+HSb)vNNcTzvP313mMx8p6KzUK>J9xB$0asCwUE<3vz04T3`#C z5iXRtnA-ei^AopvX<^-hmwdo^>*eV_#Tc>nkG6AfH3i0|G?P`Qoy3fPNXvfpFy@NF z1Iz`OVuR5@&UmC;zo?gEXJ94txf0H^)C!G?u|vAWZeCpQHiRjL9@H1$w>eEe_3()@ zs($hI##%d$CJc=8JT`J`$jGH+ZEU6!6=1Ejo7r%x+Z~ooEp1dpmL1j&zLJbm8@W5r z5nA=B2~SJAXc-1GAm@;%P6u(72L zUC>1UBsg692C!JlfnlDE46K^y>`X`_Yp=@5DagB_#LfT-WX?1sfMMoC$)X8{w2)2S znx*3pzm5Oy>+5SyVqI5&)v0XBIn(-=JNHNtGrKOX7n;=7$uoymgZ9$W+IJ@p{)_we zo;^&_tLItgzB*4rMmD`LVWF=-`~7TI*jhDCHsG&MnJ=Wh<-UG=!Li4(cV<+F<^Igd zZwmy%41<(`C>IlDU&2!W|7`5+0kktjeig`-D}O0j$E17KWqz2Pfg5y8Zfeq8%T9jN zYdchm9VQ|I#kCre0-2c0OG|H6zfkZ$qgg-XF1p5>%SS$DA^4V;nLsvrl5Tj$jWX6F zvVtY@g|;e}z079`>m8X>daSd>R%_7E$+I- z^f9na-dIU$u}?odO~KSa!SqZjfr=zXSW~=NzQnQ9_jifTzhW2viHRFkvRoNn;b9D2 zn2QMDwGG%lgL*?UsY#owbI#cGzRR);6?bJ^ z))@8te%kuLDtEYbXy~a8SC>Tx`-%3Zq`kUY7@tABzw?BE zqi~^%=s*Hdvv6ismUD&eSSYwhnFiWB${!CDN zxa(5cHh_}0S3-ElO9ivfyDC$~*>luzs4qb_iu#k5jJ{%Eu(`fYCX&I2mRdD{Q{nMM2m3!Z0i^d((kC)+@-DX_uu$O$W zGvbhU*(=VJa4WTc@8y&!e^ausznDNBTdhCPUqnvlOTmyi^0n0RFNi_D4Px9r9ho@t zLf!@jKM%77{&{Kil{=4tbsH~fU3@d8*3i;o(0}K#M!A)N>)3mc^mB3*If zx-r_!!2(}HaPP}(;uY=<0hK@ajTU9%feUjmk;O#;R%7%CK+ZA3aID1k2gAdYO4jCl zmVl5D&PF)B07wac^pf*(e8bnlJHBzRmCXeF|Ma_{cFC-ZQIPCbx2okIR`E=iN*iZ6zSPi^m3Aowc$N$%V zHf4rSeQI-#1NDx2t83I1gT>2clb|cay`k|T-l0piZ++(99rcqy+v=qVQb0tFEI^u^ zc&L`zY%2Kg{a!Dj-T&T~iI?1@-a+@KPeOMaZvAETkJjVNOj|H-p?Qq0Gs$|Uz3ZN+ zS+-W1nuWPJ0&sOTkkbvk3+f1)JRLXIy*n0MlbPV$K0&@o`LF32pj|+@;v3L}wFK(_=-kP4bPIFK{H zhBz9ilja^vK75sViZ?GH+!jakVQRJOT#RB)8d_S35_2b~@BH@~O(~Kj*Ns(Aiu?{|?vk9VR4^1P) zZTo)-_q^@NGU?gc=xIgLDB&sWTETEWbr9VTX36f(&N#{;c0;YvEIbb}i_=8MR0gd) zJc957WTfb$G5)&T_#pm^*O&YXxdw3G}C1{M|&TGKVObaf%l zJMHiTa|Sqk;z?nM8&N%&`1Ri2owNzOBSV-EL>|j)SnBriW;GZkn;-hI(J$J1}|3?TInIb?a4z+qeee zX?azg8xzy~XioOdIYavu;N$a(v!k-oqU{}2`7R*S{=DEFfI4h>*@=T)yx67>hJqim zvRvnCeb5y)B{#Yi9|dDv#OYmNV6LPX3CYsm2(0h&V{JuizwzCL%VS1DegFKmqO?fu z415I8bF$jU0r2E~oX1{`xWd}+-=A#^v%%D4xD2hWFTgl;Ewewa&EeOk9~X&`uT%tsbB9<8L$PvFHAcXqC_O2_^uOs826^WegIB!@MI5W_n(4v zvh*cT78K{;?xAVUd^dca7H z^^FUgz_%M6V0>9EO)Jy9`I3^-62?()l#ZpPoh?~tQDtJ90u70ZbB)!h>g(93jnDGU%pmh>bEQrZWT?96v)1*eB}zWE=Z$g1zV*Nu z9OPf)4t6%Sy70Nl*K$;b{F-1OUc9)Qnf3JP?)LV)14;Hh#ZM8m3)7B+w6yQ6^@s(^ zVbYD4-t6LL;4hky3-41>i@H|bKpML@j5t)5-r@6QF;qsq3g@o)EMi0V>%X5~s z{pAF_mUjPJil`6E+lI|`Vgu_dd;fUjhrqQ4hEFd`Ujn1-%0J^dTQz!r=N=q`1m_}3 zs#v$>z8|~yc9+~4G`F?oQ)t9;gpu=CtG{>I`3r^REb%PQp04!I?Iut-F6sLC1cslu z1ruK>*{NE9tD^1 zI>6Xi2~cC@R}|Fynml^DR7eTl<{0X#*|#tr0i^v!R`9@ zJ{nPDV<=xyPytpiustS~tok#L>iPx+L8|n<(G_IbAoem7Tta{g{AlxGP{@P(dhpK5 z-nz2An(!FXxZ8`t$yqJFMnO@>$?~^j&w_$Fk^*@{s|V+tvyGpR9$@rPh;P80{~5w& zWA&~n&xRgq#S2y>aLoB43juB?VPP8ZGM^htb6tvqh#EUT2{Y~*nD?qn$o##|%V$l8 zPaZ!)UZ5vYGRpSv{qyWu-@kp!_uSfSN)9Gr28?0EGXe~YJ2aGb{(Pfg7NTc~nSo;h zt?&K)+r)||E$`{Bi%LhxwIx2NUD?Ro=pQFyCe#{lWtL)>dx`7n7#BAQYk3f-uW!IZ z8jN@>?$Ne}Z{6K7l>;Nys6~=YrnD|WcJNlnDbXaN<$#ovSh_f6L}IqqN#=5BWL6x9 zYDSvRHkk^d9?=&5ZPgX^@ZlcMmBB5(rF)=6gH-eFbKC{luciCNHR?Z6&3>l3NPH_Z z%#vpAq=L%o_f)2<7i>h1B&&X7ebVjWN*7zVHP$`)@I5AwBX^aP58E9_ik>B`Feu<5 zu>Cl{p*uqNqq7sGBfDRPexeqZKp>sakLv1RjF_b3MupfY8*6H~rDSj20*mzwGwX>H zomEwQM{iyW<+-}*XO6vCQ&W-{PR$VF-(nXp|MKOGXz|YpS^z#Zf&`?EySi#WEP{g^ zj*+p>+`wngl+x52K+G`DX2&W1@pz?sO7 z8cYXNDrRPVlas~<1}d2UxKH6=yc$JpkOO$|8s|;5VG17t;i<>QdQA;099vwI8$Z9~ z^bKcGl7P`bTbl?w^Fez0E#(V1dKy1`#{r2LV;!DD#G66AoX3wFca!1m>St!66gCDc zs@z;qi^gwZ*89K7ou|dV=+ake7Le3g7Uu5Isn zEjx>U-*JXFM3!-_Q*u0_?e>zKK_;h@*ksh1sTShIDdY_uJ7(R{)rURQuxUy1FTN2~Fy?Dr8b-;%cWqH>^Bp0e2*s(28E1AX(60tagpfiUAAnFf`hA#9FozLJTL5#Kl| z^%yp2E-qhkd#qRqUkzI@*?~VguMo@MMYvvz&hk2yL*-A0Qk|Qvf4 z3=rHN%_~vcwST>BnyodYSH!M6bgvrteb-Hz?{2q9vUnbPtX=1E9IMi6Dp|szOG2`L zePfT1i>b`chZ!7{;<2s1?fZr(=!$4$(kwOK{^oV5jYqIsT1eO5k9u!0-N(eHkTFG( z`F;sWP4C}-HFdUhB&rEGRQVTUnX^ zqEhn}U|yJ(&iS|f-1x7oEnJLXFMSphV>=*Yc$v@Fo9U%#p5w`vSS@7nVo&^j#t_+>v;>sH|`1?6_+_cd) zrgd}_c67{raX7UZ`NF=^EZ{7?I1H)BjS>%o^2fJM3h3CEJ=zVhGI#ys1nAi26MuEt zJ0hN)KWbXhK>xg#lZy+LNtnj%sL;?7{fgOzG2ypb*$*f#SZjiq@HZoXCA2z_X+PE{ zx!p{T>rx#ihCq4X3XVSJ|Ewj?AN^WYb(l|Igqc-r9geyU@Mfs2JS*a4lXeWHKQd0@ zQc`}@rm16r;=X><95KpAeW)6hoSK%_@n^EI$+~UDQ{;a3a6|qj?Owx z3u5LA-b7226ZjHd%fyqAk{%@xytmjX55wKMq4kMxezkt)uh}2~NaAkG!>xLCW`gG0 z+MSS=Pp=d%FB4ML%eZ_I01KxfF>Kv*KLp(|3qaB)y!SRfR#eP_5jA)x&&Q_S-S3S$pL1C|j5duxzY-reX)7{*Z-?if3PfIh z98&;HD^^$7Sbyq$v=OIT#0Z-}fyn__Wl~>p2>@oB;t- z7jO4av7*(_$FDhkok>uWo9pZU$jz{>b(-G^akC==NUnr>d>WW(GOq=w{^F!|jd4lN z*ymw$ck91*>3J2?YY!eKj)2R%PUjCU91x;mQRQbrtmL^u+4>Q+>i zT`M5R&Be|sK?VA9)RYN~RzMue8m^n1`t!`1= zyLUE~0Zd1ZjGIM>+mFtJ4-5!#5d;1yT_Aw12s@JTr$c)Z*w*%OdfGy0fQy@3D{nR) zeiW9SIdBB|_;LPcmI-fg@8f`gTgqZ&`}Z%wqUM=wxxD4q@83PPHkMc^t6;Z_JJj8+ zu^v$tWxT%L`2%u>#QiGAkC4ut?|z9N*%1Hqs}_sLM?&r4?3Z# z9~E5uvn?Sf`p`ne2u~GZMyi*8mv8PkE4%p0bXkIVwo7Nu6e9gJxm%#+LG#A?EG*{C z+=)3CIHsV0uY|H1Qo-r6bl5QGf1Ky$%{awR35}8j2{Y0IAv}Zg5-g-K;I%grMqkV2 zYn%g@+}{2lc2nIH?4<{&sIqRBt_ckw{4YcNsl0J?*m4_gI)py^`;QBK$NL8$Vd4FE zBbn|nA6|GJ5^^wD^NnAYojS(NQjalD!mKc{zN{>|tWPxqXhTzO25(^Hz>E{DlG20< zlyr5kHa^FXOFd3a^+T~KN%sFLUJt*GP{Ky!L7;$DCjth5&OdolV^T*-MM()wBG|ft zjBEe{kd=oWfS4H_A)+~&Tjca;{EUp*Z5<}zHezJObC7g5J}a6BKs%H^uhSdgPYWwn zEOc3Ud2TK)W`c%xHLevSJ$-A5r-Zx1G1g!A&L17_DbZWVxqjUjessnyav8emur)Bj zh*4Um8|@>ql=x_Q;4}mq?n39W?xJDjHeq0gw}?`ZjZ$SJ`6z*vBWZcn#V!xH4szO~ zqt*+VK&CM+>nc*$?>G3vP(OFhwblNv7^5O9CBGgw4WDr6>`GyOe?MAiA8CDkePsd0 zhxZGMiYO^3sie?DVHX>tBmR5sUwZ7j@vy8n-aaC+{q|{vMxhh$+K+4`t%7rA{KI=Q z@k##lid)F#G^jxH&P!~U#NT6QPPPN&ciZc}u*lwqIAD^wJ=ofw-qJAtDq8A>+!PKHGa!2Y zu8TD>GD>c2P)?r5R#?Lz++3$tYiEzGjy0Nx_$E!{WCM!_(3%m6Tp> z?&1$N4f{0DyU)7}1P!7}9tvW}x-lujM=n_zdYw;Rk8rVA!CR-2E`lM@?i(>fOV*Ta z5eoS!!V1w$(P(G?wMhoD>7RG(QB0RJd@mYW$ z4013mMY=`3U|LC?SE0Q5wJY+gH`pXts-JzuF;MdU`q5AOso@ zjYg9MmXfJMK=vDU_ZOO{ z7qF$Fm%HOQWppjP?vSdQ8l}{)S<2|E!usVlIEC5I#y6Oz-&pHvZ+FJN2(6y;>O59v zSsxarOZnqI*QH0pcKZkvut{bN1i?a*7=$e(wz1l&!)W7JQK8tGBLT9kKYqJ6nePi; zuIC*|X)x8~egVB8K2`KtrIC>lr0Q%AT(_w&Aq7U5ZA^nz#d6GAnHu*98{u_Af_h*Y z4>HT65oPIBC_mK(qGX@O~#tXU15ovH!)BClAtyx8eq zGfRVF`UtrRB!SRve*gLv>2}2X&Pfu_%#TMudsd}7){%WBP59N_v7z-w#R3k6h)?q6 zZMnRL-=iG&S#jmNt)y(ue8RkI637Pn7rzQOabT}}dyFU)YwyE#0oHgQT^4*J{^wvs z_c-C2;7~)zHiflfV211)VuCNkke2-%Ed9x5i*(c3S<;7<$?KbI3n&55;De<*-ZoPP z_Z%$?2^fYSC3?66jnr7k2?>-<7z*|BL`J-7VJcKhHOgvlKHH8E`;x8mP}6IT2{_K2 z>Y80y9}Palxn0B$wWs=NrQMp{y$S}5&ZJ(D%4#3kYOARrjO-Zr4NnDDLbv$+FFf=r zLv74bdR21!n!zOG$rI^)PqKIxn5-Qf7OR3yXn1v(ed7z`z;HNwHnPS4Z?VxkmAKk* zC|_c`zzB%rjJ{ea=0u3&92yO3uQ$)GDRJ=+FD?B^qcpaYmu|VHbM#O%M9x-Lj~t!v zqI~)tyL2G#7@=^Xr73?k*}3*M#l35sZvd3z~PE7rUE)3^n%6N>z{VwQ(+( zr0E}|(o#%>%@a?PJrWp>tsEfP^?4utX$-=^Ngd_LilN1>6~M4}AMv#3!nn*vCH-M% z0Tz}!qfJ~H;{S~))}w{)5M8P^{p$NVE#YLPT58T=n@%56f&U1$TDnx#Vk<{O>28{P*h}(Wj$(|105lm=Xhk|L-X10*mv%|L!PCl(PX34#D;~9IEP}8)+v@BTD<=?cjqq%&hljvZSTBPOt>SH(@BAEqAmeC z6FRX{70k*Q_#1+XcU=^K=5qe<{oUFn7fAQ|0mpH7FVfSn8~heX!c6ItEE5l6Pq)sCw z0T2j;N30^S=SL_Q27Le&7RvS)Y#$7l^%FdRK49-aI&p22=Z*jKDT&xbwh`VVXV_`z ze-94Axx@_urBt=Fo9SEsbt25t3Ca`Q8+N+7F<>D=R(Jj=d?f{Ac^~`v?I&mCrXap^ z=MEf=t`d{%FL6MPsFu0_B!HYz$NeQN^D4{BuTcYw6@mdYT!h}dDS#rBhZkb}dh0-h zZNeQBK>F2qB{+>BXvC}Tw^?=vR{QHDlXvY=pvIvxVKofXj)S_GgLo{0%oX*t zUwE)_u5nBrkZqDG}cA(->1KFE8JwOi*kqhNM1kAYNB^eM7~< z8-R;?#v>K#!QtUkw>~?;RGo1%G9x2UgWF?e>CE4STsTDcy!WM05dmV+q~-yND+ngb5eWY6*{Z5icoCK$t*8z^W1zl}T2ml-d^kW2ZK%rlFDo zh}v0HkOfox#tYX&FmJk^s&N~zhoz2eI^Z<(33V|27MH&!+Kz=)ZtMagK*` zsdN`2MiAbz@GZktC@j>WqB3D;-0MdUM7jjA)Ig3XrNDKyHaC9{m_ARZ*r0L?(VuS> zy(px7{run;%Mx5QJ2!Xc2zjt3lAs=_9>?u;8EhAH9O`LW08|(yJl-Q=RO%~8C~Na0 z239;>NXdA2s}wxmsUA<8$)8@~0!giOX9S-9wYtB?IlaWBib+JjbQ>UZWK^M{_#Rzw z%DCpuXwnTPU4-5YRLY^BP)cnEhpKtxE-G%iLJIKe7nTw|4_Gkn_PYotpAx4T7N2q) z*m?_7zC^{I=I2h{y2XKab<5C@8j!x6oKJYTri;s?)YKFIlMGx_xp3%kHsET{ncaW* zsV@i=5+%g|_vBxBd%G@F-Ha3RNEf^^cgyoeLHV%$f z`wnP=sC`oqlZ%)mIHpBa=r_AD({*dt#>3osyrou?h0n;?rim>3pQ+fAyRyWYIWLgR zB6j+8y62V$Y!55+YhyOZ=NSLn|4-G|@7fc&5gH+=Ft#Q1=994<=cu!D?Op>Mk@}hD z3@p&xeUFxS9;yy7E>$t$ja+IoxC(6O%y9*`EBh9vbM!69ja-$5E23H|8zBsYD1<9$ zYVx%cN+0e_k`Gr!g@joFdgc5*2_i=pnTj$&hbV5vGjw)>$!*vB=^w1^wTWDd8cdC! zAD*1ZO`2J8lOhgWGLaQjpi*8V;d@-z@|1Iwm)R`)d9jbA!m(owz6Y5)Iy#U<>53RQ z>Wlxo4iu!jkB9hj-7d-1!1xwN$lh22PRiqY8u?##C<5}T*Nqj*Hs1>8yNvr1za@xqr#_3 zlR|3QP149Hp)^NF7pAH>0VXFW6HD$u#fbfojlfCm+g0FctX6soO#<9iF;M*3)fKi| zl7tzQ8Wd#!%=R;gN=qyem?@@D96!GG_^0^k(=j6wTwE33zo)nCd~LQ``tTB^4}qe8 zU_hZ!6y^V+(3m@UI!Ak3-&z|QmJirM^$>RWFzV8`YvuIs{{Z$VcnMDdk6*g9mTx}v z`w+rf>T#J{-X6Z3@E!=@(B6jWZu2`fHb~FPx8pc|?%c+Ygz5#Pac&quQi#~)0vy=O zGXwb!6SMOpDpE*ey0{SaUnhA_*B~a2-^r$TvP%LU=xuEpV|$U`hn)-tc#MJ7+*(Q} zutTD`T^K8A95KCg=~DQ3T_=ss4Oeu(c5_3PXs#JV!vwtk&#L;GJ5E0roV+a05ScM$D_M-f=iE38>Q(|7# zv??X|E;oW8)d%AWD>NFQ4$#tK`NYM1%P#gLn|3OM>kG<2p9=l^_dp)lACZWozsn>x zjW3MszbfZE@hvXu6dA#IvxvAi5puf_6HGy@+ZL5q65q1dBSD#snr`uY=0@^9ncDG3rKIGm z6Izw#y&=xEISbOd?(?BVv(`?*GA6=w;?lL|_HQ#9!VIX12{3p>-++~Y=|}eFs(q2C z`J<#jq=>)6jFOk0_U{{5R}j2IwC8-Xw z-_2|2$L_IX2wS}2(D-Oyq;65F-=Pdclh)ZwQ*eA0;HR6T_pFO~3I%q1kSR9A-H7Os;{vML?f4GZtBB@}-y^R&!{ z;GiH0b}Eo5k)CKj`QpMvf!oR@tUIAV7QuO>Zk4$%-eov_yBv!t{4>tw)wMk+OwESt z`*!YGMIxx2XS63=hkU4da9C~5H{wnZG$fb6@4l7`zM!fYwfbKQ^PJ^U?p@1@~q0E*-CnIJbgS=8h1xCjj&{bt0_;Gox| z7>$oM-4dIb=Cu)?z?t(Lc@z6;_4b2JV(y+Qcn0I7h0(dCdr3)^ZJF_UnPnhlK0D@p zR0A96UvP7aZf9ueJK-h!J}01rE_^o>%pv#c6$fGl zMD0i09^a3EeSn;i(V%j&W}0h;PM%bwpq)^v`kXwSs<_Ac>nyuN&t#i^HK2z%hs;6t ztn}3Bs^Hhd!y54OCUR(-Ud1_$7!wFOdBw~!`auo>ap3NqI}iczcIF^Mm4(l8_Nlo& zObu~+!I71JNe9!l`MEk*OkBtr=-`|EYpBJd{r!Hlq+2k?ScK{gHiy`HE_joJo`+mM zbrKSi&CQ2m=guic5rYmJDPqgQY&iMT8CL_o0rs}Gz!wUxaUzKinJ2!FA3IGIZL{yP z9ZU@kQE-OG#LQH2Fu@hE5@%Xh{sPt@ES+}8%lIP|=BCqfHh87#fnv&U|Ti6OlW(QATqy?8>NE*&La0?zi`l%z|?(*f)PHRODLQSNw@QD*+ zDBBUn1>6NWjm3&X(k)B;5R8FGh0pu?S~p9I z)&ea0*O_)~vNDsfzTLs%`uH2=o(tzM>ZG}zm`qD+X%PS?^dDE8ec-2eH0 z%SkIkpYeSx7mhw*4YjYD3QPh>Li~*M%|@YKvC|+=-MKoux*PhFc6D=6k&)U{#IH^4(imnwJ7&9{c1iFWVO8<(=6~dE%4jgn=s>aynXC z)czC%Yz)VcaZu>F^(s0#dMGKru&}>5^*B>352X()|Ez|5O~uELYgnTbo!YSbMb6ta zUII;)r76Y70!Jz0kQc>23xxYSvgxz4?K3ky??TuIJGgQmQ@x%^;#UO1YYbJcM*oD- z@YYhvW1zJX?h$Rt!Svl@nEA$t*d7-be+A3-W5*i1iUj0>;Ibg*2~n_AP;hX3ax%&F zO#B!Y9CW9^uXsWWU<{A)uB}Z%O3DRfE7TFaU;H}}m~kWDiI4UP{(fK=JZ4m3vQt!4 zgptiqfQoC1X6`vxkJPtrAunD`j*bQaX@_)RvRjTPG*yTGBhceIF4e6MV&LR4b=;19)l?sL$8cYy&@;$~M%8A6ZGzC@F`3k>GUcDD9Ac2^E zn4hn~W(B7-@4AeI>0$2Rs*)`ath7?%SKxYL#H68}dqq~(WmBxSHmxk%LilRTlK{U0 zUK+oypQ1+zs&y|AV*#Cvt7`$iBGB`kU0kjm+#EaKbH;NM!)fQ~UZuP9d7z)-`vGZk zyq(rd>Xv2K)w%k;UMvi*mA~h(&@oCxt;u-gi0q)sjT=SQJ*BwlaHECb<9=D6>AA-3 z(q!5g4$&1~HXAbZa17nb(3SLOLlXe@$ug!V1O1bjo>aAkt<4%~sx}>7H<@@g(?U+}u~?P*rFA4dWv`{)V$GGvobR!iKEZCZuVES;e07_ zxt_2(cG1({{=t{AX=`U^V36^+LjS^rG7RV-DUE-{XCMQ!W=R3N zw8O}XwFi`qF*T+Hm^u=_f+;2f*o(J}guI^SFMtfh&g&)9XtDsW?U8qGA5M_ZP8a}qMWj~%n9 zjW~$u+_w;m%L)AA;`b{BVkJBmt3!<-NEcnD1|)#J2O)aK_`7w<1gKAl`343IZ%}Ds z%brd54Bh)LUcA82nshJy)MWPx03%_mpUTHWSd-DCi@@{rI1QDElf<20?|@-qnUuIJ zAjVB4MqGiLho}7=v(Bq)I>+aIk^By}gxH_qUMh8IyOoJ7@a6z+uGv|0=K+gk@$}Be-k5-!B^ncp;)%o*Y)O zAOC3FMZ>%4v@mL)s_yydn8?Q@W%(Mm?4j$NU&qIzK;iKA^2hsgx_sIE+BL=67e|Dx zYWxl*41Dpoh1Bo;&@M@g(S$72SlQXJ=iS7c!pVbs_qwX8P2LymR4;h-ZkwCC^q&8P z0i^5Vyh&yl5`2yXz(dkrOUoscM>jmYeRK1ivI?SW`C;CApP~bo2~7ktSDLeS`}q~< zsj7+@d{J#Cy^`=AIquD=5>%uY>4iOtZkGOh_ihHK3pDL878I7G;15SUjq~t9Qst#? zFE4-S@F#)Q%_ts@LPh=x;bu^6CMKCkOCQn7GWKc_P>2ou%6#r4L z1>zfdcTOTewX#wh33Sw#2~Tx+k{Eff>Gj;S+WfsQ3-KP))7Q_OapvO-Rm+$h9~~`p zTj}50;Ehwyc*%34(3WoR-Z_A%^oVR16ukX&*&p#+-eu0q(>};}USF{TIq3ZKQk45H zW^tRN?@bi9p!e?UDZ?`^|5k8!?_45n5dKuU9{G>dFlNJ`gMV3yh5b+2XLe$*f9>qD z;C?yK*Ea*BEULo+q;@rnpIvlH32W5aHEnKcM}2;hu}>IGRMbFbCzwe9a45szG)cT z6F+_otI*$nc=o=x_a)?tt2S{l1|l4G0Eo}8UrtD$4q^ot9a?GWK`t6UOhhVvx3av( zf+6#OPs3Rf5+5MuJw4X-FaNUh>&K17cZT-8>iH8dsY*C+MltGjE?dDaao*TaIEAPjbXM#7@yrCM;mhtlyy{@iq0=SLl zbi?Ndp~z6u(9qCaNr{Wo|N69)jg9wxmYux(6L38%2JgJNBXq^bCr?9F)ou1y^3$i{ zS{WwYci_hIQnv?=#%oiaz&t;>rgTJCei^DWeE?5ekSAnWu|TzRZX<+Xfr_1w***?G zDa)T9mC|AZ0?4>vii~X&Gbu!u?-!?{kiyI=?FC1d7Rl3-$?pHX;$hv_(!zqrJWN1|A+Ezm(?v zJaw$6HY`?edN5QE1%$8kuJ4z|dNbf|afLOgyXe9jp$MgrFHc`TD7|Uw?ng>zZ1S61 z{m>oxx&8{SM^dvh&GhtmofcA3-p|5Jom5JelNt!a()h^K$jGzENZ`(^ zOZydMWu=MXOMneH&?k?Ux`}G(CMoG?cyu%pPv zwib$Q?@J~>@1<;985^Vjz_`l3bakI31roxltErgrcAWdmxgH!9totuM$6C#N)b4a- z^Q(u@JVi`C$LXk^zODpE|9r5!I<@v zVmll82*GC+`Usvppr?+*^o_10fQKcpH51*boKA4jW-8&2hl^Gn_?Or~!f_ ze81taeB_-GE@Uy3XNLj>1ieg+x6l-0V>2{1M&N?yV*7jSjQO?$iK7E2-Q8VL8<3HV zKrNziL@*^iUAM@^3pnTP@q>_f;K`94vQZOmw{PFSUQ*9u_3B}^l5L@mY$qtp@x%RP z`}ZU(=!Axal@H8_Z`>VuEq80V)y~C5MoVjTcJPW?`nn)OkYB%+es%57407>C-mHpP zW9cQPTJ2mOgpi$cU3{yZn+|;hGqXE-JTD60Ct{S8KTt9%pcHCrOa1s99}H&8CvW8c znjO?Y>E9j{vFia5;W=imK0co0LyDI#gC7BT0&w`62qC-Xl!LgHmoLqstPo!{-TW33 zJL4ploww9%Zee5uD{fkFCby$_e&}ebstP*a(QsNGegA$ITq#05?vy>`<0TFg$UDpp z3)^d+4Va3KPk%YzzOSWaLf;_cC_ymrE8H+(fq@AIVXb#PtATuJ><|#~QI8F&W5@O% zBm7adY(|~Q0=|9P@S8Ug@7aR}o1?_9Vc&I@XTt-5hY;9; zui=!0L@NSMD)dLXSw%#Khib=`rYhZMD)Pr#t#4zeTIgaID33075{pSr9(i)OF)K>| zfBgLR;?MO0j^4b}aq)^%9oYgB5^&vk%)V4nTKdn@%QC;($ZxX#1qH5FR+H#ArZ2_^ zkQ~5h?S_WN-99OKNy+X@OegD|w(0_G5N=4iR+^+>B*r7*t0Bl4UpQDoOJiQJ9g>cLs?>EY@NPYhrpiBcIK zQ;3MjbPm@tB$>7-oTwdYzWww|j(b`}DuI4e$7|;|oVeq>NGuaMKGD|~6B!x$?AhSN zL_>P?bq|mG;o)4tX6J)gAI_MFlMzKnggg?}ws~|{^qhdel}l{NKdwLQAb$0Q+&$Pe zsXZm-dR*gS)?`!NvTcz5yeD)unAY`V{m#7-s*e#CAln9wZ@{@wc4efcb>`cf;3YaT z{!LbuDf+VI-iRr}!-lr?m-t0_gjNWeeu_FH(0=>Ex^_c#^+2Oy=sS&?$B!?dKu)B@ zlLgiNR>?i-@1LjVvEmgUzul*LY!!{{CA>(qz88<}6I|DJr)Zk^9=?px!0C^8tr zNVOvNA@S9$?r>NyS~`1ZloWDHbz|ex_{f zP?D08%d>9*NiCZv0qlj4gN$hVb;L@&(PLkDcwT4^sI^T^zX4RJa>|P3b8&ERoI16` zF@1S?UKQ6Dc&cGcC?sQR%#mL^=|EMF?fzdIAdXF#Xhli(-pFN0)( ztel)L`{}M($}wYs zi(GaOC=pRJWH*=A*7}$AoeHl3>rGXCu0r3|)>aM&8_f1A^!uxVowDaK^)9y~1?LOE zrLcqa2Nq%}PHJbTj{{@>yt+oPrgRt|{(@tprbgsQJa*Oohinw<1JfgV-_Bm*2@PgN z9k=4P2?**(V`SKzGEXQ-A})QO6-@=TZr(f^TAd*JS}2@ZylOv#FQ}oIsxx^km%wc#ivw^Ze>UI7o;)++%97p^NMKME0WKbKC?YVAi3AhD3I=79* zYr>wJIuJveHx0vL1>3TArP~SpObzy660gr6Kf0nUifp!;t;NiHzjrOi%_F7YiXk_4f8Q zx15=~EPB_bx#pecRz2Eo$Mt2d6z_n|KSe=6g}zEz=qX^bL=OXw1;HYOjOfN#*B^~+ zp(fgg2x04%=Uh~no*0;!`K*mwT%^!9F-Zb!u)6F7JC=d!8ug46*&qblqLEc`5fEBqvZ%eMgxGlg$E0U68MfSzJrE_ z-_!o*GGRHHg^Tn(La6BVuZz`!H5T=bkA06L?b6cH{}NlT5IS5kqB2N@dO|**I7~(q zSXp)gJx7gxCZ>3lOk09SKQZb3N>w@@A{LVee?uwLrZ)$cSzhxsojjYTQ@tkkoB$LKvC?2{2=j6(t{bYV%js z8_$N*#LT~@rkEJqNBb-Mc1fFBHIImy$_akMO#NPr%IH|Fi7aGrQ&Z4KBZI3@n0uj7U47AMls zCjl_MA95m8xTQ6NFT%UHstB{U*NulU$U=p6Fyszy8q^IlX)(C+MQRM&U~0V>S}o5a z&dLF0`YS6XTOh=d;@+mP#Kei185=M~@6tkRkFAJIN@(Z5l4a;w%*~gBIkqxDT1(3l&p?MuCGfyc=}eaBsnLC zG0EqN7=G&{epZl}SNF+5Vre)908u<3Da+6Q9_;J;!D$+qIq6r=Qv~50+}L#8rR%)5 zSQHc#n!*+%;W;weJhr?5<}wv!(99SBOMo`fN5Nsqra!%|r>O~Def_QoTdhYNWo3D` zoD}O(WW)U8C@bF3Irr5gSEoI~~q7kTdr za)meze91^nU2zI@7+=0M)-q+gR_LY)-bJpP2ZN+6pe_~VnAX<4Pz@cYrrgEcULrBu zSH_`grDYKr5|V}IF&|7xcbjEp=AWhYfKN|er0^64!LTv0cDWab;($<735OyjZ2s{% z6)1vG=^_M7W9$Gkah0OPMnu#)nRP;kDR`OyN7;zw92|JWx6Kv;eMS9y_U+f>rFcBO z;;^}Xu{kdL#q7qC#NZH(;M8-TSrgQ`?5~P}!FF#czU|ZK4l|_7DXPdUU>&$5Li9DU|LapYe zX(RsdfL*}CE&Ziglu~y{Qmj5txW;++i0L@Kqk{*LExfI5>dNP}%{`mu1&h7r2%IrM zc@Kr&neKgd*0KMtsz&x@)dMLup|R{sZ!#IwQ|S}4$s=l0hrn1w)uYfth%>3Zen6UP zj~AvCk?x5?$(a{2E{}DaS!%$RQEFjZ_3)`gRj&ugLX#Sda%;B+FR~~FZzY|e_I*Tj zzvJ?QqZnI7zV(r3PfhMCnY8A({+bkWl;A4B-KxhA`c*iYzXP_CpD!vN3vlQjSUtL|~1VQnn0@{fE_m|>=-gDuWv|rKR1Blc z)h0SLf%#bW6gPf-e4*k8YEw)};cm<*Y&8zpALXQEQlk-n`>(27F1beWfa9P6(d4G_ zt0*_vHf!5LhG&+>Z94zc7A<$#gSjY(9VXXH+uFivjg!TLE?HPI965sIW6Yx^)^48( zQ69T|9WzdGhjG?mGbEd;a-1zk4YQp}M6oN_?9{dp_tLKIqsMV^d`0ph(dyb-^63uX z(=e;7x>+x${A%&*j;;?cX2tnVo%)pPx#0bKCJ;cnnEfpiF$xWbrUg zNY9~~aFp?9L`9*3%>VeY_foo`OeHN%HbW)VPGQC1+*P5eGK;He4}NP{Qu@oN(6h!> zefeUH#^GaY8_@UUt2_~2DdO)BF&mnhUDt5J2?MU|$k0%VXuN+w-c7nO=|;nInO_`q z(yYQ-?w?U`u%jTo=#xN!y}|f&b>7vIK@c0Fs{y3IKnbm^(hZ)!muELP zMVnF*1uaHL#tAPeNw%Z7BG(G7l29ox=11Pt&y=1}=VBbMZ`*$jDL?v|O^fQ;o65;# zmB+LKw04e~X0ltPx+VljMY^ev9Z+J}^;%0mYybaM)pf^1{Xc${q(Ml0A{j{{l`Tn} zgtAvcND^m+WP~InNkS@wkloQ`%ZQASY)V4OuI$YCJ+EJVAD_?t@%i+qbMD^vey!&; z&6aG_J#%K{>(_}BFV+gFaWPQ328)X;+S_wI=Ij?eFRV&hbGW1o-IT6i>HFUKO<^nL zLo_Yw#ywWPGWNuBwepv$wm-`zW5Kbi4m~TzB0?{a2n3V(^{szdECP+_O0PxKu>28NVRVYI&T8M@Xmy zD9$tqgYm@+5kFY<-7z(d26ZMi-sA~Y7Kjkv{YS8cUt0E7uF)Ci3!o=rqN3r-ylASx zrm3}JyNw=J76&J%7unhEo*B=d^NWhwe5ss-Bpm|ADd6HIZlAQBFM(ZjhZi*Pc)I32 z7Z(>O1dzHFE#XDd5{{^Znh0)55~6d)0TAIrh`|HF0_yOCCCe z&JoTCSz+N16*o>B8-M%ywe4p6?*ux^h3jFux?bu(C^HBSu$krul2cO9ya1f&Q)MOf z+`d~-;2s)|kN0Yq-nTs8zsuXZ4C`Xk$jrIdH~V%1AHS-t&7>l*{L2fJ-8w%_ZEcD- znSlUmEiJ8)RcO(`H4hO#4-Zt;S!g57SS7r|V810qk(Le#$7fF-EiKtvB%IS4={E{31O&3400+=ha? ze|OaC7#JK+5xu#U^Y$DYxF4h?DFw61llJlR8FUAmz3A3@l?HZ5S_Nl+oXEdw!mp;vbqu0sU07(q{cEliH!qP1HB|vb`q1RQ((1 z+p!}>t{1S4X_-$dw3v!0QvBhwbIsu?z&)yU$XKytQb+)%-nWwPvZ{OZO*=>=B zO`_Li!c0%e61LqaTSVHR#}dBK6_7}{J%A;o@gW9}o&Ep_A)wCUc{W%1rsw9+hK`vI zI4D+ZL&5NvnAVrB2mS8(ufH@#dZtxAl{;XCT9O7()wyuRg4*}uR^eHk3Y z@fjZkqjk3XkHZH6@*(1TU!60X7<$D*ha?QL!WJX6L8kVPv+(34mcD9e~*f-9d@oZJvhv(LL|YI{j|AF5@%v( z>D@<;DA{4XJ!?I3il~Lkjsxj{oS1>%zN6QIR{^_c#CQ}g3Zu3=gd(L&6d z*gQI4zy7r_J)&8n_g4#$lX=#Qfe^x3(<+wv4N(;Yg(cj70K1^_O-{PtJluySZ62mT z2dP(8RReD$r!`_Ljg0aW4|H9zs2}RYwS!^+@*z-bZhNk^)dz6Wi%3f12Cexd{2aV0 z8byefmM)NzBLJ(~<#?k7v=qP&#n^=Q3`B-#u#zH1n#%VG3%mEdTA`NTdF+}~^&M;4 z_);$g_{4#Dm02|_L8GIKDD+HxMx2I0fN=SJ`SN36i1jUmciF?ZO#`>pY@qpBsS|GB zvmA4r=Un!O_3Qob-lf<5wy}6%f@{CuJs56I?QgLXgDNHu0T~dNupdB%1%1HugZ&67 zgkCKn2r$5#H>vF`Dq*~|33RM<*a*ouN<-!E; z(INEpXUvojjFC*}m0)!N#~HSe+2758yp9v2pla-q|C92!H|Q&bGtxZNsW( zUQlRgb5_|3%pWSe!2VwA3WCKL1}h3%H#U32@70cmpD{98op`O`c2euuF;i?l&P0BG z9e@M%{D*8TV{|*E7`AGaf4s{k4t>n)Qx7}|Br!1ybe@jACvU^dk8+7^+rkloZ1vz& z*jHH7p|QNf8mVdt2nMbWY{IZ3b%Wm-V5oFDU6-+!*U^Xd?cP#<@9^RQ<*;WY(gm^s z&`vv}ZEW(&Ga4ja0dbFun#y6i{LF2NM+T5AW|TWBDjoCA?2ztIEJM(qn>THj4f(=9 z6*y9S5~_UDll^_y?Hw1^`kwQPT(uPiYnX_a?+&Ph$_C2)2$yBgNe)i4U@jW-VxG24Wl!x0vOrj%q z|H--0Iac1h$=Q`@%@h9|!d7~z{6Ei-YheFY-uyTvHHW`oE%mtI|Ndc|4DKP1^vZ~} zkE+kBeK5}D|6dZ*BBden?_*qs_HT|LHblKZJiI>YQ?1=el@lhhn)By*uRONkZ~i{! z^SeB|aHU84VuK6t1tkuHW*Xm;TqsT-A@(5ZQ$HWT+DD z-L-~lJin-Dv8CmqG*eqg2Mg=NV*9*?_X0MFttDJ`7&(-BEjC=+*n_KWnm}-xdkt0$6hlM#Ko7fzRE6qJ@0qVVE@AR zd@m@M>FHfC)X!&s07CV_R^Qyb?jASi^AF#`!dMXj0#XdfV_oAxvqS$t4K>_S70p!% zTqYGM8MMeB>}hY06p%c;u%kyndT~G0iz_l`VP)Ad6(481RiFWqd(&cmWP!Yg&;?=< z1_D-1XhShGpwYOSoX8%ba^}oJ;I)Hc|(wl2p}7a}|rP%}}6rz0Vn%bVCvv zgr6uPsfQQ<+$vzx|7TeS2) z4!cck&}D@31D1^QOY?3oU%FO%i6MB@@1E29 z=jElP0AkYvkWjM$KHI6EKc8i0f}pmzawQlO-^@t3-kerr^6P!=?>=IO@c1zzJ(!TL z1nGKDf#cX@zngT7tW^^gR!cukBGFLwEgH}UzkZcEUwwb5u@(DR)s)tG&lSIo=iBK^ zh&hgPKaMg5IwQb_Pc2GQPcO;vwx#F^rMLlyJF&+!_R_9BotTgSYlu2%4(;F&-aSdi zFI^O%>MguNyO~`B{YlY^xwFih{JR1tryD6p7c8`D(Gm#q(4X$s6lliX4G<5lHdvX@ z6Bp-(PL0j2gK9WLX*)ABI9HW$KGYefC4*l-;pw@Sz|Zw++;=Mtpw!m3wjAiaULvVDIKIUF-HTiPQ4w$jjzt`0mL!~ZxL z9hGN={BL0CV#ndI^lL`erFokY0@wWIM{)?*gzEq~1VM<+si`z3&@xg_j_S=W&f35M zf`D&>{U>P87B~df57@t-Sg7#de89K>8sYx_ZEiBt&_dw08-NZWeL&lYks6b8A>@!) z>mfr*jk25>W&}+RYgkn?;x%H_QUB6_NFfLDR8@eP(hg>;5XONm%LuMJ?D4bM*Z0$D zQ&QZabH>`*w^jLGzpNc_DqXpH9vFC3utM0Tc+KmQ4^JkU3;T>wB>W#P)+3ERCM*nl z7RBudS2r~@Q zLUw1?R!LFO5{J)BgyE6a$}eBS=-4Zc{c=`0ae_sjAw4N0R)#5%nNwco@OoKk+W7SJ z)25zeOGq;>Hdgl~YaX?rmVaZR?WcLXvi#bw#cQ+etSGAu3M_nPcw1I2z&bWxJ8i$9 zpht7UdZ{1aDUpy`H&D-NTIhsQ1~zV8FxqaD65@&UV6m3MAsLO{sNoTUn@$mt;Ka#MUdT5$i-*`|n+CxxabS7-i=1!8) z`E%v{(>A#hLBuiZ*nd#h4T?=aYvt|l0U$>?QiHXCLFipikNV}OfrE3e{Wm`p+V93L z;fY+}f^{2s^tM43kHhFQ{3_^Zt*v(;Qyr|$eCy1zyL4RRB`d4GX&Y-Xw&RjiRO$cS zYPe;9>w^0_M#ep=D4my4`V`2h!0mImyZq=*14WO`c#1~W7mt*JnhkuJiEt`1R{WoaWJ756vKZeHjEfVr(S*Jemy^ z4RWwzvlHIH4^~uUc%>vUQNi|GJ6s2N&jp*Q_8{Hqbe5Uly@-gUl$0a6vRtn;;;OZ_ zGq;7;ikXoOFe^g6*>)8P@8jdqVPS|`2h;O8&D1xRm)H6=q1g*Q?jPNOr%u(UrhU#B{Am~vD}bAf z#}Ak?ffibykMDCZJ^)}!NPHg~Tb~|@P%q9SE+X9A`*@#*_^;0*TgDq|)C9)QcFWOD zx((uL!(LNguk$@IWp?Rvb+D0k+BbMT02d&`A$_l^i;Fsh$P_o*I$x;vAVTAiE_iUi zSdO;DbHNEGQ&@)ZJm4Nua9>|?iED@yKhAL4rVDOrMRjf zNO?xQO;uY)w&ZT4ADQv)MkqJ4v-H`t>*Ql&}}AKreRnYSA(8*gTug5bR2HIfl%wtoSLSpBwW_ z4{7YftJ##|HML3cB#wV{kC?4la}AptH--g&+;_yi6IL@o0 z?T@#~lHTCFa+CC)v}1&upGdo|-^OW?KE+b}P- zkV#yp-OyqXt)uH2Uz@DYpQ`hNQ<$+~T8(606s_(m+s1|y_PO%c0Zy1Sz|}exdLlCo zqB$&KMFmnBYRU3pPQSJu)w|tcxqQ)ob^nRWQ+HwXvbb;opYYmG+qX#Axf5Jy=o(&U z`um&I{N+cyHj{Jh7__ngT4ePs8)M5YS3j{rPz8)8Dz@AVf#k4d_c2Jmxbcab7Jc-aA8=@uFeS8?bt zEDsG=S9e!Sh)GJm-go)(>NVcuE-v;83hM~`+}t19+mpz4Ft+r?&w|ljS(1%Zjs2J2 zLv=KH#s(IpMVa(|>`wUjszDv>Lau&$4fXW&nB!<$BoG!@K;Q~aw@b~%VY}hvDbuZ z!|?R=XnGEWT7)}>V;7UU{dSg2O)$HtdFAsGkF9;1bYO+3xw8W;9W`c$z`f}9I$a(^ z67;PsUEFwAClhi~Q{SU81mIMRbfMP6eBFK=XZZP z0!vBe<)OQfvlc}wjs?o&)F8%-8#9(&twVl#iJLz)1p~S{F*+o~6*y#cLo$<2&H9j` z3Xjo|k!uJ{K|15E5Qs0}4IcgWO*!mo?AGKpRLiV63pu`vKl@Mw3(+ay1BdfFi?>be zfT!opfW%ezrn=vURJYB|BQvOYxBc*9-9hNV5&z3yD*9~c!PExME%URTC9uO^c5ry2 z4*>{F06ereYAp^JOO=uBltOmxV07dX7LMe)#jPM~CPIgA8dl4S0Vh8~GeX0n$h&=f zjzZRc)Ok3-P)S-7k||^xke~M<>}-cU(2;(UsUkx0VmiV zmZs`gvtf{a-lw$>>m($E%t3o#@q)HK{Xs~aX$S%>8Xg~}I|!GbsK`{Rj}H#g<-bH8 z$8d}|SG)Fpr`>8A@#qn}j=>kZMi0_tWRkhuhLb zb&~zG1QApC{PIu;{;7*Ogq9mlI3R5hAz%SS)*&WmR2#r_0xaMmS-7*VZqwdGw%(eQ zpuv~_gw(K0J5NAb0Z8^?Jqqb02yfck-RtfLYQ*uev9qHAB@2r9^GAk9MjWRHW7MKc z2PWU@MMv@0l8juLsD;hsQX?WRoR3D<%rsa|%%=ho+Cr;_YALhDdR`DoN**gSLlA=7 zA?3!{HO|tX%F9=xFXaJtmg$Kru`IeW{o$qSG5K4_^?Kqy9Q`zR$85QU2s;}!6c>`h z!q8#$^qBm<#e8b2@NIkH;1o4bYHb{!ZHKw$V95lHPQ!3t%n)Kob)QuVOjDAmRj~9$XVdOhZ;}&p_ zH_&74*sf!DAPAN|d{`_J`5A^jx&rMNdu06yDA*C#Imye^euON25^Cx6lI|+=$uf6a zq0-3iujj=9Iv(c{7t_r;hgu(B`MIen^pW*md-=UTWavXzmlY|m>j0|0v80WD8J+li z9_4@2KY#M7_;-mPqTsQixBfZo^l0=X*&soGkIdRsGMUP-*5bwBFYO91>D0;f#0jgl z?W^@-A@_;>W3qSCBlaIW*jQJ$k&X_4XJ}}R@!1&2xDpd%&B+M%PRqRsJ4@@xqH*`A z6nXZNbi=g%c9pPA{@Swzr+ArIPL;fCD{sF#JlkA+UM=h?Azt&Nrc$=mQDI%dEO&b` zmFXq<@7td0pYxjPTt#t}+c@|hvHrZw(LSXC(}}A|+A3ibx*RNo{|#Q1<+Ha<(J8Y0 zFyZu8`gl$Jk-KP3j}X-Mh#&6koOY8r8kS!$=moT9RsO1M#C7!)8?`hIX9b&mt9(WA z8dkn1lV`8CbaV{j!d!e;`DWlnPl<2t3CSFNBRe|4x`+M=KI_DJ*s1u%RD|UmOM`$` z^qBWR$2ZfH!Tu758tP9q>`pRN`BbBo8}{IVzQ2Fxcz2)<|9x<)^73kLQ=ZJe8p$jc z;MkkDqL#AMT5gt_|DYqpceJqi&hUxs5OIa^UK$`W%Q}}%%=Br-^s!N3F`#`j7bJ|UZEi>a@S8}^S)e=nh>o_nQH+z}{mp;FZ!EuR zUI7~aHwf38o|@>`F4n(_f0;XW7{k%u(tw!3v2O@>${)0+5uljhmU1^O)`X=lB~e z!FSmu5h03v3X8T>Eo|hgK4LF~C=vM1@9aDrHu`H4x&*J;_S1+i+eAwX*L20!W6PQ* zCbABFuaLKy@gO=b?%4V2EvBZup}Uo;tE#yDp!cAm-}%qBZKC)!;6h;rq)B-!dC3Ie z7yN|^1Og1J7~i=pXOTMX@zd6?397frC`_YR3@bW2T_Iz`YDXK7emeyE!LUboZqB3bzA!bwjfw|qY6uej8i&e4 z6RCQf4%PDixkzHZL@9;KduHbvsHFh)hOH79{30USo8lG9mVO+GRLz6$0q+~c9V0bj zW86VT;ys{8@-ku+kmO1mzq(Ym>H%9J@Bm6)6&OY6-MRgUL?Y}pb{8+^BjXGw0<7H4 zEiF!vYi4F16o3PH31HHXL7oBkBtqES9P##~Hf1{v)Zt?*Dk%k3 zeZhXM1lR2EBPT*4&Sj!ui`K%gxn8v2PK;sy4N_dlxL^Wc$7U8})lqYL%`jd&b>QJ8 ze8{>w0V%0@>=mG%hFpqFCii;Hoz>K2pd9E^C^;#8zFQdxXN#QAkj>ZkGy&?XwSaO> zkJJqk^fRli#1RpZDU6k!^c%QmYWK#$L*z2jGJxzUK4)iQT`~9 zCy0Qn!CV3F)hxIj;1(@fkvPe-va$-~V<`B@U7usim%{>ueduu>M+XPmty_EZ?4m)J zW4f4p!}|BD?JGM`QygEEuN{3SaXsfYFl>PFApeFM_GA?Y$j?*<1$XyCNIP-gL&(@3 zl9Z58(bH2(-qPMdOMPRzpuTF1wD`V#Ba2WZ7%6;Ggu@(7G#Hv#aRFB#za?KnLPA;u z5!YGIo;`J<_%9?R?DtQ?FA0<~BoR>Dx;Rv*V~^3`V<)%$ZwGamHO&GkWt zUB7bb>{*UoG}>p*xKDkpg{c^>YMp%;t}ii<0dhr#)_Q7cKpan=Jn6l*M1q_Q`BTda z(-7`=yzTAkDoRM;Ie0MSb_ADSrMa+581jzeHDLoNwU1#J>}qKVD>sw5Is=spXeopO zSX+bG!w9z~e#CvbhnH8gob8!LoGb;rD=f@1DM7eXRtHCUOKU4Id3|l|FNjwj7^pHk zWRgGCcb2+e=g$?EljKm)LYWm&Q=v6_qr;m)kMkPr>H^)VyEGL}XM!M!_vCt%5p zK?$f3P(!2sSc(kyCk9=ka(cwemoJe@k3sTld6{Y3HjLU2ck2E}e_aY;iLuZX&51AC zRU>Of&224`2p7DUWo6U%(e@1F<9f~vhZ^jcIE2T1&2loeJchw1uN}%^ZK}vE8*!Ev zZ%`7o5@G{ADugI1M1NTRqhjNQ&^MITz~TGCxX@Ug!4FE5Y#aKS_@NI*zlBvz3F1B~ zC;m`)@B*vno)yd3gek)ulVx~@#S7y*CIV#R zsXyhgkl5Z?*$U8+W}ENi7~7grQLXJ&IWDjJNv!(SE2;$c)qT=~D}VG=*Ii>`J1Y>h zm71_fu%o~0eMcj{)rc6TrG{h+EPt1Bzfie->{D8we?{oe7yd*M=kPqucZR-f-XW?B zr^aUcC?4^-5+N!#S8$S_w{p+)|9Nh)({_(X~N5eXE96up_p5 z-M$K0R2#x;v9WE)6r{2nAW2`EtU+j4M@I)pcLfCn3?-}=oHA{96d|)58=E{N2ogl! z0M;rj>ck+P&{Vw7?JQtg<+$W%9Se=I6#(Z>OFh3sg&2ebzwv?m?JQtl5Pz?r;H%6_ zY*2(M85z&HRf~&PZ*UnpH^V>E)bu6eucT69qBkvvoU}HlxdNkzv-XEp*5}% zh%>1S_w?@Y+KKEI@YjO-!LuWaBvnZN^y&Uxc0wfvdV2nGWf-U!B!>2r?HQ*r)Gm|Z z3v!k&+0KF~5J%z*7xt_O%~!Lgsr0w8Ov;VrpM%N+^*qD_*rDO<|G?mB>j+wFao)lp zB>F3c@n)o_i?Qz5audjPy%74iMn{R=-@6f-znuk+KTKO)2^8&VnzcU|j=G^~#~LFP z-!BH)NY>&RFs1#-QrD*OhIi7m(VQCaJqx zTD^1U-_1QJ$ch0Tx4q!tp`GfVbUxq3skcl7t{j528pa?(P-@5fKm&5fBiO?(UKX>F)0ChWq$^ z_niOSG5$3idnlW|_FC_HVm@=u*FZTLQ4BOfG$bS>3~@1G1tcVtA4o{I{17+cCnJnE z{E?7u(3%Pf$tjwf>LMXM4fFi`Lb5>)&%ag`?WfVb`;Up3oO)9tQ!s`S(~DO|Xnsxh zvEb!P3la8KXY&6ZmA1K;SQr#BLpe9cfXIm)zWYp!r@y5fb&HokAr{FLoDEb#A{g&* zDhJZ!5?}fgxk@}(!RtxWQ}`tjCgdQo&}REw|CZJjvj(SEz-5~Qm*=PI`8yM9!zOgfunUP^e+2U#Q&a*wFvXu9#O0i2IhayR#kI=MTGvp zr+4esaTY3+{z&-0C+obGl=k1x%yg!x2fo|=X!ke%{~nKDQAOPG7fe^mP@>Us)W#P4 zK#I8iuHL8+6zW;*-&`pEIn;FNbUFjgJTGP^K;hsGE( zMT=2pWM(qIc+s0c>o3^b)AKU59|Hp;T8c^loAE{JW3fazF-jbtmv!^I@vg?_gz=3b zJ5Km_i>p(54~pq}2OH8-`v8@A* zF!;kqO1jQ?D+QHT8he35O%D^Yi~c$6m%EINjIz}p|9hQ18suSObojB+(bX!>O~?Xy zaJNBE@X#I+5*|z=SXfwWIEaWtk8zk!n0i(nh(lY93Q=y}2o{;QE3X*x;FZ-Ab>T*T zKc>BZda*1fY~DJbjc&ujmJ}E8B{WE`@Us$)IMF`2xPi$I%hf9y@qFYbQ_A>Jxcay6 z4LYW!-Mt?b!Q6arsRHZ#WOu&5uWyG%0DEg|%g4uOc6Rn1Dwc{CJp+SPXAJ92AEa(B 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 z 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%0ADJNDVkao*y1%{7mNr0jo_ckpzRA6uQX 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 t<2+xyzH+v9O4#YbqlWn@&mS+r*F{{?&3jF|uc literal 0 HcmV?d00001 diff --git a/examples/desktop/docs/rubric-fusion-shots/03-runtimes.png b/examples/desktop/docs/rubric-fusion-shots/03-runtimes.png new file mode 100644 index 0000000000000000000000000000000000000000..d8cee25f3864c987418eada57f1060fa115a29d5 GIT binary patch literal 114799 zcmce;^;?zQ_C2hkfGDMeAPpjo(v56Ux>Hg*1?dJQMM|WkOIkou8tE=6>D+{Lhr~O1 zp3gbo^B27L<>e21Z#MV6)|zvUImVa-%FBvjVi03oyLJszLR?hw+O=CL*RG-XqThg5 zezRWpyLRn5quKN4@=6wFde^Seg?oH@D%B*9=U1Y;4;)MtJqE|L#c@cOg$6~9V`Kev}$?67%afTDfDuEFaWaNc3h=Mh}HaC>s~ z`#z3atf0EW>?-f!Jo#V8*L~kOKH16~>!2YCRE70i?pn6nAk+@z)S{>bNF3!m(!-x$ z-nttpGrm6}a{byhifa<0BFfGQ>r+nZ_d8~;ZI9U_=x)FGNFnpd_&V--?a}7ggv*~X zH^PJUgKs8?;HX4&^mZm$9+2k&y$7YCPDht7|(*kq(ccYf-ms(YCUaSR+50{NFd=|N5%k0ZdyW zr9gW+G46IFNoIVq|GxK35cwn^dYZ)0{y9s`b8M{tzH#=p(+Md*5r*RW_P?*q24o6| zzWDo%#I};;2FZV4&gP8EBvg?|57tVb3`F^#H;!#`Lf%E9UH_kNRgZKtkJLqZuKeGh zmN&`nu1lq_x-Q7`-`BR&2RWXiov_^ee=o_Kn6B2n$ML>~_TNvL2aKa-D(l&;G{Bnw zd%Yu%IYet~#KHg13)jxnOOK}LglS*g`rj`*`l<9kckm->t63y3WrpIIC09fT6BE-{c{)BmzTrM4+6ajZ#aL<8oUD)D z3_jGrwnJ@MRP=zjkGBYA3D6GM`uO7imC z^Dhh$h#O&TWj}scPfwPVOWpiudps$&(r9ce8(S8Zw?5}L(P{}kC`^)6zCi+OtG{gXN)<~4r`=bK4v$Vqp$PeD{d@hH;|DD!g?rGEML=x_#o^vmla1@q6rTGaOf zb5ACYxnE=rnsLO5)8xw1D(2v&JruqU&w_`M7km4p{kQHKJ%cT;>$dXFQyGIBsp!n( zR3WbEE7Q@YO9%xDn(%uVzWeqHN9A}Py`#eVQ&kQ&HZ}tT17e{ht0Vaj5vGHgGGSzb zja#TUZ_?p?q*uz+s`otq`5r|?La6k+4GkI3+y1UDyRqU&@I6FA z?!QaTyeNDrTK^4falcC2=L@R2%q+)jA=%0d=X&W6A0*1gNM;OoT!%ZyggXxx zH)r^vyHd(}KSk{+28PH3BJ%`8aayr9mJZ!EhE_}(JPgB>fL83ZZelUB%?p=nQZK%% ze{B7uFSSvBfAog`8;_6D{z69WYU?JfSzo8GeA2kEL}0jZn+l|3oA4%j1a?*iJ+^sb*U);d!qb}W}SPb zj}Ho>y|dH2Gm@UOI$oGtV9UQ#k|m~V!DesoPK8!a$yayXlamv6lU~)o(Sd;y3$0e0 zo0}{wEW$(k19__Xb?zq^h?UcWH9b8_yiQiU^M3=xp*?JSNK@V?_w6&z7ZskV*8-#q z+F2F1PtYkvGpOQEBkyZEcsG8Hv68wIgpZy&Bz=-_dq27duZ>00m&zBXxSV2TIGYj; z4UHh^5gx`&oyXehYUSIx##nX}ALdM0%x(2;@>gRc z*@EBD&`@L~9x~SI-&1sK^Xv#SrGs^!nmNkb{tF!?vTL26gW=C~D3`%qQm5H_QvH={ zigHfo)NUA9-oG{I9}GXJ@lW>kO%@5k`SZJI!S4=XYcP?4rDZ~FEYX7pJWiXF1=`iE z&CPVyQAtS`3b%s^<(H7dH7U;=I3z_yX%Owx(*=i}D)@>y_7`Wj+>SQ?CXw^$H8zX* z_|JOr@>X_Qhog9Dl$u^2!2Bmz-Kj~>W>pmwQV$J9j;v{EYYW5Wx_f)ij^eyd4hAk? z(9$#yw~M{L7f8d*EJGWiLcyF(^y<~Cot>Rd3tL-TeSk+L|>9%;ZjZh zu$tmOm#2q~&5jde6D!{A>;BsYWH!|5nIv23IN3RO99kdnA?Ubucm5>0|GGDq=Va^q ziR|I4I8}>n4cHM+Pay=lFggL{;`(}xEwb~mT+&T6G**q$_QpmkZf>W6v=^P4uxHE~ z66)&e!&2LWML&Kl*jA!pkw}Y+H}?gFeE6_`giR-Gg$!V`80qGKPesjIo@>DC?<=S-h$;aUmNvYw< z&w6aJmaCma^vRz~mt79xF4r!pEWSG5me{#YC>Nby&p<$NxvH?^F1=5HZP z&rdP^{B#4GJ@{8wSE*kHlL$DACkvhXV?IoZi~Be#?6UjS?TD=YQYb_7$0j8u_|#U4gUJ2&ZO#tiiv|bSQ||ia48N7>N?(m?ObTle=6-FkE_Mv)ciruX$zH<=PgcO z^?RH@Bl#AhqRsx8@vwx76StJDdlSYuGM4X}7#iLs6NnVpkV`&%$YCnK5w#hVDHA{B zi2Khms|!$SD|kpmRDX$6?eI4@pI^1`RarV;<;MA6dl~$18BW#F(;Mat++{2}HF$XT zTbol8SXfwcNxqQITie6Qlq#E#>xObnrv6>#A5|5Pn{)bO;N`DsT_DRKB=vR}eNmQ3aFAG${cp{^srfOX5 zx}urUQ}vqsDScrL;XsLH4O&mv1R9X=^!wr1+S?mGdBDkIx84`hg~TEk`lk7#;P&l6 zEf&Hs>7CtOfw!}>VI&Lk##UB!rUQ+yN`(3lr%OE#YrY$__4@kWtf_h3;I65uX&ceq z-R-b;(byFo9Sy(n1^W43U&H0aU+lsJA&;sOyYz?LR*=JvJ0ji^hx}Pw=evancd2_l@6c)7Q`yRGSUUKZMgL`6f>t=g}2k{B(}M!UO0 zPI5*;N4GMNj)Q`NVr{*3>&}uLPu1mR{ZvwWdpq2RaZlXou`_IihKn~g6C>l=`j{OY zJu|aaw%G2*#eE3jNQE{{-{3SNFvZ|`0stSvQ=jYF#DYRJs z#FwYpO95&FY9#~e!D&G>UF@0C3W3j<$OT7=(M?A7EdT8^^w1H zjmu;N1KC!_fcH`GFE`p$eJ>{m@xjERPk_^LawRn$Mynjz6UY6bK@)7u75>JK0i(W) zo~$rkG4z(!+7q`v|K_j97ajqlv)}Fm#5g=WJWfT+*C?xTJ@{Buv@@JHTK;B2M@wrm zQ>Oa-?@?8C_10AN7OcvR_bEzQp|CYj42e0-IS{7ppD2~GWH)|g>}}80YggKKG&kR* z94gQb06^mG>e}4g%%WM&#KKai_dEde;Yf8=)rfKtHt*JgTe93ndp0|MF#VVWHM)O2eB1P{Y&L z&o0?b&a#!q;oS1un-+3KV3P|SpB5nZPF}vOk%{LbCL+qn$|_VZVxXpOYG}|~Xgwgo zLZd9T7@c|l{=F8<=){DkQf!OF-iuu)$EZ#v{&^wj?T?~vT^2ne{|j1P@E zamM#}ZqLqzlJWxzkB?vT$6Rx;w^!bEIoh0hkAilze)5nK5Tnh>ZWKJHMPb3lgwtfL z+bDd^^8hTWa8t-65)u-Os^7YMdN?^2t;ULTM0`+xSWUSe{Bb}u2859-#c`O`=ry?_ z3r|^f>wXO`%vRpI?frn=m?KIOp2(6b9+4UsJNz6yHZHE;l*13Plb^hG73VmJ@`J!> zQu?gRDDv$HiW?^!83ZwDP0KCsvFRBz*wgcSkFMvqoGb8A3rtf{!&y~ znQXFO0bdE5(Abzn!nYr0TOS4K#rk*~x6`P-qa!dh6w*ucToW4LQ|SU$1_q7qujk;< zc5qf!R`T4nU;n*BEr!L*$ERBR=O45a=`J2@@%l{w&ir0iaWVV0WRZGg^hIDWeF9IJ z*HW@nSEu9;OI;&lV_wVl-;Isl7Tm07T<-JZ!~D32G2U1sqetkenob2I0>u`{Up*v( z=lK(AL`h5MLOWd%2RB%fYTR3_cN!f?LZ|CcG`Gdt@jsUC%c&J4#b31D$nq};l-Oct zQ^ZA3g}?3iDE#IP$%RHW|8YZpc1+*8<-?J77AVMv$2<2+jC;tQynYuJ_M^I*ACV0) z05G=R{bUz5aeZSWSvIU)R@k)Wri zU&JGW|Ea=pC^@XB-O0(fJpLY%@;h2iRUKSh3=?}P+=5ucz{09~J6D59{UYS?GM>vC z&h|)ww$tgp1VAQOO-PtWu&qHKKX!E<6SCZ#ta7k8T(9J|(puPYKL3j?E-hX9<40dd zhm2fbh0TJiq+};NLmX!{Rk(PkNwM|J#qIm8fC}m9R&=0Mg-QWuQ`l*fgq+-3xV{8Z z$HiKqgNVox6&02BWCcq^M{6kQ^5(SqnOpO? zTP_G9WQAZp+?eP15?#be~-2bKZli+*txrF0ZC82w$o;+7tiY zdZwopy1&0HRgR&8zX&+9V&6v4^X ze28FpWaUR!PD;Q(u3-N_oCfife38-dBbq}N=BmgYteB6@rd@imG5k+GpZMjRQkQZ; zkid0QgolsM)!EtE&F$#VaFDwbEExa6c^MLYNS-i~O0hK=~pwlG&| zx&8QXOZW-hitPF6L0+ZU6?i(1dNVcGrN3Gu_d!PPvealnc>I1C(Scao;S?_7cA!nF z-jP2hQ4o%;)uPaO*ewS7EwmZperwTD77rYRCO2s(>v8gyIHleZDmL+O$=_?f@~>X4 z{wdpQ|6wexyN(>gpcIu=J*A{%p{71q49`PF^-tD%-{!ww-A ze&1sp_TZ^LvJ?68r2u2z>0MNmuvdpWJD!J3Bwi|ziM)hVzbg z7R1V82?+>3h*D{5AAZE|vdFB6!XqOSa^8MT8xe@Z=eUlJSh+Z#UFwO4i`o}(E}z}f zGXEYH={TitLIN?cj*!i%eAn04;lMzE;v%SD-hGUo2DJfNNGOR5d$*A6P^HJ}FP}L& zI<|$9!g+?Assp|M1(eUNnV9Hkohtj2!upX~=NK&#*12YPzSbn87A;|N)G?vn7llg%1j-M@}0l&!~vk% zw$|49$c^!`7C#~`%au4zi>MNO^qYpdpCJsFkVq3FBT^yv{-&m;zO8Th`S}52?0yKF z)BV_`9zmPgg^8208zkySj(8KNE1nf+_0BG4M2!kxzbc;$?9KP)e=wt_H$u=5+;5$f z6hO4h==Nx}F_>}y1lU{ZP5iq$nAP1a&CkzoU|@iBQdt^m**`cKEvSxJePa5Z7V0cy7JTtlWyI*1(|`` zhqR#q`|Z2*l$6)|D+7j~^c#J5n*1?2pFFAX5_aAgceocQN^?&pj)V8fwts&98)yy< z7ngaffSZ#`60m|In3PlmU2cg<-`tKaa8f^OG5;w>xvhe?okVt!-*PykHUN#N8$eJ)SR^`Krr0`|x&X1g7NS??V zGAy9%`}q@xQZ!ZmEq6rRuX?X~I8#O@CQv7=;DH<+%b|T#kd@ccf=)H}(?WryZG=M3CHwF@Wrj!9_=BeQw#L^O4)!E> z^D1`LY>_fF_X5YIJuf|M*GBTmgxopIhrXQbEuS7AQ~199);u(1-xj*TkX(SA)?tYH zWoo~h4m6+$4g)_GK@eov=@JucF|oGRkl~}7BIpMj6DH750)B-ur&pxjXYaaqdptUj~LR(V;YU z#jwt&>;@Bg$;R%s0Z7@_3=9lJPlXyy?d$F_`ssS8)l`+HhK6aEa$sHE#mU}9#Z)K> zZ?RMi%jzl-kNN@<>2Ptz>pr(RknUEfV*zTU;#7&c;8#f|2 zWG(PTn$+cK$k`hd zjnd!a&;u>3^l=|BqVhZ;xDQH7URc6<-N`eG?I398 zYBGOl{IC)?rJ%#?xV{Y zTRS^;PR^d*-quSIV?#sRO08lV^i+lPm-Ht5ru{!Nq+;f9j-fimuxNiH`MY-{ytTA6 zQfc@2A91Hpt5W%#^q)jV0q1MiPb#bM%+2b!-$qrH%kRalBX4V0x3Wt6lVICoB~LVM z?Kt2jbS{q8e|l1v8m>&G_2dj*+Hd_D{nVvdVVE0l5#dsz7QTf=#^E~MD8WG-(lp?9 zy3QEZZMic0t!rt0tlnk5LU>CU{p|Q@szX=k@U($1j_b)T63X)B$?`iNpQgQKR(%75 zwlMMleo{lA=#IA=Mn=lNeGBd|B!2LqxwTcu{TRKk*v!xnBnxt3Pqx?30O8r8`pj*4 zdBXVx4zH0nsAV1s2O#JIlRh%QSM^R?@xpBBHA#YQHLmzmg)`S;rAKNiP10Y6pnD(h z^{v*QbA9eGBqAo>99Kzwyo863k4Yv_`t_?bu%Z<+9w*Xw@9wvSCBN3wQ&3ecw^=~- z?FT{{*0l5Wlg`dg0A7JOf1oT3X7xcAnVz0L_%*QAitr9WcQUX;2W#A-RC92id%C-E z5D+R?ExS(xa7r^}7HBbD4vtnsS#rWCC?4$WZ{C;d)VjWztbjf+M0cu(RwfSm=sFkn zPhCi8_<_pCqU139)eJ;PYod zi#~K10s`=X&LDO;{^>#=F105+7gujjPojX!=cr+Ba^s6NRGw?u4j!lbV>K=YA);kd zlarCU3~~cn7rcK|UK<#spM7ro%SPPZ`NxY-J?_hw*=uO@j~@AHk?}hwbXxWqvWlF^ zrviENneuZ&LW1zcmrg^rsY$JP4zuwhgMg8IO^;>re-7F9{RQG(R7?_w-Tn91&;6^b zxi%(?MuGc$C7syd^U_b~!q#p&LupIG>n;m3v)SsDXX7!E1{(>l`>(dJz=%vN+(1#X z9t~*{VWpEPVDcQT1W#uNNKt)wt$TB0?OM${J~j>PX_t8nj^GorB$|(wOWi5t;^Y)w z=#FLo91#KNTLR~%AA(5OQwv!7x660rpU95n#x4%AC0=3Rv zNLNjbu+YZQvCbB03xa8-Kg9<)%IJOw$!fWz6?`TJv#pUORA4St{o(GVX zt?NU6qD4xZK{IACDvNBSv$M4Y{z=lxibVwH<;$0gr>V~a?vnD|bXvPG*E7F4$#88u z2|v^QKVE>I@PYS}lO(ojJ-}7vHVfrFH*zOU)M?6cbTGcHkmOyOeRYYyxq@y*>fNuO z+_=#j_FzZTcxibvkt&>yjg5hg4KxS?0W$0P=G)LVE61Z;)xV!=yj=D!1cycyYu|)p zx=-zH>r8*Q!cNwGnZ>?hf7-n&wY^Blvvd4Z>4kncR#1o%OTuzq!eh@|#*5BU%N_rg zJ0pRQbnitZ`3g&4eEDua;Og6-nqK{9)cU7k@fYc6TbJ>&4co0lshY`5m8^$qNl-W~ z%dId+-X$eXr#?qJarb=r(!Z>Xljzp#B6aAQ+YQ;=$uAZq9*})bsezcXaQ9GKu=ZEV zJQLDubPgBqo?H1`@;a1E(0nL69Lh}@KY!Br&ySsi#?0IIuMK6Yy@JC>)I|}ctJDyt z8ZZ4Q<)?98IU{~oOrf}}>~y`C?hBzJ;CluJ0)SSI=rZbwbGb{*fm5i4^=3Av!qPnb zAq|qAHp-)~^%@ut>MCbv-Hxf;&QC*xFV9F0u6Ws%ylg#DUJLN};ExLW)#|5Y znqfSWryJV6en%!-ITuSsMxT)}KC$|8cTZR{U9s!fXl?W?-)ik6K~CInOD<2X4;V-t zRE7ae=}O&eo~QnjH@qq84lp-O3B`adRA;ePuab>bH)YWh-;CJ?FD~Q=Et>cBb|_XKVL29UUDq z9U$QWr*Ein4-5~toR2l@?^HWI1*p#JCG^gnBRF|x4A4aM<;*`Ol36ihm6@fQnM5FR z*m8!($DoY%!af{FJz1|nRBfpx6c1@W`1ZQu_!)5jay0PcapLfJ`?peSs z$+>tk#hk> zK;>+J#2_%e97={r-3FdzCTsg@b+d!$@MvZ)Kajqr$IDgmc=+&PKwO9w`mt?P^*DLW zWg#LpyH_wjdO6>_DjOA>4*VU*1<>SYp8fsEW`#nDW)TH)bT`J2BGsu2+pxCkPm zRiJKKFR!3(?1vWpSm~E_-_)R3>R)-Mt~tb{K7G+%xPfpNJE^qw*o@)lCk|1i9_;qw zzZdwGZ!ZjFsyC;zN0v`QT&0^ljWS&VKnYnB7r z#U67>jay%@yNf+mVPlsis~yd%t3b_bF}JjIII6q04df;9(|K<4@L&qfLi>&#nUF(`J6YqG3kOjCxJ@}6HF$sQ$KVJoS*{|;U9mYekKNEB| zZ(`>8>DyIsK4e?}MRLETji8T`^!oiEK$I$6GDDiSgfI5VgJ6c>mTSTks6JO7o$Myy z31(MUCF+14d+4cb4g}J2PrRm(AVBx}i$da)m7RsQyzc#-U1T0{$E)h61}`CzesPEH za0djfganc^MK!e}NX*gE1QlT&NrGMrv3Wbx#(l}y=;#%nqN4mp?N|D*;Ob0j_tm{- zS8EBZRFOz3e*1RAY>n%>?hcpa)J&uB@usYFuKm*v0JP#uU-vxy>u~ z4#S&*4zKfvX|(S%irgLP>)Ce2B_;X!Yom_zbs!W0wcOI%J2F(d^f>;LWCqBWIXPx* zu|t!SlMM~2t-^>P;AQsr?}m#TT39F*>IiNOeDwDA27U%qd48VXO$JI=D=+^FOfelh z#f@5(S~?Ria?F^x^o(CP*k{FRn65{$hKnD&*QqmI;2tI;QlC7y%N38Q`{x}7@)%Et z_L2b)qf)Ejj1am?^BBsX*RP#kNBNIwY@0E=;Tl@^{}{LUu>Z$6mc2&-pZ~w>-T&`z z4b@Ce3c#|LxI{-r>Qp|8|ZIK}Sn_IFK&yE3dDw=zKgFcTTZB<5dVf zrAJVL7qPGmzL|M}i;D~JP6~8*hBu(`nrlRQd*6_ux5yR8@S_qGT{LM`T6Nl%OrOpVH%om#(Oo68%vOaNl714`F;$N+TGp7ML+`%Qc=zrb|V7O z=(+9IwZ9*1F=}Nlx3_DwUt+>qr*J)2^#wltp;Kl~C5B(xg=y70iUnz_|?6WK}xQV$Nl(sipcqBz9y$hZ*a)NQP|2PA&>G?-b-mVHnvKw zCU99jc=&MiHF6Zcld!2X_xWRroU>cHCn;V5c?r_Acd)%^34*%nGu&ma)|?@zO24IZ zoCW1tS>d;D-9MkzXWHJu^jKe9R4+`**_9MZ-dbKJ$9YRHa8~(@!v5{|rZsA+v|dPV z$j;&4znve(qmqQOAn2IZJ9ZYbfc+=Bf8WB|IxDY>g^|&1m!?MZ2TP|*W@aXkjR~?@ zmwSD4XxL;?(b0T-Tr}uZG>bcX%ebsMq6vHsBNG!r9fs2txXwU@rlkCZEe;{(Rmd62 z*L2GK`nAsMat_(G0v!dA=o|uPv3Yq?lAT%5bO2-d_5wt!YUdqEtw}d%inU&VEd&&W zdQZV8e5VfQr_rdWsBwR;A8{P+?O|hjG%oBwqXos#LR;GrftVjif6Ss=2Rda7(pE-B zW*glb&Ra4+;r6y3xYBM{Qo|j-d{N8iajGRPZQ10HbtQnfjR-URiSqFw4QLWU_c)Do zUFxn3A}l;Rn$gtO*4El^Zi1!|$P*T!3zV=nEL|@kJ@9kYZ5On+<9pSQB z7P%qb-i=CGyRTJNcC<0WBfr#f5i?{Xk`2VUhkg?XR$;FTgz^w0ZG@SgUMLQfZDG%|MP%0{ zNPCezBSod9{mOfgWR`cF1>GFmSizZ>msgUU>@`uI|3!K!N6GWWi$|jcQ$TH+8yiPQ zMMZ^TNhvL;@gCf~(J$zKvbL^K8G&f?L=_vIVo4>IK+$ z_}oV7zkY?Ilv7tHg!u67?C%k|vx^JygOxny;7q>D+}*bQg|;Lv@aD6@D;}5=?EZfSn?YV`%2)W$r zMG^za3VsrGDqN^R7JQMN_}=%A|LRtF@Y4wjPQh-zOqZbf)fICo2#1P}j)$4KsU-t9 zN)q$73y8S*goIA(zjNB#=?H@S?xb@)txLLM?*(0V$4UtCFj~gPF({QUyycSOJJooh zshz4m0-a-SDK09i*6pZHHQ${sl2te?kq@b+u5OR)ER%}4=;`X>e){xcIhi_!^)fy( za(!t@GJT*^x98)>kI=0G$(Np{1FSqBFK@0^$~GtE!EM*Lej|5trxNw`DSlxUg5MQ3=rV)V^C|h zB_dk$wX1<5Zk)OF&J=ib&kW-D%a`ANca~+6FWP{*_wga8^z}u|0bK&21QKa#VIdH0 ziC?||HR7pT@is}F39`Ul1PJ;>s;UQQn8Z&^dhgZ*c2?{|-uAlSonIZZ+!&AQiFX5Y zlW*U0mtirrSSU8}kk??Q!<+F^kheplwd)|9cuy84E7?u@F7`kbzZZCO#!{==u|z2g z>mk>-)n6HdkQ=sNzXy=t)>fbV)L{JEE3ekJdTb1g)(qDRfwUJvOBSOAX@jep{2kaL!h=(so!h~u!)t#&jDBb(|?;62(gz?j}%9b7IbV98Tu&eNUQg%X<= z$xK7T#LDV*@CRQinn_$rDlEutrlROC7>$C1of%b`Y#baE-0;A;IF%daRAMZn`c1uY zZl%sE`R&PW{d51jT4m<+@%eV^zv-FFY%VWQK*TDuP&>c)>kDZV8vnRlaiw|42!Q6w ztY;jj_-0;)Bw&&9(c+-1e9S-0ru4Lbp7084E_$om41;Jmh&JBYKqyk z{QMpexM^jGoh~nYirGT!V!nQL2Qa6iWAOU*Yr|$K35k}n(-j2}a8LkLfVe?Ie5wwC z-z!2D?s@h_QMFaK)YKE0u!Z?~R;>zwx3B9tEmZk8L2-OiW_+iHQmAx-)3Qc$`>Lo(DLRgj!{2kWPb>?Uzv(!NL02 z6dYUVj%}mE{|$DAVR5UxUsg6m^1U>hI z9xeCjilV;|t7n01P-;3o-vXAYU2h-qdDQJ=n~J)+hVinz)1xiBi!;BkU&G?=QTyr} zEZ|bPd&FFsYW@sAeEQVJob`B7M6IrKb=3wqC5Y2G4h4lm5b>0&4#B1ifdR&ea5zfN zM=VRnJ4zrP?H*`@tM{GB5uF$3;OMAsjq~+_6A(J0>z~b8c#qR6B&vd8epc-tZXqBo zEe&)Sy(UyU9um+=>O9=UL`5lmsi<|!t!G*X20)~RgzhlkY{M2i+1w1K!jpqF%|9zE z9B;;H=;>cc_1adtuk<&Zp1MNq0gCG5N7uknNPTWDE`L^673d-fS<_JOu9)cS>%UGB z2C#T};l@Z1v}(`ykGnpOkF>d^mYb8af%I8TZS7r5%=`B~FWUNvQuXxoKrIv!V!k*w zD2^_!1xv3NON<4Nsk|47V}?8(l+yiu%T`0Scn%w=4zFH~p{GKL0{kD)2IftFFcVQY zHBV2E3>2k?V&%Omq0P*sWnt-+rX6fbzdg;svguLlnhE(qzet^hC8VZCK)2R4guArt z&Fto8r*R2vA0x?1dTW;ah^)3gfo@>GRDtsWjaRO>RKgDDAKJyW$wU13{ZrHkMA3;%p~A62#vA?BN}8-YNkb*B5wr<-3+v zf@Y~H8R@x(ls*c|IfM%A9*5;he}VRzT45bq+)E_G^2P=*W*h~j;P@{yom26=Z*9#= zO-&7?xj!bUmbSLEj0_J+XkH$Bon%aX9PZ7A*Znp<5p(y-2#W*@$8x++wd={FE(AC90$`-rwo*A2% zEEw&2%F#w3mzL)BD4c<(=R-eR6P^SH1Z#-&t`=O3L@|pJcPnciO%JAcRC~ z_Pf7MENru)8`)u449wuJT}W_nJ8LmEnE(d17qsMUGe*E2O4D}r_KsB_kqi9!T2b+( z=C)pm@DWXxJe}dPAw$$lRi+c%3jG~sOvHyXoA{=IN9YJ90>&8>r`2CMrKOf@Bii5# zWo7MyEzdb)dKI3&y}xP~D}A`wu^fQcj@*S#R0jVcA)(ja(gyTqs6HTQtj!H5OW{Y! z1&=a@xq%s|qqEb|#zyr5uS^V+mGP+Ku}bc(+&7kS_Xbz(Sw=reCqyW<5ItvSWBaO@ zQ@G`78zvwaPwD$Il*9%w4nE_^m-u)ncjZu_<7}U>vv+lN+B!Na>cmDxy};Ui9RIPd zu1=h0L??uXl$6vq^1USI{Qb$6jBo@cD-%<2U?6bqQjU(Y`ue*8*tdIod$SXE#YQ?h z6b2*<3Q%)z4ruFGC{Oku4AG-O1QF$CeEzKwrP!w2o zYR*=b82k_&eXQS$PTY&mXGZji0ews9D-B*sBz!qu&#O-P=IJ5D6`vRx***96<_&NR zA0h|obTeY5hx1A^^I|dn-%-19Mbcrnwzm5Dy}bvF6Aor(kGaN5D0;TLZ9rO@byR}ugDU*jD#w{rS$KH319pE zWw{L#6rUrMz#cWQ8f-Pi$M`tAUBPsEvI!i*cFS10=RC2}j>p?Ypn*ay@}>9yPhg%y zRTg;Zg|-(J6B4WuS%_06CKK_W{23?;a|F3rZ4FM}1<2HtMz3uIhlHpzEsd8ks%$dL zNC#(0$I?Y~T>RbI=!h_pmJSB7cxdVM8|_P|?4T|_vI9yg|Cx-HV}&$;tJ7FV5Zi^M~aA{k^&8jVlAxoy+nU?W!AJ+xsrv*;(;0py-9; zva+*RQ@t48%=0rF?#xnQOvWHk9DE9+df;Bs)*=S+$K==79cQBqjl}WKd4gRWF*4_6 zReW_CZcuI7z>9!2$u$88CH7Tq;QhA2)l$HK9UaMq4kss_V%v6!%1kyQ zFIX-ZU_gTm|3FeM41V<0SfE;|Ru2Q>O~e%`Q2LIN;hOt>wpeMZ@OdxrU$=jNQtiGr zLJHGJIOtoGw{4xAnihUMM>N8G1};KDfps*0f+nKl(Y>b;9j{9qpgknJ$cM+O@I23y zroE5u3r0Yt6G3t?aNW6ECCK#v@^-Wv05Jp1f_a|9&GW49 z-{rw(GCUl6R{Ze({XDj`hm?zd{#@NgxHwIeB#;e$YLYbi3{f8g6a)N)XiWy3oSbSM z)>u4=?%i_)cIx9$NxDJP;$o!Jmi~@hp|h3uN6QBfoR_C-UwcznT7HA=-SLD|4F2NC z=;(RdTtN(fe^gK#j>$T%{J|V|XIN-yX*b5~o-st_=3mWXMRo4)@1uK*%U&GMJx_~f z_!aqpa(}UdeR7STZP!RgN2o4Cjir1%Ju`!hVfe-{7ne-nZSM*jYI(Rz(KN`w=9-xp zNK#57A|jj0Nzh#WneRfm!6F3QLaICo^og{zp^_QUcNLFWPT~Q&o7XLga#-mX;^$u; zFN+6>FjXFqG@tFF=+?AgWY)5>!kD?elT%Ac)hrumITPdKRA7xu@bUJBvx@Hh*3k-& z^jz1>EGITLuI+iYV6h4hz10lXJq*8N={BD%2KAxB+;O7Z=y8LOI8}C!+kgK)4il!$ z$}$ms=}FeCkfWLvJzgShH#Vf3S0+DUrQ%+8NX+e6ZL>fi*k3 zqe&lCdviwz`Hr0?*nEUS19@J~tM;B#9|uDp9EWn^T; z7W+*qM%KB&Q*#0pgj6D@S~7NHIEUa02U9Lg0ftCofr*jFaeb)RC~wtXBUz}HiW&;v zbwHBQtVhEGdSLzZPvEfHp1lrqm3EOn=7kN6R}A3O(}cAp^4Lta1jWcD(6uDSCMJ+D z7N-V?McjYfE8x8S0g(y@m=u}#kzj11&Q{JMLALjy&6FUSzzYN$Jfn}=mmBK_&EJ$df!YCFz_5GAYW-?w%e{n$w3t{x+0qhD4 zbO1OoqYun%EtG(*w6)uFTtC*N3MVEemX2k+&20%c3eHR*ji}p#O*_Rl!t)y?=H>># z{47Hieg)M!A|5N(Wb3Mwu`5RaS2LJ3Bo@{P`W(1J#DX8VF180kZef`C!x2?;_A0a1 z5?MH`LH9%Rte>RJs9(no1r6B1J>A+<)>vs{Gqb0jXAgYk!Tke{WJn;nSy{_}#y_lE z4wsrmw6|y5E#E-*Uip;~QDR5U90(a1<~w1ERVGy)1{pL4(Q%D{eev)Rg!vXbyOOjt zswgoZ6<;{fA~@Pr_Q2g8?e9NeGfWwOGt70HHo|6W8ig!O&9C5Upw;u%mE5txc1`~8 zzjB8fg`PuTi#`Z$b%k}$DCAG_RVZ+t#7b|}o<@8Y0`GLh0 znOr&nS$T@qJwF5`4tl%IDAd=!ME*jv;8NIk#T=wb1qFJVyB-W(t25<@qus|xq{??; z?`o7QCLysRx{x6=k8FIuA5K!T6Ko z(%HQeLu4MaY@XZFf4l%!NpDI`Gv%-~Gb7EA?Nvt7dUi22O}IGN8h7Mx-AnFMOCowt z@+u`-9Y#@Da)v(mbgCK*kEb3|Ywkqo_a^u;s230%DzOK?`PtwxQD46D8g6hEaysRvhzG$2}P0>=utTfyCj`GCsQf1{9 zYx<`$`H=|~3bCD5=JgwTPaZ@i%B2<$tCu-upD!@DDdOBz2-jE6&sGt7KCI{_J)EnY zrjBmlM6(KNCuVRj89!OkV)@}1wBvK^SQh?yS3*~pyf5nb z{G1|WBTHFHjEk1Gx1pf`qqfvjz5h>VS5MFVK+*9w>EV=wgvp_y(w8A5jQFxwy$nMJ zs@q#-!Ji_%yV^Tf4pUL8oONvdnSf^$hEJ5;a(#5gNHPEOM;D$Ys&+kBUbJ-)7gyKN zh*M@*cxw-qq50X@0W(#gMkV)MUYaD?fcHHg{CdwHf-`ac)ykNqW0ou_aAN4GA3n7I zur_E`orJaHfF!gJ0E7*kDNZ zmDkX?5~G1I;d8VM`yuGE8!XuYGinyEU*q87#(w@R+3S3?s$>q0yN%85D9L=__u`(c#`9K_E3CF@Ca5}xn%b#*%U4F8U~!WvwgkyW`t(w8juH8T^mGH@aTtqG~# zrqZA1bpu46^h@CVz#Iy75x`fj$KP`FQ~)PnV5LY%)^QQAqcBq?#*Kpr4D4`z z#LG+&Y7cW?yC?2)a@b`}@j*dSi09<-adD-Vt6-xfz{Nc|ws8)?+GxM2r#FX!x_=() zdiKxk+|^?UCrhI7(A<;I(sJKhN;-ZO+}ipQD0=rJmdrO3Bj}VEezQBl0F>b$l>8S| zPp5NXeqT;*ru!QiA{##9;&P%Z`79lV45Kb7SVsFNC%Y#nnFIv|p;Ayb&#e$Ye3+H# zdHe0}iHZ4Uw%Bz@-9S@=MK3%q&Oe#(L&^C*y$VBA&N;eoKd|zq92y{-+o1a(DB&q$ zA|q!*A3I~5!^$qy{^J+Ay6K-`Ilsb`e-_=gb!5cw)7R5`iOTd8%5Erb63&OFg7|cDn=<%Cm}s2zGS4QS2(EvO$8=^QGEK83deqPh|BeX z`3|O$fT?J0MJ;S2<+ijWR#*S>_|YRZcPH35;33+vh@I;r7g(>xOQfYG!LT{@@xN>N z(@ANSjD#)rE~RL?M{IC}WQGLIy(mK_0x7C+nAez3W#r<*w0Cg0fA3yIgm9hb`Ae6~ zyC6$zX!yruC=$g!H(goi?{7n=ymQA6PC?DRFvX7UZV26_w>*m|m$3eoTF>G0ppAU^ zAP)UZgUBProXDn=U1?5+D1Wz{PZpq`03ZaIRc1C=T}xd4cFD zjP|aLnCqhfAqUZP1I4;Tor!jD&tUG-D^k*2RW%ggMvWp>xck``Z=Btu`gf!5r;+9+ zCYs?>PubWyySu4$=Zl^!ZoVcXlYu^dbIMJAtm^-*+>yd6B?IsXQc^*{n;IG#?w*{* zu%?$37jJ)k@I{^uI;UH={6IT}4yePB%D1s88THoG^4gTVZIdn3-| zz=(GOFOiZawuVf>_)TP6@b7Uhn0@N)>wAnsk}Q-#bu}5n26)eA;bna6u$1hDdc#yv zNeMGOz01Yf3p2A|1PJex{Aw3Nr)+sq+#TUBBJBB zWqFv~9a~w<_s_n>#CXA%z`=Z-GE-#0PeKT7D?1I%exqO4u>>PHcrxXM+EkC-FF>T) zX7iN(wrj%6^Bcr-E`~ow;P2ZZhA~@0Rw`Z+EV46i97)*=Q*(3gWYVC3rvHz+_m1bf z|J#REs!tOM$sUnW%7`LDQ8JPg$p{fLlI)cck(I2hB$<)Oo|TZSgzTNYl^MU|Q{VHv zzSn)wAvQ`h4E+*Xucs=W!fQF&9RbeUGZ0nXZHHk!{*>3ayB|JiVt> zG9njZjDFjB^ff59!AZ)Hy8kZ)p;v>AbhC1E4pc^tC1>n5`(_|&1Dv=V=_m|3VYv=> z{gKViTqwd|%EJ?gGW^fa89y)ph^9QKG{R~^Hgpl!CM{L%Ep(76-^T5P=teee&2`3u z`9J>wk@LiTdi#GYS?~|b0=E4xT11NY*{!az^2*A}rZoS2I_D!)5$^6cu145M$6fmN zg`S>dP5%lb+3x@Rp1m5WG<`lpc)F7e+44^&!3Yp$EessziHDZAiX)+*=b9OTP`tR)&w3duq%+3 zu5eSmp!@S-dN;loPQT%JQo5;k%MRvq6nCQb*=M*d=q7sa^iKLtuB^NucDhil-VGL1 zYGw9`j5#WquFnnQ<$_t0Tv>~^6G)%DnP$3IT3i&!d?;sr)y~%TL?oU;+ml*hfh-c& zy1sBv50A4@q0sJ@k(4a&Eq5=ZlDVD8sb_&Mmd#`79I`ED!a_pt@PC^10^;JJ#CWEs zr^C4dH?7!aTFct{7rHY0OJW`kQ2QcVIOOn>bgAOYC@UYg8o30eAXH^I_dw+S!NbV^`0nGpn4G1_OrQAMu?i^lSfWX?-ZM2BP_wU_{Jg&EG%2q(XirmG;1;4{K z_Xm{tT=*8@;o)d@!xa+;Ab3S%SOWS5WHQ4+W&LNep66T1R=+Sg=M6sroNt(G1+0(Bj?H{ES%fr%_w;A2s5+m zMCd+x`XZ=XFDxRb(#%gNc@%@jY0h<4zz{Qo^+p7cpH4{@TV0srn zg-sHHm@(tGFL&SW>+8E~mkW;}kvK#AakTO9^sK0;0A1t;3bwCbgBztB*7s9w!mJfw z7dN-#Y7sMZI!+L;QAlBM048>s08o!@WQ_8EutsPJKy(D5-O9=eRz2W>y?XT{tbOy0 zJK7r@$mj4v_){Dc|G4L2_~X#hZQFeS+Ql|^WuekXBwjCHzV!Acw9R^O;`xZhy?(8! zqT-&2rwa8!R7i*_*xC>p8hi=oyR1b*ZdOvRb8P?q{m%{miAn?y%g(}WNdsKh7j9j8Hk@6KLm3ByWd({ZEVV8vU>xAf{qIb5&a_2{1pQN*qA8H1RnY%mX4A*vkb5|BYNTO-^61(U(?M*4O6ifsFz8#$|18ZeBXV z$Cu&iN+K#+xU{s?9kz!g2ALa|@LzAWGp;j>yi-RHYHGg8&*vo5F5hAbQdfINz;s*x z8knTux8nqIzq?pYL+y(f2`8J{`6CCIHd!g3JLl=<=9o*3q78&cj#&MFGT8G%g4=Cj z1#(jN^23J@H#9aHnV7H<+|~l_iqOY2oi;CTbay_i$%0$+>Q&3n1>8%qc)Fz{LovcYrW&tDpu2m#o7>lcN|$?yi*s{VFI~d8kl)#E=yPmc-BCz@fBo{me*M(c zRFigT-LhQdS5xrjOE=bKEiHFCt6#eo85oF2w(zc|S$cVSD-@nwfoV8m7^+nESrok6 zFG&u9s>z)@6GQFjf*^JFkycDp@`B{!zWhBfH!$>Fv^=LRf9~8?@kD2}LGj7r?PRRb z3yIccq^B>>*Uv->Z|tkO{zlY>b#8taX*dgc8V)a*#TeaWXa?3Dy}GdpE@^#z*Gj=Y zCEeuwc=L?rMVwndzj3+G)8oz)sec~bdx*uPr9X6bB|;ATbFA5dhGrOt6Qc)a4-UmB zZ*m`he-27vVc}BSSvSxMPMu=*faJXt;*-6Jrmg7=n98ZW8*6RN&{m2P;Svy-Pc>7y zc1vG>Y1y>E1w1M)KEBwXAVzBI>%Ba3^71%F6-@})sEKv5+BR1&&kmHLoq3dq7UKQ; zI&#v+$lWR`O`rU-=)k^CObm;ODeo>`{eH(Wc8Pv@C_iIrWdR)@f>_W8m zdo1%M=5%YB&XUItN|no(9d10t$P=syHV-hl4p38Hy?oh?-2V3|PFB{=BAfs1O2PPu)BQa%0k4&-#gH& zT)uQ^>}u7+&ctGy6|385G%J@OsL8XN2Mn_xF9mF!R|!AY&aeAB?y6LkjpbFvSNc(_ zF|x42r*^nIkMFA3j$fZQJcovdr@JRN-d&tML>ScD@4DgY?Og~K`kMaR=@I7%IwGgE z#KVgW&S!{+Xx7laul=?$Zy!udOFO$w1Qdj-kM*$<=0--Dn3RTuI3eLfK<2fZ)^dHV zO+Cv1nxMJi*s$f*X&J)o#1IA5Pm8*!d=3r+h-Z})6z*9?xqdjDS6l{Oy{W0JAFY5H zv{!z9kY&IT!&$a+2UyCWb^&r0bT0ahFIlx)KtSMHnwrs_JCFf=gGN;>3lpTqyF}~~ zkLHBImpo``**sEGQ(cyCc_t);1T_-)_{`~z#GS?TTaUVUG{8)Wfq_&1)~#z-uE;+V zv>T9-h@z4thkRV+l{|xZCpa00>SKOqjp4}S7lP9C8?wdF(5uwcp`40Q6ZW2AVPWQN zZ$ql@jINjT_d&4_e#OR@WNiN0O4f4C|so zf`ie66*#S)u;~Yz96`GTVOmvHwdqwYGl7-k2OLdq82sQN3!qg=EEpbK$T<>_lXKP4 zG3wc~gHngZ#n<64VJq$_Ww$0`F!n9E_{+vUhlP>5=g(KY))3ayi{<3x%xt4~**Lwn z58rR^LBWyVtB!N#qnCU9tHFZkSoQfm&Be`a56w47`37|hOYOIok2*zGHs`8y$NcAP zkckI(yWq-7FKbOzmN1a_lJs5-3}bpoe#(Lwy7_^N&HWYPkQ_-7l2cM{8yST>efmVA z3lk^YT7_rcEHz$SBmssC-3 zHZZ6a*a^LV|Mba|%Xro(X(r@MCF~cz*O-V;t!F{bN-wix=P5z!3DA6lVA1lvbQ%?D zN4x(DK9{xiUM;O|5sNIHa#klNX%mxTl@e? zlfzwhiDnwMMl%{Tx&8gRr=rEJCl0L5CB`}zIR74d%9T!tgNU}X#K~(-6J1RYD#WpG zT!gsN^@4NcXLWSSV5dMX1-HWaA9gFtreEruyE3;SE51^UhWHirCm-sv!8KnRm)u+% zK|#UxEJLP~t_wV|+ z*Df2sJ-*E2x$ND$F=)49HG(@S8afO|H6*G%yB`Lx=HjllSYJ_9rBW=@=ZA747Sawq zV`APA6nrLNXeK4as`v)xCh@WX;5jPF%90JAfi$ELRSrBx$fd4uqizJ>C$uM1SzVor zle2Q;yCmXy-ielso{@3i@0q$@z=10ELta%qmVa=_= zQDSX}V8zs8y?<)k`{^avuXg18hV22A^N`#```^lQ*(lF8YNC*;t4l`_^+CZ09841f zgX3mVT{!Pm?+Wwtp`kQfS)eT_SefMSyGB)8D}Uptdf6NG2zx58^1xx{ zRqxkOQ}b?enfoS9XdDF#w>2U{{d>EAd!Y?enQr*0BX?RgErZ9Zf zM;U#o_2el^%B%~)QPqr|Vy$0i^WH~*PU$pQ)rjH&eFi7Zu-#6GUSaa$f8Zwg!*a$#^+0}?uqD3`YK#kw)Z2Tl8gJp~ z(e(EA0)KzXsm@1BgD23U+Sz{j*4Q{dtN!>}t0E^2wKJ!VEJH@Dm<_9MMLPzA`S}SU zA+^z>6g8p09U(IE=aiZzQ=Zeyp06R)JCT;z#B~kpa5D8TZLgtVlZPnu-onUnvBZJO zJ$4cgSMMuEp3qdP*ZH)Y?5&WEnVFfRqg3S+tD?ZULZ=~{jxrUS>Ek5}w0M%6U1qks zFo`>|7jWSUW@cvkJ|c>-($eJOxl)pn0BOdax?hlz;^Vl8%pmxzA5za9ZnsTLz(QBP zd>Jv3gP;pCDgF&qt`?tBEvLAs=4$vR4vQUBI1UE`W&*YE(AbzvJlFbM4TL-CTE+Nl zxVr92?96KnkWq1*8-#5{>DpU28I_N-{-Bj{CSJhrhj>YFQ+sDD-#R#8!rl-%U^D(U6Rxn4>3x;JTQcOcLJ!K$3k$&tG0whx~+2PG+*((>Xl%-9Yp z+-*raNh*m6{@2?+$ZhD2^FnV6o};0;=EjV^Q$C&xqRh~8o$Pn-OuLIb3mI+Y&Y!<@ z`7+d0iith>_q=3OcS>03h1HaQKbWsyT*YuPyH1_r)lox|)UX zzWM&={)!Ty?a1wot-`y>O6ABuA_p3N3D1X+0^<@EhvzMNBY6U z#>#4CAV6a2wJ+-INYu$RG_5GXPDIxJzDneaJw$c2&zY8i!SwcRQ0nk_GW%Ph9k(9R z@%8gVeVY$vpQYvJCx(-$8H$>hNC_g2XIco;Nc4Yz#| zP;mMYKx6_KBXQp}H5JG`-o2XyC45$r-!ZSTF~0J$O4A9mg{D^FkB2tKGc=5i4?@}J40UxOyZWb06MX2T#DXFMn@Ko1l!Og>i z+RA477xJ5^)ySKY5|(avym~3^9*ae@jql&{zy^(>t24+#l`5}LJNuxv2^1RG;9vxe zhuu3_JcH0OxewO0c#5W`T}X(ii1D)bS#D-Z|DI8r{(g1gYeEg~8)B{f+S2rk7rKrj zwNWQUPn?(nZ7(#m1vTkDQe_pD__VZxjLz?pl1A`OH8p<|TfK?Og$1jF3KY|YcJoDu zs&XZ_Zr-G#rERVj2bu-fS>%;N92}5*_B7w$>G#T;%+k4X7=7ds-ZZ>P$5~cu+&XFL zc(Bs%h9&0Y{6ffZ)GBq^h^f%64evXC@5jW_k_Tw|I7E2vcjZ)6?(N!DgW{N-gTr#T zEQ5Pug8obG5wr`Tfq}Q(0 zV|`^jG$-e13FF+2ibuTr(Z!qBk_Vx{GVT z%7(Du3ku-n+QCG%9EU-zZSM5R^EB!ff)D@r z&(bXUxpPD4+-%_GQXC1;vYMa44zc1?-p$&U#9?d|^d zK%MT~=|t9kNGAM==7IJ9Lri5ZC7T7N=y%{|foS~2ZIL+&!uI)^Tr zRPtj*1+Eyu>m(uGf3Ljrs^rC`5tbQYFS`r*3nDI( z!eBpY+p)1{cTUi47pZcHhV#b3C{d4pxByR-4>(tmY?ma5M(z+ii>Y5 zMT5+vs(K%znOs&OA-^wiNlD>p#Rzq2nuU9nR+o6YGxa!QIHteA?8VAz0l?I(+vm?I zLPA1oEzRjk(>+jOd~lah0ptLhei$&kx!2mx>X~-))MDU+^Fdx-(e&%rUPumY3vfwM zxh+k%Wf@NL#|oP}Uus|x>w;~R&M|tI5=b&4)0Fml4UCAyX}Y>Idjls@3_lk1#YePE z(z)7@KLQaEN-|POc~sgrS~p69a>y)f?dv*FxGY8HlRn_LZ1hQ7^%7F)o>7*h{lTAPk zZkvqv55zKimu@(_nTszm#NIifp`hSiL;ys<&6Aq5%YvLVC@f4Vo~u9Utg-Pkq!~?3 z24}dnstF10DKY{cS{dMF)ye9tdK38$0!lFfoc6V&weyZ2e`5BlZR;#8?e6d2jZr~? z2T3<(urMuNGfFV_qX6L8MIZpGJW;ACuXP+R3}|wd(gUOp)IwwWM<)GK zVVPuNY#bZ`*3ju=$C83obUrnmyK zEfZ%7ixyrzv1{2R6Zgov7B55}mr@^3mRr=}Lfyp)guXmYdQ|(AfgeJwei|(*M4Gvz8 z*al2S20pdjU(4$&VVYlv%5}(ejQG zeN3(6>b_#v;YC8SUitog=ll0X$;qRrwa@@6%FEv^*Z`)ejU;En7P}bT?!-CoeBbZOo66-%T6wL@BEA@6qI2S3Gr%+~5NKF=y^+tq0 zmUj_j;o$tgLLTgv(x* zg@w^96g5cNy&sPsKmPvxhE)Pm+4M_WyeX|WWpsS2Q<^aW^)FD&bOvwMzz_hR6`--p zs_821fXJo%{r7^l@-4XuhJTtF+s!c29~^B-4@IR4S3U|UB4EzVjY9=%y1SiunV6Jp zp0KMkk2NqXZTb2Y`Te6ggaExeoQF4u$eDt`c6^z$4IWmIP>O2bx3&&_hG}rNpfhkL zl$2G{(P`VwqOZUSYg6hwiyeF1i)I19rrDn5V@&`OU zdv;XmW}eboL@{AEbr#~WoSYN*U2P5Uy7KB7rYI#{y>1VO1^KUf%f!#7I^x=kNo*HI zqt84&46cXuRHwq;qjgU1awz@#OA@c=TW*cHq^dd@9^T`bJut~r+5x*L&REP>^WsF#%8(7bsS|f6KNiG$!D~_|Y4g=;~g*as|L(L$0~DN5jWQ zis;rF8;`@{egDo|?@48g(%_{gMKq*9L;tB&9CU`aZ{K2IAtuB1NGk3yH#fYq;xdCC z@SPHIblt4^ZMpePsCZM*^71B0&l;f?8X{MTDjQn)(~`6JZl-)r@z zV1vdd`T28;sm|pdmyLm7ApuM)J;)bZCsI<3cY1zZKD?vLb71q%or0KF4X>??%W)-_ z@LuJS@-E8P&r|~tc-zbj#&>CN-_BuhiXd>RzOACdZn&-sico(adlA!T4xHot`9!`A z%#WZid}q-I4*$_!5-&eLAz*{Etf3H$F9dha^gR^GeDMNM zaNMBzcZDe(79KErsHI)y;<_;PJ~*~5x^nBb-GL0p&RhkYdF6^AGc#5>Yz51G7d0<4 zC8l=F5SU~SX?+G6h>WM{e&?1A8{U2SJ=J-S^YWIWMRP&?Ag81Rryh;m%<42v$2rcz z=~$_mjzlP^DwMj*tBjm04K+2R@dmsJ@AR&&Worn*Gm4tp%xKxrLN-P;H8|z@C6DT@ zvu~qg19Wva%u_KsMDhhBXlc$?YKpH|A<;VDNp86}xa~1HYk(?Tm#x0K$4-Zn;J>!9i3O$z z&t)HpuJdBKnd7a4{zTZLw;@hiRBQ1RV>N?~F3=(n(+}+47I9?pXOzR;O^h$1wPj9C zv5}OpMKk7ZbYI9WB%qq+FDnFz&zI8BH%${=^*VM z0Q=&FKy~0}`V+prqfMo=-jPU1ywoPpl!_EQ*h2r{fh4BF@JY{k`7uDVwNX(In*NB7u5MC_9}P3zf@I$Ye%-{baQnc7bflQDi@`m=71Yu)M z2~1O?6=V5t?Tq+TUhWLUDpGhg=tHfgNEGCd;5fYF3GwvIhemg8S!;6VbBq`wB0R}R z#N_DBUNcf(>nU{4sh)M!=e~Y%`TwYb<7T%5VS-Yo9&R#vJ3Csw#2^I1mMexlER8gVich zQc~jLzB4s|f_+$^R0pMQ$olvMHwpN&)n(7Oq2dEbS;sORjmo+cH z4Ci_eaz@vjq@+9y9z@dFS!T^?5lU5?CF;wEa+Qceqq#Zc2H4J0NFf8QY7fnbi$f-U zn3s2L<^JBiNkYQH&=%Y;Q9gC50GSAMJj}sao<^>2^Xev5rNY%C>OgFaAg+QkZ6NCn zPhw0=%oM&sxI9P6d+0>~I%Cj1Ix+(JaZoklFA}$e-S$_nUkm8CPQY-xdOFJ1Z>`0x zX{P9j#rWXy-MJC-rNe`X_hkUqgZyD$vTR0Rf0atQF8ugmrf-l07B)2~E z7TJ4P58+OJJ?GByi*w>I{w^#~#PS^Aj=x>j?bHjYfZ1J8RGj)zTl)C1jL1m^eu358 zwl}`M^9^wllb!h{)7?%tZyLT*T2#w2Fg4*xoqvKxI#4bF7Df{6gJ;j2=|wpSFlJ`a z&)QS044GiSsE=_e6mfm#NF06cxDG;%gIC-+7#>81ir=iGB z3mtB*>gb_^eyFjnp=57qxeD~raJbspIdT_R9U2;#*&68!x>f7vXy{``fe3^OUIi7U?Yx4i8tupu{ZPey1lt%p3R6t;zTu^o;yqbqgBFQ)G;1kum^>l)%yqqz%L? zdMq1=D66fV#LyPDX7}%{3YYbbjNp=PQR__Mz}TKod3m-ri!d&@gC$Yi z^;+zBKfs$Y;Rd4*Q*R82ehdzJ^k5@Ge=w&@Pq9ON#Zc_k9!d@o6vDh>YsNrkw6xaq z?plj6d3{j;a?@Mx3J46J57!Ulp!V--^Mw*P_j~q=KM4=_?zjvilAs>3{N&VB44McV zhvVYoHPzG(0MFIUgjfd0y5O?FOAIaj9zVvY{%&u;hrV6|b)>L<#!vJ-hYx>$b5rl` z-3uTX<6(iV;6J_F$|@TlH5AT$U%&1nCqFM9>eeIP+|q(s%&(}EF@Q$Z-smXH$#KWj zPcOmV^S*_}_qVsk@gJw8ngIV?9b|a);K4cwHaU0NuHucVsbLOH&6&6(I#(W}4YB){ z;;bIOrEIHi8EaKMMjIk60BF4uJRbwYw?g)Zv& zK59oX!xJY?z`YhTBb%xSSs-%HV7~>MZ*+>bzbbld>?mvxxy;?}%RhNKZ!Q>;gvgGk z$Tc9{eQR!>{GKVm%uKF*Av-%8aSBuC3)`Gx#Ow}I{d}XjcgwcjOK`!*=Z0a3yL-Tu zt2yRl-){zpl-N=@jD9`D5ll-*=g{}QqOR%Qc=?X={kfEjQ$L9Z0rOAfrM9=XcuKV% z6ib|S$f6R9NU=fGE1 zd&oBC;M&ob41fFLZ(R(mGB?Q!dZf|P+l$z8Z0bo_Y!-GS=}ARVu7m65c0djqVQo|}7SGxn_- zTa#El@N+kD1yB!wc^v$e+#YL8kfgobs=9O5!0g^mN{<~PK#VX9Do4pob2MsTxfx4+ zpi;^ohFM}yNjwM+g^w^xncyqs-55=b#iZeivT}Lx(>HHsP-kJE8n!OkjWpcc>y?F# z3S#0?d>7>8R+f0%aRGg(N^zW~x&&ZQzujxc!GqUb)@i}+D9~f00L&BXqV;1S>#Vf& zcxV26r-WO6L4mjTrP|sfqU&js{ryovL6XiA)1M1q69E&ZAwVVLqqIq>Cib>puo(z8 zEL;(1u3eMW(sEw1ke+J1fbV-$b442Gv#m{4K|$|Z(sA%xCU zAYE{htbx4}>=r1bVq)OW7kvsCH3&WEbHM_zN)yJ7)X?at4%WV7RzrI5P4vS0*!e&(kpszPA>mLr$Q+uZbe%O141pK@B23$pnNWKUA^0SgPK zpwPR?Nd_RKh6!1 zCg1*Nihnf>&p{?UW;uAc^UCLr4hQTb0xAivP}|hP+Dp8NlcI(4&j!;FZd^(hK^>Z* zG==HB795?A&PJWgQoZsNX_A*W4e@GmqRkJc(bHhSVF;TN4^OD0;-FWGl?FS(E+*7{ z`yxUkpbdJ7b#u=dQE|Z3JV(0Bzl7iY@q-!%1wQoA=3!_9^6wcEg#q$kCMFp`U$p8i zTaQuQsuUd+K#0TJg}=^jj1lk)0|N*0xH>tNP9Hy>nPvC^RW{xdlzlJ}z>tDt&3874 z%?s2bK+)7k=4Kb7L>+#m)#Yw&EyM9dd4q)z0K8u{jl$D&nh3PE=V3Rp;@#11rW8;*Xm~$A-gKKk~0n{;( zP3}Arx$tQRIDm&c(KVUoK@#zeSPnlnjV=t?@hjQ$4N=?=peycKB;ki78)JO zdFNMFVnrUIw_2Q-g`<2hiidQ-!?!jQ@jX z#c8s}?mJuSc{oXWM4XxW^S0XDx|L8;()X0h3_gmO{lA@0>+F05({w9TvEYlroBXuB zU|w*fkK+G|9DMSaX%5w7P`R2T6A?LgH2chRcmOMm9cV9m@q!UM5dgGM{~g%biqS^c$Z{(Kq&Jy7=^&qbGe!ElWryvu{d7eUhEm! zXnpQl3%W`Wnc`o(c%O0I_PxZj>gqjxZRH*s_wW0qrO6k@_T#t1EgLR`qmIhqr|H?; z(Ab!mnX$^cLbL4xIwhY1S-{P9F4#g0}&vg0-|_Fc}+; zE$nol59sasIhWgnss*3kEDZfiP%&Me)7nyy;rK(aFu6n8Gruq_8X=p3n!%xH^?vvp zKs4OK+N$%MVM8{K{0DY}0&M12544V*o4ftz>544wrBPdP7_vEI5P$My8@yYSGcu<0 zc4(gbiSLVQwX$}ig+)&H*a2v1fU;`dxJZ-1E~fMV*psqyqqW4{+(Op()xh zN9^A1Ybm2mhL0If+k@q!=uKU5lh*wpo(c(myK9m4>eZ*t&bhVa zdsnZ9u2E0Vvb5K{?zI^r?WL=nmZo>{zm)t9-;wx^r`~>={x z3!Q&++aw(z+2j+T6fRs})7`BIjW|dHMMeGf5_~paY4$rFkBOPb%}37Q;YkG@4fBF@ z^(Ma_uTph=*Z6s@&l3D#=is)3SY-d^4oW(#l|lZ`GE}ntC9}4PiYCm%%ggKG!)OT? zYFRJ`tEh=oxyk5 zgi$wESXEb7BX~x{YBzxId-}Ad`Sh|F9UBSrVYFz<%4Fc{gNrmd@yTX3%x)$hr|I0; z&f3qP!A}-M2+Pi1YCp8^F@Q^yKB&V_?@tNa=G_)&m`?oXZ$TUX-%MAn`YrVMm^gGG4(!Sn`}fz8bhXSkx~JdRQD0Ld zOQ?pxHzkGeQV`a#upPig64!t)&?)!z^d%#BXGzq>MR1(FfKwX2dAY7dV1Jo4UOofOCH``pFa4K&gKy)FjV^?HPOD$n54qOi(rrv z;;;yG?d$jNYRsO0mzm;Io-tn#E4!)7F9j=?j~~y<$h=w{0(SxAM&MG?#3dVsc=jmz z%gq}{t$;;fBmg%5%#4L)5I!|p+Q?_m@Crl2!sa6(RDi@Dlxh35Hxa$Py?}5bAHgOu zXbQIRy+gY}$*H)sx~ieBUK=X`3?@;N7oIIdLtK>Pr;NU`BRwn10f-+O9|wWx1h`1R zaJpL${QEr57u);zJbsLczu%e9$1Mk|u*VM-8#G1q1A$>-l`M}!h*A0~<4H^X^|fUz zVsToUVIkU;{urzdUSD5#SzqQ1k^4D6KOh|Zp%2rL{=`xE?JZ%i02aLwcJ53`PuI%1 zLmOEuL%{ux6}3^kdiB@GN0hkBC`2Kn)8qmV1H)NZ1TMY3RRgZmhm33lYJjWg!m*bX zC=T+Ek+O2onX&&7dlnzm-_N3t^;Sc2B3Ny*J@Dnru)J}(RyrGO*Trx+4UY*33mUfC zTGP3~Y9JnXo=6;^n?l1Vc;ZBQS{e-eC9ro0^#b^ZGLH|iu(R(cCwJ}8or$`@O6UhP ziU^mRlOsdG6+{P)wHVj(B7sx?0u{s}EEJw@?3|n+c-+sNadvh_KSGGZ$RQ>HMi@ld z04f)9Dg0Bgu~2$qMUhdM$-#dge)OoS>xYl}qH#7|1ZbS|LWA1EOnktMJlCr~)uIuna;e zHT9Hg2knd#&i+1VRofGm`aldpXoY;F{71EJCObPjvy$Y{GTStp8#8I)+o6!qs96jyD)vp|2PgNmMQ<69`Dc-l6jA_qMIJ;) zM`vXTNRp#v2GWkF<&2kxphd&0_6A-vF#^?JfW+cMCVg`eR=;uucn_5lcBNaEU?oqk zkAe)(Qb=fpE(-l8^MI<-U$BO6A9tIUf;Crocv+0&?gD}fSHdNGs!u}^iEoZ2>@s4h zPyey}VT$eeapg@0e~I<>&Ki$I6OqL*4(feHAMRDT@baZT4&zirGzbM6`IbX~tsm~D zbsO%rrUo#HVj4-OySrPz;Q=#23^mO-OeOY}lyc2Y5$zo@*S{S&v= zdhMH)r4Wb)4$~na{rWXf*nM&<%QtXfzNVyx9E29_&VuHYLl%ya%*Mk)#EYz^K^eX}taast7AB7wo%N+& z!F36MoyhU}h)(N??<^SV1F*bxDV(Zj$nsnhT z?-40)#YD6nmH}Hfmk@ZT%<${yQgQgNCG(rxyr;UKAz2w z{LlLe|9_L1^t1?@;yU5+Ih)^);sU_M!O;>D(V28*YG6u7yOqg9l0_LiuELVUbhJ-Z#+=`-&o&BQ#zt)a7 z$H3APxh+KwN&>fgIl0b{4LiJkiN*`A@cy`dy(CUKxP%=R=c=kd!Rt4|N<6F~G70;0 z1beq{B{KS1;6(N4(GEgfYep7CUWM<{9zJ~a=GY-oQH@KUTxi@Je(_2ry?%X!mp2>f zSi@KN#0ik~=ww~(fL7XIy>gpbn!adf z)}Gx4Ld5CQlNG+h7}A$IEFS4t_;Cbs4I;kXtWt8KiO`J>SpamD#0~vw~ zF;?R_aB-msk;9yQ+9?Lsj)!)gv|qTbpy1a%obR-1edtid)2D+T9=2}GSXk;1%lYRJ zjD(txb8(ZbxuSSA@61!ae%;vA)U!cC>Ad|+ucW5tYp=>L6BB8WV_4k3o12v5;z*~yPG(N{o;H8OG=z8?4s*#KR%5D&p@v(Rw4t=cQB1z7@_dEq@xoU z9nGNlYY+a2xmk6X=47Lc*u||RExiSG7Iz5ukt3%1f<@1J@#>=_dN3k>EENYEy`z=qWE<%L|$4Fi6Ndf6l*R^4Q-2KIVWDA2n95V z0lNrDhjk1PprEX)uB$7+>Y~!Epcc%}b=O7?pET=S8gI=gwGZ(pN3VaV)cWhF)i!sQ zBS%i(@}c_!;{bImPJLN_UR%58!w2a%5GvTiSq4{TyY%;Nf{?(P`51cZ$kafWBn zzu|zbURxVUB{ zzkHeZ>Q#Hwy%;>V$Fu?{F9|Q44k8yA8qy%oV4RQj0m0Hnv zS>}AGUf@W+m6Q~#c57*yOqAq9gp`TRqed>%jEh$_m@-+%P?(q4#RQBxr#7N7YnvoaK> zovyWq>9l<|G`z1AoH52g$x&QQq(iX~7tUd!bjSDaaOVC2kPcPMW-e2;@3iPRL1pMR ztkCC&QspuINq#P_*`b=3pr$Xc9Hlx-``<7A0+=b~I&ai?*WRWp9@FE|!QK|=u~O3p zI~v^CF`!Ir{hhJf3Zp1=Pge3R;8I|6GdG%OW#8qx=`Dff=1rD4TKdu!0N-`|Rt!31uvV}Y6aq#BQCR{lT>v7* z$gP|Vty_VWk>DeGeHgvvsyEUQw|^&i4?`|?KKDeT>ZBbs!4I+-`b@>dR4&+K3nJ+K z`#&Lj*)XvbS_W5Tvy0-fzk!vWNDX<0+O#DxU`gAh>(1@lwkS5#BV3t|VBQ#xauavT zj^EUD^85Gi(4L-(UZ3eBu49g=1}+Zcy7(8YsJDE4#Bn#lieU2qf(7xFTw)VczB_kG z^nU~ryJOd`QoG=envA@jXiQvye~u652Gts1E($urFa8fDP6?n$I*k0`KH-rdXkv}V zPkvCmYak0*Utg{0aVgD%@uEiq%)0^X*+-aSHQpybXWX>i+Xg^xLis;T%Qb!qkKV>+ z5vV&6h-z+z+u1&{oc0>a{zeNU!DYwxfJ^K+kyQPJi1$*uL&`Cy~SVpsfx&6S?efyqZHiOAzeA6g+ z;clHN<{B0j$E0pIr!+4mynSn_Kj_}Ak5RH?|Jf?&bRhQvp%c3ibMBj%SH=Z~PI<-J zyU)uK&~%~lUF7e;LLwA}?ccxe+_3}7iYRfXf-qWEkE^d&ezs~~Q`hLgbsZfWo9f8T zU9^Mz6e1=Fm9m~c!M8g-0^N3%fPvDenVpGLO@mbLm&`1xNcSZMFe8;A9Ybz_vbknkN>A)66k_x89 zmxZ=^O163*X=7*Sx8p9Ik!Rj0m5i`<&dRz55SGX6kOhCCx#zj*ouQ=&dWQcPYoHhp zH#bh(_PuKhBPrT89e>=L;T13@7o)5DLi1$TpO3iSktfPLVC2SpfM}xdz~3Knl1`F* z(B<)mzL}_p)X)%9ifdbK2~a#`H>W>kOR5COP;;%I`FI5QO!Xtx*LIk$UF)L|E_I5H zkJ8)`=D6#*#-CcV>>4R5L1%*7Z^^%Y5F}t{9jhYxsr~&aaX?J`=cml(zc;b`DPI5i zSN}KRw370s-YmULHAv$!G<}%%`c}XW8hkm_*UP3qxOjQLRcsgdgFv~ayP|@NjSdWK zXg&Hqz`H_Mb#h(d`g3jO$nO&pnh75hK5h*+L?L}7I+P}xhrdF0an=kdgUJ@6_SQ?r*~USbQkB&lfp&>ZE+#hkMnYJ zJ9qB}CvLPOm(RW2!o~(mNJB8HCi4lyEHEr=cyREW`z=%pm}g^=X^Z=nN>qx5_#?u3?A#@3l2J9)n^4u~jSLI@sip@Gd;J1)7EIHKOi{O%hu$6ZXIZ z`_In|!)V_Ddj8n2U6_YRL$icb`5^MnZd(42Jw4i2t~@Q*VfMfdluv$iIIUP+k8DbC zE4v7f3o*x~hRVvy&Q3>E4oJd;IG|GiuF)G?!`}k+(W#Pk^SMa0yL0)s$-+tUDVIv#aKr6vm;-o_N7k+{ z565!tmxF)3lhbcVF+}L=U~fS#1)B=u`r&uR&2C$FVHAb}xE!w&Hzqeb8`Ck;ZQIrt znv_T-({AKHkxKxS1y5yLxSOGgwzjrLR9skGM7FfTtOo>TEN)_kZknE6%&-ni)|n7) z8CCzW4ZtaPGuPd{_f#}`Ox*hS^IgD?;7W?@b>ZSgHV+g))JJc4>roR}Y;0`a@_fdQ z0#wgnKH&%Z!oWL~g4ROd$dO3|T2u?@;4o@-S)28Wj_!j0%5-P`y}_y=1bln}1bh|` zK;HitXc#P-Y;}!E&By?4X;6<1Sq7ssSWT|KtNF(WsmF`>`B2m&=A)jN?*f%6H6^8g zWSdkK+IJK`AV8t?W_g*O?mvvS7r;K)hj@!q6T%f(f7p>`VTIakh4$)#l)5&tPu|XYW#L$^X38 z4Fz0-g(a>xMY|*uQ1KQ!tzvWTi-AJq&CdGE@M}jm4oIi;<)y>6ZasRpa1Z_6)yj`&D=R9{_~4Zn6e=ZLO0o?C(1`UobaWj!w5%TJOgkDHu-XeWHTVkk zOx?mX8<-7{ZIrNJKrr#^6QqE%j{#8uVuN51b*fnbY+3w0EJyHkaRzWJK14va5EBC? z)xg9=Cngb{H^$MVqQu0!OTfU^+uNI*^e*I|D7HKZDk=g%9pPd(I5>!>gKzqA zlPYp@W4_bEf1iGtaH5xza$B*3d8LHQMsX~?^Hzv{Nyr1d=WkDxlT^yQ%>G2~Q^66x0O$xgzw62syZX zm>JK3I!YlW&oK{SKEQ9(IyC#FaBR*I-eqSaO%yvuh}lftfU0{JO&v7y%pOpc{X#7b zii7&~>xgmwqGoPP30NO<{H9wI)EQc(b^ebZpCup|4i6Pa3fJGmqCVVAm!I4WEZ@FY zdHebXqYr|O%i@y{eb~ozSxSoNdr}YC*brbn;@dicRz7w&%unQ(MrkV=9I zA4CPLPL4)g36TSe*M-5@a6ZlxG58l2nxjtxqCeOVTkNl2iDYDXj(atsM^dl8ega@3 zG&BY#444)0X_xS_v*R>Sk(2A7b!1}d8K~X#d_0s_9SAgj?qanI&L>$wgq)llfyKj{ zOXU^TUtdoCR#xVUOO3Mt#uig{+_ak2D^bC_SsNsW7wkfZm4#=cMo4{`j4>;``>Ea#u+A zvz?>hV!f#Gy=0n6xNYL1I)yU3vqa@UM6m$qi^mE@=O>Emp)iz6z9N@!8SNif9z{bE zf7{xktnNqj^iO?#iMpM$tf*~b{QUMfo!?13a|DB2*a zO=4}v{l?M6YN0!K?f}a^%Sz!}@wKrrt_JH_l#8c?dmQ6q7~$)H2Xl*GJ${<`%xkb- zIOW614;&y8qHuAi+b9d5K9?f+RJWZyDB?77qPJv=|f_oBN6wDj#=tJQmq_*f|@rBHGpkPN^@ zt6gVBpH@jJ1AIM9WE9|9QBz}rj}DOvo6KXe``rAj{o%g8<6!b*3kBW4^xw-=tFdJZ zy}3WwhQ-BBud_hc&`##Ay+nAOzdoL#@_?jB84C}O9BHmh+#Xzwtk3R&g&xHzDQ{am zp^Sm?;SYGu+`5Gp7K1#y>sqR+hp2sxX3|k}I5}(=kF7VjC%&;pBne$lg)thO6O}WL z2A#*l9sTgQJ=;i{z;)!vaUrVP=0#_i;UR+sq`LeY3=^=yfMfT!3-`dxDIcDPDLRV> zc}QqGOzOdW6oh-c@lY^_0*sG|USJ@_072f4WhywFXzuk54P!;__5UE0Y>6IASmbD8}|SH{QyUB8$2sUMv_nn zB`V#6h8G@_*}~oL-%H8La&mCU#044}7yzJEKFoUp*wC?FObV{^QsZBx-&poL%gW+$ zfR^^O(@J)Fq9mo%DXWpdpjm*jt8xi*0TSs*ju#UyS5#I4)eZPH!++w0L1ws8><`Dq zt`;EM_+;vkFnzlE=LPpV{i^%fOJbWbGCB$inaPH@Silw+y;IPD#yTIo()u2bS7_!C z|6p5=inyY}Wq3j8SOX#s?gm9bCEW?$viA0eu4C=e!<_vu^-SG*BIPe!yc?~ z0)YkBD$z&@p>@+ftmLc2g`l?dr*jOx=O7!8}XV>Eow429<%Nx{g zJ!ny>YVtg;<^9S>1!Mn)Op(`+NPchDn|yHCbb}JE&Se#4=wi z-uZL&Q@Lcd&&@_(($aV4OR-#gUbpy05eD+R%Zb0EA7Rs8S7HBh9l`sQ-Lf$K{qD7` zU|WHoTH+O6)ha4KwYZfZwD(KA?tj*Q`{^~&2C(WAx=MpAEWlOC?Jtf;iEHw_ zMpxLNhjxWdeC%wr-(}G9wb-uyX^pG?UA$V$_^-cc!^FQOILZIVe>|gj7*rh4J2&RI zL&iX~fG4@ai4?`Za|(sGMt>fV>-EgYf=wjTg(#A@Y<~~V>lN+M@2g-^_qgiObx=MzX;W#WP!;_P_#27Pdrp1v3fm|f#4_x2O^XFB} zh{Lzt_0`M7L~|@gWMp)P{oC4_BdqvEMMb5~>*zf9_lFhy>Fs;z^?~|^$U(19fZp-Y z;&kFkk?hvALC`@^3}JkO>DsPcqGzPpjR9PsrDhPbt$KMOc&bMUDk+%2K^2gsJ7LS4XbDGp^7%1{@TAZv+-FQvgy5UhrzKjeJC`2(z;%T3#3C+i4u6 zxK!x0TF-b|919S9v$EzFMg;&m>|g=+#s(Dr0Sv#)d)9-G-Z3&lS2YdhFphVF+O}Ff z?jYr&>;G^8g3jYofrH+MxuAOfdG;sO`eKac*j^p$^h^C+sELsVS{(d1EG(6M{W^xO zUeIuCrf(BewwS=JqAZ1=N4sF)&r2sU-b4T5Nl?&*frG;491-CJ(#@35crx?UY{#$e z)BMzwb@8-`D5MWz+RhgeRk^9$%bz!4C+zIZ%x$$@R6EZ>b`VwrQJtCE9ujk}xVS!W z?>BGR0?Qm*Y~4NWKy0@XooOy<7T9_`oKofv0j00Gd;kBn#A~iw#HY0tQrq%sOOFcOc3;euWn`p*4kaWUCYY25j%aI# zy11;4@ziF-u!L7S!&d`%z8{-MvbcZEuk6;pYB1~0C{KyN$nojZ+9A~659Ez*+~B6A zQaZQF%Z)44&;UwtioLx^w6uABAB;qB!C*e|y|(ric>1J#TpUy%e4Lzbp{zt9C33R^ z>SR*4Nc9nM=0J5_FqW7WYW3;;6M@ZLD_=)XgoJP12aZL691R2Q%>q&y_-#3Q!fqZ3mF@>OS|w z4-Td;ePL5j>@dPeFhRl+npHeR)8pfj682=GRnzg$Wo0TDQI?h(<3~f>!6#>k>dPjprsSx(R|E-|h z3QX?57nFMYL7EE>zW^B`7<}!lW+nC@HKY$72{}nBw8&9E`Ru#`Gc@%z2DR0lr{&R99DrvSJp`BW8hs z8sPT`av-*sM+2wGJh9A@6$#kALb+_{G2idcSNs-3=e1zEXOfOLft%jC^#`La%yZ8+ z?AlN$jEORaXz&aAg&Fmp=N7H6`;%fR>Mp{Z1V6L`+vCb?$?9&Rl+-)@Vz>MYna_le zM@r2n;P3DG_;7}9S5xDI{H;3we=AMr=BM#7uw#elXMku4e>?cO0vaeSJuD@)gnf*g-WC8dc%XWfxp^b2V`Y6suAaKDO$59@{23pr%Q8Nr zm+`M<*|=X@`w7LXnf~w(Z49(jD9ED5Q?F7>$oHdYu)D8>Arr1FC*jX>MtG0lm-BXq0*pWrZpS=9~EyBx#B&``ClsDD2hX2;97y}&Ax3g}+UdB!*VX6m;>`Rv#1}R3WYD}}C zg#a?HrKcB#qf1gBA}0Hx`qME_1r8pJGnJ;MrY0%fu(HBf6MPcvJ;Dw2F3!%U<>iHx zvNvAd=KTSA+3EK50lQ(GcSuI&W^LRly_*xc-Nzt9irUerH{x zug%VXu@oI!h4Aq%vX&q*9juggUFpgI7(Vd!Nn@i{iWX^fbftbfAW0apidc6^$;4)A zq~Mrsdb^9lj5{3%If+9kVAf%MzwFT#=6}C?zgUr)A@E3Se{am{$XZK4Lpg3hL&yyu4Go*1sWNtbvN5CGQ2oLdF>G#7Po*GKZ+>Bc zn&@bH5@%q((4*PW|x+zE^gSlSd~01tbNdAF78C<^W|(yafc4c4lg zW1rU}Zg36CN$HOyAH+aZqs%39kW>l76lP(Iz16i@S4-~!2*wQ(b_j_-VAhtD{65+% zDLL+&W1*_lY4VJsC&uZa5?#HGthtHFl#(_iZUEeu@k?<_;s59X;vWzmri6fhe)S(6 zVfe!wM&~U9)B}h=s=N+Vd6@8^`xdrO=#f?A2oZ=3m~ZE6^n(H1!$kd<&r81ggbSQ~ z+Z!K9FeQ?^AT(Wg1q>EZ-=ZbXxvikwh7{E=vMcFCp8n_L+z^5rqM zTgz|Ko-6v!&c3?bswyg-5EhV0|0REYsj33`hgI0Z4u~%mA&Bkz8HHyUj||t9f{NEs z^-3ELKw3IycqM4Z9%Eh7fFMtKQ-JLGfc8mrG<<1;QL3SmproMC)74#PqJwDH39jd# z9s-7NMp^L5vPY$Dff6EJr8D0)32{516yv~b$>>^HDUDFxqPSob}vv zX9#5z9y2YjM#4i|Y;M36Wd3_7xO7JN|Ll0rs*3!cKi)3N(-+B?Nz#^@+dlr{}at)3! z%7RO7j`O4`hK%-CFLz}xEfsFvK@Z>w3IQnXegVOfcA2WxuWM`LLP`Mb1fDQ7RMoL1 zUZp=C?HBmz&qoiq{VY4eE$S;mWC76LzI6+1tMvRsaQ>?yzp>Q!V3(R5>)_~p;|dkV3%20KpG!2GjrG1-D{IcuUTrW%&{%7 zR2o`NHQXwdDvk)z&^%-Ot2?&#oYCy8bAv61_I}7$D8L2Vnm_KR-n25bxt~ezmv4 zIn9f6o)mIX7w`nP9= zQBKME&44flUJ%-D*a5$Doz2ka1+HNQaMv8S7S#KY3Mj@fX@Lr}ft+YCd*#H%sN5nA z&GjarYYT8HCqGc0riOYM7-lI6K9&8du`=Ys4Q(^VmA&O^{Gy_nmZ$#>0Eq{3eEjzM z=&=y8jr3vFXG?Whta3!+Qzc(mrDN&%mreZnLq$U)Yd1*iU&bu!Ar(@A@wybo1!evW z+XyH%amBz0DVkmo-M4o0dQ`4xX`hXHw`+q+CN9a>uRlY{LIsRenp#>sho0c55-L4i z3VMh=Yd|6z> zKVH4@#wZQz&t7_DIy7qGC8C?9hq_;X&z-tt&hM+g+ezySV8(9IHJI^5UHe%ob9(#Y zn)1nPRRZ$eb`O)~L1uw)9?mrnRRYwG66LR$7(6_fxvZ)k8|=&=j%jjr%S-OFIh~z6=`QmOnVkc@k>uYJ_W?iFsTVi$`|p8; z%f|fsRXTkrfc|D1lr*+jSNZjRMLt`IGG;2bhyOZkxg>F|`h{vrLQdVPLUq4Ws#dDP ztF-{6s9_a`lY;ecXHToEA&IRnNXoC&ykq#u+J<)T$pFPPxIPKo~K8#k!*hO*He53i(QksuAXCm2Y!OFBLo>r!d{%hK4mGcBCY zK*0d>b|~LZQsvtpKPEga!-HV0iJ2LMWQMwA0onQf9d=n^P-q_V>HEbXf4a;}CnF(2 z@Meb@@e3wxTQ}VaQWMpC_Lmz1LhZ72tNLw5ez!Thy4Fuz%6q~p{S}F{5g8fO1a{$R z552Z!0b_;Yh4Y(|W5BN93RNEPJgUBa>euExRZ1kro4tRS$=p+GVrj`k8*#tv2^1f8 zq{g~NEf_SVJsa-pOFmE%hnpZX_x=o5Xjefv2HoM1cUK!_4Zf%VO(BT^y30Zhvz$8&_lAtvE!JQsTm)U?i}X)@05O z|K>Pp@Kou@zX0HX`(4+CuavcHzlA9aUfNpssR;O))z$45->m9BHh%s3x{ZsQJ`L%r zKC~jyEKG~87|5rjc&+St7Bbmbo^*-$u^NLN5TTr;Sm7mG&5p@`l=gW@tJjns22=zd zy&T#HTtLy9Hc}H6RlhZqthn^`Tv?TH-L9TSQ8NC|BGB1YT;t+hA|>nm#CG=PL}x*T z=kj!N8+X3`v*>8#sP5V|pX1}u@po3%O$_y5b0#esuf^r>?;932K-yzF`3AdywzkoN z#z9&;QlHDD>7Ia(8-#c>^_8$-Zs*|pVHG>f6#_XK91GJ6a`ex;{#QXZZhvogk z?0^=xW*0)TZo#6w;c~1};uA%7c;;XdlhVGXW!O;r8@YB5-74DP<-mEi8W=rD34 zZ6BPJa0&uXU&M8zqche+nl|cZA{7({VmuWU&U&_;QDV%2FmO0uw*zredJ{{|m_uPa zMY;xHDszkyjxE(Se6HFuB@=nbtafArpm=+b2Pkc^f-y2rz zNg`5s1C?xumvaSA>&1)q9R8!fjuA|Lf3IWnlp5*{I+}a4lS^{(wsfA6bvLi{@()8# z>D1Ic*RRV0;|IMa?aiZjLU((6+W5@Qp4H%`&Bog6zm5?X7P+i0#!Wp+T~}xV+w;ac zirvpl3S?O*bHLbbGS~99uWwCtl^&L=h@j0si&9} zanqNmNw1@Hvcl5H0VewOe|jBTiZ(h9?TY(-;|zC_s6w>GA)zYQ}H z#@jDenX3L{*7C;zRs8zj{l5-a{{Q~&wL#4)3)Xw-5B^oixTD^kUVjf`AOI9tGYj#!QWgTjs8{-|KbZqiHq(C@rodKBx-t zpuTruEV#O%siJ=Zb7NoP%`5MrSn{BYR_E-q$p=5b5KO#w#C0}VBG26JvVAUIPT2d zd!un2|3Ff+sQO<&V;25vfSP+G%kQn$#smjD|JIdH&!*TpI5yOp_yOV4N{NUL*)QYv zwz$|ML2J$dxD$XH%;1YtnChp{-Dz<(wI2`%70%wy?nONr2g%FEa<4GW?$+;Fr&snA zee50IyM1d&>*KEdyT(2cXd|3lT<95gkdGZy;Vv$1Fel@s$Nv#I_>Qc?L~n;Fj-IaNnWe`?MO+AR3iDL45RYM`Dr(`{rlxdzvV9-s8ND|H%Zxx_ zBwP92%(aIG;f6@T)iLSyo1c7dX^pih`tctc)h{{t=jO|ay#V1PX#52yoCQ}_h9 z*T{V$Gwrq!z!gTUAVTq=So$BBaVee8W7ITYHmHC@0X4YKW6WHZ0p|MC^PCV6*tTm| zjNo-uCnvG!YKV6cK^&h3;wtK+TEB7JR#5z|ez?08kaIf*699PtW2;c1nQA~~AI@_L zBg(g!o>f&*e0J=jgtG>8EB)hdQ7tt24h_*{XUFnKKB8u6gWP=&akS$swBsSf zJeFctKW=HuKL{BD##ZRNTc4P=>CQF+yKKop*^)R4;z-}W-Vi)lQEX{lhMG}Y9O8W>=EMfbtd4|?^-VKG(jQe{qDF(g}-%uX7EWMEMR#%bgVu6D+K|UrT;TbqB zn9jSoxsmjGfE;07jq%Mr=qd@=e9%)jT*QLJ&VlwfXAy%VJSqTfu~+s^&STMlI-c8X ze*HT58UW%Y?Md=Wsh{rA68~WSM%}G zE1W6+-kK{Yu$z|X^AY(XAyU%P+X$I^JCkYdoIDt+WZn60`U52!Jhi9m6VG8jXx9uP zDE1mfx~sKMZufphdu!2{d>(%T>H+u*xy?AVmY0_?shS_j>t;M~z^d~dU>oH6eDk3N z-3}g{u=U5RI!Zwcd?&CrJoSR^-1&eVmC3O?S{OG?{Yw*#M%J4*T-@A+w+K$5cv$8EO z=>MfPtk0Lpo7s}8mjkDEoELa6pbTOASpHK=V^}yRsVRqj5E~@0M`jil^KC)puqZ45 z(-`t}?6}{4P0B9*&elsa$hWzMNgSAt7|VcM2|RIdQjDJOGV|WOjaZ-PZ$M@=%(pr1 zItecGa_jY2czoWkFaiG4URIWvMRU>?B~YJ@??8xAQK1y3>A94vZwnkzLPl-YEi95A z+7fHs^Q$FVb#cxvfevy`yaR2{e{&vYvU7$X`TAM=7<+J6OXtWu9Q z{!>#?nwe_7XaEh1eGi^SaY@MrwvSE!Ot3H<8lU?8bEtJrS~#comRQqsChVu;w|~NL zMFB*YceUTYJAqP$t3Ha{4SafdQUFbPm8d5YogR5eOC@IH^|M=ufncMQ7b;v z`VYMboK8Mp;lC^lV$s^Gy0c&+;yZ=w_|Ma*C4f+?h6HI~eF7o_oBqBo_b9yZLEa%- ziod9K%LEEnVKTwM_mKSwg#&}jF<&C+mp(*@8^AbqmAm9z4uT7xkX;Sbg-77tD|E%= z>!rzxqp^5j_2v}bh>;rU?ajV*^;Y$`&aMzRotRdMxx2g5&^W@sCNwlA!l|KV>{QLO z;sA}+_7@r{A4@%{srKt!aOrXEz<32gYHhjM?mOBg+~)qqK>@}uiv_mv(2z+X&cTKS znpdtW47~DynQ=V)5FW0mtOTGKgcDszqkx1a&<;l@)DeK9n{umQYo*I=iu3RCbvcse zAwj|8*unU3bqqH)Z&0yu!gcP^ZkjytTBe0R*99s|jr!Qb3T|^Q)vrPZ`Uin1M)kc; zYNZs5%jXvoa=V^DV_jY791CJOnEOCCNAVDWs&w`0B4gqJWP9P2{kT!%v$IEib}|h> zQX8j7dAUf-$O!aQ^D)HUmhY11lCW6WnHUZn}nd1|SnN3Y{10{eNBmzQZ7shOmDJHN1H=dEP52RK!i7fW&SR$k%9 zxm)#%srFZ3k@;gGJ5&Qk`l9X>NK9|bN^T1vBh%cgjBs1eFB_@kt`XYSm* z6Xb#_H+d?=tULl&LBJR`pre@LcQ@a5aYRK`e66y&4V33y{$&_uK40h`D>2l2XE*+s zAQzQ$zWPB(NN)gBOD^B!NZuvJ+y1@fl!0t)ib+^57FVy1JFJ07e+)HZEh9MMoyAj~ zTPHbnVhPF(e zeTVWG`^W6`au0rr8J^j%;7Hhy{+0p11_9N2Z!MZgI0QTwM|4C*gFKcgpvtV9=;+Wl z?7j?L%TTvx&(mYEwep09ms{;geIhn}gCR!`H!*#!b{B!6EZBaOTXrIwWDOSo%+*>NGYYnJ==XjJx8Z_*PDT2%g&a1iUrXa zB!_gy^!1tWSb?Jh?gd>FAI@uGv)U{9`j=Y*Ap-{=OAy6|?d>5&s%<-&VSCvGdLKR> zpnNQ>!4~V2s2T8QJc)MuQncDKyElwfC#QI>-XTe2);BplqJ5t5eB;~x%98P!(dGod zG4zr`7xEoO^se+cUBBLfKZ5^U*DdQ625Tm_>82Lg$*!zygh}jqKCs;liVD>^U*#Ua z@B+-1&^*UHEOWSCoK4Y64J!5BabEMK+s}c4@iGQO8JDT#wue(4{y{-(LT0yqeH%r= z^{uipTI}}g?Ci?q^TyAlD-&u|pL=TZ>;vEUN5R;el$x+ozaYEe=Att+-Pn#1aRI;C z+NRtF@C~n>IA9kirj#Q$G6f&QHMHZIqz;OFCURDm+XIj;=}O?@(DSL+;Hd*syIBSEnQumZtkw>;62By z*G@!@VMaHBF96P{+X`YH(lTRW4A354Y6(UWjBazdEw>=3h78f6 z@fxiN@pL?xnhU<4*Ff^Xk=q6gdQ;~dKHTNg*Ov&~FK~j3D~i6}dI`cW7gxs}yE+q` zcggWF!iiyUwCftOUr2n*mEoDN;defOU%nV|4ZEZdQ+5m@pFvJ3!}hbg7X7QxmR3Y@QvUE>_s>a#~UO~x0d zEi(-kjd2R-IiwdB9ugQIz%UkQLcz_>DCB=-=;cOzgF7Y_X9@ndp6 zKE43xJUNX4#4R2x(1*K=;fYX;Qf42OviDt6Gjlog2oOU9+!;i+nWycoTSy_c9|3T$ z){=hd*Vq`ub1RhH#}WG z{~_(6@Z&(RmAyIawda18?O3?Z!QVSuvi0)8Q|KD6`kte5s4I570%$7QR| zs9)?>+HOnJfZxYTxTmkgZ3-AO3c z>ZDSj3q-^Y#E~!h1%LRl%|t~+{BEC3h=DU}U=`f%GWGM{nO3LrToPfEbl{d*ae-fI zSP(4Y@CdgZ$qL)SL;RB0?Qz}Q+_~>dJUWGMF^eTQ?xvVz;lltwo8Hg6KrwA7yf;5u zV1-+B>F+BmU^}C)=g|jm{d#3!3!!etY4R48CED zRD(c^%QKjN4xsbEYCGx!6TPO6j^~&1GOT}JF}}b3{U!2z;ShwO8E_GR>38&{>m$yN zgZsm9d+POHK$#1-NGFJ(j$3J+Idgrez6_iUvSbLFtFNKm{E>VQZeWhLgW!wLxN{!4So62wj9s{IYj*h|$pO)T1UHZkf z`H5?2v$qin9R2hzUUZ+Vwt45`;qd{tes*#ab<8(!%AsxBTFmQrQFx0Re^wsh=_r^j zN3^YSQ+0YaD7rUqW@KfJk9NjG5N|(10tof`TEqR_3FyII9AP*MPZ?|$xzO0t z8eMrG%YXGJ+Sa%Fqd2Sea!(j%x8fc2{`?7p7;)1oGf1CBqM?w7dRO-X(_nTY1p6ZB zjr4xO)h1TDvVmFS#o2?jZhuY%!94`#7<9zv3C7T@zSKy``TgY#n>$22A;QNIXP09I zw{g&^d>;QO-Ha0kn1v!09>|&5SzB-p`W1aIKm6@CdA`+$t5 zndFiFCLiV>7^$#xbjAHDK{H*>rZ!JX;~Tt9wUhab;5YvLk3b}QSZ2h+5@R9Et;=5n zLTqX2GVGsXBn#@qddk^6fw?*g&yFVUgKzD^OjceV%??R^cNf~_&AXVzyzcEo(fYG@ zm6mFY&tu;ma)pKOV9!;ToyO?u>U#LF97Jxom=dNc-1MlN%S%fU9|S4BcIPgo^k&;9 zE9c?ee6kYuy|{kJ5h2++jdh+QcTtLORn^+?m!Hea>4=98t2Hgiu*gUq#DO;>42PTp zB2}@N!OSbeXd$8Bp5*}iTa3#OA%#+zCc)o78;*1am(S&*1*?9#@I+SUN}p zr^yE6OYkG?ngPiSYSZpwu08qrnY8Thw%mrAOd7(cx~x(x3k0!%GqVhu1)=u^$#_lr$^yRL*}6c6N1Lj?rjrFPN!OQ2`7aB|1Mj;I2w`O2rls9Gv8_ zII@W#&l`R=u^t&0JjeLq^VT>U%gQ2t?(Am%+<2=4~}GK~@eq$7arYaTHM!Zj>p8qkg<9>H*UTKsQ) zUPsukVVH`G0Z(2TnND~j8D4L+SA|VTvYgYmZ@hrp8YlliDk>o+Ry#-`T{u-5pD}BW zPm9<~n8#px1Nk=Kzqn<=Q|?m35-0GSVdU$+>!qC)e`0{oI1quHh^VRbf09$-gtnhG>;c%tNFTPC?XL-o-A^@zkH&-xb? zc3M;fd5#dq{eyYtle0sR`1Cgqh#7=e z2csG+n!+&SnxdJisVt!h4BI@Rbg{rt@5eby02Lh<47bh>HMArBr=xHrv*cOEYBMy^{vL~D$nRnFZRWpuCE1rNHBvKjtnx+>1>GLD0 z;Quu*{W#Of&STh&>RM-Y@Y*AvCAkTaS~e$97-?2bpxv#CDIH4%S?B6 ztgIwU{&5iw`q+(ib%OUs{W4iWu#98*+S>uX44CEN`qb$|RrcV+6)_2i@9(B1Bb602 zW4j7wt+m1ZBTXsVgDh^hE5v4dImf4dyyVfyg)j)aC)wiucX!nU=YH!)oYVTlXph_(KSFr(O3;L zx%5^MA(qeM7Ekt(XgXGp!Gs_VKc6iPn&&z<#`BVFAJEn(_yH$43ra7> z9#bPP&n}8z)I=4UmR5=Atj5E)F_0bYJa>RU&eLG5!SkNXX~Z@V-8IbTm7Ruyv*11? zA_5bNrM?g~DgsP2s=j^mNL<@YQuO$8IIEBUKwjZ=)0K4aB4C6MkD>r!#l(74Y#RNF)dvT^$7gVu&%f3&+}v`;)U+7~!Ha;M(|19_C~d88yMxE;E{SaW>5rOar2 zy!WWgya^*1AGgFdZY;&13mkvC6fL;5ly?^G7-1ym$XC-oVvMdv-OY=*3ZN?3h2SEI z(@jN1B~im1zFqpfz*_?XmS@ku!na{8D>;&?ZpoCxe3s{o%)u+)KX}Xb|N7-P+#En{ z^vd!K$@)A0Dmr0rO3&?7bBpF27(l$NFcdZ@c5?;}fhjz?KpaLS-urmSFsH1lcGuC@ zFGPlp-j{wG)PryBhF)WYSK@RYxZffB@7F&1Y{SX%{ckVuaf9{?Xt;BBbVx8AIKX3A zOoW8S_ajULm66B$Y$uGyfzN=AF+M&nyS(?ZEdyj*i1w+(MzF*8BgVem7hl^U-W0OY zfhS{diaBL7QH1je_;^cZ=Cj!xMoLOQjA4*Q+SUSI543kNQuDp6(r$B0q|U&czd~|T zyMK%{zDb`)%sO6>nV>hOV`56{cUPhspJj7F0t-rh8aCFrE_H+0ZPVf>Ft#_yHtj@% zSv>cX{8m!V;>O>iiH;HvuL7!a#KBbcq~bkA)s@ z8Wg_rp7dSsrrSFUnT1_vZcK9lA;#87O$CqBR(QDQ zX{VJmZ~_=K0`wT`DN|Ed=Zwlz(!mX`m8w)1OFUvCBN2t_-Ja(t<-m>f!6FF>iS52d z<3Eq&a=6{ZpTW?F+{k6-cXhu_$+CkW0kn9S?}#@f)!gXr8ppqd!b5{k)~c-$&nUhx zF>#lDYmsD5^T8b|Y|$|>!U)8)*NR;f?8E6aYDvWzY|IJ^l`3%XpiFgHJ+65jpxc2RKfRRHRkV!#VZa=P>) zit~86AGjk|Ppny~$w=Q1gUt{?r4q-nXGuwU(b4b(9vY}-GG7e`%LH`6PF#ce32SWm z{!s;Sh%N*QgTQ+=wXuzxDX@ujZGh2$tAWv z4$)0~(OG-f)Ol2v07-XmeWoc#5n7GU~Q%Jc!I+NE|YA(4svA zfisNyN+uWlz_GPNwR)q$!RjZwI--L#%lX(|0PF2ycgYlU%~7~UfWVa;y)gf4vZ|^I zeK|Scsds$PYZDLfYdD%%hCwPhF~1Z=##g|Vw=62r{rJ433Dg0AT9aO| zU$FcR{~EA(-DZB9!`d=fap>ee;kD6b%C}n=t-?&TbKk^sSdZPr5>Thnc@<+mb=*8wW784^>1J%`mWhQrU0e%=k?btr0$e%Nw0ZeTYpy17+Vs zXWb~JMDiV$IGQW;QpPX5+O(yr;e5+tj!u&d9mzsD_pt4RiOJ#&wU9FQ@s3=}Sv=Eb z1LA2HtqhU`u(f4t;s!5M2%R{Qx=M8o)Kq$ZVcV-_tDj%xyBVms429b#)GEspp~(K< z%`R@Tw)k%t^NtD%L8OQ{@LL?@=#$Ao252Q=Y)>G3Q1Ng#Y~gWqKe4lJXH{-ki~X+| z&)=Pnx|+WhW&a%Y-?B&HB<(f-O^3L?sAn~9`^ih4lir@1+mxEClm4d7&@bEK()HZj zz|_+u`P8^KVrgCvxl_Ep?xgbB&^kO@o;CmH+BO2!;G(_r?U=tNA1$&|^?eg$G<)++ z5qziV$=24OMJ&gYZHQ=VD*g)XvVW4okI(D}0Z-|2WA%Gntsq%+DE4+1x$+%4^s_FZ z3L}Gyj<1WYnK(jHE-4q>TQF5@{x&>5PY+WdS$opck`hk~3q2Sq(#YPhe*4vPpW&aG z=%~F5A5U1FF&1eirwa4gZ_2W%X4~DZnV{OtOuZld-d-%_NpxJcwAx9Jm;PNqdOwEvW203 zhv&sS;YY%jGS(yeH|WK}=0Vi@qv2#@9F0t@;jfu3_lOB~9LoExq4M4v#=szpuy=%v znZuf>aypq!r2Pvzw-52=a#t=#;laQZtGP=KR7wf4@Af!)p1Dv2e)#Yq9@1UDcs>iK zV5pV=>7*Q?HX0557Z>1$;U@UF9Mj~m%x!}q9ze!ddbzI`GO}v<0~BnLKbP0V2sezz z=D_~M2^jQ`kHgPch|y|k?r$|&gRaY;hw$+VIrPTEb2U=9`S_5R(Ht-oS1htqQ)`1F zQ{?mYiT|$|cm(d8&(!p*kpSwCOUVrD zZ_+F~YVnk#a#bQMJI|eyA+Y1AsHx#&H;K4o_ zUqHZogfpu2Pvy(PEx-^I5)L>NKLH&9U;mZKLH;!F)6Uk&F3ZlFY$f<8S*c&2bMsLA z!td$XJva9$BH}wn)mwKAOwPM`E9@8v!oL*mZ*m439Sfyi#=US?`{9rZXc6vNWk)J2 zKe}|&g}TvC^*Sw4mpklgyU-2qwF`EIbK%tokci}ncT>cV35RvXQQW2_qW0Yx(Wwho z5d5g^X+TWt1h_zAU4b|ZBuUuaVgD7;3cA9nmmc=PDdn8UiTzb!-;>v`-G;Uk?p@B! ztgn9j`gNvX^6OWhCO`ZAO5iR|Ki~q`2}ZF*puaziWWcAq4ve0>g}JRj&$qK(a=#9O zoK#g=qpeJgjngF~gU820j*8n!RCjh(*VWyjwOL)+Oz*F)%ZZOxTr6|oz$%tb>v!G7 z`Ds|smHqVbDS)0DV{-JJ;gwcRuK%!TbYA{CGYpoQ&tsB#AW2Zihj{g3BnFA+LfSgO zkies5N5eEvkn;Y3LU~7YHPZHWKalsMW+C29;Hj+PbDDW2BqXGp*0eI+qHW=c`cV@8tD=ZU893GW_=AiL1LXO2zYsw? zAPYKUXDQmr`ANeLBFM1zX-se$0D<#Vik8t6H=KS;RjsYTs!4RjzhYRhqPG#m#q*UC zLF*SFBZD}(5lC zxHKJe$WcG^ylk?pV6R^0sy;;(ufY@+wuBWZYCi|g8;X6>G{Cg2)ly zH}AiGJ#qACxZbtHe0(*HjZYacNBjy>xWLV`GxeHgDsf+c`SQVuFPe9fVFB$2tZ5ZgMIy{c*;-;FnhCB@_8+k_Ym(we4*Tk;%|cy1lH(!;KSOozO@JF^|@@6wEKO8FLC zJ~bsjYFtWIxAfOY*>&z*@dr_jNVMhPkU*gL$>aq5{>T_Oi8o-sz;pO3c6Y~?86oenn&C7y0-fV${1>BNPv{X;rkSR?+JAvLPl$)$zYO7E~I9=Ju`LE;HqKP z`dSSG3`Rqk`;o>%W=!_4Rmyl=jYfm8Y+Aea zf!d--$GJ4h_0n~?>192ZzBe?4EF9FI4aFWYEY)ngh0?d?*RaFGM27(3Pn}Kv<-JXg z+t|4CF2W%Nci8CmzVJ(9mDf+=lL|4Wr?du$m?3?|rI7?G8;CBe%c7;#)kRzHS}T2ZC6AKs^dv`MxY$jR|37qp5$ zFS2&ro@3vGPhxD`u*V<=g6O}{#Go~y-cPIeWwNgy)Ag^FzM3x!W5U81_t_)Qa0M9= zphaM8C!X>#u9yLTeBDe{N95Y7e)CEEKB;g;MZ#|!`9%H^$sSGmeKR#e(|>S1&H45a+_2kerZnc-o-@Uk#>QP_yq<>5Sd`) zpKn|qXK>yDe*;zj z`^L?iXqe}w!OX{iEZHF%6kq%e>=H}+G1F8UisqDuP z{CD5k1z2Ydzk+Nx7(KD^XS?{nmw?gJ(+}WOdNfTljJ&d!zh`Zc>x?T`>i zS20?gD>a{$dH4zIBG04tp>8Mo!*o5i|A6yi2QbF&CQN4f{{*i!(QCvK09 znt(}r$*O6x7FTK4x?1g|)!OexRewOxw4)@J>{9gTkspG-grW%TNp)rbxe5{Cd-MD0 z7=)R%Wna$(1HlvgsT(4TAY7+p_JPqV%vc>IoQ7>^bZm@m?_PPT1L8LF9v)q!rr5I2 zh%bMuendt2EmRP2F96f+L?6$3rP1ii5&D(s{LY?z7xeXi4}Pz8`70OsQ{;b8d0j}E zeNR@aebrpDDo03@`0-B%8!ei^bCZ+vi;fW5o34;>K1B;GUcMXZ@#;v1CS9tq$kj{H z(kO7Zh^LLZ+8`1jr?PZ4OZT2tNa2^9ifGsh$=RhzY!l%yU&ci6Vj4T|~tZBW#1;exFTyu^waDBkZ$< z^1bCo@Ac-Sr|F*Xf5?bC)DKFOso{UtbS9NAg=l`y@2>$@3r)%Q4 zau~t$Ys%BqgGnF0KUtFp#O)&9-5gg2vb{)jL)-a6hY00suf>8tnC$;sC09w>XP?n~ zinWXTUY&o+={90IyzEh10J4!W4dtNN0I(3$hQIP)zQ8XhC>KToK5b?eIBIT?Uy6r<(^{ zZ0}jnzE_7gyF6Fu9wOj%5adfskD`jnKkW+pVWT9~H`Yb_nx7X@ZMh56^2No)*7o+6 ziwC8p(_g&EL0gTuG1#th>%aZ`bnn`g@VXFvRpFM&wQEP&*+r7J!rSJ^xiI(>;l%>S zBKAG*6BS1(9_)%6*+CP#R4v-gd-3(tvJ-7+1}y!I_rq@xBUtRuX?&V+6-$QMe#z8Z z@@3u7(_|8{o0;sMNDHfc@0@|(zY%!w2fR6Tnq0jRlseB7$jTX5ykUHY#Gc8?$?H`S zWbYf4<%qZk>{T5phT2WE>;LTxrftH?|hX;C&)g{3NG+nIHQoz+A@q-6O!t-w!5)T44 z0!An#)L35bNBi3Lmn!6G*tl-zcfb$iX;_$o!ZX~`(Z-ZXz-&l)NVY45Ya(tGHms2Um-?&%+chC z_vnc1dn#bZC3xZl;8GYJL#|=(Xb0{Pt|_!KfJI>rQCe1Zgk#_*{vp%~SV`!@;wiH^tcm}lg)6wp-h_m zRg&3ck)nlB|4+Q(12Cd;o_LC}SqEkbw6Kcz)X~yHz=g%9`@6vbdZPI09TP?r%=|sO zSZnMcR{{>A971U^{X+ki)?KX30ZT%1zXKmZf{&RH84H4e z0NE6yy}jU@;@aik5G8!~@bTmA^-pSkO-8ew@$gu|GKC#!yiOXP4XgtW<%pBJy1(Pt zP?KGjcNZ(fV}S+dxiFNZl@6hwX6zLda%2q*-V`o>B46LFgcn#kpf^6>UTN|g z)QYI`URWUjpvN%P6?ViH9(^0C9bsJsN^G#=)5u71m#O^}-Uz*^M{fMuaMv|+v$h^SaeTd7U3bXx^aVwu$iK8{4t4zi6tnj*qcs4$!LaAVtNGigW1L)FJwZ0mOMipW^r1s! zA2FQ0=+Ei=%V2I3@ZdrGXGcgb(J+Zbt56NKeC41I_C}P?8aVUr=aFBc z_GDm$H7M!0npO9PT6(-yc=jWHik#Wv9P*Bs@_EIe*$Xqcm!iv$SNobMlIb$*10NT)+&Y%^#??oYt!Mp@r_) z&E0()0mFA6c03a?5B)5zLi2@!4OE+ScrSr1*X=f0z0d|Li`~0R5M!^-dja{bhK40C zWlj$a)L8%huSK}C&|eAu3`F8bM8vA3e=*8J`b~k|5RvM(z5NLC7fVW3@fgD{oQi-s z>N|TOVD@-RFs2~*wAuU85|dp^{T?OK0~WZvOJ9*%2z;gm@V zY(EES_d?8~h1#6T;jQ;I}y}~-$bfrgF4C7RwLebr-unq-Eoz{eU z90>~;EZMGP!{U=dqz;F$8%WN|90{x#UcdrORF>5%{5_tBii)A7c~0Veovs%q1j;9Fk4FZiF+b8V3BkX`aI!j$fFpx3_h?apT55g4|qc|2nV>d+5 zV>^5MR_spPeXbkE#uxxb#>TFK=2_qvYwgnq|GX)4RSdY5ITm|^LKbJ1<GzFqw`;{Ihg7msmr!iFj>GXnE*U4612 z`~!Jndc*lkF~RFQ(|)HdeqHe4SkrL>lf^C)>J*yX! zD{NaJ8(uJ!#P>sgsE2!wv=89Pm|&B$2cT{WcNN{>!YE+$3Ai0xlfeNf{rH(p!VV!S zxHCqer8mBmm11pybILTS=KGDA2m#}ieY~moy-}jpD^U3&)&h;!%uM^3y0u)h5?;PyYGb3PQ7^D`9 z8Aus&@~TC>?KYoHO%q%{OgBVnakV7qDOVk_aMYEF9V3yV5CyPzJL075D1p0ij4+b@ z-C)g6`rgq|h_V6)4%X8PdP-0X=JANZ#R4S)7|QL?+Tni)Mm&1t2u%Ixh#(IwHC-@V zUY_mt!H+0}wHyRlC)1jW=Lg6q^a(*h{|66Ru>x)im1E7ZN;&2c zl8JSHqmfyV77dvVydDMy0=W4?l@9E@hYfn8vDXFNXq8)9N#||}m87(6+_P>)X%)MX zj(I`(JUCoC=&M8rS&H_DRNQcL@TRSgpn15lEgVP}j`Y;rf7F3y{%v0wnK%3)qCeXI zbRC&cKe~DBp8*S;>?a8SVGJ_D`p<6xBW(0Pf0_QkRrZMz?g6Gtt>hDQFD0vinrYh8`{3QG;NTGE5io2N zqR0+?gyY4F#|V8uC1_aLhgjC5Aib!wb2o2r>ICcqa13;TZCmapC);B8nyNTjIm{gy z9ZknDI}0YR9_Jo4@~ehoJGb7{`AJs+WY!lr@YuVJb-6=>fd^i+Jo)jeEi{8>5|xC56Uk#U%CpJHNXR4Y>l9| zuHVd7$9WZP5NNiZPD z2P%u@#W6mpFI>oEF$JWA>49YfV)JM4Sb)nCzko+wS?N1gEIFN6vL1Y2d->|a?f-|h zH;<;WjsHe9i6okcLQ0e}BvZGG(4J zpU#TLwS;u<*c%tlm-}}0+>-+tDKZC@6c!Q@U)W*C{6C6dyHjdJ3p@CNfa!bVh6uDF?`0SJ`pQ8chRg{b3g@s9 zVWJL|$*ImR(L;yaI0z_;5SK(M3b~FQgA+)kd_XyxA^c1epsQW7`a-!qxTENEVE{nS zr7a!%{L`o1%~$I!vN3D0$acbSg;xM9CXuj&aLj>k4T8r8=WPQ4k6*vuA3XDB4Hzg* zAv=txCPbYRlrG@YIJBNTUMxUuhC>&8-+l!`N?;^>X_*J0UJ1 zK})CO38TOxT0TIJU{y(703Q7w7(nAW0|#KVgt9qTjmwvRhgm1-%GN~`fnhvUII)9C z#3oM{eQQ$GW@8-CwV51mE|1Z{8{~{MfH#3e7y@{yQK73*79~ zAv#53ZzFM^o6J#q#5NF<4$1Irj$2mM6@x|sh_el@q|ndzbF z2*W zgKlB+HmhCZmoK_(ob(i%8GS3ex|Ro9c10rLMhG^g zd%QZ|ud(R}E(DYr+cUig^y~*SCnUs=S9~3Z4BZBZImZkZ^+Gpw5zu9hbS|GAEyQZH zw*~LtzcE-H0fLT}7Ql&&tgIUjd64%7vwu9mE*TKe1fSQHS|Nio!ovK@d!bXgW;orE(|Dt|~k1VR7$=R0Tvv*M+}1HfC!VGrkSL8Cm;g zbn}3J5b>H7{!x1ECs9o2)_wxU?wvbRfVS4Y+kX56-#?}R+5h7S`M({UM$c6|=rk`M zX)(+4Jxbw?OFvV8BV@bxh7NUeBxd=4G-i0a20@bXQv5qFP5wJCul;{JFD)k-4?ste z+w)Yd>cEbwva(`>5;BqSOB4?wpUleIzWtA!9*p}xW8{J#4DAZ2hS>sU7WvckVOD$g z@Jk##n(ufr$7%7vj_YvY5zs#4EO_DQ3HSc+>io7b2qr&$bvr;O2rz(OTzs`LzQmRb z26M-R9nDTfkaAy0UuM^*b*~X?Qse-dAg4RPpBaw(`bCBMTJh*S1q6!Z{6?FVCg-fOB7zD#c1_mT39{MT4J0bSz@YH|`d*FA+ zrN8DQDfadxqm@v%_52Z1fg@l^y(1d-db;YOMhzaLU0tcEXLJkfrD7Wf8bAjW^(vo4 zS^~+`Bq%*y$#-LN@}RstjlVzh9=dJQW}wEceYNvoDvLXW)MD5(su%g2z`BrU`N8Zg>9Go<-qrVdXEyqwuer)&v9!GaH}|;g+G5uT-;V*O-{D3F$sS2<_~sm zdiv`Ym!A$TExT^rJ|J!=;m(m5nn&XSQtG45rG&tBzzh3xhEoR$pKbwZs&0NKp&vwe)Rcy7`R)i+uGX?HGY)A zbJ&m!%Lk<6DJsICN?{}gml*w4SIBou6w^GSqR?(?pLxW7YOTOYEpnAo=wH8ig$JCt z`7R8$Hw$1mKicI?%z2})FA6~mmIH1Q+ z@G}M*U*%ET`i-5gorycx0TvQKMK9*=rMyXmxM#upj0Z930gz5hdZ<_G6c~cMfxVztj)FwO{*mWil zJ7BO!IXQnkmg7!JQK5^YT#&s_8@B1fkg}LBW>Gg$`pYn22J4 z?X#W1*xY=+f~Ln|z>tYqEH5sOjh+3suTZygvO4V2vNJMBmXfGf0Wm^P_y^;wqL}P# zJM{EO)I^c?rM4EJ`RK?p@)Nc5yKWTM|XNY>VW0OtdcjQI+H zO_#e4q8cYNE33n_#LkUvU%o7rly8*$1j(~)Fba2#WFiVNfLGy|Cce>A!P@Sd6m_=G zY&$^m7zMBX5TS7D>luzq(r>gTk{>GsV?vEW+>cQJ0YFl)RKbVLz;8B=P?BWJ)O*Uc zUn2Y-XT0SNt}!8Z{ks1AuWTjNFUG*1v9?gOC74P;Ie&r8I9^qr>kI3yKxZeX7R}bi zMjV>RfX_pT3zv+H_oRvgo4_`&Lohp=y&r|K%tdxf_>H07Zmt77y!@D_1?Y#~dmAHQ z#Xt^n{_nt9ed?jkIOX+cPkSTX(k8RxFE9RvCswn?URG_%2Sr7qepSejLgo>MPCF?! zQ-2vlDoMYMFqrKY*_<$LnEI_KX+*L%O0jH3?}n&JH=KTUX$Q_FHg$D%p<<3xHHYCG zpbG3aFk7S%cL8Z(8A}@;A&rCE8GY&gCwkSaW2u_7esj1spf6~rMXONe>C^fCR=Bpj zLwDgkZWDy?=|6SfbTGVst@35jl0nY+I z>GS8t55GQou9t0O?Z;5J>ED8T(vBShLQ3mP$nm2g{oeIY?*AP*_3@L9S;7ycFHoee zV=5P{)x^nbo{9GnF94TC-WU0e_1bFtMm!~StvG}&ea1r>Ta2z*`mDbY4`sr?#X=@g z;Inyc3V@$vIlqkA$m0iKGg+NrrW0kw7*NfR^7~%U`df`+LL;Q_4fqvZ2`i!EN0#)W zMYe3Jh9$oR6;&|=Knk|&f0N9LVb_8Bp9pf5@p@2o3Lpbl`*U4x9v*rNen!;DbR!h& z@1&g(99k3ju|_MKK@-`CkpV?mttlS^h-9##^74MP{`Vw0;y_p_ zedgItX&p(|Nx#!=s@9u)+Z+9&ck-v7VmJ!{Us#!;S#~>m*3FwYgQ5Hyn+COd8+cXD zV?}f2o2zjA;D`Kh0V|}kf*mXo`Ql#{(3(ao?{g7>8}FXSDcd_tUBL^GjWy!k$CG$w z?K(U(BV=P6c&ehW-$yuKI$rW#ic?k|jN53${(8{*hlel27!f`~q9P*NCF8HDXh>hy zZfBxcvb8G=iOW{Af39H9GmjMO=4wbT>v)rRSm3`Nf;_Il4D3Yay@O5;)#;JlR;na} z9ysmb==S&DCHV<-9kiUu3Tvt>BUqw4!J`@C{2#-^7+3y6_UzC#$U~6=Mlx4Gssu!2BXGa4#zx2M0ok)cTt(>~QSKPAyH%v$*{=`uyS; z(n6Q8jff#u4-6|1&_RO2@${H>62o;85+Nq0e~?zW55vG)AYQ@Q<7HSFNk7qDco+L3 z7$V&mfnvABL_622gQOBA#X!_jGBXDG`-cVuRGIDv#di3T>9wWBU-CP`FWqr)fIjIU zp%dE5kH&lHw&4w>4drFj&xLwpYVgl!JONut&YXaUwWT+Pvw0#xH?9Kl2x>T65YZ}n_Q zwy28;^!6qPs~++07UtC)1RT{H&#Bmq(`IYC_FZ@d><6;vqkG`%^zCgKI8PWFoO1cg z3#!2GJIU*o!!4;8P(i`vu=;kDiBFkQqOw_KCyd%>UZiB%-%ubbY$h zer?ZQym8Fg7=4iz1nuP!qSFCtqyw}vEiNpOP5}{=$*-Sx9VEc(M~gFXVSaw_zHT-S zN;WpOYdFz*tNb8v+d)Z*0b&YsnbhIE^x}8y?c;85K#~!f9>TL%uXN*81H+eJl4gTw z-I8}Qgp0K8BIQ&dl^zosN|?Nx@`ZGM(@IwUWMy?`m*fqrGr;VXlGWd7z0t@!jG`d1 zY0y?AtXB5vKRibqH~@F>@xTj3tsBhB)@ECvH47A%fgV)(;R6hJt9yD@0U6i@C1?0s z%-r1o4|Jh`_^;6{Yt;5;eVTW0{2}GU0YQPD13}x+#u5L%j7}zTfsRBq4CEt?jFOb5 zF5KN+MB>Lz&Gb?6Gjg#u8yJUncTg}8;9*$Pr<%NH_}2Qu835%O+JT{>z;54x$nUf* zlHuTTrYj%)^7%6^DBX<IAkGuq+{HGm-q1tIS_q4XfSaOM==hMfyk7^T<>I$(Kx`|kIO@%8Q#G2> z4SI%xf89Rq*|1GbCh0j$*B`?;eBTrLw1exbWjr+Y_5ttqh{k7@Hp&5Npsu?wIT9ix zBi-7lKf_anA3=E7v8IQbEx{N-&wwb=x9Hj7~M0Tbmm+5X2)= z3tUId|}Gsh~d+epglz|&hZo42xp@T`Ql zJUBgcjEp6+8*`O~%|RX>{VDM;LnlG6lV;jVJ{!9OkA|nG&+F!)_B)6IIpTA*vpn~5 z`tOVT)-TAhYoE>d8AVR37K&%VvPbuTF5m1Xq(A|E03IdZ)lxihIFgzDG?(LaNrQ3J z$>fjdBj7Gy7qNHBF`@a+0WP^zjliHFcrzmPi~TZgxV>$bwJIrt8A0^2d)5IskNnF@ zHp*4RR>0CQ{Z?fm4FAL4oSuGnoM-$N@)5&6c}0vpFy|p1{cfknN)3bnMu9*QBZ)yp zUT3IMff3M6Oy$4>3GG^cRy=0Yx==bS^9c#z;l?ODUY?ehen58noTLE7ZVF}F^kk4Td$Qf8` zO$`xKg<*ykMsiP9>j!Or{bL0V#Wq_AFj5D8#~Gwb5>CgQran}*!H^8hj0-k^kz1aw zV_{KD_~pdw6$DyriKuw_Lv^`Z3(lb^4Sl@KGUU#_eu?~)0&S6uTX>L$W4U>(iYyfR zHxTQu{Zlf8dR|IYlj@yeruWOeMpg@i0AGYZ>$g$jRKuX{5K~Y@Gc^-UsU-pC9U&Lr z6s(s4hP1VJ1H3kG^;p4`20Zk-vHp77@ti_QA z|IH;G?FN>`sPJ7=668wyD)pFl3ux}_+vK(?8uRAjz|auRKR-XEgM|0_`QC)>mZq8O zzYmdYt(`j$K!1YM8j2rw_8^gfXU_~Dlt!o>-2-?9vsWjgD~K+z6y3gW`@escrMSQ$ z47DZ1Qk1NSToUPp#&T##ds(%Ynn{F+O{l3U6XR;YlQ30g3M4+e5RWbvVj$w-au`t@ zfZ+_FE|q_JF0%HWYjTWWC^m)N&Xza&v+UZXtHFNa`0o6Cd)SF`9p9}QjIqG}o~ZEf zE(BA-B@SP1D87&ngyGcyeb`z_q`oKU{J;0;*f%JCzoOB<#H6OOPE2QTs2#djU+grt zb|dBeQ^{A0!r~juFyNq~JMqBJFC7578!6No;|XGh#KC=nH}(m9mP%GflxMItX67J* zU{Vo$;tEa;2Fdd`Zu|j1g_0H1P4EsC&YyoNe9Kr_xgHRN%%PplU%|O6FE59kH2bAj z(Anq}Rs4IVJT!=%GO{}7@7_I)y(6;?o<0r`v5>01DvN9p{9kMXtt5zaDFAl>0X?nh z8%0(PY9iD)1X{4kX^|$6gme@afHXiT;o;)KIdCenE>gf!106En7l;YNm{CQ5Xom6+ zV?^wnsSZ8=ZcP*oZg)_Si|32vCVWJsE5u($VL(rZVLeJW(#}mXafMyTGJvL}%wLF@ za&>W`V8!tWSLhJDkf|wq_$3-j${!Pskja%{mJsqqFm&Qyuj4^Ja9ZXglvh_m#^-tt zCw-Lmk~9L*p=%cHe*e08v(fVgk&uTem=l{smz)#yXLxY4Ma;wSa|&;ukUh){CSjf$De)OyLqi%!IBWT?x z)f3llRsC%!aK`7Cz^I*^4m~gI154e`cPw9(+?@)Fjm<<KxUNHlPuJcdJpkO+ZwG5z z9L0w33^oSh8%TZ;R8Oo$DrGiqQI>QKJ-6-`Qu_9_>*8W=OAbXHq=_x=T5x1!&lmfn zIG%UzTo{{j9o1F8sxRzGXg`lu6S@gLLr?H}0Tc_KR|BYwszq~Ev0a;SzFa`|$`yv0 zoe$1wHz`3w3IP1ne)C^<8j18O@v0=K2Om%E-AAt-EJ|BVD77jhJHMu&?1FrS zJO8SJf?I$$*oNP3*nfA2d}inbS`<6$jgXTjZ`!(bD`p)QmsN(iT0mC_BaVSVRJ=G^ zfZS7{Vjn&vjNGKEXTygMu32;4z#JX->C^L>bsAW8Qv|P~BG=ou8|%c!Qqo;62mZzP zVGgR`SIjsz*>@aG#qxsn4(6r6s@@zkgY>ufKu~p^Ih{AKq8Ku{gOx<_2f$_hkQodq z_u&?C!ZXB&tu9URELf%D))Ems50n!&yLZ|fkO#4X;qgq`O0VA;^g(mw#^jXQVv^Aa zFO(^e2O`Y2WyKuk{#!E;5nE5+u|w+ZluOmlknVNXOPdKj-! zBMfTEX_!MJR+PsQ80TN{56Z9+-slzFochg$RbD&4lHQ$sPX7#AMZHT^?QQYJSICOM1@7Zp}F!a@N83EkVb-yu88R1KYj2!uAiVOBdft$b|Uhcm_& zn|{q_Lbf0ESMVr-Ct^M$8I7#muKXzjcxZt;0cs%(-ahk`EHyS~XSnM@8!sbF zF3i#BW)GdxiwSTdOk~SBKC@gHkybu7t`9{7=dZ!BWwh8~ZyE zOVVeRbi6&cDzxM~G25YranVq2_AGALUb@+q_G|-q;Rz*%2fvY#;^O37z$(7>&YqX| zt+Rt4=-u&QpXMdElOH~F<`n)rHrQS6#R6*UbwHCGm< zoBEL2TX;I)PFVXfGLH=>_dUVRdDf_$(6a42NZW1MmP&^`%?Ax6z>dzy%otefDmL~hTuk=w+5~=mt8&O$hOB=_jn9R3F5}fQBYD))Q8{w%Nx5;u#9~z zAwItKr7WB?l8fB5P8{YAt}?6-ypR+7s_H*3fQh!Y)1^yY0lHAG2U|)m|LVJa_ePFN z1>_aeM^B$Nft?H7-cZldswyi#3kq5pOgui?qts}T4eVqL6l%+9T+f$l?~=yf>oR8t zPeH1H?L`tNt5^BE)w$JTaKihqUc@jHHl~WebWjXob3SGI1yjSrB%L*oaIjKH&KuX3 z&RqZ6$*89H=y4=uNr_omu>SjlAvyPz$&)i}y}$@i8fhyllbGlC@0ZUE3o#3i9~XEx zS~T|?lzb?H;rM{xZe+CEVtW>Zcz_G_fo?w98;N|0=DBu^cCZRa&p5`*GKU&4!o))$ zJJVenk7o@6rmrEVguwjf4#rzD9qpW7@SP_4%+8MV?3QG|v>nb(&Ec!xJ-y_fF3DPn zWxLELy18wDk4=1|)(k{VmaT3KwDs1d9#IfA4t_N#+;{5E?-Lf5BT-TJaCU8{W@;$N ztpnKu+6>Zjka*n>=E-6A*O^Ko}NC7fB(Ymu3Ti3 zSs@mDj5f2_Ss;IQ`BOcvxy^Mvq)6Uo_dU`wGKw#GtE&?0Vq{oU!rYt3%fD^gwypn5 zNJr*%7~o&d*j>*~&H(CPrf8LYlL*kETQ-<_rHuVTQa1T|`&=2u7 zAmn|lNGKN@C@LfvHYFDCN2#y-_WLrnZe2!$Zt68zC(RX{rb-j<5cwAL(E79 z{)LltMpTn*TswK<&RCO@Cc+=39qbz8#vzayW*+TY3`kF31xp?^rhItv^7Yae$E?)? zjwO}F1+aTL-<=6Pd-u_3l{xaHW^(21eCOwbB32MC9G%bE(BS?xVp)GiHs@y7?DCxW z66W~l&TUGbr*HO5PMhV4!Yaio;M2QjU81*&6W(IgF!5(0P!pIbZrr$F1*>(oUCr|! zNQUXyebA4|VqADHf>bQ;!0itZY2sl|GXYXEsU-b1lH$O%O@z5umo6iagzaN9?+3=$)_5 zVv%!I4IksHa4ru&z3;NX5Aw_kELM$a;^bYdJTP`PM^^)%giKE|Y+!^WYGpV8z-pMa{BdgY*6S zJD|F0Yiu-bN~i^HO_G>R)pgCzGR4O7z~9j>JTzUi|(Z z5K^?wZ-KJiU$;8*HN4~2Ek6Vjg90HHP67E4dQ6)MV@Kus==yp!!ZV<-J0&r|U;I_A zh9KenLTLuY2Lu4c;%anD+@!QvgKIFym4yJt(9mO=g>`u;=XZa9y7tT>2&1FjMNP>8 zuGg-yH3!IiRwLG`qAsr!Scf1p|*>OCUS3_kQ5)L`R4RR?k$#_#Zm z3y6#?vF_=Hr%k#}uD&C^dTXU`SekC$JNpqv@e(fVD>%8-VZ_B?r;6k!oJePEkD8&6 zt_fPk8xg-1Q0bbJn z94pb&)U0dBNQp~8%XleFunTE{FaX3H8E$lXT|sKp@VRdVSn9rLCEqnz(NpBiLF*!R z+`1zt7BDK#V;eg=eD0SnT;ODl!^t+lynSVQ25|y1b9c6%{`m-r#824cA3QC3nR>Zj3e_`c!?w z$ZW!K2^$*Zf!f)w8CKvZ81sd|S3w8p`b4k0%Ag}a29hYRKX-mlJs9~{}Bk6cMvC608Qgl_DmxVyg1IHjnl z-jHMv?c|RN9~{Zx_<|8F3aA{_Y})0#d-u)(a{c{vc?N!&M7zCVwJlIKs;IQ(TBpav z`~-m)`n(e+^pG8pv{SIwUtZ4jCJ;VUb}vpRzZlx_yZ2NZbPeA!;6d#W!DsS1t`n(a zmI!JqkJt&Y8c+AtuBW?5EhnDo(tDfWjJ-6&@_V7=AtNIr`cjh&E!+b*X>qV#>;I~U zDSKOSmpg>t5OE|u({(N0D(%2|4I~mhSCxziL{oDl-ke!=B$J@h7;z8X}PbF#$^}%lEKzw&CM@xVy}lXOo!Ar?^Hkl-AeFHX7h@C|MB!s4)8D0{;EwMlhzI(Bw}X5F5!UHS88m0{CBU!Q=*i|aUf(Vun1`lOg$wMcf}2nD^` z%~A2LXCTcbMJ`ylW~hz8Tc-7$NeTS%u@ZSGst7GVM?`Oad3h3w7d$Q`_tPWcZ`lIn zbgW1(qY``WrhSlEm|D z2Y)_z@Yu~wM<&GyybOdp&~r~`gGtgOmvGXpP+n@tzW!5n^%W%PVfukz1MCTn)VE}{ zO@~fET^-FJMaGzjeJe$Cbtj`!JLITX3sAyipGdBI>9qj#3b`^b#-meGhCMbc@7JdE zl?@YhrVGDB&vih=_Gn;eYjg7vBnNSiLI{vmzg=M4^N+?zihD^L6CGXM8=sIMmgpAM z(qInmuo6WBkr-EAO?Z}-MNfDJ4!N?!M%?q@p|FEUsTaX~cu4)^t)G8ks~8twgos84 z(e}qf=@antvydhW{Kj+oG>8(&QM9;Y(6dEfKbA;bnRhnG_&JAj4qN-+CpjGI= zNEzHts(h!A2)doT7a$V2+Q?7G5sGsYutPL{yXU6r+FH@uzsyS9Tt8|+LOro*>+I^Z z8ja)woEO2|PmRMe49m`9+UUIalmt^`4ohr#TL~*qL>FmWhK7d1OaTKf{Dp?w@a6$o zLh0rAt42n*uxTIHj7ic|y`ff7{uKo3RQ;ky@Kk7PGr4x{mH2AzH}6#Ve@SgUGnmfG z`k}1MXl3axfmTPSgGeNTfsC<;w-e_6wv^#Au!d@XpAo8P9vkVS|~4S1%~;KQb}AdEi?l6~BLVBsU&AMlEb7 z5q5*2uO$(iL$dX2l-#$454={}?)Ke^yT^_n$DU~U=Now0gXM<2s05Mc z43FWx^mGMO)YQJup4A6%c;clbDL}EZwfWmwJ^H7O_weBglNz_fgl}zaAFITHz$^h9 zjbky@?F_(Hymjm9k=ZNO_!_%q9J%XqBuyr-`rJn$aBWn1Wbn)I0Vchl2bVpGW(dWm zwA_W(Rc8q^c&e5x@qw?$7xD%BXz0tVV7GT<9;+{$+{PLPr=cdSsjjvgx&||vU3+YQ z1shZGs&# z0;?x($xKc49naPJOrYEigQ`mu89A7@77U|nhQ02G2;p730h|3q#Gzc5E+oI~f`S@a zN~Wg20q?Y=EyqGgW^juClOO%}B<$tMIL$zQFtW4DhOHhpCf<(YE|Gio>>=M_ySg|= zg;s=_krDDt6y=2`j}3N@{_HB)&iP4EMMLAJw1lY_}W^s zBgd({_qBjWn#PVj$9w{ihmo4fb)cd#$4cjQn`%T1GnhE44kqP-01~{mcVPR|$#p-( z*xs%kQ-?kAoTB0gN<1(I0Kvkulb4kZf)tpP)zw96_pdBF6RitTp2UQUE4})g0`|u1 z*PqME?r~yIgEQEkjwhH>n~8rKKNs$si#U14bZJNp{#8AO=tB>&U%o ze03~UfBEz~8?aU^R0ZX?o|n-EYMf&`xJ$mIfS9?}Ai({lC2o14`|3Fel=Ssiyr|sO zA}?MzT)Y)0Td8U0Shw%;U?MZ#8+3~{u1|N8tsEYjF9ID-f%-*4@f@smc>Z)Bo#i`t z?AR6ln?TyriT7W8p;WvbemLmGR5^X~vN3(JF)Db3ni8!shvuS7dwZ>V*O2CMR(XyS z@_luY;*tD=QxEhQ7(yVr0uVr9xjRA`P#RKABgK_~9Pf7i2?C4Y$&)+nncn7(nOXNd z*Z%tH69_6c_(Y(4A6~WKzeGj3*>p{y_J3V{BBQR^8pZAo^CG&L00FNduEy7w zkH0R7fjM4tZb-$C2j1G!nU7TU7PGRmDOuGLE-GBQq@Qp5FhETRMv6s?{b{@5ju6e~ zK+H!8Am*aw==cHC4j^4|g&J63IB`DL)uksVM}OT+oO45S5O-F_N(VpJ)xB8MpdO}^ z-MI2IMaXr5|JZRf{R5u^&0xZY!xiKDosz<@E=ZmqZi%$!gE^=Wyn*5G6D=io<;v+F z-q0_!wVlRmT>LF=u;S0>$A5XK7E>~K8iEHs6djiUQ^*R7VtOSYh# z#^|=H6aP85u1sEo(mWB}WLLOT)+M4lL1q)e6oQdO3fD@HjXzC2hiJgFH~s z1f;2Q=8wkI`*vai2tXOAr+Gr}yT^hl& z?(-&JcuJn2+y4CgaMcjG@P|=J85tBr2@pg4rQE~*^84)+bbHc0$A_72Gz%BRh+lL`*D0tR1e(mN4n0IxTxI=grot}>4O;yO9*^6X1nbhEvZDwJC2fs*z z)h_;czMH7Sv;b%*2xEP(%RSQ^f~68PTi)FK5d`F+yXRz1!nOn$eQH`7s!oMv-o?2d z`lL+BE|zgTSYurUJ*i=_5(lH+T}6$fp{a@T0WRpkL-d5(y}*Z;|I{`xVD{Rw2jGFj z$U;-A!-nSJd$jNFPO-yl0z<9E1#XeMlY|#);n~^ENRGVO^EBG{7iO37ZW2K&d-^b4 zAu{c-+d4B-l#O!>C^5pD>8Yq{1g*5ydJn?T1(8K3&O&p#5iV-x=I89r(es@&=Q(^h zAavo?P&YQfV_(W9xBy18^V+OJbO}F=#U>?DB1&ZeWH$k+S9x!ws(RaX2##egbE8Z% zQ;w;}ZtvQ?I?smb()qDH?ZvLnWy2DuBjCg}SvWGTKc$E*sR#opdXWla@St>qF=yuBCVA8ByW!5ZvYsAz@pt*}P!`rm3HtDXZAi(xsuy!D#qb63>W-%@;y*@2 zpXLj>EzYKn_b2c?^7R$HJ4uXmAKevXi}Dvlo^l@-H{Ta}1H;29$;qhRzLG3&Fb+BV z!}b!Gh>)V;(Mqk`FzHx`L_vJuBp=%du2muNFWI4t2M)N5f8Q`9aVg^L%=dF61Q%+7 zYoER&y$bDB>xa0axW9a49x*Zgymedrs*WH1d!2Xr($jgC;-yaL^fakU#URYfYhFowhJwcLrFhRA#za@Eoa!RS6#A|)3*Jb2^yo8y zQI3n_I3vDd-fLmkh#747$*aHNB!sF0jfSO}*|(yCOcc-P`<)hsFQ=?fZ0{7eY!R3G ziHUz4CeFx=gsETZl}!7YA#uFqtMG8?VKhw^IKsiekMEz44v!b3LqUsW+I>u z{-SMoV=q?r>~-h?!i<6$3LoUq?u3V3Wf#X|;8tp?s@*wOKD??;(Vk3?KWb-N*kKre zY=kEane3PLoRSXMRxyXM-CU1mG5VR_s`4H;o!OD!clJ_j28sfBt{-(Y&e4$1?MIT6 z5qw?ZEF>r_{IcT5hssLioE3@{yv@owdx!nRsZ&TbR(@#`zKfaJZBTWOPeq>Xu^}W9 z*twU|L-dTBF}pZ+yr=N48nPHnYqfDEG^WQFCjkh;b`{JmBR|F}01`jYBN!nd-u>mv zeNxK2PHY(Xi^oMceYVwt`soH}0oSb(b@JWv1>dsFD=@%@J{nAXf^85R52zupu+~&~KGH9q6>9YfDKkWs3n80FO<%F& zgrx0-G1*f>LI7mZwJQk+UWA0E>1oww54zIE#-FnzFTq>GFUHc`&9s6Al4+OXj@|IW z1z11n5DeJ;9UY&56oE#s>W2+!q|+zU(SpS_XI?s5hdz#dChHP{34ZuKT$YgAzf!#Erb{p@I0Q?7L+8i~Ef z-Q4jB15?8!S2ErZpi$WK=M6CNz@b@SH%tdYP=g4zHE=0en3*R4U+&)z6lNvPEdY$i z6vY04UPPLTow&mGq}9yQa_bhRcR4vwpCU`;S!k%X&A5TOwi>HQcrom>zyrcAN$LK2 zud{GR&U{L82I7tm9p*VLVh>n@H&9#tvzoeu5kP0GSx7Z&>)(dMx5ws7f9pQvWLQ|d zwmA@c|GuPh{SOGMxB751iF`vi?2WE`nZ_KjsEjkz0iri&r^KRj%g&x@&6Rtzo8x|F z=AEPn0a8cEa2Il{4*yUK6BEQ~dWWA`#5BcXFyLx3AP2%fU`A+i;MF{@ zsxdXm2>V%4Oo(Sk6tO}JZugDZ+h^ZNl(!B8uNDMh-1eImFtPfi@*`aYGeAV5zsq&N zrU9lkN@OK@FM}x&NOAM9|G2qD@~~K1SU61&99t4{U)dcfX2!L2Vb%cu>Vxf_}zAHa^F zqSEGUpBH-X^YX&Qm`Ei6Iwqj$lua}+v;bDfb+VePc+%vRWVs>6{Y zQf!&PgPF$t=^&wApSu;_GgW@8CZ?t*aZsPUDyxuQ7y-VkuDUwglaC)hibj_YlaWb6 zEMV696{ErEpr96v0g1{cj|vKOAVBr??ShA1f!&?BU0ez$5jT!n3Y){(J9lcZbVj<1 z9y2<14)Cy$d;aLp1%E;f9$X-Zz~jNO%MKnrLqC7=nbp%aoE|%}Q*?vf5V0C2vB=zI zXE#l}fVT1c%ZuCs zin(PA(`O*coq3jc^4o6MS;(GdCHKrg@CRVNNfXec3cL;w zQ+`Mj)>!DAhi0u7|7IvF`d-cz)Zf?^Itr?ojFHS7I-0GK5#ma4yjukj-K8##ZbJrd-&f(lrP_R?Z>u}pvA9noUqC^1=DLN2*D2zdgNLF~OHDk4+A7kF_fm6snHj4UN@L);^v#iuN*iPvB8s_Z25NP_Jt zxu?qU^t17Wg|EsCDKdRqe0V29>RVmrm3w>{85?ikfc3vfxPBdvQp0X#J39fNiunXj z0k-hBAA+VF3*k|c(MrDYUKDO%3)S(y4>;^WA!oFGek`<)piM`y8Fvr-w+t`|l9Qnb zEMGn5B4+T151q#^XDS$`$SoG3$81)U1rbFc(z}`!|8#EHTVc2$-Ik+kyFgRF_-DT|;q1*dOyZ4@i#{hZOKHZykCMHKB z>#Rq;*I%Vni1lPC(ipt(Q#Sn5nvZhp4lhwA{`h6{`>UaG+BUMTd>oin{3FJE~=pJvgsUK9FxBJ|8yYJVvu(y(=x934egA6n|Xu*nq{v0?I3R@PPBjcwxQ-NiOZ)?`GJk!C2a_LRm@^hv^Fn z2mq#L|9wvUewF>->rI>DmMo>cu=^}5Sk26I-eNPLw0`ZSzd@!rH>9*wdtX4XGw)_Ab72L&Uk1j6*4O2-kHE=jb82&Bp=nsUDyv@@jH4jxn>{aide*5#kq7gnf7@1_G% zn&WXxv9ihh(9tuqO3Ni8sT;d`q*$PGAL=;#FBTHv+0xQ|RL=VOdoWo`1hR^P5dxR^ zs3=~Hdq5qfqI!&m5Jcqsu+F^Qy(6NRFrr4B9Z+^gz~@otHpRxKlW&b=BLICq0eM~4 zG$|wA)~*94qbFEdksQ%m=?hu=b_PCMjEs?zf?#zQH&5qevhxm@&*Rl;B~{hbl9F_n zLqbEVKh>i#34MJMC^J4@0;;G`3SpgRa4;Mp#3d$zra>5@v9`1&Oyp(*T=?`0$~~qt5;e{_(lQ`K+rcy zM>^US4)>v*T^{TxDRbc>vttE=;{eo1NY4r9zd z6;Pi;>K*sw$=^}Ev&>^SEg&RCS{BLjCqI9eWRBGouqZ!_7+8OS_qnjJ0JDe!hgErs zwj3*Gv}Q@oD>W#pP+R`|@na{$-Q>KEHL*-RpMY5Pz`R{!PCT9pQY|?1h9;k*iPP68WkS5+(M+lb)fn^14k3lq8wCT+h}N5&e*?# zzbgvbit=l~H;&m?)YsRyrZ-jj%^^h*Dn$*otI#{`rK6)%`}P7~!NHkYZ?G3(m__r9I`*S?-uu5Ivt?HPA}kNUOOHE*}v;d-+ygj%0~A27Tk8LuL~;>Gicr%r-k zzC_H7J9btIl(x5v96x>sQ!VwQ7#}~X>fI^%URNIoHT)b;f>89B{&4G?D*>-w-N2yz zeG!>5Dijn3}e8 zK=$Z*hSfX~Nrhki6x4Byu3D} zodzh=8S^bMT@qi>VxoNuzWfwqyZw>QUtt?Y%Lmcmt5=;+yNu7f0BC`s6<|@J*}r6B z02fi3Kpa|qZI>jfSi)VSVtq8uJbL-RzL(YmR4z`)&v%lq?k_BZnJ|V9xD$4oY9O5Q zg}`-%C>-kVZ%j>XC;8yXc12;G3m|(8u&a8mI}MU4COnr?FXnSoXb_Z3}a9f5WLk3UNj zlPZ`5eN0Sq8b4))k0ZzJ1Z7Yq{&psJ0;^VHHpB%<8{D9odwrKeYG$Sa-5y^CTq z^!0YbiMza9Zhh`&VGOQ`kBL;&NyNtC+P$VN^k4}!yLryy%0XJ}Vi+G+LdcVlAdBqn z)kG}FjG6(V9pid`?Hi~$&kTYHS}Yv+?#YvjqGL(JX>c(3AgiQpZ?;~<7PC;;kS%fW zTdl53Cq2e$X#za|D{v)tZ5IA6zNO;G`bMG6{&2$%@=Z+b(eY*1;@7{&75IT{tLz`C z8c!vGweLtM9N{W0yJqYyX?7Zf@c(L7{5|GHxD$iAeUKI#rhBeDnWA5rA^el;2d7Qj z&IH#4J~xlht0)1wcRNp4M&@Hes+z2~M%@+XwVVE(s_6rShNMwkdw5+x)n{xe{8icRUroOq@rL*E1+GoI_h<)y~bjb|qZQ2@n7Ika@5$|92t(M+bo0xBgX1 zgHGb#|Ns5*UpGTWCVqA^oF1RzB!`{(PDvDNjZFpu`4Q=zy1R^~LZ82-Msta*>YLq_ zYyVnex1`6Ws1S%nY+x5r?heJ0Z`u&fP0Y0q5`dNz+a7z}Fyqqq+n*w=RTwiwK#N!pYCN4_d0S$ zVBY}m?^Nd#)D}`eO>W(K9^7gsuLETAI}XVMm-@zk90vO6yO1>&V4Z( z$Gc#_yEwO%bR#1~<@EFp^YT8c>wnCJ2r!H#UIYZpOiW-YS8p#) zM6j#NFv8s7a|cKuN`}*Se%G7*f{7{N8E7t0HsZj=C{XVpEdq5YEs>=I#$i*d5UuY` zWfecv2^M)cf7ikSE?-{$QL%`%;OOkU`w#^UO`-*DM|{^T)>@83k_$v%)~E0>j%s8T?7qIJ(dZU1;Y- z9xOfpe8#<%cd>6DI+hp{HDBtJXmg-$*W^!j__O^K!eWM>$Fkw7;>=-(mgg7>;m68C${rfSn zr-Yknaq$XH6>yH>4xa_bSjh(x2j6C7_&zO`q`+f>Wn=H)z(H_y_ES<&*iEsSKzlEW z9iHEMdR@@+c2}L-f6{ofXW93uyNk11Zs&Erd2=zN)_Ljgb5ImeIQ&F+*^G@?T~jl&?GKPem24bWyCg{!k{G+4U;H_%XWf%vQ{-69kncEfo}!_p z<>vn!<2iAH^z7b(@C?ioE|-@90a6rKGK{_6vWbiPfwiFX zsdr+%>Y-qTA(>7=;CP!xY8K#k3RWCuK-BPX;@Lx6fwGp9oBQ{~`_+^^t7s%Kkf`l zdF{r`6dN6V65Th7LoaV{)BrU51>dyLGQ-SlPK%L9KFGzx$*HQTnHT}4tF4Ia)Y_)& zGFCkFx(LbP#N_(v=~iNe7gg}S{rmAQ!3Sfv=w3x4_)w!7xTG9^SX^XNFIn%ZM zQ-ih(=y>N{y6J`1uH55y^WOsp1_#qy(|fQ_@L#RWf-yO~%55PHAUyN%kTCiby8`AQ zRt8&AlY`63(md%kHSWWD2emeTQagHhu+g(_W|Q@tg7H5F9bf`LcmQ@XxaG*0GN!V# zvx8UM*GO?qXs94OhhK`(5jettk$jYkOVoYE8ZZeK9#+P+YXjJL@PMN3iq(Mj*m;io zFp{(?e!LRhZ~wj2?RAYeh<5O|LX&_;(W3Ut>(o?SehM6fFdybnimT1yOvb&T!%&Uu z=useVJE*DS8}%P7jQ@Z;SqF&1c>YN1{^e7g0Z*Pl(O`a-S!r!&Xl(0nKz=cr--iz# z2;ce5AATvlPGju}sDHxPKp!7JZ-eRDFJB9Y?|03_r!*X2Tw*M?^ znIlVv)gY0nBvV8YAwo(j$>pghZ2CWK2b5N`<6JLMmx8t|&>9(j-(gq7==)&vm!f z_Zi=3d*1)vZTsEZvpwI1y6^kCuJb&P#Ptjh`0B{^mc$(V7NjvRoupb9r}u@p^FdY5A%g)DU3~mwY+lg z-gl^BguzXz1)ZTj@)~f6>W0W<&yP!edr>yk&vyowQZ4td93m$n@wuerb_;=k6}Qqogl; zH@I!ljC0K~bG!(RLVtfn)`B^6-ZK#fC>;%G0?=2UckJpN>++}02pH>N_tma7HhM96 zkk9R1qYEf6~e}%2-v?4R78rMY<(D~)zGk3Mnae|i-sz|kEvxnO=l|v%aXR@UxdGA70X;rG2+Y&Opdctz7%u|=h}aCFyf=4sZ0l?mg`zqSySxmXHTE%4_HDOE@;z>?Aa6W=JKS? zy|A*KbP+_(t0@-9!3%aPK-{^@L(r0@zYQBe)sM^ zX=sTa&qWQDC;cz#D(!VFO~&pA5W{9 zhQ}lzDb;-$xeP>E_S&a|dLen^_m*cc-p1E=4VPM#>wo6zr3)AIdsD>XKzQYf%hDjA z6&o6)P;?wWc~Wxeks~L?OBYq zs-X^AhF89_Qp@(Ra5z!WM`E4HBT?U7y6{ez_#cxLh7U(LQOCCB$Yy(b^*YQEPbhKi z_eY;@v@^W29@{72nC(8eTBq5wU1(J0u;K7+L*=e5(_i!z_!7OPrt99kbEm&g8r*Q; zP!!(NCT`PH?*8kqziS2GQFNaGFI>VY^7=Kci!0G$?e2Q=Q@TI2eQjCUUZm1v4@-h& z6O(%;hsQfM8QlAL#6;vei^)O`iv%gZ#=hFsA3grI{1Z!z((a}f{KtB^nI~v!U2flO zsW`2>s`DZgGQrE-{V(o)eo7u_QgCF^RWVIv!RLmrT7ijw*>3IuQqIvBeWB}LzI+eu zxey3UVWpE$lgk^O9~5wo);Kx{0FX&c(CwL;TC7|5`tzaAG+fMOXXqmx?Zd&FWITsH zTefEE7~Y9l4sDmZp}dcai^K48FV0MvGc4I!cQ@%QTzHI-mXOdU=iJJ6S_n$t(cVU* z9+~Zy2}3|QLF~_F_TkKj4T(TV14LkW(DP4*s-*1_B?6e##0cenbBZFnk7IhID|lY` zaZ@7|f*R#ql>Pc+%92JaS3<3ZyjWftaQpVDv@N;Lii>{EAzc4E=J!eSCVv9&sWVT; zX($gmpIUVOgNl+$f$QEnyVkc;-A)$_5uU552A6L6e=hFbzdVwkS0>ZeY%jG41*hNP zYj6xw_Xe|+yG8fDGWFNzrXV<}pT5C|&GIy}yk#j`EvIhv{6)s>jDciHlFOrY>q0XI zEg|~OS^4KHiOE5G174&E1>)58hebcEymrKylYifHF-OgRMPf6 zhaK}air!wVU6!hSO47e8jCqV<#^Dw=+at`9Y71ig&zu<`a9Hv{C{ z_9Zv0IIJt*&{88KY2zyK`;Z|Qyu7Xj20q&o*;9URu4Ip2-@kv4<}U6)n<>LzL&~LN z*Z-ph2w_f1>dTiJ*6W;2^4=nd1aUPoGCov%-q{SXePOc0q)EEdKj`U?_?#cA-q1O? zvNe~H0!Y+oN&0j4?1m*l?dSVWR})KAhoR?WPX8o~S_=(5a`dPmQpyZ`PM~wsp7ztR zopw3~=#pYCTanwNPais|l3MHBz~UJ0?&A~p;6XDLYESv0L;Y9|!mO8mLqYx!vk7Ls zSW5kOwfG$oMKC}Mduu#dddNR}HlGBBC?L~!w5qCiekBwn{pTC1Zia@olSPyA$0sE8 z?C*N?=m4#!w=SMNyB|RokrH7(zL)JHc8pv$#&YX@$EIEoYPWCiNo(%RqaXI`3Kv~2 zn3{vTkVaS%fuaPY+@9o=dWV=a1r5IwF2q80&Cju_(NvmXU(JC=#_>m=2P^&1(>=q6-lWyP+(m8Y7Tni?{6d~!$cns2K?fIO3z=p4CI%$Vf)(IbbocZB$fL$UyeC`rb-~Kwq9A&7{BmG6(G~HP7`K zJxPvwWe3X)S{#1kNP5}sXSXU!UN>>7!-E2o3J5*}crbg0j9Kd6cg@{RcdlN|c=%^6 z+`G8rbkSK~lGH9jY$dHwnd!_%THCrq3u@7h>b=0?$6T>Nol&dQF20a~;HeyW(RIC3N! zC4@UUBw3~=CQNP;RKA?PP!FktG_POlJOou9OAK`RVrr6y_;N7^CD%bK;jvkPK|!Nc zRODo3sagT&YCgp^ z9uWSgb^uJI{J3%0{%I_MAkCk z;NbA5#l^Eml}87C8Z%b-zRb(RVBaKu|3u%V(OJ5yd5^4m)CXY=4Ctf-Hz zZRb2Q^AK}fMAC}7xs(Gs1x2V#bU19nDM`wU+|_J#B(vt0E^Svb{UInoS$hrrer2AW zlH!{kwn&9349$Dy3=Z&<9rN_f%5>GRurNlSsJ7g+&gEopu-l&0ef9Wh6ShnHW}N+K z{!^oUbwOamMOV>wC^xlgatU8rEz29_Gph01$NO}E%F4)KzF%}-igXMd;lsy| z+!M5_@a2TqqEMr-8y52NrJYk~*_N(|lTvtdEL_qrxc{E0idXB1xjSo(AI3Z`+Z{GN z=Wbop=(sj1$D#hIWp8|EcY5n7Y`Zj6hOUR1dlm29zWtg0ERcTp;P===qm?o%&r$if~yr>ZZh%Sqxp2L3+B&fWsjc@f`n?Z5!apLd zsMk+ph6E2hJMi<#8`alGD5=oqm*+aL^NRMH6&#v7q-es_sl#3O+u2dNVA>FMwSi-O zA5C2M<`LtudW(sQ8tLjt_&|hA{nDjN7uGoVPa8vVK{JO)N^Sz&ryQfQh3y17rrk+v zA+iqu1nekg_jtkHT)H&+_HAq`4pT7!xKP3d1_aEl*$jxfr~D ziX}G1Eu!*Ke+h|&;tQ`{lXjJ0OiNjrUD+a=Lz8wtTTbl@dRKMDI4Q|wr8?;I#-#)qLjrY*XW;t%Jw zF=NJ%CWeKET9}(NQ{Z=Dew6$seu_3qLzz-~{LSh+6=i7e_H1+P=RrU2wQIxa5Hl^q zvHbS!_1o0Qrddg7*cv9_STIa@t;5w7SC1>bXp&c1t;vdj*LZxC#g6-ns9gHSI+f}B z3H24}S)6mnEbpQKR)m+W^2tyW6B9|s@CLvA`_@p5JGy+#2)NJr-=k%Rqc{X0+zRLV z@_qtlD0&ssxJ;51sy{_{BmJzOOMh81>P*V~%F@#B^j$DPlME3N3cm`x#~-;vI&n9$ zH2e9SKiyQj<>f!bm3?z)oIR~|hBcp&!~)@P*4(~MT1hIxqS?EGInsK%x&vn|(b2hT zOo;|(?dI+tsO>9wDzY}A`LFzLr_bWK6q@$0EBLwgfih*#M+8$K%IPU7j4q+Who)hs zCG4}YxfxeS=|{&5v?}U)G|7T&2HVUOf>EM3Rn6IvBEvC`rAjf3Z>g`tN#il=8VPYZt8>y`uh4mKcpb9 zVNBij&*SMJV=&{qf-Ap~7-i+=TD~6jU!uy|lwLHO0`Jo$v~j`^504^2uJW>P*LRxZ z&r4s3c7J7_5_2;BV|vsY#YY z6V>#hsu#NwvKqJn9}%Lds|20DR7empr|cC~RaF%$LG^Bt7X$?bq2ZrDzX_s^)=_3B zYW1KQA%-DosF}#py7jRRD4(BrpzQ(eQ2yz#U^W{z4EIUH4$$A-U0EI<;+Y`yWT8fA z+K|S??c15|tL`sSQ5llnhZlwNj{@?1gm1#KLK;SH@`swWgzDLHyvA8doQ3xyBc-SB z{?+%DMBH@IWju^IlF=@f7DC~6?OGwNTDOIPA;@AF$x>cERL%Nfb~flIn6^MwP*B{^ z<^ftWda++W8r8C1zecZAaLe~k>ueK8$9O-#@$TB{9B>?kz|xuFJ{$F4pJsJxE!?#$ zBPT3_OctF%PEHQGC%}r!8g{$)s!khUt3!u`{JhK~9FHy7eijvWL(%1ZDZ7aU2wB^; z+kJOg^{J|=Ww5$lQ#)h#&o>m==1b|Gme9)1e){r0AlJ>nz_Qxf9h){W(dI%wx#CZs zJ}uX4`0_42JKF{!g~m`#6!~+Hdf3^;lINgK*1^a#CT6rNW`M8L(!#+OSzd?^kv8iW z%uwgtPlyA$lYg5WQ7tA}!Bf(-*Mk_0C*LseWos7V8rniqzSa_S=Ejd=ps5A5kY&17lcsUCM znAeI1=jtN6)o05-baYrwUAJk#(<%D1uTF_7G?DB&?P*})&)^Cj^;-ikZrdEYX{GHr zb#E`P`!=B)kLVl;8kbwBx@?#35~adlelfJ}X5Fpa@8UbTAJgkUrj9x}%p<|ib7=kj z7|Yn5m7Xm{d(Bqp9EVWg!7`{ApKsIfUVRVD4$4A`ant1V7`+{)1{>)5ITdy{ZS@&{ zv)93=!`xDxw`y+Be7ef7U&FcIq^C8G8#}R=JZYbteXy_N>)hO!<`2SU>qqoZb2(B< z#amvEBf3iTuwgT2wmm&ggPTWvV`F=Lx>ZvN6`}5^Gco(lgjQ0XTG}@Y7B)7O**YPH z58~p&axO8XBE}*oG;}yWiRzyIgiAOcQ;RXFng(7=gV#4`zW~%f6(inlu8z)elASa+ z0c@Bp`(ePqD}U1aYYpf{)je6t9gU5dQ-ilg=rssr{Eues`rw*jUU+ZYnV_v7v7lOE zq(cQtFYpg^^R%TI^|)%NSa8qII@zO!ehDZKKwnKpIL8iWPB4@|f9$|#p79ME?bhdC zlDud4`RdWWLp3h=`iAFLX|}7qPnO%49V)V~&X#A`iug^^K&+!)yr?2{7%3Xjz4!Vm zKGkSS89db5T(v17@wQ!k`L12*DSylh&o3dc&J0&tm6JIJ&Z+!@x_cKRZzIc zjx9UEuvz4Gt>3dAu?>h2Xd7dW{I;En|BR1M3t#WTk{cx@-MjS}ViMN*XpTy9ujc;f zVoow-*WRvdVFbTEnPO%4-n|KB-oPM!XRb*ZhY5sOadEN5-ljY}wDY&51c&1!bXW_` zkfNWL!nXQyxd*o5-|Fk*>>~HKw@zEY#8Yz2)PrRv;|A$?@pUZnY7>$-O$ygYG6}pj z>A>AXD<>s=eO|p=PZ$Jq{|9s3cNZ|^{{H=+WQwGFk<5z>%V|`a?33obWAeeS_mvnj zig#;7=5pI0X{}=x#iw#C7`V|~a_9%v#dUSJX4O4^f(u=!&ZFID7j1s#W;a}HT7oZ(8^n@rQ+^76Y-x3wwupFF_?q2QG%*41Eb&lP2c`~Ae zx8T*+^KbdOn#M1EMSoNB^};5};C;}sA%?0pD*9$iMlBDyll>xa{EEL+7jHT9;;BU( zKR7#$k8ijIv`zte)#1m)uuLkZsl4{VFp%!IGKnbN6*= zSjfE3CjSfb1V`>*A=^x?6dqsLN4bl`RM?yryl~(A@UL&0DS} zY!MD&)5u^2))Ox-rth&?aWjgJL`z0{V0F4?M{8}|7YJx43W%7jLHa8cbT)KO^vRZY zdp2ChOZK;#KEgK!RVo#ipEqX?TQsr8$~1psOXxr?77|%6;3-y{_mCb}k7ddOu3gZ- z02C<;X0=pDl4b+{6A}qraniq4kI?Z_&}lsECfq!i-8YTHTKzUJcv~Q4>VJCI)ejHd zpFZ`j%Tt^J*8KK#OiSoY2*@D+15ymS z_c8wnItMB@>P!U&JAwmF$)SFw*OA!V=5F;m{NYJI&6kXCHF`F?NNMa?d@@I!Ic~RJ z^l`QqmWwPeJPK$>E&pD$KR!;3qXcxueCGjZhdrR zxN$(n7|(L+-MhWEJ`t_3?8`Y8-pMUC3n#Je40WB^3v(xny+HSJqPpYJT|rNBgo6cyu`$diYBcW&T7Mn_P0 zgnFsQ^6c(p%e7Z&c?5=MbZ=Wo$f6#SJlk01#1yt49f2`thMG z&>wttNQU{#Es+dJ!pz+}^s2h(6Zfewxa*Dy|DX|jm7!m0zsXehQA=!AT7?K}TDv-$?~T@iS1 z&p_{!Cwotv*ap^8I(Gg}yZBpZmvk?yVeXZ&Zh}Vr%gO9ea`!KI+8hy=rq|R!PFZvi zy2SZEUUz$|edfJ;8`-j_J`GZiGhJkqT%|`Y4n`dp*CK1)`v*fnHJm#JMJWp6PHZ6G ztnw5srs5U0zaEWO?jR;bk#wS`ZTFhr?)}0n%CIoHeteAhGJ| z?=E(B`aCRp(Oxz*^u&Z(lY3pJj0-f_cE{xGBK4$t(f2Y;NnD{^oF=9Y;#u^nm$vX} zE{j%<8>DXBU%o`FnjuXibu2!w75@HVg0`0e=6(6+hVw6_wY6&vHl)iWh3Av$iaEdAVIA8uS#Q?q@+N&-l)o|SOcbTK*@QXOA${26 zJUNXC%|Z+rO~X0%+E@7QE^((hxJ|}wiF|7{)xq9A z+9GFBSWa|ZXAZL+Bj^aXkd$rlz}kERe&nu*%%E_xOwm5nU!# z6JIDIw_wF(VXe|`>66BgZVl(-tU?aWgxgs#9L4u}@3x`ejI0ycb(B$CP6jDVvAn`cGnF|fSY z!sN|fhacBU{~8*kKW5yZ-e#hQGP?*PK->6N@7}~+QlVG@B3T$RSOiuCAWcm~WXg*pB^6#b{Ph%OtJDj&_Gk@odI(Ate0QO=Sd) z?YN3{dJmUj0e;~=W-J?_-0Er@YczMfYu`9$&Ywb@9y8)2I)@i^JH)XjxCMR&Zl~3Q zeT(f?0v+FVV?p=1Qe<_QX)v{{xBQO6`~78QsZ4-U1;NMeIIUwyzm{B_G{47bg!Hnq zzUR(OmsG zmv_fnv?{OIlOdDLMxUMOAFMFymZTP1>=B+tr}ibpBVEko?kIa!EL^hs;)VOPZ@yK% zIayKBf~F|baBLb9*^s;t-<}#A3Ilb-G<I(Oy6JxDFDfuU}+v^^& zsu-$qSOV;$COaexD`sCmzxK?8HVYneLq7G(zUC^-*>;xo^FUheS4kRBV9WNv}hmQub{PxoKPKSyIeb1LS1V3H3-vOCALI1A-8fW^IqWyi|ph?1e+p10}Of{ni`4npC=GdV@*Qtd)Ly?j0#j zHz4@$L7mMU)JE?WYo{}jkOxA(z6xQwoScf8E&XXM_nhb_xb4+xlO82Cl}pP%WsE}| z8EQ(!5ecpKH`;zi>ybH=&^scA=hxx+m7G<(8m8pr7)9hx+m?C#s=8=H|LBphcBjLt zh=C5}CCA(xMlnf`FG#A=u}X5PFjw#U=Vi41oa~L=H;HIy(~q%JY4$qQP27~+8+D%W zgvqWa3~`l6>j(lrk4S8`2wyJK;Jins;Nale+FFQ{=-%J$6SfPq1iD$%a9jQZl@T3T zw`$guM9dYYzlGlIXcta1v1)Xf9B59 z%1x{zdJ=5)gB{MZN28}bZ7780CWFU3CxYh6U;@`S=7r=$vw{K?_RkAyT zW<5~s3%mtkky@(sBQTyr>FEU&gPWpE_s&>DUWHs^`_AspV;2S9r4JY#kbOd8^hQxl zC03{3En%%01u6Eq1u=u8HmCRKyAnr~jDQ!EKc(9i^zK#XIkatOW`8MDxA)R_pFVwh zeyx27h-Y1<4?ExN?xy1!(~{xU);cxhaMUgI%7*J;#^~(vlaQ%$D{u4Ip^ygd+qn(B zDUc!q&)L{%lu&YZrTyhyJw4MI!Q4b&RMNM{->1PKb^TE%qp^LCcokIZn&#h$NL(~N&iZB%5xC>$M^Ery zCO6Q-Qfm89WX}BoYTkJ*S)iq%_n!C*QyaQw;&o+#0=|oX-=RB0x z8&_FVGg9U1hcTn{{2Y;O(WlF?%`Ez=7o+_*-EvR5JENzX6~|y%$IHr4En%tOPo|tF zPq01tcujw6wc%ko55T3EQ}`^02~g+9gY1bHjhJ%%fp{ktp}MT`kR%yYUkOp__Rx35 z(Jn{Z!h(hO5)&&N`7g-gf65a7|NBFG=k6189!SR-Qtl-;nuD242tWZ-wPHnXbFiFn z53SFSD4CrAG-jVryx|UcA9L;OEf}ZA8vMikFZODfVQ90tsN%HF1^&!dPgoma5OQhC zHUqtiBN_+i24wJCz#E?%n(ZzA{<+~Lv)d*~xogoLjR)ANs;tM0{qNxXsA^Lf3QUuWxM=O*z1U=|s4KbgFa#Fk4b=lP0ztGv>-?0IXP z@+OP0VfL=&umqbP+XZJtbP|u@2v$S{kJ62=u{RGkLn{uQ39?K9!0ck?l&k?uggB-R zL;8WGaIF*~GrJs>xVAZU(Dr-{^9e&37qR)%tD+IweGm|Z=sd#2C))fyY2wP-p8=lQ zfT3VlW(TIrk?-b2EgLvc(N%(^HQMDPmRVaOSBAGc-?(FyTYL3}u2boDcmlhPKWd%a znJ1qU7L;S5t2;A(-XkX*T4+Snp{u!J@OlheIVr1d+yhUbuSaS{t|BG1 zo3}m$pRfG%Ny!y}CO^U93kKe%(N@dO93+c)_~+b1-5MB+x!JS(uRnXs0}M)ha&r3e zqt0Tr?#QI}W(RI%{M2L;g7HtC5B2kDskKyGVGdI#2=`yl-Cnv(dfBqm+{L*1-i{^b z`l7jpIsq)Q8?ykmYXAP9usqTa%sOw^CEqSbby<88kGXnr;dH7$J|HMFE8X_<>*B;g zZEdU8#@Wuq!)w^Xck3pUm#uO7e06G4+qq?pQoc+5&+juT-jScZfce@{rqib7f)QO< z;^ps8_B0C#Z{uFE1`GJC&HLKO`db;$^!Vp2(H77bSMTakU46N&r5|OsX2;8I#qk$u zcpV*Sp7|8~Tph0J!I2TO6p6uT$Wor)myjrN{`O%$9@G2wdG5}=thOsNx-BMYCb+n( z1Q;2^;-6P!X%aT~0O~_p6h7Fi)Y9zI9BK7-lHCZVEMv>My10vQ*|P(yJ^{M0`2_xmme~*$wT@eI@|i{I-|0_wzv3LMwtqqJ1kup;EQ(-eO>DOh7-k!7a z+lU$DMt33_{&Js5a^P5FFx!E$J{Z zpUT#Ne!c|f`=J{pL)qpbD;Mi~eH{;{OP#v7@U_Mlxng<3PG8#X# zSovW82ijXB6unPu-ta{WN|v-bEhR-t-S%euffN+tWz!dk9z<|T&C*HD&qv5Me$m|j z{_(Stl40`m7;#J8d2wr`;fXq;kIlaPc-@$g z`bElv7O!7_)yJn`&4po{=StouwB0QpRQKMoeC^s|ryoW8eoVV`{`{veJ3l>*5gwUX zi-DeWmh6oCaX>IVZ176p8{{b&y5QlT&79%e-Kq=!APONMTN*7Y6U?oDl?gUuGHXQcyBC81RE@(D&UB)O zQZhmSfXFfk5#|t2PJ6K))BD)TX`(Bu{heRj2UJ1IMABxH9&Z(6}~}S;agjF-pu3JF(f1U z8#Y|4`3YoR(t%1 z@R;IIlMX6kt+{hYFS&5a&u_e3D+-t+ePyMP7%@9&^43>|ds2az(`U6>;DiQ(H^=5~ykSpN|>3gE3rXrIIeub$eUs(fSEcKUh{`_>Y5DZfVQ zczKQtcZp95w(U^B3PJ-a0BL; zW;_8=L73&-_;#z-F?yi*M1B_TDw4_s3IutFS(JqlZaR|> zmS9Dfl|O!-o-VwFoI~{;K3%i@=SObw&80zS6t)T7Oyw^Lkzav!n28h`TjtzWWk$(X z!fDL#VdIFkPStr6<>&D|S>g2Up_cQ(tBhCLGazv}r|%id^=3wa6bVDg8EZvGF=K{3 z#*NVO#1+BrGq6okYtz=PU(m4u^$4E`fkvVvBqLkXhvJ^Yu3M3_HS%pddjv6-jGFa2 z+M!h9zaD(C$;+~U@vmF`of_Gs&YZqz&DfIE<1f5MGFvz=(J4+rhf4BJ+*D_0=Wt_W zYzJaXoZIW=nzH0YPp9%SU?d}HkdYPd|0qt_qPd9TmHVixb?i%0M?0lgAKKZze?Q3) z>gjo2VJzx7!Rm^{=j&HtnmjyHSjbAR>(h$&KS@p=4cql>uo=B^k&YTurr6Lu1Z>Gn zQr?kyJH7h!5!w~0Wn(RK$J5nKNoc4@N$BRbI8c?DN@LJWvvpw<2!kMinzq#!-df@N z0a$`s8*}J2OxIF%a;S;QU29)45_=rJGMn%#D_!dt5&I?WdXS7PaBk=wcl+S)8|0s& zT_bIHUt8P$JxebxHr7{dmsX$wyK1atFL(q>$ZeWscLlhIO@w@m5b|PE%FCBFwzht( znmy?=R~Y#tg)lJ4+~_&8ys}aXPn0QAsLaOrUt-kO@{Z%(OA{FN49jx$dE+SUPvUV+W{ECR2WB%apPXv zt|X|JKGPLujndMg0M z9JP!AnN`;yx;NR=Te^C48kwAbxXUZssneMttWG0OY}-E2er6H4^tHfotBK zOoKYF2K%<8jy=h6raP`?q{Sv_1G}(12q;)rTRu2D-jH zjp3ojP;oypwp z(SlcY;MFD7#a`C|qmU=8^tkxlz71V%N?IR_DN@w<8to%7L-jiq zrARKjWYHqD=^#wl20FKXTM*mZ!pJB7TpC*eeNmGi&$1KYSvWlg9!0j!xp=wKTrJp3ABVd!Y;g>-6H z4b;NheizbAPRCJawq;zy4O2TPOOOT-cQ?Dm-M=p|17}9*Vk2KgfIuQy_EDHYi0N8@ z=PW@t%)yef=d|J8I}#fZ=LlNr5#IQ4Jg;AUk553v1w{NMv1JF3N2zA(O29DS01(=G z=9ur<;{fAuSb~_*{`E<}vTZ6>EC7NjJ}aCaROOZ}nL!4`{aFNHj!$R+Rv0qZlr{Qc z`K8Ws08+Z!7Jv8Yp}~2di2$iZms(}mYq2|5 zDX!H3c*nA^?OjKk|I(mH)fJ8Q@KUM2D6-d(eStpu6l|d0L14=8a{FgW9ON3ux8>-S zbyR4RqNy(5k{ut-WpWp>q#TceWR&i-vm)t0o!nf}rBoWd)sraQUJxPTsW&@shCR&O z-twvBc7{ci_t1zTT?{o0#0$O$=IB$`M9qxRpSTi=baOvU5Ez*(7ap3iXy^6JPx?8} zyc_2vwx7#Ai%X$l;0hgq`n?>v#JJ6FqQJ1itOeR93kE z(ih@TZ&s56%`H0$fB`-`QHb^| zA3wiYtR0k7Xqs2du-M2xAOv&VVBufQ*E=jh=>Vx^*8a`Y8JE4KJ=RB=e*E~6xiYzI zdiIq`xN&R=?+4pk1PR8OIe6eeqno5YF~#;uoCPyxJh008&-wERxtsUA0ni~!m?Mn+ zj4 zu$kksI~$2sn6nTEOyg{~qY@zCOFXukN@BL3b`vZzgt*mPC7uSHPz(C%K5KR~rSqOh zr?L3dAj9X03Q-bBjG(k$b=n0+h;B){ME>a1QWL`|s>^_@+?fBqT6t5|fD$$Fq19B( zz+OyWY-`&Hp2-zV-1PAF=^Edqqo*x1H2jWgtcd*vY%I9nKy2d8u=0uX zR?!x@ztJLwkw^bISw1ZBf$K#$D}|=e$7dBaD}9qt*lVK=XU~2JBF{LZPek)1XJAiSIqd6ljB#$6!S#`9|;X%|?Yr-#R_yukmQb)SCn3$)DH zv)}VJdIAku7PcFk$d*-lbf(^Hci?b#-JtL`wSU&KD4~sQE}-( zGBSd-2G0eDg}Bx45FoUm*_))HQJ9rAne{$vR$}#)<0t&c1WBi91Wt+5)A%-zbqDv~ zPj-gnkRfVV6GBRmg%L6F61^EJto*6CzHs3Bv^s)=PvY52wPzeUc#t8spKEJ}GX9z~ z1Fb>!?O~!Dy6@zJZn>=;(CPzt{r>x)@vDbWl#^hx67hJtM-Q&8?z(j)95;s1XEV%K zljD&rDCmTKSMRIi#WS4(jS2)SKMx0;)}aTWZFj5Um3~%<(Iw0;8}lXFJOfR_^8%rv z4B4B_4ByLx0nI{9`)e_0HbolYR9H?*flwD{t4?F+#`1zAt${i#DHotEql@?^MjiV} zx>r}!QdytFordlUyJ_m`1&u?(zRX@J6l&kUYoH>hkB47*>tPf@!5>{CbST}p@#ddv zT~hN)U-@~Pgx7UK&yS=I!DWoI=VwdH`89n;@`mr;C0U(@DZWfaLNw|W=e?8OqN)6QQQxT6U&^M6Wpn2C=2RU`MF2P zH}3|WT@R?#YpQZSYH_gQbeBNIVGb1VcZR zLy5$KmjMGq7|R(wSlRS?hB<}Btme-F=z8mO77Fv`p>s>oSzr{NU3x1l=~3u+#8xS1$AbNd zi;FuEH3`pv*c=_NLAr_whMzN@OfC9LS)FhqhfDV`5GoQbz(wVjAxerZ>rySS5wW(u ztsOA7CFgh=GKEF~Y&(2-=8wWXGwr|Mmi0V-{4JZz-2C&q_Qn``7M^!WW=ji5*(IBy z!i{rLpS^y<+3e_(ITkrp4bgT=Ry=X^cA<)axm6Sipaii(L_JqeL9}iHCWq(axNk;Q zx5gcMbj3Jq`vB{_zKW8)rq_+h-4GaFXwWdtL_A^bm-p|NHPVN4M?2t-ZvC>k(VnX< zcJF%I-EuM#0ZL9BaUNt2Hx4tR^ToHCPmlAV)?h?FM&2) zg_~3Ixw@xX$uVvR&8YX+JvwMAF8v1v>g4fNks=CBEW67u9!V!C>3QX!+mI$Hx~X%6 zixdKc{}L11C;z`mO8>3f!D6uW5cj{RRLJCBnooJN>U^b1C-9sqdlKQqix(khnvpJ& zl=hbw@*YURsu>}Xidcq|0NpbU-|Nsj>RJ}NZPf}nRiF`E;qZJcqcweC`T_DPc3-%s zttiX<;bQu$3?lEIy?eKO4)7F`MJAuszKsl;rEa{HIiKHv!Oy8*!1WG!)Qk}4&NNo* z7@B)Q7qzrPLH5c!UGHyNILF(;^nK@B*0Rp?RCeOs_B%Vi@UO8Za_KZ%yBq)Bt}(saco&aFJZo+h(?JbRy^J@&zASo`1+8fyz;s?u1zz^3^^a_YJnff z5?1732mYmB&z>PVQH0ts&+DS84A#@awmrN9V+uGR1hZoI6DKZFn!|+2C-qTTc~=3b zY0{+K6vl!x`!4!|M*HojbWOzL{@C&3(+MF!98jHtWR40ZR=~_Tl=?_d9S49&vo9Ie ztXo+XYtfwXE0ljDM~zD94(COdz_G^box_)zc9O{G-90_OfMe5uaemy&;m&dLt_#Vj zK~2f2`4p?}N=Dm09hR_9IDk%!Q;iCl{;2axR8N>;K&APzj8^A}4GPPdfyNLCeQF%V z*M4}Avf_LiGiu%?nH4Y9)%BgU`9#fez_42^4vyg#jx|>aA-SM4L}<$_P5_Z=VlfDW za&wX)VmijZ3T=nnD54e(tNyeESy@j2`QkhDmKT_T(ldHYg=-+jOr2^=sHyvn9u&d4 zTVex26Vccu=17MNt)3kFQ|-T-7o2`_w4dIE3F|3*x_0YBqxZ>U$4pQhISQsCBujYa zDJrHk_SsI!FRX``lhX~I)wPb1--=T^0vvzr1}xUDS|_9c>t+Kx>9M0LwR)Q z(FC0O6E{6SC7{NJp&Z#P&Ib2s#i!owCG!M-X=1^`%)`MYHCKl1 zP6JA!$Yx+;87HlFD&X9hRV4 zSao;Pi-W)QCgmNk z(n59_Eq76*vVF4vyoG_v8|A2u+{3hF$W+wU@<|L=nUca3&7-C z`;Z?SM*Fk*g=gKPM{v8Xs{~;%|Ge3Oi@v^2_2s$+kLWyXqlDxQ8>p7w!3^N*E$^C? zButxp=UA_cY*`T9QOWYwF*iGvKmCH2Jv>eFqGLc2sx&i>8$$8(Teofq?Y^f?dsi4` zd0wNhR#;AZ+ZSgX%vpT`zB5|)5}guE!n~GSwf)Qj4I(i>0$;(YDm;eM0;L8^SMRbK z!nd7h*yvnJ`kuKM8zZknE*JxY43h^6)D1hO?pOc+ShAR`2hax*XI6K^_wSD1o(=Xv zX_OXjl;1>WLH(7<{5f;-M|7k^#LZl9ozr z1=ov_*|Q$yfWKY&A21MbXk4a1Es(Lkc%gGuAN^9WVW`xbELM0@Tg^@`$Nl6TtGO`d6W&!A>y@P|`Q%FA* z00QY1wiVCQ(rSQ}G0h2o4kE&L{7S{0Q))|C!#Y(nU*fz?ESs9L;f3_S6-PL;w5l!&%!#(l zeT58zH|bP9QrM{4J+GU4J8%eqD$u^_IFqH&v*Hm}nb(iEe#h^r%<~Y3r)fcXX;O%G z!0Bl~ieNQJJ!o`Hd-J}cV(eClyTD7=*_+WxiL%-!hp?K}EwYgqsv>5^lcC_9NcZ)1 zuwj79+&}|CT?)3kxvK|f5|Hau2%FqoO0QK*yCA7-uyGv{2EMUxt_VUJEijV+Waq;pp)jHk zPcI!68gECo_KGKpO~e8(g{F><^E8+&x$*8m%XXduFfU9Huq6`6oWfk91@-O+M7R{S=a0RaSG?e@*tl>CR*0ET>47Ex@sQ-F2#bWIq(Zv%aLu(e_Uua+B}*Q`H_n_C zTJN|IfDGpqbZGCPauoUt%6du)-M^91Z*3IsiXw_jYGgLv4QL`OT4S_K`Umo7Wx z%+aGlw*#aY^XC+Fkhvm(h9~W>H4Yk;_Fo!i*vHYwrAZ)sPn{Z;zV(}sNf9cvj)BM% zPZ80r41ZHvy2)--cBo;#9l|+CLrhS0yvW_j^OHt0<=0(1%2c`EToQ)6x(iH0h}In- zn4#3f??rgu4JXD%I$iyU%C`ENQqDk;a$73mvBTA@n5O>rm4rT67D*_J4Qi0uZ z*9Nj5BL9>VMq1TEl8Qr0>H!uycHyVEJ%kdX?A6^-byl)QA))n%05lG??k8>G*S|gN z+E2)5;F3r!DF?X)JiE=B_k)883*1cz#mtBaoQ2f?*<@09G}0(NB1iKYr(Gj9y#!Gb zD%JhhyiWx+?kAcBT)S2(|GVl$Qby=})iMJq^!>>qzL@jpctQ7Nf!^WGc`d0tdB zbK=BrabFVAJ(3W<9vA z)zAL=XSTfEiwk7_sh+zy1h7+CN#v->9jDj5;M#n*85eb?sHmjBOL|t5E2`CkWAA?a zQTAVI!|pPB7xq;%y>~yiSP?&F(px8_74S%}rmj-lgd`v?CMHHBvSJNwi9+2`8$Y9u znnm;RMNTHMyEi{OJ?w`V5`P{h?L2387)mmJdGL+DnT_02Bh*~tpf`kHEO`~T0J{Ov zE4%0aWz8pL{WLilF1v8)VubU^af)iP^_7TI8u(uny`i*=C8*rB%*#%pL;_-29kWJ} z@x0coPQlGv%DrqU#{vi#mTN_}r7Q!+l>{esHmF;V&Y4nzUEcT>d#j@)6o@Lm*jn5V zgeM?rUsPNS#zwzu(Hk>ELmP~vXjUGBjFFZlluw2+YrJ&41a_|RbH>Lrdb8}_A07;V9lux!nrMG7*peSQzFs_UN@3_Pe=z?0uBZ=+ya z6J_D;gc?{4y-@)HI@kAitz&TB^{|~l#`q!()B+OfM>>hKGDyc;0h}T;b!xG7*IrJ? zLK0J!yLPv2?#Pe(aUrw{mumkJKh&PG@`p{DeVnm!oA@rFo6-GgUEI(lujV_g%+dp7k;u-{tpRv*)}oX=?k{?xd;y?#alB zNiVj}lykn#{r>X9uB9=eKEGws&SFl2E4fwpq9J4Wo^+wpvkleLyGPVtOd}*MCX(bCJKx??U@W@1W9WTH^pHru9 zqgUloxySBdAm6y*!?n(ecY6Xd_2kJDIs4C7Vb6tBfx&6FqlHomPDhmo4@P-%XnazV z&@MY|+KTJaUJB^WHf`Aw9UZ;M%Z6+SlXFZIv8%waYxQa@zve}L{rZ(IwQn6^qNt#M zQm4C&K*FtCw+<&d9y3sK4=EO@hs<t4hs4NSFxqBKRu$aUe$8oQN1WDD$dwldTgN*CalacK7dXG15ZKqb2Im- z+<_q=x985$UA2DMawc6wtulPInScS}2edMvmmJVErfnpB$ES7+BeZ z1QJTFwdPw!_-Z=0qhSHYGp7$0Fnp9p!pWHEFR)mg<``Lz7(Uz&F++R%fvnRYyj2Jy z%E~sIGCBD#*ttbs_lTsB)j}Z!Jh6}>fAUt3_{}u%o6O1(opmnPbZ3-2fB8}qq&5GR(oDg({mg{n=lCGdxqjEiJ}B>*@GI4tKWJ?52VJHHSxsk6^0gv7?$0o?9h!2bAVwSYv? zIIM{Dgt`wh6qyKQ*pk?{JVZw=h4 zsDg9pT5R()sy`3j+O1nRY{{NBoyF3LzWrriDk~K`HYTrH#VxhFOpc>EZJN)kPZI|dY$$6S9!CYs-fE<42TOKKmI@##uMXX3-4}rQ_x|{e{k-+H-SEdefxqL z=U4!A3rwG>>5TH+0~cx8yl<*yzH{gKRF27+q+FCg)JuQ}+f>MH8UA9&ES;o|9S zcGi9Sb|)qV`XK^C5iFZ6EGSVYS`O≠2R~w}Dg`6%>ODj908cHDhydJ%t$)K$m@! z!?2E!I>quMGci2QVN+HN4pTSC^T?5I{S%kmj=r%t_syGfyar~}Q3`Z=&(7b1D3w=H zZtm!{Rv}?wtKd(_{1kLB7$FyBM8>s^W@bXAS#xWoDEcpde!Z&)91PEfsu>z~&gJqU zdWc=;&ONk0La-E396Ppu1M!-Qt=pkT1qBXhfvL6coyWW^BH|0jU7v1qot-=edNqIAkZ~s}%BWbK6pMb*JB8VMz=+Ge&N`dlRvEqD>Ssie*bl5X|cL;j6y(0ESY|JqW>#u)pY8le!2yX!s^=^X$>;>G;N=6E!13#7cXv_k*PjEA~!6ja^fdJuReo}Uc`!06Vd=H?Spj6{s~DK`rY3rkH-t{NmIl1$VNX*$v?c3cN(C#lhtwy~Jl zpIqtpePqCgLC06=O;ga3s<({g8#~69UwG<$Ip)1embi}Bs2;}c9zB0K22(;1VCisN zVWto0ig0>~&(s=jFSY*gq6_=Ck6y~V+(l%Z;E`ReccbEnf)1b$rPuBU@;aGG(?!M) zVq=PGs!JZ$WK=aUS_PQx!=wD>W_v(dE_WkNb^$)02k)$$ebDynA z*@o^S)VH<1wxlm66tjny2hGG`p-i@KD=*7fTAYca7C|9E0Z{^L(I<{xtm z{eP&NEC0A;%>MR|`sl+yt#{A<>A?Jd@Qtn-g#2}LwCMW(+Y9wt6!`mSV?)J(f4hO` zPdL4+v*A=sY~&yHe#`!@btVjak*v2PaN<8d_OJUgAs}Y&Kfh46tZmxgKX3g**D?3V z%F7cU(9|g0eX$GI{)+qmmLAe)dE+3s5yN=WWvN=8QIP;3OrUAt_~g}WcYXW z*cpAd?S{L9LhkKQ{J-VT@pL}0Gd^5@vgB}vNmqQY+v1xqr~a>ZYE_1;FiYSvx_#5| zS3%dF+GbhEkthjTLbFZJ)XDx`aSFJM4LH=V$py9WL7q{s@tISL5@zMicqX+d2bf#j a9{*?5yDnG#HsKL?zoMtBpUXO@geCwPuFll} literal 0 HcmV?d00001 diff --git a/examples/desktop/src/renderer/growth-v2.js b/examples/desktop/src/renderer/growth-v2.js index c54fdc6e29..93c9a563b6 100644 --- a/examples/desktop/src/renderer/growth-v2.js +++ b/examples/desktop/src/renderer/growth-v2.js @@ -1,40 +1,47 @@ -// Growth v2 — the recompacted "harness evolution log" for researchers. +// Growth — rubric-evolution time-series view. // -//. Data source is the growth-v2 IPC → compact-window history + -// per-window rubrics/errors that tell a "prompt was rough → added rubric → -// +42% pass" evolution story. +// This page was the "compact-window evolution log" (task #140). It has been +// re-authored as a rubric-score time-series view backed by the rubric-fusion +// event log. Horizontal axis = time (day) or harness version; each series = +// one rubric-dim; y = mean-01 score (or pass-rate, toggled by the header +// chip). Filter chips: harness version / model / data mix. // -// Modes: -// - novice (default): each compact window is a single row with a summary -// + a compression ratio + the R × N / E × M sticky-note badge. Nothing -// unfolds. Reads "impressive but not overwhelming". -// - researcher: same rows, but each expands into -// · shadowed range + full summary + eval strip (42%→94%) -// · rubric list (fixture + user-written) + `+ rubric` button -// · error list (fixture + user-written) + `› error` button -// · dev-mode metadata row (model, cw id, log path) -// — mirroring the dispatch's "对话逐条 / dev-mode 级 header/请求/raw -// response" call. In the demo we don't have per-request headers wired -// to compact windows yet, so the dev-mode row surfaces what we do have. +// This makes the page answer the question "is the harness getting better or +// worse over time, and on which rubric?" — which is what researchers +// actually need to see when they look at a Growth tab. // -// Persistence: rubric/error forms POST through window.dsh.growth.v2Add*. -// The main process writes ~/.dsh/growth/{rubrics,errors}/.json and -// echoes back the persisted entry. We re-read on success so the DOM -// reflects disk instead of trusting an optimistic in-memory push. +// Data source: window.__dshRubricFusion. Seed loaded once from +// window.__dshRubricFusionSeed if not already primed by another view. 'use strict' ;(function () { const state = { - mode: 'novice', // 'novice' | 'researcher' - payload: null, // { compactWindows, installedAt, logPath, userWrites, seedNote } - expanded: new Set(), // Set — researcher-mode row expansion - form: null, // { kind:'rubric'|'error', cwId } when a form is open - loading: false, + by: 'day', // 'day' | 'version' + metric: 'mean01', // 'mean01' | 'passRate' + groupBy: 'dim', // 'dim' | 'rubric' + filters: { // active filter chip values (null = all) + harnessVersion: null, + model: null, + dataMix: null, + }, + seeded: false, } let els = null +function fusion() { + return typeof window !== 'undefined' ? window.__dshRubricFusion : null +} + +function seedOnce() { + const f = fusion() + if (!f || state.seeded) return + const seed = window.__dshRubricFusionSeed + if (seed) f.loadFixture(seed) + state.seeded = true +} + function $(id) { return document.getElementById(id) } function el(tag, cls, text) { const n = document.createElement(tag) @@ -46,445 +53,251 @@ function el(tag, cls, text) { function mount() { const pane = document.querySelector('.pane[data-pane="growth"]') if (!pane) return - // Replace the pane body wholesale — explicitly says "推倒 - // 现有 Growth 页重来". We keep the outer
    so the tab wiring - // (renderer.js:2936) still finds the pane. pane.innerHTML = '' + const header = el('header', 'header') const lead = el('div', 'header-lead') - lead.appendChild(el('div', 'page-title', 'Growth')) - const sub = el('div', 'page-sub muted') - sub.textContent = 'Compact-window history: what the runtime remembered, what it forgot, and what we taught it since.' - lead.appendChild(sub) + const title = el('div', 'page-title', 'Growth') + const chip = el('span', 'demo-tier-chip') + chip.textContent = 'demo · fusion' + chip.title = 'Time-series driven from the rubric-fusion event log (docs/rubric-fusion-fixture.json).' + title.appendChild(chip) + lead.appendChild(title) + lead.appendChild(el('div', 'page-sub muted', 'Rubric-score evolution over time. Each line is one rubric dim; toggle mean vs pass-rate, and bucket by day or by harness version.')) header.appendChild(lead) const acts = el('div', 'header-actions') - const noviceBtn = el('button', 'ghost small growth-v2-mode-chip active', 'Novice') - noviceBtn.type = 'button' - noviceBtn.dataset.mode = 'novice' - noviceBtn.title = 'One-line summary per compact window. No fold-outs.' - const researcherBtn = el('button', 'ghost small growth-v2-mode-chip', 'Researcher') - researcherBtn.type = 'button' - researcherBtn.dataset.mode = 'researcher' - researcherBtn.title = 'Expand every window to see rubrics, errors, evals, and dev-mode metadata.' - acts.append(noviceBtn, researcherBtn) + const byDay = el('button', 'ghost small growth-fusion-by-chip active', 'By day') + byDay.type = 'button'; byDay.dataset.by = 'day' + const byVersion = el('button', 'ghost small growth-fusion-by-chip', 'By version') + byVersion.type = 'button'; byVersion.dataset.by = 'version' + const mMean = el('button', 'ghost small growth-fusion-metric-chip active', 'Mean score') + mMean.type = 'button'; mMean.dataset.metric = 'mean01' + const mPass = el('button', 'ghost small growth-fusion-metric-chip', 'Pass-rate') + mPass.type = 'button'; mPass.dataset.metric = 'passRate' + acts.append(byDay, byVersion, mMean, mPass) header.appendChild(acts) pane.appendChild(header) - const body = el('section', 'growth-v2-body') - const seedNote = el('div', 'growth-v2-seed-note muted small') - seedNote.id = 'growth-v2-seed-note' - body.appendChild(seedNote) + const body = el('section', 'growth-fusion-body') - // Evolution arc — a global "42% -> 94%" summary strip at the top of the - // body. Written into `arcHost` from render() when the payload carries eval - // data; hidden otherwise so a blank page doesn't look broken. - const arcHost = el('div', 'growth-v2-arc') - arcHost.id = 'growth-v2-arc' - arcHost.hidden = true - body.appendChild(arcHost) + // Filter chip row. + const filterRow = el('div', 'growth-fusion-filter-row') + filterRow.id = 'growth-fusion-filter-row' + body.appendChild(filterRow) - const empty = el('div', 'growth-v2-empty') - empty.id = 'growth-v2-empty' + // Empty state. + const empty = el('div', 'growth-fusion-empty muted') + empty.id = 'growth-fusion-empty' + empty.textContent = 'No rubric scores yet. Once a run scores against a rubric, the curve will land here.' empty.hidden = true - empty.textContent = 'No compact windows yet. Once the runtime compacts a session, it will land here.' body.appendChild(empty) - const list = el('ol', 'growth-v2-list') - list.id = 'growth-v2-list' - body.appendChild(list) + // Chart host. + const chart = el('div', 'growth-fusion-chart') + chart.id = 'growth-fusion-chart' + body.appendChild(chart) - const formHost = el('div', 'growth-v2-form-host') - formHost.id = 'growth-v2-form-host' - formHost.hidden = true - body.appendChild(formHost) + // Legend + summary. + const legend = el('div', 'growth-fusion-legend') + legend.id = 'growth-fusion-legend' + body.appendChild(legend) pane.appendChild(body) - els = { pane, list, empty, seedNote, arcHost, formHost, noviceBtn, researcherBtn } + els = { pane, filterRow, chart, legend, empty, byDay, byVersion, mMean, mPass } - noviceBtn.addEventListener('click', () => setMode('novice')) - researcherBtn.addEventListener('click', () => setMode('researcher')) -} - -function setMode(mode) { - if (mode !== 'novice' && mode !== 'researcher') return - state.mode = mode - if (mode === 'novice') state.expanded.clear() - if (els) { - els.noviceBtn.classList.toggle('active', mode === 'novice') - els.researcherBtn.classList.toggle('active', mode === 'researcher') + for (const btn of [byDay, byVersion]) { + btn.addEventListener('click', () => { + state.by = btn.dataset.by + byDay.classList.toggle('active', state.by === 'day') + byVersion.classList.toggle('active', state.by === 'version') + render() + }) + } + for (const btn of [mMean, mPass]) { + btn.addEventListener('click', () => { + state.metric = btn.dataset.metric + mMean.classList.toggle('active', state.metric === 'mean01') + mPass.classList.toggle('active', state.metric === 'passRate') + render() + }) } - render() } async function show() { if (!els) mount() - if (state.loading) return - state.loading = true - try { - if (window.dsh && window.dsh.growth && typeof window.dsh.growth.v2Read === 'function') { - const payload = await window.dsh.growth.v2Read() - state.payload = payload - } else { - state.payload = { compactWindows: [], installedAt: null, logPath: null, userWrites: { rubrics: {}, errors: {} }, seedNote: null } - } - } finally { - state.loading = false + seedOnce() + const f = fusion() + if (f && typeof f.subscribe === 'function' && !state._subscribed) { + f.subscribe(() => { if (els) render() }) + state._subscribed = true } render() } -function projected() { - const M = window.__dshGrowthV2Model - const p = state.payload - if (!M || !p) return { compactWindows: [] } - return M.mergeAll({ compactWindows: p.compactWindows, installedAt: p.installedAt, logPath: p.logPath }, p.userWrites || {}) -} - function render() { if (!els) return - const model = window.__dshGrowthV2Model - const p = projected() - els.list.innerHTML = '' - const cws = p.compactWindows - els.empty.hidden = cws.length > 0 + const f = fusion() + if (!f) { els.empty.hidden = false; return } - if (state.payload && state.payload.seedNote) { - els.seedNote.hidden = false - els.seedNote.textContent = 'Demo data (fixture): ' + state.payload.seedNote - } else { - els.seedNote.hidden = true - els.seedNote.textContent = '' + renderFilterRow(f) + + const opts = { + by: state.by, + groupBy: state.groupBy, + filter: { + harnessVersion: state.filters.harnessVersion || undefined, + model: state.filters.model || undefined, + dataMix: state.filters.dataMix || undefined, + }, } + const data = f.timeSeriesFor(opts) + els.empty.hidden = data.xAxis.length > 0 + els.chart.innerHTML = '' + els.legend.innerHTML = '' + if (!data.xAxis.length) return - renderArc(cws) - - for (const cw of cws) { - const li = el('li', 'growth-v2-row') - li.dataset.cwId = cw.id - if (state.expanded.has(cw.id)) li.classList.add('expanded') - - // — head row: [big compression tile] [meta stack + summary] [pass-rate chip] [badges] [chevron] — - // The compression ratio is the one number that reads at a glance on a - // researcher's diary page ("28.5k tokens collapsed into 26"), so it gets - // a tile with the survival percentage large and centered. - const head = el('div', 'growth-v2-head') - - const ratio = model.compressionRatio(cw) - const tile = el('div', 'growth-v2-comp-tile') - if (ratio) { - const pct = (ratio.ratio * 100) - const big = el('div', 'growth-v2-comp-pct', pct < 0.05 ? '<0.1%' : pct.toFixed(1) + '%') - const label = el('div', 'growth-v2-comp-label muted small', 'survived') - const sub = el('div', 'growth-v2-comp-sub muted small', `${model.shortTokens(cw.shadowedTokenCount)} → ${model.shortTokens(ratio.summaryTokens)} tok`) - tile.append(big, label, sub) - } else { - tile.classList.add('empty') - } - head.appendChild(tile) - - const meta = el('div', 'growth-v2-meta') - const metaTop = el('div', 'growth-v2-meta-top') - metaTop.append( - el('div', 'growth-v2-time', model.fmtTime(cw.time)), - el('div', 'growth-v2-trigger pill', model.triggerLabel(cw.trigger || 'auto')), - el('div', 'growth-v2-range muted small', model.formatShadowedRange(cw)), - ) - meta.appendChild(metaTop) - head.appendChild(meta) - - // Pass-rate chip on the row itself (novice-visible) — echoes the arc so - // each row has its own memorable data point. Only when eval data exists. - const evalStrip = model.evalStrip(cw) - if (evalStrip) { - const chip = el('div', 'growth-v2-passrate-chip') - chip.append( - el('span', 'growth-v2-passrate-num', evalStrip.improvedTo), - el('span', 'growth-v2-passrate-label muted small', 'pass'), - ) - chip.title = `${evalStrip.name}: ${evalStrip.pass} / ${evalStrip.total} passed` - head.appendChild(chip) - } else { - head.appendChild(el('div', 'growth-v2-passrate-chip empty')) - } - - const counts = model.badgeCounts(cw) - const badge = el('div', 'growth-v2-badge pill', `R×${counts.rubrics} · E×${counts.errors}`) - badge.title = `${counts.rubrics} rubric(s), ${counts.errors} error(s) captured for this window` - if (counts.rubrics === 0 && counts.errors === 0) badge.classList.add('muted') - head.appendChild(badge) - - // Novice mode gets a click on the row itself — a subtle expand chevron - // stays visible so it doesn't look inert. - const chevron = el('button', 'ghost icon-btn growth-v2-chevron', state.expanded.has(cw.id) ? '−' : '+') - chevron.type = 'button' - chevron.title = state.expanded.has(cw.id) ? 'Collapse' : 'Expand' - chevron.addEventListener('click', (e) => { - e.stopPropagation() - if (state.expanded.has(cw.id)) state.expanded.delete(cw.id) - else state.expanded.add(cw.id) - render() - }) - head.appendChild(chevron) - li.appendChild(head) - - // — one-line summary (both modes) — - const summary = el('div', 'growth-v2-summary', cw.summary || '') - li.appendChild(summary) - - // — expanded body: eval strip + rubric list + error list + dev-mode — - if (state.expanded.has(cw.id)) { - const body = el('div', 'growth-v2-expanded') - - const evalStrip = model.evalStrip(cw) - if (evalStrip) { - const es = el('div', 'growth-v2-eval') - es.append( - el('div', 'growth-v2-eval-name', evalStrip.name), - el('div', 'growth-v2-eval-arc', `${evalStrip.improvedFrom || '—'} → ${evalStrip.improvedTo}`), - el('div', 'growth-v2-eval-count muted small', `${evalStrip.pass} / ${evalStrip.total} passed`), - ) - body.appendChild(es) - } - - body.appendChild(renderCollection('Rubrics', 'rubric', cw)) - body.appendChild(renderCollection('Errors', 'error', cw)) - - const devRow = el('div', 'growth-v2-devrow muted small') - devRow.append( - span(`cw id: ${cw.id}`), - span(`model: ${cw.model || '?'}`), - span(`store: ${state.payload && state.payload.logPath || '~/.dsh/growth/'}`), - ) - body.appendChild(devRow) - - li.appendChild(body) - } - - els.list.appendChild(li) - } + renderChart(data) + renderLegend(data) } -function span(txt) { - const s = document.createElement('span') - s.className = 'growth-v2-dev-span' - s.textContent = txt - return s +function renderFilterRow(f) { + els.filterRow.innerHTML = '' + const events = f.listEvents({}) + const versions = new Set(), models = new Set(), mixes = new Set() + for (const e of events) { + if (e.harnessVersion) versions.add(e.harnessVersion) + if (e.model) models.add(e.model) + if (e.dataMix) mixes.add(e.dataMix) + } + els.filterRow.appendChild(makeFilterGroup('Harness', 'harnessVersion', Array.from(versions).sort())) + els.filterRow.appendChild(makeFilterGroup('Model', 'model', Array.from(models).sort())) + els.filterRow.appendChild(makeFilterGroup('Data mix', 'dataMix', Array.from(mixes).sort())) } -// Evolution arc — one SVG polyline across the current window list, plotting -// each window's pass rate on a normalized 0..100 y-axis. Windows without eval -// data still contribute an x-slot but render as a hollow marker; that way the -// arc reads as "we had three compacts, only the last two have an eval, and -// look how it climbed". Skipped entirely when zero windows carry eval data. -function renderArc(cws) { - if (!els || !els.arcHost) return - const model = window.__dshGrowthV2Model - const points = cws.map((cw) => { - const ev = model.evalStrip(cw) - return { - cwId: cw.id, - time: cw.time, - rate: ev ? ev.rate : null, - prevRate: ev ? ev.prevRate : null, - label: ev ? ev.improvedTo : null, - } - }) - const hasEval = points.some((p) => p.rate != null || p.prevRate != null) - if (!hasEval || points.length === 0) { - els.arcHost.hidden = true - els.arcHost.innerHTML = '' - return +function makeFilterGroup(label, key, values) { + const group = el('div', 'growth-fusion-filter-group') + group.appendChild(el('span', 'growth-fusion-filter-label muted small', label)) + const allBtn = el('button', 'ghost small growth-fusion-filter-chip' + (state.filters[key] == null ? ' active' : ''), 'all') + allBtn.type = 'button' + allBtn.addEventListener('click', () => { state.filters[key] = null; render() }) + group.appendChild(allBtn) + for (const v of values) { + const b = el('button', 'ghost small growth-fusion-filter-chip' + (state.filters[key] === v ? ' active' : ''), v) + b.type = 'button' + b.addEventListener('click', () => { state.filters[key] = v; render() }) + group.appendChild(b) } + return group +} - // Seed the plot with the earliest prevRate so a single-eval fixture still - // draws the "from -> to" jump instead of a flat dot. - const first = points.find((p) => p.rate != null) - const seedRate = first && first.prevRate != null ? first.prevRate : (first ? first.rate : 0) - const plot = [] - if (first && first.prevRate != null) plot.push({ x: 0, rate: seedRate, label: first.prevRate != null ? Math.round(first.prevRate * 100) + '%' : null, seed: true }) - for (const p of points) { - plot.push({ x: plot.length, rate: p.rate != null ? p.rate : null, label: p.label, cwId: p.cwId }) - } - - const W = 640 - const H = 72 - const padX = 24 - const padY = 12 - const stepX = plot.length > 1 ? (W - padX * 2) / (plot.length - 1) : 0 - const yFor = (r) => H - padY - (r != null ? r : 0) * (H - padY * 2) - +// Line-chart SVG. X is index into xAxis (equal spacing); Y is metric on 0-1 +// scale (pass-rate) or normalized mean-01 (same 0-1 range so a single Y +// axis reads both metrics). +function renderChart(data) { + const W = 720 + const H = 240 + const padL = 40, padR = 24, padT = 16, padB = 40 const svgNS = 'http://www.w3.org/2000/svg' const svg = document.createElementNS(svgNS, 'svg') svg.setAttribute('viewBox', `0 0 ${W} ${H}`) - svg.setAttribute('class', 'growth-v2-arc-svg') + svg.setAttribute('class', 'growth-fusion-chart-svg') svg.setAttribute('role', 'img') - svg.setAttribute('aria-label', `Pass-rate evolution across ${cws.length} compact windows`) + svg.setAttribute('aria-label', `Rubric score evolution over ${data.xAxis.length} ${state.by === 'day' ? 'days' : 'versions'}`) - // Baseline (0%) + top-of-scale (100%) reference lines. - for (const [y, cls] of [[yFor(0), 'baseline'], [yFor(1), 'ceiling']]) { + const xCount = data.xAxis.length + const xStep = xCount > 1 ? (W - padL - padR) / (xCount - 1) : 0 + const xFor = (i) => padL + i * xStep + const yFor = (v) => padT + (1 - v) * (H - padT - padB) + + // gridlines at 0/0.5/1 + for (const [v, label] of [[0, '0'], [0.5, '0.5'], [1, '1']]) { + const y = yFor(v) const ln = document.createElementNS(svgNS, 'line') - ln.setAttribute('x1', padX); ln.setAttribute('x2', W - padX) + ln.setAttribute('x1', padL); ln.setAttribute('x2', W - padR) ln.setAttribute('y1', y); ln.setAttribute('y2', y) - ln.setAttribute('class', 'growth-v2-arc-ref-' + cls) + ln.setAttribute('class', 'growth-fusion-grid') svg.appendChild(ln) + const t = document.createElementNS(svgNS, 'text') + t.setAttribute('x', padL - 6); t.setAttribute('y', y + 4) + t.setAttribute('text-anchor', 'end') + t.setAttribute('class', 'growth-fusion-axis-tick') + t.textContent = label + svg.appendChild(t) } - const known = plot.map((p, i) => ({ ...p, i })).filter((p) => p.rate != null) - if (known.length >= 2) { - const poly = document.createElementNS(svgNS, 'polyline') - poly.setAttribute('points', known.map((p) => `${padX + p.i * stepX},${yFor(p.rate)}`).join(' ')) - poly.setAttribute('class', 'growth-v2-arc-line') - svg.appendChild(poly) + // x-axis labels (subsample if > 8) + const maxLabels = 8 + const stride = Math.max(1, Math.ceil(xCount / maxLabels)) + for (let i = 0; i < xCount; i++) { + if (i % stride !== 0 && i !== xCount - 1) continue + const t = document.createElementNS(svgNS, 'text') + t.setAttribute('x', xFor(i)); t.setAttribute('y', H - padB + 16) + t.setAttribute('text-anchor', 'middle') + t.setAttribute('class', 'growth-fusion-axis-tick') + t.textContent = data.xAxis[i] + svg.appendChild(t) } - for (const p of plot) { - if (p.rate == null) continue - const cx = padX + p.x * stepX - const cy = yFor(p.rate) - const dot = document.createElementNS(svgNS, 'circle') - dot.setAttribute('cx', cx); dot.setAttribute('cy', cy); dot.setAttribute('r', p.seed ? 3.5 : 5) - dot.setAttribute('class', p.seed ? 'growth-v2-arc-dot seed' : 'growth-v2-arc-dot') - svg.appendChild(dot) - if (p.label) { - const tx = document.createElementNS(svgNS, 'text') - tx.setAttribute('x', cx) - tx.setAttribute('y', cy - 8) - tx.setAttribute('text-anchor', 'middle') - tx.setAttribute('class', 'growth-v2-arc-label' + (p.seed ? ' seed' : '')) - tx.textContent = p.label - svg.appendChild(tx) + // series + const palette = [ + 'var(--dsh-viz-1, #7a5af8)', + 'var(--dsh-viz-2, #ffb347)', + 'var(--dsh-viz-3, #79d17b)', + 'var(--dsh-viz-4, #f96e6e)', + 'var(--dsh-viz-5, #71c9ce)', + 'var(--dsh-viz-6, #e0aaff)', + 'var(--dsh-viz-7, #c0c0c0)', + 'var(--dsh-viz-8, #ffd166)', + ] + data._colors = {} + data.series.forEach((series, si) => { + const color = palette[si % palette.length] + data._colors[series.key] = color + // Map series points (sparse — some buckets missing) to indices on xAxis + const pointIdx = series.points.map(p => ({ x: data.xAxis.indexOf(p.x), v: state.metric === 'passRate' ? p.passRate : p.mean01 })) + .filter(p => p.x >= 0 && p.v != null) + if (pointIdx.length >= 2) { + const poly = document.createElementNS(svgNS, 'polyline') + poly.setAttribute('points', pointIdx.map(p => `${xFor(p.x)},${yFor(p.v)}`).join(' ')) + poly.setAttribute('fill', 'none') + poly.setAttribute('stroke', color) + poly.setAttribute('stroke-width', '2') + poly.setAttribute('class', 'growth-fusion-line') + svg.appendChild(poly) } - } - - const caption = el('div', 'growth-v2-arc-caption muted small', `Pass-rate evolution · ${cws.length} compact window${cws.length === 1 ? '' : 's'}`) - - els.arcHost.hidden = false - els.arcHost.innerHTML = '' - els.arcHost.appendChild(svg) - els.arcHost.appendChild(caption) -} - -function renderCollection(label, kind, cw) { - const box = el('div', `growth-v2-collection growth-v2-collection-${kind}`) - const head = el('div', 'growth-v2-collection-head') - head.appendChild(el('h4', 'growth-v2-collection-title', label)) - const add = el('button', 'ghost small growth-v2-add', kind === 'rubric' ? '+ rubric' : '› error') - add.type = 'button' - add.title = kind === 'rubric' - ? 'Capture a rubric assertion for this compact window (writes ~/.dsh/growth/rubrics/…)' - : 'Flag an error case for this compact window (writes ~/.dsh/growth/errors/…)' - add.addEventListener('click', (e) => { e.stopPropagation(); openForm(kind, cw.id) }) - head.appendChild(add) - box.appendChild(head) - - const items = kind === 'rubric' ? cw.rubrics : cw.errors - if (!items || !items.length) { - box.appendChild(el('div', 'growth-v2-collection-empty muted small', kind === 'rubric' ? 'No rubrics yet.' : 'No errors flagged yet.')) - } else { - const ul = el('ul', 'growth-v2-collection-list') - for (const it of items) { - const li = el('li', 'growth-v2-collection-item') - if (kind === 'rubric') { - li.appendChild(el('div', 'growth-v2-item-primary', it.assertion || '')) - if (it.expected) li.appendChild(el('div', 'growth-v2-item-secondary muted small', `expected: ${it.expected}`)) - if (it.tag) li.appendChild(el('div', 'growth-v2-item-tag pill muted small', it.tag)) - } else { - li.appendChild(el('div', 'growth-v2-item-primary', it.text || '')) - if (it.cause) li.appendChild(el('div', 'growth-v2-item-secondary muted small', `cause: ${it.cause}`)) - if (it.todo) li.appendChild(el('div', 'growth-v2-item-tag pill muted small', `todo: ${it.todo}`)) - } - ul.appendChild(li) + for (const p of pointIdx) { + const c = document.createElementNS(svgNS, 'circle') + c.setAttribute('cx', xFor(p.x)) + c.setAttribute('cy', yFor(p.v)) + c.setAttribute('r', '3.5') + c.setAttribute('fill', color) + c.setAttribute('class', 'growth-fusion-dot') + svg.appendChild(c) } - box.appendChild(ul) - } - return box -} - -function openForm(kind, cwId) { - state.form = { kind, cwId } - const host = els.formHost - host.hidden = false - host.innerHTML = '' - const wrap = el('form', `growth-v2-form growth-v2-form-${kind}`) - wrap.appendChild(el('h4', 'growth-v2-form-title', kind === 'rubric' ? `+ rubric for ${cwId}` : `› error for ${cwId}`)) - - const fields = kind === 'rubric' - ? [ - { name: 'assertion', label: 'Assertion (natural language, required)', type: 'textarea' }, - { name: 'expected', label: 'Expected value / behavior', type: 'text' }, - { name: 'tag', label: 'Tag (optional)', type: 'text' }, - ] - : [ - { name: 'text', label: 'Error description (required)', type: 'textarea' }, - { name: 'cause', label: 'Suspected root cause', type: 'text' }, - { name: 'todo', label: 'Todo (optional)', type: 'text' }, - ] - - for (const f of fields) { - const row = el('label', 'growth-v2-form-row') - row.appendChild(el('span', 'growth-v2-form-label small', f.label)) - const input = document.createElement(f.type === 'textarea' ? 'textarea' : 'input') - input.name = f.name - if (f.type === 'text') input.type = 'text' - row.appendChild(input) - wrap.appendChild(row) - } - - const actions = el('div', 'growth-v2-form-actions') - const submit = el('button', 'primary small', 'Save') - submit.type = 'submit' - const cancel = el('button', 'ghost small', 'Cancel') - cancel.type = 'button' - cancel.addEventListener('click', closeForm) - actions.append(submit, cancel) - wrap.appendChild(actions) - - const errRow = el('div', 'growth-v2-form-error muted small') - errRow.hidden = true - wrap.appendChild(errRow) - - wrap.addEventListener('submit', async (ev) => { - ev.preventDefault() - errRow.hidden = true - const form = {} - for (const f of fields) { - const input = wrap.querySelector(`[name="${f.name}"]`) - form[f.name] = input ? String(input.value || '').trim() : '' - } - const method = kind === 'rubric' ? 'v2AddRubric' : 'v2AddError' - if (!(window.dsh && window.dsh.growth && typeof window.dsh.growth[method] === 'function')) { - errRow.hidden = false - errRow.textContent = 'IPC unavailable. Growth v2 needs the preload wire.' - return - } - const res = await window.dsh.growth[method](cwId, form) - if (!res || !res.ok) { - errRow.hidden = false - errRow.textContent = (res && res.reason === 'assertion-required') ? 'Assertion cannot be blank.' - : (res && res.reason === 'text-required') ? 'Error description cannot be blank.' - : 'Save failed.' - return - } - closeForm() - await show() }) - host.appendChild(wrap) - const first = wrap.querySelector('textarea, input[type="text"]') - if (first) first.focus() + els.chart.appendChild(svg) } -function closeForm() { - state.form = null - if (els && els.formHost) { - els.formHost.hidden = true - els.formHost.innerHTML = '' +function renderLegend(data) { + const wrap = el('div', 'growth-fusion-legend-wrap') + for (const series of data.series) { + const color = (data._colors || {})[series.key] || '#7a5af8' + const item = el('div', 'growth-fusion-legend-item') + const swatch = el('span', 'growth-fusion-legend-swatch') + swatch.style.background = color + item.appendChild(swatch) + item.appendChild(el('span', 'growth-fusion-legend-label small', series.label)) + const nPoints = series.points.length + item.appendChild(el('span', 'muted tiny', ` · ${nPoints} pt${nPoints === 1 ? '' : 's'}`)) + wrap.appendChild(item) } + els.legend.appendChild(wrap) } -const api = { mount, show, render, setMode, _state: state } -window.__dshGrowthV2 = api +const api = { mount, show, render, _state: state } +if (typeof window !== 'undefined') window.__dshGrowthV2 = api })() diff --git a/examples/desktop/src/renderer/index.html b/examples/desktop/src/renderer/index.html index 8026af5523..efbff9e0f4 100644 --- a/examples/desktop/src/renderer/index.html +++ b/examples/desktop/src/renderer/index.html @@ -1402,6 +1402,13 @@ (inlined fixture blobs), then the page renderers. --> + + + diff --git a/examples/desktop/src/renderer/rubric-fusion-model.js b/examples/desktop/src/renderer/rubric-fusion-model.js new file mode 100644 index 0000000000..fedcd7f5cd --- /dev/null +++ b/examples/desktop/src/renderer/rubric-fusion-model.js @@ -0,0 +1,419 @@ +// Rubric fusion model — a single event-log store that Rubrics, Growth, and +// Runtime pages all subscribe to. Sits above rubrics-model.js (rubric +// definitions / dim specs) and annotation-model.js (per-session records) +// and exposes derived views so each page reads what it needs without +// re-deriving from raw sessions. +// +// Shape lock: +// +// rubricDef = { +// id, name, group?, description?, +// dims: [ normalizedDimSpec ] // continuous | categorical | boolean +// } +// +// scoreEvent = { +// ts, // ms epoch +// rubricId, // key into the def registry +// dimId, // one of def.dims[*].id +// sessionId, // the session that produced this score +// turnId, // opaque turn identifier — grounds +// // back to a trace step +// rolloutIdx?, // 1..N when multiple rollouts of the +// // same session/turn are scored +// score, // dim-typed value (number for continuous, +// // enum string for categorical, bool) +// passed, // derived pass/fail (green/red) +// harnessVersion?, model?, dataMix? // filter dimensions for Growth +// } +// +// similarSessionsClass = { +// id, // 'similar-svg-gen', etc +// signature, // heuristic tag: prompt-shape / tool-usage +// count, +// sessionIds: [ ... ], +// promptSummary // one-line hint used to prefill the form +// } +// +// The store is a plain in-memory object; a subscribe() callback is fired on +// every mutation so views can re-render. Fixture data is loaded via +// loadFixture(json) — no disk I/O in the model layer. +// +// All derived views (recentScoresFor / timeSeriesFor / rolloutGridFor / +// detectSimilarSessions) are pure over the current state, so tests can +// snapshot them without a DOM. + +'use strict' +;(function () { + +const R = (typeof window !== 'undefined' && window.__dshRubricsModel) + ? window.__dshRubricsModel + : (typeof require === 'function' ? require('./rubrics-model.js') : null) + +// Default pass threshold when the caller doesn't specify one — anything +// >= 0.5 on the [0,1] normalization is green. Booleans use their literal +// value; categoricals use "not the lowest value". +const DEFAULT_PASS_THRESHOLD = 0.5 + +function createStore() { + const state = { + rubrics: new Map(), // id -> rubricDef + events: [], // scoreEvent[] + similarClasses: [], // similarSessionsClass[] + subscribers: new Set(), + } + + function notify() { + for (const cb of state.subscribers) { + try { cb() } catch (_) { /* subscriber errors don't cascade */ } + } + } + + function subscribe(cb) { + if (typeof cb !== 'function') return () => {} + state.subscribers.add(cb) + return () => state.subscribers.delete(cb) + } + + // Register (or replace) a rubric definition. Missing/invalid dims drop. + function registerRubric(def) { + if (!def || typeof def !== 'object' || !def.id) return null + const normalized = { + id: String(def.id), + name: String(def.name || def.id), + group: def.group || null, + description: def.description || '', + dims: [], + } + const rawDims = Array.isArray(def.dims) ? def.dims : [] + for (const d of rawDims) { + const spec = R && R.normalizeDimSpec ? R.normalizeDimSpec(d) : d + if (spec) normalized.dims.push(spec) + } + state.rubrics.set(normalized.id, normalized) + notify() + return normalized + } + + function listRubrics() { + return Array.from(state.rubrics.values()) + } + + function getRubric(id) { + return state.rubrics.get(String(id || '')) || null + } + + // Derive pass/fail for a score, given a dim spec. Contract: + // continuous: normalize(score) >= threshold + // categorical: score !== spec.values[0] (lowest ordinal) + // boolean: score === true (or maps to the "positive" label) + function computePassed(spec, score, threshold) { + if (!spec || score == null) return false + const t = Number.isFinite(threshold) ? threshold : DEFAULT_PASS_THRESHOLD + if (spec.type === 'boolean') return score === true || score === 'true' + if (spec.type === 'categorical') { + if (!Array.isArray(spec.values) || !spec.values.length) return false + // Lowest-value = fail; anything else = pass. + return String(score) !== String(spec.values[0]) + } + // continuous + if (R && R.normalizeReward) { + const n = R.normalizeReward(spec, score) + return n != null && n >= t + } + const num = Number(score) + const span = spec.max - spec.min + if (!Number.isFinite(num) || span <= 0) return false + return ((num - spec.min) / span) >= t + } + + // Add a raw score event. `passed` is auto-derived if omitted. + function addEvent(raw) { + if (!raw || typeof raw !== 'object') return null + const rubric = state.rubrics.get(String(raw.rubricId || '')) + if (!rubric) return null + const spec = rubric.dims.find(d => d.id === raw.dimId) + if (!spec) return null + const ts = Number(raw.ts) || Date.now() + const evt = { + ts, + rubricId: rubric.id, + dimId: spec.id, + sessionId: String(raw.sessionId || ''), + turnId: String(raw.turnId || ''), + rolloutIdx: Number.isFinite(Number(raw.rolloutIdx)) ? Number(raw.rolloutIdx) : null, + score: raw.score, + passed: raw.passed != null ? !!raw.passed : computePassed(spec, raw.score, raw.threshold), + harnessVersion: raw.harnessVersion || null, + model: raw.model || null, + dataMix: raw.dataMix || null, + } + state.events.push(evt) + notify() + return evt + } + + // Bulk load from a fixture JSON blob. Shape: + // { rubrics: [rubricDef], events: [scoreEvent], similarClasses: [class] } + function loadFixture(json) { + if (!json || typeof json !== 'object') return { rubrics: 0, events: 0 } + let rn = 0, en = 0 + for (const r of json.rubrics || []) { if (registerRubric(r)) rn++ } + for (const e of json.events || []) { if (addEvent(e)) en++ } + state.similarClasses = Array.isArray(json.similarClasses) ? json.similarClasses.slice() : [] + notify() + return { rubrics: rn, events: en } + } + + function clearAll() { + state.rubrics.clear() + state.events.length = 0 + state.similarClasses.length = 0 + notify() + } + + // ---------- filters ---------- + + function eventsMatching(filter) { + if (!filter || typeof filter !== 'object') return state.events.slice() + return state.events.filter(e => { + if (filter.rubricId && e.rubricId !== filter.rubricId) return false + if (filter.dimId && e.dimId !== filter.dimId) return false + if (filter.sessionId && e.sessionId !== filter.sessionId) return false + if (filter.since != null && e.ts < filter.since) return false + if (filter.until != null && e.ts > filter.until) return false + if (filter.harnessVersion && e.harnessVersion !== filter.harnessVersion) return false + if (filter.model && e.model !== filter.model) return false + if (filter.dataMix && e.dataMix !== filter.dataMix) return false + return true + }) + } + + function listEvents(filter) { + return eventsMatching(filter) + } + + // ---------- Rubrics-view derivation: recent scores stats ---------- + + // { total, passRate, meanScore01, byDim: { dimId -> {n, passRate, mean01} }, + // latest: [event...] (N most recent) }. + function recentScoresFor(rubricId, N = 20) { + const rubric = state.rubrics.get(String(rubricId || '')) + if (!rubric) return { total: 0, passRate: 0, meanScore01: 0, byDim: {}, latest: [] } + const all = eventsMatching({ rubricId: rubric.id }) + const total = all.length + let passed = 0 + let mean01Sum = 0 + let mean01Count = 0 + const byDim = {} + for (const d of rubric.dims) byDim[d.id] = { n: 0, passed: 0, sum01: 0, count01: 0 } + for (const e of all) { + if (e.passed) passed++ + const spec = rubric.dims.find(d => d.id === e.dimId) + const norm = spec && R && R.normalizeReward ? R.normalizeReward(spec, e.score) : null + if (norm != null) { mean01Sum += norm; mean01Count++ } + const bucket = byDim[e.dimId] + if (bucket) { + bucket.n++ + if (e.passed) bucket.passed++ + if (norm != null) { bucket.sum01 += norm; bucket.count01++ } + } + } + // Reshape byDim to final form. + const byDimOut = {} + for (const [id, b] of Object.entries(byDim)) { + byDimOut[id] = { + n: b.n, + passRate: b.n ? Math.round((b.passed / b.n) * 1000) / 1000 : 0, + mean01: b.count01 ? Math.round((b.sum01 / b.count01) * 1000) / 1000 : 0, + } + } + const latest = all.slice().sort((a, b) => b.ts - a.ts).slice(0, N) + return { + total, + passRate: total ? Math.round((passed / total) * 1000) / 1000 : 0, + meanScore01: mean01Count ? Math.round((mean01Sum / mean01Count) * 1000) / 1000 : 0, + byDim: byDimOut, + latest, + } + } + + // ---------- Growth-view derivation: time-series curves ---------- + + // Group events by { bucketKey, seriesKey } → { pass, total, sum01, cnt01 }. + // bucketKey is derived from `by`: 'day' (YYYY-MM-DD in UTC), 'version' + // (harnessVersion), or 'model' (model id). seriesKey is per-dim by default; + // callers can override with `groupBy: 'rubric' | 'dim' | 'model' | 'version'`. + // + // Returns { xAxis: [bucketKey], series: [{ key, label, points: [{x, passRate, mean01, n}] }] } + function timeSeriesFor(opts) { + opts = opts || {} + const by = opts.by || 'day' + const groupBy = opts.groupBy || 'dim' + const filter = opts.filter || {} + const filtered = eventsMatching(filter) + if (!filtered.length) return { xAxis: [], series: [] } + const bucketFn = pickBucketFn(by) + const seriesFn = pickSeriesFn(groupBy) + const rubricsById = state.rubrics + + // buckets: Map> + const buckets = new Map() + const bucketOrder = [] + for (const e of filtered) { + const bk = bucketFn(e) + if (!bk) continue + let byBucket = buckets.get(bk) + if (!byBucket) { byBucket = new Map(); buckets.set(bk, byBucket); bucketOrder.push(bk) } + const sk = seriesFn(e, rubricsById) + if (!sk) continue + let acc = byBucket.get(sk) + if (!acc) { acc = { pass: 0, total: 0, sum01: 0, cnt01: 0 }; byBucket.set(sk, acc) } + acc.total++ + if (e.passed) acc.pass++ + const rubric = rubricsById.get(e.rubricId) + const spec = rubric && rubric.dims.find(d => d.id === e.dimId) + const norm = spec && R && R.normalizeReward ? R.normalizeReward(spec, e.score) : null + if (norm != null) { acc.sum01 += norm; acc.cnt01++ } + } + bucketOrder.sort() + + // Flatten to series-major shape. + const seriesKeys = new Set() + for (const byBucket of buckets.values()) for (const k of byBucket.keys()) seriesKeys.add(k) + const series = [] + for (const key of Array.from(seriesKeys).sort()) { + const points = [] + for (const bk of bucketOrder) { + const acc = buckets.get(bk).get(key) + if (!acc) continue + points.push({ + x: bk, + passRate: acc.total ? Math.round((acc.pass / acc.total) * 1000) / 1000 : 0, + mean01: acc.cnt01 ? Math.round((acc.sum01 / acc.cnt01) * 1000) / 1000 : 0, + n: acc.total, + }) + } + series.push({ key, label: seriesLabel(key, groupBy, rubricsById), points }) + } + return { xAxis: bucketOrder, series } + } + + function pickBucketFn(by) { + if (by === 'version') return e => e.harnessVersion || 'unknown' + if (by === 'model') return e => e.model || 'unknown' + // default: day + return e => { + const d = new Date(e.ts || 0) + if (!Number.isFinite(d.getTime())) return null + const y = d.getUTCFullYear() + const m = String(d.getUTCMonth() + 1).padStart(2, '0') + const day = String(d.getUTCDate()).padStart(2, '0') + return `${y}-${m}-${day}` + } + } + + function pickSeriesFn(groupBy) { + if (groupBy === 'rubric') return e => e.rubricId + if (groupBy === 'model') return e => e.model || 'unknown' + if (groupBy === 'version') return e => e.harnessVersion || 'unknown' + // dim (default) — composite so different rubrics with same dim id stay separate + return e => `${e.rubricId}::${e.dimId}` + } + + function seriesLabel(key, groupBy, rubricsById) { + if (groupBy === 'dim') { + const [rid, did] = String(key).split('::') + const rubric = rubricsById.get(rid) + if (!rubric) return key + const spec = rubric.dims.find(d => d.id === did) + return spec ? `${rubric.name} · ${spec.label}` : `${rubric.name} · ${did}` + } + if (groupBy === 'rubric') { + const rubric = rubricsById.get(String(key)) + return rubric ? rubric.name : String(key) + } + return String(key) + } + + // ---------- Runtime-view derivation: rollout grid ---------- + + // Build a rubric x rollout matrix for a session. If sessionId is null, use + // the whole event corpus (Runtime "live" view — every session's most + // recent rollout). + // + // Returns { rubric, dims: [{id, label}], rollouts: [1..N], + // cells: [{dimId, rolloutIdx, sessionId, turnId, passed, score, ts}] } + function rolloutGridFor(rubricId, sessionId) { + const rubric = state.rubrics.get(String(rubricId || '')) + if (!rubric) return { rubric: null, dims: [], rollouts: [], cells: [] } + const filter = { rubricId: rubric.id } + if (sessionId) filter.sessionId = String(sessionId) + const all = eventsMatching(filter) + const rolloutSet = new Set() + for (const e of all) if (e.rolloutIdx != null) rolloutSet.add(e.rolloutIdx) + const rollouts = Array.from(rolloutSet).sort((a, b) => a - b) + const dims = rubric.dims.map(d => ({ id: d.id, label: d.label, type: d.type })) + const cells = [] + for (const dim of dims) { + for (const r of rollouts) { + // If multiple events for (dim, rollout), take the most recent. + let latest = null + for (const e of all) { + if (e.dimId !== dim.id) continue + if (e.rolloutIdx !== r) continue + if (!latest || e.ts > latest.ts) latest = e + } + cells.push({ + dimId: dim.id, + rolloutIdx: r, + sessionId: latest ? latest.sessionId : null, + turnId: latest ? latest.turnId : null, + passed: latest ? latest.passed : null, + score: latest ? latest.score : null, + ts: latest ? latest.ts : null, + }) + } + } + return { rubric, dims, rollouts, cells } + } + + // ---------- Hint card: similar-session detection ---------- + + // Returns the fixture-provided similarClasses for now (TODO: real + // signature heuristic once the shell has session-index access). Filters to + // classes with count >= minCount so the hint doesn't fire on singletons. + function detectSimilarSessions(opts) { + opts = opts || {} + const minCount = Number.isFinite(opts.minCount) ? opts.minCount : 3 + return state.similarClasses.filter(c => c && Number(c.count) >= minCount).slice() + } + + return { + subscribe, + registerRubric, + getRubric, + listRubrics, + addEvent, + loadFixture, + listEvents, + clearAll, + recentScoresFor, + timeSeriesFor, + rolloutGridFor, + detectSimilarSessions, + computePassed, + _state: state, // test hook + } +} + +const singleton = createStore() + +const api = { + create: createStore, + ...singleton, +} + +if (typeof module !== 'undefined' && module.exports) module.exports = api +if (typeof window !== 'undefined') window.__dshRubricFusion = api + +})() diff --git a/examples/desktop/src/renderer/rubric-fusion-seed.js b/examples/desktop/src/renderer/rubric-fusion-seed.js new file mode 100644 index 0000000000..66747304b2 --- /dev/null +++ b/examples/desktop/src/renderer/rubric-fusion-seed.js @@ -0,0 +1,624 @@ +'use strict' +;(function () { + if (typeof window === 'undefined') return + window.__dshRubricFusionSeed = { + "_note": "Rubric fusion fixture — feeds Rubrics/Growth/Runtime demo. All demo-tier data.", + "rubrics": [ + { + "id": "svg-gen", + "name": "SVG generation", + "group": "interaction-reasoning", + "description": "Iterative SVG editing over 3-5 turns. Judged for shape correctness, style consistency, and no-regression.", + "dims": [ + { + "id": "shape-correct", + "label": "Shape correctness", + "type": "continuous", + "min": 0, + "max": 1 + }, + { + "id": "style-consistent", + "label": "Style consistency", + "type": "continuous", + "min": 0, + "max": 1 + }, + { + "id": "no-regress", + "label": "No regression", + "type": "boolean", + "labels": { + "true": "pass", + "false": "fail" + } + } + ] + }, + { + "id": "bug-fix", + "name": "Bug fix", + "group": "fix-optimize", + "description": "Reproduce, patch, verify. Judged on minimality and coverage.", + "dims": [ + { + "id": "reproduces", + "label": "Reproduces failure", + "type": "boolean", + "labels": { + "true": "yes", + "false": "no" + } + }, + { + "id": "minimality", + "label": "Patch minimality", + "type": "categorical", + "values": [ + "heavy", + "ok", + "clean" + ] + }, + { + "id": "no-regress", + "label": "No regression", + "type": "continuous", + "min": 0, + "max": 1 + } + ] + }, + { + "id": "multi-turn-feedback", + "name": "Multi-turn feedback loop", + "group": "interaction-reasoning", + "description": "Five-dim fixed rubric — the classic RL-plan Stage-2 rubric family.", + "dims": [ + { + "id": "feedback-understanding", + "label": "Feedback understanding", + "type": "continuous", + "min": 1, + "max": 5 + }, + { + "id": "fix-effectiveness", + "label": "Fix effectiveness", + "type": "continuous", + "min": 1, + "max": 5 + }, + { + "id": "convergence", + "label": "Convergence", + "type": "continuous", + "min": 1, + "max": 5 + } + ] + } + ], + "similarClasses": [ + { + "id": "similar-svg-gen", + "signature": "prompt-shape: 'draw/adjust SVG'", + "count": 5, + "sessionIds": [ + "s-svg-1", + "s-svg-2", + "s-svg-3", + "s-svg-4", + "s-svg-5" + ], + "promptSummary": "5 sessions this week iterated on SVG output (draw/adjust/refine)" + } + ], + "events": [ + { + "ts": 1720915200000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": 0.42, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1720915200000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": 0.55, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1720915200000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": true, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1721001600000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-2", + "turnId": "t2", + "rolloutIdx": 2, + "score": 0.51, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1721001600000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-2", + "turnId": "t2", + "rolloutIdx": 2, + "score": 0.6, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1721001600000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-2", + "turnId": "t2", + "rolloutIdx": 2, + "score": false, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1721088000000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-3", + "turnId": "t3", + "rolloutIdx": 3, + "score": 0.72, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721088000000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-3", + "turnId": "t3", + "rolloutIdx": 3, + "score": 0.78, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721088000000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-3", + "turnId": "t3", + "rolloutIdx": 3, + "score": true, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721174400000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-4", + "turnId": "t4", + "rolloutIdx": 4, + "score": 0.85, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721174400000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-4", + "turnId": "t4", + "rolloutIdx": 4, + "score": 0.82, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721174400000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-4", + "turnId": "t4", + "rolloutIdx": 4, + "score": true, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-5", + "turnId": "t5", + "rolloutIdx": 5, + "score": 0.91, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-5", + "turnId": "t5", + "rolloutIdx": 5, + "score": 0.88, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-5", + "turnId": "t5", + "rolloutIdx": 5, + "score": true, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 6, + "score": 0.63, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 6, + "score": 0.71, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 6, + "score": false, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 7, + "score": 0.8, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 7, + "score": 0.83, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 7, + "score": true, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "shape-correct", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 8, + "score": 0.88, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "style-consistent", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 8, + "score": 0.85, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "svg-gen", + "dimId": "no-regress", + "sessionId": "s-svg-live", + "turnId": "tL", + "rolloutIdx": 8, + "score": true, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1720915200000, + "rubricId": "bug-fix", + "dimId": "reproduces", + "sessionId": "s-bug-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": false, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1720915200000, + "rubricId": "bug-fix", + "dimId": "minimality", + "sessionId": "s-bug-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": "heavy", + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1720915200000, + "rubricId": "bug-fix", + "dimId": "no-regress", + "sessionId": "s-bug-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": 0.4, + "harnessVersion": "v0.9", + "model": "deepseek-r1", + "dataMix": "mix-a" + }, + { + "ts": 1721088000000, + "rubricId": "bug-fix", + "dimId": "reproduces", + "sessionId": "s-bug-2", + "turnId": "t2", + "rolloutIdx": 1, + "score": true, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721088000000, + "rubricId": "bug-fix", + "dimId": "minimality", + "sessionId": "s-bug-2", + "turnId": "t2", + "rolloutIdx": 1, + "score": "ok", + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721088000000, + "rubricId": "bug-fix", + "dimId": "no-regress", + "sessionId": "s-bug-2", + "turnId": "t2", + "rolloutIdx": 1, + "score": 0.75, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721260800000, + "rubricId": "bug-fix", + "dimId": "reproduces", + "sessionId": "s-bug-3", + "turnId": "t3", + "rolloutIdx": 1, + "score": true, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "bug-fix", + "dimId": "minimality", + "sessionId": "s-bug-3", + "turnId": "t3", + "rolloutIdx": 1, + "score": "clean", + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "bug-fix", + "dimId": "no-regress", + "sessionId": "s-bug-3", + "turnId": "t3", + "rolloutIdx": 1, + "score": 0.92, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721001600000, + "rubricId": "multi-turn-feedback", + "dimId": "feedback-understanding", + "sessionId": "s-mt-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": 3, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721001600000, + "rubricId": "multi-turn-feedback", + "dimId": "fix-effectiveness", + "sessionId": "s-mt-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": 3, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721001600000, + "rubricId": "multi-turn-feedback", + "dimId": "convergence", + "sessionId": "s-mt-1", + "turnId": "t1", + "rolloutIdx": 1, + "score": 4, + "harnessVersion": "v0.10", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721174400000, + "rubricId": "multi-turn-feedback", + "dimId": "feedback-understanding", + "sessionId": "s-mt-2", + "turnId": "t2", + "rolloutIdx": 1, + "score": 4, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721174400000, + "rubricId": "multi-turn-feedback", + "dimId": "fix-effectiveness", + "sessionId": "s-mt-2", + "turnId": "t2", + "rolloutIdx": 1, + "score": 4, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721174400000, + "rubricId": "multi-turn-feedback", + "dimId": "convergence", + "sessionId": "s-mt-2", + "turnId": "t2", + "rolloutIdx": 1, + "score": 4, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-b" + }, + { + "ts": 1721260800000, + "rubricId": "multi-turn-feedback", + "dimId": "feedback-understanding", + "sessionId": "s-mt-3", + "turnId": "t3", + "rolloutIdx": 1, + "score": 5, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "multi-turn-feedback", + "dimId": "fix-effectiveness", + "sessionId": "s-mt-3", + "turnId": "t3", + "rolloutIdx": 1, + "score": 5, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + }, + { + "ts": 1721260800000, + "rubricId": "multi-turn-feedback", + "dimId": "convergence", + "sessionId": "s-mt-3", + "turnId": "t3", + "rolloutIdx": 1, + "score": 5, + "harnessVersion": "v0.11", + "model": "deepseek-r1", + "dataMix": "mix-c" + } + ] +}; +})() diff --git a/examples/desktop/src/renderer/rubrics-page.js b/examples/desktop/src/renderer/rubrics-page.js index aad79f9d82..9c93581067 100644 --- a/examples/desktop/src/renderer/rubrics-page.js +++ b/examples/desktop/src/renderer/rubrics-page.js @@ -33,6 +33,19 @@ ? window.__dshRubricsModel : (typeof require === 'function' ? require('./rubrics-model.js') : {}) + // Fusion store — same singleton used by Growth/Runtime; seeded once on + // first render so the three views share the exact same event log. + const fusion = (typeof window !== 'undefined' && window.__dshRubricFusion) + ? window.__dshRubricFusion + : null + let fusionSeeded = false + function seedFusionOnce() { + if (fusionSeeded || !fusion) return + const seed = (typeof window !== 'undefined' && window.__dshRubricFusionSeed) || null + if (seed) fusion.loadFixture(seed) + fusionSeeded = true + } + // Renderer state — kept minimal + re-derivable, per the same pattern as // pr-page.js. Every write triggers a re-render of the affected region. const state = { @@ -43,11 +56,11 @@ createForm: null, // Create-from-scratch draft; null when the form // is closed. Shape: { // name, group, executor, colorDot, - // dimName, dimType, min, max, values, labels + // dimName, dimType, min, max, values, labels, + // hintClassId?, hintPromptSummary? // }. - // Only one draft at a time — the form is a - // modal-in-the-page anchored below the fallback - // CTA, so we don't need a separate id. + dismissedHints: new Set(), // similar-session hint class ids the user + // dismissed this session. } function el(tag, attrs = {}, children = []) { @@ -102,6 +115,7 @@ ]), el('div', { className: 'rubric-tile-desc muted small', text: rubric.description || '' }), el('div', { className: 'rubric-tile-preview', text: preview || 'No checklist items.' }), + renderTileStatsStrip(rubric), el('div', { className: 'rubric-tile-foot' }, [ el('span', { className: 'rubric-tile-executor muted small', text: rubric.executor === 'code' ? 'Code executor' : 'LLM-as-judge' }), el('span', { className: 'rubric-tile-attach chip small', text: 'Attach to Bench' }), @@ -109,6 +123,27 @@ ]) } + // Recent-scores mini strip — total scored + pass-rate% + 8 sparkline + // pass/fail dots. Reads from the fusion event log. Renders an empty + // placeholder when there are no scores yet (keeps tile height stable). + function renderTileStatsStrip(rubric) { + if (!fusion) return el('div', { className: 'rubric-tile-stats empty' }) + const stats = fusion.recentScoresFor(rubric.id, 8) + if (!stats || !stats.total) { + return el('div', { className: 'rubric-tile-stats empty muted small', text: 'No scores yet' }) + } + const pct = Math.round(stats.passRate * 100) + const dots = stats.latest.slice().reverse().map(evt => el('span', { + className: 'rubric-tile-stats-dot ' + (evt.passed ? 'pass' : 'fail'), + title: evt.dimId + ' · ' + (evt.passed ? 'pass' : 'fail'), + })) + return el('div', { className: 'rubric-tile-stats', 'data-testid': 'tile-stats-' + rubric.id }, [ + el('span', { className: 'rubric-tile-stats-total small', text: stats.total + ' scored' }), + el('span', { className: 'rubric-tile-stats-rate small' + (pct >= 50 ? ' pass' : ' fail'), text: pct + '% pass' }), + el('span', { className: 'rubric-tile-stats-spark' }, dots), + ]) + } + function renderGroupSection(group) { const isEmpty = !group.rubrics.length const rows = isEmpty @@ -428,11 +463,57 @@ function renderCatalog() { const host = document.getElementById('rubrics-catalog') if (!host) return + seedFusionOnce() host.replaceChildren() + const hint = renderSimilarSessionsHint() + if (hint) host.appendChild(hint) for (const group of state.catalog) host.appendChild(renderGroupSection(group)) host.appendChild(renderFallbackCTA()) } + // "Detected N similar sessions this week" hint card. Reads similarClasses + // from the fusion store (heuristic detection is a TODO — fixture drives + // the shape today). Dismissable per-class. + function renderSimilarSessionsHint() { + if (!fusion) return null + const classes = fusion.detectSimilarSessions() + const cls = classes.find(c => !state.dismissedHints.has(c.id)) + if (!cls) return null + return el('div', { className: 'rubric-hint-card', 'data-testid': 'rubric-hint-card', role: 'note' }, [ + el('span', { className: 'rubric-hint-icon', text: '✦' }), + el('div', { className: 'rubric-hint-body' }, [ + el('div', { className: 'rubric-hint-title', text: `Detected ${cls.count} similar sessions this week` }), + el('div', { className: 'rubric-hint-sub muted small', text: cls.promptSummary || 'These look like a repeated task class — a rubric would let you track it.' }), + ]), + el('button', { + className: 'primary small rubric-hint-cta', + type: 'button', + text: 'Enable a rubric for this task class', + onclick: () => { + openCreateForm('llm-judge') + if (state.createForm) { + state.createForm.dimName = 'task-class-' + cls.id.replace(/[^a-z0-9-]/gi, '-').toLowerCase() + state.createForm.hintClassId = cls.id + state.createForm.hintPromptSummary = cls.promptSummary || '' + renderCatalog() + } + }, + }), + el('button', { + className: 'ghost small rubric-hint-dismiss', + type: 'button', + text: '×', + title: 'Dismiss for this class', + 'aria-label': 'Dismiss', + onclick: (e) => { + e.stopPropagation() + state.dismissedHints.add(cls.id) + renderCatalog() + }, + }), + ]) + } + function findRubric(id) { return state.rubrics.find(r => r.id === id) || null } diff --git a/examples/desktop/src/renderer/runtimes-page.js b/examples/desktop/src/renderer/runtimes-page.js index 8467f5b3eb..49ee2ded8c 100644 --- a/examples/desktop/src/renderer/runtimes-page.js +++ b/examples/desktop/src/renderer/runtimes-page.js @@ -11,12 +11,13 @@ // initialize handshake (Ticket G) // - window.dsh.playground.list() — isolated daemon(s) currently up // -// The IA design pack §3 flagged this surface as filling the `runtime/list` -// wire gap (G8) with a local composition today: profiles from disk + a -// probe of the mounted runtime + Playground's already-broadcasting isolated -// daemon list. The page renders honest chips saying so — "composed locally -// · G8 gap" — so a researcher inspecting this page knows exactly which -// bits are wire-authoritative vs. locally-inferred. +// This page now has two tabs: +// - Rubric grid (default): the researcher-facing red/green matrix — one +// row per rubric dim, one column per rollout, cells colored by pass/ +// fail. Click a cell → jump to that turn's trace. Data source is the +// rubric-fusion event log. +// - Status: the original composition — profile list + isolated-daemon +// section — for wire/adapter debugging. // // This module is a pure DOM controller: no fetches, no timers other than a // single refresh interval bound to the page's visibility. It exposes @@ -26,6 +27,20 @@ 'use strict' ;(function () { const rootId = 'runtimes-pane' + let currentTab = 'rubric-grid' + let fusionSeeded = false + + function fusion() { + return typeof window !== 'undefined' ? window.__dshRubricFusion : null + } + + function seedFusionOnce() { + const f = fusion() + if (!f || fusionSeeded) return + const seed = typeof window !== 'undefined' ? window.__dshRubricFusionSeed : null + if (seed) f.loadFixture(seed) + fusionSeeded = true + } // Human-readable label for each capability bit. Kept in sync with // src/renderer/capabilities.js CAPABILITY_KEYS — the six bits the shell @@ -304,7 +319,176 @@ async function show() { const root = document.getElementById(rootId) if (!root) return - await refresh(root) + ensureTabStrip(root) + seedFusionOnce() + if (currentTab === 'rubric-grid') { + await renderRubricGrid(root) + } else { + await refresh(root) + } + } + + // Inject a two-tab strip into the header-actions once. Idempotent. + function ensureTabStrip(root) { + if (root.querySelector('[data-runtimes-tabs]')) return + const acts = root.querySelector('.header-actions') + if (!acts) return + const strip = document.createElement('div') + strip.className = 'runtimes-tabs' + strip.setAttribute('data-runtimes-tabs', '') + const gridBtn = document.createElement('button') + gridBtn.type = 'button' + gridBtn.className = 'ghost small runtimes-tab active' + gridBtn.dataset.runtimesTab = 'rubric-grid' + gridBtn.textContent = 'Rubric grid' + gridBtn.title = 'Rollout × rubric-dim red/green matrix (default).' + const statusBtn = document.createElement('button') + statusBtn.type = 'button' + statusBtn.className = 'ghost small runtimes-tab' + statusBtn.dataset.runtimesTab = 'status' + statusBtn.textContent = 'Status' + statusBtn.title = 'Profiles, adapter capabilities, isolated daemons.' + strip.append(gridBtn, statusBtn) + // Insert before the existing legend chip so the tabs sit at the head. + acts.insertBefore(strip, acts.firstChild) + + strip.addEventListener('click', (e) => { + const btn = e.target.closest('[data-runtimes-tab]') + if (!btn) return + currentTab = btn.dataset.runtimesTab + for (const b of strip.querySelectorAll('.runtimes-tab')) b.classList.toggle('active', b === btn) + void show() + }) + } + + // ---------- Rubric grid tab ---------- + + async function renderRubricGrid(root) { + const bodyList = root.querySelector('[data-runtimes-list]') + const bodyIsolated = root.querySelector('[data-runtimes-isolated]') + if (bodyList) bodyList.innerHTML = '' + if (bodyIsolated) bodyIsolated.innerHTML = '' + // We drop grid output into the .runtimes-list slot so no HTML + // template edit is needed — the isolated-daemon slot stays empty on + // this tab (that section only makes sense under Status). + const host = bodyList + if (!host) return + const f = fusion() + if (!f) { + host.appendChild(muted('Rubric fusion store not loaded.')) + return + } + const rubrics = f.listRubrics() + if (!rubrics.length) { + host.appendChild(muted('No rubrics registered. Author one under Rubrics → Create from scratch, or load the fusion fixture.')) + return + } + // Header row: one card per rubric. + for (const rubric of rubrics) { + const grid = f.rolloutGridFor(rubric.id, null) + const card = document.createElement('section') + card.className = 'rubric-grid-card' + card.setAttribute('data-testid', 'rubric-grid-card-' + rubric.id) + const head = document.createElement('header') + head.className = 'rubric-grid-head' + head.appendChild(spanCls('rubric-grid-name', rubric.name)) + head.appendChild(spanCls('rubric-grid-desc muted small', rubric.description || '')) + head.appendChild(spanCls('rubric-grid-rubric-id muted tiny', 'rubric: ' + rubric.id)) + card.appendChild(head) + + if (!grid.rollouts.length) { + card.appendChild(muted('No rollouts scored against this rubric yet.')) + } else { + card.appendChild(renderGridTable(grid)) + } + host.appendChild(card) + } + } + + function renderGridTable(grid) { + const wrap = document.createElement('div') + wrap.className = 'rubric-grid-table-wrap' + const table = document.createElement('table') + table.className = 'rubric-grid-table' + // Header row: rollouts across the top. + const thead = document.createElement('thead') + const hrow = document.createElement('tr') + const corner = document.createElement('th') + corner.className = 'rubric-grid-corner' + corner.textContent = 'dim ╲ rollout' + hrow.appendChild(corner) + for (const r of grid.rollouts) { + const th = document.createElement('th') + th.className = 'rubric-grid-col-head' + th.textContent = String(r) + hrow.appendChild(th) + } + thead.appendChild(hrow) + table.appendChild(thead) + const tbody = document.createElement('tbody') + for (const dim of grid.dims) { + const trow = document.createElement('tr') + const rh = document.createElement('th') + rh.className = 'rubric-grid-row-head' + rh.textContent = dim.label + rh.title = dim.type + trow.appendChild(rh) + for (const r of grid.rollouts) { + const cell = grid.cells.find(c => c.dimId === dim.id && c.rolloutIdx === r) + const td = document.createElement('td') + td.className = 'rubric-grid-cell' + if (!cell || cell.passed == null) { + td.classList.add('rubric-grid-cell--empty') + td.title = 'No score.' + } else if (cell.passed) { + td.classList.add('rubric-grid-cell--pass') + td.title = `pass · session ${cell.sessionId} · turn ${cell.turnId}` + } else { + td.classList.add('rubric-grid-cell--fail') + td.title = `fail · session ${cell.sessionId} · turn ${cell.turnId}` + } + if (cell && cell.sessionId && cell.turnId) { + td.setAttribute('data-session-id', cell.sessionId) + td.setAttribute('data-turn-id', cell.turnId) + td.setAttribute('role', 'button') + td.setAttribute('tabindex', '0') + const jumpTo = () => jumpToTrace(cell.sessionId, cell.turnId) + td.addEventListener('click', jumpTo) + td.addEventListener('keydown', (e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); jumpTo() } }) + } + trow.appendChild(td) + } + tbody.appendChild(trow) + } + table.appendChild(tbody) + wrap.appendChild(table) + return wrap + } + + function jumpToTrace(sessionId, turnId) { + // Signal via the existing tab switcher; downstream trace/tracing page + // can pick this event up. We don't hardcode the trace page URL — the + // shell owns navigation. + if (typeof window !== 'undefined' && typeof CustomEvent === 'function') { + window.dispatchEvent(new CustomEvent('dsh:rubric-cell-jump', { detail: { sessionId, turnId } })) + } + if (window.__dshTabs && typeof window.__dshTabs.switchTo === 'function') { + window.__dshTabs.switchTo('tracing') + } + } + + function muted(text) { + const div = document.createElement('div') + div.className = 'muted small' + div.textContent = text + return div + } + + function spanCls(cls, text) { + const s = document.createElement('span') + s.className = cls + s.textContent = text + return s } if (typeof window !== 'undefined') { diff --git a/examples/desktop/src/renderer/style.css b/examples/desktop/src/renderer/style.css index 7f2999857b..f265fe3a38 100644 --- a/examples/desktop/src/renderer/style.css +++ b/examples/desktop/src/renderer/style.css @@ -11850,3 +11850,254 @@ details.devtools-row[open] > .devtools-row-summary::before { transform: rotate(9 /* Give the pane a positioning context so the absolute drawer anchors * inside it, not against the viewport root. */ .pane[data-pane="chat"] { position: relative; } +/* ============================================================ */ +/* D lane: Rubric fusion (Rubrics + Growth + Runtime shared) */ +/* ============================================================ */ + +/* --- Rubrics view: hint card + per-tile stats strip --- */ + +.rubric-hint-card { + display: flex; + align-items: center; + gap: 12px; + padding: 12px 14px; + margin: 0 0 16px 0; + border-radius: 12px; + background: linear-gradient(90deg, rgba(122, 90, 248, 0.10), rgba(225, 170, 255, 0.06)); + border: 1px solid rgba(122, 90, 248, 0.35); +} +.rubric-hint-icon { + font-size: 20px; + flex: 0 0 auto; +} +.rubric-hint-body { + flex: 1 1 auto; + min-width: 0; +} +.rubric-hint-title { + font-weight: 600; + font-size: 14px; + margin-bottom: 2px; +} +.rubric-hint-cta { + flex: 0 0 auto; + white-space: nowrap; +} +.rubric-hint-dismiss { + flex: 0 0 auto; + min-width: 28px; + padding: 2px 8px; +} + +.rubric-tile-stats { + display: flex; + align-items: center; + gap: 8px; + padding: 6px 0 4px 0; + min-height: 20px; +} +.rubric-tile-stats.empty { + opacity: 0.6; +} +.rubric-tile-stats-total { + font-variant-numeric: tabular-nums; +} +.rubric-tile-stats-rate { + padding: 2px 6px; + border-radius: 4px; + font-variant-numeric: tabular-nums; + font-weight: 600; +} +.rubric-tile-stats-rate.pass { + background: rgba(121, 209, 123, 0.18); + color: #1f7a2b; +} +.rubric-tile-stats-rate.fail { + background: rgba(249, 110, 110, 0.18); + color: #a83232; +} +@media (prefers-color-scheme: dark) { + .rubric-tile-stats-rate.pass { color: #79d17b; } + .rubric-tile-stats-rate.fail { color: #f96e6e; } +} +.rubric-tile-stats-spark { + display: inline-flex; + gap: 2px; + align-items: center; +} +.rubric-tile-stats-dot { + display: inline-block; + width: 6px; + height: 10px; + border-radius: 1px; +} +.rubric-tile-stats-dot.pass { background: #79d17b; } +.rubric-tile-stats-dot.fail { background: #f96e6e; } + +/* --- Growth view: time-series chart --- */ + +.growth-fusion-body { + padding: 12px 16px 24px 16px; + display: flex; + flex-direction: column; + gap: 12px; +} +.growth-fusion-filter-row { + display: flex; + flex-wrap: wrap; + gap: 12px; + padding: 8px 0; +} +.growth-fusion-filter-group { + display: flex; + align-items: center; + gap: 4px; +} +.growth-fusion-filter-label { + padding-right: 4px; +} +.growth-fusion-filter-chip { + padding: 2px 8px; + border-radius: 4px; +} +.growth-fusion-filter-chip.active { + background: rgba(122, 90, 248, 0.18); + border-color: rgba(122, 90, 248, 0.6); + color: inherit; +} +.growth-fusion-chart { + width: 100%; + padding: 8px 0; +} +.growth-fusion-chart-svg { + width: 100%; + height: auto; + max-height: 320px; + display: block; +} +.growth-fusion-grid { + stroke: currentColor; + stroke-opacity: 0.15; + stroke-width: 1; + stroke-dasharray: 2 3; +} +.growth-fusion-axis-tick { + fill: currentColor; + fill-opacity: 0.55; + font-size: 10px; +} +.growth-fusion-legend-wrap { + display: flex; + flex-wrap: wrap; + gap: 12px; + padding: 8px 0 0 0; +} +.growth-fusion-legend-item { + display: inline-flex; + align-items: center; + gap: 6px; +} +.growth-fusion-legend-swatch { + display: inline-block; + width: 12px; + height: 12px; + border-radius: 2px; +} +.growth-fusion-empty { + padding: 24px 0; + text-align: center; +} + +/* --- Runtime view: tabs + rubric grid --- */ + +.runtimes-tabs { + display: inline-flex; + gap: 4px; + margin-right: 12px; +} +.runtimes-tab { + padding: 2px 10px; + border-radius: 4px; +} +.runtimes-tab.active { + background: rgba(122, 90, 248, 0.18); + border-color: rgba(122, 90, 248, 0.6); +} + +.rubric-grid-card { + padding: 12px 12px 16px 12px; + border: 1px solid var(--surface-hover, rgba(0, 0, 0, 0.08)); + border-radius: 10px; + margin-bottom: 14px; + background: var(--surface, #fff); +} +.rubric-grid-head { + display: flex; + flex-wrap: wrap; + align-items: baseline; + gap: 8px; + margin-bottom: 8px; +} +.rubric-grid-name { + font-weight: 600; + font-size: 15px; +} +.rubric-grid-rubric-id { + margin-left: auto; +} +.rubric-grid-table-wrap { + overflow-x: auto; +} +.rubric-grid-table { + border-collapse: collapse; + font-size: 12px; +} +.rubric-grid-corner, +.rubric-grid-row-head { + text-align: left; + padding: 4px 8px; + font-weight: 500; + color: rgba(0, 0, 0, 0.6); + background: var(--surface-2, #f7f7f8); + border: 1px solid var(--surface-hover, rgba(0, 0, 0, 0.08)); +} +@media (prefers-color-scheme: dark) { + .rubric-grid-corner, + .rubric-grid-row-head { color: rgba(255, 255, 255, 0.7); } +} +.rubric-grid-col-head { + text-align: center; + padding: 4px 6px; + font-weight: 500; + min-width: 24px; + background: var(--surface-2, #f7f7f8); + border: 1px solid var(--surface-hover, rgba(0, 0, 0, 0.08)); +} +.rubric-grid-cell { + width: 28px; + height: 26px; + border: 1px solid var(--surface-hover, rgba(0, 0, 0, 0.08)); + cursor: default; +} +.rubric-grid-cell--pass { + background: #79d17b; + cursor: pointer; +} +.rubric-grid-cell--fail { + background: #f96e6e; + cursor: pointer; +} +.rubric-grid-cell--empty { + background: repeating-linear-gradient( + 45deg, + var(--surface-2, #f7f7f8), + var(--surface-2, #f7f7f8) 4px, + var(--surface-hover, rgba(0,0,0,0.06)) 4px, + var(--surface-hover, rgba(0,0,0,0.06)) 6px + ); +} +.rubric-grid-cell--pass:hover, +.rubric-grid-cell--fail:hover { + outline: 2px solid rgba(122, 90, 248, 0.8); + outline-offset: -2px; +} diff --git a/examples/desktop/test/rubric-fusion-model.test.js b/examples/desktop/test/rubric-fusion-model.test.js new file mode 100644 index 0000000000..a3e7dd17c1 --- /dev/null +++ b/examples/desktop/test/rubric-fusion-model.test.js @@ -0,0 +1,181 @@ +// Rubric fusion model tests — pure derivations (recent scores, time series, +// rollout grid, similar-session detection). + +'use strict' + +// Load rubrics-model first — fusion-model depends on it via global fallback. +global.window = global.window || {} +if (!global.window.__dshRubricsModel) { + global.window.__dshRubricsModel = require('../src/renderer/rubrics-model.js') +} + +const test = require('node:test') +const assert = require('node:assert') + +// require via a fresh module — the singleton in the fusion model would +// otherwise carry state across tests. +function freshStore() { + delete require.cache[require.resolve('../src/renderer/rubric-fusion-model.js')] + const api = require('../src/renderer/rubric-fusion-model.js') + return api.create() +} + +const SAMPLE_RUBRIC = { + id: 'svg-gen', + name: 'SVG generation', + dims: [ + { id: 'shape', label: 'Shape', type: 'continuous', min: 0, max: 1 }, + { id: 'pass', label: 'Pass', type: 'boolean' }, + { id: 'quality', label: 'Quality', type: 'categorical', values: ['bad', 'ok', 'good'] }, + ], +} + +test('registerRubric normalizes dims and returns a stable id', () => { + const s = freshStore() + const def = s.registerRubric(SAMPLE_RUBRIC) + assert.equal(def.id, 'svg-gen') + assert.equal(def.dims.length, 3) + assert.equal(def.dims[0].type, 'continuous') + assert.equal(def.dims[0].min, 0) + assert.equal(def.dims[0].max, 1) +}) + +test('addEvent derives passed from dim spec', () => { + const s = freshStore() + s.registerRubric(SAMPLE_RUBRIC) + const hi = s.addEvent({ ts: 1000, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's1', turnId: 't1', score: 0.9 }) + const lo = s.addEvent({ ts: 2000, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's2', turnId: 't2', score: 0.2 }) + const boolT = s.addEvent({ ts: 3000, rubricId: 'svg-gen', dimId: 'pass', sessionId: 's3', turnId: 't3', score: true }) + const boolF = s.addEvent({ ts: 4000, rubricId: 'svg-gen', dimId: 'pass', sessionId: 's4', turnId: 't4', score: false }) + const catHi = s.addEvent({ ts: 5000, rubricId: 'svg-gen', dimId: 'quality', sessionId: 's5', turnId: 't5', score: 'good' }) + const catLo = s.addEvent({ ts: 6000, rubricId: 'svg-gen', dimId: 'quality', sessionId: 's6', turnId: 't6', score: 'bad' }) + assert.equal(hi.passed, true) + assert.equal(lo.passed, false) + assert.equal(boolT.passed, true) + assert.equal(boolF.passed, false) + assert.equal(catHi.passed, true) + assert.equal(catLo.passed, false) +}) + +test('addEvent rejects unknown rubric or dim', () => { + const s = freshStore() + s.registerRubric(SAMPLE_RUBRIC) + assert.equal(s.addEvent({ rubricId: 'nope', dimId: 'shape', score: 0.5 }), null) + assert.equal(s.addEvent({ rubricId: 'svg-gen', dimId: 'missing', score: 0.5 }), null) +}) + +test('recentScoresFor computes pass rate + per-dim breakdown', () => { + const s = freshStore() + s.registerRubric(SAMPLE_RUBRIC) + s.addEvent({ ts: 1, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', score: 0.9 }) + s.addEvent({ ts: 2, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', score: 0.9 }) + s.addEvent({ ts: 3, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', score: 0.1 }) + s.addEvent({ ts: 4, rubricId: 'svg-gen', dimId: 'pass', sessionId: 's', turnId: 't', score: true }) + const r = s.recentScoresFor('svg-gen') + assert.equal(r.total, 4) + assert.equal(r.passRate, 0.75) // 3 of 4 passed + assert.equal(r.byDim.shape.n, 3) + assert.equal(r.byDim.shape.passRate, Math.round((2 / 3) * 1000) / 1000) + assert.equal(r.byDim.pass.n, 1) + assert.equal(r.byDim.pass.passRate, 1) + assert.equal(r.latest[0].ts, 4) +}) + +test('timeSeriesFor buckets by day and groups by dim', () => { + const s = freshStore() + s.registerRubric(SAMPLE_RUBRIC) + const t1 = new Date('2026-07-15T12:00:00Z').getTime() + const t2 = new Date('2026-07-16T12:00:00Z').getTime() + s.addEvent({ ts: t1, rubricId: 'svg-gen', dimId: 'shape', sessionId: 'a', turnId: 't', score: 0.5 }) + s.addEvent({ ts: t2, rubricId: 'svg-gen', dimId: 'shape', sessionId: 'b', turnId: 't', score: 0.9 }) + s.addEvent({ ts: t2, rubricId: 'svg-gen', dimId: 'pass', sessionId: 'b', turnId: 't', score: true }) + const ts = s.timeSeriesFor({ by: 'day', groupBy: 'dim' }) + assert.deepEqual(ts.xAxis, ['2026-07-15', '2026-07-16']) + assert.equal(ts.series.length, 2) + const shapeSeries = ts.series.find(x => x.key.endsWith('::shape')) + assert.ok(shapeSeries, 'shape series present') + assert.equal(shapeSeries.points.length, 2) + assert.equal(shapeSeries.points[0].mean01, 0.5) + assert.equal(shapeSeries.points[1].mean01, 0.9) +}) + +test('timeSeriesFor buckets by version', () => { + const s = freshStore() + s.registerRubric(SAMPLE_RUBRIC) + s.addEvent({ ts: 1, rubricId: 'svg-gen', dimId: 'shape', sessionId: 'a', turnId: 't', score: 0.3, harnessVersion: 'v0.9' }) + s.addEvent({ ts: 2, rubricId: 'svg-gen', dimId: 'shape', sessionId: 'b', turnId: 't', score: 0.7, harnessVersion: 'v0.10' }) + s.addEvent({ ts: 3, rubricId: 'svg-gen', dimId: 'shape', sessionId: 'c', turnId: 't', score: 0.9, harnessVersion: 'v0.11' }) + const ts = s.timeSeriesFor({ by: 'version', groupBy: 'dim' }) + assert.deepEqual(ts.xAxis, ['v0.10', 'v0.11', 'v0.9']) // sorted +}) + +test('rolloutGridFor produces one cell per (dim, rollout)', () => { + const s = freshStore() + s.registerRubric(SAMPLE_RUBRIC) + s.addEvent({ ts: 1, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', rolloutIdx: 1, score: 0.9 }) + s.addEvent({ ts: 2, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', rolloutIdx: 2, score: 0.3 }) + s.addEvent({ ts: 3, rubricId: 'svg-gen', dimId: 'pass', sessionId: 's', turnId: 't', rolloutIdx: 1, score: true }) + s.addEvent({ ts: 4, rubricId: 'svg-gen', dimId: 'pass', sessionId: 's', turnId: 't', rolloutIdx: 2, score: false }) + const grid = s.rolloutGridFor('svg-gen', 's') + assert.equal(grid.rubric.id, 'svg-gen') + assert.deepEqual(grid.rollouts, [1, 2]) + assert.equal(grid.dims.length, 3) + const cellR1Shape = grid.cells.find(c => c.dimId === 'shape' && c.rolloutIdx === 1) + assert.equal(cellR1Shape.passed, true) + const cellR2Shape = grid.cells.find(c => c.dimId === 'shape' && c.rolloutIdx === 2) + assert.equal(cellR2Shape.passed, false) +}) + +test('detectSimilarSessions filters by minCount', () => { + const s = freshStore() + s.loadFixture({ + rubrics: [SAMPLE_RUBRIC], + events: [], + similarClasses: [ + { id: 'a', signature: 'sig-a', count: 5, sessionIds: [], promptSummary: 'a' }, + { id: 'b', signature: 'sig-b', count: 2, sessionIds: [], promptSummary: 'b' }, + ], + }) + const withDefault = s.detectSimilarSessions() + assert.equal(withDefault.length, 1) + assert.equal(withDefault[0].id, 'a') + const relaxed = s.detectSimilarSessions({ minCount: 1 }) + assert.equal(relaxed.length, 2) +}) + +test('subscribe fires on every mutation', () => { + const s = freshStore() + let fires = 0 + const unsub = s.subscribe(() => { fires++ }) + s.registerRubric(SAMPLE_RUBRIC) + s.addEvent({ ts: 1, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', score: 0.5 }) + unsub() + s.addEvent({ ts: 2, rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', score: 0.7 }) + assert.equal(fires, 2) // register + first add; second add is after unsub +}) + +test('loadFixture returns counts', () => { + const s = freshStore() + const res = s.loadFixture({ + rubrics: [SAMPLE_RUBRIC], + events: [ + { rubricId: 'svg-gen', dimId: 'shape', sessionId: 's', turnId: 't', score: 0.5 }, + { rubricId: 'nope', dimId: 'x', score: 0 }, + ], + similarClasses: [], + }) + assert.equal(res.rubrics, 1) + assert.equal(res.events, 1) +}) + +test('timeSeriesFor filter chip: harnessVersion', () => { + const s = freshStore() + s.registerRubric(SAMPLE_RUBRIC) + s.addEvent({ ts: 1, rubricId: 'svg-gen', dimId: 'shape', sessionId: 'a', turnId: 't', score: 0.3, harnessVersion: 'v0.9' }) + s.addEvent({ ts: 2, rubricId: 'svg-gen', dimId: 'shape', sessionId: 'b', turnId: 't', score: 0.9, harnessVersion: 'v0.11' }) + const ts = s.timeSeriesFor({ by: 'day', groupBy: 'dim', filter: { harnessVersion: 'v0.11' } }) + const shape = ts.series.find(x => x.key.endsWith('::shape')) + assert.ok(shape) + assert.equal(shape.points.length, 1) + assert.equal(shape.points[0].mean01, 0.9) +}) diff --git a/examples/desktop/test/rubric-fusion-views.test.js b/examples/desktop/test/rubric-fusion-views.test.js new file mode 100644 index 0000000000..fe8b1694ee --- /dev/null +++ b/examples/desktop/test/rubric-fusion-views.test.js @@ -0,0 +1,189 @@ +// Rubric fusion — cross-view smoke tests. +// +// We can't run the actual DOM controllers under `node --test` (no jsdom), +// but we can: +// 1. Verify the fusion seed JSON parses and drives all three view APIs. +// 2. Verify each of the 3 view scripts loads cleanly with a minimal +// document stub (catching syntax errors early). +// 3. Verify the fusion-model events → view derivations pipeline +// returns the expected shape for each view. + +'use strict' + +const test = require('node:test') +const assert = require('node:assert/strict') +const path = require('node:path') +const fs = require('node:fs') + +// Wire the rubrics-model global before anything requires fusion-model. +global.window = global.window || {} +global.window.__dshRubricsModel = require('../src/renderer/rubrics-model.js') + +// Fresh singleton per test. +function freshFusion() { + delete require.cache[require.resolve('../src/renderer/rubric-fusion-model.js')] + const api = require('../src/renderer/rubric-fusion-model.js') + return api.create() +} + +const FIXTURE_PATH = path.join(__dirname, '..', 'docs', 'rubric-fusion-fixture.json') +const FIXTURE = JSON.parse(fs.readFileSync(FIXTURE_PATH, 'utf8')) + +test('fixture loads with 3 rubrics and > 30 events', () => { + const s = freshFusion() + const res = s.loadFixture(FIXTURE) + assert.equal(res.rubrics, 3) + assert.ok(res.events > 30, 'expected > 30 events, got ' + res.events) +}) + +test('Rubrics view: recentScoresFor returns per-dim breakdown for each rubric', () => { + const s = freshFusion() + s.loadFixture(FIXTURE) + for (const rubric of s.listRubrics()) { + const stats = s.recentScoresFor(rubric.id) + assert.ok(stats.total > 0, `${rubric.id}: expected events > 0`) + assert.ok(stats.passRate >= 0 && stats.passRate <= 1, `${rubric.id}: passRate out of range`) + for (const dim of rubric.dims) { + const byDim = stats.byDim[dim.id] + assert.ok(byDim, `${rubric.id}/${dim.id}: missing per-dim bucket`) + assert.ok(byDim.n > 0, `${rubric.id}/${dim.id}: expected n > 0`) + } + } +}) + +test('Growth view: timeSeriesFor by=day produces sorted xAxis and per-dim series', () => { + const s = freshFusion() + s.loadFixture(FIXTURE) + const ts = s.timeSeriesFor({ by: 'day', groupBy: 'dim' }) + assert.ok(ts.xAxis.length >= 3, 'expected >= 3 days') + // sorted asc + const sorted = ts.xAxis.slice().sort() + assert.deepEqual(ts.xAxis, sorted) + assert.ok(ts.series.length >= 3, 'expected >= 3 dim series') + for (const s2 of ts.series) { + assert.ok(s2.points.length >= 1, 'each series has points: ' + s2.label) + for (const p of s2.points) { + assert.ok(p.mean01 >= 0 && p.mean01 <= 1, 'mean01 in range for ' + s2.label) + assert.ok(p.passRate >= 0 && p.passRate <= 1, 'passRate in range for ' + s2.label) + } + } +}) + +test('Growth view: timeSeriesFor by=version buckets by harness version', () => { + const s = freshFusion() + s.loadFixture(FIXTURE) + const ts = s.timeSeriesFor({ by: 'version', groupBy: 'dim' }) + const versions = new Set(ts.xAxis) + assert.ok(versions.has('v0.9'), 'v0.9 present') + assert.ok(versions.has('v0.11'), 'v0.11 present') +}) + +test('Growth view: filter chip harnessVersion narrows the series', () => { + const s = freshFusion() + s.loadFixture(FIXTURE) + const all = s.timeSeriesFor({ by: 'day', groupBy: 'dim' }) + const v11 = s.timeSeriesFor({ by: 'day', groupBy: 'dim', filter: { harnessVersion: 'v0.11' } }) + const totalAll = all.series.reduce((sum, sr) => sum + sr.points.reduce((a, p) => a + p.n, 0), 0) + const totalV11 = v11.series.reduce((sum, sr) => sum + sr.points.reduce((a, p) => a + p.n, 0), 0) + assert.ok(totalV11 < totalAll, 'filtered total should be strictly smaller') + assert.ok(totalV11 > 0, 'v0.11 filtered total > 0') +}) + +test('Runtime view: rolloutGridFor produces a matrix with cell pass/fail', () => { + const s = freshFusion() + s.loadFixture(FIXTURE) + const grid = s.rolloutGridFor('svg-gen', 's-svg-live') + assert.equal(grid.rubric.id, 'svg-gen') + assert.ok(grid.rollouts.length >= 3, 'expected >= 3 rollouts for the live session') + assert.ok(grid.dims.length === 3, 'svg-gen has 3 dims') + // Assert we have at least one pass AND at least one fail — the fixture + // deliberately spans both. + const passed = grid.cells.filter(c => c.passed === true).length + const failed = grid.cells.filter(c => c.passed === false).length + assert.ok(passed > 0, 'at least one pass cell') + assert.ok(failed > 0, 'at least one fail cell') +}) + +test('Runtime view: rolloutGridFor sessionId=null aggregates all rollouts', () => { + const s = freshFusion() + s.loadFixture(FIXTURE) + const grid = s.rolloutGridFor('svg-gen', null) + // The fixture has rollouts 1..8 for svg-gen (5 seed sessions + 3 on + // the live session). + assert.deepEqual(grid.rollouts, [1, 2, 3, 4, 5, 6, 7, 8]) +}) + +test('Rubrics view: similar-sessions hint fires with count >= 3', () => { + const s = freshFusion() + s.loadFixture(FIXTURE) + const classes = s.detectSimilarSessions() + assert.equal(classes.length, 1) + assert.equal(classes[0].id, 'similar-svg-gen') + assert.ok(classes[0].count >= 3) +}) + +// --- Script-load smoke tests: the 3 view scripts must load without +// throwing under a minimal document stub. Catches syntax errors before +// they hit the browser. --- + +function stubDocument() { + return { + addEventListener() {}, + readyState: 'complete', + querySelector() { return null }, + querySelectorAll() { return [] }, + createElement() { + const node = { + style: {}, + classList: { add() {}, remove() {}, toggle() {}, contains() { return false } }, + dataset: {}, + setAttribute() {}, + getAttribute() { return null }, + appendChild(c) { return c }, + replaceChildren() {}, + removeChild() {}, + addEventListener() {}, + set textContent(v) {}, + set innerHTML(v) {}, + set hidden(v) {}, + } + return node + }, + createElementNS() { return this.createElement() }, + getElementById() { return null }, + } +} + +test('rubrics-page.js loads under minimal document stub', () => { + global.window = { __dshRubricsModel: require('../src/renderer/rubrics-model.js') } + global.document = stubDocument() + global.requestAnimationFrame = () => {} + delete require.cache[require.resolve('../src/renderer/rubrics-page.js')] + const page = require('../src/renderer/rubrics-page.js') + assert.ok(page._internal, 'exposes _internal') +}) + +test('growth-v2.js loads under minimal document stub', () => { + global.window = { + __dshRubricsModel: require('../src/renderer/rubrics-model.js'), + __dshRubricFusion: require('../src/renderer/rubric-fusion-model.js'), + } + global.document = stubDocument() + delete require.cache[require.resolve('../src/renderer/growth-v2.js')] + require('../src/renderer/growth-v2.js') + assert.ok(global.window.__dshGrowthV2, 'exposes __dshGrowthV2') + assert.equal(typeof global.window.__dshGrowthV2.show, 'function') + assert.equal(typeof global.window.__dshGrowthV2.render, 'function') +}) + +test('runtimes-page.js loads under minimal document stub', () => { + global.window = { + __dshRubricsModel: require('../src/renderer/rubrics-model.js'), + __dshRubricFusion: require('../src/renderer/rubric-fusion-model.js'), + } + global.document = stubDocument() + delete require.cache[require.resolve('../src/renderer/runtimes-page.js')] + require('../src/renderer/runtimes-page.js') + assert.ok(global.window.__dshRuntimes, 'exposes __dshRuntimes') + assert.equal(typeof global.window.__dshRuntimes.show, 'function') +})