From ba9cfb39c65b322a92159466fbf09899b13ac2dc Mon Sep 17 00:00:00 2001 From: Tirui Wu Date: Thu, 20 Aug 2026 11:51:34 +0100 Subject: [PATCH 1/2] Add SmolVLA ONNX conversion Learning Path --- .../smolvla-onnx-conversion/_index.md | 60 ++ .../smolvla-onnx-conversion/_next-steps.md | 8 + .../convert-and-validate-onnx.md | 88 +++ .../quantize-and-run-int4-onnx.md | 66 +++ .../scripts/check_assets.py | 114 ++++ .../scripts/compare_onnx_outputs.py | 234 ++++++++ .../scripts/export_onnx.py | 525 ++++++++++++++++++ .../scripts/quantize_onnx_torchao.py | 340 ++++++++++++ .../smolvla-onnx-conversion/scripts/setup.sh | 92 +++ .../scripts/workspace.py | 47 ++ .../set-up-environment.md | 64 +++ .../smolvla-action-comparison.png | Bin 0 -> 149550 bytes .../smolvla-onnx-conversion/smolvla.png | Bin 0 -> 113570 bytes 13 files changed, 1638 insertions(+) create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_next-steps.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/convert-and-validate-onnx.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/quantize-and-run-int4-onnx.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/check_assets.py create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/compare_onnx_outputs.py create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/export_onnx.py create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/quantize_onnx_torchao.py create mode 100755 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/setup.sh create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/workspace.py create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/set-up-environment.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/smolvla-action-comparison.png create mode 100644 content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/smolvla.png diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md new file mode 100644 index 0000000000..418ce129ea --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md @@ -0,0 +1,60 @@ +--- +title: Convert SmolVLA to ONNX for Arm CPUs +description: Export SmolVLA from PyTorch to ONNX, create a packed INT4 weight-only model with TorchAO quantization, and run both models with ONNX Runtime on an Arm CPU. +minutes_to_complete: 180 +who_is_this_for: Machine learning developers who want to deploy a vision-language-action policy with ONNX Runtime on an Arm CPU. +learning_objectives: + - Export SmolVLA from PyTorch as an ONNX model. + - Run and validate the FP32 ONNX model with ONNX Runtime on an Arm CPU. + - Quantize eligible linear weights to INT4 and store them in a packed ONNX model. + - Run the FP32 and INT4 models with identical inputs and compare their action outputs and ONNX Runtime latency. +prerequisites: + - An aarch64 Linux system, such as the Radxa Orion O6. + - Enough free storage for the model data, checkpoint weights, Python environment, and generated ONNX files. + - Git and Python 3.12. + - Familiarity with Python, PyTorch, and Linux command-line tools. +author: "" +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false +skilllevels: Advanced +subjects: ML +armips: + - Cortex-A +operatingsystems: + - Linux +tools_software_languages: + - Python + - PyTorch + - TorchAO + - ONNX + - ONNX Runtime + - LeRobot +further_reading: + - resource: + title: PyTorch ONNX exporter documentation + link: https://docs.pytorch.org/docs/stable/onnx.html + type: documentation + - resource: + title: TorchAO documentation + link: https://docs.pytorch.org/ao/stable/ + type: documentation + - resource: + title: ONNX Runtime 4-bit quantization + link: https://onnxruntime.ai/docs/performance/model-optimizations/quantization.html#quantize-to-int4uint4 + type: documentation + - resource: + title: ONNX Runtime Execution Providers + link: https://onnxruntime.ai/docs/execution-providers/ + type: documentation + - resource: + title: KleidiAI optimized micro-kernels for Arm CPUs + link: https://github.com/ARM-software/kleidiai + type: GitHub Repository + +### FIXED, DO NOT MODIFY +# ================================================================================ +weight: 1 +layout: "learningpathall" +learning_path_main_page: "yes" +--- diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_next-steps.md b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_next-steps.md new file mode 100644 index 0000000000..727b395ddd --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_next-steps.md @@ -0,0 +1,8 @@ +--- +# ================================================================================ +# FIXED, DO NOT MODIFY THIS FILE +# ================================================================================ +weight: 21 # The weight controls the order of the pages. _index.md always has weight 1. +title: "Next Steps" # Always the same, html page title. +layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing. +--- diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/convert-and-validate-onnx.md b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/convert-and-validate-onnx.md new file mode 100644 index 0000000000..d2d249d107 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/convert-and-validate-onnx.md @@ -0,0 +1,88 @@ +--- +title: Export and validate the SmolVLA ONNX model +description: Export SmolVLA from PyTorch as an FP32 ONNX model and validate its action output on an Arm CPU. +weight: 3 +layout: learningpathall +--- + +## Understand SmolVLA + +SmolVLA is a compact vision-language-action model. It combines camera images, +a task instruction, and the robot state to generate a sequence of robot +actions. + +![SmolVLA combines camera images, a task instruction, and robot state in a vision-language model that conditions an action expert to generate an action sequence.#center](smolvla.png "SmolVLA architecture") + +Image source: [SmolVLA paper](https://arxiv.org/pdf/2506.01844). + +## Export SmolVLA to ONNX + +The checkpoint includes the SmolVLA policy and the LeRobot processors used +before and after inference. The exporter writes the policy to an ONNX graph; +the processors remain outside it. + +Run the exporter: + +```bash +work/venv/bin/python scripts/export_onnx.py \ + --checkpoint work/artifacts/smolvla_libero \ + --output work/onnx/fp32/model.onnx \ + --reference-dir work/onnx/fp32/reference +``` + +The exporter creates a fixed-shape model and a deterministic reference batch. +The batch includes an explicit flow-matching noise tensor, so the PyTorch and +ONNX Runtime paths receive the same inputs. + +The expected output ends with: + +```output +PASS: ONNX Runtime matches PyTorch within atol=0.001 and rtol=0.001 +``` + +The FP32 graph contains the exported policy computation. Large weights can be +stored in external data files beside `model.onnx`, so keep the complete +`work/onnx/fp32` directory together. + +## Review the model interface + +The graph accepts six preprocessed inputs: + +| Input | Type | Shape | Description | +| --- | --- | --- | --- | +| `camera1` | `float32` | `[1, 3, 512, 512]` | Primary RGB image scaled to `[0, 1]` | +| `camera2` | `float32` | `[1, 3, 512, 512]` | Wrist RGB image scaled to `[0, 1]` | +| `lang_tokens` | `int64` | `[1, 48]` | Tokenized task instruction | +| `lang_attention_mask` | `int64` | `[1, 48]` | Valid language-token mask | +| `state` | `float32` | `[1, 8]` | Normalized robot state | +| `noise` | `float32` | `[1, 50, 32]` | Flow-matching noise | + +The model returns an action chunk with shape `[1, 50, 7]`: 50 steps with seven +control values each. + +The ONNX boundary deliberately starts after preprocessing and ends before +postprocessing: + +```text +observation -> LeRobot preprocessor -> ONNX model -> LeRobot postprocessor -> robot action +``` + +Use the processors from the same checkpoint. They preserve the tokenization, +normalization, and action conversion expected by the policy. + +## Inspect the validation report + +View the report written by the exporter: + +```bash +work/venv/bin/python -m json.tool work/onnx/fp32/validation.json +``` + +Confirm that the report lists `CPUExecutionProvider`, reports an output shape +of `[1, 50, 7]`, and passes validation. + +## What you've accomplished and what's next + +You have exported SmolVLA to FP32 ONNX and validated its action output +with ONNX Runtime on an Arm CPU. Next, you will quantize the eligible linear +weights to packed INT4 and run the resulting model through the same interface. diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/quantize-and-run-int4-onnx.md b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/quantize-and-run-int4-onnx.md new file mode 100644 index 0000000000..0cbcea4b65 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/quantize-and-run-int4-onnx.md @@ -0,0 +1,66 @@ +--- +title: Quantize SmolVLA to INT4 and compare it with FP32 +description: Quantize eligible SmolVLA linear weights with TorchAO, then compare FP32 and INT4 outputs and ONNX Runtime latency on Arm. +weight: 4 +layout: learningpathall +--- + +## INT4 quantization scope + +TorchAO quantizes eligible constant linear weights across the exported SmolVLA +model. The converter replaces supported ONNX `MatMul` and `Gemm` operations +with packed `com.microsoft::MatMulNBits` operations. + +This is weight-only quantization, not an entirely INT4 graph. + +On supported Arm CPUs, ONNX Runtime can use optimized kernels such as KleidiAI. + +## Create the packed INT4 model + +Run the TorchAO converter: + +```bash +work/venv/bin/python scripts/quantize_onnx_torchao.py \ + --input work/onnx/fp32/model.onnx \ + --output work/onnx/int4/smolvla-int4.onnx +``` + +The command creates a packed ONNX file and reports how many eligible linear +operations were converted. Dynamic or unsupported matrix multiplications +remain in floating point. + +## Compare FP32 and INT4 + +Run both models with the deterministic reference batch created during export: + +```bash +work/venv/bin/python scripts/compare_onnx_outputs.py \ + --fp32-model work/onnx/fp32/model.onnx \ + --int4-model work/onnx/int4/smolvla-int4.onnx \ + --reference-dir work/onnx/fp32/reference \ + --output work/comparison/smolvla-action-comparison.png +``` + +The script runs both models with ONNX Runtime `CPUExecutionProvider` and +creates: + +```text +work/comparison/smolvla-action-comparison.png +work/comparison/smolvla-action-comparison.json +``` + +The figure compares all seven normalized output channels and median latency. +The JSON file records the latency and overall output error. + +## Review the O6 result + +![Seven plots compare FP32 and TorchAO INT4 normalized SmolVLA outputs across all 50 predicted steps for each of seven channels. A latency panel compares median ONNX Runtime latency on a Radxa Orion O6.#center](smolvla-action-comparison.png "SmolVLA Action Comparison") + +On the O6, INT4 reduced median ONNX Runtime latency from 3.33 seconds to 2.06 +seconds, a 1.61x speedup. The normalized outputs had an MAE of 0.153. + +## What you've accomplished + +You have converted eligible SmolVLA linear weights to packed INT4 in an ONNX +model, run FP32 and INT4 with identical inputs on an Arm CPU, and compared all +seven normalized output channels and ONNX Runtime latency. diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/check_assets.py b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/check_assets.py new file mode 100644 index 0000000000..15c4afb7ad --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/check_assets.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python3 +"""Verify the pinned model, source, and environment used by the Learning Path.""" + +from __future__ import annotations + +import argparse +from importlib import metadata +import json +from pathlib import Path +import subprocess +import sys + +from workspace import configure_workspace + + +EXPECTED = { + "lerobot": "30da8e687a6dfc617fcd94afc367ac7071c376ce", + "model_repo": "HuggingFaceVLA/smolvla_libero", + "model_revision": "6721902bc4d61e50a3bfdb11dfb4cb626f05d102", + "base_model_repo": "HuggingFaceTB/SmolVLM2-500M-Instruct", + "base_model_revision": "7b375e1b73b11138ff12fe22c8f2822d8fe03467", +} + +EXPECTED_PACKAGES = { + "torch": "2.11.0+cpu", + "torchvision": "0.26.0+cpu", + "torchao": "0.18.0", + "transformers": "5.5.4", + "onnx": "1.22.0", + "onnxruntime": "1.29.0", +} + +POLICY_FILES = ( + "config.json", + "model.safetensors", + "policy_preprocessor.json", + "policy_preprocessor_step_5_normalizer_processor.safetensors", + "policy_postprocessor.json", + "policy_postprocessor_step_1_unnormalizer_processor.safetensors", +) +BASE_MODEL_FILES = ("config.json", "model.safetensors", "tokenizer.json") + + +def verify_snapshot(root: Path, files: tuple[str, ...], revision: str) -> None: + """Verify required snapshot files and their Hugging Face revisions.""" + + for relative in files: + asset = root / relative + metadata_file = root / ".cache/huggingface/download" / f"{relative}.metadata" + if not asset.is_file(): + raise FileNotFoundError(f"Missing public asset: {asset}") + if not metadata_file.is_file(): + raise FileNotFoundError(f"Missing Hugging Face metadata: {metadata_file}") + lines = metadata_file.read_text(encoding="utf-8").splitlines() + if not lines or lines[0] != revision: + raise RuntimeError(f"Unexpected Hugging Face revision for {asset}") + + +def verify_environment(work_root: Path) -> None: + """Verify the Python version, pinned packages, and environment manifest.""" + + if sys.version_info[:2] != (3, 12): + raise RuntimeError("Python 3.12 is required") + environment = work_root / "environment.freeze.txt" + if not environment.is_file(): + raise FileNotFoundError(f"Missing environment manifest: {environment}") + + for package, expected in EXPECTED_PACKAGES.items(): + actual = metadata.version(package) + if actual != expected: + raise RuntimeError(f"Unexpected {package} version: {actual}") + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--work-root", type=Path) + args = parser.parse_args() + work_root = configure_workspace(args.work_root) + + revisions_path = work_root / "revisions.json" + revisions = json.loads(revisions_path.read_text(encoding="utf-8")) + if revisions != EXPECTED: + raise RuntimeError(f"Revision manifest does not match the Learning Path: {revisions_path}") + + actual_lerobot = subprocess.check_output( + ["git", "-C", str(work_root / "lerobot"), "rev-parse", "HEAD"], + text=True, + ).strip() + if actual_lerobot != EXPECTED["lerobot"]: + raise RuntimeError(f"Unexpected LeRobot revision: {actual_lerobot}") + lerobot_status = subprocess.check_output( + ["git", "-C", str(work_root / "lerobot"), "status", "--porcelain"], + text=True, + ).strip() + if lerobot_status: + raise RuntimeError("LeRobot worktree has local changes") + + verify_snapshot( + work_root / "artifacts/smolvla_libero", + POLICY_FILES, + EXPECTED["model_revision"], + ) + verify_snapshot( + work_root / "artifacts/smolvlm_base", + BASE_MODEL_FILES, + EXPECTED["base_model_revision"], + ) + verify_environment(work_root) + + print("PASS: public policy, base model, LeRobot source, and environment are ready") + + +if __name__ == "__main__": + main() diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/compare_onnx_outputs.py b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/compare_onnx_outputs.py new file mode 100644 index 0000000000..d32009b776 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/compare_onnx_outputs.py @@ -0,0 +1,234 @@ +#!/usr/bin/env python3 +"""Compare FP32 and INT4 SmolVLA ONNX outputs and CPU latency.""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path +import platform +import time + +import matplotlib +matplotlib.use("Agg") +import matplotlib.pyplot as plt +import numpy as np +import onnxruntime as ort + +INPUT_INTERFACE = ( + ("camera1", "tensor(float)", (1, 3, 512, 512)), + ("camera2", "tensor(float)", (1, 3, 512, 512)), + ("lang_tokens", "tensor(int64)", (1, 48)), + ("lang_attention_mask", "tensor(int64)", (1, 48)), + ("state", "tensor(float)", (1, 8)), + ("noise", "tensor(float)", (1, 50, 32)), +) +DTYPES = {"tensor(float)": np.dtype("float32"), "tensor(int64)": np.dtype("int64")} +ACTION_SHAPE = (1, 50, 7) +COLORS = {"FP32": "#2563EB", "INT4": "#F97316"} + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--fp32-model", type=Path, required=True) + parser.add_argument("--int4-model", type=Path, required=True) + parser.add_argument("--reference-dir", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True, help="Output PNG path") + parser.add_argument("--threads", type=int, default=8) + parser.add_argument("--warmups", type=int, default=1) + parser.add_argument("--runs", type=int, default=5) + args = parser.parse_args() + if args.threads < 1 or args.runs < 1 or args.warmups < 0: + parser.error("--threads and --runs must be positive; --warmups cannot be negative") + if args.output.suffix.lower() != ".png": + parser.error("--output must end in .png") + return args + +def make_session(path: Path, threads: int) -> ort.InferenceSession: + options = ort.SessionOptions() + options.intra_op_num_threads = threads + options.inter_op_num_threads = 1 + options.execution_mode = ort.ExecutionMode.ORT_SEQUENTIAL + options.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL + options.log_severity_level = 3 + return ort.InferenceSession( + str(path.resolve(strict=True)), options, providers=["CPUExecutionProvider"] + ) + +def interface(session: ort.InferenceSession) -> tuple[tuple[tuple[object, ...], ...], ...]: + describe = lambda values: tuple( + (value.name, value.type, tuple(value.shape)) for value in values + ) + return describe(session.get_inputs()), describe(session.get_outputs()) + +def validate_models(fp32: ort.InferenceSession, int4: ort.InferenceSession) -> None: + description = interface(fp32) + if description != interface(int4): + raise ValueError("FP32 and INT4 model interfaces differ") + inputs, outputs = description + if inputs != INPUT_INTERFACE: + raise ValueError(f"Unexpected model inputs: {inputs}") + if outputs != (("actions", "tensor(float)", ACTION_SHAPE),): + raise ValueError(f"Expected one float actions output with shape {ACTION_SHAPE}") + +def load_reference( + directory: Path, session: ort.InferenceSession +) -> dict[str, np.ndarray]: + directory = directory.resolve(strict=True) + if not directory.is_dir(): + raise NotADirectoryError(directory) + feeds = {} + for model_input in session.get_inputs(): + path = directory / f"{model_input.name}.npy" + value = np.load(path, allow_pickle=False) + expected_dtype = DTYPES.get(model_input.type) + if expected_dtype is None or value.dtype != expected_dtype: + raise TypeError(f"{path.name} has dtype {value.dtype}; expected {expected_dtype}") + if value.shape != tuple(model_input.shape): + raise ValueError( + f"{path.name} has shape {value.shape}; expected {tuple(model_input.shape)}" + ) + if np.issubdtype(value.dtype, np.floating) and not np.isfinite(value).all(): + raise ValueError(f"{path.name} contains non-finite values") + feeds[model_input.name] = np.ascontiguousarray(value) + return feeds + +def infer(session: ort.InferenceSession, feeds: dict[str, np.ndarray]) -> tuple[np.ndarray, float]: + start = time.perf_counter_ns() + result = session.run(None, feeds) + elapsed_ms = (time.perf_counter_ns() - start) / 1_000_000 + if len(result) != 1: + raise ValueError(f"Expected one model output, found {len(result)}") + actions = np.asarray(result[0]) + if actions.shape != ACTION_SHAPE or actions.dtype != np.float32: + raise ValueError(f"Expected float32 actions with shape {ACTION_SHAPE}") + if not np.isfinite(actions).all(): + raise ValueError("A model produced non-finite actions") + return actions, elapsed_ms + +def run_pairs( + sessions: dict[str, ort.InferenceSession], + feeds: dict[str, np.ndarray], + iterations: int, + timed: bool, +) -> tuple[dict[str, np.ndarray], dict[str, list[float]]]: + outputs: dict[str, np.ndarray] = {} + timings = {"FP32": [], "INT4": []} + for index in range(iterations): + order = ("FP32", "INT4") if index % 2 == 0 else ("INT4", "FP32") + for name in order: + outputs[name], elapsed = infer(sessions[name], feeds) + if timed: + timings[name].append(elapsed) + return outputs, timings + +def render(output: Path, actions: dict[str, np.ndarray], medians: dict[str, float], speedup: float, mae: float) -> None: + background, ink, muted, grid = "#F4F7FB", "#142033", "#617086", "#DCE4EE" + plt.rcParams.update({"font.family": "DejaVu Sans", "text.color": ink}) + figure = plt.figure(figsize=(12.8, 7.2), dpi=100, facecolor=background) + outer = figure.add_gridspec( + 1, 2, left=0.055, right=0.965, bottom=0.08, top=0.82, + width_ratios=(4.4, 1.25), wspace=0.18 + ) + plots = outer[0, 0].subgridspec(4, 2, hspace=0.5, wspace=0.24) + figure.text(0.055, 0.945, "SmolVLA Action Comparison", fontsize=22, weight="bold") + figure.text( + 0.055, 0.9, + "FP32 vs INT4 · identical reference inputs · 50 predicted steps · normalized model outputs", + fontsize=10.5, color=muted, + ) + figure.text(0.055, 0.85, "SEVEN ACTION CHANNELS", fontsize=8.5, weight="bold", color=muted) + figure.text(0.055, 0.025, "Each channel uses its own vertical scale.", fontsize=7.5, color=muted) + + steps = np.arange(ACTION_SHAPE[1]) + fp32, int4 = actions["FP32"][0], actions["INT4"][0] + axes = [figure.add_subplot(plots[index // 2, index % 2]) for index in range(7)] + for channel, axis in enumerate(axes): + axis.plot(steps, fp32[:, channel], color=COLORS["FP32"], linewidth=1.7) + axis.plot(steps, int4[:, channel], color=COLORS["INT4"], linewidth=1.5, linestyle="--") + axis.set_title(f"Action {channel}", loc="left", fontsize=9, weight="bold", pad=3) + axis.text( + 1, 1.03, f"MAE {np.mean(np.abs(int4[:, channel] - fp32[:, channel])):.3g}", + transform=axis.transAxes, ha="right", va="bottom", fontsize=7, color=muted, + ) + axis.set_xlim(0, 49) + axis.set_xticks((0, 25, 49)) + axis.tick_params(labelsize=7, colors=muted, length=2) + axis.grid(axis="y", color=grid, linewidth=0.7) + axis.spines[["top", "right"]].set_visible(False) + axis.spines[["left", "bottom"]].set_color("#C9D5E3") + for axis in (axes[5], axes[6]): + axis.set_xlabel("Predicted step", fontsize=7.5, color=muted) + + legend = figure.add_subplot(plots[3, 1]) + legend.set_axis_off() + legend.plot([], [], color=COLORS["FP32"], linewidth=2, label="FP32") + legend.plot([], [], color=COLORS["INT4"], linewidth=2, linestyle="--", label="INT4") + legend.legend(loc="upper left", frameon=False, fontsize=9, ncol=2) + + latency = figure.add_subplot(outer[0, 1], facecolor="white") + names = ("FP32", "INT4") + values = [medians[name] for name in names] + bars = latency.barh(names, values, color=[COLORS[name] for name in names], height=0.48) + latency.invert_yaxis() + latency.bar_label(bars, labels=[f"{value:,.1f} ms" for value in values], padding=4, fontsize=9) + latency.set_xlim(0, max(values) * 1.28) + latency.set_title("CPU latency", loc="left", fontsize=10, weight="bold", pad=14) + latency.tick_params(axis="y", labelsize=9, length=0) + latency.tick_params(axis="x", bottom=False, labelbottom=False) + latency.spines[:].set_visible(False) + latency.text(0, -0.55, "Median session.run · lower is better", fontsize=8, color=muted) + latency.set_ylim(2.8, -0.75) + latency.text(0, 2.05, f"{speedup:.2f}×", fontsize=25, weight="bold") + latency.text(0, 2.35, "FP32 latency ÷ INT4 latency", fontsize=8, color=muted) + latency.text(0, 2.62, f"Normalized MAE {mae:.4g}", fontsize=9, weight="bold") + + output.parent.mkdir(parents=True, exist_ok=True) + figure.savefig(output, dpi=100, facecolor=background) + plt.close(figure) + +def main() -> None: + args = parse_args() + sessions = { + "FP32": make_session(args.fp32_model, args.threads), + "INT4": make_session(args.int4_model, args.threads), + } + validate_models(sessions["FP32"], sessions["INT4"]) + feeds = load_reference(args.reference_dir, sessions["FP32"]) + if args.warmups: + run_pairs(sessions, feeds, args.warmups, timed=False) + actions, timings = run_pairs(sessions, feeds, args.runs, timed=True) + medians = {name: float(np.median(values)) for name, values in timings.items()} + speedup = medians["FP32"] / medians["INT4"] + difference = actions["INT4"].astype(np.float64) - actions["FP32"] + mae = float(np.mean(np.abs(difference))) + report = { + "timing_scope": "ONNX Runtime session.run on CPUExecutionProvider", + "platform_machine": platform.machine(), "onnxruntime_version": ort.__version__, + "threads": args.threads, "warmups": args.warmups, "runs": args.runs, + "model_interface": { + "inputs": [ + {"name": name, "type": dtype, "shape": shape} + for name, dtype, shape in INPUT_INTERFACE + ], + "output": {"name": "actions", "type": "tensor(float)", "shape": ACTION_SHAPE}, + }, + "median_latency_ms": medians, "speedup": speedup, + "normalized_output_error": { + "mae": mae, + "rmse": float(np.sqrt(np.mean(np.square(difference)))), + "max_abs": float(np.max(np.abs(difference))), + }, + } + output = args.output.resolve() + sidecar = output.with_suffix(".json") + render(output, actions, medians, speedup, mae) + sidecar.write_text( + json.dumps(report, indent=2, allow_nan=False) + "\n", encoding="utf-8" + ) + print(f"FP32 median: {medians['FP32']:.3f} ms") + print(f"INT4 median: {medians['INT4']:.3f} ms") + print(f"Speedup: {speedup:.3f}x") + print(f"Saved {args.output} and {args.output.with_suffix('.json')}") + +if __name__ == "__main__": + main() diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/export_onnx.py b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/export_onnx.py new file mode 100644 index 0000000000..b3d9bc8d1a --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/export_onnx.py @@ -0,0 +1,525 @@ +#!/usr/bin/env python3 +"""Export a public two-camera SmolVLA checkpoint and validate ONNX Runtime.""" + +from __future__ import annotations + +import argparse +from contextlib import contextmanager +import gc +import json +import math +import os +from pathlib import Path +import platform +import shutil +import tempfile +from typing import Sequence + +import numpy as np +import torch +from torch import Tensor, nn +from torch.nn import functional as F + +from workspace import configure_workspace, load_smolvla_policy + + +WORK_ROOT = configure_workspace() + + +INPUT_NAMES = ( + "camera1", + "camera2", + "lang_tokens", + "lang_attention_mask", + "state", + "noise", +) +EXPECTED_ACTION_DIM = 7 +EXPECTED_DENOISING_STEPS = 10 + +_ORIGINAL_TORCH_CUMSUM = torch.cumsum +_ORIGINAL_TORCH_FULL = torch.full + + +@contextmanager +def fresh_directory(destination: Path): + """Build a directory beside its destination, then publish it in one rename.""" + + destination = destination.resolve() + if os.path.lexists(destination): + raise FileExistsError(f"Refusing to overwrite {destination}") + destination.parent.mkdir(parents=True, exist_ok=True) + staging = Path( + tempfile.mkdtemp( + prefix=f".{destination.name}.tmp-", dir=str(destination.parent) + ) + ) + try: + yield staging + if os.path.lexists(destination): + raise FileExistsError(f"Destination appeared during the run: {destination}") + staging.rename(destination) + except BaseException: + if os.path.lexists(staging): + shutil.rmtree(staging) + raise + + +def write_json(path: Path, payload: object) -> None: + path.write_text( + json.dumps(payload, indent=2, sort_keys=True, allow_nan=False) + "\n", + encoding="utf-8", + ) + + +def validate_array( + name: str, + value: np.ndarray, + *, + shape: Sequence[int] | None = None, + dtype: np.dtype | type | None = None, +) -> None: + if shape is not None and tuple(value.shape) != tuple(shape): + raise ValueError(f"{name} has shape {value.shape}; expected {tuple(shape)}") + if dtype is not None and value.dtype != np.dtype(dtype): + raise TypeError(f"{name} has dtype {value.dtype}; expected {np.dtype(dtype)}") + if np.issubdtype(value.dtype, np.number) and not np.isfinite(value).all(): + raise ValueError(f"{name} contains a non-finite value") + + +def policy_dimensions(policy: nn.Module) -> dict[str, int]: + state_feature = policy.config.robot_state_feature + action_feature = policy.config.action_feature + if state_feature is None or len(state_feature.shape) != 1: + raise ValueError("The checkpoint must define one robot-state feature") + if action_feature is None or len(action_feature.shape) != 1: + raise ValueError("The checkpoint must define one action feature") + dimensions = { + "state_dim": int(state_feature.shape[0]), + "action_dim": int(action_feature.shape[0]), + "action_chunk_size": int(policy.model.config.chunk_size), + "latent_action_dim": int(policy.model.config.max_action_dim), + "denoising_steps": int(policy.model.config.num_steps), + } + if dimensions["action_dim"] != EXPECTED_ACTION_DIM: + raise ValueError( + f"This Learning Path requires {EXPECTED_ACTION_DIM} action channels" + ) + if dimensions["denoising_steps"] != EXPECTED_DENOISING_STEPS: + raise ValueError( + f"This Learning Path requires {EXPECTED_DENOISING_STEPS} denoising steps" + ) + return dimensions + + +def install_exportable_rope() -> None: + """Replace SmolVLA's in-place RoPE implementation with an ONNX-safe form.""" + + import lerobot.policies.smolvla.smolvlm_with_expert as expert_module + + def apply_rope(x: Tensor, positions: Tensor, max_wavelength: float = 10_000) -> Tensor: + half = x.shape[-1] // 2 + source_dtype = x.dtype + source = x.to(torch.float32) + exponents = (2.0 / x.shape[-1]) * torch.arange( + half, dtype=torch.float32, device=x.device + ) + timescale = max_wavelength**exponents + radians = positions[..., None].to(torch.float32) / timescale[None, None, :] + radians = radians[..., None, :] + first, second = source.split(half, dim=-1) + result = torch.cat( + [ + first * torch.cos(radians) - second * torch.sin(radians), + second * torch.cos(radians) + first * torch.sin(radians), + ], + dim=-1, + ) + return result.to(source_dtype) + + expert_module.apply_rope = apply_rope + + +def install_exportable_attention(policy: nn.Module) -> None: + """Use exportable eager attention in the vision encoder.""" + + for module in policy.modules(): + config = getattr(module, "config", None) + if ( + config is not None + and getattr(config, "model_type", None) == "smolvlm_vision" + and hasattr(config, "_attn_implementation") + ): + config._attn_implementation = "eager" + + +def static_trace_length(value: object) -> object: + """Convert a traced scalar shape to a constant for this fixed-shape graph.""" + + if isinstance(value, Tensor) and value.ndim == 0: + return int(value.detach().cpu()) + return value + + +def install_exportable_masking() -> None: + """Handle Transformers 5.5 scalar shape tensors in the legacy exporter.""" + + import transformers.masking_utils as masking_utils + + original_sdpa_mask = masking_utils.sdpa_mask + + def exportable_sdpa_mask(*args, **kwargs): + positional = list(args) + if len(positional) > 1: + positional[1] = static_trace_length(positional[1]) + elif "q_length" in kwargs: + kwargs["q_length"] = static_trace_length(kwargs["q_length"]) + if len(positional) > 2: + positional[2] = static_trace_length(positional[2]) + elif "kv_length" in kwargs: + kwargs["kv_length"] = static_trace_length(kwargs["kv_length"]) + return original_sdpa_mask(*positional, **kwargs) + + masking_utils.sdpa_mask = exportable_sdpa_mask + + +def boolean_safe_cumsum(input_tensor: Tensor, *args, **kwargs) -> Tensor: + """Preserve PyTorch bool cumsum semantics with an ONNX-valid integer input.""" + + if input_tensor.dtype == torch.bool: + input_tensor = input_tensor.to(torch.int64) + return _ORIGINAL_TORCH_CUMSUM(input_tensor, *args, **kwargs) + + +def install_exportable_cumsum() -> None: + """Make boolean cumulative sums legal for ONNX Runtime.""" + + torch.cumsum = boolean_safe_cumsum + + +def dtype_stable_full(size, fill_value, *args, **kwargs) -> Tensor: + """Make PyTorch's integer fill-value dtype inference explicit for ONNX.""" + + if "dtype" not in kwargs and type(fill_value) is int: + kwargs["dtype"] = torch.int64 + return _ORIGINAL_TORCH_FULL(size, fill_value, *args, **kwargs) + + +def install_exportable_full() -> None: + """Prevent legacy ONNX ScatterND from mixing float and integer tensors.""" + + torch.full = dtype_stable_full + + +def exportable_sinusoidal_embedding( + time: Tensor, + dimension: int, + min_period: float, + max_period: float, + device: torch.device | str = "cpu", +) -> Tensor: + """Compute SmolVLA timestep features in ONNX Runtime-supported FP32.""" + + if dimension % 2 != 0: + raise ValueError(f"dimension ({dimension}) must be divisible by 2") + if time.ndim != 1: + raise ValueError("The time tensor is expected to have shape (batch_size,)") + fraction = torch.linspace( + 0.0, + 1.0, + dimension // 2, + dtype=torch.float32, + device=device, + ) + period = min_period * (max_period / min_period) ** fraction + sin_input = (1.0 / period * 2 * math.pi)[None, :] * time.to(torch.float32)[:, None] + return torch.cat([torch.sin(sin_input), torch.cos(sin_input)], dim=1) + + +def install_exportable_timestep_embedding() -> None: + """Avoid unsupported double-precision Sin/Cos kernels in ONNX Runtime CPU.""" + + import lerobot.policies.smolvla.modeling_smolvla as smolvla_module + + smolvla_module.create_sinusoidal_pos_embedding = exportable_sinusoidal_embedding + + +class ExportableSmolVLA(nn.Module): + """Expose the LIBERO policy core with explicit images, state, and noise.""" + + def __init__(self, policy: nn.Module, dimensions: dict[str, int]): + super().__init__() + self.model = policy.model + self.state_dim = dimensions["state_dim"] + self.action_dim = dimensions["action_dim"] + if len(policy.config.image_features) != 2: + raise ValueError( + "This Learning Path expects the two-camera SmolVLA-LIBERO checkpoint" + ) + if self.model.config.max_state_dim < self.state_dim: + raise ValueError("The requested state dimension exceeds the model maximum") + if self.model.config.max_action_dim < self.action_dim: + raise ValueError("The requested action dimension exceeds the model maximum") + + def forward( + self, + camera1: Tensor, + camera2: Tensor, + lang_tokens: Tensor, + lang_attention_mask: Tensor, + state: Tensor, + noise: Tensor, + ) -> Tensor: + batch_size = state.shape[0] + image_mask = torch.ones(batch_size, dtype=torch.bool, device=state.device) + images = [camera1 * 2.0 - 1.0, camera2 * 2.0 - 1.0] + image_masks = [image_mask, image_mask] + padded_state = F.pad(state, (0, self.model.config.max_state_dim - self.state_dim)) + actions = self.model.sample_actions( + images, + image_masks, + lang_tokens, + lang_attention_mask.to(torch.bool), + padded_state, + noise=noise, + ) + return actions[:, :, : self.action_dim] + + +def make_inputs( + policy: nn.Module, dimensions: dict[str, int], seed: int +) -> tuple[Tensor, ...]: + generator = torch.Generator(device="cpu").manual_seed(seed) + tokenizer = policy.model.vlm_with_expert.processor.tokenizer + encoded = tokenizer( + "pick up the black bowl and place it on the plate", + return_tensors="pt", + padding="max_length", + truncation=True, + max_length=48, + ) + return ( + torch.rand(1, 3, 512, 512, generator=generator), + torch.rand(1, 3, 512, 512, generator=generator), + encoded["input_ids"].to(torch.int64), + encoded["attention_mask"].to(torch.int64), + torch.randn( + 1, + dimensions["state_dim"], + generator=generator, + ), + torch.randn( + 1, + dimensions["action_chunk_size"], + dimensions["latent_action_dim"], + generator=generator, + ), + ) + + +def save_reference(directory: Path, inputs: Sequence[Tensor]) -> None: + directory.mkdir(parents=True, exist_ok=False) + for name, value in zip(INPUT_NAMES, inputs, strict=True): + np.save( + directory / f"{name}.npy", + value.detach().cpu().numpy(), + allow_pickle=False, + ) + + +def session_interface(session) -> dict[str, list[dict[str, object]]]: + def describe(value) -> dict[str, object]: + return {"name": value.name, "shape": list(value.shape), "type": value.type} + + return { + "inputs": [describe(value) for value in session.get_inputs()], + "outputs": [describe(value) for value in session.get_outputs()], + } + + +def export_bundle( + args: argparse.Namespace, + checkpoint: Path, + output: Path, + reference_dir: Path, +) -> None: + import onnx + import onnxruntime as ort + + torch.manual_seed(args.seed) + policy = load_smolvla_policy(checkpoint).to(device="cpu", dtype=torch.float32) + policy.eval() + dimensions = policy_dimensions(policy) + wrapper = ExportableSmolVLA(policy, dimensions).eval() + inputs = make_inputs(policy, dimensions, args.seed) + input_arrays = { + name: np.ascontiguousarray(value.detach().cpu().numpy()) + for name, value in zip(INPUT_NAMES, inputs, strict=True) + } + expected_inputs = { + "camera1": ((1, 3, 512, 512), np.float32), + "camera2": ((1, 3, 512, 512), np.float32), + "lang_tokens": ((1, 48), np.int64), + "lang_attention_mask": ((1, 48), np.int64), + "state": ((1, dimensions["state_dim"]), np.float32), + "noise": ( + ( + 1, + dimensions["action_chunk_size"], + dimensions["latent_action_dim"], + ), + np.float32, + ), + } + for name, value in input_arrays.items(): + shape, dtype = expected_inputs[name] + validate_array(name, value, shape=shape, dtype=dtype) + + action_shape = (1, dimensions["action_chunk_size"], dimensions["action_dim"]) + with torch.inference_mode(): + baseline_output = wrapper(*inputs).detach().cpu().numpy() + validate_array( + "unmodified PyTorch actions", + baseline_output, + shape=action_shape, + dtype=np.float32, + ) + + install_exportable_rope() + install_exportable_masking() + install_exportable_cumsum() + install_exportable_full() + install_exportable_timestep_embedding() + install_exportable_attention(policy) + with torch.inference_mode(): + pytorch_output = wrapper(*inputs).detach().cpu().numpy() + validate_array( + "export-safe PyTorch actions", + pytorch_output, + shape=action_shape, + dtype=np.float32, + ) + compatibility_difference = pytorch_output.astype(np.float64) - baseline_output.astype( + np.float64 + ) + compatibility_passed = bool( + np.allclose(pytorch_output, baseline_output, atol=args.atol, rtol=args.rtol) + ) + if not compatibility_passed: + raise RuntimeError("The export-safe PyTorch path changed checkpoint output") + + with torch.inference_mode(): + torch.onnx.export( + wrapper, + inputs, + str(output), + input_names=list(INPUT_NAMES), + output_names=["actions"], + opset_version=args.opset, + export_params=True, + keep_initializers_as_inputs=False, + external_data=True, + dynamo=False, + ) + onnx.checker.check_model(str(output), full_check=False) + del wrapper, policy + gc.collect() + + options = ort.SessionOptions() + options.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_BASIC + session = ort.InferenceSession( + str(output), + sess_options=options, + providers=["CPUExecutionProvider"], + ) + feeds = input_arrays + ort_output = session.run(["actions"], feeds)[0] + validate_array( + "ONNX Runtime actions", ort_output, shape=action_shape, dtype=np.float32 + ) + difference = ort_output.astype(np.float64) - pytorch_output.astype(np.float64) + passed = bool(np.allclose(ort_output, pytorch_output, atol=args.atol, rtol=args.rtol)) + save_reference(reference_dir, inputs) + + report = { + "format": "smolvla-onnx-validation-v3", + "architecture": platform.machine(), + "seed": args.seed, + "opset": args.opset, + "execution_providers": session.get_providers(), + "derived_configuration": dimensions, + "interface": session_interface(session), + "export_compatibility": { + "max_absolute_error": float(np.abs(compatibility_difference).max()), + "mean_absolute_error": float(np.abs(compatibility_difference).mean()), + "passed": compatibility_passed, + }, + "max_absolute_error": float(np.abs(difference).max()), + "mean_absolute_error": float(np.abs(difference).mean()), + "atol": args.atol, + "rtol": args.rtol, + "passed": passed, + "versions": { + "python": platform.python_version(), + "torch": torch.__version__, + "onnx": onnx.__version__, + "onnxruntime": ort.__version__, + }, + } + report_path = output.parent / "validation.json" + write_json(report_path, report) + if not passed: + raise RuntimeError("ONNX Runtime output did not meet the export tolerances") + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--checkpoint", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True) + parser.add_argument("--reference-dir", type=Path, required=True) + parser.add_argument("--seed", type=int, default=20260813) + parser.add_argument("--opset", type=int, default=17) + parser.add_argument("--atol", type=float, default=1.0e-3) + parser.add_argument("--rtol", type=float, default=1.0e-3) + args = parser.parse_args() + + if args.opset < 1: + raise ValueError("--opset must be positive") + if not np.isfinite(args.atol) or args.atol < 0: + raise ValueError("--atol must be finite and non-negative") + if not np.isfinite(args.rtol) or args.rtol < 0: + raise ValueError("--rtol must be finite and non-negative") + + checkpoint = args.checkpoint.resolve(strict=True) + expected_checkpoint = (WORK_ROOT / "artifacts/smolvla_libero").resolve(strict=True) + if checkpoint != expected_checkpoint: + raise ValueError("--checkpoint must be the prepared workspace artifact") + final_output = args.output.resolve() + final_reference = args.reference_dir.resolve() + final_bundle = final_output.parent + if final_output.suffix.lower() != ".onnx": + raise ValueError("--output must use the .onnx suffix") + if final_output.name == "validation.json": + raise ValueError("--output collides with validation.json") + if final_reference.parent != final_bundle: + raise ValueError("--reference-dir must be inside the ONNX output bundle") + if final_reference == final_output: + raise ValueError("--output and --reference-dir must be different paths") + if final_reference.name == "validation.json": + raise ValueError("--reference-dir collides with validation.json") + + with fresh_directory(final_bundle) as staging: + export_bundle( + args, + checkpoint, + staging / final_output.name, + staging / final_reference.name, + ) + print( + f"PASS: ONNX Runtime matches PyTorch within atol={args.atol:g} " + f"and rtol={args.rtol:g}" + ) + + +if __name__ == "__main__": + main() diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/quantize_onnx_torchao.py b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/quantize_onnx_torchao.py new file mode 100644 index 0000000000..db57236dee --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/quantize_onnx_torchao.py @@ -0,0 +1,340 @@ +#!/usr/bin/env python3 +"""Quantize constant ONNX linear weights with TorchAO INT4 for Arm CPUs.""" + +from __future__ import annotations + +import argparse +import os +from pathlib import Path +import tempfile + +import numpy as np +import onnx +import torch +import torchao +from onnx import AttributeProto, TensorProto, helper, numpy_helper +from torchao.quantization import ( + IntxWeightOnlyConfig, + MappingType, + PerGroup, + quantize_, +) + + +GROUP_SIZE = 32 +ACCURACY_LEVEL = 4 + + +class Names: + def __init__(self, graph: onnx.GraphProto) -> None: + self.used = {item.name for item in graph.initializer} + self.used.update(item.name for item in (*graph.input, *graph.output, *graph.value_info)) + self.used.update( + value + for node in graph.node + for value in (*node.input, *node.output) + if value + ) + + def make(self, base: str) -> str: + candidate = base + index = 1 + while candidate in self.used: + candidate = f"{base}_{index}" + index += 1 + self.used.add(candidate) + return candidate + + +def resolve_initializer( + name: str, + initializers: dict[str, onnx.TensorProto], + producers: dict[str, onnx.NodeProto], +) -> str | None: + seen: set[str] = set() + while name not in initializers: + if name in seen: + raise ValueError("Identity cycle found while resolving a weight") + seen.add(name) + producer = producers.get(name) + if producer is None or producer.op_type != "Identity" or len(producer.input) != 1: + return None + name = producer.input[0] + return name + + +def gemm_attributes(node: onnx.NodeProto) -> dict[str, object]: + return {item.name: helper.get_attribute_value(item) for item in node.attribute} + + +def eligible_weight( + node: onnx.NodeProto, + initializers: dict[str, onnx.TensorProto], + producers: dict[str, onnx.NodeProto], +) -> tuple[str, bool] | None: + transpose = False + if node.op_type == "MatMul" and len(node.input) >= 2: + pass + elif node.op_type == "Gemm" and len(node.input) >= 2: + attrs = gemm_attributes(node) + if ( + int(attrs.get("transA", 0)) != 0 + or int(attrs.get("transB", 0)) != 1 + or float(attrs.get("alpha", 1.0)) != 1.0 + or float(attrs.get("beta", 1.0)) != 1.0 + ): + return None + transpose = True + else: + return None + + name = resolve_initializer(node.input[1], initializers, producers) + if name is None: + return None + tensor = initializers[name] + if len(tensor.dims) != 2 or tensor.data_type != TensorProto.FLOAT: + return None + return name, transpose + + +def pack_nibbles(values: np.ndarray, pad_value: int) -> np.ndarray: + if values.shape[-1] % 2: + padding = [(0, 0)] * (values.ndim - 1) + [(0, 1)] + values = np.pad(values, padding, constant_values=pad_value) + values = np.asarray(values, dtype=np.uint8) + return values[..., 0::2] | (values[..., 1::2] << np.uint8(4)) + + +def torchao_qparams(weight: np.ndarray, config: IntxWeightOnlyConfig): + """Return ORT-packed qdata, scales, zero points, and K.""" + k, n = weight.shape + linear = torch.nn.Linear(k, n, bias=False, device="meta") + linear_weight = torch.from_numpy(np.ascontiguousarray(weight.T)).clone() + linear.weight = torch.nn.Parameter(linear_weight, requires_grad=False) + quantize_(linear, config) + + qweight = linear.weight + qdata = qweight.qdata.detach().cpu().numpy().astype(np.int16) + scales = qweight.scale.detach().cpu().numpy().astype(np.float32) + zero_points = qweight.zero_point.detach().cpu().numpy().astype(np.int16) + if qdata.min() < -8 or qdata.max() > 7 or zero_points.min() < -8 or zero_points.max() > 7: + raise ValueError("TorchAO produced values outside the signed INT4 range") + + blocks = k // GROUP_SIZE + packed = pack_nibbles((qdata + 8).astype(np.uint8), pad_value=0).reshape( + n, blocks, GROUP_SIZE // 2 + ) + packed_zp = pack_nibbles( + (zero_points + 8).astype(np.uint8), pad_value=8 + ) + if scales.shape != (n, blocks) or packed_zp.shape != (n, (blocks + 1) // 2): + raise ValueError("Unexpected TorchAO group-wise parameter shape") + return packed, np.ascontiguousarray(scales), np.ascontiguousarray(packed_zp), k + + +def nested_uses(graph: onnx.GraphProto) -> set[str]: + used = {item.name for item in graph.output} + for node in graph.node: + used.update(value for value in node.input if value) + for attr in node.attribute: + if attr.type == AttributeProto.GRAPH: + used.update(nested_uses(attr.g)) + elif attr.type == AttributeProto.GRAPHS: + for child in attr.graphs: + used.update(nested_uses(child)) + return used + + +def clean_graph(graph: onnx.GraphProto, original_initializers: set[str]) -> None: + while True: + used = nested_uses(graph) + kept = [ + node + for node in graph.node + if not ( + node.op_type == "Identity" + and all(output not in used for output in node.output) + ) + ] + if len(kept) == len(graph.node): + break + del graph.node[:] + graph.node.extend(kept) + + used = nested_uses(graph) + kept_initializers = [item for item in graph.initializer if item.name in used] + del graph.initializer[:] + graph.initializer.extend(kept_initializers) + kept_inputs = [ + item + for item in graph.input + if item.name not in original_initializers or item.name in used + ] + del graph.input[:] + graph.input.extend(kept_inputs) + + +def convert(model: onnx.ModelProto, config: IntxWeightOnlyConfig) -> dict[str, int]: + graph = model.graph + names = Names(graph) + initializers = {item.name: item for item in graph.initializer} + original_initializers = set(initializers) + producers = {output: node for node in graph.node for output in node.output if output} + cache: dict[tuple[str, bool], tuple[str, str, str, int, int]] = {} + new_initializers: list[onnx.TensorProto] = [] + new_nodes: list[onnx.NodeProto] = [] + converted_matmul = converted_gemm = 0 + + def quantized_weight(name: str, transpose: bool): + key = (name, transpose) + if key in cache: + return cache[key] + source = np.asarray(numpy_helper.to_array(initializers[name]), dtype=np.float32) + weight = np.ascontiguousarray(source.T if transpose else source) + k = weight.shape[0] + if k % GROUP_SIZE: + raise ValueError( + f"Eligible weight {name!r} has K={k}; K must be divisible by {GROUP_SIZE}" + ) + packed, scales, zero_points, k = torchao_qparams(weight, config) + suffix = "__transposed" if transpose else "" + packed_name = names.make(name + suffix + "__torchao_int4") + scales_name = names.make(name + suffix + "__torchao_scales") + zp_name = names.make(name + suffix + "__torchao_zero_points") + new_initializers.extend( + ( + numpy_helper.from_array(packed, packed_name), + numpy_helper.from_array(scales, scales_name), + numpy_helper.from_array(zero_points, zp_name), + ) + ) + cache[key] = (packed_name, scales_name, zp_name, k, weight.shape[1]) + return cache[key] + + for node in graph.node: + spec = eligible_weight(node, initializers, producers) + if spec is None: + new_nodes.append(node) + continue + weight_name, transpose = spec + packed, scales, zero_points, k, n = quantized_weight(weight_name, transpose) + output = node.output[0] + has_bias = node.op_type == "Gemm" and len(node.input) >= 3 and bool(node.input[2]) + matmul_output = names.make(output + "__torchao_matmul") if has_bias else output + new_nodes.append( + helper.make_node( + "MatMulNBits", + [node.input[0], packed, scales, zero_points], + [matmul_output], + name=names.make((node.name or output) + "__TorchAO_INT4"), + domain="com.microsoft", + K=k, + N=n, + bits=4, + block_size=GROUP_SIZE, + accuracy_level=ACCURACY_LEVEL, + ) + ) + if has_bias: + new_nodes.append( + helper.make_node( + "Add", + [matmul_output, node.input[2]], + [output], + name=names.make((node.name or output) + "/BiasAdd"), + ) + ) + if node.op_type == "MatMul": + converted_matmul += 1 + else: + converted_gemm += 1 + + if not converted_matmul and not converted_gemm: + raise ValueError("The model has no eligible FP32 MatMul or standard Gemm weights") + del graph.node[:] + graph.node.extend(new_nodes) + graph.initializer.extend(new_initializers) + clean_graph(graph, original_initializers) + + final_initializers = {item.name: item for item in graph.initializer} + final_producers = {output: node for node in graph.node for output in node.output if output} + missed = sum( + eligible_weight(node, final_initializers, final_producers) is not None + for node in graph.node + ) + if missed: + raise RuntimeError(f"Conversion left {missed} eligible FP32 linear nodes") + return { + "matmul": converted_matmul, + "gemm": converted_gemm, + "weights": len(cache), + "fp32_matmul": sum(node.op_type == "MatMul" for node in graph.node), + "fp32_gemm": sum(node.op_type == "Gemm" for node in graph.node), + } + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--input", type=Path, required=True, help="FP32 ONNX model") + parser.add_argument( + "--output", type=Path, required=True, help="new single-file INT4 ONNX model" + ) + args = parser.parse_args() + + source = args.input.expanduser().resolve() + output = args.output.expanduser().resolve() + if not source.is_file(): + raise FileNotFoundError(source) + if output.exists(): + raise FileExistsError(f"Refusing to overwrite {output.name}") + if torchao.__version__.split("+")[0].split(".")[:2] != ["0", "18"]: + raise RuntimeError(f"This converter requires TorchAO 0.18, found {torchao.__version__}") + + config = IntxWeightOnlyConfig( + weight_dtype=torch.int4, + granularity=PerGroup(GROUP_SIZE), + mapping_type=MappingType.ASYMMETRIC, + ) + model = onnx.load(source, load_external_data=True) + stats = convert(model, config) + microsoft_imports = [ + item for item in model.opset_import if item.domain == "com.microsoft" + ] + if microsoft_imports: + microsoft_imports[0].version = 1 + for duplicate in microsoft_imports[1:]: + model.opset_import.remove(duplicate) + else: + model.opset_import.append(helper.make_opsetid("com.microsoft", 1)) + onnx.external_data_helper.convert_model_from_external_data(model) + if any(onnx.external_data_helper.uses_external_data(item) for item in model.graph.initializer): + raise RuntimeError("Failed to embed all output tensors") + + output.parent.mkdir(parents=True, exist_ok=True) + descriptor, temporary_name = tempfile.mkstemp( + dir=output.parent, prefix=f".{output.name}.", suffix=".onnx" + ) + os.close(descriptor) + temporary = Path(temporary_name) + try: + onnx.save_model(model, temporary, save_as_external_data=False) + onnx.checker.check_model(str(temporary), full_check=False) + if output.exists(): + raise FileExistsError(f"Refusing to overwrite {output.name}") + temporary.chmod(0o644) + os.replace(temporary, output) + finally: + temporary.unlink(missing_ok=True) + print( + f"Converted {stats['matmul']} MatMul and {stats['gemm']} Gemm nodes " + f"using {stats['weights']} TorchAO INT4 weights." + ) + print( + f"Kept {stats['fp32_matmul']} dynamic/unsupported MatMul and " + f"{stats['fp32_gemm']} Gemm nodes in FP32." + ) + print(f"Wrote one ONNX file ({output.stat().st_size / (1024 * 1024):.1f} MiB): {output.name}") + + +if __name__ == "__main__": + main() diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/setup.sh b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/setup.sh new file mode 100755 index 0000000000..aaf53b07f5 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/setup.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash +set -euo pipefail + +if (( $# != 0 )); then + echo "Usage: setup.sh" >&2 + exit 2 +fi + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +LP_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" +WORK_ROOT="${SMOLVLA_LP_WORK_ROOT:-$LP_ROOT/work}" +PYTHON_BIN="${SMOLVLA_LP_PYTHON:-python3}" +LEROBOT_ROOT="$WORK_ROOT/lerobot" +VENV_ROOT="$WORK_ROOT/venv" +ARTIFACT_ROOT="$WORK_ROOT/artifacts" + +LEROBOT_REVISION="30da8e687a6dfc617fcd94afc367ac7071c376ce" +MODEL_REPO="HuggingFaceVLA/smolvla_libero" +MODEL_REVISION="6721902bc4d61e50a3bfdb11dfb4cb626f05d102" +BASE_MODEL_REPO="HuggingFaceTB/SmolVLM2-500M-Instruct" +BASE_MODEL_REVISION="7b375e1b73b11138ff12fe22c8f2822d8fe03467" + +if ! "$PYTHON_BIN" -c 'import sys; raise SystemExit(sys.version_info[:2] != (3, 12))'; then + echo "Python 3.12 is required." >&2 + exit 1 +fi + +mkdir -p "$ARTIFACT_ROOT" "$WORK_ROOT/cache/huggingface" \ + "$WORK_ROOT/cache/pip" "$WORK_ROOT/tmp" + +export HF_HOME="${HF_HOME:-$WORK_ROOT/cache/huggingface}" +export PIP_CACHE_DIR="${PIP_CACHE_DIR:-$WORK_ROOT/cache/pip}" +export TMPDIR="${TMPDIR:-$WORK_ROOT/tmp}" + +if [[ ! -d "$LEROBOT_ROOT/.git" ]]; then + git clone https://github.com/huggingface/lerobot.git "$LEROBOT_ROOT" +fi +git -C "$LEROBOT_ROOT" fetch origin "$LEROBOT_REVISION" +git -C "$LEROBOT_ROOT" checkout --detach "$LEROBOT_REVISION" +if [[ -n "$(git -C "$LEROBOT_ROOT" status --porcelain)" ]]; then + echo "LeRobot worktree has local changes: $LEROBOT_ROOT" >&2 + exit 1 +fi + +if [[ ! -x "$VENV_ROOT/bin/python" ]]; then + "$PYTHON_BIN" -m venv "$VENV_ROOT" +fi +if ! "$VENV_ROOT/bin/python" -c 'import sys; raise SystemExit(sys.version_info[:2] != (3, 12))'; then + echo "Python 3.12 is required in the virtual environment: $VENV_ROOT" >&2 + exit 1 +fi + +"$VENV_ROOT/bin/python" -m pip install --upgrade \ + pip wheel 'setuptools>=71.0.0,<81.0.0' +"$VENV_ROOT/bin/python" -m pip install \ + --index-url https://download.pytorch.org/whl/cpu \ + 'torch==2.11.0+cpu' 'torchvision==0.26.0+cpu' +"$VENV_ROOT/bin/python" -m pip install \ + 'torchao==0.18.0' 'transformers==5.5.4' \ + 'onnx==1.22.0' 'onnxruntime==1.29.0' \ + 'matplotlib>=3.10.3,<4.0.0' +"$VENV_ROOT/bin/python" -m pip install -e "$LEROBOT_ROOT[smolvla]" + +"$VENV_ROOT/bin/hf" download "$MODEL_REPO" \ + --revision "$MODEL_REVISION" \ + --exclude 'onnx/**' \ + --local-dir "$ARTIFACT_ROOT/smolvla_libero" +"$VENV_ROOT/bin/hf" download "$BASE_MODEL_REPO" \ + --revision "$BASE_MODEL_REVISION" \ + --exclude 'onnx/**' \ + --local-dir "$ARTIFACT_ROOT/smolvlm_base" + +"$VENV_ROOT/bin/python" -m pip list --format=freeze > "$WORK_ROOT/environment.freeze.txt" +"$VENV_ROOT/bin/python" - "$WORK_ROOT/revisions.json" <<'PY' +import json +from pathlib import Path +import sys + +payload = { + "lerobot": "30da8e687a6dfc617fcd94afc367ac7071c376ce", + "model_repo": "HuggingFaceVLA/smolvla_libero", + "model_revision": "6721902bc4d61e50a3bfdb11dfb4cb626f05d102", + "base_model_repo": "HuggingFaceTB/SmolVLM2-500M-Instruct", + "base_model_revision": "7b375e1b73b11138ff12fe22c8f2822d8fe03467", +} +Path(sys.argv[1]).write_text( + json.dumps(payload, indent=2, sort_keys=True) + "\n", encoding="utf-8" +) +PY + +echo "Environment: $VENV_ROOT" +echo "Model: $ARTIFACT_ROOT/smolvla_libero" diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/workspace.py b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/workspace.py new file mode 100644 index 0000000000..6fb6066d4e --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/scripts/workspace.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +"""Configure caches owned by this standalone Learning Path.""" + +from __future__ import annotations + +import os +from pathlib import Path + + +def configure_workspace(work_root: Path | None = None) -> Path: + """Set reproducible cache defaults and return the resolved work root.""" + + learning_path_root = Path(__file__).resolve().parent.parent + if work_root is None: + work_root = Path( + os.environ.get("SMOLVLA_LP_WORK_ROOT", learning_path_root / "work") + ) + work_root = work_root.resolve() + os.environ.setdefault("HF_HOME", str(work_root / "cache/huggingface")) + os.environ.setdefault("XDG_CACHE_HOME", str(work_root / "cache/xdg")) + os.environ.setdefault("TMPDIR", str(work_root / "tmp")) + return work_root + + +def base_model_path(work_root: Path | None = None) -> Path: + """Return the verified local base-model path created by setup.sh.""" + + root = configure_workspace(work_root) + base = root / "artifacts/smolvlm_base" + required = (base / "config.json", base / "model.safetensors", base / "tokenizer.json") + missing = [str(path) for path in required if not path.is_file()] + if missing: + raise FileNotFoundError("Missing pinned SmolVLM2 base files:\n" + "\n".join(missing)) + return base + + +def load_smolvla_policy(checkpoint: Path): + """Load SmolVLA while binding its implicit backbone to the pinned local snapshot.""" + + from lerobot.configs.policies import PreTrainedConfig + from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy + + checkpoint = checkpoint.resolve() + config = PreTrainedConfig.from_pretrained(checkpoint) + config.device = "cpu" + config.vlm_model_name = str(base_model_path()) + return SmolVLAPolicy.from_pretrained(checkpoint, config=config) diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/set-up-environment.md b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/set-up-environment.md new file mode 100644 index 0000000000..734e4dcbec --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/set-up-environment.md @@ -0,0 +1,64 @@ +--- +title: Set up the SmolVLA environment +description: Create a Python environment and download the pinned SmolVLA model and LeRobot source. +weight: 2 +layout: learningpathall +--- + +## Get the companion files + +Clone the Arm Learning Paths repository and open this Learning Path directory: + +```bash +git clone https://github.com/ArmDeveloperEcosystem/arm-learning-paths.git +cd arm-learning-paths/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion +``` + +## Check the system requirements + +This Learning Path runs the exported models on an aarch64 Linux CPU. Review the +processor, Python version, and available space on the filesystem where you will +keep the project: + +```bash +lscpu +python3 --version +df -h . +``` + +Use Python 3.12. Make sure the filesystem can hold the model data, checkpoint +weights, Python environment, and generated FP32 and INT4 ONNX models. + +## Create the environment + +Run the setup script: + +```bash +bash scripts/setup.sh +``` + +The script creates `work/venv`, checks out the pinned LeRobot source, installs +the conversion and runtime dependencies, and downloads the SmolVLA policy and +its SmolVLM2 dependency. It records the installed Python packages in +`work/environment.freeze.txt` and the source and model revisions in +`work/revisions.json`. + +## Verify the downloaded assets + +Check the downloaded files and revisions: + +```bash +work/venv/bin/python scripts/check_assets.py +``` + +The expected output ends with: + +```output +PASS: public policy, base model, LeRobot source, and environment are ready +``` + +## What you've accomplished and what's next + +You have prepared an Arm Linux environment with the pinned SmolVLA checkpoint, +source, and Python dependencies. Next, you will export SmolVLA as an FP32 ONNX +model and validate it with ONNX Runtime. diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/smolvla-action-comparison.png b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/smolvla-action-comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..48610bb2629e7abd08793506cde797179603c644 GIT binary patch literal 149550 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
&-sYk()1Uq=~_+uos zTP0sLE_7VSnGlUKKG9E=oUAW%BMyyeMj3M(_lIm87_Vk+W=%6V`j2Ovh#aK*vB-9@ z6N);%d{do9l>!h4a*3sx9;T9nbNY*O)t!^+vz8v6dmQL^Hc5P#-`rIMA0Aw2RgrTa z6~HVgF$Q(6solg>KwGf-c|+K+ANs4O?rMG5pUZwvQ=*uAh4K&d>xg;9YjiV&ID?58#s;3fYPac&cAM<->mIZW7 zvH$P-t55~g%!pUra;6UZaIDDL%#x#lSwx-@nG<49v3V@CJSf88#st)+oL~uamX1{a zSw3>F4tb!#Q#jW8rH}5w7n@_A{q00UQ0hC!92C^m#2fwbZdMY2;PeR`ziefCmA}8A z{%+29bEi6nN0-b6Pw8^FM<^G($~(;QlMzQ1Lqs|0Yz;-I$ha1`ihEN9zcix|MT%w- zrqT_wgQYS($>+qzqka5pu8N;2h%>01RS@oaQTLr^O)7Ti@F7$?;!opmGtaY>Nkq`X z@x-MG+$zw|Ve+*tq-fS(ueZtc;kI}mk^EZ`3_yqanEmIYJDi*6XXr!|d$1&FTbhwn z)SW0B+;?>?x^Jaw2g)(G5EDx7zm}h61j}n4&SWiZijA#uy7CAs7_}RV#QE0P4NyOt z&%CDC23Q(C*{<&0!cdLdt=#g7st+VZ^H$ZK>6b$bmR4z06n~_(1z)%lNNpvKq%K6~8}d%U ze)Ig(tDEGFrJ1OC-|w@u6h)*G*>=Z&_P3Az6FctRK_lh1gDY#k>noAeY#BwjXEnV$ zD2Xsre;o`*o(}5yz8alOnPAq|4m4{22!?~4q5iw=lTmH;_&tN1ZNU(lpgK%M6ZwW|#WY8H7rFjPp4M=?>h$KQE{c`9$s;~eLg;QN+$ISHHP zA1eKf&yblakfhEKE1A?z_*JZ_jUljvQkkk7M9Cw`!W9k2f4E;GW6Dwq?oB+fiUnrr z2O5Ed$L1`(or~br5icN5@*lT0hJ(rQZO^lD!IBXR^Ok@1slZfszkV10Q11%+#A*nq zu0qlkS_I|(9OD7};~&5Lr{=I4CgRc4288`ZudheGw`$Kmi9tLg9;Z{ca=0F%ZpLAu zlcfMZa`hV-OJ#&SiJw5npY3t!n<{8M)3bEV+1^t-d%Me6@r4L=KGinc5q}u`u9k4% zYs&rt8KQ$Km4#s&upT(Qmv7!LT{yO;BA0DNtTWmN*IYYCgt9+){6uRXGT#5DV!Iqx z0>4{uo1EslkOWJYZ!WS$vneSSs#-PgYwmNZg~`lGJ!K8=ke~DR4>mMq-k=rzKo`+4 z734;Y>XPb_qR|hooGl*Q55Bl|7KP5Zaj||O59|TZxSk#xmnk{Y&TJ~jDmXPzvdM$- zBU1iI7SEE_0z-w=PKJqTwz;kI2%?X)cuV`;-dBL0S?^`ZxzzwtYXprZ282To;oO?M z?>9+15^}78AE-7?3k2^lN3&gVz%Am8;lo>0RO}JIM)n0$|Bd9-yvKg7iJ&m$xNyna z60MW-?I*0&36?GjQ-juFe3@0{LT-LzK*D>zxE|nFpkR(BEwaP|D=KU10LqQhjG++(N%0DcC@y((cA!f#Z1vS| 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 m{XEk+ zVUvz9j*r>anFZ_A)!not8`~VW-nx9MckxN8;k6>%+odk3wQKiN{L1Jt7IWV*zbt;r zyO6eRzoA2Y&AR++bw5^@e84x!YQy=m0f&Z)&h64$7Qz1l<}HY& literal 0 HcmV?d00001 diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/smolvla.png b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/smolvla.png new file mode 100644 index 0000000000000000000000000000000000000000..6e3bcb81933ebdffd352c6a8a0dd54b3cab7a43a GIT binary patch literal 113570 zcmd42Wmg=}6DT~pxVsZrT!XuAaCZyt77`>tfFO$ncL=VFy9N?$aVKbigpkE05HvXC z^7}upo^!vzoik^q=TujBPjy$9c8rdeG9ETHHUI#4swxV40D$&X1g~MDJiYp>G)SL5 zE_5^u6#xDEcX4sCx4XN!xw*Q!IyE&pGCb1N)z#YCQd3h?T3XsU@MY=SQf_WeWo5<9 z^>t%oeR_I&L_|d3`@rbvDF1i9M@L6)Zf-v}x0Y6R%*@PGl$F)h)eQ^`q@|@@oSe>% z4uvHZ9qr9TRW#K^`9{aTsVIu^sEbBN2273*%E`$GM8*vcbmf<1zwz=?Q8&`l(d--; zIXu6ao}K-^F!^nMbZ&aQvZihI`~1MbKzw|BNBgJfxQxNB_LcFWxv9bS&Y`T_viP*j zr>nN5WB1@DJw7@&Bd#Jdx->7dt+rx(sB5sjvZJ;7{&e+byW;Ok*8aE5<>ADMmZXyW z1Yr>oRyGcD3Q7VzJZvmX5D3IhNhHWgA|}kOMa|pOlav6i=+OT4%1$2ixsZ?WesroTJX&l_d_ z)JsieiPWZu_&PmT7p9;f#W7T*d96c};Klt~pQq4?y}URvJ2TqE%pnh6A^4n2&&8Nt z=%u=$>)oFp$J0JJk^EhylFJ=x`-574m-Vh!^bQ7fM;lbehrhh@ezm#!&DATxJFZFB zHCaI4b+BtRHYnor$hW(T-J`EY6OG<~CZ0y5^SUNud-KQ6;y4Ejb$jKz`O(&-+T^D6 z_&6htoVwA+n>{9a$n{poYH4<@t7Ve5z#GBmcRMAQ8+lsf1UZtj=|XI?KIZeSH75%V zHR&Exsc(NFf5m(0U37b2e10_+7*?Ctpe3bn-e43r4L=w$s!!LpvFES-x?z^!e7iIH zHg95e#Jr{SO=G#i@!kZp5|t+>g?F`=D>d=`QP)b6;r;QzizYm{L+OrSKcvw<`zws!$^q=ahe82x-@>ukqXJj{ZbYNW)=W|0jdfw4E(+y zKD>wOzbp8clonyGDaW%*Ib|q^U?(ggC&T)Pip#3@YKYly01}JJ`{Gr%5$3W4r)3eg z=gcRGnpvY+Bc-ZEqY9sPK{J;+$^2~J;r!{tKu4!fzk)9XItzd8p8q=j8(f%{3^2C3 z&K6{*PN;f$iTlf*1zM~%ywfALi{~Gv{D0;VWHoHtv_gx|mfZx3AFye8$xVL#+{TR^ z9!H1;5Fy5Nfc+!S_bh!wwB7kHMsO|kn zVE=D!k9{MlRCmxe?q+Wh%Wu^lDM%TYz(1wdF<8R$*YeMM>C;EI1Mkrv%8!rh@1$Q& z4$zYoPC%2J?h;Da4)6X!E@i>WL{V&ned?-?f=mIGvgfq?1i|OmwmT$t@y(=;q(MJ) z)9<^3ZE1OK$7~lS+i$ulFnf>TBg>0gAX#wL|oat!~#95?f>vda1_8ixi^sD zc7XJ?iriE{%3< z)|l6W)R|8tcP5o~2IEinG8d#)9ndz%Y=u9g6?sB8`4^L|djZoB*kccvk=T&AS0^T# zB%=C)tAkIy>)3^)FaH-8OqKoBd35-FI-LDRMmdp%h+o-$uaH&TubZA$az{RZIO*;| zDJ73eaezuO?=GHk4ds3P-JduX3W2A3^t(ZT->;PZWjp`nr=Fm)T8m6HinVvQ^OMEz zld(^Fniz-ax!BsF@{>mDZHAu$4e!@0kGRYpW0BCId_n#4c zqqJWz4#4pB{?f2Q?k6lb1~UAqX9i5wof&CsAZ%dJPNtG=KT8n4H;Zx-8qfIA8k6Hc zm@~l25|{OjPdgcf+g@q*3P51+$NI^Myxr@;0Pv5(oeod`TfVZu{U3O=V5tW7+r1BV zWAb1~oM%{w4nE)0WTFGTH6&8Z7+K=p11At+5@hCD$VNrY;=FSHyB|GpFKz?2%JN)s?)c=3TZ5~5UJ9?@=+I)e^Wm7 zsP(D=mkdT*PJ0`}cPUS+_@GfgUj^6BtX*&w;>6c3TXZH1?~%*U%D>KM_I7=-O7=7P z$AX8C#CCTy6S)k+>Y^BYBALMWhfqHH*T&2#C}i22!1M}7D1dma-Mof!YtxZNC`aL< z9255o!)>0q-kpWxZ+tSCsuTkgs1SG`4X^y?5p~?Alp=Se4a#h@Z+=1G6zZbjo9_#;>tQ2*xD14M}@>KIMZPPE0cQJ+7UpYGu*kzDx{QSu(f{P8M8p_WyNf) z-`FoKSPljNEin4m4V*~EGyc(85x1Y*Cb07a!OR0=m=Ysd*A<6K z*c$T#LTRsUv1T7nr0E#}Dy(aJOz1Zz6v*vs^faAKAdg!n7Z0hcKT+9)?3Ce&p(B_b zrIUyQ5e5~n@B>OwrlhdiWkSu^1hs$}&%F^{AfAAF_zjV>KAxW-*Bc#aFc5sFJ4k(? zz4Szvz>Ni6wNx5X6-`fO&bIGG$c@p+SR}`yYig88_14L$XF8`iy}RuIE6M=}FRS6` zkmj(HxgLugfo^eoEGa}CtX-t9y2VN6%0HM|Y0#flqu!qwK?jG*6=D?;l^oxwmfvZIoTk2?oQq18vLQ>3l^s;2IwYN|sAF%Cp-A^*s4MY$X z2@Vb&+F*{exVDAmGk?IC+e8JN2}_8SZdA-8L6_{IOH2w3At-(Qyzowo%?kxw zW8`*FcZ2ZLDgO*>Z45k@kX|i`9GMUbNLB2|M_`fnbtAD-Z8CMWVp;=&a_D+!0H{b6 zzk`l!w%k4NEUHF{0!h4T6&9lPmzwO}^3;d=BFFolxn2bC_0C(L?kn20Vj2M;%};~z zI*J$+2m#VxU8of##?GkBED1i>jO#7s`>x=@frlPLWl2!H9Bt`i z?FSZyd+tbq8$X>AA}9^L5{sKoGi&AP@(g7MB`haqkD5AG6-=37O?^E)aSG@+*+ABf zOLt^AfqwQ|Us;PVhNMFqdI`u!2`#i1OffL_XHXO`(pUqYrZTfzO5E?%poI?WV-;^x zErs2&q5#6A|GQm3V+Px)kZXlCCim-ep(4>BXIMzjizUJvG|po4C=lj5!#LDZR?Q(| zuFx?x@hDh0bA(lmkSeiR-E2&U2UTNy*o0a!IFersHBeYZ4%dn?Y=TYLH0@-O5myGPgnMyy$t^?_hF-0jVW7%cDuXfS+7v$_0EqMx zs+>7_0Vs$fy0?V@I1@x9HC2h>4fO&zalBNQq_Q&H-VQimcD|+(Q?*@oOy<(biW|b{ zI!I^4Kh&6xbedJ8qXK%j+12O*u+|$1@}ocQcaK}(^wT_`5>dh$C6Rg5&XpqjPeeUw zQP5Dx)zQiPK>*vsP>yKVeQ7-tJgUg*5v?0apQsrf6FUvSY>R2vb!(!+(K;3T?CLQ& z{O|ejrBW0ocd$OYQ5WxZvOvEO1>3$nc{aAyoEF)&J}meFgkT2E)83wbiV~0gQ_L0N zO&wu3XhT=8Wv8NL%K?q@Of_M=f4~5$KXc>L@zWk206^6&WbiXKOW6Z+W&DS6Fb1q97M`CSj}{6OJTJ*g`X z$CVeuznj4#AuEFIFx;bulEdek*yH-tY-y6?R0mYSV0tzW3;+@!6?lEX4wR7s{-$F6 zv~8AbiQ-sd`(Td&RYH8@Qk_lr7hXa*d6SvR9yMV@ay+40EXp{a`v(lbJR;n z5Gfu5S}LCy43!~c3SS^SLl`R$NXmCjz$%x}-5$W%ts3^d1>z3=8~pjh_&BF(7x4wz}Aw|kg67hu9M zwo{%uwH7B zLs#}!r!4phyFoN6_QSy5Y&bEh)Y#@0Py!cI6(Uj!*CF)@-KT+Wty4mv@pPbmOJKvV zD2!TJJ)}aK-ju34^70qtJwBr^!2pshy^GwmmcWx7-#5FDpF zNTs!UVn!>G@)4iIIr4gh84pYN-t!8qlL%ye(*{-V5z8cytM7+`qV)_+S^oYmkIDTq z(f`8ae#?A|;1wSG2}n6H;k_V4;9!QA{a&DiZLZp2*=!_I0zDs{rCCP~&r-xo443@b zU#6=kp>d5!YLPzFO}CC+<`&|w&xr=l#G+ASzue^ikONZyMOWZ#&H}v~l|34f%JKp{ z;eDczued0LKgkk+yl3TPMRZkzrKDKhPD1Jaej0F4gpxaJ5Y9L;oT7}Mc{8+hZYVA_ ziU7g<*vOQ)x=tJaq(|!{VPCv@@lbH$NmP!X5zhoP-?6^9aLuFqgJw-kvCX?c+!kyN zFhXs~l1hS3SwuVHwbhfI*~ZwDiVZ0nFEfjd%+s%Deq)Z)8(np4kW@umk_$(k!tc;fsYexK*dX&VH+n9Z;IrUUaERe{D>T+VE zZ^DL!1wPVrGG79VL@kI2$jahPJ!4NT$5CYW$9qSH)iJO$e*%bIuv)|?h`qmtvrqrr zIrW>R54ctuFwTzCDhbC3IaQRC`uXgqR!GfEdoZ?o{4o^`9<9_cvKk1{A6n?1#Uwmi zKGmj-WQbP`$U_XQ%4<}Dsfb#5#_eiv~H!ZRFceQVr?{x>fa5SLyUYYNY=ez20S`4U<2wjf>D1Mz{$^Tn;}URO{kOX)EoeAML+Op};+||+TR^N!S4g8h?#YU5TF>YU z%;oeQR>FL;aoDLDo*LAKPJ2A5G~$c|1Tc+flXenHRDjH+?x24(oc*OxS80>VG;In4 zO(w0S+<_U73u5_7Mk(^iM)rfNj6KzH?$F=8#x6Io8)c>45%S<+!ll!uxn$Q9fIIK? zk`FvnBzQ6ySvJe@7MEjfI3>_wNn8Nh6T0(yWRzs=ho4d}D(zi`KitljQ94=_W`U4) z2W5Eg@RM}<(gX4RNt@_**r_jz?MP7H9)7R~dv&N% zy<<|W``-vNbx-a9a1sSZl-fUeDq3}!13I3-Obpv#9=mWVt5O5pUO^NT1U)VQhpTWa zg`|7#$L&c4zq&sPY9|Pk^$f%N)Z24K|NZf}y|-BQSJBn3de0(zs?3&r6s0;lCC$Rt zy?e^89dJDWvL;sNwo#gur&275!iS0l)_}$JB(e0W@LAWs1&yS)`)2n({ zt72S5ZU-HtPLuzU}{}D;7QTqI_i*2+Z*Xk3rc+N%2((0x^G7drhk=L@zek^t9 zN~pur<%8jCKK1J{I6Xbktj_gOu@1~*bj|g8qDBA*#J-5Lb?LPu~yz*1c?Te4P<- zQU9{#&Cz$EIC&l1q#cSBW-4ZwMvH|t*_*~#Y*~ShFV=mBXgtP0Z}DgfeqHzD@VW&C zZw}+pO|eD};v-wi-atRLtjK*^T&Z}y;`T%0_4iLlKSriY4u_5;-NeO7*viYtXLnQd z+y#UqK=7ALYt<6?MXNiTO)|mmJ*R zOF8KVmjyy*d}6@$2E`URfQIbQ2TJr#u92;_ zFM|eM1zy6e6rM#3USwiTb2U#&@Rg;Sua#GG5o5=_c*gqny!<4>Yfj_3W#=SPL1EC? zL?t_(`MK-sHq*hh=UiM|xxH>q`gNa0Y(Hue;W#1+kc@=wZjbjj4io0YRXUg*+2J5V7xh->;k`YaB$Gw9mK18 z9m^Q}A`}XQ5ie9~4D)iMN4+%Se%?%^n88>T|CM*t)aJDAyxywtb;wyVT4 z<4>^a1iV%`qH0`k(ainW{#wrndpdst!%8qnk3VTj>ym5hPvCN>EIUPVZrm`rnZd+c zA=7;BcW+jHjPS^`*VfDy=~WpDW9y1kO&Zj{Srz~HIgX;R^Lq8(fhR?Wodk_Z&T=i5 zOsZZ?{AJ$6cEZLk4i-zYF;6DW;N^3(U)THEp`p(bz47nn%G8y4^LwP;vUdFeXFGgm znP=q~9Ul*Sb@QgGM(@BE$N0Mub{S*l;C^}-G(+uY*>294tGh0mZxsbWZzmEd?x-Bs zztPrd)osNLt@giV_fowj|0614q1PUVN!@B%r*wSE`5#Xnx}W<>GiQ1CpQ>P3(;WqV{PIB7@|!8g01pe_hUkUup6>OJ zcx^+@#qv+vr3&oG^SP199AOtzN%z$bPg^?o{)H-%v+Lkqm`81vxtj|ra3I`_MGE`^ zJ-!sFN{BF*OSZ2|jX&f@0T@wvxHy`B#2L`>a-b3#8J!Jnc=IHQa#}$MInuGw_~m)* zDk$Ed0FSNJaCkj1F$mA(vFMRH$7U>=VBy3@SMwYOuK}02Wp4;GqTlOL=rX32M3;0H zjoD*INmse#w!6JgNhH2>KpGYKwv{9wNLr*%MqsaDHnk)6;JAD~PD$-6`XEzuIXuI z!Lg;+RAO(`%7_6Kkql|c(n-)NM-;oFqNTbwudl ziiI}nBmO7a)l68g4E_n0Df#0TTS)sABD6bv1pH2v*PK+bh|wPvC0T!y2XPNwS-OqJ z2hF@0*$?%N3H&f#WMn2l=7TPLqFvQE#=^(|@Fhw6pKU#J?>eR1eYpCit(q;&m2;(~ zs^%&Bp;o=&?n~rnPvD80(X%BfYwM0``lkRm}H{Y{GNBuX^@8-aIyli8WtOcd8bgdVJlh`?f%VczE%WA*@oQB{=` zmf=yH=CPjM+=+Ce5A--PRe|%Ug?L`rf6-z!I)N@&PqrN8cJ{@&x-O<9fpsZSf z%rg+=4J!6qI1d|JLTxEYsa&y2y-t-e7pYns$hoyyg)y|QIq(q`fcz-PcHx@p4!j|L zH}UbxQbUbu$`J)a-#(#O=fha~dT=8MB0-jG0ZZ_@>lY zv6nVQAyi<+5*>yM6e<9JT-KJF+iwtS?ZIbh4B!(sHmy%<%BVffy_ql>ly`&RnM&W{ zImg=c0~+Cg?t*mt0W#{aU~x4?LPtiO@O#@#D`wKI^UrSNTuX-yV%~cP#j%DFM+t)a zs+npIVY+U$fP67}+Tw!{HpnvYk4{8s-Jqs5kTX&6a2Emv4!`$0;@t*HsWHgPTJ15T z1S0XsVSBmp4?({?ty8ZZ!}~N8OMz^hFU?Y zG(C@qWREsnVWR?*o%BZ00}Ejso`4RaH@7D591g6+SaE~%*nWyha{&EguS%b)c0N47 z78bfdDN1F&S70@zLP%Y$^p0%rSj3G_bawyzUCknpt;39EifJR$Pd_AEtP)CJIllvB zKEI#WW&q11U}fE1`hgSjF>$oBZhwnKjhtBKP-yO4+Wg5~$t zI-+79F^Ux+V^k>st;MR=Wb#DlYvKA->rv7_J#PR=Js7aHVK3Qruuik4pal9zLUJ7H z8yb{>+ICk)N10r0`y^^%PRV!XLr3*Gm2C`LGKx>zLZkKy)#2e}tv)*divW{C3Pdl= zF=Z&={k7@pI*QG-g!^))i5v88sqEajB84mFizzwPtm=-oK*_<@D%QzENhQU!GwVPW}81YfLXc;(tiz+K9}l|)UL zYy`W}yUU)+#qGPz*OdO7K;$%bk-iEo@>{6H${fCN4+o=ip#k831-Z{ak3PPSX=#>% zI6wz3%E{*&0O5tAC9WRXuja(3l79UY`E^bk7nNDm@OAyfWbHwvUd`Ft!eHvChuD@^ zHFI-w!-ZwFoRYG~`XZ7+b6M;FKS)+{=d{9+YzxkP$}4+Sr!CpCeSi6E-Acs2MCv<7NL{>H#yLKd)K0p_KpQz9ossuVWh%&4SOBf#A_OzDJ4bPhKO9 zE4;DuBk_(lY?Rj{)DIjv2-bp}Nz0T%E2NOW{@d@)A2HAD}whpvejm<*{c_`I4b6q;bgEMO*|kdS~bCx@b=6w^crYQn(c%bIc6b!`b*eKGL|N*%u#(I% z8C5VKP6$~0XE753EJZxqm3DCxyhq!GvOfw|zRk`W)y=!i&n4PBIenuOm+K=yA;k16 zt*(AUyx8IRZO?PF zK#z&bnOk$8BnH3;zN9`OC^q^1ehbj}+=o0igPbT~qacdQWleqm?PUa^{O%>`75{v- z=;-$Rebr}A6lcVTo%c?1m)u&YNX7=|El^{}HK~b_QK$ygS)jH!IaCiu`i~C;zn6C* zqyQIbv<26RI;AmY3nvDtroX+M!XK%`f~T=+uiU=5Oh!rs=GJw5;v*DG__@`msp%2%Ycr=2NUJ?thzvSgHIc=^elbom+ z)`?rwO9oujz7+fOZvTP>pJoCvduVT$iEihTQi z4k%59_$DbUj#ja=6_{$w68x4;Db*`E`zUJ*SZ0mP9Gb1XBM+4&1Z*FVr1^C2j|WeA zb7%x=(OE_rK8G1N2?gF9z!c}$2v#L2^0F`=KcNPW>aUk;6edy^EXwT>u-#TOEZ#!{AnalTrxnJ{A7%RM5uYVRg#)69&Y2=GlT#QzR z;$WX|F;x&6oVUtIG3!RBwO@8%5r;}cM@AS6B;UpN^F3p{tgPbDWb490UUfB-@^ty% zK6({79NlKbF%S7y>NHDsN2bS68?rPHw)rK{*%aRSyd#eeI}Iz`y#L9p@Gr+l$o`-O_b*+Y)w$NB?{lB#`QIKRC&Tw*U1 zfF+bR^Q4W3D1cNr5WBucG)C}ybR+M9P{$S2&WFTq7*GKROQXd^MG`qYhp{LC!8iQ6NG#?r$_YuoT?kS+mX`hTFWaY zzNj&^@gy^fM<`$x`29sl55PJJF3^yS1R>@)MXmsu}e%fpuWnJ_j;SC}z=oSkhxDWu6-fRL&pJedqYr(6C&MMN}CUqD%<<3Z`Ml0GRE7L8Wi-U=xaoabIetHcVKn zE}#&q)Ehwz6HXPKE_gUiB6((|(2Fhl2YBl+J-MHEA?P#>^KGeMN=?wpTIbKnw=C7G zsgbPy=qpx-$02%E~vogi-zp`z%IW{{5r1+gF8{JuO1%#bC;Cn;> z;jXUu{0(D&syz6g0wruV)gG&WfQ?`hb0OOP2AnIu<&OId{kWz7xlrehMlUmYQnqk8 zC9pU8W;Z4b9o{C9D*JBb$N8?TF}aX6pr_RcZZlK_0`WnOYmHyX+i3GcxgjG;49WP| zL5|BaF5mGWZw zU27Z%E`YIaHPIt2OFaq-t_!7Y^~X_9pY^(D!vbgrvHldIzih2E@1s`5_6YcMu@6OT zHQ9}LiP;TFg(f5;ZFu3B(e_0uiGpo{TY{LXof?+vCh_HE!{q^Q8+%Fz-FS$|DbD6b zV%sGIe#Fg-uL3L1m4=uP(hk-Wlcg_<8+Ea)my;4InV4EKpa0(9U!hvDZ%VE)ULwXH z-{MC>-*_8U7xY`U*Hh$(`^+NLVi7TcaLeqpp3bN!3~-fTZSQz{Q~rgq3KFCkAmO^6 z6mT7$pqTIwyUl!{&@%R<5*+et$X}(Wl_j^}`2Hp&#%^JbJ^o(=3-{ z?hB$fo?-NPQxh-fYE2)EzlA~|hw};GcB2HvRJTL)jPWnsD&I73w^Mk zdvHKz`k$e$$JhTgLivYCOLR0uDlkF=ceS>?`~w-|zulNc7Gp^|_nu5tS_lEIQnL~+@KUaICrPcWxrmHakj%$Ezu$&pC!85|$01+Bhm$w1 zyl9k{#6f*Dh8nJWbh`J^{kuJbp+uTx!xbVV$*5aTDdQ{FwQz88Wj+rJ2lTmN$EaUA z11(r}8yn})Caq8IR9h}neuNtvS}o^6c6;6+Vg75ud2$cm$z+j8)biImQY$6YDXkX4 z@m}glSyHvbspsmb@a8jCj|#2r9S7A5$^e|r*R%a+UTp^KgmGW%T5A&{YN_!sp%5go z{`_K%W*uH}GFkn5dLn=dbSP6toWX@vq&spQ0x%Gs36eUG1_ci*AfOE1aMJ+3EvNL?KGjV@)IU7gbC<% z!n%$?@euWed7|>kfCBF)z7+SoelhS0Ymsk+U`-u-*$_FLZzINp4jXiZKrGMf+ENSZ zLO~{@6XOyYq6`EyR@<`%uc}dmcU(_`K$*+OhAA~ffF^aFnkwglL>Xb1m1+XF9HDE5 zdBmOCsmlt*e290Pbf^yJ`0$v6+8@=!%fn0Gt*~~x7AB|F7nIe_KTZdw+RZ+EJLdL* zx4oxO5Xe!(!B)eWu`MVI7EmcltebWgPcUCohk6rT@&b>V*{N}uCPgP7Q9zq}$~Oo~ z*x3Esc{jBTT_;6cb8O(Sn)mlUwol}Y&sX?M^0c9JgjA6pCHa$U5e;d1h{0A4({81V z>hi;gyFT-iyEs{VFRVz(huJa8M#T@LbER*&rW&jll=&<~SfC=_c5y#eap-rDBs;{^ zS|*L?(?AT-?LJ7@8la#VqKBK}^)#%h5p(8G!%;jo@Hsj0Ou-6?<1tmLZQXlZ+@-9` z8yj+YyG8duFF})U+FxHfdxnrRD9UyP^IP_G^{n9;w=~ZL4C}F|ieWh+RL!7T>jWUe z#c!kxfEM)CGlr)`6>|UaO)SbgUB$*Y%v5wZ8TW$Eo$sqxujIqYR*}jr ze76?p76hYzp5i!sC}G>*3&I-;RJ>tP>sem$&)GJx{LT<-#T5NTQYvREpd$88MK;yP8cC;>OLGoTWsYF$4GK$H|1u(#PX z7~?SNF(YxB9i1;E@;@TF70*eoDHI``e5C7DEa|^)mVp< zqzwjB0zaN#?u#^-P7P>kI&Y~c3ci4?)0xmlcWnW$w?kY;nBFpl4Vf^0V44pjoQN^# zaJk9W^H%(&gDPKGj>N*!FZ6qdh%k}<6K7!55Amy=;NBj^<5;Hl8?in_*1sm({ud3& zVUJ-(|Az<;=8$&{LZg2^fd9oina>|cF9jHYzjY=l0v*f zwzl?xh470V)Ig;C-Bz zJJ;=xC+S|MP5bN>`SUY-95~?3E7=-v6gt{W_^%lo`#QCex0XQ{bw+iHm7~x6Ip{>3 ztk0SaB*P~w{p_Z9AG1#?GBXvn-HjR{o4=Zo@%5|xK|^D+!l#W34da=8?NMYHPIRA8X~P-m!=b- z@Qx(ZKkifP4A~8G);Uo4{zu9^d%>PY;Ul4z=Lwt#f8&!9QahY_sICzgm2tj#hG1C?D zEQ`cgp{oJ7P=&QsbACpMcJ)gPVh`DGFfovZrY>nlV&|Y^od53hSai{=o!Gb2MJ=U+ z+dNtCJDYm?HNL3P;Q`r57>0D#&qSmyt)7eW`n$_QHXoMilth_4?rVTBB3=_aXum6s#}!$w}nj zq9=fP7s4-7xNY~Wgzhy81$etfU>D%K)Hal@TZOfV2`13Kr-8BTIJWACg4W@z+l~!N zjs_F57$ZaQUMLxy_&Ni&H(12U?k|n;u{~sc!zmQQVG^JJ?RVWv@i&+lQMq|-pJIo7 zC~9dL6#qfitYkz)6ry-C3nYVoTjlTM#wE5TVq~16U3T;p(`dvLTqVAT5 zvbmlia+03B+)SVDuvBd%sjw3J{rh(+VxS1>Y7)LzN`Yn1|F#Ru_mX>G2?QlY8#E%e zG^l5*3ZB<8ebhbQP{R}=G2zH$S7-&3Hb7dlgd-7Y)L%jR+H!S5QY zN|EM0L#{$RR&V$efxLTcqtgy8F4Tl=|y3jx))bGQ&kk*Da=JLDhpGhcOVY(Z_hCp z1XP||amz{HV-XvQeODm}-L`rofrd~!@)_*ypye~4LCya|-23au%kay=Z}rui=54wQ z-+os855fcXLg-EyuW^B=e5^HKRrB5PkDp-`p$fY#&;IG<=xoXHrg?8%v0Vk9-kKRS z9=9Dte9zcASR($;zRHB-l_Wvw@p+jE6(;r%1lD;GcBgJCl2S=bZEn3*#pT}naQEwL zVPQrjYdEa99@83tY8%?{+n}vP9a!^SUzB1q=p6rb?L$Ea#?L)*319GvV4&*r6>>%u z8`H>9CA!V!%v#r`jNR|l*Spp%RvRr+2WF|$#i&GZ{ktc7;}Hr9ar&XAb_dK( zYaoE`Vd7?DMq87ob2OsY(OZ=SUA998_12%SBn&a-B@s9;uwB7CFsqmr)V#G7o=nMK z4l{nNT6rC-*1|9487jDzUH%s;3q~qB;pm67Konem_-%arsQFvEgP5D*_<{ z*wbwM#tb?8F5L|2%smDn_}nYud+T2im6k8RziD487J!ChXY`3N>w!W@d0)w#9ACNj z>hm8gROyleXhT9k&5`1VlP_&W$s)DC8X0IWopB}H+l`Z0$0CDNFo+H8BKqH=p*@*s z#hxCaeI(=@3s2|p`U`a;XtbR~9fgF1vK|CN4;!g&a&zKwkNmJ<0pcp3vB&S=!f zp#@{a11EV_ryN785Y{RI8t5-E(fAkZ$LA-;Di1s%Xa)GhBrt)o+ek|?m&R(@BLKrd4QTVD?w}9V~RISuA&oS%Sj0Rqo|vP1EY5lRG(I0O-&2xhyjB zp|aOj;O~5uc2DtTk3C>D(yG7y&I9kynLxAE5%qmR=gE8jf6L)xAhc2trq1{(tq|W<(DRV&UiL32(be*c?um}-_ z0VFCMQ3}ixyT)DT7>xyVA&-^19iosSS&mqc)`g#58}h8aLdtqv3i9v55>farT+|Q? z(%c?ri&GnJh%Q_SG;{^_jyUV0lX)#{BLbPj!9}$l9VSQ_+WiA;1|Z-m=k2rh^WwAV z;MlNAdNAVaGZcthvb#ykFdUS>J4-_dLSbo26wsP;4(qOEJAZMEHz%<#%INIrHGqEull%G-++{Uq^gn^_`LkcSTi!GPkiR0p?yhr#x(-d`Dh zInvqA)6?}E1b8g*H)b9S3)Zn5U>|F$*f1NFdEid0`qXReAyk`%`wOuH@RZFha6$= z7jI1*L`HZ8DKJgD@0Q-IdMJokNIk2|_7C_XMgferROt`A+Gs|cqzVn%>c?nb&hq`Nzo zQc_S#>6Dh1h7~F4?pV58x}N?0pSSaFW_RX$@44rEt~3ga@{>fR30iQ4R?hdE3ttpi zF9y?Tm$>U(9yK%sh^OoPP+NOoGQw6JT6UD#fD_{XxEcjv(*B+x-oyf&c+ENk%3Uz;2@T3m6=pwA#^sR z2^FK0@2WW4iAB$phlT1Utk!E6Dz4N}>x6N!q+BG&KK{fT<}7*F9{RG;8`svc+8b9* zh5*uZ?nUIWmH{uEBCEeC{B`Xs-#H9bhS(+Up`zUm(iA<~OnC-RV0a*dYo9}7V;tM6 zAA%lks+rbuEu5Tq_~aazxaWMVy&m|S{KTq4*ab#CcZY*Wy`=#_iD2u3eB|~#AX%=E zqT(&sZ=eO_D2(t z!tuqa?<-O;IS$0h^i&hNpOLo85ZY#xq4tKD5b$l9w3KYLdl9|mpZ-gQ-9{p%p@F;2 zu}JR2WQft^oKQX2{zlEW$)!tr&%K8W&yytiuPQA#3DyUod+YbFx6&;Cv1F`xT0ac!E1%>$Yz$v3} zI3|5Ws>eJ=BHVEK$t)t;*vysh&mSo37rDsN=y#iD&q(HX94~cVf4j!zIPxReeS8ZK z`CV5Zr$!uAezq9AZhp<+=HISyr+wp)l9UtqugcuTVBxW@I-t`*Y<>~K`X@3jsG)RL zzHmlI@6hYbe+Cdrb|6{vgn9*@o*~=&{8HmM&J3kI7MveLBHU{bs``4NZ1DNxT)-45 zqjgYSE+Y9b(&|d3)dbL9lKPq!J}tGonV|U!cc(C%-8u_!{X+JB6-9Ix?)wsA=6`o} zxU#ZZ)6^Cy-gp@VZ6otRj~yYG{Z#@IlWtbaHaB z)pczIIT?+I>Cv8t2eHa-w4TAZA71>zd=X(kO*me5^jX&>5zfAccAQs_sb`br+^HPp zz%TQ6Nd9I7eE;l-<#(HKP{u9MdiVRc`MgTeiP@332hQFGCXnZ-j#^w|D!oe|vbZBN z6`p9D#dXOJxKI|XP{Z3gJ;_G2&)4m;Iy`v=rM8iL!w$&rsv$UXfOmDPlF*diZk;d9 z2DCf2JI+=9#^uUtoIgcqBEXpsrWhr9xDHH}D$2eH$fS7hO$+jCD-$C&Ts)p2)kX%h zNLZzQEhxZy+j>U|J!Qz^!BwrF*_rlbnQ-I+Ayva z@I~jx25!?i#GH6Rw~!zb*tZDr#A!+g^yr{RhwQZf-nUa!=nBW!11-z;ldTK+5&^bE ze8mSprcL~N5Qn($P4~m8SurTSnl~Y5Gp_>G9=CcN|Alu2VgU!LS@VtrYxS5v%;cdRuLQc^ zo?(F{cmwSU_bkAiF`{r^ajk^vx6~r71K(X07}0{0b6Kp=DXCJ)$qk!f10`8aqR@?f zJX7|!i@7zK8v*u!e(^VP_gxL5ZH^GS zvlGf!#;9!CVUw1MUWn;`*2~Dw5Su$5uufL$o3;T%q?4YQO*8aU1JtMF&ZzM~EL06z zHf)?8Uk(7PihlNw4&+P&Y;-$n&MB4Fyi)Ax_h^6oT~P3s;udli&6UZGDatv@o)IRZ z%%$y3U|W^lM3P-~pvyh_`Skab`yY-~Rj-tty4;1?+)m9&W8LfDsX3NKnn?T%YVRQLr#06%82v zMvxr)4$w1l!%XU4?qdCoX

vZlCvwD2=NID0?@1t9`Bhr_D5W=`_Kl!@%5ur~_WczB~D>E$6G3dxM8$ zXFT)=qaUw+@CnrXHmwY*wZ1`kb*pJXrLPEP>lG*<;eQZzue*bG2BVlg35zTo-==>J zREo%WWwhS#cVo;qZ_9ya&$lRl-4IoO9vdRAgX00G{(yi1JkPgTAv=2ld}Prh zsyhU#6%BBYZW>wDD-=6NyW6@hUSDrs{xw7(WF8UhrmZ_$Dg)lpz~l6FnVQQDy7;@K z*H%f5*v{AZE^?lTi$;2ZFhXPOzfWTl=++|?$?phUB^aPcgd(BTu|Cp|M@nKUzy|>K z>YbEb$KOBPXh1rEM-An})6M(uIU=z0Jq$tA@Mvdbhu`M6zK>UPYXv_79*Yve?P}bS zq9`JrQ4i_lcKaKoCm;#z(+52WxzYA=P(F9j-7-G9kjW%CC(lH4tAHpu%KHBVTnF*DdewYC8Fqy{Sd#ed4@viJBYzl%t?(Pt>`9Mv!ha>T@;7!g)MExwdiHE%EJCxa62igif#c99V>rC?+5@SS z56J=(8j$0%urg*Yg!-gM*E5EC>vgydTI8*`KsmhinP}Q2VY1 zHdn_AU0>>+j;9$)&ilc^!POtfTa?c@9kYv=t|DJYqxwoxSyc9$#VLOds83w~j0V15KC|G6r|Dr;mbP zSkw=RC@RS@4aP?zgj+_FbOunj=E&r^*I zzUn16cRZ1h#MT_Jo33NS_oxp&A{MsRZ)09@@mhafhqSWE z==XYM)p7Z;gWWNDRMtCSkqHpe{b_7pPYr&)?Y9-~dl)48oJjcO9TgIifNUNg+J&6C zMFlf!EYP=PoSdC_xjv_GEdQHN!dElzv&giwz%*N=Q@pSSvFYG&7H*mIu zkfh{c?1wg@{Xl!%b6tVZQ<+JGfj0?3wB=(jQrPdjF^d%%xeV~6Vo0kK^6FHikWtU(rEy z?NGVwJE;CYY=pC>t`Xf~bsQR!ZSds ztEzpsH`gdClIhxgV~OW#duELeI#Cd0Dw;gu`DrbmbB7Mku*|Xad_i{?s1;0`rnng|rkn%1U$Etae*fRM@;v>y=t{)tuXTBFaDvF%Y_WaAlpn|ag^i9lul5RDHNy|^le|tu?q^h*e&OdWe z>R-x;ybFiJG6c}S_E}g8K2H7-t(=y)Wft--3u77Dm63r|VTBJ&nD&N`QUNuUog4eg zoAX@LhU5F80je%#jwe%UW}Qcg(`^Ho|1~aM2*As{@1(pqAQmx%uvtefUO@Qk!I1_i z>^|ML4alYW0Z*q4H@q#A=nntj0v8jizV}Ozs%gPydKAYx48|nMQm9NP^6src&`*is9XB!2 zCnhqoqm14iy0`TUT6;KDv7lIMD{t@7kB6-~#T5s?y(<%BNXZi36l*K#{ElV>G4{XV zl%ztNw|Hk*<-oI)uwf=IuQPLsM-F2I{u)Zr^a57!3FXE)1KJjPW_`~wd%1Cov9mfd z0J(ezblsQlX4lo-p@tF1!0_agX%d7=0Bf;}sLv!cVU^uo=03r}PwVK+sNX&T`ju1% zfjj9sBBJb3+1pa}@g_(uEiD+sB{>;J0e4E!BOiHUB6#T47k~l&#-xx_acNl~SMa(J z1oFG-1jv7Z;!q#Q`lL27R~g(4E@Y7d&)LS>{N~YXL%Ge<894A`H4f*A`sI zWdU~{6mVZ-#dMld+i06A3rFgmBRCAQ;Pme{r8Hf16yXCv^IYX6ghpnuw5-u+s8b~g zJg%IUm#_Bt{J?%;Bx=qc_WB2|!2!PIm{wB#E$}SS%VJ5Y(j}wa$+o`apaDYM9}F*# zT~~9kF%el<0w3a*nv7i5o_8v$pT}Qw85G%Vc!WH}50glJe;Gfz&lWyB#Qu9BpIty0 zqQvnF_o{yAr}0PM5nsGfiM$@9!P7FN9l><=+`$o1-ll11oBvLir8&^#^8H*_==Evs z$l8IVbldwoG3`kB>=g|AwcE3BQ`bVv<#i{0RZ~|p#bhagR6e7T?sAT3 z;g4?dw$73=G#uiyUE6i@ULb+IZ6p|VnL=&UXJGzeMHGBZVIn#SkW$ypn#Lh>QiB- zzd1QbJ0);tRW=UO&jVS$K#RUU<>t8+gUs}hjYeektE9(kF-}6gpL`Th%;mOF4Sf++ ze)z39mCf$+={T3iW~eOwq;hb8Vy9u;iMWRn4DTqTwm=dIU#%w$rY9LzX%495CehE` z&fa=?e97hX`@Ma`q&|RCbsy$QWmi0yIz8xIT1=>DI4#7B4C{J%Fpz=r7hXyPkf0)Z z0YKbhF)`%B+ikVM^g*jhRSbJiB7E&uC0#t4^Wvc~6B+cgV-CX`Hs0el6FDa6-DP0s z{=(g8{>P^{Y#!FXH4Zb83Y|jSUHU1<9$^TNzfmNh_Yw(C_&a7l^^+8vmknCfRB)J6 zBvZibOe4Vu7uKO#`^^|?dRaCm7s+z}eH=gSgG-jb$uGPcw>h11?=)%i?FgzI(-vrr zBuRao@E$)MTas0yxNBZ=p+1)op7>OA=sqH;lNI`(jVpCGh9a|QvQr@qJM12Sig^*T)=gt)~3Hihf$ef2}7 zuTM^z!O*>`d~hQP)xUITNdJ1zy>hjq_N#v7MDlv!7cy^Vix9C;d@}**)WQkoTf4?{ zEd#uw2a!PtVTVz!E)C-eg2dat-0z%ov&@QdvepvRPW;0@3k(puy+5qZJaBxhV}()j^XsuzCC74@wEjy`56dVQ%2u6A zRhCbDX*ubzA3sjboL7V$HLe!cGAXmZ%OK=1+`96Ucfs58N^Y%!50B3m8-I@2t_HoP zgW1?~wWS9#nKObFayNwB3umadF6CA5oF_ktItZ$+3-~N?TP)79 zsiS%1OsBTbuP;xIb99sK_rLzk;fjauLU+=Sot%#yOeR;HdG!@E_c?H8V(XR(^lWc} zAb?-nb5drmEE;tG?(TzJBAKX5fY^z}tCPTI`e~~_6kZ9+-%X`j*=y?+EU$!Rt(4O99iS)fj-oeP#(jVaWa}@!6DT^39vz(IP6t-7K zbYJFZCA$-;7DWC)J-u5FZsj1sbINK~=B>tuU!u2Z^+9|j2}5LL)x5!ORp-MbTL`X% zHJmS+0SU6Xwfb=JWXAonE(}1;s;K}=HT3#!hy%MAQ2Ev5!^^k z2nbUmQ)MFN5S>lu8)P8lrVU=lwb9xmmjS2)WGL0P|Lm^6z59^tzZ)B8U0N=uFLO43 zR>!Um7|*6m1a}1f{i>S*K@GdCPDy3MU|X^6WVvnVOE*nv<1WBP#&4Rp8G zZ?Dv#InVzPdH(o2oM@jHyI0<mp5nZ%`K2xs6@$)Nu{x zug@#Tf5hR^&{%tJ%{%wRP|>vJ{c4W2Hu{iiM47{mDEgyek9Ku>WqkIzn4X|)#u)J$ z@RpI$#%rqT@??}JFMUg&ua;Y*h$Q^4tMm=d+!s_j1SR=u=)A1ZaI&e@>Jk=i2s3kdjWYND$PpYd2**Gs?3SO0)x z6f?B#WgO4Lj6}G_23eR5;>Xk~KppQ66OYGTxrGl4} zWI(9b5wc26itY0=e@Dz0fA?$?x5Eg^ryYY<%I>a-99Cpl)CUfY&lhGNPMn<*i7XFe zWQ^=ZJ&#u7XnOH}+c6CMr5B56ZO<~iimo=$KDpc%P^9?-9GB03{iyf)J}*Qta)#~B z;S^qV{W(TaU=scHUh;=?kOl4hN21x{@|iyKp7z1ez43CLkgk{UaHRS}Uq0_B8r%w^ zD#jD;Ezc!16$cv)hTA&ttwFrE3wxFBGdSFIcqn-)lK91mpbkDC%un1O556VE$0GOc zn@6>GcXw}WR2}Q+DpxHSFWFVT=?Xb+^@gj;qFf*h)u|IS2W z;Yo}Q%Gkr<3fcJ(!k@HI_)v{(;w|)_4EEEU?E}B`o(Um0Gpak^<}GMBHzm#Euaav^ zPHsw(`t=Kbb2$QBG^YERFkI31j?tM_6DM4<^`W*IUF{APi7F)c=(?5LzEl}Q3f9-~ ztMC5)9q=csKAq5xiGk787fM8n1&7ox_cvMc4YX*^>+1x9?4wB|hRz0ve!tku20 z$+pEqx_nnDSHM$e%gV*4x`onLj?#`S2fd-MzC~xPy@`cf>2@#>ENE(}mtiB^*Z~2! zz>F?c;oCpunF6a3u4n(_n^*y>ffJv@+GenW`l+3dyY_R&&Xu~eR#vKE`&6!ttj5H; zSFLrHZ&2vNAHK*}+T{t+W<`$z{v9CU(!YzcaE8Fw-$EjuGKOmkaCGSiSX_VE)Ye}N z9lGl|;PetMM{5{5U>tgjlfhGanc3%hAgLs){qelhLp1TvdLs+|ak%0>+=Qf1=;>4Q zZX@?II*NRKfA}Dour7HvGgt6EJ?A^hQdIOLz4j`7PG`r5*=shw%=RKVL@Y0{=3iW8 z9~y(?ycdyk=d4iK^1>j2i>oZa$iNO~n;AHw67lZ2iYyo$B>7=5xn}2d>-}0yI z$35J2Su~^b;D1ss0FJ?YG<8<9+`V5JLD6WcNLC*F+X+@JP+IQZVd6G46P8qaF17_V zjl0w#riUa&TsPZdV6J{af&ROGR7Of=Sv)Ma16=%`@0df&7Myt5UU6Lc_(PaedY&~G1hTPb-nkr3USDSq;|TAAw&SiHD|0_d z4GG5`X*LAB_V{!>p)(e@<*}>e|7H1$*dkVZ`LD|qLSa`zfHOFws?2r)js_w49}-)^oU#T z!sa-&MXzL#&3VkV2x$H-yc$%xn1PFx$)ntM!|_U1-IGx>J)g^q3?Wjm;N-gM@*}~c z#>RyCrhd8-3p#q8dc9bWI2ICA5!_0Wrf|!Xnc6M%^ly3!HK~y6%S^Wa<;X}T_i=#| zZYsIt)Xu?y(4WpjxHW#;hopPk?yf~vSsXj_eXfyCwybRGamqUHQIa4zR*NxB`sJjx zp{rr0h)L&P-C<-(Kc{@r`RPj)BEL?OAHmAw_i3n*=+K6j2RM;{wEdn8;3R%Ob65-X zD7Pb=|05wC@l*L|>MHfNX1f*2#_grL~#HnO0vpv%XxNdp-Y&1=UFVh)$cko1qLf*QO@E zMxRE(CT`n)`wwCsoO8@6KK1p%y;s}vH8Pb_c%>QT=(x|RSvwCcLba!hLye7pLTK8g%djz7$RGi%i)>DGu<8{v=$G%Y$i8+|2*>^00F(J@m7cc}+A! zUg=lEf!DxZlEN0^L=HQ@!lWQ;rxFuEVy1}W>}UI53Pj8p#;rW$vw6LuQu8kfdZF;? zgU^DqxiPY7x~R6=j@^|7)R_3UYQ>cwkHSNKagwOre;RJ#Z#oR1+CszX9X|}FDM#T}Pe)6t} zAr+K#2;Ls)Uki9@>|kRX8G&o#o!9qkSA~>>kZ`&*#_6` z=CJ5J(c1`GS8nlBfSxj+WPeqUeTL+*co#OWmR2gVQWwK>|3++6XW>JenB za7**5Mlxx3U<~gz`|{DC&TXB5+=Jk z9{;QqwvqDSgH-Ytid3t(^Ly96bj2;3u|TvU!b<0?U_57=$j}eIT6iHxE}|09Ai0i4 z|E_`|7lRnT;-=Lo+agZRg7XNgXK;d2k3%8v2YY@6 zszRMEoq&x|G@w_4E(`g6DS9=~&z4;>WLFW09^@R8Ia`%4b`& z3~H9R%^zdMv3os`o>epHzDUuYWiB(7TpeOGIi8% zPm+Rd>?FSp!E3TvRzv={{uen!Q&S_zgK)ISBx_JE2(%%ev_ca*OU34JPPW z%$kg-#S7bnz}xydbmPd;rtyDwAE#@Y>L+#Z?in9j@cvO6zHQFF2x9`6Q;U)~wmjIg zZOoY6_;^=4S6b`y#!pJ6Z6bu3wSWI`ocl?y4TRu1r=lZgitV+KI!)1x+j|Sql3;$7 z!)A~CUOMr98jRaGfOf(st_rjZK$9suE}@{?3NnQDqcP0@>-8rPab{bp#}^QcRxQFD z{3|bfuSvCYF#rY)+tD)A&Grp)q7_ly;w$#m2IasET}~i98vK75&ZiA-0Tv9Ow~vLG|C` zr>ie)UpFRjN4}N-RDF4QSCFOSpaeDU=-=4VlFIW~#LZAgUHQ&Wszb9W1VjRTpm2!@ z5-P!(S%t+9JSL7%e8)4w9X$~u_xUvPtJjncXJFZ-5HMGUIC^ufhD2GNGOufT3iy&d#2F<7&kxPI9!}P!t%uw` z`J0<+Lp(}XADd4&kbk*MscN`Az*dF}6ijh(7=m*+5BxErC)b9k!>fk@6=sMFS*`b;^U zea;-$UKc==BbnE#MrCG0&u2AbNNJTQhZEry%Q2}w@{(pxpptS1J-LI;wRKIJ;p$Hn z*~EVSDP2+HRf3 z19lckUs9!UwS4a;9bju;l4ka*&roRK9i;tuE6;QU5>?&o5BS(=3ehXz{YO=C1&O=1 z)6Pr^DjNjgcUv(jHBRh%M2TqxhPU-5G?G8dReF?nwimc5t|v92Ys+=MJEO9|76z*K z=18I#*O#AzN_vI%?zfj?>D7pj)YS$wAW=mDI;;kLEjhQH3FVfPSS@bb&mSm64Sm}B zb+oPisJdk%0rN;(ZF~j7ZHE zSrz7JD*JbPJPZlER-C20Z`L*uB^J3mu1K;Qf}#E&$Jqa&UG$=ym8N;|jGkaX$<8_9 zk2F|8q9OJalyw8_HqlFmDS_pa*<4pLA=SLBKir5)4)*@`#GrFhb24&Jx&w%h_<~N} z&NCS`V@(zvzQ=~njkOHG{g|0X7(;hH&0Z8n`o>+ujBXJy(ie|e(eiFu-;8p5?fB>T z@>Dcjt!a_Wp2$0ktJ^-Eo$VB+Rrjz1g}pr~(8>gV0&u~ePE$w3T3;)b)7i7HmyS{i zPFg%CJlk)6i$)aBmT+vM{k7C|bq5@lJXzSy{C2(%i8ci);o}2rX(PmtxeR92w(zUbaQ87|_CF(dVx155b>gN!kk)m$ zsW;V3YAp}6T~=Gb`M*EVWJgM&h1BXK=hu?HVvgW@6zByKuk$BYP{=Ie5vZzQ8$I+@ zVy=%4j6l)NKlMqt?t$_d{APJ2baNE}#XX<9Lqb#YD=Y`^tmlyJ0qaekTmQkaPx-!c zZYt|~UCTsclBH+t!pAQq0QX-ZS(6obAq@}WR;ZYCS$r^b&MPQjAR8HDL_(IU%#S}g zIp6v7DJG!4Wwq;ob74ID3+R1WX=x%8bm`SqIujU-&oAJ z(ZK;L)4TKO$47NXN4>Gp+1YQ{%ih~O=m?gXCp?Bq%=9+OZ2An6dD{|pAiE0TDfjDs zxZ(@96nKsbsB;xYyUiD~H))&hhwR32bl(2?+cdOeLx8`vyNhAPRkB~0$&lS0!#$vq zKi-(hkX+uw8+h%MrTr7cLChin!143-fmm$94V49!AcZOGx+($mXrPq408wG;_(#AE z{k7H+3m`#dzA#pL*RA&jC1^&6Nw{D7U#3v7Lk#axi~=XX1}{O?!HWriZLo6eM81WEwF(>$9~WkOJ+IT`u_< zx9Yg$Pc7Tp#=kvpN3mqyq&MR?Qak@xtm=^$iLvX3k914VJpnhK)Bd z&K6gFQF-ZrZ>j5qME#lJjTdqN_YmjBJt($9$iri?9D+BL&cUzGTEVYZWmfWy(<0?% z#c3M-$BtVONC(|zG(r75M2wJx)>22Qo4H#*W?k^XP}h;Wk^YS z28#mY3tq>&;$0*(wj2`SIBX_p5?J48aU1Q+%G_=B93A(rN8jLt>-`)yfw8h@?MOUo zHI{h~Wioma78S({i?+omA(<5e`X531b($%m?5?f)jDLytyDeC#rGN%~OzMRG!z%|x znnaG!BV$+*MlBO@!_HyxW>oXf%u4^RjJd06o3z$Y!vjBHGW|n*W;(R)0Z8)6 zbCrz={se;EB%|cx`sG>tr733<%QU^;lc~J>t)}|8W5o?~9ZU3~=jpbk_v|IV?W{-% zQaYlqj5KAZ)CWFC3rVu1 zaDquk5ZT?PMsuw7ej1NKK^K)Mj3_&FV^EG6m(Jdzk zSp9?c!xn=>s^i;PQ1hm?#qjy&+b+LGxP>#KS|FeHsATeTR?J`XK0zlyD`#;xVKO{e*Nz_6NQLg`@P%%HY zy#<*W#FNj_E2kYvJM+M?!=ipLXeR=S(e+8p-AEwm14&-~x{pvQ5j3 zJiyK_lZM?Iv#f2+S<1I9vZfJ~Q>WN_iYHDF=7oy)&stg;361VFIFHh$SVhv&;#Q0i zov`1qA#q2w5uIXxibsx^-8??I4wz;})E;ucD68aULH#6xLzPsjS?2AWSz{2ZrP;^q zlzL~kBX1hkwtrc?TBB=`u0Q(_!~ic#s7Me|2?=y`bqn60y6G|zpi2^U=MEneZm^}& zcvUsxYqc#FJa~LV+t*S8_t5)0-Os~W-70cV1*3?jH;cNYw}u(!;p-NE_La*wzZ__dlDqd+v^kw0^tqwtWJ=?IBFPIkOE8UY5im z;I}>b{~zF|49&*d`cPB=F?+84A?Lzv?JGhx9NL&GNj1S??_%$7eVQZM_Ie4G53`1l zK^f$B2_r*%*QmED4+P+^;vzvkH)_fG9{#1)!4c$#2B+sg149mdYA7V4FAGhB=e{Zzo5Xq&p^s$jFxU+aubVUrh*8Rj#F{6Kcd>z^Ga8r@m z2v6$1M`8}c8lYz^++e02wwbhhmuXQU#iV9i+snR?_1)8EG)u4qwmE1%;4ou=YV^Zr z<+&KwQ;QC-c0N}9hd%Q$wuC@3O}!raid!**)vNEA^z^e&aX`(EUNm zixl^I9qpDZ9d--H_>Cr{6ot|H#k|6_I~$J{B1M7r;O&lW44L48h))rwJUDj-vCt(J zP5Q=5bnim)?2}p^ExzMWf~gZ<5CB->^@-y`uo^ar-;GiPn2l)pY*6B6afx&M>v!X9 z4%U)#1bUvG!9tdVaa^cJcoi$9u4$vm}4Uya9`@X z7JO6kG6d%(4m)wMW+5UXqUj?6bb7SUWtjG4{7%cLx0k8u94G8+r)UPRa1(9!C(kTh zX`5?cvZH|K0KGzS%SyBMxquSMIAqS}FK~r$<%kPO0$P-+cJ&uz=SDt__W#6LzEmy7~2Oy(WLyyK*jLzX!#TVeIS_ZQ2)KI|rKvrR55tyzpfQ%Np|3kn!- zG@x5U1Z`>da|0G86xC4NLu;`wfo$%6HYGisgB1nSMqgA8FmG-PboZsh;r+zMJ;k1~ zot_r1)jCLCX3#ijrbYV}Jc_#R(Y8DK^zDcF@8uSkbZ%mvOj;9@o$;^5a&`658@ZgL zR?|Xodvk$O;Fq;yb~d)FIr(sc=vuow<(p-2Y)FafNEHBF^oU^TLZX}nZ6TWg)Ol(2 zR07%bjD$=RLZ&{ZRo&mWdmc&i?1c$c6PE>K@NiJSxr8FJpG7!F2kdTC6~fup8mG(G`qi$Pi5EaGEhn4*$nX^E+Ym4aHRfJoZ#_MmA zsLlL~M>+Ja^W1QN=Z!ae3r!5wENa+iAgz$Ph>=nfc+cTAE%*b@sNMQlLau)m*=5lJ}t||3feT!1lp_;z}66Ap*v8+ z&f70}?&>Mu|J|7wVl*az-ZYcH@Fw8YJJC>sk*@g;93U&)koVRQh6bv+$Ok9&Z;Fi5 zDWtsX-&sj85_yoyYG_LZp#D#Q07rx#tn8x;H5Q)h^Baq__V#(< zn*0sD2so07T!_$aX8>A{3W0Uw#Ts5M^1>xeBdtz13x9w8!*l<}#dC|b?x@ZhMd@f6 z8mRFvD`kfAN8!Nhk@ufUVf)~EC-7Q=4T&;XC7)eJV%(W(ofAPE8EAc~_g$4c^#8^M zK;Wcjyg+(GHHt%t+fzbK3yFq!1#9bx!BlociKKK5@ck1pWIpQ)x)%ej)h5GOfcvMa zgo4%2$3|Lae$=~NFue8>ZX@(20};}Snaz%nrvQPOLY=ROlp<@jANuIjP+rIBiTtA* zh+vOsNyo|JHwJ$E%iI(OfIzM0U{RPPNCDx1q?|q^7oSH9<(9D>7Pu9D!#<%&%3-ju zQWxm^(mAMrSJ(>Q$d3#Flt3K^m?Bh~>^|q$^gI zqYc>Nd~ED&B;)^SR9~~aJ5@ecePvhmx?_8LHC|4N7h#(XfE*uVEk7Vx!4{bJwVMPT zrP78INZC>Vz?FYSSi=IN6i#>Vr;I>ltrFmA3$fLUj3-WzqqnD4w60065!47aQ;g}+ zQ6$+Wh^qm!9wSk~)X-1(M#S|PQL#Ki!dM1!Mf@LrwPt;8b>1h2!10e|u}sjas3^ij zU6hTP!>gYLdzVqXhEu$DpXn5(}9ZUSl?@)onSC4lh%{-_G&KhhtZ)0KmT@e=aZGuT*TA{LYj9Lv63ZNYf423G)AXNk}3>`MHlj^RJ3HZl(&< z*WGf3jxYnTqMy2yR{R z6BLx7Mv};Y&p7MsJbHD)nJoawX!ze`GggtQiCS+IXKgyS{$JhBQwP6PJsXM-8Z2^8 z1LhAe@BSHz3S6xJD$n9yDnT=$mxYbQA%Zu~L9lFp-_ti8Zq#Ch?}?h1kFR)lSIFSW z3_Z{_$b1^*2aB!C6I`Ck;`bxrLx9R_VmJHVK>1k>_pTy`h}afNs8dL)f=_te=>Lg& zR;2*{^80%{sAv%(94>2LaymstFMW0F?KeA2&pv@59Xd1;T~%jIuOvW^ELpl&kCzm- zzLRbLg1c_SrDW(@Ef8+QQJyoGwbz@b0Lwp8kecIg#dUk;hq;t|aWs98fco#chr zhj-QRGRQ`Fc|VaE8MW0Qd(ns!qX4@!0C=%(J8}WDM~iqI(Hc`?T5Dz>GjDMFYX!lc zX?VD2>0Ku$2;$OInW71KeAL9pl3BfS+HILgwso$babA#|x$VL1VC$dd7Ch8I-)bFe zvY}v(l6<`UlKd-w)Ij^v=Bq;DWL380G1 zhjf+?p108oDj*t;mXv6@LGuK#sqchp|}K&&8F3ZR3HezeK%dc_QSRB!>r*C=iUl_ zk^}P7Uuv&WAGbaf0s9VH{!gU(D-=S&gH70GMcMDpi%e9&gi zY-P^xH`W;ycTKrGRbGTAZDq;lr&i%VK&e@m_8F)XwAApMKt+JXedu=yJ%1#Tzb_i5 zZOxjV=7z@<-p5c3yi_R<_25cW0!`V9NJR4!>@xIzE?r%gIw}zLeCug#D>lV)){kdG z9oRa(l`05|WhqXA(v4yQ4?Ag9u6gP(hk9$rHc4w;9V6)`vg<}ZKECgVUl3*7C3?gy zG)#1Kbd0hQ8-=OjKlaHfBLedaF+vVutSKm@+@w+}D%q+x!vyBWAPNK-K<35%nHoTU z(k$!hKJ^g71#CyUZ!_T)1jQ~cXl!e%$R+O}FSv~6jb0IUU^khUj*D zkcrfwE>BHf44&u}I-52B=n+14&Kv02@DPj$HJ-4Z8ftXtXbOTqJu0NA%kM@_)ppgB z_Iyt9pd=+odwTu3(?gMz5}1(CXmV1BwX~?0&5JSs#p%1z-k6K)7~x+lE?kT8k8|Ge z0NLK<&z0th5^5O%IPKQ&hu>lvza%QNgN@U|S4C9xCMB#n-za#>LM{aZ8BHMus##V5 z-zrk5BAcgAX~6>q)57;@0KyTt(vk29$yw1HSukOn~zDe3NpL0XUo=}?gF&Ux?if4|)CbI+Y~&fa^i-8`Kh?1r7uUSGbvDiZj5`?fg#`eR zfTE0)w(G$+ytpOIoj(~SxgKlbBh-L|IjN`%D@hpR;zg|LzVmEbLsJu`YE&*`60k9KJ!1C8<6CNS>r~YoSaF=Vy z1)S{CWyYv3pZCu4Y^6w06sV^qwFmh5_6+BjYxIuqvt?gjW2PeWzz{zJy{UX*IRHs< z4*->s`ogYZ~2Spux@&$P$vB(xjSU(24ik&KUO}{ zE_xH|oA)AMdW{x1+N*-1p(7%iBIsQlI+>Q&B`g{eb zqbjPLeuLgYTGBwSssGVLWPbj9cHYeeA8wB_s>$t6&F#TuPff)*fWeU(3H3}H^Yu7rzuD1z zke~U_|7T)(?Ydi&K(ksJ%ktMRuWY_qXMPLC$g0(1A^%8@wRfCcPa%jNrHdH}1<-g5 z3=Gej=`)6lVRsEs;G=G1*G{?-*&yL(k&&+hwa@0*e)bg+u=AomCye`D^;UrFhu4zf zNx5Ep-&w!Ey@ByNImY^gy5~iNTn-~j2F{xIy%?DQ3Af!N?3Gy016wQ%qRQ9fkYqTR zna1uPMYJ!a#uvr&*;>Osa(BrO&Z73m&X?-u3^ax~g^;f)oJLVbn*pFJ=4KjXkrzjL zeV=z<_4pm5DUsI+$-Y-d}%4ycwVQz*$TWw-kNuCK2j zX-GGG@iNggN!|R8>{8_j{BDnw?-kMK7>f{@Ufz zrLCrW9UFL$fXH#ZiHonRL+>n_;^*CNO|a=kr>&fXNsC=Y<&)0xXk2e_yx*ttaGCE_=h4=bROc7dUQ z2t$1i$lAN+O{?cUJlL{kvM_a~TFpuFM|w*L%M=rV7_uEhiZ=dsfNP zj%6RxBXO{MaFBajTe3wv(|PAm@M@?S9&YG5{_S9<+GA(hwx?$zUv+S3KnidVKM$xq zFmv1Kw>OS@SZznh?&W6h6!x7AFP-F^o=(<+U`rOuXBj@ZsQn8xN_I&M@AKH6dYXS}vB{H#qoH zdL{RhI0P0~Fus}OYPcFzBbO`T52JjZl;aVZhU${-LDo<;mdh!>(RfkAMAFSiLR(S= zn$5n0sRf7q>hV<1i@hhmKlf${=A7e#P$2#)x~vd{0^NXnwyj$^*~aI+h|^rLz*YLg zddGS@m!PMoj1^u1+cFF!BHwEa%4nk%nTXQeSr;W^$czl+pyEHd;|fN>zzbt1S^afN%VP)kDygD1@d#V6Bx<^+0^IkJCNGqpw>k5+wsob9%klV;8OlhMXt%lWbDwF16^DIM{w?tL`avxJfw?_Zy|OG>lTpZV z4;k*)2oe}3LgI^IL5l%a)!V}*Ai<2SaBCQ$uHQLw_9 zz-ei5v&C#tbeiK&ihxFK1#t@&DC`d#F1d5-B4#H%{s^SHpXM32e1l^#E_|RxH0)v$ zX-z|$T}Hm?Vw#-kl9;%YI0vkw0_{T5;|^bx17BMowv9U34l3?cIzWhjmsgevR=Dal zrlm<-uE2l?nlE2-r;8ZU@9j||Wj#DRgbn>#6gW>S4C?TBC{hShWHoW8=j+)t4x}@f zwAj@d+kSl0Pti9@mB97N#H#-p8HJCZC)=o8yc|16-)NNwon+LY6wDfMmhB1OKzToJ z`n|I!oZXYstiqnlY|*Oo^vN!RWZ-SQ!C-vxV-K|$UGR(*bO}k@*J~(>3tldLNvmd~ znX_#x%^Z)r=qA}N(C|Y?YpvL5w!TQ=eVT(JRL!QR`sD{-Q2mPsxu#54S?!5R;hz04 zo%3|D6?g6C_GDzWwdjfaiS>?Zj|CQD0sr50bc>hssqqxmd`6gk6>j&Dh-QOnSO$ub z40W!LzFDL(Gjy;wrMn!ySQzZbf`8oc;d>$FS+$$tJN~v#*m5P_Yz`Z(qTKR=){-%^ zg3i%sZZDUo^dbPC>*BB@2&ncB2SJS4p$LbSae45zbE_ctw+xPQu-&Fs#NSK1W0%c z`jET6tWm6YdN(ud@a12><{=ruM?FrX{iE;scH5SMfFoEKQ0^UUUky@~MFr@diDi26 zT<=bo>PJTAy%KRSikcrwO5roAnQochS*&DaEX(+4pEh`rVtVm*^07uVi^*1XbrjV` z$Hb(9fkH}jt#VN=!?$`0^gW5t-2_>AWj5MX&QQ@g7-i0$w|HQ*xJ` zV{wtTp1(k8p@`E=rPHr8p>_LdAF$K4ai((WJ!wglHuFz5x;Q{0R@X6UEt%I34B{JY zY#l3n$nJ8CLnc0{`mgEaTZ=aV;7tcR%mr6)gd8IIBhuw;Tf?KWrsl-$l49XM4inrW zc8;+b%3bd~JTOpH9U5!!+MD-oK@wbcphM%g&}0!C7=x4-0C4Kekbl7opLJlT2z!V; zV+vtv>_&FzP=_R>U9(G0g$MTi+gNs=sULq~?YY8xYB=25;ArrHhyDI78Azd+Eq>)T z7ddL6x-qN?7&U%B+o?bwpSABF>5Mq5%oD`a=sRlkvuXKZW0^f3U-xwcy^T}b!qFSo zXY|r<0QuP{ZL_N%$3jc|Pl9!k(eLF#$2jTw^tA9s9Zb$ML8~XmLPXtiCi;{Eu>wBb z{2h-rN-{p1*^Ke&eITW$;`+~AV7VIsg(IAm4Gq-Nb4fM=M)EcSMrrYigqZEvjui^{X3XhIlejh<*BZHkATnVPC<8Pzjue0#OCe8e+X4fxQo5Gl1^6M?Dz3Mis2rX-B~B@H$USiY-P&Ih%PYANY3CH z&wZw+W9SdPmghb1Z|l+CCqtAAp$9MUkY8HesQonMsYxqGor+%dAL2`;)3=AOFJ@>R?R=h7ONj1 zGej8NCh<%8zYZ^dQYGhFkFHA)ZslNPEvq+m;voN-N#Pwj8_L`DO*<;wWGo;5jiwWi zBkRViB;i6lo|5_iIf}}fm490G*4U@1y((~a;c76Ac0TB4$=THZ-B1{po|;wmKK2i= z9HA5b{y2)YQNFh17X_iDG0wh@iMV*#yanuB3{AByr-8M!BE+iX#kl1e@O?RD{EEaz2&c;P;x6}QJgUg z)I5~8$-_|~gQN^vr6|N*!-ygu=k@SxICmzJ@6Pt=-b=5Cl1?t;e2I<5%eHz{_VQyFZG6JHGgJ0+kP4^>uERM*MJ|e@zdk~0$ z=3}RanjjN489hYdEQvN0OniAe`3mPlt`cVTTg|G~qNI@)nkQ{kTSYb-?}#vf%cajejzuFEP#4+j zND3~J`#5F{$~g)T4^J9mU^49dfZg?JRU&&Z)L+wo>omyZnaB2Ip=O8!1E2xf zPD-m|p(v{@Guq;Qrug-^VKKQ_ajTFck-taGs z^vJo=^3-Q1L0($G_hYFQ%nvyKdEjsK1@^-yos-W(pr^m>^+Rb)y2b2?JQ!^%AK_>G zL7(1LSO0O2oqOai9xz|@jQ=^iN-94?+jBKn0fPlvHMPutMt=w#3NJ{n<>Oq8t+*dKCd;6fi!<;T!dpJu=3B|!LS#s>_3X1U?xii$KUSBh|- z6Ygsc$JYegTFcE-pPTbR?CS5=p+|b8Y-XyX1L>H6f0g|BD)>w+=dE#5{Sxt|-}dp=mPM}vHW2eAa4WWePtpUERKr@qxI%O0i0oYx2^InnSqpA2u%bGFV&S*U;A}SOY~&7B9Qr8T&?QC$%pp!#Q!n~kmy=cV z?&^4SLzl{>3bjYsAM&3a^Sl8!*v~+*mBGZtTS|435~*2Gj`=~i%(aZRpQucX{Apt& zkWprU87mcZ$^3!nia2{`(#rp78Ddmp=*RMpP5J=d`XaN}j@`5Ft>-)L+c~el5}>;y zN^>gy`f*&Cw8rMCle*m)IRBEL&SQ?rkzavY0Mo&ohG_pq$q?vQoLzigXE2+|?O!xF zZ@&K>ba$Mx(tdxO(otF)WqCgIOCsqe^|g(g!{YhUKaaP@D{Q2v@hyvj5c?r1A765$ zJHCVpq8J;0TY5R35@wc!G%syC6f~AKR4e9Cp)5P0v40F8Q~1zF<9SakdRs-UhfXD- zfSX$tMk(kG8LjSo=XQkj%~^7FL**38eGVsIaU1znU#d$pO8byip9;3}oB%a0ofIR* zxAy8%mG0LwJ#raEcJX%Qb; zLNq1<10F%mHyNZ&rkUMo7e5_r#_B@>jy2h<&_itW^&dXpXL9Yq5b7S2-SI4X87ZFq zHr&)68t`rcAtO1H<-J~^8Wa~BQu`yhbnE4SzBP5ey$QPg9fS7$+i`z^=3Uq(!QJ~l zr`K+++BEEx`JQreX63~Az{KvkwkC4|?jsJ-c?b9t;2oRFb6|_n9|!p?CU7A3l){~# z-x!OGUp|-9;5P%r9|BQ_0r3l1fXTO*D{O%KTefip^J6aAqgV0aIp?0X^blDV(hf6y znnUNM-QFq64sx5!T!7wip-8}CpH*j&a8R6UtTpM!t^fbf6ga2^ zGCU*%WvW_%_1x%HA`)S#*}jSn0H`^DzZC%fyY~3zkC$FJh?)X?MVl3( z*UbzvK?Ij_W^#o!IF2yrBZ07vPI5D_V#`WRFy_S56D@0OjQj25c9m{Z-+IJ^K02t) z#z!BGY_4_O4_ZG2ML{)U9$f~pIn*K%_0GaF{RVC?BB6iskl{HFZrv(Btt@hGca#x; znYFxp9{_x^eu;qPm>6wD`hS~4gqxAGtg!v;1rz)ZKcrQD{#i{3AT-&+#exw?$^r8F zh6d+kyj+ti?W7DIF3xmfpml13Izk3<|0p;Jff^c80aj`ds0~iwkKoXZx+I1APHiE< z`(GaEI)n3IJb7{V3wrYZ8KQBKA0PoU=sfEP^XsWm;JdM@0c?DKr}!oQ^_FC}AnVp! zKn}MNzD;%^KpO0<^YuFSDrE)Qhx0MROa?^}V6LZK$ZKs&dOyxP=L47|5kC zyM31TkCQ3IGlcl8N))*M+r#9`kBNGAX_zW2RHTey){6fL{pyfCtCNzCEVXh1~ZV5KiAsz(@*0La(tFtV9vRb8z>x8UlEGJ}ttT#K1vdug1;n zo%6)lvRrmX=@Y(1jAzAJa;+su0G|wFoLqvK7!l;oh?^%#Zf71a}Dw^&Dd2`)C ze#;4zA78iy6Zhl<3!?uJFdBg(oq(?^oG`sp<^@OkEFTZH^5ejTmQs7j!MA6u(lkoe1;>hsTtp;`JMlPcNM4=lxKNr zcZ+vs7l8xJNQiw4;yeE-2~L+ufTDY3cqlO1E}>dBA(U402&yL4!K;8CkSW|D*zV7p z=6d`D0`c?wz+e@WH<2HFn3yxm>=F{`W!Xse&Ur6D;hZ<*z&wMsS zLJAR-{j#d(3g&)58`6y#4FL6!$XVzbqPDH3)4)j zv13aUI6vmAND1=ZgWrFItVDM2!d?(R47iCwLvb%nom+9=KVKH9cX;Pe<-BN472KVm zWIdF+>M}!5^ufraU@Q@owXs4%U95@v2Mm0K0gbWyKip!lV{<-WEAMk0)S>3Dt#{%u zAs(WlFPBMjOktR0eM1$J4xA1WaoSaVvA5ST2yfF0%P=Dy#!}8>$(}ckD28&$QU{Sm zw3zG9+VqhC(U0*l5swKJ6379*&rMc6{?Bn^`I3|rl7D7RY`V{_t3`x?ljzY%PLKcI z(o!F0el-&tXzg_3mu3oRhil$5{E$L?>ImD+lq5xd$Ps!{;tQFfLq~ZbvB9*Upa2{N z7zxd>fh`5KDfLrrAYZdvSUI(22`CA2Iz}zPus? z`8yL=KtpQiPTd7L_!BjV1^w}c^y3;{vQ(Z)x$aIWmP-d4o=eEny@~v(Cr>~I)yt2N z92_%v+C>jR_n(792NhHoE+fCJloGn<=bPIPIj3EvCw)D)Z?CUxFBy(6PLR2mZX5uA zFmgc@8hN9Q(W?fUvt8LQ(Wuk(kkBCNAnM?SM-jI>m}a_sXgL|OuxQF(aY|M_ZwCg= z7p|KYS7!wF+AiuXbA*Gz{!>{=&D0|?9*C_fras zqkz?#F56@2?6Bh9#3>mT)#Y6oUE=rZUi-J~c5fXC zr$&DL2iD3{PEin`QB6>!EI5gri?UkL`#Cn2GGR(uFrk==Tf5-&j+xK+Io6^V!NQj) z7=|=UV%(rTtI!9(&pdwEvjUY~zU@uXy4bnDY&c3U#_opOpDwIAOQBTu$z0KNqAgC9>B)vl3wznF0NP%Ue8t7tuFZ3aU&|>PY&?jpb}_vTKWd9tPrW z6aKwx^V6{>sFyGmEp0C<0To z6tc2XCAt!bM?Y*~2mN`J8rJlx66-6OTad*qT{!z`G#swH>*mc47QWKPR#6gIz!8T8E0$Q zySdr_9_DIlO5rmV^DUZ-^NTpKtrks5r-<7a3}e9!xO^9ZP{d`)qNiwFQ-X&165(5iKRpi!B+ePh7MmSpYLJ<~WRJ#97TAj5E|%9#bc_9lX8u)hS7uE%`c zgj}Vi$UNEp<8Z%(nyFw=?D6kO=7EAw6zt;sQLM+DM#Do^GkXpvZ%Zy_`vBWP1Fm+WE1uOf&&A z(W0NyWMQ8<#-D=Df}`8N+0Q00Z%Mxcubj?Am6ccvU0+AeeXCbymGw;j!M<0kYPe-w z0~(V(cFK1gGBVQVg*Uu^03Be>>8ZjLH!^1<>TxZ$nFEEI>iQi$8c?q6NZ(BNew<)OHgQ-9Kj zD|)7Pt8`f=_*n2}BrtQmu2xgvA3aj?JG@l4Oc?vtq}H-(AnDEcYoW~CsghHZOr;rK zVlu4`BTa45BL0ro?3!?qIXf9H_H0+MkH%v79`bQIH*^F0o(<4Y6r1}({U1tAC0tyk zq=W1>DC-#y0?%uzuk@@Xl5dizb6wcU0w>&h)W;NdqbdHF$1g0n ze}_YSKE8WZ3B4WRf(IZ(4{Oviezt{F1RFQG;!UA@ZkJ82M5KYs`?7B!dQT=&+5!p@ z?euJ!RC5CT)gHohoG37SrtieZ#>N<&vhWUEa887=jDIs~cFp}4kIOSD;18odIbh3?szI0ZIL`>k9Qy7LQIKN17Jc`L z{P`#?+gntZxO316h2x8$ODGJ43oK`$dB~wHo(bPPmX5?=iU!N< zPGAX{47?0q@9aElM;TSRL~X_gaHtr+TTko=!1?yo8J$237F^5sH$f7&he7w}4IOux z9sb8Pu@y$&Bm%^Uh}Gn!NgyuUkrcIL-JEM`>*fGU1=XeqChYL1TVEi0VVSRHTgV_| zjQYyjW<=b11Y6v5_u>Q+;-e1&>MjOpNcC5m&eWda1+72iq68p%({=0GpJysOjb+s!o3h`6aZ}Pn7lM_=4`8?p*VPA3 zygaJdpsNH?SlN5R>lmQ%-@wBz8Bgybo|2*nKBl!3-)~nvA&2oYJKxOZOhz?d#wj8- z98xF8mZHo`Mu3=!qEU?+)F#0Tfx@3ZVS;HO>U2mV!TSs$5XTzzzdnKhK%ATGT8aPZ zPcS}FpPiWk=S-@*Oh&_2ZsyUq=HN(T!x@cjd@qk&8KU5F?V(0$$EygM zhCKYRDduIzOVxMnI>v@#_JSTBlv(sOBZ+PT+J!*&^?OO+#w6(O!o_!Y=9UYT5(mC> z?812X1M^$dRZ3>8xdjpd&tfZZ^f9EfrP56(`d#7I_NGm(pRag+t%>m-93OUZ*4MB7 zlQLu2hNI7@1c44YPs00yuYNnn>$&pkA41e67u`?PMaJxCRVij*`4H+8u%$IosaEzX zqMCi}2yqMXKio))wK*gEKD#ivaEuuVgQ9)gx9l4XU06iTv;TQ=Dz4kP^%lSTsYq`$LI1#_9dzFWJ-y9^H(#ZZ8d zT%pJTw*QqJFythG=wXN^CyDyUC^eWIAanTC{kxAKZJWf@-?L!KL*L)_lWT9##h38q zkWuX6dG~seH`ntaVQFve#$8x|#r;>BfL4SV0fNLu@BVlh-4P2QZ_uaUUt$@3v5dZJ zK(~9IpjmJgo*ddtWI}(XD8u5?MCtXOM=O0T=uLi=dt-Fu zW7Bz~V5I!yks68f0;`g?%;a^JqYk}*Ox|qql&Wf{T0%eN)vv5y$x4_?wtx`Z48W#EAW%5lAV2gdpPl(vXeux#a?3W5B zY}OvZaw&ce0__YtmRcx*M)0hwkgs62H@8B%=$g0v6BN=p{emg~ftX5zs;C_aTMOP` z1^C72EVq+8Zb#6D1b-}!(6<*s=ngdaxCsI`ET{Vpw4A}AGn$I?^66o)-jGo+!<(*Rw7782t98+Wge-@6QqyuuT+GVIm3SS+Chi zagRBIcb>5Y;5lmrR%w{9CLLk2tUwZ4Cki++CGI9CDGCyM%uVvFnyi{0(F@l>ZzN=- z8Y`CXcN5ipfBG6206}Gh;H^~TSG(&KZzD=o&PMU?FUe&GSCe@v*N7YlDh&a`Hv-m| z6o96_$|gCME*h5aXbnTE>_K{4-@NrGK7L5YrMVd(EC@{5J*B{#T+uIz8!04ABmSL! zBomK-7qWOk5e-T2PJq4Iui+LkSMyO1Zn@fK-(OQ{LN{u2?$C}!!A)!HLUIB zH^70)X_Ci1f#cXxMCo%{j7XSqHMS_;F5UaXgGxjC@PQ~sHPkB5 zEvY#q1emFLo`a`AnW5w&1jpna>XZw?sK_wA{!y(%N=mA1yGOO(D>+BS9>eD+U+bVa zG&?;#UH_g}4!!=*dg*q*rT(v(kRt~&q|7lqo{S9AS)EoJ-2a6P_?j}a`$g0SbA{OE z4fki(;xz#QYDynDnaBU)wB`!h|KVepat(X47n=IFm$a9YE}F8gpz3O1uz=sbH`ihe z6oC{JGb%3#A>Qp1BbrkYWgf4JeIF}D0?4RT)>KPR5)$JTb#700;a3PO_M%O|hxMK0 zt6-!o8?0doI6ezP-(5U}R0dMNU(|orA`pR2k06z=rA*JQt}gb6G0eM& zYKi;$;-}(1#PAs=uoH{>Lr?9#1>UM_@#*)3aTI_??!Sak6x03!v?btXf6)*IYuH~1 zZs|wy1qBI-iSg*rwtb5EK(NjvP7lg7U@4bgnU412?{b*=QmW`X?x&~I($e0)|H}~< zA|%wN$TlF_zOE81_2t16Oh8nR_V;eY7jMwhga!8wjvs^T$-4VEtQNVsgS3zi-Bx%^ zc;8Ed=GTBppoJOmkSQR=j_%1{jQ$xt9i$Wqkd+zRRnb==aHSP%8tzfzb{jhYYOeoT z2j%D`NauSp$m;KrfiaikCs004_9^KXFC(VNGP014_b~4n!X7P7g1J`HPPU zjFCFoR@GfzkvqR=?KGK9Od#_tLWX_H_~9I?3^<7n4duHH64Fy*;1Zeqjf7%HP7^Eu zz%<&0u4j2sd=q*B2M$I_ZjbwzDvVn%ZFO{9w~MLd5KM_msxOA$_QBNHSf@&- zPYm^mf`iW0%|JSG_uDrCz$`EC;WM2cTEm|-5S-(K8!#R+(PO=2a8R#;y=K)#<&d4M z>R=uZ-}=~A@yo=;-()3^qxjgLWx6}@v6Qpx>0~C8va+@ah;TTkVr-mf({o;@2e$4i zC+eziaP&*!m937LnVY?TeddvJWy1uxmo(t>&4oB_^+hiX{#%BF0w574*F(G?a z`f{3w;5II(#mhR;^66=ySM_JyrKA1NDmAgO19p2wTFK(N^ZG+gu+c}j#zjv;S??f^zBMe(A7FBuXi{}XZ19RBxP_XZCwt{ zqfhp2?A-0wI}t$mtElD#qLvAUs-HfXyRN7>*tgDs$7@As3sC@^3LjGjzmw(DLpV_i zwk&_tF)nYe$$`-}#U#Wk8ak}=$^+O`m3rl+W{ z)2TMwL*S-ZOdL?kx`{Nxbd8?0Q&Rdp0dL{(!)?u=WSfx7>hA21uI=#& zP_cXwaL`)gyu6IQzwpZWvnDFC?|X2zwDhoN+uMWuMc1WlUaNl7+cEhdu$7p;pDPPL z7iME+?f4jLTjvtYSjjQ5nyPYtlEfuspj1MLJ0>{zUFohWKR=(xP|($rM0c8Vtv~p;6UJolFXk)vX;94qpg__{N7DGT zq-VwJ5h(dk1H8NKtX90dyGZDUBrhUIyD{@|sTIhwEq+uGE%b2mqYj4m#0#Mvm#gK8 zL2w)z4D*`O-Ju^)y7|Y=VpWeaXgk6ZS1Qgq%O_0R9TMfns7{iMne^vx@qG)N6 zh#wCe9m{Mwx^_|fwWsd%|1!w{?VThX#26U|kjD*RLOXvu86RVWTuE#3YSRaNhX$Cz zm+4?bLxRW^Hd-V_%#^L(NTyg2uA$P>Wp+XJ%-F=otH&|U;^O?1ouWS~MJ_SI^p)HP zWFI{`Px?*-SjKZt8Q*sj>w7dESRaI6PJEXfFugy%K;K+=-N!g8-5;yPjR#&zJ3D)L z#53H~O}r5AtV*_cbDtF#mvt%2I$iY$6X&DOomeZs5j{mR3CD%IeoZg_rF{77S~y9v zpMO9=tfSNTY7`ZPh2obS+2YOq&61)mtz^N?2;lHHeFJ0iT`Y$fR;o;?KhFJT&5K5q zeCd3^56T&Z=BUIVD=Pry5N0|(+=&5dyB+Okztlb4N&FV281sG(%}kfu$`A1{Wf|ju#gQjP=O;7a~SNm0HUSG?4R4G zkMI1qSon|=C=}aj&VGZzJb-j35arl_m)+9R#4`=u?e>pzJl zPqi7|oeBz02I6C}@JD>(Qf$FbHuQh2>@N5qu{23XZ+B~ZUG6ePYe{d>&_t=h=2{#e zA>gevI$K_zwc#7$+4;(uiaS(=7N7Zd(lLAT7D)4K97A)PON!oPZim&A^_c-M4}KzZ9NsmGm-w{e`@9_ zb!Rml)Kv=%`4|~vP}l%JKR-MBzwHC`O+kwS;=S(*%#;Qfsn)XK=Cjhrgzh`20MjOk z>HF;@=RRX#c~gft}|hNS1G+3Iz?l z0&CW56)g?cS}gZ7z~h*BP$yVP#jdsc*g1=sbjGDAyJCWvV`X}Z6!0`HLup~?`O^1H z^AK?xPHp`~fA}3BA4S=Bgj>BBGAcNh02=w$23I`ybv?b@8k}c=Yjlwd38IugtkKlY}Bb zhVz+tAXJfeT3?)--SkI`%8*y*_mo8$U>sP$C3BJ2jfy6M*fh6vx~q6wjP#s#6`~!! zSl38ZC=)w7ADGZGPAoYwl|%M&A#pSiqr`W6;M=96SV?|<>gT-N9xG0oH)9CeDr zu!P_!6&-23rhnI;amRD285W8}8 z)kXVHs~~?g)<^l+1lF-(C{S5lo!f2a5lv6k3CiTh0M@+SD5Afgw$H+&l9Za1+5+b5 zv$6^c&Ha3(m>)gx_Pi6L*GgUyrwmP@9VFu)r*P_%=v3lyQLDI+!bx+i$HX71=Z|6w zv%@2-L+UNOsdBKjvyPBYOFg{0wbA!Wezc8t`11gg)o1YEB24=}e*`4FYUVAXAK5s) z|7w{B1iA+*(-5LmXhS(+kRY%I5Z}Z=Q5qtUO+QTtK3Zg$ap2cf3mAI3pZObT*oG$8 z5KuDN8+iNq-e_U0G`T6Kycc)e8sD!CSq%ub1+Xj>xetRX-XvY1@5o5JFNhvowncRX zdqv!~{K5*sJ*U-{Tg#YP%-*u13jab<$7}8%q-k6Q~*J!1Pm}hrf?>Ew?GOPhF?lN@HTOnsv zT2t>OxbwzmeIm+%P|{Ur1`0?$W_>gSKy{T6Q&EaOrq@}YvSjCVA$o}tmH3f5We|di zk3;t^NOM9T>iLXlKAv~uIA@KelvF!)we*8hDO_iqVS(}MdyL%!^!={yVXzLTK?DXy z8%Iy4cr^x0?4zVhaBv`HR%Qy-TZBvanQx*=N8g`1AN+v%HH$I%_$7_|infqrb<~FB zogl-F&-Connj$0)AExd~;++Gi{9q6-qULKbtfy`p8(bWKR_1*=53+^kpp{p!@rXH4 zm=2E`=0#q287#D!W-Z4s=zsYl?zwhm? z2v+;;(QaLP@3(J}cv_jo571to2|H@l-{~>^n^|9ngb)U?CgeAnhbxd%^C&=ro4YsftqYL=Lnj)YJu^wl1(a#_Bgf3Or zxVd^-roo0F64aYB2pU7`>o;uXTCXt$;k_X{zP|K|RP?Xz$tEA72 z1A;a3t1&Fe%>;L#eHi(Kaoro43R^HZJZn$M#8d4&neN5wg|%ZUGePWwI9rxai&COX zP0vRsCU#;ZYtI~)e_Jg&I6B_#i>HNjw~K2|jK20dG&5f8d|Bs2AOj@alz3D>BE|U9 za_e5`H4*&V#E0h`)pw97K|)7G+b5puy-hPm6xOcoxeH{lQu~=*-8TjlgnsT5+B-iB za6b9>OMdwzFMDH>e>h|FbLVYp0nXxouPIU6IZeLv0q>C?i@+VO_8Jv#$ z>m4`J&POXGgCSio9mBz!4m2a+{W&SDsQmHgFh0Xx$=^gKhqE=y7Z=2*&wg+-B)up1 zc{kiQx%tSrZ%nE51F~&FXl9iJRnP9U4;)FRy~xs(HVs(<70wk;lFQz?%Px;yJR97-5_c0`8IRd3Hzv4st*)sNaQve1tVaFGdtWZ9Mo8SMspol2X$DVViiF1{D+kBmbT@sG zlBsVDHOWYiq%`W)#&84GCjt}-MQ~^Xib$T`1vYzJ^d>hqFD$6jX9iwB8r}~n;gf7T z#VmskU>*}c!}a`ooYx!mBouchu)b_>es`{ZTK5O4VdUO)c1ML2cY>HZU)q;?Scq7W4fgz(U3@K6~#wnJN z<7ogc4aw`-H$BZIE=pK{b-=j!c9xQol0N}Pko#oxu6d^Wsu~{Pf6z8MYH<`|HDDr< z(FTrlb-X&UFtW(*x!#maK7hhgaGn+^^8dwx=iZ_?6TS3joxChq;V-4crt*gBM=j^2 z2+rG$zgW}le?XufQuozuZyCFB+<8YmdrH^UtuOv`hxZDTl_KRk#s_(4!u)`hR~!20 zJ?>raCK(x*7y|DXiYBEjki*YYQ9^A)ql|m#rOQ<%^;`>!nB_c3@56TgD^otxYjk6>#VDjUzm>vyd0Fi=&1%iEp8YVYaC`~UtR2S-AK17KlyPzXAdA= z+n~1ssv^>H0g=r6rz9@?XiCvw@54c+2#|W@cQu;*@*%YHIrx?4ZB)@ehHJFGrjh(` zZyvg*IPl0*-xrKeycRn?aHxR!wbBrE32xG%#MVp9SG&PPqf-xK*hH)^xKxUaKVd`xdB*(v0)61~Po zds$l@2m))>4p;%tXxiuPglhR2k7Kygmk{HY)t-C84VPB?0&f!|$AjPQ?b-7S(NulF zW8r!60-W!^;CVsFq{K!22nP!6GByT85$rEEeL5kh&${HDTK9L|nht8&*2}0Lbod0cVH_>~lWTKopa< zIX7elf`ycl;suE6&{vW-PUnlI`)z^D5C57wJ2OGPb&YvnRnq|_a4M;c;-p9vG~`f0ulWTeH_|gdhiF z?5)==_k=^R2yo`jts<#eZ)V;C)>bri^$fGAoEfv`{4+!EGkE0MmMn9AHsoVJ*v~6S zDBUcRl@~U{R~65A_yP}@SOQCR0fi>Iuz6}z#>1oc^#>g`#%2fx%3!Q}A^PH$q@!u)IS@sH@!b137Eba+ zc)?}U%vknpReR{Sj!H1R|7k_CZ^!BQ77X0#I)nd@qqAU$vg^9=J;Tr`-6bI1jils& z(jnbl(vky6Nq2{INtYlnGy>8oEl4T(&@*0^$+_B8nY)o z1n_RG2Ap1?JY3UaOSTn)ww~|-7n!uV`rT0OV2?#~!Z9TG862P%gB ztjPQ8VKyCx08S|gtf*m}?;8Oq+T@t9*o!jX|Ak3V>>gd7tH9sTka7aL-^SKrxF7?w z!i5D?)984bQ5;;MdrF+C3e%sX2k%fR#!9uvkJa&Dv}PX={`L=JJ3l~4=P(JM%=E|E zw?IZCVFT)Jei>xhZpE@;Ms2Mm&FQ=EuJy6}t7U+4n!u+e>#Mb6JLM0-4x0C*k{(IK zV@(tTY8G5sWOKi@T`T%VE>l%iRywyaOkC0r8?EVtiL7y>W8;kAJq5$6g{I$qT+9Iu zi}k19(4d$7r`N}Y!JPpC)6}Ar;l8j;{W=5?qF<*|j{BPq3r>Xo-^1!J!&Q3-7$xMt zMPF-LV-pi0Qq&GPeO1q1}(la-d2 z*X#~0c;S@(8bO~7yx-@_&8_@2D+$QZi2$T?K%6S;(65S|bm$gcwzu4CB08!g>F&uR zJ10J#7Mn2egyO{l(Lm7n)ZQ_+R+et)2Ab++)%^U4pxQ*TVhZ7c$G7VkP?Bn7K?@U7 z21^pc;&@E&MvV7K@%FprE_9l>wWQmeEIJ96ukW$M%U7q_^ZQy*A~D8279cLPRCUeJ zIbj{{WlW%j!Z+EXUo8iQZRj3+<~pu7`-*93JqZSr=^S6<1?u`Zv)~8SRFaw1{sFxR zkF8!eJ~p2A`dyQrxAU9o?XLLQC?oU)s^zoS!>w^AGvRg#><#bFeB?SyE6?I7G1Z2JN?>BL47%+-=f@AS&b zh+_gDOsR2Y)WW&h4jU|E$l;lG&X#f>ecRYbc>T?d+3DNHRqd46THUM@B@~VNkf%Gz zT#-{u%=4z#r#i5O7O>hd1DqAB3xO7j!O0#;lVYG$mPn!f6~}@l6?83-`t=V{k(u7& zD`j{csaDWWTY8`r6JzO1K?OKdL4MqtJ;oZ(MR`3+#w$ZI`)W=SQG zwC1K(LCF)xIujZOV6b+L)24kM#s3OE+MWdZLkDZ>d%`Gq&8_nj)lZ|+FC!c-6LqqZ z`Lcp0yk)l;lR^xdw|D@V2K_zB$IH7oDfEmaS-^DoMIXD#hh)kM0*e}gR>Q-)uwHht zs(agK>BqT5=_fzXn);M=O-Xb8>D~>7jGE!1n*&x%{{`yQ!>y<*A#g1oP7lCuE9v7| zSnXHaEL&Zvk`mi^czlPI#^rvk_F^Ii3v~|=$mnDy93|&5&#tpPSf&dvG>*r zF^SgV#{6Zq;yN4MhJxVtwLNX%a(2KJc#n;i+s(S-IJy>*oI+zjTW-_7V$ZvZBTgDj zB?EDlxpje$zx-2rPCcjV=}t@zkQ*oL1fyi~RouN2Zotm`cqMsoZ|Q?$K^>F4_H8FY zTK_BD2*rVKT@cWOq!1|U)7-beA_o_kYvuo~6BM4G$EiZwQTrqnR|3@r!|FSU+&^mD zSGJch-8)b}TkVB@L9@P9(qTNS=d9(8XE6UYs^{Jjy^Wm0NO#{KtyN5sTzW4qf&t|I z(6xhue`=pgRmrz@an;2%VbyN|cxX-t7-Fi{7%-O7K2PK9?0kR@9Ob%`Myd3gRF%oW zLNjCmV-*x$Zct63W0;p?>m=4Me7i3iML@DgFvvF7EcT~0(_IJz=4Z*=y5b)93sa_K zW~t%qu5{k>wXF4Sp3lUTX(-SlB@6f?(3Rjnes2zfM&~8rq0(+p7amsQ{8}knfyiIq z+gT-dybCNH!Z`6D76gcr@7JS9J%Gjldm$scH9!>TYdeyCX?xtyltnsN$uMEgYH>b7 z&QL@J;3op`Euk6Rpda1s2fI>QXwN73`X|L$6XRE1s)Jix9lo)cgo$Wy2^9UznG)Es z8lkz7(ZGlAuR|LX^l&^0B(gT=Mt2|M0eCJdTsq)(9@ygG27++_!Gq1j{8*qg$efJ6 zPZbT>A9S=UeaXY{FX^CghJ%5B+bu1~DUoN74SB-`dSliKMO8t?|C+1KpI2HvmZ%t>Fu`w0^ zG>|k`5|Y9q9rjr7OQ{%?P*6i`Yt|zIzIr8acRc0@It9Ooj*r1rEMb5*z;xKq0ZI%Y z2$w}w#nI1vm%9A3VuL(;KrwK6du2pD%5wB9Mg2?*hAlGD*l==;uN{8nK=kzX+QMbo z!qcG8lF#u?_Hw_WRRku{kytYZ*Og`BWfQ)yaxa|)?vH{3Bl#PY6R`-QK)xw=11zbH zRs#e8Klz%5>ARZ(tA6^rDt9KV6rFU!^>OQ~_3qF=fahN~;M&!CfA4CIUctgWV~y+A z0u2OSxCZKAiOhh>1B`&tY8E!jSO7*v@ciDN+bba)ZVY97@GLFwq))yF00Ez%J`xd< zJa8rev(F}py^2j`RwZ(8(a=%ga^^);cb)5i0b;cmF@y_Kdz-FZBSFQzloH8E50p3n z!z_eA3V)eL02HaQ{sXs*D{OFPzS6x71>^y}L$()%Q_|j!3wQsihoAqE(&YvS@jJvO zf9A#Ty6eqT$n2~r-wR~J?o?twFl;=P4qeCKT8)#&XU;s7t#6?b0hYu}6ND*DsUSe5 zLlv6l(d5rDQaLtuT$0gQ)c4)r*z7FwrRLhHHhTlvmK2Kb?zS{%O92zM^sNf6lG z-h&VU8{MfdFt8f(3y|c!?gAEiVTf3kSz)}v*LsOhNC4AhojdiXmt^~nG`Wcs1`E83o-?Y}on$=%D-= z2CJAwGMJNJ$v%^ffEp38#uQC=2bzUU{6!Y+b3lvUyzVr&`zz3vuB8n8+v}6in&R0{x#)z+&8ynrkuSjgsupRf%Se74!+Z*X^`0hGq60rH+- zp8ee{hEcn6F4B%(r<0Beykk308(Y|VJQ`4wO1o0N2+No7Z46v>5dL&{6;5LQft)R& zbzB9$-qjQ+?Cc%W!$=zHjtwY(CgA@Ddk3Tx(9f_PuJ`s{?_`=?Uz;j|lzmS}yJQ2m z|Gn1wev59tMYhBr9CG}tm8X}QoV?=?ak%TF96z}0J%H9$Z`AJkxN^$(?arJgzIV-- z02Xz0^w%QRJ0Bfih#0M+f-F#-Oh%?Ffol`{plL`O3-&1l{T-b|+fWKIi7Lw3dl5jq zd-rifu3ckrj;rCJrDa)IkJ={{w$2GSklpSiqNALpd+yisL%s)otAK`Gst%H4=mEwt z3pR1YP+>+COyKe2k)0RAqpzY$=loKv$jtX<;iRTwZ!*0B;9UCZwL|w8og)Tc4X`)c zMJ3d5J8ZZ$Pyu%h22Wn{%VSvJxEC_@FE}w zRp#ITVDR&w!iv3?BqyqJTHtv^`g!~%e6s^&;PSQ3XB@&L#v6cj|A23ocdX0K_6Ipn zY zV_qPFhrh%#)M}PMhd;_3&5yUBx|j{h#{luKcNaAL;4FQ7ZugCJy5QUGVcfjEShOWG zYffBreC$L^Lnq^hu-85}!xfJPPt9~^WTW7Q2j{=OZXmGRBCWKhb^tFA)oo@xbAvKX zZMb))qmx@XD!OWM{mXm2FG7K4tln*sxlo|=P6?$!^auqFHYE-^D7Ic}oMr*TPcFm8 zc)J~ThD|S{q5$^+rRQ7_JrRU~Jn#?6(A|If0ie+M`1mOQ>V`>TwiPAHr24hCkIiKs zMtp~q=ma{hDdVv;B=PaBB2!>M6I37vm`ZN02RU-{EY7OT0s*Od)v;-@4MJL;YmA(q z74BbFEldFBGmKr`Z%)Zb<=(5xagug}0DFM>z)n*FfhbUaS1vrnp8MzR?%?t9Und+P zmzCmn^H9_-9DsEgireSO(uZnGy^a5Db1aS2dY-SP%QN!dW|>tA92I2hfV$lh}d7#^fdd11-`MGSEs zSCGkj~TWM+4q&xQsH`sjH;kY<}_BxQ2;uAk{_J|qv->7xRYw1oG ze9XtD>`7mN$sK|@b}dtanhEPbP~3NqKZ+)pL7zqjA#HO)YG8%FZlPBVh`#zBr$@Y8 z#y==}|1|=nRbT_7B_!Vej$Y-j9mua?dk}RY4NQMZVz>;d%s6#(-S|i4IRDq{$ra%l zn?gV*T6aheZs?|AqPLmNjR<6C*d45f4Z9PqDqYYVo3e_a9LzbKSu>b|0of3yB#$phU+SDBkg5&&2$<<&Mk4X z&D101S!jaTj!OJj6PzV)U(-69^bK1Z?4P+Qv>mnJDQP8(9^m z$cwPQSf&T4g?&4JGc`0!M*u6ulfs6_s%F+1wtDG$-RJ18>kDvS;{~1%knq3YrYG4# zzm0V`wY@O!#FpT2R7b4&UnKT|B<}t@|MkY(>j#nIvLH+kU( z1(G(YKebWR9xl(^kp2r4^HkMY!=4iVOW(|pvLtm&1eJ%FAMml~n{z8{UZ`xm;tIAV zPKu<%mRYwYg~j2Oa(#FwSevn!ovE+yTUN1_aH*=vzP;qtMq(YO7YeoEUwqS@-~bze zk{~KH0iQzY-p|s$Cxq1(a%dRvjRghhn%ORY9^qsjS*(hLo+1jj;VzL(RjJ3fS!gI} zi;JL<7OM$FnsJDyUaG!Ko+U7n zCj|&@$reM|0wG~W$5G=JzCtTmcu*#jX8k>fH&q#zDTYGv$2_ z;b@wH09+LVPIsV4?`3(p9=nhHZIDonBQ3jyip<{I;(fG>M1Z$Dw*Z~`jah4bNX_%= z(bEntIhxqrx?AvnCaWHzFha zIULTDhVtL`1z0s#krX%xA(!Vif4Snh9$aMQ+_-s%;#aJd2%+yMt zgW|Q+zS@E{C`>0!&^d#JydYn@ZQbZ+4(kY+_N;~Pgxibw9}&PTP=Ov-ElARynbF@H zTo;+{Ha$D$Pm676i~zm`SnaFX8x$%8fVi4wKKJj3wlzWWumEF^%Y#CPhtOph$m8xrNV6!1}#vXfTuSn?G~s_9F4NJ?e{ zI+~?$EK|hoAe)hP33G}}1S5YXn{w4mRqjjOA3thDN=s{5D57ih>BO46ojkOZ?96x; zSC4vERLc?nGc$_*o~rHF6K-){t)5%;S)D*5N?;t2vOk{Yu?I<$+EG*VZ_OWRI|xO9 zmfSy=XJ0%25TysEt*4E$(e@2!>Ao&I@Vk z=Wnwm%!2R!Adk_%CU38nU0btn0VOlr$PupHe|y~la%n#5>FgfJ4KT>tuKqI0k*9}; zM{}1jwB#L%DFviz)5fS?_S&xn&nAn7V({i~xwazKA^^yP3Aybqm^~ASDAhqBy z)|B@{C`W9Rtq9qBE(;6)Fn9#oZejh5J!7c#AZ;bIbKHOr7w)n6au{MFp^bwaBo=%) zs=$;I+B`?gQSpPT5<4a(fB!;|&#O#dVB7|MVZc=i2L{?{tW zU<_V;&oKHk`8PkO>_tVgToH>J`T=?H#BBVL(!R^D@7UNZn6`8((TJYxL;$^)&rj69 zNeJocORoimXe3CFTsQ>M(w3Y4I|)7?>NV}raah3tS~M=?bAqjN2J>8mjr8S93!=)f@6%B9^b}asQAB`%D}VM<2cA|*NU&mLhC6fqbuv^Z7r$5AW*2?((Kt74&*T;2cN%O21hBJ4Qz=&_cGI z)^Qn)A!ClSxS@3K?Hk1*Z`ruK`P{m6jhqe$bMx~Cp*V;~bqhD%5t^2g>0VhL5&upE z8uCzzkZEB&B={-wmII-3I(YXViKSSV>R%b`lV96{DPu~$7NcwNsnSi2G|DX6q&a9s zi6nVuzn^J+R?yB`#4q>OZMO=u_vn25jvEX@{oyjdG_ac_$uOxxLyb%ToF4am?Afz} z$@uToDc6Ayc-j<&f+#%!xyQ*W1Tld8e%5t@+h+G`_aB-w$tfEr#4!5%Uz7<;!2yWD zsZxS|%*CWop%JPC5!%7E{qV~P(J*;VwB_jrT|KSW5db+K25bR_+!KQVa0%zS9W=7k zvkYWZSAQ-DdHjt`L$q^)KsP7re-*ymW4oI51yT_{6pumwl1AZScP%&iRGPFZH{*8C zT5Ih)N*gr4%Z#%M79ShuU}CaoZkVn3R8Xyo16hO4yZ_jgc8cm+GLz0KG}B*rT+k2l z_9ihM*}%p;Uy=J_z@he6YHj6xmu`E$3+8NX+^_b)Z^jj0R7H6V<@0E2!%6E}M5bfeSrFK+Ms zzgmC)lM$DH30~MF^r;tt`=sDAbi&(?Frq&vv;Ai$`NP%hN(vtXa4Z*}k)YJ^&HjJG3<_;{R?$sJ2zu=+HSL+M4S- zZ)}mC(ILW}jIrG!0`L94HzHHdOP&#%dV#Br@kOM!?UmnJ*n+>=d4>_%kqmU1Gdd1Q zDaiDi$3VK=CuOnmq+gwxG2r24u-}}neit!iNl-Bhy6ulJt(EFV+B@zFr><`bTaALM z{X@PFUnHW?qr;OEzj%>&%9BZ`GNwtevkla7mOnGUyR{K*=irb)4>Z&IZ9}#wN}oU7 zs5=V=jP9nx44k3#&ff-horI|ZZUg|e;SU&_q`NIC^IEzz5Hb3=Tf z_ABZieNRisKn_N{=)>0+bCSv$rJ*PB!Qbmsa6p8)SODVQ%@wNwQIaTif0O8CiXqee z)(z{*#J<6$_V#j-4A$Gpw!a6XqFFV8mxB?KiKM-I3Q#agp3Fs`>H z?s7N)?725YPseTvJfUXsv&oI{-|0gf?NN6crLz7py3NO|8hpw`m-{Y`)I$TIul*+o z0KaA)t4Cdp5O0y*`^4Ui2UHzuP3GaW8>ELN{5gQ3#C@R6B@Sh6?Ykt?m;1eOs$oy(nVg$+4Iofw z!s#n|?_Y1j`{ZV*sQ8f(T?P;K5-~9dUziq4wFuA z#-Ve{i4_-nKWl!)D|&*}=@_!u#~ThZ^g0zD=@hM`9IV2MqVJtam!>1Ge`Vkcx(PsU zk0~J$1I{ior0Bl;!AtlJ zJbbQUW`v-^TLRQ5Mps3mtv-yIKL>O3Dy_$~gP5!N-K-R@+An2(aKXHG zv`1TnUDVW|o{G@z4= zrD<-9?X32O3us?Qi1y=Hpv8Ws1&j$Rn^Q{9#9~>ypo)P3`QFK6J)_)9)1jC`0+5bC zF#%3KT(x#J0ZjoFRpBcH0ACq!=)IzQH(u%T?=Q-2&{bmp zui@bhv*#1v?Q}e)E3=TBd9fsWUDc@wD|G^DX`NFEn)&Z*raHCGES_NtUaF!KWk>Kz z3g|fFgI+)=4hPofq1dwIl>UpOjsE`r%ND_ak2bm=Efg&*+<1h|Pu*`rudYl>QMVRq z^u+)?{?M@S2Y0~oK40=1yO_|GySG6(HcZ0dI`n?rw!V?aKjXcbeEJtiDJW}FO~#5R z|8s0yx3@3KO7WbHf?kn1IkYdrzx#*zCHuQ~@x#GcE&r+BE+y150&y6|ZJe(WM*zcm zh?&prpQhVz--h!G8p6XeZEN_=&!0ahC%;ydFino}noBA%GBUnPHvMOYJbH94(!Pf_;@(@#9Z&g3LP**uz<6*&B%+>%@8VE%^EV) z2wU5gHouP%UR!{<`W|<9$$1nNl45f>Rx@>t0)QW75G2&eEj4h4HbYo2f4Wz~JYEQU zmjsZkSh{FNJ^i*~#-Lr3COrd6=S=bjMT5%2iwbaO)M6-25lNEBA1M$wyq}_H)sPJx!^0Egd|~Xth##a9eT7h)meRUb$gO# z2n7soiU(^R81^NOF*vN?W`VTmr;qAXk-6f5>4~sEKxH6XNY7ZG5;Mc$bapm35IHCC z!QqktV*uSqEudwru7r~nHC{2C$Jp=3ucd~PkXjUK+IK8}&!+OjpZB><6@iUTPS(Du4@kcPLR{&+PhSMSdrIzc!;MG! zm|yD{NtCjfGdyAvW1*gTL4k%}G18GC&pl$}McN!y(?G6^Mb^f4$K}vE4>cE8IaFyq zz00@WT!JB-n8v*L5$pITO{dtQ6!H1d3z#Q(wG5DX4; zVf&BGc@>0={C59f`NUgL9t8ti4j{a4gtXWZ(@xa?hrLSB(<1q(e3#rmP%~aL_jJGX zpNfSP14CKado_;j$gAJaiXmqf1s9d}=%w zH}N)mPJHe~CQE#}*9?tGB8%N#k}poUo!9*Rpkr40xEV{9466|XJOFA}OB^_#VmaO2 zfi?fiwnt$GO&5Q@1wmU8HWkURAUq$07F0b5yMsvx_(mOarIfwHrW=YT{WK02O3~@6 zLt(W)ySlnw7+)mV%yb2m0^sj}uyXKE1 zi*S9q(u%#y-4E)#s6!;_7m}G5GjU`QXI*>Il&KbKn{!!$I#?Tn5}@x;G?b16N8A_$ z_HZ@>ckE_o2#ULOwJyocZIq&xG*w5hkCFMr4MqG%z5&=)Bk5)E-yNdgHkfP++T%B` z>JDq|y@(M@QB!4+Tx;L&yfoNIn##gIgzkjDD@=d_v&kL?nCJ9Bd!ID#SHqmF=rTK< z=Lut55wdoeYTqY)kNs4t;vd=>NwC=-07akL+yT<0o z77uc_c_FbDSFYw^z(+Ch?zkLezxp=wwYz$ZMH3hV^C3aD&=UYB1OTkEFuys4F*gz8 zlIAp)7XN$sI}x1x*Fe|LhL6VmR6kG7R> zwAAk~LhZG>RLQ!O&ukSeUD)9s{CM-I7MkSr(obvordQkN*2_;+8IA)sUnOd!xpRY~|XQ`aEL@!o&Ny&EE~+r;J*u%5uHSzJmO@{8++ zw%7U0xg<@$N{oi%)}a?M08{5v^}QONbU^3W_R?iVtV*c&i??t#2t3gkfdcs484zs* z{r597a6nvw2R~5!tUeP8tsWCuKCYU%{+%)gt3|C^W@q&%+c?m6&fJ>73aCzl_}T;h zW5=-vg5<6IQc{rM1Ky|s&_-F`XID8s#jsFU85!J+%A;w!{;FA9``Mu`2)*_)jGr<$ z&Q$a5i11&wY{!pKZ(ZG{39Jn_<3ptQWqSXI$LwNV_2F0CrIRhr-7xVRRy|d8lm-gE zDz#|z!q*N$8g`F+O z9@yk^HCv3zpcJY?oKv25F>9CdA!glhJr?JA^c(SHrIB`3N!nCK`CP^3!u$9UITtDB z49WTarfI9UBc}eTS*H#TJ#RnuA4iby?5~8qLZZ;g zZy&g__wZCY1~aWuY=5cwt6n}TKBJ)|Wk>v(l=eX+Ucn-`0W1uFFaHmgEPZ?*hsXwb z(bWbQ#C+RE5!4j%BJWLDJJ#IX9N!QD2FC7Z0BmY+e_*odQ~YIH!_3bRCI65=E+pKD zF(|~KT&t{$K(w_O9*2RLE8JVgZg|r63cz`ybXpwDdqyu0wYI*zF88jWYis9`q}!0P zYpnL@1CJN$sA;md6XN?Nzfw8t!?A|YSMtl?yGI%}Or!S^l9KMt^-UPQ)V;SS(|v;! z2%FtyEU_`<6rb4~IGV@~TsDxJjleriUdc`rD9!R}(C(zO}&EJF^(^E^Gb#fIM;=2$pY;xml3Vj%zi z{iPy5@MZ>i{4Z-xhe|%x;D&4sdK|_^fvlG3xsL=k3Oz!F5A>r^4B(b z1YoR&m$#vO1iqLDig2MfBwI~i0EFX~a5>Vq^C3L@01cV)Xm!eTKwe3LZf^E@u6eCs z4U6fo`6;q+Lf5}}^9c#%yVg@+Ky>5-X=YZZHI{>}A&VlnBUh1z{M$>IaKmzl+#44Z z36hRIzqhA)0kYLt3iQVq>aBuVn}h&2=ChLTjlNmXLjH%wPHHNhy5XDvCMu*5Yqt6G zsQ(HAi&c3KTqpNKMr6x122WR@>wPk;vNFR|S_fat%| zzMSTW&76^SkzU3ZcO_mdK* zJygV~+|eF0#kTD}^ic2DCbTtKey;=pqU4Z*pUZqi3v}f41VD7pe=Gq|5B|3@bifvK zzx2H}@*GpZEb(9yzkbH1opXZ1M}XkjPxUfXy_}Z(1TYB>pOM% zP#**e#{^Yi0EdP!Zt$eTE5sWxsU@2hT*gB2*ZqlW5-iAIwqe`0-bCE)JWnjyGpr2t z`s*KssIPk8z8lz~o@T06u5#Q17*xH;GmNO4cS0#E8QvIjp zp~lvPl;#*xLqwRy_CpPXM2}NZ@qiAL0D2L!Wf%1w!Y}zsm4V6r%x~dE^zq|i->(gD zoJny)Y0Yg$CTsuEWYI4-NeB?RSz4+63vk6QDb5DL(U}KuaKmw4()+_d%L1>XWC@lg zggbE-;S1390GESPg*?08x zM7BsuhelY)fP2n|&%-~itaPLYmPsFZhNgOo1RY1XRA_fB*%g zt1$4nJ4cssRiVEfuU2%4H>Y&ly*ocU5G>{lDNl5hyko@Cb zZ1>{8wISdzn@^?_Abkh<5f&sFKt}p;axFO=H?-ND0j$A;?Yk${#VVQ?>}rve)d-xW zX|TqLdS8)J%yvx-dxw5Rp-_EUhld1xQ$-+PFF$#UDASd4I7`atz@$kTL9$(-XWl3= zOG(z=5P5mTj_sR)m1ZwA!76k=@SX4XZF;@Px*Dr-5Fuze!~pG65;Sb+KrvAg3ty^MM$6gx zlQ-JyKLyL1KNAQ!Lbuc@qF9-5rBhueWYC0uPysZxXtF|BQgo&wmLD^cPCrmF8#V;dFJ#7HBV z{uHJANU&J5sS2HAYRVFm5E3>mS*}>E4CJ7i*0iL}W;nJo6Lcir&~J6qv6VQK8PWDGm<}eFU+2u@buDudcaJ5R*tbx!F?MrDhR0Xl=0M; zg*_P&Me~_6V2s5@Mh5$NvO=bU)ycr}PpxeW0N_NaOagxs_4DXq0M8`d@!=Jd3*EF81}k>E}80(GBH$XlF9aIjR-_Iwku z$!shSi*t%gSOvG)r0J-2$a0GV(GOYV9HvtA7Y$ec1vip>ib6kJ8|!=D@7$<&1DuluUuWd?-D^N0d#Q8& zcxE4slnK;d90@$|wADATc~v=g)H7Di?nLNA5}C-HiM1ba?@#p>jdL<12DdGGTvoAk zd&+i}3i$*o`CtLdrmYxMlgY#Vt;8}QCi6m%hK&_|cYw-F4Io7o5eBrU-Cg5EocY5w zko}K|;_Xa<(Wd70yQnv?Yzrfm<9i|HK60{qG?4pYw5j_90d9w-0@5jmOdJzq1e zY@@~UA%fpJL{*e1;#mrbV;}%411ZI~Swcef&!;;&=XrTF8)Zn0o7mNgO#r9ABvy-L z0O?85RAv{FMRsf5&Nd%lp{>obQt097>0?cq!)a#IT!X7 zsrz{BzvLOhI*v7ZqBAihEI%#{s^aEEea2mk{ZMDUP!#-1;6Ji2nLCVMVqp@>x-z-y z&=w;hXviH!&rg8A_K2|mrEM@jX7F0z`Il$0dTe-3|m3zgFsR?&AB z%2w;VwC6l|LqtGKPeMncet31y^##qywp_)ilgcNaGdFXJlzt02bABUd_VlMN(@YVk zz2!ED$gs`HB4%=4OZ`a9lJ34%tr;XpbE5e%VRHB#ViOagoqt|9RXARFO857BKMzW|J)(9`iYK>P4)6twtgd zjB#bc=2KJ}N6ab2yfp1r(?cAn9At2(gspC0=7@EG!F}|9(XD{2e@-mwaB+fS2wJie)BU-J@fe|aFz(c!<^cOJD*R(CvsaJ=g;Nn)`cZn0 z3#ow0Cm;3aaogWLf;hg`Hk4eeY)~cJCe+lG@5f#{xbjrletfT))FOd(fnuc5g)+Rs ze1#RTzD395?K5Mio+Z;3zQp4t`GWZ}yMyQb<)$m5EB(V~u4s2|M$1Eg_kiAdG1Ixi z_vl;=H>uP!aX;Dq$B&~QTbD|JHLTa$Kzyo34?kjxA+;moHc+d^??ry)gU zW-Gu2C(V*do7FCZLONnJL0<`Ct*nSjICbV@9Z8WT{nc=Rm}exz7RcXekc=hO_1H(9 z(=J!bTE8rdGc7TnfgVw1Ena^-1}Vb~u(AnC$xc7KC62W+dHNm8<4;YBjRBu4(`2VM z>&xyc$kmd=!N$EOOlO*HW^%UDr;V2JvhvLGbX2`NT2Nt5PnVMFd`p;Y`Lt%Y|G6w> zP<{w8s4=Sy3h+1N^f%&O&t=IK!ww(7u58YB*@FSItu+y-=Bj(I3h8NaS=KEZm3KEM zK<*iUyRlNT3==6jda5Q38)dxQ0~G4E`WDM#CgG%rT4wm>r(i@H6LZC~4ZDgU*Ik~X z?SGLxG>+V8csYcGL_2!uAW3sF;AKW=#K>hACOkCG-gzVbcD2F(>gYmUT47_oGl;CK zH2k9Lztr4))&EX2Bmh1f>fq}D!j(~Fo{o1>uwA3hw0}0^+G6jIwL;);|4qEi)Sb#=4 zQ#NlFdm@>R^4S?KV`u+V90nC)=MT`2grqSakZ}vXE+nA9#F&4NkoqwU+I9AqXMQ!p z<1i5Uk{K^5F&v798qL-DI#uMO|M290n^uBC@2~%z%dJ|CPx8-+VOW#%N)R2`%?G?6 zy`|eqjHG)j1DIn&-=u1BUg*b>!7SO(;SLV{=OFhOW#SGn!@<81hU8H_wD-=XZ~Q5Q zhu8R+FmssX2414EXA4%hArq9A+9eFC5EjeW0?*|UvW4D_Tn9CG+?|axrGKd z)d)FwAiPhv>Uo3zS}`j4P_x$p(dFq>w2CTo!M#{08Nh&Y>)X*@C@&kmhIF-Bn;N|t zppt$@sB`bPU+ubWxIXUC^|?rO5vx`!66{DvmMGKHZ7vH+Ctn9k{#bkeRg6QTMrV7) zTG+7P%dtymqUkgoUy9z@=sVMEUJV6{pEDiOgA4%DaGm!s*QQgG}f^^!&dgthOwJqpaRZg^8aAqX0e{{R}p5a+pMf1X@e$!gMu;M0Xe~3H*j*cY<)lo3 z$*mPj+7yaB49T97=z0J^t8)iyAf5G`OAf83!qkdr5L>)lG&vxv)pKc*Kj_8bstpfo zkVe*->Jk)*#6 zyYu}!hqFZ|iAFBli$0yVzNN4#Qd@U&Y&Q#p*kX=etJn?F0cX2EHUn=SW1g^8U)rOJ z*#Ze}lgwt^~nP{T?!Z_k1nm{G0kIL~RP)8mk zy&&P8@jYupXf?G|I!!ta+Yc3f=eeVhy|{|Fserxr>S|Sue#xrcYy#MK8Lck^GP&ke zOEQ?DOfi5A%naxlYg5b1cn8?0sCbhWjuGY?=dh;7(ZK{hwq>Eap(%CT?Lg?Ea5yp` zWZ7aKV?tJ1CKt%}xs3`v>jO)kz;2h*D-$N{+>`vh`)>}lZ-Kb*bK;nLTDZ%000K4$jj;|clG??d;(zZgX{D}yTO#85O{Cw z`uWQY;H!A+I80N^(G&2!Mw;^t;yTiVd3 z0f?1mNpmn0^A(zmdYRT&KI^6ZeWTR{(=?keKb@PZnPhqd8i8neIr#FR^0x8QH~8Cg zOq}OkD9IhC9V6zmX|8lg&za8UL%yV>N){EDc3Jrt(YvUgCO(_to8E5c=Jt$uvkj<%_pDsKFe^?E8V z4_}adBf}WZP;XLBkFBr2v?g}P8pC<5l=a&vOj=!iicG5&8%YzoM5MpA{`)Hx_gB(-~x!X@yVyDmcNEf{z~;aE@+WGSvCv_hxa-P zRuBb(n?cVQ-<@nOz$S~=kKSp?pUC`P$Gfm#s0(xJhl@=9gH&L1>Q^tMaq;wC+kVk? zn>ihGpxeP!RfX>_M2b_e8%5szEu{wY9`9>8>K6L zQNQ;18)_P4TVCHJcAYNG-0$O#Gi{FXe>A;yTpLgKzr6{;-QC@_5Ind$#Y&4i#oOWp zcXui7&;q3bEfO4xLn&I^3&l$)_T=-upWlCZWhdD=voo_ZXU@6a{G*ms(Lj>2Q9ylX zlKAJv9DXL>ii!{43yLz14pQ$fQm;~zFT$?o=1G(;pHV$T$Iy&pXr)@LS(G)b|2nDeS_!UZvfJFS)%~X zSrjTv9DBdkB(KM6tk50sumw#RJa~Qfv@%c=%+bJ>4f*lpM{vnBF`z#(p$MV!E4?QR zPOT{h$2zT^w?QX&MunfHUBRtBF3ryFRZixUa_h(t1r1sWTM^%Pp=oi5y*Cm5s-p_PizD_P^h#@)9*L?TA-udstX2QAS<&+$e$bl@=u$@7|t8d!X zC_1u|X2Kyl3t%_! z;5}*;bQ}p449Tq0X!_!BP{7r0Tu#*6$C7Rq6;tCLZ(J`mm2I7s zk#U`ARAI`Gc85KLi#Q`t(-u`9vj?Y)9)kfMOTdyi4x7|VkHyH1U-jfyKlY&P_vbe) zyC}vy!(bw{*nyp~uMQ4_IB(w1uze6K5X}eJef>7O>J5^DhIhlt|B(kmT{x&!A zbU9W)s9NXQ87-IK<38&vUlxwhqDAAmNTl?SHj8Roi}cY=-7T_J!-h}6S2kZh*YJdx znA8e{UW^LnhJ0u#KNG1gTYC*zpfC$|7x&fEdttIGu-1*D6+B+Q?LKnT)fSI7*DU=0 zx?|;XlY_j_qclUa()HPE*}Ku+b`NpDdgd^T?1q|&Zupzo<8Fu-H6{26clt2P(3+uK zn@gF}9KvF-O$dQ-T9v<0H!KsD1G9K-^hSq=tdQ~zeMFbY2XNsp0-ChzD+`k*2t*p(#48jtZn-&1$q&=c76FMoGmo2&9l z!k&#N_l|T{qD>x6jwG_1eM2h;l5%jWpLD@R$Qi+vhbvCJo9?CBz(+G`GSoYH851ihaqWwsht-eIDKD2l+eq@aEmimBC`l!z z_H96zDAW$qroSFCwFU)x4H87E@2T%Lu88i-(P1R#~TJ|Qoo9)<2xT6z1_|X)Q&$` zqWWp0!=tCEE2)IcrQ-ejgB$e2LbK*FD}g+6tb`oiQVTr!ob#(|RXh?q#5!_hTPVa1 zIcSaCr7g+$u`goADUcM|NnlO@|60 zUkgqJ8L%6xiO_y=;M&dE-4iEHIUo~(5(~w&TYPrs0{UXXL|BF5>tyhqsAo*q0t_7C z>uf%>r}Mu;p4h?r<2~_%B~N!gxpj93e!AuLdX_6t<-{pEA(0M0K&K^wcQz2tzV3XC z`Zl^8m_bCe#c;oNZP&Ygl@uoASrSqc(egGC74CvG@I#>fWSDyBkb- z`EJi%z7tLr11W#uaU=lEbmK^sUJ~!rh89;~fz-8N)@upm;T{xx>EDlBUuK4TO?DvW z-9;@LzuLb2#3j2Fa$aCGH2t2RCc+&e3?05f|3n%2cw?J4f!ST zN~Q4>qN<0kp)rtg;%4$rD(vBIE@|zNK^;ks5u&j`DLC;Bs%=E6gs6|`Yap(MA$k=t z;PQ_$QSh~QLx<(Re*KO;zJ-}mI$lEsU)^>2^RY0-;`M+2b}NUX)}#tRmu~i6DnH!cOuk)~D`@4y zOXU7J_q^S3-t-||L?GOlW8h!)YeOlh`BfO0r6uv->|!8gh!I$rZYeJ&@<~ zPGl6X-#lJ5?SbMMgYPD!85xntw=-ON*~Xu^1wg;NB#$jwAB|CT?6T-TTeK9r`?d9l zjg9q3&ENZ-Y)PM@HunkAQauenH@~Jw!QWfclYYotceEFIK1=c4s9KmN>7Q(1pM=db zx)hGVDb}UPSk1^i+K5b=ypvv8 zUX#aykHOa8{2s=bXq}l$4zmL@d9D->LT4StvvQv`)bsEj7A1qFjM!(|W~ygqYHPWa ztykpy{7Dhf+WqY7kRg@h<;U)@+r0|4)ChnL1LqW#2pTe>mftQ}Nph5(P@h^rjKb<` zAmrT)6X?5m&O?|nyhGJpT?<+-{XAaiCeFBTE`stzgD7P#gUpL#p?(uSa9;`>Cx#9@7X{q{TVk*{pevDYUzYK8WN zJTcBVN%+kbV;;&uG}~XJ;-_mU z_5kSf3ML3ViBzUvxqlgs36C%|+=tgK&*&z6F13sr&Fk5XVE9ck)SqNXmi;O$9+R&( zm*ryB8GRTmMC1!u76gOVkRR)VpCG@kJ626EH30;D&Uj}echdzYWSM7g5_ImBSoy=v zD}Gt~MMX~6MWV2$`34A-r26_i{hvSgDb%PJyBf)m1SlKB+M%ZJM3Vsxp;`A)l7}ln zoXCmOPju{IPGVZN#`$&Iteas~NZ&}j!^YIuv)>u=+!cV#yW6py-#S2tA zl&NR)tjg0xwi+-7-0GFpIMj0C8_n;O7sn5WjE_jy`{*uIbf`t?`k@L{m2Mm>b@@U- z9>cBgxo75z=puaQ*1|%Z1=xu6+g$f}63nIMz|QUS?`58WtP??c5JFDmpBj<6fG{bB z9aB7wXQm48{IT$o`>Ob|A|1M)u|+S}F9~SBbE%jV5}E2P_WEnSwQAVcv!u22=tc+~ zp29zdPBD%c|6%w3FP*fcrZI3&>We*+kfWDhk+{F_KJ=tIL>3<>!SRgXwIa*&l~)9K zc*a*GSGl0mJ{$Q;#=x$IiPlExFjq3x?B*zYmZCHp>ozRs6fDRCImKTRY-m5e2RnN+ z)fFW)3e}s}k*Ve0x?77dMMb8fLn{2dwK7B1fs?h=loPqBpu(kZ-&!u+u46Qfu)x9s zf9^}~A8D`FzO0!{eTG|l+@b_*uGexlE-i?{Zo=vJ0 zk+ywjo_a5YwY2{6GD6Xm3Av{Lx!Ypwe)gDJ)z`n42ZBCSI0q}~)ztHhYKZGSWt=H* zX{mXyM8T-0`E@F+*oV4ae6n)pdP^dG2{Yc?z(9dnE%hJLuUCG^0JE8>ILMFo=bU^& zc02JX&l`i05fMB*Pfc}Ap1PH;kf4#_e`eKQCWP=g{%+7&c^UFi%#P^D#3?ykgIO+F&FOUk-uT z8UM_v%-SYt>Qp#epi=%+yEwkNxh;~-C%_CMW!}ol8khcIFJ^0i;TidG^ZhuRnR!|3 z;}X~R(cd@K9GW#r6@y#gR9~T-Ru@!|2he6;3%2Y5r%~5E`|NH$c0V3M9*F0aAH>xk zKaie05ne58O#&hQAgTcKc^{9;Ncho%g{3ZU9IBQ6dT%&vK92E2ny$aOR9+Y{G?ucV zOp02)Ms$b?gbgg-Fezaz1bz-uzC(XcBvV}BY&mARYdW3i1cB%(sH)m{W>>JK7hluj zGHkk8H;tKEyJX*7l!W|UZ10D7GcQXcGy$k9y~=@~$qd47dHTcH82a*@%7{ia#rlsr zr{WFSaZ0R7e}26CLFMR9GW`$BEQY;ES|i1wKF?^lQL01hwjoa!LKFo z!o0)B!O%zJshUQX1%48%LAHHT6Wf7UmPt)|!azg+=nMZ1bdezr8J0~lS;H1T@*{k~ zj%IDPlwYBKqE(5eF-ME7?IRA%G|AN{+%{LO@kRNPTiLYz$LvLIotzoyV-tFC7x1v# zo6Yi*)H&aflZ}EdFLzD&dPR=udtS& zpes~}p@eoyR{aN5J$1p}EBKBUjp6-f=pF{)tmiB3$_1LY89;d`<$T zr_P82E5dv8TDE5`Bc2Npzde)kTXOV{Mx(E_!P$Rn^H8Uy1=A~rYUYG|srXf^Q*pp+ z53smCFE@9<09r8HKky$s=Fk&3I zKIYbR!)R9A*5nsvOZQp{GfXn~b5RjWsVnYz%J=h#j~Cr?B{+>*5vF}I1D>Cwl!fmj z4F1)D;OZ}U$QRT|Zo5$vC# z7m4&+Uw+QcUgSH3WZV9k?Qrt%a6;@(ye+9Uu5YetHeNmhdShfvgAEGIf$K~N58cB?0Uf{wFIt)#uI*A8|tb38}Bzmh0`e`GrH zK@lZ?zxc$#&t6wgx*ofg85;U6MCpa`S5hM58jJf-F(CoPG9s4Cu44HTITgvU_NNUd z{G^!l%N?>@a`ge8vyRQ3*8cS1JGWIzaxyaVc{AKiRiPUDm!UikGKM%rBFC@kD1J-05jW51EC3%SVp?x#Lf#HBK0(Ci+?CGLcs*0C{g&~ng`FZ}&uj_10-fOCR;Mf{ zdp|!vlmv0v)>p5=wJ(1A&w~KRb(QfI4dM+=5|I#=A2$!8){zEo zt*VLj;>5BT(;v~{gaxqwwchA3wY?tD+8Pwb;Cj0uY#r_%L+G7y&*cM7gX6!JF9<7# zapE5gAEi-uvcd_ONBU)LQJQAAya@72BI_XO{G;hVY)q^m))i2kElL*PLKmC?V0mXv zye-d-JW0e!BMSjtzLh5zHU_?;O$DgMJqT0V`4Oja6ZnH`5YL?n8GkPOk5GZQ-s-F9 ztU`+iZz(xJ@eiZJ>N@>ISpEnCXu`vu-#ovemGJPR z(@1{d`yjb$*p&Ms@L=I~g!?C);^cZ2-D)mVyuF4Fs7>_r_*o@15}rozUTN3ga4LNI5^37v)b#EV2cNNe z9U>PbWc)X^D|2I|;)`fr%ga5vasZUEPc2-f{Lsh=Z3RbQ02Kfqs z7P;bR3A-`K7k>R(J=TR`ggv>RpN-M6H&^6DmusW@sf=2!;;o-k{R>f%Msz-Xsu2eD zf~&4mhf%=UaL&h!l4NhQglujl@=Jmn-c(HiIa@H9oWS>^0r^k=%@Wui5 zAmkx0WT%FZGGKRmo9XduGjIFaU^9N5+l2i6kCUHboi`}z0tP!Og5p!ho#Fnf zKLy;Zj|QNcql=xh@S^h1{;mD>5ZyRJI2`5KcrrbGP^YQo%!NcKDBNzjpqp7(;N-5~ zfI-)wN0MAYLXib`2YyE$!%DLc{<@na50(t~@d1kDU#~wnN4xJp>1wH0N#8c*9q6nL z1(TiqLQ3?n{CM8)1^!w=B;ft7>JkE_iTChMH$WSsM*Ui$M>F#9B79#{}60uWP**rG(R{FKST6)BH5jCw*)xyQ^KTLDf zs}MEYa}C2wzAig)a;HPL5r3xzyky!C-jSBpGmBh_r;~zA2thvfkU7a!qmKQl|D4#J zrENM-L;1V;ZU@WU{<6K4$)|b$wHE5|)R2cD+HbZ-b0yrQvl-7sGoAqR3?E3+%|!!J z|DZGa-*lDE0*DzVr1bNI=$CN#xY^#TfI8}L)&i)r<_JEH*oPFPI}A*DvI;bzm8W~r)@cj^bPVDQ1-FVUOm0gfr;P8w z^U%JDKLFb@{oQ$FUk4$f5Bj}Si1nS;$N`lk)Y zE~m>)7N`lfOPkK&m;TcQd^rWb`d>!XtE7RAF23qhUAxHInOU|gLI8_F2#%6^4sE2# zG%Lu@j{cSQ+L2%Ar7-=ybF?C2Pd0=@5Nnx7(H5f=X?Hm3) z0N&TnC@QTJ4#dZ`m5}+(h9|j=ou}S0%79X$;2PvE83)?CRMJL-@r1!1LI7(FJbCQI zI>XYknf7g%y%gPA9WaT{Vhz!~L5EPFqOhPp^p&nL{(Qs6k{JW12}GT2GCj7?tK11| z!9v4jI}sjwdV&O!t|Ax^zUJ&`K2G3L4G7i7LeelZ*)S%+2njWC|GwtF5J*m3Cd<|T za7yaVx@gbMKZRnSYs8`iLF2f_nZ-l`cOr`5`+YIUm<(bPmF;sR5u1NF1Hu?4|ziFHS z89A%w_&|B)MFDd(Cx>)1*`G{UC57lBq#bv{3@VMdbaE^}exL~zKYe+%DjL(Xiv*0) zZ)9}F_i*g!=I2rQKldlFy}3Yo?I5pO48PoPV%Fx=PWfSw+|F23iZyD-p3CObA$G?I zN33=&EyXM;efks?Huo9>?njSK6JZBh?`tzCZ%MJj`eME}W?olF%DjB^Z9Ugo`c2G? zoRA|QBeIWCZg6F19(7VXU-d`?FF9Ijsc4KZ*L+e?d(Hn@&+A{~cqQ{4E0C0`N%3t@ z4-KFOmlMb|2YWhm8NelzTK;*mZcY+Wn2=DPiJcrEbaYl7999*^y$g9t*4S?Q7+0G# z(_b!KViuv(4S`P$pT1I{i4PHaZeB639-$}^i}Z7EULNJ;9c}1M0ua@9g%x)GwN0!07OUySZA9*74&4G13c{yWSCjYc zfPE8kn$q9kb?2R`gRH%(3b2sva1e*@Mq2n-->?ErvY*d*fHf1cXAUL1*L`?+*oXe> zmlkX9Tb>M)@Pt!Lah1Tlia1VMJFMT)6@{dGjd(7_*9vJT5s&eA%Lnu-K?nemx>Zr` z^<$z0o#}!vo}U!d=Abuw!5nlQ6O~r&Ms=G#I*qIPFyQv$^3C2_gP-mbTtq4e4l+k{ zz8_1*75VmoDD1h}96E@~Q3!&pjJYUDNnx?OXi+v3-$bK8r8J(d%!=)>N$&XBOJ<+mWt^S^6e2dcc)=Vh_yDt?%-@J!$Stfa} z^$!Sg$*Hrgp4i%ICSqTd>g1>>s7Wy5YZ#vf1c&QW%v4^_ELOCK6MgdzZs@D2WBJGrQX}nJ;k|9}w-z z^JDpSBboL^sEbjiZi4I*JS^Stsjp>`h=-MBaGjKEmo)H;jfntUEJxvL*$kXrqr}Nk zM}7pE_#kyKQz;0omyg>m=k4NU7yDyE$=bzNRNSV1CJolWfJO?6LfMm^Wmy!3f~?o- zuh}V_5aBM-LBfXCw>mCz->jpK`#OBbB!1XS)nlT!QCm~7r54RH)as8FN)R@H1u%^V zMZi;xAmac-mDGC3$0mo zZU3glxkKao!=HSfgm?5uuKO|z0HAB#l3c}uYpAWmmE01Uxt~9zXm7W7Z@|RATs{8@ z9~-+Ndp4gg6)A8d(t?SJ$hQFt6g+Vuu8oyV7!;346!5B4*BQxGcI894D2-pcFB{QN zevuLXJLYz=cRQq_(%F477QR!Z6J%H7E$hZ$WH?E>48b(#GZ1OFsL2_%_hFwHM|@`1 z)KR=>oy0p2U!)qwtObbSHh92e$BnbYkbx2$H_XQ71y3}RkULBr@mV>C#L$=q`KGn| zOGkZuQ$3{cj2War>LDHIe!=znC{NJUVom=N9=T~dfb(#(W_5dig2Di)G#{n$Pe-7&wlMpTL@~8fe4f1=msG7_jX%<87@|T zSF7(GqX?LKKwDUM&4k44s8QYQ;dXKHIdY~Hst9v1&XNYKUV%>0z=+whq2Le@JnZ(^ z^UHleYxIZL`^omTL8aH*H`LgC6(g(u(#VAb(29d!=esxJc#r zA<8T`IGB%_`2{n5Hi5q=h~6yNf+LZh6o?iLAz5iep{P`fWCJmg8>uYe!FVp(dV_b_MkO5TmIBWOk}dftw!WqOaPj+t5!$>$N}J~&Xq%1MZYhv1gEZaHs4B9}GvL@HyJy?~ zqvlJd(FRK5l=Bm&WkGDy@#pc&bH5>zy{XtICNJFH9?oR^n#XUTlmH10RQ)eIy0qw zUr1}}a+HY2cf=S+Y2Ix}&4B@1mhaH+mb_fsiGK`Z;fkQl%SjP%e%9zta3e>-tAB8b z-_8hnmDHeI64}q*7+uDL<9h+YgSlf}^%|RtxmE+HyI*r{#_zD`BILzgm`KOI67uIq zWB+Fwl@2m5l_lDeXT57@h;@a%b?QmR*mu03KU@V}sL1f|Z@U;q=cS~BN+)%J&B<}p zKV5Qxhc(-UlhoXT&lhz9)MBVW~ z!;^zfMX}Cu?A|~1D0T~j+_B1AZTeC+!5;^C1|>&gkr5SrX{)fNVEnXVAf}VbqFkyx z%$*zS8`&?S3mNl(_^3@+KodArlux5b{B1zjzjcrw*|W7&T4}>%&fHTW2m`jgl=6c> zvNM&_L)$-i;t#)GFlF>E+Widkm7$&&rb}U=M%8e+0&6vrj)-r2!p3fO4IL+5TVP9u z5v5IHAcn#^GQ2K>WNIqolmW}C=l;PAjE|YiG7RRuD`icKI}^WSEyGSP{5yKCOLk@J zhSct5{G@ft)cFRQG|Sij`Vqhhp$V3^KUfzYtC45drSo<_3llM?f5;>t6{F2qvQctT zl1{9&!J^GUiS4s8n6N)wfyfGH9>+8iU0h&Vk=e3Y0TU2Z=frd5iPv029U9gRe%`lSC&RD}b!JY)y6v@(9rhXkju3#)F0=W8VKhLjWHJ zq5ppJEW}!p5@Ywj@(qN18(okI=$8BI0@y^h%5GAt+Pb!IrZcqAgd+{7P0(hEI=53Y zdw7VFN0|g$mtcDr+k0@4R7k|ZoX-%e{cL&UNf(SQT`~-RuYGb+I+>>eDCu3zMcpUr?-_! zf}36LC~G6iqcX$wFv3>S(42~NB>Q&VSITbkCPm}qb?>|fso(fd^q!dZgmj~RJ3uey z;W4?Du|V=Z9*QdL4N2G`dEdKbmp<=vzUyeeZdm_>=3UNa zlBj0G-2M+ufr>+6XYz@sK_9ErWE=0cu&Z2GHnK(H&3eWPx7lG@%A*H#3HzT7JPR9 zs>ne){cV$T8l=V+7hY3DXBhhG6fn$TtMF`LAx}B7G#EB38};3GR+9Y^W4D^}&q==xT0B_9zpr*Uo+ zHN{?qF~)=`elqFBKkyQNnB9e_l$te=rs^986y)odPs_4+oS_f}S6+8PRF9^OPkr|o zCpfHGk{wx6BK3JosP~?QTU-x|F-Z_0_4hX8FH$*Yze8_^7W=VEeeGX zSEaftE3j;l2yxu)XjGA|Rv>+jD?hI6COSmw2+;o8wzE75T`qK4M)gk4w^{vU#Yq_{ zB{ZU(aK72oYJ`H!@-ee6L-0=JQL;?DYQ@%3dVz@qw`F?La=5;}sM_zikEutkaN40V zcU$@1eoXxv&GAa*Fo!I6xi?)wANR;M*jxh6{IQW(Wx@y5Q*vL+q{EA}-WA1R?~poD z>D7_zP6)H^hJI1=oEiD|#DNZA92so0&%@^4!|sdXoYzfw*gDu=Ir(eWWx7+@@jj0x z_Y#GsJ@f)orUaK;6=W6Ajq_KwHU1uI6?EpnD@M+b@=NKbkq54pz17a zPHZ@k#h`%^PF?gU(_s z&RtiOEXfOn6ppr?C+D93#fbElmH0+PT4iFv{9lfsoG>oHITtFGNQ^2b?2RIB079sz z&ROQznYP#-kV`U>_45 z-|lTqyTQu%2bG@6p9e+0c}aH{H(^~I16-!LKvGZlYMxuCkF2w&n*}HL{WYnZE)DlB z?GbCyE#>2*bQvgakerIK|oya%&rvn#0jOwDh%IZ| z9KK5%%8^X2WT9fc>to}jGj;*sXmw>@J*LVx^u_x91caL~2`grjBm$V3xpHdz89G>| zd4X8+T&x&|=zBNSq-+&{5G{JfhW0vmH@v4wnHPrZuKfEqxOD2uGFZ5a6b}A7GD`+$ zm=UgyO5()o&8+Rzj!B0O9D#M z2nyv3CX62_AB;jr-5c4M>tv(Bop`yiMW4vaP6fhx@ojjk zh#|HR3s9j6_Pi{WGcU=Q1-5zlj|z+51KVzusYGylJpEE(8f}VuEFAp}2e_IxsR_J! zLulo69}r8$hg->?pBNy}BN(sq6`}3qiySyGC@(FdV!MaDG&Koy?q@HwJP*T`fpCbX zfHZY5T0sxb)~C`C1`%7Hm-;JM09n4!#!qYU-ZvWg_#8f%E}YB~HnWb@?s-B9H4H9?MupW2?-;=1yS*05e( zQy_47kiv{M796FO99KgJf=fjj@Nc`J>XzSAN`AJJ3cyoACYDV8?$A7>Sx*J;7E&3c z9>G{6L&lNyR1DbotWlnJkPIhV$|vh}`BiS*$9{w$@sr&V>FA>+hOa+0B8eZc#wcQ5 z6fFLV`9V{5g{b`elMVuWUi=IgV7EpC+FDYj(n+)QjdS?GJ3Ft?}4!TD*mC)e9S}X^{ zzT-|x;@pP-wP|+wY{kYYljI|Bljo5l?F&jyF>BA6%fcZmpX;63iQ6QpANt$InC<MLHUnEY)1vPb>`G5Blx8K)UdseBRdA% zc1lRIb5ToytTbf=1zP8ADqG{COI2ldUn-5{Bz-9z0^*_}B|y2sFdgQm>`~F)ef8`v}P{0WN|cqe8x@_{xvq-HYMbf5b7^eDEJlS7QsMMs7sF z_hGI|T^KMdG^yk$ZX^@)#eNG+dTSr)PlKjknl2*(h=?lKySC>Ert|N*;5G7*1eEog z4$t{S!+1!~_&B64qf-;P(7qMx^N?paD%qA_Rvm5hn$pbK_i3&)M{z#c++bomPTocs zAtkS{5W*Bn{&Z_?a5rL!m|yBr&t=z9vH(Od8yk#El*UGxwp$N0wgAL5Kt?=WDy0Mj zHUmGXb*ypT0JeAol;$jk3qkA{2UiGonl>;pl=SNmvm3mz~_X<$U zBurHYe+svU>mN8x$)Jn54_@n$F{NP6=oL>0oGt{fw}ACIyq5b0IM52eRyE_zIEqw& zSWiT<{K0~qBd5S)I;X_flSlCP(%cIeW&JOpmWYcFmxBjb#4j4n=+vz16D@RCh7ZSa9Gj1w48-Hgyk z!UN7~dmV682S69YR7``x!kR7?y%k=T^llbXq}bdG7zEriBzk&-oP}wXFR)zL@qMVN z(b(RLUu?VJ!A8s+Ba_JCfr+%W>m3!jLbveMkWo1iR6*jXA1%Mmd)ifLOCmPkg@jW7F z{@8IAbQx63RO=l>zJ9*m>zKzXq)kP&#(~<;fK3#}4J<U2)`FwDi^HiXY~-Kj$alD<}9iq=Bdw) zTdV}}VbmJbm7slQi5ZtfRq7a*eF;~#5or&-;z3|L*}>02TfQ5Hw;P%=pHh9~PeHn- z6oHclRUw3|H~ZEL_b63@(Ych+YYn*A0z1JkEJbqg`i3fj0Fn1D{gL)X_M6gm_W!^{ zvigo#n7-y4dGl!s;+Hvj8V)j&XHwi`chy>Q{ zYYP`iSWoeCLzvoM_LJeT|EYbUnrY(7?CoGf)J2||A%O*-(58Vf>A5nW)|FkL;g!DMsCL>oKQm9GHK^ss2z5!_z`W{v>Ya?25Bi37gLF3Z`h}CEh$` zViXuIvIed0#z!^NlnlYr1v4@}dELsSYuB%*yL5xm`A8-PE@f99W=~DnJcbC&8LbG! z8;IIFB|x{j)(tX&4N%#VfDbS>5^YmJb4aK|q@~!b0QlrZ2GDpz)i>E~C(^c7I@whP zGrU+)>l5~+A<-hXP0cO&&&;rNRcJB@8Kvzka+n=lys$lXNPDv&Y*8swyrTXAzXtK` zr*3S?Yuo1r4izRE#u*7|Jc46xSI03cnxP4AcE*&^POi`KN+< zJk2+D`2O`(d}`S#2P2#ThyVIQE~d5ILi9!{oeto<$0{M;!(5Dd^Qt)T95rHQ4*L}+ z7^=A0XvWF*t1B{n)%NUf{aXcFrG$4YM?Sb2~gjDq4Np|J6=2`Jz* z2ued^a`FI*{EMNeZyeEqfC(sb>g1mApg_Us))}VYhUC0AzhYsc-fJtD{R^+(cV&8Z zKWRV2Nu*4%n-cvN4v|Iyg@TgA9sUZGDfh-iE0g>zdPh{GwZKu((bDMm$bVLJXn&ba zrngD7hr&RmwJyE~1`JUXy5Y}-;d(@S)bn_Woa~j){TbTOuI&E*S4@-uuB*Y}<(Sx- zpCMxkzS-wJQ!~>Lj>)z}jU7`%F6AOHiuXy4iQojorrl-x|3lvX&#eChKP0#QyVd_Q z5-8#x+yVX1*8d>vMcx3Niv%X1`@10XKN^yc_&uMidl02nDeBSs>}-j)-?ex==OE{W zq-Hk%uYf3dDXj5_3->$SK8r zrKintP*-y63<*xxemBiC)B{V8D#Y$ZwSYMuEF3S5xj^_>z#rV-?$=nN)~^$ds`BCy zdMQjCHDD-7!LwC%M&YPkeztc2yhukHIA^0tj*>@{Z-v#*#SLvv`l8T=!;9|drTRJ} zNYP6p-0dtMyze>xXR{+WFktaZ`;RZjj59-#|2XK>fLa1$c<~Zknw4?kbcwmg`-xD7 z3uQSD>Um(ninVzI9Am?I~`oG3>Y9)jtx)-N+ zZWSQLUhz|?mMMG%WF-&Fmnn-U>+nz{sUvRxHtd|W*LnSS%>l^LXWeJ$vTT^Ht7$qA zvpB$V)l-z^c{d6={r|g7IbiJUz^<&)s_b?Ns-UdRd*g}kp z^0Xz~**-~}5B-M{L)94@mj61cN95st=zDcM_Z%x9nJar{NZkJ#g$z_`tIUAq1P7uj z^hFJ|mFmg0&zUFwud5rO!DX)E7|IkyNdc~(Nl{V{6$dzo|GPBH0B3RS$40P>YjY($ z`CdaLPZBWtzbo``nNL14`&8~1cPbURdh6U|cD3)A^r6SX>JtWX=z2ADJJ>ian;LYR z|LZR7K$ePnCGt3mzD5p`|pRXvt8`8bn`kOTvECJFLC z>B(|lz_vRLp#OeLhYD_6(PK@;;IuPx$+4a|WiKx4PfLU5=Gb)RikG;dfVt>g648|Y zpZ3u3Vk2g$^~bEV7C=9F;RD_?y;=!Y0G;ODZVwI-P&+>@KG9jMMvbZpVO`A7{~6Ot z58s>?QB)>OA;r2>ZkN13M`uY-i^ZSR!62RJBgZ<>IVEF3zvqz&hoAJAwtcY#17F3s zteA+V8nFHShax%s-s9?#&hYlCT4ySj<@PWI!M4^6KwNZHNVNYOUE?eOk6I!|5(sV> z*#qX$))G~(ZOPLPT*vXREM2p|XpUCm&&(1Tw-|yzJzkmv+cld9iaTd(%S6E4 zYA#5YKZfxnwMK$A+0l}+^C|Ue)Vtn`Q=3R?hRXqbEe;GA;o`7e$^RZ}5C9GQ+PWVe zKgDwDrxGkEh1ZK_`jaIS4gCpD^0f7j;TuJNOSl_#$F{4iK>`3X)53To<^hOJDOhL5 zS^p@F)-enwWLOb%t!xwK7LYh(ld1rTRe?V{S9bVmw*BOZCWVwnkaz*XMZ5oAM~QsW zVvSizG z0OYIL%DdTc_9`ZPx-gr#vliuyfcd|X;eRoL-(}J9Qe0E!4iv1(kUA8W#}pT9y{!NP zm^|-dp-vTH(m3_(yb=-;yt6Fyza>!Jzm*dLYhSV}2guCuFy49<|4{E`BB{v7L!JdN zL;}NTlAN3m9~PNV`;8tPk}p}5N#KU;e)YRZE=9T$C7_%pbJN$FUy~y@hX1+Vnl3F&Q|m3jaoNlvihIX6muu69ruCd;7V%ZLN7hzg5h@!%M)fRrLo z&X(z*eD_7KKImt`T-19`4+CB?1Y^L0d8uiLp^a~&1nhB`!}7pc!VROu@TFU{G&Pb6 zVOTg&)Ymu`>l8Hos(3&bkShXTrX4V3XAUi@t70l_BV;S$_IgO`U&3IcAtXvSip(Yd z{WlrB;)`M+5g<&qQB{S2ec;wmhR~U$zi8SZq(Os}y6k1dVN;{g5yL%nIb|`Nv;IGp zt~wx!_v!E5(cRr3sB}ojDM*NfA_9`q4bsg428gtDsURrb9Y;tA(w#>h(#=V}%lG%P ze-L}ilQZ-A%se|Y0w^i}eD=D4*qSI^HJ3vk8p~y>zy*9y`@kRh8?xU9-zs~JzRAgcF3ugmwgG8NVPgBF*12(iO>)#jmYY=9w=f}4O3^3AUE zxpajL2S7}d7x5uO%e<>$2X%a3cHNvx|6Y8$_M=b>$IpaTZ!30zF*PjEHKue_=7f?0 zUu(=c% ziW2zp4cjt1gZm2?VE~HUvKF2<$nlUO;nQF}GDA)c@YA3|n8!~%swDHl)lXnMg=32Z z@e#sFTPW15xdv)J6-5*b;lndU330%G0#Lc2_5c!gwMcM6rS=zq#&-q<%I$CkMBBo;1MPN)E_xD@y{J zY2}L~rjzkoBI%k-+}C5u9M=_23~`MP{h;8f;eIi%Nav8F06umT!dnmuyNVf=7r`3zUkN8U#8AU&!o1!QJ@XU<%MTiS6o2Vb4NZzjr#okMR_=Xe}HskA%-nnGFC z5t9^HU)uZH87?>rGS#Q%eBULHDi!%v2@=MxT;DAw0>3Yh!1Hx%cZ)hdkvEDsysy;qmSgMl3v`gTbw4R&5Yb|5h)QktGThvm?W!OR+ ziI!#q^6~`q4%<%xe!9mw+_~o@g5Mag^qYZD@SQt8quPpEMiAa|@=;_Z7T$CmJvZPW*R;l;^Klj8`wi4Rtn-yfk z=$p;U<@(~zmTy5DPgoexPqqWtCZBNAe1C=WiaFg7&z<$dGaD-xi-`I@)f z_?OSveqx3?U;mrmtSxtby5su`9f6Ddy#2&Yt`a`j!o&U@w^ILf<3zLOuYr4s!6kIq2&$B57H2qFo!3KG~U# zRgaXhzpQ;W`KEZ)2uV|kY@m7c6=5W)M^PbeduL|KiBQE?9}ekg1GS$47Cc= zW?up@s*s-1xM()AL6CC9F*h}+1fSQQ@7C?#u2uYk2r=iU%t{DeL!|+Vdy58b1 z&7-~KYcIJBr#bJ!Gxon8RcPDyPGO%-0T|Ppf34ujh43qMuv`(L>~sEU(wj9s7Y*8r@z%>- zcA!V&o&PGp)Eb42(7Hkk%CCH?e0>^u6EIYAgmBXjUBbe|)Go-YZSN$wh}QPV)y_Jf zEqd_>U*ygnEwHStkj`8OW}S&opBoOo0WuDNORZgPw4Q>H#nQ(fD~y;WyCp>6z7XuEal}KYd+)6!Zqh@akyKSuStdo+tkqnkNjiE zfYtw@<|3Rg&wu}qC8H>-{X3QQf6I$I{*{yfOP6g-G~0#$TpLIyD7KyI@IYI{$pBgd z_W?HnAzWl{ndg?EQEP0u^WD4&t0I_Baai|6BfoKWd64XOPIiT}I7Is{>mOu?XWA>N z_KvWbA_{CtD8$sIP|C#po9DN1`z;s7Go6`NtO~$84))sxPcWl}s_r2^Rw^c)je7?L zxny$kNSx(GMuBhaOO)jAl{5!21GOdR+Z*ZEmyb@+XA{o-4X!RU5bduoID5wI8Eh3x z=Uwh4;^Y7R%Dpl_iCrS4PpY7I)s_}W+b#8Zz!yeouHn%(EEOT+*_B z0NclB{*SPc)GQRu$+musnyxpt!L=w5ojmy0ypWL*MJ*6Czx8L}PcgUmo-P_-Q`qYN z*+Obq2?Y@UrYngMq;|^}z`mtoptIL?Tf_O>`3fZz^+xjRgCPkbz z<TLuYA#!lna~-GdqRXN6&rbWDGCY>e zw}~+DeM(&1J*mC9!U1d`C}`=tp{?V?*_>WBGw?Z*+MMXkT`GdON9>##I^nCFl-iQg zfWxNymOVo4!M}Q6CrZ@f)(5vEw7H}`JWha1ELiX^57Xt zYiF7Rr%9^}ao9wDMjOT5cv} zlqr<3wsI;mx$w22DXFM2=j6M&^aD!XTpjtJ`AIBn&+2ERy|0c8aNwz~0*kEo!V6U~ z0SC64LZj_|l7K^nJN@9<$;`*J+KVj`mfwX6Q+|g&#wLL#^KUwJG>lEW0)zO6eiE}3 z4$4f4>yNC}vh>U0{oXqXLn))jC)QRc(34G9($i29zAVQc7u(L_@ut9v8hHtx($kZ$ zGAL4rwRR%L*(1n_f38;{C?1q<FTZ47!H(q-a;1*}T| zI7geBP4lrZt-iiLuuWZX{Hy4W<(ho)#Kn?0c!qtwABx);_60WG4_)ah-ro+{ zjumV7_q*n%WosNv^I3_Fjb5o?IyvHilnI8#CLIn_@B2kKJxzZ$;k~xdiRZ#2kL5@9 zc4fLKqs243w6v#K-@8;oqSpMXfv9!vZE0lJaL?D^j`RUiWjG2jvm6Lj6m)7Xe z15XMp$i{=JmIc!f4q~g{j*Jqty2x%_U>OTZOSZjjEs*Gwvx!jui%5UGhLV%B6gIpa zAR*-!IvUg+XJ*q~o=?eEMJcdeKe_|2&!_~DMU`b7e)7L z30=HJo+VF1;quukqFT{8!SIK@fgEiduOK9l{$548&vaPGl`7N7AZOlCV&}=G=z9KQ zo=ta#SHhu7>o5t9R#d#%7(d=~^`xADA_x$#Lb@(4@{kM*wS{XpGj3_aNu&ng0O#j9 zFgDY>pf&&A_Owd~h29c84!I#XB*st;;jSZl@L=$6bhg!toMM%o$<(;G;p7DOE0#WG zEH+nn3m(~GQQlfwBePKHx>qUyh8{{b^q1|;>$>Zv`;&XLu1D)c*k+x0vO0b50?e`e zP%!nqEr{sr*c-Y$zz$Il5z5atJ77E7Xq$Z4H$FK&QAOb`!E-~lymyj@Q?^o!SEqP& zbww;C)r|`w+fOo$#HomxpZWR_aQwrm^{_{r&C=9Hv2*Sz2*pNc6q{{$hyHG?r?;ZSATK8~UJr`*Y)kvjp3L&soj*z3reupiq;$n0N_ z>rX6mV}!??1pp|oL7|*)_`<6dHlW5z^y^9(7Q*uu2MrKidwO}s=h7Z)%77v(T{2oT zpaFS#fsOh1&luChQOgSynOiuUbjjf$sPT}9IhWM@Vq5^{OV~CR+nW%DnE7&Dk=u$)ydWgObpbgFol!bU#Qr}Lka^-Z2%vkGt?XN2TnY^u5b5O)o2jKMbM(x z-|phUi8x0|LFfob7GEt6%$0b81%p4+IvRUc%K)jmgVt*%`8qa-ZWrOuOKf7~;86Ly z{J`j-Lr*_hS0O-Qt7EuhaL8cy(lH4d+Y3|T(eK3NzZ;Bz5nase%OWr5!o)m=(gV|R z*knRKtay}8j@7Wkj@%f*YR(q-Q4fQ-Ms@mZr)pc9BXI%}^>wt57=JI7ebBu9pE!ux>nL0uc~{ zUL6HG(eZQib6Edj^-zl~pjP~B*7Iz_rT@>~mgiWGw+t0x>(x{fbq4z!AyZ#L z-TriKy>T?ren_LVKUledxXTz~GWfIf2e+LNh%o+a7UfN*ECE!}bXd>!BaV2f@H&qZ zJs!D-7?Q57ud^1&r6i}1y2fLpKmf7D$Y{USOJ=4y(Dwd)7;2?v4ZSXb8o@~pkX_9n z&j`zMJZ(#><#ju{f8K^$Qu@o2w1(t4;z8YmcwAMN9Wzbm9W@ES%>u;z`GMRXrnK`4 zEtJMfmDD~mjqaK50zxvRShnkY_GJRBsKnuTLXW1bcjM+0daJAJtJZo&H;%DTqrGH8 zJv^lU7W1?unJI*U0>DgvdWqm9*)1P0S>4s+)DJyw88>_7aMUxHxCp2CYNs~oh1WXA zlyQ9E$FCMWAVcDlYr$Gw+<{9roEXHMf|H!`)VL4psVkuvkjjRqta6ACESCIqcaFNX zFsYVXrFx#Hx;C-;JvLhcbK8aTjY)h1$jFnDaRJGY#5c?@dw-P3UreKI3JWJ!Mhj$I zOxP$9rP+@yOSXO$o-|7c1_VKp7Y)@*-^5G{85#Gaq(%%`6yi!QuY^S|#~6_}?D!}; zDH20W9W;oezDzo}(zDNRT@8Ggjh>tkKbB!1?Du?WRVd%69cn8ygWqnET>gzDs(EnkxA>w3m}bkS_8b51iQ!cD-2GOe;DPas zlUxONLsUx_Q4y|Uawj^*+P?lMFO-7VUthS1<9Pdi#NhwJ9IS|(8GXM{rGbeoHiC$7 z7+W$<$MiPNm$~K#=N{YmB1<(XvhtumKn!4;q|2;)w)2%Shjf=v_KG1VJ7DW)1oVG^ znw0|4dV%eo;Vxcrwd_qwh-7cvow3UYf|o#th&3!W0Sst?mEoXl4=4bu%QkiS0EY(f z^bt7mB=8utByrEQ>iOQoOaCv>&!mQ@a|#xkhhpWmH<&`StRyht1NdF;*59mts$@T% z+heI)=~Mu~B0LYX&ts}v)3|HAc7o;Cz=mjmSkVD)OHyrw?7}vN0StEjN0f`M7?dGw zdl5{_l}i^Oa0Ek$e{taNQqR|9vMUWJu{mo%^tG_;Q_(9NbH&`RP>caH06b<$`0Jx_808%?; z)E)~7LiRuis#!auc*_a{{F{71aw)j03NphBQ!P0rz)JCK&Q4;v~e+NHR|;>5{k&B|2ckueMAsUt#+-32_n zLs{~unuJ( zy^x-nZm6+Rl*aTtvwxoaWbs`Q2)HKJZA??{Xzu?2KKFG$gfHm>bwL)+r(Fm{$y`PO z`=YPcLuns+)Q{|d9R(u$V#sO--~$__cWjVoY6XWE7@vkG~}N?EW8Xd#jhBfw>P{x9KG?Y zFO~7)qKKI!+5n!)xqOa$rca;B#H3M)4Hlq8`IV>L9kw~ZMC$Xu`N;7ga9prcGhuuf7Qb8O80P|J7xLPKFzX8Ya-J%GwV8z<)}S7L|e)r2ttE zU~s9EeUo2VV;10H4AoYP`g_o1Rv9VFBW+B;v*7hnwiKz8l{_!N!|~>$ZIjUVl^Q-Zb@;CZJ5X~dFjBFRq499_Lu%Zn* zGYGRDS>=@K$jFu-6kk$w&o+$k+dAXi0TxGD^Xp4S*}ezrP`C*d9Y7BxFM?$R$4^OL zZW*){oa%e1&%%i)nE~Wx&5Zt4QpB^qF3N*99u3QJr+)e;P$9{(@79(a3=W7|Vxq2< zgz|w6pewISg$KucIFvRngif_9+ICyhP?7K4oJ*cOa)Q|LXN+e_;}FUN@CY4Ch#*&lnYFdp#}G`%>Dqju?3q! zZ_!Fbndml|^6MxRlrfwW32V+LyQkW=p+u^mMF4N6vCiYdWAYiYGd#zQQ_k5bf8R3P zW9j4(50L3_t;9W3N5*EP%*Y?RSfDs!NG7~bb(=4sEfq*+d5T6^il5zR*HGy~m2;eL zVY+oWczA!_w-ogF@Mj%{(it(uMGrJQyxp;$RM^|CI=B)#R2kX#mlrleJmm046zrAT zmgF4@+fi)F391y9Z@C_#?%l=uRMdUG5l9o`-N{g3OYs)i$0koaP*rp^w}d*kNw%~W z+rt1?iTeszSv_D`hb;76z_>=E35$vUf0V$6 zU9P6SGZHryDampXq)w4riIdzEKI%>l0W{6nu(V!3DB%K%q8Vfa!U13w^$KC^Ed-|M zF3Ax>*`A=R_Dvt&K{A(rZ*2|!#w^My4a};joJ$WC9PHYb{w+-X!Rd`%@x~HtPx>os zF^$R7=VNU#cn}mGNIa)CDL(DHdq9)TW#0rs_w#igA$kF<%B}eQ2L{3N!9cu+uF6GR zgZ`CSK$*ZyG`g5rG7&I)n^E&nmUcKgEv= zW}9=i_1qumbFF=S#WyGN5_tJ~gkp~iVLHC1KikNNi=cR&(XmD*i4D2?MC`8W^LCCw znY@*3F$ZQgDW`)tRoo=Os8M&E{F1NI5ah!O$G#2Q^fxn`@Zw1T#}k-PiaMexju=zE z$b*)JK--r)b$-x&~Gbqc>Z-5NJ%*+fytU1id zmRSEqBoLs7i%Oc3NJv=OuW7Rf*e3Av0M}ziX2iys33tg@1NN8rSL3)QC46@YLbaE$ zaBUxLp3MZ~UGG<|C?7vT9s{39NgRKQ|9-#-|KaI1bR@11&Zy^X62BqAxr+U!1@USV zv03gn92i*@Nf|doCS9%zjF!&fW?34L(V;Rkt!lvm!tE^o)3mEMry$aV!21u)pP8zB zphleM1y+ldy{)#P3RNp=L$SvLz0i@9|=ZR!R=i`oeN_ED(anI&d$@t(X!x{``1 z{fLwu!7*`R+AAXG^9*6+qeo!tis6gUMMZbetURj|#s^fyi2!Df_g7>H3T!r?UwDd> z!tdb1SGK5QPlRe6XBY}wPlE(`Mn-~$w9ooEz&Vc<;E$8bT4*xcR{ZPttGbbxryf<_=01Yd2=Yqj zJMt#D=PPbSl}@g!=~Hlj;yGW~)yh@1592F{qzSFl7MqE#u76QYYnXHS07UZF&p$Qz zvV!5Na_{tdrpO*5N9ZE1Q(ADi9oE0PhE_(i2F~M>+l7mFod@`@l_RxYm?~2#G88dmy5K)$s!+}l{Jd%8M3P{jE?mFJ+sj8|6Rz^AJu^FT{KuL`@ zdzi$H0#{l&A8^gh*G`Vnw)g^2mM7Iq;tY|9GS`6Ktx-7p2Qc8~0DR$@V z(%ZNsh1}HxBv-Glj>F>#k90YDbcK#F|hh9vN;<%QouwjY67A1Gh^SZEBq|+ft~{<7#nYx0l9>ve7tR}n(`E5;G_74 zV133Ax-Gs;)8+N(<%#BHAq$IOKXs&!Y*s_-2^L)Qsf}~~zp=cT{GyktvO^SZFJNFMKi#%=Cu=8Znx*iA)=Kb3K9#6rH7%~felr$ z(9|#}xV~LLk7FQ2=RHf2@bbuA3HGprHAc1x){mHV&q0 zxC94Tl@n+itt{5;U2}qxhif(wd@b5InyO)QbNQj@F?6V90w%C$DGZc&1J+kdv%x{h z^E>^|s|FQkY%OB7U7|6SHZh})}>9ue$=Hni@4zMZMSM}wFXvl0r%xQ{QEkQWx5pHkx>i2eK6C>=IUE)SmH%S5E51#bRbPQJsf1K%j%aKj5NJU+cBKcyr1OT5wYM z1aZhT6g-|2k4=;DUhNQ-!uC|bStxm^LC_P453_g`?#!a7V^xct%u@%CM@_|psDi*dUl=rx{Vya_4 zy;uy<6{JXToFwYBzu4&8JjK@^niQ8GZJ8}pF2FGldxL|NGBh{O{R>RF7bj$t3^>RU zE-zl4>!WqA{;EtOz6CeE5xts_n{+n%xB5G7YWzFy7dC?1b?%Ux@&*QCQ$Q;uo@n zYrOcia zms|BLjV#5j3VOi8Cu7|H)8jc%5`>YS_(&fOu~&*d;wF)1kt#TXTA%c`fKNm|H-UwXEP4krWoj6DzihVWuzj^>!73%9Moi zn;h%585Z&sawbqF<8p#qhXc27N48s?VsJV>F+U6eziPHE7dh%WQa$>K1c4p>R_vgnO1`1X14tI^4$s2>tEPOmy1ROO^ z;n2vly@l4`K!hsnCen=@Q%eWQ>GW$To zO{5CL2HhQCyYQE*jv)u>9ErSBup{9Y-VrcnJF~SUEKOH>jRT9QrYy_vok|j)QZY94 z)McFJ8X1zpBdBDq4X=S2nkvl_Z0`GVwXi@iqhi1dBZ|YpH7d!r2%)!VyQj+|z`iqI z!Iu1^?}eEsuFy??Klyf~**r0FG|_=8*Z(R8X!N6)ZMK{5<&X8)FU7_G=%CQ<1Xo{Z zeU^_)vlsZnJ10xF)ol-_#1S^pF4*js=@@c;WIZ3nxq5a2f@nygM4B{0!mz0uhfSU!U$FB^TPz zRDm0&arIQ|H|q`?WA8FcxfP;w^wGuXlhPLO+`{1j2k+AHZfB$Vn3>)66aD-(=Cfy4 z#!(!P_l%oaWZaH6HKsP#uXrWQPbPO4K6W`TG@g;ej~JRrf8cVIv*faIKSX7ofLXkM z6gH|Yhi9_RV@WUk2Q7{$VpS^##Ge<6kT>cu$AtAbM0TFgnce&_=%?Ka4@qab7hW9` zy-}!2BqVR5N66u_`k1*02QXn_{%PO6&l&-V=i4_k_6XpT7h%D!GKpStM_6BMfbPfp z@Q}$&6Z$|i1C*oaSUZ_gfDAUG)?CFe9^#XekN&M2`dw>Rd21KS;WDRq;JtD^uBo(m zwWU(>%EAvA%G%<>*hE1ViaW;ko6|kZ&N<_`aZtvi76>fFq`8VbPM|NLx2xz&+=>b` zj&>5LfnEPhwh^65d?}O>lA@TV*or}DC_6Y10nqOSt_G{~BSNYqJljBv2)=J99Z=YqU4eEpp)K7_wjxI zif*=wfNX5~gtr%HdZPMXeusx`#d*FFzh$diPH*?jtZBb%{6f!f7uN2FEQ#fp=b+;% z7=j`V%NfsJC&X;M4rV2P+kR+B1DLSOcCvBdDI#rSQrUai0I6FvZ>5JwiH;fr^Hoc0 z6ED~Y!lvLvs!0IKhjGTNiJM_|WN~p(`92IESb2lRhA5|5oY2M<t}D4E-;pLD0*$}J6YTYECd>awtb)o=QhP#7KCyvROQUPvlr@g~6v*$2v+#j3fvS4Iqbd z8znU$?=SP#t_vDGM=t|?zI**g^KBLhoG+$janzl#dCst$ll9E#UmXjePuo1}j_qE3 zMse>m3un^QKjC%F-7^4CXdrFz*k*7f^vA65yrjiA8_R7IS0W|KvC7aZTdKeBKu{v{ z%eN!w6*pjweC!~z)uV4_rf;k`3omjXVIr`ZD0nf+U`)OoI6Q>~R#!t?eIlLEiUwg3 zu@iCmM&vWVECe6frpf2c{fEp%$wFmjxAPli&JRGsh@#Uv}ZM30z$Ve`?tR71>8wY zdPqDxH`2)YN7RIK+YFi(b_M?#f*(lp1G5Sb8>VI-dAZ0EQ8hVv8uPMte8TIKlJve4 z@ro|I<^1$M77A`?$u**&Jxen!GDOSzGmQ_yPhb`q7abCWg~A}ui(r?3`~R5Ct*r`Q z;Y1|;7_I3z$K;$33=EtbshZC-TpW7kR%N&gbglMNb67l|!3nRksR ztRPnr1scTJfR&uMw6>PbXEUQ_T+iqAqBy-&l*>mKZ9CtN{rG-lN-Y}`^Ku0fSFmYs zWP*81Hnb$}?yfF{>jsC6>pYGCK=yE7@tzKj78!l8kP zyKgHcF#YE8bXGysBFS@_+7!8E z4OP;r@l#x6mEDjYvM20XHJf3u@{^~f+NM|1x<{Lrbb^fA+EZ>P#*p^ zo`@kqJ{r??5_e&!k)Srd^$k~NTA9%PBxGIg zzDR3GtL>Uyq!T@$hYgGd$O&82sOr2ZTwjr8JY&fUs-uRXHUYMykW~IZPT9Hs>q9nC1<1-|egA{@$dGj#amWWzrq}?lpcgF>LLCp8Ysp+` zAYlDVK#f2V#Z>b9bDur7B7X*l+G%2A5B7M?l(7&Xzz+D9CNOu@r`^pdclk8^H6hJN zN0v7U=jDEe8t=>9#E>VVU~96{@xPxy=mF87$^89j(|SHUY}CihDxyyh%mAa`IUW8? z+iU|J*fpZGJ|xhgOutwo0q0+u40TA}JO!yzi(f7vhcn<}OAvE!%`%{{B(c^@{2BR{ z*mvafuMf8YjnfTR6WYd~sa8Widpke-#-e;_Wn|}mFM>K$G)<$jyrYNDom(saG=s5X z4`)wJ2a7YjU1Z_Ey9va&sW}nijZxS{)-tLEO-d~&=nYHbe9iOgS~=r@h$t+B#{iXV z5tX%bZG6=?{9o0tGbZJVC)^wLl%XGa^>I4B^NUyjMvnn3o)qHn^vJl61O~5h&AHuk z$>n|%Jbv|=y2$tmFW5^_?@!9AWbISz4#N>>JG2h2|6aa3{2$TE;H=xLN`9M-U(kLc9O$I$B4H4~r^l zBsR5O5?SFa!vHkj6L30M5Td5_{V9KT{KvL3m;67UIsb4mSP%^x90bcX19+x-0(lUd z<~-{3_UMtPm+8Xs90k0>+t2k=6T0fH33!EReX1d`cZI+v=BmXgQ_whrJLwk5A zm429?6ZJ!SsU>Yc<praj@Cbgu-~0czR6Xa>5uv%6>S({m;rGGLss9P@KKA5 zTJhfJkb#eyNR#{#PUh^8N;ZbIt5GIh#S?}BSH3K%a?&4@BjDCYiNO_{S>0SVGtxKl)N`r2^E9CTb*OOBd_o{{_MLjC&{rgN|EKpm(xiJwo%}BV2s?ukM4|rXKo7zK!a-^CTCq zZj#op9=o*{FK4Jsg%iIsq=Y~<%Ve5aVpMc>Nky&KzoWdSM83`YVB&uT`Zev|5u1Fz zI~N(;f}8pMUw|tP@&N?y7x(d_alEBAND)qtdr;wM8W>FVpZCqWZwb;@IEYKrSs(ND^?#l@$B?|95r*uZ zcekABgpOxs+o9i@cXTb0=#pagKJ$3rwAxio=B*zue#SDEX*q?T&(H z^NCH`*&UZ`>wiVFT9qa!bZy2piTpqJT-NjgNm&OMZL_bNnx+K(v-7F{lnPW#qU5fz z)VMoRux<&C!A8F1+yb#o*Z6sF^X}j7YC_F%Uf$2i4&7M4cArdsCt*C2+F4#!h+~^U zHMW(Xzc;%3WL-`Bs}7X0$I#bt+u6XI}@hOU;cw@T&Bcbr?^eFy8b?s5#Ia zkCU?NR4?$Z9#40TcdQNRb@0h!1mVA=bd!$zy`sOm93yCLo&1Q}p92r(I;Tpc^D|5q zGM9R#uxf1*$+cshGBj!q#0};)Y9(Q)r8WQ8qc`FM@$l4Zfbef8r{I0U9f`g_ zf(Q0`I&^G5Q$IlWJd5)h!&FM&f5Kk>tb1n>`>`d^|H&aCB4c9)lrcpAX3#>NIs zM}GI@#Kf!GoAndFK2*a>#saDQzMq1tfBD`TE^7eFtKO&;iJM#qy)JdtWh(s9Gw>ca z|0v~1AN#UzV8F}TMy5<_PI%5zp~*pE1{bpz7I<;m)`6=EERDa7Lx+~H3MvgZ%-JvN zeZ#m;u6(e#Ii_=*ED4@@r@$H`_d@f@eo&f3jfmDun^VQ6!?ia)mwtl_gogfxjYkcQgD&%a-~Q?4Yjxc0BfKQ{<(s5EYw8OzW7DHHN9pN< zS#sXHj_&Gb5w4gHQV8zXSk}5W-vH8p*Nb7e^4WQEcm4L^I*hs+I^~V7uPt7)U&CJd zF)}v4hoFve=h_W_w51QRX!G6=Z8jos@OegP8kh*My`v30pq?pIQx$uL8P{9x=r#@d zw>C7CY>PNI27mN%++IRIo;_j4L!G4Q-P=ozpedP~n*-=BwezvR@JL89({3-pRgZpL z!)>!{hN(m6>!F9TTJ9qnJca6^Sjqm?j|l*Ae8@ohFT<{HtUUIue2fRZjBlERJUMfG zKBil7%G+^Pgn$r<8ZxxDMg$}o+d3V7fns6g+PYV)n&;z}Wth-Nd5w6CsfG`w(3Ayy=lT4?|q9D6=&7Z7ubeefu&d>P6fS(Mn(P;OtR`)SL z)d8V?_Z3C_7ELRCghdO$%@TB#{Fv3l7&VN*91VBe`7(&J)N@6KB-ukPUmYqRdNAHm z9-p>qh_WORO|{nYYT)Uuh--1dLF&TbZLkZULZaf6M-G2q4i0oHwG@3Ou4BMWl8yZS1HPeuM z2*kgJT%b(ZhlB4P5K#UWY-=U$c}w`c4mpdr=j7-pcFa1ANJb#i@Zk?9gOojM1Wte8 zjiu)2#D1ZmLhZ52a|3U0y5HXgysu1rtI)b_SYN&|Bp18CG+x15_xqdNLJX$SfM~wm z%3hto2c#Z9^YIabERonAD=!5;l*ImacWP(f5PK>lstEoSVd(x5@UKp7cr+YJ5(fha zyws+ZUfb6eX)$827W=u{1?ZX>JDnAZBs!(SzIbNLS26aELbcVI_N%u9U z@F?W{JaB`=Q+SFkX(dVEI^gli^!p7F&Bt$;@jceC!`Tx|cI+t@B8HXV`KVW5WNG-G zvu)Az+Vf}B_i~-DI02;>6&dD z;z{Mx(+2PPWpyt|BkWyT(CB`dvG$5FgrA8BOOER|feV3sB^!U6yX=sNUD33Cg0$f>JoW(F7Vm^OUZN&xP1%T&{4ReawM|na94Vsqo#BeYP zo#ZKINih`ea|#w&^)Ih_Dpu1KIrSYaCKV&50vxu?!6ljcNvA6_P*e`rzwz(w@ZYnMGKPF={#tZ+wh)YZb8t}U>SSmE3jEjKZ3M&?BZjNcfPw0IiZdIL9#pO zN$RwN&NJg>=xA)>&S@S!$-47#Txx#1r2mI7AaF3;#(Uab(AszN`k9L!t$pM;#q&Q&IrYiGR2Djm4Vgh8UyA|KwR@jeNfnehm*hifCWC;=rw zI{YcsyqA2PDuU1<(O*}ddxC=AiH%wmcf}b1C5aTwFsTrBsB_s@;H2)93QExXTRS-V zS`f9j)M0EIy#od0xmXkcZH&Fj=&s($4j#a4m5~KYJrUXxDEskV7P^Oz#gvi8_}S<2 zcm@_?flR~GHIJrDhcu--jzF9ovhjOaQV&lzpMPWJ^B2;IzBD30i8gf-`usVO5N*g^ z><60r7SFl*s9gu4@WvAdmk3~EzoIc7;;I25vx;`$b^THGDesYH(Df7+N@2$_aBEmF zQcTO&_wPShPJB0pfO(z#fwvz4#Glr4U9t1R%3sFDUzeMbl9~nus+A6Kp-)H9++n|yi%Eba^=^S=8&AVZF<=H5q+ zj&y6H!88(jUSc?1(`QW-CawFlu{H=uxd@$_Ek@r@k`j zQGwtsxT>=VND(G2HZ=Y{bvDNbfnm-Ip<`U2>R-7eckVPXkY_8v z=ovzdxqMZE3(!&6x(=X8v0-1XErZ$queGoKYV!U6zwWWY=+PjJG)SW~1Efuy zLB#IGa{&@5hdEy8+!4Z&U1z)x6>h^Sq8u(Dj!>!C`z>fCh7YI9I-}9SMp_{3;CmNf zFO;g4M&Sc*z#Yj&c_SK3%^pzSXhm&t zviy{7wMda-F4$^?6j#c5wEBY-880cBD-M!;y{|pwZ&aN9EB?+u@aYL12DhCeo;l*bLkvk=>xiQd zr-xZE8!iuau@qiJ;dhVL1{pmVkLuAf9MD?&vo{UdR~#nF1VP_%b(H-da{!AVOXkCuo-Xx|=~KkUQYX6w7K!LkeEr8YZ)rz< zSJG4XYt2!JznxuJSlB?((93KMNsZS($3j*t_Oe*5DMe>aRJ|i0Op7T93V~a9Tn%t! z@a4zXyegK4(Arq~L(Y?(rFMD)Sg8z4xU;&+H=$yHz@)n-o)`qw_B+#2%5J@_;dzl1 zdUnuL(@}mxe_34mhPVBM!KXO_sb(O6I3HPFh!QF#@S4to{#OUJtE^9+P4O{@W25>O zw=|eAA;>+BRuR;kAc7&-2noe6Uc+ZGjzu99C;?SieJ_i}r$CS__J98r4hE`Vf_}T- zrbpUET_NH!+Z8(68&(bh-Xr;Ai}FLwwat|h9XW~n__t-cB6H#AqgB|`9k$gx9f|hZ z7GH^{80oI?|ENvW9GJZ_2|eQMmZw|Bu)<(XJUs~5UFyFIo7^Bhoiwl%xy)NknWqW2 zhAyyC$<}^;TR^lbotlq>`xoyjqfQ>dag+D&>cbrt+x8HAPb114_}J+pe*am{g#tF{ zmrmhSXh~;=26xAy(%0}rt2S|^uZ}H6-~(pGyRs8gz}5x5+#H2@?wYZw$?N7^!TFG+ zC$LZ*QpzHGy*%RosDOMRz2&Re@?qi3v?js*Xg)qC=azzkFZOZk;H%$#QqsdZ#06|J zQ^BDh8PLgYsS+hPKIV}W+xXfoY2fcR{-Y@cT02+}b%+YLMpT}*^OS5)nZzW=QiuZc z#YtT6yh$pY9}$7X8nXg{!_5{ge_`jUfFb8#T82t6i_^S!Q=wQJ0W>%+Odrh8hwPc! z1Xi656<9c@d^v_J=n%5{1D~{&gr#UUl6>wVW#R=!IQP3tRM~wWOzEUsy<0o{E$k@r zP?LA)*->O?q4^Iq@)zE%Z>U74x>LTUirZtM(B7Av5}X06>+0MzBfI*$|2x%hu8{^z zS@qJKG{}I~-Tu+h2NzcVsHiBUZ;5K=|5ggy4TWI|gzdcoyXMiH`7tihCm9d#yprZ3 z$`BmCQF=!v&UuQ{~V|4?u8>PTzw-Z!W3Xuh;9h|7lAx)aF6hbjRiHLtjo^5}s*JB}4Id^;g5{$33NA zlcS@1BDR+@_l~|Tuj)*__`R$=^~Kz8ovQZq!Jim&&C`y(?7fif-FM=KJFF}$d0uXw z>x%1fV8)omfqfc#BnlM2YI;>w$SR-zne}I!uvdPHsbIyb6>irsP)W)G(d&1`NNykh z8BoWD0|}|#IM0V7X1Pk{)okuBY144_XWwf&G2tDjC;h`C{)K5?vu7&&xSZD*%{*R^ zF$OSM$&Y*>K9N*$o{pT+i4~)WH;atvbeLk}?>}BtNku^3+@G*OGvn>dhc8)4$m&4i z=J9C$N_SjN4m~Xy@M)LwcjBEtFQUWFnQNZyH+Uw;#dV3~eWVW|V$AatG%w;4Uj-t$0CGgdNo0Ljvnp6rgp_ zt6N8>78l@m_;;6N(dF=Oz+7`{E4E_D|8nr*>mc*J9a`BEl*S?_prepx-1(GK`7k=WQ5q`Qjgfnx$^+prxC zc)=^B_hJ<4s~a1u#cGZ}+XPDsyJ1ZmY4pYsg&dHTVm5-mQsVn@90zLfJiYi)?jnrs za{1+$K=cXpTyXqvTJ!AkjlHCAqAnvTB11PHxpg`#9&ec8G4qW(CqHLynSeKNFtvmiI$d)E9iHEG?t9#!kg;q2`C;O z9k-o69@oi67u~4tDe&89;Oo~Qn>*Qu+on{o3&3QV_W+}Q6(*o&N_+*&6g<1KWvz6b z&J?N)#@4r3Nc>p$KisUcbg|qt*;D5FoO{cv{?E{r`5FGUgM;w|Hg5Y{D=6Z!LR$)mobxst_ETSg=-eE#$zF4F7$sOnI6AJxLjuM^W zGsJDtL>dE?4W-K>nkk^QH=~fX?8irIQyr~;=kRzLzu4jTf>ahIz+L0#%##yec@FC9 zRx7<|9()ZKvjZ`|O{gU`F})Lj1O-MgVM0v1fWVZI3ceI6^+A@gxn|6Hj z8~RCV6$jik({pz{r0`?F`%c&=R1p7n{;_MJ5y=_-@Q1V@dAKHA1enXgKdP(rBrsQIXx+^YUJvtt=+Lmu@HduWcA zU_OV{^Fw{X*Z!S};wZSD5i#?wYU2&AiksJz_wQcW$1sG~j-F~fjiBfCq-&j@MI46RTIad-N#n))LE{!I zPNvxjv33zyH9g$;@ve%{t&*AQsogP_y1a}76<_RA7)uRNR+!5zck9flPsxTVvY*X0 zz>^oQLN?>TYZw`i?YY}A>ugD;6$5#5fHe#D6=&pUm7_s`TIL0KrIm<=hP*ElvH6<8 z&cJ){T9)l&wbP?^`n}zRgqAt_810@;wB2@*j?1nY0Bv*i*T+mHrY$hR>zZvey|=C& zQNX+f2p0dXsIWY8dC~S*Q z$W|K$gE3&n1b}F^5CcKLrI4iu;VBkBQw;Sjm<9AqvGo1(Mq+EchlRP`Ga}hRV@&OJ za<-`qE{s4k4b|E7hY22Ht*4ZmHDySQn!#kwEC`oB{pDq< zI6Fn%=5O=Z{LsHW@_86l3GOLtWI+4dmS*<;41@QqMSi|f=QQH7E;SEm;>&1yB_VgC z<$|AkeLiFFUZVY&&Q|l1LXv!AO-%QQ$*@u3Wvh@;>&7WwB{l9d8sxn{#PJ~_MH<|f z0!sr{tb(4)a0uMC!u{EU3X|CvB;v+&_f}umE`GS}954T`%dK!kX^JqQ7WUv9cpVzH z`_mY!3LHRq6h(eZZqZ$8ptC=7sSVZ$xfs%xqQ}Sk|2#QsAVU#X&<@!nUt2~8Ms}B1 zjNWo$A}t*fFb4n&907j=~72LA0}+g82LoLo%ih5$eum8&WRqda0s=o`w113utaMvKPBC9vbGwMn;p_SWt5G&ZGSfT!|x=b0%Ak0a7cpfEy0KucT8 zjp7O~NFjz=Jw6&YDRiP9dT?}UXKy4xFD>~?>xWS7bY=zlS9AD9NEG4IZ;J<#3f8#)PDfz0e*IHS4!X-6-go5``tVBmO*zkXFU)?5g%1De26^Gy66p!9 z?a@b)w!Wjs8E13&Q9N5WIq+Xu!mzb=B#e$c>CswfjA8O z=&4xGtH5b;tp9|scK?;#YOz}tVLZ_ed6n4dQw%(&{oDttChd>-TBn#XH>qHRQLm9l z<&IdNp7!S{Wd9M2L2bRkfEYw9`W8stG(?Rd)++CP$m~UYq*#rNodT}LeH>g~k|Gzj z_PQh*2(KDMw4%NFP=2cFTJ9vk7^aosL{Cn*tV_GZ1juLQjI?VOk>u(8l-l?h3PA{a zE3w$%h4V(8QHt?-|19*YV49%5zm;nQRZb>OT}^#-iK#|O%7bO49#}k<=^JuNFi)`r zb3Z88&?gaF>p^n+gk$-804pmAubw=g%Ue;sNl@e+?3i42l+^d*Rbegcb!H6xT4{#vosx3X9K;WsKTM!~_dll$afw4k)|j(6*Dqlg z84~;FSJDaL=#xA-g@tu&FiX7V23ZuhS^z4~;a^;S6eG$)j%$J2M>Kk6ldc*i448!~ z5}PW~s+5yXCyW&dPgS-;(%0xt1j#sBZT*xtn|+$0EjkJo%i_(~%uJYETZa9-_@$)W z*>s_1*ovLIpV>aSRZAF!#F6o4tAMJIqZG)^A1gv@fD*pKYpYjqmLZ=6m*OZHN}t(V zU{Wdv%l!}J>Cs&2E+9FhHG3mH{?_J`5~b^Rc}(}dhOqAVw)6{|HAyhMqFp5?Kn*PK z7OyM5w7g2euJGQbKV>~wY4Xw(t+91iblr%Ef^Ij8QnXfi;;f;o|L4WBdQVdyDb zfuo4d2o2ESRrzHV$ftT5&_gu7N}P4`Z1-6keHqE$VgB^m{*7<)yq1%hYVbd zfc2a6QJ`A7FoSXj1I^o1eoa(x$DNSLoro*sb#JT> zyVDnvA+*pEbvH?3c4{R+tw8r>VjW(LN?64>LqL}HEt9O=YFIZfZMMFYfJe%+VUah|mBkl%e>eBwpr{A%b z1@+>YWpoS{U~X7ALaqA=&j(GY1cZ$3_u{P&AM+JnVGg*+yz4c`MSeN3?ey>#hB!@) zPyNTZdX0i~V3)oCB*#U_v<^8Steh{VO~JqQi|+9%1k(^mC9*C^_Ouu8WmBpv_A``U z)J6i2L&oItm|tZ>MGkw8Dr=W`L*};U%%#=ZMst3K+>}n_N2-OMSXAP1!*11|gS%4i z^W!$b(noTI{*_+4@JP-1o!U>4-mA)^VoxK@8kFl=Jsa&12~{B3*wo5j5MRe1NEza46v7pdxC zEmkb78+pbO;xD*;zA8A8&s{V^qvsB{^u#AYVGaysiOql4i@RclnX7-o#_te#oWFa$ z-ulviOM4K3lvr)w9x`QhbwA&k64~`4UeZboG}xU&NbFe>y_5&>o8#Axl@RyH@4irl zP}m8h%Ue}rU4BOgpW3>VuNo$ZTZ{69J%1x15lzV_uO2@>dPoNv$K7UU3RU5nej=eg z)Js|*lJ7H~*=&)YLPoPX`i5P>FJxJ!UT<5_LOBB5OZ-9>?UT}CLMII3{|3_C5(1fN zlhm-$3uJ;|u!q%A=@z~#g)a+fpwLV=sKz8|c6_&3xmik!=nhJ}WnyYKyAe}7eVWx(lHlNdq# z1;mht#Ll+-wKsg0csscfe2$eZC6-NeX##uY;Yhm|J}+M9tKEKcT4(1zz0B*S1~rB+o}ZnfFp%7RrmfSlv-RS~PKTd>d93?C# zN|zKv)79ZbyEdUwDuD9v11e%6?)*t?1SdVCV2fpxAx5v?vq?45aoAWtky1_41j)pc zkPr&Tz|)j^%0wJ4y2ZnRVG5HASw01jl@T#3;ISc+t{lAmO@1-}EidLU@vuGLutQqZ!#Wp??2wEYEqH?OJgYYb9- zso>3scy$VSb!CZNAUDFn@plw{g?@hI(KpVIjD*l|2Hy6aA=RkyfZ`%5H7*+7lFp8= zWMX!;uYaG_uCWQd#x#(Pl5B2;PtIVZ2;nY2I7Tj=Do$IeA?{&1wG9ycue*q^+K)Ze zQH6|dn2m2C;1YyZ;SfeY-3Efqw)SA@l|8PY>+!XNspW`A;s}TIM4m@sqdTm43ut>L z0@E*K6&3dKr_R}Jv`t@SmI18rmjB~#al%VX2ERCf>)!oAS=4T|HBGW&clOZho)?I$ z4cKa8k~(FZtlHesT7QGc{reelaqV2eTldWRI~n=-g1Q>lVuUpX4gDjH55G<+^TCW6 z(*Ylz{;hpHP^eD)xFE7umqCIs$}n9&G77E}7(jbSAdftMI^}mxLmk8~Om-qX@BxJk z2iKke`fJ?k-lZe?>I`4QG8#CHM{4e_BePZo3WeIX(wq>lMU^`p%CToa*jfmUic$fg zC!J7JLVH>RKy44y{&f3S4ztLj!(4}9I+cNiT{yTZ^X*}#7?_D>>K~6LFMl5TNsEJ+ z#cSEcWu$SNmOAYdOvVW&W8CQ|Q%jL#&jEJb`DQk?(6UTGVV#07eH^g)#B#l4brMmu zyEZyGnPDGRb@z3It0=6Kjz`TJCcQvManpU;xx!9{s-tapZZ_zG;5DSJ-m$(MHacXf zhz3mlGUB(s`9}KT*#w-=(V@otCq{w1()^9tQH7gnzzxrV_W{B7C4O#uoQMdiv3H6Q znjwelF2|*D{91f48TL1PAHwxt-n@<)yTg7D|M&3pzie@wyio(pqM(B9q9+cPdV9$6 zS=6AD8S?XhU-PZJrNbZ5a3FL?JA($@+_G%N7LdB_YU$`g@5GFmA*DdoYyjW!$NafQ z6$$!?zJ$xyp2XFu#Rat%VU8CJhXtc!-IxaT9ZS=Ff^&K~US${@w!Pntm<<+>i;bnT;(1$HsV1|(oN+#HqbzsrsfxH! zV)2595@Om@75#Ea%ZNli*^f6xSeLI8x($s4yxo*FGEK7Tl&DcEQ3f<4b60@Ukir5 zGkfoc$UTj2-8(ss?AMmmtVg;!KWcG0ih7ww;?>?Kr+~hRnq7E}x;2)!d-Jb!c(JYihH$ik6qQV-j< zf9yQ|cqK1fI`}~Nhl2{(o146K+fAkODv`U=r2cvD`}e(@Q~HrgQT#Onaf;mlTev}W z|0%gx)GKYRm&Q7?*g!JJCRO;D4kaQqB|nGejhS>GV+{+Y&?iL7eDn@E(>~^7LjvlQ%iQ0yat8bVKpAlnE70M`WD{+J~vC`7etwZOkzV)kn%<9TuyxOHE3~F>*eKz zmE!tf`-zuIPrlK;B+78xZFb7BPmzAJ{JWwdl||1{L5rwN=%1Q03cgi`8<>XdS_9rm z*H~PspPI|+WCv?*pqIP*+PNU*%cgcx3z{6wpm<_r~D3v+kqsf^VZGj_wu#Tjk=S@oW<$Ca}DjjcF4`%v9Y0q#LjV=)lo$}_ySRaH{-xa zP>vJ}OV*JN*f4b5g+T$y%$?DOEPQ#jOUp4kl)%Q3H*gh&Ifi2dkw`#es}a-~i^P`n ze>E4uU8}u+s!rhQh4~a~XiCO?6U{$qihhz?$o`?LwUUi>&-p+`a?#DBPGj`72373@ zSKxDH`c8K1!3B*qaUbdZvgG}ghU(k7)RF<+t{SICFbnVCs_^^%!Tnbt>A)NJMRTVU zq5!-?-%>qD7?pS1XR{i&`yVazz^CPLxp~jKhxzXLt`av6el64}#&&fY%YBTAn~z@Y z(VfE%*r^0~J^+1cxKEP;d)RbI@5_X@-p)HSiib`=-xrB|d2x%243@5WHrrEFRF@~D z$^=(n#trA;VAJk3Il#ms*_9+Qvr)IH+q1t73vcqWM?;fFe;oEz(CTo5wSQACB0&r1 z!ut^kVYgo^2)*S&?5_dI&kv*h3jJ%a zY*{SxMS`kdb&8FJj@2-C-{{&?;1E0hU=QM3rLwe)VS(csZJxMgcuQr|WR1629;SX= z);i&+O6S5zQm8dabX7@Sz$ip zPA$k=3pBcQ7KW+=3)uP3)teER;Tz=GeF~b3mC(Q4*#KiYbj*jY>=KI=R%&$IfG)7s zB9GeS;^cgzoS)}$nI=twK9L{aSIV&;rx76~V1A96ny~pgRDs<9G*ifvM$5r?`$vBe z3U9ywi3Wn$t$dxXWx4YYe#dJka9+p?Q_6+Uh$WQtM5q8+3a*Fb#A_2D6bd}n!;b4) zrYl%t={bzW0LjcUM<+)@Je4wF^vKNsd;iM|DHG@`(Yw67iAC|>SI7dr|0&>ep|BJM zXqZW09hUnjgOo0DesW0`C|~9sn{j{ah9bi#P-y2AZ*#p>evSx_ZAkEmWBTC2ZpP`< z^d~jG!?~eM4@z<}5C=Bj&e|NTAHB^-@c&mkVfpK!5T5{E-WFyjuDzi?ns~t#hSgVE zbzatRFFfdVqy{-7m;L>(P+Vbiqu-STYWIQ6zMmXOx@C33z9ASCh%U+G5e6LIU{-_i_AVPyna zV!_l(jue$>rA9`wBM{#xekm)BA6S?By1}?-=-iD<*MTttBjv`Df?-WD{sT|=CmH3WDt8o2SYQ3A8xgz3Oc|r@7`se2oZt@aPvGmWa+Qi3oG`=Gy0Kg zkK5O;E9E-y5I-xgNCG&0^IDruMJ4>r)}nFErbf$L3Ux`174wbWnTPB?DY01d-3 zj#1x9=Wgt5$h8a{y^fC?sWYD&5rsX2mlDXP9hZ4w7SeFR52O{-NT~Uan;)+zhtJ%H zB`Y9vsnGK>lgsdP3;GR038==ho`lgr`N}?ha0j2gBIC8ot4)oW3}|jlTmo4PQY9)V ztqN3E9w`I7XcNOK;>UM(D)ffQJ?7B{u_TQ_QJ{SLpqXa+w^8Q!diIaLUALPT5~|;h zZH?T`U-54qJLC3zT6O#dj*~M)`$*P)qvF@^U1%3F)EjSS#!UNd)>gd`0Ky09s>t%T(vhSa2Mri?`h-JK04{bis?-*l%?FPx(PG_3XgXUL?mt38DRO8 z3Hg`;iIq!PqsPn_C&Rg>K$t7j= zx)=bF6lc)VVW2ivq0ou`stdzjHyC@)U7UFu_ z*FN~iTKm}Xp+twx@guIW-W$FcP&<~%EJhh+{vwhX%(>Nn9az-*l*(%V_dUC6ptSaW z4-j=_U1RXS;-=V(2z5)PCAogc|M{61Rfbvhd93P@1q%70rz8Ig4=7YR0k+`PZ6CLD zwbJ>^3B+mB>@Gok1sVP$|9LzyIOwl{R^bi!m>fHBuv{N-5@}wa^3fq1bKqMpptrq8 zhSAO08->b&T8Yi$S2rtWL7Tz7M;p1 z8ch9-g`$oeD@vWNNU0Z)x7*N)L#RXgYJe$Jm`F%9-4*)PQ97Yz`PYSXFGKx{6~n{< zEiC=he9*(pG>q_hHsdvHMjJfRJXVwxP_XxQ6}_Ka7zeAZ6!kr_l7}3qtD=M-)+*h# zUZcLVUqFe~i5OzBf-!ECEz%$T^EXe|gQ$qgWEQp5B$#OKJ~#B`ljRs+!vwh;a9(k$ zyNukUy={$Bps!DI3U7Mla-@9%k;WIeQ%{QdTSg3| zMZ)F^a~f%1SXdBYD=^a~VR!0CZ26Cjen-+W7>VsxfkK^Wyd_}XyzyN#mVy+prGZD^ zD591^t*xyqPu8htC4@=CP=9jBbwl&aP@8a;+l=i9JdL}3TPO>`=RzOjp$04%+%M;O z;Z2q#0rOQ=H|(&ZRuP|*(8s%%K}xIs;-85Z(w_v?hL`f?f%9jbWZm?e*5tsx=y7{!_k8HTS-cEDabzx$ zUnF%M7{M~fPMB#F;2H)Lpvd#*l7`8ly7VE9NWGCrE&=Ysy~y@1ZPHG>@#6lc6-yUb zQ30=d_Ar^=KmTXI^&bUH>&j~PCyA)AXk?a#{L+dkIC)%d$}(Ka^~Cva_Q*PEoUmID zllibKBt$DPBBzlF$uO1I()7V{9ULD6Uty@0@k<0(^`LBUfv}oGf3Bfv@nl2zdvjWS z8_4V$34WdrB^B0#o`iCw!gYQ)h6jc=E$bQ)#HAMTQ(;}0PVga7;c$#591*W86NIWo zM1_848XiAf2WmdTEEuoWJT92YZn)UFl;*KxudPET3(Y6@Txrxq?i`;7>za>>LPM3< zVX=>@)i3h77|Y%mwP9i7xRzyrd;M#*^o=INVr4>f7}KH^H{~SU82DVxb0IGzxzuBd*}wyZ;`h zG_c~z&u2-+5elu&`{t-RLxqoLzRBv%9 zZ;(2!p)2p96x}A-NZ3PZxH>Zu&c(|U_R$y6c#ae&S=vH1$eYe4n~;=DeT>VA$iSQXNtchzf&89OHT?#RjDq@aS|3YJJY@EPF`G;{d&E2Z z9Z(3dhhb-L68d-TsIdB^aaw`;rz76;SEW!vilhuwm<|dRsgABv;2IW;gM`^BqM2U_ zB7sb!*6PV=YZ<8Jr?;HIveZ41WD~p~CoZQe7F6xze)EoKR{w_|l~{cV<)X?tZ9beN=6& z3{G3Sf-xxN$-O)KT&YnjG~SbJMS@x_9%I8E(~Qy)F`AQ7LV766{RQlQxlJfcjhgQH zzYZEe+}1=wsVSW|i7dz2*MX}Mnh&?)eNRCKfh)s0UZfbir$@M>9dl>loM0+b({lkv zBEf_e*2#T4-zmI7b59B1Ki%<-mIL;~~VKy$I)hJgIG>=Y3G-4j28C<@9Q`J^AF?NbHrV}25 z)ia57HSUfyrdSc%4pxtj2pWFKCYZBne3co|A%iV8VNu9V+FHw_4tk` zl-jP=!p_aIu?N(0+4Om4N*Lyp#_x2Cr)dMi0Cj+#W0;MQ0wsT*9XH;Zg` zEtDi9iAi+mek;S2IMQUTTN{RXFDV9UIy>o9XaKoT3j9?=IvNtzU0q@Mv2+dgpKgWM zA^ErB-v64VUxZ6S^)qoJ@1I|VoNeH^*VcTdk?cr?XaAx+4td$h7AkoY8Iv!+mW7UJ zAS4~$zk6Q&l;A~lz5uQh83;vvnGj~)cI=cN_Ye&xN5=Xg)Gyt(o}%o(sq% zE}bfeVz(=l;OrFGv)TDq%y>3?0EPDjGw%JV2Qni{Z`7pPqS*n)FfykG8F{W zUKJ+$ElR9KW$!~Fp%iM9Oi30=o|x;D3%pOGtEdTs1{gI?9wOmf01iK~Ej^ba?bVlf z=N>p;C~f*j2+omKuVeHMkoSlyBuk$DxkhE9in5~;j1{jKlnWn8&vKQQcoURF%`l^i9N8+3`C2CitM&HvCEN&AOe zOEQWd_`>DK*tCr3=EQ!52$-6+k&nw8C*QWnqG(lOdqE4?sX?p3NZs#ZR1*RBdPnwq zBRqaJJ}da{eNNA78GMBQ+ij|;H@zP&n7C>mdLVuETHP;u?7749-CN-YD>={cr}O8; zIyX&IcRfF%&WZ|8!5CLpdKvst}wS`3MJQhab^8Y zVcJT$^tk1E6uJhw&IU)*~aTNl`RnKkHx zO8oZg*p6IF+kt-{afc=hUe7nON49!Leif&sDy#tM6+vb8b2%o1(vF66>xB2t8 zVz1b}p4l*b@Z7)R-R*zTB$?*;U54iyLr!0Bddm?ni5o099Y|;Whuazsq*m!!mlftJ zn6i5M-_MR{k^b@YnoAADsW)E~hZcU9zRPc0ywG|Tk)vuFujBhx%Eq~JIDzhaH(|af z#87!FF+9s>A(v6}{87O6RP=%SWnF{S;>tHa-{g(T^2*@~Q1j z+_6`}G3-@tHAb$){tav%RjZ;j2Mo)7GUDknSUo)p< zT@6XP`y-lge|zV8$Xlh!pK|ifZ*AX*(yhF^l!kQb%I0Xe;So8wG(X0D*KJ+I+qpN9 zqebV|TVBZqvcbfuH$4S|t@A>MQ4A3R?%gE_i*SYwUKsFPBXEt{~B!F77kF zDMWu-Y&xKv?0=Hpl<1~@vvR}q+vLBv&EjmGP)@z>x(gNa&q$r&P)8c~?}g+PCUSF4 z{{F|of4sFL!u@Lrl$%5w{&92Y$*AZ3-o&Zh%-QBGcLC0V4~qhKQ7kQj{q<2C^3KLy w^^%5uy3E$#IqB12rYz~&|IcqedY_&{g%j0f&90@5fb=rdHM{y=+adD*0eKW|M*si- literal 0 HcmV?d00001 From a6c85affbd3704a6b0e09f9de759b852fb3ae8dc Mon Sep 17 00:00:00 2001 From: Jason Andrews Date: Wed, 26 Aug 2026 08:32:03 -0500 Subject: [PATCH 2/2] Update _index.md --- .../smolvla-onnx-conversion/_index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md index 418ce129ea..7ae65d2891 100644 --- a/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/smolvla-onnx-conversion/_index.md @@ -1,5 +1,10 @@ --- title: Convert SmolVLA to ONNX for Arm CPUs + +draft: true +cascade: + draft: true + description: Export SmolVLA from PyTorch to ONNX, create a packed INT4 weight-only model with TorchAO quantization, and run both models with ONNX Runtime on an Arm CPU. minutes_to_complete: 180 who_is_this_for: Machine learning developers who want to deploy a vision-language-action policy with ONNX Runtime on an Arm CPU.