From cb2adbb055f674cf9460c2b80568c2e701a61b3d Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:14:20 +0100 Subject: [PATCH 01/15] ci: apply and validate Freeze Export discharge-rate patch --- .../workflows/freeze-discharge-rate-sync.yml | 240 ++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 .github/workflows/freeze-discharge-rate-sync.yml diff --git a/.github/workflows/freeze-discharge-rate-sync.yml b/.github/workflows/freeze-discharge-rate-sync.yml new file mode 100644 index 000000000..e51a38afb --- /dev/null +++ b/.github/workflows/freeze-discharge-rate-sync.yml @@ -0,0 +1,240 @@ +name: freeze-discharge-rate-sync +on: + push: + branches: + - sync-v8.49.2-freeze-discharge-rate +permissions: + contents: write +jobs: + patch-build-test: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: sync-v8.49.2-freeze-discharge-rate + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - uses: mlugg/setup-zig@v2 + with: + version: 0.16.0 + - name: Apply Freeze Export discharge-rate model + run: | + python3 - <<'PY' + from pathlib import Path + + def replace(path, old, new, count=1): + p = Path(path) + text = p.read_text() + actual = text.count(old) + if actual != count: + raise SystemExit(f"{path}: expected {count} occurrences, found {actual}: {old[:80]!r}") + p.write_text(text.replace(old, new)) + + # Runtime configuration and diagnostic. + replace( + "apps/predbat/predbat.py", + " self.inverter_loss = 1.0\n self.inverter_hybrid = True\n", + " self.inverter_loss = 1.0\n" + " # Internal battery discharge rate (W) observed while Freeze Export is active.\n" + " # Prediction-only: this does not alter inverter control or house/grid energy.\n" + " self.inverter_freeze_export_discharge_rate = max(float(self.args.get(\"inverter_freeze_export_discharge_rate\", 0)), 0.0)\n" + " self.log(\"Freeze Export discharge rate configured: {:.0f} W\".format(self.inverter_freeze_export_discharge_rate))\n" + " self.inverter_hybrid = True\n", + ) + + # Python prediction engine: carry the config into Prediction, apply it only while + # a genuine Freeze Export window is active, respect reserve, and count the energy + # as battery cycling without fabricating load/export energy. + replace( + "apps/predbat/prediction.py", + " self.inverter_loss = base.inverter_loss\n self.inverter_hybrid = base.inverter_hybrid\n", + " self.inverter_loss = base.inverter_loss\n" + " self.inverter_freeze_export_discharge_rate = base.inverter_freeze_export_discharge_rate\n" + " self.inverter_hybrid = base.inverter_hybrid\n", + ) + replace( + "apps/predbat/prediction.py", + " battery_rate_max_export = self.battery_rate_max_export\n battery_rate_min = self.battery_rate_min\n carbon_intensity = self.carbon_intensity\n", + " battery_rate_max_export = self.battery_rate_max_export\n" + " battery_rate_min = self.battery_rate_min\n" + " inverter_freeze_export_discharge_rate = self.inverter_freeze_export_discharge_rate\n" + " carbon_intensity = self.carbon_intensity\n", + ) + replace( + "apps/predbat/prediction.py", + " export_limit_now = export_limits[export_window_n] if export_window_active else 100.0\n\n # Find charge limit\n", + " export_limit_now = export_limits[export_window_n] if export_window_active else 100.0\n" + " freeze_export_active = set_export_freeze and export_window_active and export_limit_now < 100.0 and (export_limit_now == 99.0 or set_export_freeze_only)\n\n" + " # Find charge limit\n", + ) + replace( + "apps/predbat/prediction.py", + " else:\n soc = min(soc - battery_draw * battery_loss, soc_max)\n\n # Iboost finally count\n", + " else:\n" + " soc = min(soc - battery_draw * battery_loss, soc_max)\n\n" + " # Some inverters continue to discharge the battery internally while Freeze Export\n" + " # blocks normal external battery flow. Model that measured battery-side discharge\n" + " # directly in SoC without creating fictitious house load or grid energy.\n" + " freeze_export_discharge_step = 0.0\n" + " if freeze_export_active and inverter_freeze_export_discharge_rate > 0:\n" + " freeze_export_discharge_step = min(inverter_freeze_export_discharge_rate * step / 60000.0, max(soc - reserve_expected, 0))\n" + " soc -= freeze_export_discharge_step\n\n" + " # Iboost finally count\n", + ) + replace( + "apps/predbat/prediction.py", + " # Count battery cycles\n battery_cycle = battery_cycle + abs(battery_draw)\n", + " # Count battery cycles, including internal Freeze Export battery discharge\n" + " battery_cycle = battery_cycle + abs(battery_draw) + freeze_export_discharge_step\n", + ) + + # Native prediction kernel ABI + matching model. + replace( + "apps/predbat/prediction_kernel.cpp", + "#define PK_ABI_VERSION 4\n#define PK_PARITY_REVISION 7\n", + "#define PK_ABI_VERSION 5\n#define PK_PARITY_REVISION 8\n", + ) + replace( + "apps/predbat/prediction_kernel.cpp", + " double inverter_loss;\n double inverter_limit;", + " double inverter_loss;\n double inverter_freeze_export_discharge_rate; // W, internal battery discharge while Freeze Export is active\n double inverter_limit;", + ) + replace( + "apps/predbat/prediction_kernel.cpp", + " const double battery_rate_max_export = c->battery_rate_max_export;\n const double battery_rate_min = c->battery_rate_min;\n", + " const double battery_rate_max_export = c->battery_rate_max_export;\n" + " const double battery_rate_min = c->battery_rate_min;\n" + " const double inverter_freeze_export_discharge_rate = c->inverter_freeze_export_discharge_rate;\n", + ) + replace( + "apps/predbat/prediction_kernel.cpp", + " const double export_limit_now = export_window_active ? s->export_limits[export_window_n] : 100.0;\n\n // Find charge limit", + " const double export_limit_now = export_window_active ? s->export_limits[export_window_n] : 100.0;\n" + " const bool freeze_export_active = c->set_export_freeze && export_window_active && export_limit_now < 100.0 && (export_limit_now == 99.0 || c->set_export_freeze_only);\n\n" + " // Find charge limit", + ) + replace( + "apps/predbat/prediction_kernel.cpp", + " } else {\n soc = std::min(soc - battery_draw * battery_loss, soc_max);\n }\n\n // iBoost final count", + " } else {\n" + " soc = std::min(soc - battery_draw * battery_loss, soc_max);\n" + " }\n\n" + " // Internal, directional battery discharge while Freeze Export is active.\n" + " // This mirrors prediction.py and deliberately does not alter battery_draw/grid energy.\n" + " double freeze_export_discharge_step = 0.0;\n" + " if (freeze_export_active && inverter_freeze_export_discharge_rate > 0) {\n" + " freeze_export_discharge_step = std::min(inverter_freeze_export_discharge_rate * step / 60000.0, std::max(soc - reserve_expected, 0.0));\n" + " soc -= freeze_export_discharge_step;\n" + " }\n\n" + " // iBoost final count", + ) + replace( + "apps/predbat/prediction_kernel.cpp", + " battery_cycle = battery_cycle + std::fabs(battery_draw);\n", + " battery_cycle = battery_cycle + std::fabs(battery_draw) + freeze_export_discharge_step;\n", + ) + + replace( + "apps/predbat/prediction_kernel.py", + "KERNEL_ABI_VERSION = 4\nKERNEL_PARITY_REVISION = 7\n", + "KERNEL_ABI_VERSION = 5\nKERNEL_PARITY_REVISION = 8\n", + ) + replace( + "apps/predbat/prediction_kernel.py", + " (\"inverter_loss\", ctypes.c_double),\n (\"inverter_limit\", ctypes.c_double),\n", + " (\"inverter_loss\", ctypes.c_double),\n" + " (\"inverter_freeze_export_discharge_rate\", ctypes.c_double),\n" + " (\"inverter_limit\", ctypes.c_double),\n", + ) + replace( + "apps/predbat/prediction_kernel.py", + " ctx.inverter_loss = pred.inverter_loss\n ctx.inverter_limit = pred.inverter_limit\n", + " ctx.inverter_loss = pred.inverter_loss\n" + " ctx.inverter_freeze_export_discharge_rate = pred.inverter_freeze_export_discharge_rate\n" + " ctx.inverter_limit = pred.inverter_limit\n", + ) + + # Focused model regression coverage (Python + native kernel via the existing model suite). + replace( + "apps/predbat/tests/test_infra.py", + " inverter_loss=1.0,\n battery_rate_max_charge=1.0,\n", + " inverter_loss=1.0,\n inverter_freeze_export_discharge_rate=0.0,\n battery_rate_max_charge=1.0,\n", + ) + replace( + "apps/predbat/tests/test_infra.py", + " assert_keep=0.0,\n save=\"best\",\n", + " assert_keep=0.0,\n assert_battery_cycle=None,\n save=\"best\",\n", + ) + replace( + "apps/predbat/tests/test_infra.py", + " my_predbat.inverter_loss = inverter_loss\n my_predbat.battery_rate_max_charge = battery_rate_max_charge / 60.0\n", + " my_predbat.inverter_loss = inverter_loss\n" + " my_predbat.inverter_freeze_export_discharge_rate = inverter_freeze_export_discharge_rate\n" + " my_predbat.battery_rate_max_charge = battery_rate_max_charge / 60.0\n", + ) + replace( + "apps/predbat/tests/test_infra.py", + " if abs(final_soc - assert_final_soc) >= 0.1:\n if not ignore_failed:\n print(\"ERROR: Final SOC {} should be {}\".format(final_soc, assert_final_soc))\n failed = True\n if abs(final_iboost - assert_final_iboost) >= 0.1:\n", + " if abs(final_soc - assert_final_soc) >= 0.1:\n" + " if not ignore_failed:\n" + " print(\"ERROR: Final SOC {} should be {}\".format(final_soc, assert_final_soc))\n" + " failed = True\n" + " if assert_battery_cycle is not None and abs(battery_cycle - assert_battery_cycle) >= 0.001:\n" + " if not ignore_failed:\n" + " print(\"ERROR: Battery cycle {} should be {}\".format(battery_cycle, assert_battery_cycle))\n" + " failed = True\n" + " if abs(final_iboost - assert_final_iboost) >= 0.1:\n", + ) + + model_tests = ''' # Freeze Export internal battery discharge regression coverage. 240 W for one hour\n # is 0.24 kWh. It applies only in Freeze Export, respects reserve, and counts as cycling.\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_default_zero\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0,\n discharge=99, end_record=60, inverter_freeze_export_discharge_rate=0.0, assert_battery_cycle=0.0,\n )\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_240w_one_hour\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=9.76, battery_size=10.0, battery_soc=10.0,\n discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.24,\n )\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_not_outside_freeze\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0,\n discharge=100, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.0,\n )\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_reserve_floor\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=4.0, battery_size=10.0, battery_soc=4.1, reserve=4.0,\n discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.1,\n )\n if failed:\n return failed\n\n''' + replace( + "apps/predbat/tests/test_model.py", + " failed = False\n failed |= simple_scenario(\"zero\", my_predbat, 0, 0, 0, 0, with_battery=False)\n", + " failed = False\n" + model_tests + " failed |= simple_scenario(\"zero\", my_predbat, 0, 0, 0, 0, with_battery=False)\n", + ) + + replace( + "apps/predbat/tests/test_kernel_parity.py", + " \"inverter_loss\",\n \"inverter_limit\",\n", + " \"inverter_loss\",\n \"inverter_freeze_export_discharge_rate\",\n \"inverter_limit\",\n", + ) + replace( + "apps/predbat/tests/test_kernel_parity.py", + " my_predbat.set_export_freeze = rng.choice([True, False])\n my_predbat.set_export_freeze_only = rng.choice([True, False, False, False])\n", + " my_predbat.set_export_freeze = rng.choice([True, False])\n" + " my_predbat.set_export_freeze_only = rng.choice([True, False, False, False])\n" + " # Exercise a non-zero value without consuming another RNG draw, preserving seeded scenarios.\n" + " my_predbat.inverter_freeze_export_discharge_rate = 240.0 if my_predbat.set_export_freeze else 0.0\n", + ) + PY + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Cross-build all prediction kernels + run: bash apps/predbat/build_kernel_cross.sh + - name: Run focused model and kernel parity tests + env: + PREDBAT_KERNEL_REQUIRED: "1" + run: | + cd coverage + python3 ../apps/predbat/unit_test.py --test model --test kernel_parity + - name: Run quick test suite + env: + PREDBAT_KERNEL_REQUIRED: "1" + run: | + cd coverage + python3 ../apps/predbat/unit_test.py --quick + - name: Verify checked-in x86_64 kernel + run: | + cd coverage + python3 ../apps/predbat/verify_kernel_binary.py ../apps/predbat/prediction_kernel_lib_x86_64.so + - name: Commit validated patch and rebuilt kernels + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add apps/predbat/predbat.py apps/predbat/prediction.py apps/predbat/prediction_kernel.cpp apps/predbat/prediction_kernel.py apps/predbat/prediction_kernel_lib_*.so apps/predbat/tests/test_infra.py apps/predbat/tests/test_model.py apps/predbat/tests/test_kernel_parity.py + git commit -m "feat: model Freeze Export battery discharge rate" + git push origin HEAD:sync-v8.49.2-freeze-discharge-rate From ab56c8c2ed91a573f0a2061358f402182136ba18 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:15:33 +0100 Subject: [PATCH 02/15] ci: enable PR validation for Freeze Export discharge-rate sync --- .../workflows/freeze-discharge-rate-pr.yml | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/freeze-discharge-rate-pr.yml diff --git a/.github/workflows/freeze-discharge-rate-pr.yml b/.github/workflows/freeze-discharge-rate-pr.yml new file mode 100644 index 000000000..c6cf9797b --- /dev/null +++ b/.github/workflows/freeze-discharge-rate-pr.yml @@ -0,0 +1,60 @@ +name: freeze-discharge-rate-pr +on: + pull_request: + branches: [main] +permissions: + contents: write +jobs: + patch-build-test: + if: github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - uses: mlugg/setup-zig@v2 + with: + version: 0.16.0 + - name: Extract and apply patch script + run: | + python3 - <<'PY' + from pathlib import Path + src = Path('.github/workflows/freeze-discharge-rate-sync.yml').read_text().splitlines() + start = next(i for i, line in enumerate(src) if "python3 - <<'PY'" in line) + 1 + end = next(i for i in range(start, len(src)) if src[i].strip() == 'PY') + script = '\n'.join(line[10:] if line.startswith(' ') else line for line in src[start:end]) + '\n' + Path('/tmp/apply_freeze_discharge_rate.py').write_text(script) + PY + python3 /tmp/apply_freeze_discharge_rate.py + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Cross-build all prediction kernels + run: bash apps/predbat/build_kernel_cross.sh + - name: Run focused model and kernel parity tests + env: + PREDBAT_KERNEL_REQUIRED: "1" + run: | + cd coverage + python3 ../apps/predbat/unit_test.py --test model --test kernel_parity + - name: Run quick test suite + env: + PREDBAT_KERNEL_REQUIRED: "1" + run: | + cd coverage + python3 ../apps/predbat/unit_test.py --quick + - name: Verify checked-in x86_64 kernel + run: | + cd coverage + python3 ../apps/predbat/verify_kernel_binary.py ../apps/predbat/prediction_kernel_lib_x86_64.so + - name: Commit validated patch and rebuilt kernels + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add apps/predbat/predbat.py apps/predbat/prediction.py apps/predbat/prediction_kernel.cpp apps/predbat/prediction_kernel.py apps/predbat/prediction_kernel_lib_*.so apps/predbat/tests/test_infra.py apps/predbat/tests/test_model.py apps/predbat/tests/test_kernel_parity.py + git commit -m "feat: model Freeze Export battery discharge rate" + git push origin HEAD:${{ github.head_ref }} From c464f78e650c4cc1924e544970becc4c14848e17 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:15:39 +0100 Subject: [PATCH 03/15] docs: mark temporary Freeze Export sync validation --- .github/FREEZE_SYNC_NOTE.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FREEZE_SYNC_NOTE.md diff --git a/.github/FREEZE_SYNC_NOTE.md b/.github/FREEZE_SYNC_NOTE.md new file mode 100644 index 000000000..2b82afeff --- /dev/null +++ b/.github/FREEZE_SYNC_NOTE.md @@ -0,0 +1 @@ +Temporary validation marker for the v8.49.2 Freeze Export discharge-rate sync branch. Remove after validation. \ No newline at end of file From 176459a6824b015a75f1ad9144e2a2e5c2d57f08 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:16:24 +0100 Subject: [PATCH 04/15] ci: run Freeze discharge validation against clean v8.49.2 base --- .github/workflows/freeze-discharge-rate-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/freeze-discharge-rate-pr.yml b/.github/workflows/freeze-discharge-rate-pr.yml index c6cf9797b..b4399c52e 100644 --- a/.github/workflows/freeze-discharge-rate-pr.yml +++ b/.github/workflows/freeze-discharge-rate-pr.yml @@ -1,7 +1,7 @@ name: freeze-discharge-rate-pr on: pull_request: - branches: [main] + branches: [main, validation-base-v8.49.2] permissions: contents: write jobs: From 5ecba284e3e2243ba0a0b83c8c77564f642d805a Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:17:13 +0100 Subject: [PATCH 05/15] ci: retrigger Freeze discharge-rate validation --- .github/FREEZE_SYNC_NOTE.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/FREEZE_SYNC_NOTE.md b/.github/FREEZE_SYNC_NOTE.md index 2b82afeff..5d5a0bc2c 100644 --- a/.github/FREEZE_SYNC_NOTE.md +++ b/.github/FREEZE_SYNC_NOTE.md @@ -1 +1,3 @@ -Temporary validation marker for the v8.49.2 Freeze Export discharge-rate sync branch. Remove after validation. \ No newline at end of file +Temporary validation marker for the v8.49.2 Freeze Export discharge-rate sync branch. Remove after validation. + +CI retrigger after adding the temporary validator to the clean v8.49.2 base branch. \ No newline at end of file From 2a885339e8955ab731bd2f87902c403e1443e3d0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 20 Aug 2026 14:25:16 +0000 Subject: [PATCH 06/15] feat: model Freeze Export battery discharge rate --- apps/predbat/predbat.py | 4 +++ apps/predbat/prediction.py | 15 +++++++++-- apps/predbat/prediction_kernel.cpp | 17 +++++++++--- apps/predbat/prediction_kernel.py | 6 +++-- apps/predbat/prediction_kernel_lib_aarch64.so | Bin 253584 -> 253728 bytes apps/predbat/prediction_kernel_lib_armv7l.so | Bin 203488 -> 203728 bytes .../prediction_kernel_lib_darwin_arm64.so | Bin 306984 -> 306984 bytes .../prediction_kernel_lib_darwin_x86_64.so | Bin 275650 -> 275650 bytes apps/predbat/prediction_kernel_lib_i686.so | Bin 234764 -> 235404 bytes apps/predbat/prediction_kernel_lib_x86_64.so | Bin 262648 -> 262968 bytes apps/predbat/tests/test_infra.py | 7 +++++ apps/predbat/tests/test_kernel_parity.py | 3 +++ apps/predbat/tests/test_model.py | 25 ++++++++++++++++++ 13 files changed, 70 insertions(+), 7 deletions(-) diff --git a/apps/predbat/predbat.py b/apps/predbat/predbat.py index ac0fa1f0a..d96e72db4 100644 --- a/apps/predbat/predbat.py +++ b/apps/predbat/predbat.py @@ -388,6 +388,10 @@ def reset(self): self.battery_loss = 1.0 self.battery_loss_discharge = 1.0 self.inverter_loss = 1.0 + # Internal battery discharge rate (W) observed while Freeze Export is active. + # Prediction-only: this does not alter inverter control or house/grid energy. + self.inverter_freeze_export_discharge_rate = max(float(self.args.get("inverter_freeze_export_discharge_rate", 0)), 0.0) + self.log("Freeze Export discharge rate configured: {:.0f} W".format(self.inverter_freeze_export_discharge_rate)) self.inverter_hybrid = True self.pv_ac_limit = 0 self.inverter_soc_reset = False diff --git a/apps/predbat/prediction.py b/apps/predbat/prediction.py index 432a52b0d..fc863798b 100644 --- a/apps/predbat/prediction.py +++ b/apps/predbat/prediction.py @@ -128,6 +128,7 @@ def __init__( self.iboost_rate_threshold_export = base.iboost_rate_threshold_export self.rate_gas = base.rate_gas self.inverter_loss = base.inverter_loss + self.inverter_freeze_export_discharge_rate = base.inverter_freeze_export_discharge_rate self.inverter_hybrid = base.inverter_hybrid self.inverter_limit = base.inverter_limit self.export_limit = base.export_limit @@ -634,6 +635,7 @@ def run_prediction(self, charge_limit, charge_window, export_window, export_limi battery_rate_max_discharge = self.battery_rate_max_discharge battery_rate_max_export = self.battery_rate_max_export battery_rate_min = self.battery_rate_min + inverter_freeze_export_discharge_rate = self.inverter_freeze_export_discharge_rate carbon_intensity = self.carbon_intensity set_discharge_during_charge = self.set_discharge_during_charge battery_charge_power_curve_tuple = charge_curve_to_tuple(self.battery_charge_power_curve) @@ -713,6 +715,7 @@ def run_prediction(self, charge_limit, charge_window, export_window, export_limi charge_window_active = charge_window_n >= 0 export_window_active = export_window_n >= 0 export_limit_now = export_limits[export_window_n] if export_window_active else 100.0 + freeze_export_active = set_export_freeze and export_window_active and export_limit_now < 100.0 and (export_limit_now == 99.0 or set_export_freeze_only) # Find charge limit charge_limit_n = 0 @@ -1204,6 +1207,14 @@ def run_prediction(self, charge_limit, charge_window, export_window, export_limi else: soc = min(soc - battery_draw * battery_loss, soc_max) + # Some inverters continue to discharge the battery internally while Freeze Export + # blocks normal external battery flow. Model that measured battery-side discharge + # directly in SoC without creating fictitious house load or grid energy. + freeze_export_discharge_step = 0.0 + if freeze_export_active and inverter_freeze_export_discharge_rate > 0: + freeze_export_discharge_step = min(inverter_freeze_export_discharge_rate * step / 60000.0, max(soc - reserve_expected, 0)) + soc -= freeze_export_discharge_step + # Iboost finally count if self.iboost_enable: # iBoost Solar diversion model @@ -1232,8 +1243,8 @@ def run_prediction(self, charge_limit, charge_window, export_window, export_limi if iboost_next > self.iboost_today: iboost_running = True - # Count battery cycles - battery_cycle = battery_cycle + abs(battery_draw) + # Count battery cycles, including internal Freeze Export battery discharge + battery_cycle = battery_cycle + abs(battery_draw) + freeze_export_discharge_step # Work out left over energy after battery adjustment diff = get_diff(battery_draw, pv_dc, pv_ac, load_yesterday, inverter_loss, inverter_loss_recp) diff --git a/apps/predbat/prediction_kernel.cpp b/apps/predbat/prediction_kernel.cpp index 3fa33226f..92c521afc 100644 --- a/apps/predbat/prediction_kernel.cpp +++ b/apps/predbat/prediction_kernel.cpp @@ -42,8 +42,8 @@ // unconditionally, so loading one against this Python segfaults on the first prediction rather than // falling back. Bumping makes the loader reject it and use the Python engine, which is the whole // point of the check. -#define PK_ABI_VERSION 4 -#define PK_PARITY_REVISION 7 +#define PK_ABI_VERSION 5 +#define PK_PARITY_REVISION 8 #define PK_MAX_CARS 8 #define PK_RUN_EVERY 5 // const.py RUN_EVERY @@ -169,6 +169,7 @@ struct PkContext { double battery_loss; double battery_loss_discharge; double inverter_loss; + double inverter_freeze_export_discharge_rate; // W, internal battery discharge while Freeze Export is active double inverter_limit; // per-minute rate (multiplied by step in the kernel) double export_limit; // per-minute rate double pv_ac_limit; // per-minute rate @@ -714,6 +715,7 @@ static int32_t pk_run_one(const ContextStore *store, const PkScenario *s, PkResu const double battery_rate_max_discharge = c->battery_rate_max_discharge; const double battery_rate_max_export = c->battery_rate_max_export; const double battery_rate_min = c->battery_rate_min; + const double inverter_freeze_export_discharge_rate = c->inverter_freeze_export_discharge_rate; // PV10 de-rating of the charge rate - prediction.py:587-592. PV90 is the upside case, no de-rate. const double battery_rate_max_scaling = is_pv10 ? c->battery_rate_max_scaling10 : c->battery_rate_max_scaling; const double battery_rate_max_scaling_discharge = c->battery_rate_max_scaling_discharge; @@ -752,6 +754,7 @@ static int32_t pk_run_one(const ContextStore *store, const PkScenario *s, PkResu const bool charge_window_active = charge_window_n >= 0; const bool export_window_active = export_window_n >= 0; const double export_limit_now = export_window_active ? s->export_limits[export_window_n] : 100.0; + const bool freeze_export_active = c->set_export_freeze && export_window_active && export_limit_now < 100.0 && (export_limit_now == 99.0 || c->set_export_freeze_only); // Find charge limit - prediction.py:609-620 double charge_limit_n = 0; @@ -1188,6 +1191,14 @@ static int32_t pk_run_one(const ContextStore *store, const PkScenario *s, PkResu soc = std::min(soc - battery_draw * battery_loss, soc_max); } + // Internal, directional battery discharge while Freeze Export is active. + // This mirrors prediction.py and deliberately does not alter battery_draw/grid energy. + double freeze_export_discharge_step = 0.0; + if (freeze_export_active && inverter_freeze_export_discharge_rate > 0) { + freeze_export_discharge_step = std::min(inverter_freeze_export_discharge_rate * step / 60000.0, std::max(soc - reserve_expected, 0.0)); + soc -= freeze_export_discharge_step; + } + // iBoost final count - prediction.py:1066-1092 if (c->iboost_enable) { // iBoost solar excess diversion model - prediction.py:1068-1078 (uses the pre-clip diff) @@ -1225,7 +1236,7 @@ static int32_t pk_run_one(const ContextStore *store, const PkScenario *s, PkResu } // Count battery cycles - prediction.py:1094-1095 - battery_cycle = battery_cycle + std::fabs(battery_draw); + battery_cycle = battery_cycle + std::fabs(battery_draw) + freeze_export_discharge_step; // Work out left over energy after battery adjustment - prediction.py:1097-1098 diff = get_diff(battery_draw, pv_dc, pv_ac, load_yesterday, inverter_loss, inverter_loss_recp); diff --git a/apps/predbat/prediction_kernel.py b/apps/predbat/prediction_kernel.py index 69b5f66d8..133c9e554 100644 --- a/apps/predbat/prediction_kernel.py +++ b/apps/predbat/prediction_kernel.py @@ -31,8 +31,8 @@ from utils import get_curve_value, find_battery_temperature_cap, in_car_slot, in_iboost_slot # Expected ABI/parity revisions of the shared library (see prediction_kernel.cpp) -KERNEL_ABI_VERSION = 4 -KERNEL_PARITY_REVISION = 7 +KERNEL_ABI_VERSION = 5 +KERNEL_PARITY_REVISION = 8 # Maximum number of cars supported by the kernel (PK_MAX_CARS in prediction_kernel.cpp) KERNEL_MAX_CARS = PREDBAT_MAX_CARS @@ -78,6 +78,7 @@ class PkContext(ctypes.Structure): ("battery_loss", ctypes.c_double), ("battery_loss_discharge", ctypes.c_double), ("inverter_loss", ctypes.c_double), + ("inverter_freeze_export_discharge_rate", ctypes.c_double), ("inverter_limit", ctypes.c_double), ("export_limit", ctypes.c_double), ("pv_ac_limit", ctypes.c_double), @@ -658,6 +659,7 @@ def create_kernel_context(pred, static_cache=None): ctx.battery_loss = pred.battery_loss ctx.battery_loss_discharge = pred.battery_loss_discharge ctx.inverter_loss = pred.inverter_loss + ctx.inverter_freeze_export_discharge_rate = pred.inverter_freeze_export_discharge_rate ctx.inverter_limit = pred.inverter_limit ctx.export_limit = pred.export_limit ctx.pv_ac_limit = pred.pv_ac_limit diff --git a/apps/predbat/prediction_kernel_lib_aarch64.so b/apps/predbat/prediction_kernel_lib_aarch64.so index e95240b413bc9027dc9033a112350dd689d47d83..e385fb8eeac3e0c62f0460e8f24cc47f8bfc7731 100755 GIT binary patch delta 72274 zcmaI94}4SA{r`VX(n1Oaij+1j5CT*PwL*akk-urF8n8gYs#U87s2UMiQ9d&|G*P>) z4yI*cyLCeij?IFgWp-P;q1KJhRvp`lGS_WvOI_W9R#zu#>RS1|PR@Os^!?@Y>*G;h zxzG3c`#SG??(NN08($h1d3ju;%i`5A z7A6jbFFao6j*q^jOGV#Ob%cn9FPF2%C+nsqXe7J?wCj{E+jUB}*cCn`XH83%{XhD7 z@k9A+TAuw0J>1?zgF<|O!|7s-=m;Mhk((F!rjBNs(Wh)WdOX}SB6n5xJ{=9{8H$Z# zbhO^Bho}E3#JwhOFgY4Y{OrWIRbNNKr6Y4Kp+AOi962W#Y1NJPn~knPD;J?qT7%~M z^>jpu*=T@u_HEQtjn=g3@}1foaj`k{GtX%5G24$~ZmPUrw-XdJ>Zyqi#){M58$O$z zsIMxNH0g$V&Ds3ioXu84^K6q}iR$BpT?GE9my%}h8>QRv9n<9xCd!AuW}BYZ^>vNN z_VNr}bTIs?EjKUiM><+oRY`vWiTr~ev8=xCG8n=j$7Sf%jh|B zFg$NGPNpNe--y|LwwV|$;fI$j=YH{9qpzG8r2WE*TI#3ZxNfG!+((GV z%;Pr3vrp*q9gLqbc_-t&ChyYxMnN46nt^UsA^U%I2T{iDCZ~Z>JDtDROWq$oHZ3y?Iri>%+I2}GU zGdD;EdRVpSNS%^i#$zV0WSsn~W}N)KI62zJc)+F|?MUS+B|>JPGc^ECmeS05N_MmIw`xm8lyP#j zpKnOx0WPfYhOC`&892qfa-G1Jm&#>rAY<823Newx;YHx}jwV?WnN zE*8Dm9D|$j(962Km+_P4WU3jT_`kZmpYc@D>N|P|ElIq;q`^NdCe?3 z^lKe$3qOQtCyO?igX<0-E6g1qW6{ImW0&NH`wMMB+Yg3Ybdg!l&iE*EQZB|j%<^u= ze{6CuZhVk~;AnGMLKqTHbEhr?~U$L!tC_vZ8St|T zO(qX8P7O6M?l(I|Ze0rFSk#)#Ekrw6wADPxkXwkxSaiMFay;B~DU5q|xN$XP9OJLQ zuCv+oe{eVB;y1dy_y6G4nkVmITg-w!R)MaYe#Ys#S;u%Fysb8~|otQPIxU5vY$^{RCoRuZ(gxNREfUL7IPS#~HUbI?T2*gbuvz7bumt6bu&(>7u7s`Ye_Qo zVyrA#*Uvav7iXNT6XsZH#(QdY>e(3Ir+H9hu>e^|lct6!^_;By4X4drl5sNA&3L1E z>`CYaQqRjOkeii^2f_y~OQxQWMae%u(DDHz!9Hk##g_;*@$>to$ox>e(45GhK{_%;VyOULf_{tOB{|VLT8nbthA= zl10hCYR1VwALHbopYi@J+P^x+0cw`1&PX5_BH;G4r@7p%?Hk!YWYyH8UOv&s&=GuZ=~?zYfO9zfQ)< zzb?i*>$HE}jCW~1Uqo4e{G)mD{Ob>IT#_4%vs&bq?a1)#^qI$5jMJsV&N!LnWSlM? zF3rP_FH2rJidk8*&doSk=V6?z^D^GILt9tL_&LpkqM8NBI+`@M&dOuc3nCI4C&C;!?QC;vJapRB&I#ZM>W1)9$nT`WNU z(LA|-(Xhm@W2_dr6=%His7^&;Dz!$bXJeeq%3_>S&#rlRt|ys#PF9wzb1_cV6*ErO zxfu^Vq^*&JI&)jLNAbdAy$FhY+yVP z-cg!Ny(ShV|00Z&f6a`Oe=UsH*K7aU7~iA$e9^%Ibkvs&auAz6cuGAlD}Se%dXfD>UA?tWx4Nb zni*MVV>~mgt;=FOTl1i>vjAB~lco+R^<1p{%0KE0ZZYFzribw+^Vplv3#48pt3Ym6 zGad-9UzJQfKZ}xob&QjL0mjL{5aaIeX#W}*_h>#}G_nBsNAu+VMZynxbA!#S7P-~N zc-AqUdL4{Y>UAtRuX#WC?do`agLM#wBE6_Z-e~sa37>qa?{N?9`3D8rk^F0jaXNKFjNfhg*T6XW*Ti_gc^paT1^jDf70AC9#_@1(UDCe}7A5~W87Kd`7$^U_ z8IL}x?T9iS(|o>&vB0jU%!Fl}{ELUjW7y(FeM(Yxl3Q7f`^{rJ=jIbnC*x$6i*Y)2 zi!~3gSf4y~-K;EG=V6?z^D<7>RWiQMbfTK^{h9}bj|J$0OOqyZ$htaK{#`Tm0*sTH z4U9+4uhV?K=w<=( zkLJn!i-nJ^&kgpoTI7~!9iEca=CO@&x@u%GPG;E|r_^(59{&3^$<%YPvSeK`<7Azi zak9?Cxc{KG&dYe6=0Q=(0%RRcnp@{%<=6a4Up4%UlbHd=yUgQILNAbd4XgsW*~oYx zJnhP1+T{A*^M{A*#H{A**}`>gh_gYinu=Zj7jApdBd+`sPd`l{Sul+_})`Wg5B zSf^r~aY{X5#;F%F%f>jRUY6$J;C0E=v$L{fos)60&c!%cSIoG(SzG63+@pC=cvyg} zqe;`GXxFP`BsTX6MQm>zJGAqtFrJm63 zg{R(-Og)>~2aS}h%VM0YvolWCIT^2cL0jiyyjJs|C}sh&jwVe5qSW)S@;QIjyPlVE zGP9cT7W3Gb&lnwIdp9OiFT|qcUjyUhUnAq>UlZfUk7@rRjGxdPZ|<=G z`A75Q{^8BN8}Q~Ht3_^gG4A@QPQ7l%DfOa^lUXswDfRj_55IC#GWFuDELkVazG((z zosDs_E{kzjtG3S0c(LYqbB_hcI+`?fOsQAQ%HL;spn+n`^?mHF-~T>8E-U?Jqf))>UmiOatj8K>0i z(mZ_LmrT8GR+g-bGEUaT7$@uc8Q-t|6>0p$89%5w-rO@MM;4KFG-=|LdReS|)nD`l z*UmVZ>0&%&9v3I{0;%U_7068w<9Ks#Q!@1`S(N;%W}N)$-fBWar3x2p%?J4g;gN`+8D>fz0FDgI$4zb>tdYz>t>w% zi!$!&(Ei03FV-Ay?y&&*NAu+ViJ$3{k@(L||7?tte|FBzV`oAy;Gc_Epf~pz$HTqa zq<#_{If?MeUISd{$hV4VExWSso#V!Zo=_OF}qsOETcj|Ip-nkVHM`G+_6 zZo`{2j3gn-gaq`c@IQi#g zJZAb=IgI17(QgK-hXs=VJ}u3h`{!rnuRo)&A9akAqant-)p0rMG_U|!+Q>Lr+Qc|s z-}5K)ubD;3zZS+%yr%Q1jdAj?gYna5`A){qXpYzSSb*{`F;7gB`-j)}FzgtsMQ+6z zuRN~vQJ6}tky$pz$*e5KDgW%6hv#ld-nuwhS+dT>IHg`O<7Azi@rvJRt38ZYX^z+T zSb(gfNz-KM)U9Uae`2Pdk8v`yj`2?OIFQf_Y<(eCf!u6h9Ix-)l}x=R7A5~8jFW%O zjFW#YjGr<6Yh%1ubG*LC0^}dfllzC)_qO2mJywg{iZSkaNvB>vp&U)}!7j z^=z8|zgu4xt3dwQ87KdojFW#Z##?`{^RIXq$JTe;47i5{l3O3moMu4z=Vj%m{8ev# zm5h_4KE~VBG5QyN79dOO7$-{ujFY7y#_3|xz&JVD2(J47VpD4D(iSzb3S?=7@rYTz znek?mw=hl_nV7lmSO4cV$Wpx4w+*lLv1(*sH{-=G>y(T#PX5IhC;$2xC;#G_C;v5I zGEkTuQ3jBKHpb7qq5aEZyfOUhmvVz!-_%hji|#bJi*a&`rb)e%S#DPTQ8WKMjC=Jl zHdq#*hAJ6<)oiGmaaspI$x@V{bxJ z(u4e~WEIH2YR2(4-#tnH{47fT)iF-jj{xK3Ux@LO-P-R4#!qXGxA|Cr{G)kt|L`^+ zmc5zPBDdNY&+5?0*1}J3=ERekZ(#*Mkc2@p~nSV~k$mU|Gz2O#VU}2-Hb2&tM)I-IQbW2yuvKsKa68Zs?0!qSRk2_ zG;^MkHq#N}WB;x;L?N;mCr6!(2h_3pYuLpCWN9(uWT~5RJPiyaw?r?Cl7E$qZ~dG0 zubOf4&&T*Kv%H`2dd=~w9}7?dCgzE0l23F=39<55nf^5}PX0A9-ftd95_*A4N;9iK z{M%%6Ld~yz0jS^8);xLs9ybGSR)PHUFi!q?87KcL8Bgmq^K}@< z`I~75e8U1l)R>%RP7YE2)v@y5H}fyRI62zDcvKyuf6>SSbpAFmPWcyMoVLVf#_5vM z!Z;pTJ6Hv>w3G28rbAtfx0<}0amvWV%yqxRFDZBh@GE!)kX0iC#V?1a zYPET6W1RfUVx0W5Gfw_FH4p#&f#d@&7b{EN6*J!aj?OMO<7AzO@iw!(m+=nG@d_Xd zkasj`o{c_MeneEQES?uIPG$xe?=p`=3BAB>*uW}~n~jX)6~JI}H;k|-`Pa-irCtl; zgP~;V*;!e#&dE4g=VF|!D`tF`X`P$#dd=|)APbOnG-;X?ZG@Gqd?1?0JW0b-ueUy4_EI|Iz zJh^{(1u%qH09h?^E6TY0e|74`7^l?hXPnH6Gft@|bbH~ck0eviX7)iNCF`;nC+qBt zlXXtUyZ@!nS{LI{&G8B#3y^g*X&Mlvo`;qHmzjEA#>vcT##_u|UqW#)qz;b6^ho`z z0=Zeoc&k}Hz&KrlLyVK74XIpRjLFi*)BreH+Qj&Av*QTkCrsYV`02BHVl;D_uyQn! zSa>V&5xf=1s*!@cbnT>H)mb?>Y-!uiX&c--d zm&JJOeQkxE@qW$mRv-&dHqxZ2W6H*2R=&Ci3x^*!<7B3n@rZd`na~Stgw?D9x#?pZ z4++1X+z9Jfl>7@YPX2`$C;u84kK6QrioKC>k&)ndE06`qKbj}^4{rs24Q~aqTI5y- z0~GOL?$O1-G&;aeM$sTX5q$+~{V$+|e>WSua_N;9q)rLD6uUZpwS z3S#t)k1s~M+_(8oAA z>QCjV8)02)04Eb!8esg0*>Q;RR+Bd{zBJR!UdF%J2=Ss|16~wlVKT6Vaa*U(#x}+& z8#@>$|2i3`Z0yoJeEu8BZ0u%b$-5}yl#MaQ$+~{VW8<_HamM>K$7-09qpYKBq)8K} zY|LWioo^@hL1AZ{%ycmxGLMTBdV!75%_@+a9>(#a;GX10SjnQ~Up3?8pO10!&(FAj zy!Nk-@jA`%q96;9e>6|-Ujr+@!St_@aq=(1c-%a0PH4*69KA@7w1rj3oS=Cd<8G68 zFivN4C*$O3S1M0Eo4Zp3DQ9z(@mjOv7~@+_-p_cy`oFv2hi0DYsOn#c*Yx>Gfdu}%#$)DjQ$jCrN=H})GO(F(ygS&K^skLY$-fT9$-hp< z$-gef>vOb!-Hh+i9PbXY0QpDrq&y@4@b2K_cz2N1BDZX>56@1Yd7Q;KWt*LGGRw(0 zT}@n?hacaYyqXlVvSgi`ak9?CI9caqygFA~SIM|fbNpBTSb(gfNptJ`tbE=-5+}5% zW1P$kG2U$+Hzf1|sn^IVkef}6u}n#>u}9#$9>ZzfQ)BHOFg% zEI|IzJh^{(Z4kqbv0CI-obk%v=u{M@QfriYHpa=UEXFDI?3#z??n|bgla(dwT#S=- z#f+16ZpO1FY3n?U+cn2qEi6FR(WGgzbkJPsuE0;v~b70As7 z#_`(Vx09*Y#G>S1gmLn(nQ`*3h4GTf+P^l&muimJ23dgoqj_@w@Y>)$yf(;cky|mw zJtuYQ^)p`L(8G!|zSQKxtVg|5>e)08|NcA4)XQRJ%gr|IjFWXv#>qMt<0Uio7>gNS zsyY6ve=JaCR-j4K;3@UItbDJTdX& z4J=Bj*T^{e*Tgva7h$~B991*p$2G@)^^XPi6q>opIQfUy0}Z?$$fD#{H{->>)u|U{ zoOZn!<78GpNOYXk@{E#a?{T^{;PlAO{QLeMajPq4;`msvmKWL8}B<1uB;4aJUKUStNNd_;>XX*G=&v z8%^H8cxU+7leu>mzmw=nG_fenE5i6PvwSn-E#@&P&!)EUG0d+c+_N89!|K|9uRZK$ ze7`yJDC7Mmk1<}cNc$FNyv}T2Xia8Km07`N7N9{ln>>s0H1mHOOarF!WR{ba-)x%Y z8pe?|v=;7R0U@f*V-MrxgqQKm@T*Vf25H_@n-9y!YTaWF%g;DXi~Qp41X%fc-46cK zdMrTGYhavwY7Bq)RPL%K7OgW+r3m9xtC{hin$u_rPlE{^EK03(GG21IPLeLhJtpsF z+->qG<4a8*(>$3}jb@;qRq&UZ*~xg;3eAN%eR92OspeUXSDVLVi!P7HLo_odtKc^W zcx0}at#smMbeAMf51%m&$i{f5c}J7Q zc)!VGZw2+p$T~WI`^^y(FYs!sX(q(u=KmO;W==fqWlO>do9PH~m-)Y$%_1Ju?TSWo zgRoP;y}8-a1{KZ0Hs2$>bC8E-VXpYbM>+f6Rf z@kJ(6;!NRrNuDp7%r#aON|FJAo1JHKXLqGUJt@&p3NKSUeBjv$tFA~XQI}F;T?&t+ z@LN)NAcfx=UUoQl%nd2grtq=m+;HG<=9n8(Xmhv+v>8+{w+^+1#~;cKcZ04;Dccz? z1+_hwImTR)M65f!1Jn(AQ%c!b_yDLMbXf|GhfjevJ(rnxX$rOdL7xj2G<$RSrRQ?< z7NkV&DbeNO_Yo~liMmpvSB9q?$<4beCF)LzR)*Igs(aE!yeZKQ;Rg`CCZ%q5O0+6` z6w$>gQGZHwZuqZ=u1tvrQlhKEV~*zL>73R@8d9R=;blj2$6T9I7whyK*6C>Gn2{+I z>jc^invp`WPDij#prcbL)(O=1eCC)jDHQ7j>INN`La|Pueo#E;_~Hla1lsg`X5MvQ zF#MnC-%762`0z{5=jORnqV|;Nyzu*oPDqKmQli=6DKF&aO-zZpQ=&QHH811_b5o+; zl&C$0SElfk6H-*C@cfkWz7#$wh5J+ZWX<)aQkN2#l2Rd%!W}6*l)|T`@P-ubOyP|w zd|C=`dMo^+=X3HRDd8C@VdMhbZApnl<4e~D01Y5byde@ z=KeC#XGx2ciGE8Ru7=i=668qwR$Ng>q~YWK5w-aL(vK`?Efd|gf|fGTlu>X5pEC-Y z%fw(t2#GORnt8BHG?Znl;$`9NmOU2l%om?&`Oe~C_kJnPVQcM$+K?sv(8*BylTz%z z4UbTsk)j;O9nfm%NvQjF{HqQ>l){rEL^Cu1JptW=Ov!pyidLxWkQDu>A2}?=R@4g} zk>Vh9AG8Jad!Zc@aL1B;REih^UZ^cwh@$7EsDNg@AVnjz0D1(vvsDTw61D5cQj|dZ ze~N~o#qCmrp#Gmpu@9Q{k`yPPRWD1?4efYEiazLRs0{;ceH9!7s5&7<_8mwr&;MfN z2o(KFiZ19*X!RX%;MY>5VJ3CZrO*~=9rOgW58C>g6h$}(4*muMf!6&N1A)3vVIa_2 zXft#t^frZG1 z$3@VC(0*tX8i$^PX8jp6#mVM^PKFjii=oBPa%cmzz%Rt)UMYeBfc^Ne2kLzX)i&?5^hVluXr$`a_EIQ^iN zQ14|HQ4c)R@KqGf!DK5cj zb&o}OpC}2CaMyYln)} z-$pLr#;YG%3ElS{SPI<_-4AVg0&5G6Kx0tvcTs*G>O+g6=e~#25jqGB?!(a9H09UvK%@H4L}=T#KfS@&^Blb^d!{wV=O7^?P|mMpSBPiNE-$K-PMjY zSI5vA=!u^r+o3hbaW+6}p=Y2KFJbK$Vc^gL=+akF9=hijNLuJV=t*=?cLD>zaRAx| z?fMlQg?2-;+^83P4W|V@ltcZ{!0WIG8iKY!_nk!2K=(uA(8k}xq06zxP!F`F3t0_q zgVsa4PGKpa-Ox_x(mz;)Sd8|e+0d=sI8C8Dp+0D^?@t&pKAeLdgbqU6plN@`44_@m zOx%x7K7$!T`=I-v-G74<&=|BI+7C@zigx}EC%0km{|B7Ju^(Ck?T7Ax#-R~tXRk#> zm*V{I!iRGJ2j9VIw+w3v^+JzBYoLLD!Vzfyzfb`hilIET0cu;02G3f=Qt0G&aW+5; zptVqcAL>B^&=zP2dIB1KA5KDJ(99J$|GPdw11n(7zhNb`pdWiQvi!TjgnFTA z9-Kx{yVCz)fKVT_4(f;2Lqi|IdT1l`473T_58Zzb6D&nLA7g^hKIpC>KJ57fYX;p1 z?SwXcijkEGObuBL^+QXbT~II7K7fv)PG}vp4q6ZGfHpxpRUAuj{4<<2I6evOfS!h) zhKBx&Tv!PQp+OfuG~&ZjXcM#&8i($Iib1Ruv=7<^JqPWDb_^lw%h3_k4ef$fK)azn zXzX*;gAQ7(q8FNGwTd`&SDIB6U4eE-S;bCh{}^jfwBWZbB}0p$zNuE>gZiO6 zp)F3UI0$Wnwn00fC!w9tD712#Rb*ZbM+z`8Xxhc758V}LqE_?XndVI|M4NS5+hz=6-%M@9;?_2-2)9lkC$StpfTtf zXg{be3mTMuWhL`Tqr&;Ya}8sv*JBBxebAlIT^n$=Kntp@B6u1f%CE%|T!+AQI8C5Cug3_X0q8+! z2-*gXKz*<<25o}ws)lpWCg@4T#SK_fWieD-4@aN{&@<4YFX61X(JIPuoOu(RfZA(t z{x{=;`(~@?gLZDhjH}T=E!GqoxD6em;-1?vLmYQNBRF>7ftlj?2sDc0m>(V0!O}ZX z9y)mo1_-Tzc0ql2VJUCG5<*=&aO<@dO9DN<73Y630?pfybkJ642%5DWS&jmI&|YYD z9ge|kpvR&0&|YW+>be^_u>&){5oZn51@%D7q4v9xl+bg~7HG*%I0SV=GjGC@2Jyj( z5A{$lbU(BP8iCe94??TZK_9dp$NkVIX!ieDMF-RlJq;~})}!1JXg`j-p~rE&|I0|; z8f?)}4>a>$nm^ox)j<4t%CMK ztD$jd2c^7QL+uY^ zhS15-(@-Zg2K7M)p`J&uQTecC*JIy++M$)u0%$F?7#dLeRSX=u6M7uF3)%&(hxYn{ zu<~nYXd^6cfYs1*P`^6fgEfQh`wnIZtv4{xO*mVcu(r_dC*TaUWxEWSM>kc7#q5BUb$)PnztfHhA$#)cIK>F^VuPqIvYBK(ujXIcuL2>l;UK{R9Z%0x$&T@6SG!7%9Rsf``hrWDM2*r z25SXVarL97+y~ZT9J9(vh0&CdDl&N_&Xe|JaW(T|u(WpL6RUJg=|?Q#M#_q+scc1= zeq&ymoFx-7)d-}?%)CZCN`qgCA237;X@DR!@qlQp`gF%#0 zBUL|&xm5v_OJx;cX<*d8D(3?`m(pi3*iNusuxjH&o6Iq;Ntbzf`|(6BgqZqKnRXmy zY_H?-q4CfJnP)teF7qwBUjOOO(&Yvz_ZwqI$|aV9n6Y}Kyj`9#j*XOytaa~6BbY5` zCsMw8H0EYZvB{MqcJ<*IoiJXWC?^>Yj*}yduiNC5^n&-LIAioo0X$)oF4<;G%aC(N z)ZjEN`nU0cP0leYGh~`2q7O!#Kp?w65f~B2=Z1dc^W)tJzrir!ixj(u`zbE zoIhgc$9NJe)sPE}Eu*DlcJ!0sOVW+Pry1)5>oksymJ^m8M<{g_vd7^RVZ~iw5irap z@uOC2DOi&sGv$QzJqVrAa~NxvUx3c7UaU z)fpd-mAOVFQ@YZNM?&uHI(cGEQD;X&hrbn2pu$8i&e!R zNnIml_K1oJ$d0kb-|}T)I69POc(P<#PFoiKXD?y_}e&{Z$vMWMV6%t zjjG9<~6m7K^bwUrsje&QW{7YU8mSxg1r0nD%jHG$vZvsTs7{u{ z36%H-p!milQx+~oxdO0r`ZRUq%l!1{O?Z4^Jmf(p-l&fIYSdYiIP)6wrQK3}vs%?T z>2?QpZsV`{Sm=`5^g?4p#3?WdJ89Ex#@YqgR-Ja4me+=oX}1sW`6O7}*gHusnt0rw z3@KymQ`I8;b&_0=qn<|7nWX0GL&$!oF>|tqo&B5^tzpRNFA2v?Z%uNa1mKKMNYBU{wH~wH%`H{0{@e2 zNR7J}4Q&PU>cu)S1!jf5Z2WDCIx+7}IHdN7yoPDG3Ai^|S50g`Sk&0)kaJ~+vDbk; zx%ECgEmn6z6O7{ynJu%7^;6}dDc76Hl_DXHc}m zI51VtO|SY2z9UiVI?;Gn)xh?Q&eD(I1~R#cx^fyGNOtDJNY&ROyB;vMJ7wYQUc^#w z3Sx-GQp&3o8w5LJyz0a$RrheRDK%+t0rvWbjj_|@ocy9kk}*|n4`NO*kHz?1rnDQ| zr(r{Ief0|$r^HcU&sUR`)Cy!?j1&Ni>2&RzCha*TUrUxr>>4QJ`kIkH9k+Yk#`@`U z!R&M2NET6Niu%Ik#GWMcfW^StjHA=#N_o=wa5{|Ycnl9P)!lBc;hZ5|6QhmE8fq|2 zGu2(m%`@Zz?1y`2pho9jJkZlMI%Y`w#OCnu8m?JL1mk_w$gBBIGNi1kL#PtWu9I|a zfy~Ks8^g=AqD&E3vdl&Ky%q#ic@K`yP*ahY?UM;|Nd*;P5 zKga%5vWyx_Bg$kxWn6c$oKsr$bTXE(4lyrdF|eg6Y$@6p1SLqoQ3Z^ zY~bog4R#M$8d!twXv-`ZSCdjk4W8aam&tzbUAF`b@`+>1V+ zEQ7FEda24*S%?j2k1?+hoBFvI)J?|xDcy+dY)O_@E%t%=!7}yT*2zL?FZ3K6?ncQR zv?toWEQ_7Yhp`;7IMV6ZV(M12K!2F$LT-ggO3t(G4RZ(4l|cf>e_>Xyil z5^JAV3*>td57N<#`cb0{fW?hvMYvhuA8x1u%e#~FBbp{fq7Hv?g48x)?X?o+}Vs!WlE?OpZplJm9x$KE z+-&3KIdVo`YFjF6y3Drv%rj>W&aUkC;RDN_j|qS!Pj!cpHCNh7_oWn61M{O`17o|u z)R%p!Gi?N`1IyBT;r6+5<_OQvu(hTcjy(L0*)mtUa0^ zf-hpy0TT~DjMc@`VW~f1Y$=wDrQ0Z-hl^u2&aCFd#}Qt9w7+JIohRp88eUWP0CSAG zdAP@k>x1-O6!074=fk9z=EV~8E>(LU|2P3K$qT$~f%ZqTg)qv04#+n7VLoffGzPC#Jr5OirF5Xn{SLOk(XMs-!PV!$oc8@Z>T>t5`S7hR)Rk*#G4l5-!}XeYR59~eADPPijvKUu7JlaZSUa%s@YQW0DD5F&QIxsg_y`I(DMKY&w&tHe%+q9xg zBN)|FTW=>={a=m87U4?T@wa45osZc|u+m_|(%vm?Ii9~K3#!ijC|L4$V~$(SnRqgq zjH#?Wf>?*K!>#VId-Oea7urZ~>Pg+sa;8+M9^X#ZRqgt~&Y@iL?}D7XXi6E?{y~&E z4OXMC4E2}e54l0($;;)ULLa{GrMW793zp$emK3Iz!wu%`H9o&wUOBt}z2W8eA=V3K zM>+MQx@!iD8QT^kS(m=AwyH!@zPwoG&u+nS>e9KE!(K2Nf{LlHk8zW*1m|ZBz69>o zo6hPb$kVL;WKlIT^-XdbSg~=S4EHhLS|STC?Za_u7nv(i=EGz?H9{v?9ObYL*k$f_ zmf|n-!H=+U>%^G9RL%@$emuMx^&NBpSQ@IUA7z&MJ~|tWMz2^G*ztkk<$A%6fT_6p zQ5pwp21~7*>A{^LSSI$YKQ5JHmhEGeN>HGYRq}$>>q=-AgT!x*2m7h<=rTDYy&fO& zw04=CWz;Q`X%o9ss;iot znQ7d#LS`)MVhy#TlKN^tbsn8yEh(%3?VSOO7zb9s*Mv;XP_rvqspy9*6hDTJTID2a>_y$t{?Krkf zj!JLDu`}HB`2?f54BOLAE4~TUkLGVGlM^isR^#q6S!nU68BdkTvN7f9_~KGsfXl~r zNaLYv@R)t{N;%EaFv^&-68E5SoRgfmiuEDZWE?BUN;DaN zD#w=)gX(BTx_Sp;(3o-sF5u@-r(5k)xkl9$*d3dUZCBu7+EP2d1v4Mo{_YCtC@jfK zwyhRxDc(jX08^jUkLs@y%$aB8Tq$R6P~~ZBRAu%c=4Nd~z+8-}w;g;bOtsqyR+(o! zhIVr*Qevw8wAC0(p7HvXcsSN-ymO_TW!aT)jJ*n9dNkx43$IE%&%5&~{DF1E`1VzB zqQiIzN0!=2#=8hwyps)wS32-KVVM{A9yL>pr*Jq*b=!S4hLSj*S*TvXNS#i01ukr0 zX(*?DRCyOz^%Ua+ubi1*jTkMHimUCzk9frtW6mlpYX{=Bdd=@%g@+U8j7L|=1rrAndxphT zKU)z$F~e#sxLS^%-GPEMdllS=U|R|+0#h$4m2##72r0lvvp?czrj?@NS^U5!5m z4Q@wEX6C0e^%n*^d95V_3~b<=?~T; zWltNwU5^L$?wgHK8)TU!`&MJ^20Y#AGrqb3ld*3xez-wS#{gd2fT#R5cN_WF;Hh}r z*mjM)#!~)M;}_S+wWEsgcK9yXWBa+Wwo1-4JXN?6-}xKk$|{^8$Bp}{a0`}p(s&++ zqYLm=V5KTM>1Jcgj4f1M>`>b)@4RWEyd)9dD1~~`azH|dF zCgNS=gBvh~W@Flom_pVk#&tK!@kr~qk#`dubPgET-GnxF4H%Cp ztsgLcb(6f#68g+=)Sz^SadVAaVet(bPu1X|rWi8*Tm!@FJ~tdUV|({njMX=z>x0I9 zH_Jt%vvCzTp+%_yiqvS&)H1ll|dllQL*eH|zLbDp<*e&?_?0OZt$P7I!6U8?umSeKFHCv-t zzRAigiE>^;-ijtxs?c;ZWU(ef%N3hxvQ3&@u2`YTexX^3u^vrqS)fAmJp;an)Amk} zWbXZbW@tm9Vhh3EPO^&?TTG)!Pjux}Y`Mvv(QJ}pWhS$XNR-O~YuIA^?pB#UbF7N5 zrlII~2AJ>Rk$Zcr*@rDvp$%gmH^%y;G0iz;?{9-*-)y`dxe&i^y*+tv$&Qr+o$&n| zBgEdq9mcPG^2&=|dQ9wdAwG4NIP@`ADB}sku~Ft`K4Bf`K+zs7!wI8wqnwdHGZX(d z07?q9973nj83LV7J?zXh9^5Err2*e<9NH+SW{g2ewXQ!fPHjY*hK-4vTgH*bEcwz0qekjzX_+F(F3?u`y5!x^SP7^z~ zuJq8*SANmlY@Di ze5p{1-HG`fm}-1_n=D+M632A`^S17t>a_l$?00=x(@-{QwH-b*P7HkgezEV+IL|;z z-^NY1%jH4q*i-Lfc|ACX52VS~hw6g#G+$*P5st7fm7Qr_+@EgkyII`Z&a z4|>9Gcc{Hccm~eiYH7dZpyyD`knP^__3eGv$bo-7E(UtOE(YFRBnIMF$$@|F7Kh$J z|NmGb+GD>L1HFsnz}b~@;Jp=c;H^=jq&UYqu*mH%JJj)?2j09a(=%}XYB`{GiV~Qg zQR;KJM#tWmkeRdFChvG^5Cb(lcgR%}ua^T$&aVuAgu?!jVsFOK18=VS+<58^Svab5 zQ2aQA#zuY9cmv0lao;pPzeDCsnT7^GzP=QVPdeOn{(P+j(@sHz+#HSCw*|kUPQ(VPA zxyE?iFY|*RfL;GcdEA1!pIlQq;GOFkm?U$5Gj;U$-pjxnM}d#xi>|rEGob4K+^oOJ zlKYz;YwqCz%=Z)P#KMnp3Qw@vcV`RB?q8scYX62e(+-`(N%*lfr%<(f&0H~H;2A{} z^?KA4QO>)>6CAjHf!X0Wv%`LLxCkA7^uU`>|NnKEsXP23b$HE);TdK(-`{%%K3Z8i@bQXZ>A)qKqRR72b$U%a{2~f@W=MRVaJWT%enfrFIeZMC?IXp9 zZ%r3_@3~0q{V{$weturP@R_X|`xuQ4tSBA$O@^rY6swX3{wa2=^A`JiPB7P3?rm$f zPG~!H|GjNzU$nG$+<)(&&FOPQjE!4lb{@!VtlK?kJ%}ZDrmKGu#?$`Zi^gMH0k6e-l3c1ocm2*ohapPxq$=&H+ zS7BrIR@{wE-eYXpinld>SUP0ER`TNN^7a?YN{5|iTjZ(Ip`+g_9m2m(zXPxQ z4Mp!2Ly>1nhhkyb9(@F#50?%-v-|R+(Kqq=JL>b|qtWZ-&_|Dlmc57VbrVjy2&Q}B z;jw#vyj$#3eSGwI$1=Ru>4@E0)_&lY(xK{FeJmhcZz2-+y1b?I(Aa4t)iu#Q-ww-`EF=vG$7 zkF3}Pmf-iNqW$~|{JtXF|G6@4+rJjTf?tcF5B?&CKA9kgLirmV2ey|Ey)#-4MR$uK zfdLiRe2!Ob|KsTWxfp6dTGnGTn`W17AdOeP}_y=Qe?#_?hA=*39 z(Q{kwj7R?g{utJI%a-_|Uu5o$ZWcpM&qhb=h3rGk50BX!!-*XGUSV{Hz9<{9wZ z=}&AgN0F)0a>r8wNhTX>9b(2thr1%+=y}02iW(BV1diE?UREPu^& z|ED+uR$H-SU?A_}(!CmkS#7;C-iPh%x#{KYx8ApP5MNG~s8bWC<_lY>*S`s303yXfw{pr`#-Ir^@R*b1W4w>$p6=3d9)ndR-cV=0MF4?5Hq5uLH! zab``>@$T-j_Sc12bRJowF1BZIEmrIs=SMCabycW+su=a&yU#wI|1RQ(Kk*DKmY$)r zPkRP_g01T8C35H{_`kxM5qvN9JpZHG4C_jUZ9zdE#R`!~eC$c&)nl)BOV5)N)bp~?9Dx7A+w7w8=Ps(tQf z&?oSF{_2ip0jS!h2Cnf8sBJ20%|EOzl-}A)9)F*rj_`YM^GWPQci6xIX+GcHL3hF7CT;P!(2Z_X=s- za`suzK=b_a_GQ>`FG0*N#ASyTmbX8OuPmZ7N{8NGpmq^CWWylOT1yB1JxdO)z+ZBA zjTBXfaJ5jMN8|G-#53`G-Qk6$18Vc^TY_2O#Cs0g{|Kxn?yNsNDktr}3n$_p{Nk>> z%5&$o#5r^6`SVo*dtoUu>0zwvX8brP?%MM9GWY$CGXG9T zXxb)6Ma5Rf-?4wsn7z?air?DVn;o;qY<3i8ZgJc-rq-dddd+{&SM^+9I;1Wv&u=Ji zcV>P$QAcLNEX?Z-Tx`{F)!5Y>4&7MZzA8hML`IYi9lpK1-8Tbw43@H?v&f{N2L~Vg z^3nWJaQ)EzUbYXT6VO#V-Jr#OGaX}Al z$EskquSv0C_Qa?2&q}c<@*nJuszH>!4g14coX@jme34?p4TI6uT@M1;}uicd5)&q{RiU%A{ z=O)Lr3e8_yf|(+J)PNI?;Zi;aI{>+KXt5r6@YS)tMA9^4-4iDW_OMa&agrgCV%QSZ z_Am;!o-uQ)v0xl; zqqd)SU-WJ}`@*ViY76?{FP@>)?MH22YTNqg@xqQ}AE-YqtP=`T_aZ-L{u-7>^z(#q+q#R}CrdKd4)YJJ)9E980uRt;2;bzqNLU;}qslf;`?h>OseN zbUn?!!*Oi2s=M9s>Kd%5bBALd>h=7?Gjs^oIwvmH5*ZQ={?{{4wC`^lryjZCJVKI~;4Ezxa92E$O&%J+!>M{ln`$iF2W>d*dx-?gt%Z zuG<{XWNvaeap!jNs5-~YwRbpXA!j?Bw>kcW?D$2+ZH{*~dywaMApP!e1poC*b?{}! zFOZwh*fu%d8LbmPguHwVd5Jsaxt-H|juW#HJ9(R<-i8ML=oxy!_JE`I@>)l|`%4Ko z(k~KK^&LLPJ0nYnK77S96hepJ91rG3dE0h4dYj|uG@QX#VymeVC5oTDwJfjw(Q17e zUv-11dME!L#|YT>4YhLq`{d-p4!msfE;fnRZSh6wO09h8#WKe3@U;7}vmKa(J69aP zbBXc%eR4(_{Ov{Zt9$wnpT2(ELlv7H|5$P_{J#xrc$*{Lqt-&Nr&`Nbu_iv}1CDar zM#nSjHai}|tC!>Mms1u$kAiBN>imCZ-6qFW>^EhTccSn{#}Aima=c)>-ErF_TshP> z0KLNXB}W9Y|IIgUzaM`U;O=kb=*f73b++lwpYi(xv^r=+jBibn=aqvD2MB6WmF#iAS>y- za`{pm7b%<1j?*?~Z{b?c1X}mi3IZZ=W`}X}e{tasOB3|5x0%hecVm|35RsVHZIc zSwKY29sosDL?k5vHN`V3o)uO!Pm!XTnHk{O%w!e2Q&S-`!9p>mjmm<|SAEsg@_Z;( zvrsc7549!o`^@t!x^Lg#_xkF-Dt7A8`r!}p zd-UUa--+=vRW{EEnF;JLzc6MK!QRQoW$>ItJpMvf*D>!FJmj2}f5(IT_Ppw8^;9 z84L}!cWz+&#Mj`wZpMp5S5--z6!;D1yJ4;eK@ZJ^ry#r81~$9{vSc=z8Tb?UO_HuS zxmQI!mOKjhOQO6Od^gD*x(mymo|srE7kDqKv*b$;VD{6h#5xI+0a71_*~S<1!bSN@_7*LYoyB2gsx$Pk|iZ8dcak?1{R!TXTjCLShCPV!eURnYqGEq;b-2E;D0-@kL33cT_1SD_?(u$^>W_&R%^@(9=HmPDjTz+ArI)OjCj~9uxUdlEqhH2Y=?#= zV#o2c!lYFB!PYz@k$){PZ!qei1KE!B+pO^>)eBhz-6!k3iM=c<%uk5!MYT>ws3|AV zgu>9SuLWMSB-Rzf73~WIr28WET{0+x6aVaUTxk@B2A4IS7#QcC87LPhhh3G<#qha` zp)HExXHCVEfwXb}!2@0j{LKkE`+xDZ6v&t6Yb7{1TmSI2is7CfcJQ@o{->`+O%}0; zFdb+q9Vs0=zZy7FH9l_+t%h?pwd#}EHLr(n!fKvoE@GkW;#l2$xjE^ZR3{}@@tYf1 zgzY5N-wg-m%JW;E_)m0d5%bNtht*ik9etJ#o{!C!)%~?jsr$LVQnz;5Qx9kzem6_f z7FB-_ORW1jO!I2~T9;U7LsyQAD(S??E*lnAci`A4V8I$oVukJu(8sn;I9N??Sgghk zP4EQf`b zv01_3+cU6LGRArpJ0U-<8K1QeYo!`k-8*fP>K@f474c` zkZs9*0x7XFt>ko_9;jgHr2;^TBz967Yp_Z$1crK8nsD%44VH=0fs~GwvkdV2lviu(HU+*jv3(qr};7V5_!D1~rv zbL=bh{Du{}x5K>q;J5T-r3dRc$FgHbXZ0Gicmr~^f7SbjVRSzU&EQBOlZHkhFA?6# z61yKJjm?V#CglW5jVv{@wXWXx21aqc4ZO(t(;i6+R0yE=;ZbgblxCoErgU9ZgF6|& zCnFCA7Z!9e6rEH4Y*@BQfh{8!s*)|0pkv32(6L13MLeGxF^Ig>%s;_TS%XHTNnNsH zit1anMg!6Zc^{qT!oq)x=cjfg@3x^a3z>flsI(<3;1d9}FnCtr_5rg3?*hL<;B}D9 zfXLZ}T2eDz-&_A5w)1^e%}xs3fEK0Sx){B-L^IMbOQj@fC4E-a#)2$AgDlPl4Ka!);Cl`%w!|z?n259Te&Bz?#)7&<({k*W_1@*?ncVZkw(}YnTK7+DLILCSFs&= z16z+bp#d0EvaB;vfP8&|SA<+$;$?*_b&GOAVx3znW5f+Cbs6JX))|1C1Go|e?q8yf zF_C3moLI-5owBNzrND zjB*4;*o?1nO|*qDrB1=OT8>CGrrpa}tarvzr63dEhV!v;GEKH+EIb8A2h})RVa)sJ zGsu-EtP%5|C2`Rm?(wiWy^JGz`|qEZD#p46UzOAe#oUl*MIHDnWx69YeK|r!<%z0r zio7QT4xcyGFciy1E|^LwoE=gzm*L zg!#r|e7CU@oWzzXxj|;^p_U~NaWPvn74zS-l>+#%Lw78}6UPmIV0%yQOjFGY*2;hm z=3;EjRY{enVn0y8N*3H4s7*tz+=}&ShP@x4$m|EMBUiFe7wuq{a#pg*arF=DX$&@& zgAXVb>7vCg1}~}r6&)%)Ihma*lvOzUE$fGqS^qa!WP68`Srf_>;Ej7E)zjJcifI$nuVa(d1|j-J3qFwk@5fs^#~Y|J>d|s z^=j6SKfF(~SF?>CFE0j$m~y$XI?v+w7V~FpD#fm0-8=#uiUMij8n%XU^2ley*ljZ9 z<5d?cne&-1yF>x&@Hj(NGIfG3m6)&SYS)412x7dq6 zK=FH8@v9WI7R4{g;$`;Yw^00sR{SE3m&H?M@r(B2mr*=hE1pQJW$`#!Ji=Z)0mWmq z;t{l877vld2pUl_2k&GgYsLNOHi}sxP5+q|7O*&ka+Twu zf0(B=`WihbK)BY=bUI2Kw2%x|Kw#@{Z{sDg)0mj^6iEnh>PzE^ zCF-k@^AiqqX3&=1@}+HJquBQp@eU#YFH*-17}~FtvVjHZ9_1fQvNXy(+NJApkD|upaosVjDm}M6)SOF<%vaYADhc zs8{f3cKoW_vjcwTv%hcbvQ*E>sE@ zLji>bE2mhnjC^w5X(iKkfL@@y?d%TQY{~wBeJ;4Nh1&1Lds)*cdnZWW!BV~xq({)1 z=SQrUi(TQ3{fK3GEq@JG<(d+o`!pj>C6^Cx9ufN-%@Iv3XX_z)uDRAtg=PouGw-c1?!i%jf7bpc%c`tbZ zPgljJAp9nXY`a)@rRvL!eKAI zN`u~EKK$2Lsow?`s7pkp&uw6glY8*iPGK1{usyV=jCrBL!7@<1HPw}|o*v~0kWs|| zJ%3CC_kg00DQgew;l0tJq#+DwJyoHIEhY9b^XIt}DDYzhA%fN)gWIF2;$t-2k!nAN zZYiWzd(qfC)O#;G3YvQE!&{M1So;9EmrC{lvYf2@0NGN5Y(cT*fZS|hpRi5NQAy{6 z4N^#g8`l|XV2kDN(7>C9pw)P{K&Rj&R1K1U#BUuyLQ>jv#< z`hrEv{n@o&pwFdr@eA~6qo(@-vy`6Mj~Ywq#r-U(`BGt9?;sbLt&^-Jf{}tf>BN4- zOnYYVx&&Rk1~kTRH9cn$3k82{?do${jTA09g7B zDm}ouMJ#w3k~%2KHuY;abC9A_+j&{$g(7dF{z+aod49vZ0$z|sh#j1YfG-K23p5*M zbuuLZ1fjNR->@lcgk}FXQua1e_8}I|L!2y|4zcZwMNrZa)>5XY9AR0^<(rql*Z#Dt z7B8#a{WtUEMP4M1vVl+~sYlUcA`?Q69|% zu8B|bR9xeKfD+N4jPMLI-+WwOW-0iQEpc)BI|~6Gv**ld_( z^sj6rV;;2UHj)qN_-)YYSBm|OjpHHiwC*<+#ZFnOeq(~cuphhw4xK^qcL6(`((Xb~ zlj+J`w2OCBMJ-EXF*Lds$_+Zb7P;0YbfT6;FhRCj)<59a=}JM3)ZAeI8m`!MTq#E= zzOfoQ4JPb&7{#CD%!PNrSnGagEp=6%<`NghmVcpPQigA=fdD(+!c z^2mA*DsCbL+y^>CX#0KKgp%h?-`{5!AWfwY0CS(tJYWQWA?qPh-_ZJppxb`3K7>{- zC-w();ts0)L(<2IX8ytQ*up1C-#?KY_9Xe0Oh!COPO%|bPy6fCx|Sw?vB{i`Ye>_k zM{FsqK!_|(a-lwTP+^d84Vtdip>j3tsnY`H=dlz=t{(q-9^46UoH^wV?L#)sd$L`WAow;|1*_o8*%X@Q#BaH@1YE8&4LZ)7 z>-(yTNM|k~^J&EE<~#GgnCA=5Jd@p|1Q*_>(fP?rK?XF7iH2%jxfi|Q%DeJ{$<%lm_ou8&+?D@5iGIlBf%@fWg*oRA)l0x_`cX(`fD;O- zsIBm&eL6l4#==w2cVL7Sdfr(ow>x@n^E)sJkb{`5Fj(35@`OYjNlQ)(+F3!Y5nsbL zkhu|$^Ij#P+!R}4W2O9rV-PS7`No zU5LA7W)nV{x%5JQqS0=kl0a+s`6mS`jQpncl-S;+i%rq7Yvm z%}On)zTCoC9O?ads1pL26^i!bS-wpHi&uj7)qsZH2nom3-i@f@wAYVE^<*fl_SOp3 zf+8ogo5&q10cGrX?nXU`<+BqjNTa=?ITGbEsK5?SVa<7k_rEg0Vwexf$TRJf-A}d6 zLCX)w!=KN3C96 z01xATrqi3?!&jc$iFaei@$NfXw|ddJPJBOJ5n3MuazF{kAU7$5evISZ z)S@$g4LWl}XNgA`ebt$pSu0A7$-0mOwNgZfxJTKwx_gY+@;kXEJB(3ZY zDX5CG?Cs7=ITnGY9$@N|{qnk5miOQTxr@_CkidoB>JF8AvR_fWr9O$LayFS#dr9PV zG_Mz*%bum%GRc}+yn6E+Oj@PqAkRg<6x4?=b;(Zy)9R@G2;N*n5Cun3Ae-q6xI90a z)0fYe&GbbxCVz`p3Xf;(XByZK@|+YvIsN!T*=j%8X(tNn&mXXP%fu?I?wLg?H;K3I!5Kr;mJ4{n(w)IjP_Iy{A-tN0>Bu#e-^N>%4^m-d{uugH zHb>f<`;DT80=sjRG8C%l3wkgV{TH<+|6$N%MR*mI$G~wII2^fE-qa))+;MjpboTRF zUS7DCw_-RS=bVW4alhO>tkUX+b9YIIMroj;H<{B=-xNufG@k8zCl%5_ctgran{#;+ z8ZrWcY4WF$BX~AHl&VQ?Ie;QG$(6<@fx3=_ZP=2Em%(^T)=ulScqIRZO`xn%;E|$O zqEY<$rtig?&%@mK73U6p2F7blSbJ(R8j}Ud91Yvnm`X?U1MCWAkCE!toq8PRe)MQ8 zH@bEK_}S3*bYcvqdIzP9 z+E2-VBG07x8L;48D8R(mF;CiK;xSIRDY}3<6oSI}alq^DAo?s0oS(0Q#_B&2Hf0=b zpU4OE%0V<}3HKrQOzw`M`(^SN{jNcpCGJ3JnLLxP8T8az!*jfn$%FKZBnX@cCvu*| z)Af^(l*YQ6ie_?ODm%~JDSs00#rqDTzs~bc`W_M<%k3)ioQx)e9eZ6)8z!UI#u5a( zOZjwWG9QM8QN;6j{6Gtzhb;gZp665KGHVJRYp7xh%3dXpsTg=F?U~A_@VJ3AXbz90 z#1}D=C`z5iH(}54_B1|6e`A1#?F^bW9X`@? zfDl98=dVZ)YbGDdsXy(?;_d11Ox_i4r`p6EdlL^RX%-*GM*-vwOvXpEAUNGfpUsE4 zMM@AL^ie;$87YRs*OOLs$>;a7NX#@wlVzLX&yU78Os_!yPHieyp` zy7VgFj`e!p0`3c}HY~tMUZe5_uu-7xYnZIrH2yWD22;svDCb4(!I(7f#0OEnQUQe%nwT<1}J9QBjYImBRoLr-Hy z@Mq|5F4tjUX3GU4;gpug)7=b!R>|&3k0Y|LjfE=fZ1V@*F0Y=MHtDy2W7a=`?T&kK@OB zYd-ZTSqd?|XenI+mys{-Or!3scjw?lr3V-`3fuWK+5DC7;mjHBLf00#FE6fih`(<$o>(D6Ge zeFHiVvakw^llN)vDt^ZWe`QdR7)q}T(cD#K3M?#Ey$J&epL8{**^0%{YOE*VzR6^j z3msa`*Tb5Qe+vY;NDJS>yd9toZ}G+6pY(h>vnIRE!gk6UK)g)@*YK~TBbJX=igXl{ z&r`9kU7F9^!0MLfgRF5lGk_LoO#{u)$tHJNVCH825FVH0%b$`}zLf4E^;pY$^GV6{ z7l&0XT#Ng}j?$5}e1=;YfaC<{I?*myOt5b* zM*%mnG%70KUI7D88_{|DzT!r^i)O^ukr!V2Qg+7DsRGat%b)c;hKDCV;l-1>JU5!L z9)hxg_N)iX{6!vbgMn%&?QQgRhKkHE@AeasfaK!<|J)myyyr4t=Gu;9e`$0 z>N`**=jhZ1=(1z)@JU$CcHDruY9mXGv~UB+W0u9M5yYDlKoO`|u%_;@8s)#5{yn|V8|r*3b? ztS%ytEl@`{D0K^;<94ivU1*#%p^521KV);Cx3}_ODIQySPbb{sQb3P#c?(*ym3Nl5 zVJjpFK2;&?#yDD92s;oiVmpW)LfP9f1#WbFJ0vEH*asMn zjY2-aoc)yWWX{TTup z`eM+36s<3YMoC1WWVmXhMw}hppArWas{|8fr0peqrrVz|0V-r8+EUC%xK%f#bz03n z4mFR^sh#Kp)A%9p=ClcrG;5SFQrU;RJ7(uL9@4{W`w`ER=J6xmP2Wda7)q_%6M>Berp7m~QSjIYsm z>86qTQ!3i4nN=MP*#j{PqWOCO{fL}D=3DirpV5YdtMQ6pX}|dx-p1$8(3UbDP4Ro- zlWYQjoU#Df&Q{Dv(mo)CPWHie;~#odtNJZn*@yY;L{a6KPj@<44j3r1Phbj9#6NW? z^ata$*05{xiMDHE0e7sWQVZX~r^eG~Q(!c6zk<+pDF(~B=ID+Xk{|m5pZ?b-YQM9Lo{YZfW_QSQPkE2~L@F4R05;70<@Fm}^|01q| zgz(y$$)cw8;Upfxwv*{A5NQ+2nO>#fSMWOLQb;948AGdto$NrdRcH!KUxk_UqLL~s zK0&#!!R@2EJY~d-wEAnX$cZl6kW%T?*P!301IdKK{04l`g`y5Z&%ibugpU7<_8)}T4g~(idwN&L zVgZAbU8zjjU-iRJ<4o%s&HoqZfxW4JJ#o~dsOuqq+2tjGSL^7@u{_Wf?||g@)7<@) ztPdSI3}6iQ-eLI6I4n8>LO{ZgfC9HE_1_r!3$*gz{1TMxn`0 z>qsMy@dOx~^)gu%L!Tex(>%gE) z7H|hx{#)M1?Y9_>hO_KtR)QmNK1T99e8zA2EBa6E5YJH52~g@i$~wV)ou)mmze_7l zz!k;eOi6d${gdndWojan&AUEIg9P$7&#ELMDhI-Oh8PG`@&mhYB z1^DmnM9&J~pZGll`1D{}_B{{nVjNOq@J1^#&QkVte_&0ASft(T>CS_+p4KBz_Nc+o z58uPL0TZ3(VU4Og;tU0cKk}B`HA}d66#h@GKciabx!jfH~b@;=D9UewWV}|&!7~mfiqx0u-sYj)g@x*p@$03 z@|J$MT(LmWp>Mo7&%E*4ni6zYs-i)3jgfI{XzPR z@MHiPcM;xBCat^(MF$0Q5pr5Wsh2=|1A4^PE5xw$GFY%V&ON~1vnlE_9&n71$xlbq zpd)-NmEQy-wxixxpeM20E{j&EMXzILJKL%*Rc$};ANk^F&1cGvRtj$5ZZrF?a02zM z#=>Vb{RLja{GTz9 zv$XkVK97GIr7cf)M`@DPQG)c4M*kORm{%#F24wk@Vr#IlhOw{V3!FLtl&bgf0jwFV zzk#WEOm#P)%CJX!6AlLmd=se;DdiSc=x@@&TTqgi&0pbw4y3AI;RLm9ht9warDVE| zvE#hzHUl+ffBLbO??DuS`FFlso`Bth0$oev z?_p{Y#c>ZXaFzV;LvPKnjJ^-du^RV#hz+cwQ0o5>yHF>n;|3JT(XoZ3QEX2ilotdjv_#pfrHM{XS8SRRyX`P&@w)tw;x4O?eSfm-R+e-^fUgu+a%F!i5>haZ7eafuRLnD)>*4n!Davj#_wC z(k!iT!aoYv7l^Jn{LN;fnRgyEFxRcBfo$oL!p%qE0lGQSpgPPM%;ac10M?F&MAB9! zY>1)Rz=e8Ra)OHzxvMS&3{wL-U-) zLi~*Zm`-lk`I5m!cyd!Lg}I3Na&_o}u9D*DsEf#hKR3`7wa~M_PK45WSCI~ea>z@A zU!ScLJ){$%6H~D2^3#i%_)CVBdJ&^?I7_xh=w>pR+|fusIxZjZ z4?WN+TowfH40G!ns-ak^dF!ZRGYT1W($QP2;*CS4o7zS11Sshx zAw%-#9>*oEm$=ePSJqTj%}OMLO)D-!$#|;ej>y9Ua2O;Dv1u zMheC=SoD+*atIz+6v_vDfBE>E^r3j%q=BJ;!~!~0+(SUm`Y=pmE|jsDwMKX0eSqVf{Oe`Ds6>%#C}d|F<2Uf)?yt_pjjIbe-{mGBjTLj34n8o(?B>2 zZ6HfU9cgbH$kJaF6)tu|$ghM07Hi4~v4%GZ&{oJNBSbswX4XZBO<1FEh!lPFM_Op} z)Sqrd0#)p+v<0oa$<$WFacV*BFY_?k-xe%}ShRK`hW$4dhT$tEA4Q9z9N9u8=240@eKy*rB?-pS43cOwK$9$Q4h zjjKj{0JLtb@COP3u|VCI=EsUQ2xTjZ6}~C15*~XZ%Nk*?1WxE-8KxQ%Z^mJx8e}RR z)VKT;Vvz02HnPHB{X~`;i;b1US5o?|OU-@Fjd-#n*~^qzdueYX4nC ztgC3tE7#%x~u5sxx^0_ej%BN!7at_QMA1)W)rcl zT|t?H#NtI8&*EL~hWpqlk~dXJr}nBPK3@DHph!XzFoh;dQi52_0^o%gRN|GPsc5gB z>uyyd@R~U%+T@9?&0>94G-0gVQriO!!}R+l2`|P*SfY}Jzrb23rMHMnEnH(X4EMo> zLpXDB_v>ZDS^7TpH9}4i z_Y?SkuTxYtNTl=bdnt6VIFgf(`(toln6gvnnQSWtedJ9)@*1Qsyp)2L_T|ddfkp%3 z-*qdTlr9Jr%V+Hne3#*=#+aue)Vp|kM%Qqr#7T^k1{e);n88Y7#W1vy$dyR8y>Xt)S070`CBOQKp;K^~flKaYISH?|!A0#epoWxByckhyf-uPreE=$-BO{CkDXTKBa4C7F34i&AAMMkG&%mio6{F+{ z30B?OXh7twtv*bNpNjY^6PlE-jpXtk>QvruC7Uts9Ep6LlDk&^p89y}VVRcoGjI+o zeBm9Jq=}f01)*wdh~_fx>}E$!{>D4pHknp?1WZF{Wk2#5A%a^tC);#MimIEXUcc%o zFI-c0Dw7m*e@YpFi5pI}BSa7_86jG6eKLJGLIikx*B!I4mQv*`Lr(S|2Zq{gE}D1@`)C~-(0#*7kuuvSPK z4ee>9xuap`XHvyz)R;#XM#J7AWNM7?ZL+|C*%m)`hvmR=si3$qVj$vzmX3i|97CmJ zP#t^3fW$h~HU_OEQNmat7)C3{3JVrLN#g{r0;LW3^HpT}jTe`qGMXp_@=CjXsy1kW z32cVledErbk-rytxx%nV)t$qiK-V&Q*85C4?%q|j@# zt^oEj%}p0=C)AwtGIW;5b<5bAw{2JnLmJKY~=%*LRk@@ckJtaF^Fk zcSYlkN~G7Vb+(-Y%v~r^8PhG{lr!`=T?9(kAVc)fe*$cBT@n%SH8}$w$yhp)q4LP} z4AB;ACQp;46{f*}2vkuR9XnUqu-mWUv0eq^P1TV`Be^v!QVFy2j=L`5! zTn&q*}*1yLW7ck2mwS@OQ_8Ya!UtKbXm;5m3Ur_EVnYedp@2k<5T3Etlhj_U;q zYAlmq6rVG!$3kX-uYaMGSz^|6JS$$O=#E1F*^ErTYA0qKHt3{ob8j0=V0jabq4Gm? zv3N5gXy@nf!w`Fcf8og;DnqY=H#^(@&7-J(mWYBw8kH^P_*D1xG86z#wj*J6t8p8r znLf!Dotz7w^D@k)+u0%-f)y}ZOmVJE@-pdRnAH4Ckg}

`8Wy7Ql{MPYSwuqQ+keQkyD18d}UIM%&~=FGaY}VAR)DU_h-zF9n(WPsc?A+ zgNSj=@7vMb#xZSZufhrRZUtZkioc5kSL5(^G$BK zLwy|c+jW!q)Gb%E?kbT-J^6a?lX~IZ)p`v15|L0a!D3guUnre&z)RA6MH_NOw5xT< zRYO7JWIB;6ygiBmlMCwa#IrZm=88kErWAE@=&L-G<1bNFX?zh+Jz4Vvxte-vY@T!!j_04#41OqDX9?h zlQl8S&$Nr-GVTWdWuSteS!=C#ri-Ij>}S5r$Zk&Z;$q%en8e>F;J z&CjfEWR}-aHQ*5vs=`=yEE6W6?xR(2vI3}|ch*q9i052<8>%FEYd}3$h^741JC=X1 z5X)S0iY{9lG|B%Mf{T;Zk`B*pLTxEu5`kUP>TszCAtOTSLCC;84M7#gdf^Go-Q-D3 z!raX~>0y>0FfdYKs?J-Z)Xve+Q=ndr%~l7XqH|9hqDN~)GuOPcY7Y75i}gMkLz)^+ z0yn6Je5i(eyK4AXzIe_#cVJUP33-}DjB{oGriM+FVpc75o>?r2UPk^(pBAfR8^+bbwt{=DnnuFrH(Du?@RdnT8ykF0tVD->xW4OztuL)# zEB@>X+aizaC1?MQCiIXL82fxC?eFP!X0SiXb&=QXFuwyv!rr$WTqlk?xfZR}2t)6P z*r8SVPwAFC$yJ+x%3xJ#;jfuh@hHI)|Iu84*Fimlma^=_z+d9G^7X5R@X=3?Gh|-k zLQCKVY@1=@Ds>}_>JOB)Q6#!Q!W(x=vaQ$6dWxosjqqeHQXL9f+Y5qGZ~)^_?4P@M zo45>P@_a7YW(aLc>6?U)W&OKihR9K~TlYk^pE;NZomJD3NGCg_+ao>EA>9e-MGomM zNWbTheg^5U9n#MtebphIj5Kd9`^(Wfd=43*YR1`o>^pn*Lps?ZJqYQE4(XvtFLFqa zK>9t0^cbYSc1TY^`l>^EBGTL+2y_b4I(!}(p)$jso{n^~L;6LeCu(U+)d!-ITTZ?w zx<>O?PLtbr;&oPNS@|8TTu${S#7pDzUwY>Jw>q}>oAX~AxrPAx|F2SD;Q!aTx1^jE zzc^ua)bWyt)>m(|vldOegni2=97ZKFSy-r*7SatZiPKel3Mt|;N{b7%WHC*X$&;tF z!mGfino6#q dl@8~$WQTKf^NM(u;~Dt_o}~IGyWNHwm2Cm5mdUjJ4!1hlmQA*m$+m7Ewokyi1+811-Ar98zt_n^ULFb zuiWSR{C%DGJ@@7&NaV-kTizJo;<9xAarfNsRg_d(gnE$*Aydcdza#L+7RgB++ah^c z>RFOH6#d}|vT#DpAIwrUe^7OVs0m*x=S)b~%}r5T_-;_oF|(}anAxHyykE|lo-X@; z^z-UR^82|(yIRfR_NE#X;vYDiA;yaG@WBymg-?zsyt+ATMg!&y z#fGtFG`Z9qp7~!P?$dlob2O5A?ZCKIU(RsF$U;m1AHp|}To5ccWH#Eb8(o7|ErxKIzh=6REQbo+74O_e`kwi6UI>S?JC#tH9t zvS+gc^;LzaVK&sOXY(UHoA@_PUZDAvs6Ij1MM5tn&E7ZKZ0C5pS$`2wxt^J5 z8)KI5)`og?FGHy*jT48zjltlxOY_w_<@(L3hQB|$RMv)%jV>&nrA?uvJ)!3qUmCWI zSs)w3i^kw&YBRf!m?8?$x=IXZc*B^&;tt)J*`*L4YF~SozWU^tD<=hMzsS)AT7P6V zwkI8Qq)Ip;Tcv*#J&1)Fnr8y0Z+HwEZTykId z;Pk>^BdZnD#{tGqNb`ISG2W|rGvj@lw=h1Sd8^5TXQ!9cfe5Q0EM~`1#&Z{$3)0Sb zzAoRvc!B0!Sv)92zYfsM$){%RQ+HMcA)fo4nU+0_$MrEOwL^X8K)(1f?ufSLLJZ&xL5@dUO%JoYBJo-q66AL5933cdl~N! zADmGbBzNmrbWpqNW1L)VWIU#i1B{bdA;z^?LD9?tvgP+n_~q%0ndLMqG_wliUkl?RTroTCUxY;) zb!$<^1Ddxp9@Ctr$^GkM<)1M9+bCizK>qbGp8UB=4j~eZKd5<<@zuXH%Ui?8T!qq} z`mZZ2OACwKFPNE3L!A7ES<;(|*0JdR!)DYU-cVY&D8QmkF*DlCc;ZJUZ&kIz370Jx z`msqmSjnS${4vHS{md-i!}u{ho&@7B=#eBD?|(DZjzw6*>*p30+4p5ne)tz=H?HtQ zh`L#{Sr5(|K8R=?iyqKXfB59w!eD?!FVN9u#z*UkwKCqN%SRdiq2?WoU!+GKGkN&g zxuez>Y1YHa{!zD)VEjYPlZ@Y`%|!CdgJ<8(_UwKgMLNxgXDm8SkHH&WglHX$-mcRU z=`_D^LV!i@4Ii9W82lF{4~q_K9%cL#ImGxAdYm!FU(&pX@m7C{CwAzH_x>vhY>ri+kGELyLl&5Zx*S7!dU{vSNbxOm$v z-|>I&n90+3pw91`Q|x9H=(^X#I9>PRjMH^5!8qMX^k;EgiD}MeFr7HMcXKx)PS4ADTIJK$k*Sc=y7>U>U1M`?iPiR(RkF07RUk`~jMr>3Efs1e z8ST_*Ze^Tq&Qdcs%a2P{q?ELW7hPN!bh2t>U>W1h`q<4l`R8Gr{PQwS{?(ZL+?1?i z705szbZI-asuv@%YPMj03TbxO9g z09o3>I9b}oI9VEFoKmuzadNZ={Jbd{XBEiO1mpReO-uV3FVH;6IHhE2=I2XE+&YvO z25rh1Gn`T~(8+i}AG;VQ|H>FA|J;m|e;$*co048ufefr+oKmumaq`c{c(?Y+pT)5x zJvz{s6-cKf&77xXh?W0|PRVA*$s<)W~s$;xXb06bmDb1WGX(KCN^!wCV zE&`edsRCtbGpi8S$1RMLrLBxpl13OON2A$1D9FilN`vXo{{4pEXOSotforTvVPqvFNvSer2^BTsstIoi*-w@s&Fk_E_8p$gzd9h0S2#>r9}r79cq$dC z1G3b`Dv+gRjJMotTIy!JRdWyHl#;2Ln-j~vVXq0x6@|e%R*ekwGv1|-8yP460*sS? zA;!tSW|NsEOj!Te8jZW z#kgoPc^TuBlBt=S1Ir(_Qckfm|P z$YGu4pa~tE7lBt=S?PRBk@Vc82uj&ShIQV%}GQld4rTvVzJ!M*& zWc-lkLe0=jy_8Z)re<#P?3A>HAMzFk?W`IZ=wdvikINV*|J;m|e;&rkKd;HpP01Qo zfefr;oKn)qIQi#i{D@)t*OfSsG{jkaj4+_+ica8Q=CTox*9JosuFv z{hGp{^LXFyoYx0md)sNo@rp#5g(H!gxX*tCVPE0kSm0I9VEHoGfi;oKmub zadNZ^{Jbd{V-?8KZpQP!V>;Bsc!B0|#>@Ab!4o z=j~9E`oj~};is~!7Wo%qyhk55Gfw`sFisiS$~f55fn+|km1=6=dG;>-9@-NQHzppbg!8kdZWW458eUc0H#?1MYlBHJ0$x<8R zWT~BT%19^U0}kiQWxWgzh_!n#`qD<-HcO8rePHp^yEHlYfnjlYarm z$-j`v&rQi@R)Gv`VVqL3m2vVf!g$;FP5+`<97}RY2img&>6E0I^OWpj>K;+8OU_Gc9#8KA^da zaZ1V5%*_F1r=&al(G7(`535E7)-WE`$90U8e?G>^KR@H-U!%#-P00YOKn8{wr<81F zocwEHy!&O-zt${{CF#+DNLC=7k~DLklI^VgZ^wzNS;Mn+3?y9>&Si zIOAk#f^ka8e#XhsB=~t#QmB!cDU(vN)XI3-LDNzj<8ICEj8jUcW^T5hos#%XsSRc(8oBXq@Qu}uaWVA*G&HcSsY6;qywR>KsqI9<~$`^SouDklC6xB zqfy31hfc|M79dMI7$-}+7$-|(j8jT>Gfs~7fS)%dN$O>s9IXkmz}}yjmew)8PjesR zWGT&@Cut)q|0C^aK=X5dQ^_jC^>GX1WN9nol%x^H$2y z7~@BOYC77@`0*4+{`If`SxPhKmL^#F54ENJjMI59{$F7jDXt9$WjmE)knE>?joEo0oP%ext`(cHs0rDSU6=ESmZ*zuc6KYmlms*!fN}CK#5noaZ1QtcvV~P316vuVl#DP={zVz@`nBnIdltu%#B`t|E09h}nmH{T zeIF5Hvto<7BB&4Q8Y;rKFW{a?}Q%m6BwsomC)9 zos8G~MyD|2b()tkPAQq1`T0^3zp31c-&C?{WMCcR?fTfqIQi#iocwEKocs%z{M?ib zu?l2hGvnl63*+QpE90);n*K$yIF_VL2clVlbV}09c}jM$@>BnkN(j-#I62zQxa$p_ zl07Uymc|(;OB0NfrTvUkN+ua6M+F9um6EyLrbSjYGBagTN|xFfFVN-fjF)KcWSmkm zHFLB5>|GMSsoaj=RI+MhpqKH8KCWS${HtS}{PQtR{`pOQZb~+?3S?k_@tWV6{)HGP z|C$+(>+&sG{5t%9G<2XfE09h}nmJF&C@cS{PRaK0^lgQu9V|+FYZv2hhSzT|97V48 zsJg*8D?=V97$=YW87GgEj8l$^A7`f=S!^|VdQIw%n;zR(1@hR=_)cBk$#|3IF2*TG z-B}!`Ns9)atbh>YgqLx0qK0vDqKu%9~bJVbxz#yM>4_PMOrsxb-LIns+cxj&`Mas((S2#?paQk7Q{#<78$l#uz6@yTP;0wbuVJE$U$v z$kI6DQC&X4c)RBPj8jIYW{!!&(d z&u#K^Q_{mKkbz#t+fSJO)i6%})iK_s%loo8+K7dp+ff)KyJ(&~0Rvgpgc$d~=9U;@ zocwEHJfV+U8Q1;=MT7;&z$oKnU_0ZKfE|pJe_f2n|6=+VOYzIoAKA&kZdRdRSLk6p z8U6@)ME=n{xqtnv)>YcSB;(|t_08x5-|K=V4r$x)g)wNIB6e`fjc)ceN-8#4*gle`Qu-lLD38Bd-x zN7%x+@07_~8INfmF?sr2E_>Ik5M>p}%XY@e%MQlL$}YwOy8T!d#~OrmpgSudM7QQN zbM9rFm488JXM%BZG|70)Pxa+Rs5f{~2eds}8K>;DF;3ZOXPmOr$v8Rc0>}K*9h0SH ztO8l;X586pE}4gMm*!r^DLYd$H~Y=Lyx>QXU&fCjSv4}Sk@1*54lqvsg%~IQni(hm zT1=i!NiwjNRUiW+jF-HpQH-jNy`h_yy#H_yr`ZOK$lX@6gA7#>uQk#>uPz<78IIzoZVdX9d#vM>D78CjYuv`9NH)C2p4(Cr5i2FFT_1FU|sF zX@YUGw4ZUZG|4#SpHLm)MH3)Lt>EX~5^bykS!!pz?r-K6;AGsVxr=ei$kfcu0cCHA z_yuGLzkp=b$iN!Lqx!gxaq`c{IQi#iocwDv`MD_>U=_%~5aX1R&5VVVXI~ce9T&H9g3y`HT#>vud#>vti#wjJ^jFY1Y@bji*KdV5N zCK=ym)&CfSnh9Ry&<@S5jMFZenz>m%J0K6W!s{&^TD|GbQo ze>EmQHzn&>1v1dbIHjbYaq_Q`@vc#(e}OEHC5h=kC@YXoNt!tsPAS>K%D<*lvXyai zG|IU6g-*$K7O;&mN7}(SS=z<8U6+qBPAS>VI62w_e%_RfvkGKsf^nzrxSw&C=1Ioe zHBZg_d?|@vKsMtSkjfY{oKiB-$#_5?yBMdGEMuJfb2CmU=`s1aDd}Yu$iN!LDJAO| zC;xnm*N-vqb_<2*Zn^ho7dl)}qGcAoX-m7_naoQzQGdFWC)qnaIkgUSB+ENia zf0Ei5_v>RjG7^fs{Wt@^U!Z;;qG@EDq0x~<0{skoC zWN8=UWND1?o!X&p#+yrAA#wkh5GPrsE(Jvq~0xGG}OrPX0ABPX4tpPX4u;{M<`XgjFB|ql{BZwlhxtbufNZ`_z@i zu@uL3AeI$KUy5kv83w9#5S?XdH$kH;#_u9?Wb2GkAa}VQ`lBt=S6U)9~$1fnC#4jLOH8Rl8 zc$YqIWSsm9Fi!r37$^UlO@3}lwy+9hU@PO~Uxab;FUojRvFTrX7RQq8(t(bwKsqI9 z=Cp8h!yaShAJQq=%{Vz4XWad^PRRrdkfr^Mlch<<$x@*j%t&EMNh{;zs15wQDQRaF z$WkZc(J7{-F2>t6FJqiiGBxw_r6hgy`ev5)cSRC8E<#@jV-WSsm9 znEc$746zCwx}j#qDJ5GNC;wU*k6vgFG?K-!B<(s7%?jYNrRFqqo{}A`e6LQ)F2>2x zZpK|lbxQWIz|b6Xq;bY6B@>L3rTvUkN+ubnloS}ic~jD=MwXG=WT}mDm&+Weo$)fw zos5gQX8F|2&zF+;1*CyrK(cCNpqKH8KCWS$PU$+v$v+?C`H|5wRx z;r}X`4yU>y1Ko_b=wlD#J!NJ$UdGA48pg@LI+LH9l0H^}4D>TjDcQ(4`4?c^s{fVJ zP!|6@{#Qym(3}+z!nN3(8O@xhWGgFws5fPxh%io$wudKtyD-?nqDL+kg;NqIxA@WH)>rDd!Z4b#JTbNKG>6iQq8(eErQ>e5s4voi7UvF{XK z9n;YOiinqa(1H`LEKO)trKb9nvJg-|x~(Y3?<7`mAWvff`n!UGqA|b1yYJ@G*YE zV{$*^O)E^^n8k5nh+S?5LRkTDeca4A&8&s-6MCSnjMKy-jHf2nfVGaY0L`qO@qH`J zfp#!{VwuUi7_ZhmmRjg;7X1??CgV1J9A}&sIKlX5x}7BBE!}zM_GD^$q4(To4%ey+ zP{uUeVsabf);g2h8E@6?I2n&>?#kj==w2Nt%L)ilpgZs|?$gI!#yf5{2UNrOVa@9p zPiYjR?|eN{ID zz#4Mtf0{YOxX{Vj%y|EwO@~_k58j%=Q|Dj*DYHVWp7BU?;3AM3C$2<{Yb-h#59vUR z@fOW{7;hCKyf`{x`32M& z;8$eucm`jW!EG7s-X8E~7b#Qw|KpZzawt(N1!L8wg(ZV8IM)c;4s6BiVQD;Wf z%m}lHD?DL;VNqE|bWKKGcenykPev47pM815cOzPp5xwPXOo+PhbBOvfqRTU){_wH= zh1WM`L{tAny)F^R;J0Sf3T5!c8N4}zuLyq~^DWDWwq``H48MWsRTvWB48-Bf2pB0HUihqKS;?)!~;AHBT6`NHQZ@ z75>Zq!m+8}+3NaO@fQoj_5=B2M`pB$l?L^Kj>@1|;kLqX0CY?S#ma(4LC0oLtSD#? z==cnZl?1iEm_HUD?9RThf}rjf^NVgc%dqkNKAocz!neMNf2%qp+ME$x6#hD*6EmW% z8PS698;DNIh(8AsgIe39Xh;1zXxBvCM>gY40)fL&YXN>6@{$zQ(59EAXo0pu+n|Y8 zrEnrys(vU%Ike$*Gz{I>Aw>v!qEm`J(5Ayu9D&B(kfH}#{u3$spkAmI19iO#jse8p zlA_=aT*nR_!N?Ja{7i~&XaZVy2ORjh6uFp5FLW7n)-R-Jgu0=9P}eV|m~Y4bPwZ_B z1loHP1A(@6V<6BTXcU@&9)>2NEois=7zTjjDrkEUpb>BS076i8?b`J_%oG}hE`xSM z8=y((ag^WNgNAS%f$oDg{7H&9bQ^R4+61*0qa3sZ8iAHU_d%fjoV+fm6Pjxe zT7(~Otafw=wLx2;p(2Yo4s}jJg&9H|fqJ0zB^I#*>W4N%8=-rlVk$a>TA{sAmjljV zKiDDNE0$sjmJZtCwTK498?VNIp|e(Fg3w?B zZ)~%%CfA@Kw51vjK)q|QMo{Zoi^!dWkwZPuqc_5GXy_Kq4BCAwmc)hRyA4YMJ#jmn zf$s5HL>JVv*&?i^IF0>iA6m8racB&BxD@CAj;$8a4`BVgMa-Iu(+64)t=WcwKoig- z(1Lrg6!UOeLA}s8v>w{>1&e5f4t>!gdZ35y!-VF;A?Pe;;VG;+)cQ?W3bjG^Li4|cwS^Wy6VSuZl0~QwEra^MgVPb(2o3JQ zoB7Yc5@ST({m{N&!XoGZv>j?aill+sph;-%Z{g6TSYxOMI;$I5 z4V@2df>s^FQb4PrF=+d7ix8KgeP{tR{zsgq&;-;64f_6s5#x;?x)0h2?SKZLN1;`J zhSj(yZ22F|5b8StN1)Yzg%i+vXg{<8n!60`{4bo`j=ldBoW$`7Xg##yU5nTS-3E<7 zm-Sjid>PLFD!ds0u)l}XZaLNz>V=j;>!E$nz0iigqXKjQIshGlT34XK(-yG|+5)YC zwn7`ACq6(uXdkp4IsiQat^E*ALhGUVD{=l;{R0iGgf-AcXzM?*M?)jf!_c;V%n*7Q zn(M)71hp&u2m^#3hc-e_K%1Zg|AO_<+>hZ9G#}azwGCi`6=(_z%_$ zYK6w2`JZ59mDn(#PUs0}IkYN?iqKuqdgvZ#BeWOV1T7!L*#cb#t;Z6SeTuUN#~x@G z)C)Zh9e@_Bf`ibY3vY7&3kRV2&>HAA=q~6EXawpT!j1>^Lwlj+!^rw7bOd!ntDx1; zYN!ud{~78*8!b7a7aD*jq5U~IV*V9qcT|qp0c{wY6BO-uV;zTr&^D<3N^G6ub3`?C z02+d}+H%Ap=&}hpA_0vL5}E$S|{a*SzfdYt%KG~ z&Jiup0cZ@`T7-XNeF$%QigSebYHSQsa>Pz(SqVCX_COQR&{TA|8e1~740_y=BYe;k z&>hfO&K$81Iv?5rEr%Y3E`!FQN1*xFz>!&)7&HL&LHmOj=7>FblY~a0{y7*qbPqJQ z8Z(00p?%Q#&;h6i8Ys;XjnEco6SNiD3eBIFBf6ml&|YX9I%^Hicc>fMeo>C_Lpz{5 zp+Vn*9MO(9NoX&$bs=WD7TFIigB~u!NTEldJD|>sF;K;!amAqn(4$c6I`GSKL=E%^ zv;leo8h|z|%Moo*+j8^+T?S3AQ|CY4&Dm++wXjui;3R(|60d0Wx zL-$r;X6xb173c_RzY-lmOQ5@;v!Jcp(UCVt^gtV~&JhK7Vo6u$hzQ~*poi86(E#4W z00y8ZpyC>I0JTALuSLU9J9HLwJ~RNWg&v27peLYvpk>uaKIkrJ0=fq}1nr0VuS5IL zozNt-1v&)X7sMN}1_hzHP+Kk55IPHLgSw%1Xf^aOv=Q0`ZGs+wwnAgjHfTTeIMlut z?Lm8>^RLGMYp{e+-+C+|v>)0GZM`l>1droQM=h4%1_Z9hX#!2$fDuCbp!=W$&<<$9 zjc5oK)XRzYf`s_zq}NSqv37!jYRW5oir`{#`gLZq5-^I1WK~LU-MQ^FN9= zZS^^#54vn4W?Y8`HepSneGTXk6~*T;LmZbwBRFn@9>=ls4kRIt>;34c5tc%I(3UM2 zAha9W4L!aUOL-HP@bfvsbvJIkpnhoCHk|)u2$XC`(m`F&5VQ#zMFHQP$X4jlyKoHN z4LuA^LVKYFjcD*5a4W6>_hUfNx-Y>IXcIIFZHIP4W6)mcQD_o6 z0CnDmrTQ|K5E_9tKy!EE?0_DJ#-P2>6VL%@|7|$`=RbfE-i{GNJt_i^MogSHfQdMC$dX7BXT^0m7_Es@rcMbpZZKL2)BG@ zmEQ2TKAU1`X$`;j*=$Q|Yxu99IV^3h;m(=3r!jEgPuVn-V|w?Ub&{x6REo-iJ^$k~?I6UG6HTq3KClNPyh z#6UZqhDl@XNVHv*BTLrr`+*dAUX*&J92kLhJ|sm9vsN#~j)2)Z@Q^7*Ox6SD0#kAI zQd8~&n`Io#kyGa4dEwcRDpE2MCrAcUGcN-RbQu51k&dYio!X6z6;)H&hB6JtqFgyg zrevBC$d&m;xp;;KzfvzZ{(Bt727Zi(M#`m0#t(Akj4eCWb2eQ@4Ph1z8o|^^)k`rq z*bc_3!2%iWt8zXte+DZ9+W}SwR%d)me#);t4GSu$r|I}NVznp_kC#u3uNgi59-&A!Kr0T zwaQf^`ai(KIbr;GlAK~ZI9`r0zGjtE^IH3)IANTe3V6gSU2?whp;a!H5hV+ano%+r zNi%(vT$pzRr);zNHi@@G>g~L6d^k66{#Y1ed^Ac?j4t5L}Z|75R74+?u3>jPV692_GjE-yof7FjJq!FZe@thfuT01Puqy;QknVEKm3 zmlN{@LMO~AjI+z}#;=xO9@FeHZ&51>?O`3Xfi-1x;6Y=E@nqvC?``d@y@d9T-{<7&0RDQYmy4>?l}^N})odZLG8x zxjs#o@t{n>1Q-tHG$zbLnKGwzj;;c)15bWxIL65<^V$VI=cHF^R5ju~h}(^)$H{e; zow>$8#>tE2He>pDBwTW&aoc!#r6qT)@n8WKyL&tq+dmc`vyEeukx1PmWxDF4|TvmEL<$sCuUHo5^y)Sap09$46)4L!{YIyG`2jym-=h z#CUUpoNByplf^mRvn=5=pUpJpPLPhg#tY8|w@$#hk-RX~n9+saMkKMf1!fyRo**x? z45jp9WBvuwY6;CTmRx`{sLXiu0=aZV+hTlLv>1OKFN=-%1#-Tn{Ssr`M9kN2R7{kY z%WC6+iE^ps=u+dgiSkO+8lEVxu`FAuX1`!WMPX`Q{{P zx18`8YZuD}X8!NO_Te?wPm+r*9Tld3?USTcmKdFr{5Jy|X-+Ivm9jxw{h8221tQFCFJ6e81vvA$4F%o(`G zV*F&3yr}3n%J{3(_2#2q0<7M6sZcJQRJJA^QccdEqBiJ{3gyzt(TtEv#Q;Kk*BC48 zIB|Px@K7jqk(g?P?Q&|-q4nu@mZ7k^a7Dr5#v(Vi+rQf7>>}@V=`yN8^_+eg*pPYR zlouhlbFa@XvlnHOwfHP=mf5MwL~lr!QPb%~nY~~oW?w5Vl@}~3n2NpZ#&kKHMycoj z`)*1zHQ!|@*9taZo~({yS)5mU3m#q=4|$M}H>+b`y*hVN=U+=PR{LmuDlhWv4qTy( zzZ7GkqYdUlV^_q9Fh%BC@;93);k3)#q7IY{Y|ifaDA+b*_Y}EwQkg#;QpVV)sYUq9 z6uEe^dKOLRlbWj!pBj_1=p|)M0tXZY;P7SCUmzULF2&~3<(}{Dd7Z2hoq-O7(h3)tuW88GPpg8hyI;N`aLTnG1$71{@ zA3N5a)3Gz`Z8~e`)FcXsucRxfrO3Y!xzL1X+-BbPO_%n`(Tp;x;aZg0`xT>j25$bU zjrB9+;!^)(>1Nb4)b}p#U1{b4OMuNcUYa3SNssZ-3>a1Z1fFB6d*4FCIa9hO)wZN- zsKK<(Ry*RYGjT`YHFnQLjb*#>T+gi0HB;Irm4vfvxaPn{<3rRa>c&?GnN~F-bOg+9 zX6xEna&l4IH?zweLYW9yy37T|ydjD z-Z$Z^4=cEOslo073xGA79c`ThD!ib@gRf5{!mlhL{_y zZ@=-G3zuz|v8Yr|oaBBnT|_PC9u%2x+=P#9(rxTUiK6nC(j`N9`xd@mXWX?<~eYt@v1K$3iE5XZ#g~WW6!r z5?rKe-obZ8`kwLC^^7-F7qtlK zdz`*YWPzpq_l9Lj>W05!2~KI-pVTtVH9||IbyDr0(@m?7cRiP?ed_5Y@~Z0_{|8^S z0;!kkwfr(%>lpKbMHs6G>j0yiQf)MXwShI6vs$}UPM$0Nl6`k`2xW4?sGiz z#uH0%EiM0RI;PIZg3FP1U|EUpme$FKG775B{U{jytFgc>7fkZR(~YRSZ9}ZwxZAC6 zx8vsRb~oC{%Ria9p-rAzjUIP^(co0OJ}^I6`Xj>RqS{mGGOGQ3DB}gIH?Iv%mrA>A zG@iaxE}eV)-E>jq@2usRZw6D#;RZYWuJPHW^2*W%e1S{dtMYpgs{^y+y?UwcqG0vL z_REm0?R{#qN+sowFO$Wkvp&pTPS*-tmB6S;H6!&sGHw$t$Jx>S5B2#d^;m25<;c?} zd>c$f)yULW$^o!4m(nCy30P*` zd=Fw^`PjAoxJ-^+VP%!dQ6QI9@`5FksY+-TD~Lb!9_*+|aY%nZe!{SIj^*_ z9$)JKsh65qD?%aE&SY(1jmF(8W}(~(uma<`m3V-gl4+yV?B=gh^rMw>p=IBoF~cJ-E>++0 zHzA~6s)Kzf(hJs-A~<=W9bi7=0gt>U@9?nt_=ZaWp22zWF@E1?DwXlEzQmYbA?M|^ zoUs_|D&!^0Yee?i9IwJ!gJn9E04oP`>b}aLLtt*>%?g~s-4b6%nx7!YRm#zMxfT=+ zpZsj1QC5j9DuKgl^Ktzxm2#40$YR`6Dd$>F+tA( z%qltEGBnCqunKpg+l-r5;n7jG@!TpoC$D=fzO6a?adn*0zY0&hViSx{Q8X`k0lvCX z57Q@G2$!Qp7tZO=6rO6qv_T=i>=%;^+VBhkTfQBJ*7 zc^BBx65}6UIlK5MVzf*u?!q5G;$0=if~&EtE=X_)!Nr zsx*HM{$m`w8ut!EQ;ok}jgMIQ#@N+z&InbqCAC0PjO$m+nX<;Xf3>_kcw~BdP^yL8 zwK#JbvxDse^B}HXCHONRtQ#z@fMwq}r#FA9Go1U(h^MWocs1fJGw?-fD!wZ#uKL-A zxO--fvG^J}p|pHvdiE-~2f_InY(AL!CC4md`!#rIIe<`=Y8Nk6ye}0xcnv-h+GnND zTXk1buui4)pRU23VuLZE8joIb@v{^O8!3jl4YX$P#?-Yd*bbS%Y(+z}UYA*Wu7*>eP^z;mZuUR!);PWBOWo zRbG7+CTHG?er>HR!iW3k*2C$s ztHvAa_~^+HYQ(>Gp76P*H>RJN2tda>u93 za-+O#O!6u`gv&uASKVUVelzadpSlqzVY%_+FL>y2O6;fBa-jJgR=@7of_4L8Xpmct3-iJRmCbo<6lxR~rXZT#aV zOaT{xn=yr^e;YU4ELT`|{m1ww6weKQe={Czl^I31z`;F9O)R9Q7z&ZroZgS6Yt$*LbELpO|(G8Go*a;l0C#<5q0%ho!OlR&;GQ?!Q$o9n*}f zz!5e2Gxg@^kKZb1+1}0<1tI)8rz_|7Kg6L%&DNZfG`OpZH`8JB(iY-@cv}QjwncFyc8@^s!tU?#)(8DrSe1T$kY>SS(v{*XRr%JPhuG&M#Tm>vp6Ro ze@g%*1zN7hgyJ&=I-Pc4c#QGj2014ec&)L2gPb<%{V|AQT^}}%Z9vA}WlY*A?;U#s zdWz?mb#63HZp6d$=tenz?5YfoFZwr1V{CB-nqquqliX2^)_?z?IaG1|s==;2aYzl@ z`dqOwu|eKhvwqbeR^$WRc-Fcwb`?8`A&k0d)nI9!I5z60oWVbS9Zo%O4xmgAQH}^* z`+IPj*uc7q{lj1WX|%~W)*wq}px2LcEC&X1emWKD+Yyc+-|2>`G>2!FaN!3i_h(~h$X4mal|6yjAu8? z6~*TJR5{Tr?wTvbFK4G&UyPh``zwP=ik332LJG&C!DxXc6vuOb$+l)4$c$Eji4BOZ=Pj; z@^U%&w=r`6yVr=$#81Rv?_xQ4dZ`@zV4WQN=4es=htHBrU2cEn{;q#L@XjUqp20IK z<)GRnCct>tn8fcU=1+cn2!pfAJDxGTcgU+JT_XoCKeHAAMV2WF}?r}OgeBfr|`he83Jo&J#Ys6-`7;2qbUcv&zvcI z)>86;YAX&ma`xxOfVN2&|>{MzjL-^x@IcFBi)c6vJ;TItVimCUXe$6wOyd2Ff zG@kV1=B?wSccEu65w7fvA&dX}6VKqsODhJajl^XjU(|ZuQfJrX1L0jFxaX5~ z6@#9c5@6ziZ=j;*5%s?CKnvd6M~aU=!9v}8f!O^A{P_f_GX1kN>i1d&s?kB+=m(=j z?I&27T<}k@Yn`#!Kk$IXzI0zlG-qN*>6h>8IQ@d9^ECQ$-hbba)#-CY9w{99FxS|+ zRgN!0s1yr$FS-h1{hfLEYdjWD=LatsPi~c$72T|cg&{t-*mCSfJ;di`T8`Bj?`@TH zf~$4-{lNt z?7)59+X=*q&s4rsxX3f;LZ#cW2A_V-`03~6;}-@!gQ~b^li01QQnkXHD)$#G_jKCF zdImpz+_+~Oe)92r#jpkY&8wAFov&6_3`bMFjN2ahcExbp6BWb35#sLGo~#%?eWMu0 zZ$yV9&r}R2?vEtiO@P0Hp-FRucESL8gr?%r$pD%Rnm<`70J8`nT_=c!`Z(YUkb6YEh z3wp)E=Qmaizwo(=;W2ohYv1e;EgKylptm31SutFQ_g}`j5JX4szq@ApbgR!%i9a8V ze74vJePM0Ia9`oG#cDGc#GilS*5%z7#qbMXsu;Fe`k!;R|9g z`h5QGcW)8Hi8&MZM>me$oxsUoN&dPNLZdNw#d{y+?#`M&6U#JazLN&@tQNkK}Lvch0o! zCm&h6Ju&Bk{i&_+6|DUyDEF2Jd0^>08T=m{%#*|TjYz@C*FCAgscTe{RCK=o?%3^O z<_3pwZFI4}9tw^lb5`c8y;n z$L8W%RDo-du;a`AmIj9tW52Zee#gldJ;T1yK8FuE>09e_D04;i28Y_;qLd70CGjhr3 zt3sV;ETcbo|NGAtzmNEV|G-b_89r@z27iE!;DbUrto&J-GwOpx*fZ#y>HX9?1#?|0 zhyU}7XN&QPK3JO=Ar6ho`P?&NmCsQ+=y`Ibw0+Q*D{9qo1e=evhOV7)=1hC#@e#W> zVJ}YRjGwD^h2#sN4i5GC2^C}!!SJ5f%zkf)TP5klM z;+4|6_4Koz!RYOCt2$R;yPAifUx-WgFR1FohoJKRjK?N0r(!sDj(y-6e1D=GUWpG& z@oVJpypf`IKlWR7{PqY@YsCbn;Lm|26@w+vK3vLQ#QynVPRRkI`(9bFAcX6dXUq0f zqF!|7Os%lq=a_D}~>>ap{|^3{(GiY?ZGdvuIlU>_k~pX z$@yP&9LKdv4NMJE4R-&vRh_>aCCVd~%HfksD~1o;R@JG_iO6TTP#`b5ru!Vh|Gf2R z@n~4Q{~i>EBl{PqOZ5FiDyZ!J5BApm8>>1?b(zz;jA~GoQw>r%<>LM?R&^@(_Tzln zfs<_iow#Gg`~4SJ3@R^9%`@vMZ{S1F@!UTuhNrtXI-dVm#c(B{+PoiHyTRdsdaBK{ z*a=NF`Z+8IW{#VtYfC3RTYOrIr4iIWsTxK3%{V!)lgXv(Sh!&_+MJFym1`mF2r4hs zj-c9#WB0Qr9`cZ=oE1A7_VE?>3wU2xU+KE4X z3oC|ifU12)?JJ2_yxY}YqxKovW7Ni^HYByznEOm||C4H0KMkt|Y*!z19>uOM)kmBY z_euQh5x*i0$eClYN!)!I_V40~!QS!4%>h}y5F36q{y4wjh#K5rNubf|@2gr26`?{*wqtx|Z4WBM8_j`MEE zBAfyz-|-CZpN*3i7eR>yk58)@&b2l;;xm!n)_WX#MkSYS86_?mEqZ=8dQ9S9*P^ZX z%zGR^vtl+g?{<70dg@0fZ_C4--2Nq1ogc091cz7R{Hg5Oa9gE2=%{pUc08ZI(czqN zhvUN0jgHxC?{F*`z0vXaS3JXA&drXWR&RE^cZ+BEZ@6*uU@n!IiwARg9$EIhb))0G zk3Fe#HiQiO1~Lq{j|&sieU9GJjgFrk-Rx+xqW&*D!w0MnIvOr*a5TAtTOG|v)4bWD zwyDeKc<;BK;Sf6d`h^%NI%#rmc3fe-3np%MY%dbEs=@s$u!BqycZj9a%q#II zr>M=Fa&OAT$FOFzG5haYKj#>MEAe+-pL6WTm3Sqt#H9xxD=x)-)4y>Z|NTPD>{Tm1 z6C$NI!=7HOYvL|Xrytwfn^W#{sN?q*8e6|4XRd(zy~uQR5ByN|CdUhx2Cy=lv7nnB zc^pYhu-$*GsUf`ZBcb+Z3--A2bW<$ekF zdSuDZFW=}mfC2vuW~lT1ap)DUt&Rv{7tS_je_759;x_B8QJWloc=pKJO^znlCdUl? zg$!Ep%G8Q)beuvLt6{Pe``2mQ8JA;<2WC`t;w&v!cPdnFGtSzpM~bDV7JG&_Ub@jy z<=&cFG_@ud;saaen!E&i%9QzAtfKrB7D}1_Fm~!kYs>}MvR>5YW-P#k7>tqspe&gk z!VgF!mQI~o*!*kdw2rl>#&<1Or`L0N_B*E!ZM@Sm)|mZ(ToP29irS%K@0_W94I9MX z&(0KXymV_Sw|vvLI=+iMdmg=RL{3#6{k)?RL-u00>Q3-oRb%L)o)He7@Hb4esTn5@+KD(D z9p9~Pbo66@5$FF`+?U5yU3C9{W`+w~6ufLAtAL6iq9P)qq8ImFLCKU<5O>2RHFE{r z%}8#d$2B1{mmU-fyAPHLZfPz_re>ybHFICctZs$;-t+lfkorEq<&WR%_4s<>hnaI` z=FFKh=bSmSFoy^1q_6xCD|O*=`L@$5c5U7tkYgdVtgvlEceOQ`CvR zv(bcrWzYoDILb0Ty+L27q;F!tLkQ!t4pL)I4~T$+C1vdt@cucemvxxl0AlcBX8#mU zuP z0-&bgTVSoKUQl=$7W`=_?5I5XItWsy;Ab2vkQ@=vBFm6odM2%wP^m40FnzkmOSP-5 z>J&_?>F^6{2(Kv9xRp`bBn7G#QwEf`faNrTa!D}*S0tN)8lfUkubcr(Lp7EbfHRV% zlHJnU8f`3n6D*bC#hUzzFdM7SY4ut#b)?;r^~R$lzO=8l(Sm|Rr!pD>@<{h}0 zax%%L?=*ZXu>yXqbf_nlee&8bh}+#+9J&R|XZkRU1!sh_Dyxi}RvW8ul+;6hWjTo# zF4HKNkD!*)2wjlffIsV~OnA4(4Lt+0^Ij}zbL5itC|uBAu%tZ&3uCQTs@{T!`Dl$& zH4WbmD_(e-vG_e>YkW$;Rs1|!W2|bAuXHI@7johl)uoi~qa>hasrp!Ww2;Ip5Ys!m zj3tg2xBJ{dILOi!ksdS_3h9vMssd>R(g|ln{avnyln!qMlC^mXrhK?T7%-`yhKdIM1zhQ%0z(jnHA8s=Yv>HAj%s?KbeI&NU~#VY1X|%75TrI~3Y>1M(gFm& z(s`4vhY{9Yy1_WM@qhOKpgFp&8W&)P@-?2oE!CjS$xz(^S=kOKUL9P5C8#tFzO-zp z#v_nkK#h`?T0tu6C8NixZbZLPX#p?6kCF>=861`INHs1Ap?r#Ho)k(MHdMohGJb+c zm}R=Ls$vY(+0hJ)sSFE3k{MIdEfWElYpl}8xrfQ6C$15st0BZ$#ww>~9$|N}CT5JM zThf3x6?l7;lDqCkD`O(vvcOoyb$00$4oL;LU{Y{Hyi~xmM1h>rN?$c(TrA_9ClM)- zL7oa3*dfoA%)_mo(TW|jDg{3kvI|F@snbdp?KuV`ITk-PyHm+BP0LrZ(7uS#%k3q` zJWt0WSMF_w&4mo$={aR~yw&b?#iQo;Tgw%Xss)GlR0+jYlUIQ>U<5#`{z2)hwWq(I0nOl)`R-b|y=jV*2wn zB^TaH;s-Q-HEU-;$=M)~IVcHoL+KjrSrMO4Zu15kfs^n`wKHbaOQew%7JG zsotAxd`$3f)ie^Z+Q6eq$r#~xpTX?sqF|juwHuq0gt7)(r-l8nvAOF_)}obGsR~a8 z42KX3(UiKm$qViqM$OdtY}-hs>NnZW@Sm3{xiUU~rCIsfdrM z4cjREY7J{>Z=?MF8a9vZr15XDF)@2lhsrthbQgY?vQP=p{!c{r1z{>jLG+(*u@-IX z5bX$pYj$IoY`$-Z2d>2Tls5k^wB zrxakP8;38{-;3y@Y}Su^KcnZ_Y_s#6rJ#AKwwwLBdFR_W62~S|*;>}g*{=@BpY%Cw zEn~DPhYe*9=wS{nk5rIp9rN=3ZV5KTaX2CmHgOV8Lcma9aw(_3p)!EkIT~+bjYCc> z0g;$Aa$8&y17dUX@$(*jlo<%Vy@BB4LfUI${n%c5X2Qj&ZL;F;Y!%-?#n-ipiQ?Zu zyCw-fVgr8(@CgmPhGt6eatYpR1AheYJ`J2f`4T)&g5R-$Hv_yu1J9yz2~L;b`8Mzp zfER1viNs`|Qzdw;4Lk+l2^u(=A|*IUf^ot^Wl18ygEa79N|oTg65Q4X?g(&u4cuL0 zXq*K5*ucR6+ZY<7GBhGmg1HUs1hBnUIvn{@r!aX+#>VLo(&e(wx+VUmOK(!IT%7Q_ zNi%aXc1VR_= zVBP>$CS`8{Y4d647S_Z&7FfxsM>^UXmWPTpoh(~$1gJm7Z-q>R(8aA_Td3K28*^an z9(lftZvAAAewTgBS&;c|9(!!(`D~GryA<^V2P)+(P@YB7?X94PJAwKwIe)+&v#sW; z57?)Ir@Ti8_u}f*B&ymAj<+_)e+Z7_q}8^6u^u&===Q%@y8DWSur@c9*vuCPMQCCH zGchAs3)o=y$$)dmQ@+dhv(9#T@zxb|d_S&V zE?S@&1F5bmz*Cu)JoQXha@9PT4#qMQ8&gmr^vwk-D#ZEKEA#2|O*j(@St$gkx{_-V z&ZZaI%1WWFk@pLfP=rxvMyrchcjsapV^L=Wj^`B7l_Hd_B5M)r>ba>7q~@?rE)Dz$ zr}vgo_D9T@SB#~-AK}y>`2P_EzZLcT7!|jnMIW;$ww;PTMrB0hAG6b#MB9qlV5t?0 zf%y?d9{^@Cr5^xh6Ajas$_@Z?t2z4WR72!PWXE^y7N=2W6zkTT8XE^I;Y)%1(&}JM>ID|Hf=-orW ziK7#TP$G{0IK&$J#0l&AI+F(@cAkBYBSRG~6!kewu(y*-=RNYKlF^I>pU@9W!|l+=e4grpAh+TF)Gr z7mU2I`r5o1GH-*?I*IFQ^QKbKG3M(z4vtjKph{E2F#M0na*R!6N#?%C<$T;qRbQ}B zZeix;C)rL0ww^u3n#%OkQ{V$TN~x#uibAR@tv$^KdhVW$#+(#+9_qkBRSmGc+o|$2 ztmP`R^BML9!yTrJXW1;Kr@rTq`!kI{$ELE!RDO=#XaAx@U$N%(HqTOWv9>zzXkqmD zE4EyuD^F zo=|};4`u!7$=9rdeK~xyye)Mr=xP56@{Akn=K0a(3#`a~o61?>NZ^|T)?k+W;_ z#(d9$DefYKsw>UBSW9UzmB_q6dRR9v`Vu2{ht6KAL#gX!oX|cCCoFKmi%Kt}tNV~= zoLifRZu!w~m)R*cmCC-Yt-#MLuCU3>(+=1vFw}A!>fs5w3e259DeF6M{72gM9W=&y zin#is7)`&*MoAm-A}@ekzXvVZ@T&rc*0zfdCfQFzo^f#9ykM&Oo~^Nul}=cnTEPBm zK=wgiX^+}GmGIuzSu8AB*7X+@n2%m(!95x{V33!t8kmCYlX0_q@wyGk#M~pWb7e*a=Fy&%R)D&s^A|{RCZ+!Z-IhvwegO@GDe@VnV7xnxdB(0_V#WRnoTrrfE5z#xS!L=d z1^otweMafOK^+%U_HR&zAJC%TC1V)<`5Vh(3u}`*en&E~Hrd~bWN2;jsZ2g6R;89T zZ~23b=PbD;-g6 z@Ex#m>2`c2n?TR(_fpfJu~JHR;Hu(UCFYyI14cqj57y8oEiMNxwZh;fGdLJ2w&JSYNyg;S+_0h&XI+X#9_x_u* z>+!X0Bl*|oF`jQqEGT88i*n$MjYXIg^}(VkP2Z=%UO35zInX zH~t} zN(cZipO4Y>#a(<=@f)LxUtx{-nL9M*CmFkK#wD`;jIE-9!F(zE!CW59hckY6GPP*R zd$A0f*;J0bKT%U&g4vPKjL))fF&eYuH5zmdE~UHK(u|uqn?svIfteLTheLTj>rJU) ze3pO6D2PI$Qe4e_Y@*Omb^U*X``Umi!}waK>Q^)=EFD1C&*D`imCHvB4wn~aMdo!A+Qi{eck^IcWNa+mU(a(9~1hucwR z6whN@D5xEH1ufeS&EXBcb?vxGmpBq5Ni(JPj*I5?xh0VLM{^Ud_*{$TEqPfm)oTxi zz{_ZlWPVe++Me&>2S?ELXdcc}L+RrfZsKo_plPTT+G}bDzFw-$SjqR6)I64N!liaK z3C(aj7KPt7o8Rfk@igB{#scpoHD zxDTN5UR2$O&(p;v!3B`|+1DWylff~_+q}Imk7eu@UFnA@3dyY3pD)st43p-u>?`Ks z!kDR)JFWpboVeDszdwJ*UZ(DeW2xU6n`9!+4Zj`VT{HmOE7syiH#^QY$VxQs8hX`4b7+j4n>VwGwy%H8YxyN$9o& z)jyz=VO+-{PK{rNO&mqmm!%X$QIipTg4@_A)3>lB-n%msJEDb=H^XVm2p(%6f*LdZ zsmn;-ke-Zy33H~{k^Ct8o~lMlJ*ubaukZ*5oY*^m=|(suC-Zr57A_|9>Cyvvr4}X0 ze##IiOMB_*_(<8nV29KFS9q*0Q37b@FX(aHD9lT&8%AMT#QV~pqxcBBcLpmSnp=lI z!LSUmmdeo>=_52}3~X~4Z5jhbu!pXU;Tc%&j7Z@N^iu|7*x?2k$ubMG^+^g0=vdOF z!bC>n8Vp~DOLlQ%F(?i+b1X_frlPTu)BbdMEX)VuO=+s>+3CIILxfmm#>rPK+0DAqU!sBVkr*khF@;R?h zGbX_SnMa!@p>IPdZZe<9+Yh9-XW%`EmUL}0--7VsyeWK^)13htg;NI5XfF{!%O>zP z2qX5K%7^lj0o0`g<6AftmT=nu+9wl%uky|?0i#~!bM@0?Vf5e$S*A&bz6v==pxAUY z8cNsFc`|oJ6_a^5jh_ac`5Wa=<1zY&{ZR@sg_zDX@bdyiPUpl6`qTAvK9X-K(1?wl4%iF;?%=ODu(vOfJ1WXt+W zY0(%==DW0MHt&uI!L`{Sx?4X>a$d_W=*E3qWa2NL#+n ziy@?z*D>+RBIQ!olUmN@xX$k>byUNj9(z;h&C`n z_~=J|iA_i_HjP}@VJ>}1N$a50_9Nns(QVj`4z?EU<-#MEcjDRIs8u`kcSbHI*K4#h z7q%GwY!^D63twXxsxIZ4G|KA?GDguK!F14#+qCO>SKb*!U@Z(0Dqj!!;~nX@^$@I$ z6t@9_Vx>(RAU3zjvH{)rh9ZbxK){i0#CY3L#6}ERPP{f6Zj`hU8fgKUHUjlky0(!| zw7X=44XW74+tHI$?oI1AfhTPcPsds@gr04J!pWggoB0}k%P5DfJ@ik|7A(b#v~3IT z&vzPCow{Kwj6PKAR%oWz>A+ULmJh-kpbydQSGMs?eM_T8!almS4YKNHl=9b*2D}Sq z>x}fsL-^{PG8419lFLQjm`dJ-z}=y1??OjnLTu+v>b32PXc)FHy6CDtAG4 zoZ__g?}j)u1{L0j;&y|l^J)EVzDAmjJ;3csS$n{e51{7%#u8YpJ>Z2qMeYUJuvL43 z`~$HMf!yn#$R}ykhp2KV-TjbvvfB(W89TzQ@BA-V$1IwMkM!xx|KeHFA{OvYdRd2@ z)+cFE0URYLvwi67@3d_n|IoXE!!n6-F_8Jsmy?7tC)m`Ij?qcEJ45@bTyO5lHi zDF@*p=wxxQY9(bIRQ<5BgM0@+(Sf>*g|SUJ$erlzPq~x+PzMbULn`rhk>yk1E&d;P zb0i+f|BcE%19L``?hvMC4@y4-3L@x~OkvzVhtKmohB~IB8`+02*`XIc=li9Q9R}k2 z^zbl<+Z=<+^qGm^*=HE>_)<)n*;G&p4;7s$g9U6&Wo0N0aW2E4xl!~HEGNOGBamub zqdvl8_?7k)kc+WvbCfsLpKGsmV+f5p3i8a9e-td)LaxVnA1Ou2#}I*dgSH*xG2YW8 zE_COUXk6Df;-b~vYA?wuY=|5K3x-j|alXbb8d#d!asD`T3rxTXs6;FEJpo4(l$<~_ zh@hR|?(7EXzCia8T>7HcDfgzrFF2x=lz;N?c^>rpNz~Vil1>3o7D2ePI)WFqqs11! znCqkIxrHx*UbyxpIzE6rPxGr#r|u8do+#;z8f5Lm67RH$Mq1vDmg(F?t@icEldWhtH02xkFK@J!_9GYqQ1%UP z95J=6lIvI>_sUVM@3K3Fpm~#im%mS5e#a0xZ}-0gaWhYiZ-ST~$@wCP=}!q4v8;lx zdl9DQ9eO4+T`BewEDogW5>^}EMb-*;} zJ3g8J+D1l6yr|$i?!n7C)6wtXwu~jutI%I3X#7=7$=!7AD(G)O?0a}b2-$qkz3lMU zb+N46inVypQf{Pyg}fdW7IQzi#U=?{ORIY=-S7StE0 z)hEnZHxNjMo2CB|3iMAZ`VmY?p{gHYsNiSbg7728dkcN}w}jy-#8bQndH%$cUDrft z>f*Z!s0*kMQ2G;CnI0kK+?RB>VLdNK(7XGjJ-H1>97^ammZAHk9fEqn%hb0~J&gGs zzQ%hVaswf!QY>n|QYAva-hmc}Rlf@-r!|$|1+%><=pGbI6|KI95l0O69uy`<;674& z>EeB0uAzhn>S{0h0bEVI#rTkuQ;U{p8W!ze;i`6lKbHOo9fi~J2!l41Djz|QUJTd7 z%=j2V^)JIA3x>_$*Q&?-Tegx?pCDK?0l6uGTCiv^RX#!B7D}fQN(T$3-jy)WVRWhz z8VZy?t>g*zPAH&w(zFM7^D^aUuIH9UH1%g*gi{0lPhk$Q#q|{0)I@imV(1r8)-Td8 z@u6M6@HqP^EtK3FMf7=iY<@?c^-$CHZRAlAN>-7T0DZC_Mlc1U4u$u4x_xv~t z`~%Liy$1Xx^lydY=$Hgvqxip2?$xRKA1kPLLdnC=sA)>O|_NZr01|H_tqDQ=Jmd9{ts%~Rio}Q z6}JDMux}-7qY7K`0=B-Zn8~KAxudk)^R-hhkckeup2#(ls|CyR97p)+8B8pKn_I;M z7M{&1oC_`gUTtToWOe=ZBjQ+X;Wh5XRLZ z9Un=;9#tYTXpbs`qG-Rpn5QdmhP4V6Rbg4$$3ZxA#GHmZh%7jDS&k@$maAnF^7JAZ zOs5=06rA}4C*eoldLduhiqngU`u3Z8uNOVIPcx|)+v;5blam}~(n+Xh z(n(Ck9$}S}n8;5wRgt_8HT@5B7(R0+{4oqMST2IN>ifwOaN*8Sx+_XFrH8I! z3_=G3-N2JsG}8^u!|!ktYxuxm8oe1*F24+yHrHLWVf(Pv130XWhnUXhQoe`ij}Xp7 z578KeIeUtsGA8FKn(%!=^e7ywPb}g*QI&J>ivW?62nGqzh0B3+4D0fT_;Pf!qM?|r zKNqC&96p>ED#vjPFELU2aE;Jn24%?)!helKlzyZ{g<|`jBD_T!>qI7RwESM6x_05M zg0#&T?;vgS_N06|rYwwF`-nNZp97^|RPHYVA$4@xNA%@m12q*M=?g|+DeWtE$T+te zBry1iKqo>ODGlC%QjaFndOsk-nE8qAyl)`A{Vngvy9Cm^4X`{#h}9pmm=!@!{lzmG zD+mz%`S2~&zOgtcS6Pk4EJVb|2ZCd$B2dhQE{zOAstYX-65XXUEk9T^2IGSTg8ckJ z>*ePzT?qyzR@qI&Q=I1sYKjpAYnqCch&t<=fnVKeW;3LM$l6TA=)D3o$~RGL2-t^E zPY5Iv79>Qh!#;F&bI?}cuTf6q8j8u5+M2qCih11XCuJat9)^kqIPoz#3}b>-W|&yZ zT@baF%jZ{Gh?a8FiMKRT!8Dks2$2pr}B1UmuI{Wf^ZI6WTXWgzzRf0poOD_FIwFbEs|l} zbnQiR9CC|jFTDENOMDy-TTu^M3T7Q*hcHWflOs+?soozP$!u@M!-y?(Wq`Zt)~YyJ zF@M9siLUmLprBZq8Y9B6yuH?5gv#XM7|{&$N5p`FBw`&P!eut3FKK-YkdTx}`cJ$y zQZ`XS2jPw-fr?yH#Ww2OLHLHbfR;u0$;Hn){A|F_Jp5Sj_S1HJ-?jaoN7)@jI1eN` zh+>8lxU%cT3w~-W5Fs>L-=(BRaVZzhnP27HSu#X=A~mW0Z}L>#BYA z4e}v1`MQ+!kB^v-$BNqmdZZu@qnBbn8z+`Bf1I?>Ew#f9FVt7f@d^emcrYDaV8A0g zznjy$iUy1on->{TF`HuE8IK;aBy&kO;VZDNy4X|1BxJ7jFbr*o2ZFF;Q@^~s6&vow z*by!aD+@7gXZrgLRr+I0^@hyE0my%=GQhN_LEdZi%Y}6{Q%a_|C?Xxp5y6EqLGW%rEs9_>*1dY2aX( zh^=PYH&~p?D0~WemZRZ#D&D$VUJydSSw36zsk@RZFU(0Q`V90iI9C1OxXMmxkHZBy z>_;5M3v8esvP{CuUc0BHbij^NjKmEZ;9-#63{;FIiKxTKmFQ5oxVxvc@1S6gry>tA z?_xZ?x#zBM#(R3Q!UyuHum&U&L^K@n*aYF*FupfZxievjZ_Qn!p z!_35Rs!SB_`t=<(sxOiAP~qz>v8@;=`GS-JNhHNFMq+zW{7~VgONsR`*wLt=BC28j z8#jk^Mc)E(7E5{1M!g__IK~G<#h}Q{b{>W+AW{LJ(O#^|rYH}?YUOvg>UDc)kH_c=<9(!LxzN3=)j{JSn z^X(^PT9!9rM^|{kgN}YlL`BXHR%^qA^Vr+bMx6W|*Ttp5lC06f%kx$P9M6Wf$P^xHv;*kwd&g11Xjsw9R6ZKIcpBXrEq3U< z4T?v7${vFW%|K2C-ifJNP^Mm{ko*s7L7$HiK4E&G)tr>Sj=EF+ftMe0bH=sj)pV6u ziU=Ql^0K>O817(5r39tbKC@p>OnB}2LTO}W)p?iP4W_>^X{xK+$@Iq;-61^gd+RIO z(B~n&uAk0&88}Zc4dqF0iC6Iry_q5cq&JWvy6O*rnoNYY5PeG#Y5pT6agcIoj$-M^ zOJ)2_y|-|5_fVRdD#Ee0-P(aG~&7j1ZD7^{Xv_+ev3Yu6-M*H}E+XS??h zXP!4!tYr@QU2hs@ortFfA$Z=w&Lr_NzeptfK+2H5#oocp>6T6vT zkWf{`-S^!MJXqe*WH7c+@lCUKPcZMCAfoIYf~+^xHhy>&b)2ZLwQ&;PG-BzZI?VD| zgBUPJ_)5GrW&XiFH&QPeWf>J(zyYUJRjnVj+n}&lC;44#IcBDGU7B8$3V=!UL0Z z)-R8=pfxi^1o&DqQ_N~u+6Ti2JXucSI`+hCmwl<*Yoe_#vzNPJCe3?Iw1%ATc}+~z z<;A-j`jO`>%#jd^mLF_G%@Vf}Ws92)=lh2Fz-+jFES*-r4&U!(y7s!Dac%Y5((V(8 zM_%Mow_y7f18ijtEbF~Guw@$4z`z{IKvyS?*Y5c4L;W=4bDWoY zHW$9t-1+91Wr;7s$_8pe!rtr6s@K$8NUj;|x7FA)@0*1Hb+k2dtej;h>u zvZ2S}`>i=*DYS5>_|A3kJI86&&*-G$|6s3GZ^3sVejpx&Qgre=s%6akmx+A5M-`#f z@X!88!Y0{jn1Zj4=B*IE4)NhCI&E1YnmJg)w8R%Hgug>ssFt`d6Zy@xM1z$`WQC{+ zbJR+a3X*-*l*Yhf8v`8`mE_AhjpQr%&c;tI$=+IZU#$|$`FBsvFRd0U>^m`wMJkd1 zF%*(?ot;*b1HSKx7d55+pq3$Y-ZP`7`uOX0DjLVMF+J~Wl74IrPSCagfYZapWT}J0 zzW+OpI@l@Brf)Tz9LaslcNz`^fxPNYectfwZLVP7gQ3VXSsiaE4d9K39>y zx}l#uy_e(BQ&?AV_cfCT3#<1CWsk(qi+6J|c%`yEjyUz&r@yfFrl57=_YN2pS#>5x z;ty1z#~dt{&Mu@s=$n=%Ie~8A{ll9!oJ!zG+^6P*TyfgYfsx82YO+a0I|QxQ5@R+& zx#KS=t8->IzTGKnlW=c%cgYPy=!h2^94cK|=DnLlTP8R7H^XPTM%K;3SicxI>i!*X z?QyS~a5-rUe2y!$dW$dy+W>(8909Eg{yo7};zH2u`aIrhxY2+fZxIbMcsHwo8%%+` z@g)^zk92UIv=h?Z>ZDze9$P2vhV+s;>4r$ZS10X*^pQI00HklcNN2bPBZIrXARq+k z;5z9RNO!A~ZiV#NI_b7ZFR7DmkMw(W(jAdLQYYO7=^M3a{~XtD$lz`-2JC87hv}?hHSwxY5e;yeKY=B z4cpqqvk3pCo@?!*{r@Tf1OLB{z4^)|aoY|H__C{_wSL%UO|*uQ^(umpwS1=7?~yd* zX;1^r(~{U-#Xkc!2LWxArzIPaRVIz)TGB|d*F=m{#n)Q0;%l0JO|*Bqb3sc(xDO)j zI^>d;9&$;jl@=1a4uXbU!fjam8$z+yQA?gJnRkiiUl(0Cz6a&^sV8NfKs6!d`m?=Kp=>-pQ%Ae*Nup`rh-L=Q+!Bp65Bsy+Fkg z=PNqrTt6|b{g%$NH0lMSK*?61e+>T#g7&{6lFFPyyaYkrRS@i~%5Qks2sb?J%*hk< z=WU*rxB5fg2J$GtzXT)|l0A}0`L;Glwv@UHH$b374G_~r{nF(B?ZDxlY?a8Gr2RI& znxzk!5CP84f{QR0Vqq7V;D>x0`tCYLC^@ouc$y_=np~f8%!WQP=f=35sz$y zWOKf?uny&E_n(%(iv~-6WWsz!eh{$N`?8*>1ChvAe9MIEO8FBE;3(?bq}0c3(0(>5 zysI$$42B{w$Rlhm)FJPjZ^^p|>!9(}@0nT0)WJp2K*TjB>{jGEp+l*4Oo&7usC>1f zAWXrCcMl2sFZIsMOoaD1Sx+Cu*2bqBQU;RO)S|v2hqcSiZE=u9FyYLplbS@|$$a zu2Y+m2QUPs7X!f5EB~-#s|I(bl}`FhaJT{&ZI9CHl1C?v#`B4s^H$JL!2ksV73`&8 zu!1294pA^n!Egm56pU0bPQe5Pr^u)g5*314!DI#JE10Tanu1FeT&7^Uf*A^CDY!|& zTm|zK+^*nmGr}vh3ZYQJA_WgBSgc@)f=3lRpEi?(jr_O@pG+@xUcVcS6; zGqzOvaB%y>mj>IrNOvLvS)SA!(VZ1ZKBIl5h|%Hfj`AKKTj+NXa zhiH-&%6tXW6kMv{G6mBW%up~(!E6OLDVVEZo`TyI+^wKi!9p1|!a;>ltYC?PM-@Dw zV5x#<6g;os6$P&=ctgQE3RWn1SHT(u>&yt>s8RVsR8Xy8 zvVy5V4UH^KAuLsJnS$vGW+<4YV77vJ3RYmlL-pKMutvc;1-FCG4dq$|ixez&x1DS* zII0jf0X@K(OXwj8F@(dQA;NI11cW27gb_wy=^~62gb>1Uf-s*j8f&b(GP2w9& z$jI82k)~jlf(L=cXeKUGE}ySp7O)QVx-6_lZ3H1}ja*&~Y$7_4=;7H|f`Ql9GvVVg zyE3#J6+U1u&>Q8vCL?^4%utgfGdu>8Kw2KQWnjFrjR^t3OPmRTKtHU{R6)#6nNOva z<=lZJS6_gY73IPEuqgpH0f}Dm9+qh2z2C>~30MM5Zv)$E!b1iKAw_aU5x{ihYxc|Z zO$V5eh5XVFnUD>fa!BSo4rzvXs+lWkSdD6 z=8cRp8AuJ>QSvoFYPil;G>=T(O0G!jEFwan!!Du_2K06lg>YbU8&QY=CV0sF_Fghw z3nY4sw?-5q@lfwA3NgU>KBABaya7xFMs^Z~bYL!!I!!14ZEk z@C2|Fm^w%l&H#f4%MAw%k?D0nq8APoh4a8<%`j28gonUTQMdxMA1eyifp?=s;RY~! zyeQlO_KFpS3SiL$QMe0S8YfqrJyoXrO_S+Ifi+Yno&WWN>4=e#T0;kLng~z~p zAlZf{GFdKgo+FRY6G#GQ=E-z#9PUWq29Pvx7f2N?TPWwVfW+^aBIg5u)UaQwobLss z4&6}lcY!p3^fYq^G#Obh%Z#}|8gcR~ay|`6noz$g=Tm{Cp@`Szd>oK8r(UL%14*TM zZ^(HqkTjQ_E|2ueO1b{DRWjWkQ(w^*{(le;)T3}5bv$thxB>JAW@O71Z2}TKYonac z1-c_2uu0Ab16`57o+Ib$fTY@*Tshwar2Jz^&a3id4cTvl=EkF8`(3bNR8Rv90B+hX zGj0bG{Yt(}_ud0Q&9>ee)qj{-fyq8c0wo3rgvrX6(F(Q0a7)2g)+S!Nc1Kk z(cRw@u{cm*l<9%MVC0LG{0(3)#gH-vkUt{?aiye*;Jj`kj>Xy?|72!sl{c4GeL| zjLt8W2}^-AlC;xuJ{?FS*>pzEZwHb>i_XgV5+EtG*9AF01V|d1a!Jl71IaS(mdSa~ z%d%yh2NFHz3ivg62)-&;6!xtm2&9T)uFLeu8!|lsNFBPOiiwK;nZ@ud>K$fwtDABnc)4CY^!ONa(+9IZ1rxHoUaEuBY&w{rq91C z^Ly&$@&F+52mUPQ@ASC}H6P)kk7>;}~kmzx>GCdJU z^oTl{UIL_wybW>#SwJ$mfGP81L)ZbHwVBI zK+?QgV{c=Q5?33u z^$Trmuvfzffsw#O+8R;3?D3d&%_c zK%$5F$oWWMIP%&~az4>l?of@NocHvXJDT2E&SwM3ZHII*=QSA-cnAi;xvL@oq!AYZ zi5}if7N`JH&+C9hw-1!_?m*&K_mJsAPo*9p1=8XWIbQ)Jx0^CZ*0l3rqHA_#Ou+*c z1P)aShA9;QiQX$z&MyPfoE1GQ)9*ef)5F4LdiqGYBL_#x8VMUMm)`)AX2ZtFD&GyH zffNEG$^Y%g$_4X*RFDQFfh$Tr4!32b@)97GtH#L=^FXYqyE2?7$~}(+QbX5)iNL$SRABfd8=PohRKRRt9dHv+ zNU*`d0;@Z)i1N6bJqWaa!A7_Q3C?C;RN!@3pH{Bb27f4A+76$OkTx^Kn2jrrgDHz6e-{@;V^#*}o*y z{eVPI1~vhgD)ghk$H+(G>Q~hc8Uxw`hiG1g(cvK(7y!%z1_CbudjXq()Z=AK$konF7siPSym5u_bp^Q~B{W=Cr9Z1fQ>6*AqnXwK?1?N}G1)gt0 z^~l!&U4da)h+M!tAa$q+Nc8JUe#jb`-+ir2uLlyJYMo5K4kZ4fY`LC*_2zO-Mk*et z;HXTOFAy^gjDG&b-!$S!OrDg&`BaqzV5{|y@`oawfdt;=8G1&1DzJOJeus_a0gacr# zgb=JD#ClanI2J}p*ac@;LiFh|VFIR>P=kgA4?H{vt0o)>Vh)9TgWLLuRSYHT- zA|ew`!N>?lV~0bCwLr_y|JW zcSjQ9P?@LR_G$332V5Oo$u(`GmOFP9?jnEEP%^5_PicK@&vj`M~t+DkYdW6$9c9Pn1Q}|^AAU>y z0TaVwq+zoriZ#*FTeDV+$jn6*kfsB@;74OxWln?+Az^Q z^6;#=tHe%uST?gpnVZ>+W}E}JizOg|o%HQBu{yZer>v$uXsm7&b~8meNyn9VN|8 z=`7Zbls2Sv>vRT-_#cB4T$n0Y6~ZVQ;9t>5>2gZXjkvz$7VtOIzGaYpaFqlQlwQ?_XSswUzeLt6O|sYFMrwZ_=u-3c@iz zsbEW6&9!H=)xkT2TESIYeXTEKaXs)i?W}1bA6=E9@-4(_#h2{d9 zr$UQVX!f9aE3^cKW&@g^LQ^ZW7HP}Yw!?qlF4P7pCCikOM$meJW{0k4DYRcf3kEG0 z`LFwCR?P|4R^OK@x3(RjN68SSh9ZT#0<Cuko#Gzaov~#2;kZcl4iUCWEpR5ScZ*#@;bua}*%ojWi zy%1bW_1~CG_m93|Bg{t%KzfW#P!aG%I>v((gA|O^xI!g_W1UHz(_#|p{i^FH^!~-W zIHyW=Wqg(E#@>b>e;Qxqd*!spJwb@C7D}}^?xF!lS@B@-cWW{1SP; z9Q{G?74^^2r!UFTWB1@Fic_jvISM_euzbC9ZblUrhw5DL1dBUrvY9+Bnv6C%`onJv zwb}j|72P-b8iX`$B^KKI}zm`uY2_1Fs1W=7{6{Z|E<71XdOPOC=cJu}+m>xHxt6=T`7 zj+J8zwEa4>*Q;Cat>{7wH^8s~y?aX~8at5C5 z)7DmPK-ah9`7$Q0l@M2n<=WBGwBVY9A&fOQf67f;>DKq9%4gB7)xrK1m;2^aQC%E$ z2^plDe0@gee9Q-i4_&bgt)^P=!-S>LqzU&ysCJLrrKhn32y3dSW1i}5dOu;CJ|K6S zK6_-o-cB1{L17?@B~;Sbz13^lj_Bb$FwzKx++2MxH0FRtr~zz9b~2Vwy#_i9jN7KCN{4{g zA#QYq1LOp?w$j#5TiF|$qlRo<*H+K~1Yv5mimj~(pw6MOUT7GLo+E{3YA+gf1Z%hH zhiK54V{UlG1*I`jOsIYdjfJ4GEHvf=Mn^P8LYBtb{7+-ksKjHQ&!B8hCNKth7g6*a$nq z9x82F?y!4W7+^i-+172#y<+%E5%O!?GAjh9tA=o=M`pXf>{MpxCJ483M`DU#TvTbX z)NfCF+v5KD`VeXSo&o-SJLOc-KpsLn)cG>soGK%pF9T@+52S)U?KSnYa`fdeV+(hs z!W{(ZAFa55!t)96F~O}G8-B-P^a|^Fg)LU+Pfey{7Wu1I@|UgTzrpiC$dk$6)#gAp zt{Mg~($Vait|KaRU~m_9>B&c&T{Eh*7YY)OJ0$!dS%_{Fp#`ex z&d6MJ2Q}M3=}^pC^n?l1s=LsP3CUGIOLGba;061Rf>D}-v*2(DIIY~WbgbVFb3272 z^Yw8V84Ym=On1aQeSb_&1_ddWqwm`~r>bm&(AWpG)u7R{>zjG{i5ssQfG5CddhXf+T(eK5R`ob-rXC^3^<(}+v%HCg}O9V+5XzfPp@`sP~{1=K1qujc5f^< zbZDJb6~6J2aY}r?{$PJ}(CJED7zQYW{>Mmq4nil?)8)qJgw}VW$VnZcln{O0+)zno zKm&!KnCWGPgwQfWvXG;e}{T{Ft4cRFcwb#yf*qvB*i`z|rY z_~+}JD1LcstNjk-;O25-b=>hBgEJFsT-^j4hP+Q7ZM8j~Z} zqLX>|m}}lWPiPFUmnycbUHxxLP8t1N%7ohz?vy9fJ&w^i>@x#gZizpdEPO{&HXKop%#XqS-O8S_aiL&_FIeVaV}xRes}>cITuHcI_- z^ysIfg^pWx1Ta2{g}15j$AXApYSU|0j(&Up9Q}j)tT7`x$1nmF`*=;P^I^Rk zM7J-iO?{uKe$aO;7Pt7yo`UeTa689v`I(%mDSh|o!_gs|U~RRd8vAk_1{~6G(9OmA zUt4T+)?(|`IzwC8F|%jG@k2okC%5!&XgSrVVa$_ajomN|!See?85uIsb)kkh(G7(BbNWhTq_HUWZZ| z$igXh?mSR#*sa-!Sw>V}&oW#Erwm*jB~&|NbbgrqLPTV>ldS4+r}|hwczZk0Ewpw{ zIb~$J#OKMd-j-%GM8d65SH&i*2*UJSgE#0&(@Tu&vEh6yZZ*5nXs3Fk5VXbM?v}6D zBstYzra4wmFUEaUTy;~Mt(f9?n>?p-pH(Z$eYQH4`Ot#t+IH(cCd9uxPY^zE4bEuz zPs&dQ*W!!@*ZPbGT8vo+mZ7$?z3jyRK0$;ht(ABIp?>x4Mq{rodFBoz9dD$d{VmK< zV`Ra?w`8x()uv)Q7Six8dDt6HY>Qqv_Cna9pddJ1Gf)L&zo_(dFe)OMf8<327GBay zgu)L;hH@v-CMYV*Ow&xPCI<;dLkH1QYV7Txas#bv)aZUEweh`+8O9hdxxx=Hsw$^6 zBROQ!#bR@mNyXH}C}$%zXd$S$&2ukRGC%*Scl&EAZGyK};?A)n$-a&0Q7d)fVsjea zThFAx7)6az2P~CS@AqHyH~zKq@QX*xBf~B0tsw*Q^vBpjY#}C9&vUA8P18phMec}c z3Gv^GQzGmF)07Yn49;li`)p3tdQ2UnzJNG!gp9m?~9%&_VNx(LYpU z43BRZ#G3WJuw_)Z%xnoPH-!^iv=Hp~mEZ|#Zt zNM_cG`qpQ#k#vmHR_fTihV6T4DVkY53EEnPP7{rkkc<^5019ZOmKSwpPNJJAMGIllGH>4f(8mR%& z6jfH`^|J92(&(UiV=7jv(Ng@uwwhG0`q){DWh4dF$I=FexI14ALpKH*S)4pH7Dp@V z%xWwd)6muXbRU5rfPb;!X0R;%Sn6rm@XJbz4snu?641-yBsGjCzItJbY&3Z8)wV0T zZ3*)J7#FP>)B#u5(gwK5&Ok3(Gqlx#L1j`G-9!!QuoZ+2$C4H{VC}e1?NGnI#q9vq zAAb9YQH`ADA>CQ6t$Y^Spie8iHE6<~&;<%O67di zlW*vFbz#FogzZjAi_Kx2!uD$y^9^B7@;e)zJ)Un^hFu)Rd~+<{h&hJR1gvy4>Q2&y z54*HNEW3Zb&l$<)qn_gJ5~=S;T{WfH4hHng)B9!S=`*nP@kH>+VA&O`U?lEth-}yp zuVW+xoL9Xue0rnttx#AgOotkr4f6?)t~Y9f<{0Nh z%d}b1jWC~j^JY2;#s)r(ac*d%aV{!|OsO{}PnQ|XqL-n9`q-_Z<%Zd)m?~U|3UPKZ zSH2K35z|+KCg;h|7b<1p(-8xd22-ck!}q6|gWB4Z`NnH2UNpR)@)g>W>wIB_2B)-? z`q+62VIH2Rt)NwKT6H5%a_@%DGtNhT|A8*X!qD! zhS|zSYBvPuDw~rX@Y7Z5Ti{ z@p5RW94b^dJ{taiaAccK))-d}T^X=QJNEE8Ys^DuTBCEMCX0^$8nX97|JtA=lsB4(->VJQ zTnq~HYuxIEBYp~287FkyvZo8GkCj)Q2^cvVo@HeSW+OmlM{z4*Hp>vu)9W40a;EIDww_Nka2W0IVbKAoa#HNqhB?vywIzgF%?%Y zNlIl4m~bo;3wx9@C38@wO8MQmH~N(EJsi>B4NZn$jx_FtHY`>}k>y>lMSs$arT{Db z-k>tW^Gvv(;8c#&@f+22Vxmp{8ZSR1!y$%NAv)ABSFxfLCj!xrRZyTF==75z9MQ>g zS~Bxs!{_?UOH3=$;_fDFz|@RzT4FYD@~;s=CGf+E=0W*6EzuZ92B8A@$f;fZjTQs> z45lA|&d}TzU~@wooN>y?Y2MW^rg1A|VE%Ok z+fa+!7L>GQ7o?S+`u^d(qfo2GfywU4Q7sNT%B%iz5-iZNhQVnsXFx5~GmD=bRC-sr z%l41?N`=nf10V4e0>8c3Vsgd&ky_Q5{8L_O*mEj+pb0~z(}uwsNFSDXMiWbu^R6=7 zCDAXM9efXlOuQ7UC}xowHi&;#12)P#t)my2eznzg96n~(7Fe`G3oDIW2)bg}8#LQE zI|ZA%6qzfrk+_wbN@qd{k^T0G1nR&9Dlo;#voAHC7 z7Y%#8!i|-G>M1(vB~PC!=y&V@l+I$iLCZ}NI;*yH)(N3WaSOE$o2}YW3xQfPLac=Sz@)2sN2hI?#xfuit0@jECK3H(-}` znGB4!hjgEZnAv)7sQJ?HkIKlYEptsq?SlEHI=o=GgUpRT^<`}4&AyzZQPf9_xIdUi zqb7Ax-a0Z^g1}q|S~Nz%U?%dGDIghgIjoQOEfM9f4Wm=$h6@xoHP3&g$@I0QQro|o zKg%M#J_uneNZzC1o2Xk|5wi9My=#_rF$4h&H9brk~r zJ{-;VVl1n((hDbXSb}j}y96qsAOuuu;1;Dd;By z9nU)}M|DfMg+}mFXBI(m3%E*aP2YNwd_HSBj{c;gUX_tyh% zS32P0$Uz6&;;!aNYlbb{^2YSgg(=NFjL{K4YO7C&fzzF);C01N5EO1q$EGq7 zG%QTm-zoDyD-?w3<%UfM@(tQ(?4@ClOjuRzkFc!u8jp=RHs?;S8nN_Vp5s)1+5f;W zJeOhgWrmIz?f-AX$ryk;I$421P$xGX&|rgx(Li;M+5=8TJ5;8|Li3H4pVA!)dV9GN z<?CMMpn~bHdSb zWWJt^G!ndV8VJUM*ylhFE=gry?hhjx4;R9V?h*7#G!{I`;GtKXY9PHlngyg6N$Eg( zExH#-FPF4HdeP+gJKj*w%&7`mh5PStZ8Z&ymEsKNw9dfjwh%AV>3b1OeM03;lj#Gv zh4j-GT{V|q%Bd>pEL*vqKo_90mA{xH)KZ={_-Z`U`(QdCyV~U9?pnDJ-&k&-SL3vZ zg*2P)>;G~9jQUI1rjXqeeC7)`7$z><`v2pN8{M|4l`R@Aud|^cbI6t4PI+o@(dI{Y zh+6rg4QB3E*YdOna?2%u>{hK859);_ysBDEe>#HFrs3%^w6n1Zy`=~zU>}f-sS&i= zYI=vKp?9qGLXZ59=7;8n=7Z*f-aH221rNPdj)RKI9C7s6c*+n=&pp+RZSdTOo}<)_ z0-n3!`J096#yBCfN<_XV@{#^fH=aX?&oR8w4$rZ8-tL#Fx8Hb5W9W}eI$j5r^$c%x zL}4KES`;Qjuq-OPu?Wx3ctz%nvR){o8~Cz?;f=XYI2(huyEIc@sLjOvRjC0n($N)P z79`>w10C{UJW+mdopwQV2Cg?+Zd-BWy$sKRMh28NOvF{J;PoZm|COS0ZT0O(ru+L; zLhVC*%+`oRH2Nwh1E~)AU#0Rdz53AC4dh5zNFB`|_h45h;Nym`z;VbdMGyWX01?g%2Qf$w?bs6;aA$>)Ln@HC^_XGh$ z!`G5`C)fxT(wftKS&DSz^h<1t)b&hv7AuWE6V3WdJI?fF-J}a=q8%=;6l&8T>m&J` z9qVF`+L&up6@5<^C%t^Oi%*kApdUxN-wUyq`u{!p@2!%*TJw_*oqdtnOKx9D;NBgqFJVtd9FQ+mv)@bo2yuV(kEfM5nI$8M%yoEn1WSOm8 zD;0omhjbGE-zwb%_eOAMS#fUycecWvCApz5E2ZA}|7+5?D_%Y?fjhy9I}zMd6z=&_ zCis%1eEff!^w||JangFJ_2rKEmXwAx+B~FZX-IB^QH=`Py5@_^@0gP{1ElA#c47aO zmS2r#ze;DXPJjh^TDau7A!JYVkcdK6;9; z#!jze+gD+gaoXx{q=IYh*j8X|{(xYpkq`YrK+4{qazMal` zzlI`&|iAV^Qa&uAqeS!(fm zgT7MUqo;Ua@0yAC!Wrh6(94PkYN(Ebe5;qOc>VU^ZfnoIV^lx!B3Zs7b;ehuc&k&X zQs+wiyCn9r^!s<++4qwF_g&ongD+QA>MXtYmFTMa%_nP~k)Hp41uK@We%~FxPv>`V zocaq#xzzgyFLC4!De8xj>_aK%hshnzfyG`uw#pvg5WD(CRjGopS%jaTlA3?;>TnFD zwtk>s4(K~cDz%T(R+dQpZggP>q~~u8W(88t4PTZoeR!iiq1&mrd6-V9{h1Z+S6M`u!G% zTWq=Q%jymvy1mB+5dYH?75YB@t{3}MT5z`uTF$xqfF&JXsrOZh#b(bm)q3~ZHV|#}oORx@r)+`M-dWrbfdYZ8l z`(0XY^zDBfB4wFEZC!VSBBVT|Y^0?~jcZ#>$@n!=B|n)=6|OC&F`5?Bn`@=7jh#LA zLqtf^R=T4vsx*9E3X3U}*n1^E`BN`T$27HT)+ zxmSRVFm#Rd&VyBKhU8P$|s4AvP<+Ifs0|-%Zj>4?9SO^{#G1&~x(FEegD& zI!KEi4)AzQk?3S4;Uyh;*wQsN>R9(EUBTP3w?coso|HMW)JHw3U#QclBQO#jP` z?WH>n-Yi)9y}_3SN*#WEAHO;0)UVI6Z14_dFGxf2|B>JuAf8<%{kNf$cyg80@zRx7zQ`LblGcT;;m*ZD&2`{1*zE6&J&2cC}0T1=x~m8)j%Qf5<-&u{ba z(*)u8gc=%7QL4txh9l)?OBb5n_4o=LAqYt!<_*SXd_=wH-YF@wxqav3C`rZ7cjYdD z{j^sJiLbSo9=+0HO2=~%QuPw)Saav$z3`|(ktH(OEAj0aEWxzWo%eV;MoXE!Qg%@4 z&@z^V98PMP%-B8YGgCCXzRi}s&n_JKkfkuTgm)0xD;`s^f!Tx;h9@?j^qLl-(=mY; zh^%do2`IV_pYXOSiUKVXG(RiaXkIR|AU2FU*f1~V%)8pKANnvbK4>=8(#|0qHbcrz zLnQaXaN?Y71i#0k@C_9D-?SFfk=J-n6`SZ$j`A3s1z*57nU=oX;9FGa%eN@X!<=bd zpB7yP%^oy&E7}EKrefWFzCaOu_WlU1Ta@PwYZf9;)0V1p9S6i{$ z?1Jt?d-ghGDY~wX>3h)P_=m1& zd@En?#s;%Qe#(tK$NY4x4LiqdUzmU|gZT&_)|WT6W%le>ZtKn_u%Gzz1Q+=}cQ%#}jP{s*)Z&S^bqR8GK|{woojb%0KGLuAx_%-B8^v zezF_J;li7{p;rgEPj@!h_F=SeKaE#*gH^ioSGzNf_|r80TX!~w4dKHB(d-JI6UZh( z{gr|2w#cIS=RMdk+odtW{VaZ}2W!jPbGM$XFFVRd^u(Cg@u@x8SZKZgIn83!9^PoG zje7+@c#_a!%KAYR%3@ngCHTz>&J$Zqv+?{O9(3SAl)W&a#gu{H!thf}i>V0M2j~gx zH@?M0zolUl@-e`Rka-L8X>l#4yO8^pp7GlmYF}tEc>`}f-(s@AiC>0Lhl&SGLZxW1 z6PT`nAs8tJ`4v-IOmCoq=a4+XGYE}50e^X9i)kU!8l=0?EvAdWYe@T$oJO~po<-_6 zw#Bpz$dM)@%|-qO(g1YO2y_DPiLpakOrs*;yGZB3R1IuI+J`g-3^`FPrsd-h(SUB~ zTwiqH4z%=I6gLL3cc8?aUThuHagW|`m94s$do%3HC-8lJ*qc4RA1Tx(x1+;LHa?TY z_bslQE1E&`bB(TY_sgkr$LX2qU3Bq%*?$<@%g6OYWf}ZxKgK)E#GZ_NHV@MHf~Mn1 z#b**?18ahyQnhCXSKr5!-obfe&V@!C9Y0jt?({7$W5S@96cOAquu&I56(CBb} zb`b1y6t^ABE{Z}Lzc!e?1)EM90y8|%4-H{2x}A6lyViPBZT&S-xDbkkf%^|dRM^X> z4n+-crlG7mTgwZEvH_}%;C*`x%sTiI3t(y7Z5W%);`pn>5QT>Dhr{5--TA;!SnD%< zWhmnPe>pZ%2UscJ7RFvebh8}}2jzUmaP}t4;+4bU21$J2vuuFdti`lz$b*9A)nF!H z{w%6PFnN}}ZhL-Mi>Z!3d=5U>o+uOendexb?Jkf*Wb!Y(cQ||9&IXk9&v?sdHcULe zh=2Ypi{&9B!1@I&=L}C8ff{mn{s`2m2E|#|VI*rMvO4Y`0g~sS7E?CQkATij^705a zPjo+Gu8ZaI%+X+&6w+b}DdC_f@ZeB!h&X8>pLw745q;S^Z)> zAH;9z-!f5{%dfr27Gl91t~M_;%hjl( zjOVLS;}`s-nhmf$GY3Bcs(YlyJg`07XBJ%RP5$aE%+9m?<}56T9r*a!upb+Kb~dZ- za5>qcq-^u1Vws|(GyGIC>OR8t$p|3m%N*YBDUvs3)v8MK-V>e6n#uLE|o=# zY!ctL7=7-|eO`iEeEIN~VD?SA%9q##5eC(73EV1zpIU;#LAuH%m~{3V|NRxr&9{8p zQgq^D?(r%L3;4iS5u7u5`Kut#;4@wWaROiY8f-g~pLz{#bmrq;2hp7`c%A)3bGi&O z{Wun$E+5GR{w1_U3wG0&uxt;GyzALnoU<9 zH=8uSHk+QUZ#Io@Y&JCmdB$qy!F@8Z&B2nC$ySJ}bpBN)8!0ZC!B-6wJM&(vq1`OL zay7;SeXM5duvYV^H?b#iSZDiGq%tsr;P@Vn1$)NDHzYw z_01+nq>sRt^s}5_jQpKNqELk7yjT=2-{lh}7R8LZdkYn4#i0PU^$s6V0B>2#KPzDC zJkr2C^Ltb6`MLPrbx3~msEg05Vmp4ah;?^3K1uFCd+xtM^y2pWS&Zu7bY-1kILPcrM8MHw zKQyw?7Z$9Pj$J|TBaDmd;`rqSVjtC;afqgWIJ!7Dj>pasJ^9Q-h@gp|vP6#?W1hBc zS!loGWuL<225=7@8r{r?>sXLSH`HY5q=j)mU#Vj+iqO!HI@Ybn44j1ix{&`D=R%8^ zt1`Bgy!TP|BKwZ#9K~{Tl(Ww;sU^JMX9(Ye`RLD3<>m>z9je6XwCpo9zS^o5KcyC1 z?s5zhIg3v{2G@<|M~-2!4(9&HQD*F!eO3tE8X#GoB>!-2OILmU4-0cin zy~$UeVSPQmi+S3dMGVcIk()b{~ zz$m_IDLnbadDe>-x$|t7$fJ3uFR=`2PcnO6e1V0CnrO0?PCmA{+O_l3R^A>bTaBHv z{j0}a(K7D;HMSE2dGptp%|ib2MfkA;|L`JuImDb3e~RMIzQ@M!-ItiRDkH?Q71c$_ zThTWo<*lf?jH$3`m{Z1nrLEg#?2>x$-rvBr?D?s0uu-VzZdc&*RlMI77{?u6a0Msu zclgOGaJ0{O^A)WASnjVP0%~^ojvDsIuhE%om4j4pdW(ggnpthZf~TWZYjkuBP8h&J*Y{cVvx;9lTR%8=-(p~JE2IzX| zu_IyM@bY`;>Q?Sw1L|SjFE!NkT<&upt5>M*!hQCxh|)y{?D-bx+>Ff0M(njo*Xbea zZ^IIJd?Q8_qc+7ras;_bE<+(@TF2(<4bzy}+hRhPVb^pcn0QZAdDba>I<-plb71zmOc#;cigy?2I<^&iGBIm`Zj3t~ zQ1Y^ei0#J_U0FNv6Ny92WVBeX$$Z*mt_5Kyfn@BPQ{N9^x&rZldmTPw_R8YUwTRY2!Y++4TL$X4Bgd%_a#cZM5#U z-r{1`rfyWTsbK_mUcgt7hD7k!`ilL<@E3I-^c5G1b|KNtrW;WlwRO{l_ZRCJo1yC+ zB4Rz&@__?I9b2L^3>06o5yK*MGl!zdR*ye6)gJtu@jVgPL3oCV$?URjWtjNHMiuoF zG+FYr4-MBPBH+P))frzb@TMR~@tGgKky|E|UAyz!izUF1I;vSqF7EOTS3UxOppwRBX z2d3Kg{<_xjVid!*%I`nytU%uh`R@fuEofcJTa8R7x^^!H7*C-BEd%ts}znhD`}{_;#PbmKlRiXY=RRrVrs zFY@JTnAR5lomw2shUr|AL=D3gLe4Dl6`X+BY>e?8-fuQ?nS9@D@j&aF`%JY7PR*w1 z*3G7uTl1O8;s>~+beJQ4fh))hbHu|=vEVq>s@XK9h;h?sY)(q&ic9VMK;2`8H#Gh?c zA>Swhy#94e?J_%Ew`JlOMvl82Ha=hH@rD@6#Dh#XafRq8vbS|JR*GLZ+KqhBWV&V4 zbR;mN#O(tIKEV}D5wu-%&IO(?TBT3vV+8wKIGJRaFd*N-dn~m6X zo3Gj-Myc#>68BCqQs=%?ye^87KkDx978@LF2W>Oe_T!cBiEXiGdGwyR!p991XCzC& z%Mik=LU7YYuRH8`&ikUT!*6*ed~>1Fx8+CP7xy^)itM*Y*Z7Pgu|1o@Uo8?RxqT0c zYmD;xH(Xo!9KTs4rnv0}nOhb4@#pu8Z@Rn=lI3Nw4cG4%O}4=x_0|3If%u#)tJd`> z7V%o}b=~Ms#MvVIQMbQDv|%o*x1h6Fd7_$3wHn=LN5t1f+!ORWD*B4`WBA0Q;uvv5 zDc^ZiT*!)awx5ZkSpUhnCiAPkMR*@l-dd>Deb!|1o{8T_Jp-FY;OB>%OnpH+kNjpl zdws^=I3~W=%^z|hpm`$cJ^|0sCes=0g@4BLC_E1W@8qL=%yIFZZuOg?Ae1E_wL5PYvPxzWAyt?CUJL@X@M5q49AE0$PYrkrchV)tvC}B`=RtC!&upZ!-Om(`0(ExyhvMi$Bd2 z%!E+Teg(}=*YB=4%0V+Ox5*Ti)nrOt*JOHc6ZDUijif_LM*0RR3aMaYlW7@}FP;OC ze#P@UND}Iri+m3}*8@8sWg)FYekO1mQosh-5crPc*$Dbn;467(M zrU=lU;CU5rIFc*MuWpEdX7Df@1^tmeM1eh$2B{4y9*VL&JnsPdp?o875E>o_T!!+~ zz%g&~PmNg2YM#;cc_2pF;s~<5QQXC@=sX^YyHuJG{AmFCcLslS$lVsd5+11u$P#xXVT4VLKFBJqwp)4aYS@S3P1`*3P-BQvk|5MQ;8NM3QHju4mo@LeH^L- zZ!pdO!jV_%(EM#BVGxc(vQ)BNsf47{p9=p;HX}~%KpwCN$s(J8ABm<8&_DXiK!5JM z`p>-&jK^;>N3sZKSP9c#`Pq#hHSxw>N*IoO<>Dk zTmG}~(NAzFN3t|rXVq}>zsMHqMBylsMb=C6bi`U&7Qg#D`tRo};V5oJku1VdR>F7w zrD4@)h^R;w**C0YJx$gF*8H!bcprlxCB;w zg%*8*KM8?kY1k>_sk$!xov@Yc_EWe&L9)mWvy!zJZ2w|h;8SEZZxLcz6*Xvsvo@phU_Aj!+Z5TU}MRtS6O8DTv2$$YL zAVIPSe`zIK^DnY@f5JYb;;HO^6lWYhm|S&gv0836>zBD~m2_~`#FEMyD#b`QxS`;L`t zgKhs_U6v7Fx3dvykSwxIR2dso+%)B$#)*4at(_alxQCJUzmGmtF8-8MYc zR;1J4%UZOxbU2I}$s+r_m24Jdm(kA=Xz)MvbNCY}NY<|C9gaLw782RSYAfN=e`)vz zWa>y>v8@s-*`~k9{=eeRB_ygSjN`YtI!IW_%qWwH4JIYw!azzQf=XOOErNkuw2%^d zQc_YF(rwW~drqjF2$CtLXdx956y##)=|Uo877|v|3oHy=WQa)h`{vGZPBqRfJMh2f zyZ4^odEe)7=X3PQXLO_6;_t*on=_!29SQ5m%hM)E|G00hJ<}-uwmF-Ef!BWT}W5@*E#+}Pv3w<^1#z=T%7QPqv6%(GhICl zd+-R84}C&^4^zcaIP|pLt@NHbR-Vt7AJNW7jX?7()z3QHxHdrUy(@!xDghEKeEe2d)lDoGWJ9*WH zG}~*iZLr~!xT;6#aviIk6@5qqy77F3wj!BaPYiefxa+JtF|$>Ah<#(|{&|<3G}!TZ zE6x3%TqL3w0FkbB&BaW2RpV>p)y4S>E{QPV(9RyW;N1q>B7Qo^U(O%dDm_ukPOFb` zRxaF=g4Kx8(V@nmR|pi zWBUmcD^5>h??ksyC+iZ#TXi-2>yd8lBY5cr$#(?1!0*~$uqW8IbsLM~ODR6J7#iaO zg_3Ai;x`ofmKZ&J#|LCde89b@!e|f;qwohlCPPIZ)h?fX$P*8!5ud%m6P-~$zrCt3 zksvR%(Qhwnk~#*Ebh<^XM_S4j7trDkx~0sU8dW_rh8c`xdXy#IL_*#4+iRSbAGY-$ z<^0dWDZ4t;dg+w~vLGD9$#4t@!*>qj4a)c6XTa{aJq4|*KWJBa8>cwXrqtu0UFCJV zPJIXt4(OR0a3&dV0c8s4JVl!%&*kPtl*ssorU5iJr+JL$zb{v}#e~rB`f%m8c zkD|2;mA9PoMj6i0Qnjkwt}2|wo>be*ZQRhS4kAymOkFRxR|K2OY^zk)pC)MYH>JpK A)&Kwi delta 33894 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 D^^ow= diff --git a/apps/predbat/prediction_kernel_lib_darwin_x86_64.so b/apps/predbat/prediction_kernel_lib_darwin_x86_64.so index d2137935baf7125557c9aeb700708dd156894ff6..e4ee0eef0fb9c4ce848042e50a812ed9fe61f858 100755 GIT binary patch delta 36942 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 diff --git a/apps/predbat/prediction_kernel_lib_i686.so b/apps/predbat/prediction_kernel_lib_i686.so index 47f6a19ad747fa64a851ae49a17450f97b50795f..553d5522045278e00ce0423ff9ce6b71217441d5 100755 GIT binary patch delta 38837 zcmbrn4_K7N8vp$~v%9z&x{IuaO1Kgc5)v8}6&V&76(klac0j4fsI08etfMXlD0|j5 zYOtkq)I%pMR8&lKvDCmw(9E!dMoEfEwFns&6&A_+z2}(~>YVfYz3=sUUCU?Yo`3h; zbI+e=o&{HJ8n$ZNup%o<<*x)kWXoK_6#5tx{4*)_UVa!@__9tZ+$KI(E6otlhZ>+v_kEp{^`8pt z2v>u2w#pY&=OO+1{ZYPaKs=xNl%XoUvc8X?Q%ZWjPBZn& z!%8faB14f&`+`r^)q!a`Z-@!M#+9eT?W0;Y^JDYsL}#?(SUwTg?M13#d_u7#?SEERYW`Et=<9}G+#EJeKX5mh-Z)8ht3BlMW643-V- zhhLi?SCt`hWIuuhQlJnSkQ(%Xp<8qLkU^0TWkL_Ho^L{r)&=M&+M#Tdk*x;fqdDC$ z!kWT#}8WVgoKl^!YRl~i1sLV8J~q_3n|(jpnaYsXz~3zM-3$tcNa$r#C4 z$vDY)$wbK{$rQ;{$u!AK$t=lijW;XvrC@<%j^tv=C6c+4`I3cvV(?g=7M!Bi@i!1^ z2u`snCDH_vMoC{ui)5f=h-8Fhv}CMgykwGOs${xkmgIbmHYG<2mPqDHu97U4Tq{{7 zSs_^^xks{2@~~u+WQ$~*WT&7_QM#p|S5p7FW)WXWi)5f=h-8Fhv}CMgykwGOs${xk zmgIaQ+E;R)}%<+TU}jJK+ZeB$_Nybz&${suxl z2-R@E@M%0d+^Y8Sak#m7yU#up=0%3ndqgHQ`sBcWfURSn?JAk=_RDnE@-%(Ygvh)=&3`XO|f*CG@U zWmS!QVifd4D4xH8P!B@6+;1ZEn`l+{@Z|_KBh1sAj(V#v6GLWO3Xt2KvQV)g^p6Ld^(O^YaKL-egs~ z`GYq>KZK(AQG~*7wyN{_l$)U+LgjorLdILHY8xMS3-m+C%3ndqgHSqGV;>z{yg~E! z68=mqbd0sCP5d-MF}GTw#q?XDBSJ~M7NLO2RuyZ=Wax+x))0hxCR>^EHXnZ5y*&Fi zs~XFf-v%WSTFlQQlo)4KtN4R)P!gdoeiWgwDONRtPniNG5z6M<5i;IxRm=Fe+o2>v zt^5^)JP5%F?|>2S5Kf3t143{@gks`_6UIY9gy4h-1tbV3On`z2!3h!SK?qJb6-Jzz zf&th*bu1j~=+sAHfSc|di-Dbf=WTvPn>8~OOP26A?tB`i@JqZCjypZ^T3(nK2gj{N zs3*}(#=C1S&%P^Q@Y)KkWGR2)u4%mSt_3#Z7ER(SX_mA|21o`px zV4*(<4R)rL|p zX_WMpv`7X>27)~2?pRx_6vRo!OD0MtNv24qNv2C?N@huBOU{>EAeke%STa|mP05#n zLdjKQ`WTRx0WV2+eWSgW%vQx54 zvRkr8vR6{UV;OB?dPyUZe85)<%#s$#0Lc)^Fv$qXD9LEa7|B@4ILUa)M9Cz{6wpQ* zrAk4XWV&RgWR_&M#QQ?)SXbMx2V167g12O?sIqRb~|DoP_b2oE?-HVWWDsF`?&qO=ev;K_!F zCzm!N9`ZfJctzBMPxRwm-%IE#p9@oXX<4d)Z_ z%({SxXSN*TFboCJgrOngwk4P7rzrWv;kX$g-i#%m_#hstiE)^J#T4+z7!q&9l?!na z9v+D!6s3$fQc=o@mn%vI5my(L#8HY;MI4QXMIwA-4>1tFLcBsz>WD#DXNY4J{GKR7)%X~3QY03&k{$I2BjrSI?q~~_*ySHyJOZtwx(`M}$Is4TZTh%Vu z4hC)mt3it!T>(?UD7aePUZ{q6Hy8jrhwOv#ArILPTfn|eU>9il05*c1v%pR;(fXpHzVDkL6(J7dy@fH7cd6DkCwkHHJT z;^P=Ru78LI{~i*L%xI;f$?A|n12dsP@woL%&SZr1ZOazpmA{< z{2y!sV=&8$zea;)~j zo5@DKSzrJ>FdrY~ z1_LlzZkSyiIIvRG9~2UBlVl|rx^ ztO6~Q(IYS(>;{`as}&02J}!5EbKsb}g6#Hh^tlHyE9Uo{vMtp!FdP8JGm> zXQRhp7Ov(3f?=U2a3=^hfeXMgTw1OLZDmiQLIm=0+13rlKaGm6L%g{$kZ&t2XM;e$O;u9Bs!B{Bux&f0 z519WBoDB@wfd;QZ0WkJqDE1y2M!X741GDy^hhQ;S2ByA`9)kH`7Z_554n{x@#)8rN z(Lpc^v=vgqhv*@g4>o}z2hkvoF{z*xj6Z||XgInNJw-hFD0&LEfn}iOQ}mSN|3-sg zP7@l8g!~ws8;l3D!K}|PbYL-91?rnI|63@b8Po4tB!D4c^yjb$#lgj39asWpeSwB3 z4t9dwUOTjj<2DF@l)1#dJD;p|;Ao?p*FcE?? zr~r%x)4=$zVOp>atOPCJz_b(xdnx`cdO8UWokdT<;tot>unz1&16ALl$B4IqRbbQi z@F7s&1q)vX#ck&?mI#FW0MmleKcdHA7FYsWenOAIc(4tu`vp!Eje=klu?N!*47mW` zA^r;A0aL*SF#dN;YcL12Tn|MRro@3&U?ynmR++L2fe^-&3NRHs4CaHKV6=`Y0XM+A z^-M_u^9@W{3})ecTLBh>jbI(vMR6lj;nIlEHD+!2ld04Qh6iI ze*_vKXajpei-{@L7-$a0fopbddG1j<0mIHuH59P9#9 zgPCHv6%~RpVDyztNe7F;e3FA@U`Pmt49o|+!74BZLy&(J%1=fdi~-xgG%zcaDY;-V zXe&ja4uKl58*BwruZC%ELj_R~E6pDij!07QXDHsp#p>(i?(!pMehof8^8lJ$E zRIm-q0i&;FN-0&hMkk{jn3{re zln(ZSb++j!I29FxiD1b6Fcp{u7K3GA6{Uksl%9$)26JX$mfVSSFb-@2Gr^Eq=oy#_ zR)G36I4>9t_JDP>Vd+HF2gZZ8;s-FM2t@w{V+yu`4WK0*(}b7-C%Owg1*5^NIcNy9 z%tb?B2v`9|gNMPKd1weM0|V}cVqgqt$%Z8<4i-`TF<9ho%>Q@<8X;(V93}y)o`6N} zK^#m3yXV6qVDyu)2$%&{ftCdrGBD&B3|SK7U<8;0CV^#OSr&ZgIam%X%VCQC5!AB? z(-rCQ;Ho4W3L;PeK{0q3tO7g1CeSw-CVU1 zfr0m;{0r~_Fd8fev%m(h81&c>s6!xi8hQ%mfFUoUVlWk~0`tKpunp`6Eq}$3q#z#{ z4Mu~hU=Fw#tOD19Sxc~%d0DLkiF^;`v}3SOxY%p0ff&a6j^aQDDOh5^mfc&N_ZJg0k#!knt@^G> zrGo*FLO~b29MqSpiSjlC;t)s$Gr@c? z8x^*Jxrkf-g|VV^u#VEfHn0jTLcWkUVVPOz8Mp`W=rULa@fl2t{$@RFHyX-1~ZG-zGdNq-!d7RYZZm@qvifQ>MgUO zX1}5g=F96Xd`sIPp81y1Q2v3U4B>B-Su6_k)$1_{QTHkx?lwMDlu;t<#<%=g{sF%4 zt#DRS&(FR!+OW1BcPCVcU-7m-OR3l1$N?cksy2>;wOD_RdTV00>YWO*=KP{Hpj4>lwr=Q+_OXSu(@eAFA; zUGC4CKIKQsLk+$ER+M_7($I}2R(6~RZ473u$N932BZmf{(sUo(o*Y+{as2c~f1kyO z#easxAeR3bU$0>wklM^oZXB)4ZdUl%v!e!C2H`G8hNBTqJf-kYI!5r6O-4h^DMk5) zpWhk47j81?dXX~s#3)|6NzZ&+`CFTUSYRtZuqj9v(Mn}Ty}DVi3lzZ-JaDs-9d75L zn?sr9EWdYiI4eKPU)&sSNK)~|FVWGxn@uc!2tTs~@4~DvRQR**VSIH(xS_$MDk@pR{EK>NL|c%%lE1R$Y9Hee%!T26*p_fs zO$gNo0&DR6n zqxe1zCpF>4ZQ;6-(JI-{Cw?d{^G5TN+eQ!0LJ(r*R$;E?mHvhb+<(0%Vp}TxS=<$T z&ZnV19%QS#0#*xWF+qIv_8Ui%4#aJz|Bhy-4`U2oWfgl=Kjz1#f_ zMPpUvT2XQPcJv_>Mu3?^Rb@XvN^|xdf5ZH6JZp9ijjC)Aoqqitf7UjEZ+$16 zggwg!uzEGbu1fy@@b9Mx=_(Z;JN4TLGU-POID%9@qXX$tG zBktfKH1NI1s@#pC)}mp47=gQaWK}pTyay#id2W^75QrP9_eJS-RsO6p=~C%tWKT`z zC#%8@VYBe9LeYcSyG%T4r`{0pfT}DKdMEGnH{_QHhF&CmBNCoOLd{|-;j{; zOxk6t;t~l5kr0y0Pri%!lglr@3+pTwEyrVhD_>3y!RNnc)Gc{Q6)REEdwRAuU$jv9 zp59QAuPR$bMIXQCZ-`ofFBOW|h4=hf^h!Q#4;G=7VsJ9|K(#_KdsdCYs`)ZWeX0>m zE#mu-uenI5ryq^iBDnV3Axu4PuRmMDMRO^8^@dekRbJC7R7vKQOr8h&msI#eREMUO#;N~qs7y{7N;XMt-)#ku=nskN%|m8f{#K7T{&zf|Rd zh#f?>sy8v2Fwx6IH6a*>#4=U6f=_QB#izbMOc%RB?i*`S*xy&aE zlC+JY(R>86k?8IFWxN8lv<%2@VwO$(WDS#b0^?ZgP)TWe&#TZEmg`?1$-QTevd zuJTF37Hi(F)r6oGx04@hHSLG_xAXP;(d+Ge-+t@|J1_@Bx%mSMM6MSY+*#8%-h zTa-xtz@N2>guzR!c+G=^C&UoFj)drHzV(A}UBGVPeLmgD5b&O8)-n!zIxagq#i&oL z^T(IBUa1?yGwU#w_NdDDLcX*PQ)!V1B)4#%kX`NcZyNVOtc zd@!tDt13%{|2_DjKdbmaXkGLnR`3t{XPZAOsuLwzP@=T1Kf&Z`BqcqRPDY}&T%>ernMx00aE`0WKSb%h2mK8T zKEs8&=yW^kYHH>e4~DXc&qbAShu|l;<$Xq^XB_e$SM-JUHR(&o)+sA=kHf#oxmR6H zhY|IoF@q}*szJ^uF@y&X!6RFsNib^!;QMs3-`b)o*NA#=`p6&OQ9J+97$3Ue@BWfM z^%17e$$lkGyyhcpEVv$iN2vWJ3Y79GACDRAJ049!-X`SZ5Bsy6RzCS~Fw1Qf4J|=> zQER_(FB7IIhcx;$-->*3r$xR_NK#IF$7}G%7_YB*(8s~d{FO*g562Yy>d*BQLR$9~ zUyXcGXT-wV3`x})e)40iR&AnW$Te84+6I*5Nk{OU(8gyT31%^0^A~~qulf2T!G=a$ zXW!3X`F^aS4TX$+%F)YT{lv%uzTrbY31umSAfEDx5ziY);tP(nuRDOy>rwIDA zT#MOoK^WPHiPm<35BqmGzCSpn>1v+&Z#{i+wCQS}RY+R!8|DBuHUztWj2J`h`B{I_G2)Ep07U^t}E9wZrU=AcOEn9A`Fb5+BS-t zk7IfnaOWT@nsD4-7v&>T2B%-AC~-ba@fRsC9LG95h_615&1DeZdOQfhxIE4AmF#|%!r9_#y1rrarXc%~T(%`m>~#7Mrj*{Dk&rgfpFS#Ow+ zcLa$d)0fTux+0U-1>YO6D4Y82a+x?k#XuTj=953iX~)dxe2!-TKP`V5Qp)`pP6u=t zt^M3z7dV{pr*~a7s23?k2%q}+Dxa_$vA+8A$S+_De}3;5;kq7wt$Z<3j25Ph5t?lO z!e7^G5oHE-A|-bO<72mt8sr;;ffwNs;!qlac;*N`=|nio3FLE5U;+iAlR>OFkgq=x zZYaNkDcglcr%zz72!gdnb90McmmVaVQIgDVouzG_v0DeDbLvpKgd_!uhW!gLGlxB2_H8 zF|jyih9gHXE27lVK1(3UCCO;M_LOn(9^An_OX~Aie!N^eY9oW?4SwWQ5X%YY=Yafh zKCBhC4Cj$RSvbF!P|BZb4cCRe!Nd+-bt~4HaFiN7s0qQv&;g6zAbJB+D8uyjr9=x4 zjz+jVoGG(;?M8o|a@xo|qOea65_%AX&5IEvX~#%ji44u*{N(A;qF2pG>85C~!F&x3 zBf0LVuS~4u8Xo@D3TBh-q``iZdqG9myllgc{af%kbDq z#h-*QK8i0p6U=I&sQtV4#9{QJ7=9lI|Gd{lclD2M3(`xGj^kB-dWM!xt5+}5YbG*f zuBKj_$&faQVdjz8WOZdi34QwGVqBooVt=KCOAd_Au1_!}E6 zT>To$9bWj168=5`G38cx9qiKa zdXSiZEy!w4;9q@>r9S~)i9>4wkNhT-ElI=}j^uG3JzwyRo~=qGqw}I~jI2D7|NWcM zEa@&GX@n&EF8;+gqYd-#V#@PEt)bsyL%CZ_jo5e??{22xQLx`Q(=_8)AxanN{Go4g z({(pr@of+R-otCY#crVmTMA)wuttxe{k?V&8|UVbl-K8-JG4>Gh&Bg>Ox zY-z`Er0{+1m;ovLBv6&YF9LNbJm@S8m%=9lZ7F;X(4E4UoeehRPG`zAQGEAV*dMVH ziVa`g?>?P(VoAAAn@# zr}BSwgtPeBus2rq+58+3GMf+U6o~8$WvgcMnLyKQz6`>;*?c|FJ)7^NED!LLNL%s% z_xUbJx90(&2#@NwBZw&#$W4-WP9fE16`4ZRdW<5oqQhK`FRUV zdV+_Z4`wAcem9W+5`XG^BrD73>j|s*k@KOfb2b0@d=RTB;v;{EWSu2^DzIb^UqrD} z{4F5jCw}~gaF+QKXFrCsvY&V);Q5I^0L1>xSNs@0B=cuHjY1jyT)z6p(L=HkjL_p+ z{AYgh$H!UoUHtCunXD*<|En7_a~?m^9m!Ik=NEzazw*eRB3a!^KIf;qSz;OAgjh@s z{{rao4}d$82lqs>=xh0XJ>jhGTD}bMT+25> z=!xQA0ErX%kPE6;yo8+cC?UQOoJneFv?o%-zf!4N&Jqz7=bZsUZuH7ec;z8N z?(3C*;FU)Sx!EhV$@>C%Y^vWOh$}@%B>XqN)mCqOQ z5U>0?uY9qPhk4~=7LCz*wlW`P6KN4n%XXoYc@Yoly@H)y$ZrMqFXZXHqvGFQDDzi& z^T&GYTIEfu@g~K2lb+F%FleT2m4SSB@0gfGZ|-Jq?nH0y30ji9$Iyi|8naZ4Y~Mm- zif7V7?)&?vZ1q*V_4k*V^Ev*^#d}!Mb9~>$8%Nh;eaDdZEo|{r;82GFcP4u#e(Kql zz)gLlLg{NEkaY~{(08y7#eT|uK&0D$^Sq#yoaxCO&+qLU!{)rfpXj@q9eS1*_l>*5 zx4gIS2a{hy1N|sFevW>-!5WU*P&( zRh!H|uS4pN3S2_lqeDDStLrpV%R&Y{4e7K1bb7)Rq-c%NsnhfOQ)mS_4OZ7iof7tV$GX1NsdL%9v93hD8Z>e$mI_#`;OCqc`)|&?wNS+~=_%I| zz4|7Lo#q;6P%Z58VXhku>NwjT^vOF@AI4kbf=^AwHDbCJ*BR@oF@B1vz=$?_iqc@tAxtYk_jHug`INh`k_@0?V6_-=2``Sl%iE`HtHI?Fo&J7p(<-4rWg% zblk3YJZrQsth8r%?8#mBHKXImP6dlm+LVub4rO^CTC|$-c29JjH>e{XC`d#Gr~Y?H zmHLEg0-3cS3}O*E>G}5)Fj1{j-(we2`>zu*?B*3TuJ$ALaefL#!u3@5RG+= zD{^J}sDZW%sAQfgQh#Al*DX7#(r1r4lB>rbu`leby{L0eRdF09eY)|GY+qR8SVMWn zAF>~>y~u7lV4B)xpHZ^>*PgyUTQw5Kn(pXYeo-s&E=oA{KM5uEA&v}>$08JUzzg-& zjv1YHy`RHYkcMK2+vEN8>LEu$O>L`g{C@k48b?B>JwC+fNI+7E-fju8JE>`p8I?Ga zI~}60&LpGJsqaEJMbwc{LYb+IKEyMXawgQ+6RI7e@0uN88exIw4@M>R;N8j(;z;?7qh^OVN$3+K4_pmp@w?cakU(r zO4XiF(?2}*37sODY7t3}^*B?WAF6Up39~1ZIQ6t$ zdMljq7^=x=b|jaK|J*U7(P=5dz}XL|4RBqURdh5Ry^I#kKT5eVPGQM`_GdyIYebgm zVQA8UQqv;}YI26#mms^Q?dy-Z{06HQn`uQJwKxOIOr!LhS8q=biA?nz>siFQ3le@J&N^3S{ z`a`!V>7YmwlYyp|FsB^$eUG}Vm#L#|R3ABav%RZ*CTydr;1nI|Z^!e5sEIWFLnEI1 z|9cCbdmwLr3$s+K@8^VORgT`mnjAleu+jM1ybCsiX;m(={YQhp&7)rZXM<;i{6D(n zIRSb54XCN0FUO)SFynhjS8Pb0Wk@6soPx<4s4X|+4`2~=OmW@fs}8dzbUAYIjT0>Y zmGxq{V2D2F6kly|cM1{e!h)77s`L%0l$g6Mit|mgH(v{(8hQTkOIwd>h~k4U4|g^mJI03mt)la+S~*VlZy{VCexzLZAa0 zl{gYAU0?gESKBJplcv|PvUa`u@!`XVfBCBREW7Cc?!czbX2c3*RT=|@SA zT(ZMqbWzyBk>G*z=h7zD5jfBs@vy;v8icm6hDF~u70#*zGDzMW70Qh<*=veNHrvrOI4e}P$z=zOi1EwWVt)W~4%~i}I zH0(?fI{K|^M44r_NJm1KAq!17oK%U^mlhdCtjCxEa&FN|_z+W2f8Nr3>R1D2Gqs@s zgGDi#ai|TtRW8wV)Jsuf8Bj zN}szP^%g7;Hkc#QelX3JhuAcEevPQf>&e=kg*r@04R$9LomhkIAI!VJ;O@1pdS_8D z(uXQ&JMV(}zDj8o0+<4QI3*5lg$+1zn_QS?&4nA5q6bJpyvFJ&EU+!p zdUTu`Sk>Ra3cM|+QBSTxi?w8=Gz^-2>Ewp{|z2dL3$lEQz$f_g=Xg*pm;Xo&}~IN z^nul2;isc_TtXZuf z8@WmAEE#W=y_hfK9vRQENkNws?2+*v8LyM^Tp2Hu@oX_{<`pe6t_TyFSEM73-lkD+ z!}8MMJY;xi1E(gF8HHkg1(_nhUx6)K3nWw{U$a(8fwmI(6_g_`%azLfg))n_82A-* z$#}V}cX5A_5?Q23W=WG-auKIFM(R}Bw8XvI!sX}e5sBk>(#fyA5mp|!2FEF|smv1j zi9;-DraKGPqGG#ueUlocB{Wj~q#nGW{s&WraAK++b;!lfuOL^pUm(p;;8oUZAFUJS zfxOj-)ws@0c(hgiP?%|_-wm=AK%H|(Ujru?(x;A*GrN8~E!n9*g^{Y^ZyUmRp_ zFx??sGH-7pI;1*Y4WzM5sLhLgM={0M;w0}3-1W0?OO@ zLfY(DN0lwidhsFQPLP^*Ic*TxlMi=1FK){0ILT^Fc(c?OP;qLe-ljEYKdDvJkx0k# zHI$6Z>ncHd=o5`}M0iE0Ppmz(9+_OV7{7H#bbTpIwUxp zfzZh@7$wQ<*tuXa>Z5IU8x_pCpN?RWTWHmK?phdIWWZo}cN$@$A53X0wVRTNhP(?| z?~0u!`Oqz5r&(x5F*y0$`hoTD_E7cECnwZfE86LKHUJqLI)=})2@}zD^p-*=oncVp zXR+|9IsUgi7iL;pYj@H*h>ALV=M~k9G*k>%>e9U<4j4OW8lr!gqked3dWjwZsJn1O zzk(E`-IVNWdadS`WV31ght>}Z+kZalxFf)ZQ$z9oe6q=2dL%a$97VapCo55EZvZ?T zmc!3?kz^Zpboqt8zVB`5NWJYzWLOencCHjxN;u%kqprC7p+kv67e{fR{UolePT-Dy zU=BSJ6wk2-Y>bo?&W~z^3bZYKxz37Kky1c(ObsZgAsZUdsJnQMuNeSD7a=lGxEI4Rd zjc-fhJm2Lggqdb4BuSByqG$w2k3yQgVo!ALrK1~UYdoT(^ei~*Q^aRf;z_<^9J-fJ zw#4Qf_BkH^@@kB_g}JWZFINLbd9ZqLI>5k@c`OKTfrft%bWIFUr`XIiN+|XflF#G> zBP9dFp4NiOMc~Ijp1{TGpHb+|QHYYw@Z!&5{9}uJ#U!*)jX6de+{`ed}Dudvtgbo_0T-ivV(cmVN{Hs9QV=^m@`S#6)Q9hCG+P-phBCr7Sr={ zq;KP*VORz(J%i0F5=A0Jk>~-%!!8xqN;|22t%9KgD=0$W4x&4FVj>@j6BT9W?WJ{C zSu7mKRvjax_v4J|SP?~C6q|!@BMnCl2Jj<{j)Mjdg4ZfUhiCsAUP%l0>M{{echYe{ zGvr)sCK+F#(G0E8D5~DHrpDS3t1i5!pwIMrjphY^qq10kB1K`W{MP-szp4wzLsc@Z zY-t8m_#f3HS8^kI{qdp)q%T4BYJODRQFnytwK<^&97 zOvl9{Z^|PJL&3daw6GVb5w0zP>J_$2yU5OFEO)q$#O~os{qyc3@DtC3R9qN{B(Z&v zC>$aXw))Q7Pj9ndu8Wd;2vO|s=Nw{}H07-pO3)LI_6#`-X7fHo($-$BZS4&mkM(;Z zUEt9XZh0FDJ6@r;2Uu)zX-w0+OY~;jQ3PbnXImv=UV=z6LSs0!|%s z#G^3OL*njKt+W_*c#sVn*xU=qdlHFaTS6EaXa9uS*JPq5cow`T19fGH?F#wiYlFF% zb74+88GvXfy@1XpFn1g3Y(*T)KRrs!#R+)!nru=|^JSrZ`kKl7SOn@d)r_-CZPMZqx3tqG-7HkKh$Uo@F2^adpwBnzT^s5v3iD`vX+LB$tq{5-q!?`Z4uE%fu$UXg7Jr3;5wXlX!0>qtJ&p`Gc?&NSr7F;i|WB^^^X?MHGyoG>8Xn=3jOb_%9kM*|15*nUC6 zj1q*fUeMZ{K?C76FxK+fYZO!q(pr=86>7tdxW7e3UoqiR#pU-r(~NaSq2SCfAn!%9 zU!z0|!fR+MV<=FQdEEjLo}GaOYkUUUO#e5n@n6sNfJqJ+k;O+$)fR8mDbzTQ#Q0gi+NZh8iaAfzC~Z) z`?JOC5GV@kM}Cd5eBKNry-CH;9bp#Ke6amjOs#=)Tq!`h<`$?-+=YVL(pXq2{57)2 zwBjvri&3M?f;#(h)at;s6ok)2zX``z?SiNz0v*=mcM^r6^+np}+m3Tw; zr;+(oT*Bqo8AL4@c{(R!^zj3y;5l0~zfPm7<(*h$hiSzQ>W}$nQ-nvf$(cy}cZ} zjPP&yB%c1gcr+9~KJw2_{{O+p_sS8%9G<_V#M1 zif3aijJToHPLQV84`5fxdtW@J0s(y+AGu2}P!Y z9dKgfS?eKF0e(G&#>2aUtjTtjhNvTK)3h~WjW))Scs1N9SLYS;{$!+?h|4A6s40Kp zu>W^Uf@Uq6TM-`(c#?*mPAm{MvIL!D*J(a(4#5sKo0bban`9utyg{1q3^M-TmWd70 z#Ba)F;tZMdcYIe;bCSp-&!wT3Pw1AWTKMgpvChRfgv>L|b|i^WNpq|c{02VtG>_Qm zI&hU5IYaY6v$*4i#gBTAJ=6)hh%vo%&Ch*(Bqe3rgAk$l&^}xkH;k@y#H&CMM?2a` z!*&{7Q$y7oY^B5GP{{ zoIEY3ad~%g=s!pNj{|NqnJqNp-fq%}|DlUCqWwJ+$Ky1pI-AQOrf$C}7c}gUv&3SC znS^z8F1ZY3sp~Z7);0poyRo*l)62HeWTi_!PtrnRt=VgguJc#pg?GoVVk|$Uq`AT- zv&7g6Yk3z#T5{UYqPl)%!o;BnwbOy$tCScc?QY(yAX*pCLa6@_Rch<&EE^p*+P@W5 z&#GykBee0}`Ol)QPki-*EQqjJQqW#AJ_WQgOGAk55)%=td*p}D`wrOdP9rCsG@Sv$ z&XK1V1))=zf3vmo!L6or?9XDCLZxB9b?EUE?t=AJJZ$OV;bNOh5sTSu8k&rng|rc4 z4R=i(uZ|r;YdN}y>wMR&@#(G!%87$&>$0^8;8o=FMK3~GoO{wgH?6qQ zwQamQBKbDW{%swp*doM&Um(?PHmx`&6iJ7c^a$cLi+N`&S~IP{_dlU#`fun9HpjX3 z?Jv6g!_})UCmo;*+MowTlF}qWIxr8-xEVQ zO&yVnCcbOGUh|@LiLS12tg^M5bvsQf{LmoEU2@Am%(_4L)3>4wDsKN=v^}7S_Ie>n z-76hiYBlEq42dp=ZP3gThGXjf@3AEq)3E`W-;6GIt-3}X?MI#gEg_prrrP3hxvx>j z57x%T{78|j{Th64sH7vn+ppe%=O8@mpfX`s6vlmj+Wt#!CEkC)p0$vYzg!xhMWN^$ zIR~wM-{7;b1Ohru({LPs0EX9kc&fun`D|KWC_MxBtYOXlI?TgKDh($(dNSGn6`h^o zqp7txH*b*V=2p~z-}L81SROet4kLVlI+b6O6FARg3;P7Ed#gc}85mFTJoZ7aYv-r^j}ZwFe3F(HDkEREdUBZ!(N%PN;#C&@R`YbvV}|R--hC{G5px zR7XJ)e(pvsws8%&(#5;!<+Z}Peo44^*S^b17w1cl^@Uo)Av_ul@BJC=d>^C`mZ%ub@?R^bY=2Y${42>Lx z+h0LK|AK?l`2Xits1f<{Q{2~yu&715jW^}rr|BuKl%eXOj_dndq$SQQUma^|X|G8$ z4k71xq$Sg0ibxtB3cc?^)3EH~4oUMoVLYsNFkbFndZC1e`lwdAskhaL*y<-v(Y}n^ zae9Y?mqV)`fB@fLy9yq!d2#+vB^dL1@vfeR79%+IrUNGDL}V;DxbR0bjV$m;YB!DC z!$!JwvIzC}@ zp0$BCNz^3Ik>aMI38xs-ir;?{HT<7k) zzw}T_ql15>cACtdOQp4niiBQ%1to%id|ggOwDn1QA1{j(%B-4aXkRu!7lmG>+G~03 zRT{npPgRs_O$ZINX8htrf^0j^Ou0xWbR{l;BGey>SShkVM#3mkDkD)8(KPXki=jxD zNU{0F#Zhdr%$GkLwvD% zd@a7~<^4i$`ORW;aAXYkcs}mJ{|k5NU6^UC`{nD^?To%ie|wDjHam0B-4UZc%-FJe zSIRA_hZ1g%ReNW@_C75jFt(|1t+tjqEEpdwOv!MUG>7&O7>=iuStsff=*t)6QkQ-m zp@t$_9>0VVMBem8X<8@TFW;&@q?$rRWqt{jTE^FIQ~$vZm%G;8hTjB0ri-_!-{{qN z_t)|2MLm15!u|DK>M$JzeoDfBxi@qPzC@um_q96m-z(newx+0W3}O`<-5<FA~99CG0s{LZ}9?@*x0nHM|F{ly&h8kN=m>+M0As>)8h^Y-8e!I*d4mp!D0i6*Xp zM7`5!jGYFB`KsBj{3q2P0?uzo4fq1x$-k-erEHH+v8p)pnzy)CKc)VKZQJJRcuI|9 zm0MgBo>tQ>cU1KDrOcc)-E+vU(yx*@^8zYd>z-Ca**DwWA3m-AOV7?$x*p3>%h`-- zxBo)bN6!NGxyQVqMyhP_4);ATs!=K%RPA2+SM_a`6;``Lm#UL>Y@ORZFIUagv9f(G zPoDY{TfNP7DqsB@>#cM>QJ^kk({{N!h%q}|PpnY?Hs}rfrbv5*(bbi&hPr}Rs`s;< zn_bVZRNGkSHdjU=avs|3`mzu;oPj=eaLP{iPj;25gEmpoM`Y0u2Z~<1)AfP_S$^H* zHmp)FS6SmGcaT&4MP;krcU}In`ZAlj#Z~^Yx^>V=%-;4FnbvGx5z3z5vi1+v56+ICqQtVXjVAjZbfZ*ePUL?nF&9=>VMEnODo~ z!yFl1PX69zSKS)*N_KX$t9^~S?)J4<6Vxy8Ex}|@-&amvv9-6)Gklz?wCDV}icxFtKl{EdQ&gebD{6FXyp7>m#<5Gl`YufDs`!2*v4J1y~L!Qt}k5b1oq@k z*WePwf86W}Em0#(hX)qky4m$$i5kMb*z8(aqCVy~|Bo6zw%Mh=u3l;T44QUaFPeLe zg0Uj#q2L`Nc!Yv?i{L*gm@0zBo8gV;J$K_=+ObVY?$;#7V0@!|osewMBrA47;t&#t zCW*!ytM*0MSsfWR*fL#{ZbMz|4?^nX)o94`^i_yY7x7mpzKu#v5%Gm6;h9G16Gi-9 zioZq z74g{3?z{i4I(6*YZLZJPVU>!gb$zg2tz$ivZu>vg1U*|&>uP*c?PQa;x%ZW+pABLQ z+%8vzx|RLrcHOxJ98>N3h4`}D_4ZcK<95&5rk+$;NVWUM?dlwry^j*_Amxr~*PT1S z+fafy%k6%zN;Q()w|ru@2St}srCKutLFy8L)`BiRG(AXflAlaAE~di zqFVRr$;OVw=l+9(-Ywd(wH; zm$7FnTya0D53y^uxypV-!sYv12Z)$C9wKJUkZyH6&9&>h)%P)TTt8DhcAIP5Pe{LV zoBNKR)K7GA*JA2m^{Y>4^3zu5gvO49y#37XN8XSZBa$2NO)OI&GYFo{N zaUJjk?q?sSJKDEeAe?79fs3qDt2;%w15eT?)>nwlW5F5REj-#b&y*f(Vkc>^*TL9>IG$=IZb-4mU^w0daagv z;i7|jdSW%{1+`FM@H6L0uhr1&pHo>idv1q&_ML3>T@#8vz}obq^R*FJ!TQcPUwaR< zo9pBBcsHu-rU%BnKK5K_M}%|r-zr?CMa(j!2lJ}K$NAczZLWPqtTKR#Vzb7J9K}(^ z%c;VX&i9ae#Vc(5{r@W!%`EMFAKwp9`o4Le8gu4R+o(u1`YV1luJgH|j;ow`)E>m- zPaQ*@d1#is%HCjyo822;Ww%_xJe%BKZDa7AgVH+RpsQPF!4Kv zB8nG4h~{i{kNJ>oWh{A<>!W%E&TMr5wSm=*WHleSrkrArvbYc3n@+J*JzKHkwKg^f zaA&r$03(aq?0&J6ZDtg>`g>Nvj5oTmvFy0P?LKjyy`^KmJ6w4`v8PzlHusM|F{~}+ z)$W%ruwlbl_vh|cFVkVSt@+&j=`h{X@chr+cbIhxRXQEL>!*8?9ogj`KU^2CvT2pB z8U8x=Rg*TsN;noIeoe)3nS+{doa)iF~gj!o6{a0n-IjC#jaZq+@@ zmb~K*9H$$lvisg~-x#dhryKS#dgOGxg7w77f2(%sLUr#9dzH3v$0w8mnfrrK-Baj8{BHq@<4(Qvd0%|(?uaw*K@uK-(3$7j;jX_%cT637HMxb!k)H};sHgpA6G`jD>nh5^bC?2~sMU+UzadXw|8ZhV&4 zQ0PtlfR1kwiatmyLFEAPp?>k}1H`ZNi(eWb{$5z>!L4pJOLtm#`4br5l*g5s9sZ8@ zXng5+(H-wsyDvPdE7o0dk^ix5xGSE}y$I{Hy275+1qF`Y1xv?elG?8=>N3N#gkwz9v&<4X~oCvP!%ga^q)bdKQFQ=^j}hE9>ia)#3vV@B792m zsl=y->6AuLIfO7i`6%Z^xd4=*I`+ys=s%j4b=dxUB`B=m&6c;4uVp2q!m9qle<+*s ziKf5;u$015fw7A<1*mMpf0WJqqxMma_)mxM@fN;kKw*6euKVztx0(1f;uF{Y$FfC; z*WhD5tM&XvQP#bBq3)t;i~0MdF8@Jmui09|@z>6;!Qa=BTDu1{ob!Jvn~Oi#REdwb z>^B3-R%&H!|8u-jqVRX*@$nWO@j}13I{z;XTPNZ#q~qf)n=qhk*gpn#7*6(QM~TB9 zep-N!xA2kyg|q%p_`j6JABI|hkGJgR0cA`7TUi^t(rfC>8}XO%@$nWuKA`abQ`otO zNL9sg{I=IN70ZbtBqSygDHI(=q(Eh$+KgTk)eBfzM}ywY-v7=+atp+Q*1th z^%ig!h4{h{-l*VDBj5x-*`$#%JgC^QFW2{Yq|&S@<)P9iw7(1nrxko{1nj0*mLD0z zS3VwwIv2spQd2H6?46E+4@SWG+W|#ES6r*uGZC!I*FY6y*h2w3@-6$^R~m;a$CWEC zGVtHZa3+FHE~Q5x!_I08qqXxD?!($>%+7F`co7+Rse*rqFkE7Z0uQBG7D1YLi(;p4 zHV)JNwcadBKpx7o1cksu3QnJeYqK6qob@qENZ8At2tD3Z%}W2*?^5v?**aQp4q)`Ql;Z2IYxM(~cU1`S*J~7szNg@;KqY6&dfeo8}m`EYRj(;-r`1!`H zW2O0;F^>#6$6!g3WZ$jgeu$2wBJKkAUN==?%!h6LMj+jz_SmHF%5+n^bIkt2j*m&(Mu( zjRCpm81;~WvkG230@r7Y>$npOGHjn>H)>Y;f4-_8SJpG->I&g675uq|Yp|&ec#MqU z3s;5Fift2*M_1a>gO3YXQSdbizNrQ*Y-uCLnrzD>jlUQg&M3CC4og>b{JHtd{M5h= zh)k`wD0r|wJi_MST*V$ythN3B9&3lwo9T!7&7t9OPle%{Uk6SWeUCGwMac&}Vu4~; z)?v$Ad^WX}W7_L%n_$=$fRTP_6>~KSt_IKX_ zM#k`Z1z+`=ZROvk9qDpK(rS-g_EnI3z;C9{6#EElt*&dL6?;$S0X!JPO&y`fZUh|v zifAFj&Qk1;5o~6Na}5dW$jOyf@D;D~neJ=f<1%Tr#})R)jP{f1~E zQ|V7SxQm*ZfD|L(__uhB3_Pq155eY+^BS_g`+ucV?8~9@3BS^Fo;8t{naGaDwYI+J z(=jrJmz;%Jt~-LwvG#$B4BMsHys+~AFDF+HRfjr#5>JqUKTzL1w1iZ>^f?V5-5c#lD1$7xyZU64^aih7Eu-zQR2qJvFGic zra`xmU289Fa(fB`YwcTZl;}>yMhrOeiH7Y(4p=qNgYPNU{$Z0iy<4b4L>s1+?oS=51gP%j!lhtW}V z0-Z+99q?#chkdIxk4y_{MaxkZb)X*9i)8bssZ3PyI(;ckyNX-jJjH#n?qNA=_H8;8 z=;QsbzhJl6(a=g54E%Uj_-Ef2K8_XAGcH2|N z55K|5zux9H;Dx)p?aP`in#t-aJjrX#3Gy?#3ccO@{78C)bkZGNw)JmNZ%Ir5{sXcZ BUwZ%m delta 37925 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 diff --git a/apps/predbat/prediction_kernel_lib_x86_64.so b/apps/predbat/prediction_kernel_lib_x86_64.so index 2e8a7600a782cd761f3964d5ed53e4fae5a446a6..a6410d5f725717f9d835c24f50013ae59212bf13 100755 GIT binary patch delta 65205 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 diff --git a/apps/predbat/tests/test_infra.py b/apps/predbat/tests/test_infra.py index 76f592b44..0403715d0 100644 --- a/apps/predbat/tests/test_infra.py +++ b/apps/predbat/tests/test_infra.py @@ -586,6 +586,7 @@ def simple_scenario( charge_window_best=[], charge_limit_best=None, inverter_loss=1.0, + inverter_freeze_export_discharge_rate=0.0, battery_rate_max_charge=1.0, battery_rate_max_charge_dc=None, charge_car=0, @@ -608,6 +609,7 @@ def simple_scenario( keep=0.0, keep_weight=0.5, assert_keep=0.0, + assert_battery_cycle=None, save="best", quiet=False, iboost_rate_threshold=9999, @@ -696,6 +698,7 @@ def simple_scenario( my_predbat.pv_ac_limit = pv_ac_limit / 60.0 my_predbat.reserve = reserve my_predbat.inverter_loss = inverter_loss + my_predbat.inverter_freeze_export_discharge_rate = inverter_freeze_export_discharge_rate my_predbat.battery_rate_max_charge = battery_rate_max_charge / 60.0 my_predbat.battery_rate_max_charge_dc = battery_rate_max_charge_dc / 60.0 my_predbat.battery_rate_max_discharge = battery_rate_max_charge / 60.0 @@ -852,6 +855,10 @@ def simple_scenario( if not ignore_failed: print("ERROR: Final SOC {} should be {}".format(final_soc, assert_final_soc)) failed = True + if assert_battery_cycle is not None and abs(battery_cycle - assert_battery_cycle) >= 0.001: + if not ignore_failed: + print("ERROR: Battery cycle {} should be {}".format(battery_cycle, assert_battery_cycle)) + failed = True if abs(final_iboost - assert_final_iboost) >= 0.1: if not ignore_failed: print("ERROR: Final iBoost {} should be {}".format(final_iboost, assert_final_iboost)) diff --git a/apps/predbat/tests/test_kernel_parity.py b/apps/predbat/tests/test_kernel_parity.py index bdcd49025..ad3f16f8f 100644 --- a/apps/predbat/tests/test_kernel_parity.py +++ b/apps/predbat/tests/test_kernel_parity.py @@ -80,6 +80,7 @@ "battery_loss_discharge", "inverter_hybrid", "inverter_loss", + "inverter_freeze_export_discharge_rate", "inverter_limit", "export_limit", "pv_ac_limit", @@ -219,6 +220,8 @@ def apply_random_scenario(my_predbat, rng): my_predbat.set_reserve_enable = rng.choice([True, False]) my_predbat.set_export_freeze = rng.choice([True, False]) my_predbat.set_export_freeze_only = rng.choice([True, False, False, False]) + # Exercise a non-zero value without consuming another RNG draw, preserving seeded scenarios. + my_predbat.inverter_freeze_export_discharge_rate = 240.0 if my_predbat.set_export_freeze else 0.0 my_predbat.set_charge_window = rng.choice([True, True, False]) my_predbat.set_export_window = rng.choice([True, True, False]) my_predbat.set_discharge_during_charge = rng.choice([True, False]) diff --git a/apps/predbat/tests/test_model.py b/apps/predbat/tests/test_model.py index 208cbd0bb..757de399d 100644 --- a/apps/predbat/tests/test_model.py +++ b/apps/predbat/tests/test_model.py @@ -20,6 +20,31 @@ def run_model_tests(my_predbat, prediction_kernel=False): reset_rates(my_predbat, import_rate, export_rate) failed = False + # Freeze Export internal battery discharge regression coverage. 240 W for one hour + # is 0.24 kWh. It applies only in Freeze Export, respects reserve, and counts as cycling. + failed |= simple_scenario( + "freeze_export_discharge_rate_default_zero", my_predbat, 0, 0, + assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0, + discharge=99, end_record=60, inverter_freeze_export_discharge_rate=0.0, assert_battery_cycle=0.0, + ) + failed |= simple_scenario( + "freeze_export_discharge_rate_240w_one_hour", my_predbat, 0, 0, + assert_final_metric=0, assert_final_soc=9.76, battery_size=10.0, battery_soc=10.0, + discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.24, + ) + failed |= simple_scenario( + "freeze_export_discharge_rate_not_outside_freeze", my_predbat, 0, 0, + assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0, + discharge=100, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.0, + ) + failed |= simple_scenario( + "freeze_export_discharge_rate_reserve_floor", my_predbat, 0, 0, + assert_final_metric=0, assert_final_soc=4.0, battery_size=10.0, battery_soc=4.1, reserve=4.0, + discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.1, + ) + if failed: + return failed + failed |= simple_scenario("zero", my_predbat, 0, 0, 0, 0, with_battery=False) failed |= simple_scenario("load_only", my_predbat, 1, 0, assert_final_metric=import_rate * 24, assert_final_soc=0, with_battery=False) failed |= simple_scenario("load_bat_ac", my_predbat, 4, 0, assert_final_metric=import_rate * 24 * 3.2, assert_final_soc=100 - 24, with_battery=True, battery_soc=100.0, inverter_loss=0.8) From d66174925a74cc4999b1e60e88048fef727d0416 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:28:05 +0100 Subject: [PATCH 07/15] ci: remove duplicate PR validator --- .../workflows/freeze-discharge-rate-pr.yml | 60 ------------------- 1 file changed, 60 deletions(-) delete mode 100644 .github/workflows/freeze-discharge-rate-pr.yml diff --git a/.github/workflows/freeze-discharge-rate-pr.yml b/.github/workflows/freeze-discharge-rate-pr.yml deleted file mode 100644 index b4399c52e..000000000 --- a/.github/workflows/freeze-discharge-rate-pr.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: freeze-discharge-rate-pr -on: - pull_request: - branches: [main, validation-base-v8.49.2] -permissions: - contents: write -jobs: - patch-build-test: - if: github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'github-actions[bot]' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.head_ref }} - - uses: actions/setup-python@v4 - with: - python-version: 3.x - - uses: mlugg/setup-zig@v2 - with: - version: 0.16.0 - - name: Extract and apply patch script - run: | - python3 - <<'PY' - from pathlib import Path - src = Path('.github/workflows/freeze-discharge-rate-sync.yml').read_text().splitlines() - start = next(i for i, line in enumerate(src) if "python3 - <<'PY'" in line) + 1 - end = next(i for i in range(start, len(src)) if src[i].strip() == 'PY') - script = '\n'.join(line[10:] if line.startswith(' ') else line for line in src[start:end]) + '\n' - Path('/tmp/apply_freeze_discharge_rate.py').write_text(script) - PY - python3 /tmp/apply_freeze_discharge_rate.py - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - - name: Cross-build all prediction kernels - run: bash apps/predbat/build_kernel_cross.sh - - name: Run focused model and kernel parity tests - env: - PREDBAT_KERNEL_REQUIRED: "1" - run: | - cd coverage - python3 ../apps/predbat/unit_test.py --test model --test kernel_parity - - name: Run quick test suite - env: - PREDBAT_KERNEL_REQUIRED: "1" - run: | - cd coverage - python3 ../apps/predbat/unit_test.py --quick - - name: Verify checked-in x86_64 kernel - run: | - cd coverage - python3 ../apps/predbat/verify_kernel_binary.py ../apps/predbat/prediction_kernel_lib_x86_64.so - - name: Commit validated patch and rebuilt kernels - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add apps/predbat/predbat.py apps/predbat/prediction.py apps/predbat/prediction_kernel.cpp apps/predbat/prediction_kernel.py apps/predbat/prediction_kernel_lib_*.so apps/predbat/tests/test_infra.py apps/predbat/tests/test_model.py apps/predbat/tests/test_kernel_parity.py - git commit -m "feat: model Freeze Export battery discharge rate" - git push origin HEAD:${{ github.head_ref }} From 404b466929dc699b59f2b3d45671f9004f4bdaa6 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:29:06 +0100 Subject: [PATCH 08/15] ci: trigger validation after bot-generated patch commit --- .validation-trigger | 1 + 1 file changed, 1 insertion(+) create mode 100644 .validation-trigger diff --git a/.validation-trigger b/.validation-trigger new file mode 100644 index 000000000..16582177e --- /dev/null +++ b/.validation-trigger @@ -0,0 +1 @@ +Trigger CI for v8.49.2 Freeze Export discharge-rate validation. From 94b2a531fb44b0f2c70589d9c12ac943f015935a Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:30:18 +0100 Subject: [PATCH 09/15] ci: remove temporary Freeze sync marker --- .github/FREEZE_SYNC_NOTE.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .github/FREEZE_SYNC_NOTE.md diff --git a/.github/FREEZE_SYNC_NOTE.md b/.github/FREEZE_SYNC_NOTE.md deleted file mode 100644 index 5d5a0bc2c..000000000 --- a/.github/FREEZE_SYNC_NOTE.md +++ /dev/null @@ -1,3 +0,0 @@ -Temporary validation marker for the v8.49.2 Freeze Export discharge-rate sync branch. Remove after validation. - -CI retrigger after adding the temporary validator to the clean v8.49.2 base branch. \ No newline at end of file From 05da1d27c73bf07e2b2714e2965ef8de98b4f898 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:31:09 +0100 Subject: [PATCH 10/15] ci: remove temporary Freeze sync workflow --- .../workflows/freeze-discharge-rate-sync.yml | 240 ------------------ 1 file changed, 240 deletions(-) delete mode 100644 .github/workflows/freeze-discharge-rate-sync.yml diff --git a/.github/workflows/freeze-discharge-rate-sync.yml b/.github/workflows/freeze-discharge-rate-sync.yml deleted file mode 100644 index e51a38afb..000000000 --- a/.github/workflows/freeze-discharge-rate-sync.yml +++ /dev/null @@ -1,240 +0,0 @@ -name: freeze-discharge-rate-sync -on: - push: - branches: - - sync-v8.49.2-freeze-discharge-rate -permissions: - contents: write -jobs: - patch-build-test: - if: github.actor != 'github-actions[bot]' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: sync-v8.49.2-freeze-discharge-rate - - uses: actions/setup-python@v4 - with: - python-version: 3.x - - uses: mlugg/setup-zig@v2 - with: - version: 0.16.0 - - name: Apply Freeze Export discharge-rate model - run: | - python3 - <<'PY' - from pathlib import Path - - def replace(path, old, new, count=1): - p = Path(path) - text = p.read_text() - actual = text.count(old) - if actual != count: - raise SystemExit(f"{path}: expected {count} occurrences, found {actual}: {old[:80]!r}") - p.write_text(text.replace(old, new)) - - # Runtime configuration and diagnostic. - replace( - "apps/predbat/predbat.py", - " self.inverter_loss = 1.0\n self.inverter_hybrid = True\n", - " self.inverter_loss = 1.0\n" - " # Internal battery discharge rate (W) observed while Freeze Export is active.\n" - " # Prediction-only: this does not alter inverter control or house/grid energy.\n" - " self.inverter_freeze_export_discharge_rate = max(float(self.args.get(\"inverter_freeze_export_discharge_rate\", 0)), 0.0)\n" - " self.log(\"Freeze Export discharge rate configured: {:.0f} W\".format(self.inverter_freeze_export_discharge_rate))\n" - " self.inverter_hybrid = True\n", - ) - - # Python prediction engine: carry the config into Prediction, apply it only while - # a genuine Freeze Export window is active, respect reserve, and count the energy - # as battery cycling without fabricating load/export energy. - replace( - "apps/predbat/prediction.py", - " self.inverter_loss = base.inverter_loss\n self.inverter_hybrid = base.inverter_hybrid\n", - " self.inverter_loss = base.inverter_loss\n" - " self.inverter_freeze_export_discharge_rate = base.inverter_freeze_export_discharge_rate\n" - " self.inverter_hybrid = base.inverter_hybrid\n", - ) - replace( - "apps/predbat/prediction.py", - " battery_rate_max_export = self.battery_rate_max_export\n battery_rate_min = self.battery_rate_min\n carbon_intensity = self.carbon_intensity\n", - " battery_rate_max_export = self.battery_rate_max_export\n" - " battery_rate_min = self.battery_rate_min\n" - " inverter_freeze_export_discharge_rate = self.inverter_freeze_export_discharge_rate\n" - " carbon_intensity = self.carbon_intensity\n", - ) - replace( - "apps/predbat/prediction.py", - " export_limit_now = export_limits[export_window_n] if export_window_active else 100.0\n\n # Find charge limit\n", - " export_limit_now = export_limits[export_window_n] if export_window_active else 100.0\n" - " freeze_export_active = set_export_freeze and export_window_active and export_limit_now < 100.0 and (export_limit_now == 99.0 or set_export_freeze_only)\n\n" - " # Find charge limit\n", - ) - replace( - "apps/predbat/prediction.py", - " else:\n soc = min(soc - battery_draw * battery_loss, soc_max)\n\n # Iboost finally count\n", - " else:\n" - " soc = min(soc - battery_draw * battery_loss, soc_max)\n\n" - " # Some inverters continue to discharge the battery internally while Freeze Export\n" - " # blocks normal external battery flow. Model that measured battery-side discharge\n" - " # directly in SoC without creating fictitious house load or grid energy.\n" - " freeze_export_discharge_step = 0.0\n" - " if freeze_export_active and inverter_freeze_export_discharge_rate > 0:\n" - " freeze_export_discharge_step = min(inverter_freeze_export_discharge_rate * step / 60000.0, max(soc - reserve_expected, 0))\n" - " soc -= freeze_export_discharge_step\n\n" - " # Iboost finally count\n", - ) - replace( - "apps/predbat/prediction.py", - " # Count battery cycles\n battery_cycle = battery_cycle + abs(battery_draw)\n", - " # Count battery cycles, including internal Freeze Export battery discharge\n" - " battery_cycle = battery_cycle + abs(battery_draw) + freeze_export_discharge_step\n", - ) - - # Native prediction kernel ABI + matching model. - replace( - "apps/predbat/prediction_kernel.cpp", - "#define PK_ABI_VERSION 4\n#define PK_PARITY_REVISION 7\n", - "#define PK_ABI_VERSION 5\n#define PK_PARITY_REVISION 8\n", - ) - replace( - "apps/predbat/prediction_kernel.cpp", - " double inverter_loss;\n double inverter_limit;", - " double inverter_loss;\n double inverter_freeze_export_discharge_rate; // W, internal battery discharge while Freeze Export is active\n double inverter_limit;", - ) - replace( - "apps/predbat/prediction_kernel.cpp", - " const double battery_rate_max_export = c->battery_rate_max_export;\n const double battery_rate_min = c->battery_rate_min;\n", - " const double battery_rate_max_export = c->battery_rate_max_export;\n" - " const double battery_rate_min = c->battery_rate_min;\n" - " const double inverter_freeze_export_discharge_rate = c->inverter_freeze_export_discharge_rate;\n", - ) - replace( - "apps/predbat/prediction_kernel.cpp", - " const double export_limit_now = export_window_active ? s->export_limits[export_window_n] : 100.0;\n\n // Find charge limit", - " const double export_limit_now = export_window_active ? s->export_limits[export_window_n] : 100.0;\n" - " const bool freeze_export_active = c->set_export_freeze && export_window_active && export_limit_now < 100.0 && (export_limit_now == 99.0 || c->set_export_freeze_only);\n\n" - " // Find charge limit", - ) - replace( - "apps/predbat/prediction_kernel.cpp", - " } else {\n soc = std::min(soc - battery_draw * battery_loss, soc_max);\n }\n\n // iBoost final count", - " } else {\n" - " soc = std::min(soc - battery_draw * battery_loss, soc_max);\n" - " }\n\n" - " // Internal, directional battery discharge while Freeze Export is active.\n" - " // This mirrors prediction.py and deliberately does not alter battery_draw/grid energy.\n" - " double freeze_export_discharge_step = 0.0;\n" - " if (freeze_export_active && inverter_freeze_export_discharge_rate > 0) {\n" - " freeze_export_discharge_step = std::min(inverter_freeze_export_discharge_rate * step / 60000.0, std::max(soc - reserve_expected, 0.0));\n" - " soc -= freeze_export_discharge_step;\n" - " }\n\n" - " // iBoost final count", - ) - replace( - "apps/predbat/prediction_kernel.cpp", - " battery_cycle = battery_cycle + std::fabs(battery_draw);\n", - " battery_cycle = battery_cycle + std::fabs(battery_draw) + freeze_export_discharge_step;\n", - ) - - replace( - "apps/predbat/prediction_kernel.py", - "KERNEL_ABI_VERSION = 4\nKERNEL_PARITY_REVISION = 7\n", - "KERNEL_ABI_VERSION = 5\nKERNEL_PARITY_REVISION = 8\n", - ) - replace( - "apps/predbat/prediction_kernel.py", - " (\"inverter_loss\", ctypes.c_double),\n (\"inverter_limit\", ctypes.c_double),\n", - " (\"inverter_loss\", ctypes.c_double),\n" - " (\"inverter_freeze_export_discharge_rate\", ctypes.c_double),\n" - " (\"inverter_limit\", ctypes.c_double),\n", - ) - replace( - "apps/predbat/prediction_kernel.py", - " ctx.inverter_loss = pred.inverter_loss\n ctx.inverter_limit = pred.inverter_limit\n", - " ctx.inverter_loss = pred.inverter_loss\n" - " ctx.inverter_freeze_export_discharge_rate = pred.inverter_freeze_export_discharge_rate\n" - " ctx.inverter_limit = pred.inverter_limit\n", - ) - - # Focused model regression coverage (Python + native kernel via the existing model suite). - replace( - "apps/predbat/tests/test_infra.py", - " inverter_loss=1.0,\n battery_rate_max_charge=1.0,\n", - " inverter_loss=1.0,\n inverter_freeze_export_discharge_rate=0.0,\n battery_rate_max_charge=1.0,\n", - ) - replace( - "apps/predbat/tests/test_infra.py", - " assert_keep=0.0,\n save=\"best\",\n", - " assert_keep=0.0,\n assert_battery_cycle=None,\n save=\"best\",\n", - ) - replace( - "apps/predbat/tests/test_infra.py", - " my_predbat.inverter_loss = inverter_loss\n my_predbat.battery_rate_max_charge = battery_rate_max_charge / 60.0\n", - " my_predbat.inverter_loss = inverter_loss\n" - " my_predbat.inverter_freeze_export_discharge_rate = inverter_freeze_export_discharge_rate\n" - " my_predbat.battery_rate_max_charge = battery_rate_max_charge / 60.0\n", - ) - replace( - "apps/predbat/tests/test_infra.py", - " if abs(final_soc - assert_final_soc) >= 0.1:\n if not ignore_failed:\n print(\"ERROR: Final SOC {} should be {}\".format(final_soc, assert_final_soc))\n failed = True\n if abs(final_iboost - assert_final_iboost) >= 0.1:\n", - " if abs(final_soc - assert_final_soc) >= 0.1:\n" - " if not ignore_failed:\n" - " print(\"ERROR: Final SOC {} should be {}\".format(final_soc, assert_final_soc))\n" - " failed = True\n" - " if assert_battery_cycle is not None and abs(battery_cycle - assert_battery_cycle) >= 0.001:\n" - " if not ignore_failed:\n" - " print(\"ERROR: Battery cycle {} should be {}\".format(battery_cycle, assert_battery_cycle))\n" - " failed = True\n" - " if abs(final_iboost - assert_final_iboost) >= 0.1:\n", - ) - - model_tests = ''' # Freeze Export internal battery discharge regression coverage. 240 W for one hour\n # is 0.24 kWh. It applies only in Freeze Export, respects reserve, and counts as cycling.\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_default_zero\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0,\n discharge=99, end_record=60, inverter_freeze_export_discharge_rate=0.0, assert_battery_cycle=0.0,\n )\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_240w_one_hour\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=9.76, battery_size=10.0, battery_soc=10.0,\n discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.24,\n )\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_not_outside_freeze\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0,\n discharge=100, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.0,\n )\n failed |= simple_scenario(\n \"freeze_export_discharge_rate_reserve_floor\", my_predbat, 0, 0,\n assert_final_metric=0, assert_final_soc=4.0, battery_size=10.0, battery_soc=4.1, reserve=4.0,\n discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.1,\n )\n if failed:\n return failed\n\n''' - replace( - "apps/predbat/tests/test_model.py", - " failed = False\n failed |= simple_scenario(\"zero\", my_predbat, 0, 0, 0, 0, with_battery=False)\n", - " failed = False\n" + model_tests + " failed |= simple_scenario(\"zero\", my_predbat, 0, 0, 0, 0, with_battery=False)\n", - ) - - replace( - "apps/predbat/tests/test_kernel_parity.py", - " \"inverter_loss\",\n \"inverter_limit\",\n", - " \"inverter_loss\",\n \"inverter_freeze_export_discharge_rate\",\n \"inverter_limit\",\n", - ) - replace( - "apps/predbat/tests/test_kernel_parity.py", - " my_predbat.set_export_freeze = rng.choice([True, False])\n my_predbat.set_export_freeze_only = rng.choice([True, False, False, False])\n", - " my_predbat.set_export_freeze = rng.choice([True, False])\n" - " my_predbat.set_export_freeze_only = rng.choice([True, False, False, False])\n" - " # Exercise a non-zero value without consuming another RNG draw, preserving seeded scenarios.\n" - " my_predbat.inverter_freeze_export_discharge_rate = 240.0 if my_predbat.set_export_freeze else 0.0\n", - ) - PY - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - - name: Cross-build all prediction kernels - run: bash apps/predbat/build_kernel_cross.sh - - name: Run focused model and kernel parity tests - env: - PREDBAT_KERNEL_REQUIRED: "1" - run: | - cd coverage - python3 ../apps/predbat/unit_test.py --test model --test kernel_parity - - name: Run quick test suite - env: - PREDBAT_KERNEL_REQUIRED: "1" - run: | - cd coverage - python3 ../apps/predbat/unit_test.py --quick - - name: Verify checked-in x86_64 kernel - run: | - cd coverage - python3 ../apps/predbat/verify_kernel_binary.py ../apps/predbat/prediction_kernel_lib_x86_64.so - - name: Commit validated patch and rebuilt kernels - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add apps/predbat/predbat.py apps/predbat/prediction.py apps/predbat/prediction_kernel.cpp apps/predbat/prediction_kernel.py apps/predbat/prediction_kernel_lib_*.so apps/predbat/tests/test_infra.py apps/predbat/tests/test_model.py apps/predbat/tests/test_kernel_parity.py - git commit -m "feat: model Freeze Export battery discharge rate" - git push origin HEAD:sync-v8.49.2-freeze-discharge-rate From 80b52826e283f290fdd9ffc58f3b275cdab482dc Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:32:52 +0100 Subject: [PATCH 11/15] ci: format and clean v8.49.2 validation branch --- .github/workflows/freeze-sync-cleanup.yml | 32 +++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/freeze-sync-cleanup.yml diff --git a/.github/workflows/freeze-sync-cleanup.yml b/.github/workflows/freeze-sync-cleanup.yml new file mode 100644 index 000000000..e71cd4dc8 --- /dev/null +++ b/.github/workflows/freeze-sync-cleanup.yml @@ -0,0 +1,32 @@ +name: freeze-sync-cleanup +on: + pull_request: + branches: [validation-base-v8.49.2] +permissions: + contents: write +jobs: + format-and-clean: + if: github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - name: Format test and remove validation files + run: | + python -m pip install black==23.11.0 + black apps/predbat/tests/test_model.py + rm -f .github/FREEZE_SYNC_NOTE.md .validation-trigger + rm -f .github/workflows/freeze-discharge-rate-sync.yml + rm -f .github/workflows/freeze-discharge-rate-validator.yml + rm -f .github/workflows/freeze-sync-cleanup.yml + - name: Commit cleanup + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add -A + git commit -m "chore: format Freeze Export tests and remove validation files" + git push origin HEAD:${{ github.head_ref }} From 2a58c7cb4a8eab1d0bea416af164d0ae4a4cab2e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 20 Aug 2026 14:33:14 +0000 Subject: [PATCH 12/15] chore: format Freeze Export tests and remove validation files --- .github/workflows/freeze-sync-cleanup.yml | 32 ------------ .validation-trigger | 1 - apps/predbat/tests/test_model.py | 61 ++++++++++++++++++----- 3 files changed, 49 insertions(+), 45 deletions(-) delete mode 100644 .github/workflows/freeze-sync-cleanup.yml delete mode 100644 .validation-trigger diff --git a/.github/workflows/freeze-sync-cleanup.yml b/.github/workflows/freeze-sync-cleanup.yml deleted file mode 100644 index e71cd4dc8..000000000 --- a/.github/workflows/freeze-sync-cleanup.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: freeze-sync-cleanup -on: - pull_request: - branches: [validation-base-v8.49.2] -permissions: - contents: write -jobs: - format-and-clean: - if: github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'github-actions[bot]' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.head_ref }} - - uses: actions/setup-python@v4 - with: - python-version: 3.x - - name: Format test and remove validation files - run: | - python -m pip install black==23.11.0 - black apps/predbat/tests/test_model.py - rm -f .github/FREEZE_SYNC_NOTE.md .validation-trigger - rm -f .github/workflows/freeze-discharge-rate-sync.yml - rm -f .github/workflows/freeze-discharge-rate-validator.yml - rm -f .github/workflows/freeze-sync-cleanup.yml - - name: Commit cleanup - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add -A - git commit -m "chore: format Freeze Export tests and remove validation files" - git push origin HEAD:${{ github.head_ref }} diff --git a/.validation-trigger b/.validation-trigger deleted file mode 100644 index 16582177e..000000000 --- a/.validation-trigger +++ /dev/null @@ -1 +0,0 @@ -Trigger CI for v8.49.2 Freeze Export discharge-rate validation. diff --git a/apps/predbat/tests/test_model.py b/apps/predbat/tests/test_model.py index 757de399d..70e406375 100644 --- a/apps/predbat/tests/test_model.py +++ b/apps/predbat/tests/test_model.py @@ -23,24 +23,61 @@ def run_model_tests(my_predbat, prediction_kernel=False): # Freeze Export internal battery discharge regression coverage. 240 W for one hour # is 0.24 kWh. It applies only in Freeze Export, respects reserve, and counts as cycling. failed |= simple_scenario( - "freeze_export_discharge_rate_default_zero", my_predbat, 0, 0, - assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0, - discharge=99, end_record=60, inverter_freeze_export_discharge_rate=0.0, assert_battery_cycle=0.0, + "freeze_export_discharge_rate_default_zero", + my_predbat, + 0, + 0, + assert_final_metric=0, + assert_final_soc=10.0, + battery_size=10.0, + battery_soc=10.0, + discharge=99, + end_record=60, + inverter_freeze_export_discharge_rate=0.0, + assert_battery_cycle=0.0, ) failed |= simple_scenario( - "freeze_export_discharge_rate_240w_one_hour", my_predbat, 0, 0, - assert_final_metric=0, assert_final_soc=9.76, battery_size=10.0, battery_soc=10.0, - discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.24, + "freeze_export_discharge_rate_240w_one_hour", + my_predbat, + 0, + 0, + assert_final_metric=0, + assert_final_soc=9.76, + battery_size=10.0, + battery_soc=10.0, + discharge=99, + end_record=60, + inverter_freeze_export_discharge_rate=240.0, + assert_battery_cycle=0.24, ) failed |= simple_scenario( - "freeze_export_discharge_rate_not_outside_freeze", my_predbat, 0, 0, - assert_final_metric=0, assert_final_soc=10.0, battery_size=10.0, battery_soc=10.0, - discharge=100, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.0, + "freeze_export_discharge_rate_not_outside_freeze", + my_predbat, + 0, + 0, + assert_final_metric=0, + assert_final_soc=10.0, + battery_size=10.0, + battery_soc=10.0, + discharge=100, + end_record=60, + inverter_freeze_export_discharge_rate=240.0, + assert_battery_cycle=0.0, ) failed |= simple_scenario( - "freeze_export_discharge_rate_reserve_floor", my_predbat, 0, 0, - assert_final_metric=0, assert_final_soc=4.0, battery_size=10.0, battery_soc=4.1, reserve=4.0, - discharge=99, end_record=60, inverter_freeze_export_discharge_rate=240.0, assert_battery_cycle=0.1, + "freeze_export_discharge_rate_reserve_floor", + my_predbat, + 0, + 0, + assert_final_metric=0, + assert_final_soc=4.0, + battery_size=10.0, + battery_soc=4.1, + reserve=4.0, + discharge=99, + end_record=60, + inverter_freeze_export_discharge_rate=240.0, + assert_battery_cycle=0.1, ) if failed: return failed From e856597a7af87bac9eb483eb551db85ac2f507c0 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:33:54 +0100 Subject: [PATCH 13/15] ci: run clean v8.49.2 validation --- .validation-trigger | 1 + 1 file changed, 1 insertion(+) create mode 100644 .validation-trigger diff --git a/.validation-trigger b/.validation-trigger new file mode 100644 index 000000000..abaa026ab --- /dev/null +++ b/.validation-trigger @@ -0,0 +1 @@ +v8.49.2 Freeze Export discharge-rate CI validation From 817fdc05e62c92da4068f3b6a7b3b69e362bc3a5 Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:34:52 +0100 Subject: [PATCH 14/15] ci: final validation of formatted Freeze discharge-rate patch --- .validation-trigger | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.validation-trigger b/.validation-trigger index abaa026ab..144031fa1 100644 --- a/.validation-trigger +++ b/.validation-trigger @@ -1 +1 @@ -v8.49.2 Freeze Export discharge-rate CI validation +Final CI trigger for the formatted v8.49.2 Freeze Export discharge-rate patch. From 03a49f12d01202de2b4bf8f2f6f67003dee7ceeb Mon Sep 17 00:00:00 2001 From: PlainSeer <79155295+PlainSeer@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:39:51 +0100 Subject: [PATCH 15/15] chore: remove validation trigger --- .validation-trigger | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .validation-trigger diff --git a/.validation-trigger b/.validation-trigger deleted file mode 100644 index 144031fa1..000000000 --- a/.validation-trigger +++ /dev/null @@ -1 +0,0 @@ -Final CI trigger for the formatted v8.49.2 Freeze Export discharge-rate patch.