From 9c105cf05a251157af7803677c04839b2c7b64e6 Mon Sep 17 00:00:00 2001 From: Gahow Wang Date: Mon, 1 Jun 2026 01:03:27 +0800 Subject: [PATCH] MB5 PD ablation: controlled-variable reuse/conc redo + campaign tooling Reuse and concurrency axes redone with proper controlled variables, plus the orchestration used to run them on dash0: - run_reuse_fixed.sh: hold REAL prefill work (delta) constant, vary only cached prefix -> reuse = C/(C+U). Supersedes old fig1 (which held input=8192 and sliced prefix out, confounding "more reuse" with "less prefill"). - run_conc.sh: agentic-corner config (in=32768, delta=512, reuse=0.984, out=128) that exposes PD's structural KV-transfer tax. Supersedes old fig3. - run_campaign{,2,3}.sh, backfill_d2048o128.sh: serial campaign drivers (strictly one driver at a time), out=128 sweeps, PD wall-cap for collapse-draining high-reuse arms, and flaked-arm backfill. - mb5_run_gpu.sh: per-config bring-up / replay / teardown orchestrator. - plot_pd_crossover.py: render the reuse_compare figures from fig_agg dumps. - fig_agg.py: tolerate null stats from fully-collapsed arms (0 successes write the stat keys as null; `dict.get(k, {})` returns null, not {}). Data: fig1_reuse_fixed.json, fig1_reuse_d{1024,2048}_o128.json Figs: reuse_compare_AB.png, reuse_compare_ABC.png Co-Authored-By: Claude Opus 4.8 --- .../fig1_reuse_d1024_o128.json | 1 + .../fig1_reuse_d2048_o128.json | 1 + .../mb5_pd_ablation/fig1_reuse_fixed.json | 1 + figs/mb5_pd_ablation/reuse_compare_AB.png | Bin 0 -> 116978 bytes figs/mb5_pd_ablation/reuse_compare_ABC.png | Bin 0 -> 101110 bytes microbench/fresh_setup/backfill_d2048o128.sh | 35 ++++ microbench/fresh_setup/fig_agg.py | 10 +- microbench/fresh_setup/mb5_run_gpu.sh | 144 ++++++++++++++ microbench/fresh_setup/plot_pd_crossover.py | 184 ++++++++++++++++++ microbench/fresh_setup/run_campaign.sh | 26 +++ microbench/fresh_setup/run_campaign2.sh | 26 +++ microbench/fresh_setup/run_campaign3.sh | 20 ++ microbench/fresh_setup/run_conc.sh | 70 +++++++ microbench/fresh_setup/run_reuse_fixed.sh | 72 +++++++ 14 files changed, 586 insertions(+), 4 deletions(-) create mode 100644 analysis/mb5_pd_ablation/fig1_reuse_d1024_o128.json create mode 100644 analysis/mb5_pd_ablation/fig1_reuse_d2048_o128.json create mode 100644 analysis/mb5_pd_ablation/fig1_reuse_fixed.json create mode 100644 figs/mb5_pd_ablation/reuse_compare_AB.png create mode 100644 figs/mb5_pd_ablation/reuse_compare_ABC.png create mode 100644 microbench/fresh_setup/backfill_d2048o128.sh create mode 100755 microbench/fresh_setup/mb5_run_gpu.sh create mode 100644 microbench/fresh_setup/plot_pd_crossover.py create mode 100644 microbench/fresh_setup/run_campaign.sh create mode 100644 microbench/fresh_setup/run_campaign2.sh create mode 100644 microbench/fresh_setup/run_campaign3.sh create mode 100644 microbench/fresh_setup/run_conc.sh create mode 100644 microbench/fresh_setup/run_reuse_fixed.sh diff --git a/analysis/mb5_pd_ablation/fig1_reuse_d1024_o128.json b/analysis/mb5_pd_ablation/fig1_reuse_d1024_o128.json new file mode 100644 index 0000000..9c21d4e --- /dev/null +++ b/analysis/mb5_pd_ablation/fig1_reuse_d1024_o128.json @@ -0,0 +1 @@ +[{"name": "reuse_p18432_d1024_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 2.011140084010549, "e2e_p90": 6.595956567587561, "e2e_p99": 13.843295609399851, "e2e_mean": 3.1182714335319965, "ttft_p90": 5.735121128271566, "tpot_p99": 0.007805189969399431, "tps": 274.4217808266656, "wall": 179.11114727094537, "pu": 41.73809523809524, "du": 24.771825396825395, "apc": 0.8289473684210527}, {"name": "reuse_p18432_d1024_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 1.2469783920387272, "e2e_p90": 3.5110186243895436, "e2e_p99": 5.371424139904558, "e2e_mean": 1.8077833487527641, "ttft_p90": 2.6449656961078287, "tpot_p99": 0.008740999029887894, "tps": 427.0965500477582, "wall": 115.0840483129723, "pu": 31.495454545454546, "du": 58.32272727272727, "apc": 0.8289473684210527}, {"name": "reuse_p18432_d1024_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 1.5855289729661308, "e2e_p90": 3.5929854729911312, "e2e_p99": 5.639228541038465, "e2e_mean": 1.9572647203356912, "ttft_p90": 2.3784743072232226, "tpot_p99": 0.014603613033605647, "tps": 396.0826187284008, "wall": 124.09532172302715, "pu": 21.093220338983052, "du": 82.70338983050847, "apc": 0.8289473684210527}, {"name": "reuse_p18432_d1024_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.3775086904934142, "e2e_p90": 3.1152419353893483, "e2e_p99": 7.911835642378456, "e2e_mean": 1.8861664114436583, "ttft_p90": 1.989750977011863, "tpot_p99": 0.04218796803300668, "tps": 419.48032182196613, "wall": 117.17355366400443, "pu": 41.058035714285715, "du": null, "apc": 0.8289473684210527}, {"name": "reuse_p2048_d1024_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 0.792972255992936, "e2e_p90": 0.9489053479628637, "e2e_p99": 1.637123176814641, "e2e_mean": 0.8399674154458504, "ttft_p90": 0.25993717868113886, "tpot_p99": 0.005669725780525634, "tps": 791.8028909214946, "wall": 62.07605524500832, "pu": 31.716666666666665, "du": 66.96666666666667, "apc": 0.5833333333333334}, {"name": "reuse_p2048_d1024_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 0.8240640689909924, "e2e_p90": 0.9465674142818898, "e2e_p99": 1.4786975827836435, "e2e_mean": 0.8572143532189026, "ttft_p90": 0.23996333410032095, "tpot_p99": 0.006090612034991707, "tps": 783.216723293919, "wall": 62.75657622999279, "pu": 15.566666666666666, "du": 82.11666666666666, "apc": 0.5833333333333334}, {"name": "reuse_p2048_d1024_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 0.9896964269864839, "e2e_p90": 1.1497688122093677, "e2e_p99": 1.787693639339414, "e2e_mean": 1.0255024050854142, "ttft_p90": 0.2459226590231992, "tpot_p99": 0.008264087546006299, "tps": 691.4021770340051, "wall": 71.09031708701514, "pu": 8.740196078431373, "du": 95.52941176470588, "apc": 0.5833333333333334}, {"name": "reuse_p2048_d1024_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 0.9049637360149063, "e2e_p90": 1.2046391166280954, "e2e_p99": 1.5656454849703014, "e2e_mean": 0.9364410856549815, "ttft_p90": 0.2209109389339573, "tpot_p99": 0.010840669604821322, "tps": 697.8220171948692, "wall": 70.43629863898968, "pu": 39.75735294117647, "du": null, "apc": 0.5833333333333334}, {"name": "reuse_p38912_d1024_o128_2P+6D_rep1", "arm": "2P+6D", "n": 348, "req": 384, "e2e_p50": 5.966376932017738, "e2e_p90": 41.55034995879979, "e2e_p99": 67.95094630374655, "e2e_mean": 17.63732494259318, "ttft_p90": 40.65220642983333, "tpot_p99": 0.00965455187338873, "tps": 31.074994331197068, "wall": 1433.4354988210252, "pu": 29.08110119047619, "du": 3.8563988095238093, "apc": 0.003541386023109088}, {"name": "reuse_p38912_d1024_o128_4P+4D_rep1", "arm": "4P+4D", "n": 331, "req": 384, "e2e_p50": 1.8283151049981825, "e2e_p90": 21.967222570965532, "e2e_p99": 463.6285565488564, "e2e_mean": 32.049094769653685, "ttft_p90": 20.93402343802154, "tpot_p99": 0.010148854255877936, "tps": 22.304023016957444, "wall": 1899.5676236429717, "pu": 6.330527497194164, "du": 4.0412457912457915, "apc": 0.3941685392519007}, {"name": "reuse_p38912_d1024_o128_6P+2D_rep1", "arm": "6P+2D", "n": 331, "req": 384, "e2e_p50": 1.5403626519837417, "e2e_p90": 8.17470415995922, "e2e_p99": 15.978965973359298, "e2e_mean": 3.262189171190994, "ttft_p90": 7.065585554984864, "tpot_p99": 0.018555945050481002, "tps": 46.7175532998922, "wall": 906.8968087440007, "pu": 7.588627450980392, "du": 14.944705882352942, "apc": 0.8538197197991012}, {"name": "reuse_p38912_d1024_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 2.0001139829983003, "e2e_p90": 7.92033636061824, "e2e_p99": 17.198196112165586, "e2e_mean": 3.6551371743582117, "ttft_p90": 6.314943998103264, "tpot_p99": 0.11950804649024022, "tps": 240.1072077908529, "wall": 204.70855686604045, "pu": 41.98711340206186, "du": null, "apc": 0.8525641025641025}, {"name": "reuse_p4096_d1024_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 0.8382689229911193, "e2e_p90": 1.1122795563715044, "e2e_p99": 2.1025787757901724, "e2e_mean": 0.9100473551948198, "ttft_p90": 0.44005942158401007, "tpot_p99": 0.005548434369893942, "tps": 741.2065308688034, "wall": 66.31350096495589, "pu": 29.515625, "du": 64.26041666666667, "apc": 0.7}, {"name": "reuse_p4096_d1024_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 0.845705887011718, "e2e_p90": 1.0994400390714874, "e2e_p99": 1.7404719427420072, "e2e_mean": 0.9025246042629078, "ttft_p90": 0.3965871149906888, "tpot_p99": 0.00621245443521207, "tps": 753.8055854507271, "wall": 65.20514168200316, "pu": 17.241935483870968, "du": 89.73387096774194, "apc": 0.7}, {"name": "reuse_p4096_d1024_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 1.041008985514054, "e2e_p90": 1.2969930486229715, "e2e_p99": 2.009561244166107, "e2e_mean": 1.0891431775930869, "ttft_p90": 0.4054622187104541, "tpot_p99": 0.007866649039696508, "tps": 662.7457211326365, "wall": 74.16419062804198, "pu": 10.566666666666666, "du": 97.14285714285714, "apc": 0.7}, {"name": "reuse_p4096_d1024_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 0.9978507100022398, "e2e_p90": 1.376642303710105, "e2e_p99": 1.8764825401920837, "e2e_mean": 1.0177971177561933, "ttft_p90": 0.3318765960051678, "tpot_p99": 0.012630984430049199, "tps": 663.862182067196, "wall": 74.03946380398702, "pu": 38.21071428571429, "du": null, "apc": 0.7}, {"name": "reuse_p512_d1024_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 0.7468664619955234, "e2e_p90": 0.8154127431334928, "e2e_p99": 1.4249815517506803, "e2e_mean": 0.7755074385066413, "ttft_p90": 0.15653720167465504, "tpot_p99": 0.005882820960814427, "tps": 836.3744558932802, "wall": 58.76793540699873, "pu": 22.75, "du": 68.125, "apc": 0.2916666666666667}, {"name": "reuse_p512_d1024_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 0.8027036284911446, "e2e_p90": 0.8790760690986644, "e2e_p99": 1.2941429702786267, "e2e_mean": 0.8199292982858424, "ttft_p90": 0.14772663660696708, "tpot_p99": 0.006057956323456606, "tps": 805.372620261493, "wall": 61.03013532300247, "pu": 13.181034482758621, "du": 76.17241379310344, "apc": 0.2916666666666667}, {"name": "reuse_p512_d1024_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 0.9647596840222832, "e2e_p90": 1.053520446305629, "e2e_p99": 1.528927146314527, "e2e_mean": 0.9760259314924346, "ttft_p90": 0.15018326903227716, "tpot_p99": 0.007652870517977565, "tps": 717.9133965889113, "wall": 68.46508260403061, "pu": 6.55050505050505, "du": 94.60606060606061, "apc": 0.2916666666666667}, {"name": "reuse_p512_d1024_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 0.8443412214983255, "e2e_p90": 1.1002090520923957, "e2e_p99": 1.4714346799789941, "e2e_mean": 0.8751813448542028, "ttft_p90": 0.18448241882724686, "tpot_p99": 0.009217632268207137, "tps": 737.9202829911662, "wall": 66.60882094304543, "pu": 39.22265625, "du": null, "apc": 0.2916666666666667}, {"name": "reuse_p8192_d1024_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 0.9952880369964987, "e2e_p90": 1.638875626219669, "e2e_p99": 3.3932996814849328, "e2e_mean": 1.182382257353917, "ttft_p90": 0.9387523760029581, "tpot_p99": 0.00642865186423342, "tps": 614.0489008999317, "wall": 80.04574216803303, "pu": 48.36842105263158, "du": 49.6578947368421, "apc": 0.7777777777777778}, {"name": "reuse_p8192_d1024_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 0.9673103050154168, "e2e_p90": 1.6615959092101547, "e2e_p99": 2.7100385388941506, "e2e_mean": 1.122088482831714, "ttft_p90": 0.8661944593768566, "tpot_p99": 0.007023902694157537, "tps": 636.3849652635973, "wall": 77.23626842699014, "pu": 26.216216216216218, "du": 73.3108108108108, "apc": 0.7777777777777778}, {"name": "reuse_p8192_d1024_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 1.1928778715082444, "e2e_p90": 1.806718060915591, "e2e_p99": 2.9189987593132543, "e2e_mean": 1.307137680928766, "ttft_p90": 0.8438458036922384, "tpot_p99": 0.009671045643947548, "tps": 571.1298010568557, "wall": 86.06099683302455, "pu": 13.861788617886178, "du": 94.15853658536585, "apc": 0.7777777777777778}, {"name": "reuse_p8192_d1024_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.1058233095391188, "e2e_p90": 2.0377895820070986, "e2e_p99": 2.6251585837343008, "e2e_mean": 1.2416493104550075, "ttft_p90": 0.7047733141400385, "tpot_p99": 0.018370147039870898, "tps": 565.7217537746836, "wall": 86.88370152295101, "pu": 41.207317073170735, "du": null, "apc": 0.7777777777777778}] diff --git a/analysis/mb5_pd_ablation/fig1_reuse_d2048_o128.json b/analysis/mb5_pd_ablation/fig1_reuse_d2048_o128.json new file mode 100644 index 0000000..032b5ce --- /dev/null +++ b/analysis/mb5_pd_ablation/fig1_reuse_d2048_o128.json @@ -0,0 +1 @@ +[{"name": "reuse_p18432_d2048_o128_2P+6D_rep1", "arm": "2P+6D", "n": 0, "req": 384, "e2e_p50": null, "e2e_p90": null, "e2e_p99": null, "e2e_mean": null, "ttft_p90": null, "tpot_p99": null, "tps": 0.0, "wall": 500.0238099139533, "pu": 7.442796610169491, "du": 0.0, "apc": 0.5504807692307693}, {"name": "reuse_p18432_d2048_o128_4P+4D_rep1", "arm": "4P+4D", "n": 0, "req": 384, "e2e_p50": null, "e2e_p90": null, "e2e_p99": null, "e2e_mean": null, "ttft_p90": null, "tpot_p99": null, "tps": 0.0, "wall": 500.0241022160044, "pu": 7.969279661016949, "du": 0.0, "apc": 0.4124119304837952}, {"name": "reuse_p18432_d2048_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 1.597727442975156, "e2e_p90": 3.8423233716050165, "e2e_p99": 5.946185397276423, "e2e_mean": 2.1024188470485874, "ttft_p90": 2.594332438148558, "tpot_p99": 0.014465094759590983, "tps": 378.11492013389045, "wall": 129.9922255979618, "pu": 26.701612903225808, "du": 81.08064516129032, "apc": 0.7875}, {"name": "reuse_p18432_d2048_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.7018155964906327, "e2e_p90": 3.876369076193077, "e2e_p99": 7.142674320546252, "e2e_mean": 2.1840314005736823, "ttft_p90": 2.1786344624473712, "tpot_p99": 0.03983575570474082, "tps": 369.2181586612368, "wall": 133.12454668595456, "pu": 42.442460317460316, "du": null, "apc": 0.7875}, {"name": "reuse_p2048_d2048_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 0.8702527615241706, "e2e_p90": 1.0261618579854257, "e2e_p99": 1.7815040894789855, "e2e_mean": 0.9216887839597803, "ttft_p90": 0.37184600940672674, "tpot_p99": 0.00531729997127449, "tps": 739.561895750781, "wall": 66.46096869296161, "pu": 42.046875, "du": 64.90104166666667, "apc": 0.4375}, {"name": "reuse_p2048_d2048_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 0.9034653444832657, "e2e_p90": 1.0732842879777307, "e2e_p99": 1.7153989363042639, "e2e_mean": 0.9481709641428703, "ttft_p90": 0.3279811007028911, "tpot_p99": 0.006350442920380646, "tps": 727.0453582087905, "wall": 67.6051355600357, "pu": 24.71875, "du": 78.4140625, "apc": 0.4375}, {"name": "reuse_p2048_d2048_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 1.0671798489929643, "e2e_p90": 1.2583458551147486, "e2e_p99": 1.8928272985597145, "e2e_mean": 1.1038180056437643, "ttft_p90": 0.3353222259087488, "tpot_p99": 0.008093095353775196, "tps": 658.7111050415339, "wall": 74.61844748602016, "pu": 15.444444444444445, "du": 96.48611111111111, "apc": 0.4375}, {"name": "reuse_p2048_d2048_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.0099046650284436, "e2e_p90": 1.403463970933808, "e2e_p99": 1.9772926643601396, "e2e_mean": 1.0592681981953926, "ttft_p90": 0.3512645903218072, "tpot_p99": 0.011878674168755692, "tps": 637.5511369696022, "wall": 77.09499230701476, "pu": 38.972972972972975, "du": null, "apc": 0.4375}, {"name": "reuse_p38912_d2048_o128_2P+6D_rep1", "arm": "2P+6D", "n": 0, "req": 384, "e2e_p50": null, "e2e_p90": null, "e2e_p99": null, "e2e_mean": null, "ttft_p90": null, "tpot_p99": null, "tps": 0.0, "wall": 500.109733818972, "pu": 8.895744680851063, "du": 0.0, "apc": 0.7069767441860465}, {"name": "reuse_p38912_d2048_o128_4P+4D_rep1", "arm": "4P+4D", "n": 19, "req": 384, "e2e_p50": 8.589444032986648, "e2e_p90": 27.915465352416504, "e2e_p99": 28.366348578078906, "e2e_mean": 13.736264503263795, "ttft_p90": 26.597048029780854, "tpot_p99": 0.012102746355822164, "tps": 4.86343652912101, "wall": 500.0579292929615, "pu": 4.287234042553192, "du": 1.3297872340425532, "apc": 0.76}, {"name": "reuse_p38912_d2048_o128_6P+2D_rep1", "arm": "6P+2D", "n": 367, "req": 384, "e2e_p50": 2.2283155800541863, "e2e_p90": 9.522073879209366, "e2e_p99": 21.179028030608304, "e2e_mean": 4.37911018002772, "ttft_p90": 8.025956917623997, "tpot_p99": 0.018388294600606633, "tps": 97.75392348851425, "wall": 480.55360156996176, "pu": 18.72197640117994, "du": 31.74778761061947, "apc": 0.83125}, {"name": "reuse_p38912_d2048_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 2.5377507034572773, "e2e_p90": 8.48644620324485, "e2e_p99": 23.11029849225888, "e2e_mean": 4.287540712224351, "ttft_p90": 6.662501206889283, "tpot_p99": 0.12405163028898951, "tps": 202.86541371579986, "wall": 242.28871299303137, "pu": 37.78399122807018, "du": null, "apc": 0.83125}, {"name": "reuse_p4096_d2048_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 0.9403678920061793, "e2e_p90": 1.3765556774975263, "e2e_p99": 2.223834651577637, "e2e_mean": 1.0481886899786634, "ttft_p90": 0.6951776356203481, "tpot_p99": 0.005652166551770092, "tps": 676.2238276411496, "wall": 72.68599240499316, "pu": 44.628571428571426, "du": 56.67619047619048, "apc": 0.5833333333333334}, {"name": "reuse_p4096_d2048_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 0.933273567003198, "e2e_p90": 1.19254511789768, "e2e_p99": 1.9197397668258063, "e2e_mean": 0.9934309769355423, "ttft_p90": 0.48482207448687403, "tpot_p99": 0.006479399048977194, "tps": 704.4073580750398, "wall": 69.77780603303108, "pu": 28.62878787878788, "du": 86.50757575757575, "apc": 0.5833333333333334}, {"name": "reuse_p4096_d2048_o128_6P+2D_rep1", "arm": "6P+2D", "n": 82, "req": 384, "e2e_p50": 1.9051678330288269, "e2e_p90": 5.428465517004953, "e2e_p99": 6.899000353141454, "e2e_mean": 2.8002093829528327, "ttft_p90": 4.15596770622069, "tpot_p99": 0.013283818648503837, "tps": 20.99105592369273, "wall": 500.02248758496717, "pu": 1.8764124293785311, "du": 3.419491525423729, "apc": 0.5788113695090439}, {"name": "reuse_p4096_d2048_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.145786852488527, "e2e_p90": 1.7778903291677124, "e2e_p99": 2.219522972920677, "e2e_mean": 1.1847675088301912, "ttft_p90": 0.5011492442048621, "tpot_p99": 0.014808055440112447, "tps": 584.2097378547378, "wall": 84.13416760304244, "pu": 36.628125, "du": null, "apc": 0.5833333333333334}, {"name": "reuse_p512_d2048_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 0.8357307700207457, "e2e_p90": 0.9345466257887891, "e2e_p99": 1.6236903413617998, "e2e_mean": 0.867049211952235, "ttft_p90": 0.28156024306081234, "tpot_p99": 0.005549601508573975, "tps": 772.9495392094975, "wall": 63.590179574035574, "pu": 34.4, "du": 64.77777777777777, "apc": 0.175}, {"name": "reuse_p512_d2048_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 0.8685456210223492, "e2e_p90": 0.9515164563606959, "e2e_p99": 1.4229793156281814, "e2e_mean": 0.8936527385265739, "ttft_p90": 0.21474569473066368, "tpot_p99": 0.006214100767071836, "tps": 761.8182639550365, "wall": 64.51932478597155, "pu": 18.016129032258064, "du": 81.63709677419355, "apc": 0.175}, {"name": "reuse_p512_d2048_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 1.064892176509602, "e2e_p90": 1.153052446676884, "e2e_p99": 1.531589741804638, "e2e_mean": 1.070551099629938, "ttft_p90": 0.23582011537509967, "tpot_p99": 0.007750524568135896, "tps": 667.8236536468205, "wall": 73.60026817198377, "pu": 8.876190476190477, "du": 92.81428571428572, "apc": 0.175}, {"name": "reuse_p512_d2048_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 0.98292404046515, "e2e_p90": 1.314295787154697, "e2e_p99": 1.7231975731498097, "e2e_mean": 0.9991093327666931, "ttft_p90": 0.34203003942966437, "tpot_p99": 0.010019689613378492, "tps": 664.7666224795696, "wall": 73.93873028201051, "pu": 40.739285714285714, "du": null, "apc": 0.175}, {"name": "reuse_p8192_d2048_o128_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 1.227345287508797, "e2e_p90": 2.1255404052266385, "e2e_p99": 3.508073750929325, "e2e_mean": 1.4636097900368743, "ttft_p90": 1.4201186655962372, "tpot_p99": 0.006487326852717862, "tps": 513.1391061059077, "wall": 95.78689173195744, "pu": 54.34782608695652, "du": 41.78260869565217, "apc": 0.7}, {"name": "reuse_p8192_d2048_o128_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 1.0309503950120416, "e2e_p90": 1.806706921494333, "e2e_p99": 2.7563181719661243, "e2e_mean": 1.2135527645268667, "ttft_p90": 1.0876598956412638, "tpot_p99": 0.006993451918086668, "tps": 600.3784995590349, "wall": 81.86835477303248, "pu": 26.28846153846154, "du": 78.27564102564102, "apc": 0.7}, {"name": "reuse_p8192_d2048_o128_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 1.2513171324972063, "e2e_p90": 1.9010370597010477, "e2e_p99": 2.9169839132187194, "e2e_mean": 1.3710599802317727, "ttft_p90": 0.9651577884971629, "tpot_p99": 0.009227863290451657, "tps": 547.5620167304908, "wall": 89.7651745339972, "pu": 19.189922480620154, "du": 92.96511627906976, "apc": 0.7}, {"name": "reuse_p8192_d2048_o128_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.3169660340063274, "e2e_p90": 2.2136766588897445, "e2e_p99": 3.0296990163286686, "e2e_mean": 1.4168819271167195, "ttft_p90": 0.8181633891130331, "tpot_p99": 0.019182177199455072, "tps": 509.5195788549742, "wall": 96.46734304196434, "pu": 39.01358695652174, "du": null, "apc": 0.7}] diff --git a/analysis/mb5_pd_ablation/fig1_reuse_fixed.json b/analysis/mb5_pd_ablation/fig1_reuse_fixed.json new file mode 100644 index 0000000..e03db98 --- /dev/null +++ b/analysis/mb5_pd_ablation/fig1_reuse_fixed.json @@ -0,0 +1 @@ +[{"name": "reuse_p18432_d2048_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 2.533020637521986, "e2e_p90": 5.85391353177838, "e2e_p99": 13.18415429443412, "e2e_mean": 3.502040037624132, "ttft_p90": 4.246971374610439, "tpot_p99": 0.007761271612152603, "tps": 490.8994507324649, "wall": 200.2528213330079, "pu": 51.829787234042556, "du": 48.47872340425532, "apc": 0.7875}, {"name": "reuse_p18432_d2048_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 2.327055490517523, "e2e_p90": 4.852692579611903, "e2e_p99": 12.918203760247179, "e2e_mean": 3.1448965869362837, "ttft_p90": 3.0742682195210365, "tpot_p99": 0.00903629884385851, "tps": 526.2705626745112, "wall": 186.79365135001717, "pu": 26.928977272727273, "du": 70.5028409090909, "apc": 0.7875}, {"name": "reuse_p18432_d2048_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 3.1278362965094857, "e2e_p90": 4.839138368546264, "e2e_p99": 7.14371296691534, "e2e_mean": 3.424949068415723, "ttft_p90": 2.517161613609642, "tpot_p99": 0.012816217731421942, "tps": 514.6500556526703, "wall": 191.01134629303124, "pu": 18.974074074074075, "du": 95.7611111111111, "apc": 0.7875}, {"name": "reuse_p18432_d2048_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 2.692243392491946, "e2e_p90": 5.5457493721274655, "e2e_p99": 8.494194235785404, "e2e_mean": 3.2005772834381787, "ttft_p90": 2.1673677822982427, "tpot_p99": 0.030382820091552715, "tps": 528.3289416764078, "wall": 186.06589994498063, "pu": 45.94602272727273, "du": null, "apc": 0.7875}, {"name": "reuse_p2048_d2048_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 1.5452155300008599, "e2e_p90": 1.7081896169576791, "e2e_p99": 2.45207904072362, "e2e_mean": 1.6013075451828627, "ttft_p90": 0.34778050871100274, "tpot_p99": 0.005669485672979671, "tps": 996.0242196356846, "wall": 98.69639519002521, "pu": 23.893617021276597, "du": 88.177304964539, "apc": 0.4375}, {"name": "reuse_p2048_d2048_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 1.6793917149771005, "e2e_p90": 1.818927331600571, "e2e_p99": 2.323814849504852, "e2e_mean": 1.7090580133658477, "ttft_p90": 0.31593548320815895, "tpot_p99": 0.006266038190100945, "tps": 946.6728525267378, "wall": 103.84157498297282, "pu": 22.26530612244898, "du": 97.3265306122449, "apc": 0.4375}, {"name": "reuse_p2048_d2048_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 2.156280273484299, "e2e_p90": 2.297612584318267, "e2e_p99": 2.835462462223368, "e2e_mean": 2.157636388411902, "ttft_p90": 0.33686318337568083, "tpot_p99": 0.008273487242621223, "tps": 783.5302862115615, "wall": 125.46292304195231, "pu": 8.175, "du": 96.54166666666667, "apc": 0.4375}, {"name": "reuse_p2048_d2048_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.8087456520006526, "e2e_p90": 2.3159401921962854, "e2e_p99": 3.069265903531341, "e2e_mean": 1.8344004751229477, "ttft_p90": 0.30347971800365486, "tpot_p99": 0.010619336528881619, "tps": 837.246318714222, "wall": 117.41347534494707, "pu": 44.792410714285715, "du": null, "apc": 0.4375}, {"name": "reuse_p38912_d2048_2P+6D_rep1", "arm": "2P+6D", "n": 361, "req": 384, "e2e_p50": 6.57530459103873, "e2e_p90": 47.03490046202205, "e2e_p99": 448.50315178359153, "e2e_mean": 29.01171956352752, "ttft_p90": 45.17827109998325, "tpot_p99": 0.009629647705758752, "tps": 51.92238624874325, "wall": 1779.88737954502, "pu": 27.959832134292565, "du": 6.306754596322942, "apc": 0.8698754011405736}, {"name": "reuse_p38912_d2048_4P+4D_rep1", "arm": "4P+4D", "n": 327, "req": 384, "e2e_p50": 3.1876551050227135, "e2e_p90": 11.449897833599248, "e2e_p99": 29.874143838356257, "e2e_mean": 5.742165601527495, "ttft_p90": 9.523732434178246, "tpot_p99": 0.0121669072732512, "tps": 61.0543739943618, "wall": 1371.1056968290359, "pu": 9.472395023328149, "du": 10.68040435458787, "apc": 0.3990417067856459}, {"name": "reuse_p38912_d2048_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 4.693941325997002, "e2e_p90": 11.446271817904197, "e2e_p99": 25.98846597966217, "e2e_mean": 6.425895827477082, "ttft_p90": 7.717594898125389, "tpot_p99": 0.024569422919093177, "tps": 291.58829267237684, "wall": 337.1328769720276, "pu": 26.540880503144653, "du": 79.52830188679245, "apc": 0.83125}, {"name": "reuse_p38912_d2048_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 3.804246386018349, "e2e_p90": 9.94819127159426, "e2e_p99": 20.41812537532541, "e2e_mean": 5.546197232348732, "ttft_p90": 6.640114219562383, "tpot_p99": 0.06730832396853975, "tps": 322.8433493800264, "wall": 304.4944248929969, "pu": 45.20192307692308, "du": null, "apc": 0.83125}, {"name": "reuse_p4096_d2048_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 1.6006885370006785, "e2e_p90": 1.8821295853122137, "e2e_p99": 3.0432000186893857, "e2e_mean": 1.6879496743948341, "ttft_p90": 0.5026261055085341, "tpot_p99": 0.005706233633389954, "tps": 950.5167565946713, "wall": 103.42163809103658, "pu": 48.04081632653061, "du": 80.17006802721089, "apc": 0.5833333333333334}, {"name": "reuse_p4096_d2048_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 1.7440840654890053, "e2e_p90": 1.985663170699263, "e2e_p99": 2.674550873187256, "e2e_mean": 1.7983998170934683, "ttft_p90": 0.4889643796952441, "tpot_p99": 0.00646362871355286, "tps": 906.9274927042811, "wall": 108.3923475589836, "pu": 15.769607843137255, "du": 93.76470588235294, "apc": 0.5833333333333334}, {"name": "reuse_p4096_d2048_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 2.2896783250034787, "e2e_p90": 2.580035507993307, "e2e_p99": 3.2560947993275495, "e2e_mean": 2.329391661541498, "ttft_p90": 0.5062051271961536, "tpot_p99": 0.009080472360109436, "tps": 731.5427124539008, "wall": 134.37902985903202, "pu": 9.973958333333334, "du": 97.59375, "apc": 0.5833333333333334}, {"name": "reuse_p4096_d2048_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.904530945525039, "e2e_p90": 2.7650697994977236, "e2e_p99": 3.504905357128009, "e2e_mean": 1.9890683890278826, "ttft_p90": 0.41231827571755275, "tpot_p99": 0.012474335152598777, "tps": 782.9542862351619, "wall": 125.55522299098084, "pu": 46.62076271186441, "du": null, "apc": 0.5833333333333334}, {"name": "reuse_p512_d2048_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 1.5259871140005998, "e2e_p90": 1.6426021346589548, "e2e_p99": 2.4021258947759634, "e2e_mean": 1.565941817816262, "ttft_p90": 0.2866207461862359, "tpot_p99": 0.005887627696034079, "tps": 1007.858853784255, "wall": 97.53746730595594, "pu": 19.58695652173913, "du": 83.34057971014492, "apc": 0.175}, {"name": "reuse_p512_d2048_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 1.6439885564905126, "e2e_p90": 1.7445397889125163, "e2e_p99": 2.1885562700900483, "e2e_mean": 1.665460689239353, "ttft_p90": 0.21324421370518393, "tpot_p99": 0.006212426621711119, "tps": 966.5616230201254, "wall": 101.7048449459835, "pu": 8.515625, "du": 97.02083333333333, "apc": 0.175}, {"name": "reuse_p512_d2048_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 2.059083105996251, "e2e_p90": 2.20597213053843, "e2e_p99": 2.5390614521381236, "e2e_mean": 2.0654355626335623, "ttft_p90": 0.23428239471977577, "tpot_p99": 0.008075011566733285, "tps": 810.9640468666952, "wall": 121.21869074198185, "pu": 6.916666666666667, "du": 96.86206896551724, "apc": 0.175}, {"name": "reuse_p512_d2048_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 1.7308740815205965, "e2e_p90": 2.19734079890186, "e2e_p99": 2.574364611047204, "e2e_mean": 1.753096249226625, "ttft_p90": 0.2771356365934479, "tpot_p99": 0.009422459370876646, "tps": 875.0118823136878, "wall": 112.34590293798828, "pu": 46.7122641509434, "du": null, "apc": 0.175}, {"name": "reuse_p8192_d2048_2P+6D_rep1", "arm": "2P+6D", "n": 384, "req": 384, "e2e_p50": 1.7981248289870564, "e2e_p90": 2.62749446813832, "e2e_p99": 4.4945996468386165, "e2e_mean": 2.0330339767545715, "ttft_p90": 1.1596759190259036, "tpot_p99": 0.00635605895942004, "tps": 807.5382123177835, "wall": 121.73293907399056, "pu": 39.69298245614035, "du": 75.94152046783626, "apc": 0.7}, {"name": "reuse_p8192_d2048_4P+4D_rep1", "arm": "4P+4D", "n": 384, "req": 384, "e2e_p50": 1.8958783995185513, "e2e_p90": 2.529831808601739, "e2e_p99": 3.6714393736550135, "e2e_mean": 2.0412568975771137, "ttft_p90": 0.941303398378659, "tpot_p99": 0.0067997743117020415, "tps": 812.6337799219408, "wall": 120.9696205459768, "pu": 23.42543859649123, "du": 91.20614035087719, "apc": 0.7}, {"name": "reuse_p8192_d2048_6P+2D_rep1", "arm": "6P+2D", "n": 384, "req": 384, "e2e_p50": 2.4744975224894006, "e2e_p90": 3.0726254384964706, "e2e_p99": 4.066428293744687, "e2e_mean": 2.5728964008159587, "ttft_p90": 0.9646674327901564, "tpot_p99": 0.009585995291005914, "tps": 667.4391764241245, "wall": 147.28533096704632, "pu": 10.345238095238095, "du": 95.71428571428571, "apc": 0.7}, {"name": "reuse_p8192_d2048_8C-proxy_rep1", "arm": "colo", "n": 384, "req": 384, "e2e_p50": 2.1906960625201464, "e2e_p90": 3.31940173432813, "e2e_p99": 4.419624262939906, "e2e_mean": 2.272983053012316, "ttft_p90": 0.798827746004099, "tpot_p99": 0.014866376486218845, "tps": 697.1272118347367, "wall": 141.01300068502314, "pu": 48.098880597014926, "du": null, "apc": 0.7}] diff --git a/figs/mb5_pd_ablation/reuse_compare_AB.png b/figs/mb5_pd_ablation/reuse_compare_AB.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ab7f2a114796ed7203ca9102612a67f665a2a6 GIT binary patch literal 116978 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
  • uVA%Ypbu52Fg9`@+K0=Fv!On^cXV(!tNJKL&bQ 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

    ERASRlOP1138pQaC$V8dumZ2hXCp(|Hr!`wt+05 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 z zlPZ}&p7j%;6c9QPFg;E5ICT@3FY^$Z6+!wj>5fKfWdHRZ=Tl~WUwuQvN?^z}cszAi zTwL#QkFAZdVYse$TbTr)U&Kl<=~-a*1^!eKLTXewWq z3ue2+2#5xXCq_7tPwYz<|GyIItS>@pzX@eEF&xYM%c=t~4O&+;LKsz$pYLnLsVIz4 zD9~#y!@` zefr_*TFQMr5>JW~A6YUMfmPa((wk*+h}59~+Xe`M8~xb@JYEf{lmP$*9Z*F92MR;< ziJtcz>0kjD6zyCsuDX5#FL-TF4?nEKcA{**W_Ib_chDNdG0GW#f225Ro2`WP^pGU* z0NMg-{?$|zGVnUZV7q?TZNZY5-9z3qf5s&1&aaDoQ5#-AvGR`U%2m|L^HoP{KchfZ z(;l9zzr1Mq6GUg?m;bMF;r|K2?i!L5c|iC7e`48%bypA>UlhmhN!{OrBASr)64b}5 z2QwccFCa}mnLj;&W}i@CvBVDL%)z@dgl_y4;6Mvtdvvae$9{-i@uLQOPiw=6d2tUW4bpNkuEi2P9RhAW&5!g=WgJtAbdV z6!PsaZfD?*(T3j9BEaSdMp?IB!&sUy)WDrXK@koUCMgIF8AzG;-WP*B>L86Oy#42= zjdXNafH7`@PZTZIHxTG^ylU~c5g-cfdFbHt8r#2FCq*vm2d zIXm_&s&fXJG<_6uEQCy@rLBEw1PXFVviFYg(mkF(qrEc_(wKWrz?C%mn)vNBp=>1#l%na&s}*11Z(&D>caWO~ z_LUkVX{0k;RmM4a=8*X4UKqmjpc@E87AOzvT8Q9cI0J=~D5% z^qv95Gw;ma&#}pI*FngAUhTYI_MBlFb+PY?lsy-d*v?E7=AOREq~)7QlhO+bFMLm4 zo?oWC_@HiJv+t=2KH%nl@PnH`^=&nEPx61sUBlhU8T%NW$|M#Mdt{>(%>%xVk|VS4 z?EjM2EXCJ2Fpd$^D+C+p{O`*4mnY`C-tBERxLXv|j%@E~3k9T%XuDL~C72^PD;$tbe$9*PBc7TchAwA3?ACf8wt>%62YKXID7* zw*SrTGBI`dp8yNxC(S;BK@GqoCXB4nxn`kj?YFeIw@1y8+-R-mC%7snZ$E-6#KE^l~=t6df%0E z99d>T#hSJ%IGSBZTSEP5<*t{j2RNicG8LZq&u(6)jUk^F1=vkA`rh~3S0Nszn+}(E zOPWgvGSHVEkTZ|1*P%w^uRK3;XNm6(QEOhCD@;CkNDB&dh79<33nyr-(^xx#^f zluSethz&O$y9o|7Q9uv`A0AKFX2n4Li9}a+vuaU$A*;Uep;xVAd29W0+uHEjW4)B! zyu3%51(TArL^WX-P$qp(^Vb!Xe!rRok)UeISp0f7PF~;<_^6E1gi?JyZ4k|yz7>Oz zk^@@ivF6eA1!fXtYC_6Iw44O;qz$oevD38;dBRP`NN8yYIo`tG0EoBEbdn@^eB}|` zTf5}c1rnQ`Ovrstv}HC zoRwcm{^+4vmjcmfOIG}3vyJjTm@m2Tzsqok+Jfv|BzOdRc=na9`RL)fNbO*FS&>R9 zxlBN)G!@)Wx~62o-|coU-F*Xw*3O>Z%=ZI31QcZ?m{@_gq$+T*=C3)7-EsqwcE6c6 z(~fh=zCYKpbPrfs26SyQ?>;`bXL`N(CNPq4?x`tc)CZ=6Hkt&YI)rw3FVE$B*K>0E zP<<{*;!shUs;Nmx(Bt7~A4GvkO#w>jB6msS>XFTycvsM;>IQVx5Sib;$>aPSpfP*? z;d_=Io)x%qFt^PW>dHDtSMwYrJgm{`)=gT4P3S`3=!zqPLt*O z?2QCCi)H~%b~1*nitph&( zvjVi>@(l4@o1)vsJvcJE{Oije&CPH5wYgcT>l;~apZRq-Pnb1NS5aETyluGo-OX)h zP7FL%ztyI3$M>pYa_J8xM`x#Muf{mnneyQOu1U|x=z)ou8E2#xb%kwnbefh$vhT4A zX0B~f&v1PPgLXRh!(Zs;x#iu^bU1n?5W}W-5!qc!5=wYh1CgNd^_`KacnSoc=t#0l zK#(G{E}|dI&2_%kY@TlhMI5RW;C)Wp1JzIZieU;iQM-%F^AEyrQ%;Ku1YMUeUyfSf zjk{`57^Wo@93H+a>5;MM=c&f7I~>pOI5;?*OFzD9=eTlETeI_ynDEfvS49P{?3@mK zpPO9hXAoB05LXgVu6Uz+L4{|?+wc53%c4NFap&fLxb4705ccTTCq6^H0Cri?iBTgh zX0<(%Yv`BAyGiFW->L_Ezcia_5Z&~&Us&Bq0o5vD%D|9E4sxHE`+#f+hy)5Rs2*XJ z+E~G6To`xhJq$S;nJ94iAfBec-obEpNmAnfq06Zw%-XGEvSR62dJhwZ7XTal!JJ35 zn7`PKjKw?`o*Ww>#s0ST;&ivfM`cfrbZqup%|ppg+!I!}r|na5Y031$@<3GvFB$*q z?wt}Ba&FnI+#o!jAy;CRkvj3u^=&<)|Hw=g+7!%qfFj&}|4^-EK%bcg5fBv-wY~Sn zhzR|mu1ZGrB6j{ehrK$@=7p;Py~l&S2EU9nHzFrR*%wa84p`$eF~dvl7oYV` zd|IrYub8p7Gw4xEI4*kmz zd!m+*I-UzSyu$Ai?_I%tQ&s++!jDyKLRmEz z8ya0Kz*U0PGBEt&%XC4Pd!irK8mTPrd6wAQdcJA8@giQNo`$yqC5b{OYqhRrN4K+i@$d+MMTjT(G3GGr`*cZI~TgUo0(+n?8t!29A6yip0M$< zOVDRiC}7UpUla!X`eqBDXs5}U-Qe+^`{|STef8AW8s{3CGM~>+q92CcPMFV5xH1;(g0Two~-@iF56@4~+B3F`HuTh1M?f4BS!>lj3%NkGt!dq<95h zrS`9D7w^H0L+fMkd`5d)p{t|Ve=NXUqLZ`)H5q8)}e zwf#FHBN}DC9%*N;@?n#BK0wcyugpdP!@X$n(1iWUH$SNO(FS znZ$eT8W10XOE#_HVPQ$SA}F>}=SaKYLe8z-w&m}H)dh;zMP2GS9g}IWE=?elzEAd$ z-07!WS7ix+J@S9!h5w%4q|{$Bhw+4g~j`p z?Y{^0+BnvIn}*e_Xki)p0TxM|Zrp9ZNX6tzUul}^peM^21md6lSDBix{VKUUfyRLQ zgLuN%Yx+9G6BEt%MHf3bLc4-~} zU>rM8D-i!)FtAUs_pYR zovoYhTc;(`{8Osy-YwP=+VJfFMz2BY+3L?{)C49zcpTWRC)+8-#27Yqmd^7_YkbwQ z{O9CZ#J%sU9_j4g`>8rKf=_`jxT*5&#sBWlj(~joxBWM^MqU3Uz9&IIsK*;1uY_7i zbj^yN)%Na|MK^fJ&g8!a`wQWqM=5Pxjy(zC7k z8dSvxH2b!>Fkhz+W6WA#%7?&1bNxib{LejJ8z(=TXvK0xUus%x`1hVf{!rL-f|haU zIE$qCU~~!!4S`AFy1iePI1eTKddgTQZFT-;)gPIqfQI-w^V#I~%#VWE z-iYUs4eN@RnbP&E&Y9iZl!o9N!6(lxZ@DqNwWZ}L3+vJw5MT6V&z@^BQLOxTTH}si z+@KQ&n+Ei8{Q&xyX-FjnjNvJ|r`Mp^9%goQcw`*twA}sSUQ-^G5ua20t)){X zD7coN$7K1q-*@@l*G=mTuTF@YcrGYr?TXQOxmHr(xOeHliWx_}PRm=IDkt2Y3J1&M zM{f3?cC&uuLq~*XKyV44pV-3_D?z;J&fhsfz>>o;GX>l5S9R#?8#e?$d}MUDdGut{ z##JZW-CyVCuK!X#7WdeTjV9*l;G7{Wv^?HuDc*B2nW$zn-#k+pK$XwykZa(7QC!iB z)nqJ2qo~-@lWW7$9cVdt)Bdf4*e&7PQ8FTQL`m%P?HwcLf$R;C3X-)HTDx{-V`^=| z5Qn6x_py@K>yB!8T;lo*U#Rk$FYjDP$npHr#Z|y2mT9CXd-B#}L*7}#%ajzu3^Y#? zn_Y!Ic#pBIh%^hC-;+zVVi{!z9N38N#;PZ<_Mb=Ia_~7$lKu*qLLS9Q657<1h@~CG z){8S{3eYMLRUqCLbmt@T3dk2I;WtvyWgZkmeQ>Zx71Ya&ScL_(`BleHjD?gQa~7rj zTr&8sT*39lRi@qi83lQUSG8NmSvEU5b#9jV8#hXmMw()uGj0PLI^WtIEo&?;9)oAX zW|aHX*C*({9;P5)-o9a0_%>;(va7)O$^7qeQX1keI$3FU z^GG{yn~wFcd&OdM5=Sk>iV+5Jt0c@vug+B|$R_{pITLnEU~@yhlV0nBE7wRxMbktE zv$=}<$8t>v=kQcIHpFsDT)-$#7EF_i%zLU|)z|-ftW9<{R=Rb?g1}ak`$8uK(|V#w z?>|^%!2n(>=y9Cg%cZ>0IbaG^IAX$TZmP47TiDTaO5bTc=PD-YcPS$wm7OKjA11$M zrEo;*Kc%5E5wtEpzD(E@2p8qE4<%@XfrDAzQQWo2cDYi{oBw|B$vwl8@-(*(m&hk= z(;*^5>oU)3N9-!!BYMypwxK&&?!Fh2?)Y}6R3Ohx`waJ3VTgLtOfG$huG6;%X0E@^ z`|JJHcZuX2=1E}$!a)* zhMz*2ID4wW^1j%4S}b(^{3UI59f9BuF5adeaaKV*?zr zNZ(i#twWtfpKzt9{(1I;7V#%*W2mkBvVAs}U(Iaiuv4g#^ZoAZye!1HdhGs!4iE23 z>+8+FRBDT13)CDF-!Eqfo}6{=PSuin;CgyApeF9N&*8{R9D4A{V`o3qHo#`?{QOmh z@v*r@W|c!D*;>_Yg=O=bP3*_|4*YxD8!zc!VwcsiH`ixnHjm@UpgJ~V!@=**-AemX zM>|h~>fT!i6D1M);7F6WLzWe%e$^-J)*pK$>+L?HjJ%81DB@lgTMC@|$ywsK4=e8;O47e8a>{~e5uZHnEr+eT z&g)PgaYzW_lME4f5|_cK=`C}2-#&QOh?F0(GasMt`u^y|0HvYSrpq9CyHIETidTwl zl*gBrQ5;Wg(s(mqtn^#;>-GAq6Ym3Bb*h*+ir!y(YpkqPuF>@ENehdWl9J*{znX6I z!_&7GLOA}2T(}UoJ7?`Yp9B?&q!dIyh4QQ&{hw*^jq86$T9!r7=69KyIakV`F*RLV|jUXkse1`SeW^T zLop%Mlu(Ist(P8pk9e8ZdE}bUrn68YuQ%GlAq2J6GFpN0$lqpi|=ovU_y;nfi=ah2nSSyC<7Sl*H;pYtzt%}Tz8E-W7RQjY%W@5`9{^QkU%r^@Hw;!tYf!SyBBzy6)sny=;%*mgf%Hu5j(rvB^)_ zTEQtPG3$ke_5&)a1D_=fOmP<2m4Nd=6m>+Vyb3d-*ONRX&K8`;Sy6B|`y#1tCa=$G z#*+WxL3&rr&6Sy|$Ji(Il4}+dxsv+b9o2IsTb9rFrw@PH`hKlhTkg*by9`&T&N-`$ zmaPz|QR4LNauulQDMz*3gDf)U&r#D0)=e%%41dt#EDr-EpM}-WLk|TN}FHGF1GT zU2ZD2Ys-hjn`t9-P5Qq6_OXsOXlUzLgauP6I($H<=VQKtGSt1@OZ`Lt>_D||#{k~3V zQWkP#LC&9tMxQGb<$4(BQ!;K{?g?gWbiCcvvtV(ci^kH^N9%$ay|c7*qjge!@~3#k z?VyW%9Bw)ocPMG&mj0oQ;Th3)T2jp<)NiNAhE!ah@V-OwQZ~q`zgN~(r|$kkfLDRv zQ6pP+&B;~jlu=>FK0^)m=>-nS3;yDcE^B%(NuTVEdQ>SD_dzW%fI1@Ymv`VJ#*oVW zk^bwoqa<78d`Eks!=`jA;T)2iRCiyEr1iXAU?);5d@SERe zA!YmU*5;%&d!C9E->3{cI{z>- z^hgQU?iU;X46omrQy=+3N6|}3hbOU9hxzM3$WwVfk=1ypHE+|LJR|bHnkrAN39$$W z&pS|iEU}Lw7atE{szAtA_n;Te&B(DPCy&598B^{O`)X>Kn)O0Wc}_Q{1~XVswEd)P zyuUhr>5Qre%$3eonB||{D4y39+xfle;BJZfnChY9F}Jh!is)p*p9usTBD2CN(1Ke^ z%R!0q^P%BxydjYe>AjbZMC|W4Atttas>oGbC#A;D3{88y?lFj(0FuE(yFQuSF(N#!V?sj;X%xNiT`1}7rcbPnph9v zSVueLAR0bCcUwAg!kfD8S#6SAYwfV7uuUWPEx-qh&t8SgUS$xYhra*ZB7prK{65FF zY6WzYt7Fz#Hue~p9$L*Rqv!WZjMieC+D6yW=kqH2zkh{^$WGN8r7g~f_D)luII+|E zy5*Xa@jb6Pxmc0Ljc_BbZ#3DHHY>r~SLmY^{!6t#)vB#aV|Bu2k%8hMYFn__Q=Sb!M2&OZ@CG|Hm=I^Uw4D@xTDk`(>;ru7AJu*JYUjR!-@NJan!O42{maipTE9AXFII3@ z8tqStWq9*SFqMvqSspADk}YYj%mL6E2ij6 zN`Ql-?W)9)s=S|bY}Y*g%O`Ti7ezjXP|vpr6%^nvcReL;{8lrVW1U*Tvy8Ot+L*G( zsw*GTon7a})%fmfbihmhXA)g{7JW04Om$mwvI8ntJVOll6{xHDoPJTjP|M8rGMFan z*c8r?m=ucX1h2 zsPAwzwWw5G$yIhrjo0hTR|h+3&7#^b5ssHH_}zW++)zTD*JJo}!0L-G*0pOZbsM}- z0(_aan1vYgbDaHEmf64-8#s5v z@$k5vnar!6lR@QQVB;7UHa@$`WoqY)K+8IsuBhg^qFMcsKQonzqu+%%*jC2y|Jm2j zz$K$JT_GU!&D-@2P4%~T{oP7q8jG7vGRyfTr^Vw|uKb{=Ayk?S64d|(r^J+;*xFyn zy>Y_<{rUL#I8nYI;yNILt^NT;LZFk5n&lo-wq75q7=DR8EBKe02ou7%}~?2YJo zmLv`)=WXxXCbX9MJ|Sh;Lmuu7st0T`$NYKfK22{cV^0qryxCv=NbHd7czco7!f{Cx zp2QD2Ce6(|^|=Q{n7h{8T((;)*~_hq6E+hAFg?pOGFVRe+}~fvxBN#OGtsENBRR|s z8%u~-8_emmL=gy5++NJk;IdNUP#+~U&qDfBlcBg{^IK`AvJ2P^4btClzVtOlCq$yA z!oyCy+(#WLaQFPAz}@`(xQFGn-|MA3zkOT>sG+`!)?{1U2fg~}xs%Y8oz{L;tGe=w zLuXb*-A2wRTOUeHcMv2}UPF~$?bADa#Y&*v??)7%%D>3vC?v71;T$8s2)(H(h4N@6 zlc#U508Nn{Q~36Kq)Of=0n-RlHG`qKX-K5--K1wz@5x++@phEcwH=;4|+1nO-qngX)@RMAmr!ab2HP zvu&%(xVTB&Otx2zrACLZ!8H6pz-JmDi7@mR^9SoFill(%Y&a_TzJ}7c>jel(oO9ug#tZ5 za7ZimVDV2BxtSpB>ElxeuBY+90pG)L$<2ldPguMz6uPDYje5cE2EXek?z(Nd6|EDB zTC>UKcxDS%)M*uUiV*7^=J?bwl@y11FW<0LF$xUt$VYd!z!$=Nm>(ud+7ZqteHM1!qkF9y052@fx4;bgJ z4pDHcL;sbjx0^!woS5M0@!Fn7%5L>k&SG5PIF9t;#uL7w`%|Pm85j;qFFiQoDspT< zG_x%#HbbJU_4S{L@AYHL)pu0H&Zy69)*IKAJ#%{QjFE+l@=(msIS7nyKS<2Fa+P&z z;o|3y{VjeDhc0vs2zU&s`)P>&toPA*$32skA$AuV3@$>Wd)w7;cS7Ce<8D z-aU5t$_CN0-afB~%AXG2%KIg`k{&H^M1isg$4X_p=9SIulPnFbRw^|EvN6ASNK*DW zK4FkBAnVP1H9ja?fvs-KO8*Vqztp~Zy#{Q+xa^|m@r!FGbhXUP8#OiflKHq-*;rf0 z&x6_)@!M}ZW%EB{AG6gGd*1f9ZY*j!$V6tP1uIAqu;S6R!@b!F0)XZMFLAf?-BN7S z6VMXPj|!*&Ca|cT+t>41E_=f2is9TT-m)wmM$6Wpo(_qQSrWVXc+OvvOkQ8=QN{Y5 ze`d}N0q4LM*!Pf+B+|fMc1~JUnrhly~Av#)YJ~#A?=-~ca?v0;(G|Je1|v*R>uPNNPS#J%;j;Rli?>?j&6H&UFk6D66t@S6pjsm!*A@QMa*6=S2;_0>22;mybCrq8mnx)081pW3z)hGF>p^fR@Sf}$ipM(A0RX{K0kc?gbi z1mBTS`fXR}rk=`P>+Vmr@Obk5tp1k6aVa}?KYz1kLib@psoboRGRv88v8aRIN*fRc zB6LDYlfBxrD7mRKLSmf~htrp7%SXw3gqMDfR;<`m617ffE1OE}zGuRE<7e0FD3bc^+#Py|qrgUw_MK2_LE!So8Z7cLkLt|Maeo zz&|a1LEvCtCEpmKRa3(0As)X;CJo7SvjF*!iS$Tqxv-@Zl|GM>h2(U=u818nhmNrK9P`}O%q!>@heR!94JgFWlF z8pLR}57ciFOUvjG-lh`T+78+-7{;y{GZuqZIkOTmIk*x{rn8< zJcvjhGmi<3N%o6a2xavvzSo;LTfEMyeVU~KsoqC-y4H3jlOB70&U%S$8))LW)KC8ZBqL(-XI||>Hw^>7mW@HOb>j)_hndhwzcyib=J~b zE_6znSb3e@CBk|6Qm3j;TveCxaW|_~7q{rZ=DCD*Y+bzc+Hsdt92N!;r-@XqGiN@l>or_pQMeOM>}WMW*dc~3lqZtKj~zZhdP?8-RlIhO z;1xfKx;;E^zc5DVKd)&EcZ&L9!B^+J#*SNL)Bfl)LJ1Q_TBVAI#F8>^#WHXYN$zV! zI9AmSCv~%V7=r%4p7qni>Mncs2p;ndKjI2z<0 z^SHiba3kZbdZ%7gQ~0G{+j@n&n4`L-eu`s-`jZ&63ljp%l%%^k8Um~bT|O7%B#Us* zm1kb7VimNd@A#mzDe5EZ5*@mD)#b~*KR%^n6V)nD7DzV^P*+d#*wG0`KJtTVd zqlFfQk~bd+}&IW%AqLjQoZ)JxJN3~4uJ zkWEH@H?2{PU7t>WYG?+{y^71m%?)%@r`O~Se?R-E+t7Hsg}(nfTngz=MUTzE_*&^C z{jVeKD2>Y$>+~~L3^zNQN3|s;F@iq4r*#3}>%%|vfNwB8)>yYzMD^CHoO8(drT1cQ zW#8^HR)tYQ9Rvbko)x|bSAoYgy6NSV*LR$a$YvR$Zs;EvD8U*yp{q*RQ0VjheVfY& zSR9;N9B8n)7i$RjHOe-@*#+ddlRmrFC(*-g^m0|{o%*i1dFrE+D(o~=OmB|WnXhag zknvKHS{DDTU?Cv*#q$=RKgBguertnvJqz98yUVK$6*Pz356i3@v@z)H-FO_Rnt~Pq4+Ryt(I0?Vl%9WfgNbHfa`JoW0|mmi4K*t*uSlWa)74vjZzt z8qNb*f>Usc`3-ZOGv=B)ntgP4p3g^<(goBZ% zCoFAFEK%qzHr@Gvb>xFTq89tW&3e#T0m(JUn6DQ#j|pu@0mZR$zRPqclRuB#t-h!g=;@zrI+9?`^{H55U?It- z`e9=Gt(c%@wOub}C;C-&qS-Y&Zy4m{rS0n^9Ko=c{E1Q|QJQ6dyE9@&XTdt?VYSLr zBsdTq2T>1_jTjS3?{{EvB!pLhCHn>j4u12Dh;Y*ue6XuYfa&h4AIuG_R#43( zm;+!8e@5^{05MY2Q!>YV6#W&JJCEInIA}`8-2eS@x}4u^8=?!4;*BjD<_U1QYW!8D z5ckMQlCtBqE6ZeccwWVC=iM0@M|u8oiA~xZTJLsr^Q~s&?vP3iH+`6p`Sqdi7#}tu z!FH}*sgO_Ek3zf%0${Qq1!}F3oZLk^Y9S%n>!x%Xk26^Mzn@P@SFw^$E_l;xHIj{^ z(*MRwR_cF>m$N8d8f&gBqRn6m)7R%2EK<(<_Ko^s#rI3XY)Kb;cJT|&cby#UdW4gU z)eMN!d0Wn0iCO=bbWmVbDy@d(wzo?4`cAXJd~tYMEei^lwPfw6`+r4%16x*q`L{_5 zrO{MJOWmv=L(v@&^{~J(N1fRd{BoFV&_U<}U4P#A3?5q2L&-rGj;~=SuGubCOBrWx z?iz~X`;(TMzo9?LJ16fhkX<@4ceSs_1nwke-YRB|p}y$wL!h;(#JZa)UgY|P3$)gc zXjp#RhGtqUqmcSD%VvLBcv$CF#igv6C83d$N^3Kcy^dZ|^Q{AA_b1(uH!u|7As$$8 ztzY}0F!MT*qk+fA9rF?jehP7q%N7paMyLZmK63Cf7K3?$W^wy^xHc76OmmAGUXFl+ z$X*dc@FmhvL9O_sD>rT_H1ceRm$Is649*Tv9UFZC6qF&|#y%;IMYhZ{iv+`sjb0VA ztn0P#YsQ!(gQ85RY!5gOp?k^cGkze2)kV8T8s65IV3k2_{>fulT6FYZbI5{oBTY|# z)AFQSTsU$+f1f_<#rIH35u*ucOUXVhi<2)Q4BUIy6il-teBKrX=DT{c&&M#&3qsd*HpRAQyofKHYW4_+KxH9S{ zn^=6MGZSTpaXxX4IP3P2dPDluUz*2Sos8mEW{RSD0^bACp>wIi;#N=|KxD^&J$jH4 z?%#y|LaQx0`^9RbR-Xno`H%Hm)R~zx5;lph{-MkMQO^Qjq|-{}A81p1K>bP-5HEBV z@+y}*gwviAHu0jfY&@p+OQyIW_GvDJgpFVQQxfwJU8bO`HAO12M~{c6*Z9FL#_W^A zX9gVdX^;q-*Rd8&-y#nW%yY89icM7i3C`yd=cGazO5cMZqTEwnn>UpIM32-yt4QtR zowy<;Yme8q?aO@=+Ki7xyCD8ZFn61JcWss2M!qa>1RG^gS#m=Or z`K*TMjA#bxl#S|x`#q@McaV4zN@sR(%>Sa`X(@78%tlN54%VHZhP41u` zYnkL=oW)!31`9n_@@^2rBBCO|(oP;YxgR2~vKzB}E?zqxA!Zfsr}39Z>ORU>cJ-S4 z*JGZWwl4b%9@_i^9`0su7`e{cI&nf9Q-YFa%nC$KC%IkJ&lzsLx#6_f=?IL<>r3X} zs%j%;3*IrUf`2JKSzootG`v5%v?eL%@D_^ju%yD^wLG54=pXh;!s?EW!cY_hW8t!< zXks5~`1<5c`)@-U4X=PBJRzV|?HJwp`yU9=d6K)|&pTOLpW8YH)3^CAWf^gFMU|gL zpPdQ~+CPz2w)Se|$3>Jd6*hwpBbSvp#!G&kRn$Dxu-KmG0>nxE_>VO*v3$!ZoNwMR z%X+br{V;Wvr=$!-mcFWl7C;h^;=M2jL+(C@rp~)67TS9yj-Wx_~%hlMAZ*@o#YRC zCOyr|V-{@qi9%i)M?v(UdGVW?7YbnHqB zHYJ6_f~Hr={qlcL+*&`K-SUdCx^A-9!)srkOX!5)wHP1^6LNFKD5Ld($oFJyQeKn zMF5LApSD5tTKY!#@E(wh{rq#q^}^%*2b0%H)ZiuY#8N<_S^|V7R81tZuss*T3RPGO zCi9`oZInRYu<((mZ|qaVE5_e-UP;frB318?qvC%7B#{hTf94|hH_r&YdOI5t;QZ%KSRR$;n>g*99;Q2l=(Qx5Ev z;XrxzFnPVOXJ$^yI<@zfxTae&uu7YeZ%&7QDxQ&EJ3N*X zb&!?L_(K!dm(KbWrL3C(5J1&8N_a@K3d6h(C3bWN=sDxAV-0+PPWE^ zO%DwRL@g}X--KuH07G-wvB(n>M40G&e0PlvC&ol1zN(ek_~9jXjuGcZZ_O}bbwzv> zkVDfxsuF}89XeS4^kFp##ChAC+ucw`*`|TPsQsjwjCQUU zrN)QyEzUFCQ(l7zykirSSnE%-%;a!t1pi*~LY}70`JOUo&d|Kbhz5(ju4Fbx@0wqM zJmx$#aDPs+fmFu}{B|FRw23+gl;u^Zpzh48`i)ckr$?&sR*}up#IFDm_>`-VzYm;Y|@*!l}9^7BT*d&_DBj81E> z?w9rU9CeR+w$(qMM!qY2pOkU(Z&4A0rwM_IVN-BR8_@eAwJ>nGvFSs?3t zt@6~`9q!*>b{MIu_a=xe_-9HCL-e=d?W7efykJDJcN;eeyaiE254T_toxU~S>}rhu zDc0LwTgcZj*zoG);0e>#pFSEsx+h9hnCRbd(U57KZK*`h=YR<%6d0~ilFZ(VH@{rl zv8lOh%!apc%!c*8KvEMi8Wyts&JYUUFJUl|uirniGPd3B0gmg^XRRI^7oFz2?8*Sc zq&$8q`}c`YG9-bQMl`Z_t&!om^qOTwXwcagJX#`!c&jzcyzjTnlpOBdOq=8X-K~i4 zLBFh*WcTU0^}b;v2c&6o!=29aiLg}0yOaZpfje9=vG)acU23o5CT%hwpG(uJRz za^vKRcY^yPGe3VUyyqeh;u4AHH(rn}uu>xJ-MPPy#|dRuSz3(HmSTG&YNqKWzQ_Iq zU6Ju)$Io6ZT#s~p$*uh>W7*Y98R^PEkMsowMOm}%(diPYTH+_zG^g!U-;M0*DMFKn?l+4pk~5; zRGH?5gQjJ{CE}Kjb;1#`WDO7;G!9}-CK*7H%}^Wn-VP#BPDqG#$ivF*U%gsP{z6Rj z$BaS`_yv;R&Z2*C=5)QC@Seu+#tlt$OB&)BHYT`wndbzUJr(cKJ^R_w++B?(;L9&T zmnrH|(R@z@9j6oJ8h>u{*VGQG8!(B{oK)2p_LJ!CH?A-;xlX^FIz>u-@SDeu*Mr>| z3BTSNdAhf=-;%C!!`;;#!|s+m^TOm=KP<*2!4RVB6%`YV(iKB(rx;a(GYUq>Yv;`0_>w_G z#Ah$jB;DSzPqb$gb}2jE;15CO=GPFEWJxI1?O_t!nX@xWf^l(Y`m|=;Zi-q?wvOh| z<0RTZ_Me)h40`LgoC|$xseEul9#R;gpeOkv$-!vDG6) z%eKNuBmY#sU6ty6kDd$Q@eRN*bSKtx5#MDmf9PwJRSeFYA%oMFfemN!1v7uhZ+d0p zwfOnYwOoMd8%=W!d5KRiR%;z%G{q@!-R&;DGva})#^aYWnvKs}1g%DbjRoT4ZfYcJ z+Z7DZQ8TC9(zbrY?JR`fr}gnYwfE_6K~c6J7D9gPE&m&1Zvj>1w|0wfx+En81f>*7 z6%eE(qy=e_E(H;gk`gIFkdjakQ7Ms%7WNkc4 ztzYqy@XK{*C6i`B8`<8Ul88%sQG za27_xtP7YWBlCH13Y=nvN82?W{CZ=&T@?-x=BL<&4xBS zdRVv9vV_3>7Jf`B#0Bxqf|ct zpLBF&;6k3wtMpIPzBwbD0aSkrPs_P5?yx=41?`b{ff&Wr;3KRbT|A}i_ZPFH!yi4a zb-t#=__}pnWrgViZH}J?+s}6@hooTU6W#AD+SB3_a=wH(TcSK=mv>dUs=9Qf zesj@8(2#vR??^J5_|WwRsZM%1V0A1=5H1c@+7=*)`1 zusibXh9TDsZ&PTWk*^`xy(Q>aqwCTg#*Uh@Iy!CStZuk)r!N1iAxUHB z&?ykuwa7`l;iBjgPk4q$J^LO9?df*YDExaDX=quA{ZepP#{@SnI%*UvWkk_F*5~#V z@0v)BZs}4G$hSqSxV4FuMy2mYbm)gF-@oEW^Z?m%$nb4tb5jYfn~I5v^y<}~F-~Kb z^T3J)Bd1&l(}Q=vQR&3}Ah4bt75700RBkJYVOWP{l0)XgCDC z#Ezn*49J2HM3y)3Yr>RbJD6^TfGznn*h;k^t48o5G!(jtJ}b%fTF2^K2nz-SE%CZN ze=O^%Be5l{_cLbh7rg%~{bSM~o**NNG%h|*!LXd3`q6c+5wn}8wn^3twF&T<{E zHJ`ms3?hQe z(?hY!pz~*~Z8%O#8v7VCLKQ3%_TG~#fan^{vmN-1Rj^e=arNMNo7%a7-1;G5s~LI4 zx&6>a79S{*n4bc1=vn8B<5VYBSJ>~V0LFAKH99s!p;-07%!lKgxuwdT{a|`XzIoM5 z=J`v!{^Q2c0v-=d?Zye)4D0;2B96Z+38H!meybelv9ZZNL}9Yf1wp(R1Yrk2I5|kN z2(n9ky3Ap9P-_jQ*1NOxUaGdpIe&qlFybCf$5MtR0nz_+)G`jIEo^+>8n z2tVl^`C(_$TFc0e0qZB|kRWNj=q@+*T~x^yyapqanCRzsxB@ceOqaS!%e9C;YW{OR_fg!L7u7Du6$|&yzx`I3h}}4eF^Ablx*wn7 zcV2(2Poul}rd5V94j*zYAR<`y(S}2B3J%1Mn#H5Oms&6D@APO=#I669se84G=C19| zb66)g_`gUJb)Bxd$3Q84a9rej5AR0Rd5JSVPbgNj;@?t0PYBApm?wAitEu;#o3*H&|F@>M-E9un3E1e0^B2I!S@WF={@F(QBH{-m7l!z*zgr;+|s3& zkq-^K_Q9k9{^)xDXI$`U*#H$dYkX;`+9}}V)?qmJph+`F{0br7vKT_Kd3YhFXY1<0 z7h66+w>zqiYIO)kSWJ^~PYmQ8O@HTl9r? zk{8V$LV?6qam`HO^P@QBZzV(+7^p#s1#CvXK?AAQvyjn({@5$r&t4Eg$JPdX2ns+w z;k%W3c~^h)R}Z@CS#|c9#)Fc?j(Rr|2=sx9cqkvHE!pGr2xnW3OTNE7&Z7HV$z#}) zXQr?uPFLB=2JH&$IpPt|>D4lv><2pBn`qhmK3V!pk&xbnQQ+I{vgmVL3tgRMC#G6M zeSY%GB;E5+d;h%~)vYk_!o4}2bbGP(z=coIQCd*?)#p0uowA(kzlto(7&M6YoK>))4eKFU>{{bJe zM4rsmN^hR_0y?U1`XEgwk<&BcU2Cfa*sFbk;c8e1>g6@n)l)v0 zz5n6b-ex?+OuuPuobIcv{4o2_f6NyT4iWIbRD|}0El%%%1YKXT2*gFFhHA@lO;CBUd9)ShQQ}36zhC+%p7kwj3D9+-AY+IT4uQ$TG~g)# zY72tRX24Fw($dmtZAJwoafHYv62*#x_0#BQ3j}n;kXxHoS%Ts$7IqoXtMHP1sjQ>| z??1>NK_;W`iolF(8V)WcaFrYk#1bevfFy%MBYT?1F}KxK7~}dq7gK0S;L{$NyJGNs z$gQR6XO%NZ5<(Ph{KrfUQ=K(ilO(;)yNRM%W?v3l!+G0 zlL1WO^tk;>nXWK(e))5@4jro+QWtN6I1*+8bUlygu2KMnO)0&V(t(eIL1q~sT4)FN znCr4J=tHz_Sp6@Il_jSQV*>MUWC*>uwN^3UIh;iYC5`LsES6#tB*W?-M`UB}n_m%oWutXhPbmlQ*d=>v89j)+hBVG(h|W*hjKzxYSs_ zQqUU)RYf5DeionzK`!^4G@m5iLN_8KgFzMx*G#=y3AND2#^hxq%Un$6&2D>ImChMK z(RDFlenLKF8l;5HToY-78373BGN|{t2u|v^&~SAVIOD%Rj-7(1QysydNi{}Xrx1t36?Z3S>! zgx~}pqM8vXmns86*2sPUtT`zPD+>1S8lzpLL-J3C+SDdZ)o~C|!YMSxWphqN)AHZ6 z_mwuXQ^Xi-#~aEM*b_ve`SK#NIl-(PERK74(hlwrtt{JjIeN2^;LFL~VI$Ei^w)mp zq8FAnL8psfYfKinqm!*Y5Kf@msH#O>bn*+`Wt`=wrm?;El!Jq;MWsf+Zz{!hI(oZb zs5$ek=l53hMVt3YC1k%oO3c-s|GYkf`yC_RR}$4C#76D6%-FW5^;SsG^_=6I}5DcBtD{pZg> zu$IX_y+9Nr*=<=I%*o9mv(yIPv$$=K@ATeQD$9GuX>NjxR!&;{#}}_C)NZ~h%?r01 zQzK_2Rd*l7F@2$;nFmbGzmL;Mc@!!GLGg+Uu01La*W&AOd!+AAfOX>olcB4bitYNQ zmC=cmDb}ZO%8o!GD++s32o$i$je>xHVC4^}!GDcAgNL;xgn7f>>gMqby}>htPs8bz zs?Nk#7x5b&DSgr0N~%ObN=excqOV5)CN^3YiAi8Nr`V?De80v!iw3uh_yiQ!gnAkc z4ZfrdEjg6T^ag+MnW0a#`;zorJa;e*2F8wyj=LR2G%ajX91!7#NrCqg(g@&OAwqpN z>|8&-+hUgm3lANC)WYl=<%PC#+jG4xb~Iv7I4kE~-9!H0DBcaKI?wskkir{X^t4Yj zZl6YvY|~E4gF=`^LUpvwbL=%{GJO(FPHi*dr$Iy3(u>sWsSW`}c*IX;u-%db| zDy{0qZRNaoB&DN$1pJ03=LgS9?fHx13!;^eusVBV{x%eGu~1yKB-ji zD~>+nwEc{9iI82TZ+GIN3#W^#E7V#<81S5Jh7gh!xab<;dWbMW&TlBw64YN1)$82F zUoin5ur9ZbqX)qM^vp#@efe#Vz&6v;W0+!I0nq_DQid*7nlB5GACEvpl)jcAXoiA* zAkl0UOt{lvr$7N)FnK@ZoxF(%%ln(-s1lH)!Uy-v&p)@ot{j|9)}H=I#*US?gcMvfB+ zjy1h5WDL1XQ?FrTZUqz00MtXm8HJMP(4svq;eMoI+})_|=7op3umc!^Omwki|S*-m}IRp%5K&!h<-Z;1E`CVz^!~Xq>YAkbLO` z2srBQC0sfa4{HN5Aro3Rdi?f}-Yj7Rr%Yg!BD?a{&@VSjnq<&tnc^~O>1WdQOr`gv z3a$~DxFa`TP*2SCu7X*%QhR?OJ;XG0bamwpt)iEl=IGHS8XWYN-5oLs0j=s(r07?a zbTFxDk3LmBpudOG;!b_QJ3ncB13rxZ+p^n}BJ<*&l#EjYxBocKJuaX)r8e5G?Mg*A zQ`(t35DG0J2HgrmmQb4sb0QF_hvbG(sp7rVIK5PJf7cz{wyHVv;rN{fV^+bhUUMv^ zw>}Y`iX(yl0NyN6B@K^&`YE@#`<0#Rlhb&2e>~udOk8r2|H{f^tII!K6QSeVwYTSk zz76!YP{KZ}s1Qv{PcL$sl$)8G>k{`+N~9~e_h&(G_DTS({Sz3c58u1dOFm%iwejP@ zL}qgNZMDA*4Cd7?gV{sb2DM^rT$_U+vF0$4ECyg5+M*#)LjL*=!6(b23FLc(4lsx%nF1T)7?!s}{O~(t&U&rQ7;erc z1bq*lhHva~J}%)U<_q6=d}ypKe=wGdyLwaF08M2Q>~2gh+*@Wd9}&)cVTS1y8DMVL zR=Y{X`Fch;chyzI!&fVd($CM&BjjXfH-Gjc5U4#suo9Dcr+6`(HHwfOvI=j%1&r2e za_1!L)`1#RwS?_G96Tp;*OwpXKD%;iW_DJVRv~MUf9}x*n~5)-Evs=M({o}`FC~v( zLf7>qGTHgS7ZSjT(ftQG#5Nj{C$t%Vx+i!#)56BKOM?alUV1JTwVwrCvc?_8ME(B$ zG=mUUVlbB;$%@5?7@Je|kf3!X=>mDnL-O3ae!eQUriZuOUIgEUeG1)2$X z7k7icrV+ic60Rb_){hoOnm{Hal_S*-CkgW0ttk%*!oQL% z%>qI60?Aws=M#a{hCf@IS+D-H1};YZXIX%s+G*4J2+O36l%M$zs$=qmbz-=~I?fa; zk2d+f68JlI?bE%Up`i-d0)7b0h{)+N>rB}oL76ci9me;U@x z^-QZRu2e5rW-Y6($J;ev<-sFw7wIah`J_wMnQN3I2>LZ&eYFcilxj?)6O1qUwZRj_xsW+9-U!*0j*)dAwK*UDe0-}awx*tYpgopL4F%z%;8M^$NkT#*2?ix}fxhS=`k|qZ z?~hF;zXjfvp0GA~`58!`3~`Z>klb1kgPkYTkf+aHwn#lzW>g}l50c+^(^@f96T>d` z4Z00fHZ0?Ch!~XIB$wWrz%$6x&mOlcn?f%$+>7((xJOrAggw|0v|2rudPvQoX#Vqa z9ss{i9?EF9bmYhyB)<1so!kDEV$be0rS+XHe00)Ccz*4_b&uG-V(Fr0v@ zN|X-+CI|SCpt-fPV+r)pm*N{_XuuY79;!Lxfm3RMI04vexNvdz5gJo=#=7I*VIWQO9GLVB@Y0UM*9P{6%tg*q!>)6y_ng0piUA3JcGo zj65iG6d=)J|4)HmD(Hy@^XHcBQ7r@qCl8&o5sX=)BrgzYOhN(sKtK1ciX^(X$iz1$ zMy1zlzvM416yM+$cb5C?rKd`eHWGjOgobH%K`B1Dh#+Wy^H!Tu5OW9JslX$ylP57q zVg(T%DCMN~&u1ggrLrOP|Bpo~*6#kQ5qN|co~(@G7t#(Dd65fCP=#k&#x^z(baO`6 zjcICXQX$;oU~ldcf`}kQ0h97tc^Ex@0G&-gduO9?3@8C`FpP|hXPF`q^Ns=i7A~dK zdUWYByah<|Xk6<_4GROKO3HgR@jL;%@|6(Whw_zceuI;+6>J_9?FdmAc(NT;O}BlN z)qg)+9fRq!mU}N$LRIA@^yI54MRJ9Qk>Bx3-Qr*OG-3!;hJ)wFo(o+}$^{e#qIc>> z_94~|(fv18(aQ*e=Vs_{&))ee3EuV)>U<2GEZ>ofj!hIFE=2a<*`z9grgdYqDu3t6 zc%V#mxk=NZL4)B^_ypzY;E zctELhx#D-lsD^T9(=*@mco~X6p&J8>0X(p%e{6K8jt+_`A`I#!V8mPrQUXA$5DB$} zN;}y8O6?(B_;U9HTj6Gx{o2yJrE%eS7!X?w6C$aFQRUCzO~q2(3(mC1#UV}x8s%3? znHsiI9s>Q}Kg5jmGw?qY5GQ11kr>$Zp$-7A`W)ED2rl9EqhZ03Rdg6YtWcMw|y5v6XmIb#Fqub*zslk zTP?GfGthT;1n;#)$?m_B>eyaY!uT6#`ac;ip|1Kt#x1#U?W#;F71j7h$^!`xa*UIt z2oZfQaYov&WRC0~m7c3JOplb8O-Up%WVirHS1A z7feDT6i}A_q6ok~qkuOrI1BlWk56Rh4?S2@H>rz5R%?!-*cF;Zt?7L)eJSbARR6n2 z{@F9~E*o>nEw@)rZbcl^DsWY(C=)b2o@{R(n-a{;!_$n6Xux}sO;~tfd=m95G2yf) zF0uW6>o`iE?-`>Ul$6X)S-3 z%BSQ0oaab?gVK;ET?tBm0LKbDE3ftv)XT z9AM94hVB3*mZFm%K8Lwv8N zmjaF^*gM?}9q4$JHvfwX`y(pw5#r_7Z_}IWB_d1uI4>|UDKB5 zs?(NhRqD=l*yfN81u(xH5b_SOZ6M@8F~+a%Z(Lu5xF~QhxU2Z~@V4RM2i2{Lr*I#1 zcrHDljA^jB`m(35#=$GL(YAcb%{yPmiW6NX`)1#ruMwpeUD@avt_=&)GjKS398*l@ zE;O+t=00OQ77Lq`4+J}4-D}{u#U#nmf_Lo}G;EmB`XCp)f&jceyS9im zLaod1fA_TbEE&Fxs!)f$tu;J*`!`6~pv&w9xt&J{b~=*$o#ok+_xq;Amy+r|Rnkqp zq3Jl+*xdRj{>6)kB!|zrdA6`ofWt=ozb}Z>Kkz>O3Xf2EG(O_W>-rV;cj5!Da-MN2 zEB8rANZJJfGyrx15xu>d|Md-pcW;*o5%bW5hnYjr5@A$_GdM38J7&Ft0CQ)^DYDz` zc_~2zC3RH-_SX=lexe#wSARq`smE;_I+?e3f7(fvKdm5=yZ=6Op^Z!AYi3B6FT!$O zh&juRlpF9tUdCCF=kYGp0MZ03edp6j?5f4<8edg<@M~FhczdIZoWL8zy)d!r!ijoi zClPkY5{G*kcrL$nLY-kwlPAMSnagvTGcE)zQ!x#ujUsxZhW>k zaIxDj{PyXTig{6(Sj=b7hU3waY24Kk_}CwvI-}z1-;K@Hy!)p``$|p)fM%W=am%cp z6F3N;MMpJq-3P3T9*OG#Y=CWIGQt20!*vJR^aOr>b1d%+7s0LH3rOthPkh-}^n1qBx4zX&p&JiPgK^d)7#Sz0 zv-q-3Z9mY5XT@mR3ft~}PO22U$@i9k0OLPq<`?X{Vvav{ss6o{caW|!4QGh}h}>Y0 z(YYzY6jR}P?d2vzso_>6>$nq6r*+L(v>e8#jGtHKhP`5w(Wlo;W&09^^nNX;>#?2BlGLI~Za$nh*3#h$W6$R^4NMCP5Qec zedc8s`QhzZ6u+a#$P;hh4hKYBh3lM#M+nxnS-_H??{fdqtBtWwxyo)?rS*AF2A(>Y2yNwI z&+KroN_`VI=0rc-MSd5aJ=8u0<$fT`m>uhr>p(tDf;Q-HOn$A zOjB)HFHYw+Z^p(OR2po!$fJ=JB)8`?sis}7+hm1oB?=6}P>PF-oj$3HTEL`LF&^4~ z(%RI1%!L$+ev_HHbOM);9wXDV|5v+#K*sY8VJIVSS!?F8v!%BSbLF{C^9TsEp&5?F zFXvEJJKO^Vr>bTAMd@BBkRA=4j!|);x8fqta>2pWLeib#vNF?3O!XIoP5c3jeKn91YJQJLAykJ+~jAQ=?Ev9mTGkBX2i*c$m1CM+_a?^A9I9;DTR!Jeg@@-Z4H@vyn=7{r z`#WJ|##*mj3sxkbKo}qBe;&hN10DwM5aB8)DjgZ!Tsd`AdS{+P^iWXvhs!We`7ans z!zPlg&O-mNoHt%xQ?wy-v1%+DuZtWq;aeud|H8ASIDy52BaMDVjSM9%rwN+5aJRf| zeEK5o;gLs7y%0B#@cu7lXJ|=L1NltIh5~g+uq-Rjh+~f--S0Vr9VJyne70q_6?R;@ zI5>_GIg{42*9;sxa<{qU>~xknn;a^}AEG7~aG9WtQf?D*lRlSIt zhmuY>$NSQ?Z!?2{;Q*tI_5k3V5d~4d`%A(H#9LJOO^%neXeS|*2i*Fm%no)KAdqsR z6evMBTvt~arH>HoZVpvm-5ujyIm@i|md8u{w7~F0SZ@{%!aD9W{Jj8d&g8Vt-9TH2 zUDo8L1+kb##xfbYumMklb#KmtU6N1&0_~)s=p-u1-?u~+XPJfxW=pL8N*R3xxH+P^ z73N&qK(}mBWZ*R4%LYXkF7*6BQ6L8kn4X6S*c8pu+7IaH(^8ue^%l;rFRN{vYE|tE z(|Abxf_MRg3BCGRo>t+jjAJ0H_dFXQpr{rBawN~a0ag|VH#adv2)S8chY57Ar42{G zUTdMsW5%R=l<`sdomw2(Y&R?Ge2bbfO*KBlBOS^#PqcWR9s?Q-q_y)A*bX@Bk@n7Z z>YqI?KlV*7UhD7ysOzSyQIOS@dR*8d7tVB`LWIQxq7~Pn_de8kxGDkfKrzSPjzksg5crD4=|S=oc@HZ+$}u6g;l{BLFyr zhT3U)E{gSk|5$RH%y&U$>qt$jI(3z)X%XYiTyBSo0W{)?dRg{Nott7X3{vk0@ z*>{Sh#@kXF+RXXY_VHs+fBtX?gN?hw>0BH>b}gCX2jjkfCG~nK&8nTv;KTg*$E$V{ z@v(Th-Jc`|+#a!;DZvG$wP^@5#q6zLdG_g3#)ZfECe$16wTS~K+B%E{M{mLmfe;D0 zzfh*29Gj~@Y>Kjo6*7BHLN7fKf6cxv_=BYAWvorbz}oAEHBwSame}&AzP`2<-gLAV zg#3-d7D5k#_eSxkK!ik?ZBimW<|hq0(W$HCHWJKa8-8@H5oXXhfF1f9 z6AAd46o$RJZwzN+2?X1sS>=Oi-K!kAdSnFY{f1NOJo%#t4arkwOC49z#94 zxt(Z%g5~v6bGozb&jR`AZr!h9^n#ADut0+#h`WY;?KN@VbR`b+eolC2ed!XI?XrWz^<1tNLj4oLC`4FPRD?PVfQY#N z1P2ABKxO!)^w!Z|b(^MD321qwol<2UXMWSq+zJ4OMdwGwWq02%UgCHdCw38{Q{i-W zT-RFcRYCO>0=ce$gFQQ!-tU{nU0%uViGK3P;Ib^@&a09nAYd4H1GQM5ndz6QOX)u@ z#$o)A#^OUXD>ia+X*2{BIW?R(7zD;8`|f1_tFDf|iF_pc%j28cXt2^W)p&m16He|6 zM$X?=1-yf|^*l)Jtf4fTI0OZ<=+n5_9rk@_SuP2boiQqttMT|2fHH$(L?{5=0FXvf zL{(IATDtf!M*z~bQ#5t|4qSsXKN?uU&GXn*8sv3ZY1DzCt(EP2`73va)lNcS=cx|W zCrk}*|0JKB+dc7~dBCpp-W*GoQH8siW@ISZ3a;J_e|eqlo^-{aU9b}Q^-Kt-wH4-f zeNKp$#M5541$+o%DmC$3=k_k~Jcs_G)`QO7ZwF3){tPXR81^KQ_0-=Vqt%+WGODc1 z5D>u^V^cvnbSUF#aN_{Vq|ir?V*b_s&G;EKhDpQt!6YQa8@lO{$@+HTHmjECH)GE{ z3w#LdjySn`cE6KXFrX^&u+oiu{Pkv4YP=z~b~bz>_IZ8C{k7 zLyKnV0k`a=Kuam~`GuF=4>&Akal(3DDU^2G2Y&id#eM$z7&R02`b#Xjdz981lKlrY zrFDi%{QOFNR~1AR2gRVsCV@&8F-{21J$H9O7g=oto-_wB@(N%K;HtX{I_GJ~9(6ke zLk5C=ST5Nl#M26HB$RjSQ=k6iVtkwq`!&DWphUSpsX&`7#aos=QYt%IaZP3-cEvsH z3O((yt`pj8HnB3Vz^2t4V);-k0MxBf&@qfTx3i!$ydt*u1p;@a)_%p_>sUhqYdJ z1kYKjh0u+&T&9E=U`N=h^BTsbo!_cqn~Is}F>p)xF0njPR(8D@zZxOQTGKac2B-j< zM3)h2-0XfK00cpv%)hA_XU>#yIh{IeaqH+nXE8AMs^T`;i#6`Oedo+1sC9TiaJ1$k zUu;7Ig+o@GuPjx{rysrb_wSAQ{O$%_bId&z^vm0&xfK<4Z0{4@ssYTgZghLPzYG`C zSQQ~TLzgtUG+9bgFvAY}xIwu+<9`@B3>t7nr2}MCKS)SONa8?MsNE|-*kWz=m_P6N zWOx5;W2QcTJDxcmu0%kTcA^t>edWM~gNZYSN}(^mz_JGXI7@n@!vPupyuDXYzrzD4 zElQ)GgnbF_w-Nrv0^Kyx2_JvN%Y!e2*u4$DxB9m;unrcRdL$i^D?e+Cx`CUV~g+rPA`Z9FTA(u z_)gc;I}*DXl{B+c!oy0KO3FlO<+i2yOvl#$R|c8e;gx|7&(p1;hW%g|rl2*d zaJ*~gk9N%N=*jkEr=@8TcL$3C!3RnS0*+x>w>sY!7*tly3W#z_sGv0Kh!dB-{_2up z1l1e>lISYkN8!fve{V~;FLH}s204vfs(BR`<^%dj^uUs%iBYr7apCS5b~*n7slH@fmxf_zaU-( zHw2u^j~yBGixE0@1fu==-65*%wINoKKCm`#X|)7*J+&Bry!wS6=6>)W*=%Pra`IN7 zTXL2zL2n7BE+$wDJOH@s-N{w1O5zk{Dck*qV4u93dtH%QB2wjDkwC zenb=w?c)XTW)Fk|zT!`Bj6EbK%7#o^vb56CA%sX>SYQO2u}1)*T{bT>gxk_;+oDdiH0Q6u9ZC2+KqZ1N{v}jZHE5>e}jhg!Z5$ixV zXS?jtl5!hXJQR^)!9@Gb5VQZPxa9b)%5D9Kebv>qC)q##!pBX&$>K38wWUTAh(L{* zHw6;Rf6im}k6p%xW&@a4*RteHY}fNEzjlX-l!En1IUOqf?C5|ZgdP1>@kp6n(!&GQm-;WVjsHQCfCQ4aBtfeJdgYTR zQ#vDWST+6+zts3vqNP>L=Fb8Q=C&pKPQ_}l;h9EjY8=d5iMqf+#Ne^P_5I&}{@m5k zeF`GXN$8%iXg!qiQvknWR2RafHojPSf-gO@UM+gh)MNIO?nKu)TX{W@3n;%+N20#F z@rx{nq=X;v|HGTYG=jh?6t*x#@&aSU?jLK}q?aeL07Co-wQ60+2!etrcMB1IPqo7{MfQOQ+0ep@?1_L;|Z*;I#bHrLBs5VIqO{q=FD)SH2gc7ih>wmQ`%r1k?i2!jEl77z2|ILbJldUX1D7S#CIx2LB`ClHmwg zb?hKG1qn=M%bXdAEYQ%|5V&zj0_7d&5QjfFTY+* zv2GHv9VDeqRK1ze#>G6w$U0~a7SM-OX4Y`m{-O{>+Vev+Lhr97I?ak()8)^ehrjiS z8+T8+)@Axs(LHtoR;~=lfDnEF+9z!MEX+?}HPab4&Vq|wobe4dl=*u$i6%xr zt6V3B8yeuCFs&SmmI@v_3a(IyZ-JmnO>R|7+ zW$LKx9-9I?x3-1FON|hqMUIQRDKA{QzatE0Av31fYVrK9Mk#&yS3!g7XkZA@NS-l?o>L(duCI#M zy5jJ$0?*<*aiX`1{dSSQ0^TD<3yV%~6ql<2KT07~wFsMo4!s$Ks%#RPXnooF^3V$k zM1{*gQ8x*+IzwoXmzLX-=DhGb%p<6`^)bL&K&0-^mB&dt0kp0PK!oEzq^5 z<7-?`p9lNm{Jicdh2B3=E;^UHlduer&mqGD6yXH0Q!xwFNI5>=m;P@E2aP;|hG{qe zJ00>neQEHhW`ZBLAZ%f!a3y1wLIT#`YdC~+LO?pmWJ5^_hZ-2qrOJG=L*eiRCpJ5aEct*5o34jgjK6yZ%}E~I$GvKC)%s= zBfkQ)Uj!pPd!Ubfx&s{SLlC}DrYlCe$XlbsFfzfm=;WW_IrCaisPjWY(wB_x$Z2NV ziN(%PDZ~ho@I=4lq-uRW6k2A$2bG!oBoX=@b4**S@dFq%*n4yL9(el{!$Q}(&kr3M zaI2NmQ4+mS1zdS0$p}IVMVM}OhPV(U^a7Z|#mEPpDInMaHz&|_PnKhK81^@6e+#U+ zFU6JDjqCYhP_vXq zsz$+bwL4(g@~*S4E*kmze;{Scx4!ozo6XW>qv!A|7PK*y8%;#0_^u;$7|Ms@d$!}F z=!gTHwvDM?ya?d^TAp1l1x~CW>dEZ)1vxqlZ8gE}y5JdvK4jo+c5`#e5k~?w#Z&&V zQ?2J7v{?-$#wJy_-sJsg+$rC4*39FfN}26{(YV~>(UcSv`Ktl!*ATI;|JESjMpwMW zhJF4L!rFgbb6cR*HY;vO7_n<>n7H>d4=(CPr$FIVgr5<`;lp9qABT)6LS7535w zH3X<>X&n=`rF!M{opBr6%W0Kx65~o*S;f@+^}xvV{rEJ`GIa}`g0H|r8R$XCcd3*( zg5gq2hRjJiP}MWHMX_{Y8QrRv7bTcGh4#sd3N@itzi=e4k~6LA3q3!fSRBR)@_WkL zxG`??y*S7N@K^n=VLhQhD+)bBGsqaxoWr$Y zKfqiq!LtR1uBz3h4Pj~uzCRc=U^VO2=yB>%tDk!P!H4k8z*Xv5 z4r4oy7S9heION+xTt_JsI4qQIzOQN%^dt7O955w38zQ| zOlw04$mo%x85s0;sF(J!2Wtp0vRN8|VLc26%2CDiqMR0{h)$4z+CS{H&be<>-11*C z-a|37@XXeY`i&E`i=(Fq1^1+eJqSa^FCqVkD1PbVLVD;pEq6VNDBz%WqK@dOl@~Sy{ z{;~Y;j=@#j=f2Z_^r-*Dxa1M%h6p zS_6Y2jbc?;K6lk(^bs!xQ=<1Sd)@fm!`+&5syR`e)^e~$%l-oFF0vsp3VP5&7&ch^ zS~r?1n5pyTN)z--i|FS#dw<6bgrn?$N?cF<{0M%Llf>}Hw$!YgnfE^mZq&|!s5_Ib zt$PF$<=;<|*kLuMY$!b~VGMUrx~#!r z^a4N_om@q<3=CF4&|x>e>btj*yEq2oJ#jIRNh}7onucX|1b%)8Q1OAA7-(sEc46RF zm}#iMDEEKXBs+iKO3XKHeG1TH(yXNq%(1Y2%7k?C;ki2zOuM^+nU#AM?vdI!es@gL zz4&vOYaVJ;f^f-8I{H-D%_c3L+h-7(x0-}T~ma8va3>>#_k^mqLz7)EBQ{son8Bm7h=02NIS z+a%vrxq^1Q^VcI4UrTP&ez?|^Y`i%?j0eLsj>4iDM(m@_t^2R+>ghpYa8g2o8OAXl z3t<(#Y4leZm~U6)U8D}#2zcOpF&Bf0j!yHquc>?b|AjXfc+}d}MFz0X-HZ)T!2q0y zhi)1~8i8>3CSdQIKaM+08N%CvO3+R^e-bkZ4NtJfTw4eC=qVMDLW|i*R6bwilm!M7 zLgT+j7+}wN0yzKV8L2R8FpQtFVtYJI>DwtTl8+|c^1ek?T5lOtH{f?eM<{qcT7l_0 zqRjncZ-gT69>fU?7{%%5=}&{mDR00R;)O6WKzZgYqG39hH;a+X7F#!6y&k9rm)|My zuXZrnBv62{=)JX!WZYUNn{oVWIvrBbi<7NDeaCU;Oef1_U`YZ!M&vsm`B4g z#UrXd!(I$b?bA-*BR>H;gu9jj8uZ-F5693RuA0&BctVy6Er@@t#Z3){qYr8?9qA9HOA>eFQzt(yLMoKMgITD((vKFW`l+P`FmlUH3Oha0MpMfe3rzx+0Y9sz7=~e8@71>b+v&$cQ z8k9!^4I|x`>+$X?hcc(9g&}E!j6XvhzW-5DhQk9Y4$i}!;TNx>OzSsvN~U$z1rF6D zS>9eX9vstov+fRg4E)8r#%huBvx)dVTf|PyS6~N8>PDh)@YF}dj)7WcNCKSju;V+o zVO6+UiJw~E$sEik^t%teKnJZgp5p?|;zA)>(2xOE?@4{8Bsp03GMP-{>yU{{H%oT| z)9fHpv(U*I5etAUjk$F3i@7fzyQ~!iQKM=H+E4y|I8<{D>a|X_E(vnVWXuzkl+6g8 zIwbbAtjs&RU*gOB3|(wmYI zb3JMf3*`=d?%PIGx*FGOgPCO9rO6nsDL}iMne5w)20=PF9ybDxf`(xG@{B~$UI>BC zg7sTzi!xX+>jo9f-&m$)ETv7iQ?uy5;#3x*owRd|k&weG?{G2JFy91g{Yg2&ONu4^ zf(kx9`aueaa#v^5+(wT{6L!^6t^n+euB?NcUnci`8$j-@$4^o475G}{?ul>9DL|S@f zeoSTLLMw|x!CA9g5^Td5E!y!z8mvs_P>o=&su4dT%p!hrF>;8F+xnX&7sKS0z?@EB zqK5T;HEV4Fi|JCP!13>MgzN@or@1la$5)%DT~cS)|CITK2{7F}Kd7(<$% zo00)`Z^1RW|CgM0ahTVEx3;d&agc}mzR%b(y1|fEo@Py3i8z0i!1Fv+r>XE|RjHmZ zO1SeuIn28`fc3Yh?v3^(zC#J<7Vl&0!8sir^o1g*dD|awL+%tet!Nd0MipJRM zYrZ9ZH?VosXoN!J3+0{1YmW-~OwmDonY{BwOu)?PS3$OX4ONS-yAH(9FAPR%#iXy( z#p1tJ(bNFhTEpHNne^Xv9UnkSw%`;3dlG*nqU(RHf-K8~ED@uXMz5^Nof00Uxc|)$ z4-@v7MSehC`pdm@%rYvgmbrRCa%`1CS5T8^M+nr{x>5N_n|6w4>x8sBJI!DT`{7!? z@~)@ba#Uf48XNK6-Z1TrxunH%JjtptO~zp%67ZJ{Mo!Q0o*}p$<**}r3J{yg!BK_e zX^`?Fb|^Zxv%ogIj}#Q_B43o!Xt}De?7m; zDD$lJWi(88VC6!bY23|j+viCsSQML5A8<>062oZG@SNVxija-Yn~H3e#s)so9{cH zcIsNSL#v~4SB0O6kV{v%?sCJkU>r3+A`HIQt(Bi2*aRXAin2Yh*)xCYLr)Tm`R)7E zJw7}XRTpTUz~l)5K`5!Fib|l)kBcB1nMk!%=R-fk_l~ro^ob5?T2`Ly)0&=pV&>-u zea+9@^%Rrb{qrE-%*=D+C#8CbGI5}0Kf`e}c5z!u>8F=#>iVpUyn1VyPr8YAN}6R! zS=)a6o3AQ?@MP8e9=(VB=xI>3%f?5D=Qk;kA#7*mqi->;fLAs*EHAVkw=!+xBS9v}7`3J``&4mX@| zyT2>T!lb?Q3xsAk7&JF!V7&dNC}lA1PibFA_ zb=Gcl11IrkVbGw~^IZMjnp!44Ru;(*72b$rjqAvDOx^3HEo-Smv6gzYZCSJDzR#_g zNqKHDH>&RgrQ#<9fs|0(d}!0Kzp^;QPz|EK_0{ZaN8oCjY~B$A!XG@j$#V9`AI;s} zmOC@VTjQ>jPkep<{4EQ8PCG0@f(BrK24)4B$rFH~{Q4@oKGHn0&Aa~MT{*8`(WKRP?3js*l$6yrH6aHBkZC}*H9w0N~IVmTzMk_*o ztlhxK%&gYQ6s&Q|8W-bGR`FufBXWeGxaoUzl#3()o~`HBS-ywWL(jCgcA7ybJiqhj zfz5$0BooML?erEOSG{!Uf7hP>u&_=0t^or8fC|EljZfKMRF;5EB8&8a8Yt&MY=TCL zz3aZFx}qpjBqN3WXBE&(2+Lta(X>cd1I%1YS6A2M7J8jKMBL7u(~gz#*x+m~*p!J) zwN~}S4ae5qBC7GVKD0nI1j-X>dCs3Dot|c+ryJb%)U&l!k%HlniQ$41lGSbjDVoCO z?=JH{UgU(Jo|gLiyDM<^TpMnHAs2{B2!ZjRJ+JJKvf$6Uwzjr#*9XRsP?d{DQUHR{ z~ngswN=m`DYr>11MZ%RaW>h6CKD!Iw*o=+95eyQ77wf3zNTR9X9lGf8<1f6g}v z2WL`qfE&O~fe?cjo^H`^?@(h7f(CJ){bKxpbQnwzgBni~XeMn?mLT&LI&wc-%Kc2syuGj0j=;G`=kMD7Oj?Z|H zrG3ob{hpBpH5AZdHCH=u{l^lJEa@eS-c$-EH+XlmcWVURiD>@B&~;Ok5JK%AD?`C^PVXBPPHHzKE=x_T0I1 z+Ghwe)}K?*t~i^y!0@D-TiQ!OYBnYXWz65>vutmHfhL-uz#j_lTe?<`ZvP(3*bt6g zvY%G3Ii#(TVCwZf>Ado%o>p&`m0Bj~fs9Q~c4Hn_12XdvI#dASGE&|EA#@QL8Bi@~ z;pV(kQ#JMWZCa`g8B|6Nu)xf_Szxt>WZ9R8e+Dyn0aC!2Orm_5f26 zWq3H-aCwfImsLQUwhKd5%6lKkdhfn+w~mdu63cYTn@E;m#H?)!MPSb<@GAMAU%zo< zRYp#3E;A8+pc0Vn5zU#t>~ZMmC*a$JgIhlO(WZG6Spgr;2*V{>+}`=Uq*Knq&CNs+ z;24WpIKLeD2au&&lJMCBKV2|G9PJ&bmoB2ni6c_C6L{AI&`v49+u~GNzf_scDfn-= zm2-Xk_^||NS@SJ7Q!21t`vyM%jNVdy0&|iL{4q6GR$l-MErUQOi6#d{fsvw!Y%Nvp z!b5NJuoa$bAC~^;nryNQsLjpT8<3Z|aDJflY4#u(S=A5(#i#aBSkGG;Mol%?pB<4 zd5Quc6u29clnQ_jfe4ePgezYoHG+~M?;PbCvZZAoB#|fYhsFRIX%M+MlMZYN2Sf;} z3bO!feeY)@&J|EXNVzCT8Q*tWQaLjrLUlq#L`ghG>E@0dJG4JUK+YGsA}{RqXsQ79 zFxzqynlv`=&wYz^Ia&;Po0POP<>Y#uXb0VQz3!NAPK{R1E~H4BgadPJ0#e3A*>nMw zT{a*CaS+uXA|Qug#)&#&=h+&6mi2wvheu=rOMgFqH^ zezi@H9O06(ZGmlSeez&NGh!Y55UBK20Kz7%zwPea~(t$S;3^JMSxXfTn-U2YX7E)yNB@=t_$4*E9 z67QdcV_y^cPk6tK67L4yd=d5j^y6jUKa>?W=zr)nmU20s;|Sy%icA}hH(0dG;Mk|@ z2$O-aiwD6+J75D)RZ#rs{Ps<7m}nhi+PH|i!YRqHPR8llM7D9MFC5vZ^eLH`0|G?C zQQ`TWmtdPW4n%{HuY&Xm{Li7P1xzi&(}>q408&wAKN>Pzwr;XB{pQeJ!@GUE!H@iD zTSsj9WC#Iio5B^0BsUasdm=;UG6QM5Hk=@4w6F>P&1Hxj4=6od#C-{DK>q|On{LT@ za4L-V_SNSL1}^8WxpZ}%LzDiK?ICni$A5Td>DjL>zqKs6-XB6=a9+`%yuq&Ff-unA z9gGYNKXFQFDS|k~9J_TO8mI(SEiD$PUlAp+vI?9*8kqK>Ot>NAoN3ZAJ2NWZ^ZU~R zrd<@qs2PKJ6D@@{9NsVD?Xuw*hH)J`RfoL*%M*nkTVra+a6bZWRS$@!+Uy&V^Wvm2 zC&_A~#lq0trR7>u@a$)Oa_-k}&Eu}e&CHM;cp_KKkuQ+FudL~CZm+d#wLnmrvX%C& zU&Y#~+C?(D%k5ShIC%eH5&P(825Z zhTW9$#!Og|-np406%EQ&{^;L>MnFRI^{FKbVx zGL@>WGx$tzZEi+I2?m=U-sQ{Fu*$}+^0J+m`ry8-M&aS{u`!*UE&|~hO{1}PVF_Iw zhugijS_c;Pb$Dl5Y-;Z~wq;+=aowY7^;XuwjU&$4+c6ZDYvej{{v&WYoTlHf4Cq(u zj~nXkvRC&gvf17A$FONz_HjGx99!HlLn39j@wO!6qL1uvkKQ3!9UT>=Z*vD@xtivC zeUinxo4N8^jr#}9V-(VRW;f&eFDmX0z3Uy;_K0trdEF+k#QH~8kB9!dlE`%;fqZ~x zWUecl|IznmIdrA7u~yL^&*GBMt+C$eQe9oGTM>DDC|xJh@M)t(o{miRoi|cGn(ta} z9=L7T5srAxygRR{a(&T0-{=WU!lFNh3xw|rOugM)3fg2--n$+r<}&An%enpbCGV+- z5_H#E%CFW`A{%{u)4D?+TG&`w8z$mJg@rSR3h(qdYP9aSBh@?5v`tPjI12+tNS57W z656LjcH@rl-8rfcKdtBA?Z?EW^eJGacdc?{p;ocI{UMD6?rou=cLWv0Mi04jo(X(a zIJh^=GXB2E`RIz0l9mAh8mdR&{)tWRqRAix8U?L|{2MlyL5C1bXlPkdvPqv)H?@HR@ zn$0A1&Z}dy_F^-BwLZG3EYG;Hr0vK%DHg15;~&Ge5#3QkH*#tC^6c&AShY$BFTSxU zu=!4p?8!pIEZOYa755xz_@yIl&Uds5EU}#wt_cqhKV%oLmYONa1zoHDmI(ZnO?vIk zrMDe6VU3G&N=i!busDNnw^h7XIULx`u7plI4+qH`wpd(aVN+vquK+_xIYy z(5Lql-r3l6Zzg&|Me9z{8|%WR37N%obS=~J6}Ovrh>Pd6$+b7PN^!O4iLB|!?AnOW z-d=gBD8M_qCcCfWYTHC+kZOj`qmGWs7s!%$Vw zf=t&JTvyZk2lIhKjh^8?G;%oMz8s=t&#VVq&dEu8LZt{@e;^|RCF$NwL6peGe@o;e zVXWUfm{5`?E?<^0y*+6Wx`CW=ZB9?J)$g))rXA9c$z}NUR;Tr27=2Rz`uAJb?s8?u zJT&XiXI9N$)ecatv&I<(6a}AGiFq)2t z_5&dvQaL+Q_QGxPvW&jxt%1@zGEV)cd=}>Jw`4tUXX!hf+B+U*+WvHAjs4-5Q779Z zzR0|9N!8W8EVWNEIDV&mNRi6aRL8b|i7#Q;9rvR~qrgzheZcsftPeVX2lr?FKDRJ< z(f#jM-zP>z4l4;sv8%=0?5|ze;q|M;amw?GM)kXxtB));Req4oRpx1u-9;VY3Z6ZD z?yToXl&lQmFhpZSF$r8WhZ`(#I?(#&wc3j9!~lS(&O?PWPHi8w-$s*=uZtSaO-fbL zm6Z~fGhWCj7|?m@sOocdu2tlbuQtbZ+M%}XrsnA>*L~WZP>EW*gVv_!%G>*zb7gh> z+Y|*at7JFDhcRCp_D(ZL1>Q83`atJX_M9t`2=^0?GdQBif3F&yDxFh^Q&Lj;2~>Sj zZmy>A^5!}*(+bk`$GCc*q1aba3LVmry#xa@!XkcqeS+MrXtY!zfj3#P2AhLr$7L}o zJ+&1DJ1e*|UmrCWo8EHmn(?T31!*PM2JnkBT~fWucXrnEbAJcZbjBg@XM5crWIFf$ zO1&^K0_^&0X4^;}e(O6oc&=%T2zek^AQ@+_RXrbp&{K6Ny_T+#T8fp)Lm|rSeSnyFis804Iv+R!)rJ?XMI}^(Q9c&#U!ijXr3k51h#@vwtq(E4BAU~nW!I$6XbPp4*`WQ?~tfU*}KVLw) z)F__f*%%gT?@#ku;2j^&4f%5PX>g8X?+t>2c?DJiEuZEFrs)nK0@Ela`xs1^sYPXd zqscMIkmubUV*Ww-11m9n)jB>=8xvY#<&gTti(zE&X=8C@GWerExup+UbJSY0#>xag zQeM2@l3}gf(*2f}AH>t&DRQh?kVCVev$dGpX>+~icc<4A&i?NQ%91y_etnsIfO&gB zA4_jT#!ARBE`TPlA|w=k;>mZ`t8!lw3M7J%z*~sTkAwIq=53r-=SNgN)hDAG;Iwj7e-l^u)PISz4>A2k|I@j`Z;McRN}NJv zh33;IJUO}&zDmA{=85Lkewk{_O9xh6lw=w`;ajD6Pu1>;KZ`+`%O;??XrLB|HhOn} zU>v~$Kz@%Pkcgu6>O2BPWT6q-c*Hnz1HFbUBU7rk#s25TbWQvql)|a-UurRhE_ShR zvaVV&y{SM`=-f!}VrLaPIz>wJ-cnajy-4Mu6_PHE{Paz7yC|99w;n!{4(R8LKln*Y z_`m)Z&qcOExDZM`7`rc<&z^O_q^#lzO!~8% z*eg6+rxLWVxyef#T7PbbggWcXV|0!gG#86E@bbQ15|+NC)osJV{EB-T%*GuX>1_nI zD)K-jzy~6qs6{QCrEHo+Gj41qA2c+7esaQY$-~9Jf9dhBt3$1Yl#INx%SiWh*?!jD zH*zeiTzghr35YU#aGf5S0av2L9-<$w5}xt#8|$uJ7&-a(nzWPBpKBGLS_bqiCQTG2BN$KHcD**04N1SYXSFbrrMA8Jbq`gy}@^lq5Pb%f&sR^U0T(@5`%)iAk}SR!%RX zzMuX@)mf%DaKu|w^_RDoh-^c2vGx@`H=deLV;e>j5Fl|x?P8-D)I~GvG$Ea0OI|O} zQN(>)hWtvpgHPs1>yrEK-&nPAU!Bx9hF!X}46l~yKNu@wD|6V?VUXr=;lZ{s=da9Z zPsvQ+mqAdF`F;1*)mV+|Hw=D#OI2YNJOV`hyN%6gnpyGjB?Mf#$S=5f;rWqy9|UDK$x9_!n*B~Zwrg_PO1kX7@-UM7+TvuXLQbJg z^ev6od>?bIqoGQ7TW+vqOHdXOKkG*%2A8Q67@Aj{sTQN*;a?aQPLqFlW;Y$pk6ejK z6@|-T@r~x@%sPb~dZ1hX!#{8GFaqZ@H794PBp|vZa|NBW^Txv#{!4uQ=Hc}$lKU9$ zvbPO<(7FzW(05nf<=^YIeuQW=&25N=ivdaW=)ij9b>34^u&{`Yd!56myLWGDD;4ce zpZ@r9;?JMgJUnL|x+$tBh+Thm{=dcqn_8tWhYhV=NhgN!VO`!))jNJ=LHX4_lRvef^YWVlff&3M}rGzVlY}Ph44x<@;Qsk^}h0m;`3Js`VDpl3{h3>nu zT>AFr@wI3MnO8ADH->?QJ%5AJdcjrXWcT z>pA6;KMjzM^9pDyv@cJJYYw{&VWe6&xm8z;MhTxUa4Wit4jjxIy4iSj3m>HbT2( z6R%$JRz0?%frZ~Il79gvjt5Kq{gVE4Dh}s=v4J_Eo+-+rP-De3m)DToSLm&lhY+qSg0y1TDHCbfk3K#9__~ zj+oM&+9+v~1Mr>DDqeQsp00?&7Pyj{Y!S0CHCsw0)E#>WUZ<0NEv+{m#cMu8QHj)4 z-Gg+n&_1NbU{?5|(qEexDAc)pr$Vl-dl9uH(Es9nbsKuMkJ~m_i&e;6yEr@9B&P_O z76~~s->THLYAdDy^mm1f7!Bpi(@8pYHx3k zVo!#DE{RCW{BH3goX#ZM`r(uXE~RUMz|_)1qMB|!iFY2pSSx zv*_EDm-eUbqw&B~(z0kyjBWqIsnXz1LTaj!#K)t)Rd&ZX#JFUftRnh}zoVWW`>Fdq z0vOr+6*$WbE7BLA2iGc$cG-;OWPYZJ3_m$P#SEK0zW!O(vC<2C;R_LlGCrtgW&SyS z+tw6&ML(CF06g#@_PZ5aUnUKD2_&ZcF_V8YACN6|2)Z35_3Gz3Q3oLlqst zm=V(&#tyxM%nxQY<o=fGVL*RL1`#}_MdpoPMSi*=SBG( z1Xzn7c3W0u&dQjpp=G%-ZK%UPY=h5pJ}B3TCAE*gtazQX^)f}>_HbivKWH4ul zATzfdD`05+{{ga?d}#lK9uaui@t(}3SD9-qZ)j@^voea^U3o2XQQ7YDb+Efx$#tr7 zm*&Y>YA$*!%}DyES5H{X9)DoKt0-~jJpISX6Q+2Q2Qa6@D1m4Wr}QJDEx>64?R;e& zFc|=e(h&__^y)T_YUAJlt_{w~-hIBWH>P>}$D~x09J_ERj85UXsBh)#Ncqs!?_P&2 zq2=QXBdOLzQZ*`uR4GR9qy>u|hVOo{lJ(-6f;G&DYrXZQ@fQ&YhPz`fDxBG3CZ&Jg zHg*Xu^qC?e7rs^5qqL5Fks|-39(D}>no*OQ{YE!`$)L`D^1Lh4>qvgS zq!lDtl{#^%aN5FQGsHEKPyQ_Z68ZKf^(CL?3c2Gemgc2D+c=c&d!c^?b$kg8X5Oq^ zTn9@Rv1plKd#?H@OP6(%$7&n!0+7o~%+J^}3mqOaq=s(|orpUFiUPrTK9ox1+v+EK zt_$8?$u40{2QjqJ0f6adywIj2fXfvm9Gr+%qM@Pm+wBq58Z&wm-x z*-aIEZ>`a9+7aNN?v~WZP;cvJwM}u`YMT7jNzZkD#sA5-i`h4^T6ZL-e?+-(`nX+c z^ESO^)0zCj1kiFhkF5nx0(nCx%jzZ0D$nD|<+`3Pfq~xYn#~H99gqFW18$T>Eb+aq z07Mza8jrxd#PlW)STc+iI^nT!eIjJtPCpn){&Th?dFV06!qxs z{<>y*pTSu7#)n@@?nIzVusLB$)5c$S#QXe-`$|r>(#*;q#$Fm4;om zS6^23dL1dUSyR8BHH*9NC7t4WqF~L;?2Q1#BPh5S@JQ>zwroO=pl4!=`kN1MB2Q0^ z-`N|^t8mdjOi&y$rT5;S-Yw?M4WwYXC`KfV^_O?{QI z?h`LRc}gluY~9fgdoi&+T1Ui0)!68=s%He;Qw2LkKGx-Y^($-qF_4(NXhVAATd&;l z!AL)r>5$brLl=4Hj*RKku$j@E* zZpV>`uC}whC$d}*m1oBErb@Sn3`fl@EwnRYlkT&dNX)eE5PqGZt*B{}*>_pH=jT1S z!}0FEA~_X$-=;nMm>j>$fL_&_c3$k$7l!>yKeTOS6+uM!b1Q7av)bBf9v}QMOGZ;9dvVCf;Acq zxn`$8>*;e7!YX<0G5eQkDQ~v@U|sw~Q~gO2->uS_MGCCrPUjs3=trdQNfve(7neO0 z>;8IwH}f@p1NwO64NfvKYx;DJ59xlo1#QNy&+PwL8GG2Ai=CNaFx)h?C*;&v0z@{x zzmtuUm@Vseu{*%LZ5_%>z_&_pyE%M%w2%ny5Ri_!IWLub+o!kbnsR5pm1}n_b%=Gt5UJ~qsOzFdO3C#lo37qgfQTM2 z;*BLb1~;32e^okMZM_sxQ&*Sl93|WkN(jURvGM1R6R}2tBZTT+|7nif7(y?GaKc|v z*Ca#i{>0fIA_#?0yThR@M`~%2ztAhT_Igor`#A3teGzfZBx{3TXFjY``XIzQTv?i} ztyrfs`q^!hMrr$i{+AV7bVp-USSH>Z)A?Og=XZaM;6WE0ub>DNv+q_qAm1hS{_z|YUO8KchSG_xA zN3pKo2ABiwO`1DT`2g z{2;oBs3bngn$toxk@?w|X#ezp`;qo4drp0@=BKH$D>v+}J%66JIl;apAzks=!JY!h z$pWB}Q#1?GBS?1tUavX8YGhHF@eaZ1TS?+7mPbBReug?qV2i`A%z|}4dVP+V8>`;m zyb~5~AO+6(25sNI3Ue#};9$bb4~>r>9QbMd1&V8QOd&G;FT2u^@iZ8?rn9=9wcviu zW0iEQ(wZO?fXum2P*9)-f>-}zfYSr9!&K*4x&A*?I1W{O){J_!-^F9tOm#)nAOh&C3yI6uwK49@<=Z))8|67=?s$?$U* z4~ORyZm}<2*lDOM-ygcs1%CjRBbKy<>wv+d4R**-5Ir5xy4@Uc#Lb`+14lJa97#EUbRbbi0Q>em#-^@e7wYJqo}ip6~F=I)y{GR0>OUTZKTJigOI#I8QuJii7i**Gy21^fsB0AQ?e;a!>r1n>}+ZaycXsObHs=7^JCuIs=qog}t( zzjL~-pIt-o@1xaX?JYQ_X?bMx)eSwV{cB_jef93zrsrn(@C!!05?->*PUceD;VB|z z@SZpA*~Lwl4_%9}cRDNdneX7f71xJ`hpW-MzI9G*E>63FiBW|gK_$FwWYiAh*_yNJ zq#xhKaVRQ3ef@4VbM>$OPqNXkYmeVMk!O(WI%I)~8xRe7P1E6FVJRs}H(}O6d1LNV z|GiE86?lj+4-yD}p4x1;{6EY(;v#o>!prApwa>AsRq=jG;f0=ygZQrOIU2+zUy1>x zAD2cN|B?|v8h{GuoI^mt<;mi&eaJ26C3EjrroOu7QSP`Ar9gx|E5?p_!~&=c_ob@b zfjg>oI<=@A$#{miD@&4?8YLc9|Y_LB3`9+L+{FCSl4g25PNIU<_>}B5hL}UM& zO1^Nm_BY4O_q#7TXuR?C*e>8{F#FzgYU)JO=I>!Ona<`-c(A~o z6AXBw&KYYd(nKuvBP^QItP0pCc(*6DHMl;gx2+!7y85k)j*)4>$U7P7y=MZTpl1H% zMZ^s$J5D%ZRm-f~3K$8%5)iBemI%A!GA3&;qjV*29>9jg7c`AE{_B0Ou5{G@o!eu! zrD(0X@~P0nBjcf=K@eol_ZZj(@WU3yprzV*3=Elx57bAOCG>6Wu$ux>j$>ZP&W^LG>pU zL5**&*g_)lNpIWHelPJZLzCVW^uF7U)H+WYC*IGq`F=47X(zEUIrDk1J9yeI{X~Nj z99;=~ngrML<}UCK`{HLUa^ykxXWcSv?h?H1 ze7tSKL%jhxJUOU5$*^S+XFKbwVfPqv9cGWadq^y~c}}g5^+kn40`QoDn%}P3so#ww0NQZ^*LCNg`!5LH*m18x8p^3OQiy*E zrr~=Z=y^ZWJEF@a7|7>xOE^cBxvSeJU82&D>BcQfNF^Q05$1PHLZL zsiJx;UbpTCz8U4WXui2r$AJIH+ZXK%n3mE%U9jMBy;#+|?7`-n%ErtaB^Tj_gZjf9 z<8>NnBY*|7{`Ge3Onk*Aj*)c1qi~-upz7DI>k8R14YFu|6HI?LO|%)nI!?fqK=dA@ zPQABk=7y6DV2StV1YMK-oFUc{vwVa3yP21JC0TXLIy$c^j(tm@ztXpwAvlmpr@)Ey z^ee{rh|LK~M~=->rcbC&+;c?3lmyg&iXsj>r-DC@&3!Mbg9ZcajJ`Nj#y_wqmc24e zAAKDlKZ+u=K)6}y|KNtr+x+T7j$Xs zRQ5bVSHF$b_(Di2eW~y!iYL(z)on||`k$H`k(TQ%;}Y5N2E-(y$8q*DvGi@|gxvDj zSIsR_1C>{h=r#^;tQiRLS{_&>pVY39rFUOK$y)eF>;|H*TIfMYD@1F#tO&!zZmbCO zo{yAYm@5mylsQ%|=uX|wOcLiOq1R4P-bXVQ8QkH!&KAk?;)QhA&o8zoC;eXEO?dY+ zXr7I|JV~hQ=W$uNju?OLm2b_q8D+hHb13!nfyAnc$>j>q!<3Kj^QBE*_$~WuqLB?Z2={Rn4DGG0kMCbD5!EAqIOzu@ZFX*6mZQsMr1?#~DF;cI4CrujSSu75xi%=#?TSS#(uhK6OE6 zB=9E`S&0BY{j%esb3M^B+#zBnJg#m^qC&U^u!TV&9O&g1vs+WE*C!LsYd6a9d-odo z*q8HS`Ly0>mC0A9nLn;jSzCH1$EETakH#)n6S|sVo68E~!M(I8mQQ>3(E|1fFee?9 z(oW2CE8eTkDWfSt+}cX_n1Y#u*u7maGy_4ie?<25M#gj1mM70|kK!bsiI3y{wb09N z(Az%_&Dsy6iz#x=X(Ki}uRxR=%afTHSUwb3F*@VB`|q8f0fs z%0BID%@2(?^{75&q@Qj45ZN^Gfee;C0Pg6H!5KLexEN2&2C_%tC3F;pP-C#Or>3aWTX+9Ig**Qb(_NZVS|8x1<1}fB+Pvq zhQC3F0;5$OIsf=wYn?CC>e;3};|{{nO>ZxfOiGTqe+0(SKI)ll+&IHh$pnHxUw zFAOaE-XBi4{WLOgfce_X?H&R?dRfsj5+MgUbv)HH+fRzx<-nl(ZAeS@pJgTrQs zX45^K*(h;Ii3aLG0K=2EBcR!5)aE3|8n&aZG*?set=!DbyYO(ykJa?VMV6W}58qIi z&RUYkD9=si!J*wMT2DSQ9wsNc{c76dV;OF3-XWJ6x+e-BUuZ5=jnd@iP~E4agcce4 z2Lx*k72(yOgc0g1grbPb9P^QhCy~iO2osqU^q+Ko*t8dIB8J{Dq_Wx;EgUk~n8iVS zhmf-H6&0ARqaeM_3NaJysY3oG|1GB%JUm`_47e$9ktJ?sW}i7I+5O+rb0QzVdEfzj*P={1lJH&h*|4dQo0AS!(Lt-v&0%3E#h1x=_GY?$#At zzFqEnJPRjx7yl+7@~O#Y^Pdgdez1MYSa^DDot0F~5U`@%Kvw%!Tlfe?o_Gu!BJGSP zgAOH* z%w0`Q|B=w%5uW4>gg6Dz$r!#E-gW6Ij9Ks>UTy?VRI|nNtN-4fZ`rN;#_Zd}WEQe# z`4<<*--{XWFxe>{jWG_O`fXH8v*|l9vi*sW@xDlij;B}k#luMa-OTgF{FV)2PKY0T}i0@8s z&S%ztr1-q0Mb`cgQg-hQYBbi?ai8PjLhrtQx4pdbpUd4hUE0r%oD5O$iWPaBrKjGl zAN3{=SGY>U>0d#$V{&3_O&1S~65a9`B8c{?4>+NDjM`K^e|2A?`vx%^&Ai zcjD0&h!FsezZlX%H7DXd{LnRD3-V{?s57wSr@Njkf!cg7XrUs_s9vJU}@8wSf7c^zPozOoXX0Y|5vfTcS1E9$v#rT43{o1 z*M*sGHdA|YusEOcl<_)~;LJ7h0`Q9V_y1fvN2klleUc*d$huG|QInE#KKOTNPgV8& zF?O#IXE9oy##7v4{H3%}jiy+&@FDr=Rm*)MtZ%Q76j;u`gt)|jQbJHcjh;KSvKk3w z#HFvr2NzUB;)aI=6@~s_Uq>Z39&C8S5gnb2IItGauJJm{glK0JWbK34@>RGIn!z?m z^0f*HYe`?b^PX)kVK?4Vrej`Mm6`rvgJoBt`%;66vJX)T%LW%Z)X2CvcDGq? zD64HtjQ@pz*2V#LuJp%Gd{|0yyml7+%641roK#bTw}CVd@(?$ydlz1>w=N{GH{^NW zG*5#XAWwXOF!FvRw(ln}H;E8FCTxfX7ce0pJMRQ>jT%S8yL!8Z8xG|fhytQ^RoQ`* zaa!+^^{qoq44X4$7VcqWxWdjccSWeE??x$Z>3Oc;h1?}-=^#ts;vAb0UK8I$&C^Yk z1gV7Xf8g1AAKgJI19e&?l=Vu0Pm3#FO+PsAHQQx>Qbf zz+im+=FRol-e+*Qp=0mA`Djf7t~)5S5HunY%OhSL#qZAq{qr8zr#E=le;$w^k34)x{2YZhp6IQLp0OJSBFQ_Tn?kN%r9+P^XEA6W$PNdZU?jx+_H`WR3*IJI>%mrtU+R9yiZri{vGfYF=8iA*)g}wNi5NVVR&^fA9BxPpRug$2o4KjNB`l z5ZkmIMeMvCY76r6086v_*Jja2PF`^RdGk)_n<@jhRS#Mc0% z?{aq%01QR5yyfKGk*}o4s$+Rd;vX8s$MgGcdsf@EAM>uabw2yOvAbX0x&~1L_4eyl z2SUi6`;rtXzS|OPGhQRpzvgr5LyStdomLrM9|*O~SGpe?-iS#&)SO7OD@&}p_}(JF zOu0B&SA@AU!zcb=Fr~4K_CdqX(FUA_>u%yZRT|drxV{0!>%IK$xjccqA#1()Gt)O9 zK~cK}f@+s}PR7g>X-u`t^`Nu#u*=M$!!LoEg2B<0?0)-^^O>L0M8>yPWj**{svky2 z|5LcNDKkPh&VDjL1j_b`HD{EmYoVb&NE1lIoS5L`TaX_#_mw1UpvE}d#@@5(aB}76 zud{{k`HUq$Cs(<%_`N+$wJzMldXuwRTka!Q=C7EExK!!k{u$B9(gz=&Dlfd`+dIR& zBL)u(DKSyy!yV~oV7U6&U*}D5DPlQ!{#iCH#}nI(hCGZjow_UU2<7z4%(Ra0`OGSr zo$9_#ZFkSI>0fK6_@!rF#`P6fwhn&F@T)wyAXx3wKpo5H)QtB+fw_ivQA&HO$HFg( z-&%k?7aT!?_C=(YaQ$fpMSXU3E~Ia3#9zgeZfe~;hk1K0;E|VaVD|b&SR0$+CRRB) z-9dr@3-*Kjf^Fd=TNd-8K>l|2tUvkBEjE2n75(s3c-l5EP~!02-0NI6MUewW=9OWN zhs}j$YmD8Nwa1I}+puNH+Pkdlg&lWd-Nm$u?Qgx;8*EjCnbi*ljo{-T>z>PAJ8EX+^Dk}yLruU5zZ2s!npnU?t^&pDD4kpBRF!TB>g_@22SD5 zt$XGkPV0*by1*p=eCcIA{99L2Jg%+^s4xM#>O^N49NmGX;r^T%w~x4Aj~3TrwL4|i z-l0%jcJfrS{)}UFOc$Gdfsu8I&yi{M(YDt{?rbeodYwrt=(A>6C&*qHFIHUVp}Ym--B&;f=Hbn)C&*=& zws6j&_45Hg`^rnzmI6Ko5c-&&)XMdehe^oVyWieim~-B_=Fgd2qvL+vS};&b!)L$7 zIiuA6wm7-svR0G+iZA_a@y5jlyII%NJ`)$cs200igsx1mt=DsFWu(U@y=_U+_Zq0{ z42cEw_Tww$8t*on7KKEqsd#4lXgpe}6^pY21rt>RgBw7(x_Ek4Or?|X>Cfry`P(w3 z_NI|trGc^N@K!AamDd!e{>HAq9in~^9*6lOe92Y3vAHW%{MCmXr)KQ~RyF^7Od8=i3t7+Z4t0#OKT2hfR z72F<$!Vk74YV-tqEt@KD_&KE6czz>yay|XW*!4*hr-k-W32)^!kGJ!E^CV|MYyGj! ztF8f>8atwH`hZSu{hrf3ynJW&<~{e_q#E`z$~*7;it=CT4wEtMMbaNc#2Jqk+Xrhr zj*?@s|GhQJhF5=M>0zl{U+HAXl&-6m9--Tp#hf52 zd$zS`dYK!ITE>SN&cc2pmxHPOgIaFo_eyjbXaZ$KYqy&93_8bM`kbiO_4O3*7S(wF z^qI8>S4>U)egoB$s3NeW03jtLJ!I?+r%V-@f492x&w*suQE+TN*st5U`JIhH$CPyW`c zY}kMJLG5@=X+8ZaMpk}}X6f#ZaBKF@x}!Ilhg+lkpWQ_Cf|7N^-&;je=&#S8UBX`f z^wQt&GKN0NPd4>0a!WmaL~SIZ%s6Q4>E|4L8~L{^a?}+&0H_9 z@)1G4GZ*)yRt?7*mhN1N@R1~=_16@XPygo{Sx(=}s<9(%^9FpmbIP9}q|wfMpJ)Xo z{Q0fiJO2Aef&D*<31lTy8m1gd=XwIxn*o?vK&6NqF3l?`(XRX#EK%jSfjeoyMT^Xv zZKUrW;+9^HZC#b?EOKUcY-Qy8wNSkIwAFpp6sDix=%2m3S0$J^CgbCy!q_4JgZczAgqercAvc>uzkJ~=t! z4c3J(b2=Ivh~53atb8>nRAK<=i@|Jl_Eym z6g4OO9y+H4vtMtd^g1WI{461Eg_cP+obZCre4gU#_pd-M??Tz40%d?tU%q^KYa=+% z!~*q&iD0Lqj+E`_{O=MPX5ok4jeYs{ts5hov8VDg#LrrKcgvZdzrEf)`40uk({rEb zb!`0fj_@i)b8~ZyJEDz_f>kOFC_!J-s^~5MUAfL%u#a|so4p{k?M|#+{TF@G82IO_xcdO@KflJ=VGo=iM9hEd?{6n&M+RiYo=(m#80$TF;)8aI zj*O=H>&s!vK>~YTZhLe?yVg7?{&9^2NX9wn3E1)r}O|M+J zax)CC!7WYzK>xI(qq39JACXn(`mf!%F;}Gkz$GCi<(HVqOGxv`>Ud;jO^$mtX_TYu zo`5OSwY_r*>syy5jZhUnt?{GBj-@n26&~6I_9>y;uU)$~At#4v>(;G*dYhRb=oqe4 zNm5U**_mruX5K5LrcMSUDkE^OE z>L-ZSN$8H$H8s_M5p8B`dxf~euiefJD!D4uM@)yx&W)o>78)0~oSU25z{p71$Y>3) zP>JM^C|-baHSy~`084j`xLpt708T`?aQm9I-aAfh zAJr-Knw2AIE4s#n%tf??p%NfX?r7pJTIvYklNG(UqdgiS5|Wa;@dMK}%RKrWL0z@5s{hljTXu#s9XolMdWzx*AzWi6O+Rd~2%ks&ys9g1RHuLC6&I6g7 z(+eAgF@Oo0d)$+NI|x&xkMq3U-NWNjWMt&ty?d_}BL*&6vu4ew&!0D_?cZ-&bFKFx zMqx`R3w(rMQcXGTP+VBCjB^_^%t%-%mD8tlA7L-AhHB@askwa9!9qEY33?kF8wbpq z&P?vuxsx$NM;MRpiyc%ul!PMyo_!O|Wf{8#^e-9(B3|}O>b3lC^vr0zNmx`WL(6Yu zWaJUVB0koXrrBbD(t5*BPunUaFmMG$3iHo)!yW_Ez$^cfFScnu*wWUP*`M{?IA(|A zZHnjW+8uoMP*`9GefAN|W}v#F+cCdir*BMW`Hh=8zM9p2+GmR2iCiA9{DJ@Eh*^4x zt!QAuUSOl10C{@4M>4A)QpfQ-^FSGvIucmepY717a_fnaC9S6^Si50SvX})vkjtWGauTKoL4AtrLtzKKe7VMK(;))`fAHh+2Z4r&wW6ZI!GjsysJYo(heSqpB>`!2Apk+x_)zmBk8(Bg^LIJEN?7WM>jh?H#*Os0Y z&rFN`=CG1=;G6^Xu#Kq0Gs7Pv02-mXCR%KzT>ctDS46noO@`K&_ z9dK4%2yNuh*;6M@T*ik%9HB9rei07yaANBStwqGwz5DiQ{dhc)@wKaqI2Lc;zP%Hc zOhnxi>*jz_!ISFhhtHn*7al@4jD?bb=KgjW86s$mO|(%D0+{HdCZ(s-0~K*6ei1xQ zctiKXv{T6b==AlQH*S!Dvn#YNH^ck=T$zq=HPObw?M2;*mBD145I4zq84SUf?c(^w zty^oUDy*S_{4y(Tk*48}AQIYV#Qn$_nax6k|Bt08-K)8nXmSvp9U>})ab6JAjO=LR5Nf|DIToRtFAk|#Aa zU9i*eE-x>C5IcOR_SrLf00*BE={@+mLjmR}8u8F8*#?iUr5YLcMaaR#6ij$L*CVIHIv~xW<>r(XY^j32GuC&C)SW33STyPz>7-=T=oy4R**%;@_ z5)B6kA=b)DNZ`N??;Va`pS8b?V;2j5etiV2e4X!yxDOi{5r3^!80JG=*B|eXXi*#7 zciKobX~bfq+>&u-zeZ`lo_9>Y5M0mw`}c`60@ZYI9X2mjRW?{5BEOG{^LTj_ z{pFIggIwse9+BDNip`d@KdSq3R?pupo`oAH9YYh?39hYTtc#J3j*f5<7}`ZQZK6r9xRP>5z443S zur6}!`qcd#1nW=rrUf1lc#NEYG@lF%40u4t-M4RFiN_>-OmHpZ*SM#6d(&vvty^bc zX!xSCwx%t^(#~!fl?$SDThoJcjua7_>(yU^2#m4l;^=KBY4JHP+2P}3Vw(&IH)0|~ zzn`Dq&tJbDVYNfU!XC9nJjVPDml3YJDs*6RQJL66ISJoE{^57w!UFtEb(oOMOiIk^ zGg;2QFrUd;{c4sCpI+|O48o?@X5>9tQpd@aq0PuHT7?n-*B=3J3CXgiV8hqFd-oUz zJz^x7m{p>=KAn1{Fk47SNC8qUc+?T#cOSE~>;m8Bw3E~ISt9CGm2ba#2hKN61Wq%I zNJ68dg}uJ>*rY`V1u=Th%BBp(zi7i0Y|)7mCn!xL`2dwUs8{D+n@Xaeg3Qhp_SM(L zls``$(qq4k2MjAH4vv?zFH7|+pb?Y+q7_M5L3%zt_)&Jlh7DC8KCHvy+&a%$cPv}d z{^MFbJv|Z#Im`e&!h^2vGu`}kHX4~8dESrva&~;3<-pD9VXZsDq0=jBT%t)aqm9qT z&(Ci?xr|%R*y`lT04V3YY=`pN#o*vzd^*_LKcdF$q$K$D43xrH^dq_;$Tph1; z!zFSj`3CY&l%{ z0*A<_yj&KoWEM_NVfz!)tm@Es7#bS--kig2Yimn_GM*o=fWRVIw?7I84qTb~7=uI^ zN@F#+(Cf2Jb^`m^1y(ef`{CyinKpAwKqzl$a*+z9sj2D4mg5W*aXxzX>{%5;GL%l! z^v9)+WFX6ZgsUC@=aAdABdd|+kpvt$Z76`BWTta=@FN71_ZS$g($>}{vI6d7pDvR; z`T3hSm$B&yt=--}1j-=r8(2f`bZ8!IJ_~7xjtRL@$fIqnyz~_0<)43g4!QrShieqp z;>x<6dLQ+}OGi2%E^z8?TE@h+s|sPp?D+9Z#Doz&*_M0988L%C(p8p{X*QE1V>!3Q zcg$5Wv( zRm0YcOd0z=l3hpw*3bWvd?ABZ>5?By--7~lnlIhu9qOT?-IU zkETanOaeKP&fxS^)iIgh>z0U@%YV-X9UUPNQWw{RBoa$~j(qu?4gZ?Yz>g+vtkYt? zGeG{G^gq<$|5Wh!?~jdQ^Zvr~eXGVp#{cJQmFy+N>%U(*8V;dz^04zS@c-Tb@J~Ou z9WGHDRxClyJd%0&S55)ux_dXQfLPXqF4HCJXXpbY-n|=)6QbAaz=Tu+N%8yp&RK>b zWG*tyk?&P&F)}-P6b(gn@@9Sn1BLxlC7FFc&Y}w6Lu`hKB9ltbb$A|#V`B(zpZfa9 ztKdS&ls$q1{>qgr$fbIt*Sf@NLI6BOZi4=3%@su?QJ?#vefAW2ow>C&19sV~7-=S4 zerl6BaMVNvhqPL^Z3JQp$+(0Fx5N66ENOt9^lhzl!Tq)4)r^V`8&)t$<`a@&RYgS_ zD47|3Ir>vYv7BU+7z@Lvb0Ui?Ff86{W;K2-b8O3MqHaj|kx;*Y83+rkCK?BDl;w7L zPOU=nDeh2E_ztsYXp=1iib^?AmWPKr@%k1l@1Pkyl?xeYU{m!HHPj&Ep`^sj$;p7j z6Y(@&##y*x{OcNHuqA3fF2MV2(T zkHdBt38!eEtX&@X88L%I2bk7_oJmV1B_|W*(PYReZHIW`k@NkMl)|Y~V$ss}%NH+R zY+UZ9`(+6E4six0NCvBq4@&nOg-Dst0f7sNiJyYXGYlWq)-FRRe+03W&vrP0I9W=t z4}|3DV(RDUs4CoNkS+@jN?X(+u8aAv5m=fgY zUs#nN?hj!;0+Rr4>0(~qW+cV*ovlkAqjy5QDYx0Ru_Dbrefo425OhP>R%(@(A;U(J z8*D9PAQvuOT8L}rGJpuef5M+1BYtAI#}<2dcx*fMeibS%WI&qV^$iUJu|*Sb5B%*g z85W<~G<#e9CPF+hheg6z*W7$LB7%+Zp2o&p&v84C^4Gq2p>+DR#NS3zfmJ;%Z0}uv zcKRq)-kU}@ia>dw&Bs9A2L{>!h$jbryc%CGSO0Yfv8_}DssTHnR)~4oexCt(Pi0e+aiJTegTE#grIzgstz8H z9|}nbqg((&YCRq}s*XFSui)PD#^0idpnGm%;cn2Si5>}h4^>FjDN>$5$A2XnCj{sr zpb>Wk_aw+8iMUmX1rd66%i*o$x*12Vv%fzW`lX4A7Z&Y3c(4XoW*$_<$;lT`Hv!Xt z5il)0ATE`b?%1+r3p22CXzo-sHtP1@KnJZJ<|5Ukt3rnwT_}_ zP+ox1k^puCo7x=fLd<#ah4%U23-?>7RE}VHOH74{oiTEKq2VP{ML3dP~aN z9Ie{|UoXfY*w9eOnS=_Yv9s}z9tN_Bka`p`l@EO~v=zcbkQVh2Qn&f>D|7gt@ zBv?-ba^d%rWCW8gvw3nW{>ggUr=g-NfU5^0lB;OQ^&(V=?AUl0^cg{neeFkV}q_D_Uzl<0a zT1QYkFnUO=i;Ia7!2wE?n1SH4KW?1J^AAA4(X+mSg+bE`&gaFou{-rCW*lt&?`x35 zQT|{|Z0zqSbv(fv{`_-4X{zb#>w__o`M#M$$scSW8ikhD)+GTdd~U-(_|N>W=FT-J z>hlWYf0d|#7STmWNCc5`34#t&FI0#q7ehp=ATAmc1sp+xU~vN80WAx7OCkutYP74O zASybr1Y8M<7e=&R2zVnE&~`u?MX<Flml+z^?7FEWCff@Ra<9UU1TYFnv^W($P5GC1?Dd2{sW z1li9K78&UX8K^Nk)wKFu2+p=UiR+`nXXdKLjG3UMVJlA22yh=FFEdk&6vCMcW|VB^ z-PPT_lXc8D>sR;*SX0u7Cl`YHrJcVin*iRYh&> zSk@9&H@kCDoo&9z$U1)yUI!LJPT(2;t=F zy7*yMMuy$MYi^r)@$;4zh*R^IFJH>idd%`1d$-*^JO-(Y->pAh(LZh7k0sm5VKo8T zBj4~eEL=YcW%H}>8u-vql0ae?gs2I2|4nKKA=ws;iagk52F1BKyP%@NX>G@^xqfHO z^2X*TW%{6p_|cS%3>A&bAvxP>wpoBNCUxozH|pzcP@tB(pA^}7J=n4f4=-Ci*Z%dw zSbFM=6#3&)VL!(3vP4~HyUOyXKQ1no=X&mRD`H0nZ#b@TM4C&}Lv6Z{QC+T{1H000f9#UFTvLx@!g(e@r zI;iNIA8MU`%MJqZ{1h#eB%1f<{b|a_hF67{oUNzlr_X(DJv{V5&!i5%dGvqU=g;u? zRKm?L;^w)+!YhKUb2`fPMc=x|dgry0N17*0XQzEv86^lQmPFh>v@>;-%~5z@>D4E% zB}s2+Zcbwwo9=0+i&--O1Mf^*o87m45zXhbKq&B{(v!Z)%hJ-a`%1on-s&%&SHFeM z_ry+LEhRa~247NnZ~w{2GE;-owjcDV^$Q3vVIm?G#7>;DO}@maSny#NIJ8Enrib5e z^VqX@FCKV`!C~JF*g8?9ZfI#SwzE67zBlW$>SY$$1J7}HL8S}g?u>{l7^2|Nypa{F zdU5dUuaf{=<7dqH#IU!Bv`VAe!v$(!+CcqyI*WuFJFvC1<@OPY5sC99CaG#8w^GZm zeUBgK?DMIg)s)o=0O!@-Y$%JZOiMAq+Syw0YEk?Lk^!hU^M>*pp;O&Eec$1e zIXN22nwM#rq?Paz$wy#t@bQ{EEMUP?J}i!YPZaFYw6B`%l|cP5LClK*)ZmzbrlzoU z>qbRKN2ByH%6J%fQl`z{JtaibXneFl18$<`^8+r+Z zIFh`gMCx)BBJPn98COc47yLtZ{}HMdo^n1%d-jBI5zEA>V0tpRitV~G)GL^WZulLgU0T~8s#@WqGAfD{6Sp`mP!LcZ9U z^j<^Xmh6hQwzifUESCO9EM;_0PY)Mzh(eNRarW$4kpKYLtc4HppZ8sFO4!j?Okkk#4547gCZKcelFQ zo1GAnld=SUwB4LgAh5CS!M%GT-9sJV?S@BXb8l{GKHwm#l0;GRp{FQaUqe+|b7KC% z35>14(UZNT_Z{?>3j#hXUi)YV@>iDJtZOX7CQIDTOv}@%%!%#K?qA)yu=3WeU&;S) zh0-Fc>lgpTKz@#@L6*|W=3w~y@l+fvEF8+;FP%r?D!T_i@3oMXjQ4hj6W|}1i?a+Y z`vsWVU#GraU%$e0puB{YfNjj)jHIs4MK)6Q9XjNaY*umqzPd!O&)@n2^FGhWrVK}D z^YbSXy022*xyDVIq@+QxhPWH3DKw(A&DutLp-5o-XvjC8s6K6m@~82(-Me;OCFzmL zH;q=S6^6ys)HIy&+NY#U?Fsyju`w|*6*v&wwdB;Y|2YUOad|nY*c}olqkweF12PRkIm^0c;PK2mWAt?bpt*Bn2b+% zGPU;1Et>C;v6Fs;kpTKIvSQji&jt^0uisXlaz2?>qj+e6o3i^448C_Z|2=)A_OePA zROj9%NuG`Cx(n!}Ra)KKrjLJN?BU_@zURhskH13khF9hwYQ8KT7DqQXKpqO^4lkVo zeo)uNvV0&J(`^85zzLr&em2-$8c6X(weQ4#aX4$rT80Q~@$c8Y{J~Epd@Ot8p zBzIH8=1U(uY>N6{UxlN|@Bi0FH@WAVe(CL1;%9DM`Sa(GZrKH+ z&D@8#-rIRhzj?;i1d1 z7i5Hmg(W2=ebxE>^7Aj|#b$|wErrj|4DJ>a+njX7Jt!$@M`>xPmA!pP5CfMD7GC}2 zNs|XNpG(faEx&Xs{^3KVlP4M7rry{4QPW49hp-jcd$hdaXWoF=5phIV(jQ@)l z@`ky(6b~LekUV%W=;1@ISc%hNKYlo7jrUc%Gx9}lT3z~UpdqpAX-UbIm4z$eJCAMu zJN4oIH};L2Iedc|c|>ZACwmjt51sGe&az99^VwNnU;m`I_*QxO!GeN5n8}5iW|#2pv8gU-SIAhNWc+p<8HPCUo$iv1Dggmo9UtGC$kx)_3pj%eqg$_M!Lm^b|UB zq*}KsR{WGIq0Y}NT$nGQ6+8R)+tidMw#@rSMxx!_-F(D*?3lLKuMJH*{(O5!OZ@Dw zuFy?jA-CR{pfFa^sJc2iZ0OJ*KY!wqE?yLUow9t5hMM}c5e`2k)mhistRGgomU#?c1#QRi*4Qn!0&z{BF zS3PR@;Nu-YLQ#mdRa`O8iE+7HwE ztC5kBhL0^|DCIwX{P@23tQy^>O+)R6_V3U1SzA=Imf34r%TKUu-Kv|b-4+rO67emi zGKH@ybd75p!KY+F9d6&c1F?m%sA6pIaE(+&{bd)~alf__F4wMQOPqcdfpWsR zeLFMp=*)9jY=k`1`Ir0b+E^&%V?<42J?iG}8HkICP2zqE=qJl=DzoO}^YQVipU^ku zGR$G3#dsa76Tl*DuyLHu~>BaNrw0fvj)84+zC7E7z?p6KBn3@tDtABHl_}Ny%R)@o;@`b5oPv^BaFR5pR-?nB-}9 zCLi1F<>f`L-1;S^?Nm)KUq)nS3x+n?e5tscqTP3!eeZ%oOu7OEQ{?U2^xwXHW6kfB z^_b%)ms!HHR%~1H{rgIFD|7U6ob$g%)v7L5E#F*Q@rZ02Tk5^>ck1o^JtxQ7@Oc*^ zXOx(Vi;Hb9UeqF5+S_mQ?cP1!UE}dPNHv^8;oP}%0>(~yTenBEPgIpU^*;O_b7Ud#VhmZN=``9(!<(`@FDCvvSDgXr3a1+CFO zV%iKi;v`O|<413?(WciUdt zojVtW+Ch;z-X7Qf(raZQaz^ykJs!(~nc8I0EKE!aMQ5Jtf7$a@E$Lt%4&Ik1*8Ubg*S~cOoG~-6zE;@nGCDfi`sK@msrPwG zCmtR&`c~cc<%vzajj-hP8qYKkJTHWU%qyLYdYq-5&kq*&d$!UeY+xBJUVhC z+2Uhj1mbF+NT2FUh+*G*rX`@xYnct-HMpciIy^j_L?cIz99dXiK8v^a^VlJKb(6QZ z_mihj{bFO;M2sEHRbWPn6&(S`rW&C@4xVV6DnrR z5qJI=&EcOv86wpKiqAIFeKpC_WCeyHdj+G(wO1~KwO;o9&kl$f7qp}_<(U-id=<{= z-_z5>*ME<1|Ni|1@#V`G5le#%RR;W4RY}OkE!;!%6MzqA1gD1^gSUn%JG;A2Gy-%K zJG>JFM##YBlSt^+Eee$N+uz>h>^^Y7Nbp|VUQ0zKr44LsY%Q-}vqb+yh3fkFF(@=N zwC``2Y1suP-sc(o`teyhARypHTN|CMtZeS73JK#va{-~-QknX~ z2QLq7#?FpUNKgR6xqJ66$AJsc7M5>;2G_Xzfah#GT3H-t%*@P8YdvKi?02Btwrv{; zaa8YYk3Z@m6?OkUwOyWhnFxxwGuk7LWU2am8Xa~&!IWl@qhtRro8ggBevtdjz%c5p zz?s;sN8G2Cft=C+ys zru#MBe}qJ*fOjte#OPvFVy-#b*fjW9{@%vJa}Q@7eQ5*Aw$v4sRi|hg3roExcW*CG z$L>e{+(^W9`sQnClv~@eR4~w|O`3h3Ks((;Pv405GA!Ty;*0Yx7A^7BFuih{#jkI; zyals|Vw14@=1PL_`#INseu+#;;i;?X!~Lt`{MBGAA8^k1EJ}p*<}F*c0079Jes*=2 zySqCY@opX-o+?k=Vjv+ct=n=ZO-s(5@HW=^oDl4nDCd)0*UTnvK6~C8+i??7c6soO z6YUz{A@;BeUu4J@p5tQMK0UwbPAR`@*Dk5yFk>FUlgZkIx`Dy{qsNX3^YaG)ZRG+9 zQ^`B!N60$cnG~2t;$w|!ofc+?{Z8>##xN55fm{0DeZ**4FmP)U~vzdw;jZ;mf=D>G9b2?^-zfRAWgVLOs_2S(ONT ze5uU*d@X!l*3gg@AdetnYh@+R$a6e1#d|5Vw5+VPxj7i0zfdB0=FAxv7guQ?d|N)0 z>PM!|-n=>2u00kfanD-K<2!fmyxtOw z`u4l`0$uX`*17|Gjvr6%>+fGI?|SBTac+Ko;(OQU&t}6V!yN_UXKG9(?&ce~8G|MW z5AIDm>Jb&P_HdPfj!wkITg48j1sB0Oyp)2%83DG#utT=AWxlDf?c#+C`l_llJjoFe zFX~EKTU-4;T?1kzx}Ms#kBywE_0&*RRUMn2?zsF`|KO2zKoBV@Dg8>;a{Vk#{z&!7 ze?NQuo?gFkBPu8;$l|7Hxg)2~K@zelDk?7gti$5D*s-djP0$jBmUU+&?pD{e-rw_X zcDT_23%URDz|m(u>$MFlm7IUDqI&xJ%!OtpK|zc>I=j{GW(ZUst3H3EhzBb05AZx3;zB?h(1KBO`nq zJlM`)jDPT3%zDH5f_)z6>`qy;o^CG;2U;~0v`Cs!RnW94+aoC%L3H6&65EnvVwzIi zjLPpk$-FDbQf||lD8 z<1*f2AVwYiyzJs9<_PzY13tSWG_&4UUOBs#Ho=qnvbp&_(D8cxn|rchU?)(H3xH|P-xGHW4Fm-HXM3J!XEx+XQ zX@`tUfHEHw%I@3Vip!xwosu+%Ds?n9qcrwrnr7$Z+`oHw3nvFhOFuo+Tb#*npr9iC zYTl}Mxiv_JmYT{-V)UZJ>;>%&L**rZr~6L{)}T5V7Tc(RKScIwzIZ;l*y$`FAn+ED zdn{Q)QIQgtc9-b-@wvoqzcJPV)b94gH~?E# zGgH&8gv{Af78@CSalq{cKA|7XYC6;_RHV;ne-D+tPy*xtG0Q?a_JHeuZz83h&#g5Kv60lwar0A=c zsN+_wiG;V`UFm_*pFdBSo12eKPO1lQ*}+^hjXsr`mbR;+5YXxrP7F@Ifs_1;6ZT+b zd7j=6zMsXXQFqq5&YR5cVGhkbnR49kyqu_EE^r*0(27j=N*z`uuElm2)34PgUy2Ry zpB?wH%$(}%=+F^l%rk6b><-$pL!{)+5~QrmoE#I|CjHN@!z?-~L0(P+HMruwJ_`va z>=!Cu!4nT&2D2Wlyb~IlhBmh~qN1<^l>5*?Mox~}*;nCumDCB#Y^rK%?E(3}`-Rl6 zY#e9Yd30#cj>~w zXTMh)>q-w6gxQ!S9u!l?ov7Pd>^!Vkzh5b6^Dg2l`u}ll)~2X3>v72@sllON*p@6i zcj^cV3fkJ+tFud3L{xq4N>ifpH7~W_b@)4E3MH(mt&@|)wxYW>t%YGK%E~M^_R7e} zkkFj@c9UNi2a_Jwn`-0RDd!(O`zYlhII)Fy$`N%w>&Ho04bBBHenO(K>%}r)7gh91 zxO4^O>s3(m53*|W-`-*El@0Us1&;r~Kl9^808EX|%$!8!SlMifkA{vBSzcb=CYq7h zuxCG4t8f$bk#8$M4UDc$_vPvC+qG0AeMnk5V_{)I@%NFN|HM*ihxjSq`gB&OQmaoZ z31vzGWAuKnOBKy7AeT)oCBAW%zsA*1oXBz+Z=-#z&$RkUhi(g9NQj_zyu6N%&VK6# zs`{rfZ$UJw>IL8Wh@K2P7ZX?z!1hnHrx_R!XF;PZJbd%ohQdcSRcD*Gc*~!eO&abv z^QEUps3!U0evYHppJ*SRccd42^=Natghl0xQ_^GJ%%K4^j61cV53tmzz7>-(vD~n6 z3ro%2i=EQvUh4`ms(EJ|qE0#1%qX`ak8_$i(V1d^`+m%OC7w;fLLEJX$`{pJ(4FDX z*`mBW4WoSHEJ#_pDER$#J}H(=2M--S3T~LKwY37SUTXE8h=1?G!gcQ$;q@Ytvx;v3 zQMnIN^`XepQqZCwr9Mnr2$gAK&zrz-&ntcSbh(+h^-pCNO`f^WoQZ5VQeF$yOS3Gy z@PXy{%-%wV{O&!EdV^T&@1*4$=J6f=3_(ZOTS`psKXiw^!@bCqZndDWkeaoW$9qBH zTWVOyLgCFt6QlQfVpW&6pmOJcP1Dx)aQEHnqhZ)Cq%G~U=1D1!t2d0#=GD)O?nsnT z!YZcX>*`^Ttr$fxQg$@+b=127P+?z1`zP1MhUm7%8U-sHlsQEKre*5IBVQ`svc zR0kZo1BlN*^By(48N2d|zOw%Nt2c&|S2J?by9XmTfTz{DxW{PV#s zrroMr3G?SS4)7Sq+f-TA`zgxtfx}Vx-h~*=P98c+`Df3b(G~3#(a_LXalEQ9$_*V- zqO?d@qVMB~-?p3FeQaVzEbaLwMRU`tBpqQddThgqdVpGC2pn3K!5GMp4gji*9lElz zGKq_ij*3#$)6?7U)OVOX(`ky-&?yu8+``Va%51R3&SV$6XQ2N4`E%BR-FgG50VR|L zVQ(M$^^wQ3g5Lc4c*B7M2gWy#Xk_Vom!%Im@wf>+wlQONmat~|`!F$$*@$NR(NT7{ zjpHaN0+H(c=U?PLss9ParFHGvHQTdimB<5tyAyWjP8JwxL|NH^P-Q;zDwnK2x4tbT z8$@+o?iUJq=0Ath48iVevjr_Jt>3ru%Y!;t55O%Qe9fH9O#U0cMyTH;NC%U!vZW>W zWdWC{%OPfTbe?8FPYFG{gK`3&gXAh~T7M3``}B$3qDW{?(G$=Sp$IcJbmNlP0>D+$M!>B(|t1Dc9aCPy}O`Q z4iJ(wV}7JZ#KyilNi{a8nrC0Wcl{Cjp;OIXM>jI=eC^HwiZ>o(!^Z!i%DYko((PnPne*LZT8NZrc(8JI9{ z9zB}tt??-7`-^Su>8Y1oErqtM=KEy4yR>w__tV@`Pji?2Q(?zzAT>GJJQ*7$Y_57*Ad)!9amLpGjuZrC|vd7Z7Tt-~{4u~IBC;OG&3#=d5 z-Otp5`_j$qJ96aV;D?csk#uKWeU84&v-SNO`aX)Pu!UFMveGbpFE(x56Xn}$latF6 ze(#=%gYM%gSH1IGyC&o=Pj;obe2ZalDtY=e_rixqXi8KYQxi|xqV-lO+(fCMC46G< zE1{<8jTzIJ)Fve*Ddsob=9G1XcDa8@Ltr{p>EcIsOi8nU38gk`AR8(CTW4bfU2 zR$lhWl)JwtIvW9z##aKmK73GthD2)6KYA+|#m!3z!lKfdf|TC0AkZ6{nwkhkinOLwD{lw8e-9b=mO{!D$Khi~z+{8F!^^N>7L2pau7mJKwUePd%|+uTUqhEUhkWDaK! zRTh~rVh(9)V=!W8vov?UR0XxnzUN6=cWFmQhe}5Uc0O2rP3 z0W{XvQ$WvY1l)O>eS&Mvd&|zFA$U;+n2pFMB?oDAh63|4I#v zf39}l3xQxmv1vH=DGakylKr(_%e;~5Ph7?|W#}tlxY7{XiHDi!*~ENdivh0@zGc=% zi_@&_e(!VjHsAtPn(yu?_FQyXnQdfrzIv64IFkUW=?E0~RF~vF-@O6?DiRWV_G|<+ zHM)N3&4UAaXn`v$zdKu6Tk9b$!PT{VohY*nBvB1QnMal5rAvzn)>i-*n;=x~id1(V zdO=Zj?=v=Y^cf#W=-LTVf$pqKOiZ^x@8$%Dj8q`dVq4TWtU|%wyhD}+IHEp)cH5In zz2)is@dUOn!8=;ZfAnZg*Ns23v%Wz=GypLE5SK>K7&s0(a`4Q2`xXlPJpx=-={!sc zU85^kZ+F7c!*Tn-Qsb^%*}!t9dADl#3*3|93m-&K5H{kdZ@t|F@add3pO^w{OF^J! zQjN;Y)1sgm3(IkFaS^(c1A@4GpwMWIQ(u(T)aZknU%s5B^R(Wk(02r6U!QNrwBEC~ z)WM%q`W(yRjp?c@KPxLCHb(PAK&4a7OZX>#s@w`+Sc)#HD?r;CmTkL`HXPgQ|9)`7 zv8C=+SE$gY4!wI<6~4$URJzSP$GLxhePa;+v8RUv;@I`I6&Y-S`jZml6WD9Sn)Gl- zun8AhrQL?UoK>LiZ)&1Gba^1!^>0IcAieNEm8Q;4Ms(yRtf(_g z8@>~Nh_F3uG1lkL?~xXom@?NJG%)3om~zdttULa1y1%{RgP+ia#>LTq>#Iu#&eVB} zOULgmVA#;`bD<%SeqrI)?i=&d;&HVFwOoKKM}W?u8`5*jd2<^*GSrJV{@`vR62rG| zU-5fZEdrbHCHDGOPEO%%YXYUi>H3KWHxt+r3eL`wGt93C2Q3{us;a6qmoImmFj#Aq z{1{~9zgWzYsua9s_Rk;XYu65*>qu-3US3+F^i|}E3VTvsPD511@en#G#|xkG@G&qj zT>bu$Vdu`BynKDnZ?ek|TnL7$_xQ~7N6zIrLi~b)iXt%$Xz$KJh6##s5fQ%A{nfj% z2Y?7)p;@3fGC+w4o{!6w0Qw@OW@2d2XI0SE(VOGIRJ-jv;P|E1WH9^H zK@X=}DmA=zCw&l7k=@+Tm#y=jbN6FnvP##%Da7G21fr#$;<5wyx0iAUd`P6fi^djHSB)E zc8_3m|3tK~0YPAk$5hKbW>8aArJKI0p{@NAEuCm7KWle?x81M)csZZr=U&HCKs~`; zt?8oOWHfks!v=qw6CEtn9X`b%j@k=xT|u|QWG}^!VoOZE&)Y^iGEV)n3MnraJ${V@ zHryCmY6a5p4Y3uBf>Ouy*Zr+`zmV%8#pv^8jO#w-kx~Ta+LoUJ`O#668q0(u?|W!vLl;_(^W2kj1!*jB+;DSET}hN zJ&p^{wRPLOXHT%Uwl?(W{%1ylPB0m3>h|x_ipGH!l>f-_8h@&T^Ivsy8~@ispQLaT zn15!bfH!gQxTWQw;*5WYJ+vdgzvx5?Fa|(5lu2E6P1ER>^c2h?CB8`YSLTxtnidc9 zcE0vjfZ2S4u>V+KCN&K7wCD8ce#Oqc&NOzFDbH$y5C2{dvru=QkOu)8FUY5>;&Ol^ zM3IVS)yDDQ`pUw-%d`fO)sfI%6*!|mr~o$JI%=|Wv6FY;`OP>vpNjLHI}^UMB!zzM zu)BWqW;-YEuC^ntPf^AbN?gx(Bo23~38&*`QjM9tW4R#*ETMMsV*yjmwT1v%DqkEy zJ`NL>{3j?HHE#>hs6-X$qPNvd+FPrwFEZL0l3;Vg98x} zTkC&UDjxlxcDquxIK1{>tE+%uMzNNkJ@`6i{Y}NPflsvrr%?mO#Z4wE_P3YqQaSH5 zSIs3n`Dm*$m_yP@QA{F}NP5jY!Vr44=gt{t))*;>#LP_} zhT*=;wGJxQ5Q8Rdf1GS*;H2E`H^6=o4$FPj=K03rF@v;r6EzUhbAe$zQ(^|cl9g!Y zcpmzm)cmE(mro*XLuaQuQLV>P^}CU?P#T*1=el`FxQoS|=_5W!{kRfyQK)C$t4k~_EXw#%7P{nbnteNu zd*A4DRi-Do?ek!nUC#Wh<90MKbM40K8J!DS^?H9be*MQecnhApw$$ zO>bCeet>c=@m>BB-xa#sNRqitcHM$rqXUb@*1@4w)LW%E{Xq&um035#qBF;;7FJ?| zQBft>JI$iT1*u?1z?C?ieK*GK3n^#}wUX38K}q4T|1Ro{&$!7wMtczfh`C?C(onbo ztlp?wT3U8I*YMs`A0uLv4zuS%Z@Ks&jgq3`Sh!3~whhUrrJxkp{rdH5_|CsgW{pOf zrm*bhUTGjul84sx9-`7zUzK!KWn~0#5=8{3;RH{>0sAgr^xzZZj`+pO%ENOKNN)6d zg~okBEUqHT|JaWo+VIW*kM>-jxwHKM4mkf|VtmT*!#%2rJ)L06U4J#a)6>&8`Rb>{ zHd%u))lhzfmq$lSn})6tg~hvUm_Fon#n|A${{6Yr}%?zxOqN9b#-q!PdUmMKxaB zh~584Nh$M1{%U@}@$?0*bjmN(q zX4_?4_(_B16EcC3IJPPf{O>0mYwJW0Cxc_8Fhz>!7cOWXxcD&>;k>ToV>iQW6}^}L z{Ul>%Qv3JwgSC+g5xkBNgc2okOb4pn@1Zei;9fhcKAfzJNr1ol%UV%W0m?0ibcif8 z5ySz=tPDh6Qj*(_-l=_z^%cI|w_qM`UJyOkAfia?k54Bqv= z3K`K9A|fv@PcdueW$3o|H6E_G{9PM1Y`D-@x$jb6Wn@USr~!8(^~?3u8J`P-8_#o= zr2bx5f!Xm6c^vYjk-h;shb>AcJfJi%kM=AdBx+XwygO-#xCfcmgKTo)V*zJia4`L~ zf~-7K9dI9IYa~kcw z?|urH%zb$1a0Pz(fA)KN?)-TJQ&SG?!m!tG-e@2VhSRIYuzi2(zO%2onr^d?&)o?R zA7ka&752#V-{f1R=~Y8jWQaEDPJ8DacI+*`v;Cl>I_j&fjg2A@XBOz7u;)OZtLTrM z$*SbzUJqcCx4e8A0Gqw#^XCNUV3zz@QR-!%7x8L60EE_t20wmgT1dN*2*#3*@Z)EXU#n>nSF9csf6h$W>?U0}LAoQh0< z65Nfkp&@ysB@y9D`xlTXaujC3vui&!Q6k9~V5!ncM;}QstCZ|%*I^jK8&<)5$p{;E zDka*OjU?(Cu6cWk;N5%B3F0eU!7Gh{5!dq4~d@PH_ zW3L`kP*C^{4n$?=UW!*QyH=3vefvw0kwTLe~_< z3+8M3?5YE;MvIX6$mr-Vc(6$H`3uJkO2R~rm$K8$tK?klMt3C7@2__!<@ROGi3*B} z(xWXsDJfZ&*f@riUx2^=2AGcKAJZk@kKMf7s1jI+1iK{@ASwye!8-2%0xBSBjI^}B zzrRxP@9DQ08?Vg_+{w+&Ra`CgX7FqmjU}Z-L=*g><}@}nWfe48|97N*S{3UX3dscd zD;9LG!2EpCEjwfl`7{M0&Tl!gd-v!=U6DFBGFJuzG+Oh&!t|D#9sjrBJo&BuXAJ-U zDOW$p^nVGho82~WB)>dbaT==1lP6DnVI1N>zeU?ySzDd~`}Z)r-D1`9Yj#)(ik}UL zkJRwYV4WHcKf=SC!5{4%9O}Eewvy2vK-0+NWQq7e$kn{eq0wu=&^fxvV2UfhntANI zGik|u7vgI8wX4&8oXEk6y}h}Y4pwHvSnK`a@83~%=#e^uLMilIP*!$3a;$r>br{j* z@bL{VUs3@)G@|E&xa7}%K@d(mNtP8^ia>Z?WC|QQ8k*`b!j3NAhbSyj>o(m171>_8c>q(b=5_Ayl`z;U`kRU5cHKOurNwRK|4&D4Oo0{^( z5RPqLyfM>PRbur3#QnvqS2SoSA`{E~2977=!;6COk?n_18hw4StaTn|CbO{c1VPqQ zGJOQ#OGbUZe*Idrdl*54=(5~!eP7oX1uc3D6WKy@rI&hR(FKtvRu!y)drReuLQBFp z1QS|&dmln4r6oQ*GScdzI5r_xWl`nwKIbG)y``d}U#b{3M-C1z6M+JpicPFb!Yf>3 zCTvjBJk39@Nr}EI6Woc<*DP}QQi@;;Iy_>dw78FV;DIXu9v}&dxRki~iRov^8eyvA z!zKdFN3Z(YPaz?pkVl4j4f6tM<@c+nD+Yn=kr&BhuAW)()LP}9u&N=M#U(gIaj##$ zUO2dbxY$#+7(HToRh0HWxh5eoG3~6`sPxR`(|qaww@7@29YSDj9UT&ek0FjQ5%ASC zo9(n>#fDS-aWu(L696R{4aB*Ix0Qg|VZ4~N&YW<>U4nua(-oxKW-*b3?DWllKhp62ZvhnARn=AV z=E_835e(!b{*2y}Yiqj0EfWQaN&`IaKCKTFvk%DH6S|m|8GAg+(hj48MdK^ZtBaeP z06|)cZ7nSkq3h7oRa8~kggc`$0W<1uXiTZX%4&ZLLK6>bleFJ$9ykiI<^AWgKiw1f~{ zppmwZ6AoNtyTc=w3}7UhK}$-?J^MX%$_(-Pk%CtKcV=I5It9AEQt;~aeBKVbFIrrzA0DRL$n#fCJ8LasPF zN8AQTXQN0(8)|LBB1b%aEJ2Y9H>#}(Qdknv1ykyMY$5NUja-g)G5^wKyB9q@3ngt$ zLWxDEi^cAEyMxwK`37y~Ces0@d2EM-Mwr4$aMNk88$tp zsHlEJO2j9k+OmFIn;v*Bnxh*>)mKg0j>6L<8o&MU*v*3!q_dxAF%6%4p?v#}9fgwp zXbuP_zD4YH@p6S!lM5<3l`nc*)>E-T=^x?a?hR0z2fs3(i<5(*mkPBEk z82-A~T?$r|Ygt#@<`H*ru`{->#$y{efG?09ZrAYFuR+)dbZ2sYc(%h9MI*Die7Q*S z=#e8_IP8ANYoj>ofpsU8qH*~F6+;k9&B_WysxuA81KN6m`Fz#o!QQP~RcYVi3mh1_udF+FZb1MSy=TrE+L>~l_bM?~_I+idY%Zsyq9RzGzX6~B#C1Za zva0IW`NOhTCw*ZOc^P{k-cDK@7|hX{=47FXJHC7OhLq!8BHd+S3%@(%ClnYw0SPLVh_XAz`tj7UqD24p`2&vcBc>aKqU@Rl8p%NQYv41TifC zsSo)XsN#O(BI)~=st}w*Q%18A(Ux}Xk;H$$hDpz;rLO)0{{hkB^x9^pEX|lM*iZ2O zRL5_Mgad(Y@NGN)?l}A6ayQ!M>jwwup?n~+-x9G4*w-KFfP`+aHM+0)lLglGGs^Pv z1QwE)?Y3PFspQ?Cl^-u!t z;{R*zK1=^IX64B2HSy>Br<2)?Z!F~i6jfm6xVm*k-$7DQN3suVX(SHR$%IfUd4G>Y_ z^DUMn?}pYTfT_O?m@%ZHp}{$X@J~38wJ^o>Mj|62CN55~Y5q3>OEHLI15GM;#KPeE zT8@4#M5I6fe&eDug&(W`KCcINCiq57K1s=~Xx8%NJq4G-jO6SukW4i++$(5G5WyMN*48AYq!fVzEi5dY zVZZUk9P(bd4li~H!bdK~3Xr&?0s|u_74XmG(4N7Mn{$8vsz4H^AOjSt*s=?jI8$TY zd(ECw;p5?nP4*P;CdVBxFV@iCzXQE%$#ISw(-4Ti&Cbn~t*#r4@C3LqC`@Mi&ENoImTUOfbcAh=g-W~u~ibrpQT z?A*8(oIz?hLbs}`j~Ex2ra2GIR}D=?7+B4X0+bT*sAS0WFFNxzgmX%hw+u%D`=DeE=@I?OAdu{PN7+X8%HfHj+LtLqJ8K*1ia)Ir67FIV#BBiz^ zJnDj0^#1W_E}&8s%t={ctb=so5%kJBUf=jZ3!@)Ytmkjuyou3`UE<;lU}z%aob2q) zTr*5l6BJeeCfAq#2;*!qprysk9l%^I2GK|>l%Z-Lo$j^US>c^caCR5Hejrj45`y;j z-^p3haZqWycSO$l>ub)cN|3m1#3PJ&@La>+DdkD+BRZNT;Scud)wwZ^m^QDuG1|H} z!-&MGL{&*v{tQrA#T=*kxKw4~al#&XvuKzv%_O7&DbRrAe(B=qVhkHaX|W$c@^~Q;5lulStOk`Y_l_M#0}@_n0^Xvh)_z8yPVL9>t7Z5q*KX2t zP)FsIw$bMsZI{Fm7j=1cg0v-54s~39owa{_xLg}d+Q@pliZhKMdI~RlPQlOZTwL@{ z(j(=KaR@d+Z8-_dJ8do}C#R{SBk{CASs57$mhIa$vA}$=EeKLKK>&@+W&6=wjn?Zc ze1i2NN2z8LjS%nlxN(Cy;(SeWXXiceL~R_cU8n{BnYVjJw%#G*>Xn(at|LOq4u4(2 z#i43zK=;*UbE;0lOdSs!0-NoCP8q0?OdYXoC{XUX`oGQ`G}lJcid(<67QJ#s5mh$(ymbyI+x zT1}Na0ZO=u*m2ldKFg)5Bnc>(ExhjfFFqjC1nH7Tj)4MvOW$%*HoY*plKi~DI&9os z9*1UA#3A$g9aq;t2*RQVQEWC5e`f|QCGH+^j~IOL3DlXEKylF&UzB-lQPtpngPP$E zOB^{)UYeWtV;-e6rhVvmB1UjoN(T-CebwI(e{3V1X^Lr7-Nm_aaw`kRaQFFYv~17b z+V{ef93mwPqahS+N_hzIBaL#wHlMS!*sBgB3J-mjpD2Yc-O0yjaz?Ln5&X%Yz}QCl zQ0gd5$NlGCb3DUUc`eM|g2wYL#b+%IlMJ(Ae@W-t^$lp$bvs7l@6X;iOo0j`#}C@6 z46O_Uh$!@Yts=_W+M7xB_7Dq|FR(-&YTs4FrW0-z^M&P`c04?Eua2DI@pFJjbzN!8 zq7Tk&oWpKKXa7%8hk1-2ta2af!O?wYkyuw(*SFmI;grVa?8^G=bTT$eCR9~A+@W)+ zOv5cqE_7L2T-M(;Dg>2`AA24L31gJ>Rm(;u#RW(<4OQ2l*o5T5Dak>uLrzq|d z^Z0!;$~m#Q?Ck8erhA;yssmAW}HsA)E(1sYf8wano z<{{36LF*Th$O~cP>ud9JlmQI8uaHjqxW+Adc8S@UVGJ;gkGy;L4&lX6e5!51%A-f7 zE)!yPEY({qrL>DzUTJ7*j-2P_k@FVYR^jpc9Hp-9?I4h$J){gSB^8x$>~%*6WHr$$ zMn@#rphA-3I3U2IOJ@1|H(I1@m~NCo->F}~2VzO|v%<8mUt!fs`>@N&&g^puh7XTZ zq#`%M=5pSnGuicas(p+dkPDSB%@*#KV6QDrcxb|NWO*NrPee6C875d92!Il!fgh_7 ziwtY;`kxYhY*v!3efWF}4S~V)*3<6D=;7YLATr#ko!fv>Ooz5;;hKw#1S!SJG*$3o zh5}kWDq#R#)L^!X(2qViZ!2UJxXntJ2Wrxgy_WS{kVMUAA|6Ou`!z^;ul!P@q^qFJ zqs#i-c|}ugZHIueG8Ts13b^QKJ&D5?A0UdAO2!1Pp30yL>$?MdIOhibstx(jpgO#p z*T?eF*+;e5&=jNy$<)0#-(bM^T7Tn*s+05h)s9s$X$t zOQ84mKdjZ(CYX(MB&~0_+qV&sSakhVu*r91S{<`VqrFUrIzn&XzOP}qef9CPFgu)% zg!p(}@UU^gIC=vy_WzH3v5Zz;(=NFDcOf>DvtDo-Y8gOLSf7oKxr)Xj&`qZGg?AK@ zSuK|tp~$JQapYKNiLy(*#tyPHku)5G`@w{j&CRzz*ze$nJJj|PV1<_K`beVSwZX7- z@}hI_bO28;uPd`d3P1X*BUbv0u$|vNg2(rUZvYKg^9E-XX$ly>D14n;K!Mokq>!*@J~On`FCICm5i=u z?6MX55%~VQq@}mv#32vKq&+%0xk>(4+EVw3>&FTyW@cuBK*mNSiyXBem21f2=;a## zErneY{yQxifaou;tn34yy}#SZKxEZ-faHaeI+O<$wC`V-D^m#mgazOBS}6pVKQce) z6C518k&KaA)OqiK1))M>a|HCpmPNzyD2Y@UBmkHgc2$D}M)eM}OI+wLWDIUA3(HF~ zax?-IlnWIA-TNLmWdmZQ(>D;#B-W3Oj_5vEO+<$SnGS^fHw<=$A>NGyoEQdFX3&C- zNb@fINls3VKYWD`RW}&8N?wc&p3Qa)SW`p#8y+6kv*jcMMAyrG@ZCA2Y&SuqV`60$ zxSm`l2IWOh$iU%`z+zq6;_%WmiZIKAW=Ie$|C+fid@M}m^3?D0_^dFY@MLsL!Hm#@ z%RSz}rl_N{1;T?Lz@_MkxaepqgkIK2oLE)j(H7pHnVH!Va|CUMUqFDI2o6FfPjim& zSnYuYsS6s8t--#1yNA*|XoJ<-$|4#611{a?F=q=Z#z{QEoCD|CliXyw7es_!+<-6g zMRW5;^f*Nz;C;~K`1kA?#jlWK%G@R_)NbFOU{ZJ=IVC+%=W`GAY}1##O7B%!GCl@| zSJqh=XUnr**vQg;nR|M}&K*0%?Rx?YMBptHTh&v>{Kk_p4v{HLK>xWgJB5s6i=6vx zsPIe+XKdxfqaMtN+K>`@LqkIsX8gG^*ES=@Iy^K)02||B4nug7iGb|TjX#r-;R4D= zdS&+|#Ob!v3x}k4$Q?SwPGH8D9{J=f4@h*T$A&e18>VMm4Y)m!yP3t_!b;V{HFx-e z;a!AQMuA*O*zUdj^H5oP>C>kT5GR?oZEIvS{>{i1!yr_2x|*Csrf6AiaaDammmX&0 z@$<_8M+CZ%0e^uPQ;>465>&!2U<|&#m+sDCN^SjaW5HQZ~#jO{0x-q5+PvYT0?sgV0E#ad97Z zCde`7KzjCBcr_!Cx|C7aS<6GyrSQ)r?K$Ms_X5YA-pKec>7{@Ou;vv&t~d+1U@FAS zhNWU=x~DiJoKhg*(MRPEx9&G0{{}Fi|DZhgqh_G#Q(M}PMV6$YAaDn(rK_(e8Gt%pk4dm>}}t|eb^V0-kh9hZr_bb6S?AvDeUTSZW-odH~z?@R)u+Jy!i;)W*(< z3&mi|IBS4kv})Z&Jp2d`L_idb8=HTt=Vh2j6oiX}j=q6GO!+4e(G9-glrR74g|Wz{ ztvSF5p*!8bDf0e(f2hI#xvv$Mc?O+e6THQBLOF|8Uw>6!rH(w&PAO^WaY2PMHP>%d zRvw;2vR~(GQ*(0$?$`B&**09 zLNiAThl)sBE}6QZ_vaqYf`khi_dYe zc89N{S6uedK4P@qelhC|9<1A!1NENrxRkM2m89GCVXp_L39sbyIujy zU-QCLbeyIdGt_SY-^P=?kG{C)Q%=kqq92W4gwbs<=6%XuMUgdNDGGt=AqYQsIEGZU zU-aKz=xhzRj~}9Lx!!3MHg5|2z77I%`_G@NRSSSpo@_F7-<7IvJ@3jKN7-W4xe;Sr z*GqV6TdGO9v#@e8qyR(yO}h4-ZJ# ziI%DqNXI%fF%gXSCLgbXTB8ay1E>-NMJuLK(eC2K+epUn0c9bJ@A9i}z6uVROK%WX zfgDO8#Vg21*gQGiDv^*|MGEE-&?G$a>n-B93iLPoyo(;Yb>dZ=5~S-!V3%C7&#_yfTmWtk?bF zgVBYW9INZzhribX!LXOc$31wUd8*to4IMS_st@!@#A%zF&^Q-nQQE)~C@C=A7ZP$P zsSaS_xHi;=S8lvkEWxhUqnMl0-Pyt6hrpNgko3)ej+AqK8(B&NOwH#CPFKeg*6!@e z%4B+vx)BM{n1U>3CM>dcmt7Z%%XNPmoT|9n6Py3Q0O`WIEzDx}b)d}wsGnN=xX1{c z9Z;Et8}o?$VUoSIic>`7(e@dP-=`xGCUn4?k7`096Q1WEporr~@i?T4%nNwV1R{Sf zpFmBc;9X(%r|Ox0bN?nahkvf*5HxS+9m@G+mi^PJ%B4ul%KEI;^mz&J^Xmd&Aq6~G zdpb*swTf%l6qAvbCdkZ)cCSVYE~Z#xm)K4TLo%tzCU;xackFFY!)Flwc#@-|l@U(y zOjbEyb07arKJW{!87bWEpS_B~0L8jxZYWOf-z9BcZsK&`O$Jc!^ssPCpdZc6yaA$x z5}+qBLx!47IgPLR^c}VZPWN+hF>VWn&Gl~Q<^E?Xz>;)>CEZi*V3;~U{Fq%=*rSs; z)QCH=a6>q3-(I^{H*qG^-b7$#rrLDei&3&^j%ys< zg=%ckOyu=bD{y2A-S!+i@9%d>ndL_`k`k}my8#u+FrwR!p2&3$i0~(zUu1^^D@CC? z{paaOP}j3iQ4P>au1kN$_0Wm?#Zvcebc5%DKB@u~mw|mlhTdkrpKM|HKgjy-xSrSW z?{7xhC=EhOX%8YqX{Z!Z(oRcJ85I#t?No>+DV3I@C5m=R10^C#Lra6Uc0KQ#bAG?` zJkKBJ<-E?(_M#s5dxs(T{n zyS5bonnLZ)o}L4sNL)G5DaS*USZ7jUu$6j0THa*LUKru&`UeNcKkcMvQh}bANPnS` zenvWDMh;0&^kDTVopK*zEQrLC2syvz*|FR@rLx$ZZ5eks7A1@jrKe7vDtkfCzyKNZ zN;MK%bIHLH>k$G0qTwUDNfJ2syo#oKCUKqPd8LW=ZZCaN0YtgbF)%y?uRiAeV_t4f zrxWup`FP;)wOVGkzsA6vhI5-FRkYQ|f?4MJgnuRZT5oo=dcFf{nD#PozPC4UEbI(g z^5Xlm)6+*mP|5F3fv{2LK^Hk4Xek&cG{k=anV-J^`-xNN;De{L1;km|QB}mLX#Xn_ zgjO|F2&fbaaEf+iBBMnJF6T6zWQZukh1jfCevX8^gCyq>ffvwJ62vmU#Sg;l2Rnv{ zOUdmpQM&<01!I&3POeb#(G91MXjjLF(~^?-i3E>)dl-#f?=hl*oY@RnNX7FdROMqN zP!8c}AVJza*mOh#0|0biNqX~F06jhIg7q*XrxQN+67gC94N>Dhg2EeUFOetjNbjQf zi9)qMVhk{dL~e?44=C+XH8q;{c6J?6jr4YYUOGlbqR~f=1d(B)-4sCZ(6asbq*`BA zNo#fLnq%O6EANkj|F6`xur3wYCe4c=En+AnpZKZAl6!c&<$>dx~5N)nd0=T)u3~nR2p^1^aOo@EnC3Juwjs8wMm$CfmOX- zFvhYS+Re1EVjMXu)_qH{T3j!2pm#bkA>jvx?GzBO+6W(k((@jkYYk8UjLj0eKBUn> zBTiBUY+)0KzIzuzFVy4@P%MXufHE<$srLEP>LrDuOFuUN&xpXtrKYDB3F2As$NAe( zl5>(kNFW464}kFkpKMX_TL{78dJ5M4XiTF2(%ejbTYOh-Owq*ujtWB!%Ucb3 z4f&49%YiDv1|B?hy))3hDTs@U6AcfBD3a0uSW0i8stbjwyRT0b#7&_^th~wMwJJ#J z(g1{zpA9etOo?nkcxPjT|Bn)dH`tloPxPAJ&tbhgTOtxGWygsjQ3;89e(v>S#G{Dc-^dhoxi-+mm@NmK)CIU7YbCNpU!0lVCm7ALj zA(0JYNUGcW0D}n0$rU%BlfjU28ZioFA)c&)giejYLb0Fr?DR zX!&n=xMZVaEs>xllFf%BAsOer?{$8y{)v|xNgIJ@K$O0CRwO$T+z$J}v@P0iZ}tGf zPDRg6VjX}s51w4(M+K{LSoqFXx>NEl%8)R@P z+ywDFoK=yGgO}G=#-s1fcbnUZDWWWRDwVRmtpee{akKy^pd@3%e9~ufPO|s}p#f1F z-^9tAN-jd~N1Ehg!s~;#`AoiKaN3O&NWjv;5Vmbk(mntc3Hc_WINf+5yZ{0wYNy3f zNpjE#;5Wapz&h)NTt%tjte7&huuU25R;d;ErsikQnxr~8RC!3slK|t<^&nCG9*D41 zefEXCW0)_j%*^#mmV0D86V@gYf{XVwum8WoiGwUM^^=p5Ix$@51K}g=Y^d4_Xi6Zq zphwT-8ykD#VD*3FjV0FQvDTpputYV5N`(em^`rKk$F?vlAp8z}Z6&smoJY7(BjPhNiGKIrzY#oq3%Dl?o(!0F{PXgh zqN|VEx{IP^4ge$$(PG}y>w*^u1jeJ}7nb+$m*I_EL$$C(U9-}@l+9X)Z9`xTVl?L3 z34GD|_r6trE zBO@aO6I{Dt!*$H<<{$tn#Rh`BTNbh1&VrAQ%$DA-tILK$VrFekEhhFjhpq3Wcaz8e z`_ndM{HkNqU9$3jDDgb>mm(syWgre|hGM?s7O-4;40_0RVue@rV1 zJ+s&ip^)*5i?onyY^QWUTj`BRXbLwxs6;Yz^ypECpnqk{_@%1Y)$tb5XAyXS=q(Uq zU~Xqu_ZlK|bDVBa=bZcBFK~UmW-S2pHHiEJS4bYEGPEYx-iWYT6BOi@a3g*NHXE1{ zWM`It{P;AZQY#Q2mjYk;iiKSp)~_#XZ!g(${olvonsV~gsV*!isP-spd4P;sWOML_ zre++Nd(siMNq0Dj{&N-1hENDLe0)}fA)+9oQaFrROY~Y{Qw@4*Qck#e3!EWu$QuL4 zyc3l!5TIlSYBS{D6{z9Y!~F38h(MqVkTnt|<0H=e`z{*$@bv(VeUN;K9Sd_}MX*u? z71TDM!50k}(zec^=&IA9yV3{6Tft5L-1~0{Nz#Pi3G))7cxJNsy+_6Pm;<3f zTM1kf#sd!U+fe5S+hvDopQ&_&wvUF9@c^cRj-H;C7cPw7z7^DmF5r*pp42s{!fktw z0ZN;Idt%E0%YT-eD|JACDgUv{**P9@O3c=*u%PnuXry%x4F#haP5>JL<82irgjsO95+ofv+86aF{z@Sf zE3m*t(7tq;68GGzVFhwCiPuF7e_sU*1I)3A!5wDCCS8?2_n(TfG!v?xH2;Wk>W+Gn zmDs00_2gRm1*?U3kqum|Mt`DtiSiEcMR`+G-jXMsk<%K<`7ly8x>20==2g==eT?^lK{N7T-tSXO@_l9UT3-6`^$>uI~5m)5=YWC07%GN)-X)Fy6=+VprkL=)1KmiVAR081Ou@S_3aw+YRMi$ z&LXDCj$gl+R8>`XAInFHf%C0W?2&Rmj#zZsTT(6xTae@S;v39T~67hzvqG0j7ri8f%Lh0O$!TNtUmdw zFtsg*vV}~#6E{byZK8-A%V`nP2?cE!*L{zN~qu&n{ zNSh{D(00!}Uw2zCfaoS6fAexcMQ>*1pa7fH{q0(+CtXynj zDl_d{E4B!x20yH`1e{B19h9sX-c7$>=f~h7fPvH(|HPxt+uPd{t|%KOSK__FD1;90 z<(nPQqO#!e`eCR>SO^>B{I8IgLdf=orwR>{0!~!a`JgR>k%w@oNd$uLhxd>XkGD7P zH}LVYvyVh{GfL4qNS$fUsuvUZQ?G(86qWU_xFi`*$30(CP8$n!hy z$2c^jqg`DMgd?#d@g99J=&Rh^9D;!_JXKbX3Hk^ik<<{U+@j@@KD{R9{(UJV*CQk% zWHlj}7pJ>c!`eWLv$wZm)5eXGP(cI0HaW6(r6<&8B&~xai{S8GY4rs;M8s`^&tDD$ z^Xk>KvVzKj z2iU0inR@WrK*LJWle0d#=uRK@X0w;}Neo|6yDtbpQWgm63YisS9_JA~D{vM}9foa2 zlES{a1#23{{1AMpCFX3>vm-8R6k!Vwuo~$Y$NnBM(~i5RW@Fyi@~?VsTVp23CnL3X zIJy3)(9f6aw};+~(ywKvy)fQ;xV6}g6A7LQU`y~EuMwP8=q4IXh7Hm*$jc+{7_3f0 z#1vfIuwjFvIzI)6Jrf>lDK-@b!c}svz*e|<5khPzumA}pZn*FVBu-yTEE$BX0GUW< z)ywdH-9+nAq)P-;T9loA2EFTY%K8J+INE@Z9l%n;8NVF(22pIpZrTNjUQd`hW#sp7 zKbTWGbWLucD@J^TV2J78A*B=2F4cEPr*7h{3KDSuYloZA+-=W&t3r?9UY#g?lUXFW5X>JXy_>Qr`MaF z?^eH%z0~jiCO<)6$Sgggef9aO8%n(wnnLRByIrr}X<2+kQ(Im7;l^Tvq{Q8Lm9wi< zn?;R}p8PV#vS9}Eg4Bt~JHgC_9z<>bHd-v|Wk$O(HBkCxj-toH-R+>bEL#yx_Etyt{yIa!K z{ivt_7{7@4UD6$`4T)}|JOKN|0gfGbgwTg6!b3o;L@Eh!dSSirfepk;;lLgvHJdTy zyd{fG=rHfzy&G}#p)o|TY^YRQV!(I72*f%F>3&5>vaqrBsXyyPTSny1p8|3eiMhQ&ONsZ3vH9z9-vO^)3TMOUoAc?<$Phh^arp|3}V+2HH`?6?9Ss z5>x1kdq?qBs3kck@M#1G>uc#ztmP0k2RXrbnRW?m#YhIq)kokVxOer;1nfrE_dK zl9!j)`Qrx}!hJu>ficD;?gbwS;4^a@8=>3>KnAy7=-npY8m$CwopL3XgM`PCpfvsp zB>=IND3%U5nxoIAf`PMla43UC-Rhk^`uztua-pue9y||s)lu^cXmy|zAY{2h|fiu+G5PfJt3rHzNZN@DpP6fFkKp|8B7+4Ku z;(HLq6~8XY9#w#9r2{hxhJ4l+&N2w2szAM(%S4v)j@jIt3q@24;7 z2OAN>1Tl~K64Tum4~D;cWSCRvpu>+ZJfcMf>xMsc*XMrO@HN5Pa@CM?p^~_`tPE$M z!IHtRbqXs?UD~z7BS$AKHm<=MW=lU=s`@Z-d6%n^sQfA{3U~xeUg|b9bQ8M+IWHd_ zf|2|?J}8_rx7Xi0h2I`$JRA_=FMH9Hp9UoaZko6|e5ua?%?`jvA>8`5;*Fqh?B{-; zC8k$%fKVt1*DzF@oq(3X7w#vZJT%;zQmi?RblpOUkV4M4V_~XdKE;XO^UFjy{5zH( z9JDtMwL*YO=`K*IsRv!TX3ZK;{D3YjFt5qPU}%*nx1_jVt(UpFFq>z5Rs2nD?IX1w z*EBq{y;wn@bA2&xL$$nEivAIhz)>6rC*DKjwY%i=-M=@8C31gmGpU%j8y}TC(zYfj z`y+^i)b&byQ=Gk3{+K7$!=4l|YQBE$S}ORb^YinoyEowx0;pjDElQyO znV%WxkSb7v-s6g;=(AanN)UYp*c*FT5~8Aoo-Lb44DIgp7id?a_BaVsNOYNNK6-lK z+}9yh=!EpIFb41i>A7(mNJH}5=kGN!219Nm=Ha|cN@^{(TCWG^qR{m`Hf>+BL-CVz40oLUo{7efEmE@p67jK_t|4(lB#o?Y)> zJIwajIDd72$yBp`z><003W~Fgn_ow5lA7wOo~=t&DRagfWiK(H{V4aOTD~rsmX59* z-Xef?k94w!aO$It@&=62h1yO!1c)?pJ_tMzCghp+bIsx|Yld zi_=CRlcYc!L+P;*5_&}dBg7#jYV?fA#EB+nW)NxXD|-M1Z6tYq$Y_ZkK`)ko*Z-$A zVcK*Z`~xqJB+@#7%{lKZ2>1zCrR-Nz3ovfOuhJ`4UIi%)EDVJ&*8=j#cMsNd0n!Vn zk9PnOnrxJF)fX?p%sjR4 zO3KLKt;!N{GifC-EV5?AWikny1K{XKB&alEKOY(73Lt|QbRNIS8}>4IKatn<;$m9H z0Uq82xTdZmO$|2`MdS&#^8+UR2Z_k(vdf&)?2kL$+Y_yGS;^!P>j{ltGQZ#GUyYu~ zsh-(<^{ScxSLXc_VKLFh2{|4=otActO^;e$1qhF9RBgbd_#;BUZ8t6LgwWoY6BECb zG?y>$KQJseVN*d}dr(a_ciQ@qW$rjg(YQDk~-H}+7DzF)nH~dI1ld%6JEe8H7M<-4;Hr*dZ zeP{%C6WRw~O@skeRaGA$Px|`8DZSjK2-vw3Qkn1p2#JV7ri!vF-1GruzaN5m^||{J z3KEdFufcp< zkKR>ZCgogI_s)YRp*_=vgNt^4vM+Vv!@$Q<rjEn2V$?4vZTf_*3DG&PjBPS!@JSlokQci z_<=*V!N!Fl*BISxM_9f#=V^VJI(g25mzkIMmg9i5?59$#0(hMKxF24ndAj9M<|6-4o0#)X@t*_71K4aVJ64>Zzm`ZDW0*Pg zaxbH7%dk(fa;~!s0QO=IB)%Je;*}iJI#W3Yq=z6k-@nybrPGeCn3cKC?0{FNM`~6{w}v!X|ifCmyrla zg7RQ(X(*ofOXHaCqFqm`zc6fj=4R`SjW#!o3!guhA6;katxG{?bSPH;dZ%ah@iIxq9eRdrEH2aC8XB%BHQ*ov4kK3BD!rHS(PUYAadyAbAD1qnE*<-m& z!tVzc^4|Fx6NWB0;pmylMg*CnpX25wu2m9Aj7%$RJ@a$tPB3r#XVoeeEOhQPU`g{GO^v*2@Ytx$N+M6J1Q zu0eB~yGx*8`0mls=`8!TvChv`aNCxndeW=%Wh(AJb?OcYS0V%z$k5i@%p!@qEz*67 z@(wTJCs3!O!_^H}IrLq)uQm;>+{Ad_A~O75OmKdd z{j0Oh6dT(|#)Sx$>0Q36^r_3`fXRsm?GI^zgKGV-wVr)!1gY<;XM>*J7P&wKlx|-)n7e@d)r!Yn&4=>+JLI`TmMmYLDK}VDm}8 zGR4mc%~l7G9b5a{X1koPufkoyl1kk(r)kC)7tFq<%WR>Zb^oBToC#Lz5x!gC^YK1@EvpgGAGB?TQbovKzio(4n*(BEQ z{?E(kbq$8*%q5H2pj8Y4jN}>rg*aqoKzAPiDz-WgL0CFHOAEFr`JD^F1h*%UMm)8JLklW>e z{3B0G2$BtfX7>OZz&!^Lhhb)JP6Z#-E?L<>H_)o93+H5*3jY((6g(Vr#%AZGeQmzs z&-Hlawx1AhtNBRVwE?cQmCr3A`QO$mmfyHPoo~Iv(GnpoK^HHYeac<+2DQpBZT5*e zgW*%ppR-2`H|$|(>^@1^|IUAPz^^a#;h!?9J_;OL>nh1n5JpeYA0OWEH2eH=RZG>p zx|6O&^W(p`4!w}1-QQNwS;e{`GF!P6{RffdVmc#09?~OyaD5vT4xaee2Z+@r1TOl2 zJqs($bQ};6jZ97X-?_sA`g;u4xFseR(!?Ne zm(I;?hL(pyR3VsdR{&#FH~=_>5t##J;9Ml3+Ce+E%E7^b7@DA~Tbv))#QndAe!U0? zpaFul98nPmil?A$CF*bDY9i`t;7=ll=HP_uz(h;Kz@Usip19kQc=iCG4e^?MdSW7S zXA!h@1vC<5x)wT?y#LrS7PN9@fRRQB(gsu#i{n7VjE0hOWlY2s1T~OMeLNOE+z^eA z4Frc=5)D6*j<%zFs4-?Q@|&ZN2FZ5f(|2wJgyDB5%N2p}20`QB$_7gQM|_~3@GFqa zKV=D=K_k5VzQ%>&PgvbA&aB;&7>~yRAP!unHw<^6Cmf(gQQLCG?G@-)k_|CG?6Fh< zFiKbtZXa=UFh_xyK%vnI3lk{s(1W=EfG-ZWZG!Z&3^KCm5is!xZCs0o8+vRWQwxBp zKmY`mnC1>Vxe4JXN%lZPq7R;or1)d#CmGd_Hh>C)kP|aH#Xvz*3ai>Kn6r^Q6J(e- zcIf~V1<17FfEwU6KG(^wXYtnwD%twNi5{inn4l5(9hkV$u(SS_HT61?@S8IlCJ99S z{d+StQ7GYSEg=3Onh{~WC&9oeK*T=Z((|_^(OTBJbdhWM4aU;y4}5_BO&CprQ)QN| zTDF?|0a}1C_1YQ*yxP5ITbPEEkA&+9@7Q6^+{hSybJKx>Ko$+1v=x;58+MqLSZ$Yn z{CMe(kQig8AH#v0H;SYf7?6nUGhepBZcagdj=y4b!O!?lGi^o`a^pBsraRPsVD5!B zB>>=9^aw<1M414p4*y>T!-9Qh`O1Pp1inAGe}1lT8@a*iLOlhY`g_dG6vD+#kATkx z>_{#!aJ<9Qx*%luW#Q{l7ZLDSZrL#MK;M%9vf$4p7{S4C&G4fSr@=zM9v_z_WNzASZam5-cM8vE)j!j%dN)Mn=-<(}wY%V3x2 zW>MQB$u#0$nbq0w==8CS96F`Cw#}D}o_F+kUaP)3E3H{PbjEeQ|5R{vBYR?YsOHP* zS&OF`%{k3e_0xOjU4NY_RCA60J*n*Tqx*Eh2$$vpjjYm3i^qmvIa@4a{jav@T>klW zCHHwdTL&mL%7BHwk5^iS3$Z$YNs#m+ae>`N?DT>tOmq)3DL#2 zQ-X>srwN2*}Z1e_WO+#%jXmeqtkE#T-rT;vUJ;&K3$BoJinx^*l5As$J- z9jvd$;V3bQMdp0zivCfa14y| zj;`EXwNG@^^}~h6QNcy6z`k^0ENt)4(6t*k1zql)0>0V&_i75h+=i~sPM+sEDFI|T zp%{?+Wl3J|w*XMelrh~|ItY4}^D4sr{OI^xrsjHNdO_(Xg}8wvD?%?5I~Xb!j?CBo zh{a$6#;b^BY1PQG7RpIUuGy`cNy_aB_FWp(sfzka-jeL|Ksd(4x>ugpQT0`1qCXC2rQ$H!$Flmex6v z)(z#zE0j~b4ssO-UGiT6mez}IwF_C>9k+h{Y2%-F`7^rc8N!l#5YY>OW0tMjkr znfYk5clAK93~mz=4##%3-faQlwlrROW$)~+ zBPDwm3Mwrnow4)GPM_8va)niho&x`9;UVY!`#sgE&*8DX#~A{_ zM@%0QZ&UodO#b6s{PZcoz*|>GnJps4l&VUW=#r&QH_=7NFH-IgG&PB*JiNv6Be8Md zxbyZ)qS{AdR!}%jQrv#0SlE<$OiGT&MW5C$=3#j1W5Od@%rJzTEQ@#UkY$y)V=8>u z((W|9+u_M~C9JADp}pC%RI;P%`v@)}2GtyWTs1rWD+CRl_^1Rw@c0GRK(<=GYZ?zU)b7LW(X84NWOZ6}bVJs7D22bL|Je zfA_*W8SlhfR)X4T1gKpicyL>ToQ1}t8ri{cZvwJAu5N^ocgQV{-TwzHNG(guS0#wd z;uR73>~y~O3hjn&@9PV=CZs2?A3p-DEWqRiL%+;9nyNt;Y5$&^eDOvvBg|Y4cwi*0 zMb;o;PX0b?kru}j&sU8V5GZ-1vcjK&HM-%q(>EApTtb5jg+{FN=xwm>e|}xdc1tR zyr>K*jq0ZlmJ5YLCb1tZDQc-uq%{gXZs;io&e-#vL^q*7?EvoA?qiYmNw*pIoFQ>3 zJq$Ojr`A3O=5~RJ%Bw*YFL52u5f}Um9dfn47Gq zYjax>uD(x3rupnQx|SVw#k;VRAI4v!Te?S^D_1nWNGe1Mlb6PlEKg z>)#$wKm^P(C}!L2HF5nC9H;N$lYuNJe8~h3S?v5&L?9ujpw4s&&lI^73S5zZXQ5y3 z(bF78kOOeo>ig?^){OyGtm`42-cX2qM*4RU%73`{by>D zes6bo>X0lVexxG#{@^HKyf$BK^c`GQ?iu>&>83e#ja!z(&NyD`(xv9W^@mSAh;iS& zvS8hj*`hh;-OiE;N-y|+j$lI?r=}*Nfv~EY1v5|zmZl+5b+z13 zB<@-=^;qDaN(WF6!k@4f=A+*$U1#w`co7W-5oqKg2n^(3;~K-GP!=w3JcWC{u={&- zWpFIfU^WHm!6!Rca(NnC6gpDUo)3K1%Z#gi^F|q*4;p zB_4dNvEDCtKja4yg`gR-ywU&6>`{uQlCa)6;4v$-$ z?Wqe0RvzN=7&*mEpK$EuPEpkxKJK~6Rs%XGHerGm^<%^p@*Kmb-uMhNmajZj&N5gy z=M10|9In*UUk%$L!nAH*yfENr#HF*nwefA5k&p)8O+@<<@(?Lgh>d#yaXsNyASPJL z$r(hbJ`iNnc-G;)c(mS7$dP+m$RvUwCB$o9M|DfYuHUwZ7)msz`B%mTaPa}u#S(o% zjWAGLX0gC%0ZXn~YrX?CIx6rjk#IwJ3KAfI;@Edp+T;E$4Q7gdvFmQ)j9R+6kpy@k z*Tf5DKr1Qi@5Ls(Za?&pSt`xo*zicngh72aZUh8p04`ybn?2B&&^zLb`RBCd)zm zF+!5uCee>y!yXyT7yBDm!U5zpIo_mTi$F?TX^=kA)#x4sr8X|FM#~0(hnE+x{vqVx z+Aste1dW-L|7R#YQnKst&&zo!hMjrc?wecooqnCTDeV3|lZ6@5CHf*grM= z?BoY>TL|T-zJ65sHY|OD9PvR;Ln8liBp{D0#`p#N#7R?dZeNgljHn!VhY?y{BP%2n zh|U{r^bum0#1IP5SnMvWQdXzf+caTsh{DTz_!I)m3Fft-rM*3hYYc0}f^ogTx|zEY z_hExfByO0C{kO}bqv{X-4}&9MsT)0d#cc9ldxD31!uQ0iky%CK-~vJR6tVXz!*`3` zm*_587;Jxg{YKSm1Ydl==DlA|xlTKCco|#rFKn z(Alx}q9&O~fg_%0*95)F_!db8#Wcke5E>u&NaP#!SQ-T1RuT?(*P1N3*so0#n0So- z1qBH9K4zu3XJ$_VLLkW&UoRd5wxJD~)EqCrXiP zl^l|;Qny9-oDD1rpP;m8N+?~D&0cB7jUF)*!D>oSg9NQ~3^P?-GH>LemsG}HC?7BfxuKP!yi zaF~-*pMi_Xa_PnzH|q8@U`>065m z;%)C5m=@9}{NwI$VWl<+^YwM9x*EP@8*O>!os-l3eMfD$cV(8jWdAyv_m`jb980l2 z{4}m)Q=j6??>bF;PYv6AEe+(k1cmH9#+c@e*A16du6yRDsGBSX50<%rL9`LmL z@F@9_L55$9k3iiV?W}rjC(6nP=|=^Bg&N1CJrnY4;`F=mdsAr4t&9lPPchTZuO6G; z%ztaNzke+K0W&?lKEq~)I~`Bfq^CV~r#~&b%WSMeEZ-rYp4n;a8Q0P=#$EZ28x2?7 zSUy&8><^^9DQ_LI=n&aG5sxA}jf&z;&8Xu?eq~N|7V0W+DX0BwkPi1?d#KT?~T~F zaXdVD&~elP8u+Qhm+#}=c=f_Y_BIn-<+wgD>v0mt@?Htb?K|eX zZ9nSumE0j*&jvgelsT|Gbv_OrDRgf<|MEz;w(@OVesA*`#UDjSA6nOW$OD3teCM>$ z*65S2h=Q?7t4wi7@BOoUIUaYhn4r&>peK0 zLM{(4&T+uS0^dp}k)ojqv1+`I4*(+Gmi~`DuIhO?rqZmA*=2jDC-#fK({JIZ7+_NR zY-M1C^>7h@ujzZF^m0rb-_tsoj z%k_NlAoIF3=RWEFTWu~a-%hs7FVaMx{Bro);hjCMvHn|;oqp8_c@O%vTLac46aZYo|RYmqz#+pPlvIDcAPY`zTGy^ERKlk7;YJI_tw4+m9xe7}yQDq0_2s*a^3kSAnQsRss~7sWo^;Dze)q@e4@|Cd z>&_Q4eYW|)J&|VE$z_pIaN$C*-EJnA;a@8$KUOeYDt_~N%=_vHB{kDTX=3_v2iLPZ zD!#NljOyXcb%3#qWSJCccpjb*YGCi^DDtLx$?CWFY;4WU?{hz;O2%C;+7BP?x67qo zKISg#8zXklJYd_MqhrpuR&QSMdHr^7I+|3)iHD+hj5MnQM^rBHF8POaa)v%QB)NOItHZmX z{%vItm4xmK$<=i^)v_*ZY4>&}b}YK(x}B6LS@C?T%^Qhv!j+n}Ti2>dK5sG>&41x( zCp&R_(;ijU{h?aXnb)xaesX>XQvTRp-mbgIuZ z;Ht~6@79HOJJT+5G;oEu?_z479282+pxR`-rz7vd=lrg{x*-+gvR-{1rFs3g@2uTt zE&B2K`4(PfZNJE!^Vh`F-7_2F@NZgOqp;31F;s9Y;PxvTD4lQ%sXYb@+k#;Lu##uL zN|PoKcOo-Xghe|;ooxv!28Nz%%Df7oNJx(F9TVQohyeyx9uGFe{=x!?re^r1G$3ZHh_)9zjc0vd} z(extArO z#jL&Po>&Dx|3i@-YH!7|oH%;O4N)hq^srJq4IfuQkCg@gD6!F^L00h$PkF(G>zWC~ z0uZ|as-8RdH>)?EmUiy+Ww(b&i`*-VM*bBE#3b>4P?OQn(jwOGOYSOAewD;;1EVdC zuVTzT7dFCefO86h*i6w-eMb){4%dnIs&K^YKM~uX%$ z-GlABd|C%--HdN;53@>WxVm+H*O9YwqNz~t3%av`UhF+YAPK? zhhD6qUlfdGo@;-VIr6jkes$C~mKU#-DV_>RibG*SBL>gea;TP{VHHpFM&S3!u!j_q zu`7k>8rP+TDcyD_bLi5^B70>aB?sf*HkLZf0-b1336u;I2`vS&XH^(ZiD?Ir=rs-3 zcGvO4w!u06%ye_0ZQe% zxw*Q6TM@bV4GV?j(nD6N@)OB#*L2e>W!haU@{o-2MKDct8)!XBDMF9zes3m73q-R4 z62;TYT;)pMIO8Ov_Eo%wj7Z0`>PgIqTvdipo#&6bDi9_bp09^ke}e82UoRT8pIg$X z`XjglFgYra^uo!Q{~K}sluD2D2Qc^>o0yoNKX3YL-yofEn-U7A&YHTMX|Y+EGx^V` z9Ihk}Tf4NlSYAr`;+*zgqeCj(Wq9XO+46_yz6KY5NO>C@`P6RJbAw#7rMOr#4!;48 zkIW1eW(S}1JB#)2NOiKMls;cwT>0RE!s!cU@)q7H+)MB7m%pQ4&de_6#Ur!oUDxXt z$$?qRPo0C#w+&|}svA!Vi!6@cN&DE*bl5|8c5}$LjafD)U#piq*%Gc^`B+FNy=j`v z<<6rPpie9iZ_raL2QnAF0!1kPVfpX_pwI~!CGr3zKH55kccHT*95t|iD2{{QIl)80 zP(kkC?m3ZiTBo7n&EgB7R?fpkQv~AvW3hO4R%G0eJav)G!e#MCX($c0c_e-BPa@b% z?>%R1jL{$O`A8BONt7UjIj%mv?q0*n4Ac@{XJ5s#Jo1z1e3!+!{az0p_4~(0GT7?m zLU+R4vYWb^H*uT^WY!=j^|EshTTA=&kLm)1h6sL?OvZ>EY~^-OlE^uMMUr)H^TkWD`|fq%C{yUE;e` zEU{L`jarA_z2*p$$#N52wpQ!62_?tq_Z@s&ao;D#w#ffosqWl9^;}FU(9yQ0J_g!E zE}wuz&*0af{M^uX43`99h67@mXSq-mmMMwnPv58qAp4{34%atBH$|}M1_rK!G~1RL z|9Nn{*gY^JHY#wBInf}TX89>fq6>RdvO_zAGrKX0KNmWezH07ST6K=-ncb6&rBM)E)a-W1f(ZcO=SOy8E5OP#TYDF@m?!TMK zfZ(qJn-AM_yX_MEjbhhvl@8VZv=7z@d-$9pO`a*>tPxzVl?ZfOrH`yJ7%-NjCD<zv18t%pncYR(p9t)asOeOrq69MtfHZ9M2=B8JBo;dG#VjTy~XS5?- zbrRQvP90vGwr_f`T*Q?AjkQ}<_rGR)Qox9Bg!|gpZdvU$oE)NNT)5(k{CsJVz<2}C zj|+|+n_g^q^P%76q2q>^yTjURf>#|ZXjm`&TcyzR^@D^F#T%j$gf>#aKXuag`|e9a90+}<_%pXGz>$mW22S8d0t;vpFgu?^v<)L1 zm8>sRZ2%#@FY)k@Wbh__D>P`^_jtfqK{_ayN?(JF$o~z&K?0CaawbBqQ){AR$bQtq zV0D&g5W4>huVt6M1uji5__uu%@VO=2FpxLhTP8F8{S$k&c=gWR?TrQeY!?kY#bZr` zFMsPk`Os~2WzLO_E1xC@K5F>P{$#uLemUs;s1~M-*>_w%cjNNcLT{7j7_XjEi|Nki zE^{&cN*}wQlG)JIv3n11?yHHHF?Y6_SHJbG_nYhp&-u1Y$mIBE$x8;vSbEOski*`Y zVoIr^pLDVxk!aHQY3c!s6j}OLy zsp6BD=Q>|B8KLzO$oC1i$>V1bf(r2KwDIcST**rX1J^VTMy`p~E-d*n`Ef8m=HmKq zg{MnI(TWO2SUK$JmHuREbTg`zyu1}FND7Rs$-ILoQsclfLfYsrCyD!0|XDL!345)+-%zZjW0?{yY6q$yUs@${`x z{^#!d@;9S8%%;z_GZkly@mW6XeBXaD=>}T_t_b!)V68&tXU>oS03f^~BI&hLeWT8V zoP1(ha>L7OS)x!je8<#vIX`f@Tg@N|4$-GxahUlI5U%*0?f^Z(Hx>vPXv5WgF)?k(JKvl|wd|T_ zi~7TAgf|7lBxi;K*o>&tG$R*6vA4TT-LHYMah5_sNWbONxE^%cBOXgr9s%y)p0bW3FuAV+R0@!QSInU9ARAgB$URwVxqfnXdO(^u~1Xy-ClMTrcvNJ%e$t ztf9e{JzF;n$6kq)Ws_W%uV&IA;N*SpK4rmxM zbGeRCkqiU$*W@Z8(wBp}BI=;rL?>{^<>)|Z9%OkkQHY!q{1!W<l_{?S==4y@l~cKM@CBNB?>8&)9uCka7E;K zW~2ARL-3dNTGT@mg`jbBoyojv+2KNONMSlL9323PO5zG|Bw9i-fasr6Fwr5iaX5En z&a<(d7P;$XG!e{7x3bM;cpt_0m?Id!AlTB#EJ$w7!8Z?nGFeV9VQ-WQZfKRM+a#;p z><>QTPG6d-_qY`rdJVJ!9Pt)7ekU#5_|1}DHGcWB9;z+lFP4z~BwA{S8a|}~`;Hxd z=YZ1h1CTA~4hUp89kxjf@BN{_>Gts&HC_JY{Yg_@+g68pHo? z&4}&79J9|F3*9FI?B>ra>_>hnoMuS=aLi@qcX?r7Z+v#bce@i4SJY4bTB7TBDe>WX zebH`NtT9t0ElY>AHN!O1+HS@xk1HX%ThltVTzU;6fv`^hT1C${OPy%RZ3G^~!(Bjy-7Ireu>9K(Ibh11`I zNb3d5yT|?K(2Ei^Cz70Qa^^wuAwy!QU`e|-0ZQvNj1?hYu?;KSke4ecp1m$mc^Xt% z_Q@J%@*Q!V0r4Tg!Wn$I-R<*_4F_Bdt6se_D~#S}3{2xKe?+(goNPZX?kQZH9Te#E zQRHz)U=G?sW(Hj0!Mx%_6E-qT?Ag_c3Y9FY)BL}wup|6y@BmX zDFvPXw#o_V+Tz&^P(Pqs97P}1g+pd~b}*ACT%G8-V54L^UpT6gRPyWVb#uF!Hr(&K zw)J}}JhXK)5Y3`ke$_BN zg@I$2Moj0qJ|?|1kw{NDS>^#=r)#%9OA3Fpk=}stfKsd&-n)&ui9f!y95HeEZRpLW zx_NWiZ_bubgIhL^#RbPMycyoc^{wcI-t=ASaJp!JCLXuX=YG5`q^iw*?msR&Tsm`q zRM$ja?{lo1oA&!tOB&r0`XjHG{c1)XkuUtce4}zzlVW(J1mC$?297ZGCn1?fOC>}Z z09j@%t^B9}AMY}9`D2ukgnpAv@WTNHYNf|l7XkC`K?g%p7L5G0AA<;6;ax^4Fg`I* zBKz!}hUXqh)@OogPyO)X*r78ZcV@MDEV-qdd}b5gW7t2~5#;W^a4RCtPugjNwvLe6 zu@oN7d#AoEl=1G9-_$>2#o!^=BkHj8pj<({MsUFO>4~7VJP)s;@wt%Qm-XxG9_1e8 z=$OlqFD$K7qB%B7=a<(}F|1r!J=@Fq@F#t_53U*eBmn9 zfZZfd+&=3pwLw6dt)?gjHd7ye|9fZN7=9q^F!a(Lz+lqY$D=fijAk>3Mz1dn$G&fE$L-5f4w_9TQ z<#nx>J1Wu?+;LxJm-(bJ{Go_I-@|1>0?(oY93EGd9nqhSwd2p;z?f6KgtocFQ+)TA z?!A0$6*k>!`71R2N-HbBPaphNDajCV(a0yzgTzssI;tdpkM)GEs{8UE~C zi0ATEYqr}kUknVS(5Y5frX0FfKkIZWI{KNKn$lF+Dz4@|E3_5!wnkv+S`JFi`opVj zNCiSpB5_>4FLJ3&kqKW1dJZutiO-i_Ach? zWi%Z^qdqCGSOmL5CR|PAWWE}N1th0^xD{dg{eshmoE^z7MaOk@71(m!Dyee&!2Us zq{bb3H_Ea31pQUUV=YH~?|o!6)B07?m2t$sm1XO#0?VxzX=#%;tys3JcsIk5J6n}H zelabtElK9L9nZ}i79JlmQ5KJSe~wyi_0q=uoxyQE9ulw1BAM>K`DpIy*0IoY0^Tp` zpC7E`GgQ3u4RSk+EmodXqBdHvOA}$BUe4i1RhQGs<$X=K?X&dN#b;U*Z|Y_*r|g_J zJvx|DZdkF3%awwzqM@Nd*whjNMJQQ)zg!@?80S4sNy&xXqs&jXn#$N(YE2)0Ey=(k zsp2LUSkH86q;IaGy^PCVvR&1(fjgI*rGI6=nuMCFih|1M>-qAV>+dq0w8?q2Q8g4t zw_{#GKy{#??73^3j9-b{uYFl+F!aVvbhhxv%{=C#k9C6z3-@M;(#L0+XNWu&BgN#b z>u=%vbf&8AA&FY5Z`peLhZ@%(yQ`_dXTZ0g@nmY<;#6qUVEk@3>KPzcX4c#7N1WFb zjct2q`P!?m^V&vA>a`^n+pgU6g2Hn{tMZvj56&EHtuJ0p!LL#J+pb0GS&jaOcNS7Z zJ2O<m5U-LNG_%nl#95uM<$~&I&SJzQX4Z;j^pfi!pbEf~&nPea>n;~lEK`Ugu_;q#^fDl{Y~^)=JvvsYhxR@LR2rEsD$mdC1m|9O-7}suapb- z$*Pp3lYFMJ=8`x$+x`j@v~f%x`=`6^4(O!t=WCkX%Z zjCbE=?#@y$BfhEp9=!#V{nK%{0s4%5Lfdr9qhB7djTTOSA|WawRpv3{tua~$?fn-n z-0IZO{uO~5b5+Xg!{^y6M&;x|eyXhC&Low8`3u-x<8<7nnu_dFl9DxRm?Ten?CSwJ z#fLGS98_a9qL!}#O+q@wVF$Ks8j3NWoSY=ZF>^9p$F^3I5%ZH!EtvO6z-0LOU~3Nl zlKX58S17w+u=bUdOqcni-OTp~@8BD9l_n^)tFCE;bVb}9yMCdo=2tPq_pVq?TM#R) z+5E(TxMp~K#VBL=aQou)+em-H%S0&j-z}Pd3?)`#qUG{@vr?y=@Ruq+?vnW^=Jg`Kep%Y~)wb-LhWkfGIpQRh>-t zgW=(yXFm*g$a#kO($WY^Z{zMduh4IA>K5N~?o_5z!HR4TYaV*_F_kYT5A{|n*JQ@H zYJ5fJt>l=8{Y}evan+Zbge&K+b-=96sg?@*2_${GdkZY&?4XIrVyiAgMz(^3AJX}Q zWd&Kv07y6wm1{ekk~Rd?w<3IR`UW>(h-``uP!v7b$`x3Rj?Q=z=bpeWrm=t5Ag!3`BA8wr64LP0^(iwsikcmGOG!{YxnqWnKiG z2s0J3Oql4M;h)I38QttQD9gld7@kV2;;@y3fiIa6i?%&n03XAM#TvDhYhcZ#qBxRQ z5ZxaI-9J;A={GDE;pgiCFa{Gjnsi<|yjV&!`sftK23A9UiaC-1LDd#s6qGb_KNguQ zs-A9f?iUS?6g$O4_CIChq0e_c&Rep3`-;B#ppW=|JAY`GUH+6v&qZJ3hPL^D?sav) zM#QeiZb&~*IcdQadX=xt$vL*I^JXjPfjUqAOxZ|Mlsb%#FG`FCO`Tjj{ zdo$<52g$7O$mkb@udgp6oceM7jyLel1YiCUfoh46oE#GY(=++}(L-<}NV(=h=q1%^ z>h2KzxmjlY6=@%b;+DDbH6(g79h75%lMtissF`mT_DUmY?_T6msSDOpoebUmqqZ5%8eyq@hJaEL!fBF8`(|+$b*|8s!q9fo2@l zC{sc&^oEwlNNWKj}0?GAb4KQ=*Nic%t{jHD_lJ~eZN+k z{o=aj6i0U^OnR&dJ zRaY%D%Ce{{5`=LxlsJ`1*WZ_tc#dCb8Dwu(rSytH-}hyO@S_=W$U=?q3gJIS844*SXu-S+>+cnw>xR zun(ilf5&I#Xt%z9kL2{399$Y|0=7ZF`^8}n;p&6;tK7V`_yJj%>CHvmZ8smR7ca zTGcu0PJE{Mf&8OfI+?Urbv2Kz#A#an%iG4Xj|brP;#4EU^tfiag_l3|=glQ$hSA03 zCQWr8k$L^ZoI(Bf{Rr%aCo$kO2cJTAI*G@u|G{{*|3sl~>GoKxk0ryfEN6o0lhHtA z|4?i@oTItAK1PD~UhVMUMYqSK&d$;sd7TP!_s?5WU#9*OGg#d+C@PyEYUNU8y$(8g z*~`(GWYb@6)RM0UO0Uunhdd$wD$NalS8jC|)8r4aMSK{iQ0nB^tyL?iU}ZtGW}Tdt zNelA4aikbYjSCAx_G++xPO(F|GY(GG<G&8<>6fH(TYTWyPSTg++@%R^`Rs5HopN>#_N0(AKg!XMv zlMSM59Utmm)&0u$wI%DD+_OXH>-UmpF!t9%EWWR(`3=p#m7mJ`@o{H(s-$#fM${}f z$n9`7{KQ~6tMb7~6PNY;d~}s9<)@d&ekq(fF_6(y(|E*5W#m(Pf9tBe71}EP%$$S;3KX%=zCP~IJnJKz`ezYZJkG zjLYh}|AwV=ljV@PD}X!py_8HwA{AEA*Xe-l!$Hb@K|)8=lvV*onKTn8v4Oh;$SH-G zk9Rk<<`4@r{Z`nWsOS5h%?~rtGE460Lt_g$KFydGKk&*L2z%vbS3)uzZ*P$zW)%*J zH~+W^e5lSa%p83%Q6by>1uZ0r_r^by@_cD{D=+@S;6kIdtA3dDZOMg)O;*4p=G3o2 zfSrZc#la{{p1sq4evOR^QvOEP+W7@T3{ULY;oy3ue7}mo_~qUh;dfZ9+s-5GTD^l`Q2TH5krHpvl~ZB zefL7sxBw=sAKUD8!ckaLQ;!B!Z(&K(+(>FX)6VZ#8~c{3^?zRYkEx~)UGt)$?eXO7 z+#znwG{rf3gom8MprG{_q!>w4T@L^-jDW|Hh!@DF2;>O+o9>QYCDH3lse)TCBr$K9 zRkr;GArvS_ftrq-gT4a3I|)G3pDH<3Fw5@J8)2$=_B)MMT3*w8n#c2vl$I?i;KNF8 z3ZND@pbUR>?@>s1D4UHu_lyc#6h+YiyX_s-Bvn}~i)$V+2Uj+Vix#jGG%I4K|2$9ylO9p{ zR)+={Bk&5`hA-BbkxENYG~~9$M4`)nC2nb*Mx!~Tfgg-=|La$Q4Bv$Fx5diA>3jx^ z+Bcy3yIXq~s^nYc8E^0KBhL(VrzMkn%Wu;aM@{ZaYLk~;z~Zj=l6a=KkH z$ViLWZ}5yh8TKL9V2j=Jx_PtaVG?R?G$T|lg{0#2!_TbF@{x0P=@n@-M2mWhpJ26RhT%kjwf`$02&n3q$Nvg>H^r zr`k|4-&@k>`M5>*!>&9-C5pp>*W0<$&Y01EotEt$!#cZTaWz(+AKz?lNJi<}DGSpr zr4_cbp7Xm$wY96jto{~#-Cr^An^bTVO%=|m&7fk32nL2=(;i-GXC#`D*5SUcq*VdT z=XPWV1$Hj7wowppnFknRx1Tm{+f-{eRb89#a`qt4KaHDyW6!Mg0!AAYbSv-+fAM4ZwBw?exGT2nN!?~8MtFuj_xIQj~kzAcHG%V z1Vu`j6VAn4%XxUWPl9FV2ct$v0~#RgQC3DmtRIX_WF;k0!HkQe;TnB_&ec|~sIVpY zvsfRh81iB7VbD$qEfXvg0g@e9Ck<>TdB-44N@0vY50j0z z;x8L>s_6rwkheaS%o~U6_Y!n}XFStotyC<}%D82<041L_&h6G_il`6DQprNsj<|ot z(+HCbDx@lMh-q-&;IOVJ6-kWYd~(vhgz%NMix}vJ1kIVBZ?n)5A+PE6!uP6WjL{Bu+WH9NTAn}D$6MI`0AE{`!5P9CM$`ic)H%$_-tyZf zcijUwuJaY~%P%ksxCJ!Yp~twb&G#1(7}01HU6k=-+Bup@Q!kj|AK}&9Wwj_CsbE!l zR%#60v>#CaM80~dni<_Ji+x1M;5<=Uqi8_C92T+t<M|e4%g`vG3iOmS<4>6 zKoW31U+{-|E866=q=+N}LURNv?u5zL1d{6_!kN^l0VtRbxUA(Fdb#{{%X?$_HDgyl z$k?#m25b+?6Zg22yl*~EWs?@&MY1LL-4zAhruFF=X)$QOdE0Rs;<}d&wTKjc@trh! zDYKqXG$7((GVa&u4^x_&MqxCDrXO-bSo!w#RP|g1gY1R1_2?3Fl(O`f0kacdW+dB6 z#?uSoM*iaFB7L4(Ys^Q1@MYm9f(E7aWxrjBzhXw(eN6hLGS)I17`Z@({dNsCyjxQzqVWy21IkpKv}!8$?BP>PGf#-6rlr@;Jk7 z?tU6F^3_d{fi6ORs^Z2~{BPkOxpAqCJgydRH{v*|jxl}-7}91;j%@BH6kpI9=Rh>a zZr()R5D)Fe8@fm14mL2LY;Eg(i{k&uA;^#O7S{Ky&cA~R{-PoxVfyU3vTj#KpyFAj zzr7O_>5uP4<<-5JJ8Z3ljVGEC^5LU;bW#QuX`#&BYdf^QOQH!<^pD<(_J3lJ1H1Gg zrIhH)?IyFcuZHd@#XK|q*}6PoCiL0G3rIS)GtjZg`?dxtU2o%}p`j<#9@dE*PJM2< z?72foNrekMQ-nlDQs~>=g}FL!%FR00O4(z$OoEX7tNfJ!FM9Y5W|w9)&BWo}aC!cD zmvxl~%i=X#-~{@Y)bR6gwSoq=JBHH8j@+op?yz1eL(CzCk2prFi0w~1p;|wmvsDn5 zEeqYIE4gn=#^Aq|3CH-Q)_B!5R6H7qZ`oY~%p`W9PgU6nh3}DzQSwWSl$2=B-wfcT ziqj#I#6(f8AqmNCxGAzF`e4f$s=ik*aX1gWU`cV_G>`>kKtE-DoG;sM^2+d1kC~C_ zO!>`8v;J2V-e(^%ROChZD=#$8NiQhhJHJP{{wI~%!~KfAz{|Q+?F1!Q9H{uz(%;$? z2Bc+BSSQzS+ATkH4=xUZW%xh}9)M2sWkDEl)ct?kF#r5vQ&)D4y+_h}gVcltgYm^a zdAUN4!Ac*dU@0xklhxG}+Dz+^9Gk)rH)L4X>SuFrB>06`OGcVgfgGK8V z5?*rn*vlKbuKUn+1w>)j#<_Im5!qNGE1ln2-;uoQxR)2toD9bsMWICty8KgOJX-7g zJU~&tVX(a%XWHTv-7Ph@S86q9fZOnqBPto$mCXqZ%axVz@mTE=S=dd+x;-O?a8RKu zvSYze{VPxniyUTX-364!nTqtj*msg)9-ne;g8R>N93sgO4`>ZA$U<@4&ON_v3sO6e zvyCqIJl&b8#KH4EC9ll29ecGnoN0Uwy^aD-xp({AK~IMrc*vmZ-W^y^uW)t`Gf4+pa(8=@|I-{ILftd zh9hJ7i@(0-A-*^Ohd98uLDrp4cO>O6)V4yOfxZ;1&yiWzNMWp6e#K{d1^I@(A3@?# z#X}l-C1DMiP2biudkG02o9dF<_=w@MX+B}d({Kzm?s{6vbzdXtBM<4W>& zV43g6YZtnTN@6x6$5=+MZg-YQIPB{RR^gXA? z%0sTDqt0wiG`l&Jb~nJck%IvilFDglNF#Q#NQ~scfqBNT_XElGG?yIo{MwPTz>Fbw ztpX0^=^CbihYS`jzmmkQNPe34WhRgf4Xo&zzo4OSdkfph?0Iq^U*f2PE%G$2`!aLC zjZAlm25v0iP9i}MJdVc5^=^{3@Ru0C?4x&Zt@`@}Qt$-eaEXQhcj-BxD3<)1Ae5Ak zFGEMusT>!?(#TI&I80Z@=eUW*oA;XdOVDS|&^uYo1OXa}|Gk~0V-QBIv)}I6#~Unq zLA$cM@Flh3o<<#adG23m-*)t$5%V0HRalAc!%~6%{@8by!>%d;Hdg9*bj6i{>encO}oygQLDZMzqmJ!0GQC9!9&*2Z!!uExoo(*RXW6YXa9xRR|n zu*xojR#Pny5^!X{5fOP+ozi4`;5p{DjeZHu+<#s|(SC0o7v_%IU4K4bGdb`il3afS z!waD_JS3A8DBaDU*r8gUTUbB_44j{PfmbIo+Wu#ww{XWB>aeLgH~;>X$HK0XAve%T zkM|x?{PBwGsJv@D7vXhf&6zN-OPW!W0@W#YHYMpwI$Pue)JHP{&C7dA#G?5X4tjZA z@=aVYv0@j={(@Xd}Czbow2CC{{@|2beo4m02I|J}k>pI&6!PSDNH zqO?6sy<*_Rjc9(S!C(d$GZG!KH!7HkB~TLpWHeJn{Ng&uN|=%EHV_=pJUTj>t)j0_ z1=%B!z|qQrs5_ksi|F<*L~5fB?Z!j>HXHAFdA7>q2*u&-Ynb7ZurN9hY^I}8Yun2? zR$s@HPeJ4KZ8pM~nY?~wnTek3CKgIq>>BSeG{9jCE81i&U z@$Bpf?g=F`Map>Jh|U{{Kpl~J{iKzSk_$1`8OeBdG&o@P?0%lA#Ge+#S0m4BUbT}W z^h7`2x$JJf5=d_J+otu#M|>Szrr%d%9XT>E;y5A}unTXN!XQM#Cf@@Yb8POT%ulCa zZS!S8=Js<|BTqM612IjFfQMd!d+L6(l8;i71ws?q_!KI7^|pA095pN;t!j z{pxQ28+65-K*k_7thb8aoCYj-xt>0iSl+~qzG{uB(7wCmBp6AH9~{jHOeYlc7l#2q zhk%VV=e6mPy^@QD@QFO3&NWreYI=ETRhu!;iGdP~hy2m8e@)%C8QO?0okd$Mcb*k7 zbE%w6BvA8&nL&71Si#PC7gB}~;s?#zYx%x~S#nArve!@+jcQ-VJ>Nj?qK1^1Lz}zg zRjEt^78w#bYZi3XH{T_ha6ONHnAP&dNK7_a;|*&P*?THc!mZU%RymcnuOjc35;HPC z1`>%l;5DPIAhKM|@8T<^F=NGPl519%QJhAol33i6X+LSZ!4u-AuJ%4w{4?tS&^A6l(W=VN8wVWCBhK2@5 z2s?sk`LfAI2q^X?+j7+4`1FQ`qdWxtv1)T#wTzRl-rcuq#P=)5U0U69EQx;7z5Ws+ z-7z7iVRDTYuDaPwDa=pRQb$Bt!Qs-VqBzp#c{_Bs$nayFcDZVIOf^0e1z~^l>Sg7c zReO(}NTi8SLlHqi9J6Ly%-xbI&uxE|?AcAQXog?rJEBD_DX(;coQvS5x5~WNqz6I* zh$)n<0wxMazj5p|NsL(hU+R$0gP7#^Ijz3u_%a8)PwPTfWb;np$&7>eO*kh!+Mdy`~6Wxq@DD>^Q#vmSfF zFh%6-tuVRspD_yW#-5f)b02@JePM(f)X9_FVM!217kBTKy^)@bs`F#1pJXaH@rpQM zUoa!&NTvkNQ5x0MGo$o3WlA@OzHi<`@$Im~v)Ekr)gC8pnu{$NUT{>TNwk@Md3yJ5 zor!{%R|3VZu2pJdMoZHFHr9|EFF{NxdcAA z`(JfN?`4zmHIe-5K98&DfD5^pD$-SH?o&w{v`OV&q&N2Nbt>TxRn4_rudWzopfQtz zq{$gc5d+f{q!>?!UG_d~>xBhET3Y;sXUKR`c3m~^?KnOSlBoxHh@aTL3@SzTMa%6_-88c&y-R%hkCEWJ-HscTv$O^yyOToEef9f!Dg+B^cq2KL5;DVZ()i~1rD zyW1~vX&HaS4QLyqm?tQP^+eyOp-Or(^ou$1T~ctN!?l&c?DEh$G$zRxS-u34-{$_a z)5N2Gtn-!=nmwc{EQ%pdZ@ZTZ7X&t_u;ZO9cJuPre?R-L(voulJ0R-wYnJ-aM_$2- zTJEOgJJi$%n`2uRcON0iHE)wHqbkYqB)A$u1lK&i!wZ1d3Mi~8(on{Ii z6rQ*3*+7Le9r=9et40>;-A+7h8Q!Cf{ttVnyqj~m%%!ZfbRwGx!ZP7&7&-eP=5k7 zo{yo_99!6xoC zXB!e48$4#A&;CQS*RC^SdV}SUUcKn#srAP9iE06$kXSLH!^m$3XCk!b#x|)|7{N{NNju97Yx zt*htEqyujjX-W%bZIXs2_HAy{9vDE^{ma9LBr2p|B{>-LAukww@$&(z`>~Qxh9M9N zv@cCu7h|I3XKP)sMk8T=behht*kFj83*%a7o^#e|*-L076J2&Zo7aN$L#KWB)Q{2+ zgRpH*PFU2OaiWqR`-;=%INIW(9Sct+Y2?{1TH(`Yj9e#{Tu(=e&TD@ZPRUX+`onOaO8>0#g9crTiQlORAWd znDBq53nppKw!p;`0V=H80j5GNpxiLs2yXov4Z(`DKD8{_nV*QU2BuZ~4t=n*4j<+O zr6@lBBx!5cSUhQMb-?~h+~6!UrG4v=K`c3W?B$@6?BFF9ePt&I{ohC0)24Fc)Y#kecYQ z`SWi5*{?d;Eu?CVJm@|^6{8=t3T}0QEDc-vkiiAt>HZNNS#iWOT{sAxvyx@Hmb2nS zEL?(|O7e$R9U1v?1Wd}q#|<`R+Otxa4`*En22Yh>jQ$razSFU^kO&N0((fmryK?7S z)pT*$*2yZv)Hfh3-F^VYAj(0dbzlU0*rJM-WJcPx(Y3++7yL!RynxlwBl+5=9l2;!rvN|cI^mXJiFl&R=(-S zI348_{%c^d)CO|loub z6LB=-6%`j|Q&}}>y?%`ySw2A(bX1cP0CCybHsqugd}4Gq?dKOXNTU4%g}7oti_?SrZCBWAm!EyE^lw zv10+|q;E7=$dHb|pkzS!f`b+qK29bl0>eTm5XL&finG61@0Xa_>DNs+Gw@5b+Xg#b zu64p4yicOjoRsrp-sveir<@sirDqp2%S0xxqnod^{DuG)eFu_|sQx{dAfEUtq9)ym z`d>m~m4XN$XWoZ4J4;U4g(q>=+F)k%)@|DFXuLn#?U3C`IU|VwHlZLO+?9A2)}RnLE zL*akcHRLx_RC0&d_)g)3{C>kh;4X$6v2*w~GwF4fWagOOWg2e5u|c1yMbiQg+{?OM`l`iFMr&;O;5??`=Oo4M2hrg0#Y6Z zsrCI*@F9dbmGR5e#JN`OYR1xg;_pgj=8R!KT8ye6P zciE8Ncoz{_;$XxtP77LM#ERp>$GZ%Y^1AGQ(j+(&rC4rX(9!^z9Hc}K?7`F^8`WI| z-KWoW$GJ-CGNFAVyW$1f`yX*EBvz)}8acgOJTXvB3{9e*pRh()o02#8E4-En#4Peo z``#_*x17$+>r@#WHDXVsW?oOe!*F_h_@%bS8Q}{m5q|v%-yG3|ao*y|L36e#OlM%=}^N;t^9W-zJ7@{pAHT;u!3A;jTaCPfNAh15zQc89MH%#@wC2o2 zU(5$dw?XV|wc77m4HT>{e(y4KT-$THJt{7cd#;S6i#VFx1NRxwYO!>UG9;DJ_NZ|`Wl zr&3Wmv`yCHj^#B|hHY|#MCz7dY(t;BEcTowZF&c%iGctkySg;L^x!sUVY8cmlYfYP z3g3uVaJN$XQV&(ZE!aXbI;lEUkb;TZ3aWu{^1CgoRA(+en&9N}&@gv2(MTVrmm#)- zV_^fLU$0L2>(}rDne=U%k;vzyxUe&Yd+w<*7)n=1?AiEUOosHfMEqpWawYSOhLfXL z^qB*}Ahxok)sLO!)?M{Qm74e$|Km2|50x8fqSZ*eqy15w9$4Iej6BCaJsZ|b76UV~ zxw$zAKcztOej%AHFE03Ak)lu#&j9QG`1JHWL?9v+bCCC>W(&h|dG8i3 z+=qPvi8iDW zPUy8`QtY$Zor!Yt{+%nkgg+Rs*k^cA3Q5gv29!=bAtx6kxc~YcMWmdV3oD#l7>`x| z40*{iz4BTeSjT@&pvD$P+!GZ=a6919XDC^}fbsyDh^D2bm1C5VloX20q;4lOl7@^1 z@Xm)0DF9%e*}Cnb-slveGEiqxY^at6%y zBsN}&%pZHN|4;AYbf%G@!1U^V8h#_AQZRFymX%lfBPSb#l% z`_e1k)w$jpgo20>`;+}G`T_qP{9Wf|I^&r{W9f=*PWme2*sJU|GFB7fnsFL>kKz0J zwh$@-sKF=4N%9`50w@lgZGqszSKZ7s_7@K+%AB-bw!T(Fk{I#WaZGj#TbLgC8RHy1 z9lLWR3tk!o43QyW_ZRG~|H+)PpPAk%Jz`ymAC|gnL;e&Eo$l<|@#&=xfXD2ZB-ny3 z+d<)I7*E_!>r#PP&-C)p$emMHf8j2Xq)nX8_$#df8Hh*&sTV}3ep8zBUW(VYp(Ljd zAOL!@n;h08HS_B5w+L$iXdKNx)^t}KWsu^%mRFZF^1GU<%fvVhIqd^J7D1mf|DayTvkbzL`Fo& z=BsJwmxIly(Q9nd9}0FRrsiMW zXAtw3FvohOpKY*N+g3;S62 zZ*W8mYtz@iAQ^XF!HL}4i{`TCe=6+id(*j8A@x90>U6rqw%hX%^l=0dX z*SHyhXa=kw>DYpd9)@@Xu#J+dEy>`uBmw}*V#pP|G9IQ0kpQR!3xjhho=>h|_|+3~ zKtaCa*IgUftEPT&SfxIZ-oS$pS9v$ev$f_yA@cAR)v#AoYOtJ&oM3$N?<0+oRb7#X znhQ@pj^|C?XP4k{J8OyVCCW-wcI8tS%&rnW3(BS!J z+4-I`%!WwCvVZy(?{&wlP6D~WsCEmELZ)wz{0y?EBTqTN+pl}=`vCc zX*;garE)l*kgvBn-9QO<)GHl!&hjP*P6c`Lw{%bk5Ddp)KSlL>r`0|<@EtH{rq|dQd3?44fb^erPdzGii)lF_jkP}4S0$F^*H=i2X8xiw(Fd13ML7M9 zjaKsgK9-R=?pw#!AksqkW<^Gt$j8znuXvW-x88>ggy&T@vO|yUTiVGXt@=oL$+b`)e5(~f5c9Is1aPK&!Gt%?J>Rukc9~9CAArSMr?{XZ1+gzC#nKl_xdNexFsoq zUc~EwB3vRzEfbW;`XlM7skr#~gFk-4mD&!$8%Te0MK-vW90I&(l3#os7?Ls@D*my$ zBgh(IKsX%qN*awqg_f7wTihnVa@t3hfG_5K4ohs4d zb6V>h2#KezOs-SYfj6kFMlIeggxz5fcjx}m>Po_2%09nxMN3M+NcQkw~uybaYe% zuyK()z5aB)0K$!~fREO{9?~F;w3+%m{Mm>Os4y?Ol$j)ijjoQLu!WEF#8cSy_hKl( zu~mDrM27ogU3XH2E%kNSzvxQBTg8dMV?i_YiXYyS4u@9cY zYXv%>MWKbw!fJRefB^?vFEc;86C#Yi_Q_5b>SBtxV2Xscb$lmOd#Rg>{P442nbY1H zj2|5viv}e!w2o9r4Q3t7BZg?>^W$BT#y?OQBGpn^RbZ@!iU7MEgI})nNZVK#-!@(x zKF-e0mM9s8*%1c#w~#LPXBf?0Nkn?pb#@sB{JPJ%O0(EfS;iigoq9h1y*KxN#b+j0 z%}lj#i7=y!n6F@(>upF|NvP+3c>B|g!F75Z3o&rRMaS{U)kd$i2Rm=ad2&(+F=xx| zI2dNg(GApy5btJxi82)(lN%Ojk5we|&>!f=6F*2(4u-K7gq-8PXrQqP4ZH~@X8#JZ zz(qR49iM-+7xex$c`xh~kDSZ50Q~{9C_`6362zR?@_mmI7D7SSBbh zl@-x^5Vs-tdk1sc?oX91nrBe+*p0>%eg@!Dm8u*a^@zFR{y5y4<29*?$YRX)`RHVF z(kHx)w8a45$oZ;Y;20+jRyuam^`Wr%Ou>udYggA7FrBw-kAjU6^;w~LC9^CA4SIsv zr7A;x&ql3CC~#!kU(v8EG0+P)NsdPJt1*f_h~PO2JDOSCBZmfN<-;KV9xFTf;=g!} zCKHJ6>N}kt9zRF@M|5|%bq(KhFqyQ9$#xVEj9(aUF$GvZ(5u9bN#LNfotbv^BUDoX z@cJCAxf~#X9f^a2rvu+D`!ldxKz5)IG9m)v-bke7AN(IJtiR5Y_Wx0z$=MC17mdt+ z=b6Y9k?)g9P<;H0?*N@NQvEk9qG|8VKByi|647_BbG~~_u`^ZOJ$lr(w zVgECXcVgw=pE90k{-%oil5+iVb=1YhQQ$Q_j(M~G`^a7F;CSn-Js?UkU(KWz+}msF z>X7>FoL@r~Cn?F`H#h|H-~X&#dTibHf!NOuNxouD94e z2dKGYZFO*!c3`F>`UYT*0NK9>zthE;1{?$sdFXwn&wz!B6aLQ7HcBEy2}Y4?NHRYt zNa#ru4bqeuqGuxnrki2weY{Qug_>me-M^*UbtV0QA4w40%>%A|xag#1No=uOssJ|p zonBSx{nzwrjrFcx)7YeX5X&#TC``)>GpS`(r?!@2oZUYsN3~U&iCUQj+S*^GKXDuC z?zt0TdGXsy4wXI`FehuweE-=6E1y!J1-@#J2OoX*d%zK8<>XA~+d@g!C%{k4>ujqU zruoPRV+-jtC73mdM38yn+H7@IlCAECJX9yO5B$x$7T%+wz4}?<-ids77qaAPKQi%^ zAoJwCeed%cz0|uf>MQ5t>eO)>C1j|E5}*zMCtf^6)JNs^AZyCficYnZj%RPaj$%w_ zT#}Wke;~DE$DtFoA!D+gXaP%2TPkY$11W&D!N>6H((m8G?;U2kA-U}1WDuM}^rS>M z#};#IA*AVVWVbx73W+@Ar};aOtPoME9px>RkWMCo0`c7GW~en8mb=CLvax>Vh&sA` zZNP~Ah!hwYI###Wq`Loq8tablNlxy6JZk#9@BwahwhhH0yFZzY)pq|rKjdDWW-5l} zDCeR@YL~e&-3anCH2RZ_504WtM1@g?NIOp(=$h%u6XhsrekvRntWc|J)qUBdpT#q4 zXM*>OWtqIPrwx_&_M@b#)vQ?WB|tSTTWRIB6EewxR5X%Ez4fPR

    4L0@@4n!7TpEW(wX3_{(p}Nju5R_eOplgFY)K>R`1c%q)AII> zRDQ%$z@E{#z+uu70ENN%^%G*doM}{qw3(dA=$66T?@xjv7@)PfWYNX%uEpa}SZe+yQZTJWwr?s@7Kz{|mZIKqzD zhSslzD5_I1r{Kpp12Dp-*P-r))*|D7ylpLs>g61z@H%vsh$g6b-%m z+2RCTBnaPsd+7+02wSSOTa8(aUIO-#Lpy}VdpJk0d%;@qDOg#845Ayk?0Ns;@mOyO z!dD_t>%=?};XQ~#0yh5RB-I7HLL$mtJo&0AYJSnO30FB})JSi}#>6AP&Y?zuE1&^y-B=)zKc1B;=6JTHC$Co>>sqc&nZElDXQw~vzbM8hz;;%}qtL_bnD5mg^o z`eOg6iJt8yHo}4N0KL(3hdQX5+-{;-k)D?O%6dw5l*f+o6Mw_VV~@Ro)w3+Hw2r$l zkqp5Ka}87i)hkHazz`Hlu&tDJ3FHD9Z~gzf($T|yB_?S5u87^cN_+E`*L9UkL4~=E zr=8xMiP#($pT4U9OCk#}3d@Zx#y5%tW!~%)BVl5`NPKaLKT~x;rp7}Itdq1K8T^eSvCgkXbPPgh8 z)%IR6wy1xIIoFScxb1n+B9yzClc~>?I``w z>Hv~0gs)mb+xmlovNEHS=l5*<2t#MfpP(@WU-K6$awsY}T~=Z$Ik}$RV>RQG8ZcxA zi=x_Q>=n2SAUy)XVFpORkvlL*GhQFcKL+ohB5FqD4@N+ zA{&~4y&MB`K5Cr5ZYE`z-6q<3Ehn78l0w5xPvxOkF{?1Q!r<%s8v91ls0U47XPR8{ zXRb%W#GdH6St?mCC0nWYc3Qa5gl(x0YbH4k$9=EkQ60=O{H*Lsl^o|^_-&fp7) z^x#4Q#GqA15KvKt!x)7~S63Iryd&Y!$P+SKl^GqMS(4`S6(L43^@tkw=kXs#tX$Bg zKincrGPBFxrw3#{{Y{LToQU^zHTi&Z#hGeO(2<&ekl6k5{7ir14yO<<5Gls57%o(OycB8hLe}ry{|Lkt{yK@G~{vYB~3p`>Eu1P0tFRasX zD+`jSjCu%>RNYftpAqW+f8HN*TWN;tz;u8EQL?Z967BC;G=+~c;*A$ZqrTn3DrWu# zTx@LdijYK0SxG{DJ3jvL8FIlBs7(P>{EHiF@)?oKz8m+%&BsL?(H0+T0?P6@I8@Yg zJad;UqY`qz^!^y}P`siN+Z)4}=Bm%IzE1bic|+tz(3g3;Fh}M!?6~oknQKkn#~eud zbDD_In4r)eIDCxW%%HoRld_-@M?qManj%d|!7!d0H}ZoBv04I~cA)nmZOwbr1S?Ns z zYgId+u?>-SnGKN#Z`_5*Zf4MMI~M7$to_rfnI7Z}192#jfa-?V6$YQJ!WyLI)b@wo zkQW;qO%-b9TTb%!p&3J-_St6w@fYJN}1y^f~bz_UH*kx|eS zF1KHkY#2b44xq%=$(U>8mMW^a1!soQ4!$?q2G zNBxV?NWV2$37vnQuB>*Pth=yg+xk5HZ_h?3K4-SB^xt|mv!6`quL&^tUX3QJw)LmB zSLWD`VT0(&Vf9(vwz#BK9ox+W7|6Fka@xajx6PkVe#jz42XJx<(`O(F1;_U$l0=Ov z`gk}8&nfzk+4+96>#um!#)%cUYpw*@8bC7Z^}c z+_u`LS$%V--uHagI6FA-fAoxd<;b2<4Hh{V<^FqJNUm4LY={Ua>8^BrVs{!6YI~Od zEz;fWV{~!hI=p-K63MKYO~TmT8zL01)Xi^&2khsoCPoL()0I+_jnz^VemWL7?A$jW zpoe+yrl$w3`@^l2md9sDT@Yt>T zn>K(+e~ki!b`x0i)v;NX)hBG(upAa%zs3=b^<~j^Ofy$*#Jd-IuO{)W>0!O}SAVzA z*H!&288mN*c06)!rhnObwQD_80s>xC#H4(K-!_d`@Ek`_;%PD%-9Jf|FJ}h}C3g`T zRfg}+%gA)SlX+WLTF>_S3GZzxtr8KVAg&($qQCX@YW+ySNbM`d0F7!kl|YV&FUAtk zKtgnT#0WL=6bc~dxn8tqGylu@(CfQUzhG8CxgeI(*Y03hIE~Yx;$~2b50U3<>Qiqv zoxOEux*vY1^{Q!XETp+CR+I9qVY!%>=;`r+UvNY4m^Faw;2fXlQaHlo;2H!@vmrEm z6opzih_8RDliW8G9Yi zq~KD|iUcg!=E_{KpkrDY2XRnPwhWHEuuG|daljDw@NdX5M2Ih)Ug z`fVx?lL%E7D${Rh>aXYm6$kN7bkz0M4RZGjd_>?xLtLt1!H7m<)T8H*>JLbV1ne2k zR{yK-*^ZQ)oi{-iddyZUkEM{W0<$yd8v@fXv4si8kKY=tHa zp%H%MRh+`p0|GTNUD2{Q#T;aJ2}oR#x8>i(qt+98MdY~d=a-qB{paa!Y9@F8wCU#! zsgYM;m+IZDc(gB>t{4D&T|-l6<%B(=&v!8um1#wz9zoE0UAc=-SvG^^oogUg-u{KE z1%HXZsUHz{1olbAws>}WZ;?{6b?WCkoW~&_Sf!hbt z!Ju}}s*)lf5xH27hB zm8_|$F5QD187+^ai+$Bc*4#bP$!HVsQySEKy66?57( z-}VWFe?OaEii6hl+2J|T5FY-+{gUeQw448Y4{=<3F)DGH^MI6m0Te{^SoF{5o@8b& zZ&7Y~5?=8#3@l;(KWzO6JeTboHvs>LvdYTNUfC-Y*&{1Tl$9+qvx>|VnITaU60-M} znV%8L9wA#q_TKMt(fxm)=Y1ca?mPGW;rgA|Igaxf-{bpzi&tQ(WMiIrrA6yuq{YVV z=V}%cv)UPM`o!3t#3a#TESy|5l5aZ9K1Sf(O#3qw_v&@bfdNbUjx%El8)T1S?qT#B z^LL&tJb6jm-G-TfPlYvwv*; z+Rhu zDGrAQ#Fs!k3Oe(X^gD=r95;7+ijkt?*(2Z*M93?(!y``5vi|?WUY?`y;OqIpjSmEi zbm8}O9?o)5c-$^&Y@Q->sPD$v>iBS8w$zM`m6E6A85P*YrLVQJz{GV5@&RGhBnvEYv<_!(ZLx2D2DD?|9?3uZ*Q_jMKjWGa3c1^ z`S|E7a7nGM|4!=KzA>@*2iL*B`0GITpYwoD{ti{?NMFv94wfwHEQc{!C2epuA=@nS zpd;ZtYJAlVnE2%~8a)uB4ra8?nXY5v`vZr`mIh`ND)nwq-`l%pX0>4=ud+?Alegah zTXO5=%QL7ADyqOZ2^x(3?dSJ`uypEX>lEIXgQ_Ze7>x%Ru=G6NNd(KwTF2J$)?Zr?=b-NP^0d-0#qudPiSt4*s79R$yd zfTjRKZavu;;s`|x)stu${E2HfBAEe)XVqJ}*KIv*#aZM3k_Y$KuZb_-5)7B=%Dw?~ zsPGkS+5KBDdKsWD3&ilB;4vcwpzd&dICg9Tg!eeWF$~<#2n**4HUTDVz5?UuOy@uz z-;)og84z2FTdY4_mk7cM$tg=%{a-K~FWsk6kXQN+ZRZCIdA0n2LR{Jb3Bq!ZZQfG* zU%?;)eU6TfPN(QW7}9%=?90td4g5O2cEo@E8~g6ndhF2VvKkecXhlz5dCUzxz5e14 z@bQR5ZA3P7bxZLxu_!!<;dV=wlJ$11CX|s#hp9cEf z2**GTm0v~stY92~lm$V@q$6#}0U+a*hvyTQO=jtdQ7H1dfjgDS1#xocZz#@-h13@5 z#`qiN&A#f07k^pf6_Ume68DU(tc~5nCuc9>tf|}jgw=9?g7~ZUSMq~)JrX@OTnW_@ zkki8KNVeNdN(|$taP%-N2(!unoA@!dlH)X8bGBpx%360oCPm`d*@?@~$_&2J z8iju=yw9KV1MVi|EZ)u5!6?uP1-RcN6y5-xcm@SX&nei$ZmDR@2PX?9%gF@H2$-~I zZVo*;`ckAGs)y-2oE?jhMTv_{Pczu}+fw#g({ZGO$MYHd1rMDfE0+67HbBB>{II`NAkGjF)ZqaZI+-ae#l9N23QO9uvm-S7GHiScn%fQj0V z{r!DrM#lR8Em=xcS1S_`wdCDlwz*zFSwkc0n|JGxT_)GPh{DJ5i+)dAUE(cbZcZ|| zMl}Xmcza7uJGp1fIy*UWS7V=;n}^1&G&$T(?1$>{G$j}JcIrG9XQhK=VncxgXT6P2 zBouFMZr0qzQz8IwCn6X*ebAK-kea*myF!*fK7#Z}%;-t-7P`@a9;@`LSDC?>W>};a z;mhNLbM{4+G$pLudZB*J;dU2^$7i|yL#hMCKVwR!2*NSD0qh%4D525z=6O#7Ec<#0 zUXN1zarS?<@O%qEQ^z@7h4-d_WvQrzN-(KC-NC^A(wgh8NO1AI!Dp<7Bp;upciI_5 zqR!+S?(QN%aIYr+$$vsp7@5~M%tEfYjl*4C2f{K)g^%FURU#g}VpIeFJCGIyQRT=t zZ(dLUFM-g5_I$-&;QfjDdRJq6FRJScx}jzW4KG*wY@yuk2S} zMETzBm{ga&kbwV)b5{F>jtN>5bo>B#w*xRQAiiddR9ab?kOPgJ$)XO)1|Y1jpVGDX zqIPNnph=tj@qHZNa4cD@sirBoRv;3ZX${moo+1vI%+XGE6=~{>X5030Xfw^am;Ji0 z@d{O%*okl;+BYx&)o9Qhg4PfOS`0!2gwN_GWp1B7ICMvR&&)I~Xr!R&qs-h)r%!^S7qVZQrsk}s02 z5w8Ys8;v-75P~S1Ev0tfi4S6O=GG^5<$lpIhK0FpVRE@NOVTzS&T+X`OR!p#Xk3JD z7m=D$(mFW9LlT6nCL*r@%IE28n{sk;tNr>8jF&It5Hv9G^XF^kg@=dVKqS$(m(KI? z@eK|SCxb|{PQEclcTZ2&C5n@CpFw+Y>5#v`?(p*T8PwwriF4tEp=mp8IXW1d@#4Zx z#|-z*wXie>@r3ET4$cSeBdaSwoPQ@{7P`&|!m!uB0-W^)VgSG$dgPROKqrRiu!GhJ z+$;IOPGAe#5CBF&2b`yY>gYKZR#xq6BB%RBT+Q0dpk+31r}mM^mMv9Y`mYa7ubxeP zlo=7o>SBO=@|<9n&qhSES!caQJ?&UQxhz@WVlw2WitWF)I;i^rU!!v@Ocl z=lF2o)559$JCqb|M8C1N*htHMnKXZ4i5&e0|XI6ygD9&r~} zk`B3*uVKwR5r8IasVEVk{zqgGpsi(!q&_eZ2k23eg+S!39QQUJwk4N*0>mTA_vOnQ z{(H?$O-^|nAgN#n#wV-9sxq(SAH8>pp8m^jhOSfej$Fs+W1yt0%3hR*Dk78DAiLihv2ke8R&q5QnbV^nhq z#qWKvgSR)y_@$54klJXqJ-sAPn4{pyg3QXem9vfV~ zewQ<{))d?G!ryZmoH;QbkMSNUx;$V)F^FWLt_Kka!sG_QrKa?V{_Wd@?&OgCz3U{L=* z28f{5$lSM>B60A)@Sr^`N2iAR1M(F3jtwL5GTCvnaBFM^n5+lmI@wrIs4L-gj9xRG zZa!NNOG29@DdzmlL`f>9#J{N&JEtyt>2oZ2)QYg|X>*PWJsOuTuc$BqHAke@0(=kI zwD(FtCx#FSMnF)F7_5E{nGeQ4ga34YQ_*2;QaCWE73ik%icI8VNUvV2x9nl#XC(>w z03`G7E4NBUmVaVOikcN=%}Azrr)!$J@2**>B}&o`~SKqdi|AQl*Y1wFm@ zC1%CJV2_N~roU108>3#)OI;|?v0aEb@ywKj_wpBB60HVDQ2)q!>%cFtG=+|#@q3;P8M+&U_I7cd+&q1d|bD>2W;#7l0 zYG`Z2hpcWBIGV(?_lu;;1q1}jeU59CwNsFy4)iKOTLMHFklr%1w zY-RE7v^MAUfSC@vtxzPi)d{-pKDsUBOrDLuuv%m(_x8PY-#*UH_2Ttt=Vs9R6z(qUaWz}q3YRyp~rdnK5JtW z2HnA$4%Z+M3n023C2~G2frE^g8m$#g5=xelo%f1;14y!WAg1r+kJBu`L zff&#S5R3s4nPzCR3j*GS11;UIq0&^Zhpaz364kgrg<*cv;>otg$#_Hf#S=%Mw%l!MRNR9&n%3frZ#KHdQltEPtXXeN zzBvbU-WIlQ{-R}FxqZ>0Yt4a#H3nS;MHvW-Z2Gfh05ds0Hx~#@Aj$AvR)FTdL`&OM z>1qSgfc>#KN~fpiaE5EWF{L!B+$>(^WoMgfZ3H0-5y)upofJ;aR`D;7E&AB;y`*(h zRsCg{(jDeJY0Kz^*L$gOe)ROHK>|J)@b8S^3nF}&;HV>#G>G~g{HHYZ^po=$hC;y6 zKg9Fz^BNEy`W>+yr{-gpgXchUXh#|83b5$q&Rc;h+~<1a6&Ot>WV2X)fX`jtp^GY; za^|jK%kat6sK_;!jA$YSLNj3W&@wuRlv3FGA~~-?V19mOH6zcdcQlOlEchua zDN*gw|3_95RrmJW_!oClrkCNUeU~QV(dD#AAeqd) zGfXD|wkhbGddEWDlz{F!<@)dM4MC*r|6oBljQzcBWfXgRn=`MX-YDaIxi58A8htbF ztH%txqFn}bKJRu&k>4*XDPxvDm@J-9v@KN_VBWlQ3Y&o*hL|y8UtlM3a=Fl^PB9-Wl?FbG|u#M{juWeco@yqDm zR3mLuQ~k=kc`G{eD`p*-d*msXK-Cc_`xJmCQ;U=A@87@Re};ip^LWXC;q$DlEa53c zy%tD^ITNUd$`w?V zhKqB1OFS=XmR}2uc%O!WG6?@(_#i!n4gfc}C|+LPch}toK~dAd+w#PW$Xdq|R(kvT zkQ~X>NYbP7mzN|79tvW~tT6!cfL1;EhK$!bn^VG4cb)Z>z(isEXE(y7$EUS^WQ7P2 zJm2zmI`HNrLp>5@Jh!VS!6NHjg1$MQz2DgOjtD?_^%^!XLaq%pi$s*Z(;p;uxJ(1O&|`mV07!po=Yo`JzslRiqZhJgb52JquX(s_0vuTc3o zr+r|T10A7?eKPsTAdyfOA`}Er4QU|c1_CtzOGGUX)TUk-7#alcz`Dr8WtdIQ|8MjD zIrcmvJacgFQ8P#8MNh{Cd>Tb9iHi-RzNR}Xh@e6S9S>^-kN+Uzvl5~-x7Chz8U z6}ZlQdwaDIQoc_l&LtSe5XtP+l0>Kd^AZ*j8dG4QJY8GOLr%yDT#v*-a*4~+=#q@Q z`*I*J2_S+Cz$sw%{(>qBpF|Z!go8ELnRKSobpa%;O;S%iX`F&;kj`SP6Yv$U0fE|D z#lAeaJsCFE{5mR2PjE#_^e8i+~Wlds*jjur_{-y7VX!zin84h7H>ufkEoOExdsRM{(ze4~%2 zpW5CPzHwt76BwxzJ=buN%}gcqU>y4B`HrAn#B^`tj};UUa`ISCjI(RMkLS^I03(gR zy3@-s=;-|NJaeWbFX&cn$vSp1-OW)vXxHtODk8-~xo`{6iiq9!->C9?j}zHz3fWmi zn-)O8h+N$z;3yZhAE^W7*+)Q_;4;^V0aAzprM5p!!*u?=h9kZhpRX3f%&YCOU*YV! z8n%?TH{oCyCMAL30lMTNB5r)-nX>#VWJftFg7iA}Y7|?N?tw(|!05-@ZD%_m;RL?K z+)xP@(p3ljmzdzj%R%Cl-)UOu0Mz{4mMUiR-Pa%3pg~I+-cKoP-D&0Po5y#`r}p&V z#O_?Uu=1-4H#DAh;Pb&0VT$J-)mol`|4|n+aC_k;%87>=-oW-mJa08M0!7gJd?sz| zq<;CL>Bd|aG@2It%agwtY~Q&%MLb8@LTjX68EW*&yWqZbpAtZ7fiIi8DBMS#BxT5R z>FNi(ohxoIO-DyZEy6;}l}h&Zya$JeCydg_%_zb=jbD(j-+<(xwj?|-J-st#ca6Ka zxnjg?sN%4zla9j1Un5CpPf+>JH*3BC3XktUgn-&SM2*jY!a?s}8B5kSGwq2+vaDpr zyq0Zk!LI;f?Zm%R%^1}+?UFo#pDH?{sU_%A-$)M1&r9{}W<|3A7vRLiGbrU4BXJ{+=ggS{vSW%~F=5pBc=dD2A@j@c zuL>79n)gS0?5S0F>6ugWJ^4ZxOXoLNXHBm>n#|Ej2tQzIRt zMV1|U%ok3t{rMMg*d}(SrcMAq2FjIw#|lS;d05q^!*$t#%M4s);j&TZG%ToJ|GkfK z%VIF#2V~HoTPJ!xug}^Mv=TvHNsjle{!@>CZp51iKJ+L15dImhRdN;(EV)$e=}|8; zZQRh3{jc}-?QougBEef7NtJJMrF!@kS~|ZbBK2A(CnchzL4*?+DkdRcBJ5>z`owG` zu0mR`PYR@4ahquo;Xs+kZ|YcasAsN7gQWK|KL;w=-J1$x^?h0qdus3=>VTFqDnq)J zmcHrM1vq$Z7`g z#=>`oVADZ+33Rhju&j->?k z-!JQY{BrLJ(0aDere*ZxFa8!m?h+PSacbJE1oElBbIazvbaXd+OlX)+_;L}art{#( zdKljBrOGEbghKQ~Fytr@7jen1A-{l{o6F<3uBB5AvXDcBQ%)v`d=2JjW2>iPYVU5# zxyv6&+VBacUujSH2c?$D;%VH#9Z-)pp<(;q^Zf*Pni-Vn(6mOXH35lCK848TY&9IS zZ}9dVj-4zfYU*~|J|N*Ax(L%!7ZgxyaQ_+^A)=xRItHTg|E+#zScR-4NGmGjvJEH_ z>l%GSlc2O7d~N`?5Bp||0dt)ca-f>X(BdorDSM>z5WXIPFccUxA`%kJRLzH;a&&|s z9ZK}Jkp7>;rx?$J(kUW1W73N1L|iIKQapesy9lEDgvB_TmU$PVB0 zT>Hij^2Lg9opeD*BMUqG)Ks{XBAi2@OEmePS>8=tYnssrn@jY zQ%F%EDGy-68u&50E&xTJy;QjI z>Z2wZ5xx$ppz*y9N!a}Yg|PSO4r*MqiiYekv-rl>|GSZ4xmr>tm zxu-PA+&+BJZj6kSd>F6u``3})C14r5?zN{i+&~26Cd7S|P7fF3Tbg(LJB}K2Ex!$$ zEL_YXZQI*iVBYZYNxiHB^@;g`yu3w|K;+B%&ExaK6D3V~K{K%P0}9#5qveHzpJ$vIeHbMb8LoHBtjk|P*xQum z4(xkw>{Jq6NE|UmT5*dz9XjG&yvFJE;>OdDuBHzyEnl|1(q+AinsoPtB!1%<;ZeVt{E!gG)n|mhq2tFnmVZon z`YmSD9oHRIv;!2Lrno{x7!wl%jI6}=BjwMa6B%;Z<1o)4;>Tz5@S*PBh0_`4sL*=l zPW$^|ub0oRM~eBtNJ?9Zg{pLd&#=uXmZZ16=a0hNZe>&Dlb3A7w<7Yb3EK~zd6E5s zS|T#M7mdZnqZc?6+Ib7dT3GLzz6{g1WeVzet&pDlsPaaWH z|Dn|R5z`))AaKp1^c@@;jXUbCtcSH~pJ_(~)k+EG8DOB&qoR_^pAeE88m>6yOYiiI zSZH5;rt$0c61or)w-FZ)gycD}WPIhBo~bmRdlCe1lD^a$*J8Ok(}-GQU(-FFf2zbP zysRkOQ+lMN^W`qLWx$KN!8ZJw+YKPt#`VPX8k8zp1D_)^o8BL#I`eMWo0pC5!{z=%Kx;iM-||g0`Tl;RyRPYM z03BURjSoF4B34u=djX$xM_#BP8{Zl&ybY?p)PSac`Q?i^3kl+DtD1+Lo*d}em)y3VpwqYrusO9(>JBIeQq&LA#6#GiC=u7|GN1I%d zmb#*IECpIweTd-HSprH#pewJz!3PlVDpU`@_K$#rmW@J)>jam~@5 z4Y1svL+r1MORpH)$wmx*KP7eUfs;_drHgbghH=X_DQ`Ev+o{b@uu#HD(ZtoG(CJvS zRugp68k)t@ss=mo;K74Q;B~AAvJ`)aW*I@u59B`w%N*$0ZoYp3jIvBzT&h`SBaj8| zNR(=ZgaFrvi%7Bze(I|0{6zpMXev+YlE>l1-~wT@q0iN= zy*o6`N5==pgbwsx`rOBlcF(!kcUI`BPv05Yq1oMIn(YMEO{VLYVmlI(6}*JPBFg*3{IDh={n= zNKEz_1{D)?R)&b-ZQCZTdVIs`0R5}#qep)?Uz(kaDfC>fq4OJV&7? z02N4rutY>eN`Ak!yZQD1Z*Vzg$0qxPj^4}eDO^1mD4!e0VRgTsSv?q5>xg{FX@5W# zFV6fsZN~KH_|pBsnk~+QU$(?i8(1i!*mU3CLCpToC9_^xDyi}NF)@3!Uvpede`ej| zL&#NuXy;xMdI4(IJFunrJ$D}25hg!@l-namM~=dqyl)#iJM)8?Ip05fCQ}lemOHWY z-|{sSoXlWvQ^AufF6b|Iqm5;6Yp^54BRifjj+so^&@e`8Rn|;jzUu{sfc)5N_U@mV~a@cRI+bMvnFgWxRai zHP$FfQHz1>r%(7H`F~1o_SrKf`lWpS%x~X?se3OEv!&V;xJqC!{c{x5(Jko0nC`v5 z24M6Nt|QwoZ{Jb?pLtfFfcl547&1h`2V#zs@{wNnhB@saMde;#2(8HIkzEv-8)_wn zX((c7x@$esM=cN;o?&$49Fv*CVlL&WG( zSHEYyDCgmhzVs|y(%p+6>dv7A{hr?*>!y5lx5<>&G9ahASe-jsg|)D-Fxal6wUx6V z9+~vOE4u^R&8Tn;(+W1VX|ws`uUL}x^{9`IeS+6Tu>S;q;0z1N4CoI^g*UlCFKJ-A z51HBViHW3tKIHrx-J>F7-VPtS)s7V@$En@(a7zlF(buOGvFDBv@{>bJPhC?jK^cT) zjNUWMFoi)N_%m3Mi6{+8na7Vyb@H@0SO26XB5F{S5>JauUoxJ!3U}7n*1j=I*WH_~ z_0zkxAdvZ*tcvz773rCoo-}{972F_|?8)?WPVgjuK#~}&ZX;Yah$jiT%4Fx+A6A3; zj7Xjj$%F%rr|X|5>Dn6jnYpv~bB0b0wGY{srNwR|>D0^C5~>b2xLPbo3SM>S_N#-- z3;M`NlN3-Wow2mEgwh)m5MF^v+5wKTM*u;gq^6$#=R1luA_o-l^0a4zJk{`Tj+0`V zRS@u8%0XA=&&lKX-Reua&D!(L^eQ|QA;hVhflr@eFTSs1r~DzpmTs9KwX9<0 zqDgi`A^Q8rDjIlm)2+Wh5nKRht8^7vY9O&FptAEzO8gmcl$4a}K)eAdR$Y>KdQn+f z8H961Vd6L^SWjae@3Wd`+HIr=&9=kI7GeUp8@Y1x>V^jOe4bU;mAeZmsoi8WH%GO^ z*WF->{1_H;{?*7+JXHDaRVrN-vd|epuK*P>ttE6f;M0(GhPrXSX(JxOSp!jszdTdd z96JssH_r)$Eu!NkBQ5Rw!|%jL%M2O1T3jz3{%p|8N7VQD<}~RZGr5bw$Jv%OWdZ`@ zq0hqI9SNX`VpxI6C{Af7km6S5FA3;R80gd1(|4h zX!io26lMdFvjF)prPL4fCwoHa-hQAd^Q6aiPLFcY6jK7GZV7?fE1 zP6tm{w*^XVHM#24Ub4v~u{!-sWa`}OE#`vAtU|uBN8!}P)4~)d6|b7zrmLx3Aw$OQ z>`m;wye*#cdfxGNTKXope%NY&7H0Z!*$Y-!|NEKEu{TZ(j0O1|S>W%|?~QAlvjYWF zOBWzM{g$H5B^`5oV6Ldd-yTLVt}W&B?G67A0{txhf|Hvi)5Khp>UU{k*6p$@<{YmJ zUvH3h;=?t}Z=aC3^Wf}DX(Fs0a-GN1w>8-kKAZnxzMhGt#(lDztUroeu;XuWj?huR z%VMTGCwPdx;pbP@kV!%sdB~3mlX~)^SywqTx&Ql>^jL2p6O(s79)GsPhaGvA-qSI+ z-s^oDmeV-Jf^rq-_vPO#osHav}XQ_9t(ZPAQl{urAi#lfEyoaf9W-pW|JHJIAGy z+pR5^r_qh|1C4swZJL?Hba9z4Ta*S|Uh5n|5WKRoA`SJ_F37E5ojZ311wQ>*4Gj%M zJ+SgB0rEn`WJx7nHc)<)=Vs@6UBE4W40k|D0xSDUMm$(tjSp9!)jvPi(BDrE^*e~| zh=wm+x&&7I8L*-Li{9l~-%W_hnK32OK6x^3J)$k4i1lu#IzlG^EBWR#t{B7^@W7)$ z)*%q!4^vZjpei=3;jIl-Q5!luce-KH0-#re70O*zTV9U-c*U+d1mHh)8VP9DHAKJ^nX`V z`bA{2#oGtc^~np>@6kgFf*U&Nz-Ts zBf{^#W}b8A#3FwxjGYiY6B7_)>c0PLv7F?I0$%}~^9w-*1rXujD)#J=^GCL!#o%UN zhnxKf5ep0?W?q44G#N;dfqVkNNMvVc=R=~dYWH^>#HgXXrl-#q%oixFC#a>Ob`ANl zV97)uWN;x0^9lb0!wS4uJ^#Bu?wa1$(IV-!PD=lt5zzTfECz~GW)&LL!Z9)@ZlJV+L0;hIvv|1c?bg=}>$!Uo0 zf|Wesk$~U6o(!9!O8uQ;^eEJD=k&>$*P_diaV_DLWqFEkb8k_3& zz%qDm{j`LsN1(^-N=U?NI<){@=q+G)>)Azk#|etv_>C}WwZ5NyopP< zhVf#x?tYD_w3uAxV~fe0?MMm@eUXr>Iv6_!1qpuh5>}77cgax zYtzatGfr68*e39CSKZfG^h#~NpT$(J_N=I+ncnN3=TCyvBz$Z}3t;mYZHt9+g1w&8^w<@B^U3p<6+H!(EHxJkH^d8)hmyY>><-o35z-;FQ zvbKg95huL_9s{I9!D+xo0JaB!wM5v7N+h^XwxV_&Q3vCoqvg3=Dd6rXkAFntGrCKf z{5~vm!z^ykhAk%c?emG@0h+5(MsOamM8%6#!u?^3qYL4QSDmJDpkvJPdV`9cL*y=F8b_5`sd z!dk~3TD;6GST%RjY&O7qMl%?tsf0au(OA$o!T1OcbGh3p6NHP7K=_4-C}<>HuLsi8 z#uUNu$VlQ8&G<_(C(a0GU0MQRfctsq*K5_{#x>OZ(;ThD!q4%jPjKP)O>mOOjZIkk z9WfK%E2mK<09f%K4|uZo;a=s4@X4(F>2w+UlP^+8-u7jAIrnvtC!YHFnP@!Sf!v3X z#a&Rw6D-R59jnnz8_yO4cn>Io%4lh6CGnj&x|x#MVL1Xl4xbf&K~NTv{3D}x>ir&) zAp_O%`|Ip0-)`fVAC>QDv!_3W+$z<@i&&74)6vxhHk9*FDCXS&;uiSoYa3^K-c@L* zTHq-@A#y};T%;NPaO4v@K@B{PhKlWk3ar`-S{qJ^D5&Wg$%#U@Gmbfm)!)30>82{Q4$go1djfnGpGGAJ;?KSVr;lZhfnZwuFp$V4Zc6q zSJ%#-XL#a7(niJCPJq91t?j)$7#cto1HS4}!6JO40P*4fRwVLS!kMmCNgt-f8xO4B7+Zwxsm%Wk+E(-kpg_U5EkI3c=2%Bh+eZd@m(@Ai47XeEKX z!|M>tuDxjTpEUie5Pzw;SHoFC^?BUD_(O*TA8z&WJ7#k%Q&CEIiI3b7DTAk*^M58! zQyN+d;E2@0ZdWMH!O>5O%8KDrA77tb%)gCG6{vB?%Ii|5Cz%TOTOR$hPo6x1g3%e& zgC8F_V(`6x4i1h(YPueJe{*|2o_gMEu1@qIyIHII~htXIq8h`3yzamB~q2J4A?VPE|3Ajl} zB?5fz9O{bw2qkiE<#ZDF(% zSSWSe#XwAre}9LLq~}h)W|RsF>BalM3lcHhx_$s$Z)k1BgC>^-$e0mby!Zkds+c7t z?l%*kewKkB!}!~LBbCLp5KEq$P$Og)zanq8*vi$Vd@I9M2%kqg0q=eRx4NR@*#s#c z!|87`^YeNWhoiMVMxF^h5N(4!pBaLdFgkE^ZU7H7$kpS;s+~pQ;NZY%K9g_zQxM>( zWnWiMZi+s()cZN@$st)WO_HM#l+>~@<#kv>g#O9}lRizYudb~K~57oM=?NJX?O}BSuJ0uB+*rN-`l7B#w$}Om_k5ZvqUCD_dJl zkhU_hv`h;rcbV@_RRzEStvI(LrL+gUcspDro=%|e^&H-66;qkP3AXn6_~ZHiwivYKjr2_C~xjs{bVfRIjl zOB}`|@1yT<07W$c>XDNZXYX%#RT-j{omDev_a^%i{(luhR-jNm2?L`PG{*rK8NIc? zy*#xt(SY(rDz4C~WvZ{KN#f_{heAPK5v|Hsol>w2{-O+6{%_xKVTJ~*hELnLjBRa0 zAs==p`yOXBBEaVC4KZco9&!jewiPKp~yPAt51y*g_WzK!t%1tTWKEA>e#Vd%HZS*z(&B@`sfoKMqYB5h|&Gwk=c~hUYnM z&TFIUATYX;kXY@tFM?!JQ3y5v_3PKsrO>Lu4Gcz+ohoDUI zB4n5mu{;z)P1(7V+yX6gk3iZ3B@Gdmu)Unm#vCyMB|}yCXaUGHZ1C=imwk5%E+Qot zW`>|r|NQxb$mOg|ytmO?1ZrJ?SVBw!UPrLvFa(*8W?IQm(#FONwsv-nrO+HW4jt?$ z-+PAc*ihaf9tJ_aRp70~xO^a))n}b;P(gwk|NT1vsRaU~F_d{wE6wyi4A84WPEL+Q zm5SF9xdm8j3>1RCOiD^Z#zc1&=$u4sFPDP9G!D|SC|{_d*9{Nr+o~!n*8@xzg&G|l zo$F2wX%ZO7);*J|8FcnMwK4d{)OJu^lC`zvCOCgy05aZTrLRY47Y6dCK=}vd3!N}G zKV;Cf9LARc#VAS|dch|a7Pv||F5)4eOw{q|n*UZoJH8XJF9ge|yFL`H^< zdMD<}={qte4qn(*=iksm>j+JL)IR1_&=884l8-C<2M4>(w!@|8QJuiR36MaUsdu$U zdtAOF%^Z-g%<9_uhaG{+Dbn_=I2_4*;}Ni?pz2=Wk{W}TQtA(BS;%mpz#g5g>*~5~ z8xk6dK04gTKtWw006IMfq597@I?)Y2o6AD~&8c?)ga_*Q$3e?Q2E5HF%28K_5aJV% zJvxKpf4X6%qxXAk-W7V`kz50;l#v%%7_~6TFqBIXnpLG#O~})!Pd(89`gtfA;G>Y7 zPo81*l~=p)3(U|{3uQS<0n-Taov8jto%;xUg9r=UhK~S+rG|*Yt^tg2h-V_)`oX|6huIRZ z(}`yBVf&V!&kvnFbka+-D%etIzA{$VY)jrB=QDc*MfRq5K&+Ui$Q;+k~4 zj?l7$4nbXA9SSIpV-$yh^uqCQ&lQDu$i~{n?*5Q{n1oJNl&_@Mp4G^o&5b{I{*F|T zN-r^A#~!nUjRV;fR7>@jEGTJEH;)ur;6v5a*v>92l37@4hyLm#=?^%oi)CZ|<;hv& z``2COZiOjd!1pfw1HK!S?b%9M+1Mt-rJV8%O04_v;>8~F-YEdyPGFG-PBjX>;3cU0 z%YtyHnwlCKmudZyl=mfoBBGpp6!DH~YC#eiiU#LUNZ>Z{_b<0S1ubnD6izWwVy^Qq zK>sty4%qnz%LSg4_B{Ch9wFc}W$p&9<)O+79tkka- z{|10Lp~zLR2q`lp)&{YAJJ{I)zy*Rr0VWe+36m3~ncybkIwN*HdP%Qr*qanjEUO z87z2muGfz`@^_@0@jmK;;)Rx@F}rNCT>^X*MGiOd(bJ`l)rNL$1A`pdgfWo-5En zj1eZ;2u{&|rEci$2LcrM^)UKD;0OWaXz&<23kz@-e*0#sFDvV(sBh>Kt%6NT8pSkB zLP}}^Nxv?nEDje4)F>Tmfw9Nb1Nph@a5@!At0^_$?~DTYmn>TpnRVMRREv1FT&Fj= zc5IhI?67@|jXY_wx3e@e(7-~I#S|V3raoFl+xj{-X&XgzT6rmSh=*+zR&{{E@E>jS zTcxC;A`{PbKV0*UrPvh1V`JtkB^z-71(1TN_XARpM{L;^!NSW=q;D7e-h}IswdQR= zKtO7f-invEqbD~vckr*=ac?p_g`j0;Q&T2r2@mn)GaBKG*!N)P;mNtBU!O6n`jk(V zdZ0>-;n<6pGXXkVG|hPaRJZT@d@R;kH?&kPcwlMycE_-FW=+%Qf|HX|uoo?M)DM_t zAQ-<$1(xG+hE#|9I@y~oA$@*mOUy}G&rNasK75x5>s@RtnfPNo|4-=cYs<%S+Yq)J{05!#|(UQXU;s=Y}QWIgrA3}ziv{`(29Ag{uwyTiC$>J zaRJa|l~EBS29JfaDf_@_y6n6rEM^6rV_iOmN85UZ}CK{q|2i+CxHY;mjZV*+w$8`*`&^$aBSaqZe#}vT5lk^O16g&>GT19i`I)eIy!Yt zO=n9>OR4Xf!Io@{;>eQ-hu)%L!x7%RT9s7JQXW1kjzQR^5Y1u0aaLj>0mOuL6|cVj zu<6vdmX^yR2@uI@nhA@D@D_Je9l3u~x;+e=s-C_ICd3{#C#)4~$xNRz3yF@NUJSKH zJt02!l!rh99CJVeK^erc)_u6uyil{5mz_OrP-p#hR@dfU8*JEI^tKVV|2Yc{^ zg@y*(wW%tq1aCH)#kiRLx8Ka8~$Aas6&t zUxy*HGN*>!uSXZAtn)5&8p7@lQ&nCC1Tzp&L$(X(q&0mK@Y%vy!)%^D6@zkF=(-c7I4f`YCcshX7SYj6MtOZ}Fe z9aqgQEXek}jPk$N)qU(8^T&>Ae%-{o{N%<%yTX(3)h~#l9E{jZw$oV0Ku<#o3B+vbNVp z;otVTZ;h5#nYEe=f}tbZ6tv<1}lW^drZW|AL!kdN2}jKD?9j6DUQ08h11{h^b=gU)1V_8IMXH})LPlt=(VB& zFd7m)!1_5!nYlwk&SkzA*Ag;;YrEewW47<@Q%G^&=^Ow5g~0%jC~JIYIcy{Z+ma&C z&TgTsaY)iecu9vNZ_pnv8(bg>}?dTuuFw~2;L-`+*dEp=Ca-M_NBKA^yv$bOC3@0hY|f?xn$Ck;8@PL zko&Ss^kVZi8Y!gJj@40AP+){&3Y38-7dgPWMuWqM;FJ;1UCr|toMuGG4-j7p(P%{^ zEu%%#k|J2Od@T9-(znFo<(K31oj)^#2vW#Y1=J1?ue7#y5*545KW~eyz_qZ_BEgdB zoX@yPM?Mvu8-8>qc{$Z^3TgN(^%j?~svRD&~=Tc^K-wbZE>b z%4N~^DRys{dB$;Rjq&I9QgU>TL9)aZ&Y&O*VOE~%kfV6O0{Ssr+>I_%Zx8Xp&)tlk z{VqC&h7B1J9qkXh&IIbm)HYiui+ua1aEV>;vxHq$LN;?&WuW#l@MZkT6<>hlPp)Vwh#H8Q|D-@3na)--x%s5++)B(6?Y_-GI_6(cA|#lw%qB z4;7sh$~-gX*p6|^jRm(fvkqQggOxU}^ggo_6$?Xo6#tIAj2AB&12U5LKe!yd%E4E3 zm>3nos)I<|A-Oja~t!#lG(14!GghY-n&>c z*4!&AvsM_NIrGTj#vk1@ZSih1-Tbqa25C(@@;aY+NRai)3~T}wcxn`$YcHD~IUFQ> zECB%l!bL7zb$t;w&J>g>UVpDJULcm1ewueWl<|8*b$P}2huZvRLUIxYAsT{4_T`4f zsKiisp?0KDBqd*z@+HK?@IPkel%@Bc9De(k4`dk01Tku44rfGv!R0r-uTo|DyWT{w zP0OBlWuj}ID->1TtPpVE44BLgCr(6wi9+!Y38DSsu7HlD<}8L@)$pHR#61h+!7M76 zw>#0|yJ=3z(9x)P(q_1CS(u_<{OU6%l4kN|;r$ruy6xx4RK}H+mXx>xspw45N+a71 z!HG`R6M~0R08p5!PoFG?b}!*^=Z3y^GEp&6SO5G}{jBX&xsQj0cI2g_o%v}P7c;4H z*@@j67=aMl+*rUu>q4D2a*-oQaiO z+g3sc-?T$-3F%t^^85Bp>845LwiOi5*xxI;TuxTEyg%4b!pyb{#Qf64u4PAgV^veH zHkB8q?(Y?UnWb}}$LrkL_?hj3#Po$l(7LL}ezAOFa3a={hBy{%Jw|Ix; z$TUQr+il&)!Opu*c%{~Tm0LNXI~e0I8>kaS@&7c@@UZYlQ1BmqujIEzGNBFQznrSm zM6^dV+dnhTLcOqAS@{S@-qQOi-fjQmqLg?osE4<8v+2$CzkauU|6bCuH@@6glitT7 zyXI%)USYj2*If*FG7n=^i0Bo3?HU^$^TtacQSk~2?&WY>d{ysVZgC=X=M1g>8 zBgu6U(~IXjoi1PYQH$pT1OD`fe4bkIMcbV*ZabOy( z3qS_zns9b988v%kA23ojy9&K(^ItBPVGzwZ+N#znBeA4Q3Skikw#GV`zvB=Xbt~tf z4&y85=1jO7!J@Snr*a%9oK00QgZ%k9`Hjjx7ZI6MSZI9a#_C9td$4K=mzN7ZEKsNW zCmus}35g44dT~#40#diEMkTNF;6NCY`a?GT6Lr%GENX19e|yRxDcVw@(8yOro@2RTs2~CDdxO-+xyv zjg5)e22S)bL>-4Ks{#N`MDu67)-9bsUeJQRK1xW{pR##zSub7NvKAZf#?P9##C$c< z27SO6cR#b$ak!(18CRo*had$S0_GPsm{-!TT2+f!F6lk#WKpfXbl~*3LbrYEf3G99 zOUp0tv&;OE!L#=kZn8~#DlvW#0##ml<)cplsi|9#7(rEjTkhva_^-L8lbpw-P5TBso4fHhKvii{ z=U)84h7J21> z1m@OIx?w3bZcV*)S)=JYkK%s6l@xhyuXV|9RC0m^-o;vkz`s&MLc<)Htik8a?XbRFO z?#FI{Yn837h0@lGsB{Wvt>*FIf6l*?8(eF7WF<(d!xD1aE`${onZ$-3R@?Gy4m99Y zQ4i{*Wgl$h>Pt(94h@buW`e>-2>zHC)a1f;V!E4^)j_CtZ8pkQj@nT2D?%)QOg*P|_j z-R_CHkB)qj&+BZj;bh9u73nvTOThdBRo5)|2Bb2yvcKV%o0pu-i@8sj)$aejOz9yx0zz$B!tk5ALs^8k~vJb z2x_mpZ=aQ;V>sv?J!G{S&}_hbIYD|$Rl(y7I|JrxX8TzivhFp_i6}ni$_+w+Z(1d z_6o~#Wi#W>Mg}}Mdm8>&ho87og@uLbWwmlTLtg>rdDw$hOB94cUB9V?w$rEBe(-fs zQD}BC)rNgz`_|L0I&3pIaJglEx%-Mh|JdUq*q-|nWgUg;%*7k zV_CD$jL%$qRLCzN<~n%wdFiP^ocBi%OC=tGnBc+5=FDo*r5D{gfqQ2Ue_dR)yP7u5 z+0Ku=v5_SuJaRH@4f{3*J2>S=42W5lFijfa%@IH$;x|9Rae;YL6v=>?6H+k23nt|N z2K_G@8*5QX{>SS?RnXCR!SHI*z3eCX)D9nub;2}3yluuPHinKI=-j>KxNRM2WD6f$qb&rI0!5|DMOMx+YJOaJozc2qRfu2`l-M^tz; z*`;O1VjQyG@Wl#AhQw{7CUy-x-B{U;| z8GEM;GS*z)v}%SuC^tk&p2db{N(Dx}uH6+>#0wPQ7@-|OJ9hV9;)93oXgpuJFLFjY&mMTnXMt2 zy~NtVsq=KvYpqLuLsjtWE(Vx7F5P^ zu`Pv_%*QD2ju*9-I2J3OR^W3s#}eF~yjRwG&O9gyv#qq%;A6dWAYz6+yl|_{U!`d4 z&7y?uM?Cy2#OiEotvn)D<~gO*Yp}hWTj-Ck5Zo6XLr5T z#mv$vpU*+bvVV%}auf!x9E<(jr4pUQt-QZc#mU_`e$snxQs!7zi}i2vPV)YxKBu>z zlJ%(O67OPZh#wSl8jA6Y&)0gjFLJ@^t?e^MuPY6gzCi?+hB-R;{0E(8LBd();W1_1 zu^7@X*7xSbx>UBmFcaJ492@!VT=8e`u97=%i^SfT9v3!}KR+99a`Jrz)WOI3o%Ym# zDs%}Yigr?CyN z6O3^0e)`q8{ISGR4}-{6JRTPDm{ zlI7@wtiuE51=bMl!SD|oS(gH}KGM>u_QtpA9qmTpwQuA`QpEmI&}pR0GG~8k?OJL_|Et=7BbD!p1w{&@KW*tQuAR3~Iqo<5^Y6l+7DQJ2jxqS7DuQyY9pMo>yQJVyo~yqd16Cq)z_?!oY}T;* z2a+7Ums+RIOj~2OuKVb8*Q8N4mPem8^R1xR(@`UxF1jplq#TfLUC+Eu`Z0z1IhKi5 zA=TvBzum0p^^@ka?^MFyl(1Rkn0A)1 zsmf5bG#u8D{5TrOjx$$PQ$vffk?WZ=HRvosTDWU;crkO_wR~Uuew|CJx!4MUH$2xwYJNt9^_SXZ zc(TML?fvDXzsWuRy@P(j{R#Se_wPT)NJwlGY|>!8x#s?$GkjLC$o_7t6h@aJ#MlbP zf71|L5$fU`&?n-i)iQXML&?14c5#UC==&Jr&+c&M!H zzy#6i*fGPN`Olb)lNAXUR;~|(fn3A{;GtTS^sB)*f~h0Nvw6(OLx{o`o)5^-tV267 zip78F3*B^{xJ8L_FY4x2{}X5GyZ2J5Rm7$v^}dM)$60BOE-a_;AO_C5IgDnyQ0*Sy zX2Mpy(&ARzA>WF^D?quyfVpf5V+EiITQM^yybaj69&jo@Kfi-0!h7ajfVl?p9R2z# zo^!&be102>Ry@zItVO$kA7F+|oPQ!`;2BoY*0v7ZkStfHr3zE&SLTQH8!w;A)z#jY zBG>*ic0-uftBQ%e!q&bdHLk1A-1@>y7i1ogMZa|x%fNFt0K5nr7-*(jmcz6O6dCY2 z)Btjbl>9+j+anT_0$7G~0!POF-909tDTck1aKFT#dvl7t?ivW=dH~ihtFEg%B(J=f z!J2oSLdULjkNS#tP5zyd0Ws#Tro%bCM(9zpL{Y_^u(1ikF22n`9)LiC1H<_pzbuHOi?D0FNexx8~vX5+H=Hii+K07Ejj@8*;ZkI`oPR#fMj=8JON< z@OhtY8U$He$qO_<%*tYxfFje29r^j;d zK+;y_S>bChN8vwS2@xocib#+jmIQ5d1?0IEJI=dG1^<=u=>F?VBBH%?f4W+QuU+%&=>2R5fIB z1d>e9KU9+S);x9p{q5}*a#Y%~V!TMLPs~#hBs8&16D3_wceg(tSS5<`#Kgq3+MeEC zgJJPf_u`V4b(!J+llYrVy`Ek!H{DHXzP$1I=sQR5@k{SpauRz+dJ*H;yZpdNBo7AVY6@OIYhPpI zwNM=r*K_Ibdj+mJDB7%tp1P??54@k8YSF}{_g?14%xqu6#)9Z$$D*?BDbiH_clCDR z#QOTpahyGVL0+=J={HS`?vSa~pWg$UO29fE9Um8!9T%a1w~Bq~PcMo$9Iw8(8jlHl z<_wMbOrtCUnoHT#UOYogju9huKHWFVAu$qO&XO)&C5&~86EL;bP`85Pn$nMVr{wWV z+r|osWYAF3w09rQq<-@*>rb^3Sf7W)AdS)~i7^z334fzvtOk0glykeR7!1HwFRa`H zTACZwRg1|0qE3y=8^tGm`(qBlTL_Hb>Zf=cNPZ>uk~pl$VxHMWTvv6kfAb zHY@YFEAY|nxRrFhe$SA;OVb@HAi|bT-Y}iPmej%>wSb4-rt5DZd^9j<)Is_i?eZQW zg!e1jI%VG+?d^%Q%mx=nwuK<(V#MK(A>f*umqHiQj^j4SoYE&YsDDa@a;wP25}-dF zFy7IQ;@}IphUN#}=W}-`m-vqN1kD|IF_C7dW4Or^ zu_?9|z*-*@Ck%d%sVw=x7>OK=p{+>g_SNDzy~FluS{gsbuBVItf)LU&(ebtV8+j4OJ&gJ!9&3i~3hKv7qixw@4A#fBn8 z41lcj!DJUJrEK=c&P#A|#Y=fXSK!^G-cqY-$m9Uu4dU+s?wA$WfAZdwV({EVQ9?El z5Nne~=l!{#I{$fJ{sOYAK0bV@y}Eq(^_Pc5lFifkGBRSmp@stB<{rj90>e85^{#yj zR!^=bxehe9huA{mGxN{=_Ko3-k0)Ji`SG)~6uy%k7upW24WHP*Yip40Na74**86ue z;r%EjByk1S9m|o9v(N!@rSpr!Me5lmx$ zfm?rljEXauktTW8v|k$&vi`Q;7wh@(&DD*6?zWxXlU#AlYdrq&pk8rO9$+7<HCl|^{QKnA=9V1Jn9s1^ zaX^d;oT2(Q@xO;Kn~o{4`bD~~FMnZpnQ^)JxyLNP`Ax@vkaJ7b<)5RK*&eg-C4$a5g zOe0Y+gGfbo=)vJi5=0{R%zuHKG-R$HsBv|;oRp1yh^2c~#)C;01(OXy{rkl|&g&wum zLm{jUNPgBRDJ4aYTij4Yp-H&ou6ho|qUL+k@*<|2sre zliQ6SfpW?u#%+(jsHiC1GK{}01wl2#W%vZIUcL-4G<&>{pOwK-#OS~Ny*RF7pWo5| z&ULLXj*)0a&mG9)59G)2M#Q!Ab9P26aB?NBYq5d<41SG#RGARn352KO^Z4cXC?4jD1?uuv=_eJ_~(qpk@G3cth^&v zZ4@3kcdU(%kC*pbPz0BdLLof~mXcfs``yIcd}v3b<3B)Sr;&HCG;I}tVBgT7zh&Sw zShHlqwQuOb0oS>IjfVcy0I6o|LsE0CvXasU+?om~W>&$6Q%TLFQZyFhNbIi(xM4_L z;XP6sO1x9>9@u|)kkCk--H4Auri{L!`kHt$=^$0Q2-Y7D^|SwCJM;` zZ1NeG|L2KiYk+j&D6S%8&~Ns8k;)lev8)RP1v1L>zYc=`JM`ZfKcW1Uh$>%b3C_z! zw~F>hY$^b@y2d}8|H~Qw`zx;Bue!Fxae^x7FDiCXQ|CXv68-PLI&l%{?I`K=FusPZ z1L%VR+nn2vzD-fb?i`7hUD#TL`AuMCBopX^O=&tDFgMp_j{e|-JHKd12DLa|AgC)y zOK<~A>k<{c437Cl`Syc#=nupV$YGc7)F+ki+~YVxU{kB8c1up#e5DFCYyOv+GJ z1Vac+EH+a2G86VW=RC0{MrVPtmKrp6qA7t6;9k<56HlOg%WfM#vN?M9*0>YD2E203 zF>jjwyCWS$$vYU^U?UM5IeQ!&(%txm14+s?V0NQar^ZqwtkANqy|i9aTU(?hZos$3 z7mVt4%05q~P49t9!#^qU#%lo$CMh`ZYDr2-5gdw$&_9)5v|eZUFa1D9OFLN);|X*Lp-L4DhZ2v zDo`6pSyj<=!qDUM`B`yF;?z?ht1^#VK5xWSp%y`-yRR>Z$SH`(jbN1!m*9|4<9Xy@ zpjHK+2MEm71-{e93@9GZ)Z9(_H2j2DiAr3Jjg4)f*Fy@PhoTF5m1Jp4V+6*yxQe0XRcbrChC2eJb8 zA^FJ|QF(b2q`WGWy%H1_U^)mp+xvtfeRq+@jAmCAiv{G(L?WJ zZK11s>8OoC6)g}+lIA~Gl&B8lwgUnX_f3guiOMwOc9^Gy}egJN>?)}j-yw(d=tI_xY)%r zfTvVo>2mbM36h`&f2gks3bSSMfY^x2pM+ruC3wZf_d#mSdgT1?eidKP34|ytBn`G& zz1PN{SSa+He1Apr&~wk$$6mX(W%~DT21uXSz%MZo%KI{XD5|8|0A25F5^LR&DX@-ydaC zH-4mO6}LPOg#{)1GZkk@OaoI>Q+enWM?_U|_GvJAR?$j^x(E4_7K+F{ES_CMW?Esk zUT;oefnMeF=c#(1aqAcWOb|?^puH2DY~cFPTYH3s2KFY0 z_B9o@J$CLO#`qAMv4QnVc{5wz^uS^#Qe7Vm0H5Q(LJAbpQRK2{EbHnjsXRL@L&1Fr zQc3nlwBut9(mDo(E?`vQG9F?6bPFXL7}R%^R|s81DpsT=Rg*RO;{j- zOLp$$!lq57+NcdH06&2$=sKMB0;L)e*g-&*7iE*{4G9q0-_&((NE|3p_yojTWWgFV zS2X@MmShhmS;>H~_Q>I#MmF<`6{?ULPSf-y_WN2{n+CncYybh_IRRMl zl0x(&#YVYw=@R3__HEnVe^c$3v2WrbC^cd~*6-FJRba`e1fHSj8xrZUmK6buqa(D> zQUR~S9sP|U%VHZq2oO@MkNLJYw!3VsD`Ul5Mg3xaw=cFhz$*)1Dt*DZ|T> zd*KSOUy1bF$H#~CABYWXaM!}=M_r1aZkU+&VC%>Vmyn!f<=hzT!%$fyTm>djQW~3&s2CLL}M8GMvRWSM)|U1$1pZN=M;4{rw_CZ zbpb|d$~Y*9Ft@Z81&N958AOw%fl7c_zo@1exDAW$iQ8&H#J7mKWWyK&7(wZ=vM~Up zi4Bya4h}E#a#i}*4-Nh-lg!HwATNLqWM4NVt*FVC-pFmJ;wb8tKN_<{2c;EaED<2O zhlV29MU6?q!}5RtG6}#tX-{w(>`X+8<3+5a;B~!3z7`e^>$40&mw-C2Ms$+f`_rkj zXXz+l_1)1k$1S3wAi3gkAo2wvs8lsJ5`5^reIGt0CRl_z3?kr(mRl%ZpfX_Q8ZaRzgKgxq}AVi1mcUmH7BDlszOakuOmkgEPuO6p`gH1z5#1<#-(C zJrB=KI7a!g*CVJQ>Bu{*LvRKJxtzx@@NwYJL1<)I2(z{(suZ&C@^U|Z4YOy9+OC;j z!d;$ykt#(u#!5bvmM~X{#ANE3BQ#G-AV6&atCz?P5gZWsfG?^8_ab{54jw$X6n(sK z*LuEu;VWA%F-e>G%{Swhmz|a!q1hngU{?+lx9lA**g!%uE&^!v(~^l0#D}Vhkot@# z!VQ-<>=b}dFjBZkVe)BALV`FnjyX*qu(E=NQk9ikCW1fj1DM1?6VR7?Vr*xQ@{cS_W&{UBGE3cs7AU6IJcfIn}D_xSyhhRA)O7bwNXNE8-;v;{^E%~V(Q)|&d z1|t+6lsknl&XQ~k7P?BgIpoGr%7g$UV?(6$M!l<;u!a_v#l<{dxzST5)(&v7~Jeok4+lM`WAz4|X#H>#vYod2yqqVdpBOs3%71@L6XP9&3y^R zR!Bq0t8Be19l2*S(Fg|si?IQ}i?iXf>)aW%5T>M`B5P2QlFU~0m?`5C$%2D6I{=pU2FGX0h6^+$QvdUSF;W=yu+tM!y1s}x3GSsWPBAV z{7|4@z%8&^l4D3+y>=}RO$zd)4Y~+O_#d>z4V0cmSHY*;JpS&$E>sp=ct%tdvilFq zN31{N{)3wrioMRzAUL6 zej-8YQFwH3ZOhT)sLM%!Km+s0t@KPvM$)kbo%ePwn zzw(tnlRIb$c*C+S%a43cZqdf85(=~$kMh?BMx(1BVv#1N$mR3v=I*wj6k5xT!dQZsh*{4QB-Xl`p78LIMS+CxMd_6M-481k<#+7Zte{Y=*8%1D zTg2?S&wu7E)5_>JrwoSUCh0RZ!_V&6@#EGwrR-hH*&2Ey;hX@J1DjT|%2b8F0MsT+ zSJp7nLf0Km#O;XQfe?DafGOhB54?VA(3}bA-p~tqYkYu+neo^N%{g)g^%JpqCEIs# z5JFLCtpz&p?i+~90qFIP0*!f?pD*J6hah%nO0dQ?QrnveSW=7{3(cO-dstTMw>n^9 z4H*Z2?NGu|Mf0v-yeC=+V}7K&T9jDCmW@&YpIb=`$x*5IqDWX=YQm$SupTvC@csLO z4~~?YeOVw4A=C!EJ9cp5--{g*gGm8KxcBbeYcEZABy%PpN|hjKS3kw+CRBB7-0~cM zy`73e@*d76>G1MC6Z2sJmH?&-+UD=4r6t2s>4v=9X7pi2H*~+7?WMlde z`js;I=NknUsg%Jo}Dj*12;?PpuuQejhZh>(VB5D9AS}5gcdA3(V z|E)|yArQjK7cb~BkRwYjF_hB(`hiqjB#+}^6E7;1E=@oe5S0(5CaEM>pt7XJtau$4 z*YoyvP8>=sMo!n*RcIEOrW2O}bBTu!ANnt0sUk;SH=M$dxn#2a1Sv%jNRT6g$x0Ip z`K^dR5yU+g=884SOTHs1UVuy0^XJc(;q62|1L)6Huc$%$ z9m5p_5_Mb~xp`6;iUCR?$_@en^f$zqL8Ial*n9%~RQ#vP0ISL5(hTMs@D1<^$Y=?EUcXUL2-U~NpB)?i5Kcc%p zCZnPtjR(V2+Xl!J`I|sVTw(m?Gxf=X)Lod>>O_wH9v>jKu2dAj#UaR?7(l!IrK_Ti zT}FWUT3fVM{tY(P{5qqGu{ZKx<|-Si`sBMd?0IOc2&>b6SUZLP2$m zW^4m+;wo@0$*4(s)0P9ax0!1cAmXRoStMlO0olLLUQZTfB06pcwoLX?;q%n2vjfq_ zrR+ByUXQf0d-xH(-IYO4d}klmp1O_4od~I*TrB`wT1pivM8;M*m`?*TV;#cM>JZ#4 zh7CJTH?@V{x^=6G3|gl~zJ3*;u)v4FC>@erdQc*O(!5Cm$U@)<$2nLxtfkN+C+`iL zC);hQ{0W;gat1(ECFT@c&cjTWSiSK7a6x}&8}5e40Ne(!jP)m!(YOp8_3XDE2#d(0 z7>|cMc7ZR+9X+AynHx9ORbtw`PQm?HSRDt=9?$8~WXf)mI?IJKHeMhhv){Kzo=YLosgao+?**+oT&8036>VArH*+rHim_|OZWlvG5?|_0j3qe zMT)!K2QX;V0C1d}9A=jNd|{v>6KK{q7aNWfACePZ@Ftq+Te>X3uv2BGey_V%9LoK)MX5-VlkorF#e($_8` z4P zgoH8N$sB`F(rXfv6F4NKic3l9&nW}3Pkr6g!~#7%F^DGV7jAKVMAL=30=GB}v?+VV zop|5GasM1UQ)W{D(7=?W8$C=Fns8F9p?DymD_Pf!crGB|L7ejOAjZHQwt9J$pCIbQ zixJK(P)p@hkKtJIqLDEdQjn39^arklDJi4#!A@^@rI_~SF>>xYuV`@a;1~e#WiNai zbDz+R5s_;k?Fuq`CQIEY4Lrznwm;k$y1mpJgQkwl}uQ5=-lbNo)tr3OYmvOVL_Ka63RN-YK9$B z7L7) z_cF305z$M6$d5_zMft$~;p7?`D&pS+!Hu5NZ7(gdeaQ_glSn8eOjAS~EG1t{Fap%m zvdBu{;RVB0qz`2lQM(dDIh01-(11LL>W)C>&KI(;^maw`UcK2n868(mE zZ_+*iOj<~a>h(BIToq~y)JC)v!sS2`U>E!okC`dDvx7o;y7<0>iU^rZ;7X_LxR-Ls z0PlD(&^9Za`77GvNq4c)ad&bV*sbq{I@;RoulxG=5Okbbd71(=n=B?(p82)~O$ZZ6 zuD}BJz-62C5s^0Rb)B8uFrsG{JZy@ij39o2jJWVuS!RLL?7v;YkAkhNtPEQ~&xb7% zoB`WKU%QqX-2%@RG7D2blF-7QVHl38j*O^~p7An+RH`lzM{I&o#bCuJ9U7=Ta9Wsk zv~?qJABIAA@N3b;NaVS6<=pdPFy4dNn~*yfDIzv3dyybqgiOUh$%Ir5&Wzh|o77mQ z2fzvq6-d}NptW1Xv~ge_8YV91r}JxfYT@+|3{Ap?`H zuCkWAb+Yy>5CW23F>(gQ8}HVw`v(r~wB(D?&O1MUj)W&bv310uD^~yIJBS6_Iy!7n zLJ&p_&VO}>b)g)hG>JAKQ>Z`Y@Y%(={p3mzZnzcP)l%P}CzXpmOC>UZ*ai0)${oFx z5(XKDBsWVrH1om0-!$9f^yz9ml4A-FDc@n@1(OQqSpUAbsrdLvN_i;P*r%mi z0sIheESzCDs1fV0g}Lzqk$G_q{p*0fl2AY?eq#|U`_BQdFXB@9XicEP>n6VpRSXM^ z*zk_^0Iuw9)jW0T6mgR_DLp5L7byhAe;@uwRu>Tv7kj-f&gNViPnO4kj#y)Y`xlA| zo1?=8;{Xt|w32t-C>g8enns$1@!fK0t#K&Aie7%z!iWrrQ&xd!4cXXLb}yBGbIMOq zhvMjbu@R(d0*jDakAY_-iU*)ph(EM@guH~W!cMIR;hz<`g$Ch|%$cU~CI*8zh;aqh z{yu7%#=j3iqs9Pph(&k+Xx1agR&A3K&%9cL^?_HOU9SN>AQ;mDMs!x>TQGGKCe9Iv zZ+F^8Fxy^>PHZzy=L+QhK;$!GItTZC6PrtzhtXmwOJ!S|33!sL0SF3an-yx?tPe|x z o0$u&TgN2aa@&Esm`~Of0oQY2>SH5|Uf`7Es_p3cnIU4wX0DjQ?)&Kwi literal 0 HcmV?d00001 diff --git a/microbench/fresh_setup/backfill_d2048o128.sh b/microbench/fresh_setup/backfill_d2048o128.sh new file mode 100644 index 0000000..086729b --- /dev/null +++ b/microbench/fresh_setup/backfill_d2048o128.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# Backfill the d2048/o128 reuse arms that vLLM startup-flaked out (transient +# "Engine core initialization failed", intermittent). Retry up to 4x each with a +# clean teardown between attempts; HEALTH_MAX_TRIES=180 so a crashed launch fails +# in ~6min (not 10) before retrying. Then re-aggregate the figure JSON. +cd /home/admin/cpfs/wjh/agentic-kv-fresh +export MB5_VENV=$PWD/.venv_dash0 +export HEALTH_MAX_TRIES=180 +VPY=$MB5_VENV/bin/python +DELTA=2048; OL=128; N=8; THINK=0.5; TURNS=8; NSESS=48 +MISS="${MISS:-4096:6P+2D 18432:6P+2D 38912:8C-proxy 38912:6P+2D}" +echo "=== BACKFILL START $(date) miss='$MISS' ===" +for pc in $MISS; do + pfx=${pc%%:*}; cfg=${pc##*:} + tag="reuse_p${pfx}_d${DELTA}_o${OL}"; trace="traces_synth/${tag}.jsonl" + $VPY scripts/gen_synthetic_trace.py --out "$trace" --mode regular --qps "$NSESS" --duration-s 1 \ + --turns "$TURNS" --prefix-len "$pfx" --delta-len "$DELTA" --output-len "$OL" --seed 42 >/dev/null 2>&1 + dur=""; [ "$cfg" != "8C-proxy" ] && dur=500 + ok=0 + for attempt in 1 2 3 4; do + echo "[backfill] $tag $cfg attempt=$attempt $(date +%T)" + MB5_P_ROUTING=session MB5_COLO_ROUTING=session \ + REPLAY_MAX_INFLIGHT=$N REPLAY_INTER_TURN_THINK_S=$THINK REPLAY_NO_REALIZED_PREFIX=1 REPLAY_MAX_DURATION="$dur" \ + CONFIGS="$cfg" REPS=1 TRACE="$trace" RUN_TAG="$tag" \ + bash scripts/mb5_run_gpu.sh >/dev/null 2>&1 + if [ -f "mb5_runs/${tag}_${cfg}_rep1/replay_metrics.summary.json" ]; then + echo " OK $cfg pfx=$pfx attempt=$attempt"; ok=1; break; fi + echo " FAILED attempt=$attempt; cleanup+retry" + MB5_VENV=$PWD/.venv_dash0 bash scripts/mb5_launch.sh stop >/dev/null 2>&1; sleep 5 + done + [ $ok = 0 ] && echo "[backfill] GAVE UP $tag $cfg" +done +dirs=(); for d in mb5_runs/reuse_*_d2048_o128_*_rep1; do [ -f "$d/replay_metrics.summary.json" ] && dirs+=("$d"); done +$VPY scripts/fig_agg.py --json "${dirs[@]}" > analysis/mb5_pd_ablation/fig1_reuse_d2048_o128.json +echo "=== BACKFILL DONE dirs=${#dirs[@]}/24 $(date) ===" diff --git a/microbench/fresh_setup/fig_agg.py b/microbench/fresh_setup/fig_agg.py index f8497f6..c5296e2 100644 --- a/microbench/fresh_setup/fig_agg.py +++ b/microbench/fresh_setup/fig_agg.py @@ -100,11 +100,13 @@ def main(): continue s = json.load(open(sp)) arm, pg, dg, ports = arm_of(run.name) - lat = s.get("latency_stats_s", {}) - ttft = s.get("ttft_stats_s", {}) - tpot = s.get("tpot_stats_s", {}) + # `or {}` because a fully-collapsed arm (0 successes) writes these as null, + # and dict.get(k, {}) returns null (not {}) when the key exists with value null. + lat = s.get("latency_stats_s") or {} + ttft = s.get("ttft_stats_s") or {} + tpot = s.get("tpot_stats_s") or {} wall = s.get("wall_clock_s") or 1.0 - out = s.get("actual_output_tokens_stats", {}) + out = s.get("actual_output_tokens_stats") or {} n = s.get("success_count", 0); req = s.get("request_count", 0) tot_out = out.get("count", 0) * out.get("mean", 0) tps = tot_out / wall diff --git a/microbench/fresh_setup/mb5_run_gpu.sh b/microbench/fresh_setup/mb5_run_gpu.sh new file mode 100755 index 0000000..503b685 --- /dev/null +++ b/microbench/fresh_setup/mb5_run_gpu.sh @@ -0,0 +1,144 @@ +#!/usr/bin/env bash +# Orchestrator for MB5: for each CONFIG × rep, bring up the stack, run a +# trace replay against it, collect KV snapshots and replayer metrics, +# tear down. +# +# Designed to be run on dash1 (or any host with cpfs mounted at +# /home/admin/cpfs/wjh/). +# +# Env vars (with defaults): +# CONFIGS : space-separated MB5 configs (default: "8C 6P+2D 4P+4D 2P+6D") +# REPS : reps per config (default: 3) +# TRACE : trace JSONL path +# (default: /home/admin/cpfs/wjh/agentic-kv/traces/w600_r0.0015_st30.jsonl) +# RUN_TAG : output root tag (default: $(date +%Y%m%d_%H%M%S)) +# REQUEST_LIMIT : optional, cap replay requests (default: none) + +set -eo pipefail + +FRESH_ROOT="/home/admin/cpfs/wjh/agentic-kv-fresh" +# MB5_VENV lets a second host use an isolated venv clone (see mb5_launch.sh). +VENV="${MB5_VENV:-${FRESH_ROOT}/.venv}" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +LAUNCH="${SCRIPT_DIR}/mb5_launch.sh" +REPLAYER_DIR="${FRESH_ROOT}/replayer" + +CONFIGS="${CONFIGS:-8C 6P+2D 4P+4D 2P+6D}" +REPS="${REPS:-3}" +TRACE="${TRACE:-/home/admin/cpfs/wjh/agentic-kv/traces/w600_r0.0015_st30.jsonl}" +RUN_TAG="${RUN_TAG:-$(date +%Y%m%d_%H%M%S)}" +MODEL_NAME="${MODEL_NAME:-/home/admin/cpfs/wjh/models/Qwen/Qwen3-Coder-30B-A3B-Instruct}" +REQUEST_LIMIT_ARG="" +if [ -n "${REQUEST_LIMIT:-}" ]; then + REQUEST_LIMIT_ARG="--request-limit ${REQUEST_LIMIT}" +fi + +OUT_ROOT="${FRESH_ROOT}/mb5_runs/${RUN_TAG}" +mkdir -p "${OUT_ROOT}" +echo "[mb5-run] RUN_TAG=${RUN_TAG}" +echo "[mb5-run] OUT_ROOT=${OUT_ROOT}" +echo "[mb5-run] CONFIGS=${CONFIGS}" +echo "[mb5-run] REPS=${REPS}" +echo "[mb5-run] TRACE=${TRACE}" + +run_one() { + local config="$1" rep="$2" + local label="${RUN_TAG}_${config}_rep${rep}" + local rundir="${FRESH_ROOT}/mb5_runs/${label}" + echo "" + echo "======== ${config} rep${rep} ========" + + # Launch + if ! CONFIG="${config}" RUN_LABEL="${RUN_TAG}_${config}_rep${rep}" \ + bash "${LAUNCH}" start > "${OUT_ROOT}/${config}_rep${rep}_launch.log" 2>&1; then + echo "[mb5-run] LAUNCH FAILED for ${config} rep${rep}; see ${OUT_ROOT}/${config}_rep${rep}_launch.log" + return 1 + fi + + # Extract ENDPOINTS line emitted by mb5_launch.sh + local endpoints + endpoints=$(grep "^ENDPOINTS=" "${OUT_ROOT}/${config}_rep${rep}_launch.log" | tail -1 | cut -d= -f2-) + if [ -z "${endpoints}" ]; then + echo "[mb5-run] ERROR: no ENDPOINTS in launch log" + bash "${LAUNCH}" stop > /dev/null 2>&1 || true + return 1 + fi + echo "[mb5-run] endpoints: ${endpoints}" + + # Replay + source "${VENV}/bin/activate" + local replay_out="${rundir}/replay_metrics.jsonl" + mkdir -p "$(dirname "${replay_out}")" + # per-GPU utilization timeseries over the replay window (2s sampling) + bash "${FRESH_ROOT}/microbench/fresh_setup/gpu_monitor.sh" "${rundir}/gpu_util.csv" 2 >/dev/null 2>&1 & + local GPU_MON=$! + local t0 + t0=$(date +%s.%N) + if ! PYTHONPATH="${FRESH_ROOT}" python -m replayer \ + --endpoint "${endpoints}" \ + --trace "${TRACE}" \ + --output "${replay_out}" \ + --model "${MODEL_NAME}" \ + ${REQUEST_LIMIT_ARG} \ + > "${OUT_ROOT}/${config}_rep${rep}_replay.log" 2>&1; then + local t1 + t1=$(date +%s.%N) + local wall=$(python -c "print(${t1} - ${t0})") + echo "[mb5-run] REPLAY FAILED after ${wall} s; see ${OUT_ROOT}/${config}_rep${rep}_replay.log" + kill "${GPU_MON}" 2>/dev/null || true + bash "${LAUNCH}" stop > /dev/null 2>&1 || true + return 1 + fi + local t1 + t1=$(date +%s.%N) + local wall_clock_s + wall_clock_s=$(python -c "print(${t1} - ${t0})") + echo "[mb5-run] replay done in ${wall_clock_s}s" + echo "${wall_clock_s}" > "${rundir}/wall_clock_s.txt" + kill "${GPU_MON}" 2>/dev/null || true + printf '{"t_start_unix":%s,"t_end_unix":%s}\n' "${t0}" "${t1}" > "${rundir}/run_window.json" + + # Per-instance prefix-cache counters, scraped from each backend BEFORE + # teardown. For PD this is the only honest reuse signal: producer ports + # (the low ones) show cross-turn prefix-cache hits; the consumer's + # per-request cached_tokens is meaningless (it counts transferred KV). + { + for p in 8000 8001 8002 8003 8004 8005 8006 8007; do + m=$(curl -s --noproxy '*' "http://127.0.0.1:${p}/metrics" 2>/dev/null) || continue + q=$(printf '%s' "$m" | awk '/^vllm:prefix_cache_queries_total/{print $2; exit}') + h=$(printf '%s' "$m" | awk '/^vllm:prefix_cache_hits_total/{print $2; exit}') + [ -n "${q}" ] && echo "port=${p} queries=${q} hits=${h}" + done + } > "${rundir}/instance_apc.txt" 2>/dev/null || true + + # Stop launch (cleans up vllm + proxy; reverts patch on last call) + CONFIG="${config}" RUN_LABEL="${RUN_TAG}_${config}_rep${rep}" \ + bash "${LAUNCH}" stop > "${OUT_ROOT}/${config}_rep${rep}_stop.log" 2>&1 || true + + sleep 10 # cooldown so GPUs settle before next config + echo "[mb5-run] DONE ${config} rep${rep}" +} + +# Quick check that the launch script and replayer are reachable +if [ ! -f "${LAUNCH}" ]; then echo "missing ${LAUNCH}"; exit 1; fi +if [ ! -d "${REPLAYER_DIR}" ]; then echo "missing ${REPLAYER_DIR}"; exit 1; fi +if [ ! -f "${TRACE}" ]; then echo "missing trace ${TRACE}"; exit 1; fi + +# Iterate +failures=0 +for config in ${CONFIGS}; do + for ((rep=1; rep<=REPS; rep++)); do + if ! run_one "${config}" "${rep}"; then + failures=$((failures+1)) + fi + done +done + +# Final patch revert (defensive — mb5_launch.sh stop also reverts) +python "${SCRIPT_DIR}/instrument_kv_snapshot.py" --revert --venv "${VENV}" 2>/dev/null || true + +echo "" +echo "======== ALL CONFIGS DONE ========" +echo "failures: ${failures}" +echo "results under: ${FRESH_ROOT}/mb5_runs/${RUN_TAG}_*" +echo "to plot: python plot_kv_pool_timeline.py --run-tag ${RUN_TAG}" diff --git a/microbench/fresh_setup/plot_pd_crossover.py b/microbench/fresh_setup/plot_pd_crossover.py new file mode 100644 index 0000000..1ec489c --- /dev/null +++ b/microbench/fresh_setup/plot_pd_crossover.py @@ -0,0 +1,184 @@ +"""Render the three PD-vs-colo crossover figures from fig_agg JSON dumps. + +Inputs (produced by `fig_agg.py --json`): + analysis/mb5_pd_ablation/fig1_reuse_fixed.json reuse axis (N=8, FIXED real + prefill delta=2048; vary cached prefix -> reuse = pfx/(pfx+delta). + Controlled-variable: real new-prefill work is constant across the sweep, + only the cached fraction (and total context) grows. Supersedes the old + fig1.json, which held input=8192 and sliced prefix out of it so delta + shrank 15x as reuse rose — a confound, not a pure reuse axis.) + analysis/mb5_pd_ablation/fig2.json shape axis (N=8, reuse~70%) + analysis/mb5_pd_ablation/fig3_conc32k.json concurrency (in32768/out128, + reuse~0.984 = 32256 resident + 512 real new-prefill per turn; retuned + 2026-05-31 to the agentic corner so PD pays the full-context per-turn + KV-transfer tax while colo keeps it resident; vary N by step 8 up to the + mean-E2E<=10s SLO ceiling) + +Each figure overlays colo + the three PD ratios and marks the PD-best advantage. +All three share the corrected (uncontaminated, e13391e-gated-off) stack. +""" +from __future__ import annotations + +import json +import re +from pathlib import Path + +import matplotlib +matplotlib.use("Agg") +import matplotlib.pyplot as plt + +ROOT = Path(__file__).resolve().parents[2] +DATA = ROOT / "analysis" / "mb5_pd_ablation" +OUT = ROOT / "figs" / "mb5_pd_ablation" +OUT.mkdir(parents=True, exist_ok=True) + +PD_ARMS = ["2P+6D", "4P+4D", "6P+2D"] +STYLE = { + "colo": dict(color="k", marker="o", lw=2.4, ls="-", label="colo (8×kv_both)"), + "2P+6D": dict(color="#1f77b4", marker="s", lw=1.6, ls="--", label="PD 2P+6D"), + "4P+4D": dict(color="#2ca02c", marker="^", lw=1.6, ls="--", label="PD 4P+4D"), + "6P+2D": dict(color="#ff7f0e", marker="v", lw=1.6, ls="--", label="PD 6P+2D"), +} + + +def load(name): + return json.load(open(DATA / name)) + + +def by_axis(rows, keyfn): + """Group rows -> {axis_val: {arm: row}}.""" + out = {} + for r in rows: + k = keyfn(r["name"]) + if k is None: + continue + out.setdefault(k, {})[r["arm"]] = r + return out + + +def pd_best(armmap, metric="e2e_p90"): + vals = [(a, armmap[a][metric]) for a in PD_ARMS + if a in armmap and armmap[a].get(metric) is not None] + return min(vals, key=lambda t: t[1]) if vals else (None, None) + + +def series(grp, xs, arm, metric): + return [grp[x][arm].get(metric) if arm in grp[x] else None for x in xs] + + +# ---------- Fig 1: reuse axis ---------- +def _reuse_pct(name): + """Reuse % from a `reuse_p{pfx}_d{delta}_{arm}` run name: pfx/(pfx+delta).""" + m = re.search(r"_p(\d+)_d(\d+)", name) + if not m: + return None + pfx, delta = int(m.group(1)), int(m.group(2)) + return round(pfx / (pfx + delta) * 100) + + +def fig_reuse(): + g = by_axis(load("fig1_reuse_fixed.json"), _reuse_pct) + xs = sorted(g) + reuse = xs + fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(11, 4.2)) + for arm in ["colo", *PD_ARMS]: + ax1.plot(reuse, series(g, xs, arm, "e2e_p90"), **STYLE[arm]) + ax1.set_xlabel("intra-session KV reuse (%) [fixed real prefill, delta=2048]") + ax1.set_ylabel("E2E latency p90 (s)") + ax1.set_title("(a) E2E-p90 vs reuse (N=8, delta=2048/out256)") + ax1.legend(fontsize=8); ax1.grid(alpha=.3) + + adv, putil = [], [] + for x in xs: + co = g[x]["colo"]["e2e_p90"]; _, b = pd_best(g[x]) + adv.append(co / b if b else None) + a = pd_best(g[x])[0] + putil.append(g[x][a].get("pu") if a else None) + ax2.plot(reuse, adv, color="purple", marker="D", lw=2, label="PD-best advantage (colo/PD)") + ax2.axhline(1.0, color="grey", ls=":", lw=1) + ax2.set_xlabel("intra-session KV reuse (%)"); ax2.set_ylabel("advantage (>1 = PD wins)") + ax2b = ax2.twinx() + ax2b.plot(reuse, putil, color="brown", marker="x", lw=1.4, ls="-.", label="PD-best prefill-GPU util") + ax2b.set_ylabel("prefill-GPU util (%)", color="brown"); ax2b.tick_params(axis="y", colors="brown") + ax2.set_title("(b) advantage erodes; prefill GPUs go idle") + l1, la1 = ax2.get_legend_handles_labels(); l2, la2 = ax2b.get_legend_handles_labels() + ax2.legend(l1 + l2, la1 + la2, fontsize=8, loc="center right"); ax2.grid(alpha=.3) + fig.suptitle("Fig 1 — Reuse axis (fixed real prefill delta=2048): PD's edge vs rising cache reuse", + fontsize=11, y=1.02) + fig.tight_layout(); p = OUT / "fig1_reuse_axis.png"; fig.savefig(p, dpi=130, bbox_inches="tight") + print("wrote", p) + + +# ---------- Fig 2: shape axis ---------- +def fig_shape(): + g = by_axis(load("fig2.json"), + lambda n: ((int(m.group(1)), int(m.group(2))) + if (m := re.search(r"_in(\d+)_out(\d+)_", n)) else None)) + xs = sorted(g, key=lambda t: t[0]) # ascending input + labels = [f"in{i}\nout{o}" for i, o in xs] + xi = list(range(len(xs))) + fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(11, 4.2)) + for arm in ["colo", *PD_ARMS]: + ax1.plot(xi, series(g, xs, arm, "e2e_p90"), **STYLE[arm]) + ax1.set_xticks(xi); ax1.set_xticklabels(labels, fontsize=7) + ax1.set_xlabel("shape (decode-heavy → prefill-heavy)"); ax1.set_ylabel("E2E latency p90 (s)") + ax1.set_title("(a) E2E-p90 vs shape (N=8, reuse~70%)") + ax1.legend(fontsize=8); ax1.grid(alpha=.3) + + adv, comp = [], [] + for x in xs: + co = g[x]["colo"]["e2e_p90"]; a, b = pd_best(g[x]) + adv.append(co / b if b else None) + # completion of the worst PD arm (exposes catastrophic ratio) + worst = min((g[x][arm]["n"] / g[x][arm]["req"]) for arm in PD_ARMS if arm in g[x]) + comp.append(worst * 100) + ax2.plot(xi, adv, color="purple", marker="D", lw=2, label="PD-best advantage (colo/PD)") + ax2.axhline(1.0, color="grey", ls=":", lw=1) + ax2.set_xticks(xi); ax2.set_xticklabels(labels, fontsize=7) + ax2.set_xlabel("shape"); ax2.set_ylabel("advantage (>1 = PD wins)") + ax2b = ax2.twinx() + ax2b.plot(xi, comp, color="red", marker="x", lw=1.4, ls="-.", label="worst-PD-arm completion %") + ax2b.set_ylabel("worst PD completion (%)", color="red"); ax2b.tick_params(axis="y", colors="red") + ax2b.set_ylim(80, 101) + ax2.set_title("(b) advantage peaks mid-sweep; wrong ratio catastrophic at prefill extreme") + l1, la1 = ax2.get_legend_handles_labels(); l2, la2 = ax2b.get_legend_handles_labels() + ax2.legend(l1 + l2, la1 + la2, fontsize=8, loc="lower left"); ax2.grid(alpha=.3) + fig.suptitle("Fig 2 — Shape axis: PD wins decode-heavy, ties prefill-heavy; optimal ratio rotates", + fontsize=11, y=1.02) + fig.tight_layout(); p = OUT / "fig2_shape_axis.png"; fig.savefig(p, dpi=130, bbox_inches="tight") + print("wrote", p) + + +# ---------- Fig 3: concurrency axis ---------- +def fig_conc(): + g = by_axis(load("fig3_conc32k.json"), + lambda n: (int(m.group(1)) if (m := re.search(r"_N(\d+)_", n)) else None)) + xs = sorted(g) + fig, axes = plt.subplots(1, 3, figsize=(15, 4.2)) + ax1, ax2, ax3 = axes + for arm in ["colo", *PD_ARMS]: + ax1.plot(xs, series(g, xs, arm, "e2e_mean"), **STYLE[arm]) + ax1.axhline(10.0, color="red", ls=":", lw=1, label="SLO (mean E2E 10s)") + ax1.set_yscale("log"); ax1.set_xticks(xs); ax1.set_xticklabels(xs, fontsize=7) + ax1.set_xlabel("concurrent sessions N"); ax1.set_ylabel("E2E latency mean (s, log)") + ax1.set_title("(a) mean-E2E vs concurrency"); ax1.legend(fontsize=8); ax1.grid(alpha=.3, which="both") + + for arm in ["colo", *PD_ARMS]: + ax2.plot(xs, series(g, xs, arm, "tps"), **STYLE[arm]) + ax2.set_xticks(xs); ax2.set_xticklabels(xs, fontsize=7) + ax2.set_xlabel("concurrent sessions N"); ax2.set_ylabel("throughput (tok/s)") + ax2.set_title("(b) TPS: colo scales, PD plateaus/drops"); ax2.legend(fontsize=8); ax2.grid(alpha=.3) + + for arm in ["colo", *PD_ARMS]: + ax3.plot(xs, [v * 100 if v is not None else None for v in series(g, xs, arm, "apc")], **STYLE[arm]) + ax3.set_xticks(xs); ax3.set_xticklabels(xs, fontsize=7) + ax3.set_xlabel("concurrent sessions N"); ax3.set_ylabel("producer prefix-cache hit-rate (%)") + ax3.set_title("(c) APC vs concurrency"); ax3.legend(fontsize=8); ax3.grid(alpha=.3) + fig.suptitle("Fig 3 — Concurrency axis (in32768/out128, reuse~0.984): sweep N by 8 to the 10s-SLO ceiling", + fontsize=11, y=1.02) + fig.tight_layout(); p = OUT / "fig3_concurrency_axis.png"; fig.savefig(p, dpi=130, bbox_inches="tight") + print("wrote", p) + + +if __name__ == "__main__": + fig_reuse(); fig_shape(); fig_conc() diff --git a/microbench/fresh_setup/run_campaign.sh b/microbench/fresh_setup/run_campaign.sh new file mode 100644 index 0000000..9da633a --- /dev/null +++ b/microbench/fresh_setup/run_campaign.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# Unattended serial PD-ablation campaign: reuse sweep -> conc sweep. +# STRICTLY one driver at a time (the hard lesson): each inner driver brings up and +# tears down its own vLLM per config via scripts/mb5_run_gpu.sh, and the two sweeps +# run sequentially (reuse fully finishes + tears down before conc starts). We verify +# GPUs are clear between sweeps. NO set -e here: a sub-sweep nonzero must NOT skip the +# other sweep; rc is captured and reported. Detached launch writes a DONE marker. +cd /home/admin/cpfs/wjh/agentic-kv-fresh +export MB5_VENV="${MB5_VENV:-/home/admin/cpfs/wjh/agentic-kv-fresh/.venv_dash0}" +FS=microbench/fresh_setup + +echo "=== CAMPAIGN START $(date) ===" + +echo "=== [1/2] REUSE SWEEP (fixed real prefill delta=2048, out=256, reuse 20-95%, N=8) $(date) ===" +bash "$FS/run_reuse_fixed.sh"; rc_reuse=$? +echo "=== reuse sweep rc=$rc_reuse $(date) ===" + +sleep 15 +echo "--- GPU mem after reuse sweep (expect ~0 before conc) ---" +nvidia-smi --query-gpu=index,memory.used --format=csv,noheader | head -8 + +echo "=== [2/2] CONC SWEEP (in=32768 reuse=0.984, balanced N grid 8 16 32 48 64 96 128) $(date) ===" +NLIST="8 16 32 48 64 96 128" bash "$FS/run_conc.sh"; rc_conc=$? +echo "=== conc sweep rc=$rc_conc $(date) ===" + +echo "=== CAMPAIGN DONE reuse_rc=$rc_reuse conc_rc=$rc_conc $(date) ===" diff --git a/microbench/fresh_setup/run_campaign2.sh b/microbench/fresh_setup/run_campaign2.sh new file mode 100644 index 0000000..bc893cc --- /dev/null +++ b/microbench/fresh_setup/run_campaign2.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# Campaign 2 (2026-05-31): two extra reuse sweeps at out=128 (user request: +# delta=1024/out=128 and delta=2048/out=128), then the capped conc restart. +# STRICTLY one driver at a time; reuse sweeps run uncapped (mild collapse, matches +# the existing d2048/o256 sweep), conc runs with the PD-arm wall-cap. NO set -e. +cd /home/admin/cpfs/wjh/agentic-kv-fresh +export MB5_VENV="${MB5_VENV:-/home/admin/cpfs/wjh/agentic-kv-fresh/.venv_dash0}" +FS=microbench/fresh_setup + +echo "=== CAMPAIGN2 START $(date) ===" + +echo "=== [1/3] REUSE delta=1024 out=128 (reuse 0.33-0.97) $(date) ===" +DELTA=1024 OL=128 bash "$FS/run_reuse_fixed.sh"; rc1=$? +echo "=== reuse d1024 o128 rc=$rc1 $(date) ===" +sleep 12; nvidia-smi --query-gpu=index,memory.used --format=csv,noheader | head -8 + +echo "=== [2/3] REUSE delta=2048 out=128 (reuse 0.20-0.95) $(date) ===" +DELTA=2048 OL=128 bash "$FS/run_reuse_fixed.sh"; rc2=$? +echo "=== reuse d2048 o128 rc=$rc2 $(date) ===" +sleep 12; nvidia-smi --query-gpu=index,memory.used --format=csv,noheader | head -8 + +echo "=== [3/3] CONC capped (PD wall=${CONC_PD_MAXDUR:-600}s, colo uncapped), N 8..128 $(date) ===" +NLIST="8 16 32 48 64 96 128" bash "$FS/run_conc.sh"; rc3=$? +echo "=== conc rc=$rc3 $(date) ===" + +echo "=== CAMPAIGN2 DONE reuse_d1024_o128=$rc1 reuse_d2048_o128=$rc2 conc=$rc3 $(date) ===" diff --git a/microbench/fresh_setup/run_campaign3.sh b/microbench/fresh_setup/run_campaign3.sh new file mode 100644 index 0000000..9f09f1a --- /dev/null +++ b/microbench/fresh_setup/run_campaign3.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Campaign 3 (2026-05-31): the uncapped d2048/o128 reuse sweep stalled on a +# collapse-draining high-reuse PD arm (4P+4D @ reuse 0.90, ~1 req/several-min). +# Finish it by re-running ONLY the high-reuse points (0.90, 0.95) WITH the PD +# wall-cap (low-reuse arms already completed and are cap-insensitive). Then run +# the capped conc sweep. STRICTLY serial. NO set -e. +cd /home/admin/cpfs/wjh/agentic-kv-fresh +export MB5_VENV="${MB5_VENV:-/home/admin/cpfs/wjh/agentic-kv-fresh/.venv_dash0}" +FS=microbench/fresh_setup +echo "=== CAMPAIGN3 START $(date) ===" + +echo "=== [1/2] finish reuse d2048/o128: re-run pts pfx=18432,38912 (PD capped 500s) $(date) ===" +DELTA=2048 OL=128 PFXS="18432 38912" REUSE_PD_MAXDUR=500 bash "$FS/run_reuse_fixed.sh"; rc1=$? +echo "=== reuse d2048 o128 finish rc=$rc1 $(date) ===" +sleep 12; nvidia-smi --query-gpu=index,memory.used --format=csv,noheader | head -8 + +echo "=== [2/2] CONC capped (PD wall=600s, colo uncapped), N 8..128 $(date) ===" +NLIST="8 16 32 48 64 96 128" CONC_PD_MAXDUR=600 bash "$FS/run_conc.sh"; rc2=$? +echo "=== conc rc=$rc2 $(date) ===" +echo "=== CAMPAIGN3 DONE reuse_finish=$rc1 conc=$rc2 $(date) ===" diff --git a/microbench/fresh_setup/run_conc.sh b/microbench/fresh_setup/run_conc.sh new file mode 100644 index 0000000..e4d466f --- /dev/null +++ b/microbench/fresh_setup/run_conc.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +# Concurrency axis, agentic-corner config. Supersedes old fig3 (in~8192/out256). +# RETUNED 2026-05-31 for realism (C2): hold total context in=32768 but shrink the +# real per-turn new-prefill to delta=512 and push reuse to 0.984 (real agentic +# reuse ->99.6%). prefix 32256 + delta 512. out=128. This is the corner that +# exposes PD's structural tax: colo keeps the 32k resident KV local, but PD must +# KV-transfer the whole 32k context every turn even though only 512 tokens are new +# (C2 PD-tax ~250-450x). Sweep closed-loop N by step 8 up to mean-E2E<=SLO ceiling. +# Wiring per memory project-mb5-pd-ablation-wiring: .venv_dash0, traces_synth/, +# CONFIG 8C-proxy + PD, MB5_P_ROUTING=session + MB5_COLO_ROUTING=session, +# N=REPLAY_MAX_INFLIGHT closed loop + REPLAY_INTER_TURN_THINK_S, +# REPLAY_NO_REALIZED_PREFIX=1. RUN ONLY ONE DRIVER AT A TIME (shared GPUs/ports). +set -eo pipefail +cd /home/admin/cpfs/wjh/agentic-kv-fresh +export MB5_VENV="${MB5_VENV:-/home/admin/cpfs/wjh/agentic-kv-fresh/.venv_dash0}" +VPY="$MB5_VENV/bin/python" + +PFX="${PFX:-32256}"; DELTA="${DELTA:-512}"; OL="${OL:-128}" # reuse=0.984, in=32768 +THINK="${THINK:-0.5}"; TURNS="${TURNS:-8}" +NSTART="${NSTART:-8}"; NSTEP="${NSTEP:-8}"; NMAX="${NMAX:-128}" +NLIST="${NLIST:-}" # explicit N grid (overrides NSTART/STEP/MAX), e.g. "8 16 32 48 64 96 128" +CONC_PD_MAXDUR="${CONC_PD_MAXDUR:-600}" # wall-deadline (s) for PD arms only; bounds collapsed-arm + # drain (un-run turns = failures). colo (8C-proxy) runs UNCAPPED + # so the headline reference is always fully measured. +SLO="${SLO:-10.0}" +SESS_PER_N="${SESS_PER_N:-4}" +CFGS="${CFGS:-8C-proxy 2P+6D 4P+4D 6P+2D}" +ONLY_N="${ONLY_N:-}" + +run_N() { + local N="$1"; local sess=$(( SESS_PER_N * N )) + local tag="conc32k_N${N}"; local trace="traces_synth/${tag}.jsonl" + "$VPY" scripts/gen_synthetic_trace.py --out "$trace" --mode regular \ + --qps "$sess" --duration-s 1 --turns "$TURNS" \ + --prefix-len "$PFX" --delta-len "$DELTA" --output-len "$OL" --seed 42 >/dev/null + echo "[conc32k] N=$N sess=$sess in=$((PFX+DELTA)) out=$OL -> $trace" + for cfg in $CFGS; do + echo " -> $cfg" + local dur=""; [ "$cfg" != "8C-proxy" ] && dur="$CONC_PD_MAXDUR" # colo uncapped + MB5_P_ROUTING=session MB5_COLO_ROUTING=session \ + REPLAY_MAX_INFLIGHT="$N" REPLAY_INTER_TURN_THINK_S="$THINK" REPLAY_NO_REALIZED_PREFIX=1 \ + REPLAY_MAX_DURATION="$dur" \ + CONFIGS="$cfg" REPS=1 TRACE="$trace" RUN_TAG="$tag" \ + bash scripts/mb5_run_gpu.sh >/dev/null 2>&1 || echo " [warn] ${tag}_${cfg} failed" >&2 + done + local d="mb5_runs/${tag}_8C-proxy_rep1" + if [ -f "$d/replay_metrics.summary.json" ]; then + "$VPY" scripts/fig_agg.py --json "$d" 2>/dev/null \ + | "$VPY" -c "import sys,json;r=json.load(sys.stdin);print(r[0].get('e2e_mean') if r else 'nan')" + else echo nan; fi +} + +if [ -n "$ONLY_N" ]; then + echo "[conc32k] SMOKE N=$ONLY_N cfgs='$CFGS'" + t0=$(date +%s); m=$(run_N "$ONLY_N"); t1=$(date +%s) + echo "[conc32k] SMOKE N=$ONLY_N colo mean-E2E=${m}s wall=$(( t1 - t0 ))s; compare:" + "$VPY" scripts/fig_agg.py mb5_runs/conc32k_N${ONLY_N}_*_rep1 2>&1 + exit 0 +fi + +if [ -n "$NLIST" ]; then NSEQ="$NLIST"; else NSEQ=$(seq "$NSTART" "$NSTEP" "$NMAX"); fi +for N in $NSEQ; do + echo "[conc32k] === N=$N ===" + m=$(run_N "$N"); echo "[conc32k] N=$N colo mean-E2E=${m}s" + over=$("$VPY" -c "print(1 if float('${m}')>${SLO} else 0)" 2>/dev/null || echo 0) + [ "$over" = "1" ] && { echo "[conc32k] colo crossed SLO ${SLO}s at N=$N -> stop"; break; } +done +dirs=(); for d in mb5_runs/conc32k_N*_rep1; do [ -d "$d" ] && dirs+=("$d"); done +"$VPY" scripts/fig_agg.py --json "${dirs[@]}" > analysis/mb5_pd_ablation/fig3_conc32k.json +echo "[conc32k] done -> analysis/mb5_pd_ablation/fig3_conc32k.json (${#dirs[@]} dirs)" diff --git a/microbench/fresh_setup/run_reuse_fixed.sh b/microbench/fresh_setup/run_reuse_fixed.sh new file mode 100644 index 0000000..9b9f9ae --- /dev/null +++ b/microbench/fresh_setup/run_reuse_fixed.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +# Reuse axis, DONE RIGHT (controlled variable). Supersedes old fig1. +# Hold REAL (uncached) prefill work constant: --delta-len = U fixed. +# Vary only --prefix-len = C -> reuse = C/(C+U). Context grows with reuse but +# the tokens that must actually be prefilled each turn stays = U. +# Old fig1 held input=8192 and sliced prefix out of it, so delta shrank 15x as +# reuse rose -> confounded "more reuse" with "less prefill". This fixes that. +# +# Wiring matches the corrected MB5 stack (see memory project-mb5-pd-ablation-wiring): +# .venv_dash0, traces_synth/, CONFIG 8C-proxy + PD, MB5_P_ROUTING=session, +# N injected via REPLAY_MAX_INFLIGHT (closed loop) + REPLAY_INTER_TURN_THINK_S, +# REPLAY_NO_REALIZED_PREFIX=1 (reuse governed by hash_ids, required for this sweep). +set -eo pipefail +cd /home/admin/cpfs/wjh/agentic-kv-fresh +export MB5_VENV="${MB5_VENV:-/home/admin/cpfs/wjh/agentic-kv-fresh/.venv_dash0}" +VPY="$MB5_VENV/bin/python" + +DELTA="${DELTA:-2048}" # fixed real prefill per turn (USER-CHOSEN) +OL="${OL:-256}" +N="${N:-8}" +THINK="${THINK:-0.5}" +TURNS="${TURNS:-8}" +NSESS="${NSESS:-48}" # number of sessions (closed-loop: arrival rate is + # irrelevant, only the count matters; ~6 waves at N=8) +PFXS="${PFXS:-512 2048 4096 8192 18432 38912}" # reuse .20 .50 .67 .80 .90 .95 +CFGS="${CFGS:-8C-proxy 2P+6D 4P+4D 6P+2D}" +REUSE_PD_MAXDUR="${REUSE_PD_MAXDUR:-500}" # wall-deadline (s) for PD arms only (colo uncapped): + # bounds the collapse-drain that stalls high-reuse PD arms + # (un-run turns = failures, honest completion%). 0/empty = off. +ONLY_PFX="${ONLY_PFX:-}" # smoke a single prefix then exit + +run_point() { # + local pfx="$1" + local reuse; reuse=$(python3 -c "print(f'{$pfx/($pfx+$DELTA):.3f}')") + local tag="reuse_p${pfx}_d${DELTA}_o${OL}" # _o${OL} so different output lens don't collide + local trace="traces_synth/${tag}.jsonl" + # Closed-loop: pass NSESS as qps with duration 1 so n_sessions = NSESS + # exactly (gen_regular: n_sessions = int(duration_s * session_qps)). + "$VPY" scripts/gen_synthetic_trace.py --out "$trace" --mode regular \ + --qps "$NSESS" --duration-s 1 --turns "$TURNS" \ + --prefix-len "$pfx" --delta-len "$DELTA" --output-len "$OL" --seed 42 >/dev/null + echo "[reuse] pfx=$pfx delta=$DELTA reuse=$reuse in=$((pfx+DELTA)) -> $trace" + for cfg in $CFGS; do + echo " -> $cfg" + # Both routings set to session so BOTH colo (kv_both) and PD producers + # pin a session's turns to one instance and reuse its prefix cache — the + # fair cache-aware comparison. P_ROUTING is ignored by colo, COLO_ROUTING + # by PD, so setting both is harmless and symmetric. + local dur=""; [ "$cfg" != "8C-proxy" ] && dur="$REUSE_PD_MAXDUR" # colo uncapped + MB5_P_ROUTING=session MB5_COLO_ROUTING=session \ + REPLAY_MAX_INFLIGHT="$N" REPLAY_INTER_TURN_THINK_S="$THINK" \ + REPLAY_NO_REALIZED_PREFIX=1 REPLAY_MAX_DURATION="$dur" \ + CONFIGS="$cfg" REPS=1 TRACE="$trace" RUN_TAG="$tag" \ + bash scripts/mb5_run_gpu.sh >/dev/null 2>&1 || echo " [warn] $cfg failed" >&2 + done +} + +if [ -n "$ONLY_PFX" ]; then + echo "[reuse] SMOKE pfx=$ONLY_PFX cfgs='$CFGS'" + t0=$(date +%s); run_point "$ONLY_PFX"; t1=$(date +%s) + echo "[reuse] SMOKE done wall=$(( t1 - t0 ))s; compare:" + "$VPY" scripts/fig_agg.py mb5_runs/reuse_p${ONLY_PFX}_d${DELTA}_o${OL}_*_rep1 + exit 0 +fi + +for pfx in $PFXS; do run_point "$pfx"; done +# Aggregate ONLY this sweep's dirs (matched by delta+output) so the three +# reuse figures (d2048/o256, d1024/o128, d2048/o128) never cross-contaminate. +dirs=(); for d in mb5_runs/reuse_*_d${DELTA}_o${OL}_*_rep1; do [ -d "$d" ] && dirs+=("$d"); done +OUTJSON="analysis/mb5_pd_ablation/fig1_reuse_d${DELTA}_o${OL}.json" +"$VPY" scripts/fig_agg.py --json "${dirs[@]}" > "$OUTJSON" +echo "[reuse] done -> $OUTJSON (${#dirs[@]} dirs)"