From 06b1f4921fbbbbc30bbb2201fd30392df8ce33cc Mon Sep 17 00:00:00 2001 From: "Ilya (Marshal)" Date: Tue, 26 May 2026 20:36:47 +0200 Subject: [PATCH 1/2] Add benchmark with other libs (v3.3.2 vs others) --- .gitignore | 2 + README.md | 22 +++++++ benchmark/.gitignore | 4 ++ benchmark/README.md | 42 ++++++++++++++ benchmark/chart.py | 104 ++++++++++++++++++++++++++++++++++ benchmark/conftest.py | 49 ++++++++++++++++ benchmark/deserialization.png | Bin 0 -> 52012 bytes benchmark/requirements.txt | 14 +++++ benchmark/run.sh | 30 ++++++++++ benchmark/serialization.png | Bin 0 -> 54493 bytes benchmark/test_decode.py | 13 +++++ benchmark/test_encode.py | 13 +++++ pyproject.toml | 10 +++- uv.lock | 35 +++++++++++- 14 files changed, 336 insertions(+), 2 deletions(-) create mode 100644 benchmark/.gitignore create mode 100644 benchmark/README.md create mode 100644 benchmark/chart.py create mode 100644 benchmark/conftest.py create mode 100644 benchmark/deserialization.png create mode 100644 benchmark/requirements.txt create mode 100755 benchmark/run.sh create mode 100644 benchmark/serialization.png create mode 100644 benchmark/test_decode.py create mode 100644 benchmark/test_encode.py diff --git a/.gitignore b/.gitignore index c598a55..31d97e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.DS_Store + *.py[cod] # Generated by Cargo diff --git a/README.md b/README.md index 81bcf8c..bd24a2c 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,28 @@ You can install or upgrade `libipld` via pip install -U libipld ``` +### Performance + +Benchmarks against [`cbrrr`](https://github.com/DavidBuchanan314/dag-cbrrr) (C) and [`dag_cbor`](https://github.com/hashberg-io/dag-cbor) (pure Python), measured on the four classic [nativejson-benchmark](https://github.com/miloyip/nativejson-benchmark) fixtures (round-tripped through DAG-CBOR). Bars are operations/second relative to pure-Python `dag_cbor`; higher is better. + +Measured on Apple M1, macOS 15 (Darwin 24.6.0), CPython 3.14.0, `libipld` installed from PyPI (PGO + LTO wheel). + +#### Deserialization + +![deserialization](https://raw.githubusercontent.com/MarshalX/python-libipld/main/benchmark/deserialization.png) + +#### Serialization + +![serialization](https://raw.githubusercontent.com/MarshalX/python-libipld/main/benchmark/serialization.png) + +Reproduce locally: + +```bash +cd benchmark && ./run.sh +``` + +See [`benchmark/README.md`](./benchmark/README.md) for details. + ### Contributing Contributions of all sizes are welcome. diff --git a/benchmark/.gitignore b/benchmark/.gitignore new file mode 100644 index 0000000..21b049d --- /dev/null +++ b/benchmark/.gitignore @@ -0,0 +1,4 @@ +results.json +.benchmarks/ +__pycache__/ +.pytest_cache/ diff --git a/benchmark/README.md b/benchmark/README.md new file mode 100644 index 0000000..a69b54c --- /dev/null +++ b/benchmark/README.md @@ -0,0 +1,42 @@ +# benchmark + +DAG-CBOR encode/decode benchmark across Python implementations. + +Compared: +- [`libipld`](https://github.com/MarshalX/python-libipld) (Rust) +- [`cbrrr`](https://github.com/DavidBuchanan314/dag-cbrrr) (C) +- [`dag_cbor`](https://github.com/hashberg-io/dag-cbor) (pure Python, used as the 1× baseline) + +Fixtures: `canada.json`, `citm_catalog.json`, `github.json`, `twitter.json` (loaded from `../data/`, parsed once, then encoded to DAG-CBOR via `libipld` for the decode benchmarks). + +## Run + +```sh +./run.sh # encode + decode +./run.sh encode # encode only +./run.sh decode # decode only +``` + +Outputs `serialization.png` and `deserialization.png` next to `chart.py`. Raw history goes into `.benchmarks/` (pytest-benchmark autosave). + +## Which `libipld` is measured? + +By default, `requirements.txt` pulls the **published PGO-optimized wheel** from PyPI. This is what users actually get when they `pip install libipld`, so the charts reflect real-world performance. + +To benchmark a locally-built PGO wheel instead, edit the `libipld` line in `requirements.txt`: + +``` +libipld @ file:///abs/path/to/libipld-*.whl +``` + +Building a local PGO wheel is out of scope here. + +## Filter + +Skip a slow library (e.g. pure-Python `dag_cbor` on `canada`): + +```sh +uv run --with-requirements requirements.txt --with-editable .. \ + pytest --benchmark-enable --benchmark-json=results.json -k "not dag_cbor" +uv run --with-requirements requirements.txt python chart.py results.json +``` diff --git a/benchmark/chart.py b/benchmark/chart.py new file mode 100644 index 0000000..5be52e2 --- /dev/null +++ b/benchmark/chart.py @@ -0,0 +1,104 @@ +"""Render bar charts from pytest-benchmark JSON output. + +Usage (run from this directory): + ./run.sh # full pipeline + uv run --with-requirements requirements.txt python chart.py results.json +""" + +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import pandas as pd +import seaborn as sns +from matplotlib.ticker import FuncFormatter + +BASELINE = 'dag_cbor' +HUE_ORDER = ['libipld', 'cbrrr', 'dag_cbor'] + + +def load(path): + with open(path) as f: + data = json.load(f) + + rows = [] + for b in data['benchmarks']: + info = b['extra_info'] + lib = info['lib'] + ver = info.get('version') + rows.append( + { + 'op': info['op'], + 'fixture': info['fixture'], + 'lib': lib, + 'lib_label': f'{lib} {ver}' if ver else lib, + 'ops_per_sec': 1.0 / b['stats']['mean'], + } + ) + + return pd.DataFrame(rows) + + +def add_relative(df, baseline): + out = [] + for (_, _), group in df.groupby(['op', 'fixture']): + # baseline ops/sec for this (op, fixture); fall back to slowest lib if missing + if baseline in group['lib'].values: + base = group.loc[group['lib'] == baseline, 'ops_per_sec'].iloc[0] + else: + base = group['ops_per_sec'].min() + + for _, r in group.iterrows(): + out.append({**r.to_dict(), 'rel': r['ops_per_sec'] / base}) + + return pd.DataFrame(out) + + +def plot(df, op, baseline, title, outfile): + sub = df[df['op'] == op].copy() + if sub.empty: + print(f'skipping {outfile}: no {op} results') + return + + # preserve canonical lib ordering, but resolve to versioned labels for the legend + label_for_lib = dict(zip(sub['lib'], sub['lib_label'])) + labels_present = [label_for_lib[lib] for lib in HUE_ORDER if lib in label_for_lib] + + sns.set_theme(style='darkgrid') + fig, ax = plt.subplots(figsize=(10, 7)) + sns.barplot( + data=sub, + x='fixture', + y='rel', + hue='lib_label', + hue_order=labels_present, + ax=ax, + ) + + ax.axhline(1.0, color='gray', linestyle='--', linewidth=1) + ax.set_title(title) + ax.set_xlabel('Document') + ax.set_ylabel(f'Operations/second relative to {baseline}') + ax.yaxis.set_major_formatter(FuncFormatter(lambda y, _: f'{int(y)}x')) + ax.legend(title='library') + + fig.tight_layout() + fig.savefig(outfile, dpi=150) + print(f'wrote {outfile}') + + +def main(): + path = Path(sys.argv[1] if len(sys.argv) > 1 else 'results.json') + + df = load(path) + baseline = BASELINE if BASELINE in df['lib'].values else df['lib'].iloc[0] + df = add_relative(df, baseline) + + here = Path(__file__).parent + plot(df, 'decode', baseline, 'deserialization', here / 'deserialization.png') + plot(df, 'encode', baseline, 'serialization', here / 'serialization.png') + + +if __name__ == '__main__': + main() diff --git a/benchmark/conftest.py b/benchmark/conftest.py new file mode 100644 index 0000000..e9652c9 --- /dev/null +++ b/benchmark/conftest.py @@ -0,0 +1,49 @@ +import json +from importlib.metadata import version +from pathlib import Path + +import pytest + +import libipld + +try: + import cbrrr +except ImportError: + cbrrr = None + +try: + import dag_cbor +except ImportError: + dag_cbor = None + + +FIXTURES = ['canada', 'citm_catalog', 'github', 'twitter'] +DATA_DIR = Path(__file__).parent.parent / 'data' + +DECODERS = {'libipld': libipld.decode_dag_cbor} +ENCODERS = {'libipld': libipld.encode_dag_cbor} +VERSIONS = {'libipld': version('libipld')} +if cbrrr is not None: + DECODERS['cbrrr'] = cbrrr.decode_dag_cbor + ENCODERS['cbrrr'] = cbrrr.encode_dag_cbor + VERSIONS['cbrrr'] = version('cbrrr') +if dag_cbor is not None: + DECODERS['dag_cbor'] = dag_cbor.decode + ENCODERS['dag_cbor'] = dag_cbor.encode + VERSIONS['dag_cbor'] = version('dag-cbor') + + +@pytest.fixture(scope='session', params=FIXTURES) +def fixture_name(request): + return request.param + + +@pytest.fixture(scope='session') +def fixture_obj(fixture_name): + with open(DATA_DIR / f'{fixture_name}.json') as f: + return json.load(f) + + +@pytest.fixture(scope='session') +def fixture_bytes(fixture_obj): + return libipld.encode_dag_cbor(fixture_obj) diff --git a/benchmark/deserialization.png b/benchmark/deserialization.png new file mode 100644 index 0000000000000000000000000000000000000000..7abe747e0777c9bc30994aa67f2553702fd7dbfa GIT binary patch literal 52012 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�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 I%OZCF19Xx==1.0 +dag-cbor>=0.3 + +pytest>=8.0 +pytest-benchmark>=4.0 +pytest-random-order>=1.1 +matplotlib>=3.8 +seaborn>=0.13 +pandas>=2.2 diff --git a/benchmark/run.sh b/benchmark/run.sh new file mode 100755 index 0000000..cce3681 --- /dev/null +++ b/benchmark/run.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# Usage: ./run.sh # runs encode + decode +# ./run.sh encode # runs encode only +# ./run.sh decode # runs decode only + +set -euo pipefail + +cd "$(dirname "$0")" + +TARGET="${1:-}" +if [[ -n "$TARGET" ]]; then + TEST_PATH="test_${TARGET}.py" +else + TEST_PATH="" +fi + +uv run --no-project --with-requirements requirements.txt \ + pytest \ + --verbose \ + --benchmark-enable \ + --benchmark-min-time=1 \ + --benchmark-max-time=5 \ + --benchmark-disable-gc \ + --benchmark-autosave \ + --benchmark-save-data \ + --benchmark-json=results.json \ + --random-order \ + ${TEST_PATH} + +uv run --no-project --with-requirements requirements.txt python chart.py results.json diff --git a/benchmark/serialization.png b/benchmark/serialization.png new file mode 100644 index 0000000000000000000000000000000000000000..db8144944bdd831a3c3bf89d7aba5e3bef6ce1fb GIT binary patch literal 54493 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 literal 0 HcmV?d00001 diff --git a/benchmark/test_decode.py b/benchmark/test_decode.py new file mode 100644 index 0000000..3f28190 --- /dev/null +++ b/benchmark/test_decode.py @@ -0,0 +1,13 @@ +import pytest + +from conftest import DECODERS, VERSIONS + + +@pytest.mark.parametrize('lib', list(DECODERS)) +def test_decode(benchmark, lib, fixture_name, fixture_bytes): + benchmark.group = f'decode-{fixture_name}' + benchmark.extra_info['op'] = 'decode' + benchmark.extra_info['lib'] = lib + benchmark.extra_info['version'] = VERSIONS[lib] + benchmark.extra_info['fixture'] = fixture_name + benchmark(DECODERS[lib], fixture_bytes) diff --git a/benchmark/test_encode.py b/benchmark/test_encode.py new file mode 100644 index 0000000..1e02f09 --- /dev/null +++ b/benchmark/test_encode.py @@ -0,0 +1,13 @@ +import pytest + +from conftest import ENCODERS, VERSIONS + + +@pytest.mark.parametrize('lib', list(ENCODERS)) +def test_encode(benchmark, lib, fixture_name, fixture_obj): + benchmark.group = f'encode-{fixture_name}' + benchmark.extra_info['op'] = 'encode' + benchmark.extra_info['lib'] = lib + benchmark.extra_info['version'] = VERSIONS[lib] + benchmark.extra_info['fixture'] = fixture_name + benchmark(ENCODERS[lib], fixture_obj) diff --git a/pyproject.toml b/pyproject.toml index ea712bc..ade0484 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ classifiers = [ "Author" = "https://github.com/MarshalX" [dependency-groups] -dev = ["maturin>=1.8.7,<2.0"] +dev = ["maturin>=1.8.7,<2.0", "ruff>=0.8"] testing = [ { include-group = "dev" }, 'pytest==8.3.5; python_version == "3.8"', @@ -74,6 +74,14 @@ module-name = "libipld._libipld" bindings = "pyo3" features = ["pyo3/extension-module"] +[tool.ruff.format] +quote-style = "single" + +[tool.ruff.lint.flake8-quotes] +docstring-quotes = "double" +multiline-quotes = "double" +inline-quotes = "single" + [build-system] requires = ["maturin>=1.8.7,<2.0"] build-backend = "maturin" diff --git a/uv.lock b/uv.lock index 10cf678..671cba0 100644 --- a/uv.lock +++ b/uv.lock @@ -61,12 +61,14 @@ all = [ { name = "pytest-benchmark", version = "5.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "pytest-xdist", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "pytest-xdist", version = "3.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "ruff" }, ] codspeed = [ { name = "pytest-codspeed", marker = "python_full_version == '3.14.*' and implementation_name == 'cpython'" }, ] dev = [ { name = "maturin" }, + { name = "ruff" }, ] testing = [ { name = "maturin" }, @@ -76,6 +78,7 @@ testing = [ { name = "pytest-benchmark", version = "5.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "pytest-xdist", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "pytest-xdist", version = "3.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "ruff" }, ] [package.metadata] @@ -89,9 +92,13 @@ all = [ { name = "pytest-benchmark", marker = "python_full_version >= '3.9'", specifier = "==5.2.3" }, { name = "pytest-xdist", marker = "python_full_version == '3.8.*'", specifier = "==3.6.1" }, { name = "pytest-xdist", marker = "python_full_version >= '3.9'", specifier = "==3.8.0" }, + { name = "ruff", specifier = ">=0.8" }, ] codspeed = [{ name = "pytest-codspeed", marker = "python_full_version == '3.14.*' and implementation_name == 'cpython'", specifier = "==5.0.3" }] -dev = [{ name = "maturin", specifier = ">=1.8.7,<2.0" }] +dev = [ + { name = "maturin", specifier = ">=1.8.7,<2.0" }, + { name = "ruff", specifier = ">=0.8" }, +] testing = [ { name = "maturin", specifier = ">=1.8.7,<2.0" }, { name = "pytest", marker = "python_full_version == '3.8.*'", specifier = "==8.3.5" }, @@ -100,6 +107,7 @@ testing = [ { name = "pytest-benchmark", marker = "python_full_version >= '3.9'", specifier = "==5.2.3" }, { name = "pytest-xdist", marker = "python_full_version == '3.8.*'", specifier = "==3.6.1" }, { name = "pytest-xdist", marker = "python_full_version >= '3.9'", specifier = "==3.8.0" }, + { name = "ruff", specifier = ">=0.8" }, ] [[package]] @@ -363,6 +371,31 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" }, ] +[[package]] +name = "ruff" +version = "0.15.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/8a/8bce2894573e9dae6ff4d77fe34ad727d79b9e6238ad288c5638990d90f6/ruff-0.15.14.tar.gz", hash = "sha256:48e866b165be4a9bdbf310f7d3c9a07edef2fe8cd63ffeb4e00bb590506ebf9f", size = 4700910, upload-time = "2026-05-21T14:34:55.177Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/c8/74a92c6ff9fcfb4f1f947126d3ebee8389276e161ecc85de5bda7cda51bd/ruff-0.15.14-py3-none-linux_armv6l.whl", hash = "sha256:8dd2db9416e487c8d4b01fa7056bb02c4d05969d4f8d17a08c229c2f4ff3c108", size = 10739177, upload-time = "2026-05-21T14:34:37.332Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/254a35c20acc38a7223c9d2d594af12e794432464f2cdeb52af1dc4a892d/ruff-0.15.14-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:be4ff55af755bd71a00ab3dc6bd7ffc467bd76e0df6881e286c2e3d23e8fb43b", size = 11144969, upload-time = "2026-05-21T14:34:43.978Z" }, + { url = "https://files.pythonhosted.org/packages/56/9e/d13e40f83b8d0a94430e6778ce1d94a43b38cf2efe63278bdd2b4c65abbf/ruff-0.15.14-py3-none-macosx_11_0_arm64.whl", hash = "sha256:48d5909d7d06276ce7dde6d32bfa4b0d4cb2651145cd8ee4b440722cbc77832f", size = 10478207, upload-time = "2026-05-21T14:34:48.378Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f1/b15a7839fa4f332f8acec78e20564f26bb2d866e3d21710b877fd0263000/ruff-0.15.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca8cbfa94c4f90984a67561978602746d4cd27103568f745fa90eee3f0d4107d", size = 10818459, upload-time = "2026-05-21T14:34:22.318Z" }, + { url = "https://files.pythonhosted.org/packages/45/33/53d651177f84f94b400a0e27f8824eeada3dddc9d5ee8aeb048f4352a520/ruff-0.15.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a6bbc0333f1ab053423bcbf6226477d266ca7cec7738c4c8e3f55647803f3c4", size = 10541800, upload-time = "2026-05-21T14:34:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/b8/a6/868f87e0bf9786ed24b5d0d0ad8676b8a94fd1912f42cddf9cfc7857818a/ruff-0.15.14-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a24a4f7605d7003a6674d4387651effd939dead3fddd0f36561eb77a9a2e542", size = 11342149, upload-time = "2026-05-21T14:34:46.365Z" }, + { url = "https://files.pythonhosted.org/packages/a7/8b/38cd5c19faffdcc05a408d2b78edccc69492ab9720eadb49ea15ef80d768/ruff-0.15.14-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:049b5326e53ed80978f2fc041a280603f69dd6b0c95464342a2bb4572d9d9e2f", size = 12212563, upload-time = "2026-05-21T14:34:28.579Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4d/a3c5b874a556d5731e3e657aaf04311bb76f0a5c3ec220ed43051be6b64b/ruff-0.15.14-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4ed42e6696c8dfa5f06728e6441993901f548eb92d73bc472cb5a38d1395fbf", size = 11493299, upload-time = "2026-05-21T14:34:41.836Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c0/56472c251d09858a53e51efbd485b09e1995d8731668b76d52e5dd6ee0f1/ruff-0.15.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:715c543cf450c4888251f91c52f1942a800541d9bddd7ac060aa4e6b77ae7cba", size = 11455931, upload-time = "2026-05-21T14:34:57.276Z" }, + { url = "https://files.pythonhosted.org/packages/2c/4a/e2e7b4d8dbf233d4eace59c75bc3435fa6d8bd3bae82d351d4e4300c0fd1/ruff-0.15.14-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:72ebab6013ec887d439d8b7593737a0a4ffb06d45d209d4e4bf2e92813082d3f", size = 11400794, upload-time = "2026-05-21T14:34:39.773Z" }, + { url = "https://files.pythonhosted.org/packages/97/c7/83c0539fe34c3e09136204d1e75d6052492364e0b3cb05e9465423f567d7/ruff-0.15.14-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:49072d36abdbe97a8dd7f480afe9c675699c0c495d4c84076e2c1203c4550581", size = 10804759, upload-time = "2026-05-21T14:34:31.045Z" }, + { url = "https://files.pythonhosted.org/packages/86/a6/18f2bfc095a2ab4a78745644e428205532ce6653a5d0fa8501572891534d/ruff-0.15.14-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:958522aee105068640c2c2ceae08f413ae44d922f52a1374ac13d6a96032fc93", size = 10539517, upload-time = "2026-05-21T14:34:53.064Z" }, + { url = "https://files.pythonhosted.org/packages/54/3a/5a8b3b69c654d4e4bf1d246ac5b49cbcdac6eaab6905925f8915f31e3b80/ruff-0.15.14-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f3707da619a143a2e8830e2abab8224478d69ace2d28cb6c20543ae97c36bf61", size = 11065169, upload-time = "2026-05-21T14:34:24.484Z" }, + { url = "https://files.pythonhosted.org/packages/ed/c5/8864e4e7925b836ea354b31d57641ec03830564e281a8b6f061f8c3e0ec1/ruff-0.15.14-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:bb01d645694e3ec0102105d07ef2d53703970407d59c04e59d3ba0b7a1d53553", size = 11560214, upload-time = "2026-05-21T14:34:50.975Z" }, + { url = "https://files.pythonhosted.org/packages/36/38/012bf76752e1f89ed50b77b99532d90f3a3e287bc7918e1fc0948ac866ac/ruff-0.15.14-py3-none-win32.whl", hash = "sha256:6d0c1ad2a0ab718d39b6d8fd2217981ce4d625cd96a720095f798fb47d8b13e6", size = 10805548, upload-time = "2026-05-21T14:34:33.453Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b7/4ea2c170f10ad760fff2a5250beb18897719dc8b52b53a24cddbb9dd3f19/ruff-0.15.14-py3-none-win_amd64.whl", hash = "sha256:802342981e056db3851a7836e5b070f8f15f67d4a685ae2a6160939d364b2902", size = 11939523, upload-time = "2026-05-21T14:34:18.077Z" }, + { url = "https://files.pythonhosted.org/packages/62/d5/bc97ff895ec35cf3925d4bd60f3b39d822f377a446906ec9bcc87405e59b/ruff-0.15.14-py3-none-win_arm64.whl", hash = "sha256:ff47b90a9ef6a40c9e2f3b479c1fb78531adf055b94c1eba0a7ba04b31951826", size = 11208607, upload-time = "2026-05-21T14:34:26.525Z" }, +] + [[package]] name = "tomli" version = "2.2.1" From 3e6a2b6e08eb6289c4935456b045555b7c46917c Mon Sep 17 00:00:00 2001 From: "Ilya (Marshal)" Date: Tue, 26 May 2026 20:55:43 +0200 Subject: [PATCH 2/2] Add py-ipld-dag --- benchmark/README.md | 1 + benchmark/chart.py | 2 +- benchmark/conftest.py | 9 +++++++++ benchmark/deserialization.png | Bin 52012 -> 57172 bytes benchmark/requirements.txt | 1 + benchmark/serialization.png | Bin 54493 -> 60387 bytes 6 files changed, 12 insertions(+), 1 deletion(-) diff --git a/benchmark/README.md b/benchmark/README.md index a69b54c..335ecad 100644 --- a/benchmark/README.md +++ b/benchmark/README.md @@ -5,6 +5,7 @@ DAG-CBOR encode/decode benchmark across Python implementations. Compared: - [`libipld`](https://github.com/MarshalX/python-libipld) (Rust) - [`cbrrr`](https://github.com/DavidBuchanan314/dag-cbrrr) (C) +- [`py-ipld-dag`](https://github.com/ipld/py-ipld-dag) (Python wrapper over [`cbor2`](https://github.com/agronholm/cbor2) with `canonical=True`; cbor2 itself is Rust) - [`dag_cbor`](https://github.com/hashberg-io/dag-cbor) (pure Python, used as the 1× baseline) Fixtures: `canada.json`, `citm_catalog.json`, `github.json`, `twitter.json` (loaded from `../data/`, parsed once, then encoded to DAG-CBOR via `libipld` for the decode benchmarks). diff --git a/benchmark/chart.py b/benchmark/chart.py index 5be52e2..759ed87 100644 --- a/benchmark/chart.py +++ b/benchmark/chart.py @@ -15,7 +15,7 @@ from matplotlib.ticker import FuncFormatter BASELINE = 'dag_cbor' -HUE_ORDER = ['libipld', 'cbrrr', 'dag_cbor'] +HUE_ORDER = ['libipld', 'cbrrr', 'py-ipld-dag', 'dag_cbor'] def load(path): diff --git a/benchmark/conftest.py b/benchmark/conftest.py index e9652c9..6488b42 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -16,6 +16,11 @@ except ImportError: dag_cbor = None +try: + from dag.codecs import dag_cbor as py_ipld_dag_cbor +except ImportError: + py_ipld_dag_cbor = None + FIXTURES = ['canada', 'citm_catalog', 'github', 'twitter'] DATA_DIR = Path(__file__).parent.parent / 'data' @@ -31,6 +36,10 @@ DECODERS['dag_cbor'] = dag_cbor.decode ENCODERS['dag_cbor'] = dag_cbor.encode VERSIONS['dag_cbor'] = version('dag-cbor') +if py_ipld_dag_cbor is not None: + DECODERS['py-ipld-dag'] = py_ipld_dag_cbor.decode + ENCODERS['py-ipld-dag'] = py_ipld_dag_cbor.encode + VERSIONS['py-ipld-dag'] = version('py-ipld-dag') @pytest.fixture(scope='session', params=FIXTURES) diff --git a/benchmark/deserialization.png b/benchmark/deserialization.png index 7abe747e0777c9bc30994aa67f2553702fd7dbfa..b5865fa3569bf437d36ca7f86149af6483bdeddd 100644 GIT binary patch literal 57172 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 z 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 literal 52012 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�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 I%OZCF19Xx==1.0 dag-cbor>=0.3 +py-ipld-dag pytest>=8.0 pytest-benchmark>=4.0 diff --git a/benchmark/serialization.png b/benchmark/serialization.png index db8144944bdd831a3c3bf89d7aba5e3bef6ce1fb..49fa74fb6118bba1ae336f66ff89c296e5362c48 100644 GIT binary patch literal 60387 zcmd?R2{hFG`#-F@)t!nqsf5Z_B&CpDAzOB1EFnqCzKwlpxkV}al7zCG!PxgP$`+C= zgREr1yHReBa*g()o)Q&WoKpdC$eg!C72T(Du(K&f7a#3i4d*;}AF1m>B`uTYFaM^3S{~1hq+#Z(Z63TO0$zGd2g%cqwen!DF ziswwb7fXs<=wPbb-`uh%rB=Jdyf4{b<2h9w8q2jgWLPj8@73BbcInhyh4<_yX_0U6 z+774w`5FwGS;L*!`fY#dj^A%@@#y~he&=7aTc3Ej?V-fh`@6DV8GpZjaO^+6`hUj9 zpK1xOM^thKi5Y@?%-J$>sCJ3G7Gq%v(x1C5y2B}2zs6II(&l(|vF z&N<_6CV96NaCp>|UgK-Af@dabMV5yh?IienXSW{sgJYWCXiu{?Z;d?HJpHA> zqBTLvX>Hlo(ZM0K@O}p|npeQ6ICAeXA$gCM<(a-QEPf+gCtZC~??Ph)Z_IFAP;<$U zFaPSoSWt0PQB1=&>sfZ?X)FRICVSZv6U!YNYF>AQr(c zEY5M{Nu~SzwVTGq+(yMVws3UMg+@k65*_)-g>+=m9VZn7zUOCs! z4gdI7lW+4yNX&KmrKIf9U{(D%O%ACi!u3XX2zuUqG zV;;t%_G%(g7)Isb`R#7-<0NAyU4>cAlZA;kPDe+_HnS|JnO2?@9D zIjDX+PssS*>@BwChhaa&%gfssc{YL_JE&o-D5bkUXS;=jL`BKQI1R~U6EC_rZ4iQ9sKskO zJftg*!~fiPdEr|&{t|71aQuu0vM013Vi@``df8}9He#$aiLY3~Z8mF%E%W)-cnKuO zCaK#L)iXOb#$6M@6q9e!OdNUp_HF*1#)HPVoM6n?DwoN2tw9aMJq#UQKkxRzBS+F6 zFHK}vFV7Abg=FexhCe?crrkd<@ZxHrp}TI&%!e?}a&i34GADcL>J$N!&XJa7T%m`@ zGprECMJmZ}gHz-9tj-ck4=-_>Qd~)Oh7%65MlE`fywF)}P z$yFN6#hB`wRBto_b9dctV|`JB8vij-#&qb4=DW2i-JZcJAFs*I%!n$pw^88dK zgIm=7j-NLKKWTQ_ zVHe!OaH!R#q>QRbw4j%)?1TB654Y3b`Se<>-jy58;;yL~%J@}{bRSs-Yu0?uLC4HF z?6ksdDNzzT--;d+ft8A~I{)OWev!|`7=C2V1ko3vfVDfFaZ4h}1m`(9NRruHFKFym zoaW`2U-LF1uIUMQ>$1iY37EJO$%f>NAEu->B!Yy+XuiD`Y0l>&y54V2*+UCUwSI+> zFwk&$=ukZY?Hm&vx-U4x%BkpRI(h;gSt|^vEoW_K9p`diYPnCujp0YQ zx|83w29d!TfnA8bWJxsn#&=I|Tczi74jB`{Suyt?x6T?CX5=L4bq>GDyRUE??J0hn z^{?uT)Ea3ziM2E#rH zQ=bs@3f;xEi}A$gw-xBub{%OiY;dV+~Q%drWj z#Wr7DIM%JZb7Hw2M3*{6`zHc}Pc4P?Jm!F_()@i-RYPVID-dHiG zYM!dF($dD7NEzS9L4GsFvE>y#KZ}kjC)y{7*cvLwoR4p0nC~&nz4ef>4-tyvuy-)EH=|&wd zt@x9DMfkoV_xgOHO|2bA)ac>IaG(`OGMZpiWR)tn(4G0f*#G-825-b37UnmY!Qr*# znM)omtBd1P{?`#kQDox}x&wPPbrmWybB$ZR!GY%ng4RQ1HbRGd*VN`PDt-iMUU7&M zVKIWHMC!zmVB=z&SVvO<&*NcM5{LTq&ZC_M2M0~Oy}j>1rsHW?-&mWYNOh8RAPb6` z9D?h4y60z=wO>(pDv}mDsgOISj-21gcgwWWJ#uRO1t5qd(xbvnMUG@~^QJwmvhW3{ads;;TfoAkX{9jQ@7P<)PYMU#dM zHN|THLXmna|CuvNIi~m=`<C*cp_CW*_1ETTmrD%`LXc6>+5l%7ah=9vyY_ZitB!O6`d6nHr(4_LS5p%x%P?c1D9=a8m zbj=CjBjdGfGtg=xr7OJ2o9LZ{zl4aAcK9l5fb%S>x~K(3;)w9|;1ijcuLQO21kRz) zep2GW!NHzkdL$pLe%|{PA1_Z&;%Y`5H_?k0{cq&$4pF-#2k(Bq_H%mv?^OBs#EqN| z9C}|cb2I z7F*xBu;b?w{Q2w02i0s_|9U)X{axz=?Cd!lbO(2` zva(VGnYO;Xe~zA>UPZQg&+fn7&zhONjZR>syHrqAbjZ?@#nIK3Sy7QUPj3rU1$M7f zO+R#`GYLrTqvHrI4_jUsbEZ1DX>cotmp&8zm0bWIROZ--{xhSlu3THkoq6TT6*SM` z=!D~R1-oOuem%)nylW?AYRE%E!V8n-!u$J%WGhp9KOBAU%EZ*_-Z6fxx=#x~5*++# zcxozH&W%)I|Kedqb}H}hd#U6n6c}qo&HOVX`~I%Ed9q(O=f(-dnszT*bPp@rS z6t*q&v)KCPTsdU`xygFV_Rn1lDlqol+oka9)ZWIw3|Sb_;5pS2_RVIZd}X9{7FGqgNa<{@S@S zu%cp@>CS`Pf6jdO+t^s0=u`O@(L%pJN%wLa^A?o-cunAy=lY7){lRsk``tO_k&9+# zX8GQ$iBSBjKpcuLEiYGo_sBn0IpTY`gxjE!c?i4IY2$L2Pykt~n;VZUKEC`0C50FO zfha42mD2d9fu&MFY|TUh|LE6uJ^&4v=NA_vxRk?{%3Y47xJ>42<9#`mA+DuZW9V;2 z6jh&+1;fR^!XYis^8r?IfnMx77AY(^yOhUc-j7MuaPC_iDOY6)3>It^H9+?45g z#?~0@=Y`C7>Jab7=@1T?aGNjE;V=!plsQ)vT6b%U*yvj?2v=2Uq*!;)jp8@YE5TX0 zAshV42Q$P;~_FEA~4a7g81j*-m44~no>y;Zg#4arDJzy`xV0ZqSB${ zd6ScYChuaJo$7vZbiN=(B}#>ZiHRvjz(}O&LzqnC3)XIw>;|cONIo_M{W4L~BP}N% zNg(_Bw$`->WTq&OaFgeTBG@E~KXjXl1}+`vNZhqBhadE0L}0pB-VCt}bNrc!wNIO( zFv@+!LzB72j!sVD>{7m=Au{LBynFXMABY?d(zM!5m!twdTcnquhk|ISe=LKQ@U$0q^XkTU^Xw5*Q;*-Cr^mJb1Jg3 zvRPP6MzwLvRDaner;++1rE#dRZk^as8T@BP56gdgU8cqkXyb(E8lY0#-&T4Q2-_Fg5eAd?t@v1{@l-xlwUuV?*$Tz}*|lvF%GJNI<-RdkNX*P|lcb(t`G^Ed-Vd9XERE;@*U4obJibq`7sBP$shnUN~P!pkBFk{;*c#fv(Oiay+*={22XpnQxim|#FL zhi)!)R3F_ze(Am8;o%6lmaxdHkr3*=x&WhSL@GNje2;fW$5v#bt9?4vjXl=aAn!6i z?158Dlzx0gLZX3a2>(hjt1z5!ne88{tEu5^Itp`UP7+B#r)j66^F2unUvO*oyLa!7 zPS;3O2|gjltr&cB&fA#F=G-e9I|#3n>NY*OU8BQk7(IdRHH)U&DnZIXMG2{^xw-jH zk1vVHEapQQ-NY+?kZ38n+agGECC?h?Teix0;yp>db1nj0jDN;>xOQR8ujv`HpR&IG zOW%!!u|3D6y>oLMG+tefy=>ESxvN_{+Z+aVBf_}C^=Jr&UYm)%Ur@@+7u(l!X4|%H zbC-wu%NA9Zr^QBR2P7zWA6fX75^ znHC1)@C=W~n_NcK2IdV<#!|A;tq6+i${Ie>X^bzh!mHEDv-$x8jVqzOI9?mpy3__HrmDp;4o|<9KX1CB zanpFf#X;I{;~=m)6Gp}wIM?NA|MtTBs*SIN<5norVf@JRK^P3CGegUWjGF7V56xrP z0K#JK@*E!m9TXoQKbRiBcd(Y{CiMmV!J@BUHRnk__b2cFI%6d>A$s)P<2X+l6!H0O zYgOB`ALkavRNIpjAODY2SgxP?amDo1udmVt)|aC&OU0ff z!+&Pn|E+>#|FSyJeW$VCVsismu2Bgv9V)rRxxek@zcT6{&}dDGPIyF^pZBnvJp1!N z59IIu_`2b=_u9GY)>KTt`aen_ACR{Dvnx)ptMH{ zI@!7JskM=_2alXM^E4{^afElf$D_gYUr}{G8-SIAi5K`yFGn%BRWoGfN}ap%;ZI5Q zJHb(Uw?rN8E-ZBbH3dWoZX(O zW0ZMw^-`vOUSZ+AHq9gFUh=~Xx0kYXHnD~$(OzK50;woGlAoN}nPZID$vDk9{wdyL z%KFso)-^nke_Nx`%zfdE{O}H5MX%V4r3tC&VYgahFUbM@%IWIrx-j2BUq>JyJ|#$T z7FcS;*!C5FD7;_5Z6HLxg75kmt7FlY>2 zd#gqW)6=bL^64Xnz8#O{pp?Tbez6?mHm%w|JUqN$(!ENV+NqtXjeztYt6y-4H+b?v zKO`*x&^k_|A2LJM*4Cy}7UTk!fqT7_V%aL~=$$lrqnQL`4;#$2kFwLQ+ zzQ?%D8-gR>`v<8IJMRxpNmK{OsUG|FG)^9Hc6N@S#Yih68S1sS*a%4vhP=CRBH7)2 z^)KR%?Ql|{9{{SlV-3=5$f9+&Dc;aN?(+QuXKj$g&Q(K|=yL*BuRhGT?jFi3XFvCN z>%Np~Z;%{9CLo3jIecZ(&NlSOyjhkti>NYhC@vu~$yj$?7W3Q4a+&GXB8y?Ql9QGu z=5e#k97Z(K?{=N`eF8d97p;4}YCRtfw8-@YDX(R{#1bUd7broeOdVdU=7ikb3%H_^ zlAuLvF)=aK?$e*q+R-=L1V^cN- ziGHq4Z?5`Sw5K?V|D%y8Emw#&Ex4P?*jI3;k>?PvdIZq;lOv*bH)DWIuIkpX?=3VX zS&BPR*Rt4x>z`tHKZf@$E&s_)v29NLtk@KD2jgi3Hac#-XhE}k$BwVqE@QQWUI>giBo=mx^*qMG1<=@m@$PMyq%2a1)KK zGMju~@-1SZK$@^ZshU^=@&KZ67nHUHQJyDE92m@Zvw=Uc`{n4w#GM5oN=hAvKFzi? z%lG!a3O=DEWfXVrBl1GvT7a_kL#~urSHm7+JWG1FcK!2XIW?}9mX^oF7Fgad zy9aK?jR(qnTpS`cp^O!rPsRbld}i+1cl`2Gf+%^k(R_6*M(g0g1-#0fZJ)@LgV_D{ zJK6=`V=h)znbo9uO4#+^D{~wvpI?ExV+l1>k2EE8_jxSdol;QV*V&(@k(kBuNG(<< zRTpb=sl5zJm`TOj)?1&fGv{vCJSn1hv0b|R$b^e|o@r}Igr2z~R-bt0qv3ZnUo)(^ zv!to+Xj-`n@1tlT*?FL1^CX1&U;;`zbs-XR6!Dou(VGeCn%h`^SwVTY*VpPqE{}!7 z7ppdc1g)AHBN{9Q$_efH7MxJcWc2j*Hnt@XmT#9#nRw zMz*S`^;MZ@;OCnBHjO)Nt!YKoMB4~tAOUUF*F0*(NvcJ2mr8Hp=7l)C8N6$HHh7iS+Ol$m`oP032|AYNN`PtsQ*;)3#X7xVuNT!YXgq`_oSHLsuoT{qE4$lLjDHN|O zB5#xbp;w%-j@IuHzoPPXwqvR4X9+=Lr08y?c5aV=(zbIgQ^)do{>$%En>aSpy75gB zh<)+2m=h_mR`&e3@Tc~UtEVYA(H}n?4(!?`@sxi{wLW<@sP&=ngBAZjD~;~LV|k-* zRd-vC8&r9hy_WGa!RBY_?Ky9dp8|+k9R}iv#X87o7T@0cJB>9l;{vbF_Lrps+o@e- zg^1{8`up$CBi-3XyrTAlku*%7ce`%1Vy+4j>_Y83-oJi54!YV@`R*EHpMKCj8i7_M zy=QyUjo`JRa z;$U&f{f_IP{?O!K?F`LRWnSc**ODIE`1EpLh+1`qpKAs@Ki5#1e-n1n@`9Fh^QK3o z`m>vRi>y&SIgcEelg6Qn;Xop$B6!rok6pSuA?w>$Y%6|i2=9kykCFEAT&0qSxPjL2 ztYnygpnDb|VFcWNBT$RCy_uLZFuBx%R_O>3d4mcH3i8lZuvjR0z|!N6)8s(f>!g{I zO9@q%^;jxM2KBkdc?AU#H0lEI(kR@N_&ua99oA)TaNuY$KPVN)vFpoy_Vpt`ZiXrZ z9hsck$0pthe=_x5rLARS;ImU|wjhM;`>=`abD?RRd0w)K{$wBh<74GjXDOdJt!{dG>KqJ?1k`_Tlz$5!>D~*i60bSA+0Gb?oPc z@Yuf2(WWSVZ3p`|y@U*BDEkOA4!>@Oj;`x$8~rRu+k`!D?tXlEu}O@e_x)q+B~MfT zF<|t&8gwO&A(7o@Mi6skSl*4zF@j?-Zzw$gq?h#kN7KBQ+7!d;fj7FolZicxj8J8* zK}8}kdX3*(;_5m&bRbwJ*ZBNC+XIw}%R{dlK+hzxsH-JNmU&Yq)5|IS`=2Q)`hR;C z5)zUpWTGWCtakAP($;#fZd|Nkk=0YcYI{#y(d4K=O-1kJkiHo(4Mla=H|gI8t@iw4 zHloIReZ*A#h{lOz1`<9K&Z9_pL9ZI%2Rwm*F%Ny!UQ4IwjJTwFJ%XKd@b zqIRbz^-s6=Z6A63rF!^A#O7!Qam!V3_jQj)1`#6xY^MzSu`Qm~nvv*@S_gI{LRamNO3~`+E`t#3wihb|B zd-ryDY7H&K5v?HXrYkMoD)1xX=Lu?ep^mpu^Yd}C+ex= zUl9-xH2dQK^5D$oUK%kWavrTwPC1n+B82wyto2vkhwIx%{i5c9vs{ZaF`w9zC}h!e zX7i|SP%P9NtcilARqImHThQ|4dG00#H-yh1RJva(+_1ntG{3xPo&wKOtKJ9Z%WZpm zK?p3JQIk(Lrgj3O7Y&0ksY1FDD>P{i8L7Pw=#*G*`x?iZ(m-9NRX_s7gc-|Eufst3 zF@}=kB*Bo?1@mYFXy`pG_gcNI?EL05LS2sZ~;u>iP**rP)GxgBP-gdmL;;xCWtxTEi|WDV4!Hv^4?e-Z!dK; zH}(NiP{4RT2R+IJOA(03a;6A}P6s-7Q9c`{J&eOss$Yw3`_2J;?A%6P z6L%WT&A96m{vBCx9`}oG!HJ3=I6(BQjplHIVq%mfIM?4 zhF*D}Uz#JhUZ{b=3~dOyoQygIVNqsdMb1>t|2zGjBavXdQLcN&oLs3#azPRn3oKis z!8}3aBaJpjs1neKR5(2l>UJag2vXJk4jyBA8DP+qy5|=b!hz>${`&5*#l+{g+FAM+ zN0PFB-2mNbWK!!ZVT9`p#c165tagg`_?z`_avZS|Zqe}N>p;qKsT~(A^V=Mh@ZUrW zYvkSL26Qt#I(m*u*%$6fvYI5{8>)(c58=Cy%bwobk0@G&cs)o#5o3tprsxXk(H5{S zcb!3VT+B4CDE5_CEK1j6`gQi|n~XrS(TbxzET5X7imh$tkEc~2m#sQ)fDn4bqLLv8 z!M(ge^+FZ7c4d8`Au3uWTVJ#<3P|flAg`6&HPr|69y=J!7yle6bkf=sBM? z#z@dqh#r_~sxg>;lkrzd* zBp#ioJW6((?T;>V_KTVRBJ<2?FcI#l2JoY2c$18wUpmPA!VB zsB!VEPFlMW>e7zgHF2A%zpa%@`}ML`RP7P1G%$TdTwJBZPDTj|`>`(t=~^b;WzKHq zJ$4y%U|(VP1WOOH`?(VR*a5kf?j4Is3PG$jt~%q^1d6t4O=sB(*U4&Admuj55|Gvk zd>b3s`coUpTT+YCU%Hs+k%mpeTB47hbd!gmprApqjauXg-wH4f86%K4lGjQ$$wLYt zMje9Ef20i9D@ChQi{(Iu)LrR*EoLswVVV&~k42K>4zh22zZl3dJU6qIy7JQax*>sp zWI0eGRotGYX1P!r5m5jrc;e*dw;E)&&fe3@4@Bz*q`ogUhI=SoyOq(7q)w>q-m5#~ z3GPJ4ryU;OYEJ!`Y!5?2_v3u}Nb-n^*ol7v@V!+gEgNYf7wn}seS;DV_h@Le9`!0@ zwbM;eAz7Ummf4c?P9AV@BY%EZibnfVI=e?-g7DM~Mh3Rb^pz>X)K07C*ttUkdQYl* z3a7s~Ps|W7$QucwCqjB!+2>ieIGWJEGja!VHHl#EN_vevwLZ~S0}h34VZm!FlA)02 z6prDoyBP-(ZyH}JSGanp0@n6acKK5?;+nMUbfDe5PT{@XdpRpFhOZrNx-Q@(6N;jl;ad#3!Qz=W4<)Bq_P0p~n2Da?1l7Yw79 zZC0WV^XbY5ECR`e@p><6*MGAKpx%5N=mi#|9}<_wjjFr{ylBp;4jL1J!@JFeDeY-y zJh2k7G`)%gF7k{)g=@zhZZCYu(TjS>LN70l&Z}Oa^`u^X%%h!iQz6JFc;(ta z=SwNChX569Al#XjL1>1Ps)Ku!^Tlyt8g5e6IB@sQA$B``)uT@l4h|VBKOF#XkU8pT ze1Q2OaTR?B%_OS24cm!SP4a!up@#9Y)byWz*IaG1-^$}%q9k8p=P`(SBK4bt!Ppgh z^RF|0bNl{S2ex<nN-Sx%XW}r2oSL|vBAt_)rmBEXdXBWW~Pu)r^$A|{QDiAG^zVJyOhbZBLW*;&fe=Q zVM|lpI@`Bz=X$#pY-E$(ykCCfez25Rcc#xRI!(<;WnuK}IjN|>Ait&yxlEkQ%gYNh z^^N5Me)t0W907w_Uz;;CD0j)be7}A8MR#vGDuS_32dJR=5nk0|8;(huiB-sL_J%>} z4^g%cg2v^Bu*eTiiEWUF=vU_(s+^{})RY7Nu+%5jX(BdFzK8re!n#REOA01c-lt5x zwVDC)HinlqKiDR>RAn`O=*W@fdTXHO4ecddCT#ZhF-u5D-0xeKpy^^cx-w3qnpxig z17C^-FL9y$kV?P|I7?&x3EWcKPKIelH725YDe9-1HX4nmI;_bopPMGsq_vU&iV% zFU1O3L<1)J02L0mNVLG3902MwnL6oV>{65u{(HukTBZI>3%Y}5iT2D~;M-DxIwX6C zF>@BiyynS^u=dnuqGOSjPihEQxd-oj&3R;zdbdT~Q6zmL<8!$eS>5UT$Fq)ZZZR4% z0^F^MG95wwvtJhN_QU~+q?D$%hS)Wl=&h|3@R?Wr1Od^j9Kj=etk`X;OA8plG`Yp~ z)jfd`5fT06DAiU~DP5%j3=*#tHAEC<5lmnKpTk+LVL~M^OsSX#u=yRBS~V$iGO&mG z*=)f(`rH?nufD4be)fC&6<<)ed!5nQAK|`8RSciaIZ?#RpqGhe8kHnm5fhuLmOAxE zRX-RDfJbSpi2&~ItHTo$86g6u8|hG(1p$4gyRq&Z1$a++emL=24AQX7m-_0pw2#WJ z4?7<|+?MaNcElKGT;@c$5~t$=idpuK8AvVwTt`s;l}X2%Edj*@tAGXf zIpb~nTHPL*$)U|%158vDu%4gIyk`47K;}3GI@oQ=64cb)W8yAv><9}3ZbPi&qCONZ zwqnd1pPpPT_y9U2QN~Ztb9vn)LE7gyW)&?x^YGzA%J&CW1Ln`Ztt2bvVN^msp%Kk4 z+*RdQHB*%G^l@o=*<}3LLmZ!Lew$B}?np}Ms18-h9Di(^YJz(rzCDQ5l3d_lJ9%nT6F|P9FHdi{q;w(f{l7Lsr9LIP@vA(xa7~r}`K+hPpS`yG> z<>3{OwZnSR8P-h4FYBH-aU!X*9!#9bVYlfXZfyY7u0m*{v2jO3L&MQHdzlya7exA=-z5*qCMW@##?%9 z$lw#JrX<%F$BRhUV)=gPF?V81A}%7w7WzI;qR_{00?ZkAhk`QcwIDKQ*r>HZ^PNfl zo!B$ux_xoLG6y?Vs>gc*!1#;COwYfhd^>(Lfdl1Oyy2YOVBSvS+Kt%mYcQm6L9F zw{mb!N}OnU*vQQ6+d__?|Bo7`0UC2dP7+n*fBVmqEx(EE>4=NwJP{3qq|_!@YNrti z7~cs#8?b4m+pQ&0Fqp2hXkPb++Y^sAFtSmS8>d_++jUAfE_S~*86R0ZS?@cH7Wg#v zun--HOnj$Xy}3Hh3=AO>F>$~BWz}7XI%8lXNj~96=|qA*l6!D4V6^_lRJo5TO>@a> zLz+lIJu(Pp3d4xGx4once^U-APcHl085u}3cb7+xw!i51F+$^7M;i|ekJ zc{z+$W5L~=B+ua)zU<3(h|JCX>_)k9Ak+17PEHO52i~P~jS=aALiG-ZP9gYOdyJPh z$FG1P!{_m}feV0C3mWNN<{AE!nI8Z}4UNu2n~FS|PxOpIeqoLa(pFD*Xda}ZDfaJR za0~7=gJO*d6tLFCx{(4mUS*>E!JOj84f;gelkNkL zSHn2{+8>q>*K!_BcFTFl;K#!fSkdGAqGqvsfbV8r%u9Vlr4b*ra(d@1u{2!DD_GxH zL*RKIbhU_iue{lq-O0GFTvB#*Y2uIaF9agPC4({?)Y3SFz@5|D@A8OaIlWKM>0dzF z4OX5?RrO2ji`TbOKLE&25o}X2K*cmh@y8^;hRaSYNzj0Jblr0^5L$J>SCkwUoC)^W z5<4Ol>|_eN`w*lGh7rzXO(d?5Pzrhlk@Z;G_w1_09$SL590x8nlStuhxtu1~5=1BVXEDB7ZVm%VJ2g*rxZEecr^8jw$QWP{1+!grEW~C8? z1Pk;tWSEc-0JTmJ;MgJ3gorLuO;tglxYvGsdt5g(B%>`{PK@0UK_juL<8M7bV2;S{ zss*GY@<>Av2JS{ZeA%32^BdJX9_O&g+pNj#is)MH9 z6J_W+1u!3S`fcLWN?4#;e#YpINF=>`91sL(tJzQq9LHs0Az$ih+FAeJf zw#N~7VSG6X4_qrtbFSIrJ0#**xKL_(KLCAbh~cNX1x0K! zZJNMn7JDx!U!_U*CZPnNQrHh&JQl!a^3Vm4Fz~N9#COQ1pp8`q9O_~Y{HMCOS$rlNOPzh~nH)yIi z#Gl%h7B#_@-YOs7Os!-Hvy-6vsnkD@y#vM&&oDxB%qC3$QU(Nche{!YZFfu6NzVb? zsAo`QRc1Hjw6QKWu*an3Ex1VY{WjTS!7Vl2ODb_R({poUij}5{8Wc{5ekohDXRE}R zgV57~Slf5Jvn`RcShuc{cpsbNMp-($d*8k=mq{U|=IHD(43^lySBW&kzkOs{#H1ZE zk+FRFNj2MPk#B7R1wrzhSFY%K`*3dV-g~a5<5K1zd)#NO_m3VQoC$f?^-hZcm6%5M z@jflc^OL4{a20%JlI}mymaYJVlJ`B>N7LD27x6C;&C#H=LVv*vaF8b0Q)#Bg3D;A8 z)FPgGg&QMI>hrPaY9wNvSfML=)C4G#WB2=t{c~~>FOG-?eFS-QkQG8UIIKo}DI5p? z1yX0ed%B_ZkpAz{qN~6-p$M+43sE1B6!W@%`({RSo#Hn8?1Q+iyKL&61x;2OJ2UY_ zA30&kERL;M_~0G_Yx3@BB}RI5rWZBZCv=EFhK2*4az)SP=oegIxB-(^;*hf#ikM2H8lh0%%vFoy1mF+aG>MF_l~!6mW_${2hdrjLd%vV zVU8#ia8ypJMOMNo*I)Ef#viOaWS@N#P{I5*V2yw27pdVLX!40}7=M9(?%StLhTp(VTkCzp4Gr)kEN8FYYNiD83a`xfuE+P+^~|WuG!lzkZ$4-l-g&uygn`0IgK( z?%?6MP3?v6ErK*58uCd~lEUJh%?&9b6!C;l%}Ej9^WQ%90>HDnGV%zVA$$;;!r-gT z#kNLwdJDgVpNsW+ZOVUf3se6@cAwvz1S}bN8p^hvOtaXUu&>!A3+IR^}oUbXRKQ*)-MTm)lP-BNCNUhaQ79HI4FUsEo?U)62UOHL&yUl^a z15Xm(_c2g9T)?g$_t;o(p{|SC8e&U;-M+MQ^jZ1!sjiu&jdzdN%!LJ=P5ATvxS^Hg zfe->dXDr{Bdc4eI@rm65@ZB({sKw1C`Mev5Wk6Y9*@p(PzNMD3Rw~O&@+j? zhI~!dpjiq89cf{)pL@KpGS8_TQLk#%wXRL(+Wa0Tn0o8odmv1+$QzPYKzpqC@39<% zu0e2Ysy9VbZ$b|;joA$nGHFpj1cC60L`GV+yfOwBC3!rpH?49O>MdF;Zzw#JKv*^N zkS!q@MDeH@DuDw_;kd-@+WlKc?Lj<0|2RynujqN`g~e9Ry1up0y{saJpej5cVLA5_tV*(TVZVlHaj=?i8zfB#)(Fnt?qcROp$}BA>hd8~I#M&`rR8!kiHwTZFVjjro zq@B|W#;k&>r!|Mfnn=`Jdk0!`AK6;5vZwQ)`GBq1vN2qZNBuQVrgmz31AvM1&>VGn z_0|0jUxJxeyg11vs`yl>o=<}x74@2ytD?^v-`<-*n1@F&m5Z}z7HNlOsu645Tp17; z3cQan%VPfU#ijwpVr5ZI+M!2<=<=5Rt97Ae1Y44p~s`3e{jP8Dq=12 z0H<&CaGi{>i6SB|1i<6<;B{p%GM@rzHb{Fw#%*@4p21yC*xdy>+m=KS=uV#2^c$($inja2&o>gSvhRQD6_6}!b&1bE-b$>@uXcT!G#lP8Z#C(nQy(_m)+D8b> z8WGs}r5gfuK{1g)fL=#$=n-0rto>5S2 zIexuL$~mBXgrG+j{JJhv%a38PnSh3Qd<+#Y;U@ZI=1J=Yl`M7IN2Upu#}fDv`V<-Z zmEVWE49>m~Gd8J=z1Haw@Mr)?H00l^QV^`z~sA&@#Pj5<=g z_n|F5B`Zn;H!@OE6mt=Z&xL`mjlL)AAER5P-{c^vQ7=v*H=o%+wYJmrEwFSz%|!K|dwwB`VS{ z*rOjI-`5ODen%~S7dQfp128oCv&MLfW*#x;@6XTa=gJEH*C7aJB;*rk!L5fiEef(fO~)p&LATRW5L1d z<@R1Sne0nx8M*rOjnF~UKI2U5>h2C%iJ?1?s*z}7kBA~qbxsXEDL?Q=S_kZYjf)Q- zqM3sys@CjP1@tf(>`OrNV_*w{8@s-v4XGg3m-wP_&+u|~zy8c<)o z_Kj!A+QV}GG`L-&VZu#n;%xgqNL3=3+_=x3yZnmmHy3ito9PgF-|dv%7Wsw?f~b*G zX>%V=US2{Jl~FJcx^bEQAEzXxq)=aTJPTQ`%>;I;(QzaAG(0$ni^vR3gMd-ct_ogR zb94PWPH)iNQMAsLWo~T1d%in*%!3Cq2dAOA__H~ZBUWS zKjvyco7**lURaydF{Q4f(6%pvf`VpcHa#7v;sn-#Zt~NrZ*Q*IqHLMZU=;Ka{Omf2 zSqPBreb6UVMIP7Mg9R>885*MxW^&*jif>r;Z&KbX0^4@19Hkj^UWyAvM9S>Z5oLq? zGrVN@ls+i!w>PdRVF>3gf?O&&2kC>S9?Zhb-)6U2U-jHVKOh~n8zOG&BpamOhL?kQX zQ1srAw#Md1HjARp>ShFjx{d_nC_k7MqiGTl!wh~PE ziK~yFsFv8VS5rXK%CsyE&AN%U5%vdJg<UQy%ra^wAt^ULJ=B1b&3W`)J-%EeUEP-R1wyKY7ZNRgvr4u^f+nj&6C6aa zV<`wsaeJ=WAzJ^99Y+D!;k7H4krZf>AB!n-W|?f7;8bL6PLQf_dC;G#sxiRn^Z8BH z-QD-Wkd^(|nPkxUJ|0ZJ;)m_KvZBCeslDq57CHSNYF9=1+s{x$pGD@}j-0}@u0S6G zlwr{mI%^~U~2XVz+}_o5nSWAsdm6v14TdV^++##2R%f;l#kWOWT_iSI-s6rsRF zueCKqmmdH!^gsQXlXd!p*Q}y;X8F86H*fM^%-tQ*5?-P7`O#y!x^8l6YWg;uyRtS_ z>ckd4bh|zE^^AYHM#mb>A|>^cOMMWfEmguHS(-`KN&j@z;=t$bO)rV6XZD-6S-nLo z6bkX{8p-uMWY9epu%7_j?U1w+LF87>kk<|-CKgAB+=$X^{=fGNI#{@JM8Cledgh{Y zjPVgb-8X)W#VeriAf?_zBFkDU!BmaOUX%M{BhSj#0_8#;8q`mLZXiddx}s17+y}z@ zIP|qLXebKj)sQycEpxxUw8S^$dkdZ*)w|95->=*3^%)Yi(dP%ZV>oEwP2d(<+8$@o z?0cT3Lcr2VYe3iO5t7jMsw7Qbhk!qgwsg1j)Ya8N+VY_WDg(iK2WU0#HKhx;XV3ih zgV534_TLIhbael(?ZdUIA|fL7)E_@C1bw2H?GIe3V4wHfk>!s|<-N5JTGn}JTg`x1 z6qKMH&l|u!%gxNM_naUs?lyZ4++DbN5AbBx_4P^g&daR-cw7h-ij?KAotHx0Gjm%8 z2eqzUdsI8LnOa)LU9c2M=Y0!${Fd~nvxiEJ-a#iFVvB;6d}O;858PJT_T^j`hA0!_sSQT}VNkq!_CIZ!R5BF1%6lum&+BdF0C z)H5(ktKx=0no)}S0VQx0i=c_pyGQiNK2pEX?4W5lm)*e=S$zFem;IK1kI->V53O-2 z|J|Qm4*|jg2>N`7Z`WuwECj5H<%{;_5UQP4ewdv#sVrse=hP<9+8tI~#O;3_Pd-hY z3828W6KwI^7k;EdC#s6O`x(y1wt`#GVZS~3e)bNS5mF5YXaRo7~iA4RP?R~|13(_9nx@WlRs99d1LI~ z2PpCg80gJq*^R)t82a_=E#of<7tQO>jPL9A0;w^#s%D6`#9LJQfpi_G&G32RNZaQEoYl(nXJ79K&6Pjj zqRvI^#$x#!5j`8ljO>ybEGjfJeO`c<{1bYeDA-Vk=sWArz}#-O1`g)2^hDqAIsB#x z`GIJL39j7aHA0|Y9CjV>xlvRKL9%p1CZH`@amsh$=V{=7Q&DI5`-cLoxRYVR8kR(Q z48S%lDB%k5u`qswU1+Q&-G*y-gAQF_GgM`4nhp@M-WjZ@kRXCTz}cbFwSXLZ99%0M zqB|i;E?$+1_;1{(bSJBnBAI9Bh+tO$G{QdrX(i zbl*N`(48=>j)YAmka!u`aSHa5;D?lTDS;pCn{CE0W`hzm_ZA;M3o((hLW`Jy1Op`oO4-Uu2n`n7Frh1kt)2*tz(}J{teqkqCPX zmHgdru1vZMvT1&f5;Ew`bw!dT$kj2hWzo>+YIU_NbgVD~)&S8DW4UbwMR?$;dgPBzzRS#K30C zf}@2WHP!XP<)*Pc>~m62Z?r|qbv>u?l zTpLe@UkQu|vm{>{b;)NB6&E*TMZmJIIh94Hjm$W|Gp;hhAWp zPjwurhwU`18-Mp7)6xAHoUVHWkc|%h{Q-$6XS~m#zS`W`y!^CAtciw6| zsV43qgVk%o7I=3s_Q}f({`03sx%J}Q@zQi~%!S);l`yjJ|LzC#p}p$=#ol{HRhe~N zqL!4!TL#Ra2x3A}l9B`zFeg-$oKcW0QF4^BRFtHW3+T=-cHbVO$9;c&UwJrTKYOn=*IaYWojsd(;YF!et~k4w=dD=irJQ=y zrmK__I-5w%EGH%HOoxr=T@tw~kuAd@toHL4#!t&lXQE(U38}^#!0yn%I@YtV6BEm+ zCUuYYGj&%dgh2tR?vTuQcU9x&#uydB+DykJmfA1yE5MWunM%Td-@OniXJrsb?U>D5 zrK6*BZ|C{HA|e@a;qu6WegHcEQxC+tM|a_D`(qJ~N+ui_!+Zfz4%_lT_HDLZCp$C0 zbMB9n1ny5%>$rCZ?LuzxUXje(qZz0E`T{1*C0&r%(++piGc+EN5_3Pgyg?*7L8`3B z5m_2zWwMv?y{q1bdr$!+ZJS1G1|e6*2&(&_1Y=7q8<=lTNEQ5;b%jxOLM9;@8O|Xk zb6>+@bt>Bq#bfBncHqZ(Th*iav=QTY4<$ZgUA>MI?jH@?=+&aG~4Zp5At&7;c4nG5SG z9T-0&_V!^W`;I~`_W;Q3q3{-Nhu{~ws)%D7PdB>5T`NfXTy?pcZPym>=DmB06+cOQts-}fEG z!N8+BDR+v{fx$$lI^N`b_v{=2KuQB`mG$#Hm%qgH>z|7jeJQNi6h%<<2MQ~{I-2@g z`Die{O`?Mu#JPn`lt+&?a6Sv$V}JVk_q9S7ZlP_{J>9p%Q>AdAA!8d^O5o8V%--=y zXwCgFVN0D<%g1EPf$q`A{HZ*~k$LnWlHbb2%u-Q@wzn+C;P`}87=NOx%gg%8ZOW-Z z(g4)J)^~Oh=$OJv;diayW{^D!#yRGeVIo)S^$i%SWVpb*a+fc!Qgi@LjhcXF>N3Mi zjFYpW@%Mg|8@i_JGPa|)aOis!Z;2`HZx z&PR@4>Y{f2k>IC<0sK9bH=TD?|4D(H;3lEyzO-i@uDvQnhWK9&9;CyfWb~c9LT6KG?kf=`dV5 zp_Ssn`3{C}=*_UOu>4L2;<;S;N58OPX~jloL}Pud4neHPx~?x-x7B@SDrFVFx*~?( zxG}Wxx<-@nwO)M9)fzFfhtmvz2dYZrQ@-${i11#w`}Fs|K7E`wE9qa)Th65}-wVY- zr*MW=x1~ajNDO>z0_VJUNhHdEO9pB#A!WUH@7~$|``?^VCy}W%^q zm~y{{O`a2J_f@`k_>}F1Q>r`wKjE+xcGa-7iiDiUfK_64~>onVX@Yf z#q`)m!1Yteyj~pcJ1?6rGSGy!I9jG~~q#9gZUEzkcg(RPGs23v~ zhFXI{x6XYKXX-j~#wLcul;btGqZ@r28!@Na8M)vTPU#bk`o(K@Zul^cwMR!;;fbp& znC}Z{I^On$^7=h|+c3s!3(JmEu1x!tdfX`u_Fxx6Dfb0uKO%QR^;Gk;03_A|sHL3~ za;GrY_&HJUC}yPn?7Vw+B?JiSXxG=*hliA51|r}^7BW=&;nVnVGFj!1^9fL@VY7M$ z5jWyu?aP6^U4Iv#KOYgv_z^euSi0-r0QnOWJ3J2Lp859Zh>`>tujsy#Ok$!s#cUHP z6J1>ZoJLMQXaENT(wYhur$FFLbs}Hb(8IwaoX>HTs@{6SW$U= z>&VQ9e+)-_FLE!J-=CrWTof(5bat%~3wMP*_a?`O3wypE_2npk>DYj>&DtQ&3FKbgh*c{5ICIr1L7m2=-Cspb&J9-$>l=a4w|J^Cfi<%)LI1L4f z@T^)i&9W^p5ap9H-~#b{J~LD6PviqKAg)V zCjzAEn+lL^N0QGzIr2Hj-5rTiB>6Am&T78#OM;Hfy*>8v(s2Hf&GLzF${@|AYgey! zUvAiG4!&?g9nb2HesNIu`T=D3iGqD7^`*ZV+E~6=2_qV=pHi3Y^K(woKQ52$#>=-; zX3rO##u<;P%Z3l!LEbf$@<$eQqE{1$afjYElf;S|`NtU^CThYa6+Bwy(ih$@!y&D5 zZBu&AK#DKi6jO6N9z4)^HC0m?{v7Bg5OGcgyc{=v2%CzEimSke4Y}>6m>CK;+TR$vD)SZfKa*=D5$)P3~nx9o7TQ>zQz>)Y7aY;ze@o`qTr4dumW2 z=jZ1izPXzBncwQ|@`q9$pDkSSKb(qmPFsp6kI5+8W^%|WQxc36FTHa>$c_SHD+d@(lxF60S%pJWQV~4rxLdFcEA9Z5l z#LV=R&wxLyGhu%7jHRQJI{EX9T<1&?1bauWUSc?LFqK zpCV>~5^XqE2sbx<0B`xn2NrO?WqfL^LT0=rM2#=O6lc;;u1##4A2B;h^ zY%?bsGaYSvgLT}el)m?EZb~@@E{qS;oyy(+M19F?s9FM(|F8-lpELuUy^$1p%yp^jyq$P~E38TTraj>bK_I_)&h8E5Cd$gT43+ z*mr@rYfl1zr8{Nm=HHZmwC}eD?ZfL4$Dtrf|Tj+;FlXSQXvpATY2!deQ9K{F|bkQezg*6$dM9 zo890tqSX-!E$o`YsGZtMZ@46Fc;uIbZCBWu=1R5WC|Sk$g1peqRi;N>l|O|lBQQ5N z_gEq3AvW#bzn{yg|1q%WjGGgUrrQiE+ zLSjvD9r1Ah*sPwa2YMO#>p9YH06Yg|G3T@?%K#Iu6RKdY`Nb?4>lC}ga`$_b3vPKw zz@SNwG1A67&)r_nviU2^XgwM7YSRlt3kmgH4CG?Vd++k)d8m=RY_$3B_6!UNlA8li z#C||@<`*Q9kiabyY~}jhdsQlS!EN5_;~cn-G21R|(YV)fZ16Fr z)O(w=pskQp6+~pfbcQwn&1Uofzvv-w@go_%Y`0;o+>6qM6oj;%g`=2<{I*X^EyesH zx@pHT<1un+_4^c)$`gcRhGb{BOaC2+Sh@`uyN>@wrC%$U`{C z-0knnHY(q=sFaoQa^5BN(0Aoy+k8$$RO-%GfS~03-e=KY36lWGo|4Nq_nm&^HZ(M7 zp_*asR)u)&C%jdQZ~GDh+|fBxP}R*|fAo`K6(F~s>-!1N-UA!&(nIXdGt;g}(69dW zhU7q}?{)?a0TZX`@ITP;$5Y&KE{`xm# zaC?^NhN_v=8}iRiZbva3jA)FxYZpSWr1yDaQ-Yg#_s`$wO7hk}3<M6#1`|dhNw!sPLvEw=4@Je-7>TXq7bC{qwEs2!!QICAzw;s&QgAauCPlR3 zZB!2Wm1>=gJg_fwas3Pq?wTt$hxvWkzev1eSW?WpA!dnL!K9)#?Au_>@snfHUmFTz zDPoECJ773m8=#>bA#^b8X*4_s&p ztV9@0?7Y_U@TeUZRLpdN`3!|Fs$doa9pdsRajS4*h5*R| zFX4ee4;|AZyA5Uqf$;J!&>fy54x^du^D&v8P3_0LS#lhW;Q@b1E}{UPh4Hf(Qqx{E z|)-dD6##98D3RPZ>2P!oC^=1bEWwBPLfEC zE|8>=ATUyUaj+Z;IT|H4@zYqs@yAo*Cj(W}rbVoLFMf@8xvqc&r1f|lLUcTu!|+ft zdRgfWt}PY!L7YIn%>NH_6l+&r0Y0fWc^B*^cCSt5MW_hEzU^MIbDT>wc;`?7&Ft@g??zI3chc?IHS z5o!uOQ9B^H3C05L3y-%%^gyOw(UGdYW&}UBJo_~NT_@a!(_nI>kFiv@o-^H+X;%%?db`Z7fa6$}>m*2fNz_U!x393ZpKUg@{ zsLZ8`Tqm|ueaH?KF)DHcG0UV!U+DfPw7K%@1I#`JlzWL9jq_y}Z2dvhnD6CUvxWzNOwz&P^V1ucH>vqGcQR3+ zr+Dwd#JmNqeR%qsOzp*BV!`l&g{y9nMuHyEXo3gT_%(4h#~-j$s+GoNI7PQNUoYB) z)dX%;ufGE&5-4}nbj`6yot(LefDu5(O1a&=*-Nv7{Xf4qJSN+S2 zEZ%AJJxANqsigw^j~5O%1VY8Ceer)eRJOTd4?zCrl$eqd3y zf0!s>R6d~Ej6iupG#XPoc@R$X3gW4`AN)HnJ!%}$)UF$&XjqX7m zTvVZLA`LIg&w=A;fCM1TA2qQb9vjl*Om=o~I0iAmDec{`DKnVin_ZR5huBlWsVm;j znVyi{Di_MeeV)z7O>R*ZV*;iNCiAgGwKEY2>;L?#a zv?Y4Xh+0LOaU?I>zWf#*MHp8c9`>+3a1MdLnT=@1!WNlB7&Cq3iU30}U4xAFh{f&> z5KIt2OG|-rI*0robv0hpqSt6z(GuN{1Qc$_s7u zn=0o=L?6fmLyJt-BJQjM?F)X2A4@9X+WJySiwL}HJ1#ic>8P#L7PEdJdW5j5n-}z> zBSX-daqY_pnr#^+V_}(68O5{0XF+Av5mGfhl< z*f`+`13nvPj@6;~f3%o;m%oP01ZDs`(E3QX^?@||IAmtDOabWc{-5ZnuYBuNtBj;3hFP>-m z?jLTBHO^9nR1OVcE|Bg>UQ|))M*y=%_n~3*u#z9SX$9j5XA@bmyJK+s)_&#=(!5;d z88f;IY;q9r#SsYBMc5z+Oz9QbdYVJh|**DKu_DhdXWB z3YL(qsa+!KI`LETVi^hKiHL9h=2yx4C*;w*45T_XLp$lRUlyZiV0ZtO;1tNUrwPV zMfe`hWEczx6%4I|`zfpw?k>hbOZ?C~)qpA>`rznntR!xel9uRDrmzh057F))%gcwQS#OqxwUo@~VB6ZFAh)QF4Xc)zio+dK?LzXsli&H{zM! z_=2gahH5RuOfTtY6G>2vOUp0F>gkOySOTv=LeOBR2O+8#p@B!JArKj5OQ+Qs@MlQG zQpF>E;XS2K@qc|sgT43aL2NLds&k+Tt-pQRsHZcIR>ILe$?&MVBcLTYb;j!|lVsFGP4H=~6a=7L*=oKC`d^QR6|X4G2-Ry?;>tmT@t z0PCaZY~c&<&qbva&MabKS*_C)%u1EUOkIyz%x~@|&RH6TPo-_KwF0mWN(zilrIq!-!SKSjY`Xap1A%R5T+ojel0R7D zLX+=#H&%`?mj3b~*aU*2q@iC2TnJa6=_vfQIx1ft*AVeTzw6l6I)`AkjO9)t-O9td z4p*y*tcR8i_I5{L_OT+ybQPcKAXDjV0GM~#;gdXIjmT%rj%Y=gJMb(IEBtv34+&0| zJL8|t$s}x*Q+dIM1fUt&?YcT#1&LwdDxPI}7IqN0!HH|Ry*))dWIN-RDszx7<1wf& zeagI6^KQktzG<_VvF>9$rv>}^>Or-Spi*Mq41fmn#~#&A?ZUw#p^ zOzfx+L~JNVnPvMZ{_V(aV{HCk#T+YBv7gihpR%*FN3)&vxdC1rQ~x~w?#qLCiUeBbRejdXs4AI*ooJ3ETISj#p_i*pm z*I%f_@?0%wCOv=dMIDtMNkxh3Q>e%j29v@x%a*?u7%-CdpdrMg7CDrrN7lu%8l8O4V^UUo5;$sF}7Oo;`%_Kf}ZOhc-Y?Tq9<^rngHoGBhVj5 zCC(@LYYX3xbbseg)jU%+Lk}t_=a1G85&Q3V%&Pxz&0%qF1IJXgk{<w|5K@20HL0&S=*XEJL2V<77DLC@cxp(GZzb`3=ZBR{VVJ+n{U&=%j*BC&9afvAW`)Pt}GCbr%LC{Qidg#UqQf|4LgXSYLA9N;jh@1jcZv)G7zZnP!BZ~~oCpFtVo;NRcx1|p5TO^Gq#2aoPg(^nbFt3#`<|w9blk2X) zX>TTNs}Kg|Id3TCdPYJ*0!m4r7mPr&Y(NdD;ye|&pdFtb6f(y;5ACt!g4P~<72=y& zJJ=XpMsT5MwgU(8vy5{pN^DiQXz}3}kn+_NfP2fS`-)(gPWh%_m>-z8V0^Bf`=Te; z6_w8I(CfHKDZ9V?EW+w(-~SIHK^E3}z;y{kRT9plvHvF4q4Lq=j7CC`g~b;3$QnN&P}kf!(6~%)J_U*M zkOV6$>sF>e7T0)5Mm_4LKChIO6Vd?ViEUquP196tG3J;hzEXPkpziB;k2?X z6@X9{PypT_l~!WA84KQes@V%JY6m+wQOs%!0Wg{XLxzlg4>R*A(5e$Q95Xp5 zG1_Un=iawfyvls1XYHTKWr6>xCv^tfp%HjrwW-qg)5U+|mjN^u;84!dJG4tFoADHH z88J~nO!t_9S;xFyBMg7+8W_%6kT4fOcV@D*treCuP$EIID|?#p;4V|3ja*Kg~!Pc*QQQUp_LRUWpUdFY1 zu4{Kr_?)ItQcAe2ldD;Fc{) zHDr9^me$;4nA2OW295>oyo# ze)(qUOPwdPlvWR3d!e-*(=aUEmCiJ7WFe!>y0ufaa^X{Sq0*0LU|AcZySV;Z_!ajO zY=%Vs7IuE`bYD3^293&5^4uRJDt8=F$|n83lxJtrG222=$BgNKbnesWQki+~FJ9Oj zT9x;g)(gstJ-QZWpR94VaDTFuU6wEL@RP*66^jZQeYmUEWblkWf1b#z`eNgzQ{69S zx;TW|1io)-eUVh0Juv)TILW@WBxG%ku)Q0let=vQtgK~Q+1;O%&#KX0jH?fXbbQwe zZxw5>`SK0>C3IXm?oz45wx*zoyDTiUjqquwsAuk!&+bM~XvG8tx2CuG?kUiA?h6$B zvUm*Ec2a*VUUTMi7lfS}9QO5ALwM>(i5L3C-~&G`Fvkh!_tjqf$u%}9DvFBj`3nA& zMrU}&W97z$uC~8cvo7Ku-V_t%{SjO32_mqBqMV;?F@H)PQkD8eYO9xE=N$~cyt*-5 zCL^6Iu`H?Qav6NX5gj?viQxXhE0WbsetWQrwj=jw{iU+hfo$rD(GcS| zpH~e+&*KCqgvD#`2!6RZvg%It)`pe7~_^Ba4=aS#Q{JT6>fr?>~3-qjt8aXFj{Na7NBtYMxcte1go|~i&JkCsN-S%`{%WTS3TMWM#nYrP)SK+ zwS?=RkkyU$DyRcTlpMithE^XLP$qL5gV%dpGkb9N@RFE?R7@6-rmG6X7E-)#x)c^G*sZJB&EcSGpch!wme z#@XYYyaJ)>!EkIzKk{+(t?NS3hRDFb#uNp%eGC<>a8HnKlL`#no;qB*M|O~&Z0@!( zQ526voS{w@KDCpH(3IUyrnQ*AMTLAs%Q`Ycir+=j=+h&YEEERg7@!Ls{{f~Zc4XJ0 zIySWnw{`g`J=}KMPTdijg>H%YtX|tf9X9o+w)x)45uiWu7r9a&)d^qOhQ@!``3(Ce z*WD?yeZ3k9+F3t3Hv8=rYA`e2RSlxL>vHDKcTx+wxAVmeP$>Kd`4-yslJsOe`mF3_;zn zdfn5$?$K4!7Wi@_jfD+%b*T1@mIG%yW)2ms%kSHMX68%SbU*@^_4|#Y{Yll@&Z|vd zEL|rSn>vMgFTZu>sT*;A^l*jwcJr{E=MQjPD%myuqxs6x(xi434YSvi^~MG>iG}Mm z^gNVkznDGrrNI64-uR3Hndu=v+&+8mV%A7iIq>&hjZ8oU$IdYgi>$!n=%?vj#&*so zI!!@XKaR05?5OeaYRyX@H5Yc~v*~zax-(B8RXTUl;_T&XQL!G*3*!?q z`qMeKM84d$RC?^(B(-TqpfU7q_m+=i+23Clhoe2D-`({aGsmssyrY-ZAM?{JB5Iqn`%wQsP!^azJ0hOO?|vgxm; z2_HwgXC}L3y6y;7vUy4Mz53Fc%e1t_FXhc2>+*z(`4lV?X#K0p_o`!~ZSZ8|F?ng*dJQXv0?W z(wS^!)9P1$%4K;JPbX`K$sCw22y}V^V)humZpL*9Y)X^Z? zY+)xvIMmukdNFQf<3YtlYB1Z8hda-|U0jDdWh4m7Lx~ihl1)2C`=0z+uOKxlVk*V& zDY;oi%T@^>SEx!=&&R2k-g6YWe^>$Mn39T((Kg^dp)^>ENgx#Py^zBHSpNw=VwvWT$8|LA%SJBbY;Q)q1*JUO*20`NY z@+Z0Je%?HGo8$N1@=+d`r*E&)vTra#qmrd&kqi)Enf`_Nw9flAm&&Ay8|X*R=&o@6 zB9f{#BVFrLt%h)lFeJ3uTJ0VPkE0oOeIFX=Vh|$^59j?@KRvue(4Jm;JR16=A7!^U zh>HA2`>*Ii5k%gh5Erquwp{1(HA}ADs-ApNtzUo!i}t-+QV+5Jy2wx`lX~QU{I7k+ zw=3Eq=P&k(CIK*pk{yn?8`MoY%!*6g?LurN@)l_II174CDs}0+~3*<#Yfqq zsAtVm{P7cgDNR918MNR2X(tl}=an}UWs~ZK+lO26;-VbErDO%6x@{wh!WM`xa zP(RBGO1-m_a{Bo`sTqZgriCjF?_WN$GBuLD5Afn)R5F->;ziN)-*Ql~DmM%B$wNrw zg@6CK(xAp1RP`>)=G?mw5A`q(j?sLIZI#+KlzD6_npXLX>$F^k@*Tw{5goJ`9}yOQ zIG`N8vM{#O#67-^6pdyn4awqlQVWKn3aEfkYnJXE+z0%+X|&OK;FnE=A4L)G3c1w! z?TMc+iPJNyVqbpPF)mbTmhk+!Ct!dStB%W%&?sFS$ZmA}-i4%(VqSF?IZ{rPeolUk zzatx`FCZgkcIgdM+4yi+t-2$EJFSHDiOW#s~SS$?H{bJ`#8Yg=58(rpD)r_sxkbr2e@a9Hxe9zH?u+X@@LOKpJu zG0Ot8u2Hc~Io4TZS|Rj{=9{6%>60_rAvgrrsX~(S+-ImwdO1_0#VvbiexYVL4NVeR~zWyvq;}}-#2_TAoFFjJ09P{FNg3Tlbu)Pc`X-~FC zd4f)k=4pfLoOV2=4mmy1F|EmU=EZgBCsXJ4R_9`hmR&8kSlz{>HMj+2?`VzQE;N`C z0Y!EFq(vF-TFd@pgq}Gz3gFis2)I}ik&X-TnC=>;2%_{E zsidoTjWRu`+ap8n2r@%jBqueZxOeL3mmwsbLb4a!$BT7zJr=OOZ*jgql|A~^^eE;5 zdSXoJ`*n=<)G6WGFJ;JvYHLe)1Fmu|RA=3gw*re^X1KmIHqdak9b^*ITw6>qk6n4$pS|}s*P&d7oDIyrlFq3vh z_Z_S_$3%gau4AGfmRmO}Rdl3+G|bZ`Y5zKJ$=O;a3IykQP;}6?tN^z^X*!Y0WR0Ya z(KOM7TNSJ|%v07dQ|fG_Z*iu@^;qh<8hnE`_yhRjM!(f52opt)8tOY=Lr0kwN(C%j z2cE(kB~W;X7LC%ptS;&&ln!JyyqI#8OkarFAiJT<9oPQqdAs)^_Z0nF99kBdj;@;F(fJ;#pje zn9kuPkZ#2H>eGRIGvmhNKpAaX9+kQz&pYIfIKzRNT+5kiMbyz{P}E<`tp*mA+Yq%x+Z zdv~hCj|wk6h)R!TXrecv>yeb1oVMF|2S;|~y#Y>18&YK_gf!5orpwpXrV3_{wOV}? zt8+*$%jqO~WPMgBZGOTiwEvpus5sDmw;wrM``1h`&veuJ7+4>-Zmssi{$vX1{n?);Ijg0$5% zTIE4ikdsA4So6kSqd*!Sp{LTF?&~*AwHp`Pk8%fL|688MI$BPeyi_ zXZS!ANRPki6#L~P39%m3`HT3Lfk)ysqyw=>L(Kge7ZVS=OpR0zLAny0M2B~uQkf`M zmP(5UX<8SFBlfjnAA3Q88IVLzK%d0fPDyn?^$#Zy;0-fZ9s=@uq=H>2UJgS*VQSU{ z{@3A0(YD^KFxq$h1Os(T5X>4mXK z$=ZHYYd)xU_hMRjH3E^R6s2C61P(Z`yRy`QUig^W5v0+Iweo!8E4iZ|Dd`*7Gl>j( zgL#RdWlraPQ|lLvDE?Bvg?oi#Hc!-C=ls>xx{(jjsS@iuSaXN&3`Z`ez*9-9f zn(84v%17hgFxt#yH+I*r1wgo$06X&RMESj5)U|3P*s-FR{|DaZy0-c3_C>d|a91J6 zN+j9%*QdS`)2E|&eivUBZDo9qyKDKwy>Vg_#tLPomy_*?L?C2`?W$^?))9^clrVDd zjZ108+V~<-Zv}O9pWaE?M?;Y$(Vbb|0L12deZ3QpIp`3w2``<3 z&;E=w0u~!mgDOh~09p0k-YiY|?c^rQ{4Z60iGkbLw^DJ)Z zRQ`QXf%a=jkwej?xzE_%h(|+!gdIYF_3G|QB)_o=rwdErgc6~zjgo%KR zze%M^@QJ<<@JwmGQ@}&(5Wy%H9YpD0{(kP%Q~%R9$+j?wiBn!&zo?E~uh|VcfkMy< zD+r{x2<}AGoEKQ*cJ-=)9OUF7M3%z@cA&`c!#+<{_0I-gwknnA$`b@s(0n(IC+A6O zqb4!ne-{mtOZ{nG3+rf+pZ$f?qIx#fa~@H0HR1U-b?gs7^AsXo1txIWR-FCPp#7hE z!boVE8w4sT7oDf#cFwh+BK7x9e0ySrEqDZSh)WqL-nt}*y65F#lixcyx#~R^IGA0i zaK+ni9n_6`T@~G>LPL}Lt}Lz(1N(UIYt@>1r{1_BWbnh_nRKtNR=(Rm3XHc$hg78! z#}Z;=OL7Q`WBy4C!S0hojzKQ_q1k9fO;eUsKl39vr~R_@0?PJSxT?J~?CphC3^d|B z$+q?E>@zf2W5n0PZ#k28#Ft|&Xmv+EY!&^!Lcsjt??2l=9b6js`eV-YNJ4!zy08^I z_xyWagxNPbCL&}M;2HYM7CgPGwCMBqQN`1w3@lpo;+a~1l`qCDrBK@Yl=p+;vvKV5jirgV%jW{~(WS zrz~biAMm?u6{;U#Mx^+b4iz`H8 zNt5)xcZr8^Jy|jF!Ca=uMKxde1{4=%2}HT>*d~lC##B*-KB*6N>WOkmt5nvg9G6ru z8%6J}YsIeD<2Zh%zYkQtn?$-4w9r9$aw(32U%17MlF<}6X-nJ3pN@gB{7b)5N#*0n z$Cw9TBD29_(M)Pd%rF&fev5`o9cs;X(IZQthTmT5vwfMd>T zEg8Yt-^g6d%;jSFkaFD1HyNC6^&uS)J5NFy9ol?c(%vrQt*G5vso7-tZprY;v7b(Y z*c{)`P0Z%!R6S-}tKd2c5@2_=li;y|d{7j+s7E{r@oXV$RwmIELelOf$9tX=-LGK87XK%uR=s~8PSZnYge@9HLyr!isa9kqv zbA^wuuUEh5j^lfjRBdhRvD5SW@W*n5{VUbCFO{Z#-#biepMoURW}+BpVfoAN;@;rB zI(FY{tgiJTX0sz^s%Y9)Dh<8g?3V|4xeV2_H(@Z)5B6WW^XWb6)fK|12F$bFdZHo= zP|7N~gxtJ&Qx4AM( zp$^1+xN(W49C{Wj2wu!2^hP~c7X_1gu;qThu!1{qujzXSDE^8W6x=NkqvZ-|0i=y_ zSkYh6Bx2$z^+0#vt2k(U{;4I0d7hXiWQifEJTOAV%F;-w(evYoMeOY%C4C`~olb0U zHsVWxmteN)9Q+PxnI>h++V8=d*2h^Y{DER*1X-QhZy)V!QrM7#hD!mCY#5uGmSaa? zajiaWmm4_<*XNA2dfi39@H+4OvP7sj4+YOzK3;!w8eeUi(S(hr|DB)qa*j zhV8J>FpdZeCs_i!j_t}Ap=PeJaI!-$C&;K|P6IaBeKn3u?Mtqs;irR3r9?=X4nA4# z;;Zr_LpY{|z*=hw@1$=?I13y-+c`$!(luw)rL8Ci{J@w=cOn4m7Tx`FdJn%~s3ZX9 z8VTzQ0=tqv?1;%jY*qW^X@mkXNswL75zkhFa>NQrGEdJ>ij_bimL`}VJe2)NTLl_I znIi1cRaSMLYD>8Yy=d8_hLo=+F)wGSR=1lkPp^e>KH1+h?<43B@6j$^QyK%SnUQta z>!nIEEg4=eSeKgcx=Njfm_aapsHL;DW3?Y7Ur%}qmwKW>B4Y%pof}y60$J*-1LCH?sDi zf_ByZ1z3|HTRi@g_H)k&eSGrUac(`r;yYkWv$$cFFL3doUgvUKLpY<@!~*t2!Z2aC zho!h<2qF=!fC5hY`m=MqDF1eUTK+ECRhWnNWTeI_(FOe&PxJ-(DDlS<_EiW7nza+N z{Eyu=D&WVRccZA!(O$i{obX==EXfX}i@6@SM}ei4fCR!A%sqZ#%N%^mOEqrqH(t+M zz^1tj8nT;crs5g|$kswoty>}0wSSrd)$(ikTqaGu2w*48BK7mr+T=aWmzlzWK!=)U zrc)Xx=$a#+t(G&`Ry5}3!-o%RlVwu?K&6o7)fl8Dc+nJy-$*F9XY$}J@x=N#DouOJ z`<^VSM;=~#@Y>=VICz(?^^sjowwC!)+A7m%I8M8oje^&l-u}5Q4-}WFnJ`*x;=nvl z2o-`OQRPgZI6r6b%2Vj8c}8C=SUE3XM`^-IsiK;0#bOqvJVe`>&|w8g0Bl67L;9uI z9ydhuGOpvh0PUNS z3h3%pg_()!oC09pRbakUNkpZgDrm8E37zF5_LT>;$m?HOm=}O2UG%X}BX9PT&7s77 zXWS4&%e%_<4(HvG6@^tC$N z-A9Ji+rX}Qk^GODA`Wy5&1xrRKTXWi9ZjAe;m^_cxpzJT*i)+Wp?#wR%9~#)aTL<+ z8>R}Msu9`@P4b=y9olk#dOn{5pqK|#u?*5Iv`PtMbyz7_-6ZOl%53V^L6#fv9w~&c z1Sj@xTvEeY!;s~Kj02)b(WcV!>pbC@!vSXraK}^gB;AwbMyKAfkpy>6-uP7A647c+ ziF0yEO*7zl3V^!r8Ky*LmveFtfgme2;1{i_eJ9g~Qg?MHNEEO#y2xbl**bA(b2);I725V)6dc^ggHkKPX zz_31jf_{J%nCYXaHB8J%e(10kB1_wPSI_qbC_9nU80HZNyU@#EwgyjpAf{96-NstJ zfko1E?t5)}t*Vuo@Tp>(Mk z-%zA@_$mE~@bP~ZGfQNs_*OUV|M7Wzfqx8_tuGQQK-RIt7S7lcuf?bsQOTn+? z=x_gRJ_QB3BwUV2aoQu7Jpk;)N*)(NJKO;0-k!884x`W@%?O#aRUgrF=R#B83l)z| z@(6u1u^(fYgN3vydacaaOB(S>oQT-{*;avmWZ) zv(nYeD`xLR+xO?J1M8#TXK$`JGk>L(Xaqn4sRrbOxq^&4Vg8h$5_`c(tXV5r=h(P5Di5WNA8;C43Ni93joDG_O#;6YTV`ni0 zCok6|Z;N_bGJtZ`WeRN7c+`wG{pDxoQ||plLdYjj$1oO%vtH)wDA~)<)gOWID>B2C zv?d8TgWb)EE=7?HFpnv@%#KB({Z{u^!Zwa4lM)e!N;-+&O?b5a&w9hp0I@4^gc8wk zX}8{qSY;-_oJ8snLf&z?{ydx5hafdPKWcjjCZHN@{3>y5NoApjuI&(pt&U*$;Zhbw zv3IIyTbMU`e2)tBBI@KH5dP@sJNi%laIkrLWpUBduiv9IPa+HsA9!9wf^^PAWkM@< zG@VY-DFx`UmDUD${m}tvGptWi=HDw%zpqB>FCiT|J&e*zlyL1f*W|GIv_HR#R^dKs zNi^z_TU?J8W@Res9xsn^@&xe!O7(T*%|?%Mxr&r&%0V}*(A9Hzi!i^p z%z6e#e+7!N;<5~a_z54KBwHM`x;#SmdhO`g;H9w~60`Q{ZL|zKZd^5vqWJ!mQ4FQA zrKq4`bz@uT8XAYT$KN2s{@c#s7Tf41>Aqp)1~F0|90L3577KC?J~xAMG}Q9x)^RIC z`Gr+%AkftBFuu8+fau7>9CClk%;8XY^J(dP#54r|X!Xux_3wXlG9AHDLxhk?j3ZLA3T8?&3@+ zr4Q2x8{3?K54;QERU3FtAHq+Q;(4rBXGZ;EPRq4*owue@ zgWe!LKqtK8!WRN3r;SwH0kM3cZk z6$1FLBjSL>25fbXe={tZ{DC17sF*Lkp8+$xnTQ%t2krQnL&rSaUt)KxUKx3uE+#yi zZ7qrk`S-!pPzMd~FmZ|d(JW@XZ8sID?Y&F_;v&yZhAca!G#nI|_~CYNM=vNr0egG$ z{f(Z26I{oyG5x}~^ZT=F^xyPf^T2GTFj`YWzxVL}%e3-8$xffbS1p}CuObJ7s19|J zyC9?-AfZ5CZ|;Yz?VtDQJ*V~8hr8U~J~fI~S4#HGj{L4j6LXMk$DXk&*)L2yt-b+& zcX_Maae9To^BXs<+#frORUH(l)cy9UypiqEF=ST}lR$pno7Jv=#uf$3;BO|lX-jhM z8Tk}P&d1MUmGr&7Ie$3a(f`M%d4Jabc3GmJH<)9s!d73uXR(gO%88%Pvjt?Vo0rSM zceSr=+i3x4l-ReRVYajI*m-Kejg=o72!gu*yt9Me3!7K+=l`yh{XbdT{{sNx|Aud) z9?-fUPjB9%sOJ~e&So|uNxdA6*tnL)X3o<${B>u}+vl&lwe@GovET37Cg@mSfW|Sq zDEsP1jpUnwEE$jL8!rDbd#Ozl&(%JKt)~a4f1@EiqdP1TeWhz;&dZA^#qH2I)TCgy zgDBlPdB{P1bo|75>evncVzQ4qQRRg-LtN!UqEjQX`Wjq^PWnuw8DB_he*``UpJYPZ zK+7X#D_up}P5?7MVrPnJQ1jEH|I`~EK-}kW{aHQ)D)111v>wU=KNz2MHBXWLA4xEz z4bPFymI=OL+!~ERUy%QDl)I!T-9E!fdn+Dc59&!GM7OSK#E1p~b?88@cch}T(gse* zm*A~^)2M%az~Oh+4xp8J6MTQ34ycOSDGS;}>OQ8OQx&Gq{6D&F)shR>rd&*Eup{uPV7>GA<%9t=t#?CXtX*xSm@nyMJv1^PN+ptJlJTrtg<)o|pty3ukmh+klmQ#LT|tp@b5o&(|2`mRQc*lRt*6 z8diu0$C)#hFKF_6KTR13twLhGb#ccXVPog$Zc?qcZ;-m$SA_n-3L^80U*O()V_N~~ zBf>h-3z{MUTy}FOC1Nd^jZ1n*4_MPXcRk;3()dy-)~03w!Wly8pY`t72vt>fTJH17 zQIVBWAGNulf^M_}0`iPDV)7Tp-*;&hyw~?I;b)9=r^#GFZ8207Ol-Cz)g-U_RU1k*RIzda6 zCAF1_w=JHLqwPob--PQ8-w+|9;X_;H_@-@no8X1I6(HEfN{;{X@;!s%^3 zXEDWf>8js^Zh1x6IrP)4(7EnX>xxQt+OgUHzz`~fsi(WMUZnQi-6eXk|L5JP*pqKa zZSTLHjl`16KbEJKJ$>cbjWUV@%!~}-jve<`D28DQ9U>F$@2_^sW{E|KIgd1FH3L!I z2-bGmF8DINM%Sw&UugiWR@kT@jmg@lMvn3hPGHB$t)Y-5lfIR}b~5}@@m1`jd=7rU zHR@m-exwW8IWLO;GE^h0F`{?xJ4C0*KKusLklf~JYsC$%iK?C)a1 zoW0kHuGEJVe1vwBtRsRZyr&-tJv1Qop#XC#%rrr;j@;|7iz19Zzl|y6xO6i6WYRZ6 zvBtzDt806Y5LF21dokv5vJUe^G+9qgEhjZOMqwm%h)xObzuGpr0W_*E>ODWyc^gP! z=>R>0p8qMa8-)8~9*n9lfm~wP3{;ZdkXzK=Q}H#0{qI8Y zuXysW%nOhoW(~~mCCIr`S(t!wvTye>>HmU#_Fb_Xi`!N(c6?>{cGJpmq3Pt_dnCi) ze=-M}SwxHw|3Bq1(P|WSW;z(3_vm+8`SGa8v@!hU*m}(FJub@OT0kBt~CB@pXl`_CtYpX=TRpAeAuV|td;QzBeYnjYWCpRTc(ox ztCHo6-g@lGjTLhHE7vs{T^qkv$T57tCUX-vYS0i~Lclc9{J zDFNp1BvTRM%1T}DN_Uxk=@rc6x|$OQAb0q1 zenn2%Pl_<;2uUtV@)A) zncf$@efnX0;?@SS*JepBSteTxLw{8B2k~A~+quWkR zv^;x93_C)fR#;S?}&(E(Oa)3YEe!LFy10(3MuNXi0TKRgW zR<$5U&1}zzf4G{@!2H*J?yTy{CGFx$S!O~}(TZl9cSJ8aEfdk#9-ZEFqnj(G-}O_i z=;>3{b_HB5GI4!nwM*mlXOg!2E{}56lFz8fe*9``XyA952(yMJuIK^x)0{HyYvkNq zz8mv2y_5ZtJRxnwE)!j5^sv0f|JB_hE0c+2;nMkTC+gHbt}!vwFq@1W(q*r)@0~Ex zSR=E@-Qtv)x6yOQL$0REqEE6M42pn8RuZ^P1kpsvT9Imo&IFNAOmek=>i2>mH)u+0 z8hE%BQlAiWLgKL2T@)TUxBmwvM@O@Zs{nG(Rger_8lsrSr|rd*fQD(EfL5oMw5y%q zwA=7Ul|ra0P0jYWozQpLYuC~`;FUZsqAr?{71WxyonQA;&0+U%?!9lypXs{9nQc=N z_4CkU6`XF&8Zj(S*42zN`@-h8w1DsIr0W}HokLVsy>Nj6*PIJO6Z7M;y;=CP6O#I< zO@i8!^9CC2j9!^3Q>nKuew`RL8p+8TnK}J!RoKb?Glq4IaoL{9A0t`PE#yLY|2P#* zovFPR<@YgiIwN~`qMpl6<9J|$YLjC&6HQbZOWo@ZhVqe;b<^Sht+p?ZhkE<}S6#XB zsqVd5N~C*RM3!WqFfF&TbFEPb8I2`b6UL~n+h$A1u7w%9gt3n{MAjMmV2Z+E$i9yG zy^j0+{r>s>_kH}n_rE*$s_}lG^E$8Bb33yW@k_*MZvE4~`lLOh`9*Be*mI6lZZ-Fw zWJ!3pWQ(aY4qKsStr7P2tyC`Ob2>IC`xqxHcIH*GRlSK4uTJT+ zJtjP59X1Lkf?KI@KZy;0@<`hXGu5 z+o9WLNp2%}BCoq10x?|N886P&g9vEbqZ+1XeKUX@QPvE~je(=H1GM0U@ok zPlfPF!l&)mTBd~mm#O7>dgMzv7|P6MRzK`!N^Ii`hW7z_>#Ds}&5h-AGlPL1-Mxz+ zrbQk%DERVaxqfepuXGw1Zg{Kk_+xr@RwN_iyJ~y6*PkiwSW&v>QL~c9?oqtD%t)S? ztuw=@PEK%`RNT@%dP7~K!lG-#<4F+4@6O&+8Sd1f3ui*|98GG#fDV-;L^+Q9a>@WCi_~$(hA`Dmh9c9c{!r7`=Sy4SEKN>nik6A z(!D~TH>R1sO)-!B9oDyEF&D&qh7}a>>mM(Do2#h*($21{SDn-6m;E+MKDxIN(| zEJTnlU>FBr1h0+$2P9iYRV%mwcMvLZ$9g=+M>}D57Xq!SZi@S@UZ;Yw{@deBP(*8r zz=UuXKI``^1vkx&mDP|f+=ruS({|1bHf3UufLxEJ9e0{&_jrSomRZCGzF*?89LBe1 z3Mh?7Z~&FHP{5>WAX9!V5{|QTXt?(rO}W+8yZCv=#<7FD_@d7|NJ5}w<4p_YTwUw_ zLmQ=b9i)}`OJxRZ?ycwo$)-IYxbRWMO4+4!19qBxgX*4<2zxF=KHE)2OW5@k`~^&? z80RDnIS@VU<{;BfS>!%#`0>!YwtG*-pZ6)TGu@7q#IM00&k8Z?8)KQm_onXG$(lJc zR+1tgc3N{zEMiaijn~+_SExwrceU8R#?|zD7k{OGM^8#p^|KRLe`n&kc=4FXpBy-gaEAt>4=YDI~3iXDBd%XdtGQatvfDxxu zyJDBS1iP+lU~xE0pE`Bjq0y%>2qJQDm>_wgd7R%_|dbl~9&yVVylI;P&iouUr}_oTr&Gg4buB z`~P?sIPO-tv0Cj2V%nB&EH~(8f8ew@Y`Z}Af@7?C*C&W8S&@cy8@D;k$veQQ)zA$d znIsT-?T4S8ZOo~~Ot{4tM2ae(1ozZ9h5=}hZXq~=M<+nZ@X)n@ec74uWY4LOmU~8y zZ*SA=+nHU&9@AkDJ$6~cXfgc?MG|Fp+2P~vHhhR_LI}t8`Qm4=4(u6C;f=#Y=WVN zDpfCNt%fj$H~$#Z^QL*UmT4!7^$60;Fz9efQo#lpR-Ft^U7jVbF-m%0E;!eQY?SOs z87|_oJ-GcELpf8-`W~EV&E;0jDgz%;n_EQegv!aI7KY7onDFa+yd&YT7@Z3b+mT12 zq_~<*jA^`_>Rxo}{!1Z$p@Z1H>(%Ajst*&v?smTW#2p#>oCA!F%Eqx-_qFJ6zXBm* zlUp_0QL}~!YvfkJFi5j>ILmR=4dlE8uNdr5WGEXAZve#Q05SlkxFb`|70*K}AYvK@ zNi7`1FzkvW7dcf6ND^d3&`rDuNe-A%UQ64RQg{u8A5B0k$`B^jOungsZA-?*NkxL1 za^twM9K|p zAcuU!zZN9pt+=w*?W|87AlvbZNI-lfMNP97Apt&|w z=jibMqY_T3Ir=1iz3SRh)|ycyXXJr|p>O`V^CdO)QdwNZ)#Rj3%8I7E0b`{6Fte$| z-O6fTl5Kz|b)(brLsF1Vg3<@glz#|sB|LI`xkZIx#G*cm@zy`W(+EbrQpDgc3b(gI zxAD)3ilsA2);bA`c_bz`Iku3jP%1mA+716TMz7HfKEed641g(r=?r~uUsYdxJN!^O zr}h2v?H+f@y1yIth<@AbN|!fMHwIHRhCanZV7A*@%U~PB!px$sPK2XOl-E)0|7>M~ zgEl9-d*2jr;oHysqpun2NnLTlhHA*Zv{p-b^#uUrFk}p94X6P{vG>4|Pk65)tb7iXGBm)4xnDM; zWG~v9buBxz3zoR7eBg$!V_gzMRESo|4dYj#4OeN$?B z9ovZJ86HVVT|@>Bdos1-2*E1X_MVR+Nd3qptzb%aa=_JF<7${;POH^Evh@DbjI@(f z24Bhwr`0PGztB#3&0Kd}OIz_wQkCxt=C*4!ktm95)f=M}S@wqW`ByhC6C`~46pCL2 zmF5>vI_q1jxXOFdBn|A>lLwf+`vVw{@YK1Dm_o?}8~2HO`=*NCL14nu$Un)}ekrGn z>=^UFqC@o2Oe6^KE_Y-;oCn)qJ#flTCcYwvb@@LwnAN9!h2 z|0?9SJ+Mx|4%ze!5@^okl@bB|Rqhi)GS&#V#OR94QQ7B-xN?cW$wCDXp7*vJY<_=T z?JrvU(S&TL1u8uHKpd_BDWlsV`SlVUT(13opuDO_)?tt#nkR$2uMkxdPz(ryIlN_Z z?C9nnbL8;Nw4Exw*PdPirO_+Mv-X6_)tNaEj6iPi_&Y$u(gHB!0YDuAg5z@l!A*;A zzrdED?73h_*7+0U^UfD7|79qi;LNjvcN|$t z)NuVy)qdkESA0P(jTD_D(I=4s&JidNIW0q%TR^3c1WZF=Cj!ymP_t=KKfMjUV>oih zmVJxXL-LizqCV3xDl&{98W{ABt?sm$2&5BEB`o&#faGl$L`^v}dy%abWt-ezK!!f# z^)D*=y!m@K{qbKuyO*ME2aj(rG_iC3b0EIwjQKCZ{5wKHCuQ~0j^|Y5ob!CUg)e4a zf&1e=_M0agF#e>h(N#DHhY?zW#;hZ3KBa3wf`wq#XCjGV;O9F6TF(CT!B;?NokUW? zWjH!P{Tz~3i+&Ffb=o4S$_y}0u?yv!nhGFnuK#n&K=-j1BGdYTqM)vyfBy32%eqC9 zaIpv^erELB@GLiMfQ{%Q@JX-0Dp~7Zr}#W8(Po(W*F|w5M6n?Gx#GeV17Bhy$pG=j zw`IXqf!x9kHM@Djdtrb#o|5BfnnA8PVn~IQ)V7XsAeug0u2mLHp;ic6M-u6e^1(BYAxlEY z0UlyFg3M6}uZgG^aI*~ip(hYSM!BhO^Me5N9s=>rBVaDnu{T8NG&PfB zwX*=B)fK?@2x4sC?-u28ywg7#Cy?Q#ig&vLmiyUOaK8y6gT9X=KG8R(?z7TXa#O zhYPe}@~AZwkh$SpNSrEf@xsWKs~~X);v~AS7`7%1PIqW=0@Rin}q*9fI*E9DJt=+yQdHWJ#x9TEdJB%7C9!OVc_;3ufVx+=WqKQJ4gFLo!e2 ziPpJs(fcN{E1P;;_;c39kZc_UUp6ecs}$|EY(Q%Wo?&{9bg;udm8Wlv71M$}Z6>VK zr`tR0sd(42?!_ytQ@-|jVM?}=@ZBxL6)IOT`=Mf9JTOdO`hkvHB=z14VWvI=oh2h? zJJOAJTXs(VBjmk0?FcN-LzESfUpDke?7#q6=i1={ zII;P3d43)Kr?mSv)>lvP8nY<#PLjMDS?<1}^)6t6rP}d#Kvc_jBx>|(E(NXSs~#22 zLEu@0QIHByvfnn4R~_jW*K4IX={GeyA0OAY59YT;(s|?s^B&vmWOqm=|AMfPJnm4@ zs&$CEqkfVFNMh#hye%#><^M$I2t#c}`bgJey~r6vRc^b((rZE*R}>Di;qYYFddRQ_m5hWelx5-Qj(PAz_gwlfHCKU?RKKQYmx-tz zWQgDO1uk0tin7jLf%Ua$J$UO*OaAxtcP(H$(D?dCxU5vJ4&Qzhv$bzucTU0kV29|%jA$j+?}Xj?8`Y|s7orb1;?i;;dAIzV zeqWm59y{9KVM^P{g=NN%jv5@$d7MQelmpNF?cNi}E3r)d`4(VHqcaMjt5BG4g^%u6 zb}_R}RxTL;>zns-YMsS(<7}Sn+i=Wg2f&pDCE$p*s0JRr7RBBaV8FsT>rPJg((MH0 zplJyh=gg4S+Z@TKU8?Sbk0Pt@`m1m+29((HG7b!_jSO0=#Kw>N*$|K==n)9*`|Khp z$Snv!?$xpp&^8zh)y>i%{=|zi0w}`Gk&n1E4?McclqD8j(gO>c?i{H3SE|^gq#M#& zTrP*n6)J6QblozNtKbgz7_F=#kL>UUK3AJTUp60rImA-TXbP(0&?0~(Z(IP|lOFT~ ztWU%PBK$9PqI0Gc`5v(oz8N#Jnk~qslMR<=3YVfNZgZ%{Ev3)^a2pxOf(P~Rb9Q7w z1K82cN5UE>ARyfW{t$Qu8zm-PdUot8U->dM_p8*7C za{UV*1^^1GA7*kZ=J%astC@|Nu9ky9+cjvHI6zOg*PsF{7BP>9;H%-&T7}}P&}+6b z2B8uSQ9!>us^9^N`-akt=@DMmDgVBj%TVRBj~XUla>OpfteW!GTWB2)&Rhixkt-0{ zP)n!;MMPB@0n97r$QVLp0|k=fnfBg4v99^7mNDlPR!LB|kw-b*)J8zyMf$$`ym*Vh z5|tBh{-i^Lcokzz?D6Kq@-bJBX)pAn9&kv?iLR@-XVds8Sa}fk_oPp{X7h%WwxY0U z!(GP+byA&MgO8FHs6&9$v5>hRg>xk(T-6Bd!5U1nJ z6L(svg{tTXEM$1`=}1RL8$OiPRwVEj$<1>pMBp)Z%f|mUgeDWj7LSC!lq) zmBB~p{*kUA=WgW8Z~ko6T5Zl5r(2l5;3$WZ?nj$){fi#MYqwcG&+~&f+LDr zFvnYCWVD^PW+?hcLmeX@Zhg{t9PV!+*NwKNf&N^>Td_G)KIRHfd+o91)P(_2omDOnb67WI#Yb`9dj=setI@RHK ziDRA4TVkT4PoDmZzmhIhs>AP0iq-l_U?EIEB8)zWjkVRb)91GnrLi{X*1&Pk-XAMA zDNEU!HeS-l@2i@lS4#d(QRHS(O&+MO!0I9h7?^!>1vk!(l zgB}&H#an9ZO~BQa31*6%UAQaw4>?3LmLydbsTh#kp%wdDCtD&aQ_j5x$hu+BtADB? z*B{Ud^4C%`W(-lXs`N2GqI4f_@&3mw^&p2$eke*m5Pw|EP47Ej_Vn(SM?TM$#Dh}0 zHkG>|UJ}nR=6rEG(|5~Y!X@3yku@jHe!8{E5Wlq#6uHrQ^FobpNWUpIfOsSM^8t(9 z{lwhlrd-|Oz&<{Mwc&q*K*=hbaOYWdk1m%S3z+)YS$NF+L?9<)%@e1zM4dbO8u~1$s0sFQlZ9Zw!<`$o~3VE?l zx~SU2gSqok)nsH5^Qvz4`Jvc(S6+sOQ5<$!AU^YX?t8(}_iG7hR6DyhIMIT?>8Gg^ zqsP_<$c6d&y^mSb8>8E&uoOEC`;U&I?0iDo`!b83`@FFFtese4pUfmR^Q@k2p!?fv0i3@9nh5*?W(YMp4{W?;7P&e^*e4|SGp%FL>@)oGrBmFve46P^So8$B|exW&%_od*s8)Jr2 z4Bc}KZ0wEPiw23XwMW7f+$~~fJNkMTDrjfZ5sbR4fUe)Jbf_4Tylzwcr4ynIdky%M zoG)O$04oz>yK4YQr*W@Ci%TwI(jNVC>fSI)UO_;eyUu%kM>zA~UcM|xIIN>g2CnUdLoOhap zbdkgx|8T+Dh8t%d;bmpz8jf4K7xkN#C#4&wQBP31RX${0y->O(+{m6N!>-Iw^l}lf zr1fGJvR+GAUw)msXqofue6mG=cuDL>>6oF!_I(;W8TrGhTbGmyb6;Z<7TNsIAW-hS z+=QhX{dLFpYuVGSq{3;4K|H=Pe6HNeiszW_J2U&g-r*;bC8b_tfIgXh9~fG3gQdM( zyu~;1iCN~hC2!n;44Pcl4IF<1cGvkc{U6)L6 zp6cGJG^vm$SLE%to~v8bXnH-h?h{;cV{|JJBdZoViAGeHFwZQx(PH~R{w&iFTY^~1 zllP7p=Sk$93{#sGuqUpM`6u8!g@q64XW(5-ds1DBB=Hu((rZz;36a&y1E7P86M4IR zL=4~M$e(HYz=q&ib64=Uj5mA>StmXeQD#UdHaas_gIyOq6?ttt>raK4WVvEhLdWs% zbwn@Its=5)?Ej;?b{$Vt;GKdQp+dI#L0ac%_5`Ka<5^>G`oiBXNrKN7kI=1RS*HT* z4US&d|7q&O!-C)08iKg%!s+#?0|mU-dmOE8oOt*%a45+1N`OlxoAUXcb~)8m=XA?E#+FaU}PlCZ2qh(N$=kB!4^U8)!;&ILa8}osQx4DjwpOF?+Y0q+$1c=~$ zZyxr+WT+8l^oHG6|A=?_Eb=}NCWKuLc2%@F67indv|{K6D=bHep+!j0`+l$E%s=Y& z0NKPlhmbkNV4c9gEN(2>{7E0Gdz-v?NK!kKU^CpCtNj#1^N+1-RjMOdz08upyXgv) zk&3cuqk8TpS7Ta~tN}^!mdaC#BNeKJC*iBM9V_u!^y8<{x6~s=4zWfq#zUv5iymyx z|4v{nj2G{w$9zRU)0`kHsrYJCca4s>QxMmv27B}z)y{ft6u_n?NAE;@THUgeA<2^i zU#-#EooWjLC^utx4Kn)AL^wsE5;|ju3t(9U5Q-WOL&p zbjc>NQtLVr$tNozEB3sF_2{?GTj7FqTPCNnVZCTBhIkS$&Pfz}}UDjUqCT zNL212wO3d1FuiG^_|OyF`7R60ORB9v+s*poiu8N8@Y{p<{Y=$ER^{xBpUu|}Lz>>F zVQc<2`f|+H%=yrxu}^hMx&#!p=v(g3I~@tfvp(yI4%4ho;NGtH4H#) zbN-2EIX-Fg2hyLf0c6%{_mL)&U91_p0ItR0!BpI#Bj7&niHytCDVjhQ{`FA#PB)_^ z9cST;-Zhjc;s*4favwQLHm`hB;FRVROHIyb%lU!ff9!AzY^UF*RgDke#q`$hvT|#E zZk`DDW*xlDPo*;n_9^%GaR$1TQ=1(C`~Yb=3`+l zT4VAlbv3H4cwRkbO7&Ii?;%#PTPFkq$ea)J9F=e@*5u4#Hc_an4%E@Xe+>tR223?H zZJ$yM$QR5dhg#BuZ4+2@Rp0?c3cUCaGta3EP{3$g4Jd(UD-`MTj zcrrb3ph;`{lJT1ozixIU2nGV>_8&eTwqBwGEcaY4jkjr<=S^#hKZG zO1ZqL2@nB6fZ_<7=?DgK=#hz*D|cNww3!q+fhgWENRRKg*$Q4H9c1P84mtY;5xf52 zws7rN0TdX~2M#cEN19t$9ofWxp*Rc!N~?zqufAF%K-dgJoAwA9+n62@P!NF7?hu!-aI-75PkUr3m zaTysOF99Ct2-%Vk0mGoQn8;-j@f2c!9g2v!1izponrpw`atUk(pv_^b9-Q`K2y=yw z^QioVq`@4N&ABPgo-C|)=^q8t?qzB#%$c?_oTtG?5G!^)5lM4T@NH%}3gnPzCwY-o z7g;sce?pJm;T^9?7!YGJsGk#)CNoTWH1d!*6Q!<}!Pw-`_WVpcERHeI?L*Ia>h_&B zU{r_|ZJbfANK(4-=j-o zsx>PHD5tEJfsk#F4fmG70i=3=91!^DQ|m+&j)GnOau1=gA5k`f*cW6XSdj^tPo)26V-xyOPsc)6?$wqywFEd-JsOHU z(6gL#TfYWc_r@(j$R|9_sy3`4vw^8JK-Q%AbDLKrkWQ3fX?smAia>yN79lZ9YY+YAUr2cYD@_6p+v&rBaU0DTeKE*lt*?TybB#=iG z0nyx49GyI?tP>D{l0=?`O8pyKpNa%aa1%h3k<)dPOKG}H8E7qQ85oe!Nl3;%+y_&C zD%&zqDdLvwNYN)DqA7JMI7>LdUN~TGBx6OlJ;$;D<2+f4ryuQt*euo!qZa|Q zupmWBg~oF|AZxK5Tu!X1r-MmmN!6zC zaCNdHRi^2qEu@=_R~db!Al$cg5P6-v6XMR=Ecc~94+iv23eTj6E#i^$#m*0IqU*X^ zb2ISk=`*u%ii&)gH>;tlguY#es^79CEB5>t$ih}gl|~EOc4v{m0NQck-@;=y0RRWK zKw&YSWve`e{~zvz6gKOI01(@ZR~P*>&s(zRPu>3YSY9bv&-p(kyCzhDK$AHXry**5}i z`3K0#HUl&S^>C|I=9YpEP=lkr0Y^o{Gw2D_cWEtuiH8F#7eMXXBe%~~qzdzJfQ9r* zdha%WIJ6z@|G7V2WyLgs7v8oC>b&1)f!JVxe?7tVBH~&hqT8K}WQ6td9kzDR)z5y1 z4I^GqHLF`lu#TUH^g`LV%7g(5uvBAU%dy?-3&&r90$fsZ3k#j!FchB8zu(5F{ly=; z^xXKI1k@|N&BN>q3ZxSi2sDIXa=u2X(?$Zsqlk(GazNF(c-da01`cGjcg19OLjVez zY%U>?E=llD@-G^^69`i*4AYOs<=Mf<>c@~uU>K;zFcjH~9R&e=oU>N}G&t(7<$Iv> znv+=*oFc!~(loNK3mmTp?d%>%!X9uV7SQgJ5z~o6U^cB;@K-(k+?3uoCABW!5e=l| zup@+NA8YW2OE%uDysd@BCxqg#gVX4NeDKB(p*Ox=F0{N;84{HEK4o24gE-+|P&WJA z-&Yy*}O;Q5A-{fn>9Z=p1&6n zIM6&uF1>mVl&~j!)mp&nQyJvm8MuNWBE_#y3TDCASNQZ4AWeE~h)Ri4M7qMzJ3)GgWe^1c73q*D2%#e) zy{R;%N(U*C8j27gK!A|s?gKNw@4M^%zqRgK_gi<}^`Et7#u9SQdCz|Le)jV``+ag< zM`JI?Ar3Y+w!K%cT+(G@+das}_S2z%{S1F%L@o1$|0#K@-}2ORwej@6<6+IFeaF+y z$<@=z-tvf-wFk!D)kWs?8L88X;z#T}J>4)$l9JB<{={il4_nETmphH%TYho7VuWF1 z=CcdOwLp}%f^-|DPfH)FuWgqxT|v~=<8&{SXzQhNUyoSL=}rkPuC;r zytnT>S*)VC@L`wLVjUl0B%aUQ=jePji@7!)iS`hS4dOFb=rQ-7Q&{`{(5jBdFwtHt z>g=%3@zWIxpM2maQfyk{eShQ>4}^=-fk*VNjWCV-aKBh8AJU^Cict)<#25Nl1jHMjMNI z^;^gE*%GizltZwjF-XLU-r#sk`{tOpHW6cye5dA-;#2LPxdaY)5Bu73J?Zoc;<@>` zK`%Y=(^!KLPK7mC;Y$^mPpg_nt1MnpVJvsL&twqmtLXD4BXkD5vbG&7@0w00(4&i; z`lTIu@$0ysm!~_0xs-prU1QKlDdv@a`L(}mjxSC#I=Ne@72;i8@br(2F zZBGVuSv7>WR8DkeHCxA+@xuCB4Wn~z>#h+VEG!49&+rq>;r_jTl#=njTIF7IOZ0$+ zkL>H@<#m2JhnECW_M3Z~C1c^CWCBi&m54WN2tQ0EOZpR*Q?JnGhr}wFA!50oE$rTq zoM)^FRTWnVB9&?zQz<2zOHJgpxE*ZQvB(~M^?T|ExuCfLrvmNVBAuwQtC@Ysr!cRQ zK24aol%5c(UTPG>^bMEYomHR>VysfaBzE-3F_ zbId8csfAZjWS^FaocHaxDm-xpzQsBb$6RlJb2W15h?0a#{N(DeKV@QOQ~T_YXE=&A zUrxbW@Jx4S83wYr7l>_UtHYEEst(tHUQpmhcKLjn<1jjKW11MCof(Mk^_(A6Bq%R^ zK2FWbUQ*dTt|u9RZO+7iA5f`tNo#H%-#Fq@Fy(*>6yjorJp4Dm5Jr=vWlFIXfjVf_Aa zr;f4&`%IH~ftK&T2%m<=A%-OO4MggjRl#PS`0CyGQbe&U=d%TKDMp}3Smd!z&J7#6 z;*pwQjiIu;n73xUKEfG1*Em84ikuU0OxWrv&-`ffNn$IJ?~^u~9&*nUX(WfNoY6cS z!_l`7|3>l{tadc5lked4if!tGTF}fFMRKB^U{Q=JrR(>!ACKTP2cL0fAB}R$-CpLQpEfS84ciM3D74-gZ{1u{NoLn81baAKQyvNozA%d6t`N zi@sV8XuW@Bah_%QS>KR@FH7Q0y;1{Y3A95$Ltro-y}y% zXKY|^rZFG<1osrNmCKA~9^(Dp5U{KLzBf9%;>RIbH@^1IOjKL`dU0%;NC^LV@1gNU z`}^H^RsUA1@5*eiH;$Kye#(ft^d>*0T?l*~GwpzQZzlyc_7DheB*@ zza!{C{{^=+j>Vvr@-#x269%HQ-!+P^M_pL$O8yhdMq5-5QVes4@nwZt>bjCEU8D-_ z1o`}_v~;{^ds^BI|^S0%hTj$-G>LnW&|=h%xnh(!jT75R>C+;|5S@?dD%P6)NDb5^>A z8|T>%zr46KoqA6-X!0sYfF5TI_bcM?sB6XId3KGddEZ{=qemB6Znb&jX$rQ#e2GBR+tCQlE_oTRiljr2iXdli6^@KY-6^0M(V zDSgwp{;kll;p^**V;MwzrdzX__fQn+xGJHr*POnO@(bIC2kHoXiu$8ar{69mY>5dU zi#I8Gd36UJ>SU5h68M#}ecmd11vRSRO~Q z_GeZeWMz;7;s=^1qj(jy8>>#mMlI+4vjVbCJv|05rxTKsUInnG}|y`abk*WO&Sc|E*eQN)2W$AWv4lt`arky*pg9SXUaDCBxrCQl_QLV6Vx+ljZ@otY%X)gotPdr%;GTH%IyX#Ep z+fd3M3*k1;v?;eZ&Rkpb%=M-Wua^=VHvprI`?qRAeWX$Y0q9WaX=KRJvlVY0`zf|0 zEG?`C3OE`Y$i_D5is0V#OCle%8SQ!&O9;MVFBK7Y8Lsekf;X?&YzFwIsi8N^P%;;a zRK?>N2$V!VBW=}syDb#NoW zyD3_N8qg7QV!9Nzg}Q@QT$0VBEiCy#e0t=+1<1eh5`T3PjTeBeZlMC$vOUkDI{ik< zW%0`8j{K(6<+Xr0c?uod*6i?pGZ_G0l#_8R<{A5rH&cE2RzCos=C{ZX=&uQm)rU2W z!5dsWpyJ~uYxng?kFjIU+5m~k3-J_iBH-HAeT!;_iRh(iJ=y&g#axW=`H|m{9LU(n z-xWmPR9-3V_CdC1pb$k|y5pqs_QawhtNwHFQE>zIx%WoJP zA2KWV3Ue7MYx%WE$ZzU(d$~6SLGj4|rx(W}Q1!6?5=paVv$>&R^54?`MG!!4;hyiE z`+ElUzT$V%>Ud4W=i#q!dA6%l7ZH@tr8M;l5UJ$on@F9;`@Tz1(k90`BUnpKl4Bos z?Q8BGf>fCgeMfY413(TzB=I7N*1g-naN>6Lk4m)K`nX+Bwvh^8t#(+)WR4)K=vNuK{O106>~tq^-6u7A5{nbrAAl{Q(8H+wYwRiarg` zUv;3rczQ@q6e-4=RCo-vnl;FSO06o?W`VCnN5`J*xCY`^Y+?7!PC4m-3<+{{lZKNX6qrF zB^`QmjTThyMpO7WUv(v50naCm_!z6m72>YKO&2d&+28NtZjE{Qve`}BVQ*)$dguWq zPrCs6TycA@Svdj;mP#k0O>#fcENtSemx`QBvu@^$LdE{fv#jdB`c$HLP&)dS<&!0c zP3|HD#GfvkO7>ksg>x6}6H-h2PTP&V;Ztd8+WeQ3lnO=X7`&gOr8_kZCZKQhM^eC< zKR-X48m{yoM(eKl8l6&;5!r**ox;EI|HD4NE9B*2A!u>d^Sf+pASFM|w`#ZyFJUR4 zQbj-A3VBoDorTXxkmBH0=lsgS_=wmbG1|CZ1<>~dis+_nkV%Y|%1FjG$Fd9p&)R*x zokmMH%rhU34r8P^Hr5k)WkqgF@_Pd?CVR;ufLR6lz0wB%cngO!1tX96>nmPVjoA0U zTU04WAy4w*!R`BbZs<8{a~xv@Hs`+4)dAPG9MgH|X)1giW}NZ7YDs3+3=*qZ?#l&E z32r`9xAR;KJ&QGX#D;5PIoz-XHU*f*TY-}9#2FCe&oS6!{0V{RixeD7x!CJ!)Fcaf zqb7P$1pir=w0-UfC>wZtr>0{2o_F6Q<~^`*tz5B;P+fft8&8rIFzic?lKife_cB_i zqh^a(h^5GO*Ho79n){6O{TZpf#3T{|jfcxCvr+!)X_S7ZM(@j&AXmu4Ttl#8&Bz9x zK%wA~FzZi{CuK|D!)dA+_sjm1wa^_4H3(p|d{ceZ4Jcn~pX|4avyOg(ROas=ABqXE zX7j4+C95}Ih;{2J$Nvcd(=>29ytB1C^{oiM@! zvAvQOcf0S;(MfX{^GiJ`ggM8yYt2f4^_Ls_*U;T1oU&sbQKe=&lv zk)1r%Nksd~(Yre6!T{p?Wg9H~=L$>6c>m<9kta)I{EBRZR?hzb|PQujr z89$RXctd=)8HrZ=B4POr8XrEi_JFj=f=)Ntnuij3Qac3tZeh~wU;A}pPr6CY)@}7t z{%LO57P;Q$kLwyj*q0RdPVKXGO0(H|YD~Z+VGssN^55)IO4cV6nj(mfMUZ6=$T{en z0<=;5OLCL?)=m`e@tpLXPiqIxx_Cb2KYJ3&(fI3gJU0q#a?&lT?{wu^{C;<~C+l5k z+UaNa{a;iaECtSF>~*kUh-=mQNmioYTZqmc_pj&K)u9Lx4-y1Bp{xr4i-Gglx5^#w zJ@xfy#E@mEglIs7{u#o96(ZhG6f$q{VB}W*gVb{wI&or#A8PtdWb&Igf8Ya_zSwo9 zwaC&+X~X_wNCL{S5ro>dq;ABy1p(Qfah%dG(93P<{AysZ6idk?*A?zweeIZ9`X zU=yFxwWjA)GhfnXyB&Ys%P$|Ubay7ruiFy6_p!(gW2K|@PY)g(YlvuROED_wDKMBe z@4xRqcgNeh9c0^k2}1&HK@+D?UyoBk}pOxdTx`${SNP z)O>!|ilWWF2o&>KL~5@$Y47U5t8c&m!zy;2uGK~!ip>VVk8Q)+;uvh0G{FPZ!`s~C zb$jDtmpOYGQitx=7G>i&w|({N_8rL?*o}Z+=@cAPN}t|?t!SVr1Opa^0XGDX(J9rT zFJ4^E|K^a@pho{8bXYl8s-luyY$)~hn`kC3(QuiUEkY3iiW)C z3L8^a)Di?_q(rE3yH+zU?-A%jT@E|Mv-gnfV|6|=75To~DN}>Klv{SMgVIX9jX%gu zchB~hY|My_LL=}bUe2)|7)c>c$w6`RfW^{)Irt&-5puwMDRJya0qdaV>HgD@p+D|a zJD(}d18qITca-~L9T{jl(?iwF4bAti)mo4{AIDe(9_2!9e(+iPV$NeO6R_smo-;ri zg+4mOYc4tjvf-tHBF%BkLv|cLyTDt+LARRj#c86DMrRslLx-mKW8*@HI=~GE{xb>SE+Ac1IKL7>2O$TiCR0ySJ7>io^yvuz$m9G}asl)L&8i^K;vJ8MU?i599ZC&m+)4S>v&*849e;g3$q2_KAC&dAK2~N9%7w z)&UP6HS8zO&>>ncr(6z80hVnM8ppa&Ni}{PV;0|OD&slz%!kDo_T>Vei=l!w*O%C) zx$lWuW#tqB=%<@-4Mh5_%+xJ5u#Vp}vMxk;M1VV4pJrDFD6fFlfo<2^n<~2Ab>XDq z`gmt!&FUL?&!ux(L>;FS9^@UC&i7Vqou$gv}zyEU(% z)vvQcn2P#4Qmys%t?{204|@-upa4Xhh(yJ!##>(f;XHx>cDQ`$0F%enuR{%1 zX<0WicmYic3MjM&fp8pP^U~cdug>p6A|o77$;;x{j4RYh9#XM(g1Xg8cW-l!6?DG+ zJKs*L0zdkzcD(G9z4CoN@+dhf=ifJf;*GpCq|uxOQ==1p(t(>L2Y1q-+c5Ak%T%i# zf5ACgvyViW^tpQVYIfO-!x^W(w^IYO*|=7b!nC-!xnhzC`#cZX=bcIygcQFXX#C#OYjbrV&%NtLFxlC7+>@B()xxuk><`0q z;=Rr60>5TyH$s%Qe82c1AV{;wDCSzqE%&;pQJ}z^$VDV`<+$C?x2218X`n}L4XfEW zSl}4e!>5b-MsHLHGWyGU_oJ5^@Aw-}Ek~QohoosIv`X1P#>e^PW*D?Yo4D+cP}{g( zu`#20#@*8XDKx7}p10)T-+44CW~M1QV|#xtjz?CCnhq{M*AQ%`^Sda}vF(uW=@rh< zYX;q+-`l|$gSyIOQO+!)TfBo0d$kT2T3}B=cU0|*E1&b)(4!@9{GC7z>L2bK=HI94 zi9>i*mWoaD6cDj89zp(N^_+F^BgzA`YdKags<72h0C(hX`WPQsfhB&rUuVtV#VQht z;5@pe*s6iYaynJH7D=qt;#cO}K*<f?KuYw@o)5b|J&k)`t$>8o5fS4Y70;tYGF^lq?dV90{wh> zHqj`?GI0{B_JDehap6*xmo#V5A-#@j!tMJvjg>?m?Gw`bVUN5RZgmGU=|4Yzuc-cf z%sItITQ0LX4jRV#9qd1NS`vyM0~`EKC4jhw%L9t!snT6h3T=d?iu@$oUlc>% zk@6P1gBZM3(mn`W3oSYQ{(7VjwWSwBSc4r|0Ch<+}wr1pSGUITf#&>e8y?&>+?GN&Sn}S zNx?suao8!3_ntMC$*ov=w`7Hsd9|KO`Y#g=YHQys1ActiRo>iP$$AP6s0@h=h&67` zv14udkfO(Gbs`8*g`Ob{c7h16ar)I%((EJt+$YMEO>dB%j>B`U z+x2@qUt1lxzt|`ySr4E4eW;uu2vP&XG|*4<*w)Lur}*sC>SAi7O2ITV^fvjUAz~Ue zkM@#h`Zrhd{OgfC!YT3odQ@P&5O(!hXz8_x796UuA7_E|F_ z;Y2r&6QnFO*8o4LhB4;fWNw-j>aCXoKt6T4a`{2Y+9(yt+E3Ma?d1&H?j5uj*>0c< zp*+>S&@5`|?!u(lcc!hY0m#U{#=40Q+;~zk*I`|~bWi2#dD_un0Xz+mbj!7B$bKsE z#q=MT53)cHG@ZtU!KONLQtNdoP5>h5_PI4$8jE01w?5rR90152*C`&{=tG}l3YsZnogw?kMgOl z1GUx6yEir=5HQQWXq9~bK}_32AdF;+e#EKxdJOmEnq_rR4D!qwxBRB9fs&CERjIE1 zeQwFC@9pb?yQs;h2q6jJRb>VGx!T_}1P<&M)@jbs0${u!P~S6?j5q2kkh=T&%h~`Z z{RTzQ8(IMr&`L=GBySQ{47iOX1?E~LW;abJXbx(NZUu8AtNqpanp;+3g~{(dEman4 ztrkauDQ)exnSf_}eN+pNUJMM+%Bwm?aV;Lwi3-ev<+F|^qgb1r70%t)l;eEQZ|}2a zJ&^+zP@UcTtqtowaY`meU^k|P-9P=J(Ey5b)Ij2!1$x9AH`Op@N`>GQYD@FU{&QqP@UBRQ<3+a--vs{x5^)zCe2~z%Jl+ zWf(X0nr=I*2EAdZOq)uciW6GC|IdOx_Xab|Pk;SVs*AlT7`Vn<5?y%rR@KPz$%zz` z;t-RO=3HU?6ps*YP}s1&H`72YaNXJtDc0)MhFcjHwv>V3cN3|*!+#qDs9n06g%K0c zvkEnf??h+&oyqSe;~fo4VjVb!BD;)jY##09=iSB5_4vh$7YBLwYXgiPGhJucGUz1l z2H^PxK|1u$u2{+hVF0bsn;TpQy+DXx-aC2ep|ZmVt66Ht5abO4H%p@S+Q=_kZiIWj z4(;lESqna}>#1JjpGmf2S}p@#UyO!rr@qEX{-os8_pHJhwzsLf#SNhq&-u1%m@Ayo zr>i$Z+`pVKyi8x!Y=Brv$m$OD%|qZe(i{w%lCbm|3ZSl(s<)hJ5U{v|TIPN!3|la}%m2hQ)y(Z< z|03w>a|wEdHvWi1CX*KIvY21^z%6f9D2BZ9iPc1gS3=8JFivgSN1fR`C4d8)k;Xv8SIP_%m2nBpqHvDkb zu}3A4ad-7wqf_Nd(PF!XP_0#jssNZU+_K+yh$8M1FregN2IAAS`NBCRHw|CDl#Ne2 z(F$!Vo+jk;%J98?f!%qE9I)z0Ia|tKHqu?doAUsRvtkKsQ$kK#*jPYsSc_u$>X`aFxB1Y9ilLK=FAZyE(uEQ)Qu+%wm&7iSTm8v+GVmjQvJPFR zioQ7v^to0)OvchvZD$3A34_OPnmDictc|dbrbKLvt6w_%&8|~nCfx;r>@DqiE5L(? z$@Sb)Ml#46=!1||FT8i?Rsz9^GSxA0&#paLJ#{$CqT1EtoCWV^6m76m=J3Fqt9tk8 zD%Y(Vv!f@h?_d8nqLYd!bm~`dMO9QdYMoBX?>&ei+9Z{=PnS4SnO|QYSJeS}-r)}k zDaC&fpY1Iz%m%9{H#d`t%TrtF8gqvbs)MZfJ20I_`NWHIYyJ|Q@9k^ALUU7}ce~k^ zBCz+Io7g6n073qT_37`f>l#%4!&J^prR|TiUH|X0OBHgu@88;lB;+wO3tnH;;PvN_ zBI#{QHO(^6-dx-wPatjFY$9%gAA`JJ4a5Qln+K&%N`Ba9u7t((XLhY1Wdh=Zu-IEY z|0}e8=YJIT=DOGH?X86tf6~u|`w_>M$18T1kQvrg>-1p@z)LMkE0*0Ul7N>obAZc7 zz{aNsgJMAwM8dEt&}y5+ToB>WPylkFM~Fo@63g`o!^iMh1yCADK$Ygz$@LBjK$#K! zY`RX}Hk3)R>-MRYdOom~C-}qqk0O9!2W`-gQt6Gc-T;C@v8-LN>&{#uaIy3p@r6CcM5t^t-C05ictf}vVM2iTH@FejqFX z)?4I;I!SefWM1( zM-cCPLg0Y&*#^*Z&DEH1Yq&ml50jI;ZPZxv<*sDL@^FU6Cis3{=7H*X*eX)H=Lw~n zbvj&W=53!-!OD^VWSS?aO)Wl)0P~8aM$P<=Ygx5nXNLtf#q-ArObZP^UTEd6R5f%P zk`4d{nIx38!JEYwgMVUu4;i@&iV3J%kU@J0c(I_@se6!Ul4{7UEV2c7br=}Y76Bbe zaC|L7b)LYFLJ{&X^&XPQ|9U~Yu>l=>{g8%$yBko*Zvg?xS%JxA@gqB>;Y3WLP^EwM ze#p^x01{h0+O5gHk12oC0-Ljm=}gm3_L^gb%I1}fzBnK~PKKHdo$lpwFU=@|CJi<6 zmzBpr6o5)8ghjjMQaS;4vAaJ?F8rvX;}r+-fod4h-E+jmj^n_t1*=fZD+Sl}Xw#%> z*WuFzTEQG`l7(Fzi}n0@>ZB@CEw71_sv*W^e%ot!Pw~a4A?_mLIYx(OUUR6=$^9p_ z9>c{?(73A?>u1xZMbz$GFt+o$Ht0*nBAio9vFmitoa+{jk3_GA9QNw-ji+5DBLMWr zyCw^2Tc@PL1~3^2ImM$XS=qdY+_VY{dLNfjpZaN1OXi+Z%t@%DWgmVWZd!irdQi%rUHy6!tDoJxyzU>`b#sH_dSi z9K7mCZCvS6N^=?VD|My+aOkvY=ZHXfrg(Yh_=lT!YM8xBsm)!g-^DuKe93N;e1E+& zR_LX{G%;|Q=O9Y0aQ2Da*H?E^TSE{2UHJRu-A8LHk~&u|>6ORD#Ys=#2Bx$6S?PP5 zg$RUlb#zupw1i3PI}QJSJ{}3@sznc*o6TmYVDST$8#?u4lBe5V89AnZ+F~}Ro zuK2~t+N>>*JWLMWcdv^!FS|I*b>M6DC#rP=ao!f~{&(#3M}Jy<7o-a^P2s^-;;&4= zD^CFbI>(Q}JADEqL8}xq%Fw)-@ugGMw&>K<1DDDb`OgE(CoZeE(IG^dBm#R(F-gao z!!!PV9L0`Os=2Q}W5rN|#bog%6EkU=rxj7a=y8K1P8&q++wrrl%9N*TbHx@-I33PZ zb4*K=Z?$F&BXh#_sKm08-PaF@nlrg!j>zF)RLyX%SWIg#yPJUU4Py{6qA0vy8By|V zNA>T0_Czxe$$${YNzF}!$7hpCHzJygPhp0f3M8y(L$s&tLKV<+*%59z7j{!W;Vl9d zja&|Q<__sXd2Z0bXmdOTU9h*$G0!Xo8Y~Y57Qjj}e!;BlhY-K>dwYEiBtazNm`3YV z)wSdGPzxPrAYOVKWP>ja#9-7mtMsz_ft)jj(hwD7u7*n+KX<-k9UF4RQC z&$fLU+-9~u2;5qkYEsR6tgzY_>EXs)sM%KwEZFm`0==mU*iUtV^uw{c)~5Zd3EsnX zrOB1vlw!fKML6AC$8Xa;r_vEB#uW<6gxz3?AMVDP zLJ)F~DtQl!08z@_rb4}@Z-77q@T*KBfOZTpe5g9F(I4`_XKz6~aLZym^Pm=;2JChp z!ETmI<5%<7MxCvwEyW?AW(&`NI`H1#z+k%pirs}{wb`Eu9R15-v3aIDm)~#>Yo1R$ ze`4c*2Qnm9OT`{WI2x{b$L>s?tn7Ej2wsm?SoSxt{^yz^ zPK4{)JH2_uq5B7&O+hXg>E!<_0I^=mf+JlVctQE%fA#+v*)sO^B1^v0 zQ5UtyF1Uu~GQ_Qol$(wqy-s`n*it?)qIJ;6plam6BZY->=G{Nha9tcQd9S1*6uSDBFAC-$XN%`Uvh2E?Mc}%6qT43~06xAIuz13fv2r$qQY|FV zYvyfGvHA_ixoT3r`VH^irs{pEC0@=dHR|RQ#2-)NLu1=4uqzWK^JOM!(~;>Fw zKQ1;&)>uLt^AxN{wUASVVoW^(m**KeiI~+QlGpXUt9!H_8Al0R`rw4+zs`qkx~p ztaKZWGeBpvkEX@)(K2WLMydk7pkRVUJJ*a}G8*ETq8`e-zE(`)3bBfqGaiuxC@_;PfkQXbs5r0Ux<&E;Clj6t0WhyVpg`Bl(FH9C`a^+kn-jM*XrMPv9Csel&Z+3 zy8PKb_v)Qh-~}w6k-lBr$DkCz3%>zQDcxe1A*fQgO9}F!b(HFe*pV{OdvjHsBuyv>~m`4}>V-uqT~iOhQb> zBG0_CLOUm5vI{h)kO5gBOfrb;PH`Okwdr>E&6lej1$-TEfaA!9Tq!? zZ7k#O2qP_%=n7I47>2B51YG;1Rq}72+ezvBR>u_{JN?YX4byVg9^cE`Yq|>S?;h>gXW-%Ealnt0$P=YsAP{LUC zUrNrdD>F3s2djY@=whQ-4>4Csa-V=>Z!1|>`QB7XPb!DxvB^-v)?nZhxVhHFA?!h7C`R#SY3uIW&^%o#&86yDEf5R- zSYV(dl83VXb~>=(GL-^sbfaj?fG>=IBRz))k8-Q)t>aVLp=etQ=)*Xn4 zet42e?PTxm)U0d|-p7)_jXb+B=Skr{MO443Cx#En90Uhud4-wJ$Rvj0+wmz2;xuf> zt_^f&M3t5jv)Y~2%NJa2LeQzizZu4 z#y`jhH354#xrYqitjYs2Hp{XNx}0(E&)LjeHNSygeSgkD+INX%@K;{xq>?ZFntO$@_C^S+Of6ayN)7B{t^1+X*eB>GO;cM1q8d0ycvBGN#6nUp-*q1yQ=b()C? zXKFNn?D`79@KJe$sB9@^s?6pTf7BvqZ-@&8u9>^I>a9B2PB3WxHt}2IGk3eOsBD`e^oW8wD9<{z8?AjI?9uh z_mm1j0XvTHnoESv3mLtp80%pQ2r~!q-SB|}&}PfDsDelG3*u4nP>ur+x9a3gKbs6y zq}LY&mglQJ!P=BLdIWp*U8hd@xEfWjxci{2-R;1r!oI6sLxq^(G+Pz`79ANTAOFcsF&M6==TiS7jkM0AN3;V<~yueeRe6@#0(|W__O0nwhHqlDIP2SWq}}JmtIpV)Ki>(qnC0q z*xJe^Ro%pYSwRd0M9O+-1W*i5z;h$6##kQPG*a?1MNBm52Qyb_{bbx7)~wg#UtqR)EgRiLtz@pDc<&_U%Z8TU7>rgSuxp57_lf7I&?optV4)%2HG(!XbWwh z=d8d}n2L0H)VpH2CAzSTNu|;o0N}!)z@K3M3@*nD^UskvDegbssBX1Xcr{Jq63k$U zyCOFUh+0d~lbd&JF7wcVhjP!gqYTmK1l|)RxmO1l(Bs%&h7 zagkGEv5@(&+{qZ7g$mB>|B21D*kW^61_h=6bQ`w#^Ldes_)aAT&cx8Ld#>70uRI#Y zt;pZ~H@r@Nfo|ltUh@H&;86{MGtS-e)VwbR>;KWOU5iipo9&d`H9M1wV+A5UsbsVA zRbWJmb@aaA{r&<;aHtgLKV!mW5VS2Vo{Ne!PT3Niz6cA|<(9h;=z-up9ycGiA8FB_ z4w!naQNPrb7b`a6zgpoGPO@S#_O+^hdwqR77S2WK_0Sk!g#GKlnRFOS4?KKagNf(s z8-$p(>@`zv0B{@CkXCoIGdU9@x^kVbMDNOWSM%yxCb)io6q%4W_!0Qy?KVx}mFo4>!xJhkmfB}wQ5tSP_>PLXoHPm7JjoeR0$cfvnU3nxa z5NG2oz(thz;=G{v6pSUmU|nuv+GHhvs-ct=x*=CLS-{l!02LtaoDbG#WB<#(DDt^*4H6DHysTCZVUv<=*JMPvOn)R@Qgy( zxdv8cv1oXzYisY3rQ3YIv7+hm>}=p>AFu*;vQB*paJ_^XlB&w7GLh1El|NkH|A197 zKC+7j1Dz9ZvCq|cpCEIQ(U6M+0y^GYZ7;BG14?=pbA<3<5h<}VG$w?tY z;#{71*RD+bNp0hCuvpsN*Yelnj~fTO>?s&MSBWs`GacEIsgnKa3J6W13lpJ!C+JmtF0yj;@VAQ-pvEZKHh{{f z44Z)%sL6-H53;`w*ywarSGwYEHt}76Ifi7Qh^Rl9Z(l9a5D(AW+qxr6RwdBySx889T37xE@ZAEBjz zD$#=n=F0~{B}($8lFMKTN1lkXdHaJ*AQUW+;kghZc9L(~n!Ym$=Cl+yw`n}?nw|V5L{aMTaD`)F zldl@oQzGiW(O3ieyo9cM!BX`-;4#hX+m&5 z#&CD|Tb~i@^fWu=eYVh)DoB zJRl&VYcvf;6A;F$7UrA?{x!58{TRV*D;gWe>-v`nZL;&v+Q+{sPU(E~1)|6jZW}+{ zm*hRHh?x5aciO-JX#}Ll6G+uTrro%{gCfA4M#OYVzK`E1Mwb4J&%$>EcQ1`*?)rJp zW4JXX&>aqeJHuPNpjmo?hlW(80PyAK!&F5*tdm(Fp{orG65Z#hRagVVY{+T5aVNoB z_m)@tZx;AMK2e60VMKKCRGR-*;krfT-rJ37@A{U1&lfyHO<7$qY!PcA6M12YyM%aq z6L3*e_jJZY6S!}p#lH5!lv*F$gB5h3u_NE0(W{5-AOrx-85!MNkK(;LJbD8j;s1Z4>T@lDum$*HWp-+jHPEz&`2lYq=scR)Lz6AzG zLtqn({s2k-Y^Ni%fV68#$G5&lfBgd%ishF9Bym885o3Y7wC$=pXQ1Epp%Uohx&Z&J zkH(^Q(xAR)#JcX=`aQK_+mOvBRej1Kh~9;a>G-Tq#8`c}x8sc8^3*92ktber-w+E3 zH*i6J<`cJlvIfd-1X+7sQ_zus7N(6e-l^+5cBMb3b$Y>XpUw}JBL_Q#s+eqDB|Z5* z{fRLC0O%-MT>Vh~dBn2cUO*f&fv}!y0EMl9&~%5aRS)A5V~`akS3S4S*qPZq533M> zoGwy|ZH6-*_CsSnBum!&7YpET?Lphb=NH$(+bRMXz96}UZ|i!QkA#d?CO2<6N7ynwzcXPrqyAW^`0wxqE#eKSRD07y+lymx|7z|AV94{fFzkU?iop1hk8M%xE8m41NvDXDq$-23`~rb zz(kX+;yfJkf(E;vtFOw|9qOyA?;R}noPLqj3+puqE~Es@<*D}0L^KMSgY&)7{r;ZA zzi(sCvTEILHir*M*n?Qw&>|dzAqK|bMmrb^N0t#8rvWSAQy7h#xULp7XaAqB5{Y9{ z35b|q2aTo>&{zJ;a|7P-)C^bpNU)F~GBVyixiz`QW}xPV<^umQlAyJ2cRJhKW0 zLpxFx7AXfekd6WU+x994e#gVW@Yx=)oNNoK_h!->f0~CdLbnY}mpD6^8=kowq6l9UpaFUz1OoVJUsW#m0;8cBX(qM{d zk>hzZ_XS!59^kEfbMIBd3l+nLZ{N}cAe56fAn}A7z(`E=7_t_(JieS51HVb;dpH^i z{yA6p%iwHx79WVC!`#TZMum=i*f7JbFG%;hPY2eCA4^{i0|~vwV-R}6XAL>PS4PR7 z-TsLDeLCO}K47<>BB!%JpLTsD7W$fc5{w}s!^&Wj$d6Lf*!pzr;i#UJ2_e>+Moq^|mECIKKA_p5GEnj2&mPZ)K$wM$S9`}3H zE3hjfg3Ve=v8Gj{7D_$|S@p?&0Y3e0hD z8G8j3+#Xqhn(nX+spJ%OYaQ=7@RYFNFr$2U0b4`aF!>ofISAWlKd|mNAiK;L0ZZ^X z|NU-KchNwUtpnBJAP`G;<|!~S^~}B%nPWzfGJvxupyx=z-Z6Mzx^?k$QF{knp%)i; z2bZ2%gxk6VLU)=X4s52i;BMiD13zp60Ohzt+;KbSZau zShm%^jC!TtN{GUC z_Kz)1&b#mp*?Q3TjKPpdI8-1Jnx_!hf)Py^CXM-!BW<$5o?3_BhI9IJA1a$gv$9`U zU`8QJg~JOx3ijJ6UwO%`8%bXZO>50z7YdNdEuDksVBISCNsl3&?rb6lFd@kcgwHKo z%wc7(r${qh)Nhl(K|w(ysKSJHIpX6(c8!NW@3qV+>=6v&x$G-CC9Fa^11I zwN>IG?{i@*ueb4NTW?UUQ3z+@4il2KKmf>SP~zs@N1q7SL(=>0?o8K{sGG(jNXPY% z29`TD_A!ux&A3QSNZ*ab{v{aIuu8hy^91s7E%bc+si~>$g^s;2%P_F#4jpEN4^{fp z!V$Ov;lhnngn-S(hIQ3W1~^_*(nYUn3d3Zi6%61^=0{8LljnkCyu)B3M}@L8>!0QV zZ-mK9I}DQe(^;yJt(B{RAbg}XqUKm@4JeOa@fViCUMMewHkd_DJAmr0 zX4p!kY44x|eRGigu;+Dg7_I@@*?WSfrF#zd{XYAoF9HGo<3tKPr2xEk zFT#YxT}1X{EZ+JYPG4@v8R@YP;$bQV}OTl0s!2I`QJ{u=MC z_?;92G?E9~4=KXA;sm8;5YTe)qV;<8Xyl9|A9}mM-LjAGTeV@ndTfryIjf5HnZ$ zbH3?(q`~|IQ8AiVL7Ov{_nHGba_8pODS>cmktx=kH>6FAqb3sGYP4a!aE3;JdSf`T zNX}X}Ar1yu&(s5RfM5*}<>$+hW8yHM1A#P~bc1uDfR@S3@;XCOF-S-JW$SWxQ7hA_ z*QmghOx~2zV_y(?33Cv4&rdG(n7G!#=`5zhB;dy~JXEjJW%Lk@T!NntCq9IsCG2!R zn9I)tsna%Rr^^GYGKO>pZEYtS%e>w*P%exg_ydOAd049}bdMr3w(GsYzM$WjjVKQ>Y*1Qh36(QnG zTkw7*$e}XpWe~!rY4YfiWq^QEhL{onh?uWQ!!YW%8VbkE(z~@OK)O-oZWlL=c8D{?WuKBiv!pf5-tjA=|Ho~m)=W795=*kAM zsFl_y|BouJeX>7VY~wtf|)_X zBNlAfriz0)AF*Y@v-Y=u1SgiB+&wXU%Xo0P?MgRU zFt$8}(={ft;E(unv6B|y?QH$w>fLUcJYuJAJu zhVm{B8NmS#uOt16aIjmD%vJ}dbqGS{V-hwJw{A-O+pSaaYTz zZ#dhi0HTNAGRoj)hMN;dAN=HyiafBJYA=y*!tgNb`CUzi%T){O?EeRQZyuL(+P;rx z3}yy{5sAq1Skfkyw3{(8D4{~6Oleix6zz;*Xf>pjBD5=M*E*2up2u;V#|iY4Y#xs!`fFwS?|Ec( zgNwc)z8nKhr${D;O>G;ro<>A-s7}QG{lqj{@I=Rji3Q0;98zYd+Yx!eqd26KgY96n zJjK5rVRv8{8JQ%lk#6$-}}b2L)J_NsB~YbO`#Av#^GLdedj2oenK#yicOzvVt#gU*OK0-?-XXWMBP#~8v^P6j(>B7 zhUGw&unT}V(tl5VVDGJMffE6OOheRD7bE*-hb|DRUivrHwp}CJtnL9i=|?gnWV5ho zWi{2c-h-B@kg8qfGFU!34lL`><886XS7f(Offuq_?S|Oy&%UotEQC2rFjd{^!qL;rd^T2kC06kNxCqzCItBa?$nRSUq|aG*4PE2|;7h;@pxZPWblS(;eWy0G~no{vhnt~_L{osLe zE@!kZIwo$p^ywN;q*WOTS84z20~{$&v1ruaPuUQhJ)-S-%K^2oLLp=cE>VV3uMvoY z?>h{1Cg54Z*CBhE+h~yEcuR2Mh^IWt1>=5*$21S@Jz#E zP;a;R)bAjwQP+NIzz1YpAHfrT`DYK%qi4y&N%MZKaeGEweG3Kx)>Yu@TQSibwn`El?Bo=BWmlak&k1*yy@^kmGXf;P;uCA*)X zA!y-v!RKkYG7p78!l=*l8l`#U>A=Gy0pw73>P2cH;Zf8Qedr{+>3+3HcgaB%i^fT_3hHEB{3c+5eX&{N(%YjAs{;va9s* zq~gW?r}C00p;$zRypUDQC!oA^!8K+5>D9&p)b+k@At>fX(~-5m0J`Y6lZ^wk9ks%t z7lG3Ub$-)Exc1Q^b8#dJG_U)R8DWd&4DKSTaB zxVo(C$C=$lrv}uNH?%;Ho*kAHGFNZMSzJQ=?7``$r)6JWMUYgg*C=AX)~|ITaC_*c zvby8D5h?C3hz<*z-3zeEj!KjSplxL~O}Nf(7Ch`{e&GRv1L!go0q2w`oq}_l9xu=R z@q|4dPci4GGNYoRLfbnS9)Fbf0k+UJ<(kV~Fk74k(OHlLQ}a|EE^Uu(N0`3}xYcm*XHqE$AYjvP z$;0LBuSbP35SR{kO6fYR0Xw~FKMWnu=U5kQ)EXjSU-v5+MZW-*9l}ZXf!ZRcP$aqP zP&w=h>kwKz56J#6jYVZDd$!0~M<{MpL~}NEl}5gspk zt4bF#Un=^?eSs+F^2mKPrm9HyRh4pCcQsN&Y~tO9YTURV-5VA~JCMWzeGv;?P>6e? z`~(m}WvJPv%8g6k&FQ659gl=X&k9WtKEq5bCQ>uYvBqKxj$P&wk=QL_e~p z^nSg(L?1Vjn6fg|t7N0}eKQ-MHv){xL-quBUj$v`>|CJ8OVR?ej0!> z(uUZDQSiOb+mL_>e*qi|ol?KWI-+B(0BDIl#g0 zaGsp|SZD3mPO=xBS<2WGdxKXnuh0x8Eh`A+x8`1=LPD?RMsrtyA!ooVpd%+2Hk;2x z3cO&IJ2uqA2a}dB(PO;*1l-zmnyjAB2kZx!QD=S*>T9hAZt{9^f0g%Ixp&uhetH%~ zNDVnrk{$ggGdAywh*f=5Hp81?F*O~)DrBbn^tuE@E!S{wS~dY>!2`&T1QaO33Zdag z&?3P&nd7}44UUR_^FN?9iD%kh-2PwS8XwxtU%)jcLN{r%TZ82(ph5%t@zo5c`WTq! zr+cYJ+wi4uA*x$Tk{_xDdasnvN3M9Y@zuQLQk!;p3ou(6iO(*$Bz?g=!GPh9HgUJn zec#vK#Lc}6SFgM5dhWw;6*Yt{c@h%D`C(4%UJAKOZOQTuAhgR&Hl1}U#YrS3fB=T3 z)#IHtTVea`A`!to+||NXRMNB~rSYJ$l{7*i+fL}f%QgXLHjg+zf;XX<=CgHY-g?V% zc*Wuh(VRhTHFN@SK_-mA@iCb105KZ6Qqn^X%*9{Pp5_WgJGd2;KlUJVW)Kt}XI zF8rWtE}0&CP4uD4oyPHBTC-0sOe;IiDB~_fM?9Iy4omS347|Mb*e2W(@o9jo27ZgC zSTUHDi!kY~D9!wY$OEiM{X@cmlrbDhMFH6}+Qpk9W6>Z*J4s)i8`GlgTPFcRbX=c6 zMdX7Y)^R-xaVz1~hG53am;Bao#v|$~xqx#tUm6uT4u4iv#lv=CjqE9P0*nNn5D7qZ zjQ;+A$)vA_Z~?!&n}tgo=P+Xg7UIj{J$CG$Clmj$7(d}oOg$AW@G5joh+y^)Pqny} z8)ASyL^9%?yv*;pyV`8mqHi0SXcwTTdF(QWBm_ZAw{3hs#fOa&le37NP@5J|87ZkXpvd`%$!S9B@MYFJ>jQMf?sR8?XSwB*j1eKT7pxLM!QeXSfLQ2d;4QlW zwxO5dAGpx~=$LpXx3~Uow`kB9s>>H)9%9E(Xac6c9Ukh0u6~L^5UOP`n}w-C6d}O+ zAf=pox>gJn$d;2kMiY1o#pzOl$;FaiuP}>vAa5qSvm}_T(IaG2z*u%!fPjsVrF7=` z9}D8EM!C0m@;6OKj+s6j!C_=Hi^?^?49RemXtVJ;;`d(P{gIyC+7j-uh_-6YM$y}4 zr6}s|_-egB!}1V5fNQ6K^sFST>g{UA?tpJ-l~h(U^GSC%3z@ZMBb9)!n57_@m>~I4 zG(+bhIRg;*@wcL=U(ipZq^cATd5X%PZ<;gOqLF<6r5Nf=ipg#0&wqK((FRp`0TfYw z!c7{poWE;Z03T@DydH|v7xn=!A))fPuq*TUe*iqVQv~TBEDI9#)s3^Y{s()DRtLVL zC31H6E3IogCtwBPm`zKmwWBh8K1#M@bN657#EL-1Hl4$1op?B_7X`Z5OP7Wei{sZh z%);+Tp4T+D+zs9YFm5QDyLGxu^SkJ@=2+g5xAp_PcT<@nWry8i(~BIG2}iXpxqEcL zvNangLaXNZLA8|*HJ2n@pS{pmH^{C^d!Re0U{^a$QgxobwKT2lOi=(yA?akJQ^wFk zaph+1?-~pI_kU{Yy7)BvC4HF-4sk}BGl&@mXQqT>_6W8ICHkcFC;(wzfcC*hZMcj! z4fArJk=c<(=O$zf>#bnG5!YtT~mD1j<_@ zQWb!oI^c>uG|Ys8)su+Bl+Zo=qLLv9OxB$084_yvkaU{;f>ChNS3DN7~tJBwW;$_(dX>g;+#p ziS^5apOG-ZL5W~&c(|gHCddT~VCxKpKPqVeviT4)_!sirO}h`UnPL=J!Y=yTkzekZ6Zw#S-Yrr!G=` z)Z72&j)&8LNJ|nqS%;oseYDKNL?QkKkuEV%;9{N;fUKbB!;lGXiNkG6JibH(7kSW1 ze3oVYwu-c!*3jb=;Cfj|r5>eqq#xKPnyhIK3XmknyiP&P?>}HSlTAlb?(F-86tK=h z%*(x4?#gX8Yjvek{^g(R+HPlR|X0A!A60|NlZ*_|wyC9J!K&ok{ zs}X@-nQANx-0M=$N0&eneC6@P>zxazh%O+_4Hf3&;Ph#DMLsd?l)joLmG2s8tz>@J z;~lemsel8XF9vh)m5}`1nw*5NLFH^ujVO9vrHZU!`Z+g67uRk2p$VS{I}|UogiL5y z6*v>L_BZy4%m&qf144cB*l%g?ZtNrb z?U%oj+(D@_Vds^3*GO>ztVZ$puTEp1TA|o2o-sk9NyK}2lG&Q$@uTrI=iT2c=@TxD z?uK{>7@oYJj?F7Fv!-;j9I4S!NGom8&WQO2`_?>Y?v8SEMyYHg?bzKixtn$BFyeXr zQ#wBWJK3o2WE+x9C7+K1me^)VDMcn_UJUn2ls!BaYS5Yd-T2vFLJ%PUD;_pxQm>OU z%!CHOx9lGnK=`-OV+Rrp_+xV_&Q|&(usA1dW;tp{>i+q}mRbiWerD=Lrf6Y>HXo0}LY`E@8?gYY0(UShC@02gI0K}U%ovl=(hKR1E zTTQL2o-CExQ(smoEFZG;wCK%-;s<$}H0OXS;kaD&EEWl-xX$pSSxn%IdhGDsi-QS@^BR8h-WwuqH@XVNQBTY?~2f;X4Owm2b)|6~szFk;?6SwlbMm|crU zxfnJeJ9_(-kc=_Yzn;&Rxg8OjfIFo8Nyn7dhncnoEu?>ezZN-mD#46b6B$V&aFMB&T5hKGuRH2Xt0H$Ved{2t$>cSYz=F3etx&JH`A zc4Q8+g&)T|7So2F;jv@c+(rA@knYnOsp( zB|qhMYc%if@_^A2_&j+iGB?y(_>h9@+HH97t&;zt_eyrcftsTs(1s^H>yKKZRzcIe zo~nx`2QWHbH&<}4UG`keMDvG>91+OIWZ1^&Hm@|2>!eu^8_tWzTv4wr{TQO*6Wjn^ zQUF5Zmx_&GvEHV^^{fpj?d_W_+yJez)++QeB^fjVM7RVZ;qA{y&&Hw+q8x?yQBVt? z65xEbF7@7?f}-g9h+)u)?^s5`7TZetp$-lk|2_ZbCWE_v0`#kx0!kW>&FN z0$-6PtWYiTj&W#r#f|pKmelh!1czp5Y=3|ElFiGID!9Q=G4!v~d;A`c`0#%zBTP3? zppJk~Y;6p<&<8L5@}9F}Xkw{c%-=aQ+K`9myTY(2w^k5ZUcha|mB3+A0z*0J==tvC zkfpoc;JcHIxl+d#m~{bdEE=L?j%17Jc4!?(gLL7=aRRksx{A=e8A#I-7)A-PB)Ic@ zUvpMFh)7Q?qrxAbxuDHWQ#+!!F(t628|Qd4X&c&65c(jxu1R%GN7{bho@JVo3h$U7 zNx&|9)e?u8#!SdsslOe^O9gvk6HBGE`hZ!UB|#Wem69bcumxYa@y^*p%~VMUoBvDm z>^0-n{T7L^&UFq=yI2j!SD0zLzkOc7%lZ=zuG=ja$g!H2>B&Wz3vbiCA8r%U6))z6}i$>xy}<0-<`vL96>6~1y&xsJ^eGPiZU9RJ(~ml%+1j>j z0BbKvm)iUKMB{(JG$STmE3x{B>dc$&qi;9fUWg}MH?IpfyI{m^o4u5FI{a8pB6M+G zF0!trRsu05aDf%fKoR6I0AwES^Cx3AnoIFzL4t4^EZm~eGOSzym|_Gv)6Isu%y&QV z=qtA7n~UCr;O~NmXRI;IJceZ(l&~ z5aDNSh`pGn;P?U=#7dfzad}BEd0JC-O3AVBXQcm((9MrYmHS~`pq>v3c=ov$U zBlo$E&FaPc1n8;93c#cEgeaaFi?p?M}UM>Sx}8cKPnE6TNG zFMi{vpJKS%rp&+-13_KxFns4r<_opUdvibyhSp!(()q`J*jvU-wqR zMpu*OzobVv;ZkABDr^vab#CGry}OmF4PK%)UmPE73@N>Y`4l@nxHV`NI%rA`Ew8UdU$Vqls_?ZBL-?{iGx*>S3WstPlBF zvBjxfp34?7SpfQYP$gKBsCyCNK4&Dk=#G{eG%9#xH6*Wt;As^z^a6OjAZ=18gjJA0 z>9>2yc+>qZcdl1}3RIN*5uXc?K%~Hv03dfEdxxK^dPqkaHSeHq5hRi67ew78wh^rU z#VOHD6!0&NuqN@^7cbC-p#-LS4w`$ZwI7OMeC2rUnKXZvE?E&OAAopX?N2ITLRBl61irnLEsAcYt9@?^aB{k#Lgx7`3#^XR;p_^tDzw;LF-tFD)pYXw1R>hOsCZNK(a6 z+a5f4;>8-K8P&b;zE|Ry>p%^KQ|R@+Dcx4;Ow;)*-_f{))v32pRh@1FPA1l%!+edq zg~L`fjqT?1VPG5L_7IQom&PYm>>aI!xjM}sBB+P@8J8NyaZiw;a1+(aCeT$~{uNVZ zMga-_43>Yh#To7kEWTm`=2IEyEHOT9{#_@$+!f2Zn9Q1|TFlB42UmBQ9sGV11!Ry| zFhjUN!c=_zxf`t1C+ak+9gi)vI}AIBP7)%LIQHNB!6Upku}rBSGpfk6a2Y|&w6`5D zR#A)W>Pc!LC7CWE$&AVy-J4&cRhN4xqovAFW#JLq2(nRGgw=g!QBzI2;em7?IaN8~ zv`^w6Kl=`jv2*=H1rZo@f03TmXKG!IN;&!SxsL|%ifNDiq?^03PmG_ytx1Qdhkl!t zX=rN!&c+=dVBsRD(Nn&p9Df?ttan9tBK`Mf0s8ICl%PozcsifO)Mg9QNUoPI?u2y1 zSoREV+!C$70V&0OA^g|y8OGxT(hIC2^X_ywWC&QKTSUM@L0fFo1d=Qacy@WTR?HV* z2Z6^v*oAq75)@fOq*`44H{G$H<5B0&tW9CC$^Vb|ZAWbSJc{M0%S7Vs(U{uZ?+O7N zBk9F6_r}q=`^CDXS~PAW7-KtlAyoLiFXOjjyac>tQVGzvMu>r%0qb9JjHuxa8fZo% zlIx&3q4Y}jq_|TxP>$3;_h|K^ZT$3?n@AOlLJZz3)+to!yu=35zW#0m3-J%?ySr5v z?ubuG3;U0T+qjj9!K6D@tAjsistOch`pEnf&?J)&^J5cEf2_;+P1Nk8V*U?a>zCgbTJE*p zZ`t~U6~{#qI7bYA^vb%MAj6xmX6<3Qk5i*!rKc{Q_&M|V1-46wi&1B3V4&nor{U7R z5YC;>$UQUJ^gSU{S_Bj0QzR_1@5KFautmq zontjf)8x|b6#VsrG#y-(VStnJhGJRSt-sC1m6}<8%7v)`FBq*zTY&wJ!4SH|Ht{e` zDR6JZI*t8oLAQL1^MKmo!5^5@9OTg23?z^mNMcf{eRmnaYHOE@+zBj+)yIv5aRPmG=(F4 z+S74I@XcQANoNPa~d?)@s5-XRbm5R)Fq?ALuMgWVk?mb2^rLG35@fNDDn% zu_v#Ca`6RjfrpP5b$}VzansE392E`Q4NjB5 z(v+z6jCr~|O2#>QXksGC(k^JFNemcM>Z*rfOUpBYxvQEvlil#-3I|Pon&S_s83=Xy zkz&`fz&`$GsV3!Xm+Dykwbr>T6!%w*PzG1uRU&Q`s)_~MMRN< zYjb;njnz=~hRXzYu1u?~A!ZO5wtMIxb`_uG^f{I_OS#AaIO#Fg3kzc(bW*Jc&J@_j z)F?bb_cttPngbq&^5C=B44c;9q?YeGq)7!Tbk?fU%~1PSzAG$<{V`1X$1JEk@RY-B=~8#zGai3}sNi$5wQ4Zln&>c1fs0!jbX z>Q69V$t2_=hf+O)Xz8(!4SrY*!{nb9C3OuCV$<@zbt-l4L;gm4^2_<8+J8*OZq8vH>pZd&>B$tIIgD)o;qqK= zT(_-$Ala0&51t~IS!6n zm-geMT#R8%eC!2&M#ZKHE?N6wgOwY)0w`x>Nj$+VbmWFMARiS#RJ%m_|22@1RDnw;)3+@uzE1c_VcD50v0BU6`7GM!@ z0VgszAgq0@xf^;j+ekGYry z_h=_BXrk_hFke-K>4>^BumaxH(9ssnd@^%Pn`tO3I#e{1OY9N+EdN$w);ISoUm6*Y zOPtKT(04nX)UX9~ArMr5e`q?~2j{u~oA#sx5jxzJWa4ti!iEC}uqD#c(h23eR!C1@ z(I?H4yf-Alp$hX0M#~`8b2G<-D#uNG6ukpvW}@FP6s5t%m?E5fN zlbXE~KU4^!PuUt`7b2C9R-K(f^&N(?JmKY9j~7&i zknmUnqq6BgK`{vN8drKSUS&r=x8|?Bzu^RTqz8`?uh+KcFuJo85ySMj#P?NEl|MHk z_S)Co8_b?wt;K1f*zCaIJdQea+={vAWZ1}F!v%IuhJVjA;=P@9JT=681@nQbeal6y zsGlp`Z2DjLga@l=RpN6!|f+YvX!Hz4{zxcqmFlwfz92u*$&(@Qv8D3z==)VsG0l*=b-Jv%KHd0$Xg%BK)Csnm>BvOSE!UupwO`{Qd{h6ef zE+*<6CW&0$Fhs~(V0%`U2A)YD;0p{p>cYkXsKuIOgS2tlKp%QQHlAFE^w0+ucdM4U zjXW2mHpD~E8J+6M*%c-iIS}zJ!8e^cHG>#)5>G|5t?QMFUJ;{7Y1pB$8)a;aVppV& zH=rwL=_1Ti9ehfAF3)pFWRAwSjly%YJLe4(+79#Vifdo7snapfu=GOw?<}FB@>9Qr z#=BrH^peC@W>W-6NFCb~hya}#X-KHn5w}CLo0C)3#v~!lBNzoem}^~!6GLxR_|Iz~ zB>6q0!a9(5&|quF#$jZmX-yceyCFk-U*5Z7wt~s^ho+n7ETwV=uz_%M-vh$%+CHIK zHny~x`u6V|mxbgNv-jKqiY@xv6gfjau~k@zmBD-|8*>81AkVI)YSHenjKy&)q92`gPS`P9Hpx@_`A zAmogfZRpk`|M&Gip`yBXu@ex&@ZK9!N6wgrYFZ!oPwea=%$_)P@P-i*tZSe%gbCg) zP_vBGUr}cMi9Ny-rPnjX9Q2lBKHSeff!KB3=Amz0 zO5MwzY=Z;5=-x`gs8rJLplHYkYTc8D+`&V8!r{Q`qWX6!(2ke~H48KAA^BHW6y+FF z#x%TF%=U_d%hnz0RD2}=TwJ9TUa^flp$Hn`O=L-)cSCzI=A|gPLu+t0dci`~m~9rv zR8r5}SurSm(x{D1f`*fwRVLC+MX!Ng?Q(&CXvAcDl*sI0L!{*==?5j3C3@~_*czHvBL_1*UDVfIXguwa5o<=XP z#|J%Spw*vWm?zq8+U#7+d(r92dqi@VgGHHJcPgBIcqHz~nTV#tLU|QOJ5dOAw?%0< zE=WF|a%7c8)CZ-gd2Iu^KbD5XSGmQ%yfk0?aCjS@vnTL?$G@NBmZtMg9O}e56n^#* zUFCd#aR6l;{<;Sqg?q{Gi}rH&ygp*>$&YRqi?WHsU%!`q4%^2cZ@vjl?3)8a0i8au ztJX+k%Gy4m%#R+B6>j8%>-DSeSL--_c-T)sA{vDkQC6R)SuO8mtW!!s;2K0 zTM@JgBYv9UV0gu8_6L4Hn0f!vj~izHZ~$)ej5GoQH#Q*ci!VS)dA!PoQW1}`b;`k+ zx<~4m=(=N|;sKVnf>JCAr!0M7JQzd5&Z&N~)nQ6-^6x*wnhHq(xT~+74i|*u7z~v8 z`27)9wsB4cWY<#V2Gls%wspbkQ|Y(eaoC5tk!G(T12#Jj!fQKPw#3A2joeCa=wUy2 z)DocFh7uw$Hbs%y)+PIH)>xJ0?W7LUYbhNpk(C4ZflCteDoIx3YwrMZdPSBG-HsBC zlhlm?sqlI-oeSet9k#}FX$*RkFMuQ5)^ZF1p`pr@pINs6kJBywoib7Pnct4;+&b3x z0ZFTnQJS%KP{Z2^NMVcGWXWeB4N<{;3ln)SbVltlPBR`2K*+ZVv%r&avmV8*rJkh7 zx9mQo~b%N+;&!$ zy*Y*Y+8w*(X~VXiBe8~|hG!?yPrY=#;buAekIQm6Z~EMOMx6;*UzcUTtW0g*93b?dKDEa8c9 z)jeVh&wNL8Zm zam#Qi88x}*E|k%MnigvYhDGfDeYdGe2$pPL5S;*yhDnT6v~P*XS0b6HgQVz7?4hge zKB>W>u9NQs(PQ>1Aoh5OM+Ah++i-t)guN)n+_`0xfoj-u_3A-g^Vn5@-}L*-=hX^# z;<3?vN=c#zJ}u{)mc$SzzaZwqy1)QI)Q;2%ZCKb9CqM5fQR58i%~7k7Vb*a(Dd=qB z2&@W!pabVo!L{qyqIkL@*X7;IKUG-6HIITbpK$X-)trkQ?3`8T$}&QC$KB7RgYwav z`$d&U-`zAolH(ORIT(>wMzia2r+FZR)N%r5Ej@bo;B-P>qGZ)V3Z~)!38-uJUXWvB zpLq)whsl&4S~6d3%bTxzDUBI&R8uQCml7JZjr*@FXZ6yeYGnTlg<#=pKbH*;P5DcH z@$(!-_5k{(*`)h32*Q_!fxpKwVtF?M?U160B#m{GNObcM0R<@c(m2P}4hLE82^@sh zTAry;p;|oU5oXk?1OlAEO|mkgOLd#JGPBHg>r1T!QO_?*@ez>SN;fzuxkQjsRCDO$ zVq)e>_tms9eL%oS8=m9-mBZ{_*x2t`lp=Wc^^XiZ3Rn_@y@snf#!x+P$9lFyf+PGB z8`~>RD1*zWl}K8-f&C|0fHm|K>IrXf`S6ir6wFx?%E!3mNTpgU-83)I-YNiw{f>S{ zrrX6?ORpj+3H#zT&45WqkQYWoTU?>M!TgJ20UmOaBvvI`2j0dZ$l8dA3*!bRsokh7 z*&iw+j?NpxQv1M}vZ|g*`^a<@9ZC8CqRvbgExA=Dz~+GAc_Enb3Be%3#l!6qX zp*+>Hg;>xp&r9L6DDo_7M|RB6*3HPQ$d=Q9k{0rmr~$@Ld4BNIe*r9a6xdHjxCiOO z!NhNyDsc>tk2B61biS!jrbZr(bKEBr?vp!#o4}o}Ea?31yy`8=JA}4?mq+cYwSpgT zxAp6fd}?Z>1Q`G1pW_Ken%Co@eRq`*(y6$x6sP81R8mCRkW1 z$<75LNTPhN3UTI;2E={E;4g#{z}F*KKLeguOFg2+pnmY04m<&8zG9Pv9Q@J}>OY6@ zCal?>WOef(l^I5i-o@f75>y}6l>d&KDx?lPWEC-Ivm;G8F_jLSl)62T9;E!S9GRmJ<3 zW9d2&EZ4`!oumtY1O$e2mWBRYNdx~nrmze82dFsuPZ^2$uLx+}m`RoWP4T~cfd1`5 zX&(IaG_w@1$DyLct|u>-^FR*VRSs@UF5X&1y$y#&Vy8ie6Zidn`Q^@lkp* zLfrJCH1)BYKaLZ{OPpH&GUiQ9N|)PR;Q)VF3?^?kMdEL&kD#_>juqu8q`x7bD=fYT zS;az-l8w4?Bhy`r{zz#YBsUfCDJv2)xL;FYCYv>ilf^JRNXN{IKLd`!LY2sq(_mB*1|cBrrs@?bwJA_NCxrc-NZ%EAgAnTE~1jDNZiwBE1L%MJvu= zmS6^2@_t4x2LXI>SG`(x~ zhv|}E<|2nKeLy7?&fWSBNdezKOjRK)>)U7dOz&sDi^M<}z+?UzApQ-mc-DMxIpjt^_^hcXPQNXYoh(7d=9VWC&fd&m&-!?4?zBl<_WkOd{V+QdqR|KE^RhY&C`v z#7Mi~)H3C}A^`yqy7nimj6`mr~bDBnDWT&aD5+sIClwASCe z-l#EuV$yuk=@=FGNN28+!h=X?YHc-uxR+o?{csNPsi@@L0o_Weu(>Ng_Dz#8W%<+4 zefT-A6z)tQp5m8W7aX1gUva0`^Z0%?T3r9xZ|U3r`w}eUKkG70UYV>ao>nOR@Y(9} z>*@b%)5U3%Cex%aQvpz%SuJOxZ5)3PCqNF}{Boqa zVA|b@96+r${>LPTxshM1e$y1O#;WYDGobcB{YJp9vEMXy;d*6sWw_PyhKYY<+VQ~8 z5;esbc3pQ8|`lSqv}9!1m)wLB$4L}oW>NtR$6rMGGFV$0*j?EUxbq@=`)ubOfc+Ex(FK^8IDvH09 zI$)o4bpuBuNQ&Vgf!&ZVf=U)Uc4!hyl}{ci<+dFz^_{4IM@k-cJ}$U-mz&ejtEYOfLF zM@HknkCNVi6c1xu0kf1c9E`zLQJq7sK+;>NH~u!*L6v&{*pf+94;caJAqaVXj-ll8 zlV|wQq5&5<=6dys8>LTuPl>Ovl#?52jnwyixW zwc9AgB>^kx2M*4eq-Fs02`DeG_>4(a{*RcH)KclDeOqydE%gT+7g=*AzREbhh&pq0 zj6_HFpp7oxQPKD*$j+45GYsbRddJtj8f$uzLXoBPqj5k1jMXvYV5n;%muC`^s`70B z^nO~#Pip<|&C{9|06d$x1&l}(|65)~^$8xJWlqZJI9JU}xmHEE%oChD%Lz&7Cnvb#VEp0^ZO8tXIT0?Y6^CzgwRm^WHZpfz#+`aGZ`BpjnTi zEH@W4qD#iT8k1Pp({#^boRuoSw3ZXbYrsxJB&w7qjw)*6hqS>+YrC zw{THnNzIyuq|p|+p!sU^&oKeiLs#5y5(En35OEUqH*eqJoCZ6 zx%1BP1eC5E%vfPi^*%xEjTir+jFdtq9*~#4TZVe9OJzPey#Nxz>Gh|XSrnQ#@Pqvtml%KcmJzQ;Pq3_jWc)x7A0F$MmuI5Pc2nz@DKd! z`WiiHJ35N43n@d}qG8SR$XYgFHczoCJQsE`GYgIOGCw0O3QTtH zya$FF+-J;V^k4m!|0?l8nm`(-NR!5Jts%Ij-f`LDbrN8`b1Bd3c>&Wl;_J6O2RnIT z_Q12z-7iKY?mIu5f7dYBK4E-~F~@wyU4Eu5{Pjuh?^a*N6ClKW$~-*(RYLn)jiCZl z+Wh@I>GN|@D&4i^)XO7E#(NFF+>rR{CPup3r>-tjHqvBPdHQ(-KV4CLmzzYtEly)nOhYG$;HYk<2Bz;} zJOW|JeIKT{KRH|fiqp(dq+Kg0!)wAdNoGFOZA*aC*f47a7$aL}l$`U2D(C_5NX@wD zG!s$@)$umIoK0U1!wXWBI%gS8AK~fqx7DpCsBk;lo0hjdWbR{=wR;PtE)e-dJ{iRwOoBr#T}w?d+gw6vYF+K2QDvE5W1~iA z82p|x#mA#JIgyNaVl&B%8 z)JNmT_n&C&ANqJ{sfE`f<@25|hcy!WngtrR)tvKc;Dj#DFEbTf7w*&d(W}M2qOUL6 zxX`slBFt!WPNIxvV|d}R@NkO`d1qE%QvOwb86OjKQM2$twNO(VYIKJ2&q{_q`Xq4^ zjsTb1kVbnVagitELJXPhVVZWx-+{ay0GsF~vyl7?0K-?K0XfyfhM2{>pdI3}Aaf4< zbbmN*F_bfNHt;!zp-KI-eM)YFy;&MV!w~!|Lxm8TXpwrxw!m9{GRYBCiMUX+-icja zmMi+ak3M#EdaK>+VK2II{B2-WK>s6y+^d(TYNv)T>H8hN-)%0R5^k8O=v>~-n$?ga zxbm1+Y@&s$?0MS}{p!YnWX=}3xqdm+1l0k~4@>FWUS??nSrH3sW1yd*f(>Xpo;C9YD;=F0`$Dx!H$*k)E zoW?S@*LC0bKMRoUw#YctsD9rm=G&=MB>|az3NntRj*Vh1MkXSEvvR6ity%3K%HQBs z=E1)vSoOqv^n`k!=2Q0!iD^#RmprMklr!AYJ z_h{Cg_MPGw4tD^?*Muzi->Ko^Iq&L(|SpM0(qFiy8XWs#x&__dE66Z41dn`DU zFCE&0tryoQeW(~K3P^pkaVTZt?&EJ=Y7YjHNzmr zQh#z-u)1+u?Mc&t_Zw$7B9bI*B`s!XhF(vW|`VCq!d^MX|O zIlJuQQ&~Sf%69L_o;bHst8(k4;wLxG(wjj!)iMb`HI_xMsd=-m3$Mu({iC3eHOcOC zEVw$W+d}?G(V~Q7kKAgfR!Hc1#&o?ays~`Vlh_ujXR}=Xn#K15j4F0NLhMrGO^4rQ zAM9OMy`Ei9%v(1L(1`-ZFB~;)9A8OhcrmGDA$NYDWX!G4HuP~DNuQ7CMoqCN0egC& zsbXm@S0mE=sF*Asl#*w>|Xlw#;Ze!+}cQ+y9~8xRn^TUPm&-$J z^vv}Qwv)gD1uOL|3z_;;F_?M13YSk8IcI{!q6JJ*j;~ZxdQY?50}w zgnEXoyW*0eSC!rI@~Da5)2ZwS>buKU?aX;2Zq}%;DN^z4fh-H<6^h5_@k_pK3A6K% zNI3e((<$}vUk!}B)U)xbCGGnC-a}Jw#`IOYM$Qj5RWFR(T`&V1z|6d0A9^l2aopQex^bfK9J_hZ8-u}Aw}B1Pr#;FO_H(8tTyosrWlDsF_c|EeIp%py zH+gdZU{TJRmPwb}RU)GK`B#!B7btAC=^Y6(de+zSpdml4?m^Ae#e!XS9%b1Rob6GE zC6u;>c3kRaMeM?_^bB3!omee0#ZmtIW29``eak67KiOUHzJ5Z!Z0;@Rz->O8A~ymV zVgel-CqEi1d*Gq|Et3dJuOAvn?0yIdVqE#in$tt_MNc9Qe?FkIkzU5kk}6fa2DT;F z02TArqJ|zNX%L{Ne{2h2UOslUZyu*9VdQVx$0ykjeHKL-7o>JuaE1^je|+R}XT4nJO3~Ao zUnS2MtW}y_-QcDj`}~5*o3P$orx$7V{mn0@SUDncMH%ItjeXBcBz#`Bo*y{owy{uP z-L}(HuF`kiT+h~?pK6?7JvDEdykx>=8IQHSuh(x)D;-LCbN9_3<@Y*%pQ#e>87Mv5 znUk87-nnSL^e*yWNqF|%V%NUJiagA*kk9KQ=c|U_C((ro$@3EYEu4nkzs(lf$RR(^ zN|jXzYDZLbt;$v0qEcB`%iu=lSu()|c3N~)UW+X-}fA+rIpuJLk zV{zPRcN;3|v$v;NjYOrsh%7gV$f(S6J=)k1F}eT4?~#HPDd7RXp6x7O?EORbNUDLs zc)-+3)3SD_#i3?eIakbrLys02RoVZv=W<_d%8t?8#9KUEH@|+Hm!+;nWAd35ZXa!RtS9gdZvVMO(%(1Gw)9)cblY(OS;rSDnKTM0`@iXX*LJQwa)qnR zujA%M2I`3x^8Imt@g|?H+*aCT`t0K<+A_9P`uo0u#3lM|ms?sw=|tHF)7wEQDU16A ze5>t$^7z(5{+v0V@v3CQJDkw@(jm?*luM=DIdJIShsKm>OTj@W??shODa8|wMhz)( z6J>$v4^&wbWdh0(cAf#Q*@-f)jfIoOhU4b4_L`SGHzxnD$&_oCTxYnl>N4fv^18~{ z#{Gu*ujA|*w_9-Z_(H8qtt<;~Y{gA^`hKYuUz*GXxUoi$JP(Mdv12vZJ>l3cs%{zY zlp)(-wX^Q|G))CG>``k+U9l%Y5mg;-`R1X9jG~CgB%5|pGT-6g8+(kU$tzvu#QobH z*+5-+ll>C?LLM`6-n*lV@iB$^lJ|F2XYI&;`RC%L&m&`gRxNcd)9!b0R}p)0-QzE2 zi@hHIwrRx zaJIqh2%|^=N_)gN=+!JuTR#q@Jc|Khnq1`ql?T?MW}u?N+5tH9etW%AU4qx{1K=g| z9M!Wes6aR)xHD)T-Bl7qk~Q#oK*VhT>MXx}8^)Lcs%a0XLh_KH$Q)!1lNg3jZW^QF zevGw*rsk37f&_X+`0Sd5XE@h5&~Q%bIWoN($AG5?ZU8UK`Mp9B%wYoX!6j>)#9ZZo zgzkn}fyWpN7IWr05I0okX;Ie;qMqHsL!D3;+hWMPUv<|jdpd##`+&Jy`rxUR?J#?_95BxIblz^ zsvTJ8BZE-5P$yq_?{}{~GoeGzt9y*ujH*c!kZ}04O!S_!Mk$$B{GXhKZ;*4+Jl%=b zt}&pfhn!Pr$%I^HMwS8I)b*4hi_vr5#-xQUN3M`+F{m^{%8$Bjv8XwRLI;lIjA=>4 zQLd^nbWG4?@Sp&+82#81{tXLEN(o{a8Y!`KU5q9hHPA_C!pA&ULBYKpVU%>%rVuiX zug;e|X*7hKv4DnI0bk#LGrI=Qae%y0imi;pE1pIHXnS2ny3aO`9cUid(4dq!i?xIr z0l)$~TT;6hMB$65i$gP&zwAPw)=n=s!uUU;4^sk@3iel@E{Ww-7B}HL<*LTRiGghS zN(Mt`<_^Y!YEpYM>jHnXj%|t7IL{D($;e7#fM~W!EKq9PIl?b+!}2qF8)&lwBHsY< z=F1uH5I4Yue3i5*#7z}IbEQ*7KCM1Iv7xS%2r^A2h!o?{{&|xZQ3@PM8RsO>^f!k( zpxN?<+f*OJeB+{63XWgZI#5~y<^aQToKU+qGTu6h+sMP!0+Iu2>R0R6<8U(hPUbJK z-06~9%X}ItpYywz3_cE&~^F|qDbBVv=wqH zcRCbA)5Xwibqx}XCz0v5;{!v_rIfjm$SLOiY27(SBHEV}3+i!)rZ4Lu-FY6;(4~Zx zc(ib03v`cU4My>oRX|{Iz;j?!W-WUklGB@v4=b#yTTZLFkFPk?vfVfNT|9mh^}4y& zQfM28%Js<8xh4zK;~PlqyUgF967nQ%ozBVk4{UPMvh74aIh|!CSXM0WwaYr}8W9(J z>(6$(29Tc{mM5N$PfUQ~Wr=~a>w*?Mr8e>#0R-dxB>P?afczLdximA4dX+oRkA+T+ zMV`!oa3vR@VOfj=_*#Xh;1&$fNGtqX$avWGt*V8}_UXAN zXCH9TbFF`MVPj*>VTU-1Mm|M5CZH3#h9>N+$WeR5W;_!N{U86DD#%&-qx(+${#4rZ>BRJz1~b z!gsFlf`Xt7c1;1`fb9n}oW19)I)8Wj!T>$}5NLr=hse8&FLk&po|E~`g}?3Hc7HaB z=O+86CdENx%9Qj8&HOa4%ywRJw$aO*ed3nJZ$_yD={yT;DlcomL(8w&6oga1;f8`1 z5-L%4M#@Nc*Dhn{(`e#<)VynD ze|(2#Kd}uizHdoMod0q>_&O(?eCf!D!5jI0YT9@l`>VfQ-c5qKayhJe+R8PBK(XkaQvQj z)Qrduw3S4DfIPhf+w<@M_L*j?&vNPL&bybs-`p$z;lWKaC0wOJ2tjeg-$qeacTRCFF^1+3=+@2qTEVAYlSx_85M2K@MeO?r!whm@=onEV?nGBa26}CSV&hr)^^} z`co)xw~c+tl69@N$66gOxQS?){**eWqqT9V#IQ*RTFoKeG!f2@OB!jqli*;sjdM{~ zJ;Y{aaK1eBhT2wY%^&|YJI{qIoD*0?MxW_Adf3TXOVOJC76BFCwVn;M~jx5q+f3iPY=XoBEvKX%MkJq}tDI=Z2MkY<4LO zC2?<9&Q6jQCXhkn#9yIHavxC7Mfb8})W4wLNKxnwgb9!Ji;rWxx;y7nhJ%XhoU(}w z_{An;zLUga)*RAHXgEJ|hj*P(Si(~#lG(NNqW>)Nj3DecN|1zUH=V=WW!1re!t+7x zM(YJ5C+-La&0TMJ;o7^XxLcPG*yR7JQo6ZN`=;!3NuTpw=64lt2^-%yvUiK-DaBN; zZ4Hr*d+Q(A7`5%$ct=wpFYaYmVOQxomMkY?t+9yFtKaZ^9mDExI7lfOXGef-JzTWr zoq5Ua^q|DwpA_#X9f=)*j^J4Frl6_?4&plowj~=hBo)?QzolWKAy(zz@%Ays4O0w5>?9xAEH(1;dS$)ExUW|C@n$}^5;n{YJPz+$ernI}0_`?VAwrtRhm&nO z%c^|!UzM5R3KiWer7E{i%F_6ne-yuX;_pZ0NKjutmE6%4*lw3yhV(L4Ze}-xU6I*c zw^wTYX}q%PNb`(aw<|tWfsO+qebuRA0F(EZ$Vsx`&h?Lh*lg zETNvDYm?tkyj|e7$>>a{=h)s?vo2imH8{xPX9<;g7Js^g?e1WmVgJfsAoP>x;O#vj z#xj2E*#n!`HARcx^||h^3K-1Q={R}ZPcSk|dAsPR9j2?C?^L0&?zoOCj_<)M4RefzZCa#j zt6$m}jIuYg_sm#+X#Wm*TxA|VxZHXYtF6CbB?PD{_0JnFa?ahl8F*MWyGzNW*M|fn zXzY1tYNNl;kH2{GR8(C92_Fw}W*WlTe{qRU@wyW2BWXV@Q`@s@R#`(H+~$rSlu^9o z=jpE{LZMf7In{YeXci_E!sY(3A@?=43pX>IIcq)Q6j)&RE z)%YvJRapFgF1aOPP~mtpxsS7E^V}zgpWTi6bI#^OBjZ(8#mQT3SRMlG@Q3Q7fuyxo z$tqD82~2Jk_DI@aa$cL$vVK9*e$&{v%vxtJO{d|?2V1u+PJ8Zo|C3Xw!3mc{z5({+ zAG3Q~lJ(?1tgWhy&USfSn0C1Sk69+aq#xD}SrlkjVO!#^(4%0S(Y34^?tuEwehHBd znWJbsl@5?9k6%{y-lH}7BbmjQ4@87pSkxT8pN@slx;cA;#*Otl5Pyd1`{}!`d9|)M zef8c_h2kgk9bROjsnt$tnDe_l|ND3PZnDR>?pyQDw#&2h_6*)}$;~ zAt#ARAI}HQH8T7*l$0kRN&#qLvgFn0LXD^ZdAkKBeXipdZ$u9Po zP*jiSe#28Hz2jPQHpuP0ZTEWXg;EW6PtY9)^ab)poXdh{L}kaFzs_ALzge18e0Thh zLjFJ|JAJHpTGaSXO2Z6|6L$W>l8rqvf;zPy?;$29{naw}b!I`*)BT1PahvVx20n&9 zeP{mgc1eid-6xuVQEk1}ylmz*?H=cf*Aa&f8JV3bc{i_dpr{VFoqYYgDe6s%o;#a6CdnYj|hRcQv+d z$@bbW_H=L}WBzmaA#bg3Y3qzl8QxB_du0=1pC|`%>~9rOd#H+bPGR5`L;ssmS<1l% zEl4-D#|Cz4BtGFeaO*Ek!-IeA>A4*-FV>qnGT&zHJ&~&LgOcfvJCZjxqZ$5X@qH22 z4LeE6|DZ&Cvmv--6y(y8_#=DQol5ilRF%4SPe8*H^Wq1e&OW{3ig3QFvb*wnVta&E z>E^Q63I#7Afl{+~3t4)54M%VC|7q>q3Pwr?X)9N+K3#7(#SDQ?NTCS zM~Z||4tvj_l4EOEicB_w#x^|33Hq zZ-3}Fzr*)?eLvUd^S&liVj3%1Jo5Qh%pF0}@5-BAs23PJX_HLgAA*F7V$n**kZ0>4 zOY?AQ-ud?@x|!wO_N`n&sXX~q-OK(SCLHSBrF`8QZ?cv2vs%~H%npWcB7W`J9o6V? z`z^KWvORI-y?sbs`E2Fwt4<#$zRJ>^`Pk%jm$|`);rooO$Uf~U#|-Ka)Y*@Q zk#~kWyB5_hGWxY4oq6S8(6LxvSc`EHsV>*4)8nVHnEGw0%@Qlrh)NDQj-x_TVIr2~ zI@5)JkMvsClGRhLRR>jqN`2wqRLnfi)^mN^)A&dwK!2CPMvq2ruK8rLQl7 zmEC4z_2^Fy)Lc$&*ZF4gDg%+8)}^`e6V!p=3ts+)$xA<#ffl^c^$?~UV!ZB-Zb`;d zLFF0p-bzyAGL$yVcfll<8H~6n)ZgoqKu;2zjC~Mu1BCAEa?2UkR4}v;odm`U_a;cZ z%XyHZE4gCJo~6o=$2H_rKfsZqp(1^Krpy`p+R;!>kBBUYzR)W3edKw2;+}AEP5-gL zNWG?E+`S8}d^-%8$Ktp-`I4$gW`&_x$Z>T}(X4W$hTdoFdkKdf`=i?3AjhhnTDNZC zTH(>M=BSWzwUfi)jy4WFI*bt4)ZY)jFbCzt?2vmI$rhKShk^-#c)OR!dc}PZfQe;C zp@lG}ajw_U1R#a6U6@GH>;7B5p%s^~p&J<~J6mu{DYmO0fXs0Suye6S{=rt%Rs*h% z47GHZldeEV5$EQv4;+>IGkrNVrE0(``jnYR<6AiDfb$);tW!UGb*E@jZUhZaR_V{R z*uR+E%gBDjjjspmmovW>tGqZjs7F(DY{;$R8wcc*h-sVVd)F?Xi5xM>?{JdNI&onH zP)a&h$NfN}rs%$Gk2iXMS8~2F6`scu_yRrh0mK~YznY!5e zXysmmb-?m(ON=D;XAFtDr?=Y2g7r22;XFmxhv)R97+k9|n_M4F22J&E9}n|-mq~LG z`YtY!QiM_M7SY5eI6=Dd34-M^NS~C>aRjz%G!L(=MA-$QRHgcIUl%^(^!A%Wj`5k~ z#u3dIACANytBUktIwnQ9zW@EI9rJt{Xd@f*${3o@9_(*=rYItClW9NF?q|p-LJd7S zxEPcdYTfEASbie+c+cYXP2>up_?_`xa=FkWf7-dqEMqY?`13SehR*CV<6|Zoc)$50 zAU`aAf^0KViSe>6w6i0%r)^rBTU2#9dQZ2d^1;Aq`}20x}i zj*Ca$DcPY7Apbc{Yei+J@3^hs6>vm_M(K1k%6ZTy`#iL%Y+?9uO}bR(WB=sU-XA9a zKGUM31h98cy?dUK%prSe+xcHqc`Y8rGu-O}UU)3U=&Rn4O0s!Jf;G#K|ocsBPVv9koUk%rmy-)>>3MWkt$$R3A9e{xXP zwbNJ7G<=&v4q3_n!#@@neaG8PEh}6ChPKqrQRvBz;bh+PqDfPYIQL7RdaI@dTfG&? z@xod+W_hZNOh7s>%9j{ADhl(=xc0B-*{l3$7{J}IziOR1(3EZ5JeQcc^yhwkHEY)n zH9;YFVvptQ2g~^L^Otrj8|Kwn652FYkIQiaR&?w7M^ck$33qx|3R%BRK!D@#E_V;Hxi87tM#U2=XmiZP*HtD0=)iWKN_y>H-H~(H z&K-yrRmQJwT7-DsEbf6bo&p$}z38raN+jK7o~^3DpU?hAO>1i+tpmz#=R#C1NMyeBb5TPF@43g?sJGvy|bA(Bx)tRYIbNnmt5)+tGySos6vDLrwY=#)-c4&ZFv*is$Sdr-pCqRkueQAS1 z_WGTN|3V`Ygs;US@HKAmu>+G&TYCm5-0$UkLjW0rKJ7k37#}qU;s;L5kVITwgPUL* zO00pOdb^KwH~WKbi9}fmZ3YY|FGl6zui-O;$GyR3{|*#pS}JI-!l60Qi2QMhml@*$ z5c&QVNDHsOT~4QFfb66PH8eQ$2!v;m3ZNzHW^mn1XbvmjxZT6$8-ptXq(&!$pohRU z$lnF`DsrqBl5`4Y^DW0?$00dNzph9wEvSLJpuYLS>km5?reNE`-z5jy;$`-$m5DkFC z{@NhZu9EPXqQNhZSXvK-0wDVgf#v@?C^uD?i;aK1551p5*tfU{V@Y(Z9{R%DDUnq{ zfh3|gnv>^J8bN+-W|jiNCm8~O$_?SDgM~uQku%5onG$oN3dJ&#=EJ zp*09+eMmA+*^IuFvr~Vf+=s*BhH%a{!iCWq4Izo+k0ATduqqpnq#}>(MfsZ+b7%)c zQ#cGwx_kK(jN&U>Q;lACl{JEw$F5WcEc52gG2? z@f`Siz5AdH~z-4bW(C1^U|dV0eF_ zOXPP=IsEea3ndVIc>xeI#2yX8FVyzB54gbcH8aq;s!Q$^!w#+y4wFI~Ayj^1S_GYl z80hX7t?9#USH%IzcajK1pQVy!bM;K{!1hH)_L z36mzHa$mmZ0ArK#9dZjcTSS%b5JAv<@=oq^fLG`)TN~uu zDuP*|VFpFFRQj1{cp7TxKSbIq{Q#|vHlKE@1Y>m@J*ITL92<=vyXP|4k-KgEBU{ZzkYqWYJVxyaOm6lO z7f~8zK~Ejd?%7us04`DZS|g~_5Maqb6MX8C&>~RvVRwaRCUS4DBywMpHsLr32aX#2 z&!!vl6JR-O!Qn+4qRF6oCQckIx_eTmvZ3ZOL zO)1nN6WYT&*fFStg2-?@^r-YArXn6xzQYk{emHNhwXDQiyRYY)&4Bz@pEVKk#jv27 zLZ-fVci1Xea}Xy5>oBm%HlbibUyfY;)!pd+qz1Eqt8G2{F!NgxQx$RJ;El2gT111K z3kG!Iu!nJXOrlC)zrb#?^DX*$24*FsvX-Hj;IejhtFzDqKO~IE8@ESm&F7j&_Jzi>=!HI|04nT4gKo^cEf(}Us0G=bUjlwYQ7 zB8p}m48yg4*cM0Ij%+R#a2uWl3Kl-$!FmW*=sgD~jrZF{b7{5(+46*XzBN7u?-7i> z#%!Kd1VF+1-Ly!iY(zdoJ zI{~vdxZ+B$uo#cq5N`rCc%3A>3XU2LF5kmXEVr_!d>FfmIE%$P_!*Q8)%*WJhXuRI zQr^TNv~|8)il94%<%+p}%2|Iuz!_++8fLwyh1C}4iP`i0OLXLFaWW2w{nugZ(1GQW z<9_i{^mF1%+J1=QswD*tOwlFC2o+>mPzur{%~WXHOU#bbx$bCMa;==k>(n?v^wy8ZM|2%`R9