From c85127437ef55ffa1ec9bbaa962fe0bea1911d95 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Thu, 9 Feb 2023 18:06:16 +0000 Subject: [PATCH 001/172] remove workflow from nightly benchmark (#2114) --- benchmarks/benchmark_config_cpu.yaml | 2 +- benchmarks/benchmark_config_gpu.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmarks/benchmark_config_cpu.yaml b/benchmarks/benchmark_config_cpu.yaml index 42d14a3dde..008d784204 100644 --- a/benchmarks/benchmark_config_cpu.yaml +++ b/benchmarks/benchmark_config_cpu.yaml @@ -13,7 +13,7 @@ models: - "fastrcnn.yaml" - "mnist.yaml" - "vgg16.yaml" - - "wf_dog_breed.yaml" +# - "wf_dog_breed.yaml" # benchmark on "cpu" or "gpu". # "cpu" is set if "hardware" is not specified diff --git a/benchmarks/benchmark_config_gpu.yaml b/benchmarks/benchmark_config_gpu.yaml index ccbf9f86ce..7e8969945e 100644 --- a/benchmarks/benchmark_config_gpu.yaml +++ b/benchmarks/benchmark_config_gpu.yaml @@ -15,7 +15,7 @@ models: - "fastrcnn.yaml" - "mnist.yaml" - "vgg16.yaml" - - "wf_dog_breed.yaml" +# - "wf_dog_breed.yaml" # benchmark on "cpu" or "gpu". # "cpu" is set if "hardware" is not specified From 48c8153e7322d866fec83c7b9bf1d011cc721d74 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 9 Feb 2023 20:06:06 -0800 Subject: [PATCH 002/172] updated walmart blog link (#2117) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b08f9c0323..c659e5166b 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ To learn more about how to contribute, see the contributor guide [here](https:// ## 📰 News * [Torchserve Performance Tuning, Animated Drawings Case-Study](https://pytorch.org/blog/torchserve-performance-tuning/) -* [Walmart Search: Serving Models at a Scale on TorchServe](https://pytorch.s3.amazonaws.com/posters/ptc2022/D03.pdf) +* [Walmart Search: Serving Models at a Scale on TorchServe](https://medium.com/walmartglobaltech/search-model-serving-using-pytorch-and-torchserve-6caf9d1c5f4d) * [🎥 Scaling inference on CPU with TorchServe](https://www.youtube.com/watch?v=066_Jd6cwZg) * [🎥 TorchServe C++ backend](https://www.youtube.com/watch?v=OSmGGDpaesc) * [Grokking Intel CPU PyTorch performance from first principles: a TorchServe case study](https://pytorch.org/tutorials/intermediate/torchserve_with_ipex.html) From 30ec51520b5e6a4ac819dc85403937a47a85f930 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Mon, 13 Feb 2023 17:20:29 -0800 Subject: [PATCH 003/172] Changing to previous version of mdutils (#2127) --- benchmarks/requirements-ab.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmarks/requirements-ab.txt b/benchmarks/requirements-ab.txt index 6275e7b7d8..ca689c38fe 100644 --- a/benchmarks/requirements-ab.txt +++ b/benchmarks/requirements-ab.txt @@ -4,5 +4,5 @@ click-config-file matplotlib requests pyyaml -mdutils -ruamel.yaml \ No newline at end of file +mdutils==1.4.0 +ruamel.yaml From 7e659729a3900584043f6732fc66fdb9ccb6740b Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Tue, 14 Feb 2023 12:29:13 -0800 Subject: [PATCH 004/172] Add configuration option to disable system metrics collection (#2104) --- docs/configuration.md | 13 +- .../java/org/pytorch/serve/ModelServer.java | 5 +- .../org/pytorch/serve/util/ConfigManager.java | 7 + test/pytest/test_metrics.py | 121 ++++++++++++++++++ 4 files changed, 139 insertions(+), 7 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 8177b88687..167bf8da2c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -188,7 +188,7 @@ Configuration parameter `install_py_dep_per_model` controls if the model server install_py_dep_per_model=true ``` -User can also supply custom python packages in zip or tar.gz format using the `--extra-files` flag while creating the model-archive and make an entry of the file name in the `requirements` file. +User can also supply custom python packages in zip or tar.gz format using the `--extra-files` flag while creating the model-archive and make an entry of the file name in the `requirements` file. ### Restrict backend worker to access environment variables @@ -239,7 +239,7 @@ A model's parameters are defined in [model source code](https://github.com/pytor * `defaultVersion`: the default version of a model * `marName`: the mar file name of a model -A model's configuration example +A model's configuration example ```properties models={\ "noop": {\ @@ -281,22 +281,23 @@ Most of the following properties are designed for performance tuning. Adjusting * `unregister_model_timeout`: Timeout, in seconds, used when handling an unregister model request when cleaning a process before it is deemed unresponsive and an error response is sent. Default: 120 seconds. * `decode_input_request`: Configuration to let backend workers to decode requests, when the content type is known. If this is set to "true", backend workers do "Bytearray to JSON object" conversion when the content type is "application/json" and -the backend workers convert "Bytearray to utf-8 string" when the Content-Type of the request is set to "text*". Default: true +the backend workers convert "Bytearray to utf-8 string" when the Content-Type of the request is set to "text*". Default: true * `initial_worker_port` : This is the initial port number for auto assigning port to worker process. * `model_store` : Path of model store directory. -* `model_server_home` : Torchserve home directory. +* `model_server_home` : Torchserve home directory. * `max_request_size` : The maximum allowable request size that the Torchserve accepts, in bytes. Default: 6553500 * `max_response_size` : The maximum allowable response size that the Torchserve sends, in bytes. Default: 6553500 -* `limit_max_image_pixels` : Default value is true (Use default [PIL.Image.MAX_IMAGE_PIXELS](https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.MAX_IMAGE_PIXELS)). If this is set to "false", set PIL.Image.MAX_IMAGE_PIXELS = None in backend default vision handler for large image payload. +* `limit_max_image_pixels` : Default value is true (Use default [PIL.Image.MAX_IMAGE_PIXELS](https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.MAX_IMAGE_PIXELS)). If this is set to "false", set PIL.Image.MAX_IMAGE_PIXELS = None in backend default vision handler for large image payload. * `allowed_urls` : Comma separated regex of allowed source URL(s) from where models can be registered. Default: "file://.*|http(s)?://.*" (all URLs and local file system) e.g. : To allow base URLs `https://s3.amazonaws.com/` and `https://torchserve.pytorch.org/` use the following regex string `allowed_urls=https://s3.amazonaws.com/.*,https://torchserve.pytorch.org/.*` * `workflow_store` : Path of workflow store directory. Defaults to model store directory. +* `disable_system_metrics` : Disable collection of system metrics when set to "true". Default value is "false". **NOTE** All the above config properties can be set using environment variable as follows. - set `enable_envvars_config` to true in config.properties -- export environment variable for property as`TS_`. +- export environment variable for property as`TS_`. e.g.: to set inference_address property run cmd `export TS_INFERENCE_ADDRESS="http://127.0.0.1:8082"`. diff --git a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java index 2ceee181d6..2a02bee019 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java +++ b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java @@ -119,7 +119,10 @@ public void startAndWait() startGRPCServers(); // Create and schedule metrics manager - MetricManager.scheduleMetrics(configManager); + if (!configManager.isSystemMetricsDisabled()) { + MetricManager.scheduleMetrics(configManager); + } + System.out.println("Model server started."); // NOPMD channelFutures.get(0).sync(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 70a21df416..bf82057e2f 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -66,6 +66,7 @@ public final class ConfigManager { private static final String TS_JOB_QUEUE_SIZE = "job_queue_size"; private static final String TS_NUMBER_OF_GPU = "number_of_gpu"; private static final String TS_METRICS_CONFIG = "metrics_config"; + private static final String TS_DISABLE_SYSTEM_METRICS = "disable_system_metrics"; // IPEX config option that can be set at config.properties private static final String TS_IPEX_ENABLE = "ipex_enable"; @@ -373,6 +374,10 @@ public String getMetricsConfigPath() { return path; } + public boolean isSystemMetricsDisabled() { + return Boolean.parseBoolean(getProperty(TS_DISABLE_SYSTEM_METRICS, "false")); + } + public String getTsDefaultServiceHandler() { return getProperty(TS_DEFAULT_SERVICE_HANDLER, null); } @@ -642,6 +647,8 @@ public String dumpConfigurations() { + prop.getProperty(TS_METRICS_FORMAT, METRIC_FORMAT_PROMETHEUS) + "\nEnable metrics API: " + prop.getProperty(TS_ENABLE_METRICS_API, "true") + + "\nDisable system metrics: " + + isSystemMetricsDisabled() + "\nWorkflow Store: " + (getWorkflowStore() == null ? "N/A" : getWorkflowStore()) + "\nModel config: " diff --git a/test/pytest/test_metrics.py b/test/pytest/test_metrics.py index 126caaad82..ab30ef02ab 100644 --- a/test/pytest/test_metrics.py +++ b/test/pytest/test_metrics.py @@ -1,6 +1,7 @@ import glob import os import platform +import re import shutil import time from os import path @@ -9,6 +10,18 @@ import test_utils NUM_STARTUP_CFG = 0 +SYSTEM_METRICS = [ + "CPUUtilization", + "MemoryUsed", + "MemoryAvailable", + "MemoryUtilization", + "DiskUsage", + "DiskUtilization", + "DiskAvailable", + "GPUMemoryUtilization", + "GPUMemoryUsed", + "GPUUtilization", +] def setup_module(module): @@ -55,6 +68,33 @@ def run_log_location_var(custom_path=test_utils.ROOT_DIR, no_config_snapshots=Fa assert len(glob.glob(custom_path + "/ts_log.log")) == 1 +def register_densenet161_model_and_make_inference_request(): + test_utils.register_model("densenet161.mar", "densenet161") + data_file = os.path.join( + test_utils.REPO_ROOT, "examples/image_classifier/kitten.jpg" + ) + with open(data_file, "rb") as input_data: + requests.post( + url=f"http://localhost:8080/predictions/densenet161", data=input_data + ) + + +def validate_system_metrics(present=True): + assert len(glob.glob("logs/ts_metrics.log")) == 1 + ts_metrics_path = glob.glob("logs/ts_metrics.log")[0] + assert os.path.getsize(ts_metrics_path) > 0 + + system_metrics_regex = re.compile("|".join(SYSTEM_METRICS), flags=re.IGNORECASE) + with open(ts_metrics_path, "rt") as ts_metrics_file: + ts_metrics = ts_metrics_file.read() + system_metrics = re.findall(system_metrics_regex, ts_metrics) + + if present: + assert len(system_metrics) > 0 + else: + assert len(system_metrics) == 0 + + def test_logs_created(): logs_created() global NUM_STARTUP_CFG @@ -318,3 +358,84 @@ def test_metrics_location_var_snapshot_enabled_rdonly_dir(): assert len(glob.glob(RDONLY_DIR + "/logs/ts_metrics.log")) == 0 finally: del os.environ["METRICS_LOCATION"] + + +def test_collect_system_metrics_when_not_disabled(): + """ + Validates that system metrics are collected when not disabled + """ + # Torchserve cleanup + test_utils.torchserve_cleanup() + # Remove existing logs if any + for f in glob.glob("logs/*.log"): + os.remove(f) + + try: + test_utils.start_torchserve( + model_store=test_utils.MODEL_STORE, no_config_snapshots=True, gen_mar=False + ) + register_densenet161_model_and_make_inference_request() + validate_system_metrics(present=True) + finally: + test_utils.torchserve_cleanup() + + +def test_disable_system_metrics_using_config_properties(): + """ + Validates that system metrics collection is disabled when "disable_system_metrics" + configuration option is set to "true" + """ + # Torchserve cleanup + test_utils.torchserve_cleanup() + # Remove existing logs if any + for f in glob.glob("logs/*.log"): + os.remove(f) + + config_file = test_utils.ROOT_DIR + "config.properties" + with open(config_file, "w") as f: + f.write("disable_system_metrics=true") + + try: + test_utils.start_torchserve( + model_store=test_utils.MODEL_STORE, + snapshot_file=config_file, + no_config_snapshots=True, + gen_mar=False, + ) + register_densenet161_model_and_make_inference_request() + validate_system_metrics(present=False) + finally: + test_utils.torchserve_cleanup() + os.remove(config_file) + + +def test_disable_system_metrics_using_environment_variable(): + """ + Validates that system metrics collection is disabled when TS_DISABLE_SYSTEM_METRICS + environment variable is set to "true" + """ + # Torchserve cleanup + test_utils.torchserve_cleanup() + # Remove existing logs if any + for f in glob.glob("logs/*.log"): + os.remove(f) + + config_file = test_utils.ROOT_DIR + "config.properties" + with open(config_file, "w") as f: + f.write("enable_envvars_config=true") + + os.environ["TS_DISABLE_SYSTEM_METRICS"] = "true" + + try: + test_utils.start_torchserve( + model_store=test_utils.MODEL_STORE, + snapshot_file=config_file, + no_config_snapshots=True, + gen_mar=False, + ) + register_densenet161_model_and_make_inference_request() + validate_system_metrics(present=False) + finally: + test_utils.torchserve_cleanup() + del os.environ["TS_DISABLE_SYSTEM_METRICS"] + os.remove(config_file) From c84312b803083ff0cb862d57fffcf16959d9a9fa Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Wed, 15 Feb 2023 15:40:02 -0800 Subject: [PATCH 005/172] Freeze pynvml version to avoid crash in nvgpu https://github.com/pytorch/serve/issues/2136 (#2138) --- requirements/common.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/common.txt b/requirements/common.txt index 43323ac93c..e07e9fb0b2 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -9,4 +9,5 @@ numpy; sys_platform != 'win32' numpy==1.19.3; sys_platform == 'win32' #see https://tinyurl.com/y3dm3h86 nvgpu; sys_platform != 'win32' nvgpu==0.8.0; sys_platform == 'win32' +pynvml==11.4.1 pyyaml From 7a7cc69a1d27e1f0e361f4e63622154f377d9184 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Wed, 15 Feb 2023 16:32:46 -0800 Subject: [PATCH 006/172] Bump isort dependency for pre-commit to 5.11.5 (#2132) Co-authored-by: Mark Saroufim --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a7ee04a103..76a145c1a4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: - id: black additional_dependencies: ['click==8.0.4'] - repo: https://github.com/PyCQA/isort - rev: 5.10.1 + rev: 5.11.5 hooks: - id: isort args: ["--profile", "black"] From 8b3ae1eccdd155cfd9b8a5a3a39ee48fb95d48c6 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Wed, 15 Feb 2023 18:41:33 -0800 Subject: [PATCH 007/172] Update CI GPU to run on CUDA 11.7 (#2137) Co-authored-by: Mark Saroufim --- .github/workflows/ci_gpu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_gpu.yml b/.github/workflows/ci_gpu.yml index 17e55f1690..e43e2b92f2 100644 --- a/.github/workflows/ci_gpu.yml +++ b/.github/workflows/ci_gpu.yml @@ -38,7 +38,7 @@ jobs: uses: actions/checkout@v3 - name: Install dependencies run: | - python ts_scripts/install_dependencies.py --environment=dev --cuda=cu102 + python ts_scripts/install_dependencies.py --environment=dev --cuda=cu117 - name: Torchserve Sanity uses: nick-fields/retry@v2 with: From 485ebf8ec7674ac347b19bdd826bfbe9e35399d1 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Wed, 15 Feb 2023 19:54:25 -0800 Subject: [PATCH 008/172] Enable batch processing in scriptable tokenizer example (#2130) Co-authored-by: Mark Saroufim --- .../handler.py | 20 +++++++++---------- .../script_tokenizer_and_model.py | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/text_classification_with_scriptable_tokenizer/handler.py b/examples/text_classification_with_scriptable_tokenizer/handler.py index d70c67f4be..8081f59ba9 100644 --- a/examples/text_classification_with_scriptable_tokenizer/handler.py +++ b/examples/text_classification_with_scriptable_tokenizer/handler.py @@ -1,6 +1,5 @@ """ Module for text classification with scriptable tokenizer -DOES NOT SUPPORT BATCH! """ import logging from abc import ABC @@ -51,18 +50,19 @@ def preprocess(self, data): # Compat layer: normally the envelope should just return the data # directly, but older versions of Torchserve didn't have envelope. - # Processing only the first input, not handling batch inference - line = data[0] - text = line.get("data") or line.get("body") - # Decode text if not a str but bytes or bytearray - if isinstance(text, (bytes, bytearray)): - text = text.decode("utf-8") + text_batch = [] + for line in data: + text = line.get("data") or line.get("body") + # Decode text if not a str but bytes or bytearray + if isinstance(text, (bytes, bytearray)): + text = text.decode("utf-8") - text = remove_html_tags(text) - text = text.lower() + text = remove_html_tags(text) + text = text.lower() + text_batch.append(text) - return text + return text_batch def inference(self, data, *args, **kwargs): """The Inference Request is made through this function and the user diff --git a/examples/text_classification_with_scriptable_tokenizer/script_tokenizer_and_model.py b/examples/text_classification_with_scriptable_tokenizer/script_tokenizer_and_model.py index a51297caca..873c0264ee 100644 --- a/examples/text_classification_with_scriptable_tokenizer/script_tokenizer_and_model.py +++ b/examples/text_classification_with_scriptable_tokenizer/script_tokenizer_and_model.py @@ -76,7 +76,7 @@ def main(args): model = XLMR_BASE_ENCODER.get_model(head=classifier_head) # Load trained parameters and load them into the model - model.load_state_dict(torch.load(args.input_file)) + model.load_state_dict(torch.load(args.input_file, map_location=torch.device("cpu"))) # Chain the tokenizer, the adapter and the model combi_model = T.Sequential( @@ -88,7 +88,7 @@ def main(args): combi_model.eval() # Make sure to move the model to CPU to avoid placement error during loading - combi_model.to("cpu") + combi_model.to(torch.device("cpu")) combi_model_jit = torch.jit.script(combi_model) From c417b4a03ba9be315090464de76893304361f9e1 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 16 Feb 2023 10:59:27 -0800 Subject: [PATCH 009/172] README for serving models using TorchServe Docker Container (#2118) * Added an example serving models using TorchServe Docker Container * Updated examples README with a link to the new readme * added link to example in docker readme --- docker/README.md | 4 ++ examples/README.md | 1 + examples/image_classifier/mnist/Docker.md | 54 +++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 examples/image_classifier/mnist/Docker.md diff --git a/docker/README.md b/docker/README.md index 35ffc18b43..a2379e0472 100644 --- a/docker/README.md +++ b/docker/README.md @@ -303,3 +303,7 @@ docker run --rm --shm-size=1g \ -p7071:7071 \ --mount type=bind,source=/path/to/model/store,target=/tmp/models torchserve --model-store=/tmp/models ``` + +# Example showing serving model using Docker container + +[This](../examples/image_classifier/mnist/Docker.md) is an example showing serving MNIST model using Docker. diff --git a/examples/README.md b/examples/README.md index 1bafd53e58..298c524d11 100644 --- a/examples/README.md +++ b/examples/README.md @@ -5,6 +5,7 @@ * [Creating mar file for an eager mode model](#creating-mar-file-for-eager-mode-model) * [Creating mar file for torchscript mode model](#creating-mar-file-for-torchscript-mode-model) * [Serving custom model with custom service handler](#serving-custom-model-with-custom-service-handler) +* [Serving model using Docker Container](image_classifier/mnist/Docker.md) * [Creating a Workflow](Workflows/dog_breed_classification) * [Custom Metrics](custom_metrics) * [Dynamic Batch Processing](image_classifier/resnet_152_batch) diff --git a/examples/image_classifier/mnist/Docker.md b/examples/image_classifier/mnist/Docker.md new file mode 100644 index 0000000000..ffd690e85e --- /dev/null +++ b/examples/image_classifier/mnist/Docker.md @@ -0,0 +1,54 @@ +# Digit recognition model with MNIST dataset using Docker container + +In this example, we show how to use a pre-trained custom MNIST model to performing real time Digit recognition with TorchServe. +We will be serving the model using a Docker container. + +The inference service would return the digit inferred by the model in the input image. + +We used the following pytorch example to train the basic MNIST model for digit recognition : +https://github.com/pytorch/examples/tree/master/mnist + +## Serve an MNIST model on TorchServe docker container + +Run the commands given in following steps from the parent directory of the root of the repository. For example, if you cloned the repository into /home/my_path/serve, run the steps from /home/my_path/serve + + ### Create a torch model archive using the torch-model-archiver utility to archive the above files. + + ```bash + torch-model-archiver --model-name mnist --version 1.0 --model-file examples/image_classifier/mnist/mnist.py --serialized-file examples/image_classifier/mnist/mnist_cnn.pt --handler examples/image_classifier/mnist/mnist_handler.py + ``` + + ### Move .mar file into model_store directory + + ```bash + mkdir model_store + mv mnist.mar model_store/ + ``` + + ### Start a docker container with torchserve + + ```bash + docker run --rm -it -p 8080:8080 -p 8081:8081 -p 8082:8082 -v $(pwd)/model_store:/home/model-server/model-store pytorch/torchserve:latest-cpu + ``` + + ### Register the model on TorchServe using the above model archive file + + ```bash + curl -X POST "localhost:8081/models?model_name=mnist&url=mnist.mar&initial_workers=4" + ``` + + If this succeeeds, you will see a message like below + + ```bash + { + "status": "Model \"mnist\" Version: 1.0 registered with 4 initial workers" + } + ``` + + ### Run digit recognition inference outside the container + + ```bash + curl http://127.0.0.1:8080/predictions/mnist -T examples/image_classifier/mnist/test_data/0.png + ``` + + The output in this case will be a `0` From 92657b2e339fcc19e1554edf30e7f06436327681 Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Tue, 21 Feb 2023 09:29:59 -0800 Subject: [PATCH 010/172] Add Github Code Scanning codeql.yml (#2149) * Create codeql --- .github/workflows/codeql.yml | 65 +++++++++++++++++++++++++ SECURITY.md | 12 ++++- ts_scripts/spellcheck_conf/wordlist.txt | 3 ++ 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000000..cbb601699f --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,65 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + # run every day at 11:15am + schedule: + - cron: '15 11 * * *' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java', 'python' ] + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: 3.8 + architecture: x64 + - name: Setup Java 17 + uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '17' + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + + + - name: Build TorchServe frontend + run: | + python ts_scripts/install_dependencies.py --environment=dev + cd frontend + ./gradlew build -x test + cd .. + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" diff --git a/SECURITY.md b/SECURITY.md index f373f0c80a..406d286ee5 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,9 +4,17 @@ | Version | Supported | | ------- | ------------------ | -| 0.5.3 | :white_check_mark: | +| 0.7.1 | :white_check_mark: | + + +## How we do security + +TorchServe as much as possible relies on automated tools to do security scanning, in particular we support +1. Dependency Analysis: Using Dependabot +2. Docker Scanning: Using Snyk +3. Code Analysis: Using CodeQL ## Reporting a Vulnerability -If you find a serious vulnerability please report it to opensource@fb.com and torchserve@amazon.com +If you find a serious vulnerability please report it to opensource@meta.com and torchserve@amazon.com diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index 75f2b3a669..1b00f07ab8 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1020,3 +1020,6 @@ datapipes tensorrt vec torchdata +CodeQL +Dependabot +Snyk \ No newline at end of file From b8f52d8047071138f3c5d380feeae2782b3e4c25 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Tue, 21 Feb 2023 15:16:04 -0800 Subject: [PATCH 011/172] upgrade CI to run on Ubuntu 20.04 (#2153) --- .github/workflows/ci_cpu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_cpu.yml b/.github/workflows/ci_cpu.yml index 39b369ad4a..1f7fd98ad6 100644 --- a/.github/workflows/ci_cpu.yml +++ b/.github/workflows/ci_cpu.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-18.04, macOS-latest] + os: [ubuntu-20.04, macOS-latest] steps: - name: Setup Python 3.8 uses: actions/setup-python@v4 From 26089d448992eee496d981ac22bc6b2ef7d5b2aa Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Wed, 22 Feb 2023 19:30:06 -0800 Subject: [PATCH 012/172] Add support for building docker images with specified python version (#2154) * Changes to support different python versions * Updated default version to 3.9 * spellcheck lint --- docker/Dockerfile | 26 ++++++++++++--------- docker/Dockerfile.dev | 30 ++++++++++++++----------- docker/README.md | 1 + docker/build_image.sh | 19 +++++++++++++--- ts_scripts/spellcheck_conf/wordlist.txt | 3 ++- 5 files changed, 51 insertions(+), 28 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 498def3576..6f0ea3f7d7 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -20,32 +20,36 @@ ARG BASE_IMAGE=ubuntu:rolling FROM ${BASE_IMAGE} AS compile-image ARG BASE_IMAGE=ubuntu:rolling +ARG PYTHON_VERSION=3.9 ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ #apt --fix-broken -y install && \ apt-get update && \ + apt-get upgrade -y && \ + apt-get install software-properties-common -y && \ + add-apt-repository -y ppa:deadsnakes/ppa && \ apt remove python-pip python3-pip && \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ ca-certificates \ g++ \ - python3.8 \ - python3.8-dev \ - python3.8-distutils \ - python3.8-venv \ + python$PYTHON_VERSION \ + python$PYTHON_VERSION-dev \ + python3-distutils \ + python$PYTHON_VERSION-venv \ python3-venv \ openjdk-17-jdk \ curl \ && rm -rf /var/lib/apt/lists/* \ && cd /tmp \ && curl -O https://bootstrap.pypa.io/get-pip.py \ - && python3.8 get-pip.py + && python$PYTHON_VERSION get-pip.py -RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 \ - && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3.8 1 +RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 1 \ + && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3 1 -RUN python3.8 -m venv /home/venv +RUN python$PYHON_VERSION -m venv /home/venv ENV PATH="/home/venv/bin:$PATH" @@ -81,9 +85,9 @@ ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,target=/var/cache/apt \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ - python3.8 \ - python3.8-distutils \ - python3.8-dev \ + python$PYTHON_VERSION \ + python3-distutils \ + python$PYTHON_VERSION-dev \ # using openjdk-17-jdk due to circular dependency(ca-certificates) bug in openjdk-17-jre-headless debian package # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009905 openjdk-17-jdk \ diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 0ffcbfa3ca..7dcf546c9c 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -1,13 +1,13 @@ # syntax = docker/dockerfile:experimental # # Following comments have been shamelessly copied from https://github.com/pytorch/pytorch/blob/master/Dockerfile -# +# # NOTE: To build this you will need a docker version > 18.06 with # experimental enabled and DOCKER_BUILDKIT=1 # # If you do not use buildkit you are not going to have a good time # -# For reference: +# For reference: # https://docs.docker.com/develop/develop-images/build_enhancements/ ARG BASE_IMAGE=ubuntu:rolling @@ -22,11 +22,15 @@ ARG CUDA_VERSION ARG BUILD_WITH_IPEX ARG IPEX_VERSION=1.11.0 ARG IPEX_URL=https://software.intel.com/ipex-whl-stable +ARG PYTHON_VERSION=3.9 ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ apt-get update && \ + apt-get upgrade -y && \ + apt-get install software-properties-common -y && \ + add-apt-repository -y ppa:deadsnakes/ppa && \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ fakeroot \ ca-certificates \ @@ -34,24 +38,24 @@ RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ sudo \ g++ \ git \ - python3.8 \ - python3.8-dev \ - python3.8-venv \ - python3.8-distutils \ - # python3-venv \ + python$PYTHON_VERSION \ + python$PYTHON_VERSION-dev \ + python3-distutils \ + python$PYTHON_VERSION-venv \ + python3-venv \ build-essential \ openjdk-17-jdk \ curl \ vim \ - numactl \ + numactl \ && if [ "$BUILD_WITH_IPEX" = "true" ]; then apt-get update && apt-get install -y libjemalloc-dev libgoogle-perftools-dev libomp-dev && ln -s /usr/lib/x86_64-linux-gnu/libjemalloc.so /usr/lib/libjemalloc.so && ln -s /usr/lib/x86_64-linux-gnu/libtcmalloc.so /usr/lib/libtcmalloc.so && ln -s /usr/lib/x86_64-linux-gnu/libiomp5.so /usr/lib/libiomp5.so; fi \ && rm -rf /var/lib/apt/lists/* \ && cd /tmp \ && curl -O https://bootstrap.pypa.io/get-pip.py \ - && python3.8 get-pip.py + && python$PYTHON_VERSION get-pip.py -RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 \ - && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3.8 1 +RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 1 \ + && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3 1 # Build Dev Image FROM compile-image AS dev-image @@ -61,9 +65,9 @@ RUN if [ "$MACHINE_TYPE" = "gpu" ]; then export USE_CUDA=1; fi \ && git clone https://github.com/pytorch/serve.git \ && cd serve \ && git checkout ${BRANCH_NAME} \ - && python3.8 -m venv /home/venv \ + && python$PYTHON_VERSION -m venv /home/venv \ && python -m pip install -U pip setuptools \ - && if [ -z "$CUDA_VERSION" ]; then python ts_scripts/install_dependencies.py --environment=dev; else python ts_scripts/install_dependencies.py --environment=dev --cuda $CUDA_VERSION; fi \ + && if [ -z "$CUDA_VERSION" ]; then python ts_scripts/install_dependencies.py --environment=dev; else python ts_scripts/install_dependencies.py --environment=dev --cuda $CUDA_VERSION; fi \ && if [ "$BUILD_WITH_IPEX" = "true" ]; then python -m pip install --no-cache-dir intel_extension_for_pytorch==${IPEX_VERSION} -f ${IPEX_URL}; fi \ && python ts_scripts/install_from_src.py \ && useradd -m model-server \ diff --git a/docker/README.md b/docker/README.md index a2379e0472..33a8172ea5 100644 --- a/docker/README.md +++ b/docker/README.md @@ -39,6 +39,7 @@ Use `build_image.sh` script to build the docker images. The script builds the `p |-cv, --cudaversion| Specify to cuda version to use. Supported values `cu92`, `cu101`, `cu102`, `cu111`, `cu113`, `cu116`, `cu117`. Default `cu117`| |-ipex, --build-with-ipex| Specify to build with intel_extension_for_pytorch. If not specified, script builds without intel_extension_for_pytorch.| |--codebuild| Set if you need [AWS CodeBuild](https://aws.amazon.com/codebuild/)| +|-py, --pythonversion| Specify the python version to use. Supported values `3.8`, `3.9`, `3.10`. Default `3.9`| **PRODUCTION ENVIRONMENT IMAGES** diff --git a/docker/build_image.sh b/docker/build_image.sh index 0e8494e953..f16b787dd2 100755 --- a/docker/build_image.sh +++ b/docker/build_image.sh @@ -11,6 +11,7 @@ CUDA_VERSION="" UBUNTU_VERSION="ubuntu:20.04" USE_LOCAL_SERVE_FOLDER=false BUILD_WITH_IPEX=false +PYTHON_VERSION=3.9 for arg in "$@" do @@ -25,6 +26,7 @@ do echo "-t, --tag specify tag name for docker image" echo "-lf, --use-local-serve-folder specify this option for the benchmark image if the current 'serve' folder should be used during automated benchmarks" echo "-ipex, --build-with-ipex specify to build with intel_extension_for_pytorch" + echo "-py, --pythonversion specify to python version to use: Possible values: 3.8 3.9 3.10" exit 0 ;; -b|--branch_name) @@ -64,6 +66,17 @@ do BUILD_WITH_IPEX=true shift ;; + -py|--pythonversion) + PYTHON_VERSION="$2" + if [[ $PYTHON_VERSION = 3.8 || $PYTHON_VERSION = 3.9 || $PYTHON_VERSION = 3.10 ]]; then + echo "Valid python version" + else + echo "Valid python versions are 3.8, 3.9 and 3.10" + exit 1 + fi + shift + shift + ;; # With default ubuntu version 20.04 -cv|--cudaversion) CUDA_VERSION="$2" @@ -116,10 +129,10 @@ fi if [ $BUILD_TYPE == "production" ] then - DOCKER_BUILDKIT=1 docker build --file Dockerfile --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg CUDA_VERSION=$CUDA_VERSION -t $DOCKER_TAG . + DOCKER_BUILDKIT=1 docker build --file Dockerfile --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg PYTHON_VERSION=$PYTHON_VERSION -t $DOCKER_TAG . elif [ $BUILD_TYPE == "benchmark" ] then - DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.benchmark --build-arg USE_LOCAL_SERVE_FOLDER=$USE_LOCAL_SERVE_FOLDER --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME=$BRANCH_NAME --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg MACHINE_TYPE=$MACHINE -t $DOCKER_TAG . + DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.benchmark --build-arg USE_LOCAL_SERVE_FOLDER=$USE_LOCAL_SERVE_FOLDER --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME=$BRANCH_NAME --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg MACHINE_TYPE=$MACHINE --build-arg PYTHON_VERSION=$PYTHON_VERSION -t $DOCKER_TAG . else - DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.dev -t $DOCKER_TAG --build-arg BUILD_TYPE=$BUILD_TYPE --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME=$BRANCH_NAME --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg MACHINE_TYPE=$MACHINE --build-arg BUILD_WITH_IPEX=$BUILD_WITH_IPEX . + DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.dev -t $DOCKER_TAG --build-arg BUILD_TYPE=$BUILD_TYPE --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME=$BRANCH_NAME --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg MACHINE_TYPE=$MACHINE --build-arg BUILD_WITH_IPEX=$BUILD_WITH_IPEX --build-arg PYTHON_VERSION=$PYTHON_VERSION . fi diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index 1b00f07ab8..b41c79bfcc 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1022,4 +1022,5 @@ vec torchdata CodeQL Dependabot -Snyk \ No newline at end of file +Snyk +pythonversion From 87359c44a261f0f24ba4f8fb6c37b5f0658a1933 Mon Sep 17 00:00:00 2001 From: Travis Cline Date: Thu, 23 Feb 2023 16:48:54 -0800 Subject: [PATCH 013/172] Update model file docs to be more accurate (#2148) * Update model file docs to be more accurate * model-archiver: Improve docs --------- Co-authored-by: Ankith Gunapal --- examples/README.md | 2 +- examples/image_classifier/mnist/README.md | 2 +- model-archiver/README.md | 5 ++++- model-archiver/model_archiver/arg_parser.py | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/examples/README.md b/examples/README.md index 298c524d11..f0f5987c92 100644 --- a/examples/README.md +++ b/examples/README.md @@ -110,7 +110,7 @@ Following are the steps to create a torch-model-archive (.mar) to execute an eag * Pre-requisites to create a torch model archive (.mar) : * serialized-file (.pt) : This file represents the `state_dict` in case of eager mode model. - * model-file (.py) : This file contains model class extended from `torch nn`.modules representing the model architecture. This parameter is mandatory for eager mode models. This file must contain only one class definition extended from torch.nn.modules + * model-file (.py) : This file contains model class extended from `torch nn`.modules representing the model architecture. This parameter is mandatory for eager mode models. This file must contain only one class definition extended from [torch.nn.Module](https://pytorch.org/docs/stable/generated/torch.nn.Module.html). * index_to_name.json : This file contains the mapping of predicted index to class. The default TorchServe handles returns the predicted index and probability. This file can be passed to model archiver using --extra-files parameter. * version : Model's version. * handler : TorchServe default handler's name or path to custom inference handler(.py) diff --git a/examples/image_classifier/mnist/README.md b/examples/image_classifier/mnist/README.md index 2116e593dd..6f09e036ad 100644 --- a/examples/image_classifier/mnist/README.md +++ b/examples/image_classifier/mnist/README.md @@ -16,7 +16,7 @@ https://github.com/pytorch/examples/tree/master/mnist Run the commands given in following steps from the parent directory of the root of the repository. For example, if you cloned the repository into /home/my_path/serve, run the steps from /home/my_path - * Step - 1: Create a new model architecture file which contains model class extended from torch.nn.modules. In this example we have created [mnist model file](mnist.py). + * Step - 1: Create a new model architecture file which contains model class extended from [torch.nn.Module](https://pytorch.org/docs/stable/generated/torch.nn.Module.html). In this example we have created [mnist model file](mnist.py). * Step - 2: Train a MNIST digit recognition model using https://github.com/pytorch/examples/blob/master/mnist/main.py and save the state dict of model. We have added the pre-created [state dict](mnist_cnn.pt) of this model. * Step - 3: Write a custom handler to run the inference on your model. In this example, we have added a [custom_handler](mnist_handler.py) which runs the inference on the input grayscale images using the above model and recognizes the digit in the image. * Step - 4: Create a torch model archive using the torch-model-archiver utility to archive the above files. diff --git a/model-archiver/README.md b/model-archiver/README.md index 73571f3205..efca67c922 100644 --- a/model-archiver/README.md +++ b/model-archiver/README.md @@ -78,7 +78,7 @@ optional arguments: Path to python file containing model architecture. This parameter is mandatory for eager mode models. The model architecture file must contain only one - class definition extended from torch.nn.modules. + class definition extended from torch.nn.Module. --handler HANDLER TorchServe's default handler name or handler python file path to handle custom TorchServe inference logic. --extra-files EXTRA_FILES @@ -132,6 +132,9 @@ A valid model name must begin with a letter of the alphabet and can only contain A model file should contain the model architecture. This file is mandatory in case of eager mode models. +This file should contain a single class that inherits from +[torch.nn.Module](https://pytorch.org/docs/stable/generated/torch.nn.Module.html). + ### Serialized file A serialized file (.pt or .pth) should be a checkpoint in case of torchscript and state_dict in case of eager mode. diff --git a/model-archiver/model_archiver/arg_parser.py b/model-archiver/model_archiver/arg_parser.py index d520ba3be2..6291b1b122 100644 --- a/model-archiver/model_archiver/arg_parser.py +++ b/model-archiver/model_archiver/arg_parser.py @@ -54,7 +54,7 @@ def export_model_args_parser(): help="Path to python file containing model architecture.\n" "This parameter is mandatory for eager mode models.\n" "The model architecture file must contain only one\n" - "class definition extended from torch.nn.modules.", + "class definition extended from torch.nn.Module.", ) parser_export.add_argument( From b05c0ea8742b0691e448f4559266ed3c9b77a732 Mon Sep 17 00:00:00 2001 From: Gustav Hartz <49193816+gustavhartz@users.noreply.github.com> Date: Mon, 27 Feb 2023 22:38:17 +0100 Subject: [PATCH 014/172] Added feature that allows for wildcard search in --extra-files arguments using glob (#2142) Co-authored-by: Ankith Gunapal Co-authored-by: Mark Saroufim --- .../model_archiver/model_packaging_utils.py | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/model-archiver/model_archiver/model_packaging_utils.py b/model-archiver/model_archiver/model_packaging_utils.py index 40eabbd249..9775f093c2 100644 --- a/model-archiver/model_archiver/model_packaging_utils.py +++ b/model-archiver/model_archiver/model_packaging_utils.py @@ -2,6 +2,7 @@ Helper utils for Model Export tool """ +import glob import logging import os import re @@ -156,20 +157,20 @@ def copy_artifacts(model_name, **kwargs): path = (path.split(":")[0] if ":" in path else path) + ".py" if file_type == "extra_files": - for file in path.split(","): - file = file.strip() - if os.path.isfile(file): - shutil.copy2(file, model_path) - elif os.path.isdir(file) and file != model_path: - for item in os.listdir(file): - src = os.path.join(file, item) - dst = os.path.join(model_path, item) - if os.path.isfile(src): - shutil.copy2(src, dst) - elif os.path.isdir(src): - shutil.copytree(src, dst, False, None) - else: - raise ValueError(f"Invalid extra file given {file}") + for path_or_wildcard in path.split(","): + for file in glob.glob(path_or_wildcard.strip()): + if os.path.isfile(file): + shutil.copy2(file, model_path) + elif os.path.isdir(file) and file != model_path: + for item in os.listdir(file): + src = os.path.join(file, item) + dst = os.path.join(model_path, item) + if os.path.isfile(src): + shutil.copy2(src, dst) + elif os.path.isdir(src): + shutil.copytree(src, dst, False, None) + else: + raise ValueError(f"Invalid extra file given {file}") else: shutil.copy(path, model_path) From 86d440041b663961c71a6262fe648111d85b27d8 Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Mon, 27 Feb 2023 14:30:04 -0800 Subject: [PATCH 015/172] Fix Dead kubectl links (#2160) Co-authored-by: Matthias Reso <13337103+mreso@users.noreply.github.com> --- kubernetes/AKS/README.md | 2 +- kubernetes/GKE/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubernetes/AKS/README.md b/kubernetes/AKS/README.md index c2179e8cef..7f1c7ca32e 100644 --- a/kubernetes/AKS/README.md +++ b/kubernetes/AKS/README.md @@ -26,7 +26,7 @@ Use the [az aks create](https://docs.microsoft.com/en-us/cli/azure/aks?view=azur #### 1.4 Connect to the cluster -To manage a Kubernetes cluster, you use [kubectl](https://kubernetes.io/docs/user-guide/kubectl/), the Kubernetes command-line client. If you use Azure Cloud Shell, `kubectl` is already installed. To install `kubectl` locally, use the [az aks install-cli](https://docs.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az-aks-install-cli) command: +To manage a Kubernetes cluster, you use [kubectl](https://kubernetes.io/docs/reference/kubectl/), the Kubernetes command-line client. If you use Azure Cloud Shell, `kubectl` is already installed. To install `kubectl` locally, use the [az aks install-cli](https://docs.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest#az-aks-install-cli) command: ```az aks install-cli``` diff --git a/kubernetes/GKE/README.md b/kubernetes/GKE/README.md index fccc532068..9be81963f9 100644 --- a/kubernetes/GKE/README.md +++ b/kubernetes/GKE/README.md @@ -59,7 +59,7 @@ gcloud container clusters create torchserve --machine-type n1-standard-4 --accel #### 1.3 Connect to the cluster -To manage a Kubernetes cluster, you use [kubectl](https://kubernetes.io/docs/user-guide/kubectl/), the Kubernetes command-line client. If you use GKE Cloud Shell, `kubectl` is already installed. To install `kubectl` locally, use the [gcloud components install](https://kubernetes.io/docs/tasks/tools/install-kubectl/) command: +To manage a Kubernetes cluster, you use [kubectl](https://kubernetes.io/docs/reference/kubectl/), the Kubernetes command-line client. If you use GKE Cloud Shell, `kubectl` is already installed. To install `kubectl` locally, use the [gcloud components install](https://kubernetes.io/docs/tasks/tools/install-kubectl/) command: Below command require Cloud SDK component manager enabled. From fd8f1b3e384f230a72c04443f9ca4c555def3b7b Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Tue, 7 Mar 2023 14:07:52 -0800 Subject: [PATCH 016/172] Push benchmark artifacts for auto-validation (#2157) * Upload benchmark artifacts for auto-validation --- .github/workflows/benchmark_nightly_cpu.yml | 15 +++ .github/workflows/benchmark_nightly_gpu.yml | 15 +++ benchmarks/utils/update_artifacts.py | 129 ++++++++++++++++++++ 3 files changed, 159 insertions(+) create mode 100644 benchmarks/utils/update_artifacts.py diff --git a/.github/workflows/benchmark_nightly_cpu.yml b/.github/workflows/benchmark_nightly_cpu.yml index 6d91438574..ac8487e416 100644 --- a/.github/workflows/benchmark_nightly_cpu.yml +++ b/.github/workflows/benchmark_nightly_cpu.yml @@ -43,6 +43,21 @@ jobs: with: name: nightly cpu artifact path: /tmp/ts_benchmark + - name: Download benchmark artifacts for auto validation + uses: dawidd6/action-download-artifact@v2 + with: + workflow: ${{ github.event.workflow_run.workflow_id }} + workflow_conclusion: success + if_no_artifact_found: ignore + path: /tmp/ts_artifacts + name: cpu_benchmark_validation + - name: Update benchmark artifacts for auto validation + run: python benchmarks/utils/update_artifacts.py --output /tmp/ts_artifacts/cpu_benchmark_validation + - name: Upload the updated benchmark artifacts for auto validation + uses: actions/upload-artifact@v2 + with: + name: cpu_benchmark_validation + path: /tmp/ts_artifacts - name: Open issue on failure if: ${{ failure() && github.event_name == 'schedule' }} uses: dacbd/create-issue-action@v1 diff --git a/.github/workflows/benchmark_nightly_gpu.yml b/.github/workflows/benchmark_nightly_gpu.yml index 3211a87339..edf7de86b4 100644 --- a/.github/workflows/benchmark_nightly_gpu.yml +++ b/.github/workflows/benchmark_nightly_gpu.yml @@ -43,3 +43,18 @@ jobs: with: name: nightly gpu artifact path: /tmp/ts_benchmark + - name: Download benchmark artifacts for auto validation + uses: dawidd6/action-download-artifact@v2 + with: + workflow: ${{ github.event.workflow_run.workflow_id }} + workflow_conclusion: success + if_no_artifact_found: ignore + path: /tmp/ts_artifacts + name: gpu_benchmark_validation + - name: Update benchmark artifacts for auto validation + run: python benchmarks/utils/update_artifacts.py --output /tmp/ts_artifacts/gpu_benchmark_validation + - name: Upload the updated benchmark artifacts for auto validation + uses: actions/upload-artifact@v2 + with: + name: gpu_benchmark_validation + path: /tmp/ts_artifacts diff --git a/benchmarks/utils/update_artifacts.py b/benchmarks/utils/update_artifacts.py new file mode 100644 index 0000000000..28e41cce7d --- /dev/null +++ b/benchmarks/utils/update_artifacts.py @@ -0,0 +1,129 @@ +import argparse +import os +import shutil + +BENCHMARK_REPORT_PATH = "/tmp/ts_benchmark" +BENCHMARK_ARTIFACTS_PATH = "/tmp/ts_artifacts" +BENCHMARK_REPORT_FILE = "ab_report.csv" +WINDOW_LEN = 8 +WINDOW_START = 0 + +################################################################ +# This is an example directory structure for the artifacts. +# Here, report_id 1 is missing, new report would be added under 1 +# and we would remove report_id 2. +# . +# └── tmp/ +# └── ts_artifacts/ +# ├── 0/ +# │ ├── eager_mode_mnist_w4_b1/ +# │ │ └── ab_report.csv +# │ ├── eager_mode_mnist_w4_b2/ +# │ │ └── ab_report.csv +# │ └── ... +# ├── 2/ +# │ ├── eager_mode_mnist_w4_b1/ +# │ │ └── ab_report.csv +# │ ├── eager_mode_mnist_w4_b2/ +# │ │ └── ab_report.csv +# │ └── ... +# ├── 3/ +# │ ├── eager_mode_mnist_w4_b1/ +# │ │ └── ab_report.csv +# │ ├── eager_mode_mnist_w4_b2/ +# │ │ └── ab_report.csv +# │ └── ... +# ├── ... +# └── 6/ +# ├── eager_mode_mnist_w4_b1/ +# │ └── ab_report.csv +# ├── eager_mode_mnist_w4_b2/ +# │ └── ab_report.csv +# └── ... +################################################################ + + +# Copy BENCHMARK_REPORT_FILE to artifacts +def copy_benchmark_reports(input, output): + + for dir in os.listdir(input): + if os.path.isdir(os.path.join(input, dir)): + new_dir = os.path.join(output, dir) + os.makedirs(new_dir, exist_ok=True) + shutil.copy(os.path.join(input, dir, BENCHMARK_REPORT_FILE), new_dir) + + +# Save new report and delete the oldest report +def update_new_report(input_dir, output_dir, add_report_id, del_report_id): + + # Add new report + new_dir = os.path.join(output_dir, str(add_report_id)) + print("Creating artifacts ", new_dir) + copy_benchmark_reports(input_dir, new_dir) + + # Remove old report + if isinstance(del_report_id, int): + rm_dir = os.path.join(output_dir, str(del_report_id % WINDOW_LEN)) + print("Removing artifacts ", rm_dir) + shutil.rmtree(rm_dir, ignore_errors=True) + + +# Create artifacts for a period of rolling WINDOW_LEN-1 reports +def update_artifacts(input_dir, output_dir): + + # Create a drectory where artifacts will be stored + os.makedirs(output_dir, exist_ok=True) + + # Get the sorted list of existing report_ids + list_dirs = sorted(map(lambda x: int(x), os.listdir(output_dir))) + num_reports = len(list_dirs) + + # Initial case: When they are less than WINDOW_LEN-1 reports + if num_reports < WINDOW_LEN - 1: + add_report_id, del_report_id = num_reports, None + update_new_report(input_dir, output_dir, add_report_id, del_report_id) + return + + # When there are WINDOW_LEN - 1 reports and we want to add the new report + # and remove the oldest report + for i, report_id in enumerate(list_dirs): + + if i != report_id or (i + 1 == WINDOW_LEN - 1): + if i != report_id: + # When report_id has a missing element in sequence + add_report_id, del_report_id = i, report_id + else: + # When report_id WINDOW_LEN-1 is missing + add_report_id, del_report_id = i + 1, (i + 2) % WINDOW_LEN + update_new_report(input_dir, output_dir, add_report_id, del_report_id) + break + + +def main(): + parser = argparse.ArgumentParser() + + parser.add_argument( + "--input_dir", + nargs="?", + help="the dir of a list of model benchmark result subdir ", + const=BENCHMARK_REPORT_PATH, + type=str, + default=BENCHMARK_REPORT_PATH, + ) + + parser.add_argument( + "--output_dir", + nargs="?", + help="the dir of model benchmark artifacts ", + const=BENCHMARK_ARTIFACTS_PATH, + type=str, + default=BENCHMARK_ARTIFACTS_PATH, + ) + + args = parser.parse_args() + + update_artifacts(args.input_dir, args.output_dir) + + +if __name__ == "__main__": + main() From 9412c0a76c66f62f164487bbd7417b9d1928a1e6 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Mon, 13 Mar 2023 15:14:17 -0700 Subject: [PATCH 017/172] Make handler tests callable with pytest (#2173) * Make torch_handler tests callable with pytest * Add handler test to sanity check * Replace resnet 152 against 18 to speedup unit test; also fixes issue with old weights version on gpu * Fix lint error --- .gitignore | 1 + .../resnet_18/index_to_name.json | 1 + ts/torch_handler/unit_tests/conftest.py | 34 ++++++ .../unit_tests/models/base_model.py | 10 +- ts/torch_handler/unit_tests/run_unit_tests.sh | 76 ------------- .../unit_tests/test_base_handler.py | 28 ++--- ts/torch_handler/unit_tests/test_envelopes.py | 71 +++++------- .../unit_tests/test_image_classifier.py | 93 ++++++++++++---- .../unit_tests/test_image_segmenter.py | 74 ++++++++++--- ts/torch_handler/unit_tests/test_mnist_kf.py | 104 ++++++++++-------- .../unit_tests/test_object_detector.py | 76 ++++++++++--- .../unit_tests/test_utils/model_dir.py | 30 +++++ ts_scripts/backend_utils.py | 3 +- 13 files changed, 364 insertions(+), 237 deletions(-) create mode 100644 examples/image_classifier/resnet_18/index_to_name.json create mode 100644 ts/torch_handler/unit_tests/conftest.py delete mode 100755 ts/torch_handler/unit_tests/run_unit_tests.sh create mode 100644 ts/torch_handler/unit_tests/test_utils/model_dir.py diff --git a/.gitignore b/.gitignore index 236cc35cae..bceee3ce88 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ dist/ *.egg-info/ .idea *htmlcov* +.cache .coverage .github/actions/ .github/.DS_Store diff --git a/examples/image_classifier/resnet_18/index_to_name.json b/examples/image_classifier/resnet_18/index_to_name.json new file mode 100644 index 0000000000..5fe0dfefcd --- /dev/null +++ b/examples/image_classifier/resnet_18/index_to_name.json @@ -0,0 +1 @@ +{"0": ["n01440764", "tench"], "1": ["n01443537", "goldfish"], "2": ["n01484850", "great_white_shark"], "3": ["n01491361", "tiger_shark"], "4": ["n01494475", "hammerhead"], "5": ["n01496331", "electric_ray"], "6": ["n01498041", "stingray"], "7": ["n01514668", "cock"], "8": ["n01514859", "hen"], "9": ["n01518878", "ostrich"], "10": ["n01530575", "brambling"], "11": ["n01531178", "goldfinch"], "12": ["n01532829", "house_finch"], "13": ["n01534433", "junco"], "14": ["n01537544", "indigo_bunting"], "15": ["n01558993", "robin"], "16": ["n01560419", "bulbul"], "17": ["n01580077", "jay"], "18": ["n01582220", "magpie"], "19": ["n01592084", "chickadee"], "20": ["n01601694", "water_ouzel"], "21": ["n01608432", "kite"], "22": ["n01614925", "bald_eagle"], "23": ["n01616318", "vulture"], "24": ["n01622779", "great_grey_owl"], "25": ["n01629819", "European_fire_salamander"], "26": ["n01630670", "common_newt"], "27": ["n01631663", "eft"], "28": ["n01632458", "spotted_salamander"], "29": ["n01632777", "axolotl"], "30": ["n01641577", "bullfrog"], "31": ["n01644373", "tree_frog"], "32": ["n01644900", "tailed_frog"], "33": ["n01664065", "loggerhead"], "34": ["n01665541", "leatherback_turtle"], "35": ["n01667114", "mud_turtle"], "36": ["n01667778", "terrapin"], "37": ["n01669191", "box_turtle"], "38": ["n01675722", "banded_gecko"], "39": ["n01677366", "common_iguana"], "40": ["n01682714", "American_chameleon"], "41": ["n01685808", "whiptail"], "42": ["n01687978", "agama"], "43": ["n01688243", "frilled_lizard"], "44": ["n01689811", "alligator_lizard"], "45": ["n01692333", "Gila_monster"], "46": ["n01693334", "green_lizard"], "47": ["n01694178", "African_chameleon"], "48": ["n01695060", "Komodo_dragon"], "49": ["n01697457", "African_crocodile"], "50": ["n01698640", "American_alligator"], "51": ["n01704323", "triceratops"], "52": ["n01728572", "thunder_snake"], "53": ["n01728920", "ringneck_snake"], "54": ["n01729322", "hognose_snake"], "55": ["n01729977", "green_snake"], "56": ["n01734418", "king_snake"], "57": ["n01735189", "garter_snake"], "58": ["n01737021", "water_snake"], "59": ["n01739381", "vine_snake"], "60": ["n01740131", "night_snake"], "61": ["n01742172", "boa_constrictor"], "62": ["n01744401", "rock_python"], "63": ["n01748264", "Indian_cobra"], "64": ["n01749939", "green_mamba"], "65": ["n01751748", "sea_snake"], "66": ["n01753488", "horned_viper"], "67": ["n01755581", "diamondback"], "68": ["n01756291", "sidewinder"], "69": ["n01768244", "trilobite"], "70": ["n01770081", "harvestman"], "71": ["n01770393", "scorpion"], "72": ["n01773157", "black_and_gold_garden_spider"], "73": ["n01773549", "barn_spider"], "74": ["n01773797", "garden_spider"], "75": ["n01774384", "black_widow"], "76": ["n01774750", "tarantula"], "77": ["n01775062", "wolf_spider"], "78": ["n01776313", "tick"], "79": ["n01784675", "centipede"], "80": ["n01795545", "black_grouse"], "81": ["n01796340", "ptarmigan"], "82": ["n01797886", "ruffed_grouse"], "83": ["n01798484", "prairie_chicken"], "84": ["n01806143", "peacock"], "85": ["n01806567", "quail"], "86": ["n01807496", "partridge"], "87": ["n01817953", "African_grey"], "88": ["n01818515", "macaw"], "89": ["n01819313", "sulphur-crested_cockatoo"], "90": ["n01820546", "lorikeet"], "91": ["n01824575", "coucal"], "92": ["n01828970", "bee_eater"], "93": ["n01829413", "hornbill"], "94": ["n01833805", "hummingbird"], "95": ["n01843065", "jacamar"], "96": ["n01843383", "toucan"], "97": ["n01847000", "drake"], "98": ["n01855032", "red-breasted_merganser"], "99": ["n01855672", "goose"], "100": ["n01860187", "black_swan"], "101": ["n01871265", "tusker"], "102": ["n01872401", "echidna"], "103": ["n01873310", "platypus"], "104": ["n01877812", "wallaby"], "105": ["n01882714", "koala"], "106": ["n01883070", "wombat"], "107": ["n01910747", "jellyfish"], "108": ["n01914609", "sea_anemone"], "109": ["n01917289", "brain_coral"], "110": ["n01924916", "flatworm"], "111": ["n01930112", "nematode"], "112": ["n01943899", "conch"], "113": ["n01944390", "snail"], "114": ["n01945685", "slug"], "115": ["n01950731", "sea_slug"], "116": ["n01955084", "chiton"], "117": ["n01968897", "chambered_nautilus"], "118": ["n01978287", "Dungeness_crab"], "119": ["n01978455", "rock_crab"], "120": ["n01980166", "fiddler_crab"], "121": ["n01981276", "king_crab"], "122": ["n01983481", "American_lobster"], "123": ["n01984695", "spiny_lobster"], "124": ["n01985128", "crayfish"], "125": ["n01986214", "hermit_crab"], "126": ["n01990800", "isopod"], "127": ["n02002556", "white_stork"], "128": ["n02002724", "black_stork"], "129": ["n02006656", "spoonbill"], "130": ["n02007558", "flamingo"], "131": ["n02009229", "little_blue_heron"], "132": ["n02009912", "American_egret"], "133": ["n02011460", "bittern"], "134": ["n02012849", "crane"], "135": ["n02013706", "limpkin"], "136": ["n02017213", "European_gallinule"], "137": ["n02018207", "American_coot"], "138": ["n02018795", "bustard"], "139": ["n02025239", "ruddy_turnstone"], "140": ["n02027492", "red-backed_sandpiper"], "141": ["n02028035", "redshank"], "142": ["n02033041", "dowitcher"], "143": ["n02037110", "oystercatcher"], "144": ["n02051845", "pelican"], "145": ["n02056570", "king_penguin"], "146": ["n02058221", "albatross"], "147": ["n02066245", "grey_whale"], "148": ["n02071294", "killer_whale"], "149": ["n02074367", "dugong"], "150": ["n02077923", "sea_lion"], "151": ["n02085620", "Chihuahua"], "152": ["n02085782", "Japanese_spaniel"], "153": ["n02085936", "Maltese_dog"], "154": ["n02086079", "Pekinese"], "155": ["n02086240", "Shih-Tzu"], "156": ["n02086646", "Blenheim_spaniel"], "157": ["n02086910", "papillon"], "158": ["n02087046", "toy_terrier"], "159": ["n02087394", "Rhodesian_ridgeback"], "160": ["n02088094", "Afghan_hound"], "161": ["n02088238", "basset"], "162": ["n02088364", "beagle"], "163": ["n02088466", "bloodhound"], "164": ["n02088632", "bluetick"], "165": ["n02089078", "black-and-tan_coonhound"], "166": ["n02089867", "Walker_hound"], "167": ["n02089973", "English_foxhound"], "168": ["n02090379", "redbone"], "169": ["n02090622", "borzoi"], "170": ["n02090721", "Irish_wolfhound"], "171": ["n02091032", "Italian_greyhound"], "172": ["n02091134", "whippet"], "173": ["n02091244", "Ibizan_hound"], "174": ["n02091467", "Norwegian_elkhound"], "175": ["n02091635", "otterhound"], "176": ["n02091831", "Saluki"], "177": ["n02092002", "Scottish_deerhound"], "178": ["n02092339", "Weimaraner"], "179": ["n02093256", "Staffordshire_bullterrier"], "180": ["n02093428", "American_Staffordshire_terrier"], "181": ["n02093647", "Bedlington_terrier"], "182": ["n02093754", "Border_terrier"], "183": ["n02093859", "Kerry_blue_terrier"], "184": ["n02093991", "Irish_terrier"], "185": ["n02094114", "Norfolk_terrier"], "186": ["n02094258", "Norwich_terrier"], "187": ["n02094433", "Yorkshire_terrier"], "188": ["n02095314", "wire-haired_fox_terrier"], "189": ["n02095570", "Lakeland_terrier"], "190": ["n02095889", "Sealyham_terrier"], "191": ["n02096051", "Airedale"], "192": ["n02096177", "cairn"], "193": ["n02096294", "Australian_terrier"], "194": ["n02096437", "Dandie_Dinmont"], "195": ["n02096585", "Boston_bull"], "196": ["n02097047", "miniature_schnauzer"], "197": ["n02097130", "giant_schnauzer"], "198": ["n02097209", "standard_schnauzer"], "199": ["n02097298", "Scotch_terrier"], "200": ["n02097474", "Tibetan_terrier"], "201": ["n02097658", "silky_terrier"], "202": ["n02098105", "soft-coated_wheaten_terrier"], "203": ["n02098286", "West_Highland_white_terrier"], "204": ["n02098413", "Lhasa"], "205": ["n02099267", "flat-coated_retriever"], "206": ["n02099429", "curly-coated_retriever"], "207": ["n02099601", "golden_retriever"], "208": ["n02099712", "Labrador_retriever"], "209": ["n02099849", "Chesapeake_Bay_retriever"], "210": ["n02100236", "German_short-haired_pointer"], "211": ["n02100583", "vizsla"], "212": ["n02100735", "English_setter"], "213": ["n02100877", "Irish_setter"], "214": ["n02101006", "Gordon_setter"], "215": ["n02101388", "Brittany_spaniel"], "216": ["n02101556", "clumber"], "217": ["n02102040", "English_springer"], "218": ["n02102177", "Welsh_springer_spaniel"], "219": ["n02102318", "cocker_spaniel"], "220": ["n02102480", "Sussex_spaniel"], "221": ["n02102973", "Irish_water_spaniel"], "222": ["n02104029", "kuvasz"], "223": ["n02104365", "schipperke"], "224": ["n02105056", "groenendael"], "225": ["n02105162", "malinois"], "226": ["n02105251", "briard"], "227": ["n02105412", "kelpie"], "228": ["n02105505", "komondor"], "229": ["n02105641", "Old_English_sheepdog"], "230": ["n02105855", "Shetland_sheepdog"], "231": ["n02106030", "collie"], "232": ["n02106166", "Border_collie"], "233": ["n02106382", "Bouvier_des_Flandres"], "234": ["n02106550", "Rottweiler"], "235": ["n02106662", "German_shepherd"], "236": ["n02107142", "Doberman"], "237": ["n02107312", "miniature_pinscher"], "238": ["n02107574", "Greater_Swiss_Mountain_dog"], "239": ["n02107683", "Bernese_mountain_dog"], "240": ["n02107908", "Appenzeller"], "241": ["n02108000", "EntleBucher"], "242": ["n02108089", "boxer"], "243": ["n02108422", "bull_mastiff"], "244": ["n02108551", "Tibetan_mastiff"], "245": ["n02108915", "French_bulldog"], "246": ["n02109047", "Great_Dane"], "247": ["n02109525", "Saint_Bernard"], "248": ["n02109961", "Eskimo_dog"], "249": ["n02110063", "malamute"], "250": ["n02110185", "Siberian_husky"], "251": ["n02110341", "dalmatian"], "252": ["n02110627", "affenpinscher"], "253": ["n02110806", "basenji"], "254": ["n02110958", "pug"], "255": ["n02111129", "Leonberg"], "256": ["n02111277", "Newfoundland"], "257": ["n02111500", "Great_Pyrenees"], "258": ["n02111889", "Samoyed"], "259": ["n02112018", "Pomeranian"], "260": ["n02112137", "chow"], "261": ["n02112350", "keeshond"], "262": ["n02112706", "Brabancon_griffon"], "263": ["n02113023", "Pembroke"], "264": ["n02113186", "Cardigan"], "265": ["n02113624", "toy_poodle"], "266": ["n02113712", "miniature_poodle"], "267": ["n02113799", "standard_poodle"], "268": ["n02113978", "Mexican_hairless"], "269": ["n02114367", "timber_wolf"], "270": ["n02114548", "white_wolf"], "271": ["n02114712", "red_wolf"], "272": ["n02114855", "coyote"], "273": ["n02115641", "dingo"], "274": ["n02115913", "dhole"], "275": ["n02116738", "African_hunting_dog"], "276": ["n02117135", "hyena"], "277": ["n02119022", "red_fox"], "278": ["n02119789", "kit_fox"], "279": ["n02120079", "Arctic_fox"], "280": ["n02120505", "grey_fox"], "281": ["n02123045", "tabby"], "282": ["n02123159", "tiger_cat"], "283": ["n02123394", "Persian_cat"], "284": ["n02123597", "Siamese_cat"], "285": ["n02124075", "Egyptian_cat"], "286": ["n02125311", "cougar"], "287": ["n02127052", "lynx"], "288": ["n02128385", "leopard"], "289": ["n02128757", "snow_leopard"], "290": ["n02128925", "jaguar"], "291": ["n02129165", "lion"], "292": ["n02129604", "tiger"], "293": ["n02130308", "cheetah"], "294": ["n02132136", "brown_bear"], "295": ["n02133161", "American_black_bear"], "296": ["n02134084", "ice_bear"], "297": ["n02134418", "sloth_bear"], "298": ["n02137549", "mongoose"], "299": ["n02138441", "meerkat"], "300": ["n02165105", "tiger_beetle"], "301": ["n02165456", "ladybug"], "302": ["n02167151", "ground_beetle"], "303": ["n02168699", "long-horned_beetle"], "304": ["n02169497", "leaf_beetle"], "305": ["n02172182", "dung_beetle"], "306": ["n02174001", "rhinoceros_beetle"], "307": ["n02177972", "weevil"], "308": ["n02190166", "fly"], "309": ["n02206856", "bee"], "310": ["n02219486", "ant"], "311": ["n02226429", "grasshopper"], "312": ["n02229544", "cricket"], "313": ["n02231487", "walking_stick"], "314": ["n02233338", "cockroach"], "315": ["n02236044", "mantis"], "316": ["n02256656", "cicada"], "317": ["n02259212", "leafhopper"], "318": ["n02264363", "lacewing"], "319": ["n02268443", "dragonfly"], "320": ["n02268853", "damselfly"], "321": ["n02276258", "admiral"], "322": ["n02277742", "ringlet"], "323": ["n02279972", "monarch"], "324": ["n02280649", "cabbage_butterfly"], "325": ["n02281406", "sulphur_butterfly"], "326": ["n02281787", "lycaenid"], "327": ["n02317335", "starfish"], "328": ["n02319095", "sea_urchin"], "329": ["n02321529", "sea_cucumber"], "330": ["n02325366", "wood_rabbit"], "331": ["n02326432", "hare"], "332": ["n02328150", "Angora"], "333": ["n02342885", "hamster"], "334": ["n02346627", "porcupine"], "335": ["n02356798", "fox_squirrel"], "336": ["n02361337", "marmot"], "337": ["n02363005", "beaver"], "338": ["n02364673", "guinea_pig"], "339": ["n02389026", "sorrel"], "340": ["n02391049", "zebra"], "341": ["n02395406", "hog"], "342": ["n02396427", "wild_boar"], "343": ["n02397096", "warthog"], "344": ["n02398521", "hippopotamus"], "345": ["n02403003", "ox"], "346": ["n02408429", "water_buffalo"], "347": ["n02410509", "bison"], "348": ["n02412080", "ram"], "349": ["n02415577", "bighorn"], "350": ["n02417914", "ibex"], "351": ["n02422106", "hartebeest"], "352": ["n02422699", "impala"], "353": ["n02423022", "gazelle"], "354": ["n02437312", "Arabian_camel"], "355": ["n02437616", "llama"], "356": ["n02441942", "weasel"], "357": ["n02442845", "mink"], "358": ["n02443114", "polecat"], "359": ["n02443484", "black-footed_ferret"], "360": ["n02444819", "otter"], "361": ["n02445715", "skunk"], "362": ["n02447366", "badger"], "363": ["n02454379", "armadillo"], "364": ["n02457408", "three-toed_sloth"], "365": ["n02480495", "orangutan"], "366": ["n02480855", "gorilla"], "367": ["n02481823", "chimpanzee"], "368": ["n02483362", "gibbon"], "369": ["n02483708", "siamang"], "370": ["n02484975", "guenon"], "371": ["n02486261", "patas"], "372": ["n02486410", "baboon"], "373": ["n02487347", "macaque"], "374": ["n02488291", "langur"], "375": ["n02488702", "colobus"], "376": ["n02489166", "proboscis_monkey"], "377": ["n02490219", "marmoset"], "378": ["n02492035", "capuchin"], "379": ["n02492660", "howler_monkey"], "380": ["n02493509", "titi"], "381": ["n02493793", "spider_monkey"], "382": ["n02494079", "squirrel_monkey"], "383": ["n02497673", "Madagascar_cat"], "384": ["n02500267", "indri"], "385": ["n02504013", "Indian_elephant"], "386": ["n02504458", "African_elephant"], "387": ["n02509815", "lesser_panda"], "388": ["n02510455", "giant_panda"], "389": ["n02514041", "barracouta"], "390": ["n02526121", "eel"], "391": ["n02536864", "coho"], "392": ["n02606052", "rock_beauty"], "393": ["n02607072", "anemone_fish"], "394": ["n02640242", "sturgeon"], "395": ["n02641379", "gar"], "396": ["n02643566", "lionfish"], "397": ["n02655020", "puffer"], "398": ["n02666196", "abacus"], "399": ["n02667093", "abaya"], "400": ["n02669723", "academic_gown"], "401": ["n02672831", "accordion"], "402": ["n02676566", "acoustic_guitar"], "403": ["n02687172", "aircraft_carrier"], "404": ["n02690373", "airliner"], "405": ["n02692877", "airship"], "406": ["n02699494", "altar"], "407": ["n02701002", "ambulance"], "408": ["n02704792", "amphibian"], "409": ["n02708093", "analog_clock"], "410": ["n02727426", "apiary"], "411": ["n02730930", "apron"], "412": ["n02747177", "ashcan"], "413": ["n02749479", "assault_rifle"], "414": ["n02769748", "backpack"], "415": ["n02776631", "bakery"], "416": ["n02777292", "balance_beam"], "417": ["n02782093", "balloon"], "418": ["n02783161", "ballpoint"], "419": ["n02786058", "Band_Aid"], "420": ["n02787622", "banjo"], "421": ["n02788148", "bannister"], "422": ["n02790996", "barbell"], "423": ["n02791124", "barber_chair"], "424": ["n02791270", "barbershop"], "425": ["n02793495", "barn"], "426": ["n02794156", "barometer"], "427": ["n02795169", "barrel"], "428": ["n02797295", "barrow"], "429": ["n02799071", "baseball"], "430": ["n02802426", "basketball"], "431": ["n02804414", "bassinet"], "432": ["n02804610", "bassoon"], "433": ["n02807133", "bathing_cap"], "434": ["n02808304", "bath_towel"], "435": ["n02808440", "bathtub"], "436": ["n02814533", "beach_wagon"], "437": ["n02814860", "beacon"], "438": ["n02815834", "beaker"], "439": ["n02817516", "bearskin"], "440": ["n02823428", "beer_bottle"], "441": ["n02823750", "beer_glass"], "442": ["n02825657", "bell_cote"], "443": ["n02834397", "bib"], "444": ["n02835271", "bicycle-built-for-two"], "445": ["n02837789", "bikini"], "446": ["n02840245", "binder"], "447": ["n02841315", "binoculars"], "448": ["n02843684", "birdhouse"], "449": ["n02859443", "boathouse"], "450": ["n02860847", "bobsled"], "451": ["n02865351", "bolo_tie"], "452": ["n02869837", "bonnet"], "453": ["n02870880", "bookcase"], "454": ["n02871525", "bookshop"], "455": ["n02877765", "bottlecap"], "456": ["n02879718", "bow"], "457": ["n02883205", "bow_tie"], "458": ["n02892201", "brass"], "459": ["n02892767", "brassiere"], "460": ["n02894605", "breakwater"], "461": ["n02895154", "breastplate"], "462": ["n02906734", "broom"], "463": ["n02909870", "bucket"], "464": ["n02910353", "buckle"], "465": ["n02916936", "bulletproof_vest"], "466": ["n02917067", "bullet_train"], "467": ["n02927161", "butcher_shop"], "468": ["n02930766", "cab"], "469": ["n02939185", "caldron"], "470": ["n02948072", "candle"], "471": ["n02950826", "cannon"], "472": ["n02951358", "canoe"], "473": ["n02951585", "can_opener"], "474": ["n02963159", "cardigan"], "475": ["n02965783", "car_mirror"], "476": ["n02966193", "carousel"], "477": ["n02966687", "carpenter's_kit"], "478": ["n02971356", "carton"], "479": ["n02974003", "car_wheel"], "480": ["n02977058", "cash_machine"], "481": ["n02978881", "cassette"], "482": ["n02979186", "cassette_player"], "483": ["n02980441", "castle"], "484": ["n02981792", "catamaran"], "485": ["n02988304", "CD_player"], "486": ["n02992211", "cello"], "487": ["n02992529", "cellular_telephone"], "488": ["n02999410", "chain"], "489": ["n03000134", "chainlink_fence"], "490": ["n03000247", "chain_mail"], "491": ["n03000684", "chain_saw"], "492": ["n03014705", "chest"], "493": ["n03016953", "chiffonier"], "494": ["n03017168", "chime"], "495": ["n03018349", "china_cabinet"], "496": ["n03026506", "Christmas_stocking"], "497": ["n03028079", "church"], "498": ["n03032252", "cinema"], "499": ["n03041632", "cleaver"], "500": ["n03042490", "cliff_dwelling"], "501": ["n03045698", "cloak"], "502": ["n03047690", "clog"], "503": ["n03062245", "cocktail_shaker"], "504": ["n03063599", "coffee_mug"], "505": ["n03063689", "coffeepot"], "506": ["n03065424", "coil"], "507": ["n03075370", "combination_lock"], "508": ["n03085013", "computer_keyboard"], "509": ["n03089624", "confectionery"], "510": ["n03095699", "container_ship"], "511": ["n03100240", "convertible"], "512": ["n03109150", "corkscrew"], "513": ["n03110669", "cornet"], "514": ["n03124043", "cowboy_boot"], "515": ["n03124170", "cowboy_hat"], "516": ["n03125729", "cradle"], "517": ["n03126707", "crane"], "518": ["n03127747", "crash_helmet"], "519": ["n03127925", "crate"], "520": ["n03131574", "crib"], "521": ["n03133878", "Crock_Pot"], "522": ["n03134739", "croquet_ball"], "523": ["n03141823", "crutch"], "524": ["n03146219", "cuirass"], "525": ["n03160309", "dam"], "526": ["n03179701", "desk"], "527": ["n03180011", "desktop_computer"], "528": ["n03187595", "dial_telephone"], "529": ["n03188531", "diaper"], "530": ["n03196217", "digital_clock"], "531": ["n03197337", "digital_watch"], "532": ["n03201208", "dining_table"], "533": ["n03207743", "dishrag"], "534": ["n03207941", "dishwasher"], "535": ["n03208938", "disk_brake"], "536": ["n03216828", "dock"], "537": ["n03218198", "dogsled"], "538": ["n03220513", "dome"], "539": ["n03223299", "doormat"], "540": ["n03240683", "drilling_platform"], "541": ["n03249569", "drum"], "542": ["n03250847", "drumstick"], "543": ["n03255030", "dumbbell"], "544": ["n03259280", "Dutch_oven"], "545": ["n03271574", "electric_fan"], "546": ["n03272010", "electric_guitar"], "547": ["n03272562", "electric_locomotive"], "548": ["n03290653", "entertainment_center"], "549": ["n03291819", "envelope"], "550": ["n03297495", "espresso_maker"], "551": ["n03314780", "face_powder"], "552": ["n03325584", "feather_boa"], "553": ["n03337140", "file"], "554": ["n03344393", "fireboat"], "555": ["n03345487", "fire_engine"], "556": ["n03347037", "fire_screen"], "557": ["n03355925", "flagpole"], "558": ["n03372029", "flute"], "559": ["n03376595", "folding_chair"], "560": ["n03379051", "football_helmet"], "561": ["n03384352", "forklift"], "562": ["n03388043", "fountain"], "563": ["n03388183", "fountain_pen"], "564": ["n03388549", "four-poster"], "565": ["n03393912", "freight_car"], "566": ["n03394916", "French_horn"], "567": ["n03400231", "frying_pan"], "568": ["n03404251", "fur_coat"], "569": ["n03417042", "garbage_truck"], "570": ["n03424325", "gasmask"], "571": ["n03425413", "gas_pump"], "572": ["n03443371", "goblet"], "573": ["n03444034", "go-kart"], "574": ["n03445777", "golf_ball"], "575": ["n03445924", "golfcart"], "576": ["n03447447", "gondola"], "577": ["n03447721", "gong"], "578": ["n03450230", "gown"], "579": ["n03452741", "grand_piano"], "580": ["n03457902", "greenhouse"], "581": ["n03459775", "grille"], "582": ["n03461385", "grocery_store"], "583": ["n03467068", "guillotine"], "584": ["n03476684", "hair_slide"], "585": ["n03476991", "hair_spray"], "586": ["n03478589", "half_track"], "587": ["n03481172", "hammer"], "588": ["n03482405", "hamper"], "589": ["n03483316", "hand_blower"], "590": ["n03485407", "hand-held_computer"], "591": ["n03485794", "handkerchief"], "592": ["n03492542", "hard_disc"], "593": ["n03494278", "harmonica"], "594": ["n03495258", "harp"], "595": ["n03496892", "harvester"], "596": ["n03498962", "hatchet"], "597": ["n03527444", "holster"], "598": ["n03529860", "home_theater"], "599": ["n03530642", "honeycomb"], "600": ["n03532672", "hook"], "601": ["n03534580", "hoopskirt"], "602": ["n03535780", "horizontal_bar"], "603": ["n03538406", "horse_cart"], "604": ["n03544143", "hourglass"], "605": ["n03584254", "iPod"], "606": ["n03584829", "iron"], "607": ["n03590841", "jack-o'-lantern"], "608": ["n03594734", "jean"], "609": ["n03594945", "jeep"], "610": ["n03595614", "jersey"], "611": ["n03598930", "jigsaw_puzzle"], "612": ["n03599486", "jinrikisha"], "613": ["n03602883", "joystick"], "614": ["n03617480", "kimono"], "615": ["n03623198", "knee_pad"], "616": ["n03627232", "knot"], "617": ["n03630383", "lab_coat"], "618": ["n03633091", "ladle"], "619": ["n03637318", "lampshade"], "620": ["n03642806", "laptop"], "621": ["n03649909", "lawn_mower"], "622": ["n03657121", "lens_cap"], "623": ["n03658185", "letter_opener"], "624": ["n03661043", "library"], "625": ["n03662601", "lifeboat"], "626": ["n03666591", "lighter"], "627": ["n03670208", "limousine"], "628": ["n03673027", "liner"], "629": ["n03676483", "lipstick"], "630": ["n03680355", "Loafer"], "631": ["n03690938", "lotion"], "632": ["n03691459", "loudspeaker"], "633": ["n03692522", "loupe"], "634": ["n03697007", "lumbermill"], "635": ["n03706229", "magnetic_compass"], "636": ["n03709823", "mailbag"], "637": ["n03710193", "mailbox"], "638": ["n03710637", "maillot"], "639": ["n03710721", "maillot"], "640": ["n03717622", "manhole_cover"], "641": ["n03720891", "maraca"], "642": ["n03721384", "marimba"], "643": ["n03724870", "mask"], "644": ["n03729826", "matchstick"], "645": ["n03733131", "maypole"], "646": ["n03733281", "maze"], "647": ["n03733805", "measuring_cup"], "648": ["n03742115", "medicine_chest"], "649": ["n03743016", "megalith"], "650": ["n03759954", "microphone"], "651": ["n03761084", "microwave"], "652": ["n03763968", "military_uniform"], "653": ["n03764736", "milk_can"], "654": ["n03769881", "minibus"], "655": ["n03770439", "miniskirt"], "656": ["n03770679", "minivan"], "657": ["n03773504", "missile"], "658": ["n03775071", "mitten"], "659": ["n03775546", "mixing_bowl"], "660": ["n03776460", "mobile_home"], "661": ["n03777568", "Model_T"], "662": ["n03777754", "modem"], "663": ["n03781244", "monastery"], "664": ["n03782006", "monitor"], "665": ["n03785016", "moped"], "666": ["n03786901", "mortar"], "667": ["n03787032", "mortarboard"], "668": ["n03788195", "mosque"], "669": ["n03788365", "mosquito_net"], "670": ["n03791053", "motor_scooter"], "671": ["n03792782", "mountain_bike"], "672": ["n03792972", "mountain_tent"], "673": ["n03793489", "mouse"], "674": ["n03794056", "mousetrap"], "675": ["n03796401", "moving_van"], "676": ["n03803284", "muzzle"], "677": ["n03804744", "nail"], "678": ["n03814639", "neck_brace"], "679": ["n03814906", "necklace"], "680": ["n03825788", "nipple"], "681": ["n03832673", "notebook"], "682": ["n03837869", "obelisk"], "683": ["n03838899", "oboe"], "684": ["n03840681", "ocarina"], "685": ["n03841143", "odometer"], "686": ["n03843555", "oil_filter"], "687": ["n03854065", "organ"], "688": ["n03857828", "oscilloscope"], "689": ["n03866082", "overskirt"], "690": ["n03868242", "oxcart"], "691": ["n03868863", "oxygen_mask"], "692": ["n03871628", "packet"], "693": ["n03873416", "paddle"], "694": ["n03874293", "paddlewheel"], "695": ["n03874599", "padlock"], "696": ["n03876231", "paintbrush"], "697": ["n03877472", "pajama"], "698": ["n03877845", "palace"], "699": ["n03884397", "panpipe"], "700": ["n03887697", "paper_towel"], "701": ["n03888257", "parachute"], "702": ["n03888605", "parallel_bars"], "703": ["n03891251", "park_bench"], "704": ["n03891332", "parking_meter"], "705": ["n03895866", "passenger_car"], "706": ["n03899768", "patio"], "707": ["n03902125", "pay-phone"], "708": ["n03903868", "pedestal"], "709": ["n03908618", "pencil_box"], "710": ["n03908714", "pencil_sharpener"], "711": ["n03916031", "perfume"], "712": ["n03920288", "Petri_dish"], "713": ["n03924679", "photocopier"], "714": ["n03929660", "pick"], "715": ["n03929855", "pickelhaube"], "716": ["n03930313", "picket_fence"], "717": ["n03930630", "pickup"], "718": ["n03933933", "pier"], "719": ["n03935335", "piggy_bank"], "720": ["n03937543", "pill_bottle"], "721": ["n03938244", "pillow"], "722": ["n03942813", "ping-pong_ball"], "723": ["n03944341", "pinwheel"], "724": ["n03947888", "pirate"], "725": ["n03950228", "pitcher"], "726": ["n03954731", "plane"], "727": ["n03956157", "planetarium"], "728": ["n03958227", "plastic_bag"], "729": ["n03961711", "plate_rack"], "730": ["n03967562", "plow"], "731": ["n03970156", "plunger"], "732": ["n03976467", "Polaroid_camera"], "733": ["n03976657", "pole"], "734": ["n03977966", "police_van"], "735": ["n03980874", "poncho"], "736": ["n03982430", "pool_table"], "737": ["n03983396", "pop_bottle"], "738": ["n03991062", "pot"], "739": ["n03992509", "potter's_wheel"], "740": ["n03995372", "power_drill"], "741": ["n03998194", "prayer_rug"], "742": ["n04004767", "printer"], "743": ["n04005630", "prison"], "744": ["n04008634", "projectile"], "745": ["n04009552", "projector"], "746": ["n04019541", "puck"], "747": ["n04023962", "punching_bag"], "748": ["n04026417", "purse"], "749": ["n04033901", "quill"], "750": ["n04033995", "quilt"], "751": ["n04037443", "racer"], "752": ["n04039381", "racket"], "753": ["n04040759", "radiator"], "754": ["n04041544", "radio"], "755": ["n04044716", "radio_telescope"], "756": ["n04049303", "rain_barrel"], "757": ["n04065272", "recreational_vehicle"], "758": ["n04067472", "reel"], "759": ["n04069434", "reflex_camera"], "760": ["n04070727", "refrigerator"], "761": ["n04074963", "remote_control"], "762": ["n04081281", "restaurant"], "763": ["n04086273", "revolver"], "764": ["n04090263", "rifle"], "765": ["n04099969", "rocking_chair"], "766": ["n04111531", "rotisserie"], "767": ["n04116512", "rubber_eraser"], "768": ["n04118538", "rugby_ball"], "769": ["n04118776", "rule"], "770": ["n04120489", "running_shoe"], "771": ["n04125021", "safe"], "772": ["n04127249", "safety_pin"], "773": ["n04131690", "saltshaker"], "774": ["n04133789", "sandal"], "775": ["n04136333", "sarong"], "776": ["n04141076", "sax"], "777": ["n04141327", "scabbard"], "778": ["n04141975", "scale"], "779": ["n04146614", "school_bus"], "780": ["n04147183", "schooner"], "781": ["n04149813", "scoreboard"], "782": ["n04152593", "screen"], "783": ["n04153751", "screw"], "784": ["n04154565", "screwdriver"], "785": ["n04162706", "seat_belt"], "786": ["n04179913", "sewing_machine"], "787": ["n04192698", "shield"], "788": ["n04200800", "shoe_shop"], "789": ["n04201297", "shoji"], "790": ["n04204238", "shopping_basket"], "791": ["n04204347", "shopping_cart"], "792": ["n04208210", "shovel"], "793": ["n04209133", "shower_cap"], "794": ["n04209239", "shower_curtain"], "795": ["n04228054", "ski"], "796": ["n04229816", "ski_mask"], "797": ["n04235860", "sleeping_bag"], "798": ["n04238763", "slide_rule"], "799": ["n04239074", "sliding_door"], "800": ["n04243546", "slot"], "801": ["n04251144", "snorkel"], "802": ["n04252077", "snowmobile"], "803": ["n04252225", "snowplow"], "804": ["n04254120", "soap_dispenser"], "805": ["n04254680", "soccer_ball"], "806": ["n04254777", "sock"], "807": ["n04258138", "solar_dish"], "808": ["n04259630", "sombrero"], "809": ["n04263257", "soup_bowl"], "810": ["n04264628", "space_bar"], "811": ["n04265275", "space_heater"], "812": ["n04266014", "space_shuttle"], "813": ["n04270147", "spatula"], "814": ["n04273569", "speedboat"], "815": ["n04275548", "spider_web"], "816": ["n04277352", "spindle"], "817": ["n04285008", "sports_car"], "818": ["n04286575", "spotlight"], "819": ["n04296562", "stage"], "820": ["n04310018", "steam_locomotive"], "821": ["n04311004", "steel_arch_bridge"], "822": ["n04311174", "steel_drum"], "823": ["n04317175", "stethoscope"], "824": ["n04325704", "stole"], "825": ["n04326547", "stone_wall"], "826": ["n04328186", "stopwatch"], "827": ["n04330267", "stove"], "828": ["n04332243", "strainer"], "829": ["n04335435", "streetcar"], "830": ["n04336792", "stretcher"], "831": ["n04344873", "studio_couch"], "832": ["n04346328", "stupa"], "833": ["n04347754", "submarine"], "834": ["n04350905", "suit"], "835": ["n04355338", "sundial"], "836": ["n04355933", "sunglass"], "837": ["n04356056", "sunglasses"], "838": ["n04357314", "sunscreen"], "839": ["n04366367", "suspension_bridge"], "840": ["n04367480", "swab"], "841": ["n04370456", "sweatshirt"], "842": ["n04371430", "swimming_trunks"], "843": ["n04371774", "swing"], "844": ["n04372370", "switch"], "845": ["n04376876", "syringe"], "846": ["n04380533", "table_lamp"], "847": ["n04389033", "tank"], "848": ["n04392985", "tape_player"], "849": ["n04398044", "teapot"], "850": ["n04399382", "teddy"], "851": ["n04404412", "television"], "852": ["n04409515", "tennis_ball"], "853": ["n04417672", "thatch"], "854": ["n04418357", "theater_curtain"], "855": ["n04423845", "thimble"], "856": ["n04428191", "thresher"], "857": ["n04429376", "throne"], "858": ["n04435653", "tile_roof"], "859": ["n04442312", "toaster"], "860": ["n04443257", "tobacco_shop"], "861": ["n04447861", "toilet_seat"], "862": ["n04456115", "torch"], "863": ["n04458633", "totem_pole"], "864": ["n04461696", "tow_truck"], "865": ["n04462240", "toyshop"], "866": ["n04465501", "tractor"], "867": ["n04467665", "trailer_truck"], "868": ["n04476259", "tray"], "869": ["n04479046", "trench_coat"], "870": ["n04482393", "tricycle"], "871": ["n04483307", "trimaran"], "872": ["n04485082", "tripod"], "873": ["n04486054", "triumphal_arch"], "874": ["n04487081", "trolleybus"], "875": ["n04487394", "trombone"], "876": ["n04493381", "tub"], "877": ["n04501370", "turnstile"], "878": ["n04505470", "typewriter_keyboard"], "879": ["n04507155", "umbrella"], "880": ["n04509417", "unicycle"], "881": ["n04515003", "upright"], "882": ["n04517823", "vacuum"], "883": ["n04522168", "vase"], "884": ["n04523525", "vault"], "885": ["n04525038", "velvet"], "886": ["n04525305", "vending_machine"], "887": ["n04532106", "vestment"], "888": ["n04532670", "viaduct"], "889": ["n04536866", "violin"], "890": ["n04540053", "volleyball"], "891": ["n04542943", "waffle_iron"], "892": ["n04548280", "wall_clock"], "893": ["n04548362", "wallet"], "894": ["n04550184", "wardrobe"], "895": ["n04552348", "warplane"], "896": ["n04553703", "washbasin"], "897": ["n04554684", "washer"], "898": ["n04557648", "water_bottle"], "899": ["n04560804", "water_jug"], "900": ["n04562935", "water_tower"], "901": ["n04579145", "whiskey_jug"], "902": ["n04579432", "whistle"], "903": ["n04584207", "wig"], "904": ["n04589890", "window_screen"], "905": ["n04590129", "window_shade"], "906": ["n04591157", "Windsor_tie"], "907": ["n04591713", "wine_bottle"], "908": ["n04592741", "wing"], "909": ["n04596742", "wok"], "910": ["n04597913", "wooden_spoon"], "911": ["n04599235", "wool"], "912": ["n04604644", "worm_fence"], "913": ["n04606251", "wreck"], "914": ["n04612504", "yawl"], "915": ["n04613696", "yurt"], "916": ["n06359193", "web_site"], "917": ["n06596364", "comic_book"], "918": ["n06785654", "crossword_puzzle"], "919": ["n06794110", "street_sign"], "920": ["n06874185", "traffic_light"], "921": ["n07248320", "book_jacket"], "922": ["n07565083", "menu"], "923": ["n07579787", "plate"], "924": ["n07583066", "guacamole"], "925": ["n07584110", "consomme"], "926": ["n07590611", "hot_pot"], "927": ["n07613480", "trifle"], "928": ["n07614500", "ice_cream"], "929": ["n07615774", "ice_lolly"], "930": ["n07684084", "French_loaf"], "931": ["n07693725", "bagel"], "932": ["n07695742", "pretzel"], "933": ["n07697313", "cheeseburger"], "934": ["n07697537", "hotdog"], "935": ["n07711569", "mashed_potato"], "936": ["n07714571", "head_cabbage"], "937": ["n07714990", "broccoli"], "938": ["n07715103", "cauliflower"], "939": ["n07716358", "zucchini"], "940": ["n07716906", "spaghetti_squash"], "941": ["n07717410", "acorn_squash"], "942": ["n07717556", "butternut_squash"], "943": ["n07718472", "cucumber"], "944": ["n07718747", "artichoke"], "945": ["n07720875", "bell_pepper"], "946": ["n07730033", "cardoon"], "947": ["n07734744", "mushroom"], "948": ["n07742313", "Granny_Smith"], "949": ["n07745940", "strawberry"], "950": ["n07747607", "orange"], "951": ["n07749582", "lemon"], "952": ["n07753113", "fig"], "953": ["n07753275", "pineapple"], "954": ["n07753592", "banana"], "955": ["n07754684", "jackfruit"], "956": ["n07760859", "custard_apple"], "957": ["n07768694", "pomegranate"], "958": ["n07802026", "hay"], "959": ["n07831146", "carbonara"], "960": ["n07836838", "chocolate_sauce"], "961": ["n07860988", "dough"], "962": ["n07871810", "meat_loaf"], "963": ["n07873807", "pizza"], "964": ["n07875152", "potpie"], "965": ["n07880968", "burrito"], "966": ["n07892512", "red_wine"], "967": ["n07920052", "espresso"], "968": ["n07930864", "cup"], "969": ["n07932039", "eggnog"], "970": ["n09193705", "alp"], "971": ["n09229709", "bubble"], "972": ["n09246464", "cliff"], "973": ["n09256479", "coral_reef"], "974": ["n09288635", "geyser"], "975": ["n09332890", "lakeside"], "976": ["n09399592", "promontory"], "977": ["n09421951", "sandbar"], "978": ["n09428293", "seashore"], "979": ["n09468604", "valley"], "980": ["n09472597", "volcano"], "981": ["n09835506", "ballplayer"], "982": ["n10148035", "groom"], "983": ["n10565667", "scuba_diver"], "984": ["n11879895", "rapeseed"], "985": ["n11939491", "daisy"], "986": ["n12057211", "yellow_lady's_slipper"], "987": ["n12144580", "corn"], "988": ["n12267677", "acorn"], "989": ["n12620546", "hip"], "990": ["n12768682", "buckeye"], "991": ["n12985857", "coral_fungus"], "992": ["n12998815", "agaric"], "993": ["n13037406", "gyromitra"], "994": ["n13040303", "stinkhorn"], "995": ["n13044778", "earthstar"], "996": ["n13052670", "hen-of-the-woods"], "997": ["n13054560", "bolete"], "998": ["n13133613", "ear"], "999": ["n15075141", "toilet_tissue"]} \ No newline at end of file diff --git a/ts/torch_handler/unit_tests/conftest.py b/ts/torch_handler/unit_tests/conftest.py new file mode 100644 index 0000000000..a706adc53a --- /dev/null +++ b/ts/torch_handler/unit_tests/conftest.py @@ -0,0 +1,34 @@ +import shutil +import sys +from pathlib import Path + +import pytest + +from .models.base_model import save_pt_file +from .test_utils.mock_context import MockContext + + +@pytest.fixture() +def base_model_dir(tmp_path_factory): + model_dir = tmp_path_factory.mktemp("base_model_dir") + + shutil.copyfile( + Path(__file__).parents[0] / "models" / "base_model.py", model_dir / "model.py" + ) + + save_pt_file(model_dir.joinpath("model.pt").as_posix()) + + sys.path.append(model_dir.as_posix()) + yield model_dir + sys.path.pop() + + +@pytest.fixture() +def base_model_context(base_model_dir): + + context = MockContext( + model_name="mnist", + model_dir=base_model_dir.as_posix(), + model_file="model.py", + ) + yield context diff --git a/ts/torch_handler/unit_tests/models/base_model.py b/ts/torch_handler/unit_tests/models/base_model.py index 95c9d67a2f..80da5a7570 100644 --- a/ts/torch_handler/unit_tests/models/base_model.py +++ b/ts/torch_handler/unit_tests/models/base_model.py @@ -6,10 +6,16 @@ import torch + class ArgmaxModel(torch.nn.Module): def forward(self, *input): return torch.argmax(input[0], 1) -if __name__ == '__main__': + +def save_pt_file(filepath="base_model.pt"): model = ArgmaxModel() - torch.save(model.state_dict(), 'base_model.pt') + torch.save(model.state_dict(), filepath) + + +if __name__ == "__main__": + save_pt_file() diff --git a/ts/torch_handler/unit_tests/run_unit_tests.sh b/ts/torch_handler/unit_tests/run_unit_tests.sh deleted file mode 100755 index e2d339dca7..0000000000 --- a/ts/torch_handler/unit_tests/run_unit_tests.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash - -TEST_DIR=./ts/torch_handler/unit_tests -case $PWD/ in - *ts/torch_handler/unit_tests/) echo "Running tests";; - *) echo "Error! Must start in unit_tests directory"; exit 1;; -esac - -cd ../../../ - -test_image_classifier () { - mkdir -p $TEST_DIR/models/tmp - wget -nc -q -O \ - $TEST_DIR/models/tmp/model.pt \ - https://download.pytorch.org/models/resnet152-b121ed2d.pth - - cp -r examples/image_classifier/resnet_152_batch/* $TEST_DIR/models/tmp - python -m pytest $TEST_DIR/test_image_classifier.py - rm -rf $TEST_DIR/models/tmp -} - -test_mnist_classifier () { - mkdir -p $TEST_DIR/models/tmp - - cp -r examples/image_classifier/mnist/* $TEST_DIR/models/tmp - python -m pytest $TEST_DIR/test_mnist_kf.py - rm -rf $TEST_DIR/models/tmp -} - - - -test_image_segmenter () { - mkdir -p $TEST_DIR/models/tmp - wget -nc -q -O \ - $TEST_DIR/models/tmp/model.pt \ - https://download.pytorch.org/models/fcn_resnet101_coco-7ecb50ca.pth - cp -r examples/image_segmenter/fcn/* $TEST_DIR/models/tmp - python -m pytest $TEST_DIR/test_image_segmenter.py - rm -rf $TEST_DIR/models/tmp -} - -test_base_handler () { - mkdir -p $TEST_DIR/models/tmp - python $TEST_DIR/models/base_model.py - mv base_model.pt $TEST_DIR/models/tmp/model.pt - cp $TEST_DIR/models/base_model.py $TEST_DIR/models/tmp/model.py - python -m pytest $TEST_DIR/test_base_handler.py - python -m pytest $TEST_DIR/test_envelopes.py - rm -rf $TEST_DIR/models/tmp -} - -test_envelope () { - mkdir -p $TEST_DIR/models/tmp - python $TEST_DIR/models/base_model.py - mv base_model.pt $TEST_DIR/models/tmp/model.pt - cp $TEST_DIR/models/base_model.py $TEST_DIR/models/tmp/model.py - python -m pytest $TEST_DIR/test_envelopes.py - rm -rf $TEST_DIR/models/tmp -} - -test_object_detector () { - mkdir -p $TEST_DIR/models/tmp - wget -nc -q -O \ - $TEST_DIR/models/tmp/model.pt \ - https://download.pytorch.org/models/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth - cp -r examples/object_detector/fast-rcnn/* $TEST_DIR/models/tmp - python -m pytest $TEST_DIR/test_object_detector.py - rm -rf $TEST_DIR/models/tmp -} - -test_base_handler -test_envelope -test_image_classifier -test_image_segmenter -test_object_detector -test_mnist_classifier diff --git a/ts/torch_handler/unit_tests/test_base_handler.py b/ts/torch_handler/unit_tests/test_base_handler.py index 08dc222831..913864a229 100644 --- a/ts/torch_handler/unit_tests/test_base_handler.py +++ b/ts/torch_handler/unit_tests/test_base_handler.py @@ -5,34 +5,28 @@ Ensures it can load and execute an example model """ -import sys import pytest + from ts.torch_handler.base_handler import BaseHandler -from .test_utils.mock_context import MockContext -sys.path.append('ts/torch_handler/unit_tests/models/tmp') @pytest.fixture() -def model_context(): - return MockContext() - -def test_initialize(model_context): +def handler(base_model_context): handler = BaseHandler() - handler.initialize(model_context) + handler.initialize(base_model_context) - assert(True) return handler -def test_single_handle(model_context): - handler = test_initialize(model_context) + +def test_single_handle(handler, base_model_context): list_data = [[1.0, 2.0]] - processed = handler.handle(list_data, model_context) + processed = handler.handle(list_data, base_model_context) + + assert processed == [1] - assert(processed == [1]) -def test_batch_handle(model_context): - handler = test_initialize(model_context) +def test_batch_handle(handler, base_model_context): list_data = [[1.0, 2.0], [4.0, 3.0]] - processed = handler.handle(list_data, model_context) + processed = handler.handle(list_data, base_model_context) - assert(processed == [1, 0]) + assert processed == [1, 0] diff --git a/ts/torch_handler/unit_tests/test_envelopes.py b/ts/torch_handler/unit_tests/test_envelopes.py index 6094480dff..ca870f398f 100644 --- a/ts/torch_handler/unit_tests/test_envelopes.py +++ b/ts/torch_handler/unit_tests/test_envelopes.py @@ -5,79 +5,68 @@ Ensures it can load and execute an example model """ -import sys import pytest + from ts.torch_handler.base_handler import BaseHandler from ts.torch_handler.request_envelope.body import BodyEnvelope from ts.torch_handler.request_envelope.json import JSONEnvelope -from .test_utils.mock_context import MockContext - -sys.path.append('ts/torch_handler/unit_tests/models/tmp') -@pytest.fixture() -def model_context(): - return MockContext() @pytest.fixture() -def handle_fn(): - ctx = MockContext() +def handle_fn(base_model_context): handler = BaseHandler() - handler.initialize(ctx) + handler.initialize(base_model_context) return handler.handle -def test_json(handle_fn, model_context): - test_data = [{'body':{ - 'instances': [[1.0, 2.0]] - }}] + +def test_json(handle_fn, base_model_context): + test_data = [{"body": {"instances": [[1.0, 2.0]]}}] expected_result = ['{"predictions": [1]}'] envelope = JSONEnvelope(handle_fn) - results = envelope.handle(test_data, model_context) - assert(results == expected_result) + results = envelope.handle(test_data, base_model_context) + assert results == expected_result + -def test_json_batch(handle_fn, model_context): - test_data = [{'body':{ - 'instances': [[1.0, 2.0], [4.0, 3.0]] - }}] +def test_json_batch(handle_fn, base_model_context): + test_data = [{"body": {"instances": [[1.0, 2.0], [4.0, 3.0]]}}] expected_result = ['{"predictions": [1, 0]}'] envelope = JSONEnvelope(handle_fn) - results = envelope.handle(test_data, model_context) - assert(results == expected_result) + results = envelope.handle(test_data, base_model_context) + assert results == expected_result -def test_json_double_batch(handle_fn, model_context): + +def test_json_double_batch(handle_fn, base_model_context): """ More complex test case. Makes sure the model can mux several batches and return the demuxed results """ test_data = [ - {'body':{'instances': [[1.0, 2.0]]}}, - {'body':{'instances': [[4.0, 3.0], [5.0, 6.0]]}} - + {"body": {"instances": [[1.0, 2.0]]}}, + {"body": {"instances": [[4.0, 3.0], [5.0, 6.0]]}}, ] expected_result = ['{"predictions": [1]}', '{"predictions": [0, 1]}'] envelope = JSONEnvelope(handle_fn) - results = envelope.handle(test_data, model_context) + results = envelope.handle(test_data, base_model_context) print(results) - assert(results == expected_result) + assert results == expected_result -def test_body(handle_fn, model_context): - test_data = [{ - 'body':[1.0, 2.0] - }] + +def test_body(handle_fn, base_model_context): + test_data = [{"body": [1.0, 2.0]}] expected_result = [1] envelope = BodyEnvelope(handle_fn) - results = envelope.handle(test_data, model_context) - assert(results == expected_result) + results = envelope.handle(test_data, base_model_context) + assert results == expected_result + -def test_binary(model_context): - test_data = [{ - 'instances': [{'b64': 'YQ=='}] - }] +def test_binary(base_model_context): + test_data = [{"instances": [{"b64": "YQ=="}]}] - envelope = JSONEnvelope(lambda x, y: [row.decode('utf-8') for row in x]) - results = envelope.handle(test_data, model_context) - assert(results == ['{"predictions": ["a"]}']) + envelope = JSONEnvelope(lambda x, y: [row.decode("utf-8") for row in x]) + results = envelope.handle(test_data, base_model_context) + assert results == ['{"predictions": ["a"]}'] diff --git a/ts/torch_handler/unit_tests/test_image_classifier.py b/ts/torch_handler/unit_tests/test_image_classifier.py index b03a73872f..73d1fe9784 100644 --- a/ts/torch_handler/unit_tests/test_image_classifier.py +++ b/ts/torch_handler/unit_tests/test_image_classifier.py @@ -4,42 +4,87 @@ Basic unit test for ImageClassifier class. Ensures it can load and execute an example model """ - import sys +from pathlib import Path + import pytest +from torchvision.models.resnet import ResNet18_Weights + from ts.torch_handler.image_classifier import ImageClassifier + from .test_utils.mock_context import MockContext +from .test_utils.model_dir import copy_files, download_model + +REPO_DIR = Path(__file__).parents[3] -sys.path.append('ts/torch_handler/unit_tests/models/tmp') -@pytest.fixture() -def model_setup(): - context = MockContext(model_name="mnist") - with open('ts/torch_handler/unit_tests/models/tmp/images/kitten.jpg', 'rb') as fin: +@pytest.fixture(scope="module") +def image_bytes(): + with open( + REPO_DIR.joinpath( + "examples/image_classifier/resnet_152_batch/images/kitten.jpg" + ).as_posix(), + "rb", + ) as fin: image_bytes = fin.read() - return (context, image_bytes) + yield image_bytes -def test_initialize(model_setup): - model_context, _ = model_setup - handler = ImageClassifier() - handler.initialize(model_context) - assert(True) +@pytest.fixture(scope="module") +def model_name(): + return "image_classifier" + + +@pytest.fixture(scope="module") +def model_dir(tmp_path_factory, model_name): + model_dir = tmp_path_factory.mktemp("image_classifier_model_dir") + + src_dir = REPO_DIR.joinpath("examples/image_classifier/resnet_18/") + + model_url = ResNet18_Weights.DEFAULT.url + + download_model(model_url, model_dir) + + files = { + "model.py": model_name + ".py", + "index_to_name.json": "index_to_name.json", + } + + copy_files(src_dir, model_dir, files) + + sys.path.append(model_dir.as_posix()) + yield model_dir + sys.path.pop() + + +@pytest.fixture(scope="module") +def context(model_dir, model_name): + + context = MockContext( + model_name="mnist", + model_dir=model_dir.as_posix(), + model_file=model_name + ".py", + ) + yield context + + +@pytest.fixture(scope="module") +def handler(context): + handler = ImageClassifier() + handler.initialize(context) return handler -def test_handle(model_setup): - context, image_bytes = model_setup - handler = test_initialize(model_setup) - test_data = [{'data': image_bytes}] * 2 + +def test_handle(context, image_bytes, handler): + test_data = [{"data": image_bytes}] * 2 results = handler.handle(test_data, context) - assert(len(results) == 2) - assert('tiger_cat' in results[0]) + assert len(results) == 2 + assert "tiger_cat" in results[0] + -def test_handle_explain(model_setup): - context, image_bytes = model_setup +def test_handle_explain(context, image_bytes, handler): context.explain = True - handler = test_initialize(model_setup) - test_data = [{'data': image_bytes, 'target': 0}] * 2 + test_data = [{"data": image_bytes, "target": 0}] * 2 results = handler.handle(test_data, context) - assert(len(results) == 2) - assert(results[0]) + assert len(results) == 2 + assert results[0] diff --git a/ts/torch_handler/unit_tests/test_image_segmenter.py b/ts/torch_handler/unit_tests/test_image_segmenter.py index 3d894fdac6..0a4923a208 100644 --- a/ts/torch_handler/unit_tests/test_image_segmenter.py +++ b/ts/torch_handler/unit_tests/test_image_segmenter.py @@ -6,31 +6,75 @@ """ import sys +from pathlib import Path + import pytest + from ts.torch_handler.image_segmenter import ImageSegmenter + from .test_utils.mock_context import MockContext +from .test_utils.model_dir import copy_files, download_model + +REPO_DIR = Path(__file__).parents[3] -sys.path.append('ts/torch_handler/unit_tests/models/tmp') @pytest.fixture() -def model_setup(): - context = MockContext(model_name="image_segmenter") - with open('ts/torch_handler/unit_tests/models/tmp/persons.jpg', 'rb') as fin: +def image_bytes(): + with open(REPO_DIR.joinpath("examples/image_segmenter/persons.jpg"), "rb") as fin: image_bytes = fin.read() - return (context, image_bytes) + return image_bytes + + +@pytest.fixture() +def model_name(): + return "image_segmenter" + + +@pytest.fixture() +def model_dir(tmp_path_factory, model_name): + model_dir = tmp_path_factory.mktemp("image_segmenter_model_dir") + + src_dir = REPO_DIR.joinpath("examples/image_segmenter/fcn/") + + model_url = "https://download.pytorch.org/models/fcn_resnet101_coco-7ecb50ca.pth" -def test_initialize(model_setup): - model_context, _ = model_setup + download_model(model_url, model_dir) + + files = { + "model.py": model_name + ".py", + "intermediate_layer_getter.py": "intermediate_layer_getter.py", + "fcn.py": "fcn.py", + } + + copy_files(src_dir, model_dir, files) + + sys.path.append(model_dir.as_posix()) + yield model_dir + sys.path.pop() + + +@pytest.fixture() +def context(model_dir, model_name): + + context = MockContext( + model_name="mnist", + model_dir=model_dir.as_posix(), + model_file=model_name + ".py", + ) + yield context + + +@pytest.fixture() +def handler(context): handler = ImageSegmenter() - handler.initialize(model_context) + handler.initialize(context) - assert(True) return handler -def test_handle(model_setup): - context, image_bytes = model_setup - handler = test_initialize(model_setup) - test_data = [{'data': image_bytes}] * 2 + +def test_handle(handler, context, image_bytes): + test_data = [{"data": image_bytes}] * 2 results = handler.handle(test_data, context) - assert(len(results) == 2) - assert(len(results[0]) == 224) + + assert len(results) == 2 + assert len(results[0]) == 224 diff --git a/ts/torch_handler/unit_tests/test_mnist_kf.py b/ts/torch_handler/unit_tests/test_mnist_kf.py index 01096bfa39..717a18ce45 100644 --- a/ts/torch_handler/unit_tests/test_mnist_kf.py +++ b/ts/torch_handler/unit_tests/test_mnist_kf.py @@ -6,23 +6,22 @@ """ import io -import os +import shutil import sys +from pathlib import Path import pytest import torchvision.transforms as transforms from PIL import Image -from ts.torch_handler.request_envelope import kserve, kservev2 - -sys.path.append(os.path.join(os.path.dirname(__file__), "../../../../", "examples")) from examples.image_classifier.mnist.mnist_handler import ( MNISTDigitClassifier as MNISTClassifier, ) +from ts.torch_handler.request_envelope import kserve, kservev2 from .test_utils.mock_context import MockContext -sys.path.append("ts/torch_handler/unit_tests/models/tmp") +REPO_DIR = Path(__file__).parents[3] image_processing = transforms.Compose( @@ -30,66 +29,81 @@ ) -@pytest.fixture() -def model_setup(): - context = MockContext(model_pt_file="mnist_cnn.pt", model_file="mnist.py") - with open("ts/torch_handler/unit_tests/models/tmp/test_data/0.png", "rb") as fin: +@pytest.fixture(scope="module") +def image_bytes(): + + with open( + REPO_DIR.joinpath("examples/image_classifier/mnist/test_data/0.png"), "rb" + ) as fin: image_bytes = fin.read() - return (context, image_bytes) + return image_bytes + + +@pytest.fixture(scope="module") +def context(tmp_path_factory): + model_dir = tmp_path_factory.mktemp("model_dir") + + shutil.copytree( + REPO_DIR.joinpath("examples/image_classifier/mnist/"), + model_dir, + dirs_exist_ok=True, + ) + context = MockContext( + model_name="mnist", + model_dir=model_dir.as_posix(), + model_file="mnist.py", + model_pt_file="mnist_cnn.pt", + ) -def test_initialize(model_setup): - model_context, _ = model_setup + sys.path.append(model_dir.as_posix()) + yield context + sys.path.pop() + + +@pytest.fixture(scope="module") +def handler(context): handler = MNISTClassifier() - handler.initialize(model_context) - assert True + handler.initialize(context) return handler -def test_handle(model_setup): - context, bytes_array = model_setup - handler = test_initialize(model_setup) - test_data = [{"data": bytes_array}] - # testing for predict API - results = handler.handle(test_data, context) - assert results[0] in range(0, 9) +@pytest.fixture() +def envelope_kf(context): + handler = MNISTClassifier() + handler.initialize(context) + envelope = kserve.KServeEnvelope(handler.handle) + return envelope -def test_initialize_kf(model_setup): - model_context, _ = model_setup +@pytest.fixture() +def envelope_kfv2(context): handler = MNISTClassifier() - handler.initialize(model_context) - envelope = kserve.KServeEnvelope(handler.handle) - assert True + handler.initialize(context) + envelope = kservev2.KServev2Envelope(handler.handle) return envelope -def test_handle_kf(model_setup): - context, bytes_array = model_setup - image = Image.open(io.BytesIO(bytes_array)) +def test_handle(handler, context, image_bytes): + test_data = [{"data": image_bytes}] + # testing for predict API + results = handler.handle(test_data, context) + assert results[0] in range(0, 9) + + +def test_handle_kf(envelope_kf, context, image_bytes): + image = Image.open(io.BytesIO(image_bytes)) image_list = image_processing(image).tolist() - envelope = test_initialize_kf(model_setup) test_data = {"body": {"instances": [{"data": image_list}]}} # testing for predict API - results = envelope.handle([test_data], context) + results = envelope_kf.handle([test_data], context) assert results[0]["predictions"][0] in range(0, 9) -def test_initialize_kfv2(model_setup): - model_context, _ = model_setup - handler = MNISTClassifier() - handler.initialize(model_context) - envelope = kservev2.KServev2Envelope(handler.handle) - assert True - return envelope - - -def test_handle_kfv2(model_setup): - context, bytes_array = model_setup - image = Image.open(io.BytesIO(bytes_array)) +def test_handle_kfv2(envelope_kfv2, context, image_bytes): + image = Image.open(io.BytesIO(image_bytes)) image_list = image_processing(image).tolist() - envelope = test_initialize_kfv2(model_setup) test_data = { "body": { "id": "test-id", @@ -105,6 +119,6 @@ def test_handle_kfv2(model_setup): } # testing for v2predict API - results = envelope.handle([test_data], context) + results = envelope_kfv2.handle([test_data], context) print(results) assert results[0]["outputs"][0]["data"][0] in range(0, 9) diff --git a/ts/torch_handler/unit_tests/test_object_detector.py b/ts/torch_handler/unit_tests/test_object_detector.py index 2b7bf8d47d..290643f5ab 100644 --- a/ts/torch_handler/unit_tests/test_object_detector.py +++ b/ts/torch_handler/unit_tests/test_object_detector.py @@ -6,31 +6,75 @@ """ import sys +from pathlib import Path + import pytest + from ts.torch_handler.object_detector import ObjectDetector + from .test_utils.mock_context import MockContext +from .test_utils.model_dir import copy_files, download_model -sys.path.append('ts/torch_handler/unit_tests/models/tmp') +REPO_DIR = Path(__file__).parents[3] -@pytest.fixture() -def model_setup(): - context = MockContext(model_name="object_detector") - with open('ts/torch_handler/unit_tests/models/tmp/persons.jpg', 'rb') as fin: + +@pytest.fixture(scope="module") +def image_bytes(): + with open(REPO_DIR.joinpath("examples/image_segmenter/persons.jpg"), "rb") as fin: image_bytes = fin.read() - return (context, image_bytes) + return image_bytes + + +@pytest.fixture(scope="module") +def model_name(): + return "object_detector" + + +@pytest.fixture(scope="module") +def model_dir(tmp_path_factory, model_name): + model_dir = tmp_path_factory.mktemp("model_dir") + + src_dir = REPO_DIR.joinpath("examples/object_detector/fast-rcnn/") + + model_url = ( + "https://download.pytorch.org/models/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth" + ) -def test_initialize(model_setup): - model_context, _ = model_setup + download_model(model_url, model_dir) + + files = { + "model.py": model_name + ".py", + "index_to_name.json": "index_to_name.json", + } + + copy_files(src_dir, model_dir, files) + + sys.path.append(model_dir.as_posix()) + yield model_dir + sys.path.pop() + + +@pytest.fixture(scope="module") +def context(model_dir, model_name): + + context = MockContext( + model_name="mnist", + model_dir=model_dir.as_posix(), + model_file=model_name + ".py", + ) + yield context + + +@pytest.fixture(scope="module") +def handler(context): handler = ObjectDetector() - handler.initialize(model_context) + handler.initialize(context) - assert(True) return handler -def test_handle(model_setup): - context, image_bytes = model_setup - handler = test_initialize(model_setup) - test_data = [{'data': image_bytes}] * 2 + +def test_handle(handler, context, image_bytes): + test_data = [{"data": image_bytes}] * 2 results = handler.handle(test_data, context) - assert(len(results) == 2) - assert(any('bench' in d for d in results[0])) + assert len(results) == 2 + assert any("bench" in d for d in results[0]) diff --git a/ts/torch_handler/unit_tests/test_utils/model_dir.py b/ts/torch_handler/unit_tests/test_utils/model_dir.py new file mode 100644 index 0000000000..aa4db321e8 --- /dev/null +++ b/ts/torch_handler/unit_tests/test_utils/model_dir.py @@ -0,0 +1,30 @@ +import shutil +from pathlib import Path +from typing import Dict +from urllib import request +from urllib.parse import urlparse + +REPO_DIR = Path(__file__).parents[4] + + +def download_model(model_url: str, model_dir: Path) -> None: + cache_dir = REPO_DIR / ".cache" + + if not cache_dir.exists(): + cache_dir.mkdir() + + parts = urlparse(model_url) + + filename = Path(parts.path).name + + if not cache_dir.joinpath(filename).exists(): + with request.urlopen(model_url) as fin: + with open(cache_dir / filename, "wb") as fout: + fout.write(fin.read()) + + shutil.copy(cache_dir / filename, model_dir / "model.pt") + + +def copy_files(src_dir: Path, dst_dir: Path, files: Dict) -> None: + for src_file, dst_file in files.items(): + shutil.copyfile(src_dir / src_file, dst_dir / dst_file) diff --git a/ts_scripts/backend_utils.py b/ts_scripts/backend_utils.py index 756b4ec5fb..e5d0ea6c22 100755 --- a/ts_scripts/backend_utils.py +++ b/ts_scripts/backend_utils.py @@ -10,10 +10,11 @@ def test_torchserve(): # Execute python tests print("## Started torchserve pytests") test_dir = os.path.join("ts", "tests", "unit_tests") + handler_test_dir = os.path.join("ts", "torch_handler", "unit_tests") coverage_dir = os.path.join("ts") report_output_dir = os.path.join(test_dir, "coverage.xml") - ts_test_cmd = f"python -m pytest --cov-report xml:{report_output_dir} --cov={coverage_dir} {test_dir}" + ts_test_cmd = f"python -m pytest --cov-report xml:{report_output_dir} --cov={coverage_dir} {test_dir} {handler_test_dir}" print(f"## In directory: {os.getcwd()} | Executing command: {ts_test_cmd}") ts_test_error_code = os.system(ts_test_cmd) From 1768902768655b60e37d260481bcee239ae9b6af Mon Sep 17 00:00:00 2001 From: Jagadeesh J Date: Mon, 20 Mar 2023 22:42:58 +0530 Subject: [PATCH 018/172] Feat: Dali integration (#1958) * feat: nvida dali torchserve integration Signed-off-by: jagadeeshi2i * typos and naming changes in dali integration * fix: change env var to file check in vision handler Signed-off-by: jagadeesh * fix: dali imports Signed-off-by: jagadeesh * fix: set prefetch queue depth as constant Signed-off-by: jagadeesh * fix: vision handler Signed-off-by: jagadeesh * fix: readme doc Signed-off-by: jagadeesh * fix: spellcheck Signed-off-by: jagadeesh * fix: lint error Signed-off-by: jagadeesh * fix: serializer script Signed-off-by: jagadeesh * Added unit test for dali integration * fix: lint errors Signed-off-by: jagadeesh * fix typo Signed-off-by: jagadeesh * fix: move dali preprocessor to custom handler Signed-off-by: jagadeesh * fix: unit test Signed-off-by: jagadeesh --------- Signed-off-by: jagadeeshi2i Signed-off-by: jagadeesh Co-authored-by: Mark Saroufim --- examples/nvidia_dali/README.md | 88 ++++++++++++++++++ examples/nvidia_dali/custom_handler.py | 77 +++++++++++++++ examples/nvidia_dali/dali_config.json | 5 + examples/nvidia_dali/index_to_name.json | 1 + examples/nvidia_dali/model.py | 6 ++ examples/nvidia_dali/requirements.txt | 2 + .../nvidia_dali/serialize_dali_pipeline.py | 55 +++++++++++ test/pytest/test_dali_preprocess.py | 66 +++++++++++++ test/pytest/test_data/kitten.jpg | Bin 0 -> 110969 bytes ts/torch_handler/vision_handler.py | 9 +- ts_scripts/spellcheck_conf/wordlist.txt | 1 + 11 files changed, 307 insertions(+), 3 deletions(-) create mode 100644 examples/nvidia_dali/README.md create mode 100644 examples/nvidia_dali/custom_handler.py create mode 100644 examples/nvidia_dali/dali_config.json create mode 100644 examples/nvidia_dali/index_to_name.json create mode 100644 examples/nvidia_dali/model.py create mode 100644 examples/nvidia_dali/requirements.txt create mode 100644 examples/nvidia_dali/serialize_dali_pipeline.py create mode 100644 test/pytest/test_dali_preprocess.py create mode 100644 test/pytest/test_data/kitten.jpg diff --git a/examples/nvidia_dali/README.md b/examples/nvidia_dali/README.md new file mode 100644 index 0000000000..c660ff9e4c --- /dev/null +++ b/examples/nvidia_dali/README.md @@ -0,0 +1,88 @@ +# DALI Optimization integration with Torchserve models + +The NVIDIA Data Loading Library (DALI) is a library for data loading and pre-processing to accelerate deep learning applications. It provides a collection of highly optimized building blocks for loading and processing image, video and audio data. + +In this example, we use NVIDIA DALI for pre-processing image input for inference in resnet-18 model. + +Refer to [NVIDIA-DALI-Documentation](https://docs.nvidia.com/deeplearning/dali/user-guide/docs/index.html) for detailed information + +### Install dependencies + +Navigate to `serve/examples/nvidia_dali` directory and run the below command to install the dependencies + +```bash +pip install -r requirements.txt +``` + +### Define and Build DALI Pipeline + +In DALI, any data processing task has a central object called Pipeline. +Refer to [NVIDIA-DALI](https://github.com/NVIDIA/DALI) for more details on DALI pipeline. + +Navigate to `cd ./serve/examples/nvidia_dali`. + +Change the `dali_config.json` variables + +`batch_size` - Maximum batch size of pipeline. + +`num_threads` - Number of CPU threads used by the pipeline. + +`device_id` - ID of GPU device used by pipeline. + +Run the python file which serializes the Dali Pipeline and saves it to `model.dali` + +```bash +python serialize_dali_pipeline.py --config dali_config.json +``` + +**__Note__**: + +- Make sure that the serialized file has the extension `.dali` +- The Torchserve batch size should match the DALI batch size. + +### Download the resnet .pth file + +```bash +wget https://download.pytorch.org/models/resnet18-f37072fd.pth +``` + +### Create model-archive file + +The following command will create a .mar extension file where we also include the `model.dali` file and `dali_config.json` file in it. + +```bash +torch-model-archiver --model-name resnet-18 --version 1.0 --model-file ../image_classifier/resnet_18/model.py --serialized-file resnet18-f37072fd.pth --handler custom_handler.py --extra-files ../image_classifier/index_to_name.json,./model.dali,./dali_config.json +``` + +Navigate to `serve` directory and run the below commands + +Create a new directory `model_store` and move the model-archive file + +```bash +mkdir model_store +mv resnet-18.mar model_store/ +``` + +### Start the torchserve + +```bash +torchserve --start --model-store model_store --models resnet-18=resnet-18.mar +``` + +### Run Inference + +Get the inference for a sample image using the below command + +```bash +curl http://127.0.0.1:8080/predictions/resnet-18 -T ./examples/image_classifier/kitten.jpg +``` + +```json +{ + "tabby": 0.408751517534256, + "tiger_cat": 0.35404905676841736, + "Egyptian_cat": 0.12418942898511887, + "lynx": 0.025347290560603142, + "bucket": 0.011393273249268532 +} +``` diff --git a/examples/nvidia_dali/custom_handler.py b/examples/nvidia_dali/custom_handler.py new file mode 100644 index 0000000000..bf3337abb0 --- /dev/null +++ b/examples/nvidia_dali/custom_handler.py @@ -0,0 +1,77 @@ +# pylint: disable=W0223 +# Details : https://github.com/PyCQA/pylint/issues/3098 +""" +Base module for all vision handlers +""" +import json +import os + +import numpy as np +from nvidia.dali.pipeline import Pipeline +from nvidia.dali.plugin.pytorch import DALIGenericIterator, LastBatchPolicy + +from ts.torch_handler.image_classifier import ImageClassifier + + +class DALIHandler(ImageClassifier): + """ + Base class for all vision handlers + """ + + def __init__(self): + super(DALIHandler, self).__init__() + + def initialize(self, context): + super().initialize(context) + properties = context.system_properties + self.model_dir = properties.get("model_dir") + + self.dali_file = [ + file for file in os.listdir(self.model_dir) if file.endswith(".dali") + ] + if not len(self.dali_file): + raise RuntimeError("Missing dali pipeline file.") + self.PREFETCH_QUEUE_DEPTH = 2 + dali_config_file = os.path.join(self.model_dir, "dali_config.json") + if not os.path.isfile(dali_config_file): + raise RuntimeError("Missing dali_config.json file.") + with open(dali_config_file) as setup_config_file: + self.dali_configs = json.load(setup_config_file) + filename = os.path.join(self.model_dir, self.dali_file[0]) + self.pipe = Pipeline.deserialize(filename=filename) + # pylint: disable=protected-access + self.pipe._max_batch_size = self.dali_configs["batch_size"] + self.pipe._num_threads = self.dali_configs["num_threads"] + self.pipe._device_id = self.dali_configs["device_id"] + + def preprocess(self, data): + """The preprocess function of MNIST program converts the input data to a float tensor + + Args: + data (List): Input data from the request is in the form of a Tensor + + Returns: + list : The preprocess function returns the input image as a list of float tensors. + """ + batch_tensor = [] + + input_byte_arrays = [i["body"] if "body" in i else i["data"] for i in data] + for byte_array in input_byte_arrays: + np_image = np.frombuffer(byte_array, dtype=np.uint8) + batch_tensor.append(np_image) # we can use numpy + + for _ in range(self.PREFETCH_QUEUE_DEPTH): + self.pipe.feed_input("my_source", batch_tensor) + + datam = DALIGenericIterator( + [self.pipe], + ["data"], + last_batch_policy=LastBatchPolicy.PARTIAL, + last_batch_padded=True, + ) + result = [] + for _, data in enumerate(datam): + result.append(data[0]["data"]) + break + + return result[0].to(self.device) diff --git a/examples/nvidia_dali/dali_config.json b/examples/nvidia_dali/dali_config.json new file mode 100644 index 0000000000..63611f804f --- /dev/null +++ b/examples/nvidia_dali/dali_config.json @@ -0,0 +1,5 @@ +{ + "batch_size" : 5, + "num_threads" : 2, + "device_id" : 0 +} diff --git a/examples/nvidia_dali/index_to_name.json b/examples/nvidia_dali/index_to_name.json new file mode 100644 index 0000000000..5fe0dfefcd --- /dev/null +++ b/examples/nvidia_dali/index_to_name.json @@ -0,0 +1 @@ +{"0": ["n01440764", "tench"], "1": ["n01443537", "goldfish"], "2": ["n01484850", "great_white_shark"], "3": ["n01491361", "tiger_shark"], "4": ["n01494475", "hammerhead"], "5": ["n01496331", "electric_ray"], "6": ["n01498041", "stingray"], "7": ["n01514668", "cock"], "8": ["n01514859", "hen"], "9": ["n01518878", "ostrich"], "10": ["n01530575", "brambling"], "11": ["n01531178", "goldfinch"], "12": ["n01532829", "house_finch"], "13": ["n01534433", "junco"], "14": ["n01537544", "indigo_bunting"], "15": ["n01558993", "robin"], "16": ["n01560419", "bulbul"], "17": ["n01580077", "jay"], "18": ["n01582220", "magpie"], "19": ["n01592084", "chickadee"], "20": ["n01601694", "water_ouzel"], "21": ["n01608432", "kite"], "22": ["n01614925", "bald_eagle"], "23": ["n01616318", "vulture"], "24": ["n01622779", "great_grey_owl"], "25": ["n01629819", "European_fire_salamander"], "26": ["n01630670", "common_newt"], "27": ["n01631663", "eft"], "28": ["n01632458", "spotted_salamander"], "29": ["n01632777", "axolotl"], "30": ["n01641577", "bullfrog"], "31": ["n01644373", "tree_frog"], "32": ["n01644900", "tailed_frog"], "33": ["n01664065", "loggerhead"], "34": ["n01665541", "leatherback_turtle"], "35": ["n01667114", "mud_turtle"], "36": ["n01667778", "terrapin"], "37": ["n01669191", "box_turtle"], "38": ["n01675722", "banded_gecko"], "39": ["n01677366", "common_iguana"], "40": ["n01682714", "American_chameleon"], "41": ["n01685808", "whiptail"], "42": ["n01687978", "agama"], "43": ["n01688243", "frilled_lizard"], "44": ["n01689811", "alligator_lizard"], "45": ["n01692333", "Gila_monster"], "46": ["n01693334", "green_lizard"], "47": ["n01694178", "African_chameleon"], "48": ["n01695060", "Komodo_dragon"], "49": ["n01697457", "African_crocodile"], "50": ["n01698640", "American_alligator"], "51": ["n01704323", "triceratops"], "52": ["n01728572", "thunder_snake"], "53": ["n01728920", "ringneck_snake"], "54": ["n01729322", "hognose_snake"], "55": ["n01729977", "green_snake"], "56": ["n01734418", "king_snake"], "57": ["n01735189", "garter_snake"], "58": ["n01737021", "water_snake"], "59": ["n01739381", "vine_snake"], "60": ["n01740131", "night_snake"], "61": ["n01742172", "boa_constrictor"], "62": ["n01744401", "rock_python"], "63": ["n01748264", "Indian_cobra"], "64": ["n01749939", "green_mamba"], "65": ["n01751748", "sea_snake"], "66": ["n01753488", "horned_viper"], "67": ["n01755581", "diamondback"], "68": ["n01756291", "sidewinder"], "69": ["n01768244", "trilobite"], "70": ["n01770081", "harvestman"], "71": ["n01770393", "scorpion"], "72": ["n01773157", "black_and_gold_garden_spider"], "73": ["n01773549", "barn_spider"], "74": ["n01773797", "garden_spider"], "75": ["n01774384", "black_widow"], "76": ["n01774750", "tarantula"], "77": ["n01775062", "wolf_spider"], "78": ["n01776313", "tick"], "79": ["n01784675", "centipede"], "80": ["n01795545", "black_grouse"], "81": ["n01796340", "ptarmigan"], "82": ["n01797886", "ruffed_grouse"], "83": ["n01798484", "prairie_chicken"], "84": ["n01806143", "peacock"], "85": ["n01806567", "quail"], "86": ["n01807496", "partridge"], "87": ["n01817953", "African_grey"], "88": ["n01818515", "macaw"], "89": ["n01819313", "sulphur-crested_cockatoo"], "90": ["n01820546", "lorikeet"], "91": ["n01824575", "coucal"], "92": ["n01828970", "bee_eater"], "93": ["n01829413", "hornbill"], "94": ["n01833805", "hummingbird"], "95": ["n01843065", "jacamar"], "96": ["n01843383", "toucan"], "97": ["n01847000", "drake"], "98": ["n01855032", "red-breasted_merganser"], "99": ["n01855672", "goose"], "100": ["n01860187", "black_swan"], "101": ["n01871265", "tusker"], "102": ["n01872401", "echidna"], "103": ["n01873310", "platypus"], "104": ["n01877812", "wallaby"], "105": ["n01882714", "koala"], "106": ["n01883070", "wombat"], "107": ["n01910747", "jellyfish"], "108": ["n01914609", "sea_anemone"], "109": ["n01917289", "brain_coral"], "110": ["n01924916", "flatworm"], "111": ["n01930112", "nematode"], "112": ["n01943899", "conch"], "113": ["n01944390", "snail"], "114": ["n01945685", "slug"], "115": ["n01950731", "sea_slug"], "116": ["n01955084", "chiton"], "117": ["n01968897", "chambered_nautilus"], "118": ["n01978287", "Dungeness_crab"], "119": ["n01978455", "rock_crab"], "120": ["n01980166", "fiddler_crab"], "121": ["n01981276", "king_crab"], "122": ["n01983481", "American_lobster"], "123": ["n01984695", "spiny_lobster"], "124": ["n01985128", "crayfish"], "125": ["n01986214", "hermit_crab"], "126": ["n01990800", "isopod"], "127": ["n02002556", "white_stork"], "128": ["n02002724", "black_stork"], "129": ["n02006656", "spoonbill"], "130": ["n02007558", "flamingo"], "131": ["n02009229", "little_blue_heron"], "132": ["n02009912", "American_egret"], "133": ["n02011460", "bittern"], "134": ["n02012849", "crane"], "135": ["n02013706", "limpkin"], "136": ["n02017213", "European_gallinule"], "137": ["n02018207", "American_coot"], "138": ["n02018795", "bustard"], "139": ["n02025239", "ruddy_turnstone"], "140": ["n02027492", "red-backed_sandpiper"], "141": ["n02028035", "redshank"], "142": ["n02033041", "dowitcher"], "143": ["n02037110", "oystercatcher"], "144": ["n02051845", "pelican"], "145": ["n02056570", "king_penguin"], "146": ["n02058221", "albatross"], "147": ["n02066245", "grey_whale"], "148": ["n02071294", "killer_whale"], "149": ["n02074367", "dugong"], "150": ["n02077923", "sea_lion"], "151": ["n02085620", "Chihuahua"], "152": ["n02085782", "Japanese_spaniel"], "153": ["n02085936", "Maltese_dog"], "154": ["n02086079", "Pekinese"], "155": ["n02086240", "Shih-Tzu"], "156": ["n02086646", "Blenheim_spaniel"], "157": ["n02086910", "papillon"], "158": ["n02087046", "toy_terrier"], "159": ["n02087394", "Rhodesian_ridgeback"], "160": ["n02088094", "Afghan_hound"], "161": ["n02088238", "basset"], "162": ["n02088364", "beagle"], "163": ["n02088466", "bloodhound"], "164": ["n02088632", "bluetick"], "165": ["n02089078", "black-and-tan_coonhound"], "166": ["n02089867", "Walker_hound"], "167": ["n02089973", "English_foxhound"], "168": ["n02090379", "redbone"], "169": ["n02090622", "borzoi"], "170": ["n02090721", "Irish_wolfhound"], "171": ["n02091032", "Italian_greyhound"], "172": ["n02091134", "whippet"], "173": ["n02091244", "Ibizan_hound"], "174": ["n02091467", "Norwegian_elkhound"], "175": ["n02091635", "otterhound"], "176": ["n02091831", "Saluki"], "177": ["n02092002", "Scottish_deerhound"], "178": ["n02092339", "Weimaraner"], "179": ["n02093256", "Staffordshire_bullterrier"], "180": ["n02093428", "American_Staffordshire_terrier"], "181": ["n02093647", "Bedlington_terrier"], "182": ["n02093754", "Border_terrier"], "183": ["n02093859", "Kerry_blue_terrier"], "184": ["n02093991", "Irish_terrier"], "185": ["n02094114", "Norfolk_terrier"], "186": ["n02094258", "Norwich_terrier"], "187": ["n02094433", "Yorkshire_terrier"], "188": ["n02095314", "wire-haired_fox_terrier"], "189": ["n02095570", "Lakeland_terrier"], "190": ["n02095889", "Sealyham_terrier"], "191": ["n02096051", "Airedale"], "192": ["n02096177", "cairn"], "193": ["n02096294", "Australian_terrier"], "194": ["n02096437", "Dandie_Dinmont"], "195": ["n02096585", "Boston_bull"], "196": ["n02097047", "miniature_schnauzer"], "197": ["n02097130", "giant_schnauzer"], "198": ["n02097209", "standard_schnauzer"], "199": ["n02097298", "Scotch_terrier"], "200": ["n02097474", "Tibetan_terrier"], "201": ["n02097658", "silky_terrier"], "202": ["n02098105", "soft-coated_wheaten_terrier"], "203": ["n02098286", "West_Highland_white_terrier"], "204": ["n02098413", "Lhasa"], "205": ["n02099267", "flat-coated_retriever"], "206": ["n02099429", "curly-coated_retriever"], "207": ["n02099601", "golden_retriever"], "208": ["n02099712", "Labrador_retriever"], "209": ["n02099849", "Chesapeake_Bay_retriever"], "210": ["n02100236", "German_short-haired_pointer"], "211": ["n02100583", "vizsla"], "212": ["n02100735", "English_setter"], "213": ["n02100877", "Irish_setter"], "214": ["n02101006", "Gordon_setter"], "215": ["n02101388", "Brittany_spaniel"], "216": ["n02101556", "clumber"], "217": ["n02102040", "English_springer"], "218": ["n02102177", "Welsh_springer_spaniel"], "219": ["n02102318", "cocker_spaniel"], "220": ["n02102480", "Sussex_spaniel"], "221": ["n02102973", "Irish_water_spaniel"], "222": ["n02104029", "kuvasz"], "223": ["n02104365", "schipperke"], "224": ["n02105056", "groenendael"], "225": ["n02105162", "malinois"], "226": ["n02105251", "briard"], "227": ["n02105412", "kelpie"], "228": ["n02105505", "komondor"], "229": ["n02105641", "Old_English_sheepdog"], "230": ["n02105855", "Shetland_sheepdog"], "231": ["n02106030", "collie"], "232": ["n02106166", "Border_collie"], "233": ["n02106382", "Bouvier_des_Flandres"], "234": ["n02106550", "Rottweiler"], "235": ["n02106662", "German_shepherd"], "236": ["n02107142", "Doberman"], "237": ["n02107312", "miniature_pinscher"], "238": ["n02107574", "Greater_Swiss_Mountain_dog"], "239": ["n02107683", "Bernese_mountain_dog"], "240": ["n02107908", "Appenzeller"], "241": ["n02108000", "EntleBucher"], "242": ["n02108089", "boxer"], "243": ["n02108422", "bull_mastiff"], "244": ["n02108551", "Tibetan_mastiff"], "245": ["n02108915", "French_bulldog"], "246": ["n02109047", "Great_Dane"], "247": ["n02109525", "Saint_Bernard"], "248": ["n02109961", "Eskimo_dog"], "249": ["n02110063", "malamute"], "250": ["n02110185", "Siberian_husky"], "251": ["n02110341", "dalmatian"], "252": ["n02110627", "affenpinscher"], "253": ["n02110806", "basenji"], "254": ["n02110958", "pug"], "255": ["n02111129", "Leonberg"], "256": ["n02111277", "Newfoundland"], "257": ["n02111500", "Great_Pyrenees"], "258": ["n02111889", "Samoyed"], "259": ["n02112018", "Pomeranian"], "260": ["n02112137", "chow"], "261": ["n02112350", "keeshond"], "262": ["n02112706", "Brabancon_griffon"], "263": ["n02113023", "Pembroke"], "264": ["n02113186", "Cardigan"], "265": ["n02113624", "toy_poodle"], "266": ["n02113712", "miniature_poodle"], "267": ["n02113799", "standard_poodle"], "268": ["n02113978", "Mexican_hairless"], "269": ["n02114367", "timber_wolf"], "270": ["n02114548", "white_wolf"], "271": ["n02114712", "red_wolf"], "272": ["n02114855", "coyote"], "273": ["n02115641", "dingo"], "274": ["n02115913", "dhole"], "275": ["n02116738", "African_hunting_dog"], "276": ["n02117135", "hyena"], "277": ["n02119022", "red_fox"], "278": ["n02119789", "kit_fox"], "279": ["n02120079", "Arctic_fox"], "280": ["n02120505", "grey_fox"], "281": ["n02123045", "tabby"], "282": ["n02123159", "tiger_cat"], "283": ["n02123394", "Persian_cat"], "284": ["n02123597", "Siamese_cat"], "285": ["n02124075", "Egyptian_cat"], "286": ["n02125311", "cougar"], "287": ["n02127052", "lynx"], "288": ["n02128385", "leopard"], "289": ["n02128757", "snow_leopard"], "290": ["n02128925", "jaguar"], "291": ["n02129165", "lion"], "292": ["n02129604", "tiger"], "293": ["n02130308", "cheetah"], "294": ["n02132136", "brown_bear"], "295": ["n02133161", "American_black_bear"], "296": ["n02134084", "ice_bear"], "297": ["n02134418", "sloth_bear"], "298": ["n02137549", "mongoose"], "299": ["n02138441", "meerkat"], "300": ["n02165105", "tiger_beetle"], "301": ["n02165456", "ladybug"], "302": ["n02167151", "ground_beetle"], "303": ["n02168699", "long-horned_beetle"], "304": ["n02169497", "leaf_beetle"], "305": ["n02172182", "dung_beetle"], "306": ["n02174001", "rhinoceros_beetle"], "307": ["n02177972", "weevil"], "308": ["n02190166", "fly"], "309": ["n02206856", "bee"], "310": ["n02219486", "ant"], "311": ["n02226429", "grasshopper"], "312": ["n02229544", "cricket"], "313": ["n02231487", "walking_stick"], "314": ["n02233338", "cockroach"], "315": ["n02236044", "mantis"], "316": ["n02256656", "cicada"], "317": ["n02259212", "leafhopper"], "318": ["n02264363", "lacewing"], "319": ["n02268443", "dragonfly"], "320": ["n02268853", "damselfly"], "321": ["n02276258", "admiral"], "322": ["n02277742", "ringlet"], "323": ["n02279972", "monarch"], "324": ["n02280649", "cabbage_butterfly"], "325": ["n02281406", "sulphur_butterfly"], "326": ["n02281787", "lycaenid"], "327": ["n02317335", "starfish"], "328": ["n02319095", "sea_urchin"], "329": ["n02321529", "sea_cucumber"], "330": ["n02325366", "wood_rabbit"], "331": ["n02326432", "hare"], "332": ["n02328150", "Angora"], "333": ["n02342885", "hamster"], "334": ["n02346627", "porcupine"], "335": ["n02356798", "fox_squirrel"], "336": ["n02361337", "marmot"], "337": ["n02363005", "beaver"], "338": ["n02364673", "guinea_pig"], "339": ["n02389026", "sorrel"], "340": ["n02391049", "zebra"], "341": ["n02395406", "hog"], "342": ["n02396427", "wild_boar"], "343": ["n02397096", "warthog"], "344": ["n02398521", "hippopotamus"], "345": ["n02403003", "ox"], "346": ["n02408429", "water_buffalo"], "347": ["n02410509", "bison"], "348": ["n02412080", "ram"], "349": ["n02415577", "bighorn"], "350": ["n02417914", "ibex"], "351": ["n02422106", "hartebeest"], "352": ["n02422699", "impala"], "353": ["n02423022", "gazelle"], "354": ["n02437312", "Arabian_camel"], "355": ["n02437616", "llama"], "356": ["n02441942", "weasel"], "357": ["n02442845", "mink"], "358": ["n02443114", "polecat"], "359": ["n02443484", "black-footed_ferret"], "360": ["n02444819", "otter"], "361": ["n02445715", "skunk"], "362": ["n02447366", "badger"], "363": ["n02454379", "armadillo"], "364": ["n02457408", "three-toed_sloth"], "365": ["n02480495", "orangutan"], "366": ["n02480855", "gorilla"], "367": ["n02481823", "chimpanzee"], "368": ["n02483362", "gibbon"], "369": ["n02483708", "siamang"], "370": ["n02484975", "guenon"], "371": ["n02486261", "patas"], "372": ["n02486410", "baboon"], "373": ["n02487347", "macaque"], "374": ["n02488291", "langur"], "375": ["n02488702", "colobus"], "376": ["n02489166", "proboscis_monkey"], "377": ["n02490219", "marmoset"], "378": ["n02492035", "capuchin"], "379": ["n02492660", "howler_monkey"], "380": ["n02493509", "titi"], "381": ["n02493793", "spider_monkey"], "382": ["n02494079", "squirrel_monkey"], "383": ["n02497673", "Madagascar_cat"], "384": ["n02500267", "indri"], "385": ["n02504013", "Indian_elephant"], "386": ["n02504458", "African_elephant"], "387": ["n02509815", "lesser_panda"], "388": ["n02510455", "giant_panda"], "389": ["n02514041", "barracouta"], "390": ["n02526121", "eel"], "391": ["n02536864", "coho"], "392": ["n02606052", "rock_beauty"], "393": ["n02607072", "anemone_fish"], "394": ["n02640242", "sturgeon"], "395": ["n02641379", "gar"], "396": ["n02643566", "lionfish"], "397": ["n02655020", "puffer"], "398": ["n02666196", "abacus"], "399": ["n02667093", "abaya"], "400": ["n02669723", "academic_gown"], "401": ["n02672831", "accordion"], "402": ["n02676566", "acoustic_guitar"], "403": ["n02687172", "aircraft_carrier"], "404": ["n02690373", "airliner"], "405": ["n02692877", "airship"], "406": ["n02699494", "altar"], "407": ["n02701002", "ambulance"], "408": ["n02704792", "amphibian"], "409": ["n02708093", "analog_clock"], "410": ["n02727426", "apiary"], "411": ["n02730930", "apron"], "412": ["n02747177", "ashcan"], "413": ["n02749479", "assault_rifle"], "414": ["n02769748", "backpack"], "415": ["n02776631", "bakery"], "416": ["n02777292", "balance_beam"], "417": ["n02782093", "balloon"], "418": ["n02783161", "ballpoint"], "419": ["n02786058", "Band_Aid"], "420": ["n02787622", "banjo"], "421": ["n02788148", "bannister"], "422": ["n02790996", "barbell"], "423": ["n02791124", "barber_chair"], "424": ["n02791270", "barbershop"], "425": ["n02793495", "barn"], "426": ["n02794156", "barometer"], "427": ["n02795169", "barrel"], "428": ["n02797295", "barrow"], "429": ["n02799071", "baseball"], "430": ["n02802426", "basketball"], "431": ["n02804414", "bassinet"], "432": ["n02804610", "bassoon"], "433": ["n02807133", "bathing_cap"], "434": ["n02808304", "bath_towel"], "435": ["n02808440", "bathtub"], "436": ["n02814533", "beach_wagon"], "437": ["n02814860", "beacon"], "438": ["n02815834", "beaker"], "439": ["n02817516", "bearskin"], "440": ["n02823428", "beer_bottle"], "441": ["n02823750", "beer_glass"], "442": ["n02825657", "bell_cote"], "443": ["n02834397", "bib"], "444": ["n02835271", "bicycle-built-for-two"], "445": ["n02837789", "bikini"], "446": ["n02840245", "binder"], "447": ["n02841315", "binoculars"], "448": ["n02843684", "birdhouse"], "449": ["n02859443", "boathouse"], "450": ["n02860847", "bobsled"], "451": ["n02865351", "bolo_tie"], "452": ["n02869837", "bonnet"], "453": ["n02870880", "bookcase"], "454": ["n02871525", "bookshop"], "455": ["n02877765", "bottlecap"], "456": ["n02879718", "bow"], "457": ["n02883205", "bow_tie"], "458": ["n02892201", "brass"], "459": ["n02892767", "brassiere"], "460": ["n02894605", "breakwater"], "461": ["n02895154", "breastplate"], "462": ["n02906734", "broom"], "463": ["n02909870", "bucket"], "464": ["n02910353", "buckle"], "465": ["n02916936", "bulletproof_vest"], "466": ["n02917067", "bullet_train"], "467": ["n02927161", "butcher_shop"], "468": ["n02930766", "cab"], "469": ["n02939185", "caldron"], "470": ["n02948072", "candle"], "471": ["n02950826", "cannon"], "472": ["n02951358", "canoe"], "473": ["n02951585", "can_opener"], "474": ["n02963159", "cardigan"], "475": ["n02965783", "car_mirror"], "476": ["n02966193", "carousel"], "477": ["n02966687", "carpenter's_kit"], "478": ["n02971356", "carton"], "479": ["n02974003", "car_wheel"], "480": ["n02977058", "cash_machine"], "481": ["n02978881", "cassette"], "482": ["n02979186", "cassette_player"], "483": ["n02980441", "castle"], "484": ["n02981792", "catamaran"], "485": ["n02988304", "CD_player"], "486": ["n02992211", "cello"], "487": ["n02992529", "cellular_telephone"], "488": ["n02999410", "chain"], "489": ["n03000134", "chainlink_fence"], "490": ["n03000247", "chain_mail"], "491": ["n03000684", "chain_saw"], "492": ["n03014705", "chest"], "493": ["n03016953", "chiffonier"], "494": ["n03017168", "chime"], "495": ["n03018349", "china_cabinet"], "496": ["n03026506", "Christmas_stocking"], "497": ["n03028079", "church"], "498": ["n03032252", "cinema"], "499": ["n03041632", "cleaver"], "500": ["n03042490", "cliff_dwelling"], "501": ["n03045698", "cloak"], "502": ["n03047690", "clog"], "503": ["n03062245", "cocktail_shaker"], "504": ["n03063599", "coffee_mug"], "505": ["n03063689", "coffeepot"], "506": ["n03065424", "coil"], "507": ["n03075370", "combination_lock"], "508": ["n03085013", "computer_keyboard"], "509": ["n03089624", "confectionery"], "510": ["n03095699", "container_ship"], "511": ["n03100240", "convertible"], "512": ["n03109150", "corkscrew"], "513": ["n03110669", "cornet"], "514": ["n03124043", "cowboy_boot"], "515": ["n03124170", "cowboy_hat"], "516": ["n03125729", "cradle"], "517": ["n03126707", "crane"], "518": ["n03127747", "crash_helmet"], "519": ["n03127925", "crate"], "520": ["n03131574", "crib"], "521": ["n03133878", "Crock_Pot"], "522": ["n03134739", "croquet_ball"], "523": ["n03141823", "crutch"], "524": ["n03146219", "cuirass"], "525": ["n03160309", "dam"], "526": ["n03179701", "desk"], "527": ["n03180011", "desktop_computer"], "528": ["n03187595", "dial_telephone"], "529": ["n03188531", "diaper"], "530": ["n03196217", "digital_clock"], "531": ["n03197337", "digital_watch"], "532": ["n03201208", "dining_table"], "533": ["n03207743", "dishrag"], "534": ["n03207941", "dishwasher"], "535": ["n03208938", "disk_brake"], "536": ["n03216828", "dock"], "537": ["n03218198", "dogsled"], "538": ["n03220513", "dome"], "539": ["n03223299", "doormat"], "540": ["n03240683", "drilling_platform"], "541": ["n03249569", "drum"], "542": ["n03250847", "drumstick"], "543": ["n03255030", "dumbbell"], "544": ["n03259280", "Dutch_oven"], "545": ["n03271574", "electric_fan"], "546": ["n03272010", "electric_guitar"], "547": ["n03272562", "electric_locomotive"], "548": ["n03290653", "entertainment_center"], "549": ["n03291819", "envelope"], "550": ["n03297495", "espresso_maker"], "551": ["n03314780", "face_powder"], "552": ["n03325584", "feather_boa"], "553": ["n03337140", "file"], "554": ["n03344393", "fireboat"], "555": ["n03345487", "fire_engine"], "556": ["n03347037", "fire_screen"], "557": ["n03355925", "flagpole"], "558": ["n03372029", "flute"], "559": ["n03376595", "folding_chair"], "560": ["n03379051", "football_helmet"], "561": ["n03384352", "forklift"], "562": ["n03388043", "fountain"], "563": ["n03388183", "fountain_pen"], "564": ["n03388549", "four-poster"], "565": ["n03393912", "freight_car"], "566": ["n03394916", "French_horn"], "567": ["n03400231", "frying_pan"], "568": ["n03404251", "fur_coat"], "569": ["n03417042", "garbage_truck"], "570": ["n03424325", "gasmask"], "571": ["n03425413", "gas_pump"], "572": ["n03443371", "goblet"], "573": ["n03444034", "go-kart"], "574": ["n03445777", "golf_ball"], "575": ["n03445924", "golfcart"], "576": ["n03447447", "gondola"], "577": ["n03447721", "gong"], "578": ["n03450230", "gown"], "579": ["n03452741", "grand_piano"], "580": ["n03457902", "greenhouse"], "581": ["n03459775", "grille"], "582": ["n03461385", "grocery_store"], "583": ["n03467068", "guillotine"], "584": ["n03476684", "hair_slide"], "585": ["n03476991", "hair_spray"], "586": ["n03478589", "half_track"], "587": ["n03481172", "hammer"], "588": ["n03482405", "hamper"], "589": ["n03483316", "hand_blower"], "590": ["n03485407", "hand-held_computer"], "591": ["n03485794", "handkerchief"], "592": ["n03492542", "hard_disc"], "593": ["n03494278", "harmonica"], "594": ["n03495258", "harp"], "595": ["n03496892", "harvester"], "596": ["n03498962", "hatchet"], "597": ["n03527444", "holster"], "598": ["n03529860", "home_theater"], "599": ["n03530642", "honeycomb"], "600": ["n03532672", "hook"], "601": ["n03534580", "hoopskirt"], "602": ["n03535780", "horizontal_bar"], "603": ["n03538406", "horse_cart"], "604": ["n03544143", "hourglass"], "605": ["n03584254", "iPod"], "606": ["n03584829", "iron"], "607": ["n03590841", "jack-o'-lantern"], "608": ["n03594734", "jean"], "609": ["n03594945", "jeep"], "610": ["n03595614", "jersey"], "611": ["n03598930", "jigsaw_puzzle"], "612": ["n03599486", "jinrikisha"], "613": ["n03602883", "joystick"], "614": ["n03617480", "kimono"], "615": ["n03623198", "knee_pad"], "616": ["n03627232", "knot"], "617": ["n03630383", "lab_coat"], "618": ["n03633091", "ladle"], "619": ["n03637318", "lampshade"], "620": ["n03642806", "laptop"], "621": ["n03649909", "lawn_mower"], "622": ["n03657121", "lens_cap"], "623": ["n03658185", "letter_opener"], "624": ["n03661043", "library"], "625": ["n03662601", "lifeboat"], "626": ["n03666591", "lighter"], "627": ["n03670208", "limousine"], "628": ["n03673027", "liner"], "629": ["n03676483", "lipstick"], "630": ["n03680355", "Loafer"], "631": ["n03690938", "lotion"], "632": ["n03691459", "loudspeaker"], "633": ["n03692522", "loupe"], "634": ["n03697007", "lumbermill"], "635": ["n03706229", "magnetic_compass"], "636": ["n03709823", "mailbag"], "637": ["n03710193", "mailbox"], "638": ["n03710637", "maillot"], "639": ["n03710721", "maillot"], "640": ["n03717622", "manhole_cover"], "641": ["n03720891", "maraca"], "642": ["n03721384", "marimba"], "643": ["n03724870", "mask"], "644": ["n03729826", "matchstick"], "645": ["n03733131", "maypole"], "646": ["n03733281", "maze"], "647": ["n03733805", "measuring_cup"], "648": ["n03742115", "medicine_chest"], "649": ["n03743016", "megalith"], "650": ["n03759954", "microphone"], "651": ["n03761084", "microwave"], "652": ["n03763968", "military_uniform"], "653": ["n03764736", "milk_can"], "654": ["n03769881", "minibus"], "655": ["n03770439", "miniskirt"], "656": ["n03770679", "minivan"], "657": ["n03773504", "missile"], "658": ["n03775071", "mitten"], "659": ["n03775546", "mixing_bowl"], "660": ["n03776460", "mobile_home"], "661": ["n03777568", "Model_T"], "662": ["n03777754", "modem"], "663": ["n03781244", "monastery"], "664": ["n03782006", "monitor"], "665": ["n03785016", "moped"], "666": ["n03786901", "mortar"], "667": ["n03787032", "mortarboard"], "668": ["n03788195", "mosque"], "669": ["n03788365", "mosquito_net"], "670": ["n03791053", "motor_scooter"], "671": ["n03792782", "mountain_bike"], "672": ["n03792972", "mountain_tent"], "673": ["n03793489", "mouse"], "674": ["n03794056", "mousetrap"], "675": ["n03796401", "moving_van"], "676": ["n03803284", "muzzle"], "677": ["n03804744", "nail"], "678": ["n03814639", "neck_brace"], "679": ["n03814906", "necklace"], "680": ["n03825788", "nipple"], "681": ["n03832673", "notebook"], "682": ["n03837869", "obelisk"], "683": ["n03838899", "oboe"], "684": ["n03840681", "ocarina"], "685": ["n03841143", "odometer"], "686": ["n03843555", "oil_filter"], "687": ["n03854065", "organ"], "688": ["n03857828", "oscilloscope"], "689": ["n03866082", "overskirt"], "690": ["n03868242", "oxcart"], "691": ["n03868863", "oxygen_mask"], "692": ["n03871628", "packet"], "693": ["n03873416", "paddle"], "694": ["n03874293", "paddlewheel"], "695": ["n03874599", "padlock"], "696": ["n03876231", "paintbrush"], "697": ["n03877472", "pajama"], "698": ["n03877845", "palace"], "699": ["n03884397", "panpipe"], "700": ["n03887697", "paper_towel"], "701": ["n03888257", "parachute"], "702": ["n03888605", "parallel_bars"], "703": ["n03891251", "park_bench"], "704": ["n03891332", "parking_meter"], "705": ["n03895866", "passenger_car"], "706": ["n03899768", "patio"], "707": ["n03902125", "pay-phone"], "708": ["n03903868", "pedestal"], "709": ["n03908618", "pencil_box"], "710": ["n03908714", "pencil_sharpener"], "711": ["n03916031", "perfume"], "712": ["n03920288", "Petri_dish"], "713": ["n03924679", "photocopier"], "714": ["n03929660", "pick"], "715": ["n03929855", "pickelhaube"], "716": ["n03930313", "picket_fence"], "717": ["n03930630", "pickup"], "718": ["n03933933", "pier"], "719": ["n03935335", "piggy_bank"], "720": ["n03937543", "pill_bottle"], "721": ["n03938244", "pillow"], "722": ["n03942813", "ping-pong_ball"], "723": ["n03944341", "pinwheel"], "724": ["n03947888", "pirate"], "725": ["n03950228", "pitcher"], "726": ["n03954731", "plane"], "727": ["n03956157", "planetarium"], "728": ["n03958227", "plastic_bag"], "729": ["n03961711", "plate_rack"], "730": ["n03967562", "plow"], "731": ["n03970156", "plunger"], "732": ["n03976467", "Polaroid_camera"], "733": ["n03976657", "pole"], "734": ["n03977966", "police_van"], "735": ["n03980874", "poncho"], "736": ["n03982430", "pool_table"], "737": ["n03983396", "pop_bottle"], "738": ["n03991062", "pot"], "739": ["n03992509", "potter's_wheel"], "740": ["n03995372", "power_drill"], "741": ["n03998194", "prayer_rug"], "742": ["n04004767", "printer"], "743": ["n04005630", "prison"], "744": ["n04008634", "projectile"], "745": ["n04009552", "projector"], "746": ["n04019541", "puck"], "747": ["n04023962", "punching_bag"], "748": ["n04026417", "purse"], "749": ["n04033901", "quill"], "750": ["n04033995", "quilt"], "751": ["n04037443", "racer"], "752": ["n04039381", "racket"], "753": ["n04040759", "radiator"], "754": ["n04041544", "radio"], "755": ["n04044716", "radio_telescope"], "756": ["n04049303", "rain_barrel"], "757": ["n04065272", "recreational_vehicle"], "758": ["n04067472", "reel"], "759": ["n04069434", "reflex_camera"], "760": ["n04070727", "refrigerator"], "761": ["n04074963", "remote_control"], "762": ["n04081281", "restaurant"], "763": ["n04086273", "revolver"], "764": ["n04090263", "rifle"], "765": ["n04099969", "rocking_chair"], "766": ["n04111531", "rotisserie"], "767": ["n04116512", "rubber_eraser"], "768": ["n04118538", "rugby_ball"], "769": ["n04118776", "rule"], "770": ["n04120489", "running_shoe"], "771": ["n04125021", "safe"], "772": ["n04127249", "safety_pin"], "773": ["n04131690", "saltshaker"], "774": ["n04133789", "sandal"], "775": ["n04136333", "sarong"], "776": ["n04141076", "sax"], "777": ["n04141327", "scabbard"], "778": ["n04141975", "scale"], "779": ["n04146614", "school_bus"], "780": ["n04147183", "schooner"], "781": ["n04149813", "scoreboard"], "782": ["n04152593", "screen"], "783": ["n04153751", "screw"], "784": ["n04154565", "screwdriver"], "785": ["n04162706", "seat_belt"], "786": ["n04179913", "sewing_machine"], "787": ["n04192698", "shield"], "788": ["n04200800", "shoe_shop"], "789": ["n04201297", "shoji"], "790": ["n04204238", "shopping_basket"], "791": ["n04204347", "shopping_cart"], "792": ["n04208210", "shovel"], "793": ["n04209133", "shower_cap"], "794": ["n04209239", "shower_curtain"], "795": ["n04228054", "ski"], "796": ["n04229816", "ski_mask"], "797": ["n04235860", "sleeping_bag"], "798": ["n04238763", "slide_rule"], "799": ["n04239074", "sliding_door"], "800": ["n04243546", "slot"], "801": ["n04251144", "snorkel"], "802": ["n04252077", "snowmobile"], "803": ["n04252225", "snowplow"], "804": ["n04254120", "soap_dispenser"], "805": ["n04254680", "soccer_ball"], "806": ["n04254777", "sock"], "807": ["n04258138", "solar_dish"], "808": ["n04259630", "sombrero"], "809": ["n04263257", "soup_bowl"], "810": ["n04264628", "space_bar"], "811": ["n04265275", "space_heater"], "812": ["n04266014", "space_shuttle"], "813": ["n04270147", "spatula"], "814": ["n04273569", "speedboat"], "815": ["n04275548", "spider_web"], "816": ["n04277352", "spindle"], "817": ["n04285008", "sports_car"], "818": ["n04286575", "spotlight"], "819": ["n04296562", "stage"], "820": ["n04310018", "steam_locomotive"], "821": ["n04311004", "steel_arch_bridge"], "822": ["n04311174", "steel_drum"], "823": ["n04317175", "stethoscope"], "824": ["n04325704", "stole"], "825": ["n04326547", "stone_wall"], "826": ["n04328186", "stopwatch"], "827": ["n04330267", "stove"], "828": ["n04332243", "strainer"], "829": ["n04335435", "streetcar"], "830": ["n04336792", "stretcher"], "831": ["n04344873", "studio_couch"], "832": ["n04346328", "stupa"], "833": ["n04347754", "submarine"], "834": ["n04350905", "suit"], "835": ["n04355338", "sundial"], "836": ["n04355933", "sunglass"], "837": ["n04356056", "sunglasses"], "838": ["n04357314", "sunscreen"], "839": ["n04366367", "suspension_bridge"], "840": ["n04367480", "swab"], "841": ["n04370456", "sweatshirt"], "842": ["n04371430", "swimming_trunks"], "843": ["n04371774", "swing"], "844": ["n04372370", "switch"], "845": ["n04376876", "syringe"], "846": ["n04380533", "table_lamp"], "847": ["n04389033", "tank"], "848": ["n04392985", "tape_player"], "849": ["n04398044", "teapot"], "850": ["n04399382", "teddy"], "851": ["n04404412", "television"], "852": ["n04409515", "tennis_ball"], "853": ["n04417672", "thatch"], "854": ["n04418357", "theater_curtain"], "855": ["n04423845", "thimble"], "856": ["n04428191", "thresher"], "857": ["n04429376", "throne"], "858": ["n04435653", "tile_roof"], "859": ["n04442312", "toaster"], "860": ["n04443257", "tobacco_shop"], "861": ["n04447861", "toilet_seat"], "862": ["n04456115", "torch"], "863": ["n04458633", "totem_pole"], "864": ["n04461696", "tow_truck"], "865": ["n04462240", "toyshop"], "866": ["n04465501", "tractor"], "867": ["n04467665", "trailer_truck"], "868": ["n04476259", "tray"], "869": ["n04479046", "trench_coat"], "870": ["n04482393", "tricycle"], "871": ["n04483307", "trimaran"], "872": ["n04485082", "tripod"], "873": ["n04486054", "triumphal_arch"], "874": ["n04487081", "trolleybus"], "875": ["n04487394", "trombone"], "876": ["n04493381", "tub"], "877": ["n04501370", "turnstile"], "878": ["n04505470", "typewriter_keyboard"], "879": ["n04507155", "umbrella"], "880": ["n04509417", "unicycle"], "881": ["n04515003", "upright"], "882": ["n04517823", "vacuum"], "883": ["n04522168", "vase"], "884": ["n04523525", "vault"], "885": ["n04525038", "velvet"], "886": ["n04525305", "vending_machine"], "887": ["n04532106", "vestment"], "888": ["n04532670", "viaduct"], "889": ["n04536866", "violin"], "890": ["n04540053", "volleyball"], "891": ["n04542943", "waffle_iron"], "892": ["n04548280", "wall_clock"], "893": ["n04548362", "wallet"], "894": ["n04550184", "wardrobe"], "895": ["n04552348", "warplane"], "896": ["n04553703", "washbasin"], "897": ["n04554684", "washer"], "898": ["n04557648", "water_bottle"], "899": ["n04560804", "water_jug"], "900": ["n04562935", "water_tower"], "901": ["n04579145", "whiskey_jug"], "902": ["n04579432", "whistle"], "903": ["n04584207", "wig"], "904": ["n04589890", "window_screen"], "905": ["n04590129", "window_shade"], "906": ["n04591157", "Windsor_tie"], "907": ["n04591713", "wine_bottle"], "908": ["n04592741", "wing"], "909": ["n04596742", "wok"], "910": ["n04597913", "wooden_spoon"], "911": ["n04599235", "wool"], "912": ["n04604644", "worm_fence"], "913": ["n04606251", "wreck"], "914": ["n04612504", "yawl"], "915": ["n04613696", "yurt"], "916": ["n06359193", "web_site"], "917": ["n06596364", "comic_book"], "918": ["n06785654", "crossword_puzzle"], "919": ["n06794110", "street_sign"], "920": ["n06874185", "traffic_light"], "921": ["n07248320", "book_jacket"], "922": ["n07565083", "menu"], "923": ["n07579787", "plate"], "924": ["n07583066", "guacamole"], "925": ["n07584110", "consomme"], "926": ["n07590611", "hot_pot"], "927": ["n07613480", "trifle"], "928": ["n07614500", "ice_cream"], "929": ["n07615774", "ice_lolly"], "930": ["n07684084", "French_loaf"], "931": ["n07693725", "bagel"], "932": ["n07695742", "pretzel"], "933": ["n07697313", "cheeseburger"], "934": ["n07697537", "hotdog"], "935": ["n07711569", "mashed_potato"], "936": ["n07714571", "head_cabbage"], "937": ["n07714990", "broccoli"], "938": ["n07715103", "cauliflower"], "939": ["n07716358", "zucchini"], "940": ["n07716906", "spaghetti_squash"], "941": ["n07717410", "acorn_squash"], "942": ["n07717556", "butternut_squash"], "943": ["n07718472", "cucumber"], "944": ["n07718747", "artichoke"], "945": ["n07720875", "bell_pepper"], "946": ["n07730033", "cardoon"], "947": ["n07734744", "mushroom"], "948": ["n07742313", "Granny_Smith"], "949": ["n07745940", "strawberry"], "950": ["n07747607", "orange"], "951": ["n07749582", "lemon"], "952": ["n07753113", "fig"], "953": ["n07753275", "pineapple"], "954": ["n07753592", "banana"], "955": ["n07754684", "jackfruit"], "956": ["n07760859", "custard_apple"], "957": ["n07768694", "pomegranate"], "958": ["n07802026", "hay"], "959": ["n07831146", "carbonara"], "960": ["n07836838", "chocolate_sauce"], "961": ["n07860988", "dough"], "962": ["n07871810", "meat_loaf"], "963": ["n07873807", "pizza"], "964": ["n07875152", "potpie"], "965": ["n07880968", "burrito"], "966": ["n07892512", "red_wine"], "967": ["n07920052", "espresso"], "968": ["n07930864", "cup"], "969": ["n07932039", "eggnog"], "970": ["n09193705", "alp"], "971": ["n09229709", "bubble"], "972": ["n09246464", "cliff"], "973": ["n09256479", "coral_reef"], "974": ["n09288635", "geyser"], "975": ["n09332890", "lakeside"], "976": ["n09399592", "promontory"], "977": ["n09421951", "sandbar"], "978": ["n09428293", "seashore"], "979": ["n09468604", "valley"], "980": ["n09472597", "volcano"], "981": ["n09835506", "ballplayer"], "982": ["n10148035", "groom"], "983": ["n10565667", "scuba_diver"], "984": ["n11879895", "rapeseed"], "985": ["n11939491", "daisy"], "986": ["n12057211", "yellow_lady's_slipper"], "987": ["n12144580", "corn"], "988": ["n12267677", "acorn"], "989": ["n12620546", "hip"], "990": ["n12768682", "buckeye"], "991": ["n12985857", "coral_fungus"], "992": ["n12998815", "agaric"], "993": ["n13037406", "gyromitra"], "994": ["n13040303", "stinkhorn"], "995": ["n13044778", "earthstar"], "996": ["n13052670", "hen-of-the-woods"], "997": ["n13054560", "bolete"], "998": ["n13133613", "ear"], "999": ["n15075141", "toilet_tissue"]} \ No newline at end of file diff --git a/examples/nvidia_dali/model.py b/examples/nvidia_dali/model.py new file mode 100644 index 0000000000..203db57552 --- /dev/null +++ b/examples/nvidia_dali/model.py @@ -0,0 +1,6 @@ +from torchvision.models.resnet import BasicBlock, ResNet + + +class ImageClassifier(ResNet): + def __init__(self): + super(ImageClassifier, self).__init__(BasicBlock, [2, 2, 2, 2]) diff --git a/examples/nvidia_dali/requirements.txt b/examples/nvidia_dali/requirements.txt new file mode 100644 index 0000000000..dd79b8db37 --- /dev/null +++ b/examples/nvidia_dali/requirements.txt @@ -0,0 +1,2 @@ +nvidia-dali-cuda110==1.18.0 +--extra-index-url https://developer.download.nvidia.com/compute/redist diff --git a/examples/nvidia_dali/serialize_dali_pipeline.py b/examples/nvidia_dali/serialize_dali_pipeline.py new file mode 100644 index 0000000000..3f01d53723 --- /dev/null +++ b/examples/nvidia_dali/serialize_dali_pipeline.py @@ -0,0 +1,55 @@ +import json +import os + +import nvidia.dali as dali +import nvidia.dali.types as types + + +def parse_args(): + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument("--save", default="./model.dali") + parser.add_argument("--config", default="dali_config.json") + return parser.parse_args() + + +@dali.pipeline_def +def pipe(): + jpegs = dali.fn.external_source(dtype=types.UINT8, name="my_source") + decoded = dali.fn.decoders.image(jpegs, device="mixed") + resized = dali.fn.resize( + decoded, + size=[256], + subpixel_scale=False, + interp_type=types.DALIInterpType.INTERP_LINEAR, + antialias=True, + mode="not_smaller", + ) + normalized = dali.fn.crop_mirror_normalize( + resized, + crop_pos_x=0.5, + crop_pos_y=0.5, + crop=(224, 224), + mean=[0.485 * 255, 0.456 * 255, 0.406 * 255], + std=[0.229 * 255, 0.224 * 255, 0.225 * 255], + ) + return normalized + + +def main(filename): + with open(args.config) as fp: + config = json.load(fp) + batch_size = config["batch_size"] + num_threads = config["num_threads"] + device_id = config["device_id"] + + pipe1 = pipe(batch_size=batch_size, num_threads=num_threads, device_id=device_id) + pipe1.serialize(filename=filename) + print("Saved {}".format(filename)) + + +if __name__ == "__main__": + args = parse_args() + os.makedirs(os.path.dirname(args.save), exist_ok=True) + main(args.save) diff --git a/test/pytest/test_dali_preprocess.py b/test/pytest/test_dali_preprocess.py new file mode 100644 index 0000000000..55fbfe5718 --- /dev/null +++ b/test/pytest/test_dali_preprocess.py @@ -0,0 +1,66 @@ +""" +Unit test for near real-time video example +""" +import os +from pathlib import Path + +import pytest +import requests + +from examples.nvidia_dali.custom_handler import DALIHandler +from ts.torch_handler.unit_tests.test_utils.mock_context import MockContext + +CURR_FILE_PATH = Path(__file__).parent +REPO_ROOT_DIR = CURR_FILE_PATH.parent.parent + + +EXAMPLE_ROOT_DIR_DALI = REPO_ROOT_DIR.joinpath("examples", "nvidia_dali") + +MODEL_PTH_FILE = "resnet18-f37072fd.pth" + +EXAMPLE_ROOT_DIR_RESNET = REPO_ROOT_DIR.joinpath( + "examples", "image_classifier", "resnet_18" +) + +EXPECTED_RESULTS = [["tabby", "tiger_cat", "Egyptian_cat", "lynx", "bucket"]] +TEST_CASES = [ + ("kitten.jpg", EXPECTED_RESULTS[0]), +] + + +@pytest.mark.parametrize(("file", "expected_result"), TEST_CASES) +def test_dali_preprocess(monkeypatch, file, expected_result): + + monkeypatch.syspath_prepend(EXAMPLE_ROOT_DIR_RESNET) + + serialized_file = os.path.join(REPO_ROOT_DIR, MODEL_PTH_FILE) + if not os.path.exists(serialized_file): + response = requests.get( + "https://download.pytorch.org/models/resnet18-f37072fd.pth", + allow_redirects=True, + ) + assert response.status_code == 200 + with open(serialized_file, "wb") as f: + f.write(response.content) + + handler = DALIHandler() + ctx = MockContext( + model_pt_file=REPO_ROOT_DIR.joinpath(MODEL_PTH_FILE).as_posix(), + model_dir=EXAMPLE_ROOT_DIR_DALI, + model_file="model.py", + ) + + handler.initialize(ctx) + data = {} + + with open(Path(CURR_FILE_PATH) / "test_data" / file, "rb") as image: + image_file = image.read() + byte_array_type = bytearray(image_file) + data["body"] = byte_array_type + + x = handler.preprocess([data]) + x = handler.inference(x) + x = handler.postprocess(x) + labels = list(x[0].keys()) + + assert labels == expected_result diff --git a/test/pytest/test_data/kitten.jpg b/test/pytest/test_data/kitten.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffcd2be2c674fddc4886117c12f3b29e4367aba8 GIT binary patch literal 110969 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

J66l>z7T20v&BrMUK^shcTlD$)2!& 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

hPAkbbTr(^R-tMK2 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%0DL;n=L?~l?ng&I8MPm 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 z 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%0D>0jKMROl@?0Zb`>KdeJYDW6roP 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 NZ`_ZLr78E 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 Date: Mon, 20 Mar 2023 11:17:13 -0700 Subject: [PATCH 019/172] BERT nightly benchmark on Inferentia1 (#2167) * BERT nightly benchmark on Inferentia1 * Consolidate neuron benchmark model config files into a single file for BERT Set the NEURON_RT_NUM_CORES value as a string in the inf1 nightly benchmark workflow file * Update trnsformer model downloader documentation * test workflow before merge * Consolidate benchmark workflows * Update runs-on syntax * Remove hardware specific benchmark workflow files * Consolidate install dependencies step Add necessary env variables for cpu and inf1 Disable fail-fast to enable all benchmarks to run even if one of them fail * update documentation --------- Co-authored-by: Naman Nandan --- ..._nightly_cpu.yml => benchmark_nightly.yml} | 40 +++++++++---- .github/workflows/benchmark_nightly_gpu.yml | 60 ------------------- benchmarks/README.md | 8 +-- benchmarks/auto_benchmark.py | 6 +- benchmarks/benchmark_config_neuron.yaml | 45 ++++++++++++++ benchmarks/models_config/bert_neuron.yaml | 60 ++++++++++++++++--- .../Download_Transformer_models.py | 44 ++++++++++++-- examples/Huggingface_Transformers/README.md | 20 ++++--- .../Transformer_handler_generalized_neuron.py | 32 ++++++++++ 9 files changed, 215 insertions(+), 100 deletions(-) rename .github/workflows/{benchmark_nightly_cpu.yml => benchmark_nightly.yml} (60%) delete mode 100644 .github/workflows/benchmark_nightly_gpu.yml create mode 100644 benchmarks/benchmark_config_neuron.yaml create mode 100644 examples/Huggingface_Transformers/Transformer_handler_generalized_neuron.py diff --git a/.github/workflows/benchmark_nightly_cpu.yml b/.github/workflows/benchmark_nightly.yml similarity index 60% rename from .github/workflows/benchmark_nightly_cpu.yml rename to .github/workflows/benchmark_nightly.yml index ac8487e416..a88128a091 100644 --- a/.github/workflows/benchmark_nightly_cpu.yml +++ b/.github/workflows/benchmark_nightly.yml @@ -1,4 +1,4 @@ -name: Benchmark torchserve cpu nightly +name: Benchmark torchserve nightly on: # run every day at 2:15am @@ -7,7 +7,13 @@ on: jobs: nightly: - runs-on: [self-hosted, cpu] + strategy: + fail-fast: false + matrix: + hardware: [cpu, gpu, inf1] + runs-on: + - self-hosted + - ${{ matrix.hardware }} timeout-minutes: 1320 steps: - name: Clean up previous run @@ -32,16 +38,26 @@ jobs: uses: actions/checkout@v3 - name: Install dependencies run: | - sudo apt-get update -y - sudo apt-get install -y apache2-utils - pip install -r benchmarks/requirements-ab.txt - export omp_num_threads=1 + sudo apt-get update -y + sudo apt-get install -y apache2-utils + pip install -r benchmarks/requirements-ab.txt - name: Benchmark cpu nightly + if: ${{ matrix.hardware == 'cpu' }} + env: + OMP_NUM_THREADS: 1 run: python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_cpu.yaml --skip false + - name: Benchmark gpu nightly + if: ${{ matrix.hardware == 'gpu' }} + run: python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_gpu.yaml --skip false + - name: Benchmark inf1 nightly + if: ${{ matrix.hardware == 'inf1' }} + env: + NEURON_RT_NUM_CORES: 4 + run: python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_neuron.yaml --skip false - name: Save benchmark artifacts uses: actions/upload-artifact@v2 with: - name: nightly cpu artifact + name: nightly ${{ matrix.hardware }} artifact path: /tmp/ts_benchmark - name: Download benchmark artifacts for auto validation uses: dawidd6/action-download-artifact@v2 @@ -50,19 +66,19 @@ jobs: workflow_conclusion: success if_no_artifact_found: ignore path: /tmp/ts_artifacts - name: cpu_benchmark_validation + name: ${{ matrix.hardware }}_benchmark_validation - name: Update benchmark artifacts for auto validation - run: python benchmarks/utils/update_artifacts.py --output /tmp/ts_artifacts/cpu_benchmark_validation + run: python benchmarks/utils/update_artifacts.py --output /tmp/ts_artifacts/${{ matrix.hardware }}_benchmark_validation - name: Upload the updated benchmark artifacts for auto validation uses: actions/upload-artifact@v2 with: - name: cpu_benchmark_validation + name: ${{ matrix.hardware }}_benchmark_validation path: /tmp/ts_artifacts - name: Open issue on failure - if: ${{ failure() && github.event_name == 'schedule' }} + if: ${{ failure() && github.event_name == 'schedule' && matrix.hardware == 'cpu' }} uses: dacbd/create-issue-action@v1 with: token: ${{ secrets.GITHUB_TOKEN }} - title: Nightly CPU benchmark failed + title: Nightly ${{ matrix.hardware }} benchmark failed body: Commit ${{ github.sha }} daily scheduled [CI run](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) failed, please check why assignees: '' diff --git a/.github/workflows/benchmark_nightly_gpu.yml b/.github/workflows/benchmark_nightly_gpu.yml deleted file mode 100644 index edf7de86b4..0000000000 --- a/.github/workflows/benchmark_nightly_gpu.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Benchmark torchserve gpu nightly - - -on: - # run every day at 2:15am - schedule: - - cron: '15 02 * * *' - -jobs: - nightly: - runs-on: [self-hosted, gpu] - timeout-minutes: 1320 - steps: - - name: Clean up previous run - run: | - echo "Cleaning up previous run" - cd $RUNNER_WORKSPACE - pwd - cd .. - pwd - rm -rf _tool - - name: Setup Python 3.8 - uses: actions/setup-python@v4 - with: - python-version: 3.8 - architecture: x64 - - name: Setup Java 17 - uses: actions/setup-java@v3 - with: - distribution: 'zulu' - java-version: '17' - - name: Checkout TorchServe - uses: actions/checkout@v3 - - name: Install dependencies - run: | - sudo apt-get update -y - sudo apt-get install -y apache2-utils - pip install -r benchmarks/requirements-ab.txt - - name: Benchmark gpu nightly - run: python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_gpu.yaml --skip false - - name: Save benchmark artifacts - uses: actions/upload-artifact@v2 - with: - name: nightly gpu artifact - path: /tmp/ts_benchmark - - name: Download benchmark artifacts for auto validation - uses: dawidd6/action-download-artifact@v2 - with: - workflow: ${{ github.event.workflow_run.workflow_id }} - workflow_conclusion: success - if_no_artifact_found: ignore - path: /tmp/ts_artifacts - name: gpu_benchmark_validation - - name: Update benchmark artifacts for auto validation - run: python benchmarks/utils/update_artifacts.py --output /tmp/ts_artifacts/gpu_benchmark_validation - - name: Upload the updated benchmark artifacts for auto validation - uses: actions/upload-artifact@v2 - with: - name: gpu_benchmark_validation - path: /tmp/ts_artifacts diff --git a/benchmarks/README.md b/benchmarks/README.md index b935844de6..6feb3d7850 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -127,7 +127,7 @@ python benchmark-ab.py --url https://torchserve.pytorch.org/mar_files/mnist.mar * TORCHSERVE SERVING PREDICTIONS WITH DOCKER ``` -python benchmark-ab.py --url https://torchserve.pytorch.org/mar_files/mnist.mar --content_type application/png --config_properties config.properties --inference_model_url predictions/benchmark --input ../examples/image_classifier/mnist/test_data/0.png --exec_env docker +python benchmark-ab.py --url https://torchserve.pytorch.org/mar_files/mnist.mar --content_type application/png --config_properties config.properties --inference_model_url predictions/benchmark --input ../examples/image_classifier/mnist/test_data/0.png --exec_env docker ``` ### Test plans @@ -136,7 +136,7 @@ Benchmark supports pre-defined, pre-configured params that can be selected based 2. vgg11_1000r_10c: vgg11 model with requests =1000 and concurrency=10 3. vgg11_10000r_100c: vgg11 model with requests =10000 and concurrency=100 4. resnet152_batch: Resnet-152 model with batch size = 4, requests =1000 and concurrency=10 -5. resnet152_batch_docker: Resnet-152 model with batch size = 4, requests =1000, concurrency=10 and execution env = docker +5. resnet152_batch_docker: Resnet-152 model with batch size = 4, requests =1000, concurrency=10 and execution env = docker Note: These pre-defined parameters in test plan can be overwritten by cmd line args. @@ -209,11 +209,11 @@ python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_template ``` ## Github Actions benchmarking -If you need to run your benchmarks on a specific cloud or hardware infrastructure. We highly recommend you fork this repo and leverage the benchmarks in `.github/workflows/benchmark-nightly_cpu*.yml` which will run the benchmarks on a custom instance of your choice and save the results as a github artifact. To learn more about how to create your own custom runner by following instructions from Github here https://docs.github.com/en/actions/hosting-your-own-runners/adding-self-hosted-runners +If you need to run your benchmarks on a specific cloud or hardware infrastructure. We highly recommend you fork this repo and leverage the benchmarks in `.github/workflows/benchmark_nightly.yml` which will run the benchmarks on a custom instance of your choice and save the results as a github artifact. To learn more about how to create your own custom runner by following instructions from Github here https://docs.github.com/en/actions/hosting-your-own-runners/adding-self-hosted-runners The high level approach 1. Create a cloud instance in your favorite cloud provider 2. Configure it so it can talk to github actions by running some shell commands listed here https://docs.github.com/en/actions/hosting-your-own-runners/adding-self-hosted-runners 3. Tag your instances in the runners tab on Github 3. In the `.yml` make sure to use `runs-on [self-hosted, your_tag]` -4. Inspect the results in https://github.com/pytorch/serve/actions and download the artifacts for further analysis \ No newline at end of file +4. Inspect the results in https://github.com/pytorch/serve/actions and download the artifacts for further analysis diff --git a/benchmarks/auto_benchmark.py b/benchmarks/auto_benchmark.py index 7918cfdd0f..b728805909 100644 --- a/benchmarks/auto_benchmark.py +++ b/benchmarks/auto_benchmark.py @@ -95,9 +95,9 @@ def load_config(self): report_cmd = v self.bm_config["model_config_path"] = ( - "{}/cpu".format(MODEL_JSON_CONFIG_PATH) - if self.bm_config["hardware"] == "cpu" - else "{}/gpu".format(MODEL_JSON_CONFIG_PATH) + "{}/{}".format(MODEL_JSON_CONFIG_PATH, self.bm_config["hardware"]) + if self.bm_config["hardware"] in ["cpu", "gpu", "neuron"] + else "{}/cpu".format(MODEL_JSON_CONFIG_PATH) ) if self.skip_ts_install: diff --git a/benchmarks/benchmark_config_neuron.yaml b/benchmarks/benchmark_config_neuron.yaml new file mode 100644 index 0000000000..38fb76c78d --- /dev/null +++ b/benchmarks/benchmark_config_neuron.yaml @@ -0,0 +1,45 @@ +# Torchserve version is to be installed. It can be one of the options +# - branch : "master" +# - nightly: "2022.3.16" +# - release: "0.5.3" +# Nightly build will be installed if "ts_version" is not specifiged +#ts_version: +# branch: &ts_version "master" + +# a list of model configure yaml files defined in benchmarks/models_config +# or a list of model configure yaml files with full path +models: + - "bert_neuron.yaml" + +# benchmark on "cpu", "gpu" or "neuron". +# "cpu" is set if "hardware" is not specified +hardware: &hardware "neuron" + +# load prometheus metrics report to remote storage or local different path if "metrics_cmd" is set. +# the command line to load prometheus metrics report to remote system. +# Here is an example of AWS cloudwatch command: +# Note: +# - keep the values order as the same as the command definition. +# - set up the command before enabling `metrics_cmd`. +# For example, aws client and AWS credentials need to be setup before trying this example. +metrics_cmd: + - "cmd": "aws cloudwatch put-metric-data" + - "--namespace": ["torchserve_benchmark_nightly_", *hardware] + - "--region": "us-east-2" + - "--metric-data": 'file:///tmp/benchmark/logs/stats_metrics.json' + +# load report to remote storage or local different path if "report_cmd" is set. +# the command line to load report to remote storage. +# Here is an example of AWS cloudwatch command: +# Note: +# - keep the values order as the same as the command. +# - set up the command before enabling `report_cmd`. +# For example, aws client, AWS credentials and S3 bucket +# need to be setup before trying this example. +# - "today()" is a keyword to apply current date in the path +# For example, the dest path in the following example is +# s3://torchserve-model-serving/benchmark/2022-03-18/gpu +report_cmd: + - "cmd": "aws s3 cp --recursive" + - "source": '/tmp/ts_benchmark/' + - "dest": ['s3://torchserve-benchmark/nightly', "today()", *hardware] diff --git a/benchmarks/models_config/bert_neuron.yaml b/benchmarks/models_config/bert_neuron.yaml index 13d9004a22..be771fb8df 100644 --- a/benchmarks/models_config/bert_neuron.yaml +++ b/benchmarks/models_config/bert_neuron.yaml @@ -1,22 +1,68 @@ --- -bert_inf1: +bert_neuron_batch_1: scripted_mode: benchmark_engine: "ab" - compile_per_batch_size: True + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuron_batch_1.mar workers: - 4 batch_delay: 100 batch_size: - 1 + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + requests: 10000 + concurrency: 100 + backend_profiling: False + exec_env: "local" + processors: + - "neuron" + +bert_neuron_batch_2: + scripted_mode: + benchmark_engine: "ab" + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuron_batch_2.mar + workers: + - 4 + batch_delay: 100 + batch_size: - 2 + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + requests: 10000 + concurrency: 100 + backend_profiling: False + exec_env: "local" + processors: + - "neuron" + +bert_neuron_batch_4: + scripted_mode: + benchmark_engine: "ab" + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuron_batch_4.mar + workers: + - 4 + batch_delay: 100 + batch_size: - 4 + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + requests: 10000 + concurrency: 100 + backend_profiling: False + exec_env: "local" + processors: + - "neuron" + +bert_neuron_batch_8: + scripted_mode: + benchmark_engine: "ab" + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuron_batch_8.mar + workers: + - 4 + batch_delay: 100 + batch_size: - 8 - input: "./benchmarks/automated/tests/resources/neuron-bert/input" + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" requests: 10000 concurrency: 100 backend_profiling: False - exec_env: "aws_neuron_pytorch_p36" + exec_env: "local" processors: - - "inferentia" -instance_types: - - "inf1.6xlarge" \ No newline at end of file + - "neuron" diff --git a/examples/Huggingface_Transformers/Download_Transformer_models.py b/examples/Huggingface_Transformers/Download_Transformer_models.py index 821e89cc98..ff5af3d5c5 100644 --- a/examples/Huggingface_Transformers/Download_Transformer_models.py +++ b/examples/Huggingface_Transformers/Download_Transformer_models.py @@ -20,7 +20,14 @@ def transformers_model_dowloader( - mode, pretrained_model_name, num_labels, do_lower_case, max_length, torchscript + mode, + pretrained_model_name, + num_labels, + do_lower_case, + max_length, + torchscript, + hardware, + batch_size, ): """This function, save the checkpoint, config file along with tokenizer config and vocab files of a transformer model of your choice. @@ -98,11 +105,27 @@ def transformers_model_dowloader( add_special_tokens=True, return_tensors="pt", ) - input_ids = inputs["input_ids"].to(device) - attention_mask = inputs["attention_mask"].to(device) model.to(device).eval() - traced_model = torch.jit.trace(model, (input_ids, attention_mask)) - torch.jit.save(traced_model, os.path.join(NEW_DIR, "traced_model.pt")) + if hardware == "neuron": + import torch_neuron + + input_ids = torch.cat([inputs["input_ids"]] * batch_size, 0).to(device) + attention_mask = torch.cat([inputs["attention_mask"]] * batch_size, 0).to( + device + ) + traced_model = torch_neuron.trace(model, (input_ids, attention_mask)) + torch.jit.save( + traced_model, + os.path.join( + NEW_DIR, + "traced_{}_model_neuron_batch_{}.pt".format(model_name, batch_size), + ), + ) + else: + input_ids = inputs["input_ids"].to(device) + attention_mask = inputs["attention_mask"].to(device) + traced_model = torch.jit.trace(model, (input_ids, attention_mask)) + torch.jit.save(traced_model, os.path.join(NEW_DIR, "traced_model.pt")) return @@ -124,7 +147,16 @@ def transformers_model_dowloader( torchscript = True else: torchscript = False + hardware = settings.get("hardware") + batch_size = int(settings.get("batch_size", "1")) transformers_model_dowloader( - mode, model_name, num_labels, do_lower_case, max_length, torchscript + mode, + model_name, + num_labels, + do_lower_case, + max_length, + torchscript, + hardware, + batch_size, ) diff --git a/examples/Huggingface_Transformers/README.md b/examples/Huggingface_Transformers/README.md index a11b7ec919..4a24f1fe09 100644 --- a/examples/Huggingface_Transformers/README.md +++ b/examples/Huggingface_Transformers/README.md @@ -1,6 +1,6 @@ ## Serving Huggingface Transformers using TorchServe -In this example, we show how to serve a fine tuned or off the shelf Transformer model from [huggingface](https://huggingface.co/transformers/index.html) using TorchServe. +In this example, we show how to serve a fine tuned or off the shelf Transformer model from [huggingface](https://huggingface.co/transformers/index.html) using TorchServe. We use a custom handler, [Transformer_handler.py](https://github.com/pytorch/serve/blob/master/examples/Huggingface_Transformers/Transformer_handler_generalized.py). @@ -51,21 +51,25 @@ In the setup_config.json : *embedding_name* : The name of embedding layer in the chosen model, this could be `bert` for `bert-base-uncased`, `roberta` for `roberta-base` or `roberta` for `xlm-roberta-large`, or `gpt2` for `gpt2` model +*hardware* : The target platform to trace the model for. Specify as `neuron` for [Inferentia1](https://aws.amazon.com/ec2/instance-types/inf1/). + +*batch_size* : Input batch size when tracing the model for `neuron` as target hardware. + Once, `setup_config.json` has been set properly, the next step is to run `python Download_Transformer_models.py` -This produces all the required files for packaging using a huggingface transformer model off-the-shelf without fine-tuning process. Using this option will create and saved the required files into Transformer_model directory. +This produces all the required files for packaging using a huggingface transformer model off-the-shelf without fine-tuning process. Using this option will create and saved the required files into Transformer_model directory. #### Setting the extra_files -There are few files that are used for model packaging and at the inference time. +There are few files that are used for model packaging and at the inference time. * `index_to_name.json`: maps predictions to labels * `sample_text.txt`: input text for inference * `vocab.txt`: by default will use the tokenizer from the pretrained model -For custom vocabs, it is required to pass all other tokenizer related files such `tokenizer_config.json`, `special_tokens_map.json`, `config.json` and if available `merges.txt`. +For custom vocabs, it is required to pass all other tokenizer related files such `tokenizer_config.json`, `special_tokens_map.json`, `config.json` and if available `merges.txt`. For examples of how to configure a model for a use case and what the input format should look like * Model configuration: `Transformer_model` directory after running `python Download_Transformer_models.py` @@ -278,7 +282,7 @@ For batch inference the main difference is that you need set the batch size whil mv BERTSeqClassification.mar model_store/ torchserve --start --model-store model_store --ts-config config.properties --models BERTSeqClassification= BERTSeqClassification.mar - ``` + ``` Now to run the batch inference following command can be used: ``` @@ -293,7 +297,7 @@ curl -X POST http://127.0.0.1:8080/predictions/BERTSeqClassification -T ./Seq_c The [Captum Explanations for Visual Insights Notebook](https://github.com/pytorch/serve/tree/master/examples/captum/Captum_visualization_for_bert.ipynb) provides a visual example for how model interpretations can help -Known issues: +Known issues: * Captum does't work well for batched inputs and may result in timeouts * No support for torchscripted models @@ -318,7 +322,7 @@ Note: make sure to install [HuggingFace Optimum] `pip install optimum` Main speed ups in the Better Transformer comes from kernel fusion in the [TransformerEncoder] (https://pytorch.org/docs/stable/generated/torch.nn.TransformerEncoder.html) and making use of sparsity with [nested tensors](https://pytorch.org/tutorials/prototype/nestedtensor.html) when input sequences are padded to avoid unnecessary computation on padded tensors. We have seen up to 4.5x speed up with distill_bert when used higher batch sizes with padding. Please read more about it in this [blog post](https://medium.com/pytorch/bettertransformer-out-of-the-box-performance-for-huggingface-transformers-3fbe27d50ab2). You get some speedups even with Batch size = 1 and no padding however, major speed ups will show up when running inference with higher batch sizes (8.16,32) with padding. -## Model Parallelism +## Model Parallelism [Parallelize] (https://huggingface.co/docs/transformers/model_doc/gpt2#transformers.GPT2Model.parallelize) is a an experimental feature that HuggingFace recently added to support large model inference for some very large models, GPT2 and T5. GPT2 model choices based on their size are gpt2-medium, gpt2-large, gpt2-xl. This feature only supports LMHeadModel that could be used for text generation, other application such as sequence, token classification and question answering are not supported. We have added parallelize support for GPT2 model in the custom handler in this example that will enable you to perform model parallel inference for GPT2 models used for text generation. The same logic in the handler can be extended to T5 and the applications it supports. Make sure that you register your model with one worker using this feature. To run this example, a machine with #gpus > 1 is required. The number of required gpus depends on the size of the model. This feature only supports single node, one machine with multi-gpus. @@ -356,7 +360,7 @@ To register the model on TorchServe using the above model archive file, we run t ``` mkdir model_store mv Textgeneration.mar model_store/ -torchserve --start --model-store model_store +torchserve --start --model-store model_store curl -X POST "localhost:8081/models?model_name=Textgeneration&url=Textgeneration.mar&batch_size=1&max_batch_delay=5000&initial_workers=1&synchronous=true" ``` diff --git a/examples/Huggingface_Transformers/Transformer_handler_generalized_neuron.py b/examples/Huggingface_Transformers/Transformer_handler_generalized_neuron.py new file mode 100644 index 0000000000..c74ac9e9b4 --- /dev/null +++ b/examples/Huggingface_Transformers/Transformer_handler_generalized_neuron.py @@ -0,0 +1,32 @@ +import os + +import torch +from Transformer_handler_generalized import TransformersSeqClassifierHandler + +if "NEURON_RT_NUM_CORES" not in os.environ: + os.environ["NEURON_RT_NUM_CORES"] = "1" + + +class TransformersSeqClassifierNeuronHandler(TransformersSeqClassifierHandler): + def inference(self, input_batch): + """Predict the class (or classes) of the received text using the + serialized transformers checkpoint. + Args: + input_batch (list): List of Text Tensors from the pre-process function is passed here + Returns: + list : It returns a list of the predicted value for the input text + """ + input_ids_batch, attention_mask_batch = input_batch + num_inferences = len(input_ids_batch) + batch_size = int(self.setup_config.get("batch_size", "1")) + + # insert padding if a partial batch was received + padding = batch_size - num_inferences + if padding > 0: + pad = torch.nn.ConstantPad1d((0, 0, 0, padding), value=0) + input_ids_batch = pad(input_ids_batch) + attention_mask_batch = pad(attention_mask_batch) + + inferences = super().inference((input_ids_batch, attention_mask_batch)) + + return inferences[:num_inferences] From c164374ae996bfdfe0936c2610fb030a5f3b59a7 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Wed, 22 Mar 2023 16:52:39 -0700 Subject: [PATCH 020/172] Make model-archiver tests runnable from any directory (#2191) * Make model-archiver tests independent from caller directory * Make model-archiver tests callable from any directory --- .../test_integration_model_archiver.py | 97 +++++++++++++++---- .../tests/unit_tests/test_version.py | 7 +- 2 files changed, 83 insertions(+), 21 deletions(-) diff --git a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py index 89b4a907ba..c68a3a45c9 100644 --- a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py +++ b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py @@ -1,16 +1,23 @@ -import platform -import time -from datetime import datetime import errno import json import os +import platform import shutil -import tempfile import subprocess +import tempfile +import time +from datetime import datetime +from pathlib import Path + import model_archiver DEFAULT_RUNTIME = "python" MANIFEST_FILE = "MAR-INF/MANIFEST.json" +INTEG_TEST_CONFIG_FILE = "integ_tests/configuration.json" +DEFAULT_HANDLER_CONFIG_FILE = "integ_tests/default_handler_configuration.json" + +TEST_ROOT_DIR = Path(__file__).parents[1] +MODEL_ARCHIVER_ROOT_DIR = Path(__file__).parents[3] def create_file_path(path): @@ -49,11 +56,17 @@ def run_test(test, cmd): def validate_archive_exists(test): fmt = test.get("archive-format") if fmt == "tgz": - assert os.path.isfile(os.path.join(test.get("export-path"), test.get("model-name")+".tar.gz")) + assert os.path.isfile( + os.path.join(test.get("export-path"), test.get("model-name") + ".tar.gz") + ) elif fmt == "no-archive": - assert os.path.isdir(os.path.join(test.get("export-path"), test.get("model-name"))) + assert os.path.isdir( + os.path.join(test.get("export-path"), test.get("model-name")) + ) else: - assert os.path.isfile(os.path.join(test.get("export-path"), test.get("model-name")+".mar")) + assert os.path.isfile( + os.path.join(test.get("export-path"), test.get("model-name") + ".mar") + ) def validate_manifest_file(manifest, test, default_handler=None): @@ -67,7 +80,9 @@ def validate_manifest_file(manifest, test, default_handler=None): assert manifest.get("runtime") == test.get("runtime") assert manifest.get("model").get("modelName") == test.get("model-name") if not default_handler: - assert manifest.get("model").get("handler") == test.get("handler").split("/")[-1] + assert ( + manifest.get("model").get("handler") == test.get("handler").split("/")[-1] + ) else: assert manifest.get("model").get("handler") == test.get("handler") assert manifest.get("archiverVersion") == model_archiver.__version__ @@ -87,21 +102,29 @@ def validate_files(file_list, prefix, default_handler=None): def validate_tar_archive(test_cfg): import tarfile - file_name = os.path.join(test_cfg.get("export-path"), test_cfg.get("model-name") + ".tar.gz") + + file_name = os.path.join( + test_cfg.get("export-path"), test_cfg.get("model-name") + ".tar.gz" + ) f = tarfile.open(file_name, "r:gz") - manifest = json.loads(f.extractfile(os.path.join(test_cfg.get("model-name"), MANIFEST_FILE)).read()) + manifest = json.loads( + f.extractfile(os.path.join(test_cfg.get("model-name"), MANIFEST_FILE)).read() + ) validate_manifest_file(manifest, test_cfg) validate_files(f.getnames(), test_cfg.get("model-name")) def validate_noarchive_archive(test): - file_name = os.path.join(test.get("export-path"), test.get("model-name"), MANIFEST_FILE) + file_name = os.path.join( + test.get("export-path"), test.get("model-name"), MANIFEST_FILE + ) manifest = json.loads(open(file_name).read()) validate_manifest_file(manifest, test) def validate_mar_archive(test): import zipfile + file_name = os.path.join(test.get("export-path"), test.get("model-name") + ".mar") zf = zipfile.ZipFile(file_name, "r") manifest = json.loads(zf.open(MANIFEST_FILE).read()) @@ -124,8 +147,17 @@ def validate(test): def build_cmd(test): - args = ['model-name', 'model-file', 'serialized-file', 'handler', 'extra-files', 'archive-format', - 'version', 'export-path', 'runtime'] + args = [ + "model-name", + "model-file", + "serialized-file", + "handler", + "extra-files", + "archive-format", + "version", + "export-path", + "runtime", + ] cmd = ["torch-model-archiver"] @@ -136,19 +168,42 @@ def build_cmd(test): return " ".join(cmd) +def make_paths_absolute(test, keys): + def make_absolute(paths): + if "," in paths: + return ",".join([make_absolute(p) for p in paths.split(",")]) + return MODEL_ARCHIVER_ROOT_DIR.joinpath(paths).as_posix() + + for k in keys: + test[k] = make_absolute(test[k]) + + return test + + def test_model_archiver(): - with open("model_archiver/tests/integ_tests/configuration.json", "r") as f: + with open(TEST_ROOT_DIR.joinpath(INTEG_TEST_CONFIG_FILE), "r") as f: tests = json.loads(f.read()) + keys = ( + "model-file", + "serialized-file", + "handler", + "extra-files", + ) + tests = [make_paths_absolute(t, keys) for t in tests] for test in tests: # tar.gz format problem on windows hence ignore - if platform.system() == "Windows" and test['archive-format'] == 'tgz': + if platform.system() == "Windows" and test["archive-format"] == "tgz": continue try: - test["export-path"] = os.path.join(tempfile.gettempdir(), test["export-path"]) + test["export-path"] = os.path.join( + tempfile.gettempdir(), test["export-path"] + ) delete_file_path(test.get("export-path")) create_file_path(test.get("export-path")) test["runtime"] = test.get("runtime", DEFAULT_RUNTIME) - test["model-name"] = test["model-name"] + '_' + str(int(time.time()*1000.0)) + test["model-name"] = ( + test["model-name"] + "_" + str(int(time.time() * 1000.0)) + ) cmd = build_cmd(test) if test.get("force"): cmd += " -f" @@ -160,8 +215,14 @@ def test_model_archiver(): def test_default_handlers(): - with open("model_archiver/tests/integ_tests/default_handler_configuration.json", "r") as f: + with open(TEST_ROOT_DIR.joinpath(DEFAULT_HANDLER_CONFIG_FILE), "r") as f: tests = json.loads(f.read()) + keys = ( + "model-file", + "serialized-file", + "extra-files", + ) + tests = [make_paths_absolute(t, keys) for t in tests] for test in tests: cmd = build_cmd(test) try: diff --git a/model-archiver/model_archiver/tests/unit_tests/test_version.py b/model-archiver/model_archiver/tests/unit_tests/test_version.py index 9571155338..d72e20d66f 100644 --- a/model-archiver/model_archiver/tests/unit_tests/test_version.py +++ b/model-archiver/model_archiver/tests/unit_tests/test_version.py @@ -1,15 +1,16 @@ +from pathlib import Path - -import os import model_archiver +MODEL_ARCHIVER_ROOT_DIR = Path(__file__).parent.parent.parent + def test_model_export_tool_version(): """ Test the model archive version :return: """ - with open(os.path.join('model_archiver', 'version.txt')) as f: + with open(MODEL_ARCHIVER_ROOT_DIR.joinpath("version.txt")) as f: __version__ = f.readline().strip() assert __version__ == str(model_archiver.__version__), "Versions do not match" From 890d09ea1ad9f49bd51a75a3286b9b9a6d2eff7b Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 23 Mar 2023 17:25:35 -0700 Subject: [PATCH 021/172] Upgrade to PyTorch 2.0 (#2194) * Support for PyTorch 2.0 * Ignoring DALI pytest * Updateregression tests to run weekly --- .github/workflows/regression_tests_cpu.yml | 5 ++++- .github/workflows/regression_tests_gpu.yml | 7 +++++-- docker/README.md | 2 +- docker/build_image.sh | 5 ++++- docs/code_coverage.md | 2 +- docs/getting_started.md | 2 +- requirements/torch_cu117_linux.txt | 8 ++++---- requirements/torch_cu117_windows.txt | 8 ++++---- requirements/torch_cu118_linux.txt | 9 +++++++++ requirements/torch_cu118_windows.txt | 9 +++++++++ requirements/torch_darwin.txt | 8 ++++---- requirements/torch_linux.txt | 8 ++++---- requirements/torch_windows.txt | 8 ++++---- test/pytest/conftest.py | 1 + ts_scripts/install_dependencies.py | 2 +- 15 files changed, 56 insertions(+), 28 deletions(-) create mode 100644 requirements/torch_cu118_linux.txt create mode 100644 requirements/torch_cu118_windows.txt diff --git a/.github/workflows/regression_tests_cpu.yml b/.github/workflows/regression_tests_cpu.yml index 58247119ab..07aec6270c 100644 --- a/.github/workflows/regression_tests_cpu.yml +++ b/.github/workflows/regression_tests_cpu.yml @@ -1,6 +1,9 @@ name: Run Regression Tests on CPU -on: workflow_dispatch +on: + # runs every Sunday at 11:15am + schedule: + - cron: '15 11 * * 7' jobs: regression-cpu: diff --git a/.github/workflows/regression_tests_gpu.yml b/.github/workflows/regression_tests_gpu.yml index 6a16fce8f7..eb6ab812a2 100644 --- a/.github/workflows/regression_tests_gpu.yml +++ b/.github/workflows/regression_tests_gpu.yml @@ -1,6 +1,9 @@ name: Run Regression Tests on GPU -on: workflow_dispatch +on: + # runs every Sunday at 11:15am + schedule: + - cron: '15 11 * * 7' jobs: regression-gpu: @@ -9,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - cuda: ["cu116", "cu117"] + cuda: ["cu117", "cu118"] steps: - name: Clean up previous run run: | diff --git a/docker/README.md b/docker/README.md index 33a8172ea5..fc65749532 100644 --- a/docker/README.md +++ b/docker/README.md @@ -36,7 +36,7 @@ Use `build_image.sh` script to build the docker images. The script builds the `p |-g, --gpu|Build image with GPU based ubuntu base image| |-bt, --buildtype|Which type of docker image to build. Can be one of : production, dev, codebuild| |-t, --tag|Tag name for image. If not specified, script uses torchserve default tag names.| -|-cv, --cudaversion| Specify to cuda version to use. Supported values `cu92`, `cu101`, `cu102`, `cu111`, `cu113`, `cu116`, `cu117`. Default `cu117`| +|-cv, --cudaversion| Specify to cuda version to use. Supported values `cu92`, `cu101`, `cu102`, `cu111`, `cu113`, `cu116`, `cu117`, `cu118`. Default `cu117`| |-ipex, --build-with-ipex| Specify to build with intel_extension_for_pytorch. If not specified, script builds without intel_extension_for_pytorch.| |--codebuild| Set if you need [AWS CodeBuild](https://aws.amazon.com/codebuild/)| |-py, --pythonversion| Specify the python version to use. Supported values `3.8`, `3.9`, `3.10`. Default `3.9`| diff --git a/docker/build_image.sh b/docker/build_image.sh index f16b787dd2..246f81bdac 100755 --- a/docker/build_image.sh +++ b/docker/build_image.sh @@ -80,7 +80,10 @@ do # With default ubuntu version 20.04 -cv|--cudaversion) CUDA_VERSION="$2" - if [ $CUDA_VERSION == "cu117" ]; + if [ $CUDA_VERSION == "cu118" ]; + then + BASE_IMAGE="nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04" + elif [ $CUDA_VERSION == "cu117" ]; then BASE_IMAGE="nvidia/cuda:11.7.0-cudnn8-runtime-ubuntu20.04" elif [ $CUDA_VERSION == "cu116" ]; diff --git a/docs/code_coverage.md b/docs/code_coverage.md index 6f8a746bc3..bda87f1d0f 100644 --- a/docs/code_coverage.md +++ b/docs/code_coverage.md @@ -12,7 +12,7 @@ ```bash python ts_scripts/install_dependencies.py --environment=dev --cuda=cu102 ``` - > Supported cuda versions as cu117, cu116, cu113, cu111, cu102, cu101, cu92 + > Supported cuda versions as cu118, cu117, cu116, cu113, cu111, cu102, cu101, cu92 - Execute sanity suite ```bash diff --git a/docs/getting_started.md b/docs/getting_started.md index 029b67471e..11daf6db7b 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -14,7 +14,7 @@ python ./ts_scripts/install_dependencies.py ``` - - For GPU with Cuda 10.2. Options are `cu92`, `cu101`, `cu102`, `cu111`, `cu113`, `cu116`, `cu117` + - For GPU with Cuda 10.2. Options are `cu92`, `cu101`, `cu102`, `cu111`, `cu113`, `cu116`, `cu117`, `cu118` ```bash python ./ts_scripts/install_dependencies.py --cuda=cu102 diff --git a/requirements/torch_cu117_linux.txt b/requirements/torch_cu117_linux.txt index 083c68ecff..4840f5b08d 100644 --- a/requirements/torch_cu117_linux.txt +++ b/requirements/torch_cu117_linux.txt @@ -3,7 +3,7 @@ cython wheel pillow==9.3.0 -torch==1.13.1+cu117; sys_platform == 'linux' -torchvision==0.14.1+cu117; sys_platform == 'linux' -torchtext==0.14.1; sys_platform == 'linux' -torchaudio==0.13.1+cu117; sys_platform == 'linux' +torch==2.0.0+cu117; sys_platform == 'linux' +torchvision==0.15.1+cu117; sys_platform == 'linux' +torchtext==0.15.1; sys_platform == 'linux' +torchaudio==2.0.1+cu117; sys_platform == 'linux' diff --git a/requirements/torch_cu117_windows.txt b/requirements/torch_cu117_windows.txt index c51f59d627..32e07cf15a 100644 --- a/requirements/torch_cu117_windows.txt +++ b/requirements/torch_cu117_windows.txt @@ -1,6 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu117 -torch==1.13.1+cu117; sys_platform == 'win32' -torchvision==0.14.1+cu117; sys_platform == 'win32' -torchtext==0.14.1; sys_platform == 'win32' -torchaudio==0.13.1+cu117; sys_platform == 'win32' +torch==2.0.0+cu117; sys_platform == 'win32' +torchvision==0.15.1+cu117; sys_platform == 'win32' +torchtext==0.15.1; sys_platform == 'win32' +torchaudio==2.0.1+cu117; sys_platform == 'win32' diff --git a/requirements/torch_cu118_linux.txt b/requirements/torch_cu118_linux.txt new file mode 100644 index 0000000000..03e50bcece --- /dev/null +++ b/requirements/torch_cu118_linux.txt @@ -0,0 +1,9 @@ +#pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 +--extra-index-url https://download.pytorch.org/whl/cu118 +cython +wheel +pillow==9.3.0 +torch==2.0.0+cu118; sys_platform == 'linux' +torchvision==0.15.1+cu118; sys_platform == 'linux' +torchtext==0.15.1; sys_platform == 'linux' +torchaudio==2.0.1+cu118; sys_platform == 'linux' diff --git a/requirements/torch_cu118_windows.txt b/requirements/torch_cu118_windows.txt new file mode 100644 index 0000000000..03e50bcece --- /dev/null +++ b/requirements/torch_cu118_windows.txt @@ -0,0 +1,9 @@ +#pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 +--extra-index-url https://download.pytorch.org/whl/cu118 +cython +wheel +pillow==9.3.0 +torch==2.0.0+cu118; sys_platform == 'linux' +torchvision==0.15.1+cu118; sys_platform == 'linux' +torchtext==0.15.1; sys_platform == 'linux' +torchaudio==2.0.1+cu118; sys_platform == 'linux' diff --git a/requirements/torch_darwin.txt b/requirements/torch_darwin.txt index 9cc30c8440..6b0cfdc1d0 100644 --- a/requirements/torch_darwin.txt +++ b/requirements/torch_darwin.txt @@ -1,5 +1,5 @@ #pip install torch torchvision torchaudio -torch==1.13.1; sys_platform == 'darwin' -torchvision==0.14.1; sys_platform == 'darwin' -torchtext==0.14.1; sys_platform == 'darwin' -torchaudio==0.13.1; sys_platform == 'darwin' +torch==2.0.0; sys_platform == 'darwin' +torchvision==0.15.1; sys_platform == 'darwin' +torchtext==0.15.1; sys_platform == 'darwin' +torchaudio==2.0.1; sys_platform == 'darwin' diff --git a/requirements/torch_linux.txt b/requirements/torch_linux.txt index 116ce16686..c47ebbe080 100644 --- a/requirements/torch_linux.txt +++ b/requirements/torch_linux.txt @@ -3,7 +3,7 @@ cython wheel pillow==9.3.0 -torch==1.13.1+cpu; sys_platform == 'linux' -torchvision==0.14.1+cpu; sys_platform == 'linux' -torchtext==0.14.1; sys_platform == 'linux' -torchaudio==0.13.1+cpu; sys_platform == 'linux' +torch==2.0.0+cpu; sys_platform == 'linux' +torchvision==0.15.1+cpu; sys_platform == 'linux' +torchtext==0.15.1; sys_platform == 'linux' +torchaudio==2.0.1+cpu; sys_platform == 'linux' diff --git a/requirements/torch_windows.txt b/requirements/torch_windows.txt index 7552033ba3..2a744482b1 100644 --- a/requirements/torch_windows.txt +++ b/requirements/torch_windows.txt @@ -1,7 +1,7 @@ #pip install torch torchvision torchaudio wheel -torch==1.13.1; sys_platform == 'win32' -torchvision==0.14.1; sys_platform == 'win32' -torchtext==0.14.1; sys_platform == 'win32' -torchaudio==0.13.1; sys_platform == 'win32' +torch==2.0.0; sys_platform == 'win32' +torchvision==0.15.1; sys_platform == 'win32' +torchtext==0.15.1; sys_platform == 'win32' +torchaudio==2.0.1; sys_platform == 'win32' pillow==9.3.0 diff --git a/test/pytest/conftest.py b/test/pytest/conftest.py index 7a72a0f34d..6b16b5a6e8 100644 --- a/test/pytest/conftest.py +++ b/test/pytest/conftest.py @@ -13,6 +13,7 @@ collect_ignore = [] collect_ignore.append("test_example_torchrec_dlrm.py") collect_ignore.append("test_example_near_real_time_video.py") +collect_ignore.append("test_dali_preprocess.py") @pytest.fixture(scope="module") diff --git a/ts_scripts/install_dependencies.py b/ts_scripts/install_dependencies.py index 86a7a9755b..d922fa2440 100644 --- a/ts_scripts/install_dependencies.py +++ b/ts_scripts/install_dependencies.py @@ -181,7 +181,7 @@ def get_brew_version(): parser.add_argument( "--cuda", default=None, - choices=["cu92", "cu101", "cu102", "cu111", "cu113", "cu116", "cu117"], + choices=["cu92", "cu101", "cu102", "cu111", "cu113", "cu116", "cu117", "cu118"], help="CUDA version for torch", ) parser.add_argument( From 82acbbf8390bd14cb9c2d9c842d78d5ffd311c73 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Mon, 27 Mar 2023 13:11:01 -0700 Subject: [PATCH 022/172] NVIDIA MPS documentation (#2184) --- docs/README.md | 1 + docs/images/mps_g4_single.png | Bin 0 -> 13342 bytes docs/images/mps_g4_two_worker.png | Bin 0 -> 14745 bytes docs/images/mps_p3_single.png | Bin 0 -> 12714 bytes docs/images/mps_p3_two_worker.png | Bin 0 -> 16327 bytes docs/mps.md | 91 ++++++++++++++++++++++++ ts_scripts/spellcheck_conf/wordlist.txt | 2 + 7 files changed, 94 insertions(+) create mode 100644 docs/images/mps_g4_single.png create mode 100644 docs/images/mps_g4_two_worker.png create mode 100644 docs/images/mps_p3_single.png create mode 100644 docs/images/mps_p3_two_worker.png create mode 100644 docs/mps.md diff --git a/docs/README.md b/docs/README.md index 355a6e0268..8055e661ff 100644 --- a/docs/README.md +++ b/docs/README.md @@ -52,3 +52,4 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch ea * [TorchServe on Kubernetes](https://github.com/pytorch/serve/blob/master/kubernetes/README.md#torchserve-on-kubernetes) - Demonstrates a Torchserve deployment in Kubernetes using Helm Chart supported in both Azure Kubernetes Service and Google Kubernetes service * [mlflow-torchserve](https://github.com/mlflow/mlflow-torchserve) - Deploy mlflow pipeline models into TorchServe * [Kubeflow pipelines](https://github.com/kubeflow/pipelines/tree/master/samples/contrib/pytorch-samples) - Kubeflow pipelines and Google Vertex AI Managed pipelines +* [NVIDIA MPS](mps.md) - Use NVIDIA MPS to optimize multi-worker deployment on a single GPU diff --git a/docs/images/mps_g4_single.png b/docs/images/mps_g4_single.png new file mode 100644 index 0000000000000000000000000000000000000000..a35b79abd2a00319c25e1b3e4d6b2c152443d2a8 GIT binary patch literal 13342 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 literal 0 HcmV?d00001 diff --git a/docs/images/mps_p3_single.png b/docs/images/mps_p3_single.png new file mode 100644 index 0000000000000000000000000000000000000000..be1b88f9d24007dd04b467eb7f9a83d58bea6ad8 GIT binary patch literal 12714 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 yOf}ekIT8`Q2(3C82Ie;Y7yl!{e}| literal 0 HcmV?d00001 diff --git a/docs/images/mps_p3_two_worker.png b/docs/images/mps_p3_two_worker.png new file mode 100644 index 0000000000000000000000000000000000000000..06339999d89eb7cd9ba1c0519332108843b7fcd2 GIT binary patch literal 16327 zcmeHu2~?Bk)-IG&I98?>6%c`AZN&jWjLbtEYds*?D)SHo0V&8J1_A^EQc*!gs}PyQ z8HF$gWC{dissw@qgefEp29y9H!4M!Mx$hTkRkXeItpDEszju|jvX&;__l|o%``OdE zgVy`xzF7T*goK3L{_pqvC?WBggM@@+$UmjQH$#lD5(x?T#r=DB9!9xM^vhj!MTYAK ztxl6zyCe26?qKeML!%J<*4kj^4*hm6ymlM-O=o->^#${^mw zxmGb{U&a<*U_BE>d{@o$?1+mHu}tw_N?~Y@9x-N*Mu?8gI%xHSY@QQ!<^lql*fnj zs3DA7i8^B;M1`oAyS*9{Rvu5Hs-vF>(}{EG(F#Lo;?048xNn_h%h{0&&6ow5f=zHC zJ1HHhxiBD;j#1WiYYp3|U@_~C*U{Mb;P*Lh3gu6=!$oLEy!U}Q>ZnB*u8Q5H=FFTd zAHL|_qu=H7JVU*w@W}4DKBAzHQv8%cXThIv27iQKe+FNuhi@nL!3EFZ>>N&KL3F7j zk6VDLp5yr;_^au6(Yz}9aZ1#vDSgm(-7`{qYATl@NwPY2BhH;*rotThc7sEq`%b(+ zcdRqdOYdl7aT5B)x;(GjUOq$-IYj|G&%UaG8i*YUOT?b+Yb0fB3SRC@$0xF%xf5PT z4xUyvAoWGPvPAq;BhrG;J(ef!%fV*BU`!Ganb5vP+|C@5Fu!DkY8DLLt&i1q ztt_cPta;+-vab{$w}9+&?ZVabhIx%$6OvR~iSMBhX`OhY$_f@?nmi)ge~>*Kck9sE zQ4{hWS2Vk^ZCY^727Sx;b_tScH&3n^N-Ia`|Mqjwjt>S*m}zv zw$YPUthmu{^M@ydPso z*lxl1_v?X+rs0O9A-bZJ6;(*%)pS+1H(gLm_nIDQ^V_15`2dm1<>o(Er&ix4spX^gV|Q0I_z z45Fru1Q)!r!P@59>BFVERyP*k?Coh^wr=8NyE$)r*)Y!9<-SJXH)of(4~J@to+d?i z%+oUKcD$adSKv9u8)`1_Fru&!HJ_44HkkS6-j1?nTd&e(+ARq^Hw0e8Gsv~^2C^B! z#}Q`m!lRFW@t$K~5wwMTJyf1cMX^gbBe{)pdb#q$Nz*6oZ%}Fd&r%ffS3U+q9y3C; zh))l6duA+Jm`;an(>u!Mn#*<}8|##W0=lT$F&~T{_aLW=-x}Uo>K_fNRLGO%z4X27cvpX(&{?IVPmb zHB6t*%L|OkW*4K`OWs71#rFc2GvWmZfgc)zUm@3LkCm{O_J^jKA*Cl=Z{u_Ur_#NIHa7%`@ONnp${DoaPu=C_pk9lwdRqP)X8ZntNWev*<;iL{dL z-Nq;pTT@hIT=k{$jpn@_Yx8*t*!84QM7M1*f;~8Vo6#;=IVV;64}$UEsytT(Cg7&6|dtLk5dbsoQIW zFSOu21eb1kc%aWY?$-CO^!q{eGwc(C?nCG8sk+jNgyk%jaFUgV4Bm;NUJNT~tP&0l ztX6&|C8|M3mXl;)-MkBTl*lTLs<%RCSInqbgH4DUEwk9&Z2H&vutXLE8^*p?WZ{;R znAkAP@6~nDY+=EkOrJuMQnqYXFn@iJ8R`;8kyn0M2G=r${l1dz9a5{vd(4Eh!=~Cv zWx{5T(e9_q2!~HE&tiYI(xO*_W%a^Fd6bR~R0x}MH<_y$41I)jLO)!loL+{A+kR;@l3w_ZO4l3gLA2Dm#7Xr7JdB!Bhu9%u0I-nFc*t{L4 z4r%OebN8s}bh`hf=I%Xcs)Pksy~~};^Boe*wTl+oM})IVI^{Gi4JG2CZ**1#HWPK- z+#Y>CT+37Qf4h|VE{veddyY&i1$L|HY2DBM}N=6!D%vJ3ZRa4M_j`OZIIHd3nVni#i|^$uPe zg+{o@bjV{6TgfMVO0rc$c!FX$cTIOf*;?vF@JwTSl6IWi57Vkl4I;3*=4_W zR`F0g(fsUGY7P(v2U?bpGI&d*az1#~c8x%vtg4mm_I%AXES6rIRXt=Zg5({7^Q_PY zb_5p{<*m)9C)lco%#38$TTs?Uhh~KPo=I9Wz=*}rjr>;BTPUx9RqV1ULrp|^#KZcxJyJzv54!~agLvh zb1Kat%y$-yG)hGbtI-`G+N7S+IN>0#8~)hRDI6GYCmJWE?5Yteb z10$UCnxt0baqE+f-6zH?#u=le))GK2xt9WD9SSf4W;$MDFjhw6nEU{b78w{~n$kQ! z1q@CJdT_bO^r#uP;}8SbU+qKL)?4u2ZJU@BF6P3IW|R!$kQQDIuNpv7QqNs(w8FoO)Q(N{6(4!ON}*2qz$r1SnlmAz z8!Roci0JSTekC)1v!-zBOnQNh#oP-@p(3efwo%tWhNH4#NP9oVL**c z+?kV}wF&rdSP@-SX$7L$BvHAxL*b2ur<#HvLijeq7d9_V*ci37C4o^?E6e zxkl-obnc$D@v-F=FTn!ycU zdO>tZLQ$j<+I^(WG3Q&$l;(5Nj{zXef;vG{a6r%*}0sZ2|gcen(Bp4%KW*drIgqjGP%C zndzg=Jmf&6Z(&eVcqD|M=9j-w*$s7sDGYAM$D*zI zCxn%76{~;6Czq3tK^J@aro{)7I7`{N*ywvUorefvMMYGP7goPZ!4=tQ+ctsfVO}(y zJk}3)J5>phM86o1YbZLO*5%YCU%$geYlTmBkomKN(($v7>>v9QR&GuM1O(U6ta$!# znKbU>i3n>}$^;OkbljQ}`XK5b5;@YE+U8?e*IVkB?sxv4RqC@fgyB%kR#|EoJ*uq> zKL0c+)PaoPX_1@I15%pDXv@N0-aKQ#azZb#o96;{Q}QJJ?tgegl$g@ZV-(XZO3IEx-qiFa^<;j)xc7K-#fSp47c+#p}EX*>py{jlWz(7qzt zv%8k0jt7TGKQB{iX-$QZZtYDpaq&1z=Gq$~AndZrvZ%g|gnZQ9dh2CyMv+Ls*mkp(Iei+c-i>~&4es5dwP{TzE)QDs6@(4&E$p59GquIP6#V^5`Tw*tU@l8n78c@+hwoUJc3)nv z0n>=o9wv_+9R%`I8`b$3+@s`M$#S%D2x)p86`G&Z;F;t_wg2R;GM5oNZGE(d^Z#Io z0rgxHPt`D6t>u~>VB}nD>B$`VARvqeBht9Lme`crNfwpk6{FYNh`>+jJJSCNcJJy&M2+d3O!c|$OFp_YMHj$l>#TWAc6V`St zZU|m;1l61)FCskswW|h?TM+tO9}5Xu?K`A5T*M9mI!yH|c~sq5*FIP?7F6)`pFrK= zXR31Qt1B~&YI4uNlH8nM2SSY1PGvr=*M6|ecj-Y_do(6&JKkFYtje1m%4Q=firQoM zC!_qq{Tv-61LSybt091Y;Dm9S3pe~}gbFHpx{cAGWaFQg4)d{2g=3;aqA2g#2Jx1+ zP3_zd-StthszqZ_9-UrJ8a$)vHbaYKop`iN>*_wusFKnE_D~}*B^%pH9reyO`XG?S z>c`$JIz=Wi`-vEc!PyV_KH^?@3& zsCRga)0zTOB8xuwBLuXLVEm6%64EEt*&BBt9V!On$MC_L-T^uOdM(hEKRPqWBALhj z$w@#KBI2{Z4?=7z|35hh$t`GDsb_$A=jPIf{S=(LC=aUsOfSr zljLOHZ?^5@F=AF41W+C1jRqv#{Ozg%Z>9Q--uSm!=qdmyQdGy^?AhWyt8pcn6z9O> zwEf2nC{q`AW@fsE2AnOIQusChf}1ZfM}9zVuj(mN!7`$wkI$YOB%?;+Bs zAnr?=-u)}5p|gF5>Wg8j(!|{yL=zdAEVNHJI}t%8Y@f{~&gU|!Sy6$G#AtJRCoY2E zc~I-ksr}9f7M~gtS!*)W?Md>&y4pdxs$yWwizB#WoCh{hIRp@RVN|8rCWXlY%K!<) zJMQv{y9R-OgkxDizdY%B^!%%05DXbFZ1vY3P>(ZlgyilWP=6$|xl)t^hW&@hX49=4 ze3k$=x9$mWbF@Q7T7AhsrC!iq+D?X&j=j|N_WYcs(((8aKO?X@yh@`nNy(k8xG!b+H9 zG00j;nX4e!!x_r29K9ad^5woYKgoyQ03`&wSv`;X(}RK!dtRxB~JKb7EZ?rg4|z-xO$4<0~U71ES^urd4b83qZ9 zef2y$tb{xkI-fj0_{F(qX|Y0>zE4UQUzA$reyztKT+-s_Hl0S9*nefcKBid9zqjOp zRfbW~ZKRzc7(+@dMjvpB#ma4PPX?E$Q+Xf6tkm=Rs#rCVOy)#i88&#h2?ZYT&V9207MJqZ)DOvip8kHAU*B>aFqEygNH>XoZs?rp2$ z^fn&P*wX8nWFG2}t*H5YYQ&IOK~Fk!7QWpaBU~sxQXju9kVf#HWggA!ya0A5Ay&~3 z2;!%Z2_RfL^Ttqrc(CN0l8xC9!ubMGrK83S9fO&_c-i#zlihrR_Oe7}U7bVstb8pb z^lADkSpcIfMYHe8=zIC-fd|oK>Ri(PQjvF)x~Z88P*^xaV4qV(I;~+ z{m8xMC0}_e_p_x586bd7W=nfiY-~=Cu_`y<1BL;R)@DJ#(w4xE^S|~>L42+xwLx)xb3O2v`2vma9>=pN#PMj%^8<=%lo>mMgxQD zLYpIpJ+ye-@4tPCM*-MQcE*W+i?s|yUrA8jzi#XoOP!5c*HK>sd+fJ#wThbQ$p*F% zW~!aocV+#7-Xp1whJa=)gmXJ}@YT%=>zAgll+OKH@wv`{)yc}~7d9>R9Z6=4l>7!Y!+;l!-nSE$ zd{C8x@oFuRAWt!3!?@%M% zY?6E9HZnbJc;;nO3@J$Rq6 z|M(o=#-zO#X4!33(!+RQEV`EeCCI?n96HPW<}V%p->~#HQM3r)7hy9H}wR6L+t;v5X(IURcbsql%29nY5mnym`}>y z#8qt9AK8D2@@f>iZT$py{!hkH^eM0_aO+1`qvtr=qUKLl?$h~;#E7zdahb-R|74I* zdK8b+1)@8;!%Y|boYRy3qMyk<_4tYw7U~v4G^^r_ZkNKkTtW_nb8`_BMi+;T$SVH^ z)YinLworJlhAdJzFmC(|8p} z-Adpj7igE!qa(v-dVENY$_ST>#v>{Lywp)BY+BRWD|VjQSImnh;Bb(=LY zX7t8h*^;a(PRnM}+$cB@kaG>FnH%x`wOFJpeV>_Mm2W0^{hYxe=>|$~oU#ZSoe%JR zNHTtTBd!H(t&erF*+kiNbQV)fsQ~4Vaj|99Hxu#8irP-kF4P#sxtkh3iPnkl1c{I- z4`ws0-R!x4q=0P^v@fb`dmqCLBrDrMG8=^pVJl03Tu;}OhuV&e>IAGOVM4ASL@J$Y zK!v#>rk4pC`d+8T?F4J>1I;R=y~?hKXZiw(BbfRmGtNKhjV&U1&TsWZ;kNbsT6J#! zGkKH8HlF6D(#N-cbHNa`2mElv$#MbWRz@<1vsUtB{=CO26A z41%uP=w8^eXupfo9-;}FHlbO8FO7X732}8{&sWKX<8w8PnHQHz(kx~5x zZ6<#5{_TrDkzEE?YiHGsSz-E|2ro*3(>ua!OE)z1DaK(8X(&%nM!g$V#ETWYth(Ey zlS@=jlGCwH%mQKJHcNdrq7b%cZFHvUF|TY8fp%Ny>o4W(IHF^Pc@Ce$lW}s1&{$sw|7oY<{4dCsoCQm z#|(5%2VIfV^5rUuL$YnEJ{fh8Y|%$A9N$8oY_z-&qT3#RnY>ujcjI>7Jfks&-}+fJ zEnYq=P9Idnjvz3?gFf?p6p!!CL0p?u!=LOU+@8V+M=`THRVC##7HI4Wq^(8$USLG# z*Je(`j(}p@|AF12Z~Iewbf6+I!mq7XWKg?g>jRqG{Jb9hyo>?vbQ5SM(52@gKpBRL z?$|nwG9?B0LeN}4UCIY8HCjpMx5+{xRfFF$C>NViW9NKz{0;8wX+b(rxsU*+@lVMm0QM8>Op10?z{-Yi$Za%H-){Pc`&Wi%G zsamNvma0@g=p)(3Gr&7>1qfoQW705e*JaS3ca=pso7meYlQ~o1ITbN-!y&B_ckz)t?AkdW9perHCTr8 z$MH7I8NKE;&k3?&qnTj_x^)x&wGmGf-8y7F&ueA{)(iP8V!ggY@Bv#F?B^5oFo5G& z(2A0cG=+?cu=}5Qy&O?>Jdg}OO_v}!3QIs^m8LZA9R{`K8*R+FhmDyyd}ukw#YWt; zhagTI58Mp(xXuZAMEdAzTqs&?h*1YM?J|f$CNT}>Fq(ylo-UG$VI?wig&bW`ap@Ye zIgffmB;XmUTZrb`4V6dId%B;9-0E9#XG)2X4n4R&XU7k~?QxYrD zFSi%tqm8HvJq{ItlJ4xkA};U;ncMDpH(0K-C{j*b&u;MF*=+R|8vp@V)Vn@|k-Vqg X*il@WEdmYt68raB@5$fge(HY#8qJ4d literal 0 HcmV?d00001 diff --git a/docs/mps.md b/docs/mps.md new file mode 100644 index 0000000000..70cd1f93d2 --- /dev/null +++ b/docs/mps.md @@ -0,0 +1,91 @@ +# Enabling NVIDIA MPS in TorchServe +In order to deploy ML models, TorchServe spins up each worker in a separate processes, thus isolating each worker from the others. +Each process creates its own CUDA context to execute its kernels and access the allocated memory. + +While NVIDIA GPUs in their default setting allow multiple processes to run CUDA kernels on a single device it involves the following drawback: +* The execution of the kernels is generally serialized +* Each processes creates its own CUDA context which occupies additional GPU memory + +For these scenarios NVIDIA offers the Multi-Process Service (MPS) which: +* Allows multiple processes to share the same CUDA context on the same GPU +* Run their kernels in a parallel fashion + +This can result in: +* Increased performance when using multiple workers on the same GPU +* Decreased GPU memory utilization due to the shared context + + +To leverage the benefits of NVIDIA MPS we need to start the MPS daemon with the following commands before starting up TorchServe itself. +``` +sudo nvidia-smi -c 3 +nvidia-cuda-mps-control -d +``` +The first command enables the exclusive processing mode for the GPU allowing only one process (the MPS daemon) to utilize it. +The second command starts the MPS daemon itself. +To shutdown the daemon we can execute: +``` +echo quit | nvidia-cuda-mps-control +``` +For more details on MPS please refer to [NVIDIA's MPS documentation](https://docs.nvidia.com/deploy/mps/index.html). +It should be noted that MPS only allows 48 processes (for Volta GPUs) to connect to the daemon due limited hardware resources. +Adding more clients/workers (to the same GPU) will lead to a failure. + +## Benchmarks +To show the performance of TorchServe with activated MPS and help to the decision in enabling MPS for your deployment or not we will perform some benchmarks with representative workloads. + +Primarily, we want to investigate how the throughput of a worker evolves with activated MPS for different operation points. +As an example work load for our benchmark we select the [HuggingFace Transformers Sequence Classification example](https://github.com/pytorch/serve/tree/master/examples/Huggingface_Transformers#sequence-classification). +We perform the benchmark on a g4dn.4xlarge as well as a p3.2xlarge instance on AWS. +Both instance types provide one GPU per instance which will result in multiple workers to be scheduled on the same GPU. +For the benchmark we concentrate on the model throughput as measured by the [benchmark-ab.py](https://github.com/pytorch/serve/tree/master/benchmarks/benchmark-ab.py) tool. + +First, we measure the throughput of a single worker for different batch sizes as it will show us at which point the compute resources of the GPU are fully occupied. +Second, we measure the throughput with two deployed workers for the batch sizes where we expect the GPUs to have still some resources left over to share. +For each benchmark we perform five runs and take the median over the runs. + +We use the following config.json for the benchmark, only overwriting the number of workers and the batch size accordingly. + +``` +{ + "url":"/home/ubuntu/serve/examples/Huggingface_Transformers/model_store/BERTSeqClassification", + "requests": 10000, + "concurrency": 600, + "input": "/home/ubuntu/serve/examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text_captum_input.txt", + "workers": "1" +} +``` +Please note that we set the concurrency level to 600 which will make sure that the batch aggregation inside TorchServe fills up the batches to the maximum batch size. But concurrently this will skew the latency measurements as many requests will be waiting in the queue to be processed. We will therefore neglect the latency measurements in the following. + +### G4 Instance +We first perform the single worker benchmark for the G4 instance. +In the figure below we see that up to a batch size of four we see a steady increase of the throughput over the batch size. + +![G4 benchmark, single worker](images/mps_g4_single.png) + +Next, we increase the number of workers to two in order to compare the throughput with and without MPS running. +To enable MPS for the second set of runs we first set the exclusive processing mode for the GPU and then start the MPS daemon as shown above. + +We select the batch size between one and eight according to our previous findings. +In the figure we can see that the performance in terms of throughput can be better in case of batch size 1 and 8 (up to +18%) while it can be worse for others (-11%). +An interpretation of this result could be that the G4 instance has not many resources to share when we run a BERT model in one of the workers. + +![G4 benchmark, two workers](images/mps_g4_two_worker.png) + +### P3 instance +Next, we will run the same experiment with the bigger p3.2xlarge instance. +With a single worker we get the following throughput values: + +![P3 benchmark, single worker](images/mps_p3_single.png) + +We can see that the throughput steady increases but for a batch size over eight we see diminishing returns. +Finally, we deploy two workers on the P3 instance and compare running them with and without MPS. +We can see that for batch size between 1 and 32 the throughput is consistently higher (up to +25%) for MPS enabled with the exception of batch size 16. + +![P3 benchmark, two workers](images/mps_p3_two_worker.png) + +## Summary +In the previous section we saw that by enabling MPS for two workers running the same model we receive mixed results. +For the smaller G4 instance we only saw benefits in certain operation points while we saw more consistent improvements for the bigger P3 instance. +This suggests that the benefit in terms of throughput for running a deployment with MPS are highly workload and environment dependent and need to be determined for specific situations using appropriate benchmarks and tools. +It should be noted that the previous benchmark solely focused on throughput and neglected latency and memory footprint. +As using MPS will only create a single CUDA context more workers can be packed to the same GPU which needs to be considered as well in the according scenarios. diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index bb4b9c4c44..bb9f6e1c33 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1025,3 +1025,5 @@ CodeQL Dependabot Snyk pythonversion +MPS +mps From 41a3af3921a006ddc515b5fff310e05e27734128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6msl?= <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 27 Mar 2023 23:38:57 +0200 Subject: [PATCH 023/172] Fix regex formatting (#2172) Co-authored-by: Naman Nandan Co-authored-by: Ankith Gunapal --- docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index 167bf8da2c..5d190f8ac1 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -288,7 +288,7 @@ the backend workers convert "Bytearray to utf-8 string" when the Content-Type of * `max_request_size` : The maximum allowable request size that the Torchserve accepts, in bytes. Default: 6553500 * `max_response_size` : The maximum allowable response size that the Torchserve sends, in bytes. Default: 6553500 * `limit_max_image_pixels` : Default value is true (Use default [PIL.Image.MAX_IMAGE_PIXELS](https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.MAX_IMAGE_PIXELS)). If this is set to "false", set PIL.Image.MAX_IMAGE_PIXELS = None in backend default vision handler for large image payload. -* `allowed_urls` : Comma separated regex of allowed source URL(s) from where models can be registered. Default: "file://.*|http(s)?://.*" (all URLs and local file system) +* `allowed_urls` : Comma separated regex of allowed source URL(s) from where models can be registered. Default: `file://.*|http(s)?://.*` (all URLs and local file system) e.g. : To allow base URLs `https://s3.amazonaws.com/` and `https://torchserve.pytorch.org/` use the following regex string `allowed_urls=https://s3.amazonaws.com/.*,https://torchserve.pytorch.org/.*` * `workflow_store` : Path of workflow store directory. Defaults to model store directory. * `disable_system_metrics` : Disable collection of system metrics when set to "true". Default value is "false". From d0510ba4fb6bd63a10eb1af1660155e7376ebcaf Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Tue, 28 Mar 2023 00:04:50 +0000 Subject: [PATCH 024/172] Feature/grpc streaming (#2186) * feat:grpc server side streaming * add regression test for grpc stream * add word in lint spell list * fmt * fmt * update doc * add LLMs in wordlist * update doc --- docs/grpc_api.md | 26 ++++ .../pytorch/serve/grpcimpl/InferenceImpl.java | 48 ++++--- .../java/org/pytorch/serve/job/GRPCJob.java | 43 +++--- .../main/java/org/pytorch/serve/job/Job.java | 9 +- .../serve/util/messages/BaseModelRequest.java | 4 + .../serve/util/messages/RequestInput.java | 1 + .../serve/util/messages/WorkerCommands.java | 4 +- .../pytorch/serve/wlm/BatchAggregator.java | 16 ++- .../java/org/pytorch/serve/wlm/Model.java | 12 +- .../org/pytorch/serve/wlm/WorkerThread.java | 68 ++++++--- .../src/main/resources/proto/inference.proto | 3 + test/pytest/test_gRPC_inference_api.py | 135 ++++++++++++++---- ts/context.py | 2 + ts/model_service_worker.py | 8 +- ts/protocol/otf_message_handler.py | 15 +- ts/service.py | 3 + ts_scripts/spellcheck_conf/wordlist.txt | 2 + ts_scripts/torchserve_grpc_client.py | 29 ++++ 18 files changed, 328 insertions(+), 100 deletions(-) diff --git a/docs/grpc_api.md b/docs/grpc_api.md index 4583b23b72..d533044736 100644 --- a/docs/grpc_api.md +++ b/docs/grpc_api.md @@ -9,6 +9,7 @@ TorchServe provides following gRPCs apis * [Inference API](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/resources/proto/inference.proto) - **Ping** : Gets the health status of the running server - **Predictions** : Gets predictions from the served model + - **StreamPredictions** : Gets server side streaming predictions from the saved model * [Management API](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/resources/proto/management.proto) - **RegisterModel** : Serve a model/model-version on TorchServe @@ -70,3 +71,28 @@ python ts_scripts/torchserve_grpc_client.py infer densenet161 examples/image_cla ```bash python ts_scripts/torchserve_grpc_client.py unregister densenet161 ``` +## GRPC Server Side Streaming +TorchServe GRPC APIs adds a server side streaming of the inference API "StreamPredictions" to allow a sequence of inference responses to be sent over the same GRPC stream. This new API is only recommended for use case when the inference latency of the full response is high and the inference intermediate results are sent to client. An example could be LLMs for generative applications, where generating "n" number of tokens can have high latency, in this case user can receive each generated token once ready until the full response completes. This new API automatically forces the batchSize to be one. + +``` +service InferenceAPIsService { + // Check health status of the TorchServe server. + rpc Ping(google.protobuf.Empty) returns (TorchServeHealthResponse) {} + + // Predictions entry point to get inference using default model version. + rpc Predictions(PredictionsRequest) returns (PredictionResponse) {} + + // Streaming response for an inference request. + rpc StreamPredictions(PredictionsRequest) returns (stream PredictionResponse) {} +} +``` +Backend handler calls "send_intermediate_predict_response" to send one intermediate result to frontend, and return the last result as the existing style. For example +``` +from ts.protocol.otf_message_handler import send_intermediate_predict_response + +def handle(data, context): + if type(data) is list: + for i in range (3): + send_intermediate_predict_response(["intermediate_response"], context.request_ids, "Intermediate Prediction success", 200, context) + return ["hello world "] +``` \ No newline at end of file diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java index 7d0e5159de..a2b823cdea 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java @@ -62,6 +62,33 @@ public void ping(Empty request, StreamObserver respons @Override public void predictions( PredictionsRequest request, StreamObserver responseObserver) { + prediction(request, responseObserver, WorkerCommands.PREDICT); + } + + @Override + public void streamPredictions( + PredictionsRequest request, StreamObserver responseObserver) { + logger.info("streamPredictions get req"); + prediction(request, responseObserver, WorkerCommands.STREAMPREDICT); + } + + private void sendErrorResponse( + StreamObserver responseObserver, + Status status, + Exception e, + String description) { + responseObserver.onError( + status.withDescription(e.getMessage()) + .augmentDescription( + description == null ? e.getClass().getCanonicalName() : description) + .withCause(e) + .asRuntimeException()); + } + + private void prediction( + PredictionsRequest request, + StreamObserver responseObserver, + WorkerCommands workerCmd) { ((ServerCallStreamObserver) responseObserver) .setOnCancelHandler( () -> { @@ -93,13 +120,7 @@ public void predictions( } MetricAggregator.handleInferenceMetric(modelName, modelVersion); - Job job = - new GRPCJob( - responseObserver, - modelName, - modelVersion, - WorkerCommands.PREDICT, - inputData); + Job job = new GRPCJob(responseObserver, modelName, modelVersion, workerCmd, inputData); try { if (!ModelManager.getInstance().addJob(job)) { @@ -113,17 +134,4 @@ public void predictions( sendErrorResponse(responseObserver, Status.INTERNAL, e, null); } } - - private void sendErrorResponse( - StreamObserver responseObserver, - Status status, - Exception e, - String description) { - responseObserver.onError( - status.withDescription(e.getMessage()) - .augmentDescription( - description == null ? e.getClass().getCanonicalName() : description) - .withCause(e) - .asRuntimeException()); - } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java index 4735710226..8ad47ef06e 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java @@ -1,5 +1,7 @@ package org.pytorch.serve.job; +import static org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT; + import com.google.protobuf.ByteString; import io.grpc.Status; import io.grpc.stub.StreamObserver; @@ -60,28 +62,33 @@ public void response( Map responseHeaders) { ByteString output = ByteString.copyFrom(body); - if (this.getCmd() == WorkerCommands.PREDICT) { + if (this.getCmd() == WorkerCommands.PREDICT + || this.getCmd() == WorkerCommands.STREAMPREDICT) { PredictionResponse reply = PredictionResponse.newBuilder().setPrediction(output).build(); predictionResponseObserver.onNext(reply); - predictionResponseObserver.onCompleted(); + if (this.getCmd() == WorkerCommands.PREDICT + || (this.getCmd() == WorkerCommands.STREAMPREDICT + && responseHeaders.get(TS_STREAM_NEXT).equals("false"))) { + predictionResponseObserver.onCompleted(); - logger.debug( - "Waiting time ns: {}, Backend time ns: {}", - getScheduled() - getBegin(), - System.nanoTime() - getScheduled()); - String queueTime = - String.valueOf( - TimeUnit.MILLISECONDS.convert( - getScheduled() - getBegin(), TimeUnit.NANOSECONDS)); - loggerTsMetrics.info( - "{}", - new Metric( - "QueueTime", - queueTime, - "ms", - ConfigManager.getInstance().getHostName(), - DIMENSION)); + logger.debug( + "Waiting time ns: {}, Backend time ns: {}", + getScheduled() - getBegin(), + System.nanoTime() - getScheduled()); + String queueTime = + String.valueOf( + TimeUnit.MILLISECONDS.convert( + getScheduled() - getBegin(), TimeUnit.NANOSECONDS)); + loggerTsMetrics.info( + "{}", + new Metric( + "QueueTime", + queueTime, + "ms", + ConfigManager.getInstance().getHostName(), + DIMENSION)); + } } else if (this.getCmd() == WorkerCommands.DESCRIBE) { try { ArrayList respList = diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java index d3c62c753e..a17ebff8ba 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java @@ -1,5 +1,7 @@ package org.pytorch.serve.job; +import static org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT; + import java.util.Map; import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.util.messages.WorkerCommands; @@ -20,6 +22,9 @@ public Job(String modelName, String version, WorkerCommands cmd, RequestInput in this.modelVersion = version; begin = System.nanoTime(); scheduled = begin; + if (cmd == WorkerCommands.STREAMPREDICT) { + input.updateHeaders(TS_STREAM_NEXT, "true"); + } } public String getJobId() { @@ -39,7 +44,9 @@ public WorkerCommands getCmd() { } public boolean isControlCmd() { - return !WorkerCommands.PREDICT.equals(cmd) && !WorkerCommands.DESCRIBE.equals(cmd); + return !WorkerCommands.PREDICT.equals(cmd) + && !WorkerCommands.STREAMPREDICT.equals(cmd) + && !WorkerCommands.DESCRIBE.equals(cmd); } public RequestInput getPayload() { diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/messages/BaseModelRequest.java b/frontend/server/src/main/java/org/pytorch/serve/util/messages/BaseModelRequest.java index a567d10818..3d3e57095c 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/messages/BaseModelRequest.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/messages/BaseModelRequest.java @@ -16,6 +16,10 @@ public WorkerCommands getCommand() { return command; } + public void setCommand(WorkerCommands workerCommands) { + this.command = workerCommands; + } + public String getModelName() { return modelName; } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java b/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java index 8c4d34904f..113620f495 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java @@ -7,6 +7,7 @@ import java.util.Map; public class RequestInput { + public static final String TS_STREAM_NEXT = "ts_stream_next"; private String requestId; private Map headers; diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/messages/WorkerCommands.java b/frontend/server/src/main/java/org/pytorch/serve/util/messages/WorkerCommands.java index ceffd366c7..69ba0c80fe 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/messages/WorkerCommands.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/messages/WorkerCommands.java @@ -12,7 +12,9 @@ public enum WorkerCommands { @SerializedName("stats") STATS("stats"), @SerializedName("describe") - DESCRIBE("describe"); + DESCRIBE("describe"), + @SerializedName("streampredict") + STREAMPREDICT("streampredict"); private String command; diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java index 9aa246bc8a..e60dfd5433 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java @@ -1,5 +1,7 @@ package org.pytorch.serve.wlm; +import static org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT; + import java.util.LinkedHashMap; import java.util.Map; import org.pytorch.serve.job.Job; @@ -9,6 +11,7 @@ import org.pytorch.serve.util.messages.ModelWorkerResponse; import org.pytorch.serve.util.messages.Predictions; import org.pytorch.serve.util.messages.RequestInput; +import org.pytorch.serve.util.messages.WorkerCommands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,6 +51,9 @@ public BaseModelRequest getRequest(String threadName, WorkerState state) } return new ModelLoadModelRequest(model, gpuId); } else { + if (j.getCmd() == WorkerCommands.STREAMPREDICT) { + req.setCommand(WorkerCommands.STREAMPREDICT); + } j.setScheduled(); req.addRequest(j.getPayload()); } @@ -56,8 +62,8 @@ public BaseModelRequest getRequest(String threadName, WorkerState state) } public void sendResponse(ModelWorkerResponse message) { + boolean jobDone = true; // TODO: Handle prediction level code - if (message.getCode() == 200) { if (jobs.isEmpty()) { // this is from initial load. @@ -71,6 +77,10 @@ public void sendResponse(ModelWorkerResponse message) { throw new IllegalStateException( "Unexpected job in sendResponse() with 200 status code: " + jobId); } + if (job.getCmd() == WorkerCommands.STREAMPREDICT + && prediction.getHeaders().get(TS_STREAM_NEXT).equals("true")) { + jobDone = false; + } job.response( prediction.getResp(), prediction.getContentType(), @@ -90,7 +100,9 @@ public void sendResponse(ModelWorkerResponse message) { j.getValue().sendError(message.getCode(), message.getMessage()); } } - jobs.clear(); + if (jobDone) { + jobs.clear(); + } } public void sendError(BaseModelRequest message, String error, int status) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 370c3a40cf..86fb7e5eba 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -40,7 +40,6 @@ public class Model { private ReentrantLock lock; private int responseTimeout; private ModelVersionName modelVersionName; - private boolean isWorkflowModel; // Total number of subsequent inference request failures @@ -201,8 +200,9 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) logger.trace("get first job: {}", Objects.requireNonNull(j).getJobId()); jobsRepo.put(j.getJobId(), j); - // describe request job batch size always is 1 - if (j.getCmd() == WorkerCommands.DESCRIBE) { + // batch size always is 1 for describe request job and stream prediction request job + if (j.getCmd() == WorkerCommands.DESCRIBE + || j.getCmd() == WorkerCommands.STREAMPREDICT) { return; } long begin = System.currentTimeMillis(); @@ -212,8 +212,10 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) break; } long end = System.currentTimeMillis(); - // describe request job batch size always is 1 - if (j.getCmd() == WorkerCommands.DESCRIBE) { + // job batch size always is 1 when request is + // describe or stream prediction + if (j.getCmd() == WorkerCommands.DESCRIBE + || j.getCmd() == WorkerCommands.STREAMPREDICT) { // Add the job back into the jobsQueue jobsQueue.addFirst(j); break; diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index cb126452bc..22e9ffd46c 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -1,5 +1,7 @@ package org.pytorch.serve.wlm; +import static org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT; + import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFutureListener; @@ -32,6 +34,7 @@ import org.pytorch.serve.util.codec.ModelResponseDecoder; import org.pytorch.serve.util.messages.BaseModelRequest; import org.pytorch.serve.util.messages.InputParameter; +import org.pytorch.serve.util.messages.ModelInferenceRequest; import org.pytorch.serve.util.messages.ModelWorkerResponse; import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.util.messages.WorkerCommands; @@ -74,10 +77,9 @@ public class WorkerThread implements Runnable { private long startTime; private AtomicReference currentThread = new AtomicReference<>(); private String workerId; - private WorkerState state; - private WorkerLifeCycle lifeCycle; + private int responseTimeout; public WorkerState getState() { return state; @@ -170,7 +172,7 @@ public WorkerThread( @Override public void run() { - int responseTimeout = model.getResponseTimeout(); + responseTimeout = model.getResponseTimeout(); Thread thread = Thread.currentThread(); thread.setName(getWorkerName()); currentThread.set(thread); @@ -184,28 +186,55 @@ public void run() { req = aggregator.getRequest(workerId, state); long wtStartTime = System.currentTimeMillis(); - logger.info("Flushing req. to backend at: " + wtStartTime); + logger.info("Flushing req.cmd {} to backend at: {}", req.getCommand(), wtStartTime); backendChannel.writeAndFlush(req).sync(); - + boolean isStreaming = + req.getCommand() == WorkerCommands.STREAMPREDICT ? true : false; + ModelWorkerResponse reply = null; + long duration = 0; long begin = System.currentTimeMillis(); - ModelWorkerResponse reply = replies.poll(responseTimeout, TimeUnit.SECONDS); - - long duration = System.currentTimeMillis() - begin; - logger.info("Backend response time: {}", duration); - - if (reply != null) { - aggregator.sendResponse(reply); - } else if (req.getCommand() != WorkerCommands.DESCRIBE) { - int val = model.incrFailedInfReqs(); - logger.error("Number or consecutive unsuccessful inference {}", val); - throw new WorkerInitializationException( - "Backend worker did not respond in given time"); + + if (!isStreaming) { + reply = replies.poll(responseTimeout, TimeUnit.SECONDS); + + duration = System.currentTimeMillis() - begin; + logger.info("Backend response time: {}", duration); + + if (reply != null) { + aggregator.sendResponse(reply); + } else if (req.getCommand() != WorkerCommands.DESCRIBE) { + int val = model.incrFailedInfReqs(); + logger.error("Number or consecutive unsuccessful inference {}", val); + throw new WorkerInitializationException( + "Backend worker did not respond in given time"); + } + } else { + ModelInferenceRequest inferReq = (ModelInferenceRequest) req; + boolean streamNext = true; + while (streamNext) { + reply = replies.poll(responseTimeout, TimeUnit.SECONDS); + if (reply.getPredictions() + .get(0) + .getHeaders() + .get(TS_STREAM_NEXT) + .equals("false")) { + duration = System.currentTimeMillis() - begin; + logger.info("Backend response time: {}", duration); + streamNext = false; + } + if (reply != null) { + aggregator.sendResponse(reply); + } + } } switch (req.getCommand()) { case PREDICT: model.resetFailedInfReqs(); break; + case STREAMPREDICT: + model.resetFailedInfReqs(); + break; case LOAD: if (reply.getCode() == 200) { setState(WorkerState.WORKER_MODEL_LOADED, HttpURLConnection.HTTP_OK); @@ -462,7 +491,10 @@ private class WorkerHandler extends SimpleChannelInboundHandler Date: Wed, 22 Mar 2023 23:12:47 +0000 Subject: [PATCH 025/172] Add zip-store option to model-archiver tool --- model-archiver/model_archiver/arg_parser.py | 5 +- .../model_archiver/model_packaging_utils.py | 14 +- .../tests/integ_tests/configuration.json | 15 +- .../test_integration_model_archiver.py | 85 ++++++--- .../unit_tests/test_model_packaging_utils.py | 175 ++++++++++++------ 5 files changed, 200 insertions(+), 94 deletions(-) diff --git a/model-archiver/model_archiver/arg_parser.py b/model-archiver/model_archiver/arg_parser.py index 6291b1b122..858ae2e755 100644 --- a/model-archiver/model_archiver/arg_parser.py +++ b/model-archiver/model_archiver/arg_parser.py @@ -100,7 +100,7 @@ def export_model_args_parser(): required=False, type=str, default="default", - choices=["tgz", "no-archive", "default"], + choices=["tgz", "no-archive", "zip-store", "default"], help="The format in which the model artifacts are archived.\n" '"tgz": This creates the model-archive in .tar.gz format.\n' 'If platform hosting TorchServe requires model-artifacts to be in ".tar.gz"\n' @@ -109,6 +109,9 @@ def export_model_args_parser(): 'at "export-path/{model-name}" location. As a result of this choice, \n' 'MANIFEST file will be created at "export-path/{model-name}" location\n' "without archiving these model files\n" + '"zip-store": This creates the model-archive in .mar format\n' + "but will skip deflating the files to speed up creation. Mainly used\n" + "for testing purposes\n" '"default": This creates the model-archive in .mar format.\n' "This is the default archiving format. Models archived in this format\n" "will be readily hostable on native TorchServe.\n", diff --git a/model-archiver/model_archiver/model_packaging_utils.py b/model-archiver/model_archiver/model_packaging_utils.py index 9775f093c2..db68129f5d 100644 --- a/model-archiver/model_archiver/model_packaging_utils.py +++ b/model-archiver/model_archiver/model_packaging_utils.py @@ -16,7 +16,12 @@ from .manifest_components.model import Model from .model_archiver_error import ModelArchiverError -archiving_options = {"tgz": ".tar.gz", "no-archive": "", "default": ".mar"} +archiving_options = { + "tgz": ".tar.gz", + "no-archive": "", + "zip-store": ".mar", + "default": ".mar", +} model_handlers = { @@ -217,7 +222,12 @@ def archive( with open(os.path.join(manifest_path, MANIFEST_FILE_NAME), "w") as f: f.write(manifest) else: - with zipfile.ZipFile(mar_path, "w", zipfile.ZIP_DEFLATED) as z: + zip_mode = ( + zipfile.ZIP_STORED + if archive_format == "zip-store" + else zipfile.ZIP_DEFLATED + ) + with zipfile.ZipFile(mar_path, "w", zip_mode) as z: ModelExportUtils.archive_dir( model_path, z, archive_format, model_name ) diff --git a/model-archiver/model_archiver/tests/integ_tests/configuration.json b/model-archiver/model_archiver/tests/integ_tests/configuration.json index 819164e7b5..a809a49c52 100644 --- a/model-archiver/model_archiver/tests/integ_tests/configuration.json +++ b/model-archiver/model_archiver/tests/integ_tests/configuration.json @@ -60,6 +60,19 @@ "version": "1.0", "force": true }, + { + "name": "packaging_zip_store_mar", + "model-name": "model", + "model-file": "model_archiver/tests/integ_tests/resources/regular_model/test_model.py", + "serialized-file": "model_archiver/tests/integ_tests/resources/regular_model/test_serialized_file.pt", + "handler": "model_archiver/tests/integ_tests/resources/regular_model/test_handler.py", + "extra-files": "model_archiver/tests/integ_tests/resources/regular_model/test_index_to_name.json", + "export-path": "model", + "archive-format": "zip-store", + "iterations": 2, + "version": "1.0", + "force": true + }, { "name": "packaging_mar_with_handler_name", "model-name": "model", @@ -85,4 +98,4 @@ "iterations": 2, "version": "1.0", "force": true - }] \ No newline at end of file + }] diff --git a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py index c68a3a45c9..ae6eaf168b 100644 --- a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py +++ b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py @@ -180,38 +180,43 @@ def make_absolute(paths): return test -def test_model_archiver(): +def load_integ_tests(): with open(TEST_ROOT_DIR.joinpath(INTEG_TEST_CONFIG_FILE), "r") as f: tests = json.loads(f.read()) - keys = ( - "model-file", - "serialized-file", - "handler", - "extra-files", - ) - tests = [make_paths_absolute(t, keys) for t in tests] - for test in tests: - # tar.gz format problem on windows hence ignore - if platform.system() == "Windows" and test["archive-format"] == "tgz": - continue - try: - test["export-path"] = os.path.join( - tempfile.gettempdir(), test["export-path"] - ) - delete_file_path(test.get("export-path")) - create_file_path(test.get("export-path")) - test["runtime"] = test.get("runtime", DEFAULT_RUNTIME) - test["model-name"] = ( - test["model-name"] + "_" + str(int(time.time() * 1000.0)) - ) - cmd = build_cmd(test) - if test.get("force"): - cmd += " -f" + keys = ( + "model-file", + "serialized-file", + "handler", + "extra-files", + ) + return [make_paths_absolute(t, keys) for t in tests] - if run_test(test, cmd): - validate(test) - finally: - delete_file_path(test.get("export-path")) + +def test_model_archiver(): + tests = load_integ_tests() + + for test in tests: + # tar.gz format problem on windows hence ignore + if platform.system() == "Windows" and test["archive-format"] == "tgz": + continue + try: + test["export-path"] = os.path.join( + tempfile.gettempdir(), test["export-path"] + ) + delete_file_path(test.get("export-path")) + create_file_path(test.get("export-path")) + test["runtime"] = test.get("runtime", DEFAULT_RUNTIME) + test["model-name"] = ( + test["model-name"] + "_" + str(int(time.time() * 1000.0)) + ) + cmd = build_cmd(test) + if test.get("force"): + cmd += " -f" + + if run_test(test, cmd): + validate(test) + finally: + delete_file_path(test.get("export-path")) def test_default_handlers(): @@ -238,5 +243,27 @@ def test_default_handlers(): delete_file_path(test.get("export-path")) +def test_zip_store(tmp_path): + tests = load_integ_tests() + tests = list(filter(lambda t: t["name"] == "packaging_zip_store_mar", tests)) + assert len(tests) == 1 + test = tests[0] + + test["export-path"] = tmp_path + test["iterations"] = 1 + + test["model-name"] = "zip-store" + run_test(test, build_cmd(test)) + + test["model-name"] = "zip" + test["archive-format"] = "default" + run_test(test, build_cmd(test)) + + stored_size = Path(tmp_path).joinpath("zip-store.mar").stat().st_size + zipped_size = Path(tmp_path).joinpath("zip.mar").stat().st_size + + assert zipped_size < stored_size + + if __name__ == "__main__": test_model_archiver() diff --git a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py index 36a15fd2da..9de7c38f19 100644 --- a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py +++ b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py @@ -1,13 +1,11 @@ - - import json import platform +from collections import namedtuple import pytest -from collections import namedtuple -from model_archiver.model_packaging_utils import ModelExportUtils from model_archiver.manifest_components.manifest import RuntimeType from model_archiver.model_archiver_error import ModelArchiverError +from model_archiver.model_packaging_utils import ModelExportUtils # noinspection PyClassHasNoInit @@ -15,7 +13,8 @@ def _validate_mar(patches): if platform.system() == "Windows": patches.path_exists.assert_called_once_with("/Users/dummyUser\\some-model.mar") else: - patches.path_exists.assert_called_once_with('/Users/dummyUser/some-model.mar') + patches.path_exists.assert_called_once_with("/Users/dummyUser/some-model.mar") + # noinspection PyClassHasNoInit @@ -24,102 +23,117 @@ class TestExportModelUtils: # noinspection PyClassHasNoInit class TestMarExistence: - @pytest.fixture() def patches(self, mocker): - Patches = namedtuple('Patches', ['getcwd', 'path_exists']) - patches = Patches(mocker.patch('os.getcwd'), mocker.patch('os.path.exists')) - patches.getcwd.return_value = '/Users/dummyUser' + Patches = namedtuple("Patches", ["getcwd", "path_exists"]) + patches = Patches(mocker.patch("os.getcwd"), mocker.patch("os.path.exists")) + patches.getcwd.return_value = "/Users/dummyUser" return patches def test_export_file_is_none(self, patches): patches.path_exists.return_value = False - ret_val = ModelExportUtils.check_mar_already_exists('some-model', None, False) + ret_val = ModelExportUtils.check_mar_already_exists( + "some-model", None, False + ) _validate_mar(patches) assert ret_val == "/Users/dummyUser" def test_export_file_is_not_none(self, patches): patches.path_exists.return_value = False - ModelExportUtils.check_mar_already_exists('some-model', '/Users/dummyUser/', False) - patches.path_exists.assert_called_once_with('/Users/dummyUser/some-model.mar') + ModelExportUtils.check_mar_already_exists( + "some-model", "/Users/dummyUser/", False + ) + patches.path_exists.assert_called_once_with( + "/Users/dummyUser/some-model.mar" + ) def test_export_file_already_exists_with_override(self, patches): patches.path_exists.return_value = True - ModelExportUtils.check_mar_already_exists('some-model', None, True) + ModelExportUtils.check_mar_already_exists("some-model", None, True) _validate_mar(patches) def test_export_file_already_exists_with_override_false(self, patches): patches.path_exists.return_value = True with pytest.raises(ModelArchiverError): - ModelExportUtils.check_mar_already_exists('some-model', None, False) + ModelExportUtils.check_mar_already_exists("some-model", None, False) _validate_mar(patches) def test_export_file_is_none_tar(self, patches): patches.path_exists.return_value = False - ret_val = ModelExportUtils.check_mar_already_exists('some-model', None, False, archive_format='tgz') + ret_val = ModelExportUtils.check_mar_already_exists( + "some-model", None, False, archive_format="tgz" + ) if platform.system() == "Windows": - patches.path_exists.assert_called_once_with("/Users/dummyUser\\some-model.tar.gz") + patches.path_exists.assert_called_once_with( + "/Users/dummyUser\\some-model.tar.gz" + ) else: - patches.path_exists.assert_called_once_with("/Users/dummyUser/some-model.tar.gz") + patches.path_exists.assert_called_once_with( + "/Users/dummyUser/some-model.tar.gz" + ) assert ret_val == "/Users/dummyUser" class TestArchiveTypes: def test_archive_types(self): - from model_archiver.model_packaging_utils import archiving_options as ar_opts + from model_archiver.model_packaging_utils import ( + archiving_options as ar_opts, + ) + assert ar_opts.get("tgz") == ".tar.gz" assert ar_opts.get("no-archive") == "" + assert ar_opts.get("zip-store") == ".mar" assert ar_opts.get("default") == ".mar" - assert len(ar_opts) == 3 + assert len(ar_opts) == 4 # noinspection PyClassHasNoInit class TestCustomModelTypes: - - model_path = '/Users/dummyUser' + + model_path = "/Users/dummyUser" @pytest.fixture() def patches(self, mocker): - Patches = namedtuple('Patches', ['utils', 'listdir']) - patch = Patches(mocker.patch('model_archiver.model_packaging_utils.ModelExportUtils'), - mocker.patch('os.listdir')) + Patches = namedtuple("Patches", ["utils", "listdir"]) + patch = Patches( + mocker.patch("model_archiver.model_packaging_utils.ModelExportUtils"), + mocker.patch("os.listdir"), + ) - patch.listdir.return_value = {'a', 'b', 'c'} + patch.listdir.return_value = {"a", "b", "c"} return patch # noinspection PyClassHasNoInit class TestFindUnique: - def test_with_count_zero(self): - files = ['a.txt', 'b.txt', 'c.txt'] - suffix = '.mxnet' + files = ["a.txt", "b.txt", "c.txt"] + suffix = ".mxnet" val = ModelExportUtils.find_unique(files, suffix) assert val is None def test_with_count_one(self): - files = ['a.mxnet', 'b.txt', 'c.txt'] - suffix = '.mxnet' + files = ["a.mxnet", "b.txt", "c.txt"] + suffix = ".mxnet" val = ModelExportUtils.find_unique(files, suffix) - assert val == 'a.mxnet' + assert val == "a.mxnet" def test_with_exit(self): - files = ['a.onnx', 'b.onnx', 'c.txt'] - suffix = '.onnx' + files = ["a.onnx", "b.onnx", "c.txt"] + suffix = ".onnx" with pytest.raises(ModelArchiverError): ModelExportUtils.find_unique(files, suffix) # noinspection PyClassHasNoInit class TestCleanTempFiles: - @pytest.fixture() def patches(self, mocker): - Patches = namedtuple('Patches', ['remove']) - patches = Patches(mocker.patch('os.remove')) + Patches = namedtuple("Patches", ["remove"]) + patches = Patches(mocker.patch("os.remove")) patches.remove.return_value = True return patches def test_clean_call(self, patches): - temp_files = ['a', 'b', 'c'] + temp_files = ["a", "b", "c"] ModelExportUtils.clean_temp_files(temp_files) patches.remove.assert_called() @@ -127,21 +141,26 @@ def test_clean_call(self, patches): # noinspection PyClassHasNoInit class TestGenerateManifestProps: - class Namespace: def __init__(self, **kwargs): self.__dict__.update(kwargs) - model_name = 'my-model' - handler = 'a.py::my-awesome-func' - serialized_file = 'model.pt' - model_file = 'model.pt' + model_name = "my-model" + handler = "a.py::my-awesome-func" + serialized_file = "model.pt" + model_file = "model.pt" version = "1.0" requirements_file = "requirements.txt" - args = Namespace(model_name=model_name, handler=handler, runtime=RuntimeType.PYTHON.value, - serialized_file=serialized_file, model_file=model_file, version=version, - requirements_file=requirements_file) + args = Namespace( + model_name=model_name, + handler=handler, + runtime=RuntimeType.PYTHON.value, + serialized_file=serialized_file, + model_file=model_file, + version=version, + requirements_file=requirements_file, + ) def test_model(self): mod = ModelExportUtils.generate_model(self.args) @@ -151,21 +170,37 @@ def test_model(self): def test_manifest_json(self): manifest = ModelExportUtils.generate_manifest_json(self.args) manifest_json = json.loads(manifest) - assert manifest_json['runtime'] == RuntimeType.PYTHON.value - assert 'model' in manifest_json - assert 'license' not in manifest_json + assert manifest_json["runtime"] == RuntimeType.PYTHON.value + assert "model" in manifest_json + assert "license" not in manifest_json # noinspection PyClassHasNoInit class TestModelNameRegEx: - def test_regex_pass(self): - model_names = ['my-awesome-model', 'Aa.model', 'a', 'aA.model', 'a1234.model', 'a-A-A.model', '123-abc'] + model_names = [ + "my-awesome-model", + "Aa.model", + "a", + "aA.model", + "a1234.model", + "a-A-A.model", + "123-abc", + ] for m in model_names: ModelExportUtils.check_model_name_regex_or_exit(m) def test_regex_fail(self): - model_names = ['abc%', '123$abc', 'abc!123', '@123', '(model', 'mdoel)', - '12*model-a.model', '##.model', '-.model'] + model_names = [ + "abc%", + "123$abc", + "abc!123", + "@123", + "(model", + "mdoel)", + "12*model-a.model", + "##.model", + "-.model", + ] for m in model_names: with pytest.raises(ModelArchiverError): ModelExportUtils.check_model_name_regex_or_exit(m) @@ -173,30 +208,48 @@ def test_regex_fail(self): # noinspection PyClassHasNoInit class TestFileFilter: - files_to_exclude = {'abc.onnx'} + files_to_exclude = {"abc.onnx"} def test_with_return_false(self): - assert ModelExportUtils.file_filter('abc.onnx', self.files_to_exclude) is False + assert ( + ModelExportUtils.file_filter("abc.onnx", self.files_to_exclude) is False + ) def test_with_pyc(self): - assert ModelExportUtils.file_filter('abc.pyc', self.files_to_exclude) is False + assert ( + ModelExportUtils.file_filter("abc.pyc", self.files_to_exclude) is False + ) def test_with_ds_store(self): - assert ModelExportUtils.file_filter('.DS_Store', self.files_to_exclude) is False + assert ( + ModelExportUtils.file_filter(".DS_Store", self.files_to_exclude) + is False + ) def test_with_return_true(self): - assert ModelExportUtils.file_filter('abc.mxnet', self.files_to_exclude) is True + assert ( + ModelExportUtils.file_filter("abc.mxnet", self.files_to_exclude) is True + ) # noinspection PyClassHasNoInit class TestDirectoryFilter: - unwanted_dirs = {'__MACOSX', '__pycache__'} + unwanted_dirs = {"__MACOSX", "__pycache__"} def test_with_unwanted_dirs(self): - assert ModelExportUtils.directory_filter('__MACOSX', self.unwanted_dirs) is False + assert ( + ModelExportUtils.directory_filter("__MACOSX", self.unwanted_dirs) + is False + ) def test_with_starts_with_dot(self): - assert ModelExportUtils.directory_filter('.gitignore', self.unwanted_dirs) is False + assert ( + ModelExportUtils.directory_filter(".gitignore", self.unwanted_dirs) + is False + ) def test_with_return_true(self): - assert ModelExportUtils.directory_filter('my-model', self.unwanted_dirs) is True + assert ( + ModelExportUtils.directory_filter("my-model", self.unwanted_dirs) + is True + ) From b6ad061575e7d962cec98a2d3c6491fb62f31365 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 23 Mar 2023 21:52:59 +0000 Subject: [PATCH 026/172] Moved test loading function of model-archiver integration test into conftest file --- .../model_archiver/tests/conftest.py | 50 +++++++++++++++ .../test_integration_model_archiver.py | 61 ++++++------------- 2 files changed, 70 insertions(+), 41 deletions(-) create mode 100644 model-archiver/model_archiver/tests/conftest.py diff --git a/model-archiver/model_archiver/tests/conftest.py b/model-archiver/model_archiver/tests/conftest.py new file mode 100644 index 0000000000..78fc4d52f7 --- /dev/null +++ b/model-archiver/model_archiver/tests/conftest.py @@ -0,0 +1,50 @@ +import json +from pathlib import Path + +import pytest + +INTEG_TEST_CONFIG_FILE = "integ_tests/configuration.json" +DEFAULT_HANDLER_CONFIG_FILE = "integ_tests/default_handler_configuration.json" + +TEST_ROOT_DIR = Path(__file__).parent +MODEL_ARCHIVER_ROOT_DIR = Path(__file__).parents[2] + + +def make_paths_absolute(test, keys): + def make_absolute(paths): + if "," in paths: + return ",".join([make_absolute(p) for p in paths.split(",")]) + return MODEL_ARCHIVER_ROOT_DIR.joinpath(paths).as_posix() + + for k in keys: + test[k] = make_absolute(test[k]) + + return test + + +@pytest.fixture(name="integ_tests") +def load_integ_tests(): + with open(TEST_ROOT_DIR.joinpath(INTEG_TEST_CONFIG_FILE), "r") as f: + tests = json.loads(f.read()) + keys = ( + "model-file", + "serialized-file", + "handler", + "extra-files", + ) + return [make_paths_absolute(t, keys) for t in tests] + + +@pytest.fixture(name="default_handler_tests") +def load_default_handler_tests(): + with open(TEST_ROOT_DIR.joinpath(DEFAULT_HANDLER_CONFIG_FILE), "r") as f: + default_handler_tests = json.loads(f.read()) + keys = ( + "model-file", + "serialized-file", + "extra-files", + ) + default_handler_tests = [ + make_paths_absolute(t, keys) for t in default_handler_tests + ] + return default_handler_tests diff --git a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py index ae6eaf168b..8c2f0644da 100644 --- a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py +++ b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py @@ -180,22 +180,8 @@ def make_absolute(paths): return test -def load_integ_tests(): - with open(TEST_ROOT_DIR.joinpath(INTEG_TEST_CONFIG_FILE), "r") as f: - tests = json.loads(f.read()) - keys = ( - "model-file", - "serialized-file", - "handler", - "extra-files", - ) - return [make_paths_absolute(t, keys) for t in tests] - - -def test_model_archiver(): - tests = load_integ_tests() - - for test in tests: +def test_model_archiver(integ_tests): + for test in integ_tests: # tar.gz format problem on windows hence ignore if platform.system() == "Windows" and test["archive-format"] == "tgz": continue @@ -219,35 +205,28 @@ def test_model_archiver(): delete_file_path(test.get("export-path")) -def test_default_handlers(): - with open(TEST_ROOT_DIR.joinpath(DEFAULT_HANDLER_CONFIG_FILE), "r") as f: - tests = json.loads(f.read()) - keys = ( - "model-file", - "serialized-file", - "extra-files", - ) - tests = [make_paths_absolute(t, keys) for t in tests] - for test in tests: - cmd = build_cmd(test) - try: - delete_file_path(test.get("export-path")) - create_file_path(test.get("export-path")) +def test_default_handlers(default_handler_tests): + for test in default_handler_tests: + cmd = build_cmd(test) + try: + delete_file_path(test.get("export-path")) + create_file_path(test.get("export-path")) - if test.get("force"): - cmd += " -f" + if test.get("force"): + cmd += " -f" - if run_test(test, cmd): - validate(test) - finally: - delete_file_path(test.get("export-path")) + if run_test(test, cmd): + validate(test) + finally: + delete_file_path(test.get("export-path")) -def test_zip_store(tmp_path): - tests = load_integ_tests() - tests = list(filter(lambda t: t["name"] == "packaging_zip_store_mar", tests)) - assert len(tests) == 1 - test = tests[0] +def test_zip_store(tmp_path, integ_tests): + integ_tests = list( + filter(lambda t: t["name"] == "packaging_zip_store_mar", integ_tests) + ) + assert len(integ_tests) == 1 + test = integ_tests[0] test["export-path"] = tmp_path test["iterations"] = 1 From 8111e2963712473e72437989cd9586744f3b091c Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 23 Mar 2023 22:38:41 +0000 Subject: [PATCH 027/172] Added additional test to model-archiver unit test --- .../unit_tests/test_model_packaging_utils.py | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py index 9de7c38f19..6eaa4b8579 100644 --- a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py +++ b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py @@ -1,12 +1,15 @@ import json import platform +import shutil from collections import namedtuple +from pathlib import Path import pytest from model_archiver.manifest_components.manifest import RuntimeType from model_archiver.model_archiver_error import ModelArchiverError from model_archiver.model_packaging_utils import ModelExportUtils +MANIFEST_FILE = Path(__file__).parents[1].joinpath("integ_tests/MAR-INF/MANIFEST.json") # noinspection PyClassHasNoInit def _validate_mar(patches): @@ -253,3 +256,53 @@ def test_with_return_true(self): ModelExportUtils.directory_filter("my-model", self.unwanted_dirs) is True ) + + +def create_manifest_from_test_json(test_json): + test_ = {k.replace("-", "_"): v for k, v in test_json.items()} + test_["requirements_file"] = "" + test_["runtime"] = RuntimeType.PYTHON3.value + + args = namedtuple("Model", test_.keys())(**test_) + manifest = ModelExportUtils.generate_manifest_json(args) + return manifest + + +def test_archive_creation_with_zip_store(tmp_path, integ_tests): + integ_tests = list( + filter(lambda t: t["name"] == "packaging_zip_store_mar", integ_tests) + ) + assert len(integ_tests) == 1 + test = integ_tests[0] + + model_dir = Path(tmp_path).joinpath("model_dir") + model_dir.mkdir() + + keys = ( + "model-file", + "serialized-file", + "handler", + "extra-files", + ) + + for k in keys: + shutil.copy(test[k], model_dir) + + manifest = create_manifest_from_test_json(test) + + ModelExportUtils.archive( + tmp_path, + "zip-store", + model_dir.as_posix(), + manifest, + archive_format="zip-store", + ) + + ModelExportUtils.archive( + tmp_path, "zip", model_dir.as_posix(), manifest, archive_format="default" + ) + + stored_size = Path(tmp_path).joinpath("zip-store.mar").stat().st_size + zipped_size = Path(tmp_path).joinpath("zip.mar").stat().st_size + + assert zipped_size < stored_size From afe8a9b0f49f2c60a1a5e8e02b667802709c15c7 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Tue, 28 Mar 2023 23:22:43 +0000 Subject: [PATCH 028/172] Added zip-store help to README.md --- model-archiver/README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/model-archiver/README.md b/model-archiver/README.md index efca67c922..d3c56864a1 100644 --- a/model-archiver/README.md +++ b/model-archiver/README.md @@ -56,10 +56,11 @@ torch-model-archiver --model-name densenet161 --version 1.0 --model-file example ``` $ torch-model-archiver -h -usage: torch-model-archiver [-h] --model-name MODEL_NAME --version MODEL_VERSION_NUMBER - --model-file MODEL_FILE_PATH --serialized-file MODEL_SERIALIZED_PATH - --handler HANDLER [--runtime {python,python3}] - [--export-path EXPORT_PATH] [-f] [--requirements-file] +usage: torch-model-archiver [-h] --model-name MODEL_NAME --handler HANDLER --version MODEL_VERSION_NUMBER + [--model-file MODEL_FILE_PATH] [--serialized-file MODEL_SERIALIZED_PATH] + [--runtime {python,python3}] [--export-path EXPORT_PATH] + [--archive-format {tgz,no-archive,zip-store,default}] + [-f] [--requirements-file] Model Archiver Tool @@ -93,7 +94,7 @@ optional arguments: is an optional parameter. If --export-path is not specified, the file will be saved in the current working directory. - --archive-format {tgz,default} + --archive-format {tgz, no-archive, zip-store, default} The format in which the model artifacts are archived. "tgz": This creates the model-archive in .tar.gz format. If platform hosting requires model-artifacts to be in ".tar.gz" @@ -102,6 +103,9 @@ optional arguments: at "export-path/{model-name}" location. As a result of this choice, MANIFEST file will be created at "export-path/{model-name}" location without archiving these model files + "zip-store": This creates the model-archive in .mar format + but will skip deflating the files to speed up creation. Mainly used + for testing purposes "default": This creates the model-archive in .mar format. This is the default archiving format. Models archived in this format will be readily hostable on TorchServe. @@ -182,7 +186,7 @@ This will package all the model artifacts files and output `densenet_161.mar` in ### Model specific custom python requirements -Custom models/handlers may depend on different python packages which are not installed by-default as a part of `TorchServe` setup. +Custom models/handlers may depend on different python packages which are not installed by-default as a part of `TorchServe` setup. Supply a [python requirements](https://pip.pypa.io/en/stable/user_guide/#requirements-files) file containing the list of required python packages to be installed by `TorchServe` for seamless model serving using `--requirements-file` parameter while creating the model-archiver. Example: From 7d23cb2fe9814f589c4ee5c679ff0095032460f2 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Tue, 28 Mar 2023 13:22:40 -0700 Subject: [PATCH 029/172] Add NVIDIA MPS documentation to doc index --- docs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.md b/docs/index.md index 824d7ab259..523e672b38 100644 --- a/docs/index.md +++ b/docs/index.md @@ -49,3 +49,4 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch ea * [TorchServe on Kubernetes](https://github.com/pytorch/serve/blob/master/kubernetes/README.md#torchserve-on-kubernetes) - Demonstrates a Torchserve deployment in Kubernetes using Helm Chart supported in both Azure Kubernetes Service and Google Kubernetes service * [mlflow-torchserve](https://github.com/mlflow/mlflow-torchserve) - Deploy mlflow pipeline models into TorchServe * [Kubeflow pipelines](https://github.com/kubeflow/pipelines/tree/master/samples/contrib/pytorch-samples) - Kubeflow pipelines and Google Vertex AI Managed pipelines +* [NVIDIA MPS](mps.md) - Use NVIDIA MPS to optimize multi-worker deployment on a single GPU From 6b5d8c8b8037fbcfcc7e10f635539585319ff2da Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Tue, 28 Mar 2023 13:43:22 -0700 Subject: [PATCH 030/172] Add mps doc to content + change title --- docs/contents.rst | 1 + docs/mps.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/contents.rst b/docs/contents.rst index a6f23d8d45..5d33041f2f 100644 --- a/docs/contents.rst +++ b/docs/contents.rst @@ -16,6 +16,7 @@ model_zoo request_envelopes server + mps snapshot sphinx/requirements torchserve_on_win_native diff --git a/docs/mps.md b/docs/mps.md index 70cd1f93d2..4b10048435 100644 --- a/docs/mps.md +++ b/docs/mps.md @@ -1,4 +1,4 @@ -# Enabling NVIDIA MPS in TorchServe +# Running TorchServe with NVIDIA MPS In order to deploy ML models, TorchServe spins up each worker in a separate processes, thus isolating each worker from the others. Each process creates its own CUDA context to execute its kernels and access the allocated memory. From d662c267abac6a96465b5d44d41be988e3704214 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Wed, 29 Mar 2023 06:25:18 +0000 Subject: [PATCH 031/172] platform framework (#2193) * expand model archiver runtime type and add model config file * lmi frontend poc init * add modelConfig.java * try run_pippy * update archive modification * add model config file in mar file; frontend add torchrun and update connection b/w frontend and backend; update backend handler for pippy integration * clean up parameters * fix the start command * updated as per Li's suggestion * adding pippy all_compile * adding pippy all_compile * adding pippy all_compile, fix inference * fix Reply queue is full * adding device mapping * update device map * support torchelastic log * add torchrun config * fixed initialize and unit test * update model-config.yaml * update modelConfig * update archiver readme * update archiver readme * update ModelConfig and extend backend to parse model config yaml * add tp handler init * fix model config parser * update pippy_pptp_handler * get gpuid by rotating model's deviceIds * code clean up * update config yaml * update gradle * update docs * clean up code * revert to original doc for the example * update doc link * fmt * fmt * use basename * precommit fmt * check model config input * add Model ConfigTest * check deviceIds * set gpu >=1000 as invlid config * precommit fmt * optimize gpu assignment * precommit fmt * fix sanity test error caused by auto merge * fix test_archive_creation_with_zip_store --------- Co-authored-by: Hamid Shojanazeri --- .pre-commit-config.yaml | 10 +- docs/configuration.md | 5 + frontend/archive/build.gradle | 1 + .../pytorch/serve/archive/model/Manifest.java | 9 + .../serve/archive/model/ModelArchive.java | 22 +- .../serve/archive/model/ModelConfig.java | 266 ++++++++++++++++++ .../serve/archive/model/s3/BinaryUtils.java | 2 +- .../serve/archive/model/s3/HttpUtils.java | 2 +- .../serve/archive/utils/ArchiveUtils.java | 30 ++ .../archive/workflow/WorkflowArchive.java | 2 +- .../serve/archive/model/ModelConfigTest.java | 48 ++++ .../test/resources/modelConfig/invalid.yaml | 10 + .../src/test/resources/modelConfig/valid.yaml | 10 + frontend/archive/testng.xml | 1 + frontend/gradle.properties | 2 +- .../java/org/pytorch/serve/ModelServer.java | 63 ++++- .../serve/grpcimpl/ManagementImpl.java | 21 +- .../serve/http/HttpRequestHandlerChain.java | 3 +- .../rest/ApiDescriptionRequestHandler.java | 4 +- .../api/rest/InferenceRequestHandler.java | 4 +- .../api/rest/ManagementRequestHandler.java | 9 +- .../rest/PrometheusMetricsRequestHandler.java | 4 +- .../serve/snapshot/SnapshotManager.java | 6 +- .../java/org/pytorch/serve/util/ApiUtils.java | 25 +- .../org/pytorch/serve/util/ConfigManager.java | 9 + .../java/org/pytorch/serve/wlm/Model.java | 100 ++++++- .../org/pytorch/serve/wlm/ModelManager.java | 101 +++++-- .../pytorch/serve/wlm/WorkLoadManager.java | 32 ++- .../pytorch/serve/wlm/WorkerLifeCycle.java | 57 +++- .../org/pytorch/serve/wlm/WorkerThread.java | 225 ++++++++------- .../http/WorkflowInferenceRequestHandler.java | 68 ++--- .../api/http/WorkflowMgmtRequestHandler.java | 30 +- model-archiver/README.md | 32 ++- model-archiver/model_archiver/arg_parser.py | 10 +- .../manifest_components/manifest.py | 2 - .../manifest_components/model.py | 49 ++-- .../model_archiver/model_packaging.py | 2 + .../model_archiver/model_packaging_utils.py | 2 +- .../tests/integ_tests/configuration.json | 3 +- .../tests/unit_tests/test_model_packaging.py | 73 +++-- .../unit_tests/test_model_packaging_utils.py | 8 +- test/postman/inference_stream_data.json | 13 + .../test_example_near_real_time_video.py | 1 + .../test_example_scriptable_tokenzier.py | 4 +- test/pytest/test_example_torchrec_dlrm.py | 1 + ts/context.py | 2 + ts/model_service_worker.py | 23 +- ts/service.py | 30 +- .../unit_tests/test_model_service_worker.py | 6 +- ts/utils/util.py | 9 + 50 files changed, 1132 insertions(+), 319 deletions(-) create mode 100644 frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java create mode 100644 frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java create mode 100644 frontend/archive/src/test/resources/modelConfig/invalid.yaml create mode 100644 frontend/archive/src/test/resources/modelConfig/valid.yaml create mode 100644 test/postman/inference_stream_data.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 76a145c1a4..ec9f575678 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.0.1 + rev: v4.4.0 hooks: - id: check-ast - id: check-builtin-literals @@ -18,23 +18,23 @@ repos: - id: check-vcs-permalinks - id: check-shebang-scripts-are-executable - repo: https://github.com/pre-commit/pygrep-hooks - rev: v1.9.0 + rev: v1.10.0 hooks: - id: python-check-mock-methods - id: python-no-log-warn - id: python-use-type-annotations - repo: https://github.com/hadialqattan/pycln - rev: v1.2.5 + rev: v2.1.3 hooks: - id: pycln args: [--all] - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 23.1.0 hooks: - id: black additional_dependencies: ['click==8.0.4'] - repo: https://github.com/PyCQA/isort - rev: 5.11.5 + rev: 5.12.0 hooks: - id: isort args: ["--profile", "black"] diff --git a/docs/configuration.md b/docs/configuration.md index 5d190f8ac1..8bf7738b51 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -266,6 +266,11 @@ models={\ }\ } ``` +As of version 0.8.0, TorchServe allows for model configuration using a YAML file embedded in the MAR file. This YAML file contains two distinct parts that determine how a model is configured: frontend parameters and backend parameters. (see [details](https://github.com/pytorch/serve/tree/master/model-archiver)) + +* The frontend parameters are controlled by TorchServe's frontend and specify the parameter name and default values. TorchServe now uses a priority order to determine the final value of a model's parameters in frontend. Specifically, the config.property file has the lowest priority, followed by the model configuration YAML file, and finally, the REST or gRPC model management API has the highest priority. + +* The backend parameters are fully controlled by the user. Users customized handler can access the backend parameters via the `model_yaml_config` property of the context object. ### Other properties diff --git a/frontend/archive/build.gradle b/frontend/archive/build.gradle index cce015aa26..3f301d1b86 100644 --- a/frontend/archive/build.gradle +++ b/frontend/archive/build.gradle @@ -3,6 +3,7 @@ dependencies { api "org.slf4j:slf4j-api:${slf4j_api_version}" api "org.apache.logging.log4j:log4j-slf4j-impl:${slf4j_log4j_version}" api "com.google.code.gson:gson:${gson_version}" + implementation "org.yaml:snakeyaml:${snakeyaml_version}" testImplementation "commons-cli:commons-cli:${commons_cli_version}" testImplementation "org.testng:testng:${testng_version}" diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/Manifest.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/Manifest.java index 18c44a2d9c..9764dd78d3 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/Manifest.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/Manifest.java @@ -64,6 +64,7 @@ public static final class Model { private String handler; private String envelope; private String requirementsFile; + private String configFile; public Model() {} @@ -122,6 +123,14 @@ public String getEnvelope() { public void setEnvelope(String envelope) { this.envelope = envelope; } + + public String getConfigFile() { + return configFile; + } + + public void setConfigFile(String configFile) { + this.configFile = configFile; + } } public enum RuntimeType { diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java index 134a931f81..ae46029991 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java @@ -6,6 +6,7 @@ import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; import java.util.List; +import java.util.Map; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.pytorch.serve.archive.DownloadArchiveException; @@ -25,12 +26,14 @@ public class ModelArchive { private String url; private File modelDir; private boolean extracted; + private ModelConfig modelConfig; public ModelArchive(Manifest manifest, String url, File modelDir, boolean extracted) { this.manifest = manifest; this.url = url; this.modelDir = modelDir; this.extracted = extracted; + this.modelConfig = null; } public static ModelArchive downloadModel( @@ -92,7 +95,7 @@ private static ModelArchive load(String url, File dir, boolean extracted) boolean failed = true; try { File manifestFile = new File(dir, "MAR-INF/" + MANIFEST_FILE); - Manifest manifest = null; + Manifest manifest; if (manifestFile.exists()) { manifest = ArchiveUtils.readFile(manifestFile, Manifest.class); } else { @@ -179,4 +182,21 @@ public void clean() { FileUtils.deleteQuietly(modelDir); } } + + public ModelConfig getModelConfig() { + if (this.modelConfig == null && manifest.getModel().getConfigFile() != null) { + try { + File configFile = + new File(modelDir.getAbsolutePath(), manifest.getModel().getConfigFile()); + Map modelConfigMap = ArchiveUtils.readYamlFile(configFile); + this.modelConfig = ModelConfig.build(modelConfigMap); + } catch (InvalidModelException | IOException e) { + logger.error( + "Failed to parse model config file {}", + manifest.getModel().getConfigFile(), + e); + } + } + return this.modelConfig; + } } diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java new file mode 100644 index 0000000000..e82873db64 --- /dev/null +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java @@ -0,0 +1,266 @@ +package org.pytorch.serve.archive.model; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ModelConfig { + private static final Logger logger = LoggerFactory.getLogger(ModelConfig.class); + + private int minWorkers; + private int maxWorkers; + private int batchSize; + private int maxBatchDelay; + private int responseTimeout; + private DeviceType deviceType = DeviceType.NONE; + private List deviceIds; + private int parallelLevel = 1; + private ParallelType parallelType = ParallelType.NONE; + + public static ModelConfig build(Map yamlMap) { + ModelConfig modelConfig = new ModelConfig(); + yamlMap.forEach( + (k, v) -> { + switch (k) { + case "minWorkers": + if (v instanceof Integer) { + modelConfig.setMinWorkers((int) v); + } else { + logger.warn("Invalid minWorkers: {}, should be integer", v); + } + break; + case "maxWorkers": + if (v instanceof Integer) { + modelConfig.setMaxWorkers((int) v); + } else { + logger.warn("Invalid maxWorkers: {}, should be integer", v); + } + break; + case "batchSize": + if (v instanceof Integer) { + modelConfig.setBatchSize((int) v); + } else { + logger.warn("Invalid batchSize: {}, should be integer", v); + } + break; + case "maxBatchDelay": + if (v instanceof Integer) { + modelConfig.setMaxBatchDelay((int) v); + } else { + logger.warn("Invalid maxBatchDelay: {}, should be integer", v); + } + break; + case "responseTimeout": + if (v instanceof Integer) { + modelConfig.setResponseTimeout((int) v); + } else { + logger.warn("Invalid responseTimeout: {}, should be integer", v); + } + break; + case "deviceType": + if (v instanceof String) { + modelConfig.setDeviceType((String) v); + } else { + logger.warn("Invalid deviceType: {}, should be cpu, or gpu", v); + } + break; + case "parallelLevel": + if (v instanceof Integer) { + modelConfig.setParallelLevel((int) v); + } else { + logger.warn("Invalid parallelLevel: {}, should be integer >= 1", v); + } + break; + case "parallelType": + if (v instanceof String) { + modelConfig.setParallelMode((String) v); + } else { + logger.warn( + "Invalid parallelType: {}, should be pp, tp,or pptp", v); + } + break; + case "deviceIds": + if (v instanceof List) { + modelConfig.setDeviceIds((List) v); + } else { + logger.warn("Invalid deviceIds: {}, should be list of integer", v); + } + break; + default: + break; + } + }); + return modelConfig; + } + + public int getMinWorkers() { + return minWorkers; + } + + public void setMinWorkers(int minWorkers) { + if (minWorkers < 0) { + logger.warn("Invalid minWorkers:{}", minWorkers); + return; + } + this.minWorkers = minWorkers; + } + + public int getMaxWorkers() { + return maxWorkers; + } + + public void setMaxWorkers(int maxWorkers) { + if (maxWorkers < 0) { + logger.warn("Invalid maxWorkers:{}", maxWorkers); + return; + } + this.maxWorkers = maxWorkers; + } + + public int getBatchSize() { + return batchSize; + } + + public void setBatchSize(int batchSize) { + if (batchSize <= 0) { + logger.warn("Invalid batchSize:{}", batchSize); + return; + } + this.batchSize = batchSize; + } + + public int getMaxBatchDelay() { + return maxBatchDelay; + } + + public void setMaxBatchDelay(int maxBatchDelay) { + if (maxBatchDelay < 0) { + logger.warn("Invalid maxBatchDelay:{}", maxBatchDelay); + return; + } + this.maxBatchDelay = maxBatchDelay; + } + + public int getResponseTimeout() { + return responseTimeout; + } + + public void setResponseTimeout(int responseTimeout) { + if (responseTimeout <= 0) { + logger.warn("Invalid responseTimeout:{}", responseTimeout); + return; + } + this.responseTimeout = responseTimeout; + } + + public List getDeviceIds() { + return deviceIds; + } + + public void setDeviceIds(List deviceIds) { + this.deviceIds = new ArrayList<>(); + for (int i = 0; i < deviceIds.size(); i++) { + if (deviceIds.get(i) instanceof Integer) { + this.deviceIds.add((int) deviceIds.get(i)); + } else { + logger.warn("Invalid deviceIds:{},", deviceIds.get(i)); + this.deviceIds = null; + break; + } + } + } + + public int getParallelLevel() { + return parallelLevel; + } + + public void setParallelLevel(int parallelLevel) { + if (parallelLevel <= 0) { + logger.warn("Invalid parallelLevel:{}, set as 1", parallelLevel); + this.parallelLevel = 1; + return; + } + this.parallelLevel = parallelLevel; + } + + public void setParallelMode(String parallelMode) { + this.parallelType = ParallelType.get(parallelMode); + } + + public ParallelType getParallelType() { + return this.parallelType; + } + + public void setDeviceType(String deviceType) { + this.deviceType = DeviceType.get(deviceType); + } + + public DeviceType getDeviceType() { + return deviceType; + } + + public enum ParallelType { + NONE(""), + PP("pp"), + TP("tp"), + PPTP("pptp"); + + private String type; + + ParallelType(String type) { + this.type = type.toLowerCase(); + } + + public String getParallelType() { + return type; + } + + public static ParallelType get(String parallelType) { + ParallelType pType = NONE; + try { + pType = + Arrays.stream(ParallelType.values()) + .filter(t -> t.type.equals(parallelType.toLowerCase())) + .findFirst() + .get(); + } catch (NoSuchElementException e) { + logger.warn("Invalid ParallelType:{}", parallelType, e); + } + return pType; + } + } + + public enum DeviceType { + NONE(""), + CPU("cpu"), + GPU("gpu"); + + private String type; + + DeviceType(String type) { + this.type = type.toLowerCase(); + } + + public String getDeviceType() { + return type; + } + + public static DeviceType get(String deviceType) { + DeviceType dType = DeviceType.NONE; + try { + dType = + Arrays.stream(DeviceType.values()) + .filter(t -> t.type.equals(deviceType.toLowerCase())) + .findFirst() + .get(); + } catch (NoSuchElementException e) { + logger.warn("Invalid DeviceType:{}", deviceType, e); + } + return dType; + } + } +} diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/BinaryUtils.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/BinaryUtils.java index a41a58dee0..a0c941b5fe 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/BinaryUtils.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/BinaryUtils.java @@ -36,7 +36,7 @@ public static String toHex(byte[] data) { */ public static byte[] fromHex(String hexData) { byte[] result = new byte[(hexData.length() + 1) / 2]; - String hexNumber = null; + String hexNumber; int stringOffset = 0; int byteOffset = 0; while (stringOffset < hexData.length()) { diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/HttpUtils.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/HttpUtils.java index 5a469d2513..8c03f78875 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/HttpUtils.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/s3/HttpUtils.java @@ -22,7 +22,7 @@ private HttpUtils() {} public static void copyURLToFile(URL endpointUrl, File modelLocation, boolean s3SseKmsEnabled) throws IOException { // for a simple GET, we have no body so supply the precomputed 'empty' hash - Map headers = null; + Map headers; if (s3SseKmsEnabled) { String awsAccessKey = System.getenv("AWS_ACCESS_KEY_ID"); String awsSecretKey = System.getenv("AWS_SECRET_ACCESS_KEY"); diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ArchiveUtils.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ArchiveUtils.java index f752337608..82c4681dd6 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ArchiveUtils.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ArchiveUtils.java @@ -13,11 +13,15 @@ import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; import java.util.List; +import java.util.Map; import java.util.regex.Pattern; import org.apache.commons.io.FileUtils; import org.pytorch.serve.archive.DownloadArchiveException; import org.pytorch.serve.archive.model.InvalidModelException; import org.pytorch.serve.archive.s3.HttpUtils; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.constructor.Constructor; +import org.yaml.snakeyaml.error.YAMLException; public final class ArchiveUtils { @@ -39,6 +43,32 @@ public static T readFile(File file, Class type) } } + public static T readYamlFile(File file, Class type) + throws InvalidModelException, IOException { + Yaml yaml = new Yaml(new Constructor(type)); + try (Reader r = + new InputStreamReader( + Files.newInputStream(file.toPath()), StandardCharsets.UTF_8)) { + + return yaml.load(r); + } catch (YAMLException e) { + throw new InvalidModelException("Failed to parse model config yaml file.", e); + } + } + + public static Map readYamlFile(File file) + throws InvalidModelException, IOException { + Yaml yaml = new Yaml(); + try (Reader r = + new InputStreamReader( + Files.newInputStream(file.toPath()), StandardCharsets.UTF_8)) { + + return yaml.load(r); + } catch (YAMLException e) { + throw new InvalidModelException("Failed to parse model config yaml file.", e); + } + } + public static boolean validateURL(List allowedUrls, String url) throws InvalidArchiveURLException { boolean patternMatch = false; diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java index fca6879645..929121839e 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java @@ -86,7 +86,7 @@ private static WorkflowArchive load(String url, File dir, boolean extracted) boolean failed = true; try { File manifestFile = new File(dir, "WAR-INF/" + MANIFEST_FILE); - Manifest manifest = null; + Manifest manifest; if (manifestFile.exists()) { manifest = readFile(manifestFile, Manifest.class); } else { diff --git a/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java b/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java new file mode 100644 index 0000000000..db986aab73 --- /dev/null +++ b/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java @@ -0,0 +1,48 @@ +package org.pytorch.serve.archive.model; + +import java.io.File; +import java.io.IOException; +import java.util.Map; +import org.pytorch.serve.archive.utils.ArchiveUtils; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class ModelConfigTest { + @Test + public void TestValidYamlConfig() throws InvalidModelException, IOException { + String yamlConfigFile = "src/test/resources/modelConfig/valid.yaml"; + ModelConfig modelConfig; + File configFile = new File(yamlConfigFile); + Map modelConfigMap = ArchiveUtils.readYamlFile(configFile); + modelConfig = ModelConfig.build(modelConfigMap); + + Assert.assertEquals(modelConfig.getMinWorkers(), 1); + Assert.assertEquals(modelConfig.getMaxWorkers(), 1); + Assert.assertEquals(modelConfig.getBatchSize(), 1); + Assert.assertEquals(modelConfig.getMaxBatchDelay(), 100); + Assert.assertEquals(modelConfig.getResponseTimeout(), 120); + Assert.assertEquals(modelConfig.getDeviceType(), ModelConfig.DeviceType.GPU); + Assert.assertEquals(modelConfig.getParallelLevel(), 4); + Assert.assertEquals(modelConfig.getParallelType(), ModelConfig.ParallelType.PP); + Assert.assertEquals(modelConfig.getDeviceIds().get(2).intValue(), 2); + } + + @Test + public void TestInvalidYamlConfig() throws InvalidModelException, IOException { + String yamlConfigFile = "src/test/resources/modelConfig/invalid.yaml"; + ModelConfig modelConfig; + File configFile = new File(yamlConfigFile); + Map modelConfigMap = ArchiveUtils.readYamlFile(configFile); + modelConfig = ModelConfig.build(modelConfigMap); + + Assert.assertNotEquals(modelConfig.getMinWorkers(), 1); + Assert.assertEquals(modelConfig.getMaxWorkers(), 1); + Assert.assertEquals(modelConfig.getBatchSize(), 1); + Assert.assertEquals(modelConfig.getMaxBatchDelay(), 100); + Assert.assertEquals(modelConfig.getResponseTimeout(), 120); + Assert.assertNotEquals(modelConfig.getDeviceType(), ModelConfig.DeviceType.GPU); + Assert.assertEquals(modelConfig.getParallelLevel(), 4); + Assert.assertNotEquals(modelConfig.getParallelType(), ModelConfig.ParallelType.PPTP); + Assert.assertNull(modelConfig.getDeviceIds()); + } +} diff --git a/frontend/archive/src/test/resources/modelConfig/invalid.yaml b/frontend/archive/src/test/resources/modelConfig/invalid.yaml new file mode 100644 index 0000000000..3544ef5ada --- /dev/null +++ b/frontend/archive/src/test/resources/modelConfig/invalid.yaml @@ -0,0 +1,10 @@ +# TS Frontend parameters +minWorkers: a +maxWorkers: 1 +batchSize: 1 +maxBatchDelay: 100 +responseTimeout: 120 +deviceType: xpu # cpu, gpu +deviceIds: 0,1,2,3] # device index for gpu +parallelLevel: 4 # rpc world size +parallelType: "xpp" # pp: pipeline parallel; pptp: tensor+pipeline parallel \ No newline at end of file diff --git a/frontend/archive/src/test/resources/modelConfig/valid.yaml b/frontend/archive/src/test/resources/modelConfig/valid.yaml new file mode 100644 index 0000000000..8980c1b6a4 --- /dev/null +++ b/frontend/archive/src/test/resources/modelConfig/valid.yaml @@ -0,0 +1,10 @@ +# TS Frontend parameters +minWorkers: 1 +maxWorkers: 1 +batchSize: 1 +maxBatchDelay: 100 +responseTimeout: 120 +deviceType: "gpu" # cpu, gpu +deviceIds: [0,1,2,3] # device index for gpu, neuron +parallelLevel: 4 # rpc world size +parallelType: "pp" # pp: pipeline parallel; pptp: tensor+pipeline parallel \ No newline at end of file diff --git a/frontend/archive/testng.xml b/frontend/archive/testng.xml index 16540e207d..0d050dfbcd 100644 --- a/frontend/archive/testng.xml +++ b/frontend/archive/testng.xml @@ -5,6 +5,7 @@ + diff --git a/frontend/gradle.properties b/frontend/gradle.properties index 4166db7039..91ec64fe6e 100644 --- a/frontend/gradle.properties +++ b/frontend/gradle.properties @@ -11,4 +11,4 @@ torchserve_sdk_version=0.0.4 snakeyaml_version=1.31 grpc_version=1.50.0 protoc_version=3.18.0 -lmax_disruptor_version=3.4.4 +lmax_disruptor_version=3.4.4 \ No newline at end of file diff --git a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java index 2a02bee019..e2d9ec7031 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java +++ b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java @@ -52,14 +52,13 @@ import org.pytorch.serve.wlm.Model; import org.pytorch.serve.wlm.ModelManager; import org.pytorch.serve.wlm.WorkLoadManager; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.pytorch.serve.workflow.WorkflowManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ModelServer { - private Logger logger = LoggerFactory.getLogger(ModelServer.class); - private ServerGroups serverGroups; private Server inferencegRPCServer; private Server managementgRPCServer; @@ -195,26 +194,44 @@ private void initModelStore() throws InvalidSnapshotException, IOException { ModelArchive archive = modelManager.registerModel(file.getName(), defaultModelName); - modelManager.updateModel( - archive.getModelName(), - archive.getModelVersion(), + int minWorkers = configManager.getJsonIntValue( archive.getModelName(), archive.getModelVersion(), Model.MIN_WORKERS, - workers), + workers); + int maxWorkers = configManager.getJsonIntValue( archive.getModelName(), archive.getModelVersion(), Model.MAX_WORKERS, - workers), + workers); + if (archive.getModelConfig() != null) { + int marMinWorkers = archive.getModelConfig().getMinWorkers(); + int marMaxWorkers = archive.getModelConfig().getMaxWorkers(); + if (marMinWorkers > 0 && marMaxWorkers >= marMinWorkers) { + minWorkers = marMinWorkers; + maxWorkers = marMaxWorkers; + } else { + logger.warn( + "Invalid model config in mar, minWorkers:{}, maxWorkers:{}", + marMinWorkers, + marMaxWorkers); + } + } + modelManager.updateModel( + archive.getModelName(), + archive.getModelVersion(), + minWorkers, + maxWorkers, true, false); startupModels.add(archive.getModelName()); } catch (ModelException | IOException | InterruptedException - | DownloadArchiveException e) { + | DownloadArchiveException + | WorkerInitializationException e) { logger.warn("Failed to load model: " + file.getAbsolutePath(), e); } } @@ -254,26 +271,44 @@ private void initModelStore() throws InvalidSnapshotException, IOException { false, false, false); - modelManager.updateModel( - archive.getModelName(), - archive.getModelVersion(), + int minWorkers = configManager.getJsonIntValue( archive.getModelName(), archive.getModelVersion(), Model.MIN_WORKERS, - workers), + workers); + int maxWorkers = configManager.getJsonIntValue( archive.getModelName(), archive.getModelVersion(), Model.MAX_WORKERS, - workers), + workers); + if (archive.getModelConfig() != null) { + int marMinWorkers = archive.getModelConfig().getMinWorkers(); + int marMaxWorkers = archive.getModelConfig().getMaxWorkers(); + if (marMinWorkers > 0 && marMaxWorkers >= marMinWorkers) { + minWorkers = marMinWorkers; + maxWorkers = marMaxWorkers; + } else { + logger.warn( + "Invalid model config in mar, minWorkers:{}, maxWorkers:{}", + marMinWorkers, + marMaxWorkers); + } + } + modelManager.updateModel( + archive.getModelName(), + archive.getModelVersion(), + minWorkers, + maxWorkers, true, false); startupModels.add(archive.getModelName()); } catch (ModelException | IOException | InterruptedException - | DownloadArchiveException e) { + | DownloadArchiveException + | WorkerInitializationException e) { logger.warn("Failed to load model: " + url, e); } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/ManagementImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/ManagementImpl.java index a034f600e0..f254729b13 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/ManagementImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/ManagementImpl.java @@ -27,6 +27,7 @@ import org.pytorch.serve.util.JsonUtils; import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.wlm.ModelManager; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -117,7 +118,7 @@ public void registerModel( sendStatusResponse(responseObserver, statusResponse); } catch (InternalServerException e) { sendException(responseObserver, e, null); - } catch (ExecutionException | InterruptedException e) { + } catch (ExecutionException | InterruptedException | WorkerInitializationException e) { sendException(responseObserver, e, "Error while creating workers"); } catch (ModelNotFoundException | ModelVersionNotFoundException e) { sendErrorResponse(responseObserver, Status.NOT_FOUND, e); @@ -156,7 +157,7 @@ public void scaleWorker( false, null); sendStatusResponse(responseObserver, statusResponse); - } catch (ExecutionException | InterruptedException e) { + } catch (ExecutionException | InterruptedException | WorkerInitializationException e) { sendException(responseObserver, e, "Error while creating workers"); } catch (ModelNotFoundException | ModelVersionNotFoundException e) { sendErrorResponse(responseObserver, Status.NOT_FOUND, e); @@ -230,6 +231,14 @@ private void sendResponse(StreamObserver responseObserver, S responseObserver.onCompleted(); } + public static void sendErrorResponse( + StreamObserver responseObserver, Status status, Exception e) { + responseObserver.onError( + status.withDescription(e.getMessage()) + .augmentDescription(e.getClass().getCanonicalName()) + .asRuntimeException()); + } + private void sendErrorResponse( StreamObserver responseObserver, Status status, @@ -241,14 +250,6 @@ private void sendErrorResponse( .asRuntimeException()); } - public static void sendErrorResponse( - StreamObserver responseObserver, Status status, Exception e) { - responseObserver.onError( - status.withDescription(e.getMessage()) - .augmentDescription(e.getClass().getCanonicalName()) - .asRuntimeException()); - } - private void sendStatusResponse( StreamObserver responseObserver, StatusResponse statusResponse) { int httpResponseStatusCode = statusResponse.getHttpResponseCode(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/HttpRequestHandlerChain.java b/frontend/server/src/main/java/org/pytorch/serve/http/HttpRequestHandlerChain.java index 8a381bcfca..7219c5b81b 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/HttpRequestHandlerChain.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/HttpRequestHandlerChain.java @@ -20,6 +20,7 @@ import org.pytorch.serve.servingsdk.impl.ModelServerResponse; import org.pytorch.serve.util.NettyUtils; import org.pytorch.serve.wlm.ModelManager; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +46,7 @@ public abstract void handleRequest( QueryStringDecoder decoder, String[] segments) throws ModelNotFoundException, ModelException, DownloadArchiveException, - WorkflowException; + WorkflowException, WorkerInitializationException; private void run( ModelServerEndpoint endpoint, diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ApiDescriptionRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ApiDescriptionRequestHandler.java index 9b99a826dd..05422dafa8 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ApiDescriptionRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ApiDescriptionRequestHandler.java @@ -12,6 +12,7 @@ import org.pytorch.serve.openapi.OpenApiUtils; import org.pytorch.serve.util.ConnectorType; import org.pytorch.serve.util.NettyUtils; +import org.pytorch.serve.wlm.WorkerInitializationException; public class ApiDescriptionRequestHandler extends HttpRequestHandlerChain { @@ -27,7 +28,8 @@ public void handleRequest( FullHttpRequest req, QueryStringDecoder decoder, String[] segments) - throws ModelException, DownloadArchiveException, WorkflowException { + throws ModelException, DownloadArchiveException, WorkflowException, + WorkerInitializationException { if (isApiDescription(segments)) { String path = decoder.path(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java index 10774a1206..308c796a0a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java @@ -31,6 +31,7 @@ import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.wlm.Model; import org.pytorch.serve.wlm.ModelManager; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,7 +55,8 @@ public void handleRequest( FullHttpRequest req, QueryStringDecoder decoder, String[] segments) - throws ModelException, DownloadArchiveException, WorkflowException { + throws ModelException, DownloadArchiveException, WorkflowException, + WorkerInitializationException { if (isInferenceReq(segments)) { if (endpointMap.getOrDefault(segments[1], null) != null) { handleCustomEndpoint(ctx, req, segments, decoder); diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ManagementRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ManagementRequestHandler.java index 913708428f..29a6f156cf 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ManagementRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/ManagementRequestHandler.java @@ -38,6 +38,7 @@ import org.pytorch.serve.util.messages.WorkerCommands; import org.pytorch.serve.wlm.Model; import org.pytorch.serve.wlm.ModelManager; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.pytorch.serve.wlm.WorkerThread; /** @@ -58,7 +59,8 @@ public void handleRequest( FullHttpRequest req, QueryStringDecoder decoder, String[] segments) - throws ModelException, DownloadArchiveException, WorkflowException { + throws ModelException, DownloadArchiveException, WorkflowException, + WorkerInitializationException { if (isManagementReq(segments)) { if (endpointMap.getOrDefault(segments[1], null) != null) { handleCustomEndpoint(ctx, req, segments, decoder); @@ -191,7 +193,7 @@ private KFV1ModelReadyResponse createKFV1ModelReadyResponse( private void handleRegisterModel( ChannelHandlerContext ctx, QueryStringDecoder decoder, FullHttpRequest req) - throws ModelException, DownloadArchiveException { + throws ModelException, DownloadArchiveException, WorkerInitializationException { RegisterModelRequest registerModelRequest = parseRequest(req, decoder); StatusResponse statusResponse; try { @@ -225,7 +227,8 @@ private void handleScaleModel( QueryStringDecoder decoder, String modelName, String modelVersion) - throws ModelNotFoundException, ModelVersionNotFoundException { + throws ModelNotFoundException, ModelVersionNotFoundException, + WorkerInitializationException { int minWorkers = NettyUtils.getIntParameter(decoder, "min_worker", 1); int maxWorkers = NettyUtils.getIntParameter(decoder, "max_worker", minWorkers); if (modelVersion == null) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/PrometheusMetricsRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/PrometheusMetricsRequestHandler.java index 41658e6909..9760babd46 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/PrometheusMetricsRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/PrometheusMetricsRequestHandler.java @@ -25,6 +25,7 @@ import org.pytorch.serve.archive.workflow.WorkflowException; import org.pytorch.serve.http.HttpRequestHandlerChain; import org.pytorch.serve.util.NettyUtils; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,7 +45,8 @@ public void handleRequest( FullHttpRequest req, QueryStringDecoder decoder, String[] segments) - throws ModelException, DownloadArchiveException, WorkflowException { + throws ModelException, DownloadArchiveException, WorkflowException, + WorkerInitializationException { if (segments.length >= 2 && "metrics".equals(segments[1])) { ByteBuf resBuf = Unpooled.directBuffer(); List params = diff --git a/frontend/server/src/main/java/org/pytorch/serve/snapshot/SnapshotManager.java b/frontend/server/src/main/java/org/pytorch/serve/snapshot/SnapshotManager.java index c6d910d59d..6d0aca353f 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/snapshot/SnapshotManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/snapshot/SnapshotManager.java @@ -17,6 +17,7 @@ import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.wlm.Model; import org.pytorch.serve.wlm.ModelManager; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -139,7 +140,10 @@ private void initModels(Snapshot snapshot) { } catch (IOException e) { logger.error("Error while retrieving snapshot details. Details: {}", e.getMessage()); - } catch (ModelException | InterruptedException | DownloadArchiveException e) { + } catch (ModelException + | InterruptedException + | DownloadArchiveException + | WorkerInitializationException e) { logger.error("Error while registering model. Details: {}", e.getMessage()); } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java index c7adbca786..586fa0167c 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java @@ -35,6 +35,7 @@ import org.pytorch.serve.wlm.Model; import org.pytorch.serve.wlm.ModelManager; import org.pytorch.serve.wlm.ModelVersionedRefs; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.pytorch.serve.wlm.WorkerState; import org.pytorch.serve.wlm.WorkerThread; @@ -108,7 +109,7 @@ public static String setDefault(String modelName, String newModelVersion) public static StatusResponse registerModel(RegisterModelRequest registerModelRequest) throws ModelException, InternalServerException, ExecutionException, - InterruptedException, DownloadArchiveException { + InterruptedException, DownloadArchiveException, WorkerInitializationException { String modelUrl = registerModelRequest.getModelUrl(); if (modelUrl == null) { throw new BadRequestException("Parameter url is required."); @@ -162,7 +163,7 @@ public static StatusResponse handleRegister( boolean isWorkflowModel, boolean s3SseKms) throws ModelException, ExecutionException, InterruptedException, - DownloadArchiveException { + DownloadArchiveException, WorkerInitializationException { ModelManager modelManager = ModelManager.getInstance(); final ModelArchive archive; @@ -188,7 +189,17 @@ public static StatusResponse handleRegister( } modelName = archive.getModelName(); - if (initialWorkers <= 0) { + int minWorkers = 0; + int maxWorkers = 0; + if (archive.getModelConfig() != null) { + int marMinWorkers = archive.getModelConfig().getMinWorkers(); + int marMaxWorkers = archive.getModelConfig().getMaxWorkers(); + if (marMinWorkers > 0 && marMaxWorkers >= marMinWorkers) { + minWorkers = marMinWorkers; + maxWorkers = marMaxWorkers; + } + } + if (initialWorkers <= 0 && minWorkers == 0) { final String msg = "Model \"" + modelName @@ -200,12 +211,14 @@ public static StatusResponse handleRegister( } return new StatusResponse(msg, HttpURLConnection.HTTP_OK); } + minWorkers = minWorkers > 0 ? minWorkers : initialWorkers; + maxWorkers = maxWorkers > 0 ? maxWorkers : initialWorkers; return ApiUtils.updateModelWorkers( modelName, archive.getModelVersion(), - initialWorkers, - initialWorkers, + minWorkers, + maxWorkers, isSync, true, f -> { @@ -223,7 +236,7 @@ public static StatusResponse updateModelWorkers( boolean isInit, final Function onError) throws ModelVersionNotFoundException, ModelNotFoundException, ExecutionException, - InterruptedException { + InterruptedException, WorkerInitializationException { ModelManager modelManager = ModelManager.getInstance(); if (maxWorkers < minWorkers) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index bf82057e2f..1d67578762 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -99,6 +99,7 @@ public final class ConfigManager { private static final String TS_GRPC_MANAGEMENT_PORT = "grpc_management_port"; private static final String TS_ENABLE_GRPC_SSL = "enable_grpc_ssl"; private static final String TS_INITIAL_WORKER_PORT = "initial_worker_port"; + private static final String TS_INITIAL_DISTRIBUTION_PORT = "initial_distribution_port"; private static final String TS_WORKFLOW_STORE = "workflow_store"; // Configuration which are not documented or enabled through environment variables @@ -810,6 +811,14 @@ public void setInitialWorkerPort(int initialPort) { prop.setProperty(TS_INITIAL_WORKER_PORT, String.valueOf(initialPort)); } + public int getInitialDistributionPort() { + return Integer.parseInt(prop.getProperty(TS_INITIAL_DISTRIBUTION_PORT, "29500")); + } + + public void setInitialDistributionPort(int initialPort) { + prop.setProperty(TS_INITIAL_DISTRIBUTION_PORT, String.valueOf(initialPort)); + } + private void setModelConfig() { String modelConfigStr = prop.getProperty(MODEL_CONFIG, null); Type type = new TypeToken>>() {}.getType(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 86fb7e5eba..24eb945c0c 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -2,6 +2,8 @@ import com.google.gson.JsonObject; import java.io.File; +import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; @@ -12,6 +14,7 @@ import java.util.concurrent.locks.ReentrantLock; import org.apache.commons.io.FilenameUtils; import org.pytorch.serve.archive.model.ModelArchive; +import org.pytorch.serve.archive.model.ModelConfig; import org.pytorch.serve.job.Job; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.messages.WorkerCommands; @@ -21,12 +24,12 @@ public class Model { public static final String DEFAULT_DATA_QUEUE = "DATA_QUEUE"; - public static final String MIN_WORKERS = "minWorkers"; public static final String MAX_WORKERS = "maxWorkers"; public static final String BATCH_SIZE = "batchSize"; public static final String MAX_BATCH_DELAY = "maxBatchDelay"; public static final String RESPONSE_TIMEOUT = "responseTimeout"; + public static final String PARALLEL_LEVEL = "parallelLevel"; public static final String DEFAULT_VERSION = "defaultVersion"; public static final String MAR_NAME = "marName"; @@ -37,9 +40,19 @@ public class Model { private int maxWorkers; private int batchSize; private int maxBatchDelay; + private int parallelLevel = 1; + private ModelConfig.ParallelType parallelType = ModelConfig.ParallelType.NONE; + private ModelConfig.DeviceType deviceType = + ConfigManager.getInstance().getNumberOfGpu() > 0 + ? ModelConfig.DeviceType.GPU + : ModelConfig.DeviceType.CPU; + private List deviceIds; + private int numCores; private ReentrantLock lock; private int responseTimeout; private ModelVersionName modelVersionName; + private AtomicInteger gpuCounter = new AtomicInteger(0); + private boolean hasDeviceIds; private boolean isWorkflowModel; // Total number of subsequent inference request failures @@ -50,8 +63,47 @@ public class Model { public Model(ModelArchive modelArchive, int queueSize) { this.modelArchive = modelArchive; - batchSize = 1; - maxBatchDelay = 100; + if (modelArchive != null && modelArchive.getModelConfig() != null) { + if (modelArchive.getModelConfig().getParallelLevel() > 1 + && modelArchive.getModelConfig().getParallelType() + != ModelConfig.ParallelType.NONE) { + parallelLevel = modelArchive.getModelConfig().getParallelLevel(); + parallelType = modelArchive.getModelConfig().getParallelType(); + } + if (modelArchive.getModelConfig().getDeviceType() != ModelConfig.DeviceType.NONE) { + deviceType = + (modelArchive.getModelConfig().getDeviceType() == ModelConfig.DeviceType.GPU + && ConfigManager.getInstance().getNumberOfGpu() > 0) + ? ModelConfig.DeviceType.GPU + : deviceType; + } + + deviceIds = modelArchive.getModelConfig().getDeviceIds(); + if (deviceIds != null && deviceIds.size() > 0) { + hasDeviceIds = true; + for (Integer deviceId : deviceIds) { + if (deviceId < 0 || deviceId >= ConfigManager.getInstance().getNumberOfGpu()) { + logger.warn("Invalid deviceId:{}, ignore deviceIds list", deviceId); + deviceIds = null; + hasDeviceIds = false; + break; + } + } + } + } else { + batchSize = 1; + maxBatchDelay = 100; + } + + if (ConfigManager.getInstance().getNumberOfGpu() > 0) { + numCores = + (deviceType == ModelConfig.DeviceType.GPU + && deviceIds != null + && deviceIds.size() > 0) + ? deviceIds.size() + : ConfigManager.getInstance().getNumberOfGpu(); + } + jobsDb = new ConcurrentHashMap<>(); // Always have a queue for data jobsDb.putIfAbsent(DEFAULT_DATA_QUEUE, new LinkedBlockingDeque<>(queueSize)); @@ -72,6 +124,9 @@ public JsonObject getModelState(boolean isDefaultVersion) { modelInfo.addProperty(BATCH_SIZE, getBatchSize()); modelInfo.addProperty(MAX_BATCH_DELAY, getMaxBatchDelay()); modelInfo.addProperty(RESPONSE_TIMEOUT, getResponseTimeout()); + if (parallelLevel > 1) { + modelInfo.addProperty(PARALLEL_LEVEL, parallelLevel); + } return modelInfo; } @@ -82,6 +137,9 @@ public void setModelState(JsonObject modelInfo) { maxBatchDelay = modelInfo.get(MAX_BATCH_DELAY).getAsInt(); responseTimeout = modelInfo.get(RESPONSE_TIMEOUT).getAsInt(); batchSize = modelInfo.get(BATCH_SIZE).getAsInt(); + if (modelInfo.get(PARALLEL_LEVEL) != null) { + parallelLevel = modelInfo.get(PARALLEL_LEVEL).getAsInt(); + } } public String getModelName() { @@ -250,4 +308,40 @@ public int getResponseTimeout() { public void setResponseTimeout(int responseTimeout) { this.responseTimeout = responseTimeout; } + + public List getDeviceIds() { + return this.deviceIds; + } + + public void setDeviceIds(List deviceIds) { + Collections.copy(this.deviceIds, deviceIds); + } + + public int getParallelLevel() { + return this.parallelLevel; + } + + public void setParallelLevel(int parallelLevel) { + this.parallelLevel = parallelLevel; + } + + public ModelConfig.ParallelType getParallelType() { + return this.parallelType; + } + + public ModelConfig.DeviceType getDeviceType() { + return this.deviceType; + } + + public int getNumCores() { + return this.numCores; + } + + public AtomicInteger getGpuCounter() { + return gpuCounter; + } + + public boolean isHasDeviceIds() { + return hasDeviceIds; + } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java index 7245241cab..e0f0f7b99b 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java @@ -21,6 +21,7 @@ import org.pytorch.serve.archive.DownloadArchiveException; import org.pytorch.serve.archive.model.Manifest; import org.pytorch.serve.archive.model.ModelArchive; +import org.pytorch.serve.archive.model.ModelConfig; import org.pytorch.serve.archive.model.ModelException; import org.pytorch.serve.archive.model.ModelNotFoundException; import org.pytorch.serve.archive.model.ModelVersionNotFoundException; @@ -52,10 +53,6 @@ private ModelManager(ConfigManager configManager, WorkLoadManager wlm) { this.startupModels = new HashSet<>(); } - public ScheduledExecutorService getScheduler() { - return scheduler; - } - public static void init(ConfigManager configManager, WorkLoadManager wlm) { modelManager = new ModelManager(configManager, wlm); } @@ -64,6 +61,10 @@ public static ModelManager getInstance() { return modelManager; } + public ScheduledExecutorService getScheduler() { + return scheduler; + } + public ModelArchive registerModel(String url, String defaultModelName) throws ModelException, IOException, InterruptedException, DownloadArchiveException { return registerModel( @@ -81,7 +82,8 @@ public ModelArchive registerModel(String url, String defaultModelName) } public void registerAndUpdateModel(String modelName, JsonObject modelInfo) - throws ModelException, IOException, InterruptedException, DownloadArchiveException { + throws ModelException, IOException, InterruptedException, DownloadArchiveException, + WorkerInitializationException { boolean defaultVersion = modelInfo.get(Model.DEFAULT_VERSION).getAsBoolean(); String url = modelInfo.get(Model.MAR_NAME).getAsString(); @@ -266,24 +268,44 @@ private Model createModel( boolean isWorkflowModel) { Model model = new Model(archive, configManager.getJobQueueSize()); - model.setBatchSize( - configManager.getJsonIntValue( - archive.getModelName(), - archive.getModelVersion(), - Model.BATCH_SIZE, - batchSize)); - model.setMaxBatchDelay( - configManager.getJsonIntValue( - archive.getModelName(), - archive.getModelVersion(), - Model.MAX_BATCH_DELAY, - maxBatchDelay)); - model.setResponseTimeout( - configManager.getJsonIntValue( - archive.getModelName(), - archive.getModelVersion(), - Model.RESPONSE_TIMEOUT, - responseTimeout)); + if (archive.getModelConfig() != null) { + int marBatchSize = archive.getModelConfig().getBatchSize(); + batchSize = + marBatchSize > 0 + ? marBatchSize + : configManager.getJsonIntValue( + archive.getModelName(), + archive.getModelVersion(), + Model.BATCH_SIZE, + batchSize); + } + model.setBatchSize(batchSize); + + if (archive.getModelConfig() != null) { + int marMaxBatchDelay = archive.getModelConfig().getMaxBatchDelay(); + maxBatchDelay = + marMaxBatchDelay > 0 + ? marMaxBatchDelay + : configManager.getJsonIntValue( + archive.getModelName(), + archive.getModelVersion(), + Model.MAX_BATCH_DELAY, + maxBatchDelay); + } + model.setMaxBatchDelay(maxBatchDelay); + + if (archive.getModelConfig() != null) { + int marResponseTimeout = archive.getModelConfig().getResponseTimeout(); + responseTimeout = + marResponseTimeout > 0 + ? marResponseTimeout + : configManager.getJsonIntValue( + archive.getModelName(), + archive.getModelVersion(), + Model.RESPONSE_TIMEOUT, + responseTimeout); + } + model.setResponseTimeout(responseTimeout); model.setWorkflowModel(isWorkflowModel); return model; @@ -379,7 +401,7 @@ public void setDefaultVersion(String modelName, String newModelVersion) private CompletableFuture updateModel( String modelName, String versionId, boolean isStartup) - throws ModelVersionNotFoundException { + throws ModelVersionNotFoundException, WorkerInitializationException { Model model = getVersionModel(modelName, versionId); return updateModel( modelName, @@ -397,14 +419,39 @@ public CompletableFuture updateModel( int maxWorkers, boolean isStartup, boolean isCleanUp) - throws ModelVersionNotFoundException { + throws ModelVersionNotFoundException, WorkerInitializationException { Model model = getVersionModel(modelName, versionId); if (model == null) { throw new ModelVersionNotFoundException( "Model version: " + versionId + " does not exist for model: " + modelName); } - + if (model.getParallelLevel() > 1 && model.getDeviceType() == ModelConfig.DeviceType.GPU) { + /** + * Current capacity check for LMI is based on single node. TODO: multiple nodes check + * will be based on --proc-per-node + numCores. + */ + int capacity = model.getNumCores() / model.getParallelLevel(); + if (capacity == 0) { + logger.error( + "there are no enough gpu devices to support this parallelLever: {}", + model.getParallelLevel()); + throw new WorkerInitializationException( + "No enough gpu devices for model:" + + modelName + + " parallelLevel:" + + model.getParallelLevel()); + } else { + minWorkers = minWorkers > capacity ? capacity : minWorkers; + maxWorkers = maxWorkers > capacity ? capacity : maxWorkers; + logger.info( + "model {} set minWorkers: {}, maxWorkers: {} for parallelLevel: {} ", + modelName, + minWorkers, + maxWorkers, + model.getParallelLevel()); + } + } model.setMinWorkers(minWorkers); model.setMaxWorkers(maxWorkers); logger.debug("updateModel: {}, count: {}", modelName, minWorkers); @@ -423,7 +470,7 @@ private Model getVersionModel(String modelName, String versionId) { public CompletableFuture updateModel( String modelName, String versionId, int minWorkers, int maxWorkers) - throws ModelVersionNotFoundException { + throws ModelVersionNotFoundException, WorkerInitializationException { return updateModel(modelName, versionId, minWorkers, maxWorkers, false, false); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java index c8f8b1d6a6..15a762ea05 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java @@ -22,21 +22,20 @@ public class WorkLoadManager { + private static final Logger logger = LoggerFactory.getLogger(WorkLoadManager.class); private ExecutorService threadPool; - private ConcurrentHashMap> workers; - private ConfigManager configManager; private EventLoopGroup backendGroup; private AtomicInteger port; + private AtomicInteger distributionPort; private AtomicInteger gpuCounter; - private static final Logger logger = LoggerFactory.getLogger(WorkLoadManager.class); - public WorkLoadManager(ConfigManager configManager, EventLoopGroup backendGroup) { this.configManager = configManager; this.backendGroup = backendGroup; this.port = new AtomicInteger(configManager.getInitialWorkerPort()); + this.distributionPort = new AtomicInteger(configManager.getInitialDistributionPort()); this.gpuCounter = new AtomicInteger(0); threadPool = Executors.newCachedThreadPool(); workers = new ConcurrentHashMap<>(); @@ -192,20 +191,39 @@ public CompletableFuture modelChanged( private void addThreads( List threads, Model model, int count, CompletableFuture future) { WorkerStateListener listener = new WorkerStateListener(future, count); - int maxGpu = configManager.getNumberOfGpu(); + int maxGpu = model.getNumCores(); for (int i = 0; i < count; ++i) { int gpuId = -1; if (maxGpu > 0) { - gpuId = gpuCounter.accumulateAndGet(maxGpu, (prev, maxGpuId) -> ++prev % maxGpuId); + if (model.isHasDeviceIds()) { + gpuId = + 1000 + + model.getGpuCounter() + .getAndAccumulate( + maxGpu, + (prev, maxGpuId) -> + (prev + model.getParallelLevel()) + % maxGpuId); + } else { + gpuId = + gpuCounter.accumulateAndGet( + maxGpu, (prev, maxGpuId) -> ++prev % maxGpuId); + } } BatchAggregator aggregator = new BatchAggregator(model); + int currentPort = + model.getParallelLevel() > 1 + ? configManager.isDebug() + ? distributionPort.get() + : distributionPort.getAndAdd(model.getParallelLevel()) + : configManager.isDebug() ? port.get() : port.getAndIncrement(); WorkerThread thread = new WorkerThread( configManager, backendGroup, - configManager.isDebug() ? port.get() : port.getAndIncrement(), + currentPort, gpuId, model, aggregator, diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java index b4928a7143..e77e99290b 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java @@ -9,6 +9,8 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.pytorch.serve.metrics.Metric; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.Connector; @@ -93,8 +95,12 @@ public void startWorker(int port) throws WorkerInitializationException, Interrup throw new WorkerInitializationException("Failed get TS home directory", e); } - ArrayList argl = new ArrayList(); - argl.add(EnvironmentUtils.getPythonRunTime(model)); + ArrayList argl = new ArrayList<>(); + if (model.getParallelLevel() > 1) { + attachRunner(argl, port); + } else if (model.getParallelLevel() == 1) { + argl.add(EnvironmentUtils.getPythonRunTime(model)); + } if (configManager.isCPULauncherEnabled()) { launcherArgs = configManager.getCPULauncherArgs(); @@ -108,7 +114,6 @@ public void startWorker(int port) throws WorkerInitializationException, Interrup argl.add("--ninstances"); argl.add(String.valueOf(this.numWorker)); argl.add("--instance_idx"); - // instance_idx is 0-indexed argl.add(String.valueOf(this.currNumRunningWorkers)); } @@ -134,7 +139,7 @@ public void startWorker(int port) throws WorkerInitializationException, Interrup model.getModelArchive().getManifest().getModel().getHandler()); try { - latch = new CountDownLatch(1); + latch = new CountDownLatch(model.getParallelLevel()); String[] args = argl.toArray(new String[argl.size()]); logger.debug("Worker cmdline: {}", argl.toString()); @@ -166,6 +171,18 @@ public void startWorker(int port) throws WorkerInitializationException, Interrup } } + private void attachRunner(ArrayList argl, int port) { + System.setProperty("LOGLEVEL", "INFO"); + argl.add("torchrun"); + argl.add("--nnodes=1"); + argl.add("--nproc_per_node=" + model.getParallelLevel()); + argl.add("--max_restarts=3"); + argl.add("--log_dir=/tmp/torchelastic_ts"); + argl.add("--rdzv_backend=c10d"); + argl.add("--rdzv_endpoint=localhost:" + port); + argl.add("--rdzv_id=" + model.getModelName() + "_" + port); + } + public synchronized void terminateIOStreams() { if (errReader != null) { logger.warn("terminateIOStreams() threadName={}", errReader.getName()); @@ -210,15 +227,20 @@ private synchronized void setPort(int port) { } private static final class ReaderThread extends Thread { - - private InputStream is; - private boolean error; - private WorkerLifeCycle lifeCycle; - private AtomicBoolean isRunning = new AtomicBoolean(true); + private static final Pattern METRIC_PATTERN = + Pattern.compile("^(INFO > )?(\\[METRICS])(.*)"); + private static final Pattern WORKER_START_PATTERN = + Pattern.compile("^(INFO > )?(Torch worker started.)$"); + private static final Pattern WORKER_PID_PATTERN = + Pattern.compile("^(INFO > )?(\\[PID])(\\d+)$"); private static final Logger loggerModelMetrics = LoggerFactory.getLogger(ConfigManager.MODEL_METRICS_LOGGER); private static final Logger loggerModelOutput = LoggerFactory.getLogger(ConfigManager.MODEL_LOGGER); + private InputStream is; + private boolean error; + private WorkerLifeCycle lifeCycle; + private AtomicBoolean isRunning = new AtomicBoolean(true); public ReaderThread(String name, InputStream is, boolean error, WorkerLifeCycle lifeCycle) { super(name + (error ? "-stderr" : "-stdout")); @@ -239,8 +261,11 @@ public void run() { if (result == null) { break; } - if (result.startsWith("[METRICS]")) { - Metric parsedMetric = Metric.parse(result.substring("[METRICS]".length())); + + Matcher matcher = METRIC_PATTERN.matcher(result); + if (matcher.matches()) { + logger.info("result={}, pattern={}", result, matcher.group(2)); + Metric parsedMetric = Metric.parse(matcher.group(3)); if (parsedMetric != null) { loggerModelMetrics.info(parsedMetric.toString()); } else { @@ -249,10 +274,14 @@ public void run() { continue; } - if ("Torch worker started.".equals(result)) { + matcher = WORKER_START_PATTERN.matcher(result); + if (matcher.matches()) { lifeCycle.setSuccess(true); - } else if (result.startsWith("[PID]")) { - lifeCycle.setPid(Integer.parseInt(result.substring("[PID]".length()))); + } else { + matcher = WORKER_PID_PATTERN.matcher(result); + if (matcher.matches()) { + lifeCycle.setPid(Integer.parseInt(matcher.group(3))); + } } if (error) { loggerModelOutput.warn(result); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index 22e9ffd46c..716495b740 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -18,12 +18,14 @@ import java.net.HttpURLConnection; import java.net.SocketAddress; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; import java.util.UUID; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; +import org.pytorch.serve.archive.model.ModelConfig; import org.pytorch.serve.job.Job; import org.pytorch.serve.job.RestJob; import org.pytorch.serve.metrics.Dimension; @@ -48,23 +50,19 @@ public class WorkerThread implements Runnable { LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); private static final Logger loggerTelemetryMetrics = LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_TELEMETRY_LOGGER); - - private Metric workerLoadTime; - private static final int[] BACK_OFF = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 }; - private static final long WORKER_TIMEOUT = 2L; private static final ModelRequestEncoder ENCODER = new ModelRequestEncoder(ConfigManager.getInstance().getPreferDirectBuffer()); - + private Metric workerLoadTime; private ConfigManager configManager; private EventLoopGroup backendEventGroup; private int port; private Model model; - private Channel backendChannel; + private ArrayList backendChannel = new ArrayList<>(); private AtomicBoolean running = new AtomicBoolean(true); private int backoffIdx; @@ -81,6 +79,34 @@ public class WorkerThread implements Runnable { private WorkerLifeCycle lifeCycle; private int responseTimeout; + public WorkerThread( + ConfigManager configManager, + EventLoopGroup backendEventGroup, + int port, + int gpuId, + Model model, + BatchAggregator aggregator, + WorkerStateListener listener) { + this.workerId = String.valueOf(port); // Unique across all workers. + this.configManager = configManager; + this.backendEventGroup = backendEventGroup; + this.port = port; + this.model = model; + this.aggregator = aggregator; + this.gpuId = gpuId; + this.listener = listener; + startTime = System.currentTimeMillis(); + lifeCycle = new WorkerLifeCycle(configManager, model); + replies = new ArrayBlockingQueue<>(model.getParallelLevel()); + workerLoadTime = + new Metric( + getWorkerName(), + String.valueOf(System.currentTimeMillis()), + "ms", + ConfigManager.getInstance().getHostName(), + new Dimension("Level", "Host")); + } + public WorkerState getState() { return state; } @@ -142,34 +168,6 @@ public WorkerLifeCycle getLifeCycle() { return lifeCycle; } - public WorkerThread( - ConfigManager configManager, - EventLoopGroup backendEventGroup, - int port, - int gpuId, - Model model, - BatchAggregator aggregator, - WorkerStateListener listener) { - this.workerId = String.valueOf(port); // Unique across all workers. - this.configManager = configManager; - this.backendEventGroup = backendEventGroup; - this.port = port; - this.model = model; - this.aggregator = aggregator; - this.gpuId = gpuId; - this.listener = listener; - startTime = System.currentTimeMillis(); - lifeCycle = new WorkerLifeCycle(configManager, model); - replies = new ArrayBlockingQueue<>(1); - workerLoadTime = - new Metric( - getWorkerName(), - String.valueOf(System.currentTimeMillis()), - "ms", - ConfigManager.getInstance().getHostName(), - new Dimension("Level", "Host")); - } - @Override public void run() { responseTimeout = model.getResponseTimeout(); @@ -187,7 +185,18 @@ public void run() { long wtStartTime = System.currentTimeMillis(); logger.info("Flushing req.cmd {} to backend at: {}", req.getCommand(), wtStartTime); - backendChannel.writeAndFlush(req).sync(); + int repeats = + (req.getCommand() == WorkerCommands.LOAD) + || (req.getCommand() == WorkerCommands.PREDICT + && model.getParallelLevel() > 1 + && model.getParallelType() + != ModelConfig.ParallelType.PP) + ? model.getParallelLevel() + : 1; + for (int i = 0; backendChannel.size() > 0 && i < repeats; i++) { + backendChannel.get(i).writeAndFlush(req).sync(); + } + boolean isStreaming = req.getCommand() == WorkerCommands.STREAMPREDICT ? true : false; ModelWorkerResponse reply = null; @@ -195,7 +204,9 @@ public void run() { long begin = System.currentTimeMillis(); if (!isStreaming) { - reply = replies.poll(responseTimeout, TimeUnit.SECONDS); + for (int i = 0; i < repeats; i++) { + reply = replies.poll(responseTimeout, TimeUnit.SECONDS); + } duration = System.currentTimeMillis() - begin; logger.info("Backend response time: {}", duration); @@ -212,7 +223,9 @@ public void run() { ModelInferenceRequest inferReq = (ModelInferenceRequest) req; boolean streamNext = true; while (streamNext) { - reply = replies.poll(responseTimeout, TimeUnit.SECONDS); + for (int i = 0; i < repeats; i++) { + reply = replies.poll(responseTimeout, TimeUnit.SECONDS); + } if (reply.getPredictions() .get(0) .getHeaders() @@ -301,7 +314,9 @@ public void run() { // WorkerThread is running in thread pool, the thread will be assigned to next // Runnable once this worker is finished. If currentThread keep holding the reference // of the thread, currentThread.interrupt() might kill next worker. - backendChannel.disconnect(); + for (int i = 0; backendChannel.size() > 0 && i < model.getParallelLevel(); i++) { + backendChannel.get(i).disconnect(); + } currentThread.set(null); Integer exitValue = lifeCycle.getExitValue(); @@ -338,67 +353,75 @@ private void connect() throws WorkerInitializationException, InterruptedExceptio String modelName = model.getModelName(); String modelVersion = model.getVersion(); setState(WorkerState.WORKER_STARTED, HttpURLConnection.HTTP_OK); - final CountDownLatch latch = new CountDownLatch(1); - + final int parallelLevel = model.getParallelLevel(); + final CountDownLatch latch = new CountDownLatch(parallelLevel); final int responseBufferSize = configManager.getMaxResponseSize(); try { - Connector connector = new Connector(port); - Bootstrap b = new Bootstrap(); - b.group(backendEventGroup) - .channel(connector.getClientChannel()) - .handler( - new ChannelInitializer() { - @Override - public void initChannel(Channel ch) { - ChannelPipeline p = ch.pipeline(); - p.addLast(ENCODER); - p.addLast(new ModelResponseDecoder(responseBufferSize)); - p.addLast(new WorkerHandler()); - } - }); - - SocketAddress address = connector.getSocketAddress(); - logger.info("Connecting to: {}", address); - backendChannel = b.connect(address).sync().channel(); - backendChannel - .closeFuture() - .addListener( - (ChannelFutureListener) - future -> { - latch.countDown(); - logger.info( - "{} Worker disconnected. {}", getWorkerId(), state); - Thread thread = currentThread.getAndSet(null); - if (thread != null) { - thread.interrupt(); - } - }); - - backendChannel - .newSucceededFuture() - .addListener( - (ChannelFutureListener) - future -> { - // TODO: - // use gpu, batch size in load model command - RequestInput input = - new RequestInput(UUID.randomUUID().toString()); - if (gpuId >= 0) { - input.addParameter( - new InputParameter( - "gpu", String.valueOf(gpuId))); - } - - Job job = - new RestJob( - null, - modelName, - modelVersion, - WorkerCommands.LOAD, - input); - model.addJob(workerId, job); - latch.countDown(); - }); + for (int i = 0; i < parallelLevel; i++) { + Connector connector = new Connector(port + i); + Bootstrap b = new Bootstrap(); + b.group(backendEventGroup) + .channel(connector.getClientChannel()) + .handler( + new ChannelInitializer() { + @Override + public void initChannel(Channel ch) { + ChannelPipeline p = ch.pipeline(); + p.addLast(ENCODER); + p.addLast(new ModelResponseDecoder(responseBufferSize)); + p.addLast(new WorkerHandler()); + } + }); + + SocketAddress address = connector.getSocketAddress(); + logger.info("Connecting to: {}", address); + backendChannel.add(b.connect(address).sync().channel()); + backendChannel + .get(i) + .closeFuture() + .addListener( + (ChannelFutureListener) + future -> { + latch.countDown(); + logger.info( + "{} Worker disconnected. {}", + getWorkerId(), + state); + Thread thread = currentThread.getAndSet(null); + if (thread != null) { + thread.interrupt(); + } + }); + backendChannel + .get(i) + .newSucceededFuture() + .addListener( + (ChannelFutureListener) + future -> { + // TODO: + // use gpu, batch size in load model command + if (latch.getCount() == 1) { + RequestInput input = + new RequestInput( + UUID.randomUUID().toString()); + if (gpuId >= 0) { + input.addParameter( + new InputParameter( + "gpu", String.valueOf(gpuId))); + } + + Job job = + new RestJob( + null, + modelName, + modelVersion, + WorkerCommands.LOAD, + input); + model.addJob(workerId, job); + } + latch.countDown(); + }); + } if (!latch.await(WORKER_TIMEOUT, TimeUnit.MINUTES)) { throw new WorkerInitializationException( @@ -406,7 +429,7 @@ public void initChannel(Channel ch) { } running.set(true); } catch (Throwable t) { - // https://github.com/netty/netty/issues/2597 + /* https://github.com/netty/netty/issues/2597 */ if (t instanceof IOException) { throw new WorkerInitializationException("Failed to connect to worker.", t); } @@ -433,8 +456,10 @@ public int getPid() { public void shutdown() { running.set(false); setState(WorkerState.WORKER_SCALED_DOWN, HttpURLConnection.HTTP_OK); - if (backendChannel != null) { - backendChannel.close(); + for (int i = 0; backendChannel.size() > 0 && i < model.getParallelLevel(); i++) { + if (backendChannel.get(i) != null) { + backendChannel.get(i).close(); + } } lifeCycle.terminateIOStreams(); Thread thread = currentThread.getAndSet(null); diff --git a/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowInferenceRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowInferenceRequestHandler.java index 1c67f4d2b8..042bef68e1 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowInferenceRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowInferenceRequestHandler.java @@ -22,6 +22,7 @@ import org.pytorch.serve.util.NettyUtils; import org.pytorch.serve.util.messages.InputParameter; import org.pytorch.serve.util.messages.RequestInput; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.pytorch.serve.workflow.WorkflowManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,13 +40,46 @@ public class WorkflowInferenceRequestHandler extends HttpRequestHandlerChain { /** Creates a new {@code WorkflowInferenceRequestHandler} instance. */ public WorkflowInferenceRequestHandler() {} + private static RequestInput parseRequest(ChannelHandlerContext ctx, FullHttpRequest req) { + String requestId = NettyUtils.getRequestId(ctx.channel()); + RequestInput inputData = new RequestInput(requestId); + + CharSequence contentType = HttpUtil.getMimeType(req); + for (Map.Entry entry : req.headers().entries()) { + inputData.updateHeaders(entry.getKey(), entry.getValue()); + } + + if (HttpPostRequestDecoder.isMultipart(req) + || HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED.contentEqualsIgnoreCase( + contentType)) { + HttpDataFactory factory = + new DefaultHttpDataFactory(ConfigManager.getInstance().getMaxRequestSize()); + HttpPostRequestDecoder form = new HttpPostRequestDecoder(factory, req); + try { + while (form.hasNext()) { + inputData.addParameter(NettyUtils.getFormData(form.next())); + } + } catch (HttpPostRequestDecoder.EndOfDataDecoderException ignore) { + logger.trace("End of multipart items."); + } finally { + form.cleanFiles(); + form.destroy(); + } + } else { + byte[] content = NettyUtils.getBytes(req.content()); + inputData.addParameter(new InputParameter("body", content, contentType)); + } + return inputData; + } + @Override public void handleRequest( ChannelHandlerContext ctx, FullHttpRequest req, QueryStringDecoder decoder, String[] segments) - throws ModelException, DownloadArchiveException, WorkflowException { + throws ModelException, DownloadArchiveException, WorkflowException, + WorkerInitializationException { if ("wfpredict".equalsIgnoreCase(segments[1])) { if (segments.length < 3) { throw new ResourceNotFoundException(); @@ -84,36 +118,4 @@ private void sendResponse(ChannelHandlerContext ctx, StatusResponse statusRespon } } } - - private static RequestInput parseRequest(ChannelHandlerContext ctx, FullHttpRequest req) { - String requestId = NettyUtils.getRequestId(ctx.channel()); - RequestInput inputData = new RequestInput(requestId); - - CharSequence contentType = HttpUtil.getMimeType(req); - for (Map.Entry entry : req.headers().entries()) { - inputData.updateHeaders(entry.getKey(), entry.getValue()); - } - - if (HttpPostRequestDecoder.isMultipart(req) - || HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED.contentEqualsIgnoreCase( - contentType)) { - HttpDataFactory factory = - new DefaultHttpDataFactory(ConfigManager.getInstance().getMaxRequestSize()); - HttpPostRequestDecoder form = new HttpPostRequestDecoder(factory, req); - try { - while (form.hasNext()) { - inputData.addParameter(NettyUtils.getFormData(form.next())); - } - } catch (HttpPostRequestDecoder.EndOfDataDecoderException ignore) { - logger.trace("End of multipart items."); - } finally { - form.cleanFiles(); - form.destroy(); - } - } else { - byte[] content = NettyUtils.getBytes(req.content()); - inputData.addParameter(new InputParameter("body", content, contentType)); - } - return inputData; - } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowMgmtRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowMgmtRequestHandler.java index 3f3e599739..b50f5891b7 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowMgmtRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/workflow/api/http/WorkflowMgmtRequestHandler.java @@ -26,6 +26,7 @@ import org.pytorch.serve.http.StatusResponse; import org.pytorch.serve.util.JsonUtils; import org.pytorch.serve.util.NettyUtils; +import org.pytorch.serve.wlm.WorkerInitializationException; import org.pytorch.serve.workflow.WorkflowManager; import org.pytorch.serve.workflow.messages.DescribeWorkflowResponse; import org.pytorch.serve.workflow.messages.ListWorkflowResponse; @@ -41,13 +42,27 @@ public class WorkflowMgmtRequestHandler extends HttpRequestHandlerChain { /** Creates a new {@code WorkflowMgmtRequestHandler} instance. */ public WorkflowMgmtRequestHandler() {} + private static DescribeWorkflowResponse createWorkflowResponse( + String workflowName, WorkFlow workflow) { + DescribeWorkflowResponse response = new DescribeWorkflowResponse(); + response.setWorkflowName(workflowName); + response.setWorkflowUrl(workflow.getWorkflowArchive().getUrl()); + response.setBatchSize(workflow.getBatchSize()); + response.setMaxBatchDelay(workflow.getMaxBatchDelay()); + response.setMaxWorkers(workflow.getMaxWorkers()); + response.setMinWorkers(workflow.getMinWorkers()); + response.setWorkflowDag(workflow.getWorkflowDag()); + return response; + } + @Override public void handleRequest( ChannelHandlerContext ctx, FullHttpRequest req, QueryStringDecoder decoder, String[] segments) - throws ModelException, DownloadArchiveException, WorkflowException { + throws ModelException, DownloadArchiveException, WorkflowException, + WorkerInitializationException { if (isManagementReq(segments)) { if (!"workflows".equals(segments[1])) { throw new ResourceNotFoundException(); @@ -194,17 +209,4 @@ private void sendResponse(ChannelHandlerContext ctx, StatusResponse statusRespon } } } - - private static DescribeWorkflowResponse createWorkflowResponse( - String workflowName, WorkFlow workflow) { - DescribeWorkflowResponse response = new DescribeWorkflowResponse(); - response.setWorkflowName(workflowName); - response.setWorkflowUrl(workflow.getWorkflowArchive().getUrl()); - response.setBatchSize(workflow.getBatchSize()); - response.setMaxBatchDelay(workflow.getMaxBatchDelay()); - response.setMaxWorkers(workflow.getMaxWorkers()); - response.setMinWorkers(workflow.getMinWorkers()); - response.setWorkflowDag(workflow.getWorkflowDag()); - return response; - } } diff --git a/model-archiver/README.md b/model-archiver/README.md index d3c56864a1..37b76560e5 100644 --- a/model-archiver/README.md +++ b/model-archiver/README.md @@ -56,11 +56,10 @@ torch-model-archiver --model-name densenet161 --version 1.0 --model-file example ``` $ torch-model-archiver -h -usage: torch-model-archiver [-h] --model-name MODEL_NAME --handler HANDLER --version MODEL_VERSION_NUMBER - [--model-file MODEL_FILE_PATH] [--serialized-file MODEL_SERIALIZED_PATH] - [--runtime {python,python3}] [--export-path EXPORT_PATH] - [--archive-format {tgz,no-archive,zip-store,default}] - [-f] [--requirements-file] +usage: torch-model-archiver [-h] --model-name MODEL_NAME --version MODEL_VERSION_NUMBER + --model-file MODEL_FILE_PATH --serialized-file MODEL_SERIALIZED_PATH + --handler HANDLER [--runtime {python,python3}] + [--export-path EXPORT_PATH] [-f] [--requirements-file] [--config-file] Model Archiver Tool @@ -117,6 +116,7 @@ optional arguments: -r, --requirements-file Path to requirements.txt file containing a list of model specific python packages to be installed by TorchServe for seamless model serving. + -c, --config-file Path to a model config yaml file. ``` ## Artifact Details @@ -159,6 +159,28 @@ e.g. if your custom handler custom_image_classifier.py is in /home/serve/example For more details refer [default handler documentation](../docs/default_handlers.md) or [custom handler documentation](../docs/custom_service.md) +### Config file + +A model config yaml file. For example: + +``` +# TS Frontend parameters +minWorkers: 1 # default: #CPU or #GPU +maxWorkers: 1 # default: #CPU or #GPU +batchSize: 1 # default: 1 +maxBatchDelay: 100 # default: 100 msec +responseTimeout: 120 # default: 120 sec +deviceType: cpu # cpu, gpu, neuron +deviceIds: [0,1,2,3] # device index for gpu, neuron. Default: all visible devices +parallelLevel: 4 # rpc world size. Default: 1 +parallelType: pp # pp: pipeline parallel; pptp: tensor+pipeline parallel. Default: empty + +# TS backend parameters +pippy: + rpc_timeout: 1800 + pp_group_size: 4 # pipeline parallel size, tp_group_size = world size / pp_group_size +``` + ## Creating a Model Archive **1. Download the torch model archiver source** diff --git a/model-archiver/model_archiver/arg_parser.py b/model-archiver/model_archiver/arg_parser.py index 858ae2e755..17a54e6380 100644 --- a/model-archiver/model_archiver/arg_parser.py +++ b/model-archiver/model_archiver/arg_parser.py @@ -17,7 +17,6 @@ class ArgParser(object): @staticmethod def export_model_args_parser(): - """Argument parser for torch-model-export""" parser_export = argparse.ArgumentParser( @@ -146,4 +145,13 @@ def export_model_args_parser(): " packages.", ) + parser_export.add_argument( + "-c", + "--config-file", + required=False, + type=str, + default=None, + help="Path to a yaml file containing model configuration eg. batch_size.", + ) + return parser_export diff --git a/model-archiver/model_archiver/manifest_components/manifest.py b/model-archiver/model_archiver/manifest_components/manifest.py index 9828a69951..f42c804616 100644 --- a/model-archiver/model_archiver/manifest_components/manifest.py +++ b/model-archiver/model_archiver/manifest_components/manifest.py @@ -8,7 +8,6 @@ class RuntimeType(Enum): - PYTHON = "python" PYTHON3 = "python3" @@ -19,7 +18,6 @@ class Manifest(object): """ def __init__(self, runtime, model): - self.creation_time = datetime.now().strftime("%d/%m/%Y %H:%M:%S") self.runtime = RuntimeType(runtime) self.model = model diff --git a/model-archiver/model_archiver/manifest_components/model.py b/model-archiver/model_archiver/manifest_components/model.py index b985788599..e250ad61bd 100644 --- a/model-archiver/model_archiver/manifest_components/model.py +++ b/model-archiver/model_archiver/manifest_components/model.py @@ -1,6 +1,6 @@ # pylint: disable=missing-docstring import json -import sys +import os class Model(object): @@ -9,48 +9,55 @@ class Model(object): as the entry point into the service code through the handler property """ - def __init__(self, model_name, serialized_file, handler, model_file=None, model_version=None, - extensions=None, requirements_file=None): - + def __init__( + self, + model_name, + serialized_file, + handler, + model_file=None, + model_version=None, + extensions=None, + requirements_file=None, + config_file=None, + ): self.model_name = model_name self.serialized_file = None if serialized_file: - if sys.platform.startswith('win32') and serialized_file.find("\\") != -1: - self.serialized_file = serialized_file.split("\\")[-1] - else: - self.serialized_file = serialized_file.split("/")[-1] + self.serialized_file = os.path.basename(serialized_file) self.model_file = model_file self.model_version = model_version self.extensions = extensions - if sys.platform.startswith('win32') and handler.find("\\") != -1: - self.handler = handler.split("\\")[-1] - else: - self.handler = handler.split("/")[-1] + self.handler = os.path.basename(handler) self.requirements_file = requirements_file - + self.config_file = None + if config_file: + self.config_file = os.path.basename(config_file) self.model_dict = self.__to_dict__() def __to_dict__(self): - model_dict = dict() + model_dict = {} - model_dict['modelName'] = self.model_name + model_dict["modelName"] = self.model_name if self.serialized_file: - model_dict['serializedFile'] = self.serialized_file + model_dict["serializedFile"] = self.serialized_file - model_dict['handler'] = self.handler + model_dict["handler"] = self.handler if self.model_file: - model_dict['modelFile'] = self.model_file.split("/")[-1] + model_dict["modelFile"] = self.model_file.split("/")[-1] if self.model_version: - model_dict['modelVersion'] = self.model_version + model_dict["modelVersion"] = self.model_version if self.extensions: - model_dict['extensions'] = self.extensions + model_dict["extensions"] = self.extensions if self.requirements_file: - model_dict['requirementsFile'] = self.requirements_file.split("/")[-1] + model_dict["requirementsFile"] = self.requirements_file.split("/")[-1] + + if self.config_file: + model_dict["configFile"] = self.config_file return model_dict diff --git a/model-archiver/model_archiver/model_packaging.py b/model-archiver/model_archiver/model_packaging.py index bcbbfda732..3304f6a4f1 100644 --- a/model-archiver/model_archiver/model_packaging.py +++ b/model-archiver/model_archiver/model_packaging.py @@ -22,6 +22,7 @@ def package_model(args, manifest): extra_files = args.extra_files export_file_path = args.export_path requirements_file = args.requirements_file + config_file = args.config_file try: ModelExportUtils.validate_inputs(model_name, export_file_path) @@ -37,6 +38,7 @@ def package_model(args, manifest): "handler": handler, "extra_files": extra_files, "requirements-file": requirements_file, + "config_file": config_file, } model_path = ModelExportUtils.copy_artifacts(model_name, **artifact_files) diff --git a/model-archiver/model_archiver/model_packaging_utils.py b/model-archiver/model_archiver/model_packaging_utils.py index db68129f5d..f7df3c2e1a 100644 --- a/model-archiver/model_archiver/model_packaging_utils.py +++ b/model-archiver/model_archiver/model_packaging_utils.py @@ -113,6 +113,7 @@ def generate_model(modelargs): handler=modelargs.handler, model_version=modelargs.version, requirements_file=modelargs.requirements_file, + config_file=modelargs.config_file, ) return model @@ -246,7 +247,6 @@ def archive( @staticmethod def archive_dir(path, dst, archive_format, model_name): - """ This method zips the dir and filters out some files based on a expression :param archive_format: diff --git a/model-archiver/model_archiver/tests/integ_tests/configuration.json b/model-archiver/model_archiver/tests/integ_tests/configuration.json index a809a49c52..528773fb99 100644 --- a/model-archiver/model_archiver/tests/integ_tests/configuration.json +++ b/model-archiver/model_archiver/tests/integ_tests/configuration.json @@ -71,7 +71,8 @@ "archive-format": "zip-store", "iterations": 2, "version": "1.0", - "force": true + "force": true, + "config-file": "" }, { "name": "packaging_mar_with_handler_name", diff --git a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py index 6297318704..eef8dd0051 100644 --- a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py +++ b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py @@ -1,13 +1,11 @@ - - +import sys from collections import namedtuple import pytest -import sys from mock import MagicMock -sys.modules['shutil'] = MagicMock() -sys.modules['shutil.rmtree'] = MagicMock() +sys.modules["shutil"] = MagicMock() +sys.modules["shutil.rmtree"] = MagicMock() from model_archiver.manifest_components.manifest import RuntimeType from model_archiver.model_packaging import generate_model_archive, package_model @@ -16,7 +14,6 @@ # noinspection PyClassHasNoInit class TestModelPackaging: - class Namespace: def __init__(self, **kwargs): self.__dict__.update(kwargs) @@ -24,26 +21,41 @@ def __init__(self, **kwargs): def update(self, **kwargs): self.__dict__.update(kwargs) - model_name = 'my-model' - model_file = 'my-model/' - serialized_file = 'my-model/' - handler = 'a.py::my-awesome-func' - export_path = '/Users/dummyUser/' - version = '1.0' + model_name = "my-model" + model_file = "my-model/" + serialized_file = "my-model/" + handler = "a.py::my-awesome-func" + export_path = "/Users/dummyUser/" + version = "1.0" requirements_file = "requirements.txt" + config_file = None source_vocab = None - args = Namespace(model_name=model_name, handler=handler, runtime=RuntimeType.PYTHON.value, model_file=model_file, - serialized_file=serialized_file, extra_files=None, export_path=export_path, force=False, - archive_format="default", convert=False, version=version, source_vocab=source_vocab, - requirements_file=requirements_file) + args = Namespace( + model_name=model_name, + handler=handler, + runtime=RuntimeType.PYTHON.value, + model_file=model_file, + serialized_file=serialized_file, + extra_files=None, + export_path=export_path, + force=False, + archive_format="default", + convert=False, + version=version, + source_vocab=source_vocab, + requirements_file=requirements_file, + config_file=None, + ) @pytest.fixture() def patches(self, mocker): - Patches = namedtuple('Patches', ['arg_parse', 'export_utils', 'export_method']) - patches = Patches(mocker.patch('model_archiver.model_packaging.ArgParser'), - mocker.patch('model_archiver.model_packaging.ModelExportUtils'), - mocker.patch('model_archiver.model_packaging.package_model')) + Patches = namedtuple("Patches", ["arg_parse", "export_utils", "export_method"]) + patches = Patches( + mocker.patch("model_archiver.model_packaging.ArgParser"), + mocker.patch("model_archiver.model_packaging.ModelExportUtils"), + mocker.patch("model_archiver.model_packaging.package_model"), + ) return patches @@ -53,8 +65,11 @@ def test_gen_model_archive(self, patches): patches.export_method.assert_called() def test_export_model_method(self, patches): - patches.export_utils.check_mar_already_exists.return_value = '/Users/dummyUser/' - patches.export_utils.check_custom_model_types.return_value = '/Users/dummyUser', ['a.txt', 'b.txt'] + patches.export_utils.check_mar_already_exists.return_value = "/Users/dummyUser/" + patches.export_utils.check_custom_model_types.return_value = ( + "/Users/dummyUser", + ["a.txt", "b.txt"], + ) patches.export_utils.zip.return_value = None package_model(self.args, ModelExportUtils.generate_manifest_json(self.args)) @@ -63,8 +78,11 @@ def test_export_model_method(self, patches): def test_export_model_method_tar(self, patches): self.args.update(archive_format="tar") - patches.export_utils.check_mar_already_exists.return_value = '/Users/dummyUser/' - patches.export_utils.check_custom_model_types.return_value = '/Users/dummyUser', ['a.txt', 'b.txt'] + patches.export_utils.check_mar_already_exists.return_value = "/Users/dummyUser/" + patches.export_utils.check_custom_model_types.return_value = ( + "/Users/dummyUser", + ["a.txt", "b.txt"], + ) patches.export_utils.zip.return_value = None package_model(self.args, ModelExportUtils.generate_manifest_json(self.args)) @@ -73,8 +91,11 @@ def test_export_model_method_tar(self, patches): def test_export_model_method_noarchive(self, patches): self.args.update(archive_format="no-archive") - patches.export_utils.check_mar_already_exists.return_value = '/Users/dummyUser/' - patches.export_utils.check_custom_model_types.return_value = '/Users/dummyUser', ['a.txt', 'b.txt'] + patches.export_utils.check_mar_already_exists.return_value = "/Users/dummyUser/" + patches.export_utils.check_custom_model_types.return_value = ( + "/Users/dummyUser", + ["a.txt", "b.txt"], + ) patches.export_utils.zip.return_value = None package_model(self.args, ModelExportUtils.generate_manifest_json(self.args)) diff --git a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py index 6eaa4b8579..19f7e447ea 100644 --- a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py +++ b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py @@ -11,6 +11,7 @@ MANIFEST_FILE = Path(__file__).parents[1].joinpath("integ_tests/MAR-INF/MANIFEST.json") + # noinspection PyClassHasNoInit def _validate_mar(patches): if platform.system() == "Windows": @@ -23,7 +24,6 @@ def _validate_mar(patches): class TestExportModelUtils: - # noinspection PyClassHasNoInit class TestMarExistence: @pytest.fixture() @@ -91,7 +91,6 @@ def test_archive_types(self): # noinspection PyClassHasNoInit class TestCustomModelTypes: - model_path = "/Users/dummyUser" @pytest.fixture() @@ -163,6 +162,7 @@ def __init__(self, **kwargs): model_file=model_file, version=version, requirements_file=requirements_file, + config_file=None, ) def test_model(self): @@ -210,7 +210,6 @@ def test_regex_fail(self): # noinspection PyClassHasNoInit class TestFileFilter: - files_to_exclude = {"abc.onnx"} def test_with_return_false(self): @@ -236,7 +235,6 @@ def test_with_return_true(self): # noinspection PyClassHasNoInit class TestDirectoryFilter: - unwanted_dirs = {"__MACOSX", "__pycache__"} def test_with_unwanted_dirs(self): @@ -262,6 +260,7 @@ def create_manifest_from_test_json(test_json): test_ = {k.replace("-", "_"): v for k, v in test_json.items()} test_["requirements_file"] = "" test_["runtime"] = RuntimeType.PYTHON3.value + test_["config_file"] = "" args = namedtuple("Model", test_.keys())(**test_) manifest = ModelExportUtils.generate_manifest_json(args) @@ -283,6 +282,7 @@ def test_archive_creation_with_zip_store(tmp_path, integ_tests): "serialized-file", "handler", "extra-files", + "config-file", ) for k in keys: diff --git a/test/postman/inference_stream_data.json b/test/postman/inference_stream_data.json new file mode 100644 index 0000000000..94f598ef27 --- /dev/null +++ b/test/postman/inference_stream_data.json @@ -0,0 +1,13 @@ +[ + { + "url":"https://torchserve.pytorch.org/mar_files/echo_stream.mar", + "model_name":"echo_stream", + "worker":1, + "synchronous":"true", + "file":"../examples/text_classification/sample_text.txt", + "content-type":"text/plain", + "validator":"image_classification", + "expected": "hello hello hello hello world ", + "tolerance":5 + } +] diff --git a/test/pytest/test_example_near_real_time_video.py b/test/pytest/test_example_near_real_time_video.py index 7b48c3147b..18548a7e0b 100644 --- a/test/pytest/test_example_near_real_time_video.py +++ b/test/pytest/test_example_near_real_time_video.py @@ -64,6 +64,7 @@ def create_mar_file(work_dir, session_mocker, model_archiver): runtime="python", force=False, archive_format="default", + config_file=None, ) mock = session_mocker.MagicMock() diff --git a/test/pytest/test_example_scriptable_tokenzier.py b/test/pytest/test_example_scriptable_tokenzier.py index c16b4cf364..ca1909edc6 100644 --- a/test/pytest/test_example_scriptable_tokenzier.py +++ b/test/pytest/test_example_scriptable_tokenzier.py @@ -160,6 +160,7 @@ def create_mar_file(work_dir, session_mocker, jit_file_path, model_archiver): runtime="python", force=False, archive_format="default", + config_file=None, ) mock = session_mocker.MagicMock() @@ -215,7 +216,6 @@ def test_handler(monkeypatch, mocker, jit_file_path, test_file): # We need to recreate the handler to avoid running into https://github.com/pytorch/text/issues/1849 def create_and_call_handler(input_text): - from handler import CustomTextClassifier handler = CustomTextClassifier() @@ -250,7 +250,6 @@ def create_and_call_handler(input_text): def test_inference_with_untrained_model_and_sample_text(model_name, test_file): - with open(test_file, "rb") as f: response = requests.post( url=f"http://localhost:8080/predictions/{model_name}", data=f @@ -269,7 +268,6 @@ def test_inference_with_untrained_model_and_sample_text(model_name, test_file): def test_inference_with_untrained_model_and_empty_string(model_name): - data = "".encode("utf8") response = requests.post( diff --git a/test/pytest/test_example_torchrec_dlrm.py b/test/pytest/test_example_torchrec_dlrm.py index c0808fc5d7..e4fef7e240 100644 --- a/test/pytest/test_example_torchrec_dlrm.py +++ b/test/pytest/test_example_torchrec_dlrm.py @@ -104,6 +104,7 @@ def create_mar_file(work_dir, session_mocker, serialized_file, model_archiver): runtime="python", force=False, archive_format="default", + config_file=None, ) mock = session_mocker.MagicMock() diff --git a/ts/context.py b/ts/context.py index 7d97a5785f..82a7e352d9 100644 --- a/ts/context.py +++ b/ts/context.py @@ -21,6 +21,7 @@ def __init__( mms_version, limit_max_image_pixels=True, metrics=None, + model_yaml_config=None, ): self.model_name = model_name self.manifest = manifest @@ -37,6 +38,7 @@ def __init__( self._metrics = None self._limit_max_image_pixels = True self.metrics = metrics + self.model_yaml_config = model_yaml_config # add cient socket variable cl_socket to be used for send_intermediate_predict_response self.cl_socket = None diff --git a/ts/model_service_worker.py b/ts/model_service_worker.py index 86d18f2ce7..625d3f31ee 100644 --- a/ts/model_service_worker.py +++ b/ts/model_service_worker.py @@ -21,6 +21,10 @@ DEBUG = False BENCHMARK = os.getenv("TS_BENCHMARK") BENCHMARK = BENCHMARK in ["True", "true", "TRUE"] +LOCAL_RANK = int(os.getenv("LOCAL_RANK", 0)) +WORLD_SIZE = int(os.getenv("WORLD_SIZE", 0)) +WORLD_RANK = int(os.getenv("RANK", 0)) +LOCAL_WORLD_SIZE = int(os.getenv("LOCAL_WORLD_SIZE", 0)) class TorchModelServiceWorker(object): @@ -41,20 +45,28 @@ def __init__( if s_type == "unix": if s_name is None: raise ValueError("Wrong arguments passed. No socket name given.") - self.sock_name, self.port = s_name, -1 + s_name_parts = s_name.rsplit(".", 1) + logging.info( + "s_name_part0=%s, s_name_part1=%s, pid=%d", + s_name_parts[0], + s_name_parts[1], + os.getpid(), + ) + s_name_new = s_name_parts[0] + "." + str(int(s_name_parts[1]) + LOCAL_RANK) + self.sock_name, self.port = s_name_new, -1 try: - os.remove(s_name) + os.remove(s_name_new) except OSError as e: - if os.path.exists(s_name): + if os.path.exists(s_name_new): raise RuntimeError( - "socket already in use: {}.".format(s_name) + "socket already in use: {}.".format(s_name_new) ) from e elif s_type == "tcp": self.sock_name = host_addr if host_addr is not None else "127.0.0.1" if port_num is None: raise ValueError("Wrong arguments passed. No socket port given.") - self.port = port_num + self.port = port_num + LOCAL_RANK else: raise ValueError("Incomplete data provided") @@ -178,6 +190,7 @@ def run_server(self): self.sock.bind((self.sock_name, int(self.port))) self.sock.listen(1) + logging.info("[PID]%d", os.getpid()) logging.info("Torch worker started.") logging.info("Python runtime: %s", platform.python_version()) diff --git a/ts/service.py b/ts/service.py index 3062f78c27..9848d8722e 100644 --- a/ts/service.py +++ b/ts/service.py @@ -2,13 +2,14 @@ CustomService class definitions """ import logging +import os import time from builtins import str import ts from ts.context import Context, RequestProcessor from ts.protocol.otf_message_handler import create_predict_response -from ts.utils.util import PredictionException +from ts.utils.util import PredictionException, get_yaml_config PREDICTION_METRIC = "PredictionTime" logger = logging.getLogger(__name__) @@ -30,6 +31,32 @@ def __init__( limit_max_image_pixels=True, metrics_cache=None, ): + model_yaml_config = {} + if manifest is not None and "model" in manifest: + model = manifest["model"] + if "configFile" in model: + model_yaml_config_file = model["configFile"] + model_yaml_config = get_yaml_config( + os.path.join(model_dir, model_yaml_config_file) + ) + + parallelLevel = 1 + if ( + "parallelLevel" in model_yaml_config + and type(model_yaml_config["parallelLevel"]) is int + and int(model_yaml_config["parallelLevel"]) > 1 + ): + parallelLevel = int(model_yaml_config["parallelLevel"]) + + # devicedIds in model config yaml file + if type(gpu) is int and gpu >= 1000: + if parallelLevel == 1: + gpu = int(model_yaml_config["deviceIds"][gpu % 1000]) + else: + gpu = gpu % 1000 + elif "deviceIds" in model_yaml_config: + del model_yaml_config["deviceIds"] + self._context = Context( model_name, model_dir, @@ -39,6 +66,7 @@ def __init__( ts.__version__, limit_max_image_pixels, metrics_cache, + model_yaml_config, ) self._entry_point = entry_point diff --git a/ts/tests/unit_tests/test_model_service_worker.py b/ts/tests/unit_tests/test_model_service_worker.py index b0bd4ac7cb..a17ede9650 100644 --- a/ts/tests/unit_tests/test_model_service_worker.py +++ b/ts/tests/unit_tests/test_model_service_worker.py @@ -43,7 +43,7 @@ def socket_patches(mocker): def model_service_worker(socket_patches): if not sys.platform.startswith("win"): model_service_worker = TorchModelServiceWorker( - "unix", "my-socket", None, None, metrics_config_path + "unix", "my-socket.9999", None, None, metrics_config_path ) else: model_service_worker = TorchModelServiceWorker( @@ -59,7 +59,7 @@ def model_service_worker(socket_patches): sys.platform.startswith("win"), reason="Skipping linux/darwin specific test cases" ) class TestInit: - socket_name = "sampleSocketName" + socket_name = "sampleSocketName.9999" def test_missing_socket_name(self): with pytest.raises(ValueError, match="Incomplete data provided.*"): @@ -72,7 +72,7 @@ def test_socket_in_use(self, mocker): path_exists.return_value = True with pytest.raises( - Exception, match=r".*socket already in use: sampleSocketName.*" + Exception, match=r".*socket already in use: sampleSocketName.9999.*" ): TorchModelServiceWorker( "unix", self.socket_name, None, None, metrics_config_path diff --git a/ts/utils/util.py b/ts/utils/util.py index 629f274008..5f0b1a8e18 100644 --- a/ts/utils/util.py +++ b/ts/utils/util.py @@ -9,6 +9,8 @@ import os import re +import yaml + class PT2Backend(str, enum.Enum): EAGER = "eager" @@ -136,6 +138,13 @@ def map_class_to_label(probs, mapping=None, lbl_classes=None): return results +def get_yaml_config(yaml_file_path): + config = {} + with open(yaml_file_path, "r") as file: + config = yaml.safe_load(file) + return config + + class PredictionException(Exception): def __init__(self, message, error_code=500): self.message = message From 4ca86f367de66862ba9a1b9f7dc284d30dd643b2 Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Fri, 31 Mar 2023 10:15:39 -0700 Subject: [PATCH 032/172] Add frontend metrics to default metrics configuration (#2164) * Add frontend metrics to default metrics configuration * Remove unused metrics and include additional frontend metrics * Add mode configuration, prometheus metrics and WorkerLoadTime metric. Include hostname dimension for supported metrics * Replace UUID with hostname Use consistent naming convention for metrics Remove hostname dimension from model metrics * Update metric units Change InferenceLatencyMicroseconds and QueueLatencyMicroseconds metric type to Counter as per existing implementation * Update model metrics units * Update metric names for currently supported prometheus metrics * Set default metrics mode to log --------- Co-authored-by: Naman Nandan --- ts/configs/metrics.yaml | 88 +++++++++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 21 deletions(-) diff --git a/ts/configs/metrics.yaml b/ts/configs/metrics.yaml index 5bb6af6ead..dadadc6c2f 100644 --- a/ts/configs/metrics.yaml +++ b/ts/configs/metrics.yaml @@ -1,34 +1,80 @@ +mode: log + dimensions: - - &model_name "model_name" + - &model_name "ModelName" + - &model_version "ModelVersion" + - &worker_name "WorkerName" - &level "Level" + - &device_id "DeviceId" + - &hostname "Hostname" ts_metrics: counter: - - name: CounterTsMetricExample - unit: ms - dimensions: [*model_name, *level] + - name: Requests2XX + unit: Count + dimensions: [*level, *hostname] + - name: Requests4XX + unit: Count + dimensions: [*level, *hostname] + - name: Requests5XX + unit: Count + dimensions: [*level, *hostname] + - name: ts_inference_requests_total + unit: Count + dimensions: [*model_name, *model_version, *hostname] + - name: ts_inference_latency_microseconds + unit: Microseconds + dimensions: [*model_name, *model_version, *hostname] + - name: ts_queue_latency_microseconds + unit: Microseconds + dimensions: [*model_name, *model_version, *hostname] gauge: - - name: GaugeTsMetricExample - unit: ms - dimensions: [*model_name, *level] - histogram: - - name: HistogramTsMetricExample - unit: ms - dimensions: [*model_name, *level] + - name: QueueTime + unit: Milliseconds + dimensions: [*level, *hostname] + - name: WorkerThreadTime + unit: Milliseconds + dimensions: [*level, *hostname] + - name: WorkerLoadTime + unit: Milliseconds + dimensions: [*worker_name, *level, *hostname] + - name: CPUUtilization + unit: Percent + dimensions: [*level, *hostname] + - name: MemoryUsed + unit: Megabytes + dimensions: [*level, *hostname] + - name: MemoryAvailable + unit: Megabytes + dimensions: [*level, *hostname] + - name: MemoryUtilization + unit: Percent + dimensions: [*level, *hostname] + - name: DiskUsage + unit: Gigabytes + dimensions: [*level, *hostname] + - name: DiskUtilization + unit: Percent + dimensions: [*level, *hostname] + - name: DiskAvailable + unit: Gigabytes + dimensions: [*level, *hostname] + - name: GPUMemoryUtilization + unit: Percent + dimensions: [*level, *device_id, *hostname] + - name: GPUMemoryUsed + unit: Megabytes + dimensions: [*level, *device_id, *hostname] + - name: GPUUtilization + unit: Percent + dimensions: [*level, *device_id, *hostname] model_metrics: - counter: - - name: InferenceTimeInMS - unit: ms - dimensions: [*model_name, *level] - - name: NumberOfMetrics - unit: count - dimensions: [*model_name, *level] + # Dimension "Hostname" is automatically added for model metrics in the backend gauge: - - name: GaugeModelMetricNameExample + - name: HandlerTime unit: ms dimensions: [*model_name, *level] - histogram: - - name: HistogramModelMetricNameExample + - name: PredictionTime unit: ms dimensions: [*model_name, *level] From c9fbc7c957486091a57100e3ff6b2606e1af2686 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Fri, 31 Mar 2023 23:58:03 +0000 Subject: [PATCH 033/172] support torchrun and optimize gpu assignment (#2209) * support torchrun and optimize gpu assignment * fix envp * update torchrun log dir * update doc * add word in whitelist * remove debug log * use path func * fmt * update doc * add word in whitelist --- docs/configuration.md | 6 +- .../serve/archive/model/ModelConfig.java | 214 +++++++++++++++++- .../serve/archive/model/ModelConfigTest.java | 8 +- .../test/resources/modelConfig/invalid.yaml | 1 - .../src/test/resources/modelConfig/valid.yaml | 9 +- .../org/pytorch/serve/util/ConfigManager.java | 12 + .../java/org/pytorch/serve/wlm/Model.java | 21 +- .../pytorch/serve/wlm/WorkLoadManager.java | 17 +- .../pytorch/serve/wlm/WorkerLifeCycle.java | 65 ++++-- .../org/pytorch/serve/wlm/WorkerThread.java | 21 +- model-archiver/README.md | 10 +- ts/service.py | 17 -- ts_scripts/spellcheck_conf/wordlist.txt | 3 + 13 files changed, 328 insertions(+), 76 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 8bf7738b51..11dd3f1da6 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -266,11 +266,13 @@ models={\ }\ } ``` -As of version 0.8.0, TorchServe allows for model configuration using a YAML file embedded in the MAR file. This YAML file contains two distinct parts that determine how a model is configured: frontend parameters and backend parameters. (see [details](https://github.com/pytorch/serve/tree/master/model-archiver)) +Starting from version 0.8.0, TorchServe allows for model configuration using a YAML file embedded in the MAR file. This YAML file contains two distinct parts that determine how a model is configured: frontend parameters and backend parameters. (see [details](https://github.com/pytorch/serve/tree/master/model-archiver#config-file)) * The frontend parameters are controlled by TorchServe's frontend and specify the parameter name and default values. TorchServe now uses a priority order to determine the final value of a model's parameters in frontend. Specifically, the config.property file has the lowest priority, followed by the model configuration YAML file, and finally, the REST or gRPC model management API has the highest priority. -* The backend parameters are fully controlled by the user. Users customized handler can access the backend parameters via the `model_yaml_config` property of the context object. +* The backend parameters are fully controlled by the user. Users customized handler can access the backend parameters via the `model_yaml_config` property of the [context object](https://github.com/pytorch/serve/blob/master/ts/context.py#L24). For example, context.model_yaml_config["pippy"]["rpc_timeout"]. + +* User can allocate specific GPU device IDs to a model by defining "deviceIds" in the frontend parameters in the YAML file. TorchServe uses a round-robin strategy to assign device IDs to a model's worker. If specified in the YAML file, it round-robins the device IDs listed; otherwise, it uses all visible device IDs on the host. ### Other properties diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java index e82873db64..1630cde83e 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java @@ -20,6 +20,7 @@ public class ModelConfig { private List deviceIds; private int parallelLevel = 1; private ParallelType parallelType = ParallelType.NONE; + private TorchRun torchRun; public static ModelConfig build(Map yamlMap) { ModelConfig modelConfig = new ModelConfig(); @@ -68,13 +69,6 @@ public static ModelConfig build(Map yamlMap) { logger.warn("Invalid deviceType: {}, should be cpu, or gpu", v); } break; - case "parallelLevel": - if (v instanceof Integer) { - modelConfig.setParallelLevel((int) v); - } else { - logger.warn("Invalid parallelLevel: {}, should be integer >= 1", v); - } - break; case "parallelType": if (v instanceof String) { modelConfig.setParallelMode((String) v); @@ -90,6 +84,16 @@ public static ModelConfig build(Map yamlMap) { logger.warn("Invalid deviceIds: {}, should be list of integer", v); } break; + case "torchrun": + if (v instanceof Map) { + modelConfig.torchRun = TorchRun.build((Map) v); + modelConfig.setParallelLevel( + modelConfig.torchRun.getNprocPerNode()); + } else { + logger.warn( + "Invalid torchrun: {}, should be Torchrun parameters", v); + } + break; default: break; } @@ -203,6 +207,10 @@ public DeviceType getDeviceType() { return deviceType; } + public TorchRun getTorchRun() { + return torchRun; + } + public enum ParallelType { NONE(""), PP("pp"), @@ -263,4 +271,196 @@ public static DeviceType get(String deviceType) { return dType; } } + + public static class TorchRun { + private int nnodes = 1; + private int nprocPerNode = 1; + private String rdzvId; + private String rdzvEndpoint; + private String rdzvBackend = "c10d"; + private String rdzvConf; + private int maxRestarts = 3; + private int monitorInterval = 5; + private int nodeRank; + private String masterAddr; + private int masterPort; + + public static TorchRun build(Map torchRunMap) { + TorchRun torchRun = new TorchRun(); + torchRunMap.forEach( + (k, v) -> { + switch ((String) k) { + case "nnodes": + if (v instanceof Integer) { + torchRun.setNnodes((Integer) v); + } else { + logger.warn("Invalid torchrun.nnodes:{}, reset to 1", v); + } + break; + case "nproc-per-node": + if (v instanceof Integer) { + torchRun.setNprocPerNode((Integer) v); + } else { + logger.warn( + "Invalid torchrun.nproc-per-node:{}, reset to 1", v); + } + break; + case "rdzv-backend": + if (v instanceof String) { + torchRun.setRdzvBackend((String) v); + } else { + logger.warn( + "Invalid torchrun.rdzv-backend:{}, reset to c10d", v); + } + break; + case "rdzv-endpoint": + if (v instanceof String) { + torchRun.setRdzvEndpoint((String) v); + } else { + logger.warn("Invalid torchrun.rdzv-endpoint:{}", v); + } + break; + case "rdzv-conf": + if (v instanceof String) { + torchRun.setRdzvConf((String) v); + } else { + logger.warn("Invalid torchrun.rdzv-conf:{}", v); + } + break; + case "max-restarts": + if (v instanceof Integer) { + torchRun.setMaxRestarts((Integer) v); + } else { + logger.warn("Invalid torchrun.max-restarts:{}, reset to 3", v); + } + break; + case "monitor-interval": + if (v instanceof Integer) { + torchRun.setMonitorInterval((Integer) v); + } else { + logger.warn("Invalid torchrun.max-restarts:{}, reset to 5", v); + } + break; + case "node-rank": + if (v instanceof Integer) { + torchRun.setNodeRank((Integer) v); + } else { + logger.warn("Invalid torchrun.node-rank:{}, reset to 0", v); + } + break; + default: + break; + } + }); + return torchRun; + } + + public int getNnodes() { + return nnodes; + } + + public void setNnodes(int nnodes) { + if (nnodes <= 0) { + logger.warn("Invalid torchrun.nnodes:{}, reset to 1", nnodes); + return; + } + this.nnodes = nnodes; + } + + public int getNprocPerNode() { + return nprocPerNode; + } + + public void setNprocPerNode(int nprocPerNode) { + if (nprocPerNode <= 0) { + logger.warn("Invalid torchrun.nproc-per-node:{}, reset to 1", nprocPerNode); + return; + } + this.nprocPerNode = nprocPerNode; + } + + public String getRdzvId() { + return rdzvId; + } + + public void setRdzvId(String rdzvId) { + this.rdzvId = rdzvId; + } + + public String getRdzvEndpoint() { + return rdzvEndpoint; + } + + public void setRdzvEndpoint(String rdzvEndpoint) { + this.rdzvEndpoint = rdzvEndpoint; + } + + public String getRdzvBackend() { + return rdzvBackend; + } + + public void setRdzvBackend(String rdzvBackend) { + this.rdzvBackend = rdzvBackend; + } + + public String getRdzvConf() { + return rdzvConf; + } + + public void setRdzvConf(String rdzvConf) { + this.rdzvConf = rdzvConf; + } + + public int getMaxRestarts() { + return maxRestarts; + } + + public void setMaxRestarts(int maxRestarts) { + if (maxRestarts <= 0) { + logger.warn("Invalid torchrun.max-restarts:{}, reset to 3", maxRestarts); + return; + } + this.maxRestarts = maxRestarts; + } + + public int getMonitorInterval() { + return monitorInterval; + } + + public void setMonitorInterval(int monitorInterval) { + if (monitorInterval <= 0) { + logger.warn("Invalid torchrun.monitor-interval:{}, reset to 5", monitorInterval); + return; + } + this.monitorInterval = monitorInterval; + } + + public int getNodeRank() { + return nodeRank; + } + + public void setNodeRank(int nodeRank) { + if (nodeRank < 0) { + logger.warn("Invalid torchrun.node-rank:{}, reset to 0", nodeRank); + return; + } + this.nodeRank = nodeRank; + } + + public String getMasterAddr() { + return masterAddr; + } + + public void setMasterAddr(String masterAddr) { + this.masterAddr = masterAddr; + } + + public int getMasterPort() { + return masterPort; + } + + public void setMasterPort(int masterPort) { + this.masterPort = masterPort; + } + } } diff --git a/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java b/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java index db986aab73..bc567165a5 100644 --- a/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java +++ b/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelConfigTest.java @@ -9,7 +9,7 @@ public class ModelConfigTest { @Test - public void TestValidYamlConfig() throws InvalidModelException, IOException { + public void testValidYamlConfig() throws InvalidModelException, IOException { String yamlConfigFile = "src/test/resources/modelConfig/valid.yaml"; ModelConfig modelConfig; File configFile = new File(yamlConfigFile); @@ -25,10 +25,12 @@ public void TestValidYamlConfig() throws InvalidModelException, IOException { Assert.assertEquals(modelConfig.getParallelLevel(), 4); Assert.assertEquals(modelConfig.getParallelType(), ModelConfig.ParallelType.PP); Assert.assertEquals(modelConfig.getDeviceIds().get(2).intValue(), 2); + Assert.assertEquals(modelConfig.getTorchRun().getNodeRank(), 0); + Assert.assertEquals(modelConfig.getTorchRun().getRdzvBackend(), "c10d"); } @Test - public void TestInvalidYamlConfig() throws InvalidModelException, IOException { + public void testInvalidYamlConfig() throws InvalidModelException, IOException { String yamlConfigFile = "src/test/resources/modelConfig/invalid.yaml"; ModelConfig modelConfig; File configFile = new File(yamlConfigFile); @@ -41,7 +43,7 @@ public void TestInvalidYamlConfig() throws InvalidModelException, IOException { Assert.assertEquals(modelConfig.getMaxBatchDelay(), 100); Assert.assertEquals(modelConfig.getResponseTimeout(), 120); Assert.assertNotEquals(modelConfig.getDeviceType(), ModelConfig.DeviceType.GPU); - Assert.assertEquals(modelConfig.getParallelLevel(), 4); + Assert.assertEquals(modelConfig.getParallelLevel(), 1); Assert.assertNotEquals(modelConfig.getParallelType(), ModelConfig.ParallelType.PPTP); Assert.assertNull(modelConfig.getDeviceIds()); } diff --git a/frontend/archive/src/test/resources/modelConfig/invalid.yaml b/frontend/archive/src/test/resources/modelConfig/invalid.yaml index 3544ef5ada..014b50bc05 100644 --- a/frontend/archive/src/test/resources/modelConfig/invalid.yaml +++ b/frontend/archive/src/test/resources/modelConfig/invalid.yaml @@ -6,5 +6,4 @@ maxBatchDelay: 100 responseTimeout: 120 deviceType: xpu # cpu, gpu deviceIds: 0,1,2,3] # device index for gpu -parallelLevel: 4 # rpc world size parallelType: "xpp" # pp: pipeline parallel; pptp: tensor+pipeline parallel \ No newline at end of file diff --git a/frontend/archive/src/test/resources/modelConfig/valid.yaml b/frontend/archive/src/test/resources/modelConfig/valid.yaml index 8980c1b6a4..45995f451a 100644 --- a/frontend/archive/src/test/resources/modelConfig/valid.yaml +++ b/frontend/archive/src/test/resources/modelConfig/valid.yaml @@ -5,6 +5,9 @@ batchSize: 1 maxBatchDelay: 100 responseTimeout: 120 deviceType: "gpu" # cpu, gpu -deviceIds: [0,1,2,3] # device index for gpu, neuron -parallelLevel: 4 # rpc world size -parallelType: "pp" # pp: pipeline parallel; pptp: tensor+pipeline parallel \ No newline at end of file +deviceIds: [0,1,2,3] # device index for gpu +parallelType: "pp" # pp: pipeline parallel; pptp: tensor+pipeline parallel + +torchrun: + nproc-per-node: 4 + diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 1d67578762..574dbb6d8a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -135,6 +135,7 @@ public final class ConfigManager { private static ConfigManager instance; private String hostName; private Map> modelConfig = new HashMap<>(); + private String torchrunLogDir; private ConfigManager(Arguments args) throws IOException { prop = new Properties(); @@ -375,6 +376,17 @@ public String getMetricsConfigPath() { return path; } + public String getTorchRunLogDir() { + if (torchrunLogDir == null) { + torchrunLogDir = + Paths.get( + getCanonicalPath(System.getProperty("LOG_LOCATION")), + "torchelastic_ts") + .toString(); + } + return torchrunLogDir; + } + public boolean isSystemMetricsDisabled() { return Boolean.parseBoolean(getProperty(TS_DISABLE_SYSTEM_METRICS, "false")); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 24eb945c0c..7d3867840b 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -52,7 +52,7 @@ public class Model { private int responseTimeout; private ModelVersionName modelVersionName; private AtomicInteger gpuCounter = new AtomicInteger(0); - private boolean hasDeviceIds; + private boolean hasCfgDeviceIds; private boolean isWorkflowModel; // Total number of subsequent inference request failures @@ -80,12 +80,12 @@ public Model(ModelArchive modelArchive, int queueSize) { deviceIds = modelArchive.getModelConfig().getDeviceIds(); if (deviceIds != null && deviceIds.size() > 0) { - hasDeviceIds = true; + hasCfgDeviceIds = true; for (Integer deviceId : deviceIds) { if (deviceId < 0 || deviceId >= ConfigManager.getInstance().getNumberOfGpu()) { logger.warn("Invalid deviceId:{}, ignore deviceIds list", deviceId); deviceIds = null; - hasDeviceIds = false; + hasCfgDeviceIds = false; break; } } @@ -95,11 +95,10 @@ public Model(ModelArchive modelArchive, int queueSize) { maxBatchDelay = 100; } - if (ConfigManager.getInstance().getNumberOfGpu() > 0) { + if (ConfigManager.getInstance().getNumberOfGpu() > 0 + && deviceType != ModelConfig.DeviceType.CPU) { numCores = - (deviceType == ModelConfig.DeviceType.GPU - && deviceIds != null - && deviceIds.size() > 0) + hasCfgDeviceIds ? deviceIds.size() : ConfigManager.getInstance().getNumberOfGpu(); } @@ -321,10 +320,6 @@ public int getParallelLevel() { return this.parallelLevel; } - public void setParallelLevel(int parallelLevel) { - this.parallelLevel = parallelLevel; - } - public ModelConfig.ParallelType getParallelType() { return this.parallelType; } @@ -341,7 +336,7 @@ public AtomicInteger getGpuCounter() { return gpuCounter; } - public boolean isHasDeviceIds() { - return hasDeviceIds; + public boolean isHasCfgDeviceIds() { + return hasCfgDeviceIds; } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java index 15a762ea05..14fecc49fa 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java @@ -196,15 +196,16 @@ private void addThreads( int gpuId = -1; if (maxGpu > 0) { - if (model.isHasDeviceIds()) { + if (model.isHasCfgDeviceIds() || model.getParallelLevel() > 1) { gpuId = - 1000 - + model.getGpuCounter() - .getAndAccumulate( - maxGpu, - (prev, maxGpuId) -> - (prev + model.getParallelLevel()) - % maxGpuId); + model.getGpuCounter() + .getAndAccumulate( + maxGpu, + (prev, maxGpuId) -> + (prev + model.getParallelLevel()) % maxGpuId); + if (model.getParallelLevel() == 1) { + gpuId = model.getDeviceIds().get(gpuId); + } } else { gpuId = gpuCounter.accumulateAndGet( diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java index e77e99290b..baed23e1f5 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java @@ -5,12 +5,15 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Scanner; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.pytorch.serve.archive.model.ModelConfig; import org.pytorch.serve.metrics.Metric; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.Connector; @@ -85,7 +88,8 @@ public boolean isLauncherAvailable() return launcherAvailable; } - public void startWorker(int port) throws WorkerInitializationException, InterruptedException { + public void startWorker(int port, String deviceIds) + throws WorkerInitializationException, InterruptedException { File workingDir = new File(configManager.getModelServerHome()); File modelPath; setPort(port); @@ -96,8 +100,16 @@ public void startWorker(int port) throws WorkerInitializationException, Interrup } ArrayList argl = new ArrayList<>(); + ArrayList envp = new ArrayList<>(); + envp.addAll( + Arrays.asList( + EnvironmentUtils.getEnvString( + workingDir.getAbsolutePath(), + modelPath.getAbsolutePath(), + model.getModelArchive().getManifest().getModel().getHandler()))); + if (model.getParallelLevel() > 1) { - attachRunner(argl, port); + attachRunner(argl, envp, port, deviceIds); } else if (model.getParallelLevel() == 1) { argl.add(EnvironmentUtils.getPythonRunTime(model)); } @@ -132,20 +144,15 @@ public void startWorker(int port) throws WorkerInitializationException, Interrup argl.add("--metrics-config"); argl.add(configManager.getMetricsConfigPath()); - String[] envp = - EnvironmentUtils.getEnvString( - workingDir.getAbsolutePath(), - modelPath.getAbsolutePath(), - model.getModelArchive().getManifest().getModel().getHandler()); - try { latch = new CountDownLatch(model.getParallelLevel()); String[] args = argl.toArray(new String[argl.size()]); + String[] envs = envp.toArray(new String[envp.size()]); logger.debug("Worker cmdline: {}", argl.toString()); synchronized (this) { - process = Runtime.getRuntime().exec(args, envp, modelPath); + process = Runtime.getRuntime().exec(args, envs, modelPath); String threadName = "W-" + port + '-' + model.getModelVersionName().getVersionedModelName(); @@ -171,16 +178,38 @@ public void startWorker(int port) throws WorkerInitializationException, Interrup } } - private void attachRunner(ArrayList argl, int port) { - System.setProperty("LOGLEVEL", "INFO"); + private void attachRunner( + ArrayList argl, List envp, int port, String deviceIds) { + envp.add("LOGLEVEL=INFO"); + if (deviceIds != null) { + envp.add("CUDA_VISIBLE_DEVICES=" + deviceIds); + } + ModelConfig.TorchRun torchRun = model.getModelArchive().getModelConfig().getTorchRun(); argl.add("torchrun"); - argl.add("--nnodes=1"); - argl.add("--nproc_per_node=" + model.getParallelLevel()); - argl.add("--max_restarts=3"); - argl.add("--log_dir=/tmp/torchelastic_ts"); - argl.add("--rdzv_backend=c10d"); - argl.add("--rdzv_endpoint=localhost:" + port); - argl.add("--rdzv_id=" + model.getModelName() + "_" + port); + argl.add("--nnodes"); + argl.add(String.valueOf(torchRun.getNnodes())); + argl.add("--nproc_per_node"); + argl.add(String.valueOf(torchRun.getNprocPerNode())); + argl.add("--max_restarts"); + argl.add(String.valueOf(torchRun.getMaxRestarts())); + argl.add("--log_dir"); + argl.add(ConfigManager.getInstance().getTorchRunLogDir()); + argl.add("--rdzv_backend"); + argl.add(torchRun.getRdzvBackend()); + argl.add("--rdzv_endpoint"); + if (torchRun.getRdzvEndpoint() != null) { + argl.add(torchRun.getRdzvEndpoint()); + } else { + argl.add(String.format("localhost:%d", port)); + } + argl.add("--rdzv_id"); + argl.add(String.format("%s_%d", model.getModelName(), port)); + if (torchRun.getMasterAddr() != null) { + argl.add("--master-addr"); + argl.add(torchRun.getMasterAddr()); + argl.add("--master-port"); + argl.add(String.valueOf(torchRun.getMasterPort())); + } } public synchronized void terminateIOStreams() { diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index 716495b740..ef5bec237f 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -19,12 +19,14 @@ import java.net.SocketAddress; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.List; import java.util.UUID; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; import org.pytorch.serve.archive.model.ModelConfig; import org.pytorch.serve.job.Job; import org.pytorch.serve.job.RestJob; @@ -347,7 +349,7 @@ public void setMemory(long memory) { private void connect() throws WorkerInitializationException, InterruptedException { if (!configManager.isDebug()) { - lifeCycle.startWorker(port); + lifeCycle.startWorker(port, getDeviceIds()); } String modelName = model.getModelName(); @@ -511,6 +513,23 @@ public void retry() { logger.info("Retry worker: {} in {} seconds.", workerId, BACK_OFF[backoffIdx]); } + private String getDeviceIds() { + List deviceIds; + if (gpuId == -1 || model.getParallelLevel() == 1) { + return null; + } else if (model.isHasCfgDeviceIds()) { + return model.getDeviceIds().subList(gpuId, gpuId + model.getParallelLevel()).stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + } else { + deviceIds = new ArrayList<>(model.getParallelLevel()); + for (int i = gpuId; i < gpuId + model.getParallelLevel(); i++) { + deviceIds.add(i); + } + return deviceIds.stream().map(String::valueOf).collect(Collectors.joining(",")); + } + } + @ChannelHandler.Sharable private class WorkerHandler extends SimpleChannelInboundHandler { diff --git a/model-archiver/README.md b/model-archiver/README.md index 37b76560e5..ae9df6f880 100644 --- a/model-archiver/README.md +++ b/model-archiver/README.md @@ -164,17 +164,21 @@ For more details refer [default handler documentation](../docs/default_handlers. A model config yaml file. For example: ``` -# TS Frontend parameters +# TS frontend parameters +# See all supported parameters: https://github.com/pytorch/serve/blob/master/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java#L14 minWorkers: 1 # default: #CPU or #GPU maxWorkers: 1 # default: #CPU or #GPU batchSize: 1 # default: 1 maxBatchDelay: 100 # default: 100 msec responseTimeout: 120 # default: 120 sec deviceType: cpu # cpu, gpu, neuron -deviceIds: [0,1,2,3] # device index for gpu, neuron. Default: all visible devices -parallelLevel: 4 # rpc world size. Default: 1 +deviceIds: [0,1,2,3] # gpu device ids allocated to this model. parallelType: pp # pp: pipeline parallel; pptp: tensor+pipeline parallel. Default: empty +# See torchrun parameters: https://pytorch.org/docs/stable/elastic/run.html +torchrun: + nproc-per-node: 2 + # TS backend parameters pippy: rpc_timeout: 1800 diff --git a/ts/service.py b/ts/service.py index 9848d8722e..fcf35ff7b0 100644 --- a/ts/service.py +++ b/ts/service.py @@ -40,23 +40,6 @@ def __init__( os.path.join(model_dir, model_yaml_config_file) ) - parallelLevel = 1 - if ( - "parallelLevel" in model_yaml_config - and type(model_yaml_config["parallelLevel"]) is int - and int(model_yaml_config["parallelLevel"]) > 1 - ): - parallelLevel = int(model_yaml_config["parallelLevel"]) - - # devicedIds in model config yaml file - if type(gpu) is int and gpu >= 1000: - if parallelLevel == 1: - gpu = int(model_yaml_config["deviceIds"][gpu % 1000]) - else: - gpu = gpu % 1000 - elif "deviceIds" in model_yaml_config: - del model_yaml_config["deviceIds"] - self._context = Context( model_name, model_dir, diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index 8bfc5adeb9..f9d5ff96a6 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1029,3 +1029,6 @@ StreamPredictions LLMs MPS mps +deviceIds +rpc +pippy From 8b1ae4ba407ab2368740dc2bb87438a6989a6fc1 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Mon, 3 Apr 2023 09:37:21 -0700 Subject: [PATCH 034/172] Enable regression tests to run daily (#2211) * Enable regression tests to run daily --- .github/workflows/regression_tests_cpu.yml | 4 ++-- .github/workflows/regression_tests_gpu.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/regression_tests_cpu.yml b/.github/workflows/regression_tests_cpu.yml index 07aec6270c..1f7230963b 100644 --- a/.github/workflows/regression_tests_cpu.yml +++ b/.github/workflows/regression_tests_cpu.yml @@ -1,9 +1,9 @@ name: Run Regression Tests on CPU on: - # runs every Sunday at 11:15am + # runs everyday at 9:15am schedule: - - cron: '15 11 * * 7' + - cron: '15 9 * * *' jobs: regression-cpu: diff --git a/.github/workflows/regression_tests_gpu.yml b/.github/workflows/regression_tests_gpu.yml index eb6ab812a2..09e73e53b3 100644 --- a/.github/workflows/regression_tests_gpu.yml +++ b/.github/workflows/regression_tests_gpu.yml @@ -1,9 +1,9 @@ name: Run Regression Tests on GPU on: - # runs every Sunday at 11:15am + # runs everyday at 9:15am schedule: - - cron: '15 11 * * 7' + - cron: '15 9 * * *' jobs: regression-gpu: From 237675f087b91504415227d40f2245e51cf142b4 Mon Sep 17 00:00:00 2001 From: Fabrizio Damicelli <40115969+fabridamicelli@users.noreply.github.com> Date: Mon, 3 Apr 2023 19:56:03 +0200 Subject: [PATCH 035/172] Refactor Dockerfile: Fix Python version; Add CI workflow to test Docker container (#2202) * fix Dockerfile: PYHON -> PYTHON_VERSION * fix Dockerfile: repeat ARG PYTHON_VERSION on each build-stage * dockerfile: put python3-distutils and python-dev back * Dockerfile: remove redundant pip boostrapping in compile-image * Dockerfile: delete repeatet pip upgrade * Dockerfile move ARG PYTHON_VERSION up with default value, add notes * docker: add script build_image_and_check_container.sh * reduce container waiting time * remove repeated script * docker: add container tests scripts for CI * add CI workflow test-docker-image.yaml * remove || true is test scripts * use mktemp for test files * fix mktemp * fix test-entrypoint * fix workflow main -> master * fix working dir in ci * fix working dir in ci --------- Co-authored-by: Ankith Gunapal Co-authored-by: Mark Saroufim --- .github/workflows/test-docker-container.yml | 38 +++++++++++++ docker/Dockerfile | 59 ++++++++++++--------- docker/test_container_health.sh | 25 +++++++++ docker/test_container_model_prediction.sh | 58 ++++++++++++++++++++ docker/test_container_python_version.sh | 23 ++++++++ 5 files changed, 178 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/test-docker-container.yml create mode 100755 docker/test_container_health.sh create mode 100755 docker/test_container_model_prediction.sh create mode 100755 docker/test_container_python_version.sh diff --git a/.github/workflows/test-docker-container.yml b/.github/workflows/test-docker-container.yml new file mode 100644 index 0000000000..3e416f72c7 --- /dev/null +++ b/.github/workflows/test-docker-container.yml @@ -0,0 +1,38 @@ +name: Test docker image and container + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + test-docker-image: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.8", "3.9", "3.10"] + steps: + - uses: actions/checkout@v3 + + - name: Test Image Build + id: image_build + working-directory: docker + run: | + IMAGE_TAG=test-image-${{ matrix.python-version }} + ./build_image.sh -py "${{ matrix.python-version }}" -t "${IMAGE_TAG}" + echo "IMAGE_TAG=${IMAGE_TAG}" >> $GITHUB_OUTPUT + + - name: Container Healthcheck + working-directory: docker + run: ./test_container_health.sh ${{ steps.image_build.outputs.IMAGE_TAG }} + + - name: Check Python Version in Container + working-directory: docker + run: ./test_container_python_version.sh ${{ steps.image_build.outputs.IMAGE_TAG }} ${{ matrix.python-version }} + + - name: Test model running in container with sample image data + working-directory: docker + run: | + ./test_container_model_prediction.sh ${{ steps.image_build.outputs.IMAGE_TAG }} diff --git a/docker/Dockerfile b/docker/Dockerfile index 6f0ea3f7d7..a6d6382d7a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -18,39 +18,41 @@ ARG BASE_IMAGE=ubuntu:rolling +# Note: +# Define here the default python version to be used in all later build-stages as default. +# ARG and ENV variables do not persist across stages (they're build-stage scoped). +# That is crucial for ARG PYTHON_VERSION, which otherwise becomes "" leading to nasty bugs, +# that don't let the build fail, but break current version handling logic and result +# in images with wrong python version. To fix that, we will restate the ARG PYTHON_VERSION +# on each build-stage. +ARG PYTHON_VERSION=3.9 + FROM ${BASE_IMAGE} AS compile-image ARG BASE_IMAGE=ubuntu:rolling -ARG PYTHON_VERSION=3.9 +ARG PYTHON_VERSION ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ - #apt --fix-broken -y install && \ apt-get update && \ apt-get upgrade -y && \ apt-get install software-properties-common -y && \ add-apt-repository -y ppa:deadsnakes/ppa && \ apt remove python-pip python3-pip && \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ - ca-certificates \ - g++ \ - python$PYTHON_VERSION \ - python$PYTHON_VERSION-dev \ - python3-distutils \ - python$PYTHON_VERSION-venv \ - python3-venv \ - openjdk-17-jdk \ - curl \ - && rm -rf /var/lib/apt/lists/* \ - && cd /tmp \ - && curl -O https://bootstrap.pypa.io/get-pip.py \ - && python$PYTHON_VERSION get-pip.py - - -RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 1 \ - && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3 1 - -RUN python$PYHON_VERSION -m venv /home/venv - + ca-certificates \ + g++ \ + python3-distutils \ + python$PYTHON_VERSION \ + python$PYTHON_VERSION-dev \ + python$PYTHON_VERSION-venv \ + openjdk-17-jdk \ + curl \ + && rm -rf /var/lib/apt/lists/* + +# Make the virtual environment and "activating" it by adding it first to the path. +# From here on the python$PYTHON_VERSION interpreter is used and the packages +# are installed in /home/venv which is what we need for the "runtime-image" +RUN python$PYTHON_VERSION -m venv /home/venv ENV PATH="/home/venv/bin:$PATH" RUN python -m pip install -U pip setuptools @@ -75,19 +77,26 @@ RUN TORCH_VER=$(curl --silent --location https://pypi.org/pypi/torch/json | pyth else \ python -m pip install --no-cache-dir torch==$TORCH_VER+cpu torchvision==$TORCH_VISION_VER+cpu -f https://download.pytorch.org/whl/torch_stable.html; \ fi -RUN python -m pip install -U setuptools && python -m pip install --no-cache-dir captum torchtext torchserve torch-model-archiver -# Final image for production -FROM ${BASE_IMAGE} AS runtime-image +RUN python -m pip install --no-cache-dir captum torchtext torchserve torch-model-archiver pyyaml +# Final image for production +FROM ${BASE_IMAGE} AS runtime-image +# Re-state ARG PYTHON_VERSION to make it active in this build-stage (uses default define at the top) +ARG PYTHON_VERSION ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,target=/var/cache/apt \ apt-get update && \ + apt-get upgrade -y && \ + apt-get install software-properties-common -y && \ + add-apt-repository -y ppa:deadsnakes/ppa && \ + apt remove python-pip python3-pip && \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ python$PYTHON_VERSION \ python3-distutils \ python$PYTHON_VERSION-dev \ + python$PYTHON_VERSION-venv \ # using openjdk-17-jdk due to circular dependency(ca-certificates) bug in openjdk-17-jre-headless debian package # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009905 openjdk-17-jdk \ diff --git a/docker/test_container_health.sh b/docker/test_container_health.sh new file mode 100755 index 0000000000..0869b757f8 --- /dev/null +++ b/docker/test_container_health.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail + +IMAGE_TAG=$1 +CONTAINER="test-container-py${IMAGE_TAG}" + + +healthcheck() { + docker run -d --rm -it -p 8080:8080 --name="${CONTAINER}" "${IMAGE_TAG}" + + echo "Waiting 5s for container to come up..." + sleep 5 + + RESPONSE=$(curl localhost:8080/ping | jq .status) + if [ "${RESPONSE}" == '"Healthy"' ]; then + echo "Healthcheck succesful! Response from ${CONTAINER}: ${RESPONSE}" + else + echo "Healthcheck failed! Response from ${CONTAINER}: ${RESPONSE}" + exit 1 + fi +} + +healthcheck +docker stop "${CONTAINER}" diff --git a/docker/test_container_model_prediction.sh b/docker/test_container_model_prediction.sh new file mode 100755 index 0000000000..4e2812bbc0 --- /dev/null +++ b/docker/test_container_model_prediction.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail + +IMAGE_TAG=$1 +CONTAINER="test-container-${IMAGE_TAG}" + +FILES_PATH="$(realpath "$(pwd)/..")/examples/image_classifier/mnist" +SERVER_PATH="/home/model-server" +TEST_ENTRYPOINT="$(pwd)/test-entrypoint.sh" +cat << EOF > "${TEST_ENTRYPOINT}" +#!/usr/bin/env bash + +torch-model-archiver \ + --model-name=mnist \ + --version=1.0 \ + --model-file=/home/model-server/mnist.py \ + --serialized-file=/home/model-server/mnist_cnn.pt \ + --handler=/home/model-server/mnist_handler.py \ + --export-path=/home/model-server/model-store + +torchserve --start --ts-config=/home/model-server/config.properties --models mnist=mnist.mar +EOF + +echo "Starting container ${CONTAINER}" +docker run --rm -d -it --name "${CONTAINER}" -p 8080:8080 -p 8081:8081 -p 8082:8082 \ + -v "${FILES_PATH}/mnist.py":"${SERVER_PATH}/mnist.py" \ + -v "${FILES_PATH}/mnist_cnn.pt":"${SERVER_PATH}/mnist_cnn.pt" \ + -v "${FILES_PATH}/mnist_handler.py":"${SERVER_PATH}/mnist_handler.py" \ + -v "${TEST_ENTRYPOINT}":"${SERVER_PATH}/test-entrypoint.sh" \ + "${IMAGE_TAG}" \ + /bin/bash test-entrypoint.sh + +echo "Waiting 10s for container to come up..." +sleep 10 + +assert_expected() { + PREDICTION=$1 + EXPECTED=$2 + if [ "${PREDICTION}" = "${EXPECTED}" ]; then + echo "✓ Prediction: ${PREDICTION} (Expected ${EXPECTED})" + else + echo "✘ Test failed: Prediction: ${PREDICTION}, expected ${EXPECTED}." + exit 1 + fi +} + +echo "Testing classifier with test images in container ${CONTAINER}..." +for EXPECTED in {0..9} +do + PREDICTION=$(curl -s localhost:8080/predictions/mnist -T "${FILES_PATH}/test_data/${EXPECTED}.png") + assert_expected "${PREDICTION}" "${EXPECTED}" +done + +echo "Test successful!" + +docker stop "${CONTAINER}" +rm -f "${TEST_ENTRYPOINT}" diff --git a/docker/test_container_python_version.sh b/docker/test_container_python_version.sh new file mode 100755 index 0000000000..5c2fe2a23c --- /dev/null +++ b/docker/test_container_python_version.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail + +IMAGE_TAG=$1 +EXPECTED_VERSION=$2 + +tmpfile=$(mktemp ./pyversionXXX.txt) +assert_py_version() { + echo "Checking Python version..." + docker run --rm -t "${IMAGE_TAG}" exec python --version > "${tmpfile}" + if ! grep -q "Python ${EXPECTED_VERSION}" "${tmpfile}" + then + echo "Test failed: Wrong Python version. Expected ${EXPECTED_VERSION}, got $(cat "${tmpfile}")" + exit 1 + else + echo "Test succesful! Found version: $(cat "${tmpfile}")" + fi +} + +assert_py_version + +rm -f "${tmpfile}" From 98ca286b4b1407f444e0c2da72f24e454f55daeb Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Mon, 3 Apr 2023 21:28:29 +0000 Subject: [PATCH 036/172] TorchServe decompress tgz format model (#2214) * decompress tar.gz file * filter root dirname * add unit test --- frontend/archive/build.gradle | 3 +- .../serve/archive/model/ModelArchive.java | 7 +++- .../pytorch/serve/archive/utils/ZipUtils.java | 32 ++++++++++++++++-- .../archive/workflow/WorkflowArchive.java | 7 +++- .../serve/archive/model/ModelArchiveTest.java | 14 ++++++++ .../src/test/resources/models/noop.tar.gz | Bin 0 -> 1529 bytes .../org/pytorch/serve/wlm/WorkerThread.java | 4 +-- 7 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 frontend/archive/src/test/resources/models/noop.tar.gz diff --git a/frontend/archive/build.gradle b/frontend/archive/build.gradle index 3f301d1b86..412b276bbf 100644 --- a/frontend/archive/build.gradle +++ b/frontend/archive/build.gradle @@ -1,9 +1,10 @@ -dependencies { +def var = dependencies { api "commons-io:commons-io:2.6" api "org.slf4j:slf4j-api:${slf4j_api_version}" api "org.apache.logging.log4j:log4j-slf4j-impl:${slf4j_log4j_version}" api "com.google.code.gson:gson:${gson_version}" implementation "org.yaml:snakeyaml:${snakeyaml_version}" + implementation 'org.apache.commons:commons-compress:1.23.0' testImplementation "commons-cli:commons-cli:${commons_cli_version}" testImplementation "org.testng:testng:${testng_version}" diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java index ae46029991..47b81458ae 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelArchive.java @@ -70,7 +70,12 @@ public static ModelArchive downloadModel( if (modelLocation.isFile()) { try (InputStream is = Files.newInputStream(modelLocation.toPath())) { - File unzipDir = ZipUtils.unzip(is, null, "models"); + File unzipDir; + if (modelLocation.getName().endsWith(".mar")) { + unzipDir = ZipUtils.unzip(is, null, "models", true); + } else { + unzipDir = ZipUtils.unzip(is, null, "models", false); + } return load(url, unzipDir, true); } } diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ZipUtils.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ZipUtils.java index bc1a3bf77c..68014fc98d 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ZipUtils.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/utils/ZipUtils.java @@ -14,6 +14,9 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; +import org.apache.commons.compress.archivers.ArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; @@ -66,7 +69,8 @@ public static void addToZip(int prefix, File file, FileFilter filter, ZipOutputS } } - public static File unzip(InputStream is, String eTag, String type) throws IOException { + public static File unzip(InputStream is, String eTag, String type, boolean isMar) + throws IOException { File tmpDir = FileUtils.getTempDirectory(); File modelDir = new File(tmpDir, type); FileUtils.forceMkdir(modelDir); @@ -81,7 +85,11 @@ public static File unzip(InputStream is, String eTag, String type) throws IOExce } catch (NoSuchAlgorithmException e) { throw new AssertionError(e); } - unzip(new DigestInputStream(is, md), tmp); + if (isMar) { + unzip(new DigestInputStream(is, md), tmp); + } else { + decompressTarGzipFile(new DigestInputStream(is, md), tmp); + } if (eTag == null) { eTag = UUID.randomUUID().toString().replaceAll("-", ""); } @@ -92,4 +100,24 @@ public static File unzip(InputStream is, String eTag, String type) throws IOExce return dir; } + + public static void decompressTarGzipFile(InputStream is, File dest) throws IOException { + try (GzipCompressorInputStream gzi = new GzipCompressorInputStream(is); + TarArchiveInputStream tis = new TarArchiveInputStream(gzi)) { + ArchiveEntry entry; + while ((entry = tis.getNextEntry()) != null) { + String name = entry.getName().substring(entry.getName().indexOf('/') + 1); + File file = new File(dest, name); + if (entry.isDirectory()) { + FileUtils.forceMkdir(file); + } else { + File parentFile = file.getParentFile(); + FileUtils.forceMkdir(parentFile); + try (OutputStream os = Files.newOutputStream(file.toPath())) { + IOUtils.copy(tis, os); + } + } + } + } + } } diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java index 929121839e..aaf185528e 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/workflow/WorkflowArchive.java @@ -73,7 +73,12 @@ public static WorkflowArchive downloadWorkflow( if (workflowLocation.isFile()) { try (InputStream is = Files.newInputStream(workflowLocation.toPath())) { - File unzipDir = ZipUtils.unzip(is, null, "workflows"); + File unzipDir; + if (workflowLocation.getName().endsWith(".war")) { + unzipDir = ZipUtils.unzip(is, null, "workflows", true); + } else { + unzipDir = ZipUtils.unzip(is, null, "workflows", false); + } return load(url, unzipDir, true); } } diff --git a/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelArchiveTest.java b/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelArchiveTest.java index efa8a5dfad..4770fff384 100644 --- a/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelArchiveTest.java +++ b/frontend/archive/src/test/java/org/pytorch/serve/archive/model/ModelArchiveTest.java @@ -207,4 +207,18 @@ public void testMalformLocalURL() ModelArchive.downloadModel( ALLOWED_URLS_LIST, modelStore, "file:///" + modelStore + "/mnist1.mar"); } + + @Test + public void testArchiveFormatTgz() + throws ModelException, IOException, DownloadArchiveException { + String modelStore = "src/test/resources/models"; + ModelArchive archive = + ModelArchive.downloadModel(ALLOWED_URLS_LIST, modelStore, "noop.tar.gz"); + + archive.validate(); + Assert.assertTrue(new File(archive.getModelDir().getPath(), "extra1.txt").exists()); + Assert.assertTrue(new File(archive.getModelDir().getPath(), "sub1").isDirectory()); + + archive.clean(); + } } diff --git a/frontend/archive/src/test/resources/models/noop.tar.gz b/frontend/archive/src/test/resources/models/noop.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..cd2cd5eeb7c3bc10aff8e01be9fd6b879766e132 GIT binary patch literal 1529 zcmV+`>ScwJAR!mc?`7A$iV6T8ew_ovxZZ&k;#UD*327CCzJWm9eMMaH@8j z|GVG)5g42x?>_54r3qc(U#|Y$AAtY;z4iBlATa#@!|?yChyQ&q7)_>T19%AhF9`pT zM8wUu{|En1f?)UjHwrx8@c(_lvTWP7t|1Fvmq~zPvP>uu2qVf6%LvCZVHBsRI3=Jp zrg2KRTi7L=jB$xlwpzjL)whZ(EX#^gECkYAJM8uyiR55mA%L=1SEYbn=)Mv7Ny&y# zS#<4Mh2GOUNob6goNdq_SdhZxS#2R8)H2S-dGQ5CgTgSOi3~$WkaSt~uApw+Fk)1a zJBcnJ5=y#4WtZSI`Ip2Xzr?8^t=m>uI6g&{C#{Eij0#tcdO4FWx>-ZmACojiw**Bv zO`(@K=P;AiT&E1j>aLv7+R-Az9B=C07L~55VVH=jwN>Us=A8D2)HB8#o|A(UR68#e z9tpKP(T2!1id~aw7Jpp)uU;s5i{gsFZ(U%n4l*PADXJ;WaG09?SwsxT>bc z2$kN%-bgiP3nc3qgH<{hdo#+`IVU1drTEhDw0^$0vP{T&X-gB9%kDrchi~kc&+WJ9 zca##^Rc(u>EcL2z)F8fAK2LzCVPUJS3IRFrEyM&_gO)jsG@>}ZM!sogl|vN>vKh)+ zD9*aY(R+0tr3u8{JG|e}<2XiJmh+ZZ3ig9&V}jPOoQ*E50?@KdfTWw6bj4OkvI$$6 zR>f-6A;lX4`mKVyBGR!nsXf@Wfj^;QIA~TWXqM%A#|iH-YGj)JD$Bzp?oloUn&vH* z(K-~0K=-v9MOQz)gj=*kSMSv*w7BgOq{4|3IqGw7(QssVAaRqT>~N3r3g zqg=M!y6;hAq~pTWm~7uG6l|y*>^SS_G(|^b2n?GsDoD9cQW?r^MjY=H*-GU+OL0Q& zKKn{ltKo`U!YVk%-*|6TdWV`oW&PH%pOhZXZoq@x9l%Z^=zVokK^F{m0tD{oNu={j z)zYWs;<%hL$9~mhzzy8nz@99pvE%G6{@GrN4Pd|U;oy9VhJ(RZdbz5-bvxP5hqK+R zJEoUct-EeNO@^H9r{LiZ^ut7xYj+XJBphwkMG-9)h%9U z-n8t^BbaYEoU15hE}XFn(f*6Rr|cuu&I?61uH75@8~dq}c9>5>OoKta*_YL1Sz*0R zUv$p@N~CT6ecOJrgr6M})eiL2X*(}HQm1xf)ozN4PegI5-#eldM}13cXk7Nj_HZ9_ zxaR$jdH#3g`=9Y-?0WOzXgD#C{~pBiKcF~{eOKPe?^gelAUNjz&&UhR^FPD?hW~#^ z{vXZU`Ece3W5fRslYuPgr5!mw|)l^o-VD$dhe>4jA_J4nP&+Gq-^8Y9J5o|}CU`gVa)LtOl^UuBDeCQ2F$R95J*}@;% zr%H?GRP6#vC)>(3qh)jP_!1gFl`r0k+iP6vsq8AWKv2EhQ_b!B=2}=-T_$N^RsTCu zNBDR3q#5MC>!}ClpNsA>kJiZt!Zo?)PF>%&J{xv7FfcGMFfcGMFfcGMFfcGMFfcGM fFfcGMFfcGMFfcGMFfcGMc&PXf2_AT<08jt`oAC?K literal 0 HcmV?d00001 diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index ef5bec237f..f95d66ba0f 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -1,7 +1,5 @@ package org.pytorch.serve.wlm; -import static org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT; - import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFutureListener; @@ -231,7 +229,7 @@ public void run() { if (reply.getPredictions() .get(0) .getHeaders() - .get(TS_STREAM_NEXT) + .get(org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT) .equals("false")) { duration = System.currentTimeMillis() - begin; logger.info("Backend response time: {}", duration); From a4a1f6572a7a2af8e99dd742999c1af91e6bd893 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Mon, 3 Apr 2023 18:09:07 -0700 Subject: [PATCH 037/172] Added test cases for SageMaker MME requirements (#2200) * Added testcases for SageMaker MME requirements * OOM test to be run on GPU only * Added test for invoke OOM and added logic to catch OOM * Handle Sanity failures --------- Co-authored-by: agunapal --- test/pytest/test_sm_mme_requirements.py | 113 ++++++++++++++++++++++++ ts/model_service_worker.py | 8 ++ ts/service.py | 18 ++-- 3 files changed, 133 insertions(+), 6 deletions(-) create mode 100644 test/pytest/test_sm_mme_requirements.py diff --git a/test/pytest/test_sm_mme_requirements.py b/test/pytest/test_sm_mme_requirements.py new file mode 100644 index 0000000000..a667b72883 --- /dev/null +++ b/test/pytest/test_sm_mme_requirements.py @@ -0,0 +1,113 @@ +import os +import pathlib + +import pytest +import requests +import test_utils +import torch + +CURR_FILE_PATH = os.path.dirname(os.path.realpath(__file__)) +REPO_ROOT = os.path.normpath(os.path.join(CURR_FILE_PATH, "..", "..")) +MODELSTORE_DIR = os.path.join(REPO_ROOT, "model_store") +data_file_kitten = os.path.join(REPO_ROOT, "examples/image_classifier/kitten.jpg") +HF_TRANSFORMERS_EXAMPLE_DIR = os.path.join( + REPO_ROOT, "examples/Huggingface_Transformers/" +) + + +def test_no_model_loaded(): + """ + Validates that TorchServe returns reponse code 404 if no model is loaded. + """ + + os.makedirs(MODELSTORE_DIR, exist_ok=True) # Create modelstore directory + test_utils.start_torchserve(model_store=MODELSTORE_DIR) + + response = requests.post( + url="http://localhost:8080/models/alexnet/invoke", + data=open(data_file_kitten, "rb"), + ) + assert response.status_code == 404, "Model not loaded error expected" + + +@pytest.mark.skipif( + not ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), + reason="Test to be run on GPU only", +) +def test_oom_on_model_load(): + """ + Validates that TorchServe returns reponse code 507 if there is OOM on model loading. + """ + + # Create model store directory + pathlib.Path(test_utils.MODEL_STORE).mkdir(parents=True, exist_ok=True) + + # Start TorchServe + test_utils.start_torchserve(no_config_snapshots=True) + + # Register model + params = { + "model_name": "BERTSeqClassification", + "url": "https://torchserve.pytorch.org/mar_files/BERTSeqClassification.mar", + "batch_size": 1, + "initial_workers": 16, + } + response = test_utils.register_model_with_params(params) + + assert response.status_code == 507, "OOM Error expected" + + test_utils.stop_torchserve() + + +@pytest.mark.skipif( + not ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), + reason="Test to be run on GPU only", +) +def test_oom_on_invoke(): + # Create model store directory + pathlib.Path(test_utils.MODEL_STORE).mkdir(parents=True, exist_ok=True) + + # Start TorchServe + test_utils.start_torchserve(no_config_snapshots=True) + + # Register model + params = { + "model_name": "BERTSeqClassification", + "url": "https://torchserve.pytorch.org/mar_files/BERTSeqClassification.mar", + "batch_size": 8, + "initial_workers": 12, + } + response = test_utils.register_model_with_params(params) + + input_text = os.path.join( + REPO_ROOT, + "examples", + "Huggingface_Transformers", + "Seq_classification_artifacts", + "sample_text_captum_input.txt", + ) + + # Make 8 curl requests in parallel with & + # Send multiple requests to make sure to hit OOM + for i in range(10): + response = os.popen( + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} && " + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} && " + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} && " + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} && " + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} && " + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} && " + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} && " + f"curl http://127.0.0.1:8080/models/BERTSeqClassification/invoke -T {input_text} " + ) + response = response.read() + + # If OOM is hit, we expect code 507 to be present in the response string + lines = response.split("\n") + output = "" + for line in lines: + if "code" in line: + line = line.strip() + output = line + break + assert output == '"code": 507,', "OOM Error expected" diff --git a/ts/model_service_worker.py b/ts/model_service_worker.py index 625d3f31ee..0aebbf9f14 100644 --- a/ts/model_service_worker.py +++ b/ts/model_service_worker.py @@ -144,6 +144,14 @@ def load_model(self, load_model_request): return service, "loaded model {}".format(model_name), 200 except MemoryError: return None, "System out of memory", 507 + except RuntimeError as ex: # pylint: disable=broad-except + if "CUDA" in str(ex): + # Handles Case A: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED (Close to OOM) & + # Case B: CUDA out of memory (OOM) + return None, "System out of memory", 507 + else: + # Sanity testcases fail without this + return None, "Unknown exception", 500 def handle_connection(self, cl_socket): """ diff --git a/ts/service.py b/ts/service.py index fcf35ff7b0..14b72ac3ec 100644 --- a/ts/service.py +++ b/ts/service.py @@ -132,15 +132,21 @@ def predict(self, batch): # noinspection PyBroadException try: ret = self._entry_point(input_batch, self.context) - except PredictionException as e: - logger.error("Prediction error", exc_info=True) - return create_predict_response(None, req_id_map, e.message, e.error_code) except MemoryError: logger.error("System out of memory", exc_info=True) return create_predict_response(None, req_id_map, "Out of resources", 507) - except Exception: # pylint: disable=broad-except - logger.warning("Invoking custom service failed.", exc_info=True) - return create_predict_response(None, req_id_map, "Prediction failed", 503) + except PredictionException as e: + logger.error("Prediction error", exc_info=True) + return create_predict_response(None, req_id_map, e.message, e.error_code) + except Exception as ex: # pylint: disable=broad-except + if "CUDA" in str(ex): + # Handles Case A: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED (Close to OOM) & + # Case B: CUDA out of memory (OOM) + logger.error("CUDA out of memory", exc_info=True) + return create_predict_response(None, req_id_map, "Out of resources", 507) + else: + logger.warning("Invoking custom service failed.", exc_info=True) + return create_predict_response(None, req_id_map, "Prediction failed", 503) if not isinstance(ret, list): logger.warning( From c37da18217a5c2419db31451781cce95194fca03 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Mon, 3 Apr 2023 22:05:21 +0000 Subject: [PATCH 038/172] Make sanity test output useable again --- ts_scripts/sanity_utils.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/ts_scripts/sanity_utils.py b/ts_scripts/sanity_utils.py index 4d0e93120f..2636db3dc5 100755 --- a/ts_scripts/sanity_utils.py +++ b/ts_scripts/sanity_utils.py @@ -1,5 +1,6 @@ import glob import os +import subprocess import sys import nvgpu @@ -168,9 +169,20 @@ def test_sanity(): print(f"## Successfully registered {model_name} model with torchserve") for input in model_inputs: - infer_model_grpc_cmd = f"python ts_scripts/torchserve_grpc_client.py infer {model_name} {input}" - status = os.system(infer_model_grpc_cmd) - if status != 0: + infer_model_grpc_cmd = [ + "python", + "ts_scripts/torchserve_grpc_client.py", + "infer", + f"{model_name}", + f"{input}", + ] + p = subprocess.run(infer_model_grpc_cmd, capture_output=True, text=True) + out = p.stdout.split("\n") + print("\n".join(out[:50])) + if len(out) > 50: + print("") + + if p.returncode != 0: print(f"## Failed to run inference on {model_name} model") sys.exit(1) else: From 4ea172d2bbad779f8a9974e5d2104b2997eb53de Mon Sep 17 00:00:00 2001 From: Morgan Du Date: Mon, 10 Apr 2023 18:21:05 -0700 Subject: [PATCH 039/172] feat: add PyTorch/XLA support (#2182) * enable torch_xla * add venv to .gitignore * add torch_xla 2.0 baackend; update map_location and device; remove mark_step * clear map_location for torchxla * format * add torch_xla test --- .gitignore | 1 + test/pytest/test_data/torch_xla/compile.json | 1 + .../test_data/torch_xla/config.properties | 9 ++ test/pytest/test_data/torch_xla/model.py | 13 +++ test/pytest/test_torch_xla.py | 106 ++++++++++++++++++ ts/torch_handler/base_handler.py | 40 +++++-- ts/utils/util.py | 1 + 7 files changed, 159 insertions(+), 12 deletions(-) create mode 100644 test/pytest/test_data/torch_xla/compile.json create mode 100644 test/pytest/test_data/torch_xla/config.properties create mode 100644 test/pytest/test_data/torch_xla/model.py create mode 100644 test/pytest/test_torch_xla.py diff --git a/.gitignore b/.gitignore index bceee3ce88..6650bdac05 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ plugins/*/bin *.backup docs/sphinx/src/ ts_scripts/spellcheck_conf/wordlist.dic +venv/ # Postman files test/artifacts/ diff --git a/test/pytest/test_data/torch_xla/compile.json b/test/pytest/test_data/torch_xla/compile.json new file mode 100644 index 0000000000..66b4d26695 --- /dev/null +++ b/test/pytest/test_data/torch_xla/compile.json @@ -0,0 +1 @@ +{"pt2" : "torchxla_trace_once"} diff --git a/test/pytest/test_data/torch_xla/config.properties b/test/pytest/test_data/torch_xla/config.properties new file mode 100644 index 0000000000..8b34c47528 --- /dev/null +++ b/test/pytest/test_data/torch_xla/config.properties @@ -0,0 +1,9 @@ +inference_address=http://0.0.0.0:8080 +management_address=http://0.0.0.0:8081 +metrics_address=http://0.0.0.0:8082 +model_store=/home/model-server/model-store +load_models=half_plus_two.mar +min_workers=1 +max_workers=1 +default_workers_per_model=1 +service_envelope=json diff --git a/test/pytest/test_data/torch_xla/model.py b/test/pytest/test_data/torch_xla/model.py new file mode 100644 index 0000000000..b02c8fe106 --- /dev/null +++ b/test/pytest/test_data/torch_xla/model.py @@ -0,0 +1,13 @@ +import torch + + +class HalfPlusTwoModel(torch.nn.Module): + def forward(self, *input_args): + w = torch.tensor(0.5) + b = torch.tensor(2.0) + return torch.add(torch.multiply(w, input_args[0]), b) + + +if __name__ == "__main__": + model = HalfPlusTwoModel() + torch.save(model.state_dict(), "model.pt") diff --git a/test/pytest/test_torch_xla.py b/test/pytest/test_torch_xla.py new file mode 100644 index 0000000000..c6a31e8309 --- /dev/null +++ b/test/pytest/test_torch_xla.py @@ -0,0 +1,106 @@ +import glob +import json +import os +import subprocess +import time +from pathlib import Path + +import pytest +from pkg_resources import packaging + +try: + import torch_xla + + TORCHXLA_AVAILABLE = ( + True + if packaging.version.parse(torch_xla.__version__) + >= packaging.version.parse("2.0") + else False + ) +except: + TORCHXLA_AVAILABLE = False + +CURR_FILE_PATH = Path(__file__).parent +TORCH_XLA_TEST_DATA_DIR = os.path.join(CURR_FILE_PATH, "test_data") + +MODEL_FILE = os.path.join(TORCH_XLA_TEST_DATA_DIR, "model.py") +EXTRA_FILE = os.path.join(TORCH_XLA_TEST_DATA_DIR, "compile.json") +CONFIG_PROPERTIES = os.path.join(TORCH_XLA_TEST_DATA_DIR, "config.properties") + +SERIALIZED_FILE = os.path.join(TORCH_XLA_TEST_DATA_DIR, "model.pt") +MODEL_STORE_DIR = os.path.join(TORCH_XLA_TEST_DATA_DIR, "model_store") +MODEL_NAME = "half_plus_two" + + +@pytest.mark.skipif(TORCHXLA_AVAILABLE == False, reason="PyTorch/XLA is not installed") +class TestTorchXLA: + def teardown_class(self): + subprocess.run("torchserve --stop", shell=True, check=True) + time.sleep(10) + + def test_archive_model_artifacts(self): + assert len(glob.glob(MODEL_FILE)) == 1 + assert len(glob.glob(EXTRA_FILE)) == 1 + assert len(glob.glob(CONFIG_PROPERTIES)) == 1 + subprocess.run( + f"cd {TORCH_XLA_TEST_DATA_DIR} && python model.py", shell=True, check=True + ) + subprocess.run(f"mkdir -p {MODEL_STORE_DIR}", shell=True, check=True) + subprocess.run( + f"torch-model-archiver --model-name {MODEL_NAME} --version 1.0 --model-file {MODEL_FILE} --serialized-file {SERIALIZED_FILE} --extra-files {EXTRA_FILE} --export-path {MODEL_STORE_DIR} --handler base_handler -f", + shell=True, + check=True, + ) + assert len(glob.glob(SERIALIZED_FILE)) == 1 + assert len(glob.glob(os.path.join(MODEL_STORE_DIR, f"{MODEL_NAME}.mar"))) == 1 + + def test_start_torchserve(self): + subprocess.run( + f"torchserve --start --ncs --models {MODEL_NAME}.mar --model-store {MODEL_STORE_DIR} --ts-config {CONFIG_PROPERTIES}", + shell=True, + check=True, + ) + time.sleep(10) + assert len(glob.glob("logs/access_log.log")) == 1 + assert len(glob.glob("logs/model_log.log")) == 1 + assert len(glob.glob("logs/ts_log.log")) == 1 + + def test_server_status(self): + result = subprocess.run( + "curl http://localhost:8080/ping", + shell=True, + capture_output=True, + check=True, + ) + expected_server_status_str = '{"status": "Healthy"}' + expected_server_status = json.loads(expected_server_status_str) + assert json.loads(result.stdout) == expected_server_status + + def test_registered_model(self): + result = subprocess.run( + "curl http://localhost:8081/models", + shell=True, + capture_output=True, + check=True, + ) + expected_registered_model_str = '{"models": [{"modelName": "half_plus_two", "modelUrl": "half_plus_two.mar"}]}' + expected_registered_model = json.loads(expected_registered_model_str) + assert json.loads(result.stdout) == expected_registered_model + + def test_serve_inference(self): + request = "'{\"" 'instances"' ": [[1.0], [2.0], [3.0]]}'" + result = subprocess.run( + f'curl -s -X POST -H "Content-Type: application/json;" http://localhost:8080/predictions/half_plus_two -d {request}', + shell=True, + capture_output=True, + check=True, + ) + expected_result_str = '{"predictions": [[2.5], [3.0], [3.5]]}' + expected_result = json.loads(expected_result_str) + assert json.loads(result.stdout) == expected_result + + model_log_path = glob.glob("logs/model_log.log")[0] + with open(model_log_path, "rt") as model_log_file: + model_log = model_log_file.read() + assert "Compiled model with backend torchxla_trace_once" in model_log + assert "done compiler function torchxla_trace_once" in model_log diff --git a/ts/torch_handler/base_handler.py b/ts/torch_handler/base_handler.py index 4fc3ca19ee..6327a3387f 100644 --- a/ts/torch_handler/base_handler.py +++ b/ts/torch_handler/base_handler.py @@ -25,9 +25,17 @@ else: PROFILER_AVAILABLE = False +try: + import torch_xla.core.xla_model as xm + + TORCHXLA_AVAILABLE = True +except ImportError as error: + TORCHXLA_AVAILABLE = False + logger = logging.getLogger(__name__) + # Possible values for backend in utils.py def check_pt2_enabled(): try: @@ -102,16 +110,17 @@ def initialize(self, context): ) properties = context.system_properties - self.map_location = ( - "cuda" - if torch.cuda.is_available() and properties.get("gpu_id") is not None - else "cpu" - ) - self.device = torch.device( - self.map_location + ":" + str(properties.get("gpu_id")) - if torch.cuda.is_available() and properties.get("gpu_id") is not None - else self.map_location - ) + if torch.cuda.is_available() and properties.get("gpu_id") is not None: + self.map_location = "cuda" + self.device = torch.device( + self.map_location + ":" + str(properties.get("gpu_id")) + ) + elif TORCHXLA_AVAILABLE: + self.device = xm.xla_device() + else: + self.map_location = "cpu" + self.device = torch.device(self.map_location) + self.manifest = context.manifest model_dir = properties.get("model_dir") @@ -181,7 +190,9 @@ def initialize(self, context): # Compilation will delay your model initialization try: self.model = torch.compile( - self.model, backend=backend, mode="reduce-overhead" + self.model, + backend=backend, + mode="default" if TORCHXLA_AVAILABLE else "reduce-overhead", ) logger.info(f"Compiled model with backend {backend}") except: @@ -245,7 +256,12 @@ def _load_pickled_model(self, model_dir, model_file, model_pt_path): model_class = model_class_definitions[0] model = model_class() if model_pt_path: - state_dict = torch.load(model_pt_path, map_location=self.device) + map_location = ( + None + if (TORCHXLA_AVAILABLE and self.map_location is None) + else self.device + ) + state_dict = torch.load(model_pt_path, map_location=map_location) model.load_state_dict(state_dict) return model diff --git a/ts/utils/util.py b/ts/utils/util.py index 5f0b1a8e18..a59428708d 100644 --- a/ts/utils/util.py +++ b/ts/utils/util.py @@ -23,6 +23,7 @@ class PT2Backend(str, enum.Enum): FX2TRT = "fx2trt" ONNXRT = "onnxrt" IPEX = "ipex" + TORCHXLA_TRACE_ONCE = "torchxla_trace_once" logger = logging.getLogger(__name__) From 2aee8fb7cfcb5c21b5fc4a07007f0eec0e0a9989 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Tue, 11 Apr 2023 23:47:44 +0000 Subject: [PATCH 040/172] Frontend IMetrics, LogMetric and PrometheusMetric (#2165) * frontend IMetrics init * add metric builder * update func name * Implementation for LogMetric and PrometheusMetics * Fix build failure Reformat code for readability * Run formatJava * Make ArrayList to Array conversions more efficient Add better prometheus metric help strings * Add support for Histogram metric * Add prometheus histogram metric implementation * Refactor addOrUpdate api * Use List in place of ArrayList in public APIs * Prometheus metric dimension values bounds check * reorder test sequence * Refactor addOrUpdate API * Update prometheus metrics addOrUpdate API implementation * Implement method overloading for buildMetricString --------- Co-authored-by: Naman Nandan Co-authored-by: Naman Nandan --- .../org/pytorch/serve/metrics/IMetric.java | 23 ++ .../org/pytorch/serve/metrics/LogMetric.java | 106 +++++++ .../pytorch/serve/metrics/MetricBuilder.java | 43 +++ .../format/prometheous/PrometheusCounter.java | 32 +++ .../format/prometheous/PrometheusGauge.java | 32 +++ .../prometheous/PrometheusHistogram.java | 34 +++ .../org/pytorch/serve/metrics/MetricTest.java | 269 ++++++++++++++++++ frontend/server/testng.xml | 3 +- 8 files changed, 541 insertions(+), 1 deletion(-) create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/IMetric.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/LogMetric.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/MetricBuilder.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusCounter.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusGauge.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusHistogram.java create mode 100644 frontend/server/src/test/java/org/pytorch/serve/metrics/MetricTest.java diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/IMetric.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/IMetric.java new file mode 100644 index 0000000000..369fd71cc8 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/IMetric.java @@ -0,0 +1,23 @@ +package org.pytorch.serve.metrics; + +import java.util.ArrayList; +import java.util.List; + +public abstract class IMetric { + protected MetricBuilder.MetricType type; + protected String name; + protected String unit; + protected List dimensionNames; + + public IMetric( + MetricBuilder.MetricType type, String name, String unit, List dimensionNames) { + this.type = type; + this.name = name; + this.unit = unit; + this.dimensionNames = new ArrayList(dimensionNames); + } + + public abstract void addOrUpdate(List dimensionValues, double value); + + public abstract void addOrUpdate(List dimensionValues, String requestIds, double value); +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/LogMetric.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/LogMetric.java new file mode 100644 index 0000000000..55007b80a8 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/LogMetric.java @@ -0,0 +1,106 @@ +package org.pytorch.serve.metrics; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import org.pytorch.serve.util.ConfigManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class LogMetric extends IMetric { + /** + * Note: hostname, timestamp, and requestid(if available) are automatically added in log metric. + */ + private static final Logger loggerTsMetrics = + LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); + + private static final Logger loggerModelMetrics = + LoggerFactory.getLogger(ConfigManager.MODEL_METRICS_LOGGER); + + public LogMetric( + MetricBuilder.MetricType type, String name, String unit, List dimensionNames) { + super(type, name, unit, dimensionNames); + } + + @Override + public void addOrUpdate(List dimensionValues, double value) { + // Used for logging frontend metrics + String metricString = this.buildMetricString(dimensionValues, value); + loggerTsMetrics.info(metricString); + } + + @Override + public void addOrUpdate(List dimensionValues, String requestIds, double value) { + // Used for logging backend metrics + String metricString = this.buildMetricString(dimensionValues, requestIds, value); + loggerModelMetrics.info(metricString); + } + + private String buildMetricString(List dimensionValues, double value) { + StringBuilder metricStringBuilder = new StringBuilder(); + metricStringBuilder + .append(this.name) + .append('.') + .append(this.unit) + .append(':') + .append(value) + .append("|#"); + + // Exclude the final dimension which is expected to be Hostname + int dimensionsCount = Math.min(this.dimensionNames.size() - 1, dimensionValues.size() - 1); + List dimensions = new ArrayList(); + for (int index = 0; index < dimensionsCount; index++) { + dimensions.add(this.dimensionNames.get(index) + ":" + dimensionValues.get(index)); + } + metricStringBuilder.append(dimensions.stream().collect(Collectors.joining(","))); + + // The final dimension is expected to be Hostname + metricStringBuilder + .append("|#hostname:") + .append(dimensionValues.get(dimensionValues.size() - 1)); + + metricStringBuilder + .append(",timestamp:") + .append( + String.valueOf( + TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()))); + + return metricStringBuilder.toString(); + } + + private String buildMetricString( + List dimensionValues, String requestIds, double value) { + StringBuilder metricStringBuilder = new StringBuilder(); + metricStringBuilder + .append(this.name) + .append('.') + .append(this.unit) + .append(':') + .append(value) + .append("|#"); + + // Exclude the final dimension which is expected to be Hostname + int dimensionsCount = Math.min(this.dimensionNames.size() - 1, dimensionValues.size() - 1); + List dimensions = new ArrayList(); + for (int index = 0; index < dimensionsCount; index++) { + dimensions.add(this.dimensionNames.get(index) + ":" + dimensionValues.get(index)); + } + metricStringBuilder.append(dimensions.stream().collect(Collectors.joining(","))); + + // The final dimension is expected to be Hostname + metricStringBuilder + .append("|#hostname:") + .append(dimensionValues.get(dimensionValues.size() - 1)); + + metricStringBuilder.append(",requestID:").append(requestIds); + + metricStringBuilder + .append(",timestamp:") + .append( + String.valueOf( + TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()))); + + return metricStringBuilder.toString(); + } +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricBuilder.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricBuilder.java new file mode 100644 index 0000000000..c8e3a25040 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricBuilder.java @@ -0,0 +1,43 @@ +package org.pytorch.serve.metrics; + +import java.util.List; +import org.pytorch.serve.metrics.format.prometheous.PrometheusCounter; +import org.pytorch.serve.metrics.format.prometheous.PrometheusGauge; +import org.pytorch.serve.metrics.format.prometheous.PrometheusHistogram; + +public final class MetricBuilder { + public enum MetricMode { + PROMETHEUS, + LOG + } + + public enum MetricType { + COUNTER, + GAUGE, + HISTOGRAM + } + + public static final IMetric build( + MetricMode mode, + MetricType type, + String name, + String unit, + List dimensionNames) { + if (mode == MetricMode.PROMETHEUS) { + switch (type) { + case COUNTER: + return new PrometheusCounter(type, name, unit, dimensionNames); + case GAUGE: + return new PrometheusGauge(type, name, unit, dimensionNames); + case HISTOGRAM: + return new PrometheusHistogram(type, name, unit, dimensionNames); + default: + } + } else { + return new LogMetric(type, name, unit, dimensionNames); + } + return null; + } + + private MetricBuilder() {} +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusCounter.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusCounter.java new file mode 100644 index 0000000000..fa23fb9dea --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusCounter.java @@ -0,0 +1,32 @@ +package org.pytorch.serve.metrics.format.prometheous; + +import io.prometheus.client.Counter; +import java.util.List; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricBuilder; + +public class PrometheusCounter extends IMetric { + private final Counter counter; + + public PrometheusCounter( + MetricBuilder.MetricType type, String name, String unit, List dimensionNames) { + super(type, name, unit, dimensionNames); + this.counter = + Counter.build() + .name(this.name) + .labelNames( + this.dimensionNames.toArray(new String[this.dimensionNames.size()])) + .help("Torchserve prometheus counter metric with unit: " + this.unit) + .register(); + } + + @Override + public void addOrUpdate(List dimensionValues, double value) { + this.counter.labels(dimensionValues.toArray(new String[dimensionValues.size()])).inc(value); + } + + @Override + public void addOrUpdate(List dimensionValues, String requestIds, double value) { + this.addOrUpdate(dimensionValues, value); + } +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusGauge.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusGauge.java new file mode 100644 index 0000000000..17392e3fc1 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusGauge.java @@ -0,0 +1,32 @@ +package org.pytorch.serve.metrics.format.prometheous; + +import io.prometheus.client.Gauge; +import java.util.List; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricBuilder; + +public class PrometheusGauge extends IMetric { + private final Gauge gauge; + + public PrometheusGauge( + MetricBuilder.MetricType type, String name, String unit, List dimensionNames) { + super(type, name, unit, dimensionNames); + this.gauge = + Gauge.build() + .name(this.name) + .labelNames( + this.dimensionNames.toArray(new String[this.dimensionNames.size()])) + .help("Torchserve prometheus gauge metric with unit: " + this.unit) + .register(); + } + + @Override + public void addOrUpdate(List dimensionValues, double value) { + this.gauge.labels(dimensionValues.toArray(new String[dimensionValues.size()])).set(value); + } + + @Override + public void addOrUpdate(List dimensionValues, String requestIds, double value) { + this.addOrUpdate(dimensionValues, value); + } +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusHistogram.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusHistogram.java new file mode 100644 index 0000000000..f66c2aeeb1 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusHistogram.java @@ -0,0 +1,34 @@ +package org.pytorch.serve.metrics.format.prometheous; + +import io.prometheus.client.Histogram; +import java.util.List; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricBuilder; + +public class PrometheusHistogram extends IMetric { + private final Histogram histogram; + + public PrometheusHistogram( + MetricBuilder.MetricType type, String name, String unit, List dimensionNames) { + super(type, name, unit, dimensionNames); + this.histogram = + Histogram.build() + .name(this.name) + .labelNames( + this.dimensionNames.toArray(new String[this.dimensionNames.size()])) + .help("Torchserve prometheus histogram metric with unit: " + this.unit) + .register(); + } + + @Override + public void addOrUpdate(List dimensionValues, double value) { + this.histogram + .labels(dimensionValues.toArray(new String[dimensionValues.size()])) + .observe(value); + } + + @Override + public void addOrUpdate(List dimensionValues, String requestIds, double value) { + this.addOrUpdate(dimensionValues, value); + } +} diff --git a/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricTest.java b/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricTest.java new file mode 100644 index 0000000000..5591e93910 --- /dev/null +++ b/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricTest.java @@ -0,0 +1,269 @@ +package org.pytorch.serve.metrics; + +import io.prometheus.client.CollectorRegistry; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.Arrays; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.core.Logger; +import org.apache.logging.log4j.core.appender.WriterAppender; +import org.pytorch.serve.metrics.format.prometheous.PrometheusCounter; +import org.pytorch.serve.metrics.format.prometheous.PrometheusGauge; +import org.pytorch.serve.metrics.format.prometheous.PrometheusHistogram; +import org.pytorch.serve.util.ConfigManager; +import org.testng.Assert; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +@Test(singleThreaded = true) +public class MetricTest { + private final String testMetricName = "TestMetric"; + private final String testMetricUnit = "ms"; + private final ArrayList testMetricDimensionNames = + new ArrayList(Arrays.asList("ModelName", "Level", "Hostname")); + private final ArrayList testMetricDimensionValues = + new ArrayList(Arrays.asList("TestModel", "Model", "TestHost")); + private final String testRequestId = "fa8639a8-d3fa-4a25-a80f-24463863fe0f"; + private final Logger loggerModelMetrics = + (org.apache.logging.log4j.core.Logger) + LogManager.getLogger(ConfigManager.MODEL_METRICS_LOGGER); + private final Logger loggerTsMetrics = + (org.apache.logging.log4j.core.Logger) + LogManager.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); + private final String modelMetricsAppenderName = "ModelMetricsAppender"; + private final String tsMetricsAppenderName = "TsMetricsAppender"; + private final StringWriter modelMetricsContent = new StringWriter(); + private final StringWriter tsMetricsContent = new StringWriter(); + private final WriterAppender modelMetricsAppender = + WriterAppender.createAppender( + null, null, modelMetricsContent, modelMetricsAppenderName, true, false); + private final WriterAppender tsMetricsAppender = + WriterAppender.createAppender( + null, null, tsMetricsContent, tsMetricsAppenderName, true, false); + + @BeforeClass + public void registerMetricLogAppenders() { + loggerModelMetrics.addAppender(modelMetricsAppender); + modelMetricsAppender.start(); + loggerTsMetrics.addAppender(tsMetricsAppender); + tsMetricsAppender.start(); + } + + @BeforeMethod + public void flushLogWriterStreams() { + modelMetricsContent.flush(); + tsMetricsContent.flush(); + } + + @BeforeMethod + public void clearPrometheusRegistry() { + CollectorRegistry.defaultRegistry.clear(); + } + + @AfterClass + public void unregisterMetricLogAppenders() { + modelMetricsAppender.stop(); + loggerModelMetrics.removeAppender(modelMetricsAppender); + tsMetricsAppender.stop(); + loggerTsMetrics.removeAppender(tsMetricsAppender); + } + + @Test + public void testBackendLogMetric() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.LOG, + MetricBuilder.MetricType.COUNTER, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), LogMetric.class); + + testMetric.addOrUpdate(testMetricDimensionValues, testRequestId, 1.0); + String expectedMetricString = + "TestMetric.ms:1.0|#ModelName:TestModel,Level:Model|#hostname:TestHost," + + "requestID:fa8639a8-d3fa-4a25-a80f-24463863fe0f,timestamp:"; + Assert.assertTrue(modelMetricsContent.toString().contains(expectedMetricString)); + } + + @Test + public void testFrontendLogMetric() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.LOG, + MetricBuilder.MetricType.GAUGE, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), LogMetric.class); + + testMetric.addOrUpdate(testMetricDimensionValues, 1.0); + String expectedMetricString = + "TestMetric.ms:1.0|#ModelName:TestModel,Level:Model|#hostname:TestHost,timestamp:"; + Assert.assertTrue(tsMetricsContent.toString().contains(expectedMetricString)); + } + + @Test + public void testBackendPrometheusCounter() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.PROMETHEUS, + MetricBuilder.MetricType.COUNTER, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), PrometheusCounter.class); + + testMetric.addOrUpdate(testMetricDimensionValues, testRequestId, 1.0); + Double metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(1.0)); + testMetric.addOrUpdate(testMetricDimensionValues, testRequestId, 2.0); + metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(3.0)); + } + + @Test + public void testFrontendPrometheusCounter() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.PROMETHEUS, + MetricBuilder.MetricType.COUNTER, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), PrometheusCounter.class); + + testMetric.addOrUpdate(testMetricDimensionValues, 1.0); + Double metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(1.0)); + testMetric.addOrUpdate(testMetricDimensionValues, 2.0); + metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(3.0)); + } + + @Test + public void testBackendPrometheusGauge() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.PROMETHEUS, + MetricBuilder.MetricType.GAUGE, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), PrometheusGauge.class); + + testMetric.addOrUpdate(testMetricDimensionValues, testRequestId, 1.0); + Double metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(1.0)); + testMetric.addOrUpdate(testMetricDimensionValues, testRequestId, 2.0); + metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(2.0)); + } + + @Test + public void testFrontendPrometheusGauge() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.PROMETHEUS, + MetricBuilder.MetricType.GAUGE, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), PrometheusGauge.class); + + testMetric.addOrUpdate(testMetricDimensionValues, 1.0); + Double metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(1.0)); + testMetric.addOrUpdate(testMetricDimensionValues, 2.0); + metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName, + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(2.0)); + } + + @Test + public void testBackendPrometheusHistogram() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.PROMETHEUS, + MetricBuilder.MetricType.HISTOGRAM, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), PrometheusHistogram.class); + + testMetric.addOrUpdate(testMetricDimensionValues, testRequestId, 1.0); + Double metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName + "_sum", + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(1.0)); + testMetric.addOrUpdate(testMetricDimensionValues, testRequestId, 2.0); + metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName + "_sum", + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(3.0)); + } + + @Test + public void testFrontendPrometheusHistogram() { + IMetric testMetric = + MetricBuilder.build( + MetricBuilder.MetricMode.PROMETHEUS, + MetricBuilder.MetricType.HISTOGRAM, + testMetricName, + testMetricUnit, + testMetricDimensionNames); + Assert.assertEquals(testMetric.getClass(), PrometheusHistogram.class); + + testMetric.addOrUpdate(testMetricDimensionValues, 1.0); + Double metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName + "_sum", + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(1.0)); + testMetric.addOrUpdate(testMetricDimensionValues, 2.0); + metricValue = + CollectorRegistry.defaultRegistry.getSampleValue( + testMetricName + "_sum", + testMetricDimensionNames.toArray(new String[0]), + testMetricDimensionValues.toArray(new String[0])); + Assert.assertEquals(metricValue, Double.valueOf(3.0)); + } +} diff --git a/frontend/server/testng.xml b/frontend/server/testng.xml index de8a0d574c..27007db48f 100644 --- a/frontend/server/testng.xml +++ b/frontend/server/testng.xml @@ -1,8 +1,9 @@ - + + From a460afbc29526eb3304312d7e9c3e9438de162b4 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Wed, 12 Apr 2023 15:38:45 -0700 Subject: [PATCH 041/172] Remove generation of graph plots from benchmark runs (#2228) * Disable generation of graphs. Not necessary * Testing inf1 * Testing inf1 * Testing inf1 * Testing inf1 * added logs * skip build * build from src * build from src * Working run * code cleanup * Updated README --- benchmarks/README.md | 1 + benchmarks/benchmark-ab.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/benchmarks/README.md b/benchmarks/README.md index 6feb3d7850..d17875418f 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -76,6 +76,7 @@ The following parameters can be used to run the AB benchmark suite. - ts: Use Already running Torchserve instance. Default: False - gpus: Number of gpus to run docker container with. By default it runs the docker container on CPU. - backend_profiling: Enable backend profiling using CProfile. Default: False +- generate_graphs: Enable generation of Graph plots. Default False - config_properties: Path to config.properties file. Default: config.properties in the benchmark directory - inference_model_url: Inference function url - can be either for predictions or explanations. Default: predictions/benchmark. - config: All the above params can be set using a config JSON file. When this flag is used, all other cmd line params are ignored. diff --git a/benchmarks/benchmark-ab.py b/benchmarks/benchmark-ab.py index 896282c41c..097ab1e985 100644 --- a/benchmarks/benchmark-ab.py +++ b/benchmarks/benchmark-ab.py @@ -30,6 +30,7 @@ "image": "", "docker_runtime": "", "backend_profiling": False, + "generate_graphs": False, "config_properties": "config.properties", "inference_model_url": "predictions/benchmark", "report_location": tempfile.gettempdir(), @@ -94,6 +95,12 @@ def json_provider(file_path, cmd_name): default=False, help="Enable backend profiling using CProfile. Default False", ) +@click.option( + "--generate_graphs", + "-gg", + default=False, + help="Enable generation of Graph plots. Default False", +) @click.option( "--config_properties", "-cp", @@ -140,6 +147,7 @@ def benchmark( inference_model_url, report_location, tmp_dir, + generate_graphs, ): input_params = { "url": url, @@ -159,6 +167,7 @@ def benchmark( "inference_model_url": inference_model_url, "report_location": report_location, "tmp_dir": tmp_dir, + "generate_graphs": generate_graphs, } # set ab params @@ -441,8 +450,9 @@ def generate_report(warm_up_lines): click.secho("\n\nGenerating Reports...", fg="green") extract_metrics(warm_up_lines=warm_up_lines) generate_csv_output() - generate_latency_graph() - generate_profile_graph() + if execution_params["generate_graphs"]: + generate_latency_graph() + generate_profile_graph() click.secho("\nTest suite execution complete.", fg="green") From 9edd461998d2af52b030edc8560493979ae786bc Mon Sep 17 00:00:00 2001 From: min-jean-cho Date: Thu, 13 Apr 2023 15:38:38 -0700 Subject: [PATCH 042/172] Enable worker core pinning in CPU nightly benchmark (#2166) * verify setup * verify setup * fix * build frontend * fix * fix * fix * fix * fix * log error * update * update * fix * update * update * update * update * test github action * test * verify logical core setup * run full test * run full test * test without ht * run full test physical cores * enable --use_logical_core in nightly benchmark * Delete benchmark_worker_core_pinning_cpu.yml * remove benchmark testing * remove benchmark testing * remove benchmark testing * (1) enable core pinning for nightly benchmark (2) double check setup * verify setup * verify setup * verify setup * verify setup * verify setup * verify setup * verified setup * update * revert * lint * lint --------- Co-authored-by: Mark Saroufim Co-authored-by: lxning <23464292+lxning@users.noreply.github.com> --- .github/workflows/benchmark_nightly.yml | 2 - benchmarks/auto_benchmark.py | 8 ++++ .../pytorch/serve/wlm/WorkerLifeCycle.java | 46 ++++++++++--------- ts_scripts/install_dependencies.py | 14 ++++++ 4 files changed, 47 insertions(+), 23 deletions(-) diff --git a/.github/workflows/benchmark_nightly.yml b/.github/workflows/benchmark_nightly.yml index a88128a091..0d41defb41 100644 --- a/.github/workflows/benchmark_nightly.yml +++ b/.github/workflows/benchmark_nightly.yml @@ -43,8 +43,6 @@ jobs: pip install -r benchmarks/requirements-ab.txt - name: Benchmark cpu nightly if: ${{ matrix.hardware == 'cpu' }} - env: - OMP_NUM_THREADS: 1 run: python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_cpu.yaml --skip false - name: Benchmark gpu nightly if: ${{ matrix.hardware == 'gpu' }} diff --git a/benchmarks/auto_benchmark.py b/benchmarks/auto_benchmark.py index b728805909..a2851fd4f6 100644 --- a/benchmarks/auto_benchmark.py +++ b/benchmarks/auto_benchmark.py @@ -80,6 +80,12 @@ def report_cmd(self, cmd): self.bm_config["report_cmd"] = " ".join(cmd_options) + def enable_launcher_with_logical_core(self): + if self.bm_config["hardware"] == "cpu": + with open("./benchmarks/config.properties", "a") as f: + f.write("cpu_launcher_enable=true\n") + f.write("cpu_launcher_args=--use_logical_core\n") + def load_config(self): report_cmd = None for k, v in self.yaml_dict.items(): @@ -100,6 +106,8 @@ def load_config(self): else "{}/cpu".format(MODEL_JSON_CONFIG_PATH) ) + self.enable_launcher_with_logical_core() + if self.skip_ts_install: self.bm_config["version"] = get_torchserve_version() diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java index baed23e1f5..e3e24717b9 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java @@ -35,7 +35,6 @@ public class WorkerLifeCycle { private Connector connector; private ReaderThread errReader; private ReaderThread outReader; - private String launcherArgs; private int numWorker; private int currNumRunningWorkers; @@ -50,10 +49,11 @@ public Process getProcess() { return process; } - public ArrayList launcherArgsToList() { + public ArrayList launcherArgsToList(String launcherArgs) { ArrayList arrlist = new ArrayList(); arrlist.add("-m"); - arrlist.add("intel_extension_for_pytorch.cpu.launch"); + arrlist.add("torch.backends.xeon.run_cpu"); + if (launcherArgs != null && launcherArgs.length() > 1) { String[] argarray = launcherArgs.split(" "); for (int i = 0; i < argarray.length; i++) { @@ -63,22 +63,25 @@ public ArrayList launcherArgsToList() { return arrlist; } - public boolean isLauncherAvailable() + public boolean isLauncherAvailable(String launcherArgs) throws WorkerInitializationException, InterruptedException { boolean launcherAvailable = false; - try { - ArrayList cmd = new ArrayList(); - cmd.add("python"); - ArrayList args = launcherArgsToList(); - cmd.addAll(args); - cmd.add("--no_python"); - // try launching dummy command to check launcher availability - String dummyCmd = "hostname"; - cmd.add(dummyCmd); - - String[] cmdList = new String[cmd.size()]; - cmdList = cmd.toArray(cmdList); + ArrayList cmd = new ArrayList(); + cmd.add("python"); + ArrayList args = launcherArgsToList(launcherArgs); + cmd.addAll(args); + cmd.add("--no_python"); + // try launching dummy command to check launcher availability + String dummyCmd = "hostname"; + cmd.add(dummyCmd); + + String[] cmdList = new String[cmd.size()]; + cmdList = cmd.toArray(cmdList); + + logger.debug("launcherAvailable cmdline: {}", cmd.toString()); + + try { Process processLauncher = Runtime.getRuntime().exec(cmdList); int ret = processLauncher.waitFor(); launcherAvailable = (ret == 0); @@ -115,23 +118,24 @@ public void startWorker(int port, String deviceIds) } if (configManager.isCPULauncherEnabled()) { - launcherArgs = configManager.getCPULauncherArgs(); - boolean launcherAvailable = isLauncherAvailable(); + String launcherArgs = configManager.getCPULauncherArgs(); + boolean launcherAvailable = isLauncherAvailable(launcherArgs); if (launcherAvailable) { - ArrayList args = launcherArgsToList(); + ArrayList args = launcherArgsToList(launcherArgs); argl.addAll(args); // multi-worker core pinning if (this.numWorker > 1) { argl.add("--ninstances"); argl.add(String.valueOf(this.numWorker)); - argl.add("--instance_idx"); + argl.add("--rank"); + // instance_idx is 0-indexed argl.add(String.valueOf(this.currNumRunningWorkers)); } } else { logger.warn( - "CPU launcher is enabled but launcher is not available. Proceeding without launcher."); + "torch.backends.xeon.run_cpu is not available. Proceeding without worker core pinning. For better performance, please make sure torch.backends.xeon.run_cpu is available."); } } diff --git a/ts_scripts/install_dependencies.py b/ts_scripts/install_dependencies.py index d922fa2440..78f41f3997 100644 --- a/ts_scripts/install_dependencies.py +++ b/ts_scripts/install_dependencies.py @@ -74,6 +74,9 @@ def install_jmeter(self): def install_wget(self): pass + def install_numactl(self): + pass + class Linux(Common): def __init__(self): @@ -107,6 +110,10 @@ def install_libgit2(self): os.system(f"cd libgit2-1.3.0 && cmake . && make && sudo make install && cd ..") os.system(f"rm -rf libgit2-1.3.0 && rm libgit2-1.3.0.tar.gz") + def install_numactl(self): + if os.system("numactl --show") != 0 or args.force: + os.system(f"{self.sudo_cmd}apt-get install -y numactl") + class Windows(Common): def __init__(self): @@ -122,6 +129,9 @@ def install_nodejs(self): def install_wget(self): pass + def install_numactl(self): + pass + class Darwin(Common): def __init__(self): @@ -146,6 +156,10 @@ def install_wget(self): if os.system("wget --version") != 0 or args.force: os.system("brew install wget") + def install_numactl(self): + if os.system("numactl --show") != 0 or args.force: + os.system("brew install numactl") + def install_dependencies(cuda_version=None, nightly=False): os_map = {"Linux": Linux, "Windows": Windows, "Darwin": Darwin} From 1af13aedada9ff4c91de3ae8919a64f67ba80ed2 Mon Sep 17 00:00:00 2001 From: Fabrizio Damicelli <40115969+fabridamicelli@users.noreply.github.com> Date: Fri, 14 Apr 2023 21:48:30 +0200 Subject: [PATCH 043/172] Fix and add test for `build_image.sh`: Make it invariant to arguments order (#2226) * make build_image.sh script pass shellcheck * fix build_image.sh handling of custorm DOCKER_TAG * add test-image-build-tagging in CI * start consolidating docker CI * explain test in docker ci --------- Co-authored-by: Ankith Gunapal --- ...st-docker-container.yml => docker-ci.yaml} | 12 +- docker/build_image.sh | 45 ++++---- docker/test_build_image_tagging.sh | 105 ++++++++++++++++++ 3 files changed, 138 insertions(+), 24 deletions(-) rename .github/workflows/{test-docker-container.yml => docker-ci.yaml} (76%) create mode 100755 docker/test_build_image_tagging.sh diff --git a/.github/workflows/test-docker-container.yml b/.github/workflows/docker-ci.yaml similarity index 76% rename from .github/workflows/test-docker-container.yml rename to .github/workflows/docker-ci.yaml index 3e416f72c7..a95f0da1f1 100644 --- a/.github/workflows/test-docker-container.yml +++ b/.github/workflows/docker-ci.yaml @@ -1,4 +1,4 @@ -name: Test docker image and container +name: Docker CI on: push: @@ -7,7 +7,7 @@ on: branches: [ "master" ] jobs: - test-docker-image: + test-build-and-container: runs-on: ubuntu-latest strategy: fail-fast: false @@ -16,7 +16,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Test Image Build + - name: Test build_image.sh script with custom tagging and gpu flag + working-directory: docker + run: ./test_build_image_tagging.sh ${{ matrix.python-version }} + + - name: Build Image for container test id: image_build working-directory: docker run: | @@ -28,7 +32,7 @@ jobs: working-directory: docker run: ./test_container_health.sh ${{ steps.image_build.outputs.IMAGE_TAG }} - - name: Check Python Version in Container + - name: Check Python version in container working-directory: docker run: ./test_container_python_version.sh ${{ steps.image_build.outputs.IMAGE_TAG }} ${{ matrix.python-version }} diff --git a/docker/build_image.sh b/docker/build_image.sh index 246f81bdac..eeb123f2b9 100755 --- a/docker/build_image.sh +++ b/docker/build_image.sh @@ -1,14 +1,14 @@ #!/bin/bash +set -o errexit -o nounset -o pipefail + MACHINE=cpu BRANCH_NAME="master" DOCKER_TAG="pytorch/torchserve:latest-cpu" BUILD_TYPE="production" -DOCKER_FILE="Dockerfile" BASE_IMAGE="ubuntu:20.04" -CUSTOM_TAG=false +USE_CUSTOM_TAG=false CUDA_VERSION="" -UBUNTU_VERSION="ubuntu:20.04" USE_LOCAL_SERVE_FOLDER=false BUILD_WITH_IPEX=false PYTHON_VERSION=3.9 @@ -53,8 +53,8 @@ do shift ;; -t|--tag) - DOCKER_TAG="$2" - CUSTOM_TAG=true + CUSTOM_TAG="$2" + USE_CUSTOM_TAG=true shift shift ;; @@ -80,28 +80,28 @@ do # With default ubuntu version 20.04 -cv|--cudaversion) CUDA_VERSION="$2" - if [ $CUDA_VERSION == "cu118" ]; + if [ "${CUDA_VERSION}" == "cu118" ]; then BASE_IMAGE="nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04" - elif [ $CUDA_VERSION == "cu117" ]; + elif [ "${CUDA_VERSION}" == "cu117" ]; then BASE_IMAGE="nvidia/cuda:11.7.0-cudnn8-runtime-ubuntu20.04" - elif [ $CUDA_VERSION == "cu116" ]; + elif [ "${CUDA_VERSION}" == "cu116" ]; then BASE_IMAGE="nvidia/cuda:11.6.0-cudnn8-runtime-ubuntu20.04" - elif [ $CUDA_VERSION == "cu113" ]; + elif [ "${CUDA_VERSION}" == "cu113" ]; then BASE_IMAGE="nvidia/cuda:11.3.0-cudnn8-runtime-ubuntu20.04" - elif [ $CUDA_VERSION == "cu111" ]; + elif [ "${CUDA_VERSION}" == "cu111" ]; then BASE_IMAGE="nvidia/cuda:11.1.1-cudnn8-runtime-ubuntu20.04" - elif [ $CUDA_VERSION == "cu102" ]; + elif [ "${CUDA_VERSION}" == "cu102" ]; then BASE_IMAGE="nvidia/cuda:10.2-cudnn8-runtime-ubuntu18.04" - elif [ $CUDA_VERSION == "cu101" ] + elif [ "${CUDA_VERSION}" == "cu101" ] then BASE_IMAGE="nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04" - elif [ $CUDA_VERSION == "cu92" ]; + elif [ "${CUDA_VERSION}" == "cu92" ]; then BASE_IMAGE="nvidia/cuda:9.2-cudnn7-runtime-ubuntu18.04" else @@ -120,22 +120,27 @@ then exit 1 fi -if [ "${BUILD_TYPE}" == "dev" ] && ! $CUSTOM_TAG ; +if [ "${BUILD_TYPE}" == "dev" ] && ! $USE_CUSTOM_TAG ; then DOCKER_TAG="pytorch/torchserve:dev-$MACHINE" fi -if [ "${BUILD_TYPE}" == "codebuild" ] && ! $CUSTOM_TAG ; +if [ "${BUILD_TYPE}" == "codebuild" ] && ! $USE_CUSTOM_TAG ; then DOCKER_TAG="pytorch/torchserve:codebuild-$MACHINE" fi -if [ $BUILD_TYPE == "production" ] +if [ "$USE_CUSTOM_TAG" = true ] +then + DOCKER_TAG=${CUSTOM_TAG} +fi + +if [ "${BUILD_TYPE}" == "production" ] then - DOCKER_BUILDKIT=1 docker build --file Dockerfile --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg PYTHON_VERSION=$PYTHON_VERSION -t $DOCKER_TAG . -elif [ $BUILD_TYPE == "benchmark" ] + DOCKER_BUILDKIT=1 docker build --file Dockerfile --build-arg BASE_IMAGE="${BASE_IMAGE}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" -t "${DOCKER_TAG}" . +elif [ "${BUILD_TYPE}" == "benchmark" ] then - DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.benchmark --build-arg USE_LOCAL_SERVE_FOLDER=$USE_LOCAL_SERVE_FOLDER --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME=$BRANCH_NAME --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg MACHINE_TYPE=$MACHINE --build-arg PYTHON_VERSION=$PYTHON_VERSION -t $DOCKER_TAG . + DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.benchmark --build-arg USE_LOCAL_SERVE_FOLDER=$USE_LOCAL_SERVE_FOLDER --build-arg BASE_IMAGE="${BASE_IMAGE}" --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" -t "${DOCKER_TAG}" . else - DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.dev -t $DOCKER_TAG --build-arg BUILD_TYPE=$BUILD_TYPE --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME=$BRANCH_NAME --build-arg CUDA_VERSION=$CUDA_VERSION --build-arg MACHINE_TYPE=$MACHINE --build-arg BUILD_WITH_IPEX=$BUILD_WITH_IPEX --build-arg PYTHON_VERSION=$PYTHON_VERSION . + DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.dev -t "${DOCKER_TAG}" --build-arg BUILD_TYPE="${BUILD_TYPE}" --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg BUILD_WITH_IPEX="${BUILD_WITH_IPEX}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" . fi diff --git a/docker/test_build_image_tagging.sh b/docker/test_build_image_tagging.sh new file mode 100755 index 0000000000..0bd9644d32 --- /dev/null +++ b/docker/test_build_image_tagging.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail + +# This test checks the parsing and handling of arguments in `build_image.sh`, +# making sure that `build_image.sh` is invariant to the order of the passed +# arguments `-py` (python version), `-t` (image tag) and `-g` (use gpu flag) +# and that tagging works properly. +# That means, we have 3 args, so there are 6 possibilities to order them and +# we expect these script runs to produce the *very same output*: +# +# $ ./build_image.sh -py "${VERSION}" -t "${TAG}" -g +# $ ./build_image.sh -py "${VERSION}" -g -t "${TAG}" +# $ ./build_image.sh -t "${TAG}" -py "${VERSION}" -g +# $ ./build_image.sh -t "${TAG}" -g -py "${VERSION}" +# $ ./build_image.sh -g -py "${VERSION}" -t "${TAG}" +# $ ./build_image.sh -g -t "${TAG}" -py "${VERSION}" +# +# In order to assert the equivalence of all these variations, we take advantage +# of how docker builds images: If two images are exactly the same (ie, they are +# composed of the very same layers) they will have the same digest (ie, a hash +# value representing the content of the image), regardless of the tag assigned +# to the image. So, for example, if we run (with the same Dockerfile): +# +# $ docker build -f Dockerfile -t Org/Repo:TagOne . +# $ docker build -f Dockerfile -t Org/Repo:TagTwo . +# $ docker images --no-trunc +# +# we will see something like this: +# +# REPOSITORY TAG IMAGE ID CREATED SIZE +# Org/Repo TagOne sha256:e3824d794c0ccf10d2f61291f34e0d7e1e02e30b3d459465bc57d04dd3b65884 30 seconds ago 2.14GB +# Org/Repo TagTwo sha256:e3824d794c0ccf10d2f61291f34e0d7e1e02e30b3d459465bc57d04dd3b65884 30 seconds ago 2.14GB +# +# Notice that IMAGEID and CREATED are the same, since the first time it is +# actually created while the second time it just uses the cached layers. +# So the tag is "just a label" attached to the underlying image. +# +# Putting all together for our test: +# We run `build_image.sh` (on the same machine to allow docker cache) with each +# args order variation, tagging each variation with a different name (ensured +# by the random part of the string). +# We expect: +# - All the tags to exist (tagging works): len(images_to_test) == len(tags_to_test) +# - All tagged images to be actually one and the same under the hood: len(set(digests)) == 1 + + +PY_VERSION=$1 +TAG_1="org/repo:image-${PY_VERSION}-${RANDOM}-${RANDOM}-${RANDOM}-${RANDOM}" +TAG_2="org/repo:image-${PY_VERSION}-${RANDOM}-${RANDOM}-${RANDOM}-${RANDOM}" +TAG_3="org/repo:image-${PY_VERSION}-${RANDOM}-${RANDOM}-${RANDOM}-${RANDOM}" +TAG_4="org/repo:image-${PY_VERSION}-${RANDOM}-${RANDOM}-${RANDOM}-${RANDOM}" +TAG_5="org/repo:image-${PY_VERSION}-${RANDOM}-${RANDOM}-${RANDOM}-${RANDOM}" +TAG_6="org/repo:image-${PY_VERSION}-${RANDOM}-${RANDOM}-${RANDOM}-${RANDOM}" + +# Do builds alternating the flags order (-g, -t, -py) +# (which should build only one underlying image) +./build_image.sh -py "${PY_VERSION}" -t "${TAG_1}" -g +./build_image.sh -py "${PY_VERSION}" -g -t "${TAG_2}" + +./build_image.sh -g -py "${PY_VERSION}" -t "${TAG_3}" +./build_image.sh -g -t "${TAG_4}" -py "${PY_VERSION}" + +./build_image.sh -t "${TAG_5}" -py "${PY_VERSION}" -g +./build_image.sh -t "${TAG_6}" -g -py "${PY_VERSION}" + +# Collect all the images with their tags and ids +IMGS_FILE="test_images.json" +docker images --no-trunc --format "{{json .}}" | jq '{"repo": .Repository, "tag": .Tag, "digest": .ID}' | jq -s > "${IMGS_FILE}" + +python < Date: Mon, 17 Apr 2023 16:23:47 -0700 Subject: [PATCH 044/172] fix setup (#2237) --- benchmarks/auto_benchmark.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/benchmarks/auto_benchmark.py b/benchmarks/auto_benchmark.py index a2851fd4f6..08d96bf200 100644 --- a/benchmarks/auto_benchmark.py +++ b/benchmarks/auto_benchmark.py @@ -80,12 +80,6 @@ def report_cmd(self, cmd): self.bm_config["report_cmd"] = " ".join(cmd_options) - def enable_launcher_with_logical_core(self): - if self.bm_config["hardware"] == "cpu": - with open("./benchmarks/config.properties", "a") as f: - f.write("cpu_launcher_enable=true\n") - f.write("cpu_launcher_args=--use_logical_core\n") - def load_config(self): report_cmd = None for k, v in self.yaml_dict.items(): @@ -106,8 +100,6 @@ def load_config(self): else "{}/cpu".format(MODEL_JSON_CONFIG_PATH) ) - self.enable_launcher_with_logical_core() - if self.skip_ts_install: self.bm_config["version"] = get_torchserve_version() @@ -133,6 +125,7 @@ def benchmark_env_setup(bm_config, skip_ts_install): install_torchserve(skip_ts_install, bm_config["hardware"], bm_config["version"]) setup_benchmark_path(bm_config["model_config_path"]) build_model_json_config(bm_config["models"]) + enable_launcher_with_logical_core(bm_config["hardware"]) def install_torchserve(skip_ts_install, hw, ts_version): @@ -186,6 +179,13 @@ def build_model_json_config(models): gen_model_config_json.convert_yaml_to_json(input_file, MODEL_JSON_CONFIG_PATH) +def enable_launcher_with_logical_core(hw): + if hw == "cpu": + with open("./benchmarks/config.properties", "a") as f: + f.write("cpu_launcher_enable=true\n") + f.write("cpu_launcher_args=--use_logical_core\n") + + def run_benchmark(bm_config): files = os.listdir(bm_config["model_config_path"]) files.sort() From 2fa042b2e6cff642f3a91e027c4773a85ca6f73c Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Tue, 18 Apr 2023 17:03:21 -0700 Subject: [PATCH 045/172] [easy] lint fix broken windows conda link (#2240) --- docs/torchserve_on_win_native.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/torchserve_on_win_native.md b/docs/torchserve_on_win_native.md index 89b84ba242..0e629bac12 100644 --- a/docs/torchserve_on_win_native.md +++ b/docs/torchserve_on_win_native.md @@ -11,7 +11,7 @@ - At present, it has only been certified on windows server 2019 however should work fine on Windows 10. - Make sure you are an admin user or have admin rights - The instruction given here will use anaconda Powershell terminal to install torchserve - - Install Anaconda as given [here](https://docs.anaconda.com/anaconda/install/windows/) + - Install Anaconda as given [here](https://docs.anaconda.com/free/anaconda/getting-started/install/windows/) - Install Git as given [here](https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe) - Install openjdk17 - Download [openjdk17](https://download.oracle.com/java/17/archive/jdk-17.0.3_windows-x64_bin.zip) From cf7544bf2150e6c6d42a8b75f52ea31508e9382b Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Tue, 18 Apr 2023 22:31:59 -0700 Subject: [PATCH 046/172] Refactor PT2 code changes (#2222) * Refactor PT2 code changes --- examples/pt2/README.md | 20 +-- .../torch_compile/compile_handler.py | 20 +++ .../config.properties | 0 .../{torch_xla => torch_compile}/model.py | 0 test/pytest/test_data/torch_compile/pt2.yaml | 1 + test/pytest/test_data/torch_compile/xla.yaml | 1 + test/pytest/test_data/torch_xla/compile.json | 1 - test/pytest/test_torch_compile.py | 104 ++++++++++++ test/pytest/test_torch_xla.py | 8 +- test/pytest/test_utils.py | 28 ++-- ts/torch_handler/base_handler.py | 152 +++++++++--------- ts/utils/util.py | 21 +-- 12 files changed, 237 insertions(+), 119 deletions(-) create mode 100644 test/pytest/test_data/torch_compile/compile_handler.py rename test/pytest/test_data/{torch_xla => torch_compile}/config.properties (100%) rename test/pytest/test_data/{torch_xla => torch_compile}/model.py (100%) create mode 100644 test/pytest/test_data/torch_compile/pt2.yaml create mode 100644 test/pytest/test_data/torch_compile/xla.yaml delete mode 100644 test/pytest/test_data/torch_xla/compile.json create mode 100644 test/pytest/test_torch_compile.py diff --git a/examples/pt2/README.md b/examples/pt2/README.md index 1a6be197f0..348dca4819 100644 --- a/examples/pt2/README.md +++ b/examples/pt2/README.md @@ -1,30 +1,30 @@ ## PyTorch 2.x integration -PyTorch 2.0 brings more compiler options to PyTorch, for you that should mean better perf either in the form of lower latency or lower memory consumption. Integrating PyTorch 2.0 is fairly trivial but for now the support will be experimental until the official release and while we are relying on the nightly builds. +PyTorch 2.0 brings more compiler options to PyTorch, for you that should mean better perf either in the form of lower latency or lower memory consumption. Integrating PyTorch 2.0 is fairly trivial but for now the support will be experimental given that most public benchmarks have focused on training instead of inference. We strongly recommend you leverage newer hardware so for GPUs that would be an Ampere architecture. You'll get even more benefits from using server GPU deployments like A10G and A100 vs consumer cards. But you should expect to see some speedups for any Volta or Ampere architecture. ## Get started -Install torchserve with nightly torch binaries +Install torchserve and ensure that you're using at least `torch>=2.0.0` -``` -python ts_scripts/install_dependencies.py --cuda=cu117 --nightly_torch +```sh +python ts_scripts/install_dependencies.py --cuda=cu117 pip install torchserve torch-model-archiver ``` ## Package your model -PyTorch 2.0 supports several compiler backends and you pick which one you want by passing in an optional file `compile.json` during your model packaging +PyTorch 2.0 supports several compiler backends and you pick which one you want by passing in an optional file `model_config.yaml` during your model packaging -`{"pt2" : "inductor"}` +`pt2: "inductor"` -As an example let's expand our getting started guide with the only difference being passing in the extra `compile.json` file +As an example let's expand our getting started guide with the only difference being passing in the extra `model_config.yaml` file ``` mkdir model_store -torch-model-archiver --model-name densenet161 --version 1.0 --model-file ./serve/examples/image_classifier/densenet_161/model.py --export-path model_store --extra-files ./serve/examples/image_classifier/index_to_name.json,./serve/examples/image_classifier/compile.json --handler image_classifier -torchserve --start --ncs --model-store model_store --models densenet161.mar +torch-model-archiver --model-name densenet161 --version 1.0 --model-file ./serve/examples/image_classifier/densenet_161/model.py --export-path model_store --extra-files ./serve/examples/image_classifier/index_to_name.json --handler image_classifier +torchserve --start --ncs --model-store model_store --models densenet161.mar --config-file model_config.yaml ``` The exact same approach works with any other model, what's going on is the below @@ -35,7 +35,7 @@ opt_mod = torch.compile(mod) # 2. Train the optimized module # .... # 3. Save the original module (weights are shared) -torch.save(model, "model.pt") +torch.save(model, "model.pt") # 4. Load the non optimized model mod = torch.load(model) diff --git a/test/pytest/test_data/torch_compile/compile_handler.py b/test/pytest/test_data/torch_compile/compile_handler.py new file mode 100644 index 0000000000..745552f671 --- /dev/null +++ b/test/pytest/test_data/torch_compile/compile_handler.py @@ -0,0 +1,20 @@ +import torch + +from ts.torch_handler.base_handler import BaseHandler + + +class CompileHandler(BaseHandler): + def __init__(self): + super().__init__() + + def initialize(self, context): + super().initialize(context) + + def preprocess(self, data): + instances = data[0]["body"]["instances"] + input_tensor = torch.as_tensor(instances, dtype=torch.float32) + return input_tensor + + def postprocess(self, data): + # Convert the output tensor to a list and return + return data.tolist()[2] diff --git a/test/pytest/test_data/torch_xla/config.properties b/test/pytest/test_data/torch_compile/config.properties similarity index 100% rename from test/pytest/test_data/torch_xla/config.properties rename to test/pytest/test_data/torch_compile/config.properties diff --git a/test/pytest/test_data/torch_xla/model.py b/test/pytest/test_data/torch_compile/model.py similarity index 100% rename from test/pytest/test_data/torch_xla/model.py rename to test/pytest/test_data/torch_compile/model.py diff --git a/test/pytest/test_data/torch_compile/pt2.yaml b/test/pytest/test_data/torch_compile/pt2.yaml new file mode 100644 index 0000000000..d621c5aac8 --- /dev/null +++ b/test/pytest/test_data/torch_compile/pt2.yaml @@ -0,0 +1 @@ +pt2 : "inductor" diff --git a/test/pytest/test_data/torch_compile/xla.yaml b/test/pytest/test_data/torch_compile/xla.yaml new file mode 100644 index 0000000000..83ebeba7b7 --- /dev/null +++ b/test/pytest/test_data/torch_compile/xla.yaml @@ -0,0 +1 @@ +pt2 : "torchxla_trace_once" diff --git a/test/pytest/test_data/torch_xla/compile.json b/test/pytest/test_data/torch_xla/compile.json deleted file mode 100644 index 66b4d26695..0000000000 --- a/test/pytest/test_data/torch_xla/compile.json +++ /dev/null @@ -1 +0,0 @@ -{"pt2" : "torchxla_trace_once"} diff --git a/test/pytest/test_torch_compile.py b/test/pytest/test_torch_compile.py new file mode 100644 index 0000000000..93cf64cdc8 --- /dev/null +++ b/test/pytest/test_torch_compile.py @@ -0,0 +1,104 @@ +import glob +import json +import os +import subprocess +import time +from pathlib import Path + +import pytest +import torch +from pkg_resources import packaging + +PT_2_AVAILABLE = ( + True + if packaging.version.parse(torch.__version__) >= packaging.version.parse("2.0") + else False +) + +CURR_FILE_PATH = Path(__file__).parent +TEST_DATA_DIR = os.path.join(CURR_FILE_PATH, "test_data", "torch_compile") + +MODEL_FILE = os.path.join(TEST_DATA_DIR, "model.py") +HANDLER_FILE = os.path.join(TEST_DATA_DIR, "compile_handler.py") +YAML_CONFIG = os.path.join(TEST_DATA_DIR, "pt2.yaml") + + +SERIALIZED_FILE = os.path.join(TEST_DATA_DIR, "model.pt") +MODEL_STORE_DIR = os.path.join(TEST_DATA_DIR, "model_store") +MODEL_NAME = "half_plus_two" + + +@pytest.mark.skipif(PT_2_AVAILABLE == False, reason="torch version is < 2.0.0") +class TestTorchCompile: + def teardown_class(self): + subprocess.run("torchserve --stop", shell=True, check=True) + time.sleep(10) + + def test_archive_model_artifacts(self): + assert len(glob.glob(MODEL_FILE)) == 1 + assert len(glob.glob(YAML_CONFIG)) == 1 + subprocess.run(f"cd {TEST_DATA_DIR} && python model.py", shell=True, check=True) + subprocess.run(f"mkdir -p {MODEL_STORE_DIR}", shell=True, check=True) + subprocess.run( + f"torch-model-archiver --model-name {MODEL_NAME} --version 1.0 --model-file {MODEL_FILE} --serialized-file {SERIALIZED_FILE} --config-file {YAML_CONFIG} --export-path {MODEL_STORE_DIR} --handler {HANDLER_FILE} -f", + shell=True, + check=True, + ) + assert len(glob.glob(SERIALIZED_FILE)) == 1 + assert len(glob.glob(os.path.join(MODEL_STORE_DIR, f"{MODEL_NAME}.mar"))) == 1 + + def test_start_torchserve(self): + cmd = f"torchserve --start --ncs --models {MODEL_NAME}.mar --model-store {MODEL_STORE_DIR}" + subprocess.run( + cmd, + shell=True, + check=True, + ) + time.sleep(10) + assert len(glob.glob("logs/access_log.log")) == 1 + assert len(glob.glob("logs/model_log.log")) == 1 + assert len(glob.glob("logs/ts_log.log")) == 1 + + def test_server_status(self): + result = subprocess.run( + "curl http://localhost:8080/ping", + shell=True, + capture_output=True, + check=True, + ) + expected_server_status_str = '{"status": "Healthy"}' + expected_server_status = json.loads(expected_server_status_str) + assert json.loads(result.stdout) == expected_server_status + + def test_registered_model(self): + result = subprocess.run( + "curl http://localhost:8081/models", + shell=True, + capture_output=True, + check=True, + ) + expected_registered_model_str = '{"models": [{"modelName": "half_plus_two", "modelUrl": "half_plus_two.mar"}]}' + expected_registered_model = json.loads(expected_registered_model_str) + assert json.loads(result.stdout) == expected_registered_model + + def test_serve_inference(self): + request_data = {"instances": [[1.0], [2.0], [3.0]]} + request_json = json.dumps(request_data) + + result = subprocess.run( + f"curl -s -X POST -H \"Content-Type: application/json;\" http://localhost:8080/predictions/half_plus_two -d '{request_json}'", + shell=True, + capture_output=True, + check=True, + ) + + string_result = result.stdout.decode("utf-8") + float_result = float(string_result) + expected_result = 3.5 + + assert float_result == expected_result + + model_log_path = glob.glob("logs/model_log.log")[0] + with open(model_log_path, "rt") as model_log_file: + model_log = model_log_file.read() + assert "Compiled model with backend inductor" in model_log diff --git a/test/pytest/test_torch_xla.py b/test/pytest/test_torch_xla.py index c6a31e8309..b42db67f79 100644 --- a/test/pytest/test_torch_xla.py +++ b/test/pytest/test_torch_xla.py @@ -21,10 +21,10 @@ TORCHXLA_AVAILABLE = False CURR_FILE_PATH = Path(__file__).parent -TORCH_XLA_TEST_DATA_DIR = os.path.join(CURR_FILE_PATH, "test_data") +TORCH_XLA_TEST_DATA_DIR = os.path.join(CURR_FILE_PATH, "test_data", "torch_compile") MODEL_FILE = os.path.join(TORCH_XLA_TEST_DATA_DIR, "model.py") -EXTRA_FILE = os.path.join(TORCH_XLA_TEST_DATA_DIR, "compile.json") +YAML_CONFIG = os.path.join(TORCH_XLA_TEST_DATA_DIR, "xla.yaml") CONFIG_PROPERTIES = os.path.join(TORCH_XLA_TEST_DATA_DIR, "config.properties") SERIALIZED_FILE = os.path.join(TORCH_XLA_TEST_DATA_DIR, "model.pt") @@ -40,14 +40,14 @@ def teardown_class(self): def test_archive_model_artifacts(self): assert len(glob.glob(MODEL_FILE)) == 1 - assert len(glob.glob(EXTRA_FILE)) == 1 + assert len(glob.glob(YAML_CONFIG)) == 1 assert len(glob.glob(CONFIG_PROPERTIES)) == 1 subprocess.run( f"cd {TORCH_XLA_TEST_DATA_DIR} && python model.py", shell=True, check=True ) subprocess.run(f"mkdir -p {MODEL_STORE_DIR}", shell=True, check=True) subprocess.run( - f"torch-model-archiver --model-name {MODEL_NAME} --version 1.0 --model-file {MODEL_FILE} --serialized-file {SERIALIZED_FILE} --extra-files {EXTRA_FILE} --export-path {MODEL_STORE_DIR} --handler base_handler -f", + f"torch-model-archiver --model-name {MODEL_NAME} --version 1.0 --model-file {MODEL_FILE} --serialized-file {SERIALIZED_FILE} --config-file {YAML_CONFIG} --export-path {MODEL_STORE_DIR} --handler base_handler -f", shell=True, check=True, ) diff --git a/test/pytest/test_utils.py b/test/pytest/test_utils.py index 40354187df..114b7f4431 100644 --- a/test/pytest/test_utils.py +++ b/test/pytest/test_utils.py @@ -118,31 +118,41 @@ def model_archiver_command_builder( handler=None, extra_files=None, force=False, + config_file=None, ): - cmd = "torch-model-archiver" + # Initialize a list to store the command-line arguments + cmd_parts = ["torch-model-archiver"] + # Append arguments to the list if model_name: - cmd += " --model-name {0}".format(model_name) + cmd_parts.append(f"--model-name {model_name}") if version: - cmd += " --version {0}".format(version) + cmd_parts.append(f"--version {version}") if model_file: - cmd += " --model-file {0}".format(model_file) + cmd_parts.append(f"--model-file {model_file}") if serialized_file: - cmd += " --serialized-file {0}".format(serialized_file) + cmd_parts.append(f"--serialized-file {serialized_file}") if handler: - cmd += " --handler {0}".format(handler) + cmd_parts.append(f"--handler {handler}") if extra_files: - cmd += " --extra-files {0}".format(extra_files) + cmd_parts.append(f"--extra-files {extra_files}") + + if config_file: + cmd_parts.append(f"--config-file {config_file}") if force: - cmd += " --force" + cmd_parts.append("--force") + + # Append the export-path argument to the list + cmd_parts.append(f"--export-path {MODEL_STORE}") - cmd += " --export-path {0}".format(MODEL_STORE) + # Convert the list into a string to represent the complete command + cmd = " ".join(cmd_parts) return cmd diff --git a/ts/torch_handler/base_handler.py b/ts/torch_handler/base_handler.py index 6327a3387f..91b983a859 100644 --- a/ts/torch_handler/base_handler.py +++ b/ts/torch_handler/base_handler.py @@ -13,8 +13,8 @@ from pkg_resources import packaging from ..utils.util import ( + check_valid_pt2_backend, list_classes_from_module, - load_compiler_config, load_label_mapping, ) @@ -25,46 +25,74 @@ else: PROFILER_AVAILABLE = False + +logger = logging.getLogger(__name__) + + try: import torch_xla.core.xla_model as xm - TORCHXLA_AVAILABLE = True + XLA_AVAILABLE = True except ImportError as error: - TORCHXLA_AVAILABLE = False + XLA_AVAILABLE = False -logger = logging.getLogger(__name__) - - -# Possible values for backend in utils.py -def check_pt2_enabled(): - try: - import torch._dynamo - - pt2_enabled = True - if torch.cuda.is_available(): - # If Ampere enable tensor cores which will give better performance - # Ideally get yourself an A10G or A100 for optimal performance - if torch.cuda.get_device_capability() >= (8, 0): - torch.backends.cuda.matmul.allow_tf32 = True - except ImportError as error: - logger.warning( - "dynamo/inductor are not installed. \n For GPU please run pip3 install numpy --pre torch[dynamo] --force-reinstall --extra-index-url https://download.pytorch.org/whl/nightly/cu117 \n for CPU please run pip3 install --pre torch --extra-index-url https://download.pytorch.org/whl/nightly/cpu" - ) - pt2_enabled = False - return pt2_enabled +if packaging.version.parse(torch.__version__) >= packaging.version.parse("2.0.0"): + PT2_AVAILABLE = True + if torch.cuda.is_available(): + # If Ampere enable tensor cores which will give better performance + # Ideally get yourself an A10G or A100 for optimal performance + if torch.cuda.get_device_capability() >= (8, 0): + torch.set_float32_matmul_precision("high") + logger.info("Enabled tensor cores") +else: + logger.warning( + f"Your torch version is {torch.__version__} which does not support torch.compile" + ) + PT2_AVAILABLE = False -ipex_enabled = False if os.environ.get("TS_IPEX_ENABLE", "false") == "true": try: import intel_extension_for_pytorch as ipex - ipex_enabled = True + IPEX_AVAILABLE = True except ImportError as error: logger.warning( "IPEX is enabled but intel-extension-for-pytorch is not installed. Proceeding without IPEX." ) + IPEX_AVAILABLE = False +else: + IPEX_AVAILABLE = False + + +try: + import onnxruntime as ort + import psutil + + logger.info("ONNX enabled") + ONNX_AVAILABLE = True +except ImportError as error: + logger.warning("proceeding without onnxruntime") + ONNX_AVAILABLE = False + + +def setup_ort_session(model_pt_path): + providers = ( + ["CUDAExecutionProvider", "CPUExecutionProvider"] + if self.map_location == "cuda" + else ["CPUExecutionProvider"] + ) + + sess_options = ort.SessionOptions() + sess_options.intra_op_num_threads = psutil.cpu_count(logical=True) + + # Start an inference session + ort_session = ort.InferenceSession( + model_pt_path, providers=providers, sess_options=sess_options + ) + + return ort_session class BaseHandler(abc.ABC): @@ -98,16 +126,9 @@ def initialize(self, context): RuntimeError: Raises the Runtime error when the model.py is missing """ - ipex_enabled = False - if os.environ.get("TS_IPEX_ENABLE", "false") == "true": - try: - import intel_extension_for_pytorch as ipex - ipex_enabled = True - except ImportError as error: - logger.warning( - "IPEX is enabled but intel-extension-for-pytorch is not installed. Proceeding without IPEX." - ) + if context is not None and hasattr(context, "model_yaml_config"): + self.model_yaml_config = context.model_yaml_config properties = context.system_properties if torch.cuda.is_available() and properties.get("gpu_id") is not None: @@ -115,7 +136,7 @@ def initialize(self, context): self.device = torch.device( self.map_location + ":" + str(properties.get("gpu_id")) ) - elif TORCHXLA_AVAILABLE: + elif XLA_AVAILABLE: self.device = xm.xla_device() else: self.map_location = "cpu" @@ -128,20 +149,6 @@ def initialize(self, context): if "serializedFile" in self.manifest["model"]: serialized_file = self.manifest["model"]["serializedFile"] self.model_pt_path = os.path.join(model_dir, serialized_file) - - if self.model_pt_path: - if self.model_pt_path.endswith("onnx"): - try: - # import numpy as np - import onnxruntime as ort - import psutil - - onnx_enabled = True - logger.info("ONNX enabled") - except ImportError as error: - onnx_enabled = False - logger.warning("proceeding without onnxruntime") - # model def file model_file = self.manifest["model"].get("modelFile", "") @@ -160,49 +167,38 @@ def initialize(self, context): self.model.eval() # Convert your model by following instructions: https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html - # TODO(msaroufim): Refactor into utils https://github.com/pytorch/serve/issues/1631 - elif self.model_pt_path.endswith(".onnx") and onnx_enabled: - # self.model = self._load_onnx_model(self.model_pt_path) - providers = ( - ["CUDAExecutionProvider", "CPUExecutionProvider"] - if self.map_location == "cuda" - else ["CPUExecutionProvider"] - ) - - # Set the right inference options, we can add more options here depending on what people want - sess_options = ort.SessionOptions() - sess_options.intra_op_num_threads = psutil.cpu_count(logical=True) - - # Start an inference session - ort_session = ort.InferenceSession( - self.model_pt_path, providers=providers, sess_options=sess_options - ) - self.model = ort_session + elif self.model_pt_path.endswith(".onnx") and ONNX_AVAILABLE: + self.model = setup_ort_session(self.model_pt_path) + logger.info("Succesfully setup ort session") else: raise RuntimeError("No model weights could be loaded") - optimization_config = os.path.join(model_dir, "compile.json") - backend = load_compiler_config(optimization_config) + if hasattr(self, "model_yaml_config") and "pt2" in self.model_yaml_config: + pt2_backend = self.model_yaml_config["pt2"] + valid_backend = check_valid_pt2_backend(pt2_backend) + else: + valid_backend = False # PT 2.0 support is opt in - if check_pt2_enabled() and backend: + if PT2_AVAILABLE and valid_backend: # Compilation will delay your model initialization try: self.model = torch.compile( self.model, - backend=backend, - mode="default" if TORCHXLA_AVAILABLE else "reduce-overhead", + backend=pt2_backend, ) - logger.info(f"Compiled model with backend {backend}") - except: + logger.info(f"Compiled model with backend {pt2_backend}") + except e: logger.warning( - f"Compiling model model with backend {backend} has failed \n Proceeding without compilation" + f"Compiling model model with backend {pt2_backend} has failed \n Proceeding without compilation" ) + logger.warning(e) - elif ipex_enabled: + elif IPEX_AVAILABLE: self.model = self.model.to(memory_format=torch.channels_last) self.model = ipex.optimize(self.model) + logger.info(f"Compiled model with ipex") logger.debug("Model file %s loaded successfully", self.model_pt_path) @@ -257,9 +253,7 @@ def _load_pickled_model(self, model_dir, model_file, model_pt_path): model = model_class() if model_pt_path: map_location = ( - None - if (TORCHXLA_AVAILABLE and self.map_location is None) - else self.device + None if (XLA_AVAILABLE and self.map_location is None) else self.device ) state_dict = torch.load(model_pt_path, map_location=map_location) model.load_state_dict(state_dict) diff --git a/ts/utils/util.py b/ts/utils/util.py index a59428708d..b636beb8c4 100644 --- a/ts/utils/util.py +++ b/ts/utils/util.py @@ -56,24 +56,13 @@ def list_classes_from_module(module, parent_class=None): return classes -def load_compiler_config(config_file_path): - """ - Load a compiler {compiler_name -> compiler } - Can be extended to also support kwargs for ONNX and TensorRT - """ - if not os.path.isfile(config_file_path): - logger.info(f"{config_file_path} is missing. PT 2.0 will not be used") - return None - - with open(config_file_path) as f: - mapping = json.load(f) - +def check_valid_pt2_backend(backend: str) -> bool: backend_values = [member.value for member in PT2Backend] - if mapping["pt2"] in backend_values: - return mapping["pt2"] + if backend in backend_values: + return True else: - logger.warning(f"{mapping['pt2']} is not a supported backend") - return None + logger.warning(f"{backend} is not a supported backend") + return False def load_label_mapping(mapping_file_path): From dd8e792cdbc6bc8aeeedc7bfc1c4f944699d3368 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 20 Apr 2023 09:48:04 -0700 Subject: [PATCH 047/172] Changed docker image to production (#2227) Tested with ResNet and HF BERT on both CPU and GPU --- docker/build_upload_release.py | 6 ++---- docker/docker_nightly.py | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docker/build_upload_release.py b/docker/build_upload_release.py index 3bc866f653..fc3d462cb0 100644 --- a/docker/build_upload_release.py +++ b/docker/build_upload_release.py @@ -26,11 +26,9 @@ organization = args.organization # Upload pytorch/torchserve docker binaries + try_and_handle(f"./build_image.sh -t {organization}/torchserve:latest", dry_run) try_and_handle( - f"./build_image.sh -bt dev -t {organization}/torchserve:latest", dry_run - ) - try_and_handle( - f"./build_image.sh -bt dev -g -cv cu117 -t {organization}/torchserve:latest-gpu", + f"./build_image.sh -g -cv cu117 -t {organization}/torchserve:latest-gpu", dry_run, ) try_and_handle( diff --git a/docker/docker_nightly.py b/docker/docker_nightly.py index edc844f950..e35af9c0b3 100644 --- a/docker/docker_nightly.py +++ b/docker/docker_nightly.py @@ -32,9 +32,9 @@ gpu_version = f"{project}:gpu-{get_nightly_version()}" # Build Nightly images and append the date in the name - try_and_handle(f"./build_image.sh -bt dev -t {organization}/{cpu_version}", dry_run) + try_and_handle(f"./build_image.sh -t {organization}/{cpu_version}", dry_run) try_and_handle( - f"./build_image.sh -bt dev -g -cv cu117 -t {organization}/{gpu_version}", + f"./build_image.sh -g -cv cu117 -t {organization}/{gpu_version}", dry_run, ) From b03ac7d1aa49203036990e7e9a4813a64d714211 Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Thu, 20 Apr 2023 10:45:25 -0700 Subject: [PATCH 048/172] Frontend metrics configuration handling (#2190) * Metric configuration handling * Consolidate ModelMetrics and TsMetrics * remove YAMLMetricsConfigurationHandler * Add support for metrics mode config env var * update metric mode configuration helper function * Fix CI test failure and reorder test sequence * Set default metrics mode to log * Set metrics mode only from config manager * Remove metrics mode configuration from metric config file * Add Hostname dimension by default to backend metrics * Add logging for metrics config loading --------- Co-authored-by: Naman Nandan --- .../configuration/MetricConfiguration.java | 91 ++++++++++++ .../configuration/MetricSpecification.java | 48 +++++++ .../metrics/configuration/MetricTypes.java | 53 +++++++ .../org/pytorch/serve/util/ConfigManager.java | 7 + .../metrics/MetricConfigurationTest.java | 136 ++++++++++++++++++ ...valid_configuration_missing_dimension.yaml | 9 ++ ...lid_configuration_missing_metric_name.yaml | 9 ++ ...lid_configuration_missing_metric_unit.yaml | 9 ++ .../metrics/valid_configuration.yaml | 30 ++++ ...configuration_empty_metric_dimensions.yaml | 4 + frontend/server/testng.xml | 1 + ts/configs/metrics.yaml | 2 - 12 files changed, 397 insertions(+), 2 deletions(-) create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricConfiguration.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricSpecification.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricTypes.java create mode 100644 frontend/server/src/test/java/org/pytorch/serve/metrics/MetricConfigurationTest.java create mode 100644 frontend/server/src/test/resources/metrics/invalid_configuration_missing_dimension.yaml create mode 100644 frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_name.yaml create mode 100644 frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_unit.yaml create mode 100644 frontend/server/src/test/resources/metrics/valid_configuration.yaml create mode 100644 frontend/server/src/test/resources/metrics/valid_configuration_empty_metric_dimensions.yaml diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricConfiguration.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricConfiguration.java new file mode 100644 index 0000000000..cb41a0d907 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricConfiguration.java @@ -0,0 +1,91 @@ +package org.pytorch.serve.metrics.configuration; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.yaml.snakeyaml.Yaml; +import org.yaml.snakeyaml.composer.ComposerException; +import org.yaml.snakeyaml.constructor.Constructor; + +public class MetricConfiguration { + private static final Logger logger = LoggerFactory.getLogger(MetricConfiguration.class); + private List dimensions; + + @SuppressWarnings("checkstyle:MemberName") + private MetricTypes ts_metrics; + + @SuppressWarnings("checkstyle:MemberName") + private MetricTypes model_metrics; + + public void setDimensions(List dimensions) { + this.dimensions = dimensions; + } + + public List getDimensions() { + return this.dimensions; + } + + @SuppressWarnings("checkstyle:MethodName") + public void setTs_metrics(MetricTypes tsMetrics) { + this.ts_metrics = tsMetrics; + } + + @SuppressWarnings("checkstyle:MethodName") + public MetricTypes getTs_metrics() { + return this.ts_metrics; + } + + @SuppressWarnings("checkstyle:MethodName") + public void setModel_metrics(MetricTypes modelMetrics) { + // The Hostname dimension is included by default for model metrics + modelMetrics.setCounter(this.addHostnameDimensionToMetrics(modelMetrics.getCounter())); + modelMetrics.setGauge(this.addHostnameDimensionToMetrics(modelMetrics.getGauge())); + modelMetrics.setHistogram(this.addHostnameDimensionToMetrics(modelMetrics.getHistogram())); + this.model_metrics = modelMetrics; + } + + @SuppressWarnings("checkstyle:MethodName") + public MetricTypes getModel_metrics() { + return this.model_metrics; + } + + public void validate() { + if (this.ts_metrics != null) { + ts_metrics.validate(); + } + + if (this.model_metrics != null) { + model_metrics.validate(); + } + } + + public static MetricConfiguration loadConfiguration(String configFilePath) + throws FileNotFoundException, ComposerException, RuntimeException { + Constructor constructor = new Constructor(MetricConfiguration.class); + Yaml yaml = new Yaml(constructor); + FileInputStream inputStream = new FileInputStream(new File(configFilePath)); + MetricConfiguration config = yaml.load(inputStream); + config.validate(); + logger.info("Successfully loaded metrics configuration from {}", configFilePath); + + return config; + } + + private List addHostnameDimensionToMetrics( + List metricsSpec) { + if (metricsSpec == null) { + return metricsSpec; + } + + for (MetricSpecification spec : metricsSpec) { + List dimensions = spec.getDimensions(); + dimensions.add("Hostname"); + spec.setDimensions(dimensions); + } + + return metricsSpec; + } +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricSpecification.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricSpecification.java new file mode 100644 index 0000000000..28a7bf3067 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricSpecification.java @@ -0,0 +1,48 @@ +package org.pytorch.serve.metrics.configuration; + +import java.util.List; + +public class MetricSpecification { + private String name; + private String unit; + private List dimensions; + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return this.name; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return this.unit; + } + + public void setDimensions(List dimensions) { + this.dimensions = dimensions; + } + + public List getDimensions() { + return this.dimensions; + } + + @Override + public String toString() { + return "name: " + this.name + ", unit: " + this.unit + ", dimensions: " + this.dimensions; + } + + public void validate() { + if (this.name == null || this.name.isEmpty()) { + throw new RuntimeException("Metric name cannot be empty. " + this); + } + + if (this.unit == null || this.unit.isEmpty()) { + throw new RuntimeException("Metric unit cannot be empty. " + this); + } + } +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricTypes.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricTypes.java new file mode 100644 index 0000000000..82f1bc7533 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/configuration/MetricTypes.java @@ -0,0 +1,53 @@ +package org.pytorch.serve.metrics.configuration; + +import java.util.List; + +public class MetricTypes { + private List counter; + private List gauge; + private List histogram; + + public void setCounter(List counter) { + this.counter = counter; + } + + public List getCounter() { + return this.counter; + } + + public void setGauge(List gauge) { + this.gauge = gauge; + } + + public List getGauge() { + return this.gauge; + } + + public void setHistogram(List histogram) { + this.histogram = histogram; + } + + public List getHistogram() { + return this.histogram; + } + + public void validate() { + if (this.counter != null) { + for (MetricSpecification spec : this.counter) { + spec.validate(); + } + } + + if (this.gauge != null) { + for (MetricSpecification spec : this.gauge) { + spec.validate(); + } + } + + if (this.histogram != null) { + for (MetricSpecification spec : this.histogram) { + spec.validate(); + } + } + } +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 574dbb6d8a..05f3842c77 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -66,6 +66,7 @@ public final class ConfigManager { private static final String TS_JOB_QUEUE_SIZE = "job_queue_size"; private static final String TS_NUMBER_OF_GPU = "number_of_gpu"; private static final String TS_METRICS_CONFIG = "metrics_config"; + private static final String TS_METRICS_MODE = "metrics_mode"; private static final String TS_DISABLE_SYSTEM_METRICS = "disable_system_metrics"; // IPEX config option that can be set at config.properties @@ -387,6 +388,10 @@ public String getTorchRunLogDir() { return torchrunLogDir; } + public String getMetricsMode() { + return getProperty(TS_METRICS_MODE, "log"); + } + public boolean isSystemMetricsDisabled() { return Boolean.parseBoolean(getProperty(TS_DISABLE_SYSTEM_METRICS, "false")); } @@ -660,6 +665,8 @@ public String dumpConfigurations() { + prop.getProperty(TS_METRICS_FORMAT, METRIC_FORMAT_PROMETHEUS) + "\nEnable metrics API: " + prop.getProperty(TS_ENABLE_METRICS_API, "true") + + "\nMetrics mode: " + + getMetricsMode() + "\nDisable system metrics: " + isSystemMetricsDisabled() + "\nWorkflow Store: " diff --git a/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricConfigurationTest.java b/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricConfigurationTest.java new file mode 100644 index 0000000000..ba8b5ca58a --- /dev/null +++ b/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricConfigurationTest.java @@ -0,0 +1,136 @@ +package org.pytorch.serve.metrics.configuration; + +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.Arrays; +import org.pytorch.serve.util.ConfigManager; +import org.testng.Assert; +import org.testng.annotations.Test; +import org.yaml.snakeyaml.composer.ComposerException; + +public class MetricConfigurationTest { + @Test + public void testLoadValidConfiguration() + throws FileNotFoundException, ComposerException, RuntimeException { + MetricConfiguration config = + MetricConfiguration.loadConfiguration( + "src/test/resources/metrics/valid_configuration.yaml"); + + Assert.assertEquals( + config.getDimensions(), + new ArrayList( + Arrays.asList("ModelName", "ModelVersion", "Level", "Hostname"))); + + Assert.assertEquals(config.getTs_metrics().getCounter().size(), 2); + + MetricSpecification spec = config.getTs_metrics().getCounter().get(0); + Assert.assertEquals(spec.getName(), "Requests2XX"); + Assert.assertEquals(spec.getUnit(), "Count"); + Assert.assertEquals( + spec.getDimensions(), new ArrayList(Arrays.asList("Level", "Hostname"))); + + spec = config.getTs_metrics().getCounter().get(1); + Assert.assertEquals(spec.getName(), "InferenceRequestsTotal"); + Assert.assertEquals(spec.getUnit(), "Count"); + Assert.assertEquals( + spec.getDimensions(), + new ArrayList(Arrays.asList("ModelName", "ModelVersion", "Hostname"))); + + Assert.assertEquals(config.getTs_metrics().getGauge().size(), 2); + + spec = config.getTs_metrics().getGauge().get(0); + Assert.assertEquals(spec.getName(), "QueueTime"); + Assert.assertEquals(spec.getUnit(), "Milliseconds"); + Assert.assertEquals( + spec.getDimensions(), new ArrayList(Arrays.asList("Level", "Hostname"))); + + spec = config.getTs_metrics().getGauge().get(1); + Assert.assertEquals(spec.getName(), "WorkerThreadTime"); + Assert.assertEquals(spec.getUnit(), "Milliseconds"); + Assert.assertEquals( + spec.getDimensions(), new ArrayList(Arrays.asList("Level", "Hostname"))); + + Assert.assertEquals(config.getTs_metrics().getHistogram(), null); + + Assert.assertEquals(config.getModel_metrics().getCounter(), null); + + Assert.assertEquals(config.getModel_metrics().getGauge().size(), 2); + + spec = config.getModel_metrics().getGauge().get(0); + Assert.assertEquals(spec.getName(), "HandlerTime"); + Assert.assertEquals(spec.getUnit(), "ms"); + Assert.assertEquals( + spec.getDimensions(), + new ArrayList(Arrays.asList("ModelName", "Level", "Hostname"))); + + spec = config.getModel_metrics().getGauge().get(1); + Assert.assertEquals(spec.getName(), "PredictionTime"); + Assert.assertEquals(spec.getUnit(), "ms"); + Assert.assertEquals( + spec.getDimensions(), + new ArrayList(Arrays.asList("ModelName", "Level", "Hostname"))); + + Assert.assertEquals(config.getModel_metrics().getHistogram(), null); + } + + @Test + public void testLoadValidConfigurationEmptyMetricDimensions() + throws FileNotFoundException, ComposerException, RuntimeException { + MetricConfiguration config = + MetricConfiguration.loadConfiguration( + "src/test/resources/metrics/valid_configuration_empty_metric_dimensions.yaml"); + + Assert.assertEquals(config.getDimensions(), null); + + Assert.assertEquals(config.getTs_metrics().getCounter().size(), 1); + + MetricSpecification spec = config.getTs_metrics().getCounter().get(0); + Assert.assertEquals(spec.getName(), "InferenceRequestsTotal"); + Assert.assertEquals(spec.getUnit(), "Count"); + Assert.assertEquals(spec.getDimensions(), null); + + Assert.assertEquals(config.getTs_metrics().getGauge(), null); + + Assert.assertEquals(config.getTs_metrics().getHistogram(), null); + + Assert.assertEquals(config.getModel_metrics(), null); + } + + @Test + public void testLoadInvalidConfigurationMissingDimension() { + Assert.assertThrows( + ComposerException.class, + () -> + MetricConfiguration.loadConfiguration( + "src/test/resources/metrics/invalid_configuration_missing_dimension.yaml")); + } + + @Test + public void testLoadInvalidConfigurationMissingMetricName() { + Assert.assertThrows( + RuntimeException.class, + () -> + MetricConfiguration.loadConfiguration( + "src/test/resources/metrics/invalid_configuration_missing_metric_name.yaml")); + } + + @Test + public void testLoadInvalidConfigurationMissingMetricUnit() { + Assert.assertThrows( + RuntimeException.class, + () -> + MetricConfiguration.loadConfiguration( + "src/test/resources/metrics/invalid_configuration_missing_metric_unit.yaml")); + } + + @Test + public void testMetricsModeConfiguration() { + ConfigManager configManager = ConfigManager.getInstance(); + String existingMetricsModeConfiguration = configManager.getMetricsMode(); + Assert.assertEquals(existingMetricsModeConfiguration, "log"); + configManager.setProperty("metrics_mode", "test_metrics_mode"); + Assert.assertEquals(configManager.getMetricsMode(), "test_metrics_mode"); + // Restore original metrics mode configuration + configManager.setProperty("metrics_mode", existingMetricsModeConfiguration); + } +} diff --git a/frontend/server/src/test/resources/metrics/invalid_configuration_missing_dimension.yaml b/frontend/server/src/test/resources/metrics/invalid_configuration_missing_dimension.yaml new file mode 100644 index 0000000000..680e8cd037 --- /dev/null +++ b/frontend/server/src/test/resources/metrics/invalid_configuration_missing_dimension.yaml @@ -0,0 +1,9 @@ +dimensions: + - &model_name "ModelName" + - &model_version "ModelVersion" + +ts_metrics: + counter: + - name: InferenceRequestsTotal + unit: Count + dimensions: [*model_name, *model_version, *hostname] diff --git a/frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_name.yaml b/frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_name.yaml new file mode 100644 index 0000000000..8c064e6140 --- /dev/null +++ b/frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_name.yaml @@ -0,0 +1,9 @@ +dimensions: + - &model_name "ModelName" + - &model_version "ModelVersion" + - &hostname "Hostname" + +ts_metrics: + counter: + - unit: Count + dimensions: [*model_name, *model_version, *hostname] diff --git a/frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_unit.yaml b/frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_unit.yaml new file mode 100644 index 0000000000..9b76ed2363 --- /dev/null +++ b/frontend/server/src/test/resources/metrics/invalid_configuration_missing_metric_unit.yaml @@ -0,0 +1,9 @@ +dimensions: + - &model_name "ModelName" + - &model_version "ModelVersion" + - &hostname "Hostname" + +ts_metrics: + counter: + - name: InferenceRequestsTotal + dimensions: [*model_name, *model_version, *hostname] diff --git a/frontend/server/src/test/resources/metrics/valid_configuration.yaml b/frontend/server/src/test/resources/metrics/valid_configuration.yaml new file mode 100644 index 0000000000..f225a04102 --- /dev/null +++ b/frontend/server/src/test/resources/metrics/valid_configuration.yaml @@ -0,0 +1,30 @@ +dimensions: + - &model_name "ModelName" + - &model_version "ModelVersion" + - &level "Level" + - &hostname "Hostname" + +ts_metrics: + counter: + - name: Requests2XX + unit: Count + dimensions: [*level, *hostname] + - name: InferenceRequestsTotal + unit: Count + dimensions: [*model_name, *model_version, *hostname] + gauge: + - name: QueueTime + unit: Milliseconds + dimensions: [*level, *hostname] + - name: WorkerThreadTime + unit: Milliseconds + dimensions: [*level, *hostname] + +model_metrics: + gauge: + - name: HandlerTime + unit: ms + dimensions: [*model_name, *level] + - name: PredictionTime + unit: ms + dimensions: [*model_name, *level] diff --git a/frontend/server/src/test/resources/metrics/valid_configuration_empty_metric_dimensions.yaml b/frontend/server/src/test/resources/metrics/valid_configuration_empty_metric_dimensions.yaml new file mode 100644 index 0000000000..f338c5f48a --- /dev/null +++ b/frontend/server/src/test/resources/metrics/valid_configuration_empty_metric_dimensions.yaml @@ -0,0 +1,4 @@ +ts_metrics: + counter: + - name: InferenceRequestsTotal + unit: Count diff --git a/frontend/server/testng.xml b/frontend/server/testng.xml index 27007db48f..0bd9b5d9c6 100644 --- a/frontend/server/testng.xml +++ b/frontend/server/testng.xml @@ -3,6 +3,7 @@ + diff --git a/ts/configs/metrics.yaml b/ts/configs/metrics.yaml index dadadc6c2f..a9e7e2ff1f 100644 --- a/ts/configs/metrics.yaml +++ b/ts/configs/metrics.yaml @@ -1,5 +1,3 @@ -mode: log - dimensions: - &model_name "ModelName" - &model_version "ModelVersion" From 5974c7162d7df601848294b877b543af882a75da Mon Sep 17 00:00:00 2001 From: Samil Yalciner Date: Thu, 20 Apr 2023 21:46:06 +0300 Subject: [PATCH 049/172] move config-file arg from torchserve to torch-model-archiver (#2244) explained right above but it is just misplaced Co-authored-by: Mark Saroufim --- examples/pt2/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/pt2/README.md b/examples/pt2/README.md index 348dca4819..661a8362ed 100644 --- a/examples/pt2/README.md +++ b/examples/pt2/README.md @@ -23,8 +23,8 @@ As an example let's expand our getting started guide with the only difference be ``` mkdir model_store -torch-model-archiver --model-name densenet161 --version 1.0 --model-file ./serve/examples/image_classifier/densenet_161/model.py --export-path model_store --extra-files ./serve/examples/image_classifier/index_to_name.json --handler image_classifier -torchserve --start --ncs --model-store model_store --models densenet161.mar --config-file model_config.yaml +torch-model-archiver --model-name densenet161 --version 1.0 --model-file ./serve/examples/image_classifier/densenet_161/model.py --export-path model_store --extra-files ./serve/examples/image_classifier/index_to_name.json --handler image_classifier --config-file model_config.yaml +torchserve --start --ncs --model-store model_store --models densenet161.mar ``` The exact same approach works with any other model, what's going on is the below From 9fa08a3dfb0113ed8fc5ab92e5fa29cccdd010ec Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 20 Apr 2023 12:20:13 -0700 Subject: [PATCH 050/172] Revert "[easy] lint fix broken windows conda link (#2240)" (#2245) This reverts commit 2fa042b2e6cff642f3a91e027c4773a85ca6f73c. Co-authored-by: Mark Saroufim --- docs/torchserve_on_win_native.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/torchserve_on_win_native.md b/docs/torchserve_on_win_native.md index 0e629bac12..89b84ba242 100644 --- a/docs/torchserve_on_win_native.md +++ b/docs/torchserve_on_win_native.md @@ -11,7 +11,7 @@ - At present, it has only been certified on windows server 2019 however should work fine on Windows 10. - Make sure you are an admin user or have admin rights - The instruction given here will use anaconda Powershell terminal to install torchserve - - Install Anaconda as given [here](https://docs.anaconda.com/free/anaconda/getting-started/install/windows/) + - Install Anaconda as given [here](https://docs.anaconda.com/anaconda/install/windows/) - Install Git as given [here](https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe) - Install openjdk17 - Download [openjdk17](https://download.oracle.com/java/17/archive/jdk-17.0.3_windows-x64_bin.zip) From e4dc84a6e5cb3151b57ff46722666b8c44e89f11 Mon Sep 17 00:00:00 2001 From: Jagadeesh J Date: Fri, 21 Apr 2023 01:37:49 +0530 Subject: [PATCH 051/172] fixes error thrown while loading multiple models (#2235) Signed-off-by: jagadeesh Co-authored-by: Ankith Gunapal --- kubernetes/kserve/kserve_wrapper/TorchserveModel.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/kubernetes/kserve/kserve_wrapper/TorchserveModel.py b/kubernetes/kserve/kserve_wrapper/TorchserveModel.py index cf0aec512d..abf47959ed 100644 --- a/kubernetes/kserve/kserve_wrapper/TorchserveModel.py +++ b/kubernetes/kserve/kserve_wrapper/TorchserveModel.py @@ -129,10 +129,5 @@ def load(self) -> bool: existing_paths = [path for path in paths if path.exists()] if len(existing_paths) == 0: raise ModelMissingError(model_path) - elif len(existing_paths) > 1: - raise RuntimeError( - "More than one model file is detected, " - f"Only one is allowed within model_dir: {existing_paths}" - ) self.ready = True return self.ready From 067fd913b544e6e1ed7e6c76fec5560c6e728202 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 20 Apr 2023 14:16:35 -0700 Subject: [PATCH 052/172] Automate benchmark validation (#2144) * Added skip_upload flag * Benchmark Threshold configurable through cli arg --- .github/workflows/benchmark_nightly.yml | 2 + benchmarks/auto_benchmark.py | 22 ++++-- benchmarks/utils/report.py | 75 +++++++++++++++++++ benchmarks/validate_report.py | 98 +++++++++++++++++++++++++ 4 files changed, 191 insertions(+), 6 deletions(-) create mode 100644 benchmarks/utils/report.py create mode 100644 benchmarks/validate_report.py diff --git a/.github/workflows/benchmark_nightly.yml b/.github/workflows/benchmark_nightly.yml index 0d41defb41..4348435ad6 100644 --- a/.github/workflows/benchmark_nightly.yml +++ b/.github/workflows/benchmark_nightly.yml @@ -65,6 +65,8 @@ jobs: if_no_artifact_found: ignore path: /tmp/ts_artifacts name: ${{ matrix.hardware }}_benchmark_validation + - name: Validate Benchmark result + run: python benchmarks/validate_report.py --input-artifacts-dir /tmp/ts_artifacts/${{ matrix.hardware }}_benchmark_validation - name: Update benchmark artifacts for auto validation run: python benchmarks/utils/update_artifacts.py --output /tmp/ts_artifacts/${{ matrix.hardware }}_benchmark_validation - name: Upload the updated benchmark artifacts for auto validation diff --git a/benchmarks/auto_benchmark.py b/benchmarks/auto_benchmark.py index 08d96bf200..e642d126e3 100644 --- a/benchmarks/auto_benchmark.py +++ b/benchmarks/auto_benchmark.py @@ -17,9 +17,10 @@ class BenchmarkConfig: - def __init__(self, yaml_dict, skip_ts_install): + def __init__(self, yaml_dict, skip_ts_install, skip_upload): self.yaml_dict = yaml_dict self.skip_ts_install = skip_ts_install + self.skip_upload = skip_upload self.bm_config = {} yesterday = datetime.date.today() - datetime.timedelta(days=1) self.bm_config["version"] = "torchserve-nightly=={}.{}.{}".format( @@ -89,9 +90,9 @@ def load_config(self): self.models(v) elif k == "hardware": self.hardware(v) - elif k == "metrics_cmd": + elif k == "metrics_cmd" and not self.skip_upload: self.metrics_cmd(v) - elif k == "report_cmd": + elif k == "report_cmd" and not self.skip_upload: report_cmd = v self.bm_config["model_config_path"] = ( @@ -110,12 +111,12 @@ def load_config(self): print("{}={}".format(k, v)) -def load_benchmark_config(bm_config_path, skip_ts_install): +def load_benchmark_config(bm_config_path, skip_ts_install, skip_upload): yaml = ruamel.yaml.YAML() with open(bm_config_path, "r") as f: yaml_dict = yaml.load(f) - benchmark_config = BenchmarkConfig(yaml_dict, skip_ts_install) + benchmark_config = BenchmarkConfig(yaml_dict, skip_ts_install, skip_upload) benchmark_config.load_config() return benchmark_config.bm_config @@ -285,6 +286,10 @@ def main(): action="store", help="true: skip torchserve installation. default: true", ) + parser.add_argument( + "--skip_upload", + help="true: skip uploading commands . default: false", + ) arguments = parser.parse_args() skip_ts_config = ( @@ -292,7 +297,12 @@ def main(): if arguments.skip is not None and arguments.skip.lower() == "false" else True ) - bm_config = load_benchmark_config(arguments.input, skip_ts_config) + skip_upload = ( + True + if arguments.skip_upload is not None and arguments.skip_upload.lower() == "true" + else False + ) + bm_config = load_benchmark_config(arguments.input, skip_ts_config, skip_upload) benchmark_env_setup(bm_config, skip_ts_config) run_benchmark(bm_config) clean_up_benchmark_env(bm_config) diff --git a/benchmarks/utils/report.py b/benchmarks/utils/report.py new file mode 100644 index 0000000000..7e442d9b4e --- /dev/null +++ b/benchmarks/utils/report.py @@ -0,0 +1,75 @@ +import csv + +METRICS_VALIDATED = [ + "TS throughput", + "TS latency P50", + "TS latency P90", + "TS latency P99", + "Model_p50", + "Model_p90", + "Model_p99", + "memory_percentage_mean", + "gpu_memory_used_mean", + "cpu_percentage_mean", + "gpu_percentage_mean", +] + + +# Acceptable metric deviation needs a more complicated logic. +# Example: For latencies in 2 digits, 50% might be acceptable +# For 3 digit latencies, 20-30% might be the right value +# For cpu_memory < 15%, 50% deviation works but for CPU > 40%, 10-15% +# might be the right value +ACCEPTABLE_METRIC_DEVIATION = 0.3 + + +class Report: + def __init__(self, deviation=0, num_reports=0): + self.properties = {} + self.mode = None + self.throughput = 0 + self.batch_size = 0 + self.workers = 0 + self.deviation = deviation + self.num_reports = num_reports + + def _get_mode(self, csv_file): + cfg = csv_file.split("/")[-2] + cfg = cfg.split("_") + mode = cfg[0] + "_" + cfg[1] + self.mode = mode + + def read_csv(self, csv_file): + with open(csv_file, newline="") as f: + reader = csv.DictReader(f) + for k, v in next(reader).items(): + if k in METRICS_VALIDATED: + self.properties[k] = float(v) + self._get_mode(csv_file) + + def update(self, report): + for property in self.properties: + # sum the properties to find the mean later + self.properties[property] += report.properties[property] + + def mean(self): + for k, v in self.properties.items(): + self.properties[k] = v / self.num_reports + + +def metric_valid(key, obs_val, exp_val, threshold): + # In case of throughput, higher is better + # In case of memory, lower is better. + # We ignore lower values for memory related metrices + lower = False + if "throughput" not in key: + lower = True + return check_if_within_threshold(exp_val, obs_val, threshold) or ( + (obs_val < exp_val and lower) + ) + + +def check_if_within_threshold(value1, value2, threshold): + if float(value1) == 0.0: + return True + return abs((value1 - value2) / float(value1)) <= threshold diff --git a/benchmarks/validate_report.py b/benchmarks/validate_report.py new file mode 100644 index 0000000000..cc91f81c5b --- /dev/null +++ b/benchmarks/validate_report.py @@ -0,0 +1,98 @@ +import argparse +import os + +from utils.report import ( + ACCEPTABLE_METRIC_DEVIATION, + METRICS_VALIDATED, + Report, + metric_valid, +) +from utils.update_artifacts import ( + BENCHMARK_ARTIFACTS_PATH, + BENCHMARK_REPORT_FILE, + BENCHMARK_REPORT_PATH, +) + + +def validate_reports(artifacts_dir, report_dir, deviation): + # Read baseline reports + baseline_reports = {} + num_reports = len(os.listdir(artifacts_dir)) + for _d in sorted(os.listdir(artifacts_dir)): + dir = os.path.join(artifacts_dir, _d) + for subdir in sorted(os.listdir(dir)): + csv_file = os.path.join(dir, subdir, BENCHMARK_REPORT_FILE) + + report = Report(deviation, num_reports) + report.read_csv(csv_file) + if subdir not in baseline_reports: + baseline_reports[subdir] = report + else: + baseline_reports[subdir].update(report) + + # Get the mean value each of the properties for every report + for model, report in baseline_reports.items(): + report.mean() + baseline_reports[model] = report + + # Read generated reports + generated_reports = {} + for subdir in sorted(os.listdir(report_dir)): + if os.path.isdir(os.path.join(report_dir, subdir)): + csv_file = os.path.join(report_dir, subdir, BENCHMARK_REPORT_FILE) + report = Report() + report.read_csv(csv_file) + generated_reports[subdir] = report + + # Compare generated reports with baseline reports + error = False + for model, report in generated_reports.items(): + for key in METRICS_VALIDATED: + if not metric_valid( + key, + report.properties[key], + baseline_reports[model].properties[key], + baseline_reports[model].deviation, + ): + print( + f"Error while validating {key} for model: {model}, " + f"Expected value: {baseline_reports[model].properties[key]:.2f}, " + f"Observed value: {report.properties[key]:.2f}" + ) + error = True + if not error: + print(f"Model {model} successfully validated") + + if error: + raise Exception("Failures in benchmark validation") + + +def main(): + parser = argparse.ArgumentParser() + + parser.add_argument( + "--input-artifacts-dir", + help="directory where benchmark artifacts have been saved", + type=str, + default=BENCHMARK_ARTIFACTS_PATH, + ) + + parser.add_argument( + "--input-report-dir", + help="directory where current benchmark report is saved", + type=str, + default=BENCHMARK_REPORT_PATH, + ) + + parser.add_argument( + "--deviation", + help="acceptable variation in metrics values ", + type=float, + default=ACCEPTABLE_METRIC_DEVIATION, + ) + args = parser.parse_args() + validate_reports(args.input_artifacts_dir, args.input_report_dir, args.deviation) + + +if __name__ == "__main__": + main() From fa95a66a396cf0aa8ed77a373d3ee443924e22a4 Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Thu, 20 Apr 2023 14:59:46 -0700 Subject: [PATCH 053/172] Make pre-commit usage clearer in error message (#2241) * Make lint error clearer * Update lint.yml * Update lint.yml --------- Co-authored-by: Ankith Gunapal --- .github/workflows/lint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 6d9b336d6b..a13152b59a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -77,6 +77,7 @@ jobs: echo "cd serve/" echo "pre-commit install" echo "pre-commit will lint your code for you, so git add and commit those new changes and this check should become green" + echo "If you've already pushed some files remotely then run git diff --name-only main | xargs pre-commit run --files" spellcheck: runs-on: ubuntu-20.04 From 044bbc14f73d6e1ebddfd3b9759a1808fb301ed9 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 20 Apr 2023 15:55:58 -0700 Subject: [PATCH 054/172] Updates to TorchServe page on pytorch.org (#2243) * Updates to TorchServe page on pytorch.org --------- Co-authored-by: Mark Saroufim --- README.md | 1 + docs/index.md | 65 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 57 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c659e5166b..529c61383a 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,7 @@ To learn more about how to contribute, see the contributor guide [here](https:// * [🎥 Scaling inference on CPU with TorchServe](https://www.youtube.com/watch?v=066_Jd6cwZg) * [🎥 TorchServe C++ backend](https://www.youtube.com/watch?v=OSmGGDpaesc) * [Grokking Intel CPU PyTorch performance from first principles: a TorchServe case study](https://pytorch.org/tutorials/intermediate/torchserve_with_ipex.html) +* [Grokking Intel CPU PyTorch performance from first principles( Part 2): a TorchServe case study](https://pytorch.org/tutorials/intermediate/torchserve_with_ipex_2.html) * [Case Study: Amazon Ads Uses PyTorch and AWS Inferentia to Scale Models for Ads Processing](https://pytorch.org/blog/amazon-ads-case-study/) * [Optimize your inference jobs using dynamic batch inference with TorchServe on Amazon SageMaker](https://aws.amazon.com/blogs/machine-learning/optimize-your-inference-jobs-using-dynamic-batch-inference-with-torchserve-on-amazon-sagemaker/) * [Using AI to bring children's drawings to life](https://ai.facebook.com/blog/using-ai-to-bring-childrens-drawings-to-life/) diff --git a/docs/index.md b/docs/index.md index 523e672b38..57b890b1b1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,8 +1,24 @@ # TorchServe -TorchServe is a performant, flexible and easy to use tool for serving PyTorch eager mode and torschripted models. +TorchServe is a performant, flexible and easy to use tool for serving PyTorch models in production. -## Basic Features + +## ⚡ Why TorchServe +* [Model Management API](https://github.com/pytorch/serve/blob/master/docs/management_api.md): multi model management with optimized worker to model allocation +* [Inference API](https://github.com/pytorch/serve/blob/master/docs/inference_api.md): REST and gRPC support for batched inference +* [TorchServe Workflows](https://github.com/pytorch/serve/blob/master/examples/Workflows/README.md): deploy complex DAGs with multiple interdependent models +* Default way to serve PyTorch models in + * [Kubeflow](https://v0-5.kubeflow.org/docs/components/pytorchserving/) + * [MLflow](https://github.com/mlflow/mlflow-torchserve) + * [Sagemaker](https://aws.amazon.com/blogs/machine-learning/serving-pytorch-models-in-production-with-the-amazon-sagemaker-native-torchserve-integration/) + * [Kserve](https://kserve.github.io/website/0.8/modelserving/v1beta1/torchserve/): Supports both v1 and v2 API + * [Vertex AI](https://cloud.google.com/blog/topics/developers-practitioners/pytorch-google-cloud-how-deploy-pytorch-models-vertex-ai) +* Export your model for optimized inference. Torchscript out of the box, [ORT and ONNX](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md), [IPEX](https://github.com/pytorch/serve/tree/master/examples/intel_extension_for_pytorch), [TensorRT](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md), [FasterTransformer](https://github.com/pytorch/serve/tree/master/examples/FasterTransformer_HuggingFace_Bert) +* [Performance Guide](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md): builtin support to optimize, benchmark and profile PyTorch and TorchServe performance +* [Expressive handlers](https://github.com/pytorch/serve/blob/master/CONTRIBUTING.md): An expressive handler architecture that makes it trivial to support inferencing for your usecase with [many supported out of the box](https://github.com/pytorch/serve/tree/master/ts/torch_handler) +* [Metrics API](https://github.com/pytorch/serve/blob/master/docs/metrics.md): out of box support for system level metrics with [Prometheus exports](https://github.com/pytorch/serve/tree/master/examples/custom_metrics), custom metrics and PyTorch profiler support + +## 🤔 How does TorchServe work * [Serving Quick Start](https://github.com/pytorch/serve/blob/master/README.md#serve-a-model) - Basic server usage tutorial * [Model Archive Quick Start](https://github.com/pytorch/serve/tree/master/model-archiver#creating-a-model-archive) - Tutorial that shows you how to package a model archive file. @@ -29,14 +45,19 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch ea * [Object Detector](https://github.com/pytorch/serve/blob/master/ts/torch_handler/object_detector.py) - This handler takes an image and returns list of detected classes and bounding boxes respectively * [Image Segmenter](https://github.com/pytorch/serve/blob/master/ts/torch_handler/image_segmenter.py)- This handler takes an image and returns output shape as [CL H W], CL - number of classes, H - height and W - width -## Examples +## 🏆 Highlighted Examples + +* [🤗 HuggingFace Transformers](https://github.com/pytorch/serve/blob/master/examples/Huggingface_Transformers) with a [Better Transformer Integration](https://github.com/pytorch/serve/blob/master/examples/Huggingface_Transformers#Speed-up-inference-with-Better-Transformer) +* [Model parallel inference](https://github.com/pytorch/serve/blob/master/examples/Huggingface_Transformers#model-parallelism) +* [MultiModal models with MMF](https://github.com/pytorch/serve/tree/master/examples/MMF-activity-recognition) combining text, audio and video +* [Dual Neural Machine Translation](https://github.com/pytorch/serve/blob/master/examples/Workflows/nmt_transformers_pipeline) for a complex workflow DAG +* [TorchServe Integrations](https://github.com/pytorch/serve/blob/master/examples/README.md#torchserve-integrations) +* [TorchServe Internals](https://github.com/pytorch/serve/blob/master/examples/README.md#torchserve-internals) +* [TorchServe UseCases](https://github.com/pytorch/serve/blob/master/examples/README.md#usecases) +* [Model Zoo](https://github.com/pytorch/serve/blob/master/docs/model_zoo.md) - List of pre-trained model archives ready to be served for inference with TorchServe. + +For [more examples](https://github.com/pytorch/serve/blob/master/examples/README.md) -* [HuggingFace Language Model](https://github.com/pytorch/serve/blob/master/examples/Huggingface_Transformers/Transformer_handler_generalized.py) - This handler takes an input sentence and can return sequence classifications, token classifications or Q&A answers -* [Multi Modal Framework](https://github.com/pytorch/serve/blob/master/examples/MMF-activity-recognition/handler.py) - Build and deploy a classifier that combines text, audio and video input data -* [Dual Translation Workflow](https://github.com/pytorch/serve/tree/master/examples/Workflows/nmt_transformers_pipeline) - -* [Model Zoo](model_zoo.md) - List of pre-trained model archives ready to be served for inference with TorchServe. -* [Examples](https://github.com/pytorch/serve/tree/master/examples) - Many examples of how to package and deploy models with TorchServe -* [Workflow Examples](https://github.com/pytorch/serve/tree/master/examples/Workflows) - Examples of how to compose models in a workflow with TorchServe ## Advanced Features @@ -50,3 +71,29 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch ea * [mlflow-torchserve](https://github.com/mlflow/mlflow-torchserve) - Deploy mlflow pipeline models into TorchServe * [Kubeflow pipelines](https://github.com/kubeflow/pipelines/tree/master/samples/contrib/pytorch-samples) - Kubeflow pipelines and Google Vertex AI Managed pipelines * [NVIDIA MPS](mps.md) - Use NVIDIA MPS to optimize multi-worker deployment on a single GPU + +## 📰 News +* [Torchserve Performance Tuning, Animated Drawings Case-Study](https://pytorch.org/blog/torchserve-performance-tuning/) +* [Walmart Search: Serving Models at a Scale on TorchServe](https://medium.com/walmartglobaltech/search-model-serving-using-pytorch-and-torchserve-6caf9d1c5f4d) +* [🎥 Scaling inference on CPU with TorchServe](https://www.youtube.com/watch?v=066_Jd6cwZg) +* [🎥 TorchServe C++ backend](https://www.youtube.com/watch?v=OSmGGDpaesc) +* [Grokking Intel CPU PyTorch performance from first principles: a TorchServe case study](https://pytorch.org/tutorials/intermediate/torchserve_with_ipex.html) +* [Grokking Intel CPU PyTorch performance from first principles( Part 2): a TorchServe case study](https://pytorch.org/tutorials/intermediate/torchserve_with_ipex_2.html) +* [Case Study: Amazon Ads Uses PyTorch and AWS Inferentia to Scale Models for Ads Processing](https://pytorch.org/blog/amazon-ads-case-study/) +* [Optimize your inference jobs using dynamic batch inference with TorchServe on Amazon SageMaker](https://aws.amazon.com/blogs/machine-learning/optimize-your-inference-jobs-using-dynamic-batch-inference-with-torchserve-on-amazon-sagemaker/) +* [Using AI to bring children's drawings to life](https://ai.facebook.com/blog/using-ai-to-bring-childrens-drawings-to-life/) +* [🎥 Model Serving in PyTorch](https://www.youtube.com/watch?v=2A17ZtycsPw) +* [Evolution of Cresta's machine learning architecture: Migration to AWS and PyTorch](https://aws.amazon.com/blogs/machine-learning/evolution-of-crestas-machine-learning-architecture-migration-to-aws-and-pytorch/) +* [🎥 Explain Like I’m 5: TorchServe](https://www.youtube.com/watch?v=NEdZbkfHQCk) +* [🎥 How to Serve PyTorch Models with TorchServe](https://www.youtube.com/watch?v=XlO7iQMV3Ik) +* [How to deploy PyTorch models on Vertex AI](https://cloud.google.com/blog/topics/developers-practitioners/pytorch-google-cloud-how-deploy-pytorch-models-vertex-ai) +* [Quantitative Comparison of Serving Platforms](https://biano-ai.github.io/research/2021/08/16/quantitative-comparison-of-serving-platforms-for-neural-networks.html) +* [Efficient Serverless deployment of PyTorch models on Azure](https://medium.com/pytorch/efficient-serverless-deployment-of-pytorch-models-on-azure-dc9c2b6bfee7) +* [Deploy PyTorch models with TorchServe in Azure Machine Learning online endpoints](https://techcommunity.microsoft.com/t5/ai-machine-learning-blog/deploy-pytorch-models-with-torchserve-in-azure-machine-learning/ba-p/2466459) +* [Dynaboard moving beyond accuracy to holistic model evaluation in NLP](https://ai.facebook.com/blog/dynaboard-moving-beyond-accuracy-to-holistic-model-evaluation-in-nlp/) +* [A MLOps Tale about operationalising MLFlow and PyTorch](https://medium.com/mlops-community/engineering-lab-1-team-1-a-mlops-tale-about-operationalising-mlflow-and-pytorch-62193b55dc19) +* [Operationalize, Scale and Infuse Trust in AI Models using KFServing](https://blog.kubeflow.org/release/official/2021/03/08/kfserving-0.5.html) +* [How Wadhwani AI Uses PyTorch To Empower Cotton Farmers](https://medium.com/pytorch/how-wadhwani-ai-uses-pytorch-to-empower-cotton-farmers-14397f4c9f2b) +* [TorchServe Streamlit Integration](https://cceyda.github.io/blog/huggingface/torchserve/streamlit/ner/2020/10/09/huggingface_streamlit_serve.html) +* [Dynabench aims to make AI models more robust through distributed human workers](https://venturebeat.com/2020/09/24/facebooks-dynabench-aims-to-make-ai-models-more-robust-through-distributed-human-workers/) +* [Announcing TorchServe](https://aws.amazon.com/blogs/aws/announcing-torchserve-an-open-source-model-server-for-pytorch/) From d23d2ab7797410bd1d35343491c73845d8e63be7 Mon Sep 17 00:00:00 2001 From: Hamid Shojanazeri Date: Thu, 20 Apr 2023 16:42:09 -0700 Subject: [PATCH 055/172] Large model inference (#2215) * mv HF large model to new dir * adding HF models to the new dir * adding HF pippy * adding large model doc * adding large model utils * adding base handler for pippy * clean up * clean up * clean up * clean up * formatting * clean up * clean ups * adding max lenght * clean up * clean up * adding logger * update to latests * update to latests * update model-config * clean up * adding recent settings * update steps * update to use ctx * update to use ctx * update to use ctx * adding logger * remove setu_up config * clean up * changing max length * adding generate to the inference * adding better prompt * typos * clean up * adding test for pippy inference * uncommenting the padding * update steps * update instructions * update instructions * update instructions * addressing comments * adding rpc threads and manual seed * addressing comments * clean up * clean up * adding LMI doc * clean up * remove dist handler test * add utils here due to circular dependency * add check for pippy install * add large model post man json * addiing dist inference test * clean up * adding large model inference json * using ts start func with mar gen false * clean up * remove uneccesary move logs func * remove uneccesary move logs func * removing install from src * fix the model name * removing expected json type * adding assertion for exitcode * moving torchrun to frontend spec * moving torchrun to frontend spec * clean up * make sure for HF it returns the patched model that supports generate for others pipe_driver * adding torchpippy * fix typos * fix typos * extending the vocab * extending the vocab * fix typos * fix typos * update examples readme and fix deadinks * fixing typos --------- Co-authored-by: lxning <23464292+lxning@users.noreply.github.com> --- docs/contents.rst | 9 +- docs/large_model_inference.md | 80 +++++ examples/README.md | 8 +- .../Huggingface_accelerate}/Download_model.py | 0 .../Huggingface_accelerate}/Readme.md | 0 .../Huggingface_accelerate}/config.properties | 0 .../Huggingface_accelerate}/custom_handler.py | 0 .../Huggingface_accelerate}/requirements.txt | 0 .../Huggingface_accelerate}/sample_text.txt | 0 .../Huggingface_accelerate}/setup_config.json | 0 .../Huggingface_pippy/Download_model.py} | 0 .../large_models/Huggingface_pippy/Readme.md | 82 ++++++ .../Huggingface_pippy/model-config.yaml | 21 ++ .../Huggingface_pippy/pippy_handler.py | 131 +++++++++ .../Huggingface_pippy/requirements.txt | 2 + .../Huggingface_pippy/sample_text.txt | 1 + .../deepspeed_mii/DeepSpeed_mii_handler.py | 0 .../Download_deepseed_mii_models.py | 51 ++++ .../deepspeed_mii/Readme.md | 0 .../deepspeed_mii/config.properties | 0 .../deepspeed_mii_stable_diffusion.py | 0 .../{ => large_models}/deepspeed_mii/query.py | 0 .../deepspeed_mii/requirements.txt | 0 .../deepspeed_mii/setup_config.json | 0 requirements/developer.txt | 1 + test/postman/large_model_inference_data.json | 10 + .../test_distributed_inference_handler.py | 46 +++ test/pytest/test_handler.py | 278 ++++++++++++------ test/pytest/test_utils.py | 6 + ts/handler_utils/__init__.py | 0 ts/handler_utils/distributed/__init__.py | 0 ts/handler_utils/distributed/pt_pippy.py | 93 ++++++ ts/torch_handler/distributed/__init__.py | 0 .../distributed/base_pippy_handler.py | 23 ++ ts_scripts/api_utils.py | 248 ++++++++++------ ts_scripts/spellcheck_conf/wordlist.txt | 5 + 36 files changed, 893 insertions(+), 202 deletions(-) create mode 100644 docs/large_model_inference.md rename examples/{Huggingface_Largemodels => large_models/Huggingface_accelerate}/Download_model.py (100%) rename examples/{Huggingface_Largemodels => large_models/Huggingface_accelerate}/Readme.md (100%) rename examples/{Huggingface_Largemodels => large_models/Huggingface_accelerate}/config.properties (100%) rename examples/{Huggingface_Largemodels => large_models/Huggingface_accelerate}/custom_handler.py (100%) rename examples/{Huggingface_Largemodels => large_models/Huggingface_accelerate}/requirements.txt (100%) rename examples/{Huggingface_Largemodels => large_models/Huggingface_accelerate}/sample_text.txt (100%) rename examples/{Huggingface_Largemodels => large_models/Huggingface_accelerate}/setup_config.json (100%) rename examples/{deepspeed_mii/Download_deepseed_mii_models.py => large_models/Huggingface_pippy/Download_model.py} (100%) create mode 100644 examples/large_models/Huggingface_pippy/Readme.md create mode 100644 examples/large_models/Huggingface_pippy/model-config.yaml create mode 100644 examples/large_models/Huggingface_pippy/pippy_handler.py create mode 100644 examples/large_models/Huggingface_pippy/requirements.txt create mode 100644 examples/large_models/Huggingface_pippy/sample_text.txt rename examples/{ => large_models}/deepspeed_mii/DeepSpeed_mii_handler.py (100%) create mode 100644 examples/large_models/deepspeed_mii/Download_deepseed_mii_models.py rename examples/{ => large_models}/deepspeed_mii/Readme.md (100%) rename examples/{ => large_models}/deepspeed_mii/config.properties (100%) rename examples/{ => large_models}/deepspeed_mii/deepspeed_mii_stable_diffusion.py (100%) rename examples/{ => large_models}/deepspeed_mii/query.py (100%) rename examples/{ => large_models}/deepspeed_mii/requirements.txt (100%) rename examples/{ => large_models}/deepspeed_mii/setup_config.json (100%) create mode 100644 test/postman/large_model_inference_data.json create mode 100644 test/pytest/test_distributed_inference_handler.py create mode 100644 ts/handler_utils/__init__.py create mode 100644 ts/handler_utils/distributed/__init__.py create mode 100644 ts/handler_utils/distributed/pt_pippy.py create mode 100644 ts/torch_handler/distributed/__init__.py create mode 100644 ts/torch_handler/distributed/base_pippy_handler.py diff --git a/docs/contents.rst b/docs/contents.rst index 5d33041f2f..7d255be9f0 100644 --- a/docs/contents.rst +++ b/docs/contents.rst @@ -3,7 +3,7 @@ :numbered: :caption: Contents: :titlesonly: - + index Troubleshooting batch_inference_with_ts @@ -23,14 +23,15 @@ torchserve_on_wsl use_cases workflows + large_model_inference .. toctree:: :maxdepth: 0 :caption: Service APIs: - + apis .. toctree:: :caption: Developer APIs: - - api/dev_api \ No newline at end of file + + api/dev_api diff --git a/docs/large_model_inference.md b/docs/large_model_inference.md new file mode 100644 index 0000000000..b6ad5f81bb --- /dev/null +++ b/docs/large_model_inference.md @@ -0,0 +1,80 @@ +# Serving large models with Torchserve + +This document explain how Torchserve supports large model serving, here large model refers to the models that are not able to fit into one gpu so they need be split in multiple partitions over multiple gpus. + +## PiPPy (PyTorch Native solution for large model inference) + +PiPPy provides pipeline parallelism for serving large models that would not fit into one gpu. It takes your model and splits it into equal sizes (stages) partitioned over the number devices you specify. Then uses microbatching to run your batched input for inference ( its is more optimal for batch sizes >1). + + +## How to use PiPPy in Torchserve + +To use Pippy in Torchserve, we need to use a custom handler which inherits from base_pippy_handler and put our setting in model-config.yaml. + +Customer handler in Torchserve is simply a python script that defines model loading, preprocess, inference and postprocess logic specific to your workflow. + +It would look like below: + +Create `custom_handler.py` or any other descriptive name. + +```python +#DO import the necessary packages along with following +from ts.torch_handler.distributed.base_pippy_handler import BasePippyHandler +from ts.handler_utils.distributed.pt_pippy import initialize_rpc_workers, get_pipline_driver +class ModelHandler(BasePippyHandler, ABC): + def __init__(self): + super(ModelHandler, self).__init__() + self.initialized = False + + def initialize(self, ctx): + model = # load your model from model_dir + self.device = self.local_rank % torch.cuda.device_count()# being used to move model inputs to (self.device) + self.model = get_pipline_driver(model,self.world_size, ctx) + +``` + +Here is what your `model-config.yaml` needs, this config file is very flexible, you can add setting related to frontend, backend and handler. + +```bash +#frontend settings +minWorkers: 1 +maxWorkers: 1 +maxBatchDelay: 100 +responseTimeout: 120 +parallelLevel: 4 +deviceType: "gpu" +parallelType: "pp" #options depending on the solution, pp(pipeline parallelism), tp(tensor parallelism), pptp ( pipeline and tensor parallelism) + # This will be used to route input to either rank0 or all ranks from fontend based on the solution (e.g. DeepSpeed support tp, PiPPy support pp) +torchrun: + nproc-per-node: 4 # specifies the number of processes torchrun starts to serve your model, set to world_size or number of + # gpus you wish to split your model +#backend settings +pippy: + chunks: 1 # This sets the microbatch sizes, microbatch = batch size/ chunks + input_names: ['input_ids'] # input arg names to the model, this is required for FX tracing + model_type: "HF" # set the model type to HF if you are using Huggingface model other wise leave it blank or any other model you use. + rpc_timeout: 1800 + num_worker_threads: 512 #set number of threads for rpc worker init. + +handler: + max_length: 80 # max length of tokens for tokenizer in the handler +``` + +**How to access it in the handler?** here is an example: + +```python +def initialize(self, ctx): + model_type = ctx.model_yaml_config["pippy"]["model_type"] + +``` + +The rest is as usual in Torchserve, basically packaging your model and starting the server. + +Example of the command for packaging your model, make sure you pass model-config.yaml + +```bash +torch-model-archiver --model-name bloom --version 1.0 --handler pippy_handler.py --extra-files --extra-files $MODEL_CHECKPOINTS_PATH -r requirements.txt --config-file model-config.yaml --archive-format tgz + +``` + +Tensor Parallel support in progress and will be added as soon as ready. diff --git a/examples/README.md b/examples/README.md index f0f5987c92..6117d25c45 100644 --- a/examples/README.md +++ b/examples/README.md @@ -25,6 +25,8 @@ * [Serving HuggingFace transformers model](Huggingface_Transformers) +### PiPPy [Serving Large Models with PyTorch Native Solution PiPPy](large_models/Huggingface_pippy/Readme.md) + ### MLFlow * [Deploy models using `mlflow-torchserve` plugin](https://github.com/mlflow/mlflow-torchserve/tree/master/examples) @@ -43,7 +45,7 @@ ### Microsoft DeepSpeed-MII -* [HuggingFace Stable Diffusion Model with Microsoft DeepSpeed-MII](deepspeed_mii) +* [HuggingFace Stable Diffusion Model with Microsoft DeepSpeed-MII](large_models/deepspeed_mii/Readme.md) ### Prometheus and mtail @@ -66,8 +68,8 @@ ### Stable Diffusion * [Stable Diffusion using HuggingFace Diffusers](diffusers) -### HuggingFace Large Models -* [HuggingFace Large Models with constrained resources](Huggingface_Largemodels) +### HuggingFace Large Models with Accelerate +* [HuggingFace Large Models with constrained resources](large_models/Huggingface_accelerate/Readme.md) ## UseCases diff --git a/examples/Huggingface_Largemodels/Download_model.py b/examples/large_models/Huggingface_accelerate/Download_model.py similarity index 100% rename from examples/Huggingface_Largemodels/Download_model.py rename to examples/large_models/Huggingface_accelerate/Download_model.py diff --git a/examples/Huggingface_Largemodels/Readme.md b/examples/large_models/Huggingface_accelerate/Readme.md similarity index 100% rename from examples/Huggingface_Largemodels/Readme.md rename to examples/large_models/Huggingface_accelerate/Readme.md diff --git a/examples/Huggingface_Largemodels/config.properties b/examples/large_models/Huggingface_accelerate/config.properties similarity index 100% rename from examples/Huggingface_Largemodels/config.properties rename to examples/large_models/Huggingface_accelerate/config.properties diff --git a/examples/Huggingface_Largemodels/custom_handler.py b/examples/large_models/Huggingface_accelerate/custom_handler.py similarity index 100% rename from examples/Huggingface_Largemodels/custom_handler.py rename to examples/large_models/Huggingface_accelerate/custom_handler.py diff --git a/examples/Huggingface_Largemodels/requirements.txt b/examples/large_models/Huggingface_accelerate/requirements.txt similarity index 100% rename from examples/Huggingface_Largemodels/requirements.txt rename to examples/large_models/Huggingface_accelerate/requirements.txt diff --git a/examples/Huggingface_Largemodels/sample_text.txt b/examples/large_models/Huggingface_accelerate/sample_text.txt similarity index 100% rename from examples/Huggingface_Largemodels/sample_text.txt rename to examples/large_models/Huggingface_accelerate/sample_text.txt diff --git a/examples/Huggingface_Largemodels/setup_config.json b/examples/large_models/Huggingface_accelerate/setup_config.json similarity index 100% rename from examples/Huggingface_Largemodels/setup_config.json rename to examples/large_models/Huggingface_accelerate/setup_config.json diff --git a/examples/deepspeed_mii/Download_deepseed_mii_models.py b/examples/large_models/Huggingface_pippy/Download_model.py similarity index 100% rename from examples/deepspeed_mii/Download_deepseed_mii_models.py rename to examples/large_models/Huggingface_pippy/Download_model.py diff --git a/examples/large_models/Huggingface_pippy/Readme.md b/examples/large_models/Huggingface_pippy/Readme.md new file mode 100644 index 0000000000..f02321bfc9 --- /dev/null +++ b/examples/large_models/Huggingface_pippy/Readme.md @@ -0,0 +1,82 @@ +# Loading large Huggingface models with PiPPy (PyTorch Native Large inference solution) + +This document briefs on serving large HF model with PiPPy. + +PiPPy provides pipeline parallelism for serving large models that would not fit into one gpu. It takes your model and splits it into equal sizes (stages) partitioned over the number devices you specify. Then uses micro batching to run your batched input for inference ( its is more optimal for batch sizes >1). Micro-batching is the techniques in pipeline parallelism to maximize gpu utilization. + +## How to serve your large HuggingFace models with PiPPy in Torchserve? + +We use a Torchserve custom handler that inherits from base_pippy_handler to load the model and define our logic for preprocess, inference and post processing. This is basically very similar to your evaluation process. + +### Step 1: Download model + +Login into huggingface hub with token by running the below command + +```bash +huggingface-cli login +``` +paste the token generated from huggingface hub. + +```bash +python Download_model.py --model_name facebook/opt-6.7b +``` +The script prints the path where the model is downloaded as below. This is an example and in your workload you want to use your actual trained model checkpoints. + +`model/models--bigscience-bloom-7b1/snapshots/5546055f03398095e385d7dc625e636cc8910bf2/` + +The downloaded model is around 14GB. + + +### Step 2: Create a model-config.yaml with that include following + +```bash + +minWorkers: 1 +maxWorkers: 1 +maxBatchDelay: 100 +responseTimeout: 120 +parallelLevel: 4 +deviceType: "gpu" +parallelType: "pp" #PiPPy as the solution for distributed inference +torchrun: + nproc-per-node: 4 # specifies the number of processes torchrun starts to serve your model, set to world_size or number of + # gpus you wish to split your model +pippy: + chunks: 1 # This sets the microbatch sizes, microbatch = batch size/ chunks + input_names: ['input_ids'] # input arg names to the model, this is required for FX tracing + model_type: "HF" # set the model type to HF if you are using Huggingface model other wise leave it blank or any other model you use. + rpc_timeout: 1800 + +handler: + max_length: 80 # max length of tokens for tokenizer in the handler +``` + +### Step 3: Generate Tar/ MAR file + +Navigate up to `Huggingface_Largemodels` directory. + +```bash +torch-model-archiver --model-name bloom --version 1.0 --handler pippy_handler.py --extra-files model/models--facebook--opt-iml-max-1.3b/snapshots/d60fa58f50def19751da2075791da359ca19d273 -r requirements.txt --config-file model-config.yaml --archive-format tgz + +``` + +### Step 4: Add the mar file to model store + +```bash +mkdir model_store +mv bloom.mar model_store +``` + +### Step 5: Start torchserve + +Update config.properties and start torchserve + +```bash +torchserve --ncs --start --model-store model_store --models bloom.mar +``` + +### Step 6: Run inference + +```bash +curl -v "http://localhost:8080/predictions/bloom" -T sample_text.txt +``` diff --git a/examples/large_models/Huggingface_pippy/model-config.yaml b/examples/large_models/Huggingface_pippy/model-config.yaml new file mode 100644 index 0000000000..30b428af3d --- /dev/null +++ b/examples/large_models/Huggingface_pippy/model-config.yaml @@ -0,0 +1,21 @@ +#frontend settings +minWorkers: 1 +maxWorkers: 1 +maxBatchDelay: 100 +responseTimeout: 120 +parallelType: "pp" +deviceType: "gpu" +torchrun: + nproc-per-node: 4 + +#backend settings +pippy: + rpc_timeout: 1800 + model_type: "HF" + chunks: 1 + input_names: ["input_ids"] + num_worker_threads: 512 + +handler: + max_length: 50 + manual_seed: 40 diff --git a/examples/large_models/Huggingface_pippy/pippy_handler.py b/examples/large_models/Huggingface_pippy/pippy_handler.py new file mode 100644 index 0000000000..dc84143273 --- /dev/null +++ b/examples/large_models/Huggingface_pippy/pippy_handler.py @@ -0,0 +1,131 @@ +import logging +import time +from abc import ABC + +import requests +import torch +import transformers +from transformers import AutoModelForCausalLM, AutoTokenizer + +from ts.handler_utils.distributed.pt_pippy import get_pipeline_driver +from ts.torch_handler.distributed.base_pippy_handler import BasePippyHandler + +logger = logging.getLogger(__name__) +logger.info("Transformers version %s", transformers.__version__) + + +class TransformersSeqClassifierHandler(BasePippyHandler, ABC): + """ + Transformers handler class for sequence, token classification and question answering. + """ + + def __init__(self): + super(TransformersSeqClassifierHandler, self).__init__() + self.initialized = False + + def initialize(self, ctx): + """In this initialize function, the HF large model is loaded and + partitioned into multiple stages each on one device using PiPPy. + Args: + ctx (context): It is a JSON Object containing information + pertaining to the model artefacts parameters. + """ + super().initialize(ctx) + self.manifest = ctx.manifest + properties = ctx.system_properties + model_dir = properties.get("model_dir") + self.device = self.local_rank + + seed = ctx.model_yaml_config["handler"]["manual_seed"] + torch.manual_seed(seed) + + self.model = AutoModelForCausalLM.from_pretrained(model_dir, use_cache=False) + + self.tokenizer = AutoTokenizer.from_pretrained(model_dir, return_tensors="pt") + + self.max_length = ctx.model_yaml_config["handler"]["max_length"] + + logger.info("Instantiating model Pipeline") + model_init_start = time.time() + self.model = get_pipeline_driver(self.model, self.world_size, ctx) + + logger.info("Transformer model from path %s loaded successfully", model_dir) + + self.initialized = True + + def preprocess(self, requests): + """ + Basic text preprocessing, based on the user's choice of application mode. + Args: + requests (list): A list of dictionaries with a "data" or "body" field, each + containing the input text to be processed. + Returns: + tuple: A tuple with two tensors: the batch of input ids and the batch of + attention masks. + """ + input_texts = [data.get("data") or data.get("body") for data in requests] + input_ids_batch, attention_mask_batch = [], [] + for input_text in input_texts: + input_ids, attention_mask = self.encode_input_text(input_text) + input_ids_batch.append(input_ids) + attention_mask_batch.append(attention_mask) + input_ids_batch = torch.cat(input_ids_batch, dim=0).to(self.device) + attention_mask_batch = torch.cat(attention_mask_batch, dim=0).to(self.device) + return input_ids_batch, attention_mask_batch + + def encode_input_text(self, input_text): + """ + Encodes a single input text using the tokenizer. + Args: + input_text (str): The input text to be encoded. + Returns: + tuple: A tuple with two tensors: the encoded input ids and the attention mask. + """ + if isinstance(input_text, (bytes, bytearray)): + input_text = input_text.decode("utf-8") + logger.info("Received text: '%s'", input_text) + inputs = self.tokenizer.encode_plus( + input_text, + max_length=self.max_length, + pad_to_max_length=True, + add_special_tokens=True, + return_tensors="pt", + ) + input_ids = inputs["input_ids"] + attention_mask = inputs["attention_mask"] + return input_ids, attention_mask + + def inference(self, input_batch): + """ + Predicts the class (or classes) of the received text using the serialized transformers + checkpoint. + Args: + input_batch (tuple): A tuple with two tensors: the batch of input ids and the batch + of attention masks, as returned by the preprocess function. + Returns: + list: A list of strings with the predicted values for each input text in the batch. + """ + input_ids_batch, attention_mask_batch = input_batch + input_ids_batch = input_ids_batch.to(self.device) + outputs = self.model.generate( + input_ids_batch, + attention_mask=attention_mask_batch, + max_length=30, + ) + + inferences = [ + self.tokenizer.batch_decode( + outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False + ) + ] + logger.info("Generated text: %s", inferences) + return inferences + + def postprocess(self, inference_output): + """Post Process Function converts the predicted response into Torchserve readable format. + Args: + inference_output (list): It contains the predicted response of the input text. + Returns: + (list): Returns a list of the Predictions and Explanations. + """ + return inference_output diff --git a/examples/large_models/Huggingface_pippy/requirements.txt b/examples/large_models/Huggingface_pippy/requirements.txt new file mode 100644 index 0000000000..c89843b6ea --- /dev/null +++ b/examples/large_models/Huggingface_pippy/requirements.txt @@ -0,0 +1,2 @@ +transformers + diff --git a/examples/large_models/Huggingface_pippy/sample_text.txt b/examples/large_models/Huggingface_pippy/sample_text.txt new file mode 100644 index 0000000000..d5c3fdae71 --- /dev/null +++ b/examples/large_models/Huggingface_pippy/sample_text.txt @@ -0,0 +1 @@ +Hey, are you conscious? Can you talk to me? diff --git a/examples/deepspeed_mii/DeepSpeed_mii_handler.py b/examples/large_models/deepspeed_mii/DeepSpeed_mii_handler.py similarity index 100% rename from examples/deepspeed_mii/DeepSpeed_mii_handler.py rename to examples/large_models/deepspeed_mii/DeepSpeed_mii_handler.py diff --git a/examples/large_models/deepspeed_mii/Download_deepseed_mii_models.py b/examples/large_models/deepspeed_mii/Download_deepseed_mii_models.py new file mode 100644 index 0000000000..ea854abc90 --- /dev/null +++ b/examples/large_models/deepspeed_mii/Download_deepseed_mii_models.py @@ -0,0 +1,51 @@ +import argparse +import os + +from huggingface_hub import HfApi, snapshot_download + + +def dir_path(path_str): + if os.path.isdir(path_str): + return path_str + elif input(f"{path_str} does not exist, create directory? [y/n]").lower() == "y": + os.makedirs(path_str) + return path_str + else: + raise NotADirectoryError(path_str) + + +class HFModelNotFoundError(Exception): + def __init__(self, model_str): + super().__init__(f"HuggingFace model not found: '{model_str}'") + + +def hf_model(model_str): + api = HfApi() + models = [m.modelId for m in api.list_models()] + if model_str in models: + return model_str + else: + raise HFModelNotFoundError(model_str) + + +parser = argparse.ArgumentParser() +parser.add_argument( + "--model_path", + "-o", + type=dir_path, + default="model", + help="Output directory for downloaded model files", +) +parser.add_argument( + "--model_name", "-m", type=hf_model, required=True, help="HuggingFace model name" +) +parser.add_argument("--revision", "-r", type=str, default="main", help="Revision") +args = parser.parse_args() + +snapshot_path = snapshot_download( + repo_id=args.model_name, + revision=args.revision, + cache_dir=args.model_path, + use_auth_token=True, +) +print(f"Files for '{args.model_name}' is downloaded to '{snapshot_path}'") diff --git a/examples/deepspeed_mii/Readme.md b/examples/large_models/deepspeed_mii/Readme.md similarity index 100% rename from examples/deepspeed_mii/Readme.md rename to examples/large_models/deepspeed_mii/Readme.md diff --git a/examples/deepspeed_mii/config.properties b/examples/large_models/deepspeed_mii/config.properties similarity index 100% rename from examples/deepspeed_mii/config.properties rename to examples/large_models/deepspeed_mii/config.properties diff --git a/examples/deepspeed_mii/deepspeed_mii_stable_diffusion.py b/examples/large_models/deepspeed_mii/deepspeed_mii_stable_diffusion.py similarity index 100% rename from examples/deepspeed_mii/deepspeed_mii_stable_diffusion.py rename to examples/large_models/deepspeed_mii/deepspeed_mii_stable_diffusion.py diff --git a/examples/deepspeed_mii/query.py b/examples/large_models/deepspeed_mii/query.py similarity index 100% rename from examples/deepspeed_mii/query.py rename to examples/large_models/deepspeed_mii/query.py diff --git a/examples/deepspeed_mii/requirements.txt b/examples/large_models/deepspeed_mii/requirements.txt similarity index 100% rename from examples/deepspeed_mii/requirements.txt rename to examples/large_models/deepspeed_mii/requirements.txt diff --git a/examples/deepspeed_mii/setup_config.json b/examples/large_models/deepspeed_mii/setup_config.json similarity index 100% rename from examples/deepspeed_mii/setup_config.json rename to examples/large_models/deepspeed_mii/setup_config.json diff --git a/requirements/developer.txt b/requirements/developer.txt index d497ece393..9bd1795f0d 100644 --- a/requirements/developer.txt +++ b/requirements/developer.txt @@ -14,4 +14,5 @@ pyspelling pre-commit twine mypy +torchpippy==0.1.0 intel_extension_for_pytorch; sys_platform != 'win32' and sys_platform != 'darwin' diff --git a/test/postman/large_model_inference_data.json b/test/postman/large_model_inference_data.json new file mode 100644 index 0000000000..afb3ce475b --- /dev/null +++ b/test/postman/large_model_inference_data.json @@ -0,0 +1,10 @@ +[ + { + "url":"https://torchserve.s3.amazonaws.com/mar_files/opt-pippy.tar.gz", + "model_name":"opt", + "worker":1, + "synchronous":"true", + "file":"../examples/large_models/Huggingface_pippy/sample_text.txt", + "expected": "Hey, are you conscious? Can you talk to me?\nailabi lity" + } +] diff --git a/test/pytest/test_distributed_inference_handler.py b/test/pytest/test_distributed_inference_handler.py new file mode 100644 index 0000000000..a05392519c --- /dev/null +++ b/test/pytest/test_distributed_inference_handler.py @@ -0,0 +1,46 @@ +import os +import sys + +import pytest +import test_utils +import torch + +REPO_ROOT = os.path.normpath( + os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../") +) +sys.path.append(REPO_ROOT) + +TEST_DIR = os.path.join(REPO_ROOT, "test") +MODEL_STORE_DIR = os.path.join("model_store") + +POSTMAN_LARGE_MODEL_INFERENCE_DATA_FILE = os.path.join( + "postman", "large_model_inference_data.json" +) +TS_CONSOLE_LOG_FILE = os.path.join("ts_log.log") +POSTMAN_ENV_FILE = os.path.join("postman", "environment.json") +POSTMAN_COLLECTION_INFERENCE = os.path.join( + "postman", "inference_api_test_collection.json" +) +ARTIFACTS_INFERENCE_DIR = os.path.join("artifacts", "inference") +REPORT_FILE = os.path.join("report.html") + + +@pytest.mark.skipif( + not ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), + reason="Test to be run on GPU only", +) +def test_large_model_inference(): + """Run a Newman test for distributed inference on a large model""" + os.chdir(TEST_DIR) + + test_utils.start_torchserve(model_store=MODEL_STORE_DIR, gen_mar=False) + + try: + command = f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_INFERENCE} -d {POSTMAN_LARGE_MODEL_INFERENCE_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR}/{REPORT_FILE} --verbose" + result = os.system(command) + assert ( + result == 0 + ), "Error: Distributed inference failed, the exit code is not zero" + finally: + test_utils.stop_torchserve() + test_utils.cleanup_model_store(model_store=MODEL_STORE_DIR) diff --git a/test/pytest/test_handler.py b/test/pytest/test_handler.py index 9371e62814..143b6550d7 100644 --- a/test/pytest/test_handler.py +++ b/test/pytest/test_handler.py @@ -1,46 +1,60 @@ -import os -import requests +import ast import json import logging -import test_utils +import os + import numpy as np -import ast import pytest +import requests +import test_utils import torch -REPO_ROOT = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../")) + +REPO_ROOT = os.path.normpath( + os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../") +) snapshot_file_kf = os.path.join(REPO_ROOT, "test", "config_kf.properties") -snapshot_file_tf = os.path.join(REPO_ROOT,"test", "config_ts.properties") -data_file_mnist = os.path.join(REPO_ROOT, "examples", "image_classifier", "mnist", "test_data", "1.png") -input_json_mnist = os.path.join(REPO_ROOT, "kubernetes", "kserve", "kf_request_json", "v1", "mnist.json") -input_json_mmf = os.path.join(REPO_ROOT, "examples", "MMF-activity-recognition", "372CC.info.json") +snapshot_file_tf = os.path.join(REPO_ROOT, "test", "config_ts.properties") +data_file_mnist = os.path.join( + REPO_ROOT, "examples", "image_classifier", "mnist", "test_data", "1.png" +) +input_json_mnist = os.path.join( + REPO_ROOT, "kubernetes", "kserve", "kf_request_json", "v1", "mnist.json" +) +input_json_mmf = os.path.join( + REPO_ROOT, "examples", "MMF-activity-recognition", "372CC.info.json" +) logger = logging.getLogger(__name__) def getAPIS(snapshot_file): MANAGEMENT_API = "http://127.0.0.1:8081" INFERENCE_API = "http://127.0.0.1:8080" - + with open(snapshot_file, "r") as fp: lines = fp.readlines() for line in lines: - line = line.rstrip('\n') + line = line.rstrip("\n") if "management_address" in line: MANAGEMENT_API = line.split("=")[1] if "inference_address" in line: INFERENCE_API = line.split("=")[1] - + return (MANAGEMENT_API, INFERENCE_API) KF_MANAGEMENT_API, KF_INFERENCE_API = getAPIS(snapshot_file_kf) TF_MANAGEMENT_API, TF_INFERENCE_API = getAPIS(snapshot_file_tf) + def setup_module(module): test_utils.torchserve_cleanup() - response = requests.get("https://torchserve.pytorch.org/mar_files/mnist.mar", allow_redirects=True) - with open(os.path.join(test_utils.MODEL_STORE, "mnist.mar"), 'wb') as f: + response = requests.get( + "https://torchserve.pytorch.org/mar_files/mnist.mar", allow_redirects=True + ) + with open(os.path.join(test_utils.MODEL_STORE, "mnist.mar"), "wb") as f: f.write(response.content) + def teardown_module(module): test_utils.torchserve_cleanup() @@ -50,27 +64,33 @@ def mnist_model_register_using_non_existent_handler_then_scale_up(synchronous=Fa Validates that snapshot.cfg is created when management apis are invoked. """ response = requests.post( - TF_MANAGEMENT_API + '/models?handler=nehandler&url=mnist.mar') + TF_MANAGEMENT_API + "/models?handler=nehandler&url=mnist.mar" + ) # Scale up workers if synchronous: - params = (('min_worker', '2'), ('synchronous', 'True'),) + params = ( + ("min_worker", "2"), + ("synchronous", "True"), + ) else: - params = (('min_worker', '2'),) + params = (("min_worker", "2"),) - response = requests.put(TF_MANAGEMENT_API + '/models/mnist', params=params) + response = requests.put(TF_MANAGEMENT_API + "/models/mnist", params=params) # Check if workers got scaled - response = requests.get(TF_MANAGEMENT_API + '/models/mnist') + response = requests.get(TF_MANAGEMENT_API + "/models/mnist") return response def mnist_model_register_and_scale_using_non_existent_handler_synchronous(): # Register & Scale model - response = mnist_model_register_using_non_existent_handler_then_scale_up(synchronous=True) + response = mnist_model_register_using_non_existent_handler_then_scale_up( + synchronous=True + ) mnist_list = json.loads(response.content) try: # Workers should not scale up - assert len(mnist_list[0]['workers']) == 0 + assert len(mnist_list[0]["workers"]) == 0 finally: # UnRegister mnist model test_utils.unregister_model("mnist") @@ -82,7 +102,7 @@ def mnist_model_register_and_scale_using_non_existent_handler_asynchronous(): mnist_list = json.loads(response.content) try: # Workers should not scale up - assert len(mnist_list[0]['workers']) == 0 + assert len(mnist_list[0]["workers"]) == 0 finally: # UnRegister mnist model test_utils.unregister_model("mnist") @@ -98,6 +118,7 @@ def run_inference_using_url_with_data(purl=None, pfiles=None, ptimeout=120): else: return response + def run_inference_using_url_with_data_json(purl=None, json_input=None, ptimeout=120): if purl is None and pfiles is None: return @@ -114,12 +135,13 @@ def test_mnist_model_register_and_inference_on_valid_model(): Validates that snapshot.cfg is created when management apis are invoked. """ test_utils.start_torchserve(no_config_snapshots=True) - test_utils.register_model('mnist', 'mnist.mar') + test_utils.register_model("mnist", "mnist.mar") files = { - 'data': (data_file_mnist, - open(data_file_mnist, 'rb')), + "data": (data_file_mnist, open(data_file_mnist, "rb")), } - response = run_inference_using_url_with_data(TF_INFERENCE_API + '/predictions/mnist', files) + response = run_inference_using_url_with_data( + TF_INFERENCE_API + "/predictions/mnist", files + ) assert (json.loads(response.content)) == 1 test_utils.unregister_model("mnist") @@ -132,14 +154,22 @@ def test_mnist_model_register_using_non_existent_handler_with_nonzero_workers(): """ response = requests.post( - TF_MANAGEMENT_API + '/models?handler=nehandlermodels&initial_workers=1&url=mnist.mar') - if json.loads(response.content)['code'] == 500 and \ - json.loads(response.content)['type'] == "InternalServerException": - assert True, "Internal Server Exception, " \ - "Cannot register model with non existent handler with non zero workers" + TF_MANAGEMENT_API + + "/models?handler=nehandlermodels&initial_workers=1&url=mnist.mar" + ) + if ( + json.loads(response.content)["code"] == 500 + and json.loads(response.content)["type"] == "InternalServerException" + ): + assert True, ( + "Internal Server Exception, " + "Cannot register model with non existent handler with non zero workers" + ) else: - assert False, "Something is not right!! Successfully registered model with " \ - "non existent handler with non zero workers" + assert False, ( + "Something is not right!! Successfully registered model with " + "non existent handler with non zero workers" + ) test_utils.unregister_model("mnist") @@ -147,19 +177,22 @@ def test_mnist_model_register_using_non_existent_handler_with_nonzero_workers(): def test_mnist_model_register_scale_inference_with_non_existent_handler(): response = mnist_model_register_using_non_existent_handler_then_scale_up() mnist_list = json.loads(response.content) - assert len(mnist_list[0]['workers']) > 1 + assert len(mnist_list[0]["workers"]) > 1 files = { - 'data': (data_file_mnist, - open(data_file_mnist, 'rb')), + "data": (data_file_mnist, open(data_file_mnist, "rb")), } - response = run_inference_using_url_with_data(TF_INFERENCE_API + '/predictions/mnist', files) + response = run_inference_using_url_with_data( + TF_INFERENCE_API + "/predictions/mnist", files + ) if response is None: assert True, "Inference failed as the handler is non existent" else: if json.loads(response.content) == 1: - assert False, "Something is not right!! Somehow Inference passed " \ - "despite passing non existent handler" + assert False, ( + "Something is not right!! Somehow Inference passed " + "despite passing non existent handler" + ) def test_mnist_model_register_and_inference_on_valid_model_explain(): @@ -167,12 +200,13 @@ def test_mnist_model_register_and_inference_on_valid_model_explain(): Validates that snapshot.cfg is created when management apis are invoked. """ test_utils.start_torchserve(no_config_snapshots=True) - test_utils.register_model('mnist', 'mnist.mar') + test_utils.register_model("mnist", "mnist.mar") files = { - 'data': (data_file_mnist, - open(data_file_mnist, 'rb')), + "data": (data_file_mnist, open(data_file_mnist, "rb")), } - response = run_inference_using_url_with_data(TF_INFERENCE_API + '/explanations/mnist', files) + response = run_inference_using_url_with_data( + TF_INFERENCE_API + "/explanations/mnist", files + ) assert np.array(json.loads(response.content)).shape == (1, 28, 28) test_utils.unregister_model("mnist") @@ -182,124 +216,174 @@ def test_kserve_mnist_model_register_and_inference_on_valid_model(): """ Validates that snapshot.cfg is created when management apis are invoked for kserve. """ - test_utils.start_torchserve(snapshot_file = snapshot_file_kf) - test_utils.register_model('mnist', 'mnist.mar') + test_utils.start_torchserve(snapshot_file=snapshot_file_kf) + test_utils.register_model("mnist", "mnist.mar") - with open(input_json_mnist, 'r') as f: + with open(input_json_mnist, "r") as f: s = f.read() - s = s.replace('\'','\"') + s = s.replace("'", '"') data = json.loads(s) - response = run_inference_using_url_with_data_json(KF_INFERENCE_API + '/v1/models/mnist:predict', data) + response = run_inference_using_url_with_data_json( + KF_INFERENCE_API + "/v1/models/mnist:predict", data + ) - assert (json.loads(response.content)['predictions'][0]) == 2 + assert (json.loads(response.content)["predictions"][0]) == 2 test_utils.unregister_model("mnist") -def test_kserve_mnist_model_register_scale_inference_with_non_existent_handler( -): +def test_kserve_mnist_model_register_scale_inference_with_non_existent_handler(): response = mnist_model_register_using_non_existent_handler_then_scale_up() mnist_list = json.loads(response.content) - assert len(mnist_list[0]['workers']) > 1 - with open(input_json_mnist, 'r') as f: + assert len(mnist_list[0]["workers"]) > 1 + with open(input_json_mnist, "r") as f: s = f.read() - s = s.replace('\'','\"') + s = s.replace("'", '"') data = json.loads(s) - response = run_inference_using_url_with_data_json(KF_INFERENCE_API + '/v1/models/mnist:predict', data) + response = run_inference_using_url_with_data_json( + KF_INFERENCE_API + "/v1/models/mnist:predict", data + ) if response is None: assert True, "Inference failed as the handler is non existent" else: if json.loads(response.content) == 1: - assert False, "Something is not right!! Somehow Inference passed " \ - "despite passing non existent handler" + assert False, ( + "Something is not right!! Somehow Inference passed " + "despite passing non existent handler" + ) def test_kserve_mnist_model_register_and_inference_on_valid_model_explain(): """ Validates the kserve model explanations. """ - test_utils.start_torchserve(snapshot_file = snapshot_file_kf) - test_utils.register_model('mnist', 'mnist.mar') - with open(input_json_mnist, 'r') as f: + test_utils.start_torchserve(snapshot_file=snapshot_file_kf) + test_utils.register_model("mnist", "mnist.mar") + with open(input_json_mnist, "r") as f: s = f.read() - s = s.replace('\'','\"') + s = s.replace("'", '"') data = json.loads(s) - response = run_inference_using_url_with_data_json(KF_INFERENCE_API + '/v1/models/mnist:explain', data) + response = run_inference_using_url_with_data_json( + KF_INFERENCE_API + "/v1/models/mnist:explain", data + ) - assert np.array(json.loads(response.content)['explanations']).shape == (1, 1, 28, 28) + assert np.array(json.loads(response.content)["explanations"]).shape == ( + 1, + 1, + 28, + 28, + ) test_utils.unregister_model("mnist") + def test_huggingface_bert_batch_inference(): batch_size = 2 - batch_delay = 10000 # 10 seconds + batch_delay = 10000 # 10 seconds params = ( - ('model_name', 'BERTSeqClassification'), - ('url', 'https://torchserve.pytorch.org/mar_files/BERTSeqClassification.mar'), - ('initial_workers', '1'), - ('batch_size', str(batch_size)), - ('max_batch_delay', str(batch_delay)) + ("model_name", "BERTSeqClassification"), + ("url", "https://torchserve.pytorch.org/mar_files/BERTSeqClassification.mar"), + ("initial_workers", "1"), + ("batch_size", str(batch_size)), + ("max_batch_delay", str(batch_delay)), ) test_utils.start_torchserve(no_config_snapshots=True) test_utils.register_model_with_params(params) - input_text = os.path.join(REPO_ROOT, 'examples', 'Huggingface_Transformers', 'Seq_classification_artifacts', 'sample_text.txt') + input_text = os.path.join( + REPO_ROOT, + "examples", + "Huggingface_Transformers", + "Seq_classification_artifacts", + "sample_text.txt", + ) # Make 2 curl requests in parallel with & # curl --header \"X-Forwarded-For: 1.2.3.4\" won't work since you can't access local host anymore - response = os.popen(f"curl http://127.0.0.1:8080/predictions/BERTSeqClassification -T {input_text} & curl http://127.0.0.1:8080/predictions/BERTSeqClassification -T {input_text}") + response = os.popen( + f"curl http://127.0.0.1:8080/predictions/BERTSeqClassification -T {input_text} & curl http://127.0.0.1:8080/predictions/BERTSeqClassification -T {input_text}" + ) response = response.read() - ## Assert that 2 responses are returned from the same batch - assert response == 'Not AcceptedNot Accepted' - test_utils.unregister_model('BERTSeqClassification') + assert response == "Not AcceptedNot Accepted" + test_utils.unregister_model("BERTSeqClassification") + @pytest.mark.skip(reason="MMF doesn't support PT 1.10 yet") def test_MMF_activity_recognition_model_register_and_inference_on_valid_model(): - - test_utils.start_torchserve(snapshot_file = snapshot_file_tf) - test_utils.register_model('MMF_activity_recognition_v2', 'https://torchserve.pytorch.org/mar_files/MMF_activity_recognition_v2.mar') - os.system('wget https://mmfartifacts.s3-us-west-2.amazonaws.com/372CC.mp4 -P ../../examples/MMF-activity-recognition') + test_utils.start_torchserve(snapshot_file=snapshot_file_tf) + test_utils.register_model( + "MMF_activity_recognition_v2", + "https://torchserve.pytorch.org/mar_files/MMF_activity_recognition_v2.mar", + ) + os.system( + "wget https://mmfartifacts.s3-us-west-2.amazonaws.com/372CC.mp4 -P ../../examples/MMF-activity-recognition" + ) input_json = "../../examples/MMF-activity-recognition/372CC.info.json" with open(input_json) as jsonfile: info = json.load(jsonfile) files = { - 'data': open('../../examples/MMF-activity-recognition/372CC.mp4','rb'), - 'script': info['script'], - 'labels':info['action_labels'] - } - response = run_inference_using_url_with_data(TF_INFERENCE_API + '/v1/models/MMF_activity_recognition_v2:predict', pfiles=files) + "data": open("../../examples/MMF-activity-recognition/372CC.mp4", "rb"), + "script": info["script"], + "labels": info["action_labels"], + } + response = run_inference_using_url_with_data( + TF_INFERENCE_API + "/v1/models/MMF_activity_recognition_v2:predict", + pfiles=files, + ) response = response.content.decode("utf-8") response = ast.literal_eval(response) response = [n.strip() for n in response] - assert response == ['Sitting at a table','Someone is sneezing','Watching a laptop or something on a laptop'] + assert response == [ + "Sitting at a table", + "Someone is sneezing", + "Watching a laptop or something on a laptop", + ] test_utils.unregister_model("MMF_activity_recognition_v2") + def test_huggingface_bert_model_parallel_inference(): number_of_gpus = torch.cuda.device_count() check = os.popen(f"curl http://localhost:8081/models") print(check) if number_of_gpus > 1: batch_size = 1 - batch_delay = 5000 # 10 seconds + batch_delay = 5000 # 10 seconds params = ( - ('model_name', 'Textgeneration'), - ('url', 'https://bert-mar-file.s3.us-west-2.amazonaws.com/Textgeneration.mar'), - ('initial_workers', '1'), - ('batch_size', str(batch_size)), - ('max_batch_delay', str(batch_delay)) + ("model_name", "Textgeneration"), + ( + "url", + "https://bert-mar-file.s3.us-west-2.amazonaws.com/Textgeneration.mar", + ), + ("initial_workers", "1"), + ("batch_size", str(batch_size)), + ("max_batch_delay", str(batch_delay)), ) test_utils.start_torchserve(no_config_snapshots=True) test_utils.register_model_with_params(params) - input_text = os.path.join(REPO_ROOT, 'examples', 'Huggingface_Transformers', 'Text_gen_artifacts', 'sample_text_captum_input.txt') - - response = os.popen(f"curl http://127.0.0.1:8080/predictions/Textgeneration -T {input_text}") + input_text = os.path.join( + REPO_ROOT, + "examples", + "Huggingface_Transformers", + "Text_gen_artifacts", + "sample_text_captum_input.txt", + ) + + response = os.popen( + f"curl http://127.0.0.1:8080/predictions/Textgeneration -T {input_text}" + ) response = response.read() - - assert 'Bloomberg has decided to publish a new report on the global economy' in response - test_utils.unregister_model('Textgeneration') + + assert ( + "Bloomberg has decided to publish a new report on the global economy" + in response + ) + test_utils.unregister_model("Textgeneration") else: - logger.info("Running model parallel inference requuires more than one gpu, number of available gpus on thi machine is: ", number_of_gpus) + logger.info( + "Running model parallel inference requuires more than one gpu, number of available gpus on thi machine is: ", + number_of_gpus, + ) diff --git a/test/pytest/test_utils.py b/test/pytest/test_utils.py index 114b7f4431..b2c83b11c9 100644 --- a/test/pytest/test_utils.py +++ b/test/pytest/test_utils.py @@ -169,3 +169,9 @@ def load_module_from_py_file(py_file: str) -> object: loader.exec_module(module) return module + + +def cleanup_model_store(model_store=None): + # rm -rf $MODEL_STORE_DIR / * + for f in glob.glob(os.path.join(model_store, "*")): + os.remove(f) diff --git a/ts/handler_utils/__init__.py b/ts/handler_utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ts/handler_utils/distributed/__init__.py b/ts/handler_utils/distributed/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ts/handler_utils/distributed/pt_pippy.py b/ts/handler_utils/distributed/pt_pippy.py new file mode 100644 index 0000000000..e1936af265 --- /dev/null +++ b/ts/handler_utils/distributed/pt_pippy.py @@ -0,0 +1,93 @@ +import importlib +import inspect +import logging +import os + +import pippy +import torch +import torch.distributed.rpc as rpc + +pippy_installed = importlib.util.find_spec("pippy") is not None + +if pippy_installed: + from pippy import split_into_equal_size + from pippy.hf import PiPPyHFTracer, inject_pipeline_forward + + +logger = logging.getLogger(__name__) + + +def initialize_rpc_workers(local_rank, world_size, ctx): + # Get RPC configuration options from model YAML config + rpc_timeout = ctx.model_yaml_config["pippy"]["rpc_timeout"] + num_worker_threads = ctx.model_yaml_config["pippy"]["num_worker_threads"] + options = rpc.TensorPipeRpcBackendOptions( + num_worker_threads=num_worker_threads, rpc_timeout=rpc_timeout + ) + + # Set up device mapping for RPC workers + n_devs = torch.cuda.device_count() + dev_id = local_rank % n_devs + for i in range(world_size): + options.set_device_map(f"worker{i}", {dev_id: i % n_devs}) + + # Initialize RPC worker + logger.info(f"rank = {local_rank} pid/device = " f"{os.getpid()}/{dev_id}") + rpc.init_rpc( + f"worker{local_rank}", + rank=local_rank, + world_size=world_size, + rpc_backend_options=options, + ) + + +def get_pipeline_driver(model, world_size, ctx): + """Returns a pipeline driver for the given model. + Args: + model (torch.nn.Module): The model to pipeline. + world_size (int): The number of pipeline stages. + ctx (Context): The context containing configuration information. + Returns: + torch.nn.Sequential: The pipeline driver for the model. + """ + # Extract configuration parameters from the context + chunks = ctx.model_yaml_config["pippy"]["chunks"] + input_names = ctx.model_yaml_config["pippy"]["input_names"] + model_type = ctx.model_yaml_config["pippy"]["model_type"] + + # Set the model to evaluation mode + model.eval() + + # Extract the concrete arguments for the model's forward method + sig = inspect.signature(model.forward) + concrete_args = { + p.name: p.default for p in sig.parameters.values() if p.name not in input_names + } + + logger.info("Initializing the model pipeline") + + # Create a tracer if necessary + tracer = PiPPyHFTracer() if model_type == "HF" else None + + # Add deprecated_arguments to concrete_args if necessary + if model_type == "HF" and "bloom" in str(model.__class__): + concrete_args.setdefault("deprecated_arguments", {}) + + # Compile the pipeline using PiPPy + split_policy = split_into_equal_size(world_size) + pipe_driver, stage_mode = pippy.all_compile( + model, + num_ranks=world_size, + num_chunks=chunks, + schedule="FillDrain", + split_policy=split_policy, + tracer=tracer, + concrete_args=concrete_args, + ) + + # Inject the pipeline forward method if necessary + if model_type == "HF": + inject_pipeline_forward(model, pipe_driver) + return model + else: + return pipe_driver diff --git a/ts/torch_handler/distributed/__init__.py b/ts/torch_handler/distributed/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ts/torch_handler/distributed/base_pippy_handler.py b/ts/torch_handler/distributed/base_pippy_handler.py new file mode 100644 index 0000000000..bb234a06c1 --- /dev/null +++ b/ts/torch_handler/distributed/base_pippy_handler.py @@ -0,0 +1,23 @@ +""" +Base default handler to load large models using PyTorch Native PiPPy. +""" +import os +from abc import ABC + +import torch + +from ts.handler_utils.distributed.pt_pippy import initialize_rpc_workers +from ts.torch_handler.base_handler import BaseHandler + + +class BasePippyHandler(BaseHandler, ABC): + """ + Base default handler to set up rpc workers for PiPPy large model inference + """ + + def initialize(self, ctx): + self.local_rank = int(os.environ["LOCAL_RANK"]) + self.world_size = int(os.environ["WORLD_SIZE"]) + n_devs = torch.cuda.device_count() + self.device = self.local_rank % n_devs + initialize_rpc_workers(self.local_rank, self.world_size, ctx) diff --git a/ts_scripts/api_utils.py b/ts_scripts/api_utils.py index a19c9f1799..1d7b6b9fa5 100755 --- a/ts_scripts/api_utils.py +++ b/ts_scripts/api_utils.py @@ -16,13 +16,12 @@ ### Torchserve ARTIFACTS_MANAGEMENT_DIR = os.path.join("artifacts", "management") ARTIFACTS_INFERENCE_DIR = os.path.join("artifacts", "inference") -ARTIFACTS_WORKFLOW_MANAGEMENT_DIR = os.path.join("artifacts", - "workflow_management") -ARTIFACTS_WORKFLOW_INFERENCE_DIR = os.path.join("artifacts", - "workflow_inference") +ARTIFACTS_WORKFLOW_MANAGEMENT_DIR = os.path.join("artifacts", "workflow_management") +ARTIFACTS_WORKFLOW_INFERENCE_DIR = os.path.join("artifacts", "workflow_inference") ARTIFACTS_EXPLANATION_DIR = os.path.join("artifacts", "explanation") ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR = os.path.join( - "artifacts", "increased_timeout_inference") + "artifacts", "increased_timeout_inference" +) ARTIFACTS_HTTPS_DIR = os.path.join("artifacts", "https") TS_CONSOLE_LOG_FILE = os.path.join("ts_console.log") @@ -30,25 +29,35 @@ POSTMAN_ENV_FILE = os.path.join("postman", "environment.json") POSTMAN_INFERENCE_DATA_FILE = os.path.join("postman", "inference_data.json") +POSTMAN_LARGE_MODEL_INFERENCE_DATA_FILE = os.path.join( + "postman", "large_model_inference_data.json" +) POSTMAN_EXPLANATION_DATA_FILE = os.path.join("postman", "explanation_data.json") POSTMAN_MANAGEMENT_DATA_FILE = os.path.join("postman", "management_data.json") POSTMAN_WORKFLOW_DATA_FILE = os.path.join("postman", "workflow_data.json") POSTMAN_WORKFLOW_INFERENCE_DATA_FILE = os.path.join( - "postman", "workflow_inference_data.json") + "postman", "workflow_inference_data.json" +) POSTMAN_INCRSD_TIMEOUT_INFERENCE_DATA_FILE = os.path.join( - "postman", "increased_timeout_inference.json") + "postman", "increased_timeout_inference.json" +) -#only one management collection for both KServe and torchserve +# only one management collection for both KServe and torchserve POSTMAN_COLLECTION_MANAGEMENT = os.path.join( - "postman", "management_api_test_collection.json") + "postman", "management_api_test_collection.json" +) POSTMAN_COLLECTION_INFERENCE = os.path.join( - "postman", "inference_api_test_collection.json") -POSTMAN_COLLECTION_WORKFLOW = os.path.join("postman", - "workflow_api_test_collection.json") + "postman", "inference_api_test_collection.json" +) +POSTMAN_COLLECTION_WORKFLOW = os.path.join( + "postman", "workflow_api_test_collection.json" +) POSTMAN_COLLECTION_WORKFLOW_INFERENCE = os.path.join( - "postman", "workflow_inference_collection.json") + "postman", "workflow_inference_collection.json" +) POSTMAN_COLLECTION_EXPLANATION = os.path.join( - "postman", "explanation_api_test_collection.json") + "postman", "explanation_api_test_collection.json" +) POSTMAN_COLLECTION_HTTPS = os.path.join("postman", "https_test_collection.json") @@ -56,38 +65,39 @@ ARTIFACTS_MANAGEMENT_DIR_KF = os.path.join("artifacts", "management_kf") ARTIFACTS_INFERENCE_DIR_KF = os.path.join("artifacts", "inference_kf") ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR_KF = os.path.join( - "artifacts", "increased_timeout_inference_kf") + "artifacts", "increased_timeout_inference_kf" +) ARTIFACTS_HTTPS_DIR_KF = os.path.join("artifacts", "https_kf") TS_CONFIG_FILE_HTTPS_KF = os.path.join("resources", "config_kf.properties") -POSTMAN_INFERENCE_DATA_FILE_KF = os.path.join("postman", - "kf_inference_data.json") +POSTMAN_INFERENCE_DATA_FILE_KF = os.path.join("postman", "kf_inference_data.json") POSTMAN_INCRSD_TIMEOUT_INFERENCE_DATA_FILE_KF = os.path.join( - "postman", "increased_timeout_inference.json") + "postman", "increased_timeout_inference.json" +) -POSTMAN_COLLECTION_INFERENCE_KF = os.path.join("postman", - "kf_api_test_collection.json") +POSTMAN_COLLECTION_INFERENCE_KF = os.path.join("postman", "kf_api_test_collection.json") -POSTMAN_COLLECTION_HTTPS_KF = os.path.join("postman", - "kf_https_test_collection.json") +POSTMAN_COLLECTION_HTTPS_KF = os.path.join("postman", "kf_https_test_collection.json") ### KServe v2 protocol ARTIFACTS_INFERENCE_DIR_KFV2 = os.path.join("artifacts", "inference_kfv2") ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR_KFV2 = os.path.join( - "artifacts", "increased_timeout_inference_kfv2") + "artifacts", "increased_timeout_inference_kfv2" +) ARTIFACTS_HTTPS_DIR_KFV2 = os.path.join("artifacts", "https_kfv2") TS_CONFIG_FILE_HTTPS_KFV2 = os.path.join("resources", "config_kfv2.properties") -POSTMAN_INFERENCE_DATA_FILE_KFV2 = os.path.join("postman", - "kfv2_inference_data.json") +POSTMAN_INFERENCE_DATA_FILE_KFV2 = os.path.join("postman", "kfv2_inference_data.json") POSTMAN_COLLECTION_INFERENCE_KFV2 = os.path.join( - "postman", "kfv2_api_test_collection.json") + "postman", "kfv2_api_test_collection.json" +) -POSTMAN_COLLECTION_HTTPS_KFV2 = os.path.join("postman", - "kfv2_https_test_collection.json") +POSTMAN_COLLECTION_HTTPS_KFV2 = os.path.join( + "postman", "kfv2_https_test_collection.json" +) REPORT_FILE = os.path.join("report.html") @@ -105,10 +115,10 @@ def move_logs(log_file, artifact_dir): def trigger_management_tests(): - """ Return exit code of newman execution of management collection """ - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - log_file=TS_CONSOLE_LOG_FILE) + """Return exit code of newman execution of management collection""" + ts.start_torchserve( + ncs=True, model_store=MODEL_STORE_DIR, log_file=TS_CONSOLE_LOG_FILE + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_MANAGEMENT} -d {POSTMAN_MANAGEMENT_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_MANAGEMENT_DIR}/{REPORT_FILE} --verbose" ) @@ -119,10 +129,10 @@ def trigger_management_tests(): def trigger_inference_tests(): - """ Return exit code of newman execution of inference collection """ - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - log_file=TS_CONSOLE_LOG_FILE) + """Return exit code of newman execution of inference collection""" + ts.start_torchserve( + ncs=True, model_store=MODEL_STORE_DIR, log_file=TS_CONSOLE_LOG_FILE + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_INFERENCE} -d {POSTMAN_INFERENCE_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR}/{REPORT_FILE} --verbose" ) @@ -133,11 +143,13 @@ def trigger_inference_tests(): def trigger_workflow_tests(): - """ Return exit code of newman execution of workflow collection """ - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - workflow_store=MODEL_STORE_DIR, - log_file=TS_CONSOLE_LOG_FILE) + """Return exit code of newman execution of workflow collection""" + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + workflow_store=MODEL_STORE_DIR, + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_WORKFLOW} -d {POSTMAN_WORKFLOW_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_WORKFLOW_MANAGEMENT_DIR}/{REPORT_FILE} --verbose" ) @@ -148,11 +160,13 @@ def trigger_workflow_tests(): def trigger_workflow_inference_tests(): - """ Return exit code of newman execution of workflow inference collection """ - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - workflow_store=MODEL_STORE_DIR, - log_file=TS_CONSOLE_LOG_FILE) + """Return exit code of newman execution of workflow inference collection""" + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + workflow_store=MODEL_STORE_DIR, + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_WORKFLOW_INFERENCE} -d {POSTMAN_WORKFLOW_INFERENCE_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_WORKFLOW_INFERENCE_DIR}/{REPORT_FILE} --verbose" ) @@ -163,11 +177,11 @@ def trigger_workflow_inference_tests(): def trigger_explanation_tests(): - """ Return exit code of newman execution of inference collection """ + """Return exit code of newman execution of inference collection""" - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - log_file=TS_CONSOLE_LOG_FILE) + ts.start_torchserve( + ncs=True, model_store=MODEL_STORE_DIR, log_file=TS_CONSOLE_LOG_FILE + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_EXPLANATION} -d {POSTMAN_EXPLANATION_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR}/{REPORT_FILE} --verbose" ) @@ -178,17 +192,19 @@ def trigger_explanation_tests(): def trigger_incr_timeout_inference_tests(): - """ Return exit code of newman execution of increased timeout inference collection """ + """Return exit code of newman execution of increased timeout inference collection""" # Configuration with increased timeout config_file = open("config.properties", "w") config_file.write("default_response_timeout=300") config_file.close() - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - config_file="config.properties", - log_file=TS_CONSOLE_LOG_FILE) + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + config_file="config.properties", + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_INFERENCE} -d {POSTMAN_INCRSD_TIMEOUT_INFERENCE_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR}/{REPORT_FILE} --verbose" ) @@ -201,11 +217,13 @@ def trigger_incr_timeout_inference_tests(): def trigger_https_tests(): - """ Return exit code of newman execution of https collection """ - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - config_file=TS_CONFIG_FILE_HTTPS, - log_file=TS_CONSOLE_LOG_FILE) + """Return exit code of newman execution of https collection""" + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + config_file=TS_CONFIG_FILE_HTTPS, + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run --insecure -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_HTTPS} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_HTTPS_DIR}/{REPORT_FILE} --verbose" ) @@ -217,16 +235,18 @@ def trigger_https_tests(): ## KServe tests starts here def trigger_management_tests_kf(): - """ Return exit code of newman execution of management collection """ + """Return exit code of newman execution of management collection""" config_file = open("config.properties", "w") config_file.write("service_envelope=kserve") config_file.close() - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - config_file="config.properties", - log_file=TS_CONSOLE_LOG_FILE) + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + config_file="config.properties", + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_MANAGEMENT} -d {POSTMAN_MANAGEMENT_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_MANAGEMENT_DIR_KF}/{REPORT_FILE} --verbose" ) @@ -238,16 +258,18 @@ def trigger_management_tests_kf(): def trigger_inference_tests_kf(): - """ Return exit code of newman execution of inference collection """ + """Return exit code of newman execution of inference collection""" config_file = open("config.properties", "w") config_file.write("service_envelope=kserve") config_file.close() - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - config_file="config.properties", - log_file=TS_CONSOLE_LOG_FILE) + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + config_file="config.properties", + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_INFERENCE_KF} -d {POSTMAN_INFERENCE_DATA_FILE_KF} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR_KF}/{REPORT_FILE} --verbose" ) @@ -259,11 +281,13 @@ def trigger_inference_tests_kf(): def trigger_https_tests_kf(): - """ Return exit code of newman execution of https collection """ - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - config_file=TS_CONFIG_FILE_HTTPS_KF, - log_file=TS_CONSOLE_LOG_FILE) + """Return exit code of newman execution of https collection""" + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + config_file=TS_CONFIG_FILE_HTTPS_KF, + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run --insecure -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_HTTPS_KF} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_HTTPS_DIR_KF}/{REPORT_FILE} --verbose" ) @@ -274,16 +298,18 @@ def trigger_https_tests_kf(): def trigger_inference_tests_kfv2(): - """ Return exit code of newman execution of inference collection """ + """Return exit code of newman execution of inference collection""" config_file = open("config.properties", "w") config_file.write("service_envelope=kservev2") config_file.close() - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - config_file="config.properties", - log_file=TS_CONSOLE_LOG_FILE) + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + config_file="config.properties", + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_INFERENCE_KFV2} -d {POSTMAN_INFERENCE_DATA_FILE_KFV2} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR_KFV2}/{REPORT_FILE} --verbose" ) @@ -295,11 +321,13 @@ def trigger_inference_tests_kfv2(): def trigger_https_tests_kfv2(): - """ Return exit code of newman execution of https collection """ - ts.start_torchserve(ncs=True, - model_store=MODEL_STORE_DIR, - config_file=TS_CONFIG_FILE_HTTPS_KFV2, - log_file=TS_CONSOLE_LOG_FILE) + """Return exit code of newman execution of https collection""" + ts.start_torchserve( + ncs=True, + model_store=MODEL_STORE_DIR, + config_file=TS_CONFIG_FILE_HTTPS_KFV2, + log_file=TS_CONSOLE_LOG_FILE, + ) EXIT_CODE = os.system( f"newman run --insecure -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_HTTPS_KFV2} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_HTTPS_DIR_KFV2}/{REPORT_FILE} --verbose" ) @@ -322,23 +350,47 @@ def trigger_all(): exit_code10 = trigger_explanation_tests() exit_code11 = trigger_workflow_tests() exit_code12 = trigger_workflow_inference_tests() - return 1 if any(code != 0 for code in [ - exit_code1, exit_code2, exit_code3, exit_code4, exit_code5, exit_code6, - exit_code7, exit_code8, exit_code9, exit_code10, exit_code11, - exit_code12 - ]) else 0 + return ( + 1 + if any( + code != 0 + for code in [ + exit_code1, + exit_code2, + exit_code3, + exit_code4, + exit_code5, + exit_code6, + exit_code7, + exit_code8, + exit_code9, + exit_code10, + exit_code11, + exit_code12, + ] + ) + else 0 + ) def test_api(collection): os.chdir(TEST_DIR) ALL_DIRS = [ - MODEL_STORE_DIR, ARTIFACTS_MANAGEMENT_DIR, ARTIFACTS_INFERENCE_DIR, - ARTIFACTS_EXPLANATION_DIR, ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR, - ARTIFACTS_HTTPS_DIR, ARTIFACTS_MANAGEMENT_DIR_KF, - ARTIFACTS_INFERENCE_DIR_KF, ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR_KF, - ARTIFACTS_HTTPS_DIR_KF, ARTIFACTS_INFERENCE_DIR_KFV2, - ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR_KFV2, ARTIFACTS_HTTPS_DIR_KFV2, - ARTIFACTS_WORKFLOW_MANAGEMENT_DIR, ARTIFACTS_WORKFLOW_INFERENCE_DIR + MODEL_STORE_DIR, + ARTIFACTS_MANAGEMENT_DIR, + ARTIFACTS_INFERENCE_DIR, + ARTIFACTS_EXPLANATION_DIR, + ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR, + ARTIFACTS_HTTPS_DIR, + ARTIFACTS_MANAGEMENT_DIR_KF, + ARTIFACTS_INFERENCE_DIR_KF, + ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR_KF, + ARTIFACTS_HTTPS_DIR_KF, + ARTIFACTS_INFERENCE_DIR_KFV2, + ARTIFACTS_INCRSD_TIMEOUT_INFERENCE_DIR_KFV2, + ARTIFACTS_HTTPS_DIR_KFV2, + ARTIFACTS_WORKFLOW_MANAGEMENT_DIR, + ARTIFACTS_WORKFLOW_INFERENCE_DIR, ] for DIR in ALL_DIRS: @@ -356,7 +408,7 @@ def test_api(collection): "https": trigger_https_tests, "https_kf": trigger_https_tests_kf, "https_kfv2": trigger_https_tests_kfv2, - "all": trigger_all + "all": trigger_all, } exit_code = switcher[collection]() diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index f9d5ff96a6..b817fde4c1 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1032,3 +1032,8 @@ mps deviceIds rpc pippy +PiPPy +Microbatching +Micro-batching +microbatch +microbatching From 70c57128126347c5dbe5a1988cd12e479d79f051 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Tue, 4 Apr 2023 03:26:56 +0000 Subject: [PATCH 056/172] Refactored model to validate into json file --- ts_scripts/configs/sanity_models.json | 73 +++++++++++++++ ts_scripts/sanity_utils.py | 124 +++++++------------------- 2 files changed, 103 insertions(+), 94 deletions(-) create mode 100644 ts_scripts/configs/sanity_models.json diff --git a/ts_scripts/configs/sanity_models.json b/ts_scripts/configs/sanity_models.json new file mode 100644 index 0000000000..4b9e589fc8 --- /dev/null +++ b/ts_scripts/configs/sanity_models.json @@ -0,0 +1,73 @@ +[ + { + "name": "fastrcnn", + "inputs": [ + "examples/object_detector/persons.jpg" + ], + "handler": "object_detector" + }, + { + "name": "fcn_resnet_101", + "inputs": [ + "docs/images/blank_image.jpg", + "examples/image_segmenter/persons.jpg" + ], + "handler": "image_segmenter" + }, + { + "name": "my_text_classifier_v4", + "inputs": [ + "examples/text_classification/sample_text.txt" + ], + "handler": "text_classification" + }, + { + "name": "resnet-18", + "inputs": [ + "examples/image_classifier/kitten.jpg" + ], + "handler": "image_classifier" + }, + { + "name": "my_text_classifier_scripted_v3", + "inputs": [ + "examples/text_classification/sample_text.txt" + ], + "handler": "text_classification" + }, + { + "name": "alexnet_scripted", + "inputs": [ + "examples/image_classifier/kitten.jpg" + ], + "handler": "image_classifier" + }, + { + "name": "fcn_resnet_101_scripted", + "inputs": [ + "examples/image_segmenter/persons.jpg" + ], + "handler": "image_segmenter" + }, + { + "name": "distill_bert_qa_eager", + "inputs": [ + "examples/Huggingface_Transformers/QA_artifacts/sample_text.txt" + ], + "handler": "custom" + }, + { + "name": "bert_token_classification_no_torchscript", + "inputs": [ + "examples/Huggingface_Transformers/Token_classification_artifacts/sample_text.txt" + ], + "handler": "custom" + }, + { + "name": "bert_seqc_without_torchscript", + "inputs": [ + "examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + ], + "handler": "custom" + } +] diff --git a/ts_scripts/sanity_utils.py b/ts_scripts/sanity_utils.py index 2636db3dc5..45525160f8 100755 --- a/ts_scripts/sanity_utils.py +++ b/ts_scripts/sanity_utils.py @@ -1,19 +1,23 @@ import glob +import json import os import subprocess import sys +from pathlib import Path import nvgpu from ts_scripts import marsgen as mg - -REPO_ROOT = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..") -sys.path.append(REPO_ROOT) - from ts_scripts import tsutils as ts from ts_scripts import utils from ts_scripts.tsutils import generate_grpc_client_stubs +REPO_ROOT = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..") +sys.path.append(REPO_ROOT) +MODELS_CONFIG_FILE_PATH = Path(__file__).parent.joinpath( + "configs", "sanity_models.json" +) + def run_markdown_link_checker(): print("## Started markdown link checker") @@ -41,98 +45,29 @@ def validate_model_on_gpu(): return model_loaded +def load_model_to_validate(): + with open(MODELS_CONFIG_FILE_PATH) as f: + model_list = json.load(f) + assert isinstance(model_list, list) + + print(model_list) + models_to_validate = {} + for m in model_list: + models_to_validate[m["name"]] = m + + # models_to_validate = {m["name"]: m for m in model_list} + assert len(models_to_validate) == len( + model_list + ), "Model names are expected to be unique" + return models_to_validate + + def test_sanity(): generate_grpc_client_stubs() print("## Started sanity tests") - resnet18_model = { - "name": "resnet-18", - "inputs": ["examples/image_classifier/kitten.jpg"], - "handler": "image_classifier", - } - - bert_token_classification_no_torchscript_model = { - "name": "bert_token_classification_no_torchscript", - "inputs": [ - "examples/Huggingface_Transformers/Token_classification_artifacts/sample_text.txt" - ], - "handler": "custom", - } - - bert_seqc_without_torchscript_model = { - "name": "bert_seqc_without_torchscript", - "inputs": [ - "examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" - ], - "handler": "custom", - } - - models_to_validate = [ - { - "name": "fastrcnn", - "inputs": ["examples/object_detector/persons.jpg"], - "handler": "object_detector", - }, - { - "name": "fcn_resnet_101", - "inputs": [ - "docs/images/blank_image.jpg", - "examples/image_segmenter/persons.jpg", - ], - "handler": "image_segmenter", - }, - { - "name": "my_text_classifier_v4", - "inputs": ["examples/text_classification/sample_text.txt"], - "handler": "text_classification", - }, - resnet18_model, - { - "name": "my_text_classifier_scripted_v3", - "inputs": ["examples/text_classification/sample_text.txt"], - "handler": "text_classification", - }, - { - "name": "alexnet_scripted", - "inputs": ["examples/image_classifier/kitten.jpg"], - "handler": "image_classifier", - }, - { - "name": "fcn_resnet_101_scripted", - "inputs": ["examples/image_segmenter/persons.jpg"], - "handler": "image_segmenter", - }, - { - "name": "distill_bert_qa_eager", - "inputs": [ - "examples/Huggingface_Transformers/QA_artifacts/sample_text.txt" - ], - "handler": "custom", - }, - { - "name": "bert_token_classification_no_torchscript", - "inputs": [ - "examples/Huggingface_Transformers/Token_classification_artifacts/sample_text.txt" - ], - "handler": "custom", - }, - { - "name": "bert_seqc_without_torchscript", - "inputs": [ - "examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" - ], - "handler": "custom", - }, - ] - - if not sys.platform.startswith("win"): - models_to_validate.extend( - ( - bert_token_classification_no_torchscript_model, - bert_seqc_without_torchscript_model, - ) - ) + models_to_validate = load_model_to_validate() ts_log_file = os.path.join("logs", "ts_console.log") is_gpu_instance = utils.is_gpu_instance() @@ -150,8 +85,7 @@ def test_sanity(): if not started: sys.exit(1) - for model in models_to_validate: - model_name = model["name"] + for model_name, model in models_to_validate.items(): model_inputs = model["inputs"] model_handler = model["handler"] @@ -226,7 +160,7 @@ def test_sanity(): ) # skip unregistering resnet-18 model to test snapshot feature with restart - if model != resnet18_model: + if model_name != "resnet-18": response = ts.unregister_model(model_name) if response and response.status_code == 200: print(f"## Successfully unregistered {model_name}") @@ -240,6 +174,8 @@ def test_sanity(): if not stopped: sys.exit(1) + resnet18_model = models_to_validate["resnet-18"] + # Restarting torchserve # This should restart with the generated snapshot and resnet-18 model should be automatically registered started = ts.start_torchserve(log_file=ts_log_file) From 4dc198377840335b03ee62ed5699099d5fedf81f Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Tue, 4 Apr 2023 05:07:32 +0000 Subject: [PATCH 057/172] Refactored sanity tests --- torchserve_sanity.py | 33 +++--- ts_scripts/marsgen.py | 114 ++++++++++++------- ts_scripts/sanity_utils.py | 219 +++++++++++++++++++------------------ 3 files changed, 209 insertions(+), 157 deletions(-) diff --git a/torchserve_sanity.py b/torchserve_sanity.py index 27e86c5480..d92689d530 100755 --- a/torchserve_sanity.py +++ b/torchserve_sanity.py @@ -1,14 +1,16 @@ -from ts_scripts.modelarchiver_utils import test_modelarchiver -from ts_scripts.workflow_archiver_utils import test_workflow_archiver +import ts_scripts.tsutils as ts +from ts_scripts import marsgen as mg from ts_scripts.backend_utils import test_torchserve +from ts_scripts.frontend_utils import test_frontend from ts_scripts.install_from_src import install_from_src -from ts_scripts.sanity_utils import test_sanity -from ts_scripts.sanity_utils import test_workflow_sanity +from ts_scripts.modelarchiver_utils import test_modelarchiver +from ts_scripts.sanity_utils import ( + test_markdown_files, + test_sanity, + test_workflow_sanity, +) from ts_scripts.shell_utils import rm_dir, rm_file -from ts_scripts.frontend_utils import test_frontend -import ts_scripts.tsutils as ts -import ts_scripts.print_env_info as build_hdr_printer -from ts_scripts import marsgen as mg +from ts_scripts.workflow_archiver_utils import test_workflow_archiver def torchserve_sanity(): @@ -37,22 +39,27 @@ def torchserve_sanity(): # Run workflow sanity test_workflow_sanity() + # Check for broken links + test_markdown_files() + finally: cleanup() def cleanup(): ts.stop_torchserve() - rm_dir('model_store') - rm_dir('logs') + rm_dir("model_store") + rm_dir("logs") # clean up residual from model-archiver IT suite. - rm_dir('model-archiver/model_archiver/htmlcov_ut model_archiver/model-archiver/htmlcov_it') - rm_file('ts_scripts/*_pb2*.py', True) + rm_dir( + "model-archiver/model_archiver/htmlcov_ut model_archiver/model-archiver/htmlcov_it" + ) + rm_file("ts_scripts/*_pb2*.py", True) # delete mar_gen_dir mg.delete_model_store_gen_dir() -if __name__ == '__main__': +if __name__ == "__main__": torchserve_sanity() diff --git a/ts_scripts/marsgen.py b/ts_scripts/marsgen.py index 3f61fa2fc4..dc4d56a374 100644 --- a/ts_scripts/marsgen.py +++ b/ts_scripts/marsgen.py @@ -1,10 +1,10 @@ import argparse import json import os -import sys -import urllib.request import shutil import subprocess +import sys +import urllib.request REPO_ROOT = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..") sys.path.append(REPO_ROOT) @@ -12,6 +12,7 @@ os.makedirs(MODEL_STORE_DIR, exist_ok=True) MAR_CONFIG_FILE_PATH = os.path.join(REPO_ROOT, "ts_scripts", "mar_config.json") + def delete_model_store_gen_dir(): print(f"## Deleting model_store_gen_dir: {MODEL_STORE_DIR}\n") mar_set.clear() @@ -21,7 +22,10 @@ def delete_model_store_gen_dir(): except OSError as e: print("Error: %s : %s" % (MODEL_STORE_DIR, e.strerror)) + mar_set = set() + + def gen_mar(model_store=None): print(f"## Starting gen_mar: {model_store}\n") if len(mar_set) == 0: @@ -53,7 +57,9 @@ def generate_mars(mar_config=MAR_CONFIG_FILE_PATH, model_store_dir=MODEL_STORE_D - "extra_files": the paths of extra files Note: To generate .pt file, "serialized_file_remote" and "gen_scripted_file_path" must be provided """ - print(f"## Starting generate_mars, mar_config:{mar_config}, model_store_dir:{model_store_dir}\n") + print( + f"## Starting generate_mars, mar_config:{mar_config}, model_store_dir:{model_store_dir}\n" + ) mar_set.clear() cwd = os.getcwd() os.chdir(REPO_ROOT) @@ -63,45 +69,51 @@ def generate_mars(mar_config=MAR_CONFIG_FILE_PATH, model_store_dir=MODEL_STORE_D for model in models: serialized_file_path = None if model.get("serialized_file_remote") and model["serialized_file_remote"]: - if model.get("gen_scripted_file_path") and model["gen_scripted_file_path"]: + if ( + model.get("gen_scripted_file_path") + and model["gen_scripted_file_path"] + ): subprocess.run(["python", model["gen_scripted_file_path"]]) else: - serialized_model_file_url = \ - "https://download.pytorch.org/models/{}".format(model["serialized_file_remote"]) + serialized_model_file_url = ( + "https://download.pytorch.org/models/{}".format( + model["serialized_file_remote"] + ) + ) urllib.request.urlretrieve( serialized_model_file_url, - f'{model_store_dir}/{model["serialized_file_remote"]}') - serialized_file_path = os.path.join(model_store_dir, model["serialized_file_remote"]) + f'{model_store_dir}/{model["serialized_file_remote"]}', + ) + serialized_file_path = os.path.join( + model_store_dir, model["serialized_file_remote"] + ) elif model.get("serialized_file_local") and model["serialized_file_local"]: serialized_file_path = model["serialized_file_local"] - handler = None - if model.get("handler") and model["handler"]: - handler = model["handler"] + handler = model.get("handler", None) - extra_files = None - if model.get("extra_files") and model["extra_files"]: - extra_files = model["extra_files"] + extra_files = model.get("extra_files", None) - runtime = None - if model.get("runtime") and model["runtime"]: - runtime = model["runtime"] + runtime = model.get("runtime", None) - archive_format = None - if model.get("archive_format") and model["archive_format"]: - archive_format = model["archive_format"] + archive_format = model.get("archive_format", "zip-store") - requirements_file = None - if model.get("requirements_file") and model["requirements_file"]: - requirements_file = model["requirements_file"] + requirements_file = model.get("requirements_file", None) - export_path = model_store_dir - if model.get("export_path") and model["export_path"]: - export_path = model["export_path"] + export_path = model.get("export_path", model_store_dir) - cmd = model_archiver_command_builder(model["model_name"], model["version"], model["model_file"], - serialized_file_path, handler, extra_files, - runtime, archive_format, requirements_file, export_path) + cmd = model_archiver_command_builder( + model["model_name"], + model["version"], + model["model_file"], + serialized_file_path, + handler, + extra_files, + runtime, + archive_format, + requirements_file, + export_path, + ) print(f"## In directory: {os.getcwd()} | Executing command: {cmd}\n") try: subprocess.check_call(cmd, shell=True) @@ -109,19 +121,34 @@ def generate_mars(mar_config=MAR_CONFIG_FILE_PATH, model_store_dir=MODEL_STORE_D print("## {} is generated.\n".format(marfile)) mar_set.add(marfile) except subprocess.CalledProcessError as exc: - print("## {} creation failed !, error: {}\n".format(model["model_name"], exc)) - - if model.get("serialized_file_remote") and \ - model["serialized_file_remote"] and \ - os.path.exists(serialized_file_path): + print( + "## {} creation failed !, error: {}\n".format( + model["model_name"], exc + ) + ) + + if ( + model.get("serialized_file_remote") + and model["serialized_file_remote"] + and os.path.exists(serialized_file_path) + ): os.remove(serialized_file_path) os.chdir(cwd) -def model_archiver_command_builder(model_name=None, version=None, model_file=None, - serialized_file=None, handler=None, extra_files=None, - runtime=None, archive_format=None, requirements_file=None, - export_path=None, force=True): +def model_archiver_command_builder( + model_name=None, + version=None, + model_file=None, + serialized_file=None, + handler=None, + extra_files=None, + runtime=None, + archive_format=None, + requirements_file=None, + export_path=None, + force=True, +): cmd = "torch-model-archiver" if model_name: @@ -159,14 +186,21 @@ def model_archiver_command_builder(model_name=None, version=None, model_file=Non return cmd + if __name__ == "__main__": # cmd: # python ts_scripts/marsgen.py # python ts_scripts/marsgen.py --config my_mar_config.json parser = argparse.ArgumentParser(description="Generate model mar files") - parser.add_argument('--config', default=MAR_CONFIG_FILE_PATH, help="mar file configuration json file") - parser.add_argument('--model-store', default=MODEL_STORE_DIR, help="model store dir") + parser.add_argument( + "--config", + default=MAR_CONFIG_FILE_PATH, + help="mar file configuration json file", + ) + parser.add_argument( + "--model-store", default=MODEL_STORE_DIR, help="model store dir" + ) args = parser.parse_args() generate_mars(args.config, MODEL_STORE_DIR) diff --git a/ts_scripts/sanity_utils.py b/ts_scripts/sanity_utils.py index 45525160f8..c6981e9de4 100755 --- a/ts_scripts/sanity_utils.py +++ b/ts_scripts/sanity_utils.py @@ -6,6 +6,7 @@ from pathlib import Path import nvgpu +import torch from ts_scripts import marsgen as mg from ts_scripts import tsutils as ts @@ -62,148 +63,151 @@ def load_model_to_validate(): return models_to_validate -def test_sanity(): - generate_grpc_client_stubs() +def test_gpu_setup(): + is_gpu_instance = utils.is_gpu_instance() + if is_gpu_instance: + assert torch.cuda.is_available(), "## Ohh its NOT running on GPU !" - print("## Started sanity tests") - models_to_validate = load_model_to_validate() +def run_grpc_test(model: dict): + model_name = model["name"] + model_inputs = model["inputs"] - ts_log_file = os.path.join("logs", "ts_console.log") - is_gpu_instance = utils.is_gpu_instance() - - os.makedirs("model_store", exist_ok=True) - os.makedirs("logs", exist_ok=True) + # Run gRPC sanity + print("pass mg.mar_set=", mg.mar_set) + mar_set_list_str = [str(s) for s in mg.mar_set] + mar_set_str = ",".join(mar_set_list_str) + register_model_grpc_cmd = f"python ts_scripts/torchserve_grpc_client.py register {model_name} {mar_set_str}" + status = os.system(register_model_grpc_cmd) - if is_gpu_instance: - import torch + if status != 0: + print("## Failed to register model with torchserve") + sys.exit(1) + else: + print(f"## Successfully registered {model_name} model with torchserve") + + for input in model_inputs: + infer_model_grpc_cmd = [ + "python", + "ts_scripts/torchserve_grpc_client.py", + "infer", + f"{model_name}", + f"{input}", + ] + p = subprocess.run(infer_model_grpc_cmd, capture_output=True, text=True) + out = p.stdout.split("\n") + print("\n".join(out[:50])) + if len(out) > 50: + print("") + + if p.returncode != 0: + print(f"## Failed to run inference on {model_name} model") + sys.exit(1) + else: + print(f"## Successfully ran inference on {model_name} model.") - if not torch.cuda.is_available(): - sys.exit("## Ohh its NOT running on GPU !") + unregister_model_grpc_cmd = ( + f"python ts_scripts/torchserve_grpc_client.py unregister {model_name}" + ) + status = os.system(unregister_model_grpc_cmd) - started = ts.start_torchserve(log_file=ts_log_file) - if not started: + if status != 0: + print(f"## Failed to unregister {model_name}") sys.exit(1) + else: + print(f"## Successfully unregistered {model_name}") - for model_name, model in models_to_validate.items(): - model_inputs = model["inputs"] - model_handler = model["handler"] - # Run gRPC sanity - print("pass mg.mar_set=", mg.mar_set) - mar_set_list_str = [str(s) for s in mg.mar_set] - mar_set_str = ",".join(mar_set_list_str) - register_model_grpc_cmd = f"python ts_scripts/torchserve_grpc_client.py register {model_name} {mar_set_str}" - status = os.system(register_model_grpc_cmd) +def run_rest_test(model, register_model=True, unregister_model=True): + model_name = model["name"] + model_inputs = model["inputs"] + model_handler = model["handler"] - if status != 0: - print("## Failed to register model with torchserve") - sys.exit(1) - else: + if register_model: + response = ts.register_model(model_name) + if response and response.status_code == 200: print(f"## Successfully registered {model_name} model with torchserve") + else: + print(f"## Failed to register {model_name} model with torchserve") + sys.exit(1) - for input in model_inputs: - infer_model_grpc_cmd = [ - "python", - "ts_scripts/torchserve_grpc_client.py", - "infer", - f"{model_name}", - f"{input}", - ] - p = subprocess.run(infer_model_grpc_cmd, capture_output=True, text=True) - out = p.stdout.split("\n") - print("\n".join(out[:50])) - if len(out) > 50: - print("") - - if p.returncode != 0: + # For each input execute inference n=4 times + for input in model_inputs: + for i in range(4): + response = ts.run_inference(model_name, input) + if response and response.status_code == 200: + print(f"## Successfully ran inference on {model_name} model.") + else: print(f"## Failed to run inference on {model_name} model") sys.exit(1) - else: - print(f"## Successfully ran inference on {model_name} model.") - unregister_model_grpc_cmd = ( - f"python ts_scripts/torchserve_grpc_client.py unregister {model_name}" - ) - status = os.system(unregister_model_grpc_cmd) - - if status != 0: - print(f"## Failed to unregister {model_name}") - sys.exit(1) + if torch.cuda.is_available(): + if validate_model_on_gpu(): + print(f"## Model {model_name} successfully loaded on GPU") else: - print(f"## Successfully unregistered {model_name}") + sys.exit( + f"## Something went wrong, model {model_name} did not load on GPU!!" + ) - # Run REST sanity - response = ts.register_model(model_name) + # skip unregistering resnet-18 model to test snapshot feature with restart + if unregister_model: + response = ts.unregister_model(model_name) if response and response.status_code == 200: - print(f"## Successfully registered {model_name} model with torchserve") + print(f"## Successfully unregistered {model_name}") else: - print("## Failed to register model with torchserve") + print(f"## Failed to unregister {model_name}") sys.exit(1) - # For each input execute inference n=4 times - for input in model_inputs: - for i in range(4): - response = ts.run_inference(model_name, input) - if response and response.status_code == 200: - print(f"## Successfully ran inference on {model_name} model.") - else: - print(f"## Failed to run inference on {model_name} model") - sys.exit(1) - - if is_gpu_instance: - if validate_model_on_gpu(): - print(f"## Model {model_name} successfully loaded on GPU") - else: - sys.exit( - f"## Something went wrong, model {model_name} did not load on GPU!!" - ) + print(f"## {model_handler} handler is stable.") - # skip unregistering resnet-18 model to test snapshot feature with restart - if model_name != "resnet-18": - response = ts.unregister_model(model_name) - if response and response.status_code == 200: - print(f"## Successfully unregistered {model_name}") - else: - print(f"## Failed to unregister {model_name}") - sys.exit(1) - print(f"## {model_handler} handler is stable.") +def test_sanity(): + generate_grpc_client_stubs() - stopped = ts.stop_torchserve() - if not stopped: + print("## Started sanity tests") + + models_to_validate = load_model_to_validate() + + test_gpu_setup() + + ts_log_file = os.path.join("logs", "ts_console.log") + + os.makedirs("model_store", exist_ok=True) + os.makedirs("logs", exist_ok=True) + + mg.mar_set = set(os.listdir("model_store")) + started = ts.start_torchserve(log_file=ts_log_file, gen_mar=False) + if not started: sys.exit(1) resnet18_model = models_to_validate["resnet-18"] + models_to_validate = { + k: v for k, v in models_to_validate.items() if k != "resnet-18" + } + + for _, model in models_to_validate.items(): + run_grpc_test(model) + run_rest_test(model) + + run_rest_test(resnet18_model, unregister_model=False) + + stopped = ts.stop_torchserve() + if not stopped: + sys.exit(1) + # Restarting torchserve # This should restart with the generated snapshot and resnet-18 model should be automatically registered - started = ts.start_torchserve(log_file=ts_log_file) + started = ts.start_torchserve(log_file=ts_log_file, gen_mar=False) if not started: sys.exit(1) - response = ts.run_inference(resnet18_model["name"], resnet18_model["inputs"][0]) - if response and response.status_code == 200: - print(f"## Successfully ran inference on {resnet18_model['name']} model.") - else: - print(f"## Failed to run inference on {resnet18_model['name']} model") - sys.exit(1) - - response = ts.unregister_model(resnet18_model["name"]) - if response and response.status_code == 200: - print(f"## Successfully unregistered {resnet18_model['name']}") - else: - print(f"## Failed to unregister {resnet18_model['name']}") - sys.exit(1) + run_rest_test(resnet18_model, register_model=False) stopped = ts.stop_torchserve() if not stopped: sys.exit(1) - links_ok = run_markdown_link_checker() - if not links_ok: - print("##WARNING : Broken links in docs.") - def test_workflow_sanity(): current_path = os.getcwd() @@ -248,3 +252,10 @@ def test_workflow_sanity(): stopped = ts.stop_torchserve() if not stopped: sys.exit(1) + + +def test_markdown_files(): + links_ok = run_markdown_link_checker() + if not links_ok: + print("##WARNING : Broken links in docs.") + return links_ok From 99ac63f42d87ed0c7e68f20785a7a0f0526c0db1 Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Fri, 21 Apr 2023 10:32:18 -0700 Subject: [PATCH 058/172] fix (#2250) --- test/pytest/test_torch_compile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/pytest/test_torch_compile.py b/test/pytest/test_torch_compile.py index 93cf64cdc8..9983707c8b 100644 --- a/test/pytest/test_torch_compile.py +++ b/test/pytest/test_torch_compile.py @@ -1,6 +1,7 @@ import glob import json import os +import platform import subprocess import time from pathlib import Path @@ -15,6 +16,7 @@ else False ) + CURR_FILE_PATH = Path(__file__).parent TEST_DATA_DIR = os.path.join(CURR_FILE_PATH, "test_data", "torch_compile") @@ -28,6 +30,9 @@ MODEL_NAME = "half_plus_two" +@pytest.mark.skipif( + platform.system() != "Linux", reason="Skipping test on non-Linux system" +) @pytest.mark.skipif(PT_2_AVAILABLE == False, reason="torch version is < 2.0.0") class TestTorchCompile: def teardown_class(self): From 627d4b7f92bf27c9750e48d3240a4fc60fbf9eb5 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Fri, 21 Apr 2023 12:00:49 -0700 Subject: [PATCH 059/172] open github issue on regression failure (#2248) * open github issue on regression failure * Added re-usable workflow * Reverting re-usable workflow --- .github/workflows/regression_tests_cpu.yml | 8 ++++++++ .github/workflows/regression_tests_gpu.yml | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/.github/workflows/regression_tests_cpu.yml b/.github/workflows/regression_tests_cpu.yml index 1f7230963b..ad94884a2e 100644 --- a/.github/workflows/regression_tests_cpu.yml +++ b/.github/workflows/regression_tests_cpu.yml @@ -32,3 +32,11 @@ jobs: - name: Torchserve Regression Tests run: | python test/regression_tests.py + - name: Open issue on failure + if: ${{ failure() && github.event_name == 'schedule' }} + uses: dacbd/create-issue-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + title: CPU Regression tests failed + body: Commit ${{ github.sha }} daily scheduled [${{ github.workflow }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) failed, please check why + assignees: '' diff --git a/.github/workflows/regression_tests_gpu.yml b/.github/workflows/regression_tests_gpu.yml index 09e73e53b3..55739e92b8 100644 --- a/.github/workflows/regression_tests_gpu.yml +++ b/.github/workflows/regression_tests_gpu.yml @@ -44,3 +44,11 @@ jobs: - name: Torchserve Regression Tests run: | python test/regression_tests.py + - name: Open issue on failure + if: ${{ failure() && github.event_name == 'schedule' }} + uses: dacbd/create-issue-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + title: CPU Regression tests failed + body: Commit ${{ github.sha }} daily scheduled [${{ github.workflow }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) failed, please check why + assignees: '' From e2b4511b57eb039355c87507b0e52893f953f427 Mon Sep 17 00:00:00 2001 From: Morgan Du Date: Fri, 21 Apr 2023 13:29:16 -0700 Subject: [PATCH 060/172] enable torch.compile support for torch 2.0.0 pre release (#2256) --- ts/torch_handler/base_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/torch_handler/base_handler.py b/ts/torch_handler/base_handler.py index 91b983a859..8a4f77b054 100644 --- a/ts/torch_handler/base_handler.py +++ b/ts/torch_handler/base_handler.py @@ -37,7 +37,7 @@ XLA_AVAILABLE = False -if packaging.version.parse(torch.__version__) >= packaging.version.parse("2.0.0"): +if packaging.version.parse(torch.__version__) >= packaging.version.parse("2.0.0a"): PT2_AVAILABLE = True if torch.cuda.is_available(): # If Ampere enable tensor cores which will give better performance From 419edb6f6fa22f07c8192d50807c437d1af80ce0 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Fri, 21 Apr 2023 21:34:54 +0000 Subject: [PATCH 061/172] http stream response via http 1.1 chunked encoding (#2233) * set chunked repsonse * precommit fmt * fmt * fix doc typos * Add comments * fmt * fmt --- docs/inference_api.md | 33 +++++++- .../java/org/pytorch/serve/job/GRPCJob.java | 3 +- .../java/org/pytorch/serve/job/RestJob.java | 77 ++++++++++++++----- .../org/pytorch/serve/util/NettyUtils.java | 9 ++- .../pytorch/serve/wlm/BatchAggregator.java | 25 ++++-- .../org/pytorch/serve/wlm/WorkerThread.java | 45 ++++------- test/pytest/test_handler.py | 26 +++++++ ts/protocol/otf_message_handler.py | 8 +- 8 files changed, 158 insertions(+), 68 deletions(-) diff --git a/docs/inference_api.md b/docs/inference_api.md index ef85e4ffc5..bd7b73a221 100644 --- a/docs/inference_api.md +++ b/docs/inference_api.md @@ -75,7 +75,7 @@ To get predictions from a specific version of each loaded model, make a REST cal * POST /predictions/{model_name}/{version} -## curl Example +### curl Example ```bash curl -O https://raw.githubusercontent.com/pytorch/serve/master/docs/images/kitten_small.jpg @@ -95,6 +95,34 @@ The result is JSON that tells you that the image is most likely a tabby cat. The "probability": 0.42514491081237793 } ``` +* Streaming response via HTTP 1.1 chunked encoding +TorchServe the inference API support streaming response to allow a sequence of inference responses to be sent over HTTP 1.1 chunked encoding. This new feature is only recommended for use case when the inference latency of the full response is high and the inference intermediate results are sent to client. An example could be LLMs for generative applications, where generating "n" number of tokens can have high latency, in this case user can receive each generated token once ready until the full response completes. To achieve streaming response, backend handler calls "send_intermediate_predict_response" to send one intermediate result to frontend, and return the last result as the existing style. For example, +``` +from ts.protocol.otf_message_handler import send_intermediate_predict_response +def handle(data, context): + if type(data) is list: + for i in range (3): + send_intermediate_predict_response(["intermediate_response"], context.request_ids, "Intermediate Prediction success", 200, context) + return ["hello world "] +``` +Client side receives the chunked data. +``` +def test_echo_stream_inference(): + test_utils.start_torchserve(no_config_snapshots=True, gen_mar=False) + test_utils.register_model('echo_stream', + 'https://torchserve.pytorch.org/mar_files/echo_stream.mar') + + response = requests.post(TF_INFERENCE_API + '/predictions/echo_stream', data="foo", stream=True) + assert response.headers['Transfer-Encoding'] == 'chunked' + + prediction = [] + for chunk in (response.iter_content(chunk_size=None)): + if chunk: + prediction.append(chunk.decode("utf-8")) + + assert str(" ".join(prediction)) == "hello hello hello hello world " + test_utils.unregister_model('echo_stream') +``` ## Explanations API Torchserve makes use of Captum's functionality to return the explanations of the models that is served. @@ -181,10 +209,9 @@ The result is a json that gives you the explanations for the input json 0.007599905146155397, , , - , + , ] ] ] ] } - diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java index 8ad47ef06e..ade072d843 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java @@ -109,7 +109,8 @@ public void response( @Override public void sendError(int status, String error) { Status responseStatus = GRPCUtils.getGRPCStatusCode(status); - if (this.getCmd() == WorkerCommands.PREDICT) { + if (this.getCmd() == WorkerCommands.PREDICT + || this.getCmd() == WorkerCommands.STREAMPREDICT) { predictionResponseObserver.onError( responseStatus .withDescription(error) diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index d382c32999..192fe3e2b5 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -1,13 +1,20 @@ package org.pytorch.serve.job; +import static org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT; + import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.http.DefaultFullHttpResponse; +import io.netty.handler.codec.http.DefaultHttpContent; +import io.netty.handler.codec.http.DefaultHttpResponse; import io.netty.handler.codec.http.FullHttpResponse; import io.netty.handler.codec.http.HttpHeaderNames; import io.netty.handler.codec.http.HttpHeaderValues; +import io.netty.handler.codec.http.HttpResponse; import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.handler.codec.http.HttpVersion; +import io.netty.handler.codec.http.LastHttpContent; import io.netty.util.CharsetUtil; import java.util.ArrayList; import java.util.Map; @@ -38,6 +45,11 @@ public class RestJob extends Job { private ChannelHandlerContext ctx; private CompletableFuture responsePromise; + /** + * numStreams is used to track 4 cases -1: stream end 0: non-stream response (default use case) + * 1: the first stream response [2, max_integer]: the 2nd and more stream response + */ + private int numStreams; public RestJob( ChannelHandlerContext ctx, @@ -47,6 +59,7 @@ public RestJob( RequestInput input) { super(modelName, version, cmd, input); this.ctx = ctx; + this.numStreams = 0; } @Override @@ -117,7 +130,14 @@ private void responseInference( (statusPhrase == null) ? HttpResponseStatus.valueOf(statusCode) : new HttpResponseStatus(statusCode, statusPhrase); - FullHttpResponse resp = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status, false); + HttpResponse resp; + + if (responseHeaders != null && responseHeaders.containsKey(TS_STREAM_NEXT)) { + resp = new DefaultHttpResponse(HttpVersion.HTTP_1_1, status, false); + numStreams = responseHeaders.get(TS_STREAM_NEXT).equals("true") ? numStreams + 1 : -1; + } else { + resp = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status, false); + } if (contentType != null && contentType.length() > 0) { resp.headers().set(HttpHeaderNames.CONTENT_TYPE, contentType); @@ -127,7 +147,9 @@ private void responseInference( resp.headers().set(e.getKey(), e.getValue()); } } - resp.content().writeBytes(body); + if (resp instanceof DefaultFullHttpResponse) { + ((DefaultFullHttpResponse) resp).content().writeBytes(body); + } /* * We can load the models based on the configuration file.Since this Job is @@ -136,29 +158,42 @@ private void responseInference( * by external clients. */ if (ctx != null) { - MetricAggregator.handleInferenceMetric( - getModelName(), getModelVersion(), getScheduled() - getBegin(), inferTime); - NettyUtils.sendHttpResponse(ctx, resp, true); + if (numStreams == 0) { // non-stream response + MetricAggregator.handleInferenceMetric( + getModelName(), getModelVersion(), getScheduled() - getBegin(), inferTime); + NettyUtils.sendHttpResponse(ctx, resp, true); + } else if (numStreams == -1) { // the last response in a stream + MetricAggregator.handleInferenceMetric( + getModelName(), getModelVersion(), getScheduled() - getBegin(), inferTime); + ctx.writeAndFlush(new DefaultHttpContent(Unpooled.wrappedBuffer(body))); + ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); + } else if (numStreams == 1) { // the first response in a stream + NettyUtils.sendHttpResponse(ctx, resp, true); + } else if (numStreams > 1) { // the 2nd+ response in a stream + ctx.writeAndFlush(new DefaultHttpContent(Unpooled.wrappedBuffer(body))); + } } else if (responsePromise != null) { responsePromise.complete(body); } - logger.debug( - "Waiting time ns: {}, Backend time ns: {}", - getScheduled() - getBegin(), - System.nanoTime() - getScheduled()); - String queueTime = - String.valueOf( - TimeUnit.MILLISECONDS.convert( - getScheduled() - getBegin(), TimeUnit.NANOSECONDS)); - loggerTsMetrics.info( - "{}", - new Metric( - "QueueTime", - queueTime, - "ms", - ConfigManager.getInstance().getHostName(), - DIMENSION)); + if (numStreams <= 0) { + logger.debug( + "Waiting time ns: {}, Backend time ns: {}", + getScheduled() - getBegin(), + System.nanoTime() - getScheduled()); + String queueTime = + String.valueOf( + TimeUnit.MILLISECONDS.convert( + getScheduled() - getBegin(), TimeUnit.NANOSECONDS)); + loggerTsMetrics.info( + "{}", + new Metric( + "QueueTime", + queueTime, + "ms", + ConfigManager.getInstance().getHostName(), + DIMENSION)); + } } @Override diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java index 31d873d02d..2ee296fc32 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java @@ -12,6 +12,7 @@ import io.netty.handler.codec.http.HttpHeaderValues; import io.netty.handler.codec.http.HttpHeaders; import io.netty.handler.codec.http.HttpRequest; +import io.netty.handler.codec.http.HttpResponse; import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.handler.codec.http.HttpUtil; import io.netty.handler.codec.http.HttpVersion; @@ -142,7 +143,7 @@ public static void sendError( * @param keepAlive if keep the connection */ public static void sendHttpResponse( - ChannelHandlerContext ctx, FullHttpResponse resp, boolean keepAlive) { + ChannelHandlerContext ctx, HttpResponse resp, boolean keepAlive) { // Send the response and close the connection if necessary. Channel channel = ctx.channel(); Session session = channel.attr(SESSION_KEY).getAndSet(null); @@ -189,7 +190,11 @@ public static void sendHttpResponse( headers.set("Cache-Control", "no-cache; no-store, must-revalidate, private"); headers.set("Expires", "Thu, 01 Jan 1970 00:00:00 UTC"); - HttpUtil.setContentLength(resp, resp.content().readableBytes()); + if (resp instanceof FullHttpResponse) { + HttpUtil.setContentLength(resp, ((FullHttpResponse) resp).content().readableBytes()); + } else { + HttpUtil.setTransferEncodingChunked(resp, true); + } if (!keepAlive || code >= 400) { headers.set(HttpHeaderNames.CONNECTION, HttpHeaderValues.CLOSE); ChannelFuture f = channel.writeAndFlush(resp); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java index e60dfd5433..0e916a9526 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java @@ -1,7 +1,5 @@ package org.pytorch.serve.wlm; -import static org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT; - import java.util.LinkedHashMap; import java.util.Map; import org.pytorch.serve.job.Job; @@ -61,13 +59,18 @@ public BaseModelRequest getRequest(String threadName, WorkerState state) return req; } - public void sendResponse(ModelWorkerResponse message) { + /** + * @param message: a response of a batch inference requests + * @return - true: either a non-stream response or last stream response is sent - false: a + * stream response (not include the last stream) is sent + */ + public boolean sendResponse(ModelWorkerResponse message) { boolean jobDone = true; // TODO: Handle prediction level code if (message.getCode() == 200) { if (jobs.isEmpty()) { // this is from initial load. - return; + return true; } for (Predictions prediction : message.getPredictions()) { String jobId = prediction.getRequestId(); @@ -77,9 +80,16 @@ public void sendResponse(ModelWorkerResponse message) { throw new IllegalStateException( "Unexpected job in sendResponse() with 200 status code: " + jobId); } - if (job.getCmd() == WorkerCommands.STREAMPREDICT - && prediction.getHeaders().get(TS_STREAM_NEXT).equals("true")) { - jobDone = false; + if (jobDone) { + String streamNext = + prediction + .getHeaders() + .get( + org.pytorch.serve.util.messages.RequestInput + .TS_STREAM_NEXT); + if (streamNext != null && streamNext.equals("true")) { + jobDone = false; + } } job.response( prediction.getResp(), @@ -103,6 +113,7 @@ public void sendResponse(ModelWorkerResponse message) { if (jobDone) { jobs.clear(); } + return jobDone; } public void sendError(BaseModelRequest message, String error, int status) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index f95d66ba0f..a9aa50ddf2 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -36,7 +36,6 @@ import org.pytorch.serve.util.codec.ModelResponseDecoder; import org.pytorch.serve.util.messages.BaseModelRequest; import org.pytorch.serve.util.messages.InputParameter; -import org.pytorch.serve.util.messages.ModelInferenceRequest; import org.pytorch.serve.util.messages.ModelWorkerResponse; import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.util.messages.WorkerCommands; @@ -187,7 +186,9 @@ public void run() { logger.info("Flushing req.cmd {} to backend at: {}", req.getCommand(), wtStartTime); int repeats = (req.getCommand() == WorkerCommands.LOAD) - || (req.getCommand() == WorkerCommands.PREDICT + || ((req.getCommand() == WorkerCommands.PREDICT + || req.getCommand() + == WorkerCommands.STREAMPREDICT) && model.getParallelLevel() > 1 && model.getParallelType() != ModelConfig.ParallelType.PP) @@ -200,46 +201,29 @@ public void run() { boolean isStreaming = req.getCommand() == WorkerCommands.STREAMPREDICT ? true : false; ModelWorkerResponse reply = null; - long duration = 0; - long begin = System.currentTimeMillis(); - if (!isStreaming) { + boolean jobDone = false; + long totalDuration = 0; + do { + long begin = System.currentTimeMillis(); for (int i = 0; i < repeats; i++) { reply = replies.poll(responseTimeout, TimeUnit.SECONDS); } - duration = System.currentTimeMillis() - begin; - logger.info("Backend response time: {}", duration); + long duration = System.currentTimeMillis() - begin; if (reply != null) { - aggregator.sendResponse(reply); + jobDone = aggregator.sendResponse(reply); + logger.debug("sent a reply, jobdone: {}", jobDone); } else if (req.getCommand() != WorkerCommands.DESCRIBE) { int val = model.incrFailedInfReqs(); logger.error("Number or consecutive unsuccessful inference {}", val); throw new WorkerInitializationException( "Backend worker did not respond in given time"); } - } else { - ModelInferenceRequest inferReq = (ModelInferenceRequest) req; - boolean streamNext = true; - while (streamNext) { - for (int i = 0; i < repeats; i++) { - reply = replies.poll(responseTimeout, TimeUnit.SECONDS); - } - if (reply.getPredictions() - .get(0) - .getHeaders() - .get(org.pytorch.serve.util.messages.RequestInput.TS_STREAM_NEXT) - .equals("false")) { - duration = System.currentTimeMillis() - begin; - logger.info("Backend response time: {}", duration); - streamNext = false; - } - if (reply != null) { - aggregator.sendResponse(reply); - } - } - } + totalDuration += duration; + } while (!jobDone); + logger.info("Backend response time: {}", totalDuration); switch (req.getCommand()) { case PREDICT: @@ -272,7 +256,8 @@ public void run() { } req = null; String workerThreadTime = - String.valueOf(((System.currentTimeMillis() - wtStartTime) - duration)); + String.valueOf( + ((System.currentTimeMillis() - wtStartTime) - totalDuration)); loggerTsMetrics.info( "{}", new Metric( diff --git a/test/pytest/test_handler.py b/test/pytest/test_handler.py index 143b6550d7..5f46ba2275 100644 --- a/test/pytest/test_handler.py +++ b/test/pytest/test_handler.py @@ -109,13 +109,19 @@ def mnist_model_register_and_scale_using_non_existent_handler_asynchronous(): def run_inference_using_url_with_data(purl=None, pfiles=None, ptimeout=120): + print(f"purl={purl}") + print(f"pfiles={pfiles}") if purl is None and pfiles is None: return + print(f"purl1={purl}") + print(f"pfiles1={pfiles}") try: response = requests.post(url=purl, files=pfiles, timeout=ptimeout) except: + print(f"sent echo_stream rep=none") return None else: + print(f"sent echo_stream rep={response}") return response @@ -387,3 +393,23 @@ def test_huggingface_bert_model_parallel_inference(): "Running model parallel inference requuires more than one gpu, number of available gpus on thi machine is: ", number_of_gpus, ) + + +def test_echo_stream_inference(): + test_utils.start_torchserve(no_config_snapshots=True, gen_mar=False) + test_utils.register_model( + "echo_stream", "https://torchserve.pytorch.org/mar_files/echo_stream.mar" + ) + + response = requests.post( + TF_INFERENCE_API + "/predictions/echo_stream", data="foo", stream=True + ) + assert response.headers["Transfer-Encoding"] == "chunked" + + prediction = [] + for chunk in response.iter_content(chunk_size=None): + if chunk: + prediction.append(chunk.decode("utf-8")) + + assert str(" ".join(prediction)) == "hello hello hello hello world " + test_utils.unregister_model("echo_stream") diff --git a/ts/protocol/otf_message_handler.py b/ts/protocol/otf_message_handler.py index fce4abe65f..d05c472b6b 100644 --- a/ts/protocol/otf_message_handler.py +++ b/ts/protocol/otf_message_handler.py @@ -79,11 +79,11 @@ def create_predict_response( if context is None: msg += struct.pack("!i", 0) # content_type else: - if "true" == context.get_request_header(idx, "ts_stream_next"): - if ts_stream_next is False: + if ts_stream_next is True: + context.set_response_header(idx, "ts_stream_next", "true") + else: + if "true" == context.get_response_headers(idx).get("ts_stream_next"): context.set_response_header(idx, "ts_stream_next", "false") - else: - context.set_response_header(idx, "ts_stream_next", "true") content_type = context.get_response_content_type(idx) if content_type is None or len(content_type) == 0: From 03fbca644b0108a57c163361b3e54a49778c3bfe Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Fri, 21 Apr 2023 22:14:31 +0000 Subject: [PATCH 062/172] update ping endpoint default behavior (#2254) * precommit fmt * update test * fix test --- docs/inference_api.md | 5 ++++ .../serve/archive/model/ModelConfig.java | 21 ++++++++++++- .../pytorch/serve/grpcimpl/InferenceImpl.java | 12 ++++++-- .../api/rest/InferenceRequestHandler.java | 12 +++++--- .../java/org/pytorch/serve/util/ApiUtils.java | 17 +++++++++++ .../java/org/pytorch/serve/wlm/Model.java | 10 +++++++ .../org/pytorch/serve/wlm/ModelManager.java | 4 +++ .../pytorch/serve/wlm/WorkLoadManager.java | 15 ++++++++++ .../org/pytorch/serve/wlm/WorkerThread.java | 30 +++++++++++++++++-- .../org/pytorch/serve/ModelServerTest.java | 8 +++++ 10 files changed, 123 insertions(+), 11 deletions(-) diff --git a/docs/inference_api.md b/docs/inference_api.md index bd7b73a221..b8c1012dbb 100644 --- a/docs/inference_api.md +++ b/docs/inference_api.md @@ -41,6 +41,11 @@ If the server is running, the response is: } ``` +"maxRetryTimeoutInSec" (default: 5MIN) can be defined in a model's config yaml file(eg. model-config.yaml). It is the maximum time window of recovering a dead backend worker. A healthy worker can be in the state: WORKER_STARTED, WORKER_MODEL_LOADED, or WORKER_STOPPED within maxRetryTimeoutInSec window. "Ping" endpont" +* return 200 + json message "healthy": for any model, the number of active workers is equal or larger than the configured minWorkers. +* return 500 + json message "unhealthy": for any model, the number of active workers is less than the configured minWorkers. + + ## Predictions API This API follows the [InferenceAPIsService.Predictions](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/resources/proto/inference.proto) gRPC API. It returns the status of a model in the ModelServer. diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java index 1630cde83e..32d0687876 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java @@ -15,12 +15,13 @@ public class ModelConfig { private int maxWorkers; private int batchSize; private int maxBatchDelay; - private int responseTimeout; + private int responseTimeout = 120; // unit: sec private DeviceType deviceType = DeviceType.NONE; private List deviceIds; private int parallelLevel = 1; private ParallelType parallelType = ParallelType.NONE; private TorchRun torchRun; + private int maxRetryTimeoutInSec = 300; public static ModelConfig build(Map yamlMap) { ModelConfig modelConfig = new ModelConfig(); @@ -94,6 +95,14 @@ public static ModelConfig build(Map yamlMap) { "Invalid torchrun: {}, should be Torchrun parameters", v); } break; + case "maxRetryTimeoutInSec": + if (v instanceof Integer) { + modelConfig.setMaxRetryTimeoutInSec((int) v); + } else { + logger.warn( + "Invalid maxRetryTimeoutInMin: {}, should be integer", v); + } + break; default: break; } @@ -211,6 +220,16 @@ public TorchRun getTorchRun() { return torchRun; } + public int getMaxRetryTimeoutInSec() { + return maxRetryTimeoutInSec; + } + + public void setMaxRetryTimeoutInSec(int maxRetryTimeoutInSec) { + if (maxRetryTimeoutInSec > 0) { + this.maxRetryTimeoutInSec = maxRetryTimeoutInSec; + } + } + public enum ParallelType { NONE(""), PP("pp"), diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java index a2b823cdea..4c17a9d73a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java @@ -45,13 +45,19 @@ public void ping(Empty request, StreamObserver respons }); Runnable r = () -> { - String response = ApiUtils.getWorkerStatus(); + boolean isHealthy = ApiUtils.isModelHealthy(); + int code = HttpURLConnection.HTTP_OK; + String response = "Healthy"; + if (!isHealthy) { + response = "Unhealthy"; + code = HttpURLConnection.HTTP_INTERNAL_ERROR; + } + TorchServeHealthResponse reply = TorchServeHealthResponse.newBuilder() .setHealth( JsonUtils.GSON_PRETTY_EXPOSED.toJson( - new StatusResponse( - response, HttpURLConnection.HTTP_OK))) + new StatusResponse(response, code))) .build(); responseObserver.onNext(reply); responseObserver.onCompleted(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java index 308c796a0a..c482c40ecf 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java @@ -65,11 +65,15 @@ public void handleRequest( case "ping": Runnable r = () -> { - String response = ApiUtils.getWorkerStatus(); + boolean isHealthy = ApiUtils.isModelHealthy(); + int code = HttpURLConnection.HTTP_OK; + String response = "Healthy"; + if (!isHealthy) { + response = "Unhealthy"; + code = HttpURLConnection.HTTP_INTERNAL_ERROR; + } NettyUtils.sendJsonResponse( - ctx, - new StatusResponse( - response, HttpURLConnection.HTTP_OK)); + ctx, new StatusResponse(response, code)); }; ApiUtils.getTorchServeHealth(r); break; diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java index 586fa0167c..43e2954272 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java @@ -372,6 +372,23 @@ public static String getWorkerStatus() { return response; } + public static boolean isModelHealthy() { + ModelManager modelManager = ModelManager.getInstance(); + int numHealthy = 0; + int numScaled = 0; + + for (Map.Entry m : modelManager.getAllModels()) { + numScaled = m.getValue().getDefaultModel().getMinWorkers(); + numHealthy = + modelManager.getNumHealthyWorkers( + m.getValue().getDefaultModel().getModelVersionName()); + if (numHealthy < numScaled) { + return false; + } + } + return true; + } + private static DescribeModelResponse createModelResponse( ModelManager modelManager, String modelName, Model model) { DescribeModelResponse resp = new DescribeModelResponse(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 7d3867840b..ba0a768d70 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -41,6 +41,7 @@ public class Model { private int batchSize; private int maxBatchDelay; private int parallelLevel = 1; + private long maxRetryTimeoutInMill = 5 * 60 * 1000; private ModelConfig.ParallelType parallelType = ModelConfig.ParallelType.NONE; private ModelConfig.DeviceType deviceType = ConfigManager.getInstance().getNumberOfGpu() > 0 @@ -90,6 +91,7 @@ public Model(ModelArchive modelArchive, int queueSize) { } } } + maxRetryTimeoutInMill = modelArchive.getModelConfig().getMaxRetryTimeoutInSec() * 1000; } else { batchSize = 1; maxBatchDelay = 100; @@ -339,4 +341,12 @@ public AtomicInteger getGpuCounter() { public boolean isHasCfgDeviceIds() { return hasCfgDeviceIds; } + + public long getMaxRetryTimeoutInMill() { + return maxRetryTimeoutInMill; + } + + public void setMaxRetryTimeoutInMill(long maxRetryTimeoutInMill) { + this.maxRetryTimeoutInMill = maxRetryTimeoutInMill; + } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java index e0f0f7b99b..28c9f9c698 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java @@ -566,4 +566,8 @@ public Set> getAllModels() { public int getNumRunningWorkers(ModelVersionName modelVersionName) { return wlm.getNumRunningWorkers(modelVersionName); } + + public int getNumHealthyWorkers(ModelVersionName modelVersionName) { + return wlm.getNumHealthyWorkers(modelVersionName); + } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java index 14fecc49fa..d944e9592d 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java @@ -84,6 +84,21 @@ public int getNumRunningWorkers(ModelVersionName modelVersionName) { return numWorking; } + public int getNumHealthyWorkers(ModelVersionName modelVersionName) { + int numHealthy = 0; + List threads = workers.getOrDefault(modelVersionName, null); + + if (threads != null) { + for (WorkerThread thread : threads) { + if (thread.isHealthy()) { + numHealthy += 1; + } + } + } + + return numHealthy; + } + /** * Checks if cpu_launcher is enabled and currentWorkers > 0 (i.e., not initializing workers). * Workers are restarted so that when dynamically scaling the number of workers, cores that were diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index a9aa50ddf2..00beddf1f5 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -77,6 +77,7 @@ public class WorkerThread implements Runnable { private WorkerState state; private WorkerLifeCycle lifeCycle; private int responseTimeout; + private long recoveryStartTS; // 0: default value. no recovery needed, in healthy mode public WorkerThread( ConfigManager configManager, @@ -314,7 +315,9 @@ public void run() { } setState(WorkerState.WORKER_STOPPED, status); lifeCycle.exit(); - retry(); + if (isHealthy()) { // still within maxRetryTimeoutInMill window + retry(); + } } } @@ -466,16 +469,29 @@ public void setState(WorkerState newState, int status) { listener.notifyChangeState( model.getModelVersionName().getVersionedModelName(), newState, status); logger.debug("{} State change {} -> {}", getWorkerName(), state, newState); - long timeTaken = System.currentTimeMillis() - startTime; + long currentTS = System.currentTimeMillis(); + long timeTaken = currentTS - startTime; if (state != WorkerState.WORKER_SCALED_DOWN) { // Don't update the state if it was terminated on purpose.. Scaling in.. this.state = newState; } + if (state == WorkerState.WORKER_MODEL_LOADED) { workerLoadTime.setValue(String.valueOf(timeTaken)); workerLoadTime.setTimestamp( String.valueOf(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()))); loggerTsMetrics.info("{}", workerLoadTime); + if (recoveryStartTS > 0) { + logger.info("Auto recovery succeeded, reset recoveryStartTS"); + recoveryStartTS = 0; + } + } else if (state == WorkerState.WORKER_STOPPED) { + if (recoveryStartTS == 0) { + recoveryStartTS = currentTS; + logger.info("Auto recovery start timestamp: {}", recoveryStartTS); + } else { + logger.warn("Auto recovery failed again"); + } } } @@ -490,7 +506,6 @@ public void retry() { if (backoffIdx < BACK_OFF.length - 1) { ++backoffIdx; } - manager.getScheduler() .schedule(() -> manager.submitTask(this), BACK_OFF[backoffIdx], TimeUnit.SECONDS); logger.info("Retry worker: {} in {} seconds.", workerId, BACK_OFF[backoffIdx]); @@ -513,6 +528,15 @@ private String getDeviceIds() { } } + public boolean isHealthy() { + if (recoveryStartTS == 0 + || (System.currentTimeMillis() - recoveryStartTS) + < model.getMaxRetryTimeoutInMill()) { + return true; + } + return false; + } + @ChannelHandler.Sharable private class WorkerHandler extends SimpleChannelInboundHandler { diff --git a/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java b/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java index f60dc72cbf..9a4b55fa08 100644 --- a/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java +++ b/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java @@ -1873,6 +1873,14 @@ public void testScaleModelFailure() throws InterruptedException, SkipException { Assert.assertEquals(resp.getCode(), HttpResponseStatus.INTERNAL_SERVER_ERROR.code()); Assert.assertEquals( resp.getMessage(), "Failed to start workers for model init-error version: null"); + + TestUtils.ping(configManager); + TestUtils.getLatch().await(); + // There is a retry time window. To reduce CI latency, + // it is fine for ping to either 200 or 500. + Assert.assertTrue( + TestUtils.getHttpStatus().equals(HttpResponseStatus.INTERNAL_SERVER_ERROR) + || TestUtils.getHttpStatus().equals(HttpResponseStatus.OK)); } @Test( From a9e218ae95fe7690c84b555d0fb9021322c9b049 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Fri, 21 Apr 2023 16:42:08 -0700 Subject: [PATCH 063/172] Increase collection of benchmark artifacts to 30 for better averaging (#2257) * Change window size of benchmark reports to 30, also turn off erroring * If throughput increases, metric_valid = True --- benchmarks/utils/report.py | 2 +- benchmarks/utils/update_artifacts.py | 6 +----- benchmarks/validate_report.py | 3 --- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/benchmarks/utils/report.py b/benchmarks/utils/report.py index 7e442d9b4e..e5980c2eaa 100644 --- a/benchmarks/utils/report.py +++ b/benchmarks/utils/report.py @@ -65,7 +65,7 @@ def metric_valid(key, obs_val, exp_val, threshold): if "throughput" not in key: lower = True return check_if_within_threshold(exp_val, obs_val, threshold) or ( - (obs_val < exp_val and lower) + (obs_val < exp_val and lower) or (obs_val > exp_val and not lower) ) diff --git a/benchmarks/utils/update_artifacts.py b/benchmarks/utils/update_artifacts.py index 28e41cce7d..6b2dcc4f39 100644 --- a/benchmarks/utils/update_artifacts.py +++ b/benchmarks/utils/update_artifacts.py @@ -5,7 +5,7 @@ BENCHMARK_REPORT_PATH = "/tmp/ts_benchmark" BENCHMARK_ARTIFACTS_PATH = "/tmp/ts_artifacts" BENCHMARK_REPORT_FILE = "ab_report.csv" -WINDOW_LEN = 8 +WINDOW_LEN = 30 WINDOW_START = 0 ################################################################ @@ -45,7 +45,6 @@ # Copy BENCHMARK_REPORT_FILE to artifacts def copy_benchmark_reports(input, output): - for dir in os.listdir(input): if os.path.isdir(os.path.join(input, dir)): new_dir = os.path.join(output, dir) @@ -55,7 +54,6 @@ def copy_benchmark_reports(input, output): # Save new report and delete the oldest report def update_new_report(input_dir, output_dir, add_report_id, del_report_id): - # Add new report new_dir = os.path.join(output_dir, str(add_report_id)) print("Creating artifacts ", new_dir) @@ -70,7 +68,6 @@ def update_new_report(input_dir, output_dir, add_report_id, del_report_id): # Create artifacts for a period of rolling WINDOW_LEN-1 reports def update_artifacts(input_dir, output_dir): - # Create a drectory where artifacts will be stored os.makedirs(output_dir, exist_ok=True) @@ -87,7 +84,6 @@ def update_artifacts(input_dir, output_dir): # When there are WINDOW_LEN - 1 reports and we want to add the new report # and remove the oldest report for i, report_id in enumerate(list_dirs): - if i != report_id or (i + 1 == WINDOW_LEN - 1): if i != report_id: # When report_id has a missing element in sequence diff --git a/benchmarks/validate_report.py b/benchmarks/validate_report.py index cc91f81c5b..968ed456ae 100644 --- a/benchmarks/validate_report.py +++ b/benchmarks/validate_report.py @@ -63,9 +63,6 @@ def validate_reports(artifacts_dir, report_dir, deviation): if not error: print(f"Model {model} successfully validated") - if error: - raise Exception("Failures in benchmark validation") - def main(): parser = argparse.ArgumentParser() From 49a79935853009ad2055c8ac9f5b01a3e97abfcc Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Mon, 24 Apr 2023 23:19:23 +0000 Subject: [PATCH 064/172] deepspeed base handler and example (#2218) * precommit fmt * precommit fmt * precommit fmt * precommit * update doc * update requirements * precommit fmt * update doc * update doc * update handler * precommit fmt * precommit fmt * precommit fmt * update doc * update doc * precommit fmt * fix stream regression test * precommit fmt * delete bloom exampple, and update doc --- docs/large_model_inference.md | 92 +++++++++++++- .../deepspeed/opt/Download_models.py | 51 ++++++++ examples/large_models/deepspeed/opt/Readme.md | 47 +++++++ .../deepspeed/opt/custom_handler.py | 120 ++++++++++++++++++ .../large_models/deepspeed/opt/ds-config.json | 7 + .../deepspeed/opt/model-config.yaml | 18 +++ .../deepspeed/opt/requirements.txt | 2 + .../deepspeed/opt/sample_text.txt | 1 + .../java/org/pytorch/serve/job/RestJob.java | 5 +- .../org/pytorch/serve/util/ConfigManager.java | 3 + requirements/developer.txt | 2 +- test/postman/large_model_inference_data.json | 8 ++ .../test_distributed_inference_handler.py | 5 +- test/resources/config.properties | 1 + ts/handler_utils/distributed/deepspeed.py | 42 ++++++ .../distributed/base_deepspeed_handler.py | 14 ++ 16 files changed, 407 insertions(+), 11 deletions(-) create mode 100644 examples/large_models/deepspeed/opt/Download_models.py create mode 100644 examples/large_models/deepspeed/opt/Readme.md create mode 100644 examples/large_models/deepspeed/opt/custom_handler.py create mode 100644 examples/large_models/deepspeed/opt/ds-config.json create mode 100644 examples/large_models/deepspeed/opt/model-config.yaml create mode 100644 examples/large_models/deepspeed/opt/requirements.txt create mode 100644 examples/large_models/deepspeed/opt/sample_text.txt create mode 100644 ts/handler_utils/distributed/deepspeed.py create mode 100644 ts/torch_handler/distributed/base_deepspeed_handler.py diff --git a/docs/large_model_inference.md b/docs/large_model_inference.md index b6ad5f81bb..18b97f5c40 100644 --- a/docs/large_model_inference.md +++ b/docs/large_model_inference.md @@ -7,7 +7,7 @@ This document explain how Torchserve supports large model serving, here large mo PiPPy provides pipeline parallelism for serving large models that would not fit into one gpu. It takes your model and splits it into equal sizes (stages) partitioned over the number devices you specify. Then uses microbatching to run your batched input for inference ( its is more optimal for batch sizes >1). -## How to use PiPPy in Torchserve +### How to use PiPPy in Torchserve To use Pippy in Torchserve, we need to use a custom handler which inherits from base_pippy_handler and put our setting in model-config.yaml. @@ -35,19 +35,18 @@ class ModelHandler(BasePippyHandler, ABC): Here is what your `model-config.yaml` needs, this config file is very flexible, you can add setting related to frontend, backend and handler. -```bash +```yaml #frontend settings minWorkers: 1 maxWorkers: 1 maxBatchDelay: 100 responseTimeout: 120 -parallelLevel: 4 deviceType: "gpu" -parallelType: "pp" #options depending on the solution, pp(pipeline parallelism), tp(tensor parallelism), pptp ( pipeline and tensor parallelism) +parallelType: "pp" # options depending on the solution, pp(pipeline parallelism), tp(tensor parallelism), pptp ( pipeline and tensor parallelism) # This will be used to route input to either rank0 or all ranks from fontend based on the solution (e.g. DeepSpeed support tp, PiPPy support pp) torchrun: nproc-per-node: 4 # specifies the number of processes torchrun starts to serve your model, set to world_size or number of - # gpus you wish to split your model + # gpus you wish to split your model #backend settings pippy: chunks: 1 # This sets the microbatch sizes, microbatch = batch size/ chunks @@ -73,8 +72,89 @@ The rest is as usual in Torchserve, basically packaging your model and starting Example of the command for packaging your model, make sure you pass model-config.yaml ```bash -torch-model-archiver --model-name bloom --version 1.0 --handler pippy_handler.py --extra-files --extra-files $MODEL_CHECKPOINTS_PATH -r requirements.txt --config-file model-config.yaml --archive-format tgz +torch-model-archiver --model-name bloom --version 1.0 --handler pippy_handler.py --extra-files $MODEL_CHECKPOINTS_PATH -r requirements.txt --config-file model-config.yaml --archive-format tgz ``` Tensor Parallel support in progress and will be added as soon as ready. + +## DeepSpeed + +[DeepSpeed-Inference](https://www.deepspeed.ai/inference/) is an open source project of MicroSoft. It provides model parallelism for serving large transformer based PyTorch models that would not fit into one gpu memory. + + +### How to use DeepSpeed in TorchServe + +To use DeepSpeed in TorchServe, we need to use a custom handler which inherits from base_deepspeed_handler and put our setting in model-config.yaml. + +It would look like below: + +Create `custom_handler.py` or any other descriptive name. + +```python +#DO import the necessary packages along with following +from ts.handler_utils.distributed.deepspeed import get_ds_engine +from ts.torch_handler.distributed.base_deepspeed_handler import BaseDeepSpeedHandler +class ModelHandler(BaseDeepSpeedHandler, ABC): + def __init__(self): + super(ModelHandler, self).__init__() + self.initialized = False + def initialize(self, ctx): + model = # load your model from model_dir + ds_engine = get_ds_engine(self.model, ctx) + self.model = ds_engine.module + self.initialized = True +``` + +Here is what your `model-config.yaml` needs, this config file is very flexible, you can add setting related to frontend, backend and handler. + +```yaml +#frontend settings +minWorkers: 1 +maxWorkers: 1 +maxBatchDelay: 100 +responseTimeout: 120 +deviceType: "gpu" +parallelType: "tp" # options depending on the solution, pp(pipeline parallelism), tp(tensor parallelism), pptp ( pipeline and tensor parallelism) + # This will be used to route input to either rank0 or all ranks from fontend based on the solution (e.g. DeepSpeed support tp, PiPPy support pp) +torchrun: + nproc-per-node: 4 # specifies the number of processes torchrun starts to serve your model, set to world_size or number of + # gpus you wish to split your model +#backend settings +deepspeed: + config: ds-config.json # DeepSpeed config json filename. + # Details:https://www.deepspeed.ai/docs/config-json/ +handler: + max_length: 80 # max length of tokens for tokenizer in the handler +``` + +Here is an example of `ds-config.json` + +```json +{ + "dtype": "torch.float16", + "replace_with_kernel_inject": true, + "tensor_parallel": { + "tp_size": 2 + } +} +``` + +**Install DeepSpeed** + +*Method1*: requirements.txt + +*Method2*: pre-install via command (Recommended to speed up model loading) + +```bash +# See https://www.deepspeed.ai/tutorials/advanced-install/ +DS_BUILD_OPS=1 pip install deepspeed +``` + +The rest is as usual in Torchserve, basically packaging your model and starting the server. + +Example of the command for packaging your model, make sure you pass model-config.yaml + +```bash +torch-model-archiver --model-name bloom --version 1.0 --handler deepspeed_handler.py --extra-files $MODEL_CHECKPOINTS_PATH,ds-config.json -r requirements.txt --config-file model-config.yaml --archive-format tgz +``` diff --git a/examples/large_models/deepspeed/opt/Download_models.py b/examples/large_models/deepspeed/opt/Download_models.py new file mode 100644 index 0000000000..ea854abc90 --- /dev/null +++ b/examples/large_models/deepspeed/opt/Download_models.py @@ -0,0 +1,51 @@ +import argparse +import os + +from huggingface_hub import HfApi, snapshot_download + + +def dir_path(path_str): + if os.path.isdir(path_str): + return path_str + elif input(f"{path_str} does not exist, create directory? [y/n]").lower() == "y": + os.makedirs(path_str) + return path_str + else: + raise NotADirectoryError(path_str) + + +class HFModelNotFoundError(Exception): + def __init__(self, model_str): + super().__init__(f"HuggingFace model not found: '{model_str}'") + + +def hf_model(model_str): + api = HfApi() + models = [m.modelId for m in api.list_models()] + if model_str in models: + return model_str + else: + raise HFModelNotFoundError(model_str) + + +parser = argparse.ArgumentParser() +parser.add_argument( + "--model_path", + "-o", + type=dir_path, + default="model", + help="Output directory for downloaded model files", +) +parser.add_argument( + "--model_name", "-m", type=hf_model, required=True, help="HuggingFace model name" +) +parser.add_argument("--revision", "-r", type=str, default="main", help="Revision") +args = parser.parse_args() + +snapshot_path = snapshot_download( + repo_id=args.model_name, + revision=args.revision, + cache_dir=args.model_path, + use_auth_token=True, +) +print(f"Files for '{args.model_name}' is downloaded to '{snapshot_path}'") diff --git a/examples/large_models/deepspeed/opt/Readme.md b/examples/large_models/deepspeed/opt/Readme.md new file mode 100644 index 0000000000..605545254d --- /dev/null +++ b/examples/large_models/deepspeed/opt/Readme.md @@ -0,0 +1,47 @@ +# Loading large Huggingface models on Multiple GPUs + +This document briefs on serving large HG models on multiple GPUs using deepspeed. To speed up TorchServe regression test, facebook/opt-350m is used in this example. User can choose larger model such as facebook/opt-6.7b. + +### Step 1: Download model + +Login into huggingface hub with token by running the below command + +```bash +huggingface-cli login +``` + +paste the token generated from huggingface hub. + +```bash +python Download_models.py --model_path model --model_name facebook/opt-350m --revision main +``` + +The script prints the path where the model is downloaded as below. + +`model/models--facebook--opt-350m/snapshots/cb32f77e905cccbca1d970436fb0f5e6b58ee3c5/` + +### Step 2: Generate mar or tgz file + +```bash +torch-model-archiver --model-name opt --version 1.0 --handler custom_handler.py --extra-files model/models--facebook--opt-350m/snapshots/cb32f77e905cccbca1d970436fb0f5e6b58ee3c5/,ds-config.json -r requirements.txt --config-file model-config.yaml --archive-format tgz +``` + +### Step 3: Add the tgz file to model store + +```bash +mkdir model_store +mv opt.tar.gz model_store +``` + +### Step 4: Start torchserve + + +```bash +torchserve --start --ncs --model-store model_store --models opt.tar.gz +``` + +### Step 5: Run inference + +```bash +curl -v "http://localhost:8080/predictions/opt" -T sample_text.txt +``` diff --git a/examples/large_models/deepspeed/opt/custom_handler.py b/examples/large_models/deepspeed/opt/custom_handler.py new file mode 100644 index 0000000000..828f8af294 --- /dev/null +++ b/examples/large_models/deepspeed/opt/custom_handler.py @@ -0,0 +1,120 @@ +import logging +from abc import ABC + +import torch +import transformers +from transformers import AutoModelForCausalLM, AutoTokenizer + +from ts.context import Context +from ts.handler_utils.distributed.deepspeed import get_ds_engine +from ts.torch_handler.distributed.base_deepspeed_handler import BaseDeepSpeedHandler + +logger = logging.getLogger(__name__) +logger.info("Transformers version %s", transformers.__version__) + + +class TransformersSeqClassifierHandler(BaseDeepSpeedHandler, ABC): + """ + Transformers handler class for sequence, token classification and question answering. + """ + + def __init__(self): + super(TransformersSeqClassifierHandler, self).__init__() + self.max_length = None + self.tokenizer = None + self.initialized = False + + def initialize(self, ctx: Context): + """In this initialize function, the HF large model is loaded and + partitioned using DeepSpeed. + Args: + ctx (context): It is a JSON Object containing information + pertaining to the model artefacts parameters. + """ + super().initialize(ctx) + model_dir = ctx.system_properties.get("model_dir") + self.max_length = int(ctx.model_yaml_config["handler"]["max_length"]) + self.model = AutoModelForCausalLM.from_pretrained(model_dir, use_cache=False) + self.tokenizer = AutoTokenizer.from_pretrained(model_dir, return_tensors="pt") + + ds_engine = get_ds_engine(self.model, ctx) + self.model = ds_engine.module + logger.info("Model %s loaded successfully", ctx.model_name) + self.initialized = True + + def preprocess(self, requests): + """ + Basic text preprocessing, based on the user's choice of application mode. + Args: + requests (list): A list of dictionaries with a "data" or "body" field, each + containing the input text to be processed. + Returns: + tuple: A tuple with two tensors: the batch of input ids and the batch of + attention masks. + """ + input_texts = [data.get("data") or data.get("body") for data in requests] + input_ids_batch, attention_mask_batch = [], [] + for input_text in input_texts: + input_ids, attention_mask = self.encode_input_text(input_text) + input_ids_batch.append(input_ids) + attention_mask_batch.append(attention_mask) + input_ids_batch = torch.cat(input_ids_batch, dim=0).to(self.device) + attention_mask_batch = torch.cat(attention_mask_batch, dim=0).to(self.device) + return input_ids_batch, attention_mask_batch + + def encode_input_text(self, input_text): + """ + Encodes a single input text using the tokenizer. + Args: + input_text (str): The input text to be encoded. + Returns: + tuple: A tuple with two tensors: the encoded input ids and the attention mask. + """ + if isinstance(input_text, (bytes, bytearray)): + input_text = input_text.decode("utf-8") + logger.info("Received text: '%s'", input_text) + inputs = self.tokenizer.encode_plus( + input_text, + max_length=self.max_length, + pad_to_max_length=True, + add_special_tokens=True, + return_tensors="pt", + ) + input_ids = inputs["input_ids"] + attention_mask = inputs["attention_mask"] + return input_ids, attention_mask + + def inference(self, input_batch): + """ + Predicts the class (or classes) of the received text using the serialized transformers + checkpoint. + Args: + input_batch (tuple): A tuple with two tensors: the batch of input ids and the batch + of attention masks, as returned by the preprocess function. + Returns: + list: A list of strings with the predicted values for each input text in the batch. + """ + input_ids_batch, attention_mask_batch = input_batch + input_ids_batch = input_ids_batch.to(self.device) + outputs = self.model.generate( + input_ids_batch, + attention_mask=attention_mask_batch, + max_length=self.max_length, + ) + + inferences = [ + self.tokenizer.batch_decode( + outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False + ) + ] + logger.info("Generated text: %s", inferences) + return inferences + + def postprocess(self, inference_output): + """Post Process Function converts the predicted response into Torchserve readable format. + Args: + inference_output (list): It contains the predicted response of the input text. + Returns: + (list): Returns a list of the Predictions and Explanations. + """ + return inference_output diff --git a/examples/large_models/deepspeed/opt/ds-config.json b/examples/large_models/deepspeed/opt/ds-config.json new file mode 100644 index 0000000000..7a24a9e91a --- /dev/null +++ b/examples/large_models/deepspeed/opt/ds-config.json @@ -0,0 +1,7 @@ +{ + "dtype": "torch.float16", + "replace_with_kernel_inject": true, + "tensor_parallel": { + "tp_size": 2 + } +} diff --git a/examples/large_models/deepspeed/opt/model-config.yaml b/examples/large_models/deepspeed/opt/model-config.yaml new file mode 100644 index 0000000000..ed7aa6cd3a --- /dev/null +++ b/examples/large_models/deepspeed/opt/model-config.yaml @@ -0,0 +1,18 @@ +# TorchServe frontend parameters +minWorkers: 1 +maxWorkers: 1 +maxBatchDelay: 100 +responseTimeout: 120 +parallelType: "tp" +deviceType: "gpu" +deviceIds: [2,3] # seting CUDA_VISIBLE_DEVICES + +torchrun: + nproc-per-node: 2 + +# TorchServe Backend parameters +deepspeed: + config: ds-config.json + +handler: + max_length: 100 diff --git a/examples/large_models/deepspeed/opt/requirements.txt b/examples/large_models/deepspeed/opt/requirements.txt new file mode 100644 index 0000000000..97a9da9185 --- /dev/null +++ b/examples/large_models/deepspeed/opt/requirements.txt @@ -0,0 +1,2 @@ +transformers +deepspeed diff --git a/examples/large_models/deepspeed/opt/sample_text.txt b/examples/large_models/deepspeed/opt/sample_text.txt new file mode 100644 index 0000000000..5a17312cbb --- /dev/null +++ b/examples/large_models/deepspeed/opt/sample_text.txt @@ -0,0 +1 @@ +Today the weather is really nice and I am planning on diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index 192fe3e2b5..d3398b19a8 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -147,9 +147,6 @@ private void responseInference( resp.headers().set(e.getKey(), e.getValue()); } } - if (resp instanceof DefaultFullHttpResponse) { - ((DefaultFullHttpResponse) resp).content().writeBytes(body); - } /* * We can load the models based on the configuration file.Since this Job is @@ -161,6 +158,7 @@ private void responseInference( if (numStreams == 0) { // non-stream response MetricAggregator.handleInferenceMetric( getModelName(), getModelVersion(), getScheduled() - getBegin(), inferTime); + ((DefaultFullHttpResponse) resp).content().writeBytes(body); NettyUtils.sendHttpResponse(ctx, resp, true); } else if (numStreams == -1) { // the last response in a stream MetricAggregator.handleInferenceMetric( @@ -169,6 +167,7 @@ private void responseInference( ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); } else if (numStreams == 1) { // the first response in a stream NettyUtils.sendHttpResponse(ctx, resp, true); + ctx.writeAndFlush(new DefaultHttpContent(Unpooled.wrappedBuffer(body))); } else if (numStreams > 1) { // the 2nd+ response in a stream ctx.writeAndFlush(new DefaultHttpContent(Unpooled.wrappedBuffer(body))); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 05f3842c77..03cee69f95 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -189,6 +189,9 @@ private ConfigManager(Arguments args) throws IOException { } } + // This is a workaround to avoid DeepSpeed JIT issue during pip installation + System.setProperty("DS_BUILD_OPS", "1"); + resolveEnvVarVals(prop); String modelStore = args.getModelStore(); diff --git a/requirements/developer.txt b/requirements/developer.txt index 9bd1795f0d..b87daa978b 100644 --- a/requirements/developer.txt +++ b/requirements/developer.txt @@ -14,5 +14,5 @@ pyspelling pre-commit twine mypy -torchpippy==0.1.0 +torchpippy intel_extension_for_pytorch; sys_platform != 'win32' and sys_platform != 'darwin' diff --git a/test/postman/large_model_inference_data.json b/test/postman/large_model_inference_data.json index afb3ce475b..f01cad9b59 100644 --- a/test/postman/large_model_inference_data.json +++ b/test/postman/large_model_inference_data.json @@ -6,5 +6,13 @@ "synchronous":"true", "file":"../examples/large_models/Huggingface_pippy/sample_text.txt", "expected": "Hey, are you conscious? Can you talk to me?\nailabi lity" + }, + { + "url":"https://torchserve.s3.amazonaws.com/mar_files/opt-ds.tar.gz", + "model_name":"opt", + "worker":1, + "synchronous":"true", + "file":"../examples/large_models/deepspeed/opt/sample_text.txt", + "expected": "Today the weather is really nice and I am planning on\n\n\nI am planning on the next day.\n\nI am planning on the next day.\n\nI am planning on the next day.\nI am planning on the next" } ] diff --git a/test/pytest/test_distributed_inference_handler.py b/test/pytest/test_distributed_inference_handler.py index a05392519c..f236075250 100644 --- a/test/pytest/test_distributed_inference_handler.py +++ b/test/pytest/test_distributed_inference_handler.py @@ -12,6 +12,7 @@ TEST_DIR = os.path.join(REPO_ROOT, "test") MODEL_STORE_DIR = os.path.join("model_store") +snapshot_file = os.path.join(TEST_DIR, "config_ts.properties") POSTMAN_LARGE_MODEL_INFERENCE_DATA_FILE = os.path.join( "postman", "large_model_inference_data.json" @@ -33,7 +34,9 @@ def test_large_model_inference(): """Run a Newman test for distributed inference on a large model""" os.chdir(TEST_DIR) - test_utils.start_torchserve(model_store=MODEL_STORE_DIR, gen_mar=False) + test_utils.start_torchserve( + model_store=MODEL_STORE_DIR, snapshot_file=snapshot_file, gen_mar=False + ) try: command = f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_INFERENCE} -d {POSTMAN_LARGE_MODEL_INFERENCE_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR}/{REPORT_FILE} --verbose" diff --git a/test/resources/config.properties b/test/resources/config.properties index 7fc6a5c6f8..7787ef9f75 100644 --- a/test/resources/config.properties +++ b/test/resources/config.properties @@ -3,3 +3,4 @@ management_address=https://127.0.0.1:8444 metrics_address=https://127.0.0.1:8445 private_key_file=resources/key.pem certificate_file=resources/certs.pem +install_py_dep_per_model=true diff --git a/ts/handler_utils/distributed/deepspeed.py b/ts/handler_utils/distributed/deepspeed.py new file mode 100644 index 0000000000..91dd94d4c6 --- /dev/null +++ b/ts/handler_utils/distributed/deepspeed.py @@ -0,0 +1,42 @@ +import logging +import os + +import deepspeed + +from ts.context import Context + + +def get_ds_engine(model, ctx: Context): + model_dir = ctx.system_properties.get("model_dir") + ds_config = None + checkpoint = None + if "deepspeed" in ctx.model_yaml_config: + # config: the deepspeed config json file path. + # deepspeed config parameters: + # https://github.com/microsoft/DeepSpeed/blob/master/deepspeed/inference/config.py + if "config" in ctx.model_yaml_config["deepspeed"]: + ds_config = os.path.join( + model_dir, ctx.model_yaml_config["deepspeed"]["config"] + ) + if not os.path.exists(ds_config): + raise ValueError( + f"{ctx.model_name} has no deepspeed config file {ds_config}" + ) + + if "checkpoint" in ctx.model_yaml_config: + checkpoint = os.path.join( + model_dir, ctx.model_yaml_config["deepspeed"]["checkpoint"] + ) + if not os.path.exists(checkpoint): + raise ValueError( + f"{ctx.model_name} has no deepspeed checkpoint file {checkpoint}" + ) + logging.debug("Creating DeepSpeed engine") + ds_engine = deepspeed.init_inference( + model, config=ds_config, checkpoint=checkpoint + ) + return ds_engine + else: + raise ValueError( + f"{ctx.model_name} has no deepspeed config in model config yaml file" + ) diff --git a/ts/torch_handler/distributed/base_deepspeed_handler.py b/ts/torch_handler/distributed/base_deepspeed_handler.py new file mode 100644 index 0000000000..5e26139a2a --- /dev/null +++ b/ts/torch_handler/distributed/base_deepspeed_handler.py @@ -0,0 +1,14 @@ +import os +from abc import ABC + +from ts.context import Context +from ts.torch_handler.base_handler import BaseHandler + + +class BaseDeepSpeedHandler(BaseHandler, ABC): + """ + Base default DeepSpeed handler. + """ + + def initialize(self, ctx: Context): + self.device = int(os.getenv("LOCAL_RANK", 0)) From 542385eeac1ce2b244070436d407a5227b3ef66b Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Tue, 25 Apr 2023 01:12:26 +0000 Subject: [PATCH 065/172] support client timeout (#2267) * support client timeout * add model config yaml in init-error.mar * update init-error.mar * update link in doc * fmt --- docs/configuration.md | 4 +- .../serve/archive/model/ModelConfig.java | 35 ++++++++++++++++++ .../resources/models/echo-client-timeout.mar | Bin 0 -> 727 bytes .../src/test/resources/models/init-error.mar | Bin 914 -> 772 bytes .../pytorch/serve/grpcimpl/InferenceImpl.java | 23 ++++++++---- .../api/rest/InferenceRequestHandler.java | 13 +++---- .../serve/util/messages/RequestInput.java | 12 ++++++ .../pytorch/serve/wlm/BatchAggregator.java | 28 ++++++++++---- .../java/org/pytorch/serve/wlm/Model.java | 18 ++++++++- .../org/pytorch/serve/ModelServerTest.java | 31 ++++++++++++++++ 10 files changed, 138 insertions(+), 26 deletions(-) create mode 100644 frontend/archive/src/test/resources/models/echo-client-timeout.mar diff --git a/docs/configuration.md b/docs/configuration.md index 11dd3f1da6..fc6442a9f4 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -228,7 +228,7 @@ Set nvidia environment variables. For example: } } ``` -A model's parameters are defined in [model source code](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java#L24) +A model's parameters are defined in [model source code](https://github.com/pytorch/serve/blob/a9e218ae95fe7690c84b555d0fb9021322c9b049/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java#L11) * `minWorkers`: the minimum number of workers of a model @@ -270,7 +270,7 @@ Starting from version 0.8.0, TorchServe allows for model configuration using a Y * The frontend parameters are controlled by TorchServe's frontend and specify the parameter name and default values. TorchServe now uses a priority order to determine the final value of a model's parameters in frontend. Specifically, the config.property file has the lowest priority, followed by the model configuration YAML file, and finally, the REST or gRPC model management API has the highest priority. -* The backend parameters are fully controlled by the user. Users customized handler can access the backend parameters via the `model_yaml_config` property of the [context object](https://github.com/pytorch/serve/blob/master/ts/context.py#L24). For example, context.model_yaml_config["pippy"]["rpc_timeout"]. +* The backend parameters are fully controlled by the user. Users customized handler can access the backend parameters via the `model_yaml_config` property of the [context object](https://github.com/pytorch/serve/blob/a9e218ae95fe7690c84b555d0fb9021322c9b049/ts/context.py#L24). For example, context.model_yaml_config["pippy"]["rpc_timeout"]. * User can allocate specific GPU device IDs to a model by defining "deviceIds" in the frontend parameters in the YAML file. TorchServe uses a round-robin strategy to assign device IDs to a model's worker. If specified in the YAML file, it round-robins the device IDs listed; otherwise, it uses all visible device IDs on the host. diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java index 32d0687876..be259014ed 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java @@ -11,17 +11,33 @@ public class ModelConfig { private static final Logger logger = LoggerFactory.getLogger(ModelConfig.class); + /** the minimum number of workers of a model */ private int minWorkers; + /** the maximum number of workers of a model */ private int maxWorkers; + /** the batch size of a model */ private int batchSize; + /** the maximum delay in msec of a batch of a model */ private int maxBatchDelay; + /** the timeout in sec of a specific model's response. */ private int responseTimeout = 120; // unit: sec + /** the device type where the model is loaded. It can be gpu, cpu */ private DeviceType deviceType = DeviceType.NONE; + /** the gpu device id */ private List deviceIds; + /** this variable is auto calculated based on torchrun nproc-per-node. */ private int parallelLevel = 1; + /** the model parallel type can be tp, pp, pptp */ private ParallelType parallelType = ParallelType.NONE; + /** torchrun config */ private TorchRun torchRun; + /** the maximum seconds of a worker recovery's timeout. default: 5 min */ private int maxRetryTimeoutInSec = 300; + /** + * the client timeout in millions second. The inference request will be dropped once it is + * timeout. default: 0 which means no timeout (ie. clientExpireTS default value Long.MAX_VALUE. + */ + private long clientTimeoutInMills; public static ModelConfig build(Map yamlMap) { ModelConfig modelConfig = new ModelConfig(); @@ -103,6 +119,15 @@ public static ModelConfig build(Map yamlMap) { "Invalid maxRetryTimeoutInMin: {}, should be integer", v); } break; + case "clientTimeoutInMills": + if (v instanceof Integer) { + modelConfig.setClientTimeoutInMills(((Integer) v).longValue()); + } else { + logger.warn( + "Invalid clientTimeoutInMills: {}, should be positive long", + v); + } + break; default: break; } @@ -230,6 +255,16 @@ public void setMaxRetryTimeoutInSec(int maxRetryTimeoutInSec) { } } + public long getClientTimeoutInMills() { + return clientTimeoutInMills; + } + + public void setClientTimeoutInMills(long clientTimeoutInMills) { + if (clientTimeoutInMills > 0) { + this.clientTimeoutInMills = clientTimeoutInMills; + } + } + public enum ParallelType { NONE(""), PP("pp"), diff --git a/frontend/archive/src/test/resources/models/echo-client-timeout.mar b/frontend/archive/src/test/resources/models/echo-client-timeout.mar new file mode 100644 index 0000000000000000000000000000000000000000..a2700fac814ebf4c5e46a89494edc654dc77f130 GIT binary patch literal 727 zcmWIWW@Zs#U|`^2sNFFw49H+$0ueyK0mQlaDXBSn1trW30VwJ^=eKFc1Lf<0m|EXC{JgZxbiK;N+#K(7Cw3aIP>H9kRdAhj`o@#9V=M!138(Vz@F=?8zj2Dt z@};kJT73TcS@}dqxUD-jZKBc(f%1pUhi?D)RN#D5O!NJ`XIr%=U0po+jjrF7pn20A zGe0+eFhBfarrD0DeF5H#Od`yt_wYaA$k}Xwlr!0nTY5{*M}Y> tFnvoJ*TZZ>jvsXG=#H zZgPHJT4uUlWnym5Y2P&*Ub>pAcut=2J*%(#@eH@0@3tU=CroGtJyx73Qw20&IuHv1 zab{jwVoqjCd~s?~S!QyoUO}a9uOZ(d0|A!m{g0k#O$?B8@Si9aSI~96U{Z14x#=8F zze*h3W^FB<)RTCvxqAuwn+dE_Cb(Yg@T_B9Yr614x2dSa)2t^MdcT(BZeMHW^YAri z?a$?HN6v{yt+Kjj7svcn!khVSd1+*!@oKXpkw=%#pR?dhP}yOT;~yANz1%E#j(G*p zg@TL>45C2V*D*-f)6Y%c*U`_@%{4egFRM5|FSO5*tJy%n_4_=hP3sJ!Tt6_xZrh#b z?Xj#>LCt7cQ%8Az4@c?G|J9#os(J=5<5_M1Mc*$hI^S?2u!Q;DlB;YP?UPMb#4BHD;rd}9A9QEO z!cJ+!4+rNz5YBKB|F65lVnWfk-uagkx0TmS+nabW>hbwWA??B!?)N<4)sNWp4;TrI zOd`y<;~nTfFj&$EqF|{2T^D*PfaqahSkkBg(}kQS(6yt-JwkgSkcpWR(DkFo2uyzi bqckv%u*Oe-H!B-R84D2p0Mg%p3K3aIP>4Qxu{h=1u0mN8L5CLlBU;vr$dF2ktDL@_{BLjmd z&#Ef-CTo1^s9Vai>_YsB-yF8{Yw_37-@4kf!`@F-g{dM=wJTpkLWeQxBwo}g` z!{*$BbuVUTGSAHxZ|*$Docnp=+UidkF5FiBvRf}QuTa>3@Y5RquGwF|Uz}_1P`~7= z#HMzJjk8W&ou?tGv+u$?#*JP4pg@9n5fsdi6(`D60lhdKh=qV&%*-oG%*jlNFHS8g z%S=wyE2xAAcok-F>Gm4(0sY5Pz5me@t%(704*nCx;tIO17fdSdJ2#!<=~sz^+pMjn zlX?=bHFqyze=~t~$^_So9iDZpYfTqk=r$FVc$)PjL+{s;-0f@4d>+2$to^yX?Z`Rt zs8v???BbZeN_aEhEia8MG+u3XB=YFe`EwSW2`W1*a{L2hfHxzP95b%uA_4Rb1T1L; z(TK#u3Q0T|(T*?;GwHxg6JU7j=mazkmJC8efTn>G5?0f2B_oJwz!b&M(Aa`x8d{yH%mkGoJ0KkD4)&Kwi diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java index 4c17a9d73a..3decc7a04d 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java @@ -25,6 +25,7 @@ import org.pytorch.serve.util.messages.InputParameter; import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.util.messages.WorkerCommands; +import org.pytorch.serve.wlm.Model; import org.pytorch.serve.wlm.ModelManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -119,17 +120,23 @@ private void prediction( String requestId = UUID.randomUUID().toString(); RequestInput inputData = new RequestInput(requestId); + try { + ModelManager modelManager = ModelManager.getInstance(); + Model model = modelManager.getModel(modelName, modelVersion); + if (model == null) { + throw new ModelNotFoundException("Model not found: " + modelName); + } + inputData.setClientExpireTS(model.getClientTimeoutInMills()); - for (Map.Entry entry : request.getInputMap().entrySet()) { - inputData.addParameter( - new InputParameter(entry.getKey(), entry.getValue().toByteArray())); - } + for (Map.Entry entry : request.getInputMap().entrySet()) { + inputData.addParameter( + new InputParameter(entry.getKey(), entry.getValue().toByteArray())); + } - MetricAggregator.handleInferenceMetric(modelName, modelVersion); - Job job = new GRPCJob(responseObserver, modelName, modelVersion, workerCmd, inputData); + MetricAggregator.handleInferenceMetric(modelName, modelVersion); + Job job = new GRPCJob(responseObserver, modelName, modelVersion, workerCmd, inputData); - try { - if (!ModelManager.getInstance().addJob(job)) { + if (!modelManager.addJob(job)) { String responseMessage = ApiUtils.getInferenceErrorResponseMessage(modelName, modelVersion); InternalServerException e = new InternalServerException(responseMessage); diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java index c482c40ecf..62f736b410 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java @@ -247,15 +247,14 @@ private void predict( throw new BadRequestException("Parameter model_name is required."); } } + ModelManager modelManager = ModelManager.getInstance(); + Model model = modelManager.getModel(modelName, modelVersion); + if (model == null) { + throw new ModelNotFoundException("Model not found: " + modelName); + } + input.setClientExpireTS(model.getClientTimeoutInMills()); if (HttpMethod.OPTIONS.equals(req.method())) { - ModelManager modelManager = ModelManager.getInstance(); - - Model model = modelManager.getModel(modelName, modelVersion); - if (model == null) { - throw new ModelNotFoundException("Model not found: " + modelName); - } - String resp = OpenApiUtils.getModelApi(model); NettyUtils.sendJsonResponse(ctx, resp); return; diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java b/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java index 113620f495..af5dc0f54a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/messages/RequestInput.java @@ -12,11 +12,13 @@ public class RequestInput { private String requestId; private Map headers; private List parameters; + private long clientExpireTS; public RequestInput(String requestId) { this.requestId = requestId; headers = new HashMap<>(); parameters = new ArrayList<>(); + clientExpireTS = Long.MAX_VALUE; // default(never expire): Long.MAX_VALUE } public String getRequestId() { @@ -59,4 +61,14 @@ public String getStringParameter(String key) { } return null; } + + public long getClientExpireTS() { + return clientExpireTS; + } + + public void setClientExpireTS(long clientTimeoutInMills) { + if (clientTimeoutInMills > 0) { + this.clientExpireTS = System.currentTimeMillis() + clientTimeoutInMills; + } + } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java index 0e916a9526..9e0a2e2bb8 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/BatchAggregator.java @@ -91,23 +91,35 @@ public boolean sendResponse(ModelWorkerResponse message) { jobDone = false; } } - job.response( - prediction.getResp(), - prediction.getContentType(), - prediction.getStatusCode(), - prediction.getReasonPhrase(), - prediction.getHeaders()); + if (job.getPayload().getClientExpireTS() > System.currentTimeMillis()) { + job.response( + prediction.getResp(), + prediction.getContentType(), + prediction.getStatusCode(), + prediction.getReasonPhrase(), + prediction.getHeaders()); + } else { + logger.warn( + "Drop response for inference request {} due to client timeout", + job.getPayload().getRequestId()); + } } } else { for (Map.Entry j : jobs.entrySet()) { - if (j.getValue() == null) { throw new IllegalStateException( "Unexpected job in sendResponse() with non 200 status code: " + j.getKey()); } - j.getValue().sendError(message.getCode(), message.getMessage()); + Job job = j.getValue(); + if (job.getPayload().getClientExpireTS() > System.currentTimeMillis()) { + job.sendError(message.getCode(), message.getMessage()); + } else { + logger.warn( + "Drop error response for inference request {} due to client timeout", + job.getPayload().getRequestId()); + } } } if (jobDone) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index ba0a768d70..73ba2d6c10 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -42,6 +42,7 @@ public class Model { private int maxBatchDelay; private int parallelLevel = 1; private long maxRetryTimeoutInMill = 5 * 60 * 1000; + private long clientTimeoutInMills; private ModelConfig.ParallelType parallelType = ModelConfig.ParallelType.NONE; private ModelConfig.DeviceType deviceType = ConfigManager.getInstance().getNumberOfGpu() > 0 @@ -92,6 +93,7 @@ public Model(ModelArchive modelArchive, int queueSize) { } } maxRetryTimeoutInMill = modelArchive.getModelConfig().getMaxRetryTimeoutInSec() * 1000; + clientTimeoutInMills = modelArchive.getModelConfig().getClientTimeoutInMills(); } else { batchSize = 1; maxBatchDelay = 100; @@ -281,7 +283,13 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) } maxDelay -= end - begin; begin = end; - jobsRepo.put(j.getJobId(), j); + if (j.getPayload().getClientExpireTS() > System.currentTimeMillis()) { + jobsRepo.put(j.getJobId(), j); + } else { + logger.warn( + "Drop inference request {} due to client timeout", + j.getPayload().getRequestId()); + } if (maxDelay <= 0) { break; } @@ -349,4 +357,12 @@ public long getMaxRetryTimeoutInMill() { public void setMaxRetryTimeoutInMill(long maxRetryTimeoutInMill) { this.maxRetryTimeoutInMill = maxRetryTimeoutInMill; } + + public long getClientTimeoutInMills() { + return clientTimeoutInMills; + } + + public void setClientTimeoutInMills(long clientTimeoutInMills) { + this.clientTimeoutInMills = clientTimeoutInMills; + } } diff --git a/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java b/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java index 9a4b55fa08..b3d7716538 100644 --- a/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java +++ b/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java @@ -28,6 +28,7 @@ import java.security.GeneralSecurityException; import java.util.List; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import java.util.regex.Pattern; import java.util.stream.IntStream; import org.apache.commons.io.FileUtils; @@ -2088,8 +2089,38 @@ public void testUnregisterModelFailure() throws InterruptedException, SkipExcept channel = TestUtils.connect(ConnectorType.MANAGEMENT_CONNECTOR, configManager); Assert.assertNotNull(channel); + TestUtils.setResult(null); + TestUtils.setLatch(new CountDownLatch(1)); TestUtils.unregisterModel(channel, "noopversioned", "1.11", false); + TestUtils.getLatch().await(); + + TestUtils.setResult(null); + TestUtils.setLatch(new CountDownLatch(1)); TestUtils.unregisterModel(channel, "noopversioned", "1.2.1", false); + TestUtils.getLatch().await(); + } + + @Test( + alwaysRun = true, + dependsOnMethods = {"testUnregisterModelFailure"}) + public void testClientTimeout() throws InterruptedException { + Channel mgmtChannel = TestUtils.connect(ConnectorType.MANAGEMENT_CONNECTOR, configManager); + loadTests(mgmtChannel, "echo-client-timeout.mar", "echo-client-timeout"); + + Channel inferChannel = TestUtils.connect(ConnectorType.INFERENCE_CONNECTOR, configManager); + TestUtils.setResult(null); + TestUtils.setLatch(new CountDownLatch(1)); + DefaultFullHttpRequest req = + new DefaultFullHttpRequest( + HttpVersion.HTTP_1_1, HttpMethod.POST, "/predictions/echo-client-timeout"); + req.content().writeZero(10385760); + HttpUtil.setContentLength(req, req.content().readableBytes()); + req.headers().set(HttpHeaderNames.CONTENT_TYPE, HttpHeaderValues.APPLICATION_OCTET_STREAM); + inferChannel.writeAndFlush(req); + TestUtils.getLatch().await(1, TimeUnit.SECONDS); + Assert.assertNull(TestUtils.result); + + unloadTests(mgmtChannel, "echo-client-timeout"); } private void testLoadModel(String url, String modelName, String version) From 0ea5ae56a31de0415aae5f03851993907b8be779 Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Tue, 25 Apr 2023 10:56:43 -0700 Subject: [PATCH 066/172] FAQ on slow model initialization (#2246) --- docs/FAQs.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/FAQs.md b/docs/FAQs.md index e1abc36763..f88efb50f9 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -169,3 +169,10 @@ A mar file can be used either locally or be publicly available via http. An S3 U ### How to set a model's batch size on SageMaker? Key parameters for TorchServe performance tuning. [TorchServe performance tuning example](https://github.com/lxning/torchserve_perf/blob/master/torchserve_perf.ipynb) + +## Why is my model initialization so slow? +There's a few reasons why model initialization can be slow +1. `torch.load()` overhead - not something we can improve, this will be more dramatic for larger models +2. CUDA context launch overhead - not something we can control +3. install_py_dep_per_model=true is intended for local development or sagemaker deployments, in other production environment you should pre install your dependencies +4. The model archiver has an overhead to compress and decompress models, the compression is on by default because historically torchserve came out of sagemaker needs which involve loading and unloading tons of models stored in cloud buckets. But for users with smaller deployments choosing `torch-model-archiver --no-archive` is a good bet From 92bd04baddaf197776a8d6bb0aebab7e400b7451 Mon Sep 17 00:00:00 2001 From: Hamid Shojanazeri Date: Tue, 25 Apr 2023 11:31:36 -0700 Subject: [PATCH 067/172] Skip dist inference test (#2279) * skipping dist inference * separating the coniditon on skip tests * removing skipifs for furture revisit --------- Co-authored-by: Mark Saroufim --- test/pytest/test_distributed_inference_handler.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/test/pytest/test_distributed_inference_handler.py b/test/pytest/test_distributed_inference_handler.py index f236075250..b5ab178e5d 100644 --- a/test/pytest/test_distributed_inference_handler.py +++ b/test/pytest/test_distributed_inference_handler.py @@ -3,7 +3,6 @@ import pytest import test_utils -import torch REPO_ROOT = os.path.normpath( os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../") @@ -26,9 +25,8 @@ REPORT_FILE = os.path.join("report.html") -@pytest.mark.skipif( - not ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), - reason="Test to be run on GPU only", +@pytest.mark.skip( + reason="Distributed inference requires multi-gpu machine, skipping for now" ) def test_large_model_inference(): """Run a Newman test for distributed inference on a large model""" From 4e08fd1e0965b3969da2a08160049a28a087c930 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Tue, 25 Apr 2023 22:35:41 +0000 Subject: [PATCH 068/172] Add metric cache and migrate existing metrics to cache implementation (#2199) * cache init * add singleton cache * add cache singleton * clean up * Implement MetricCache and add unit tests * migrate existing metrics to cache implementation * refactor access specifiers * Remove use of static variables for metrics and fix unit tests * Refactor to use new metrics addOrUpdate API * migrate existing prometheus metrics to caching implementation * Refactor metric dimension member variables * Add regression test for prometheus and log modes * Fix postman test failures * Reorder metric cache test sequence * Use concurrent hashmap for both frontend and backend metrics in cache * Metrics documentation * Fix merge conflict issue in WorkerThread, RestJob and InferenceImpl * Refactor addMetrics in MetricCache Update metrics documentation * fix linter spellcheck failure * Refactor tests --------- Co-authored-by: Naman Nandan Co-authored-by: Naman Nandan --- docs/metrics.md | 85 ++++++---- .../java/org/pytorch/serve/ModelServer.java | 2 + .../pytorch/serve/grpcimpl/InferenceImpl.java | 24 ++- .../api/rest/InferenceRequestHandler.java | 21 ++- .../java/org/pytorch/serve/job/GRPCJob.java | 39 +++-- .../java/org/pytorch/serve/job/RestJob.java | 74 ++++++--- .../pytorch/serve/metrics/MetricCache.java | 116 +++++++++++++ .../serve/metrics/MetricCollector.java | 26 ++- .../serve/metrics/api/MetricAggregator.java | 28 ---- .../prometheous/PrometheusMetricManager.java | 81 ---------- .../org/pytorch/serve/util/NettyUtils.java | 59 ++++--- .../pytorch/serve/wlm/WorkerLifeCycle.java | 31 +++- .../org/pytorch/serve/wlm/WorkerThread.java | 59 +++---- .../org/pytorch/serve/ModelServerTest.java | 3 + .../java/org/pytorch/serve/SnapshotTest.java | 4 + .../java/org/pytorch/serve/TestUtils.java | 6 +- .../java/org/pytorch/serve/WorkflowTest.java | 2 + .../serve/metrics/MetricCacheTest.java | 63 ++++++++ .../src/test/resources/config.properties | 1 - frontend/server/testng.xml | 5 +- .../explanation_api_test_collection.json | 4 +- .../inference_api_test_collection.json | 4 +- test/postman/kf_api_test_collection.json | 4 +- .../kf_inference_api_test_collection.json | 4 +- test/postman/kfv2_api_test_collection.json | 4 +- test/pytest/test_metrics.py | 153 +++++++++++++++--- ts_scripts/api_utils.py | 28 +++- ts_scripts/spellcheck_conf/wordlist.txt | 6 + 28 files changed, 648 insertions(+), 288 deletions(-) create mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCache.java delete mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/api/MetricAggregator.java delete mode 100644 frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusMetricManager.java create mode 100644 frontend/server/src/test/java/org/pytorch/serve/metrics/MetricCacheTest.java diff --git a/docs/metrics.md b/docs/metrics.md index 5ca5ee2230..b865975a69 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -13,42 +13,60 @@ ## Introduction -TorchServe collects system level metrics in regular intervals, and also provides an API to collect custom metrics. -Metrics collected by metrics are logged and can be aggregated by metric agents. -The system level metrics are collected every minute. Metrics defined by the custom service code can be collected per request or per a batch of requests. -TorchServe logs these two sets of metrics to different log files. -Metrics are collected by default at: +Torchserve metrics can be broadly classified into frontend and backend metrics. +Frontend metrics include system level metrics. The host resource utilization frontend metrics are collected at regular intervals(default: every minute). +Torchserve provides an API to collect custom backend metrics. Metrics defined by a custom service or handler code can be collected per request or per a batch of requests. +Two metric modes are supported, i.e `log` and `prometheus`. The default mode is `log`. +Metrics mode can be configured using the `metrics_mode` configuration option in `config.properties` or `TS_METRICS_MODE` environment variable. +In `log` mode, Metrics are logged and can be aggregated by metric agents. -* System metrics - `log_directory/ts_metrics.log` -* Custom metrics - `log directory/model_metrics.log` +Metrics are collected by default at the following locations in `log` mode: + +* Frontend metrics - `log_directory/ts_metrics.log` +* Backend metrics - `log directory/model_metrics.log` The location of log files and metric files can be configured in the [log4j2.xml](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/resources/log4j2.xml) file -## System Metrics - -| Metric Name | Dimension | Unit | Semantics | -|---|---|---|---| -| CPUUtilization | host | percentage | CPU utilization on host | -| DiskAvailable | host | GB | disk available on host | -| DiskUsed | host | GB | disk used on host | -| DiskUtilization | host | percentage | disk used on host | -| MemoryAvailable | host | MB | memory available on host | -| MemoryUsed | host | MB | memory used on host | -| MemoryUtilization | host | percentage | memory utilization on host | -| GPUUtilization | host,device_id | percentage | GPU utilization on host,device_id | -| GPUMemoryUtilization | host,device_id | percentage | GPU memory utilization on host,device_id | -| GPUMemoryUsed | host,device_id | MB | GPU memory used on host,device_id | -| Requests2XX | host | count | logged for every request responded in 200-300 status code range | -| Requests4XX | host |count | logged for every request responded in 400-500 status code range | -| Requests5XX | host | count | logged for every request responded with status code above 500 | +In `prometheus` mode, all metrics are made available in prometheus format via the [metrics](https://github.com/pytorch/serve/blob/master/docs/metrics_api.md) API endpoint. + +## Frontend Metrics + +| Metric Name | Type | Unit | Dimensions | Semantics | +|-----------------------------------|---------|--------------|-----------------------------------|-----------------------------------------------------------------------------| +| Requests2XX | counter | Count | Level, Hostname | Total number of requests with response in 200-300 status code range | +| Requests4XX | counter | Count | Level, Hostname | Total number of requests with response in 400-500 status code range | +| Requests5XX | counter | Count | Level, Hostname | Total number of requests with response status code above 500 | +| ts_inference_requests_total | counter | Count | ModelName, ModelVersion, Hostname | Total number of inference requests received | +| ts_inference_latency_microseconds | counter | Microseconds | ModelName, ModelVersion, Hostname | Total inference latency in Microseconds | +| ts_queue_latency_microseconds | counter | Microseconds | ModelName, ModelVersion, Hostname | Total queue latency in Microseconds | +| QueueTime | gauge | Milliseconds | Level, Hostname | Time spent by a job in request queue in Milliseconds | +| WorkerThreadTime | gauge | Milliseconds | Level, Hostname | Time spent in worker thread excluding backend response time in Milliseconds | +| WorkerLoadTime | gauge | Milliseconds | WorkerName, Level, Hostname | Time taken by worker to load model in Milliseconds | +| CPUUtilization | gauge | Percent | Level, Hostname | CPU utilization on host | +| MemoryUsed | gauge | Megabytes | Level, Hostname | Memory used on host | +| MemoryAvailable | gauge | Megabytes | Level, Hostname | Memory available on host | +| MemoryUtilization | gauge | Percent | Level, Hostname | Memory utilization on host | +| DiskUsage | gauge | Gigabytes | Level, Hostname | Disk used on host | +| DiskUtilization | gauge | Percent | Level, Hostname | Disk used on host | +| DiskAvailable | gauge | Gigabytes | Level, Hostname | Disk available on host | +| GPUMemoryUtilization | gauge | Percent | Level, DeviceId, Hostname | GPU memory utilization on host, DeviceId | +| GPUMemoryUsed | gauge | Megabytes | Level, DeviceId, Hostname | GPU memory used on host, DeviceId | +| GPUUtilization | gauge | Percent | Level, DeviceId, Hostname | GPU utilization on host, DeviceId | + +## Backend Metrics + +| Metric Name | Type | Unit | Dimensions | Semantics | +|-----------------------------------|-------|------|----------------------------|-------------------------------| +| HandlerTime | gauge | ms | ModelName, Level, Hostname | Time spent in backend handler | +| PredictionTime | gauge | ms | ModelName, Level, Hostname | Backend prediction time | ## Formatting TorchServe emits metrics to log files by default. The metrics are formatted in a [StatsD](https://github.com/etsy/statsd) like format. ```bash -CPUUtilization.Percent:0.0|#Level:Host|#hostname:my_machine_name -MemoryUsed.Megabytes:13840.328125|#Level:Host|#hostname:my_machine_name +CPUUtilization.Percent:0.0|#Level:Host|#hostname:my_machine_name,timestamp:1682098185 +DiskAvailable.Gigabytes:318.0416717529297|#Level:Host|#hostname:my_machine_name,timestamp:1682098185 ``` To enable metric logging in JSON format, set "patternlayout" as "JSONPatternLayout" in [log4j2.xml](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/resources/log4j2.xml) (See sample [log4j2-json.xml](https://github.com/pytorch/serve/blob/master/frontend/server/src/test/resources/log4j2-json.xml)). For information, see [Logging in Torchserve](https://github.com/pytorch/serve/blob/master/docs/logging.md). @@ -121,7 +139,7 @@ class MetricTypes(enum.Enum): ## Central metrics YAML file definition -TorchServe defines metrics in a [metrics_default.yaml](https://github.com/pytorch/serve/blob/master/frontend/server/src/test/resources/metrics_default.yaml) +TorchServe defines metrics in a [yaml](https://github.com/pytorch/serve/blob/master/ts/configs/metrics.yaml) file, including both frontend metrics (i.e. `ts_metrics`) and backend metrics (i.e. `model_metrics`). When TorchServe is started, the metrics definition is loaded in the frontend and backend cache separately. The backend flushes the metrics cache once a load model or inference request is completed. @@ -131,8 +149,6 @@ Dynamic updates between the frontend and backend are _not_ currently being handl The `metrics.yaml` is formatted with Prometheus metric type terminology: ```yaml -mode: prometheus - dimensions: # dimension aliases - &model_name "ModelName" - &level "Level" @@ -170,7 +186,7 @@ model_metrics: # backend metrics ``` -These are the default metrics within the yaml file, but the user can either delete them to their liking / ignore them altogether, because these metrics will not be emitted unless they are edited. +Default metrics are provided in the [metrics.yaml](https://github.com/pytorch/serve/blob/master/ts/configs/metrics.yaml) file, but the user can either delete them to their liking / ignore them altogether, because these metrics will not be emitted unless they are edited. ### How it works @@ -184,7 +200,7 @@ parse the backend metrics from the yaml file.* ### User Manual - starting TorchServe with a yaml file specified -1. Create a `metrics.yaml` file to parse metrics from OR utilize default [metrics_default.yaml](https://github.com/pytorch/serve/blob/master/ts/configs/metrics.yaml) +1. Create a `metrics.yaml` file to parse metrics from OR utilize default [metrics.yaml](https://github.com/pytorch/serve/blob/master/ts/configs/metrics.yaml) 2. Set `metrics_config` argument equal to the yaml file path in the `config.properties` being used: @@ -207,7 +223,7 @@ parse the backend metrics from the yaml file.* ## Custom Metrics API -TorchServe enables the custom service code to emit metrics that are then logged by the system. +TorchServe enables the custom service code to emit metrics that are then made available based on the configured `metrics_mode`. The custom service code is provided with a [context](https://github.com/pytorch/serve/blob/master/ts/context.py) of the current request with a metrics object: @@ -235,7 +251,7 @@ metrics.add_counter("CounterMetric", value=1, dimensions=[Dimension("name", "val ### Updating Metrics parsed from the yaml file -Given the Metrics API, users will also be able to update metrics that have been parsed from the [yaml](https://github.com/pytorch/serve/blob/master/frontend/server/src/test/resources/metrics_default.yaml) file +Given the Metrics API, users will also be able to update metrics that have been parsed from the [yaml](https://github.com/pytorch/serve/blob/master/ts/configs/metrics.yaml) file given some criteria: (we will use the following metric as an example) @@ -551,7 +567,8 @@ class ExampleCustomHandler(BaseHandler, ABC): context.metrics.add_counter(...) ``` -This custom metrics information is logged in the `model_metrics.log` file configured through [log4j2.xml](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/resources/log4j2.xml) file. +This custom metrics information is logged in the `model_metrics.log` file configured through [log4j2.xml](https://github.com/pytorch/serve/blob/master/frontend/server/src/main/resources/log4j2.xml) file +or made available via the [metrics](https://github.com/pytorch/serve/blob/master/docs/metrics_api.md) API endpoint based on the `metrics_mode` configuration. ## Metrics YAML File Parsing and Metrics API Custom Handler Example diff --git a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java index e2d9ec7031..b7c9a2823d 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java +++ b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java @@ -38,6 +38,7 @@ import org.pytorch.serve.archive.model.ModelNotFoundException; import org.pytorch.serve.grpcimpl.GRPCInterceptor; import org.pytorch.serve.grpcimpl.GRPCServiceFactory; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.metrics.MetricManager; import org.pytorch.serve.servingsdk.ModelServerEndpoint; import org.pytorch.serve.servingsdk.annotations.Endpoint; @@ -82,6 +83,7 @@ public static void main(String[] args) { ConfigManager.init(arguments); ConfigManager configManager = ConfigManager.getInstance(); PluginsManager.getInstance().initialize(); + MetricCache.init(); InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE); ModelServer modelServer = new ModelServer(configManager); diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java index 3decc7a04d..2f029345f7 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java @@ -6,6 +6,8 @@ import io.grpc.stub.ServerCallStreamObserver; import io.grpc.stub.StreamObserver; import java.net.HttpURLConnection; +import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.UUID; import org.pytorch.serve.archive.model.ModelNotFoundException; @@ -19,8 +21,10 @@ import org.pytorch.serve.http.StatusResponse; import org.pytorch.serve.job.GRPCJob; import org.pytorch.serve.job.Job; -import org.pytorch.serve.metrics.api.MetricAggregator; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.util.ApiUtils; +import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.JsonUtils; import org.pytorch.serve.util.messages.InputParameter; import org.pytorch.serve.util.messages.RequestInput; @@ -133,7 +137,23 @@ private void prediction( new InputParameter(entry.getKey(), entry.getValue().toByteArray())); } - MetricAggregator.handleInferenceMetric(modelName, modelVersion); + IMetric inferenceRequestsTotalMetric = + MetricCache.getInstance().getMetricFrontend("ts_inference_requests_total"); + if (inferenceRequestsTotalMetric != null) { + List inferenceRequestsTotalMetricDimensionValues = + Arrays.asList( + modelName, + modelVersion == null ? "default" : modelVersion, + ConfigManager.getInstance().getHostName()); + try { + inferenceRequestsTotalMetric.addOrUpdate( + inferenceRequestsTotalMetricDimensionValues, 1); + } catch (Exception e) { + logger.error( + "Failed to update frontend metric ts_inference_requests_total: ", e); + } + } + Job job = new GRPCJob(responseObserver, modelName, modelVersion, workerCmd, inputData); if (!modelManager.addJob(job)) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java index 62f736b410..363717cb7f 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java @@ -10,6 +10,7 @@ import io.netty.handler.codec.http.multipart.HttpDataFactory; import io.netty.handler.codec.http.multipart.HttpPostRequestDecoder; import java.net.HttpURLConnection; +import java.util.Arrays; import java.util.List; import java.util.Map; import org.pytorch.serve.archive.DownloadArchiveException; @@ -21,7 +22,8 @@ import org.pytorch.serve.http.HttpRequestHandlerChain; import org.pytorch.serve.http.ResourceNotFoundException; import org.pytorch.serve.http.StatusResponse; -import org.pytorch.serve.metrics.api.MetricAggregator; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.openapi.OpenApiUtils; import org.pytorch.serve.servingsdk.ModelServerEndpoint; import org.pytorch.serve.util.ApiUtils; @@ -260,7 +262,22 @@ private void predict( return; } - MetricAggregator.handleInferenceMetric(modelName, modelVersion); + IMetric inferenceRequestsTotalMetric = + MetricCache.getInstance().getMetricFrontend("ts_inference_requests_total"); + if (inferenceRequestsTotalMetric != null) { + List inferenceRequestsTotalMetricDimensionValues = + Arrays.asList( + modelName, + modelVersion == null ? "default" : modelVersion, + ConfigManager.getInstance().getHostName()); + try { + inferenceRequestsTotalMetric.addOrUpdate( + inferenceRequestsTotalMetricDimensionValues, 1); + } catch (Exception e) { + logger.error("Failed to update frontend metric ts_inference_requests_total: ", e); + } + } + ApiUtils.addRESTInferenceJob(ctx, modelName, modelVersion, input); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java index ade072d843..fe4192103a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java @@ -6,6 +6,8 @@ import io.grpc.Status; import io.grpc.stub.StreamObserver; import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; import org.pytorch.serve.archive.model.ModelNotFoundException; @@ -14,8 +16,8 @@ import org.pytorch.serve.grpc.management.ManagementResponse; import org.pytorch.serve.grpcimpl.ManagementImpl; import org.pytorch.serve.http.messages.DescribeModelResponse; -import org.pytorch.serve.metrics.Dimension; -import org.pytorch.serve.metrics.Metric; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.util.ApiUtils; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.GRPCUtils; @@ -27,10 +29,9 @@ public class GRPCJob extends Job { private static final Logger logger = LoggerFactory.getLogger(Job.class); - private static final Logger loggerTsMetrics = - LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); - private static final Dimension DIMENSION = new Dimension("Level", "Host"); + private final IMetric queueTimeMetric; + private final List queueTimeMetricDimensionValues; private StreamObserver predictionResponseObserver; private StreamObserver managementResponseObserver; @@ -42,6 +43,9 @@ public GRPCJob( RequestInput input) { super(modelName, version, cmd, input); this.predictionResponseObserver = predictionResponseObserver; + this.queueTimeMetric = MetricCache.getInstance().getMetricFrontend("QueueTime"); + this.queueTimeMetricDimensionValues = + Arrays.asList("Host", ConfigManager.getInstance().getHostName()); } public GRPCJob( @@ -51,6 +55,9 @@ public GRPCJob( RequestInput input) { super(modelName, version, WorkerCommands.DESCRIBE, input); this.managementResponseObserver = managementResponseObserver; + this.queueTimeMetric = MetricCache.getInstance().getMetricFrontend("QueueTime"); + this.queueTimeMetricDimensionValues = + Arrays.asList("Host", ConfigManager.getInstance().getHostName()); } @Override @@ -76,18 +83,18 @@ public void response( "Waiting time ns: {}, Backend time ns: {}", getScheduled() - getBegin(), System.nanoTime() - getScheduled()); - String queueTime = - String.valueOf( + double queueTime = + (double) TimeUnit.MILLISECONDS.convert( - getScheduled() - getBegin(), TimeUnit.NANOSECONDS)); - loggerTsMetrics.info( - "{}", - new Metric( - "QueueTime", - queueTime, - "ms", - ConfigManager.getInstance().getHostName(), - DIMENSION)); + getScheduled() - getBegin(), TimeUnit.NANOSECONDS); + if (this.queueTimeMetric != null) { + try { + this.queueTimeMetric.addOrUpdate( + this.queueTimeMetricDimensionValues, queueTime); + } catch (Exception e) { + logger.error("Failed to update frontend metric QueueTime: ", e); + } + } } } else if (this.getCmd() == WorkerCommands.DESCRIBE) { try { diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index d3398b19a8..66a5407163 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -17,6 +17,8 @@ import io.netty.handler.codec.http.LastHttpContent; import io.netty.util.CharsetUtil; import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; @@ -24,9 +26,8 @@ import org.pytorch.serve.archive.model.ModelVersionNotFoundException; import org.pytorch.serve.http.InternalServerException; import org.pytorch.serve.http.messages.DescribeModelResponse; -import org.pytorch.serve.metrics.Dimension; -import org.pytorch.serve.metrics.Metric; -import org.pytorch.serve.metrics.api.MetricAggregator; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.util.ApiUtils; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.JsonUtils; @@ -39,10 +40,12 @@ public class RestJob extends Job { private static final Logger logger = LoggerFactory.getLogger(Job.class); - private static final Logger loggerTsMetrics = - LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); - private static final Dimension DIMENSION = new Dimension("Level", "Host"); + private final IMetric inferenceLatencyMetric; + private final IMetric queueLatencyMetric; + private final List latencyMetricDimensionValues; + private final IMetric queueTimeMetric; + private final List queueTimeMetricDimensionValues; private ChannelHandlerContext ctx; private CompletableFuture responsePromise; /** @@ -59,6 +62,18 @@ public RestJob( RequestInput input) { super(modelName, version, cmd, input); this.ctx = ctx; + this.inferenceLatencyMetric = + MetricCache.getInstance().getMetricFrontend("ts_inference_latency_microseconds"); + this.queueLatencyMetric = + MetricCache.getInstance().getMetricFrontend("ts_queue_latency_microseconds"); + this.latencyMetricDimensionValues = + Arrays.asList( + getModelName(), + getModelVersion() == null ? "default" : getModelVersion(), + ConfigManager.getInstance().getHostName()); + this.queueTimeMetric = MetricCache.getInstance().getMetricFrontend("QueueTime"); + this.queueTimeMetricDimensionValues = + Arrays.asList("Host", ConfigManager.getInstance().getHostName()); this.numStreams = 0; } @@ -156,13 +171,9 @@ private void responseInference( */ if (ctx != null) { if (numStreams == 0) { // non-stream response - MetricAggregator.handleInferenceMetric( - getModelName(), getModelVersion(), getScheduled() - getBegin(), inferTime); ((DefaultFullHttpResponse) resp).content().writeBytes(body); NettyUtils.sendHttpResponse(ctx, resp, true); } else if (numStreams == -1) { // the last response in a stream - MetricAggregator.handleInferenceMetric( - getModelName(), getModelVersion(), getScheduled() - getBegin(), inferTime); ctx.writeAndFlush(new DefaultHttpContent(Unpooled.wrappedBuffer(body))); ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); } else if (numStreams == 1) { // the first response in a stream @@ -176,22 +187,43 @@ private void responseInference( } if (numStreams <= 0) { + if (this.inferenceLatencyMetric != null) { + try { + this.inferenceLatencyMetric.addOrUpdate( + this.latencyMetricDimensionValues, inferTime / 1000.0); + } catch (Exception e) { + logger.error( + "Failed to update frontend metric ts_inference_latency_microseconds: ", + e); + } + } + if (this.queueLatencyMetric != null) { + try { + this.queueLatencyMetric.addOrUpdate( + this.latencyMetricDimensionValues, + (getScheduled() - getBegin()) / 1000.0); + } catch (Exception e) { + logger.error( + "Failed to update frontend metric ts_queue_latency_microseconds: ", e); + } + } + logger.debug( "Waiting time ns: {}, Backend time ns: {}", getScheduled() - getBegin(), System.nanoTime() - getScheduled()); - String queueTime = - String.valueOf( + double queueTime = + (double) TimeUnit.MILLISECONDS.convert( - getScheduled() - getBegin(), TimeUnit.NANOSECONDS)); - loggerTsMetrics.info( - "{}", - new Metric( - "QueueTime", - queueTime, - "ms", - ConfigManager.getInstance().getHostName(), - DIMENSION)); + getScheduled() - getBegin(), TimeUnit.NANOSECONDS); + if (this.queueTimeMetric != null) { + try { + this.queueTimeMetric.addOrUpdate( + this.queueTimeMetricDimensionValues, queueTime); + } catch (Exception e) { + logger.error("Failed to update frontend metric QueueTime: ", e); + } + } } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCache.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCache.java new file mode 100644 index 0000000000..3ac81f3d54 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCache.java @@ -0,0 +1,116 @@ +package org.pytorch.serve.metrics; + +import java.io.FileNotFoundException; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import org.pytorch.serve.metrics.configuration.MetricConfiguration; +import org.pytorch.serve.metrics.configuration.MetricSpecification; +import org.pytorch.serve.util.ConfigManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public final class MetricCache { + private static final Logger logger = LoggerFactory.getLogger(MetricCache.class); + private static MetricCache instance; + private MetricConfiguration config; + private ConcurrentMap metricsFrontend; + private ConcurrentMap metricsBackend; + + private MetricCache() throws FileNotFoundException { + this.metricsFrontend = new ConcurrentHashMap(); + this.metricsBackend = new ConcurrentHashMap(); + + String metricsConfigPath = ConfigManager.getInstance().getMetricsConfigPath(); + try { + this.config = MetricConfiguration.loadConfiguration(metricsConfigPath); + } catch (FileNotFoundException | RuntimeException e) { + logger.error("Failed to load metrics configuration: ", e); + return; + } + + MetricBuilder.MetricMode metricsMode = MetricBuilder.MetricMode.LOG; + String metricsConfigMode = ConfigManager.getInstance().getMetricsMode(); + if (metricsConfigMode != null && metricsConfigMode.toLowerCase().contains("prometheus")) { + metricsMode = MetricBuilder.MetricMode.PROMETHEUS; + } + + if (this.config.getTs_metrics() != null) { + addMetrics( + this.metricsFrontend, + this.config.getTs_metrics().getCounter(), + metricsMode, + MetricBuilder.MetricType.COUNTER); + addMetrics( + this.metricsFrontend, + this.config.getTs_metrics().getGauge(), + metricsMode, + MetricBuilder.MetricType.GAUGE); + addMetrics( + this.metricsFrontend, + this.config.getTs_metrics().getHistogram(), + metricsMode, + MetricBuilder.MetricType.HISTOGRAM); + } + + if (this.config.getModel_metrics() != null) { + addMetrics( + this.metricsBackend, + this.config.getModel_metrics().getCounter(), + metricsMode, + MetricBuilder.MetricType.COUNTER); + addMetrics( + this.metricsBackend, + this.config.getModel_metrics().getGauge(), + metricsMode, + MetricBuilder.MetricType.GAUGE); + addMetrics( + this.metricsBackend, + this.config.getModel_metrics().getHistogram(), + metricsMode, + MetricBuilder.MetricType.HISTOGRAM); + } + } + + private void addMetrics( + ConcurrentMap metricCache, + List metricsSpec, + MetricBuilder.MetricMode metricMode, + MetricBuilder.MetricType metricType) { + if (metricsSpec == null) { + return; + } + + for (MetricSpecification spec : metricsSpec) { + metricCache.put( + spec.getName(), + MetricBuilder.build( + metricMode, + metricType, + spec.getName(), + spec.getUnit(), + spec.getDimensions())); + } + } + + public static void init() throws FileNotFoundException { + if (instance != null) { + logger.error("Skip initializing metrics cache since it has already been initialized"); + return; + } + + instance = new MetricCache(); + } + + public static MetricCache getInstance() { + return instance; + } + + public IMetric getMetricFrontend(String metricName) { + return metricsFrontend.get(metricName); + } + + public IMetric getMetricBackend(String metricName) { + return metricsBackend.get(metricName); + } +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java index f6a8cf1522..1585d71e90 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java @@ -20,12 +20,12 @@ public class MetricCollector implements Runnable { private static final Logger logger = LoggerFactory.getLogger(MetricCollector.class); - private static final Logger loggerMetrics = - LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); + private final MetricCache metricCache; private ConfigManager configManager; public MetricCollector(ConfigManager configManager) { this.configManager = configManager; + this.metricCache = MetricCache.getInstance(); } @Override @@ -79,7 +79,27 @@ public void run() { if (metric == null) { logger.warn("Parse metrics failed: " + line); } else { - loggerMetrics.info("{}", metric); + if (this.metricCache.getMetricFrontend(metric.getMetricName()) != null) { + try { + List dimensionValues = new ArrayList(); + for (Dimension dimension : metric.getDimensions()) { + dimensionValues.add(dimension.getValue()); + } + // Frontend metrics by default have the last dimension as Hostname + dimensionValues.add(metric.getHostName()); + this.metricCache + .getMetricFrontend(metric.getMetricName()) + .addOrUpdate( + dimensionValues, + Double.parseDouble(metric.getValue())); + } catch (Exception e) { + logger.error( + "Failed to update frontend metric ", + metric.getMetricName(), + ": ", + e); + } + } metricsSystem.add(metric); } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/api/MetricAggregator.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/api/MetricAggregator.java deleted file mode 100644 index 383942508f..0000000000 --- a/frontend/server/src/main/java/org/pytorch/serve/metrics/api/MetricAggregator.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.pytorch.serve.metrics.api; - -import org.pytorch.serve.metrics.format.prometheous.PrometheusMetricManager; -import org.pytorch.serve.util.ConfigManager; - -public final class MetricAggregator { - - private MetricAggregator() {} - - public static void handleInferenceMetric(final String modelName, final String modelVersion) { - ConfigManager configMgr = ConfigManager.getInstance(); - if (configMgr.isMetricApiEnable() - && configMgr.getMetricsFormat().equals(ConfigManager.METRIC_FORMAT_PROMETHEUS)) { - PrometheusMetricManager.getInstance().incInferCount(modelName, modelVersion); - } - } - - public static void handleInferenceMetric( - final String modelName, final String modelVersion, long timeInQueue, long inferTime) { - ConfigManager configMgr = ConfigManager.getInstance(); - if (configMgr.isMetricApiEnable() - && configMgr.getMetricsFormat().equals(ConfigManager.METRIC_FORMAT_PROMETHEUS)) { - PrometheusMetricManager metrics = PrometheusMetricManager.getInstance(); - metrics.incInferLatency(inferTime, modelName, modelVersion); - metrics.incQueueLatency(timeInQueue, modelName, modelVersion); - } - } -} diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusMetricManager.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusMetricManager.java deleted file mode 100644 index 27bc015420..0000000000 --- a/frontend/server/src/main/java/org/pytorch/serve/metrics/format/prometheous/PrometheusMetricManager.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.pytorch.serve.metrics.format.prometheous; - -import io.prometheus.client.Counter; -import java.util.UUID; - -public final class PrometheusMetricManager { - - private static final PrometheusMetricManager METRIC_MANAGER = new PrometheusMetricManager(); - private static final String METRICS_UUID = UUID.randomUUID().toString(); - private Counter inferRequestCount; - private Counter inferLatency; - private Counter queueLatency; - - private PrometheusMetricManager() { - String[] metricsLabels = {"uuid", "model_name", "model_version"}; - inferRequestCount = - Counter.build() - .name("ts_inference_requests_total") - .labelNames(metricsLabels) - .help("Total number of inference requests.") - .register(); - inferLatency = - Counter.build() - .name("ts_inference_latency_microseconds") - .labelNames(metricsLabels) - .help("Cumulative inference duration in microseconds") - .register(); - queueLatency = - Counter.build() - .name("ts_queue_latency_microseconds") - .labelNames(metricsLabels) - .help("Cumulative queue duration in microseconds") - .register(); - } - - private static String getOrDefaultModelVersion(String modelVersion) { - return modelVersion == null ? "default" : modelVersion; - } - - public static PrometheusMetricManager getInstance() { - return METRIC_MANAGER; - } - - /** - * Counts the time in ns it took for an inference to be completed - * - * @param inferTime time in nanoseconds - * @param modelName name of the model - * @param modelVersion version of the model - */ - public void incInferLatency(long inferTime, String modelName, String modelVersion) { - inferLatency - .labels(METRICS_UUID, modelName, getOrDefaultModelVersion(modelVersion)) - .inc(inferTime / 1000.0); - } - - /** - * Counts the time in ns an inference request was queued before being executed - * - * @param queueTime time in nanoseconds - * @param modelName name of the model - * @param modelVersion version of the model - */ - public void incQueueLatency(long queueTime, String modelName, String modelVersion) { - queueLatency - .labels(METRICS_UUID, modelName, getOrDefaultModelVersion(modelVersion)) - .inc(queueTime / 1000.0); - } - - /** - * Counts a valid inference request to be processed - * - * @param modelName name of the model - * @param modelVersion version of the model - */ - public void incInferCount(String modelName, String modelVersion) { - inferRequestCount - .labels(METRICS_UUID, modelName, getOrDefaultModelVersion(modelVersion)) - .inc(); - } -} diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java index 2ee296fc32..53b3cfcd62 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java @@ -24,12 +24,13 @@ import io.netty.util.CharsetUtil; import java.io.IOException; import java.net.SocketAddress; +import java.util.Arrays; import java.util.List; import org.pytorch.serve.http.ErrorResponse; import org.pytorch.serve.http.Session; import org.pytorch.serve.http.StatusResponse; -import org.pytorch.serve.metrics.Dimension; -import org.pytorch.serve.metrics.Metric; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.util.messages.InputParameter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,31 +42,6 @@ public final class NettyUtils { private static final String REQUEST_ID = "x-request-id"; private static final AttributeKey SESSION_KEY = AttributeKey.valueOf("session"); - private static final Dimension DIMENSION = new Dimension("Level", "Host"); - private static final Metric REQUESTS_2_XX = - new Metric( - "Requests2XX", - "1", - "Count", - ConfigManager.getInstance().getHostName(), - DIMENSION); - private static final Metric REQUESTS_4_XX = - new Metric( - "Requests4XX", - "1", - "Count", - ConfigManager.getInstance().getHostName(), - DIMENSION); - private static final Metric REQUESTS_5_XX = - new Metric( - "Requests5XX", - "1", - "Count", - ConfigManager.getInstance().getHostName(), - DIMENSION); - - private static final Logger loggerTsMetrics = - LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); private NettyUtils() {} @@ -157,12 +133,35 @@ public static void sendHttpResponse( logger.info(session.toString()); } int code = resp.status().code(); + List requestsMetricDimensionValues = + Arrays.asList("Host", ConfigManager.getInstance().getHostName()); if (code >= 200 && code < 300) { - loggerTsMetrics.info("{}", REQUESTS_2_XX); + IMetric requests2xxMetric = MetricCache.getInstance().getMetricFrontend("Requests2XX"); + if (requests2xxMetric != null) { + try { + requests2xxMetric.addOrUpdate(requestsMetricDimensionValues, 1); + } catch (Exception e) { + logger.error("Failed to update frontend metric Requests2XX: ", e); + } + } } else if (code >= 400 && code < 500) { - loggerTsMetrics.info("{}", REQUESTS_4_XX); + IMetric requests4xxMetric = MetricCache.getInstance().getMetricFrontend("Requests4XX"); + if (requests4xxMetric != null) { + try { + requests4xxMetric.addOrUpdate(requestsMetricDimensionValues, 1); + } catch (Exception e) { + logger.error("Failed to update frontend metric Requests4XX: ", e); + } + } } else { - loggerTsMetrics.info("{}", REQUESTS_5_XX); + IMetric requests5xxMetric = MetricCache.getInstance().getMetricFrontend("Requests5XX"); + if (requests5xxMetric != null) { + try { + requests5xxMetric.addOrUpdate(requestsMetricDimensionValues, 1); + } catch (Exception e) { + logger.error("Failed to update frontend metric Requests5XX: ", e); + } + } } String allowedOrigin = configManager.getCorsAllowedOrigin(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java index e3e24717b9..dee01724a2 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java @@ -14,7 +14,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.pytorch.serve.archive.model.ModelConfig; +import org.pytorch.serve.metrics.Dimension; import org.pytorch.serve.metrics.Metric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.Connector; import org.pytorch.serve.util.messages.EnvironmentUtils; @@ -266,10 +268,9 @@ private static final class ReaderThread extends Thread { Pattern.compile("^(INFO > )?(Torch worker started.)$"); private static final Pattern WORKER_PID_PATTERN = Pattern.compile("^(INFO > )?(\\[PID])(\\d+)$"); - private static final Logger loggerModelMetrics = - LoggerFactory.getLogger(ConfigManager.MODEL_METRICS_LOGGER); private static final Logger loggerModelOutput = LoggerFactory.getLogger(ConfigManager.MODEL_LOGGER); + private final MetricCache metricCache; private InputStream is; private boolean error; private WorkerLifeCycle lifeCycle; @@ -280,6 +281,7 @@ public ReaderThread(String name, InputStream is, boolean error, WorkerLifeCycle this.is = is; this.error = error; this.lifeCycle = lifeCycle; + this.metricCache = MetricCache.getInstance(); } public void terminate() { @@ -300,7 +302,30 @@ public void run() { logger.info("result={}, pattern={}", result, matcher.group(2)); Metric parsedMetric = Metric.parse(matcher.group(3)); if (parsedMetric != null) { - loggerModelMetrics.info(parsedMetric.toString()); + if (this.metricCache.getMetricBackend(parsedMetric.getMetricName()) + != null) { + try { + List dimensionValues = new ArrayList(); + for (Dimension dimension : parsedMetric.getDimensions()) { + dimensionValues.add(dimension.getValue()); + } + // Hostname is added as a dimension by default to backend + // metrics + dimensionValues.add(parsedMetric.getHostName()); + this.metricCache + .getMetricBackend(parsedMetric.getMetricName()) + .addOrUpdate( + dimensionValues, + parsedMetric.getRequestId(), + Double.parseDouble(parsedMetric.getValue())); + } catch (Exception e) { + logger.error( + "Failed to update backend metric ", + parsedMetric.getMetricName(), + ": ", + e); + } + } } else { logger.error("Failed to parse metrics line: \"{}\".", result); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index 00beddf1f5..793a2c1d1b 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -17,6 +17,7 @@ import java.net.SocketAddress; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.UUID; import java.util.concurrent.ArrayBlockingQueue; @@ -28,8 +29,8 @@ import org.pytorch.serve.archive.model.ModelConfig; import org.pytorch.serve.job.Job; import org.pytorch.serve.job.RestJob; -import org.pytorch.serve.metrics.Dimension; -import org.pytorch.serve.metrics.Metric; +import org.pytorch.serve.metrics.IMetric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.Connector; import org.pytorch.serve.util.codec.ModelRequestEncoder; @@ -45,8 +46,6 @@ public class WorkerThread implements Runnable { private static final Logger logger = LoggerFactory.getLogger(WorkerThread.class); - private static final Logger loggerTsMetrics = - LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_METRICS_LOGGER); private static final Logger loggerTelemetryMetrics = LoggerFactory.getLogger(ConfigManager.MODEL_SERVER_TELEMETRY_LOGGER); private static final int[] BACK_OFF = { @@ -55,7 +54,10 @@ public class WorkerThread implements Runnable { private static final long WORKER_TIMEOUT = 2L; private static final ModelRequestEncoder ENCODER = new ModelRequestEncoder(ConfigManager.getInstance().getPreferDirectBuffer()); - private Metric workerLoadTime; + private final IMetric workerThreadTimeMetric; + private final IMetric workerLoadTimeMetric; + private final List workerThreadTimeMetricDimensionValues; + private final List workerLoadTimeMetricDimensionValues; private ConfigManager configManager; private EventLoopGroup backendEventGroup; private int port; @@ -98,13 +100,13 @@ public WorkerThread( startTime = System.currentTimeMillis(); lifeCycle = new WorkerLifeCycle(configManager, model); replies = new ArrayBlockingQueue<>(model.getParallelLevel()); - workerLoadTime = - new Metric( - getWorkerName(), - String.valueOf(System.currentTimeMillis()), - "ms", - ConfigManager.getInstance().getHostName(), - new Dimension("Level", "Host")); + this.workerThreadTimeMetric = + MetricCache.getInstance().getMetricFrontend("WorkerThreadTime"); + this.workerLoadTimeMetric = MetricCache.getInstance().getMetricFrontend("WorkerLoadTime"); + this.workerThreadTimeMetricDimensionValues = + Arrays.asList("Host", ConfigManager.getInstance().getHostName()); + this.workerLoadTimeMetricDimensionValues = + Arrays.asList(getWorkerName(), "Host", ConfigManager.getInstance().getHostName()); } public WorkerState getState() { @@ -256,17 +258,16 @@ public void run() { break; } req = null; - String workerThreadTime = - String.valueOf( - ((System.currentTimeMillis() - wtStartTime) - totalDuration)); - loggerTsMetrics.info( - "{}", - new Metric( - "WorkerThreadTime", - workerThreadTime, - "ms", - ConfigManager.getInstance().getHostName(), - new Dimension("Level", "Host"))); + double workerThreadTime = + (System.currentTimeMillis() - wtStartTime) - totalDuration; + if (this.workerThreadTimeMetric != null) { + try { + this.workerThreadTimeMetric.addOrUpdate( + this.workerThreadTimeMetricDimensionValues, workerThreadTime); + } catch (Exception e) { + logger.error("Failed to update frontend metric WorkerThreadTime: ", e); + } + } } } catch (InterruptedException e) { logger.debug("System state is : " + state); @@ -477,10 +478,14 @@ public void setState(WorkerState newState, int status) { } if (state == WorkerState.WORKER_MODEL_LOADED) { - workerLoadTime.setValue(String.valueOf(timeTaken)); - workerLoadTime.setTimestamp( - String.valueOf(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()))); - loggerTsMetrics.info("{}", workerLoadTime); + if (this.workerLoadTimeMetric != null) { + try { + this.workerLoadTimeMetric.addOrUpdate( + this.workerLoadTimeMetricDimensionValues, timeTaken); + } catch (Exception e) { + logger.error("Failed to update frontend metric WorkerLoadTime: ", e); + } + } if (recoveryStartTS > 0) { logger.info("Auto recovery succeeded, reset recoveryStartTS"); recoveryStartTS = 0; diff --git a/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java b/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java index b3d7716538..d19b450d99 100644 --- a/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java +++ b/frontend/server/src/test/java/org/pytorch/serve/ModelServerTest.java @@ -39,6 +39,7 @@ import org.pytorch.serve.http.messages.ListModelsResponse; import org.pytorch.serve.metrics.Dimension; import org.pytorch.serve.metrics.Metric; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.metrics.MetricManager; import org.pytorch.serve.servingsdk.impl.PluginsManager; import org.pytorch.serve.snapshot.InvalidSnapshotException; @@ -76,7 +77,9 @@ public void beforeSuite() InvalidSnapshotException { ConfigManager.init(new ConfigManager.Arguments()); configManager = ConfigManager.getInstance(); + configManager.setProperty("metrics_mode", "prometheus"); PluginsManager.getInstance().initialize(); + MetricCache.init(); InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE); diff --git a/frontend/server/src/test/java/org/pytorch/serve/SnapshotTest.java b/frontend/server/src/test/java/org/pytorch/serve/SnapshotTest.java index 1b28e26909..1f7f678d99 100644 --- a/frontend/server/src/test/java/org/pytorch/serve/SnapshotTest.java +++ b/frontend/server/src/test/java/org/pytorch/serve/SnapshotTest.java @@ -27,6 +27,7 @@ import java.util.Properties; import java.util.concurrent.CountDownLatch; import org.apache.commons.io.FileUtils; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.servingsdk.impl.PluginsManager; import org.pytorch.serve.servingsdk.snapshot.Snapshot; import org.pytorch.serve.snapshot.InvalidSnapshotException; @@ -59,6 +60,7 @@ public void beforeSuite() ConfigManager.init(new ConfigManager.Arguments()); configManager = ConfigManager.getInstance(); PluginsManager.getInstance().initialize(); + MetricCache.init(); InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE); configManager.setInitialWorkerPort(9500); @@ -267,6 +269,7 @@ public void testStartTorchServeWithLastSnapshot() System.setProperty("tsConfigFile", ""); ConfigManager.init(new ConfigManager.Arguments()); configManager = ConfigManager.getInstance(); + MetricCache.init(); server = new ModelServer(configManager); server.startRESTserver(); Channel channel = null; @@ -292,6 +295,7 @@ public void testRestartTorchServeWithSnapshotAsConfig() System.setProperty("tsConfigFile", getLastSnapshot()); ConfigManager.init(new ConfigManager.Arguments()); configManager = ConfigManager.getInstance(); + MetricCache.init(); server = new ModelServer(configManager); server.startRESTserver(); Channel channel = null; diff --git a/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java b/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java index 90a70ecb65..95e1fbc804 100644 --- a/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java +++ b/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java @@ -50,9 +50,9 @@ public final class TestUtils { private static Channel metricsChannel; private static String tsInferLatencyPattern = "ts_inference_latency_microseconds\\{" - + "uuid=\"[\\w]{8}(-[\\w]{4}){3}-[\\w]{12}\"," - + "model_name=\"%s\"," - + "model_version=\"%s\",\\}\\s\\d+(\\.\\d+)"; + + "ModelName=\"%s\"," + + "ModelVersion=\"%s\"," + + "Hostname=\".+\",\\}\\s\\d+(\\.\\d+)"; private TestUtils() {} diff --git a/frontend/server/src/test/java/org/pytorch/serve/WorkflowTest.java b/frontend/server/src/test/java/org/pytorch/serve/WorkflowTest.java index 0ac43eb65d..68a025065e 100644 --- a/frontend/server/src/test/java/org/pytorch/serve/WorkflowTest.java +++ b/frontend/server/src/test/java/org/pytorch/serve/WorkflowTest.java @@ -19,6 +19,7 @@ import org.apache.commons.io.FileUtils; import org.pytorch.serve.http.ErrorResponse; import org.pytorch.serve.http.StatusResponse; +import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.servingsdk.impl.PluginsManager; import org.pytorch.serve.snapshot.InvalidSnapshotException; import org.pytorch.serve.util.ConfigManager; @@ -51,6 +52,7 @@ public void beforeClass() ConfigManager.init(new ConfigManager.Arguments()); configManager = ConfigManager.getInstance(); PluginsManager.getInstance().initialize(); + MetricCache.init(); InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE); configManager.setInitialWorkerPort(10000); diff --git a/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricCacheTest.java b/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricCacheTest.java new file mode 100644 index 0000000000..7170757287 --- /dev/null +++ b/frontend/server/src/test/java/org/pytorch/serve/metrics/MetricCacheTest.java @@ -0,0 +1,63 @@ +package org.pytorch.serve.metrics; + +import org.pytorch.serve.metrics.format.prometheous.PrometheusCounter; +import org.pytorch.serve.metrics.format.prometheous.PrometheusGauge; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class MetricCacheTest { + @Test + public void testMetricCacheLoadValidConfiguration() { + MetricCache metricCache = MetricCache.getInstance(); + Assert.assertEquals( + metricCache.getMetricFrontend("Requests2XX").getClass(), PrometheusCounter.class); + Assert.assertEquals( + metricCache.getMetricFrontend("Requests4XX").getClass(), PrometheusCounter.class); + Assert.assertEquals( + metricCache.getMetricFrontend("Requests5XX").getClass(), PrometheusCounter.class); + Assert.assertEquals( + metricCache.getMetricFrontend("ts_inference_requests_total").getClass(), + PrometheusCounter.class); + Assert.assertEquals( + metricCache.getMetricFrontend("ts_inference_latency_microseconds").getClass(), + PrometheusCounter.class); + Assert.assertEquals( + metricCache.getMetricFrontend("ts_queue_latency_microseconds").getClass(), + PrometheusCounter.class); + Assert.assertEquals( + metricCache.getMetricFrontend("QueueTime").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("WorkerThreadTime").getClass(), + PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("WorkerLoadTime").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("CPUUtilization").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("MemoryUsed").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("MemoryAvailable").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("MemoryUtilization").getClass(), + PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("DiskUsage").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("DiskUtilization").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("DiskAvailable").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("GPUMemoryUtilization").getClass(), + PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("GPUMemoryUsed").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricFrontend("GPUUtilization").getClass(), PrometheusGauge.class); + Assert.assertEquals(metricCache.getMetricFrontend("InvalidMetric"), null); + Assert.assertEquals( + metricCache.getMetricBackend("HandlerTime").getClass(), PrometheusGauge.class); + Assert.assertEquals( + metricCache.getMetricBackend("PredictionTime").getClass(), PrometheusGauge.class); + Assert.assertEquals(metricCache.getMetricBackend("InvalidMetric"), null); + } +} diff --git a/frontend/server/src/test/resources/config.properties b/frontend/server/src/test/resources/config.properties index 233c73349f..7b8f3e29a2 100644 --- a/frontend/server/src/test/resources/config.properties +++ b/frontend/server/src/test/resources/config.properties @@ -46,4 +46,3 @@ models={\ # install_py_dep_per_model=false # enable_metrics_api=false workflow_store=../archive/src/test/resources/workflows -metrics_config=src/test/resources/metrics_default.yaml diff --git a/frontend/server/testng.xml b/frontend/server/testng.xml index 0bd9b5d9c6..2518798907 100644 --- a/frontend/server/testng.xml +++ b/frontend/server/testng.xml @@ -3,14 +3,15 @@ - - + + + diff --git a/test/postman/explanation_api_test_collection.json b/test/postman/explanation_api_test_collection.json index 042f284eb8..c0f5f9cabc 100644 --- a/test/postman/explanation_api_test_collection.json +++ b/test/postman/explanation_api_test_collection.json @@ -192,7 +192,7 @@ "id": "0ebdb1a8-dce9-4c2e-81cf-116a30003ac8", "exec": [ "pm.test(\"Successful GET request\", function () {", - " let pattern = new RegExp('ts_inference_latency_microseconds{uuid=\"[\\\\w]{8}(-[\\\\w]{4}){3}-[\\\\w]{12}\",model_name=\"'+pm.variables.get(\"model_name\"));", + " let pattern = new RegExp('.*Requests2XX\\\\{Level=\"Host\",Hostname=\".*\",\\\\} \\\\d+\\\\.\\\\d+.*');", " pm.expect(pm.response.text()).to.match(pattern);", "});" ], @@ -219,4 +219,4 @@ } ], "protocolProfileBehavior": {} -} \ No newline at end of file +} diff --git a/test/postman/inference_api_test_collection.json b/test/postman/inference_api_test_collection.json index 6c17aec684..11e8f3a4e3 100644 --- a/test/postman/inference_api_test_collection.json +++ b/test/postman/inference_api_test_collection.json @@ -208,7 +208,7 @@ "id": "9605fe7f-9911-495a-b6c3-b495e1b1dd21", "exec": [ "pm.test(\"Successful GET request\", function () {", - " let pattern = new RegExp('ts_inference_latency_microseconds{uuid=\"[\\\\w]{8}(-[\\\\w]{4}){3}-[\\\\w]{12}\",model_name=\"'+pm.variables.get(\"model_name\"));", + " let pattern = new RegExp('.*Requests2XX\\\\{Level=\"Host\",Hostname=\".*\",\\\\} \\\\d+\\\\.\\\\d+.*');", " pm.expect(pm.response.text()).to.match(pattern);", "});" ], @@ -235,4 +235,4 @@ } ], "protocolProfileBehavior": {} -} \ No newline at end of file +} diff --git a/test/postman/kf_api_test_collection.json b/test/postman/kf_api_test_collection.json index ff9fcefbeb..3c29e877b1 100644 --- a/test/postman/kf_api_test_collection.json +++ b/test/postman/kf_api_test_collection.json @@ -304,7 +304,7 @@ "id": "6bb26bdb-6069-48fa-b270-9ba694ad1f35", "exec": [ "pm.test(\"Successful GET request\", function () {", - " let pattern = new RegExp('ts_inference_latency_microseconds{uuid=\"[\\\\w]{8}(-[\\\\w]{4}){3}-[\\\\w]{12}\",model_name=\"'+pm.variables.get(\"model_name\"));", + " let pattern = new RegExp('.*Requests2XX\\\\{Level=\"Host\",Hostname=\".*\",\\\\} \\\\d+\\\\.\\\\d+.*');", " pm.expect(pm.response.text()).to.match(pattern);", "});" ], @@ -331,4 +331,4 @@ } ], "protocolProfileBehavior": {} -} \ No newline at end of file +} diff --git a/test/postman/kf_inference_api_test_collection.json b/test/postman/kf_inference_api_test_collection.json index 8e6453de2d..10e09b5f71 100644 --- a/test/postman/kf_inference_api_test_collection.json +++ b/test/postman/kf_inference_api_test_collection.json @@ -323,7 +323,7 @@ "id": "e6253ef2-c614-492f-ac2b-12da8b8e92fc", "exec": [ "pm.test(\"Successful GET request\", function () {", - " let pattern = new RegExp('ts_inference_latency_microseconds{uuid=\"[\\\\w]{8}(-[\\\\w]{4}){3}-[\\\\w]{12}\",model_name=\"'+pm.variables.get(\"model_name\"));", + " let pattern = new RegExp('.*Requests2XX\\\\{Level=\"Host\",Hostname=\".*\",\\\\} \\\\d+\\\\.\\\\d+.*');", " pm.expect(pm.response.text()).to.match(pattern);", "});" ], @@ -350,4 +350,4 @@ } ], "protocolProfileBehavior": {} -} \ No newline at end of file +} diff --git a/test/postman/kfv2_api_test_collection.json b/test/postman/kfv2_api_test_collection.json index f89dd92211..c0e64c15aa 100644 --- a/test/postman/kfv2_api_test_collection.json +++ b/test/postman/kfv2_api_test_collection.json @@ -295,7 +295,7 @@ "script": { "exec": [ "pm.test(\"Successful GET request\", function () {", - " let pattern = new RegExp('ts_inference_latency_microseconds{uuid=\"[\\\\w]{8}(-[\\\\w]{4}){3}-[\\\\w]{12}\",model_name=\"'+pm.variables.get(\"model_name\"));", + " let pattern = new RegExp('.*Requests2XX\\\\{Level=\"Host\",Hostname=\".*\",\\\\} \\\\d+\\\\.\\\\d+.*');", " pm.expect(pm.response.text()).to.match(pattern);", "});" ], @@ -321,4 +321,4 @@ "response": [] } ] -} \ No newline at end of file +} diff --git a/test/pytest/test_metrics.py b/test/pytest/test_metrics.py index ab30ef02ab..71059f8398 100644 --- a/test/pytest/test_metrics.py +++ b/test/pytest/test_metrics.py @@ -10,6 +10,17 @@ import test_utils NUM_STARTUP_CFG = 0 +FRONTEND_METRICS = [ + "Requests2XX", + "Requests4XX", + "Requests5XX", + "ts_inference_requests_total", + "ts_inference_latency_microseconds", + "ts_queue_latency_microseconds", + "QueueTime", + "WorkerThreadTime", + "WorkerLoadTime", +] SYSTEM_METRICS = [ "CPUUtilization", "MemoryUsed", @@ -22,6 +33,7 @@ "GPUMemoryUsed", "GPUUtilization", ] +BACKEND_METRICS = ["HandlerTime", "PredictionTime"] def setup_module(module): @@ -69,7 +81,7 @@ def run_log_location_var(custom_path=test_utils.ROOT_DIR, no_config_snapshots=Fa def register_densenet161_model_and_make_inference_request(): - test_utils.register_model("densenet161.mar", "densenet161") + test_utils.register_model("densenet161", "densenet161.mar") data_file = os.path.join( test_utils.REPO_ROOT, "examples/image_classifier/kitten.jpg" ) @@ -79,20 +91,21 @@ def register_densenet161_model_and_make_inference_request(): ) -def validate_system_metrics(present=True): - assert len(glob.glob("logs/ts_metrics.log")) == 1 - ts_metrics_path = glob.glob("logs/ts_metrics.log")[0] - assert os.path.getsize(ts_metrics_path) > 0 +def validate_metrics_log(log_filename, metric_names, present): + assert len(glob.glob("logs/" + log_filename)) == 1 + metrics_path = glob.glob("logs/" + log_filename)[0] + if present: + assert os.path.getsize(metrics_path) > 0 - system_metrics_regex = re.compile("|".join(SYSTEM_METRICS), flags=re.IGNORECASE) - with open(ts_metrics_path, "rt") as ts_metrics_file: - ts_metrics = ts_metrics_file.read() - system_metrics = re.findall(system_metrics_regex, ts_metrics) + metrics_regex = re.compile("|".join(metric_names), flags=re.IGNORECASE) + with open(metrics_path, "rt") as metrics_file: + metrics_data = metrics_file.read() + matched_metrics = re.findall(metrics_regex, metrics_data) if present: - assert len(system_metrics) > 0 + assert len(matched_metrics) > 0 else: - assert len(system_metrics) == 0 + assert len(matched_metrics) == 0 def test_logs_created(): @@ -360,12 +373,107 @@ def test_metrics_location_var_snapshot_enabled_rdonly_dir(): del os.environ["METRICS_LOCATION"] +def test_metrics_log_mode(): + """ + Validates that metrics uses log mode by default + """ + # Torchserve cleanup + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() + # Remove existing logs if any + for f in glob.glob("logs/*.log"): + os.remove(f) + + try: + test_utils.start_torchserve( + model_store=test_utils.MODEL_STORE, + no_config_snapshots=True, + gen_mar=False, + ) + register_densenet161_model_and_make_inference_request() + validate_metrics_log("ts_metrics.log", FRONTEND_METRICS, True) + validate_metrics_log("ts_metrics.log", SYSTEM_METRICS, True) + validate_metrics_log("model_metrics.log", BACKEND_METRICS, True) + finally: + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() + + +def test_metrics_prometheus_mode(): + """ + Validates metrics prometheus mode + """ + # Torchserve cleanup + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() + # Remove existing logs if any + for f in glob.glob("logs/*.log"): + os.remove(f) + + config_file = test_utils.ROOT_DIR + "config.properties" + with open(config_file, "w") as f: + f.write("enable_envvars_config=true") + + os.environ["TS_METRICS_MODE"] = "prometheus" + + try: + test_utils.start_torchserve( + model_store=test_utils.MODEL_STORE, + snapshot_file=config_file, + no_config_snapshots=True, + gen_mar=False, + ) + register_densenet161_model_and_make_inference_request() + validate_metrics_log("ts_metrics.log", FRONTEND_METRICS, False) + validate_metrics_log("ts_metrics.log", SYSTEM_METRICS, False) + validate_metrics_log("model_metrics.log", BACKEND_METRICS, False) + + response = requests.get("http://localhost:8082/metrics") + prometheus_metrics = response.text + for metric_name in FRONTEND_METRICS: + assert metric_name in prometheus_metrics + for metric_name in SYSTEM_METRICS: + assert metric_name in prometheus_metrics + for metric_name in BACKEND_METRICS: + assert metric_name in prometheus_metrics + + prometheus_metric_patterns = [ + r'Requests2XX\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'ts_inference_requests_total\{ModelName="densenet161",ModelVersion="default",Hostname=".+",\} \d+\.\d+', + r'ts_inference_latency_microseconds\{ModelName="densenet161",ModelVersion="default",Hostname=".+",\} \d+\.\d+', + r'ts_queue_latency_microseconds\{ModelName="densenet161",ModelVersion="default",Hostname=".+",\} \d+\.\d+', + r'QueueTime\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'WorkerThreadTime\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'WorkerLoadTime\{WorkerName=".+",Level="Host",Hostname=".+",\} \d+\.\d+', + r'CPUUtilization\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'MemoryUsed\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'MemoryAvailable\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'MemoryUtilization\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'DiskUsage\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'DiskUtilization\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'DiskAvailable\{Level="Host",Hostname=".+",\} \d+\.\d+', + r'HandlerTime\{ModelName="densenet161",Level="Model",Hostname=".+",\} \d+\.\d+', + r'PredictionTime\{ModelName="densenet161",Level="Model",Hostname=".+",\} \d+\.\d+', + ] + + for pattern in prometheus_metric_patterns: + matches = re.findall(pattern, prometheus_metrics) + assert len(matches) == 1 + + finally: + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() + del os.environ["TS_METRICS_MODE"] + os.remove(config_file) + + def test_collect_system_metrics_when_not_disabled(): """ Validates that system metrics are collected when not disabled """ # Torchserve cleanup - test_utils.torchserve_cleanup() + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() # Remove existing logs if any for f in glob.glob("logs/*.log"): os.remove(f) @@ -375,9 +483,10 @@ def test_collect_system_metrics_when_not_disabled(): model_store=test_utils.MODEL_STORE, no_config_snapshots=True, gen_mar=False ) register_densenet161_model_and_make_inference_request() - validate_system_metrics(present=True) + validate_metrics_log("ts_metrics.log", SYSTEM_METRICS, True) finally: - test_utils.torchserve_cleanup() + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() def test_disable_system_metrics_using_config_properties(): @@ -386,7 +495,8 @@ def test_disable_system_metrics_using_config_properties(): configuration option is set to "true" """ # Torchserve cleanup - test_utils.torchserve_cleanup() + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() # Remove existing logs if any for f in glob.glob("logs/*.log"): os.remove(f) @@ -403,9 +513,10 @@ def test_disable_system_metrics_using_config_properties(): gen_mar=False, ) register_densenet161_model_and_make_inference_request() - validate_system_metrics(present=False) + validate_metrics_log("ts_metrics.log", SYSTEM_METRICS, False) finally: - test_utils.torchserve_cleanup() + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() os.remove(config_file) @@ -415,7 +526,8 @@ def test_disable_system_metrics_using_environment_variable(): environment variable is set to "true" """ # Torchserve cleanup - test_utils.torchserve_cleanup() + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() # Remove existing logs if any for f in glob.glob("logs/*.log"): os.remove(f) @@ -434,8 +546,9 @@ def test_disable_system_metrics_using_environment_variable(): gen_mar=False, ) register_densenet161_model_and_make_inference_request() - validate_system_metrics(present=False) + validate_metrics_log("ts_metrics.log", SYSTEM_METRICS, False) finally: - test_utils.torchserve_cleanup() + test_utils.stop_torchserve() + test_utils.delete_all_snapshots() del os.environ["TS_DISABLE_SYSTEM_METRICS"] os.remove(config_file) diff --git a/ts_scripts/api_utils.py b/ts_scripts/api_utils.py index 1d7b6b9fa5..99398ef17c 100755 --- a/ts_scripts/api_utils.py +++ b/ts_scripts/api_utils.py @@ -130,8 +130,15 @@ def trigger_management_tests(): def trigger_inference_tests(): """Return exit code of newman execution of inference collection""" + config_file = open("config.properties", "w") + config_file.write("metrics_mode=prometheus") + config_file.close() + ts.start_torchserve( - ncs=True, model_store=MODEL_STORE_DIR, log_file=TS_CONSOLE_LOG_FILE + ncs=True, + model_store=MODEL_STORE_DIR, + config_file="config.properties", + log_file=TS_CONSOLE_LOG_FILE, ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_INFERENCE} -d {POSTMAN_INFERENCE_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR}/{REPORT_FILE} --verbose" @@ -139,6 +146,7 @@ def trigger_inference_tests(): ts.stop_torchserve() move_logs(TS_CONSOLE_LOG_FILE, ARTIFACTS_INFERENCE_DIR) cleanup_model_store() + os.remove("config.properties") return EXIT_CODE @@ -178,9 +186,15 @@ def trigger_workflow_inference_tests(): def trigger_explanation_tests(): """Return exit code of newman execution of inference collection""" + config_file = open("config.properties", "w") + config_file.write("metrics_mode=prometheus") + config_file.close() ts.start_torchserve( - ncs=True, model_store=MODEL_STORE_DIR, log_file=TS_CONSOLE_LOG_FILE + ncs=True, + model_store=MODEL_STORE_DIR, + config_file="config.properties", + log_file=TS_CONSOLE_LOG_FILE, ) EXIT_CODE = os.system( f"newman run -e {POSTMAN_ENV_FILE} {POSTMAN_COLLECTION_EXPLANATION} -d {POSTMAN_EXPLANATION_DATA_FILE} -r cli,htmlextra --reporter-htmlextra-export {ARTIFACTS_INFERENCE_DIR}/{REPORT_FILE} --verbose" @@ -188,6 +202,7 @@ def trigger_explanation_tests(): ts.stop_torchserve() move_logs(TS_CONSOLE_LOG_FILE, ARTIFACTS_EXPLANATION_DIR) cleanup_model_store() + os.remove("config.properties") return EXIT_CODE @@ -196,7 +211,8 @@ def trigger_incr_timeout_inference_tests(): # Configuration with increased timeout config_file = open("config.properties", "w") - config_file.write("default_response_timeout=300") + config_file.write("default_response_timeout=300\n") + config_file.write("metrics_mode=prometheus") config_file.close() ts.start_torchserve( @@ -261,7 +277,8 @@ def trigger_inference_tests_kf(): """Return exit code of newman execution of inference collection""" config_file = open("config.properties", "w") - config_file.write("service_envelope=kserve") + config_file.write("service_envelope=kserve\n") + config_file.write("metrics_mode=prometheus") config_file.close() ts.start_torchserve( @@ -301,7 +318,8 @@ def trigger_inference_tests_kfv2(): """Return exit code of newman execution of inference collection""" config_file = open("config.properties", "w") - config_file.write("service_envelope=kservev2") + config_file.write("service_envelope=kservev2\n") + config_file.write("metrics_mode=prometheus") config_file.close() ts.start_torchserve( diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index b817fde4c1..ba81059e97 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1037,3 +1037,9 @@ Microbatching Micro-batching microbatch microbatching +DeviceId +PredictionTime +QueueTime +WorkerLoadTime +WorkerName +WorkerThreadTime From d6e072ad58668cf32f4c6ef42f35a29730d86a45 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Tue, 25 Apr 2023 16:36:30 -0700 Subject: [PATCH 069/172] Refactoring dependencies for installing TorchServe (#2247) * Refactoring dependencies * remove redundancy * Fix failures in CI * ci failure * testing CI GPU * testing CI GPU * testing CI GPU * testing CI GPU * GPU added * code cleanup * code cleanup * review comments * review comments * review comments * renamed gpu.txt to common_gpu.txt --- requirements/common.txt | 2 -- requirements/common_gpu.txt | 2 ++ requirements/production.txt | 1 - requirements/torch_cu117_linux.txt | 3 --- requirements/torch_cu118_linux.txt | 3 --- requirements/torch_cu118_windows.txt | 3 --- requirements/torch_linux.txt | 3 --- requirements/torch_windows.txt | 2 -- ts_scripts/install_dependencies.py | 21 +++++++++++++-------- ts_scripts/sanity_utils.py | 3 ++- 10 files changed, 17 insertions(+), 26 deletions(-) create mode 100644 requirements/common_gpu.txt delete mode 100644 requirements/production.txt diff --git a/requirements/common.txt b/requirements/common.txt index e07e9fb0b2..182d098983 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -7,7 +7,5 @@ captum packaging numpy; sys_platform != 'win32' numpy==1.19.3; sys_platform == 'win32' #see https://tinyurl.com/y3dm3h86 -nvgpu; sys_platform != 'win32' -nvgpu==0.8.0; sys_platform == 'win32' pynvml==11.4.1 pyyaml diff --git a/requirements/common_gpu.txt b/requirements/common_gpu.txt new file mode 100644 index 0000000000..18037b19bf --- /dev/null +++ b/requirements/common_gpu.txt @@ -0,0 +1,2 @@ +nvgpu; sys_platform != 'win32' +nvgpu==0.8.0; sys_platform == 'win32' diff --git a/requirements/production.txt b/requirements/production.txt deleted file mode 100644 index c3899b0c47..0000000000 --- a/requirements/production.txt +++ /dev/null @@ -1 +0,0 @@ --r common.txt \ No newline at end of file diff --git a/requirements/torch_cu117_linux.txt b/requirements/torch_cu117_linux.txt index 4840f5b08d..a4331ada6b 100644 --- a/requirements/torch_cu117_linux.txt +++ b/requirements/torch_cu117_linux.txt @@ -1,8 +1,5 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu117 -cython -wheel -pillow==9.3.0 torch==2.0.0+cu117; sys_platform == 'linux' torchvision==0.15.1+cu117; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_cu118_linux.txt b/requirements/torch_cu118_linux.txt index 03e50bcece..013b478256 100644 --- a/requirements/torch_cu118_linux.txt +++ b/requirements/torch_cu118_linux.txt @@ -1,8 +1,5 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu118 -cython -wheel -pillow==9.3.0 torch==2.0.0+cu118; sys_platform == 'linux' torchvision==0.15.1+cu118; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_cu118_windows.txt b/requirements/torch_cu118_windows.txt index 03e50bcece..013b478256 100644 --- a/requirements/torch_cu118_windows.txt +++ b/requirements/torch_cu118_windows.txt @@ -1,8 +1,5 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu118 -cython -wheel -pillow==9.3.0 torch==2.0.0+cu118; sys_platform == 'linux' torchvision==0.15.1+cu118; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_linux.txt b/requirements/torch_linux.txt index c47ebbe080..56f0593bb6 100644 --- a/requirements/torch_linux.txt +++ b/requirements/torch_linux.txt @@ -1,8 +1,5 @@ #pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu --extra-index-url https://download.pytorch.org/whl/cpu -cython -wheel -pillow==9.3.0 torch==2.0.0+cpu; sys_platform == 'linux' torchvision==0.15.1+cpu; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_windows.txt b/requirements/torch_windows.txt index 2a744482b1..b4b9720d41 100644 --- a/requirements/torch_windows.txt +++ b/requirements/torch_windows.txt @@ -1,7 +1,5 @@ #pip install torch torchvision torchaudio -wheel torch==2.0.0; sys_platform == 'win32' torchvision==0.15.1; sys_platform == 'win32' torchtext==0.15.1; sys_platform == 'win32' torchaudio==2.0.1; sys_platform == 'win32' -pillow==9.3.0 diff --git a/ts_scripts/install_dependencies.py b/ts_scripts/install_dependencies.py index 78f41f3997..65f4eae220 100644 --- a/ts_scripts/install_dependencies.py +++ b/ts_scripts/install_dependencies.py @@ -50,18 +50,22 @@ def install_python_packages(self, cuda_version, requirements_file_path, nightly) # as it may reinstall the packages with different versions os.system("conda install -y conda-build") - self.install_torch_packages(cuda_version) os.system(f"{sys.executable} -m pip install -U pip setuptools") # developer.txt also installs packages from common.txt os.system(f"{sys.executable} -m pip install -U -r {requirements_file_path}") - # If conda is available install conda-build package - # TODO: This will run 2 installations for torch but to make this cleaner we should first refactor all of our requirements.txt into just 2 files - # And then make torch an optional dependency for the common.txt + # Install dependencies for GPU + if not isinstance(cuda_version, type(None)): + gpu_requirements_file = os.path.join("requirements", "common_gpu.txt") + os.system(f"{sys.executable} -m pip install -U -r {gpu_requirements_file}") + + # Install PyTorch packages if nightly: os.system( - f"pip3 install numpy --pre torch[dynamo] torchvision torchtext torchaudio --force-reinstall --extra-index-url https://download.pytorch.org/whl/nightly/{cuda_version}" + f"pip3 install numpy --pre torch torchvision torchtext torchaudio --force-reinstall --extra-index-url https://download.pytorch.org/whl/nightly/{cuda_version}" ) + else: + self.install_torch_packages(cuda_version) def install_node_packages(self): os.system( @@ -175,9 +179,10 @@ def install_dependencies(cuda_version=None, nightly=False): # Sequence of installation to be maintained system.install_java() - requirements_file_path = "requirements/" + ( - "production.txt" if args.environment == "prod" else "developer.txt" - ) + + requirements_file = "common.txt" if args.environment == "prod" else "developer.txt" + requirements_file_path = os.path.join("requirements", requirements_file) + system.install_python_packages(cuda_version, requirements_file_path, nightly) diff --git a/ts_scripts/sanity_utils.py b/ts_scripts/sanity_utils.py index c6981e9de4..db9f297ff6 100755 --- a/ts_scripts/sanity_utils.py +++ b/ts_scripts/sanity_utils.py @@ -5,7 +5,6 @@ import sys from pathlib import Path -import nvgpu import torch from ts_scripts import marsgen as mg @@ -38,6 +37,8 @@ def validate_model_on_gpu(): # Assumption is - # 1. GPUs on test setup are only utlizied by torchserve # 2. Models are successfully UNregistered between subsequent calls + import nvgpu + model_loaded = False for info in nvgpu.gpu_info(): if info["mem_used"] > 0 and info["mem_used_percent"] > 0.0: From 1707a74592c54959922094ed53dd91726c80780f Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Thu, 27 Apr 2023 09:39:01 -0700 Subject: [PATCH 070/172] Fix dimension names and documentation for metrics with prior prometheus support (#2281) * Deprecate metrics_format configuration option in favor of metric_mode * Update dimension names and documentation for metrics with prior prometheus support --------- Co-authored-by: Naman Nandan --- docs/configuration.md | 2 - docs/metrics.md | 45 ++++----- docs/metrics_api.md | 91 ++++++++++++++----- examples/cloudformation/README.md | 14 +-- .../org/pytorch/serve/util/ConfigManager.java | 7 -- .../java/org/pytorch/serve/TestUtils.java | 6 +- kubernetes/AKS/config.properties | 2 +- kubernetes/kserve/README.md | 6 +- kubernetes/kserve/config.properties | 2 +- kubernetes/kserve/developer_guide.md | 2 +- kubernetes/kserve/image_transformer/README.md | 2 +- .../kserve/kf_request_json/v2/bert/README.md | 12 +-- .../kserve/kf_request_json/v2/mnist/README.md | 10 +- kubernetes/kserve/kserve_wrapper/README.md | 4 +- test/pytest/test_metrics.py | 6 +- ts/configs/metrics.yaml | 7 +- 16 files changed, 127 insertions(+), 91 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index fc6442a9f4..e8f3a5a388 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -212,8 +212,6 @@ Set nvidia environment variables. For example: ### Enable metrics api * `enable_metrics_api` : Enable or disable metric apis i.e. it can be either `true` or `false`. Default: true (Enabled) -* `metrics_format` : Use this to specify metric report format . At present, the only supported and default value for this is `prometheus` - This is used in conjunction with `enable_metrics_api` option above. ### Config model * `models`: Use this to set configurations specific to a model. The value is presented in json format. diff --git a/docs/metrics.md b/docs/metrics.md index b865975a69..fc578c097a 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -18,8 +18,9 @@ Frontend metrics include system level metrics. The host resource utilization fro Torchserve provides an API to collect custom backend metrics. Metrics defined by a custom service or handler code can be collected per request or per a batch of requests. Two metric modes are supported, i.e `log` and `prometheus`. The default mode is `log`. Metrics mode can be configured using the `metrics_mode` configuration option in `config.properties` or `TS_METRICS_MODE` environment variable. -In `log` mode, Metrics are logged and can be aggregated by metric agents. +For further details on `config.properties` and environment variable based configuration, refer [Torchserve config](configuration.md) docs. +In `log` mode, Metrics are logged and can be aggregated by metric agents. Metrics are collected by default at the following locations in `log` mode: * Frontend metrics - `log_directory/ts_metrics.log` @@ -31,27 +32,27 @@ In `prometheus` mode, all metrics are made available in prometheus format via th ## Frontend Metrics -| Metric Name | Type | Unit | Dimensions | Semantics | -|-----------------------------------|---------|--------------|-----------------------------------|-----------------------------------------------------------------------------| -| Requests2XX | counter | Count | Level, Hostname | Total number of requests with response in 200-300 status code range | -| Requests4XX | counter | Count | Level, Hostname | Total number of requests with response in 400-500 status code range | -| Requests5XX | counter | Count | Level, Hostname | Total number of requests with response status code above 500 | -| ts_inference_requests_total | counter | Count | ModelName, ModelVersion, Hostname | Total number of inference requests received | -| ts_inference_latency_microseconds | counter | Microseconds | ModelName, ModelVersion, Hostname | Total inference latency in Microseconds | -| ts_queue_latency_microseconds | counter | Microseconds | ModelName, ModelVersion, Hostname | Total queue latency in Microseconds | -| QueueTime | gauge | Milliseconds | Level, Hostname | Time spent by a job in request queue in Milliseconds | -| WorkerThreadTime | gauge | Milliseconds | Level, Hostname | Time spent in worker thread excluding backend response time in Milliseconds | -| WorkerLoadTime | gauge | Milliseconds | WorkerName, Level, Hostname | Time taken by worker to load model in Milliseconds | -| CPUUtilization | gauge | Percent | Level, Hostname | CPU utilization on host | -| MemoryUsed | gauge | Megabytes | Level, Hostname | Memory used on host | -| MemoryAvailable | gauge | Megabytes | Level, Hostname | Memory available on host | -| MemoryUtilization | gauge | Percent | Level, Hostname | Memory utilization on host | -| DiskUsage | gauge | Gigabytes | Level, Hostname | Disk used on host | -| DiskUtilization | gauge | Percent | Level, Hostname | Disk used on host | -| DiskAvailable | gauge | Gigabytes | Level, Hostname | Disk available on host | -| GPUMemoryUtilization | gauge | Percent | Level, DeviceId, Hostname | GPU memory utilization on host, DeviceId | -| GPUMemoryUsed | gauge | Megabytes | Level, DeviceId, Hostname | GPU memory used on host, DeviceId | -| GPUUtilization | gauge | Percent | Level, DeviceId, Hostname | GPU utilization on host, DeviceId | +| Metric Name | Type | Unit | Dimensions | Semantics | +|-----------------------------------|---------|--------------|-------------------------------------|-----------------------------------------------------------------------------| +| Requests2XX | counter | Count | Level, Hostname | Total number of requests with response in 200-300 status code range | +| Requests4XX | counter | Count | Level, Hostname | Total number of requests with response in 400-500 status code range | +| Requests5XX | counter | Count | Level, Hostname | Total number of requests with response status code above 500 | +| ts_inference_requests_total | counter | Count | model_name, model_version, hostname | Total number of inference requests received | +| ts_inference_latency_microseconds | counter | Microseconds | model_name, model_version, hostname | Total inference latency in Microseconds | +| ts_queue_latency_microseconds | counter | Microseconds | model_name, model_version, hostname | Total queue latency in Microseconds | +| QueueTime | gauge | Milliseconds | Level, Hostname | Time spent by a job in request queue in Milliseconds | +| WorkerThreadTime | gauge | Milliseconds | Level, Hostname | Time spent in worker thread excluding backend response time in Milliseconds | +| WorkerLoadTime | gauge | Milliseconds | WorkerName, Level, Hostname | Time taken by worker to load model in Milliseconds | +| CPUUtilization | gauge | Percent | Level, Hostname | CPU utilization on host | +| MemoryUsed | gauge | Megabytes | Level, Hostname | Memory used on host | +| MemoryAvailable | gauge | Megabytes | Level, Hostname | Memory available on host | +| MemoryUtilization | gauge | Percent | Level, Hostname | Memory utilization on host | +| DiskUsage | gauge | Gigabytes | Level, Hostname | Disk used on host | +| DiskUtilization | gauge | Percent | Level, Hostname | Disk used on host | +| DiskAvailable | gauge | Gigabytes | Level, Hostname | Disk available on host | +| GPUMemoryUtilization | gauge | Percent | Level, DeviceId, Hostname | GPU memory utilization on host, DeviceId | +| GPUMemoryUsed | gauge | Megabytes | Level, DeviceId, Hostname | GPU memory used on host, DeviceId | +| GPUUtilization | gauge | Percent | Level, DeviceId, Hostname | GPU utilization on host, DeviceId | ## Backend Metrics diff --git a/docs/metrics_api.md b/docs/metrics_api.md index edbee43a74..c1ca10c2d5 100644 --- a/docs/metrics_api.md +++ b/docs/metrics_api.md @@ -1,38 +1,83 @@ # Metrics API -Metrics API is listening on port 8082 and only accessible from localhost by default. To change the default setting, see [TorchServe Configuration](configuration.md). The default metrics endpoint returns Prometheus formatted metrics. You can query metrics using curl requests or point a [Prometheus Server](#prometheus-server) to the endpoint and use [Grafana](#grafana) for dashboards. +Metrics API is listening on port 8082 and only accessible from localhost by default. To change the default setting, see [TorchServe Configuration](configuration.md). The default metrics endpoint returns Prometheus formatted metrics when [metrics_mode](https://github.com/pytorch/serve/blob/master/docs/metrics.md) configuration is set to `prometheus`. You can query metrics using curl requests or point a [Prometheus Server](#prometheus-server) to the endpoint and use [Grafana](#grafana) for dashboards. -By default these APIs are enable however same can be disabled by setting `enable_metrics_api=false` in torchserve config.properties file. +By default these APIs are enabled however same can be disabled by setting `enable_metrics_api=false` in torchserve config.properties file. For details refer [Torchserve config](configuration.md) docs. ```console curl http://127.0.0.1:8082/metrics -# HELP ts_inference_latency_microseconds Cumulative inference duration in microseconds -# TYPE ts_inference_latency_microseconds counter -ts_inference_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noopversioned",model_version="1.11",} 1990.348 -ts_inference_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noop",model_version="default",} 2032.411 -# HELP ts_inference_requests_total Total number of inference requests. +# HELP Requests5XX Torchserve prometheus counter metric with unit: Count +# TYPE Requests5XX counter +# HELP DiskUsage Torchserve prometheus gauge metric with unit: Gigabytes +# TYPE DiskUsage gauge +DiskUsage{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 20.054508209228516 +# HELP GPUUtilization Torchserve prometheus gauge metric with unit: Percent +# TYPE GPUUtilization gauge +# HELP PredictionTime Torchserve prometheus gauge metric with unit: ms +# TYPE PredictionTime gauge +PredictionTime{ModelName="resnet18",Level="Model",Hostname="88665a372f4b.ant.amazon.com",} 83.13 +# HELP WorkerLoadTime Torchserve prometheus gauge metric with unit: Milliseconds +# TYPE WorkerLoadTime gauge +WorkerLoadTime{WorkerName="W-9000-resnet18_1.0",Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 4593.0 +WorkerLoadTime{WorkerName="W-9001-resnet18_1.0",Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 4592.0 +# HELP MemoryAvailable Torchserve prometheus gauge metric with unit: Megabytes +# TYPE MemoryAvailable gauge +MemoryAvailable{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 5829.7421875 +# HELP GPUMemoryUsed Torchserve prometheus gauge metric with unit: Megabytes +# TYPE GPUMemoryUsed gauge +# HELP ts_inference_requests_total Torchserve prometheus counter metric with unit: Count # TYPE ts_inference_requests_total counter -ts_inference_requests_total{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noopversioned",model_version="1.11",} 1.0 -ts_inference_requests_total{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noop",model_version="default",} 1.0 -# HELP ts_queue_latency_microseconds Cumulative queue duration in microseconds +ts_inference_requests_total{model_name="resnet18",model_version="default",hostname="88665a372f4b.ant.amazon.com",} 3.0 +# HELP GPUMemoryUtilization Torchserve prometheus gauge metric with unit: Percent +# TYPE GPUMemoryUtilization gauge +# HELP HandlerTime Torchserve prometheus gauge metric with unit: ms +# TYPE HandlerTime gauge +HandlerTime{ModelName="resnet18",Level="Model",Hostname="88665a372f4b.ant.amazon.com",} 82.93 +# HELP ts_inference_latency_microseconds Torchserve prometheus counter metric with unit: Microseconds +# TYPE ts_inference_latency_microseconds counter +ts_inference_latency_microseconds{model_name="resnet18",model_version="default",hostname="88665a372f4b.ant.amazon.com",} 290371.129 +# HELP CPUUtilization Torchserve prometheus gauge metric with unit: Percent +# TYPE CPUUtilization gauge +CPUUtilization{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 0.0 +# HELP MemoryUsed Torchserve prometheus gauge metric with unit: Megabytes +# TYPE MemoryUsed gauge +MemoryUsed{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 8245.62109375 +# HELP QueueTime Torchserve prometheus gauge metric with unit: Milliseconds +# TYPE QueueTime gauge +QueueTime{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 0.0 +# HELP ts_queue_latency_microseconds Torchserve prometheus counter metric with unit: Microseconds # TYPE ts_queue_latency_microseconds counter -ts_queue_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noopversioned",model_version="1.11",} 364.884 -ts_queue_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noop",model_version="default",} 82.349 +ts_queue_latency_microseconds{model_name="resnet18",model_version="default",hostname="88665a372f4b.ant.amazon.com",} 365.21 +# HELP DiskUtilization Torchserve prometheus gauge metric with unit: Percent +# TYPE DiskUtilization gauge +DiskUtilization{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 5.8 +# HELP Requests2XX Torchserve prometheus counter metric with unit: Count +# TYPE Requests2XX counter +Requests2XX{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 8.0 +# HELP Requests4XX Torchserve prometheus counter metric with unit: Count +# TYPE Requests4XX counter +# HELP WorkerThreadTime Torchserve prometheus gauge metric with unit: Milliseconds +# TYPE WorkerThreadTime gauge +WorkerThreadTime{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 1.0 +# HELP DiskAvailable Torchserve prometheus gauge metric with unit: Gigabytes +# TYPE DiskAvailable gauge +DiskAvailable{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 325.05113983154297 +# HELP MemoryUtilization Torchserve prometheus gauge metric with unit: Percent +# TYPE MemoryUtilization gauge +MemoryUtilization{Level="Host",Hostname="88665a372f4b.ant.amazon.com",} 64.4 ``` ```console curl "http://127.0.0.1:8082/metrics?name[]=ts_inference_latency_microseconds&name[]=ts_queue_latency_microseconds" --globoff -# HELP ts_inference_latency_microseconds Cumulative inference duration in microseconds -# TYPE ts_inference_latency_microseconds counter -ts_inference_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noopversioned",model_version="1.11",} 1990.348 -ts_inference_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noop",model_version="default",} 2032.411 -# HELP ts_queue_latency_microseconds Cumulative queue duration in microseconds +# HELP ts_queue_latency_microseconds Torchserve prometheus counter metric with unit: Microseconds # TYPE ts_queue_latency_microseconds counter -ts_queue_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noopversioned",model_version="1.11",} 364.884 -ts_queue_latency_microseconds{uuid="d5f84dfb-fae8-4f92-b217-2f385ca7470b",model_name="noop",model_version="default",} 82.349 +ts_queue_latency_microseconds{model_name="resnet18",model_version="default",hostname="88665a372f4b.ant.amazon.com",} 365.21 +# HELP ts_inference_latency_microseconds Torchserve prometheus counter metric with unit: Microseconds +# TYPE ts_inference_latency_microseconds counter +ts_inference_latency_microseconds{model_name="resnet18",model_version="default",hostname="88665a372f4b.ant.amazon.com",} 290371.129 ``` #### Prometheus server @@ -52,15 +97,15 @@ scrape_configs: static_configs: - targets: ['localhost:8082'] #TorchServe metrics endpoint ``` -Navigate to `http://localhost:9090/` on a browser to execute queries and create graphs +Navigate to `http://localhost:9090/` on a browser to execute queries and create graphs -PrometheusServer +Prometheus Server #### Grafana Once you have the Torchserve and Prometheus servers running, you can further [setup](https://prometheus.io/docs/visualization/grafana/) Grafana, point it to Prometheus server and navigate to `http://localhost:3000/` to create dashboards and graphs. -You can use command given below to start Grafana - +You can use command given below to start Grafana - `sudo systemctl daemon-reload && sudo systemctl enable grafana-server && sudo systemctl start grafana-server` -Screen Shot 2020-07-08 at 5 51 57 PM +Grafana Dashboard diff --git a/examples/cloudformation/README.md b/examples/cloudformation/README.md index ac460d7309..1150bdc427 100644 --- a/examples/cloudformation/README.md +++ b/examples/cloudformation/README.md @@ -66,13 +66,13 @@ aws cloudformation create-stack \ > curl --insecure "/metrics" # HELP ts_queue_latency_microseconds Cumulative queue duration in microseconds # TYPE ts_queue_latency_microseconds counter -ts_queue_latency_microseconds{uuid="e275b494-3d54-45bd-a640-abca741a070b",model_name="squeezenet1_1",model_version="default",} 364.07800000000003 +ts_queue_latency_microseconds{model_name="squeezenet1_1",model_version="default",hostname="test_host",} 364.07800000000003 # HELP ts_inference_latency_microseconds Cumulative inference duration in microseconds # TYPE ts_inference_latency_microseconds counter -ts_inference_latency_microseconds{uuid="e275b494-3d54-45bd-a640-abca741a070b",model_name="squeezenet1_1",model_version="default",} 128010.02100000001 +ts_inference_latency_microseconds{model_name="squeezenet1_1",model_version="default",hostname="test_host",} 128010.02100000001 # HELP ts_inference_requests_total Total number of inference requests. # TYPE ts_inference_requests_total counter -ts_inference_requests_total{uuid="e275b494-3d54-45bd-a640-abca741a070b",model_name="squeezenet1_1",model_version="default",} 4.0 +ts_inference_requests_total{model_name="squeezenet1_1",model_version="default",hostname="test_host",} 4.0 ``` @@ -97,7 +97,7 @@ aws cloudformation create-stack \ ParameterKey=ModelPath,ParameterValue= ``` -e.g. +e.g. ``` aws cloudformation create-stack \ --stack-name torchserve \ @@ -149,13 +149,13 @@ aws cloudformation create-stack \ > curl "/metrics" # HELP ts_queue_latency_microseconds Cumulative queue duration in microseconds # TYPE ts_queue_latency_microseconds counter -ts_queue_latency_microseconds{uuid="2b3a4b5b-5131-413a-a725-2abcae5d55ab",model_name="squeezenet1_1",model_version="default",} 932.164 +ts_queue_latency_microseconds{model_name="squeezenet1_1",model_version="default",hostname="test_host",} 932.164 # HELP ts_inference_latency_microseconds Cumulative inference duration in microseconds # TYPE ts_inference_latency_microseconds counter -ts_inference_latency_microseconds{uuid="2b3a4b5b-5131-413a-a725-2abcae5d55ab",model_name="squeezenet1_1",model_version="default",} 411702.625 +ts_inference_latency_microseconds{model_name="squeezenet1_1",model_version="default",hostname="test_host",} 411702.625 # HELP ts_inference_requests_total Total number of inference requests. # TYPE ts_inference_requests_total counter -ts_inference_requests_total{uuid="2b3a4b5b-5131-413a-a725-2abcae5d55ab",model_name="squeezenet1_1",model_version="default",} 9.0 +ts_inference_requests_total{model_name="squeezenet1_1",model_version="default",hostname="test_host",} 9.0 ``` ## CloudWatch Logging diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 03cee69f95..115a021788 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -94,7 +94,6 @@ public final class ConfigManager { private static final String TS_PREFER_DIRECT_BUFFER = "prefer_direct_buffer"; private static final String TS_ALLOWED_URLS = "allowed_urls"; private static final String TS_INSTALL_PY_DEP_PER_MODEL = "install_py_dep_per_model"; - private static final String TS_METRICS_FORMAT = "metrics_format"; private static final String TS_ENABLE_METRICS_API = "enable_metrics_api"; private static final String TS_GRPC_INFERENCE_PORT = "grpc_inference_port"; private static final String TS_GRPC_MANAGEMENT_PORT = "grpc_management_port"; @@ -340,10 +339,6 @@ public boolean getInstallPyDepPerModel() { return Boolean.parseBoolean(getProperty(TS_INSTALL_PY_DEP_PER_MODEL, "false")); } - public String getMetricsFormat() { - return getProperty(TS_METRICS_FORMAT, METRIC_FORMAT_PROMETHEUS); - } - public boolean isMetricApiEnable() { return Boolean.parseBoolean(getProperty(TS_ENABLE_METRICS_API, "true")); } @@ -664,8 +659,6 @@ public String dumpConfigurations() { + getAllowedUrls() + "\nCustom python dependency for model allowed: " + prop.getProperty(TS_INSTALL_PY_DEP_PER_MODEL, "false") - + "\nMetrics report format: " - + prop.getProperty(TS_METRICS_FORMAT, METRIC_FORMAT_PROMETHEUS) + "\nEnable metrics API: " + prop.getProperty(TS_ENABLE_METRICS_API, "true") + "\nMetrics mode: " diff --git a/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java b/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java index 95e1fbc804..e4be893019 100644 --- a/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java +++ b/frontend/server/src/test/java/org/pytorch/serve/TestUtils.java @@ -50,9 +50,9 @@ public final class TestUtils { private static Channel metricsChannel; private static String tsInferLatencyPattern = "ts_inference_latency_microseconds\\{" - + "ModelName=\"%s\"," - + "ModelVersion=\"%s\"," - + "Hostname=\".+\",\\}\\s\\d+(\\.\\d+)"; + + "model_name=\"%s\"," + + "model_version=\"%s\"," + + "hostname=\".+\",\\}\\s\\d+(\\.\\d+)"; private TestUtils() {} diff --git a/kubernetes/AKS/config.properties b/kubernetes/AKS/config.properties index 9f7ad861a7..e6003a92c8 100644 --- a/kubernetes/AKS/config.properties +++ b/kubernetes/AKS/config.properties @@ -2,7 +2,7 @@ inference_address=http://0.0.0.0:8080 management_address=http://0.0.0.0:8081 metrics_address=http://0.0.0.0:8082 enable_metrics_api=true -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_gpu=1 number_of_netty_threads=32 diff --git a/kubernetes/kserve/README.md b/kubernetes/kserve/README.md index d040ed7d63..c35cd2cabf 100644 --- a/kubernetes/kserve/README.md +++ b/kubernetes/kserve/README.md @@ -117,7 +117,7 @@ grpc_management_port=7071 enable_envvars_config=true install_py_dep_per_model=true enable_metrics_api=true -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 @@ -189,7 +189,7 @@ Refer link for more [examples](https://github.com/kserve/kserve/tree/master/docs KServe supports different types of inputs (ex: tensor, bytes). Use the following instructions to generate input files based on its type. -[MNIST input generation](kf_request_json/v2/mnist/README.md##-Preparing-input) +[MNIST input generation](kf_request_json/v2/mnist/README.md##-Preparing-input) [Bert input generation](kf_request_json/v2/bert/README.md##-Preparing-input) @@ -233,7 +233,7 @@ Refer the individual readmes for KServe : * [BERT](https://github.com/kserve/kserve/blob/master/docs/samples/v1beta1/custom/torchserve/bert-sample/hugging-face-bert-sample.md) * [MNIST](https://github.com/kserve/kserve/blob/master/docs/samples/v1beta1/torchserve/README.md) -Sample input JSON file for v1 and v2 protocols +Sample input JSON file for v1 and v2 protocols For v1 protocol diff --git a/kubernetes/kserve/config.properties b/kubernetes/kserve/config.properties index 7c9c33589b..422e53d138 100644 --- a/kubernetes/kserve/config.properties +++ b/kubernetes/kserve/config.properties @@ -7,7 +7,7 @@ grpc_management_port=7071 enable_envvars_config=true install_py_dep_per_model=true enable_metrics_api=true -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 diff --git a/kubernetes/kserve/developer_guide.md b/kubernetes/kserve/developer_guide.md index 1692db53ec..5a3281ebc6 100644 --- a/kubernetes/kserve/developer_guide.md +++ b/kubernetes/kserve/developer_guide.md @@ -33,7 +33,7 @@ grpc_management_port=7071 enable_envvars_config=true install_py_dep_per_model=true enable_metrics_api=true -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 diff --git a/kubernetes/kserve/image_transformer/README.md b/kubernetes/kserve/image_transformer/README.md index 05d3a2d3be..733d71aee3 100644 --- a/kubernetes/kserve/image_transformer/README.md +++ b/kubernetes/kserve/image_transformer/README.md @@ -86,7 +86,7 @@ inference_address=http://0.0.0.0:8085 management_address=http://0.0.0.0:8085 metrics_address=http://0.0.0.0:8082 enable_metrics_api=true -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 diff --git a/kubernetes/kserve/kf_request_json/v2/bert/README.md b/kubernetes/kserve/kf_request_json/v2/bert/README.md index 8f157f57ec..333a2cdcc7 100644 --- a/kubernetes/kserve/kf_request_json/v2/bert/README.md +++ b/kubernetes/kserve/kf_request_json/v2/bert/README.md @@ -16,9 +16,9 @@ Run the following command to download the model ``` python Download_Transformer_models.py ``` - + ### Generate mar file - + ```bash torch-model-archiver --model-name BERTSeqClassification --version 1.0 \ --serialized-file Transformer_model/pytorch_model.bin \ @@ -33,7 +33,7 @@ Move the mar file to model-store ``` sudo mv BERTSeqClassification.mar /mnt/models/model-store ``` - + and use the following config properties (`/mnt/models/config`) ``` @@ -44,7 +44,7 @@ enable_envvars_config=true install_py_dep_per_model=true enable_metrics_api=true service_envelope=kservev2 -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 @@ -58,7 +58,7 @@ Use [bert_bytes_v2.json](bert_bytes_v2.json) or [bert_tensor_v2](bert_tensor_v2. For new sample text, follow the instructions below -For bytes input, use [tobytes](tobytes.py) utility. +For bytes input, use [tobytes](tobytes.py) utility. ``` python tobytes.py --input_text "this year business is good" @@ -118,4 +118,4 @@ curl -v -H "ContentType: application/json" http://localhost:8080/v2/models/BERTS Expected output ```bash {"id": "33abc661-7265-42fc-b7d9-44e5f79a7a67", "model_name": "BERTSeqClassification", "model_version": "1.0", "outputs": [{"name": "predict", "shape": [], "datatype": "BYTES", "data": ["Not Accepted"]}]} -``` \ No newline at end of file +``` diff --git a/kubernetes/kserve/kf_request_json/v2/mnist/README.md b/kubernetes/kserve/kf_request_json/v2/mnist/README.md index 9fa03a3a3e..f8d41eb552 100644 --- a/kubernetes/kserve/kf_request_json/v2/mnist/README.md +++ b/kubernetes/kserve/kf_request_json/v2/mnist/README.md @@ -7,7 +7,7 @@ model locally using kserve. Clone [pytorch/serve](https://github.com/pytorch/serve) repository navigate to `examples/image_classifier/mnist` - + ```bash torch-model-archiver --model-name mnist --version 1.0 \ --model-file mnist.py \ @@ -17,7 +17,7 @@ torch-model-archiver --model-name mnist --version 1.0 \ The command will create `mnist.mar` file in current directory -Move the mar file to model-store +Move the mar file to model-store ``` sudo mv mnist.mar /mnt/models/model-store @@ -33,7 +33,7 @@ enable_envvars_config=true install_py_dep_per_model=true enable_metrics_api=true service_envelope=kservev2 -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 @@ -49,7 +49,7 @@ For generating input for a new image follow the instructions given below Move to `kubernetes/kserve/kf_request_json/v2/mnist` -For bytes input, use [tobytes](tobytes.py) utility. +For bytes input, use [tobytes](tobytes.py) utility. ``` python tobytes.py 0.png @@ -121,4 +121,4 @@ curl -v -H "ContentType: application/json" http://localhost:8080/v2/models/mnist Expected output ```bash {"id": "d3b15cad-50a2-4eaf-80ce-8b0a428bd298", "model_name": "mnist", "model_version": "1.0", "outputs": [{"name": "explain", "shape": [1, 28, 28], "datatype": "FP64", "data": [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0040547529196303285, -0.000226128774499257, -0.00012734138382422276, 0.005648369544853077, 0.0089047843954152, 0.002638536593970295, 0.002680245911942565, -0.0026578015819202173, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00024465771891337887, 0.0008218450954311162, 0.01528591767842519, 0.007512832335428859, 0.00709498458333515, 0.0034056686436576803, -0.002091925041823873, -0.0007800293875604465, 0.02299587827540853, 0.019004329367380418, -0.0012529559050418735, -0.0014666116646934577, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.005298396405518712, -0.0007901605729004231, 0.0039060659926479398, 0.023174082126728335, 0.01723791770922474, 0.010867034167828598, 0.003001563229273835, 0.00622421771715703, 0.006120712207087491, 0.01673632965122119, 0.005674718948781803, 0.004344134599735745, -0.0012328422311881568, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, 0.0006867353833785289, 0.009772899792600862, -0.0038754932221901437, 0.001798693579973005, 0.001307544047675232, -0.0024510981010352315, -0.0008806773488194292, -0.0, -0.0, -0.00014277890760828639, -0.009322313235257151, 0.020608317727589167, 0.004351394518148479, -0.0007875566214137449, -0.0009075897508410689, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00022247238084657642, -0.0007829029819622099, 0.0026663695200516055, 0.0009733366691924418, 0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, 0.0004323207980879993, 0.023657171939959983, 0.01069484496100618, -0.0023759529165659743, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.002074797197335781, -0.002320101263777886, -0.001289920656543141, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.007629679763806616, 0.01044862710854819, 0.00025032875474040415, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0003770836745884539, -0.005156369309364184, 0.0012477582083019567, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -4.442513564501309e-05, 0.010248046436803096, 0.0009971133914441863, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0, -0.0, 0.0004501048922351147, -0.00196305355861066, -0.0006664792277975681, 0.0020157403871024866, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.002214456978582924, 0.008361583668963536, 0.0031401942747203444, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0028943545250037983, -0.0031301382844878753, 0.002113252994616467, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0010321050071136991, 0.008905753948020954, 0.0028464383724280478, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0053052889804602885, -0.0019271100770928186, 0.0012090042664300153, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0011945155805738324, 0.005654442809865844, 0.0020132075147173286, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0014689358119857122, 0.0010743412654248086, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0017047980433136346, 0.0029066051664685937, -0.0007805868937027288, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 5.541726090138969e-05, 0.0014516115182299915, 0.0002827700518397855, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.001440140782635336, 0.002381249982038837, 0.002146825452068144, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.001150052970321427, 0.0002865015237050364, 0.0029798150346815985, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.001775029606380323, 0.000833985914685474, -0.003770739075457816, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0006093176893524411, -0.00046905781658387527, 0.0034053217440919658, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0007450012183962096, 0.001298767353118675, -0.008499247802184222, -6.145165255574976e-05, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0011809726462884672, -0.0018384763902449712, 0.005411106715800028, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0021392341817010304, 0.0003259163122540385, -0.005276118905978749, -0.0019509840184772497, -9.545685077687876e-07, 0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0007772404694664217, -0.0001517954537059768, 0.006481484678129392, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 8.098064554131295e-05, -0.0024904264199929506, -0.0020718618328775897, -5.3411287747038166e-05, -0.0004556472202791715, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0022750984867578, 0.001716405971437602, 0.0003221344811922982, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0015560282437342534, 9.107229584202956e-05, 0.0008772841867241755, 0.0006502979194500701, -0.004128780661881036, 0.0006030386196211547, 0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0013959959731925453, 0.0026791526421029673, 0.002399500793142178, -0.00044960969955281656, 0.003101832495190209, 0.007494535809079955, 0.002864118744003058, -0.003052590549800204, 0.003420222341277871, 0.0014924017873988514, -0.0009357389226494119, 0.0007856229438140384, -0.001843397373255761, 1.6031851430693252e-05, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.000699901824825285, 0.0043822508549258565, -0.003541931476855951, -0.0028896746311921715, -0.0004873454583246359, -0.006087345141728267, 0.000388224886755815, 0.002533641621974457, -0.004352836429303485, -0.0006079421449756437, -0.003810133409713042, -0.0008284413779488711, 0.0, -0.0, 0.0, 0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0010901530854686326, -0.013135007707490608, 0.0004734520308098294, 0.0020504232707536456, -0.006609452262924153, 0.0023647861306777536, 0.004678920703192049, -0.0018122526857900652, 0.0021375383049022263, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}]} -``` \ No newline at end of file +``` diff --git a/kubernetes/kserve/kserve_wrapper/README.md b/kubernetes/kserve/kserve_wrapper/README.md index f235de00b7..54837b945d 100644 --- a/kubernetes/kserve/kserve_wrapper/README.md +++ b/kubernetes/kserve/kserve_wrapper/README.md @@ -77,7 +77,7 @@ grpc_management_port=7071 enable_envvars_config=true install_py_dep_per_model=true enable_metrics_api=true -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 @@ -207,7 +207,7 @@ grpc_management_port=7071 enable_envvars_config=true install_py_dep_per_model=true enable_metrics_api=true -metrics_format=prometheus +metrics_mode=prometheus NUM_WORKERS=1 number_of_netty_threads=4 job_queue_size=10 diff --git a/test/pytest/test_metrics.py b/test/pytest/test_metrics.py index 71059f8398..27547cf471 100644 --- a/test/pytest/test_metrics.py +++ b/test/pytest/test_metrics.py @@ -439,9 +439,9 @@ def test_metrics_prometheus_mode(): prometheus_metric_patterns = [ r'Requests2XX\{Level="Host",Hostname=".+",\} \d+\.\d+', - r'ts_inference_requests_total\{ModelName="densenet161",ModelVersion="default",Hostname=".+",\} \d+\.\d+', - r'ts_inference_latency_microseconds\{ModelName="densenet161",ModelVersion="default",Hostname=".+",\} \d+\.\d+', - r'ts_queue_latency_microseconds\{ModelName="densenet161",ModelVersion="default",Hostname=".+",\} \d+\.\d+', + r'ts_inference_requests_total\{model_name="densenet161",model_version="default",hostname=".+",\} \d+\.\d+', + r'ts_inference_latency_microseconds\{model_name="densenet161",model_version="default",hostname=".+",\} \d+\.\d+', + r'ts_queue_latency_microseconds\{model_name="densenet161",model_version="default",hostname=".+",\} \d+\.\d+', r'QueueTime\{Level="Host",Hostname=".+",\} \d+\.\d+', r'WorkerThreadTime\{Level="Host",Hostname=".+",\} \d+\.\d+', r'WorkerLoadTime\{WorkerName=".+",Level="Host",Hostname=".+",\} \d+\.\d+', diff --git a/ts/configs/metrics.yaml b/ts/configs/metrics.yaml index a9e7e2ff1f..696ddb85e1 100644 --- a/ts/configs/metrics.yaml +++ b/ts/configs/metrics.yaml @@ -1,6 +1,5 @@ dimensions: - &model_name "ModelName" - - &model_version "ModelVersion" - &worker_name "WorkerName" - &level "Level" - &device_id "DeviceId" @@ -19,13 +18,13 @@ ts_metrics: dimensions: [*level, *hostname] - name: ts_inference_requests_total unit: Count - dimensions: [*model_name, *model_version, *hostname] + dimensions: ["model_name", "model_version", "hostname"] - name: ts_inference_latency_microseconds unit: Microseconds - dimensions: [*model_name, *model_version, *hostname] + dimensions: ["model_name", "model_version", "hostname"] - name: ts_queue_latency_microseconds unit: Microseconds - dimensions: [*model_name, *model_version, *hostname] + dimensions: ["model_name", "model_version", "hostname"] gauge: - name: QueueTime unit: Milliseconds From 5ee02e4f050c9b349025d87405b246e970ee710b Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Wed, 3 May 2023 10:40:26 -0700 Subject: [PATCH 071/172] Revert "open github issue on regression failure (#2248)" (#2315) This reverts commit 627d4b7f92bf27c9750e48d3240a4fc60fbf9eb5. --- .github/workflows/regression_tests_cpu.yml | 8 -------- .github/workflows/regression_tests_gpu.yml | 8 -------- 2 files changed, 16 deletions(-) diff --git a/.github/workflows/regression_tests_cpu.yml b/.github/workflows/regression_tests_cpu.yml index ad94884a2e..1f7230963b 100644 --- a/.github/workflows/regression_tests_cpu.yml +++ b/.github/workflows/regression_tests_cpu.yml @@ -32,11 +32,3 @@ jobs: - name: Torchserve Regression Tests run: | python test/regression_tests.py - - name: Open issue on failure - if: ${{ failure() && github.event_name == 'schedule' }} - uses: dacbd/create-issue-action@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - title: CPU Regression tests failed - body: Commit ${{ github.sha }} daily scheduled [${{ github.workflow }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) failed, please check why - assignees: '' diff --git a/.github/workflows/regression_tests_gpu.yml b/.github/workflows/regression_tests_gpu.yml index 55739e92b8..09e73e53b3 100644 --- a/.github/workflows/regression_tests_gpu.yml +++ b/.github/workflows/regression_tests_gpu.yml @@ -44,11 +44,3 @@ jobs: - name: Torchserve Regression Tests run: | python test/regression_tests.py - - name: Open issue on failure - if: ${{ failure() && github.event_name == 'schedule' }} - uses: dacbd/create-issue-action@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - title: CPU Regression tests failed - body: Commit ${{ github.sha }} daily scheduled [${{ github.workflow }}](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) failed, please check why - assignees: '' From 614bfc0a382d809d5fd59d0dbc130c57e67c3332 Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Fri, 5 May 2023 10:59:19 -0700 Subject: [PATCH 072/172] upgrade transformers version (#2325) Co-authored-by: Naman Nandan --- requirements/developer.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/developer.txt b/requirements/developer.txt index b87daa978b..47bc84102d 100644 --- a/requirements/developer.txt +++ b/requirements/developer.txt @@ -7,7 +7,7 @@ pytest-cov grpcio protobuf grpcio-tools -transformers==4.25.1 +transformers==4.28.1 pyspelling pygit2 pyspelling From 2f1f52f553e83703b5c380c2570a36708ee5cafa Mon Sep 17 00:00:00 2001 From: Hamid Shojanazeri Date: Wed, 10 May 2023 10:26:38 -0700 Subject: [PATCH 073/172] Pippy deferred init (#2310) * remove HF auth * update steps * add model checkpoint path * add model checkpoint path * add deferred init * add deferred init * fix keys * clean up * adding torchpippy * adding torchpippy * add comment for replace checkpoint path * add comment for checkpoint path * add checks for configs * fixing thread numbers * fixing max_new_tokens * adding max_new_tokens * fix padding * revert tokenizer changes * fixing the response size * making index file optional * fixing new tokens * fixing new tokens * fixing the output issue * add check for torch version * fixing the index file path * extend the word list * moving the script to parent direcrtory * change the path to download script * moving to utls * adding utls * allowing only related patterns * setting default chunks to 1 --------- Co-authored-by: Ubuntu Co-authored-by: Ubuntu --- .../large_models/Huggingface_pippy/Readme.md | 31 +++++---- .../Huggingface_pippy/model-config.yaml | 10 ++- .../Huggingface_pippy/pippy_handler.py | 66 +++++++++++++------ .../Huggingface_pippy/requirements.txt | 2 +- .../Download_model.py | 5 +- ts/handler_utils/distributed/pt_pippy.py | 43 +++++++++++- ts_scripts/spellcheck_conf/wordlist.txt | 2 + 7 files changed, 121 insertions(+), 38 deletions(-) rename examples/large_models/{Huggingface_pippy => utils}/Download_model.py (88%) diff --git a/examples/large_models/Huggingface_pippy/Readme.md b/examples/large_models/Huggingface_pippy/Readme.md index f02321bfc9..970d0315af 100644 --- a/examples/large_models/Huggingface_pippy/Readme.md +++ b/examples/large_models/Huggingface_pippy/Readme.md @@ -6,23 +6,25 @@ PiPPy provides pipeline parallelism for serving large models that would not fit ## How to serve your large HuggingFace models with PiPPy in Torchserve? -We use a Torchserve custom handler that inherits from base_pippy_handler to load the model and define our logic for preprocess, inference and post processing. This is basically very similar to your evaluation process. +We use a Torchserve custom handler that inherits from base_pippy_handler to load the model and define our logic for preprocess, inference and post processing. This is basically very similar to your evaluation process. Following settings has been tested on g5.12xlarge EC2 instance which has 4xA10 GPUs. -### Step 1: Download model +To run this example we need to have torchpippy installed. This has been added to the requirement.txt which can be bundled during model packaging. -Login into huggingface hub with token by running the below command +Generally to install torchpippy you can run following ```bash -huggingface-cli login +pip install torchpippy + ``` -paste the token generated from huggingface hub. + +### Step 1: Download model ```bash -python Download_model.py --model_name facebook/opt-6.7b +python ../utils/Download_model.py --model_name facebook/opt-30b ``` The script prints the path where the model is downloaded as below. This is an example and in your workload you want to use your actual trained model checkpoints. -`model/models--bigscience-bloom-7b1/snapshots/5546055f03398095e385d7dc625e636cc8910bf2/` +`model/models--facebook--opt-30b/snapshots/ceea0a90ac0f6fae7c2c34bcb40477438c152546/` The downloaded model is around 14GB. @@ -46,17 +48,22 @@ pippy: input_names: ['input_ids'] # input arg names to the model, this is required for FX tracing model_type: "HF" # set the model type to HF if you are using Huggingface model other wise leave it blank or any other model you use. rpc_timeout: 1800 + num_worker_threads: 512 #number of threads for rpc worker usually 512 is a good number handler: max_length: 80 # max length of tokens for tokenizer in the handler + model_name: "/home/ubuntu/serve/examples/large_models/Huggingface_pippy/model/models--facebook--opt-30b/snapshots/ceea0a90ac0f6fae7c2c34bcb40477438c152546" #the path to the checkpoints, in this example downloaded file. Please change to your model path. + index_file_name: 'pytorch_model.bin.index.json' # index json file name in the model checkpoint folder, that keeps information of distributed checkpoints + manual_seed: 40 + dtype: fp16 # data type to load your model checkpoint, supported fp32, fp16, bf16 ``` ### Step 3: Generate Tar/ MAR file -Navigate up to `Huggingface_Largemodels` directory. +Navigate up to `largemodels` directory. Here as bundling the large model checkpoints is very time consuming, we are passing model checkpoint path in the model_config.yaml as shown above. This let us make the packaging very fast, for production settings, the large models can be put in some shared location and used from there in the model-config. ```bash -torch-model-archiver --model-name bloom --version 1.0 --handler pippy_handler.py --extra-files model/models--facebook--opt-iml-max-1.3b/snapshots/d60fa58f50def19751da2075791da359ca19d273 -r requirements.txt --config-file model-config.yaml --archive-format tgz +torch-model-archiver --model-name opt --version 1.0 --handler pippy_handler.py -r requirements.txt --config-file model-config.yaml --archive-format tgz ``` @@ -64,7 +71,7 @@ torch-model-archiver --model-name bloom --version 1.0 --handler pippy_handler.py ```bash mkdir model_store -mv bloom.mar model_store +mv opt.tar.gz model_store ``` ### Step 5: Start torchserve @@ -72,11 +79,11 @@ mv bloom.mar model_store Update config.properties and start torchserve ```bash -torchserve --ncs --start --model-store model_store --models bloom.mar +torchserve --ncs --start --model-store model_store --models opt.tar.gz ``` ### Step 6: Run inference ```bash -curl -v "http://localhost:8080/predictions/bloom" -T sample_text.txt +curl -v "http://localhost:8080/predictions/opt" -T sample_text.txt ``` diff --git a/examples/large_models/Huggingface_pippy/model-config.yaml b/examples/large_models/Huggingface_pippy/model-config.yaml index 30b428af3d..f3ef7f0299 100644 --- a/examples/large_models/Huggingface_pippy/model-config.yaml +++ b/examples/large_models/Huggingface_pippy/model-config.yaml @@ -1,8 +1,8 @@ #frontend settings minWorkers: 1 maxWorkers: 1 -maxBatchDelay: 100 -responseTimeout: 120 +maxBatchDelay: 200 +responseTimeout: 300 parallelType: "pp" deviceType: "gpu" torchrun: @@ -14,8 +14,12 @@ pippy: model_type: "HF" chunks: 1 input_names: ["input_ids"] - num_worker_threads: 512 + num_worker_threads: 128 handler: + model_path: "/home/ubuntu/serve/examples/large_models/Huggingface_pippy/model/models--facebook--opt-30b/snapshots/ceea0a90ac0f6fae7c2c34bcb40477438c152546" + index_filename: 'pytorch_model.bin.index.json' max_length: 50 + max_new_tokens: 60 manual_seed: 40 + dtype: fp16 diff --git a/examples/large_models/Huggingface_pippy/pippy_handler.py b/examples/large_models/Huggingface_pippy/pippy_handler.py index dc84143273..6db8d32c41 100644 --- a/examples/large_models/Huggingface_pippy/pippy_handler.py +++ b/examples/large_models/Huggingface_pippy/pippy_handler.py @@ -2,6 +2,7 @@ import time from abc import ABC +import packaging.version import requests import torch import transformers @@ -12,6 +13,12 @@ logger = logging.getLogger(__name__) logger.info("Transformers version %s", transformers.__version__) +if packaging.version.parse(torch.__version__) >= packaging.version.parse("2.0.0"): + logger.info("PyTorch version is 2.0.0 or greater") +else: + logger.info( + "PyTorch version is less than 2.0.0, initializing with meta device needs PyTorch 2.0.0 and greater" + ) class TransformersSeqClassifierHandler(BasePippyHandler, ABC): @@ -36,18 +43,43 @@ def initialize(self, ctx): model_dir = properties.get("model_dir") self.device = self.local_rank + model_path = ctx.model_yaml_config["handler"]["model_path"] seed = ctx.model_yaml_config["handler"]["manual_seed"] + dtype_str = ctx.model_yaml_config["handler"]["dtype"] torch.manual_seed(seed) - self.model = AutoModelForCausalLM.from_pretrained(model_dir, use_cache=False) + dtypes = {"fp32": torch.float32, "fp16": torch.float16, "bf16": torch.bfloat16} - self.tokenizer = AutoTokenizer.from_pretrained(model_dir, return_tensors="pt") + dtype = dtypes.get(dtype_str, torch.float32) + if dtype != torch.float32 and dtype_str not in dtypes: + logger.info( + f"Unsupported data type {dtype_str}, " + "please submit a PR to support it. Falling back to fp32 now." + ) + + skip_init_start = time.perf_counter() + with torch.device("meta"): + self.model = AutoModelForCausalLM.from_pretrained( + model_path, use_cache=False, torch_dtype=dtype + ) + skip_init_end = time.perf_counter() + logger.info( + f" init model time on meta device took {skip_init_end - skip_init_start} seconds" + ) + self.tokenizer = AutoTokenizer.from_pretrained(model_path, return_tensors="pt") + self.tokenizer.pad_token = self.tokenizer.eos_token self.max_length = ctx.model_yaml_config["handler"]["max_length"] + self.max_new_tokens = ctx.model_yaml_config["handler"]["max_new_tokens"] logger.info("Instantiating model Pipeline") - model_init_start = time.time() + pippy_compile_time_start = time.perf_counter() self.model = get_pipeline_driver(self.model, self.world_size, ctx) + pippy_compile_time_end = time.perf_counter() + + logger.info( + f" pippy compile time took {pippy_compile_time_end- pippy_compile_time_start} seconds on rank {self.local_rank}" + ) logger.info("Transformer model from path %s loaded successfully", model_dir) @@ -64,14 +96,12 @@ def preprocess(self, requests): attention masks. """ input_texts = [data.get("data") or data.get("body") for data in requests] - input_ids_batch, attention_mask_batch = [], [] + input_ids_batch = [] for input_text in input_texts: - input_ids, attention_mask = self.encode_input_text(input_text) + input_ids = self.encode_input_text(input_text) input_ids_batch.append(input_ids) - attention_mask_batch.append(attention_mask) input_ids_batch = torch.cat(input_ids_batch, dim=0).to(self.device) - attention_mask_batch = torch.cat(attention_mask_batch, dim=0).to(self.device) - return input_ids_batch, attention_mask_batch + return input_ids_batch def encode_input_text(self, input_text): """ @@ -92,8 +122,7 @@ def encode_input_text(self, input_text): return_tensors="pt", ) input_ids = inputs["input_ids"] - attention_mask = inputs["attention_mask"] - return input_ids, attention_mask + return input_ids def inference(self, input_batch): """ @@ -105,21 +134,18 @@ def inference(self, input_batch): Returns: list: A list of strings with the predicted values for each input text in the batch. """ - input_ids_batch, attention_mask_batch = input_batch + input_ids_batch = input_batch input_ids_batch = input_ids_batch.to(self.device) outputs = self.model.generate( input_ids_batch, - attention_mask=attention_mask_batch, - max_length=30, + max_length=self.max_new_tokens, + ) + generated_text = self.tokenizer.batch_decode( + outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False ) - inferences = [ - self.tokenizer.batch_decode( - outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False - ) - ] - logger.info("Generated text: %s", inferences) - return inferences + logger.info("Generated text: %s", generated_text) + return generated_text def postprocess(self, inference_output): """Post Process Function converts the predicted response into Torchserve readable format. diff --git a/examples/large_models/Huggingface_pippy/requirements.txt b/examples/large_models/Huggingface_pippy/requirements.txt index c89843b6ea..32d9296363 100644 --- a/examples/large_models/Huggingface_pippy/requirements.txt +++ b/examples/large_models/Huggingface_pippy/requirements.txt @@ -1,2 +1,2 @@ transformers - +torchpippy diff --git a/examples/large_models/Huggingface_pippy/Download_model.py b/examples/large_models/utils/Download_model.py similarity index 88% rename from examples/large_models/Huggingface_pippy/Download_model.py rename to examples/large_models/utils/Download_model.py index ea854abc90..2e8f6c9579 100644 --- a/examples/large_models/Huggingface_pippy/Download_model.py +++ b/examples/large_models/utils/Download_model.py @@ -41,11 +41,14 @@ def hf_model(model_str): ) parser.add_argument("--revision", "-r", type=str, default="main", help="Revision") args = parser.parse_args() +# Only download pytorch checkpoint files +allow_patterns = ["*.json", "*.pt", "*.bin", "*.txt", "*.model"] snapshot_path = snapshot_download( repo_id=args.model_name, revision=args.revision, + allow_patterns=allow_patterns, cache_dir=args.model_path, - use_auth_token=True, + use_auth_token=False, ) print(f"Files for '{args.model_name}' is downloaded to '{snapshot_path}'") diff --git a/ts/handler_utils/distributed/pt_pippy.py b/ts/handler_utils/distributed/pt_pippy.py index e1936af265..11d3f37793 100644 --- a/ts/handler_utils/distributed/pt_pippy.py +++ b/ts/handler_utils/distributed/pt_pippy.py @@ -51,10 +51,49 @@ def get_pipeline_driver(model, world_size, ctx): torch.nn.Sequential: The pipeline driver for the model. """ # Extract configuration parameters from the context - chunks = ctx.model_yaml_config["pippy"]["chunks"] + + # Check that the "pippy" and "handler" keys are present in the YAML config + assert "pippy" in ctx.model_yaml_config, "Missing 'pippy' key in YAML config" + assert "handler" in ctx.model_yaml_config, "Missing 'handler' key in YAML config" + + # Check that the required keys are present in the "pippy" section + + assert ( + "input_names" in ctx.model_yaml_config["pippy"] + ), "Missing 'input_names' key in YAML config" + assert ( + "model_type" in ctx.model_yaml_config["pippy"] + ), "Missing 'model_type' key in YAML config" + + # Check that the required keys are present in the "handler" section + assert ( + "model_path" in ctx.model_yaml_config["handler"] + ), "Missing 'model_path' key in YAML config" + + # Set variables from the config + input_names = ctx.model_yaml_config["pippy"]["input_names"] model_type = ctx.model_yaml_config["pippy"]["model_type"] + model_path = ctx.model_yaml_config["handler"]["model_path"] + try: + chunks = ctx.model_yaml_config["pippy"]["chunks"] + except KeyError: + chunks = 1 + try: + index_filename = ctx.model_yaml_config["handler"]["index_filename"] + except KeyError: + index_filename = None + + # Check that the index file exists + if index_filename is not None: + index_file_path = os.path.join(model_path, index_filename) + assert os.path.exists( + index_file_path + ), f"Index file '{index_file_path}' not found" + else: + index_file_path = None + checkpoint_prefix = None # Set the model to evaluation mode model.eval() @@ -83,6 +122,8 @@ def get_pipeline_driver(model, world_size, ctx): split_policy=split_policy, tracer=tracer, concrete_args=concrete_args, + index_filename=index_file_path, + checkpoint_prefix=checkpoint_prefix, ) # Inject the pipeline forward method if necessary diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index ba81059e97..29293001a8 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1043,3 +1043,5 @@ QueueTime WorkerLoadTime WorkerName WorkerThreadTime +largemodels +torchpippy \ No newline at end of file From 4fe5273cd6f98fb5abc570f802b402ac32ecd105 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Wed, 10 May 2023 21:39:08 +0000 Subject: [PATCH 074/172] add omp in env for torchrun and update doc (#2320) * add omp in env for torchrun and update doc * update doc * update wordlist.txt * precommit fmt * remove HF login auth * add word in whitelist * fix response batch * fmt * limit torchrun retry as 1 * update config * fmt * move Download_models.py to utils * update doc link * update doc * make omp_number_threads configurable for torchrun * update doc --- docs/images/ts-lmi-internal.png | Bin 0 -> 290558 bytes docs/large_model_inference.md | 38 +++++++++- examples/large_models/deepspeed/opt/Readme.md | 67 +++++++++++++++--- .../deepspeed/opt/custom_handler.py | 27 ++++--- .../large_models/deepspeed/opt/ds-config.json | 2 +- .../deepspeed/opt/model-config.yaml | 7 +- .../deepspeed/opt/requirements.txt | 4 +- .../opt => utils}/Download_models.py | 2 +- .../serve/archive/model/ModelConfig.java | 30 +++++++- .../org/pytorch/serve/util/ConfigManager.java | 3 - .../pytorch/serve/wlm/WorkerLifeCycle.java | 3 + ts/model_service_worker.py | 11 ++- ts_scripts/spellcheck_conf/wordlist.txt | 6 +- 13 files changed, 167 insertions(+), 33 deletions(-) create mode 100644 docs/images/ts-lmi-internal.png rename examples/large_models/{deepspeed/opt => utils}/Download_models.py (98%) diff --git a/docs/images/ts-lmi-internal.png b/docs/images/ts-lmi-internal.png new file mode 100644 index 0000000000000000000000000000000000000000..838eb409152c7ef7487e5c5fdc456cc54570c593 GIT binary patch literal 290558 zcmeFYWmuF^_dcpfcL~xZAT1y@NJ&a}3aAK3cbA0H1Bie$l0zdkFqDYWA)N!#3F?|VgSYbq1r)8gN`bBE};ih}N)J2;R# zcd+i@Vgo-p$04M+bBFoPa|JnlUyGe=tfu>u=iM?OV!y4#y;MU1Z!3#fZS77&N*x^q zeFYsdZGA#nN-Q0nojs+y;fYjvFJi4h^ zU{^~;eadbjR!REqSM)0TwQjq5=cl7cYWBP2%>Sp4%G0~}6VbMVJpXQh2juTwx~($^ zTaPT>6SSq`|D@GTZ1;MGmW1=}4QB9X*z+7(=#S%wq;T5j2y(1TvF*d&3r0(34{E1r z#-P9p$L8VzGHJ7c^vK;=582_Sz>J+)pT{!nqW;AadA-Z0Nb0W z`kPxwy$XW2pz@A(kgYOQyopBLPv;a4HV2Yx93m$lM{M;dUGbf^IW4qKkMf>+Nmc6_ zr&&n?*8+{o%N@Fb^>Nfxk>{JVEQ9C6k_~~X7m0fO?T(ZDhy|pUvQOlqx#gUwK)T+C z&ft%-V0PElcO7r8ilqdvWX?Vdjjetx!=o8*HoD@Vb42-?k5oRK_SU#@N$<-p$<7DZ9^y5NfK<<$J!`%qt8?L2TKk~Jozt9yY{X#~vbi94`^Z`e>jyiWcx%QO%9f86e`7K_xt0Y6%7#b8J@;w@ zbEYQWZL{ZG^M54@T1O9!A=^8?I|>z7j0S@nN83Rm$ntd+MCex z9ma9%p>rwl(vVjgBMV#r!s>Sragh9)4X7W@@4n$!R;4hNI0?}rK4=73pI7kpduWPt zn;oo+wBTiXJDNx|GGyCbs$*c;%Y5=B#Cr$^_CFcJYbQ|l-L9v%qGfV@0Q&B1jbHWe zX5oNN@6PKFnFf{m#*2Z)?@tn$4@)Q@dJ@E9q30{$`$e*MQJa4j+iFvDCbK zyN3eIXJ5B6wf@p2z0zX)_p&m;E{?ls&amAEdhhY=(Vw#?3f&3DviJN0ALT20HY-n- zyFXI|z2rKiM*VRN!w|u;=lz()t6eTSeW|qKdoAnxHxzwIjoX|Pvc^4N2asG2D7Ac0 zMk^6ed_>>5D(kda_vTE~&-y^s4}BeW8e2K zFrxvM8W&<)gIJjN{KBq`7Ix>_p{%u zSZM(FcSW8IPLA@w1v1|*5Hoe?HkE)4u+6wO(WF;;vVrfNs<(=#?=m)^^^iO1*5G*M+o1Gg6)9b>D5Cz|X^njujtfLQfwMWC)|OWu=GBXzK|fvPGcLGHzQe1P@Ywt4DSj+hqXY}@8L zk&)A(m+JX7`HIS^<9*9c48J!^?cs(@W%|61eq+?UiDJL#bN=4bUKOj) zR{ejjy;r74s|C?u9Oty*@Y?VgqCOfppnFfUFN!>)FQ=|5Ro{Pif3vz0nlGu()h?N1 ztciV8#t;>9^qe4VuVyb2c=Z(EmU|wG;aB8qC|#=Go;Xou_=I1XTqZjf-5%#qIMC*X zh%pzkT^0@f4E4TZ?8_BM5J8_-+g+{besPqOQ3+(Y=d2ez&pU48+!&loC%T*RTJccr z7Dk$;uneaDFO0V*dF`)Sn1sn7)B^Lj^|2)ITdYmm-w)#MA3k-s z7DYCjl)bszd>Pgs_Gs8s{_YAaQv8WBLnfe!w#e>L$P`Go}ze&K7Q*nG83TV)>3 ze7TazvzF{KZ9+H4-BmonZfo#qV7S^55A`^3q5Wbu<8v2_%`;;mLC1G(ms9v>Cu#Ai zkM?XTGg1?8axCP)F1b$8Y<)u6vQleR=k7NY1aIcSGiQ;#(T}#7vB}O6ZfXoAnh!?R zVMpiV`>0|J5#8#x!&zE2VGi26ftSgSET3@*pyxM#iN~hE%bAc@YCpvr8O->$t?bzmkve(+^&TZS537RdWBb#5lNig z{7ED2mZ-C*vTW9B)QNO0Mrq?<9y;Sks@?v0gg@35aNj0$)ciQ~p|Qj0&{DuP_tUxG z$Gxrf^hYzIQHi`$C<){E$i!@|k2Rs*S`t{~g7OT5{?@-Rh0o(LIzpzItc&dy9tM!zU|ahc04h@IqtfwPj7 zw6gmI7w3G~Qg6p1%hyWXhL=n>J-GWtZbBMi4e{tB4}VP`*G>uONd^CAR^Z$A)`}ae z!}W{O%-6(Sk|Ry8G_0;G(cdIeYnYrk8T6Ex=M;C6Y;RH%+AVxeZ>EFLb0Mg=1s7N; zR&&zlVO-$NfO(WE)Fu&n}W9pCs7Y*9)?SWdxDd1;W;*i3Uw&$=uZ-vIu+^bjU^H< zy`7nNfv3a%h7;*&LC53R&4)>T;I86U_#!#U9u3H{{c`l|>wAg?O#3WJ{}mx?%o?*? zX5FPr(}m8w5m8?XsCdM_w|@Q>z{s?%u}ysldh)3QiD`ed3^g&UAkt|0 zLM$R0roQ`;?uJwWPmvB2HJ#(g4|J(NN3)`3=44gpXMA&R_|T^nLqxO_#q{-85(qvb&OAu6W8M>^bYvy*JZ~!c9#hAJ zYK--InyrNeHzeBm^=GIus)AFw!84}M8SPf>@a;K9SmZEs{!2ZIXYpxuv28@SL_X$5 z<8$9mtfFB8t8;y=VirDV$Iy3FPPRGP!*fwx9Q)ZMBYLS+u2z^h`4`TmyIktC^Y4EB zSyNMs-z47so&F0A%Lubgv{c*h-=F7{>3QWO6Th@RZ__cLGH;B8nj3Vvx9?ja>Xj~! z#Cin*0J$$2{PM@MGdKSV*)?d0>xBQ>uzx#4Av5pyq=$2?>5`Az>2L<8Vtk!3j;lkQ z8|j(FoEMQ$WMo2DUEU_U0Rx7Cr@S+UNDfOI&TtBi2b`gQhe7^mrzU{*)F$$<QAVb9>KEd5KRs>8O?orsX>*Ee!} z4GqqZa%-0dlcH6c%C4{deb-nEeEL;xe!B)(q3uKK)_mhBhOtkFW{6m~f$k_Eo4?3C5we<6Wg)aRbnB}g#zBoT(fY?n;>H=iGY z4B8IgG3~iEO{ddlbuLF02w~DOdp!8p5Xb_+Qp5=RFE*5&BU8Zv!W&Bpm9J}dJXj>)I zTb%6EiW28GO*^g{^^CY!*4Q0?OD155Btb68g6($OxMJef6+Zs3I&FJaFYok5U;s0e zmgY{4iBt9aJ&}{Gj*h3TrK{Jek3wm=hO65G8dIdj7{kYZ{keNw*?aY7Db20z%@Up0 z3R|#|4+-9Nrr>OEml7zeeewEE5qw235#@|pwEbX0|Iq<+5Ji z2!3cVKm)P(6EV`F;7+Kl#>3p@gzwGt zL=ibuxIk&wUIC~hQh$NYV1+H8WY?M?tRlSkY81H;5GfGF!xr5ZqyT9yx={b=zyJF8 zCMxQ5&#h;$Df@ALwROTry<;|psVFAteR_&w+4x$#v_&B{XPnlpeP$w$O^>5lHrEQ( zyl(7Mpx2N>#g}c)-SQ%#Y+2w}auUh}cSfDIFt_ujqoqkuQ`O+N8yVaTn#L*!+EfiJHs&wDP#lKz|*6+rkmn_DgVQH8!;z9!~pypd@dx|b+wB| z>`%6P;HG5?x){f$+95?qNYKFMNmj_Fm&p3%_@#BNU^8RFEe#v04(OAhWSe9wmfI&n zmPC6XwPU;xyYC*5SsgprKHs%hEK>KrJ6rFU%l;?uVgS3d8RQYm+bIEJ`7u&ohH0;m z-+uGcbQf{@t=db0tW>)((IDBe^CLqJol#PEE9N#Iz&}bzg?PZ5ekzegjDSR9@PBwJ zQ2I}{D^iL?Y%2gMt)xJ@;qqgKz5husMXn>iNWvdW>fL-~h)?0~2L?e>Al9OY%`FIf?MmcV{Dg5pTSO289md6 z#RrWymuR4yRU&J#z!2HSEZ9pMu9(Z2MFp=4Q4k=_)!0eA} zo_~=`loXIQkGkoqp6b8S+ERSHU^@&d%>rt;@xkT@n_4OpO!@L4QhE}?{oZa6q}u7f z55qY>lT>{T>3^;;{Ih99yuIT7D}zF93!X7Dk$|P^Hw_LCT@qr;>8m8Fww24KqnJeZ z87Wd_?XWcU3v>$-QR4ZCjmUvInf&KLUyMkL_2^i(A;_b(yqpkyMAFmf`KAOQjrIx4 z^Z=EhJcS*iM_9sG?K1%o^^~ogrG)GOo;sc4j8=}*t%bn1_Hvir~4Jv{nAH^Mx zyHyscybAi{2x`kbHD@D*kVusj^Jwj}wJPO8JhFaB(qKMny+HiO3t*puP?+xh`f{np zJC(U1sC4D5GJtuiF!PW$$H67eaW7rur$9-s8|guA$RyW>rGKz>b7_Fc^oI7ZGFtL` zbZ{24ereo3{}E!Kl41IU&GmaI6-tUsuMN8FLS*05PG{+9qllzobSgt4-u?FbAo24l zpK+`FwP_Rlm~M>3a=bZCT6*-mbFQ2RfU$??=6zAmKyOpd(q%6E5aM73f(e(v8dXNR z2ID@`q)`*aLxyWQ`ts$MPGZ$T#25R{D5?{O?mB)y{#zXI=9b<~2i4J2-#)Fq#3-eL zczMNMPQbc2o&(>Ya4d&vh(;OVc6O^5fK0+P>=Z1ZbS=y?^=q0g@*6^cn=fJr>I#gd)FWcJk`df(3hisYAi#@|sB zV~}& z9@aoB==h5*1IJFWZ5y`*Z$i>%7iu5OVybHmNsj#lSB$-EVIh+s9=_A1EI?K$W?-_r zt!Vw7VyJ#~_z9p8+;cb^JLG=uHt*ti0lqRk_cYI*)VtPG!iF18A9LoFK_gAaAriaR z6ia4YT|E%JSFhux0+pq#X?+)_gFiRwoXa%Iw#-I1#EVqbK1L0^l`%jo$*izVT~tch zs~~N@t~_{@?`)yv0oazUZEg_ubK2P*)ov_zo)28-4(LF>HR5{Z!l=l0$NOrj?ig?ufcV6#R z0(^opy$IDUJB~mHNi|Fpi@`@*eWlNO(wai|P{bRdug-K;K%8F!m zA|z#U*?p2AdHQ)#vx7A<94-$e}ZRE*o(sOWV8Q zO1$}dUWZk&`#hK%U6wSn?)IzbJZ>prP+r?4On&vUSTa17_P{wc)gaBIr$_BDhh%in=-=etL;)s4NEKhcGsmnE_bzM3f~^_OTA0 zJwyV0QQEKDtkl{Raf}8ibaDA?|MWUSobxCMqUU@PJqZVB2Trt9Rn^5#DqlBn{4B(p z9?l)MP*`uUTG_(!)>CUflfp%1{Oh-epS-m zKZduLs&mofDrVUMS6@8i1ntGyr z@vS%^7QBKc2d@H{Ju2|~<=haT5Z}4+M+c^2j7vw zMj)eGzK5{AYj)~BbmY_QAygux>+`ol* zy3wO_GhSt?meR3T#qMpsm2%LIk*t;>_d(rsI~qK(eLXZ|VwngziSW2b7b(O`)5i6q zocYA}_eWg0yH}Hw){zg;eN9vSk95RBX;I3qWnb)CKp4Zj%|-W zR|R^9T&p5KtJ4G2Mnu!|k$O_`*S<9LhRnESd#kP=Yn3euqzwFU2dRY)P8-@uMm(Z& zKz9WhmNZybF;{g+#P%zCcDzx+Hrj0EFXGY=SMR3ih)NZECSI=X4Y%Aq@lt(7!A+M zeBnObfDVVXR1p0*yCyb3xc~9#*UEV`Uad{#i@N!K*P;PgO1l9bNx8%`wH~)7ya@q9 zyVogH2SS(KMpba9{huvT!6DAGO{8ul%C0HnRAZrCIJO0vi&dfl46&n=lQMpy=B;sVbvFy#;#3!(oxSw{MbWLcuBbjYuoN&!aTlF_M zBA8YGyjRXVg|#}5ceyC2udyOUcap$HWe&d(nD&KMKZ{GY*>>SN$}pv|GVBuaJ8tyS zFLfM59S_;G1x(rjcS~n_s@DBJTU2h<;wllm>^by?aqhA3eF)rMg*6N>Nu8s3eo$Mn zH(#1>%%OacY%^s5VRnr)9H+kjhzX5Lhhez{?DP3ws#0UIZFwnxl5>AsTLda+V5 z(0HCDd`b`2NYj-5h$TC%Ng7J~8WU5~AX_Ow%0T97I$BbN&cEpU-A5G{?q#TW&^{T) z0FFR?Txs8Cw@#Y0&gQrLSn@6}8UN7^kGtoE6cfSzM!ZitptZ}r${1$(aovvO&_+%bR*|&rU8w!3dM##Ndencswd%d7o6PyvPs1vjv9Li)5V%VtPm|J8EHcV3#3gOOzZ}h<$oG9<)cwYd&TOa&BT+J__!H{Sv3MWhN( zhib*Kz7tSY)681D5obneeV?aOCBS|m>H}TJ)9P5;MoZ>)lgjm(Mptjlm6P^%n$&`I z@WUvSo+QsrUc( zPMpa|5>GqD6f`o~U(W94gYU05mfN4URd_8BR12hSQm&KbZ?a4xf4-G%4EGvwPFAVg z;_w;~&KCbqNdw}Cnjg+$?k}My1vIEWyfR!fyFpXYzAEMGE%gQd9-?odbOcb>m zOgJoX67^z&Q}InsfqA?~)U>efbi(6BjbDvRQQuT#JkffClSb8zZt=Csn4$#73#K2FwvHz03tWI30n*M47{~XROQEjvGs@!g3qF(3S7CJzL+3@rp3rKY3(k zZh{RLfn)A6W7x7{ZUYVEC($9*b2$fw0*`Y|g(t1kb7;6-*F7C!`i3qzZ|^0$S>A~- z_zl4X2&ez;6m0BmF#Rj9rF@QI*$)HnBmb7D?pxcBn_mCjzoghOXQFB-h|vG^&$izt zFHd$FJPdc@G^(ekm1$gY9Gi^LP0DSM&T2Gw~;&QcsN9FRTl!RPOmtrh+;Br!5V?%9^VeMm1yxt*TM) zt{4i>IR$$n#tn8~)ire~4iBk2N?)Jaw8#$pUUiwm)2;H4mpniNA*8`(^7sVs^L$*k z%4(p{(IOqq0THljBXx~WV68AusgaP`_gm6lt*2KRK3GH`hKsE&E_Cy%z)`P&BOp*FbofRA=AOb+%Cwh7*oQs&goT%foh%-~tl z@@g0J1iHZ&F28HS?y{B9bLpaYB}s*^35Fre$M)BB(UlaCaPe_OmVswd^A%I3fQndU z?KqgvVe;z;|9ZB?!U$#wvIXzl`JA6PvQX~{&Arwi)Y%36IrGNl-kIl{RL!s6)y0J) z>O^7Y@Rka*IY$|f3Q%!CE)5{!pL~`<2>oHsejF@3`a$J4c0&xleVTG6e|)QE{iHRS zY^EIMFu)|jDAzzIAkGIe>E&U=wnFdWx1ENE);<`ML?{Gk*5BYylrR|??zI(xZI$@4 zyBgA(DhEV2d+emP=GOjUujpIswNl}({ug_7;jIDfs7OK$qB-!G-@#)AJ~GuicE9CQ z9jQWI`_5&*J0L-{+ZeR4csjGoX)H1qpEDccO#sG@PgeY&^II`7~!ZliV2EF9TSXBg%r7A78kKhQ)(S7hYT+a zFpgd78haajB*ld3CWb$zeGnz8=cVFo#GsPULb_p=A{Mt@IQ?aF=OV z9(7eV7EG@#3AutVp9CeZJ~p`0&6ag?x73UbD9{YN4AzyjBug8u(Z`S(+wKq)5BCHxnxuN?4fAB9Nz`9o9lkO~_IRXbo+u)GudQ>SkN=TR7T^=R z3Gl~41UP9F6nlX&V79+5EGtrQa$aot6XAa0WJq?BF!|CLq^&mXLlL(bDK<|tEzclr z6RjTTQgknJx)rg<=^{P>2-Um>4`b;ucz3AMKKtI+;{`+3PLdH3oEy;arjhY6qorgQpRn6ik`N-4&q zN6<2V4hZHpLKxcXb(O985LRCjyhmoyQ}{2ue9Y%AeH|RPSb7e4)vaY_qxM~5Yop_38(tWQ;l22^ruq67WKY*kGs zH}0@HF`sjGd2(?G%jKQu2@DU5r(-nO%k%4aTp#=?7UZ&XWB9*Ik7}SN#e;dPD!fMsd#oB2)AGw+xh zjdkY9d>uExy)WI70!1;{U@-TdjAwh`iMeAcb^t6SI~-z!hyyUo3`WE7^0*WK*z>$@ zG2$P}6ye(TkQDAr;JyKcf>KspDIgs=GfMcBy+}HNrVRX1Shv@(V$^p=&&;}r$f`Ki zr%RpfIK%gz-&#hy00Zf84c@xzUjr!xZeh4=o85r4+U55i)z7zGI$lm$Fk-us<(Qjw zA#A2Hd;`}$TQO5L@7nF010m(AnW%;d>Ot95JYVI&XmBpLXw@4a5M9pKpf>pu69X{z zUYVl%__DAJ(@{Dn;SJ}MoFH3?KiH*q^zbNdqI%W5DG963gU}_b%qao>0;V&ca6xwq zK(a%ltJol;Hn020A?Q8HM>oyd=Az#UJAxAoBo4L|43jV1LAP3+)vqW}2gb2vZe>zr zj<=FTPKYU1^C772Q+x2nV}_~N+~6|ss3OVs*z$QBpy3h#MyzZT7X9zK+*46YZV_HD zfW%jQhc7>4Q1p6QVg*1Y)ut_G%=PnpD%^O&Xi8R9=z8}5@JYT!^%BTA4eCz(?z#=9SP6RMS?qo#RtI$oiz?mdTwe`fUSg5r z7mb}mk5`AXQGsfuUoFU}+jII|GYy_i^^~tC*;>`zD3qufrObSlESLTEA(6o;Sk)FV z%mbNyE59uGs4>WhlQ1P~VtD1Ns-N8@e{=1L;lXjA z9(Ni}?XqR40lN|l#CafN_51(D{n8*C4{Aaan&qkAMdC<~@vO=iFl+)n{%{hZn1hBtiSP0cfB>MGwzvb#hR_3 zQhGYK4!2x>=XQq|b#9xsG+ga|ig&;G-3*q`ud7=S^vwwrW*6l#@}wz_&qU+X8!qh4 zqGi5nOJ8!IT#21uy_oL#o4g{be+ah><{e^QUu%Y*lY*HKl|$#=mPYd<2UqXW8nZLy zYosmCTfhb?aGqxTt-74RectS`C}Dr=C0233D5Zq3aQnazB$g{rS|V-$sESaov{zi4 zB(o`X(CAL*$MEvZ-Q=I+U%G6SyOq$pW`B*$kg`Xm$iHGg$Co~rWLos@gKE(NzDpS^_ynFA`=H(|EwC;Yi@~W1+q>jJkxE5${{!TKmSdD zh%-C~tgsvcPq!}{#gJGD9Jlhpf--R9?qzy_Ki{7HSdQ$i_-z189HHi-@EsGGU$4kG zshWvQlZq77=>z+&%$GVX;~L{_K_~AV`)r-1f*f*l>QMfYt;<;gVKoFm{h+)YFI|b| z&0={n41%Jf)wWt*oRw}Dvkg}s42A_najgZ{2;`~I_~~TDF@@ADJS6m6tDIu#j(M1k1fZV%u9qzvKvqK!? z{*GO{7g+qtrGniycW3Vrxr|)n-|^}6+e6zJ;!;-l%TV4P+P29dv@ZoZqJIEbUm;J? z+N%#pe8hf%bl678CJH$DlXWPv^BI2VMimz~0{(ruAEeh}bNT>k$`BjP%qg~Vms|w+ zYBRWVHcQm^Xi=p6NkgMy(05KtQ|@YYi{+-B5&>wVZs+`vLSA?4%dS4>eI-xC`9g~_ z5yJC?MTdcGd8PuI*=Cs2cezC`ssEjmUhsF~D=0<6aB8Q|L#4}F%UECpAqnVU%c2xt zh%EN%b|8faLqQCC@uj3pUg;0Er~5y;b!D7qV-&3Fwpql1=)4|px8&!1fhXeM=h6xP z%r9i*lc4#N7Eh?kcR1Q8&oJd!He``$T(>`k>jA_;Wf#1q--6IR=>|Mu_pTrO47gWy zGro4x59<%bwvpt5W7%Ik&=L9_SxSe+&c|$w9JGj(&|A`|an{_rEdNc%H~N2`Qy(zXW;>r=^#M}2LR7zqj}`qQ<*=j-4CO|u7RLKXo3W8d zwLL0s;Z8CWVZ@)fwv}LDO9;Q^3E8r->?=sKyMF84qf^baVXssyJU{8_xV2K{O;G=H z(0z*ohF}yPMLPb+3m|OquMDd&<6-KuYj^xPclUGtE(0c;sKeY8MiK zSRMu`R4{vh;RWC(Jr-&HzfAWsNe?BKm+9Em2H@vbDb>H$R!Y{dPRm2;P{(`Bo~5jJ z?|tQpxU!IkdYe7rc9vL}<-70j17-Xj#1EurTFez9G``TQ?q$**sPk;DN*Q;%VV=(- zly-O7oCwX{qIi>fDWn{!j)suu~VxgEi_~AMW-{=^M<3T+7f4 zK?J`xvX(L1@0mn1dSfpCLepqB{)bj9AK;Bhl-;{k8hi$Ym7o93jU+IPkEal7&dVVb8HiZt7GqrN+m!_lT$B<rqj{}W zZ<6a9z!oD>>3rihj)JfcbROpQoWp0!L*5@{%5s{xQ`i7gGDvhh)$7#8} z2G+l{jB{b=4G%gWa(YS=324c#|vRIV~Md4!mcuZ@mwcGwF`wsOJr>oF#R!(oj*qT*ut~G>;iXnMIyvz_sy!Y3@l2`pb@)X@L)ZJewf`g-&yx2@eq=!lXt>;gjyOG zJP_}_ELs&GGtcYh7C){n#n>!=8~a8%^XLmGJZ)Mm@n*7z?Qge)zNL9DHnQ0MUe)!S zi2$Oa7CG-E;45-$yqSm(IAKgohG}{gcHTP$fY;2<<;Z(I`Xt^aZ%=z}nb^-({9zmaGyzubO^wAKqtH?(V@LIf zg)`rKf^=)VUy9HMd(&r1(!YA$vTHE6^_S@M*ri#$1clsY{=?I>hvcgm1ud`--wF=+ zUnO6cS_rh`ypjC1J9`DNUh9Qc{SQQTsT!(1h*c(O1!;}5aC&&OTT;T#04|ly zqU{34D?%#O5!^8JswZ~q5P*i3Ijzrf{QGDSF+13~@h(}!5O7weJFfQuTye~s`l{K_fLgZ64eDl+pkNsz;0DM=J zsee48Rv~sD@^$%rLwT)AhFeD#GsdgK(LE9HAqr)#OnRTuNqEyanK5Y6YaRz~Xry_T z5Ta8A@Z4aM>)r;>@0&HFvFm_kOX5Q$k)(o7W}*1a+Ps(0%NY!7vn2nO6B*q+F#AVb zAlTzS@W{`6__jOEjFB_1w>#lFkTO|xC^6jlogAVU2Y@fBd$@Av5tU#c7apRRb_6_DDOXRyc&tZ#>C zIq6e&2}Ek4%(1a>?L|x!(`f4Lc7MRa5D6yXD0XksN#X5X^GP11Nb7?{575tOJ_VVz zUkZvIKl$-nfU|yoSH-(8J_NV+bcV>wa`}zJYZ$2Z5m6X9OY{@yX3&urd@KzxYACvD zod_lG5K%(f-d#ANqw4_O55xnqHktvLtGs;d1^8XfC%)z{cpDJi5XAi*5Wj=> zgEUWe2utqYz^V5wq(F)aJ9iWpzwrIg;W=h`Sz~d|m4C&W2#oR}SusZ={|zpb`42a1 z5=Lch8QMOlmcR(5&*=$fW&Daq_{A(Gj6A6#>a9iu7NAipkOj!>deQ8L0P*0~uDQTx zUiX;ZLOQ=joy@#id8uJyo9o#Ml(ZfBt}s0C3TA^iuuq@kIE2ZBLra zdz%ypwgKW`)Rh|*UrNpd$CP?X0Ths5!VDdnGZ^DyxppiDJomxrP{83MgVgpJ{3|oi z%6)%$Tx)hhVQy}9#0BU>j5fua0BBtG9|7MecegKlrhW^00~n3g|1b95Ix4ER{TG)K z5Rew>5|u`fu0gsRq(!==yCkI>k?x_pQ$cD7X&F-KmKa9*x6$YMeto|0dtN}{ zr*L-rln%J7xqhKSEM#~M&6rwP@gP@ZdITisPK@!rZ{_r;kDd~_mOhs9%s`WsH01ta zW*lCFB02LR#rfKHZyeGTyP>A3KN3GtKpLoUxwKO8#~uV7sGMjp(Cd0^Q%N+i3^k!t z=nsAOOp4xy+bfjztigrTyPJipJUB|9X5V|Sl%ITlA*N*uQnf3?*g}|u-ssK(Z(1bf)Fx&&7VGHuUXDIJq*;NieX6iOmm`#hzE#wHA|_RcpP>~CH7m2x9C2eli5uzyupq%9nUo)`S8h=iw-%YuuSJm$Ds|}bTRQFO zyLUhnwtWGVm$m9-_mmEw%`3^?ERnSmj)k62i8v;XkXJA<8lq3w(opP`umT-bwx*Oi z;9t32dY9a*U-jQzDj0Zwq&laB$$tj=UBNA1!xlPh8v>SCCw>lQkigS?c z&gTX@@wMdSUds7!H+?-xVfVb^8d?16h|PJg)T|?z=~1DpV5)iTa)gR zaY?n?mex7B=n9YUBC=FK#o4{^+H6QD;XF}8oXCj~DlU(66w}X0d*evimInb?UURIY z7d1ur&cu87Z5hMQI^7FBE9--@mMHtgBR8EO{0DDV>mRKp(EhArRP2<`y6gGs^UlX! zcI&;I-LYK_vjmi@+u2y0(YT3PU$5%|zEBHWEpUl=n7LifZl@KUg-s}ddxIapw7w^) z^Y$4U7tF31&dSVU9a?MtTo>q0^DqcwHNMRgyD!tRo`E(=JrdyY&s5D@3TE;jr1%?M zM#4*^fTh~`K4m!?%%&3=NWNk*B9AAlp1ujgs@C|53tqf_Stjsp<=Hf3Yimv-lK^mj zPj4zx_Vdwk&j_|?R!^PN{+(DKKaK_XO_)iY5lEOvXb%CUp1Wsr?2D3 zK-YtI6e@jaI%* z?_gkgFQ4=q|M;8Tjc|+85J1iDQTW&SepQ}P!5_(PrTNZMYUF614YH|z*&2<-?h9Ds zrmd*w9rhJz?m-L0%nlhAP1#F=UsHal)TWy}``(;`@sB+t^gNlY+m-y3DTR^M;R`FB z*O5M3n3Q|^uj>RSO#$vbgN@~_va8^Wow4fI;<_lN3M2l4Onifu4~L6JkM6FVA{J!*Ow76J{spZDL`0ELuH zPr8RHaXl4A7Il5`Gl(2`J7vEI_C=Z}vSGnOm6JaY0d{um;9a51`sGgNW`iwb_q^49 z#wsNH{XSo3FidBp_LbO~cqZkEH?KOpM=d-Wygt3UCM=j4?z4W^LJ;>7T%%S-)N$#` zKP;;oEyPWu=bV#)7g_N>I-FW~fY1S*T?xVa0N8x~{s>Fc3R!HOslzGV9%& z$K;wv5gw% z8MT`!=o1I(T$@SuPNH%N?x~zh0{#h`##o09@{OW881m0tzW@SVNpT-1wfw%e@QwV8 zk&52LNK>q$5`M(TG5ytm5(nbgcVp473X#IFmJ3n261au6ZN&XH2lZ#Utf`Tw$*)gj zh!4KTbvi~rrV=xy-g*R8FT zsQ&cKH2$pHlnxey((=1dzMWCmB)eE>_zV!M|6X3m>w9pw=`bp#o$HJ9v^ZCQdw4wt zG>nV&3x2Q1q%WMr>Ua@1pJy$$Cu0?0zFrmByFxc)OI>vMI_dtUEa|QtdoRxv<1>oh z2VdLM!aR-mLZf{z>Lz7`cj*c|hH^946@mJH&Bey2imY+2f-=G1EiihY0`&_~E>TsQS(v}^+8q+@tz!klQIZ2o*OR3}fOduL@` z+kDX;DDE{%Q@x&};l_Mx!^aF=j<(BWj-JyRscDn*=00%P0D!zKW2!Vxm*BSpqNKiV zxW;YXdHbkKPsRiZ@26u2VHVZ4xy^HNnGWJhuXgA<%oj^~fg)twx}B*qAbwhnmgcaj zHZrP`bs|OpM-W+yMs)W2Ed1S}Or1u`tS{lU9VN+4Z9)vl>xL@5(PlSARJYI{_}vua zVWOsP;D}s^wR{eVCh*5z(9kT_U|mgO{0srUU&Cs%GJ5zdE9zo6-rY`)=)it$ z&SuI{IoV;}W{)QSj)zOJWn%v~qker>pR*PCTeIG4TBF71d+=AQ_PuqGBmj;!PVq*j zy=Ad_P>$f4Mg}Y?l--4TcWRH=(y?4b^kyjc?xt0uSn6VEDcLspMsW#NPv5T`wryz+ zE}=>RR@NDTn)f6#&-ra15w|{?bJvqs4Cz8^kn`fUXQT_9H~||{R8U_EsK}vm3UI`r z_cG5)e5$`pMLpSklxx=4dFo`NGC+2oQqjE@U;pFRb1%I zvaI#=z;b#+6fOR6La-Dc(g0PiXBu6(-;`1OhXnPBeKonBfPy-H@LmmKl7qUIte!~yRO zm)LdPans#bm+KFifMhU?(mg<4Zo;{3rz6p5E69VHB9BR8!lSm%MqeePwIh4F$p3n; zzNg(Yw~T-(>)zgyfFEC{i|5YX*;ux`Mefx`nqBK!QP;;|sjL!yO~O1x&bpg|mH1=s=ShDS%+25D(B)BSJC(y=MULt)aJt-&@)&zH z>|tT9YGCvJbbAK<8qLz_EV4ktC5W^|J$^?8#Y?ZtN2z*BHfy*kEzlY-AVb%jiR^1S zGJG;g{z6!I+#)h?=*bubS%boUc{%+l5WtU{o@JGu;pC}antwlWkRx9c=Kzna%Tsap z9Q?`LI{O#sz;lP)J~D>aNc}XcjX}{Arsw zP=SW=lMVI|7Qt!Mx$bqUC921xky=-LF?hxtOmkJcX+Me2q32*>e=s9_?fM8M8{WH_ zdO>DOj&yJ`cEkt?GSjHEEG!&wqG|6xI*i2D=r_tuqY-SM+}qddH8<~dJ)1lrclkOx z!~Xs5z8%J#G>3rE-1bQ#pGed?nrx*V2L~#{SyO0@S#q5sQ&i$a|y7foh)e17u zOUm&BQ&sd0+5jQa)B2gSdL_JwzyFLNP}_?qkzO6dkih%^YumWLsW8D+zA6|TTLjEA z6y|9>-y^6}YVNb$YNVZi6Y z@gwb1-+onC>u!VEIbu8%jTIWz3LQzJ}l`>I(6r- zBwqLJqmn|u?@|eB({Rx$ZNs-Sx%<`^E0TeZYuyp#QTGW4?$usdjko6MzVbk!*M4B& zRq5_BhW;XeEY{-fGG&2H_1;MAAklNxeA$)cLlX>X7(>ua|Ci@QQRAZy+ikc}Ple@Y zA1q!qD<@R|9jAceeIT~04M*a^|Ir;1=tP7QN%U0R`q*oI1;!2(9UQJkla|6`6Rl3V zLot_7L~f4^8qFrv@2%pZ);Q_zr$8SG=oAjky-ZB~e%dfpZFscsR!$(+Qw0WeW9!bX zMxoDvn4-%1r1bSZRAGAbVXjYgiiv*{pnKu#v%gF{PQ&-nF zQ&->}^?cP24cnJ^lz_%fH+?8;E%cvVjY9`hWIqP)KYXu&nKoMa(4JDa-BL4x?QS;O zNNCt92D%J>x|37A*_)&nZGH1*UsAvBoA9sh=kuFf`v+9pocquxB`R8~Gt$7UOn^mz zj@+D4LWTIBOdS011*c7qIl{d5{4-t@}iU~x@C;r&?_h9Ld(&_FQ&2})7TVE%nY z41Zw3{;P>$iQ*5eJq=t6i(ZS%7%RCI(;qRhY`ozfvw?Xg3Piy>sQEkLk;{H?nk}}{!>+2C;hN#e#k1~FIE_@`()$OC{?kKi)ag7 z9&fkkfJbhyIC*d8E46xoxrU5=7dNVZcQ4@S`4JMld5X5xN_IqR)tNM<7KojVn_V+6 zZ#otFlZgXQ7WIzBgm#W*j?5AGiAKw>8z*TIVRpIs>64AO|1ULXp1z?Y@K&PJ^&_Qz8M-ajo@k z4c%Yo|Gdh7ZKd!KcvgKc$8TFqWi{T2F_TuiZ2N^pfPgU26%RX%@S~8FRT8i4*xWaE zKv_100NwoNIHt+ye~=EuLh}mfe63fX$Gup?sIQ{nTYL4kDfzTfl+bIl`+gxcK zNd0wY-;*EUMeuw$ffu78WNMvdT_Y~F0!*RpY5ntzABg8C?)kZmlkcnmMXFd(M%d7y z9Ii{d5V->_3xRf%ZUB`ze8PA^Kd$XRC-Y*x{Bmq}in!Y8V|gR4)482V(_Xb@T=Jr^ zeT^~FPs{N?wnel{npqU~2BH?zImTOj1B`#QG6Io%=n&(>M42(11jvEzzZ){g-*onM*U`t)W3jJW`kqzHD9 zk^jZX&yjKDFQ*<^8GmhIyy^d0u6DQzp?y?40<23&j6VT7x&j>$90~ueI2)t+6FW8x z0L6I5AGhX1B-QEw^$CYE3qV}0** zed8t@`X?VM3*d}LSe&ds3S<8BaDM*VlzJojg4bk%|6XhU>!Ux21kT9IUJLr85#6{W zt~Y&BTh=pkAN|mE|3&owJ#y@7x53&-O>dFY#CVxA&q zqfac#%}@ay2Amt0Kh_+|_TobZ?02iZu}y)L{_E?U-On!h`T9dli#DY|Or<@gTDjh4 z(JWn+iLrxhy1Z76!JyBTl;_o1>1Ur>YuyhUUStvNrMfLTVT40wPj4?{9Q-c?|6d=x z4*~fZK6nI(+Q`O4a)nN0M%(R@1{7nVLF|Nm^Y*z|wgpAkF53jx+{U?VDFrm!)2p8p zV1=%*V%u%CPRhwd2do3FrxSpj7HmFv-hN3* zSVp$6hVj%ENdf7VQ0QJr(GkK_56~YcvdI+kkPi9!lv9`T2v5swbIHrEeH`KaKIS3M zAMmTcF`l1ovrVthcAUu5vQQz-2Gh|`hz_FoVD%i^c@pu}#NO0XQ?E^C-+_yd{4b*_ zo|nh8atw5U$R$YE^{67~JlE*0_F2Cp1TyNJGWB@8vGGoHL~bq~mD2AW0WvW==x<)V=zQBryRd`a7;Px` z@Sb-~ue%64+fs1!xnaITP(<&GF-;2D|0wA(e2B5uts5dZ2RQ2=TON^1_+<%p*~bWa zM08PrEJ=3Ev6~}~kw_v8FlfIYU9wIOEE^?}-M#9rlXs@t;Lf!niLziTmC->OH@nSw z7%rOQ`~;aWb&I7KBM4}4dmx2My+)<-`2pX(^<`AQ+Xx^f=1BCj|$ zG44@7KiBWZa3hqC^AbjmCF+F3=SAs9o|FS|Dp{btAc;7O(HD6y*Hy!c+qFSxTRNT- zXtm}vk3^U}*F>%{6zkmN$x+p8-iBQn)@I|)zW>;551PJRjq;t4eY}nGp^@?s#@mN2 zScyj>_wQl?GedS?ZdQqx4cY$neL;J7UF;4qUXkw9kJNn_LG!UW4yVtOkOKN^L{_C@ z!`KN%S;O6gG>Vm^Uh}8~Di6@;kMIwg9Aog1vwI0IxKsTb?b+9ihzvcx5f37~JVt}2vqiMi zs7EP+7p353O{3f>9WG|W1P^j-!&+SOqUexsw*t^C6GJVwys|v}-tkd_0}WNz1K6Na zMA-rnJ}b8$g|ekRlY>f4ghv(ugf)4L2g@-#tG-{quD9~UVhiDZPl(@EK=(u{F5KCT zqkyj@h=C(`Q&RuFeu1I!G+LJtR|FMb{H=*e|8v&cXKKo@NJk?P36s!@X72LV1Po09i4_J9%gx4*VWhBYdFd4$0#f5Y7tqEwiu18jTS zh7Gtqjx6S+CuS}&aBNRfku;qyb0l27(R>v7MT}hOmlWmt%w2<=58`W3~-iR#O{AEAG zZ-p{lPbU3$wDH#J#(5JXj=>v#&_275YD5raMCa#sn)eH_uz?I4niv(-|NYtLr(g_< zrWc>@Vww{v*FRKX2@xvidOmZ9#`K-w`@K%3(&s`DN9@-r21r2USBE&>|NVqNH546j zAr$B7w@$YHj9d4*Bv_@J@B_C*Y|m739A2%!(#pK9iHbi<#E3 zowCWet|zedyd0A#;7@w%!5;D@Ee_8X6^`Xxr$06>?Dy{^np@~6Na@G@P zeHA_>k^(H%I>W720twP$cXZl!G=w&RUqT6iy!T(QwN@Jl1uqy4QdO)->Buh1~zp6UVH{Ka(Llhf0C?ddCOj^X=O@ugPH zTykTw1+t{YO(@v$Re__ymg(LA%>ju`UwGZX_q)n_&za7lMm6VHTPkRGx zK@1T!vS z8(d*#DQ433X4*a6T(yY!sNTnmd!{8l2quK za3m5#6vjqIzeG-9{~GP^bv}cr;Z}sdyrh;gL(D6O#!>L%y4BZxrplsd< z*vq1~Qq}t`t898Z?y?k6J}AawRUNUN42dlg4Y8~l0Ok_2Fb0^PiI5ulXf`t059XqE zRd_wm<+#PwjGoxg>ZLt%N-cg!+Pyg@K|`)9ha4z&($)Q*E`qb*Z0O63)mStemsr<^ zFrT#f1|Fo!u5b(( zM{fGCJ_MT0&B$4Htq9!<29;TLt#A`baJ7ngbHDYGq~{1Emgo<{wJ1D$h`HRt-Uqii z=5~lN7d&s^YuA&57-(B$b%ZjnT96zN^;}8bM*uVnojS_;+dcXq<(HgHUsydVSk0%V z`!aI-GwwIo0x0n{uGBfngxmqS^-K4A|E*NT((Zm`hTuw=MmX8udD9>ub)Rz4&>AuD zOB!DABMvg%%6@!$=hq}B1$S8tt%n2E9X@7MbvxBCl$Jg+G*x&rhrZn3j%Sf;Tb3g+ zquFWndE+CVG*WbApBqPGUNK-1;x?aGiU=IcCx)aazqTHHn1eM~VL{;XJnH!YpQE9E zaI`+zGLC8UX88bKH`mLWhxtg@7y40FnKo)4280?!_9zW`S$vL;vOSV;F}{Kh9kUafhOVN*eF8@%n$h$MOi;#^nM5;R-?6=5ze#5SAAhF@IPTbd1fzSx%cZl= zpOuM_pDuL=he9#QL(1>_O>;JvN(~zsJJj>}u5eqtd8IvI(|?yFG%>xc=~(z+o@s zmYQ44AjewQM*Bipx!^M%%xlqSvS@8V6fzrVXvm}t4ENMPG1x^pey{K3WKo5NQX$gZ zBOt&j%6a|LE;KAs>6u-&D;ix)4Cu^t&)TIXb*ErBX~uh8*oco*oTFfbMcYxD!>1@S>p0< z{7!JnK_l_u84?}SQ>kQ^jb>EmmEq^amuEusgalNwi?%H9MG%^w#y$Jb5BuZa2-Yks zkd4<}kNyxsm_iKv`rou-*qby5BuGFaqR>Iix>0 zj0Kk}%LSby@i&ybc_bVqN9;d1tWnI*4@x(v_WD0g%?}!ZKtqB*zWnFS5*|RxWHwdw z-%{uWlmGbWn?p0Ph`^xRGTWy4&K3d)bu1ACzaNZSa%Y|^_5j>!#3Eh0rZf^66@{QV zp!xO$gNSBiD_$nUcyF+@)autDTPl=4p@RO4jmCMrCPs}Cx8aqC&4W2poLTw@yA~;R zOW>)_*y!mbeeA&h4aP@+wGuuuz6!(FmPCaWQwMlXK6Wak|E-YXfI49SFO+i^O8iEg zfg>NG2>4)IZqv1=i0sD0AE!(F?((d-Jml$*eI;}!PBQLdV2$N#Ht&g)k$hiioOhrT z5?_DW8~jyNt|!y0QW{yP>_WDRv_G>Zz0sdBj^N0en)s@ z0c}9aazjFTsQ&{%WiHdof}2x#(H8AfGz8LXJX^DnZAbrD@Bo{ z+j`ZCxu-7re=2A>vR5Tmpt1rtSMq9cs~6h^`6j~&58e039?|?(8=<*H`3?A}-!6@! zt9d8;+*~P}v=HFmCJv3@sKqkQFu&$cMxqG6Wn8~mq56`n`VWphRlPc%nh|AC#d#SINt#H|af*M{=vIoRt# z0Z3S;JprHDt-h9e9pTklf9ydemMrln`pfSC#R(f6srU^04|p(*8sI@p^#QTp+6J7y zhXAsY|2>CL{W-Go10X8=w=75H=lA~>M7=M&@OuGo zmCIV}Bgb>*(SIF)XgpNS)qJb~_w)GJP`El0dVdozN^^@e&^s zy>#}}W0)4q;^JlpSWoLxneh*md^sVT8mP?tSY}iYB4_hk;rie39_|Y|XO@PC#ug`r zL8gz6wFGA^WW5-1O_f?!+OvMI(?PB`9@-ngSQ}=G~FYSq+QhLB{(7q&uY(wOEksB6g!8}wI2!8r~MwKx+Q>gy~4!yA`$_} zctf}3`c0t#kA*ONcHfWan>hLkrV%z^S=v9q@1V}_h|Q=IJ&&?c|3H%r1Bl2an8D-^ zkbyBi0GiK(v3F`d6fI6mSZW|!qZ+L4?gEigU0u^xjHU5W$qSXj6&5~#e7C%+ zIom2+fa8x2bNH%PoSWzurW9g^><|0`YsJsh|8EzxQJ#vEQ%^-@jPB!^mF2ti zX}R?x;&Db_0mgYg^&|yyh5@^4-I!$4o#a_)a`Y=M2*k747e0YXeS*}=B$A zTe__g>YdrjQI?3aU6a@Zwzsv-ZOIGFnx+;F^4zLu?q17Q-;HHn-k^Fu{KT3|Z+TO4 zJqmduLr9_)`!8G2stFR5D}FsUQR_6W34y;{=Y;v3OxFZ;a%I1IX9G&(WShE56MU+` znQ4a4l8UtcwCdcahjZw@fB8mS-Bc%S1t%2;*DAo6tKT%SlR@ck$W6#k=}3#h&x23X`-7M7dq4Kw9QIWgpvh zoq@rw)8exF>`GoLmt&6;Kc0_xO#F8e zrCGQ5P2di&Q~k$PO!Ik=$I7AED1!)bP51@a@8uznQ#-hQ*~*zatbOKN6RJ-|jZ2Ok z+qiPc#@(BeEmSKqGwTKFZWV4+p9YY(@C>F=#8Hj z?1z8$;wflLKJb5graxa|`LK-(Luk3=l#`PddXcevzIG(PUxH1g=biur5mZDFR2cdU z&NJIKM~D}7yqO8_Q@t0tIy`3dtX;#Re6Dlmgl=!5T7-chiiYXw-eA3eYZY2QCN+Z3 zChVsKMn!P&?4%aPM*QsE`Tl*tEn-Cs9*@uu2LZQEG2k4OD{Pm;MRy_l)x^GiPEHrE zLQi;JPa+Ycc=L1@7))Vjt&9)X8xUg$JQqxOxlfIKL|)1+qbik3{Mk~ZB0Xl3pc8t# z1#0E;`o-+6&rXrKx41c;503>indoE|`dqI+PV+mvtbIO8qf!dqv{EkFpR_6vPF>LK z=q)}_Wfa#!UD!epJ4dJtc)_Fd-1_{y%2{h|u~5FkB+2aZ+<6Kvm+f=~-%siI8aSw9 z{{c^FMBhs;$;(|P_@s?>icrom+|T@!YdS@>GHsQNHnRP!Q%SHi z``J!+o|Ci+wiWmlztP8AgfFf3XIpLWG;xen`Ic#mEXh18)_tQG`@N(HFEgfC5a{eC zdYP8O(Ijmc{>1~i_1RL2=1E_$O>!M}-z4hl*1ja<;d^33zqhXuO7frEyhf}eD27?{ z!OT+WbZU?>w6%y$v{CL(Id2@e&N1E&R=80n`j2CrorA5hUp=pQZP;cR0^7QGm%_3N zcunMRzypnvmn&0Ir6nQ8-k@$%aop5IiRyCe*f#Ph>|(Gl++|m7=J0xHvO^3Kt{6NZ z3RgS$Fj^@4i$Qm5@cV*j2}5W)ql!U7Fu2$FB^%AgG>~s1o{n|sGi%4C<9mw-TSezt zAYXKblmmmT4&>tfp$d~r#~x3*Fd}>HR0oF70^z#p%jP|iT{CP`vSEDBdpK%zQDuXm zOuLqx%epO}T5BznOw`G}vy9swSlL4Ip6Gj2EN#__7Y z3-t&co5y}-F1t}sDC^N;q0Mx&cTIXJOsz%@QE1fY zIlF=TCb=X^M@F|qxfoH3%2-P^u^cMjDNRj=RhMxYnucgFRxzL0xO%F}X#fpza&zrfSZP((|*k=xn+ zcw_`wvPaI?;0_&61=AtnoL#}PB-IsA=QIi*Y&MU%r6kH%Gsx;3!|`S~9%yoI+kO|V zd#%TtBs5)=Wo44F3I2YX=&j!*5-ysqXb|c&BN@_v#2UXj`Okz$_s6j+_K#m$Nq2+* z@6({xSy6M!DSbDqVyVXbWpk*|`xmLDT0%saN3tZUO<}-cO8~9=r>=U*RZp$?Y6Qsw zE^l^EbPvr^KccEBWt`oVm}~`V@jzeiwwr^h1u3E}?tOkinc1T;)srk248+8r=yU0% zzw14U#8rdLBwQpb*?ksj2g%GxAibmRqX(6cNggw+4+?J)bN+P@SvA1DhO-DlKpOrm z0S$dAj&Gn4-wMp+9E8EFH5TB}ypc`4oSti3z0&ZQ(-fD$MxQKHk`d_)NA78BGMKvX z_VVT8r9sD|4PitN^g%rr-FrUvDin=1)e*k${Ipp$2M#Fw z-`G*cP+s!@UB32-RXlzqDqr04FQO!i`=OjgMe}XK*~g4FG=OFcjb5jQj7YT^5C7p9 zFy3T^v*pNzm_NC$xXk$Sh;TfIyYtg4fOf~>Na>OwMgM4FVR}jyVHWtjzO+8Evf@Y% zJqAJr&fC8tEr^yC_vQKg{ooj2^<;fF+JS=H5lk>0cP-2IWqM(VJ{_C;3H7Oqd~NHo zn%<2R-i}(JkK97(&q*0-E6#Mf{c9NI4hsmR_lmz}o<8D5Krq06%YGi?RrBzjA2j5)&*FPGX<1gU z5J)0=3=m%;YNwI`QBfk!!h8Ccp0rq(-@gwTY8IV7t4fdCCtMNOFk@o(a7bUDwn;1uT(bm** zjD>)#`?&IAd;DRSqdOW^p><5O`|>MY_C^u< zS31Pr)Y24g0_@jB(54)V=k%v;9vpfDhxyOq;>K4XnZq*8lcI<=+6kkkN)9UkkGreK9jOox^GUa)2<< zz*uZjPoF3vE(3lWC*Z$LXV_8MAJFGq`OfX`F|eDOn`e}-1C#pSs_~l-kn`N9H1gOm z_5Xqom+GE^XfsZ+*fEOu16G;>uUN9v3VDL5&cYEJGGsH*KX`!ER$$aIq2U zbg6CN784_PE^^Aap0L$riPqaiqd>GAVxe&wUP%Ztd`j!WlT+5s;6 z=6Er|nNoAy2q<~IVA!%D;RrFE_AiNlKTjaNJHM^CD@65eZl&#Tq(D|%(HBSr$lxlS zcY?>ok#%XaPNvj7ck1obH5S~1w6e>U3-8gQw{l*GdY#M@YjHN@JNY`4IJH)_%6a=w z-i~-0d}>jWfxzjRza}Ykq>H%qx+$fCCW|GFQqwc46Fd#?Hz0j!41LRH(^6tmq6pzY zvXox5ofIgHt^G&h=a4B&16|{~?jJE`DpY?UC)%HhOH{`(#biYbI3#X2u68rp#kX@_ zcUXGBSiLxLir^b>XJ?UooC-W8&)SkUXoub>?b*~u)sV15s3WYcINIryqEL>*|gG>cz37=_%Oe4OD4I6!Bc_O;vXd! zD_U9GG0YBpe9F%lh>|BM>jsXTdDFq3pt9GES{PB5)N^rKL(Uctf~Z~?BOG1n6k~U= z*wE(7;wq843s~?YW<2-?F(6u5O*zk3A0K0PmBClEB(V|cq(xrPags~&ahCDX_G+6O z_pO<8^`vt*5fh9yCyo4M;OD39JARQQ1xhz~GJAv$##ry2%%FX-ux1JH@5;78Zry78 zqT3TW+m7tk^`~)3Ka9p-8z4n|lP5|et!nnpsDNyW0hwm$eToF&o$=#aX&g;&Y*m4G z{V@koE#3ClG$oJ8yb`FGynw`UsXTn^2gT|FC8D|IcS5gO20mLTkL4&=4tnMmX`aL? zP%GW{$4(-P7cWuhhpyV>8|_CPF6jZzzN#~Z>Vs*IN+Os{qNtTj$VVM8N;HPfNWkkYsETw-jN6gp0X?xaT2j5Q)Jn$lj%sy)Ah8Gb zI?r&Psz|BaJOk2<6VH_VHI8{bnNd$|AemE-(vepybrYNs*#3%M3+N5Q0z}dA?va2e z*EggTq?3&b%b~5_5Ba1gPPnFe=YjBx9|bS#woY|phlZU`RLy$4F`#4L@R6}5FRMJL zHI=r&DNaMO>7glPA0HFHOQ~4No3CF6f@E^wwKu@@xEuzw3Dt!Ql zLlhnB9E~dS`pUtK)kceiO>V$I)R-P(ZKJ%=RuKa9na&;eZ*TRuR-=4q)I8>N=oX#r z5fJwX?w=gmD*O6QFx(5*$VeFCH(Cvte%A*Zf@$6PlxnI z$Jh>@C zK`M6;^&hag&e&^x|0sRB9q!@)=^|ap_AKrLoF5Nm?9H&co9SZpUQNE8L$c)#makm`jR)PX&uxmz-JjU#JlA`RdN~u$oY}i}(ir$0z7~V&q7~EY3^F|YoDadbRdU>L5w~>r5f#{8`<DRMK$30MQ4LL-EP8@q#W82eyvZ|E4^SxTJm4lKTgZejJap-B2of4 zD<;0vH#T`?M%uG3#VLI8r4H8KJ>=>;UdNm0THj{Sm1VJu4Dvh|4Ae6y)leU^623A8 zwH@}>urG`DBEULBN+2iIA^hjs`dgp()YtSa4Cm~+0gto`A3V$v!q+8GjC z89I!Xj7Z>^>CsruEDaI&BZ>Eiqle2)Q_6)B(po197&gHbu&R^AaP83Y-q>Wnvx|=p z+!yRP&tVDJJYM#Wq!1=fg}}@<$BNpQGbH`Pd&)!97UUZ zZO}_9G?<}YwP`h2p-@Y1s1Z?7KWL{wXL z;^%+?X8l;uhZI0_LUg0ONA>G|KYcd32^OE1m3TUmmKL z+a}7M2Wv1T*-lD6(-vz!1ZRC1&qzE_;<`ZJ0yl^~9e-!xi;7oXFtDFlpV%3fqC@Sb z;%R~LD-K^_!T~B$V)>2gnBPBR*gje++C!+bTq@ZoOIV`vRaVSIMXgGE!d-8N(Ry^C ztaUYHfhFSYXR@$A(xAQ}h={g9U1_3OD!^;o0G_eQ9BNmHrlChd08E@LLWxQHkmU8= zoA&Y20cU501c};W_H)q+uR?j?OUU7K_53&}iY|EUr zu-J51?3A)m+$arsr&n?!C`1`=4fl4w0;*S+L6@KB!$B@9v5T9wc^ey2p=x*j| zfHFJKZtj-}K4@qNtcT8?L7K|CM}`BPJrU~aA{jbd>hPdDrjx9mkTAF}_?^Jy;?)S@ z5&oJMX?ahFN&E}tb2mxyun|*JZy^Lu;nj%8p8(u;V;sB=O*!11CKPNwhF-U0a=+9x z=lGTQJklVzA5Mbs{Rg9)js!q?$)OExEF6Rm|Tt|$}a?cC#;z!x~)>x zGB6=V-BH`)`L_98#66jLF#u(g_V@FdVx!&cd@M7xd>xy8y7lMEfgy~^#R!;|J)O`GKanR0& zJ9LOdDRo<2WD~%9`4W?ONd;iK9-tXf`-3{Z{WY#t2Qq#_TUX-Nk85Og(Xh&Plxxqz zXY00#pOcChl-_@f_qK%YM3i_IuKi}gUs?ZX@p7s>NU`!<0z3@)S8!2qX_Bx=n7q30*Y%+vNN?cOkk2_0u}zXXb9XGOs883gZc@?N+nr#KzhK|mT;0^ z7C>c!M%JPhivw4O!&>^shy&B3xD8{=MmtrQPkjbIg31WmghpG(RGE;9xeotAKRMNtv6HVERRBXbYYg4n6 zf;KuM}nEqhfx|NY$}=NjK9k01|tYmR`DpGI!3$V?n(fBg)TI;Dw7n%3*T`wKe;SE*WJN>P zTNpqj@;cZ0#2GgAjctBs^(U()fTI&~nO1Y`R$rwyYYpDz8VrHzoUKvda+%DztD>Z^ zLl1;zw~V)ax!($^_rLwS7J$|CwsXdnj6+-qI@siN^6+A7T@L=JAuLxNQ=oL_DeAAB zr281Cf_i3Md?=5weaSl6?x)Uxr*yuS4ywTYWY9_0lfXhq1$Z5~z9YH zy2mgOEd#L4S%zF)L6=|SvkyNBqNHw~&D*W7)WPpUk6*1UJLgR!otW{YDq`+ilG2pK zs0HO~VS6ILI!Zo}594V}n=#LlBh+aRTwL|i+B6>lP%vM)EsgR4P!1N`E3seOq%gEn zsyF}CXx|XVJndL*JI92p^1|({y(ksNiv*^s36H- z6Y^e%5-2FXbcE=5!k4n7cs+%r+cTzRW|P|iLvZ>HR&?mBvZvu z`sW*@$HCc8IxbB08H-ek+0)U#iJrQ*xU*A5AkGR#BUd8Tov4@yq+O`3NTVz|dt>Lr{fb4RK^0Okq zfIJ8AR)LexPYr<}$Lhi?!`f#ePmWD=ursmG9s8DZv zwSUx0Q#=6XT_iw6wN>@SDWD?KBY@e*Ur`6tgk#nwA)+l#sG?LN5Db<%cqwi?zrH*7 z39(qLvj(O8VzX2(6_A*j+&qKr9h3=%IS7diw4^FDQwmm0=P)<@`HT;k=C2L!tRSE7 zt^5^%g07A6#-~aFO9&j9hFc@bVba?jmYHRg5?Em0^Yz!QPrF#EpDY+)ebgm#F8+H6Mf!i23EV3%1%8u8_iHB84Y6*5Qb zi{oYoKKFj^6esKgJkdqNRn>sTGrKp+6>O;Ta5)_nRhGGWlo+@SD30dxk% z;ih$iAJGR4wTLm=4G43AmDAa}B$`Q-NJ)X8&SYr$xVKsIdj<&YUSIK(I_(+^7s=OE z{epc1`sj$~Q&!-;gZJ0qSFge7lP!2Mechfs#j&##v#KG|(c?x?sQb0vIqz@ z0d@T8n%1;wHcJ%zmfLKqQ>KSOd4%H;tSDDio8Y29#pNM+7yR2y+wJryjPALQSVnce4-&TMa5v??w8o^ zB;yuhpk2lBZe)fr4>4y74ZkKUD%>V0xYYZks}#S>qfX~*>}Jf|^(AUNUeZXG zIzAzu+fi0{TB2YR$;t-mO73aF?P~=(blN7kj)uw)Vhk>8->+yMH9F@TI2yB08yiK5 z-(WCR#+qnaF7f}dyH|{Yq=Z}~&h%_FY`WLM4eU1hAehc-?^Pc0#-2+D1;))>bl>;* z-crN|SD;a|X19^~yMz!1B}5}mI^0M8(U_XKsb}YYmdT(^As1Z_imtiF1hPWH?Pd4u zHXual$#LUPm^8&i2uC`aWrS0!Pva@s*=nhpMcS>|5AQog6hk&9IM}AF6*rfDhu=V+ zEid^U0M64p#k*&FN>_qmkddt!IGKm#xji<`)IaryKF0_=L7t4927rDP_l~5a(h2~2zZDY3s zKL%nkUM+tr^nNL<3nQ|!^9Sx(ZYmxn<}Sk3&)NS*@u7qPpqlLlY-<}l14LXYZ7^tB zls=gx-edyU8=sH$jkB$dJ4&&SEds#oq%SsnS?=MWC7YmZqO{E#TJ9dUdm_M5gYmHk z_E-Z-`j|=8y^yu&PaR=rlTLUG>YS#kzdALw_QANd@<79Ck?DI!R@ z>%B-DGT}M7;se?E8P2-u8R~zulfQA+#ObiZW|L3z_YHe()b>-X#Z$h#lo`ycR!c!{ zdYC#4liJ^#8rcj;J(+xxNxbWdwz(|V`aLrjS#%$|we?i>lE^+6yc!3hu+IWwbP{OQV0$4={~RDmY^rJG`{zygo{ayYB5vgSZgr~nt-dVv!o~!1J3ub5sJNffGO~#^xGbLPh^ne`=@v{PkIq415MPs{Wo8eUuIO6%3 z|Ek*rGC%(7peG<`P>{95=s=Vi{6aE&d_Vi-)t2L~g-ie@{C&0ANXcWi#?K9WnR7KP zsxQN5m){Y>3pXp@qrFLe!@c)V3*iGF+v^N_?0AO1yk+dRpb&WI;p!F14QD$9-Gi7{&(j;n|wO;iE-?et#bm&Q{DGj)o! z@~af}`fWeY)-`SdW0KsDnwtuKyslKmhrsDt znbssB4Y+`%)T{W|n0dGBN7()%6*|&bsDz+#sl*?K0lxl)yZi02spc8~^3g;Ek1Bw} z+-fF2)f@SJ9w2)L5GevRCsSzY&9`RmmxrsTGs!jw7oz|YZ?zqxHa_U-jo~w2-}8>M zlss)MpHe0kGmsJ!%XAe8o6=xGKG^XIUbLBG&g33`?G&AY(chZUBG?iwF6>d>?_T)U z+2Y~gKxvleU++Q0S^%9lukE{F#2Lv{&E)iHl#>ptsE=f7ad`}A*VK3*WGO)h(!hwo z6E9Kf%FmNN`@Pze^~O0eOdaJEh2^6h9X zbDNWF*L!?V9@(tVGOgOg8PceC87oFVUUIX#bRXD!8-J1ogKvJ+uV%siAgX+)B1AO~2WV|n|%zZ}`r?lr9oREqkImjPSnCPxtoXd%^!356c(q3*;N62Ts28V5k zpes8C+3j{gu!--UX64M;npukOVA9Avm@t=7K|Gy=hmNNtq7-WCU7Lx}E>h>5|6H_O zK5yi%?R$O}Xj%y0ltF4P!fUn?S!8n`OPrl?7-Wf7UMBI9Y!Nq21cd zasE$hz-i<4!l#NECV9T%oDNw|nTjP7oaU=#lrTbJ{L584s(m5+A@!K8z3@3Im0Zi9 zZ+#il2BPA%&5jhMqD*w0B4(rg<*SI1V{A8P6cv+nUb5iDSYhG%q-ya)F?C}~V>PNi zP{oEEk?f-*>t~6Zc0wR4^J*DuMq0o6`SiI5$uB481KUWa)l&Yw5TKAgMKN9n?f3+5 z0phaMXOmb8zIclB!&!38THVYFQK%I$6sQML#{50!1ll~Tuukw*1FhZ4``>b!<2`W- zj3m*u3xe7Z?E)IoMN`Ff7EoeKZ7BtIid%={Z`m-oWw!X6&!A1IQHpQc+XeOxNZB;o z)ga2>l}{_>ay=Cs*d8`m1oS>sbD)!OP&rVnOJ+wyldHa@)8#bLhQExBt;{|0sBDBr zR5^VD^Y%)B8t3HXg?Xw&Z7!dltDi)Z=1CNfc}WLcXlB*5u5<+WN27yFanmgV>*%lP{6YvYV)|Y7>YieBA?rrYp(d0S z0q+b44}ZVt;u9r0k$t)U>D4wma$_E{UNY-T)stiYDPsHdwi*cszGvUKl`+7`w<_=1 zZ=?0295xK|yCOWf+t1`>P|)8kA@&4Hq%C`E;aR|d*b~!D2$KB{EUq*Y zHo^Zq{990(;tLuIjK6}6qaCr>3B`0CDN|NZRZ{{0PrL0WTIP=hHJ>Zpz=x9{@@mF$ z>1sAr|MlvUt8hd|+|)+se^MvWJD^Km@rAbapg#Bmzql4EY7VNhEL%aCDAaQX~fB*I@*_|DvKurYHN{IUz61MYv>RQdlHej5EEypDB~ z;Yp6HyGXrYQ`7&{Z}yyzXw?10o0A0a8NowuC|y3Pi5 zpts0~RE-7mY0HQdNudW;oLG<+)Zgbx9Dk532-pbAX8|pYnYGX}+f613qh~!OD_}60 zTFhNbY5daxfLIx_Or?ih7 z04Sg%d(jb~Qo57u{F__E3K^#}c4^2BY&!P7nk|s#`kz;&K{-7h`ZWM`*|bS#_h8>p zSU5JOV)_Cr>Q9-{h6${o-METRqv8_a@98cp(f(L6QF;sFT=c7g+x0-(BrF$oE4fYj z^7DZQ>6O1O6mRAK3Zh@EisB)1NzOf+uVR5UR46_S(Z_p?#JnYKX+A61L1>v$ij{Ed{@rIhvPX+^LD=TauMUCC znV(I%+~d$FxbpBmauiX4Nhg-PlMMo+r0A|Q6&eN3%&cFGVW>*_nF5p$V0y~Nk>Bn^74A!@)ywbrsg5i{HI>aDrEnP=+~Hm2cN8yFnq)s z7t#Z8;opeuT?1gD$q%tR2dD@4!@J_|uZ6MgC$2eYr0}MeMc@q;EWrhCbUo6a7^DBJ znpB<2;qdod2K+cih`edezj}!tLf7reO4L@u;N!q5HKIhXfb6}FbBPclaD}Rp}wepu6EieEt zqL9{#*a0Q`+4jV!6S^V&?r@C3^4BCQ(96o!3#R%{k*y#fbD|yaeMbpXgntWD9vOnz z>8aNWSxZ=C+IrmHyMy3Wixn&9HBYyF*c@u%lNc^sv+aF0}*8lA_3)bMF&GEEahVZ~c z|Kz%I1)@s!52Nk@C1A5Q)dy;AX4#{IVc1p(m*a+Y*0?hS&KP;i=J%&3qdwhJfo9#o zL?_!N;P@|#`1{8I0#Mqu2YY{3nE*ro5N|XhpjLdXI5d{fD5mXfrV|_CPme)MTcZ=1 z*6{!19j$->x9<4RH0a3xZ)^MeSD`+e>%plc&m&TGH5+!Wn^K4^t}=Ktedh5S>0GK`mZ0SVK6oHjBu_{dA^TS`W&^y= zHaq``2}&Rn7oC@ZT_^u&VJ)rF3rx6AlRO33RUv@s z0f<&#HSoW3*Sy^;+RNqt%j|1FSzH>-V0!CyP+QHc1K-zNqbbURMCpNM&>D&2fhk_X zw+RXs&Wr+n&JK?V|5JK`F?us~uYq?X#J{Q%LUQ1O`4KoVK-F`yFg_yiyH@$_iJb|@p)KKD;l;A#hcZjX)MgDGMNhyv16lXX`XE)E@(IE7#}kD`}+j27*8=7 zxOMgXp{57m0OB$BHQFlWnw^MIW2VfNa_f=TdgexqNp6A+Rp-Bqb+TgxeE(0!L46=o4#gd%NToHl_3k`C4>; z*GDJKgdX$=yl4mW#ADWA=73K-@TEudXl2YSZk&_9^pfriYSs*aj)VScKk=nt1-W;Mcs zxLSxv-&6GdFVjvz8{L=NESblN0dMJP8F!J-B`Ph?OiLxuk+l4r0>AibZDANCQcXX= zIAWwy@g2oUeA!>6^};#iC0>DnFc+6op1|Hk^xI(Uuea=f0~d|1m}rQL+TKM#WIhXv zn!NsPXNLtv2xjn2;vxJaO>vq#8c^=TDz85=zYc!-K*C+j?r zdR*~?UfRibpk8{&`e$1Plm(UXBti3r40=!f@9|^b0+9>?Uy7vRI(Z!Mv8!CE+`PsT zTqCgK^B4lx>FeT8Rvg95Ba|5#8ChNl7FK}68&s}(vt_C(Q|PxYzsWJ++Vfd+4@3=a zxA}u$muI77OvzW_f@ek%^q}LJzzuhIDL+0?qXDGm?SDOz&X_A{EVXn#RZSKDugAHo zllcb(bjIdk;qMee=5ptA@0FU%{zE`}%2M9*QO#xy&YU^!cZC`QIZogHdumW-9e1V) zwNab%JoPw|L>VWaLrDM&DSI{^3lfW)TpTjM|Lq?#-vg*kfpm7ouRr|~bv30@eA1AG z8Y9E!Z}t%U(hXyZldH)4fa4lU3~x8$2AxwUBO}8=m8v37fV(^=+h1$ zH7`>GPF?=&T2b|Iq8{Cc~YInA2jufQ6c45$_>ArscYK+_}t1dt*O(RMGv_i=Wq|} z{vAN<1N;FFi#PRv4Eu&sn`hLQs63&#&6`+MMd#^rdYk^REeWHy)*2x#uX6;?%7>;E zE1t;Z>{LygUPhyDAsP@$y>FjBMC=^gR7VZA;UeEiI>HnzBHn1Wdpd1;Ur7VA^e#1% zQ8S`g9s}*hN?tGZE<@G$Y?gAxxX_Lqc<$n&Ibzk-IJx86MiZ;Yg~*D(Cm7+wzITH5 zpazm{GS9Lp1X7{N@3^yoi-ss20mufYj!z?iM#|Lt$#k?(gWdndrW*>Nl7I%uX+^MQ zei*@`jY8g3gO*<2FvBlsoYB!oO{{c3HIh;(huwegXi$znl~D|+ee`i*eJeB-QyEUU z1u<_%o{e|OFP~g;hvEj766y>x624Rz8q{&x8qS@#o^-g4Hd!a3tDUrx4akFF7{NZ0 zCr9}!82mE;pouRIJhpTq=xh17C$wB>-{N{i!uKOY-Ey|txok_5g-Crhq-RNu4-0vf zu8dplxNv=MD>neU4z}<@IP2@s5d{Jcnqj!l#;+u`D;N+P>s((bZw5UF)2v)W%F&PY z|GA6){s1{m_CiBr!83fN7=MOoI}WGM9H$erf}XF`z2tKoF)n2wyHyLQx9KU?Kb*?3 zWS(6{e>Viz?V~4Pa&z)m&>$L6bZ$V5yImK1E3FYmsmRww)|1TlRjG^&7Z$i{01i#>i9 zEed$_Y-&coj;e+Ab!sZJu#~kYRF9^W%Z?)#a_$oyDEW6W1SJ5`WQG>|uKt3ib>+-# zhX0g)zy8$?DM=fS+Cu@KTbhhH&#Ue9@9SPzBx{^s6bkLEn~wZ%X9-Pc)$Pqh?a}o0P_%- zI}P&Z%V&V-c;;HlJS46J-TD+Hw=~1BI}(1rKP^R3-GEat%ZIKV`YZX%LP8WRN9dR4 zpB7DTO4_k>gpuvhqc!~cpZ|EJ2dFCs!$?+dsbdG!aj-d>&#S<2z@k0$oFHXDF}p0o zP3SV7U~9}Ovv^pLe>8T@41r$r!~WU#b_o$oWJZZNn^Qb(ZDFZf0@3<#S?X;=l^7o1 zyNs7|#+4qIOP~|B4AK-TFI4yL3=Xz2raEypLN%|)Q{%H0hrCs8|8N2LOpod7sS}BAF=g+3hr_N}9 zH@nVc;Pc{QJ`i6N>2IFALf(j_^?$) z$V<#TEucsk^BG^X5UXs6&vuC0{#O+UJqLVR6T>tD*+tNFE1LgtmBbL z=e|uq!jt1r>&4Q2dumjx{kmsJxclWP;A>@x_Xp#)(>0Cmal#?+^BsA&Sa8&Tc$Hl= zDw(Qa|JOgd0fZ1BejloTy8A0;@(`(WXv~iH9qyQrJt+21{x3Yy&5l~?5C96{l8jp{ z;Py=$Lw$BF0uN~`X7eh6yeBLfCru05yz{8((9bt`xxvvi6kheZiq?FHr3WC?Ts*~- zlkk{1pZ15xLiPKVj+VIy=9Jupx7IbV5pA4E;wp60Av0l@*`x+k>p55 zt6v(j%$TpsA2tw5EBv%IH~O5eh*|BZwl&`l6y~pR-3PkLm8TWfHS>nuKVNX{PpqZI zpU_^K;8X4^;5VjSx*af4o=zF}d4c2lN6aMhhdA?KRi7>)e%X1{b1 ztY`?aPJdAegGVDknQ}HiWEt@c6JZ`jR{ASu^0ojEUyq#2qeP;i`R)((_G5WO%!~bZ zxuhp(3OAV)MX>J@DJUx^P|-2~@)iCfYo;#$itlM(HH*`WO1b4}j8epoQ?hjPZdeST zoBqnhC}1^_k=>XU>wFOQX8y9#!lTcVZlgr{1W5LCoVt`;`$Pa;_~*{LP5cQkmauEo zJIyJ2iPn(1G zx9omHAE+QwCv%HiQf~WOm11!bkoE3=rr0vn;Bxsl?SWSDJqmaedL-~U5wg`-N`Y{@ z!w(8tDS0$RcCsUGLH>XQr^$u$xa0bt9cGPk%g)>T)0g~1bR0P)%Cw}^j(u%j^-r=mq_zrka#yW>3^@0gbqT4 zU7}vcB0-CMTY?<8pA51RvK8<&wul)^I%&}zZ zDry!py#R`JlqzFAQwy^38HoHff=R)Gf(-(5x{VP}(D~eg(0JOu2I~dD3xy}7qa6Xl z;p;tq{*z4F@AfVpm1-)DrL?<02{igFQ=&2`YNIQ2RlL-TSwgfeEF|ws8XI^@5Iw0) zZ9+#95>B&ssTz%zJyiA{%9s*Rdm}AvmD@wa zyjaLI+d|fI2{q`J2&1gBxLliO2Oj7wdkcmMe%*6BGE}5Fxi(Sa!oxajGR_V9lkti? zlYdXDg^_5^r8&0>)jf?k0QhIKEgK-CNq1`Aa^vR`p@(zYpD_aL3=Rgiq?j5*{+>et z?jFwCW{(W&W$yINjg70c0$IfgzJSkK7J(n2&baB+Ef49-t^($8_cz6et>cTfX!P}i zZ>}H$9A^$T%p;7IJ2F7kcp^n>S$GC`tIt;4ea*za2)V$cK@u7md02HM0)|Gqk2>Xp zO_vGtwy40KIkDgEuzguuhjNeOPIjIj2gdKcY^etHxqp`x{-YSzh}8{-sIC9(AzbIx z_V>>RD6CsdyOARBgAdSkKqWm--&w0t)YKZ~;z|=Q3Yc-J+S;FipV}hAYfmk-c@)S8 z`VGfrjQjw>{4mh$2CHYU`EajU+OOsE& z>@V%_t+Lp_M62yoG^)bNne%#q=#v<6z3%7^Pzza(RaXyK?f5!s$Cpalc&Kc(3OO0d z)|V;1L;rrJ_`tfdO<#GX8LsE$&a+aijTPJgE782l%mEe#M1GL z<{Oj%2MpKxjs|R|pG93p&QUD`$^LR_yh>m$X!pUkVD-iFJQUFcC2Luq7Q6?4e%F|L z21iyo+T%L#T$-u47)qWyS0$sYQ&(gmRpivsWb=TFIQ)842i=*>-D!^a)Jis7*9_{P zQIb5W`FWr18k!yHUAH@m+kXAkN- z%{QvZ@lBRtj|DRkI$3CGhJ~4;Cl(S;?vj6z!omSUTe z6DyFhHw!DDOIsiAOoK?X$?m*;)DKorD5fC=N@BgmoAt|9TU);;vVNQ)K-5-DEhT8Utb8EqYZIXsiw9Z;e)TU8&Wm$`H) zel(urN^xt46^&b!bGaS95GA&M0X=+i+vC<#s<->5p}kRIWo~i^hqu(rz&RdJ+J)mWW42hFG1N=tL|{;s z2BOz7dQCnpm>r7pRrhIOAX~l0TK&c}-WqD0J_gAsKay_uEJ@ z8YC*@RMS*$gFvxRpzi>8O%+AX_51nEad*L9s?9JG8}L}IKCcDZRaI;2lb_Fv3sGga ze(fFRX=^yy#c^GE5xMjC)8&~$&;|F_QJ$Gz5>GGJj{!l2-R3Ih*e5d>XpzTpd)YE| zcZ!ofD?iKtEbG*sI|aJ@RhLF&=`0Rp?omnPxm>F@JFH}DJfMAKBXlcE&fmY=gMh5~ z|LWtKA8ySLmDvy@=oj=MRTOkFOq3jQMCz9r%?DS)HsBw2S#CiBu^B=OCcL`Hvn%AY z@3=kkrl#pC#01rq?6ohXLcf@f~DeQu95W>h8)KA7nezmbA8QjVvTr>ef=@w z-E&$iO{?z~ea+3jS=oJ?q;f)s!?4bq#eCf#YqKRxrYD%{%zq7E8<`7q=;W_`eYGlK z{-e0QNE{QXa+dmBxbD$Fa!>`-MkQHX7j_G3dC7WCr?2bhW}Rfh&BdAWxf?z43h5)r z1AiP|H0Cz+ME@joy-Xp}8^Y$09{S;|&z3WIQBMOzMRvbs4#gC>&v+2wB{;7?pXxVG zFEjI!`>=l`cE^2hpJqSU9ak`0E}PK7&~Su4JD)>b!syGBdxzv_Ot&F~bj{@4Qtj={ zL0+B|?&i*N_Ckbj=Thp)sS^BCPM$pPc6gZJEOT4$80z-jbcBZ9cKiFxoDllGfMj^2 z+9l9TKKPK$hla(>>(e8_33D^iL&HN7G(`(JO57pN6wujNGq3-yM6pnbRfk906r$EX zy1FN-9H8E);?&E25m_5O?RtkZcbBZH0o}}@YsDikL_Iriu6@NQdgP`nH<#V#PpgC6 z>hi7L969FvuInS*1TQdX0X=N5>ZL-`zwbFDQNa z2I~pr2afmL>NVToj!Ni2@N;0!Vp1ZE4ZaR&$3NuHl$1A+XLpD^Vye_DLD)&oaHFmD3u-W2H2Qrec*V^P+on&d^mk!1ty#1BK>y?9gA0L>S zS_LF$eczD^ziRrehvwVkv3|j*^rrXc!R5pY8OGi3vN@EJ(KmuvG87dG)7=}HrCD{_ zyKW|WgbOI#;uI$s@UleTpq}J=bk0d$FuHJOfrOie-Cki0o^j}>C)We&2)LaN=a&M zU0IuWY@`4=4)V5kSdF`k;`PCNBdsL#Pf2|rcR$a`Yr?H7qG}U3Hnax<(TooKpX(V} z70hne4ch#4GNXJu$T8+Z&hzvYK3k=SMR}8jI)Cw4l)tzb8onx93)`6Rq+6?DhhJCL zb15yHH$EI33I~2aI~?AoV(Ul$q^wvwc>`-{_K5KhIoNr$^EUsLCvCaAY9NK&Sq(hV zXf@fQwX~;KJ0SV_O0rEP_(HD01&XbZx80x8E+x>Kr8FpSv12gKSB=Pd@1B1?eZHn; zH2!!&;FpNXCqwV^Z%7A!*JkIf5k-a!Y<195V$1PlfZE-fAa$++UieEICb3Yo#{wcXyb2vh1vf7o8hzqpWyGPwZ=_1E^`lOpR%YBhhPQBV+ zb0JT3(&Z2v8LRmd`GNwrSnZuo-@Kn?*=(&VafQn5{*(Udl#xVd#ZYeL=$=ij(GvrT z=L`!z0=20&rR*0s&TQykm{i-H`?lmTEf%Mh>rGKS#iV#1Rm;bOKM_M(qzds!D}mw@ zNuPBP`-<6uGW)s-8y1F-t8RVm+p-+vZx0e-K|39Sm^$i-1!2HfXDp4${*LG%NQHwt z9>2FV_n_@IWVS^t%IP6+YaDXnCy)nioWQC^yyX<}s+^{}Cbs?PBai^5O}a-LS&bhw z^)p>BX!4PhjmJ{&M~(>Xw`yFU7b@KHdqq)D<9xn>)}2Fgw=hBkawH|6zBpa+kg3i` z>;*R48#%^|o6e&2a`;r!7$k+YgFN}K90hMTXx{slbLw`DK>6tff>+x-)coninwRfk zzmxa*64Ux#-P;#?8cb5^w;h)Ag2`sh!nt2McJK$ZPu?tzQXG0kxwvi%#wwaI&_QrL8bvD$s#!YA!BQHp^^~%N2*x1%FU_cLu zxTk7#pSUSw48Psn1wyu%T2`}yjSL%?Xgg#|RwjD36ih*$r6*_5a)&yG;xK>vd zB4}4b4kU8sM*}t3V84rUp3r``O+}O-%C}E$`VzD7+*9tO6)d>5p*xVZ08L_5c4e`4OLxJjI$*)Qc@plFoAlAmv{ zx)x4+!2Z^^&T)yXbEuvP@z!-i`TG8Q9z(AX#5C>Vjvw9TfH<^p$-w&!euiJNk=;#4 zt2BPvu08CT1`3X5`AQi)dzwhA5xE0DXdu2{mr(gY_3Xik#)M7j-hM zc@{FE?6C&g&f=1ru1fIL&83$#%DtN|6`G``&-upQF%v6XI2B(|UY?(QD1b>S-UUE> zd$TI^XedhQjEj3j(mu6>Nyb+^BUGM|KW7N5O%Gxl!obhyqo z6Pb?wW2ehRE2oQFe*(+NkIR-{HxER%56vEGDg#CivtIEJhl^Os$SYiOgYsd^X;>Lu z%T$UQ!`gi?6A3s;)7T^=FM{*se(oD?>a^ycU?0)#-19sba^899=`Qy0WUjzhs~U;x z+|aek;WtUV=YAcW5=t}kJ=imKR6#X9f)saHxqgPS0ZUDiA2|M}>PYn0!F~s|AqyAB zCgpwLj{%pY2j-s$MVVjl!dh;kzRT#{ie$|$&eG_Hi}J$E)F` zkxE&jV{8`{CcfP~FVtzwNMIasdmXVEp|~3LjLe1!hI*3q*I8#pDdm2+erFCL%VnBx zVb$(43Z=a$G0=Q26taNzS!bk?Q(2#qw1Dk}SHk;MGD`#-e+SPzo0U~e(7uyg^fq2+ z-0=EI?q>P0r8-HNB4g-6kYkcdjSe2tnKGWcqnAsF8%+?#V#Hja`-yNVm`v!DRsCgP zF4cz$GppxWgm_41#s^yXfoCB!zmQploB!GP&U$INz!5r0w!DY`CY1wWcr;z7-bkdilVe`qv6< z@r|`TY|i=E#zlL|ma&Q@UX{pJ0RC75hSQeUPp9ZgxWP0;Aj}K|;mGFejF$TX(6`ISppI7WN0Rg!s?;%Bi9T zy-FESm7O$-a?26(J}t-5)WefIX;Ssg?x*A~Q*;T&H-`n$OR3mK>wvSkG_g%3Wu?0$ z!7^z-2}|7^?=2d0MpdcT_v(Wr)SEJEKhfdrFMY3HmFcxJa;ee>RU@y8P@O9W<`$L( z`bMBf^E+n-Jf!9Rt=+8uo(b@IyUonDYZJWFq8ZZD_cGJ(?hvS^M|G}7R4!@JT;6pp zGWycNi$;pNFp%4}AJ7w_mDsO#cou^%du~1#yAyDNuF!U?;>SeNZ4G6DeD9tI1zLi5 zaP4C(IbqSjPg{f0TDI6_mC!A0v3PO1LW0AR<&(ql{#=W(yd%hqqrmWPZp=lkgVaud*O*;Rz({+l)+(3oENm2UTX`MxM@e zkCtv&E_3_mH5oj)bCRofdXp~F>KvWw7J@|g^#|Z<4^M}`F6A7~Id%pA^d$2ll!!AP z(FulmTd;8;pemLlY<%f(n@v6+jeYIuB!*JC>=SjwD=xYycubfXD^o2DjIw0rW>oTD ztxH`-w!dtpTRaV`6>S{7(D>@xwIb3_lRhmb5>PB`@+B-F`P!8i2d3?dI815Y9Zll@ zZFLrYqJO=tk*s`MsY7n<0t$EBWUy@0zRYm%LE@ccD@}dVe0QQ?<~9gI){ahW2>n|! z2u5$l=4lL85~{3BCPljF?RVSx>0#R$jB0zFFoV?H?uEc8DO_lT(uF66fS3N({H1v3 ztB~Z_51i`LePt7!grOF*O=rcYn7;{mSw$4|rw;fEf z_;gDQ)3316tQwXXFQ1#jk2RJ$SAQAuI?KrT5+;F}R_m$~I9%YW8^i6DxOBDFg#hC0 zE83#=S&c%6{Cp6CaQens9{6`Qy~Rapj}2^@zy8sY542GG4$Fu>R0Y2p0DjDXm}uUF z75~5l4`Jmp1vjP@wjsLZkbDnLQmj}#Zi;c>jzc^)#&H&OVQt5(M%52NG;c+2{S@LMO~(azUfH1SI+M&C1A4 z+OZpqkCWksRd>*2(Z32J@yB51q5lJ1{!}G*3DEZD#}}8Kt=w%#vEf!L47Ht4Jgzan zhJhATm1|#|ht%E|vUr9!_G6|Zr|Ezv@nIqyy=*q}y;QK^6Tx%+1P#$AB*ko%qA^hh zMW^f;i9gS`6N*1517GZj&nX~v?g`9tWGk(1(eAjeD51f`-irYj9X%HfR`5MLZAhXP z@m%=Me~sEje`C7dlozghEF2=e{YcH-la;ZuBhvAcpy1{eyUBCx%QM*+nT&AF(@+LZ zoc_4p?|~cIF+QL9d05FBZ_KK$kIUn;vmWKb#^x{6waZiVj;s@uSvW!mW93gTn(M^* z%ty}CpZ>c19~zV!oVynjXk%3Zl^DAt21(M`5FLLi9iEusGZo=kjZYgb`c-v7+*#{< z_0Uq)6x&{DD&BoQf^?)0T8M9Lrs(9rhWTjU=U9`My(wj9-;BYQd-Qhw%DH#~ zmSLjh@qc?Ps50XH^#+R{mzLc4B;2aQT-5+oF%F@FR6Nqq7q%g3_LLZ>1E|znD8k!ewCekpvfoxL-X zUGWbWpd5R&0-C0Y+_Fn=zlW`VCBDqhKZYWUjNm3|K_LO(n5=4KPamCzpOu`L0eb_p zIakAv)Vmb;B=&Nf(<10vWz-d)PU(Q2alRC6WKfqe+SmlhpZDq<20GD4 zL_wQm;{;)ausAWR9O9-d5x??Fc_ptlcS~Mq^E`LO{W|A~p10rLzH`SM85t+tYxzeI zGa>*}@Z8hh5u<+bG2dB!LE~KU4u(6xj?BVs)AE8K&v`i|_n=-IiqqQaJf2EX=M z#nS`o@wDgiRcvS^7|c9%jM!ICWt({Sf*CwF-KLPlEH@0j{dyL*1N|O8bPgojBcYDF z(#&GjzL8(&!lS#&Ct0+XuZU(mIlovSttCPuaX@Wy>8@x2qIw~6cj4c5Ad7tAur;rCSU$oyDnQ2Nkt4^8JHd`h#_ ztZ0(6R=;oO@x{hj=x2qsQrH|}Mfp4q1s*F|-Hcfz_shzT7`Tf;O5B}*Wbe20mIW*I zGvfoCL8+4x*UKdUV5ruZuKj8^owm$k{8Xkd zUave3!)izBB!W#);M2&-H2HHSKjw=cni*jcLf>9pN8g{KGYd%J2v$zW?ddVd|Nj6gM``9%txsf*Ic^)Y#>0@t{J#eQZxGL5rsM7Xbk{Z<8 z&%sGK_^K60lGK%xM-ZV~yFR%^**QM$xM%q+#0qso}ezBDxNj&X3ixa?vKq?GR~h zHmvZfXD$wIL6j%MVDwFz1|$h6Pz9i{R&2jIMVNu$L~`9(X4gc(Cpvrc z()X2#*$khD7jnlyd0eUuDd(oLU9PHV>nLyAjs8Y)p}<yJO=0Ozwvaq-Nny0z{Ko z>#6<=McKn4pkFvT-e3Io!vD5<6kFs-#~VrOYNV8hlGM|u8t8IEuJyxZ4zGy@7Q62k z!q{#q+Qy1TN@71y%x)+?e4Jwe!u`k0Z4b>6jFh3VydBD!`tp$8w|xX0d9gL_s-c)! z4$JpHnSh?^o%^@yyP$?!T!c{nsB(neYqP3(3c0@Qw)>U;i$qFGZ}!E#+A#9&S5fTn zc6e{WBO5VLc(hO#oo1$Dz^z7I=Jras)MM;LY2s1sWsIW{F+- z#q5`pFE74ih%`U3wW{Ki%Vfr?+46aw!7{J@o$q*Bra-5|1g}awCcHu-^ZIJ+hGBJw zpJZEg2d6sKQs=Zm*2|vrT4Q_p(^E&3szuWFyO)DUj`9~liIC8TITIx&5?7=MSr@LG>l)rWk7R)g zn)Uqj9({V2l~WxZ&sl95rRBc6ix6o411&Jg=1sPMS_JKGQ;TEhC3TMeZj*f#P9lS@ zpPnRt(ZhYLTuA;2wbjInVxCXS1}a<+K$w;munDJ+!nNH~6uPz@{h1vv|L~-Bpy|cI zXXBgUB-^v}!lDAo>?R{8`O2C$=1(JU6!%z{wAK%~$ZM2U0)B0il;y}-c9M9@q`aK5wQ+HtbCHoo_g}Mb5oG@>boL=k5KfD$23AJk~>bwfS4z+-S74+#i_IQYZP>!ui~4 zjt)Fi!vGLAh{$NV`QJ|I5eK-V)1jPEedy27HDxl#69)J8MulY>-e;Sqa~yxo&>{O0 z{r<&C4+Q+2!Ih{+ScJb}=7pV$TwUYA5Mpd$AIc^Jyi#mQD|?rZx$q^2$ZO$* z{OdYKO|NSwC5>8Xf?UssaL)k@O-1MS&-n2XIdI;A4;>Nz>5vnl$xI+4CeL~ryDO1= z|Iwu!2o<+_;1FA(fe)8G!enF5w~QKnG9?Jo6Lrc&hQa2E&N4mwC(P6LD|X? ztkw{UlfZt+U|K(GEYLj>^&~fRr?%?t1S0yB|_n(nXOI&GDrN>cZr#PTK7euZ?G@( zEdi|Oagm-1TbzMkX`$B;#09>?J2dpWJQ!33(3tuBV`IAiM$vZ!z)+qpY z69DU!vqz;~w2#5iO0M)ViT|e0b${Cotfg_m$% zI!Kjn9tGc2_uP$H&8l$OVN~a`GGZHEzN+%`Eq2j!GjijRWjvf2N5=a@ZHFuqkD)q3?m%N6ZfE>TDS`-V0`yPt8UR+ z!$c`qku9KgJzn1K_MI({E!VEx!fv~wfs2D2syfGmxDPL`v>x90RDOj$ZclIwaovuE zqQH%({E8jVs_S!Ol9R}>i% z(l&xm$m{aSC_7~`OWM_YR3d6{&5$I3Ww05ag!qV3t~HJ;9cMJ*_5i|4-{bo;XDw$D zU!j}L@;Ar}*ebo2QY-KK?gPR zc9=5pj#0B1PwwN;4V`QF4XN6OM6ZQ&Sa({*6!^}C*u)ap~kHEQ06|md=`GXvf zMoC_4`ByWA5?`Xzn<}m1OakTsQCsV8Ala`qcSGD0;m7 z_!JC4Y*7sHA0vJ+{Xeq4I;zSn+*^*Ign+ct-6yi4N27WP?WGQyxwx2)meG8+L0~&zK z*d6u9FT9z-^k&2<1l|kiu4%&Xkk}2HikRs6Xm~)fDxb2=ja_iNhKFBF--R0tz z0qCeQ+%}-A{q8TZ?BBj+Dk|j{C~dRSx?U~htoOLbVqEkH?4Q&Ji>Ym*T!@a`y$zIR zVyC?&JNbpjw&SL>^aBJTxU;B0`ctefK>^IbX=i`E>tBr3H${;41#brca|7STDW2{l zZ&Mk~SKtT^M6de@!bZPZzBHdYUW@}Kl*h{+CCQpRk0~Es_Zsh4Dks8K{Z9n3zFkAO z7NIW_4SoRiqBdy}** zqXwI5$buaapek)CJHf@JvoT0Y4wW=$(8iqb)3q~9SSKx0N^4FRSMY=oyL=Jj`RP{O zRbgx<8+)Yfp-|cx-#CC+Ijhs}(|uP?`ofHbzE@OeCTkA}2bkFO>o53gA5S%Qw8*_b zd~BOxN9X`}v%s2JZ~De?5rF%*q>Vr6f_@RpJ2XQb)^`uRx)N>nO81#OMj$2%<=V#^ zcS@Lz80o4}f&>Tl&~#=D`43B*`dzsHs7H76#{Ep>Fz%DzD_)$-P}lb88exnV$B6V5 zUC478z#86q=&_)Pt<+h>=uYwUDOKojP_jc4XapG)!kil*dgnD$g>A`}$;)1WTiB_iKB|(dICHQ+BxOcD>bbqeR0US^IZn6s>kzW3Ohj zP7#W@#-kow1!0t%=w=kP&M9^i(8l838pUUIlz7m0&1?86L-PSv)?o1L9p$iib7<3N zWUxtB^!*9mo_^aZg5*^G&5#4h58V8y34p~pxR{4aYdR55$$(u~^hcx>eT?KGV=>WE z!hRO!u~6OYw}KwX=-Vh#jlVTdQfFv(s=nCseOa$Vc;RfFJsxjnq0 z;i9Ia2jPGRNcdt~bXnjB`r>9T_Lve~8>R5BV^Ld_>EX+yo8C?I4XDibegFJyE22;Q zh!0_2yT|%01XJ!7lk7V|5(HPc%fi?`?9Jyc7Y4!jvHZ3f@WH}3#HODXCd zOTD<>DQBYl|CW&-06f$Z6OHqqD(7zj4vM&7hU0^Se!2sra*E1kOFNP;>wvq^p}E%c+UHG9hDDDN9X!aTJ$xkilHB&qNy$O8)(! zx|npdDKylL9X9on8#&C5GB;%73D-Ygr8tyNdYLHCXk5|8hX7SgAyO1&vrf@QnFh^4 z?vie0P;nmh&;w7+cS7O-oXN1oUDMUKU=B(%CcA7rVWLq~sgtEA&_r+7yOXAEhDg{g zi2#(Vq$DsdR35UOO|Znv1fJ|?H@8m0?y@|qo;91l2MSU)2^MZYZaJ=cjdsyD#*1pw z_5w;Wgw?Q(xDl+T#N^9`?Qh~fNdUF}S8d+D18k34ZY9E)e>XtixM6}Z3PZm_;?GnH zhEbSdkl^pQPq8279)53tAT*4zS#x#vA!=*Px>zCoV?^^?=tEagOnf&aj(jN)Xo(iRYMAUqo zdBiy8ohcooi6F<8Xb`g<5cG&lGfm$`LC(@n8SB2{6Hf>g;g`IR94lEU{QwNS!pn6FbEtj{o;^*3YW|uqDOP&=| zG$zBj1vFf8rI zxl&$lIBP0Ybt=umtgV^U_w zlBP9DmNpQ?9bgI;fkeg`aryIBSbb0;SbHL>x7&(_PH!}g&rx{RCQGK=sf##jOX0v_ z9OOdLq!x~O{7F1gj-}$Lv?1t$E$27Z(!N^yU(NV?nE39+;W4S~jI3#7ISzu5RL+jTf`#s+Uy@)5HacuCc&mCwf8x(&f!y?MFte5Y zR*x1aHf0MT{R+0tfraI4uLV^}Uxa@A0X#FxKlR~CHMEa>rxnLbtWp#G zYb1P|NsH!`+3I~yPKB2^`BuqX7}nW`$Ud(^yJ!$`1in_2{&i8f{?=+F4WMOvz?$ZDe;dQ+9ITIqr!;sj8?Tr6f z-Hj=pY{;+nbENfAQ>Tf5EJ7S@SelAv7omI(KPvR}K;l#pcUQoRvDn_r(NkYJU1j+8 z7^f$%F_ZknD$Pg$1gXz|!b>lgl=ryKV8!JHCh64TwyJHNG(QdI=x%=PuF4bSbGNWn zfMynPSgXD|85Nf*Q(`UNseq#hD0O_?Z~-TW4k1-aW{JKzt&&@1@7*I*Q$3d>>iL49rDfCRG7 z42UAvY|s?o+CC zIf-FvrNg@HMloe0<^smXa6oS+F<998Zd{Y2i~3!&+U%-Q4KKo&03dmpQLTdil3;gh zHtKi>IjlU3W$|tNxQXF{pI79%zr7shNmm+&C6bQa5mnZn7zNDG*fA;)ejEI5f zQy-W~6Wt4213#eqHi(Pvr;<(-du-*bstDim z1qm>2Q2=>GPm^;f`g4eZI4acai)4V#yKHg^2lgIny981Vv69n|*b#&}3g+;|?)Q=f zabdXA7sLw6pY$HTBvE+NQ1IlLOq!naWC%j-Wdm5I?`$a)c;AAuDM06uO)Q^hFTbye z{B;Q%z%V2Y>$v$c1?wp^TghZS*seHQJW|oD+>|icU`%DD@2AQh}q%5 zD_q7u2>*pthX*DF z(@}S5STX6finT;hVfwv4f2@*aB$-LbiIUe3>AvEsgKQ`vLDw+yMkb6g5oAa?-(HJB zoYxciJ-I)fIK}CaqPcc$z^|d42$ta!`Z2w2(OEv&0HGg~WwxU2C@Ozz(iyN;6ToZT zO;$gwyxR#5M}!FsxX-Y(&$iRl&vs&uJU?^gB_&-XCNBt%N6~Gmou)hR71bW0jH34I zs8ZSUN*?lA^=|T&PW);T~DI(<;4m+HxhrM&&qw%`BZ=B%vx-NSSG)}~K zhjA>SNmDk*nW%#7(DjKLJr1_wI4mv@YdfF=Q?S2VUY+b+Iv^dO;hf3+s$o2D?$&DT zOrFmq+t@1@K_k{U_wKr$q(yr)M_%8D7Nv+utfu3aOmBQW z(i^5}jT4E!ouc#oINNP77T5-N3C6y9t(+27EAg7&VG|acKs(Sp+InREFBwOC=%p%A=)>t0w*0%z(<q}G}B!*8lba>%JkD@9nuPk7SU1%CX8)QcjpY%cIW0xfWnWDY7+u=e< z3+Z?;QmlVGf^;A^%7}Kb-Dfh@9kVS2O(+!1+b)}C0#wM1S;piH>`g8+lO&aI6GsGG_kz-s&bnRp;6!beqt0TlAah)H)%V51s=$k-qLz+(qq>q{i6klbtY^vM_*YqV~q6Dsehr* zZFBJ)ynF-Hh_8vA|JC9HYnTRZUeZhw8Vn#bn2OLR{wX9>-KteM*mnZ0aGWMD zk`bl-Z<%$jEDf&5-~@c`{@V7?pzdtVmoA0Yc(3JSCk^_U3!ajY2Q?m1zw?cT_1{2e z&!B&f0EOBB_JORKm2R0yR|WB}cz7ZYI!S`EXy*>KjC$^7HqJa2I>+W&cytXKf{A(rW{rq-y+k8XR<_{rVCcLqIdZZZR& zo~!aj+d*=%P0{8{f{_9+PWAj={fc=SyfiIVjMGuS$erei1a;&0o# z{pdO4554noTa93!vzz8&svM;QJGUMNmNK_kRIFJ81IP7s_&EHP4`xA6pTeZXHT$1N z=kNZL^y!ulh~{C18H1ma%1WGE8^>y)y^Mn0{GcmOi?7F5$|mdwF_%%++If;{I%x+8 zWv9Rn`|mo4?Y`_>U-COMxI|mDKa^L(6`#6m!Y=)qRd% zNmEM4V?`g@^~QWAwXa(v_`zr}Z_^!xzbhio+4fQ>ZGrzp8fK#`QpqWa!Rr0HM6jZK zit|hH;m_g{%7}-6cOhHpt-gwxm#B0v2f4zSU)f^RkNWAlCryGsX?7e#yep|XWb8GUNrONpUM3qalh$O zrDufaVBd3@#=M*u{2ld<)0m;w0$@GEvrs|5C?7RcB$$S~VfP~2lckwpg>IHYsdbu4 z=_!O-)u{KwQAJo+e<}#9p|vP*G|)UPiYl3HJfqOuQx7Vebo%SI-V>>Nh7$OP=NG z%*YFABxFW$J@InLBI5S2Eaa8d!4%ZEvZfqR)34yS6g!9>q9)+r0A-Bh%X(cqK=qT3 z51#uQf&NFX{EZLz&IK)en^*-P7;OY7O(kaW+xw#tb6%G#To&8IrHlo*g}1tBX@k#` zSB2oX@G0P0pN&LH&qU z4#(0x4qR~h+|7dNHZ$P|6y?Cii%tbDGg$t8FNoP>czJ@ z+$X4MH#&&qI3%1Te_8CnTc-9H8piyT&+CwFgGe_t zpcA$R$ui^n*+S-!Wi(LYkWZ#0TKHt{BFi~-o`z2{Rqm~E?=?6*BibnSL0Q-SF&xJv zrzm?k!>aw60H%0M_no^U<}bC^ml=HR%RD{D^lJ9o5d-60SpBnuF{7R(a67zS4FOIF z676GOO6rb7t8Hkpb@}=j63i$V%TVbPS|z;zr_a#V)xi6 z55p@xjbaR!vo+)k0@pBa6!Gov0`ke^)PbD3-?A)lX^i8A0^Wt%z&c8y1rt}5@>ipU zN0(#6zAug*FwuuC%(t0Fa3n9F*18nT96XY+zNde20Xd1kH2J-eS$Tg#*wwi>zT?j% ztPSR3UCvDY>g^CnEI0h4A`&UfJfHrG8eiEPFrIVM~h{Q zA__}nF4N~6wQ`B_u-neh2&-;kNrSC9!gIi-u4Mzdv*$f^zds34iPhy<7G%rVAhd{- z@-)G@-is(Ono5e{8G#^EUq?eGlc&)S(HA7|P3!QZX$DK~+b8K8j5NLs zUV0@f37mV45f%iXqXLCv!!#ua6^!$0;Jz@_)a6X1R4)j2 zr>8u_a5hhO%4OMFC$!nh<^y{2q_bAmXAyhvBXN;!NF{Pm?k5FBkGgg5_jq24BZ)h# zmv>oYDT#NTTYVA=w~Ipv@7*rHk*>dU9N37%(xt5xYO))Qj1obnElX zQ3(k;<2CQ5|E#y8>`)5D&Tz{~5}}&t(oUW#G+zPUE-bkV}W^I0f zO{y*n;R;SN-0{7Bk*XYUl!eEvUNV1JI*C+& z@5zE&z}Wn{l|S68WJ@Whg7Zm=lVC3K3p(F@hn>lJ=!pAq*%tWHhy$HYm~R`muE0Vu zvEtz3Cg<`w!uw*!N!;_5pCzBGYYKj}p2(?)B!Rd4BEf{-%oLJY2g(qn#7rI3u-0)? z%RY{--!q=)6PlDPm5<#-m^87Dk*eI{wlbF7FMwY6e8}m9t@w;tV#I?bYeWMOB&g`Yvd4UZL371Kfpy%l?0uPQhe>T~B zQV4VFNOZ?#?Q4LS4WqfG;%2LGlNWMGoLzg|@L}ZNVr?uu(mZzC(rCp3iV0a1;e$93 z>>7yuUarE$?;VC9Vtu>ve|9LPfiVc6#uGpAKKTbe)P)K%&~A4Kc$Kads;c$-GyAHL z#!SHO5dLIbIukQaQPOX{B0}L6ooN(zX zd<6^OE2M&D4_7g1Wc96sDaPMnrRO@#t4ODe_Tj)EOF3pDbN#NmG@EM~20_?4wkqB=h|rCZrJ0#>*XlDsc9@)Dxvut5;+ z4kx!${UgOzRGEv(6wrAJYwGc7)G_7oy?x6MVQ9n5cgHdrr%s8V^;hrXGgailsw~dH zd(#efgZREFRY)pnI{GP6UO#@$0K$M4!Yaoa&HkJF>P*FQ8{|@chh(Gq=~4|>x95bd zF5jF7I(*>*&KA$Zp#iDkshaloMziRE4Ia?9R(RMc5jf5c4dnjEnN10(lu*bNW;+zM zh1PA81*Kj~n1jwabIS}K-G9j7EVk1h2;WSW^8^vwQ$7gNPz(_dFE_)!h;H!njt0Z- zpxvM3ev}>hu+-dS*_5C-W91r9(<=SJk6M?Jl^=dEVg*h%8d{USnIAcKvXcNf_ zWq;;XW91#_xfzxcu9{x5%4i9u9-0B84~%@4nl0BCaoWtW3u7d$yhme zT2Dc6^r6wZ5uJK#(Nd3;L|RTWLvPMWfSJxvXC7^}Vri(v_tA|5yeXRIY9j0rAbcPgEcWf1_?_0*@SL?V|Td2YVTkGi^bK> z&2St#T6Bo%{-210uRdb17TLEmQBGoXPqe6x`Y~_ZWb5Qbf<##$ptT<+%%t-G> z3Zt)jR&r>*+}HIMxZSA+RitB$L0|HBCyfG%XSoMw$&-kuIUm@9-wAwFKM zV=i8J7Ed){l02QHn7(~+z!^;Z`pwO*>K@lOw8CJo1XNjm6W^5Rpl#T-B*gU=z(O7H z8$J2R_j&l}$$1SRRhqN{aMzn(zpaV@om9d_jFzV&yR}#gBn^3R(za_dEM$X_$f12w zwJBvkM=OhxBzgP%em658~$GVAm0$U^mR`9ls{H{4v|g7cQ=g7{wEn!b#@d$-`0A+4Es z#@nAok>B7SfF@^oHl+p21voMX_(R;d>G@l6+xF8b`R?rmQ;I<6-KVoGcjc8~EY9aT{(Jl>i)ervIq9J#k+j40V=4`G<`{=!b^M^O)Tt0L&MoJ-Y5Xtl%&Y+ZVof0ZRI-2DFP zIf7j#XJ3@B?y1I4c|w1L_iRARMBsKijO>Q`gUFsQ{JtmLQPc6MrtRe)T!kF6vUqQY;n#pbjS)J6oHz(HUBK4(-b{h z46pK@^Ul?(g-=G^OnId8JnbW+0+1I8Z z{zRMcpcCjLFzwkGt`Q#8y+h7YAaFbKo3)ctrt$*e=ZKS{>%7_21S+q#b;q;=5~`5# z8|;-Nt{K|yNKpDf5HXk18BIn7)4`P}hSR<$jY`CS+k;JF0}S68uHQ$rUwzJ>yh(hC zyy$;nzyfz($UF~Y@K2U(e>G&}Nl#-h8Da+XEw(LQMqTe;AP8Klz-8~dyGrkj1?~zJ z)_T?CVTCpuhPZ%%U?xIeQ610o@4r;TM)Tu4)9Gp_=+uDj8th8}glx-0JTEoBvY{Xg8ghir0gd-n%u+A zLOS)(JsB$3;GuSEofS4}`)-pt@;HQgUxo|_+jOQzEsHvI&C}_m-}K%RqVo95(cMTf zLFgv&Ma-!@MXf#j`8(FHV;3vx7rq|E(aFsGqpe z_;f=7f)oJcLuv8c^-CA`bSH1k(D!KPSa)sxgAG45%o@ zd#h}Ym$6#*{oWai6d-2inuWfg)Qw;Xd|OwU2J|&UYx_az(*4@})Y1Rn?K*}A0C(H9 z@i?ENfeEec(fyeD)yMwzmFo%eQy7be%%U90=g9ydnq*2-FOVI=T{*L4tWR0%z+c~*<&6-1v<2|z@-I|OxxEv4ud3|a;}ICM$5bJLd`;^v zD!-J4OtsH(8&xd)eaGE*#BA;s%q*IkUp~(BS{#w~*O(XyC26iXah-5u6KaRHF&>Vj zmio>B-M{SX{Qeh7Y>ssGx`{~wFO4GoD>I6T=W0ij&%77t}1UPQ@ZIq`d{>N+( zf-r^T`zYJs%izuiay&$77|GT|akq`UHvl<_Wc5@az4!bA2iCTbP}#Hp&fkJ2E%$vS z)oW5?#llgpKK@72X3cNoN!)1TC0-N|l=vA!QXokFJoz~*#$SWLJYug$rK5`xqx znJ7mXs|(5%E#k}SL!^Av#f_9{ZNt9R<^wkxL%F_85^iEmx(PaE=BtI?gz1{L(*Ztp zN-hIKGFL6v9brgT5oHZOt13|0tzqq(O8j)my9~%wH;HS`!5s&lNUF))LB`(swOe&N z{8LDAAxH7d9w^x;2SpB1#ShY6GiEASS~Ot6_l6^<t{T{W30Zx@0NMF+`!^vy=<1G8o*rfWcMjikJY8Atk5le1NtjKI-$;DRV9$Tw zhk0uIx_nv|sO9i|+qa51E6vouErFjbMh(UlWc7pm?|d;Se*cA74>Z*cg<6%`=WorK z8CQvtBcjEfMwh{gDf9vNiq^s*(0M^qMnLjLIp2~b6(~PyvOxszg(RpqYErT=c*IOO z^`WY6`EoB?FZQtS&Mx0?yOz@ujNJZY{58|zh1aSsn&hqZozcte%Co9_bn=%bEcl!o zm|O5zuZHqa0y`)8#M_>E(?+Ru@B70rA0jM?Tc<_1aL^QCLobm0 zHeozlzSor{D~OSaf1s9N)sT!dqa|#p%I=?zzILn_Y14=m#*vJ z=Nm7v+hppuDk@r`T3Hu%mz}M8yN(mN6kj4cIYyp(2qrpj5>I(ZI8BPW)e~8BBL+^E zwdyK5f741d>; zTWO8|JX;!jO#2QIy<|KQ9S}Q6I*zWtMZ7rEDo`!C(e2=YW{!RMQha;Jq)s|D3GjA1 zZmU3v%>5j|GQb})Yo!~q&j*2IOM z9T0#TIJa-#H3iiYAMFlkU)kS^eEj_MjZA=KD?!Pu#o;8|D<~^=q4Jf1!nd78^$TCv zMzuTv<$+cJzUB483gmrgh#^zvxN`f1F1lWaaCmfbPN(DIA|^rL1t2J5ZDjWk!XKQO zw%LKS1XM(m!C;^vBw;h9A(1*iE-Coh=uJp1ti^`j^RU~3mdqQUZ0R-2gB%`Bm#fqT zKja5<9l$ofwpu;4S$}?3#_aSn$FZhYX?{U|qXsTdJP|Jxc(1}U45WEV8lFUCxVrk9 z;8OTA&IK>NtdvKN2GO}EHXgEJQ7ynmGjrONDF~a1vU`K)tO@D0_I8Uw%Q?sWm z+~Ih{A3l$hle}wk;f;3B9#5PYv6@yN-91N|?2MW5#M-CEV&8{+#`IjY_=uz9?w~wU zW*d6*S+f|;&KM=gyL%uc+?(O3^>~frb3|A}KX}j@D8$fVS#cF%*~OIlBSojmiyc0M zW|0C-*Uj6kQ{MY_VG?8hEIA zyfWqr+h9X(4{fQ$MshGVNp&!j@SQzLlf0TjspSmWOm*Ru>3i2ld=mn#h+rl*3dvrH zHOfkDEAt@>?4b`W9qdaRD<&^KT7l(Zp`i00jtNUUDMJ}LpY;E`jVhi4+i3O&Wd+iZ zyunOtlScCajJN{NquMEAvS1jHsCbJ#0a*K?=~}S4>bE*HK=w&5>|XjGRLBJrP<_-W z#)DIptWu2{M?dYN7s|e^7P(ftsx`4L&9`3Y${iX=469k`?&jfi$sB_I-0Wb=9vsc+ zZlud#0y_OXdrb9awVO+=EQyJ=H=z?Zq+b}&3O9*#eGwi9WTK?~;N=YK=Oi4gc-wM+ zttKGS2CY}!^c#u;Wmp^mOC^ah`sbFK;6!-q?@bJFJB43O3t4iLHBHTJQ;VpRs=swu za;G|c7=*AO2Q62xoDb}G?-KwI$^LEoYI^Upxkvi{?H5U4zr=qVw9nH7J!$dtb^-Hq z^-CX|s7Sx0%K1ij@GDX1zQAN|n$^B&l@)2SEud^80HMh+Xg_yIM(N zEx*3=r4F5_+HMu!?G0t`UNQnua!j~cl-ehJ4}7~Vs(6kmdEfKkN{I@nDO1v> z>}(5cCS)6)jkMUgpOsAL_B)5Alyf#gewpV4?H^n^(EpVJu+F3ml{8W!!da~MFPJ8-; zG8!3c-SDMW`L-7|r`*hvV#;P?6vK>*TLAl%<~FXgcHMgKKF)XhzJvk}187<3X!SHh zPp(u3B4v84SdThVM4S;jl1GR@O4P`7Lcl0okD4FYrGHGQ1aG%kU&a#1cihvVFxAb! zXaF9er@ZG8m&h))j;v`FhPhU#Hc<6Y&5L6@OEP~UX*O@BZ|2Pa3BmdD251+>8eOix zc7mZ)A`0&nE)Ol^X|nE57AQmK9JsQLfewhw8;j(gKh+*x0SVfam=G-gL2mjWt!c32 zA9d+pHLe65EYKw1v;k2O@Q4Ej3B~}p@ONUB!RQ^2MkSyJw$J7mVtv7ytuQK9#Z)@1>u_Ko(@MezX zxUxet3wM@_b<+pHZWh)xS9S6*d9+sN3z-AjTwsfT<82WTr#-j6jG$TfGbBVGuoj=k z7;>nvc2XELQx5#ZJyxTB#wuKNQl#%TdDgpc&{LnY}+1S7RM28N2pWOKSBM{#|LsPuX+ zya}rX_XF^(C4j)-^^@4Yj%Fu$z=dP2{W^@^D~Jhi`aWk$=pP>DPxTnnji3Uy(;&6^ zBw}3h8<4}!n_r2gHD^ic*L`%-ED3biHtquQ$t2)FtEP+HDVD(Lj(DF-Wo`4gYz})> zAP$7se#?E0iNU~eKwvc&8dy+(bOP(%F+LtKbhznq$%w{z*hNYSycmje5~TgEn|VaH zI<*C`+|6DZ9&_`I`-mVyf!rIB26TLulnGR8E&WI9YO9a)`lu}SGA!}y@Zh*;kzn6V zn|rwkwcF*EQv?Xg1-?fZpix;e9^es6RYR`M^-g--Vt5J&Zm%3SWP#Wc2KX{Nq=A(v zrj+$(ksk+8(mh^CEqd|LtAV9J&VzjqTR`|4Aei`VG$pn@T_u_KWC%8#0;KDH0s2+Z zv^UF1hlty07pqKB(!2EPycqdW^u?1c0Rf@|I)p)O7yQC&ahzdJ3wmWw@m4P!2A@a2 z3Nn8L(uJvp#gKAP#;qt=7GwT#qNbz)fpvVrRHf;97?U(nAGhAM=W`jOEe#WWdduT~ z=FvUsu2Fx{`n%>=kMElsRet40TRh5`eE0~!Ql9E02Bc*LGy%~V7*@1Qp#UBeOqqpU zI62H1j;~g%xcS=vK*s*n1~0WgK?zHPMw4S4zCcJq$4wg$0d|QAkl%=aMAzKW{Qo3+ zqG;w;33w6YFkBFF-Qxo;&hf%2t*Q#tZe%9dHkrn;5eCi2XUaJ9<2>F#@Sw*yKTc3& z6D35GH=7)BQ+Wb2zO6F&Zw0aa0PSG31jzaaubu{XQT&k8M>N|j6DU^T=dzOQOl!B8 zES(yk2i)LJv&H2CO6%F!Pzpura+Bs&)7%mF0HrJrSK^`8k0`VQT3)E9>gKRJf5~8h z*W(94y^&+EPebW^8j4f*po#CyTjzwyr}ahlw7$$u8}D<;fr9Uq&M~U z0@$T)nJkWO(BhTo%0+Pa+#_LV$5N$wM3i!NJX2JGN|==@Br2P82|Tv9lC&(;{R=T6mq@7vd{}~L&>Y44H6i^C zw49X1PO6nfGIUltrJff7|p5i6RA0Q-hfqF?8JQ)5WY^;?4n_}$T!dv z^-qA#Pa>BAS4k8b#ql<~AC$l&j-$I=|{0zICp=i3~)%dv%oRK$|gq@O$%E(|>QOB;));CiO(L-cH?42Th ze1pXlRtM8|`4@J+jb7)^?s&6&SQ(-xJ7B*H8vuqU4G4uF9Ju6nO}P+&6_wu`SpRic zgMHnu*OYpRR=N!STUQ%^5J4Phg~=>`L7rp&qm!4RbfXmA7H(ec&y5KRf9}kTZ zy#W$C>1K5P#284GuRp~lnj{8FH?CO|BS4Y4Gh<#Dkg#9VkMpgA9074SGgx8N6|z7N z;I=jvfX^tH@z}vS9RuLX9QL{@F129GMD@f$=z){fF4rW#d3))W4)?mnJR zbs17mk{}S)aIsDA{*UMHA7g=FF@QL7kN-aHGz)G2lNS!KZdIFL-;}Z)vT%k+({FWwu z?RKaecD5kumJoGDt1B3$1p9?DODUd|SPDZ76GqXC8;1N0UFtK8u;k&RYuw)6o=M!i ztW#|IJdZev0?w<6wL)$|Lc$v+M7yFEDxza16ov%Z{R>kGeu*tK^J+$_E-jI%vWA$QCbljt?sWbCy$n$zY|@(?2c95RJeYh)=`}0%Ya_!O% z=}!!M)aKI_TtL4hRUZf(zbjirh?SEs^3kH#)GHXHY3R=jGwGgKPe2Z;aJ@95k&)}G zbklQ%ez&+GiX_c7v^fh9h)VMaWyM(}f1`#J?zyNYvM~2n#>p4PQK>A#c$511&Wvic z(R!L)VtTI#l2zLoX`Ci) zFrNPskW{e%gDUGE8u>FQT6kbk{Q@-MjpN957*c^&m6HGZJnciUZxm*y;XXR!D;u2n z;azPG&<$nDb+5}>2{I&>=+$qO&H4Y}<7KHyDj4T`hmwvX%MeNFDEsn9ruV-8{LAxx zt5ofkCYNQIsn#l~X8!c|kGL58 zMpMJ`ZadMv@}suiWR)3WyC@FJTpgEO8A0+r6C<${UO>m`On%M`%jiFMQ*2KLf-#$; z_uF`FZ+vc278&rHyodKgNm4 zFMnY!MB);2?CNz4y4Qf^$H-Z}S4?z1QVJ@qmY$e_Pk<3AV0{<)rc` z;p#(4u+lYXnpc6mfU2)CNpzBS{|ledO8KW=JJG~x`)!TRdmeQ-OuCG{F zMofBWXK2&wU{C6ky^n_aFW+Ur-AFoa4DUpN;TYOD69^j4u4oC{JPm8DL$M0AvPgNW z)}_@5^5xV{`A&|`ja&p;62J3@562;1_Y3a3&(86gfL|+)D89dMM{3g-@C%P_KBiq` z7bX>6PW*w~Wrrmk%G;$d)Pl*aW)XR2Hb%7*gMJy}VolWO`pUV}edLkk&QFinG#`J| zz4CLJ@aS!W+!x$mje6iT3w#Bpbj=s%=9CYcVYv4O>Hp_I01i4&B<8Hz!`+_?Tp{h9 z*PJ$Y^uUhN8CrV*MI{W*ne7dKp?hVaL{n3kIa_Q+aC1pv!q`HQsazX?*ZPfILJ;#}acDKh z^u-xUUKN(a_lH^IPpWDeM z!6fkZt)4oueql1#i`#UXW_!bVXC+;pFs%N9=ho9)6|b@5zAn0Q>poUveJnLnEOSRU z7V2e4Rdh{weF4S(e&_62bu*WxVflT(@eO!!cH@9$RVXCb$OK=5T0kdmirD^BU(mH> zKGjWDSjuIH{u0u_qd6DK;?3k9ggT}AbvGw|*hU^+3PY+AT*UL8uCe|sMavgZn)P9) zzi*g7_dOPH&uBF$?G@z1b?&LNAYJTUuPc@cudvFo@hRXr@sqxLVU6{1_vo!Uv9QU! z?Gn$u1x)3dbCktK((c4ymaa*Mi$r9&E|OArBR=`InFI*4?Gba%r!ASDVa-G`FyZjhAj zZbZ5}4tx*leP4ZlV|;(zaqk_2^Xyt{&bj8=d)&!jE5xWfb@CAn1EJTO;u&Yrg_KDk z=HYS{kupaob9#9?TP0#EZ2f#G271!8aK*mxdd9=?YZv|Mt8|UDDUofg)fSB#of8ZD z2!EW`ENMM;i^Uxm?(x} zZ0g{U;~|OO*;|Nixd?hc7IKze2QFT5aW6&OhhOz+;e2b~daw`(%GPpaj3RQmYz}Qv zX|^Xg>_Z*AA+d3n=C@Vt0oNJDGfy4V)^V;=sDGh#dJ8xIp3vwzVA%(q{|L1DakplW z1mn)5Y}}ZTQ`8N6%G}YltPyFfu2uDnA!0n4h{nuxJLb#o#r%Ug-(_P1t_EAb4@IKg zmerX_?7P*22ixP4N4dR=cVjChvVHIOt1Lpiiw+SGVvxrkVimXW6wj-LZVZ>PtB7<7y+1rPEt3+;5$%_PkZHgZ}UR zYV(Wf_Px(P9-0K#J{?qHg8Gs!1*Yej6KYbc{z%x zmh`%kwjk+ma6(WL55Dkfx)?9A&~vY;pUKoi9^)~5OGhB1V=yfa9wQv_ zIA*l!gs-tWd^&v@cX)&Shkq-xo)dlYj0*k2&PFP>P{$X${dhs{g>7IP_zgCF%e>^p zE0kjnW`TED+cBO;ySqKXdY(DC4=J48pBot{)P4gO-D}Ft;Ct50OAHHj=@opx(wA^GEvuGOMPAV4#m7V&8~sx#f7JHrVGU8wH-4@x$ZmN zx(wOxZl!sn@L_q{-p<@Ssk4l++*rBHXgPPaUU;-_3Y_M}K9__!+L=$$O$Q^ELO^pq z9@q;?MXO66GmzKXeJZlf)kj_*_O$7^o0EgWG@%`iWKFyo#zr{AgdtsasmtHBVKIz# zuJZkk>P%2VPRl}J5nCRS@8wtcR=w`Xl`M<206>1-IbUb3(q~P1U7PW<(Pocwl%$CN zPdJ9nObfsO+!C(_8o zJ0iqnxI@@`yVmz1#i8a{vzi;hz-A~pN%`vXwsg(uHWp{#~|cDjX77BIo1N9RR6GrVihwcjIh_o zPh%YcVJHechtsV49p@@mLPK)LmnktzB|{26|uIj$a}H| zJ0uazy6zwtre`gWV9)gyuE%N+kU0}r&~g$BHklXcja-kEU=tbcdo)jjeU^t!K1?5% zHptgARHUz(nXBbN#66sr(;UPabLKHB*cP9QTjIVB69bXFamzoVG_6j0YadPu=Yl!d zGc{(V`f3iDurduJ#|B2Jj6Aj?(!e!bw|1t0DOPxoex6<(ZS<>DTvY{&SGVK+kQ3CmtPm5c_xNU$IWt?NnE$g-1MfTp^PrO z6ay*gmBCrr?1-dPqky}?4fSYiVg_WVp$7XH%ZCv=AHawjqias(Y1vcSSFn$;wKWq3 zB!e^H3GCun)TpOB*X;(fbNa|OitKO4lbIxL1ej)N_=L{j*m13?8eyWfmbh5`7ACNx z4cXe*7|LtX#pG$$)Vhi`or-6pe8YJkV$UabVfjMeb;MxLF1SexCfFV}KzF+~KxwM! zyYJVAI?6WcjO}+9;)d+wTKRu|le9vxRIaU2+%GU^saAQe#IZwh(I{Szk)xn5Ah$?s zi8y9Cf1i3DbJ*_72Sh(^FM}Cf`Z{&(PhuM%`TBsEDO+%`jTo@G;kPtVhztkU7PCy- z`!<_{?w%AnexBm6Ja;CqcamUrbXYOWbmC|}{mdWmqrsLOG)SoqZ<83ez$?PPd!X|V zFQZ;VA`?)Mk~9r|^yTyI!(!knlNS(;Hmx}X`JXWJboVE5u%Q2Nl3LIq zSz+0?u|$P~e6BgBMr36btNo(+Nko@4Hx9K0I9e_)@1a^d<-6z4$w_o|L3!q;9)26^ zY;CxNxR{eCtTL$!NJS(gGICyFIJ0w)O;y8$EA<;cg3W0ot+Xr#%{V%p(URDDgnbEv zVvA{U2q`}f4Vh;urM}#Xoub#i>4~9BmJ&fbRXW-Js#H?J6%r;#8uB>=pt*X}9?TWI zysl>Mx+EYXwkWh&bybHTL#Gb}C9e!RiK-7K4`VkLL`0urFk8`FHd2U{3e{`!^HDTzA5{7A z+$d=joB31h#iR1j4tdknwfylK`t|_0Z>nw@BYvxEjm=vPAgv}{kGO|9cXgN8o%@M& zsg6c{#oaN(_S@JhtGl%(#0{x>v3k!d2^wk-*css}&E-hM!b}pBJ_;KQ2_ui8Ehfh_ zNROfBjMr87&l`7Q+yCfIP`@ItI04qGOTmXQ2N$6C*)Fq0&Us^msZ}YKXRDp=B&VrY z#nSxeW4eLee9#pBI=%&~JzH01=D!51dzGgcP4D7rmC`G6pm2ybdRsqIFf@gTJ@E=O5}e3U<8w&TTDx z$H^+vM8mTG>`XcNxC_rCDF&IM4*v#TAKJk?zjka^d4X!gQ@U3Iys_RFWLtCP6OfhN zA9&OgA8d5#qgZ$&p*v2**uS4K_FR!c zo|gy|MmJ)1(*&}W?2{qnjO?da@tt)rEPhi^;f3ZsZCKRG`16}!j8go6UVyetSOZXGJnfa)3sS8kN@ZFoAq=#-z~dGXs`?0PUg#;O_pl+BR;-25-b9Q(QLl}X zD7*fx?;VtdA*mdC(?|+ec_ggctYPCl?@~H_`#!6w-dhxvgM;JsbZud_7&E``;b-2? zz2wk^alth0HLUJkQ(q>^@{gJtEx0Ockd5mt@t#ij;6F64tWBaJ?9i zAm=^125VEyN^gNOF4Q=3eu8s(rWY_~o&e`!nIov5*aMy!rKNQ(EZp)&CFeluLzUOE zN4QJz2vjUQGMqs@UQQ$wTMR-rIA23}4b7X4RVPvl^^x^Em|?+Q-RPblaV)J8*x`T@ z8qYf0(#MeNvS4$T+VfL0a|*5O$`~xPiHOlfBcQ6X8${>-RcfEFw~J;NQRS43r@a&tzFBAF+jG*|TbU^edmOW;)Z=gkAws_6 z6Bntp{Y-iReW}jHpx3pc`9s!1J;|6Hq(q{Ip*!lK_ z{XDbixn(G)rK7hOjxe7n))W%Cud$^F05>FUOcYu*#+^AU37vRp0jOS4UUb{YnGbV9V;Awl2?b{F>*1V?<`hqnM|z~4q62iaC%=2g8A7s^$f;|-@5pJXv17XEE=rU zM!6$^^agiBcu#b$mZ}e|^+@-+Fbb{`rbi~d75^MM5KE8XtEoT#IjE}?)bbSGcwMJ$ zGt6$N$wIG>G=EWU`e}5w7#*Ac&EaSkY|7U#LR>7{y6zPOeM7rEvErRgd2#)UW{cCN zN$Hba$m3b-896V^9E7$2keQUWN5OnvL+~^UeLQ)+<99>DbIDY0NB&j15h;rFqA0#7 zY@(2}cFL)EdFJCn9dwPpaH8@b3KT!#EgixgG>QwPg_c11Aa0A)O+aN!_ih>)Ia>XR z^$Yy5#B8&g67Yo4wH>g^Zm&}Utgs$l(Hqc0jj zj8%2g3-6kwx;`Qt2yJA2|Jku#i#lsXn1^my=#|s?#?YaVHyMU2s&_+oD9UT;EOk7B z`FWs&hm-n+J^%p^1KvZ`QLvpdy_5er8urfttwPbYm49vwcSB?gZ%-5*;B^8wxf9P2 zw%%m84bwCs2<_h$jdTREC6jo%G>bzmzt}D8Z<)H{~1VZko9?eLa_RFUA_wL5c z*GD1();sif-r}w5G|&f2U?Z0TqEI==hk^*x+xS@0#Lh;ML2$xPn?s^ zVM;Tcw}Xj(WCbx$CN|0!xY(*8n&ZHWRB_t@xsx9ewm1;bR|CS4zPx@knD#&QiTmS1 zt^tOtM9|m4>i0zyz-|VfX^|uW%?{GZeokSBD&m@E+r1zGt@ou+qVSH}d*Z``S~Lu% zy439tEgxv{^aUu1mhFSDh7+?#tHlw*lgJMHk4p4gPd=YX6C?z9!KY9Y-DlfIUO3y%rif_w#Ml)?F@B{#fIBWWRw!u|W zXv1g=XP*(*y_#i~d0{xXLVFX6e6cDQ36;o?%u`Sd~|WU`aL{ z>`3teJH8Q}aq(ii`m_5Pjl6Bm+s}P6i4#{o-~Et5r%H&=i)?b-@LD|P@tvxaBT7-g)dv>NEUNv%#bVW-4hn$(aCF~piR_h+L0SedjQJg8v(?8$?cO$OH@_#C|(Z=m*}aZ1;ri8`lAzM zPivBA=RTh0r5h@ZVXDR)>KY`Ve2)mkK$O)VjZPylzq4hjP4O@9unsA;<~`DCi{y&K zg45aqK%#ncW=Aj<$_3nfUR2)I^XgjU4`v|jZ57mjx<_1Yr25(aoQ))T;A}+d+GFv$ zAkJV3MZ^}<5QDO@M76WPk`IBx8gu;U%0ZPDmaraHIJ_(_G2b+qx*bxw?7WT!*EqY3 z+$*0dk?ivc+@}E+^GAh7Xp`{MN1Ag5s0J?Ldc#S92iu|rpo<6#NfIFHW}}12q!cgEG`XrSQvs13ODAge|FEQ>f2nOlVnX)@0XC zJj4l`t!M3OVk0P5;ZzM^hiLunN(0=A1GSb-(m-N$x6?@=uAi(d#L`}v4V^cRSQL@$ zwX5r$SG3l=$P8B?0cHOX#-n`nxNy(@$3*j#+Zy#Znl{WJ0~=ztsz4m<^pI%5_ARup zSf%K}8Xwz60H%Ihl1(3Ua#C^P9Fy_y+Pt`58y#~jP8TGtGvQ!fxX&0lD(BBjT+sP4 zTRM{?4*IKtN2Z>eIJYhe;w|8hJ%;0BK-ZxDgSSvIt=8MWY??6h(VB!YNOJ4;TGg}0 zoLwj&Y^yJ90Mf2UOtQw_>CHPyHEi>XK^6P;HQ~($HIoE`*Q>aW6f2dhBH3B{!ewi1 zX@-IwD-234D2GR?+X;BPgUSW|*cW+c`7 zy1;Y8TMnb(ejV4Dc-<7-&b-!$&>UOe1r|6I?3?p?u?yBZ8BjZSH9C(wY<44PPkL(9uh}^+heQxwxj>R)$f9R08qzrJ$Tr+JRK}Hx?qM&K;8kK z5n)B~5{C=MySQDK)~M&^few6HK)Sna2hXIjvZEN|Lqt~Z+IGEK0iytY%)r=7F&0xc z*PNl(T3R(%fbgDM zjY&7g+R;J`Gw^=97z;cfhnMKnr!TjD-c(UZG7npScNjRwL$;=3B7$XhNN?z=He*z2 z0TdXt!@_(jI@{2)e)ZI^ zTw|YFj4rho&4lyHgonU?C)nWriMJ<$AwIvwUvd*!_PwD0EL-2#5i@b%HY9*IJfT2` znQgw@QrbCp4hvvGT(b~kH${W7y-mm3Iw?y7-E+47lx(Jw!#-DUj~%Ppn+Ts~slb~n z1O0}lJsaUbk*&fU&2e=tS0Rv67Bfd5@iOBuLD4Z)p2dds>_X4^ZM4qIz8vP1eEW3P z#;S0z-vLwZ2h`eu@H+%n3mxVvdCOLmV#>7LtA(RY01><|yL^>4`}OhB;DqxfIcC_T zY(;20yyYqia=Tu+k%xgC)~XZA*cL?gqjXPp!b5ERzy|SvVu9{87R?oH^(nr$rzzg@ zMZs_`-_!@coXfmI1iwOcs=T(+^nmkabyGr)Q1nvUrfzsSW4d)Gd<=UHD95ul8pHX zK5E&x4fUJQ(&2yj_iBNGJ1SbhGlr~mC`Npzpy9 z67EWzK>JZ)W4_DF$S?b(JD2&)OlMCDtMigu7c#w&y@OwSgeC4O+qu0e!BF2%%DB(U3ofonbpGq!87Z95OKvgtdI+G4|%ylj8vI)E~DZSL$aomat zTKgGuVSA|HCggD~pEsJYHbd3q`+;ZM^Lty;sO9szXJ_Adh$x?O15~}P_Lo-d96X18 zuP1o`deUneD4}pg$9*xQ{%YrGo!x{VYiP--U&cAD&&-MGVhT;oZl!9opHDIkcge!W zV=8TwF~7MBGJL;ymUA16;97IlucgyXuTtH-%zCb+%^Y0Xa!XP0gp>+Cm0lm&y=I3o zFV%i`G-{w4+ju7YATkQY5uhgv`(6ffEi{B50|WoAq>90<-=j34$pl&jI=E6xqh!VG z%!%d{eai7?Z{@O5N;J_yEx1TkcSnf5yq$om&R1K{qoY%>SU!Pk!}k<@1F;UH8Feu` zEk~1)OwG@78m}|AklvImjHDT@-x?oo?fTIyRDC@BX~6nvwqMJUUsH7OXP_O-dZP)$ zWKQlW9~Um^*(?vK$Zcu<^AO1$VPUA6Qh-zY&a_sq_V>qCak>{igO765N?!ZB+_~_8mk`}(`yG$EsQ70)xT#`5HPf#n|9)SK3yEtkVZ&F9dn;NS$sY*j_cFvF$N?E>c zOn$FECjhli31$l0J@%Aci-w!h-zs6vzKCd9k3sXiV)TqeA8YL5b|Ug>(4x)e?9pY9 zfte`Gt7R@Os(4nwyW*>jlgYSeM2M@(GicSXCC6VSDKRDo+$s!_YCz?G(OKJnhXnuj zj-#~8vw1fIlk$K=PfFsA`LzU2Of7jK8*4&=F?TdAbKjhH0v_t$6ig$;g5* zWe?}^Y0#d2x@lS-^6AT$(niJS;(eFKp{;`-&nqVy&B>c6s2W8V;t<;44-Zc9?~9NC zOZ^~imqHxH@u-ZIuK|9x;e_++$MbB(ofPvk7xjSnpb6&2#3Zj>g$?b7`Yqu|)tfm# zgr28IC6K)*PH>fn%qk9gM$3(;ZG@DXp~A7JoLmaK`&O(%Tv$2ll_~ybYucS;R?f}@ zluaHqfdeZL%>C?1%$^X<10$Y>JA$5>%qN=^UO zA@to8@7zSN);{jA5+F}B@t)#@)*il0V6goj?Q6G!c%zM?@n=~CL&$y`R;<#_`0KUY8_TDzEngmU;Y|1b9$umgGhb9?s~f( zFIG-{Wq*V$z=!F(qSpV8^S~vo3FrL5V5kgNK{CGF*X?SEoMQ7Ew48|Kv#v7CbLF}? zGD0P`L*<2AH7ndJ6pk8$FY$JQ1Cq3jrS5sjQ2L}`F1MRA|yZm>N;bF z0#Wb<~f9{57Puo9#oTwqg?Y{0S)m)f2Jx{r@O@@u$<{_olQ@B-)DW6 zYPl5n@sZ$)WRhN@OBaDhVrR{I3rF0f*RGxnkv2UkZdbh{qoG3mY%P0Io>i4~>&E23 zG*YhXSzC3cPR=1_u#wEJ2y!;*-~}NkzTZ~!!pfHVP5ppDP!+0*pt_~m;pKP6oH-PA zbtQ>%;8IOvR%pzvucsq^lR(q(k~8iKS~ifpY5gV|+z)z)cvBWT*67t&=b4o)c zXC1F_iV3wF?#b-^Dsora=_sB%9fA}N=cGV@)6HTWb-vHbq`AXvJO#2CuS2Nw(dz}` zxzV)G;bopsdz-|{ah?3a7t}C}NJ_Q3!<+C{OQQ6Ki#cJT8~WVlb#FGq7S~a)p0L3? zY)fbHuJ<;d#<|04~(4wntq5s)SE*zp|e&G7oVql4zkt zG+SSmLibwJ<4til-N)T^9wVjKT4F+~G%2jOCqRD9Aha7_QvN>JJxLTjDZ!|yqF%X8wQy*GYxSo5EA-g-Hz?q%j0$RM(*oDBwO zJf9np+;M_+c$H_B(3VQ})e(9rGnwtjTS+3)E}rT@0Dc+IoG^9(yo5kwV69ta(ct+J z;aMqHl?Ki1$ZEu*0CPrsw(h}sBaCO@nE z+-Vecpj^1NH0~a;!D;~bEWS5ZvjBqd)GgqVprX<+7&lYBOPJ?K8!mCrSJ)^RtCN0F zBIJ4Qj2MKZdFo5RWDznwu?Jk>yPoX36xb@N_-Pvl;tlj_4`+K4z3H|~oW??P8RCQb zHU|odP^to6wi5RLthT?F%0M4J0WC+muLixCskB!fu!j~WhBV50K-BGMhU)G-at#6V z)cznL(?Rh(i{}5;9BStT8n$pE!a5C=gggenK)Gg=)dfD#cO=_ zyCtn?=mF-?c z!;n}U#g(tEv;XdFZMVsTp-80OP`R-)5MV2h**IA#8)VFj_2iiB{%DjVD}=EstHSA4 z-ff#U8fQvJluhh<-yf$z=+5tpRwUJAl#d{l^i8}Pn5}OX0rzFwm$Ou2A&_BS5@2nc zN?%S?(e67_J&|J;7cEi4-drYMo4~9C>TgZAP){Ppq=7h*jE-|nM|4t@v3>5|uz2HF zPqJU7$o(y$p=Xvo05r3v2i7To+~U4R6@C`bkf{R1XQ@x?Kxz&}+Y!AXPc5vYCAu_r zQuxu`2~KdsM2dp1^KpFjsQ*J@FO%St@Hix<7@tRmQWC)otJha(?S1QsYYec4v-e!HAscaPcMJ&r=U9~kZw%pR$$%S{X`_W z8i04+H6MHKFnI?#@sfGLAXL5{Y!(jBkd#5aMUcxF*eS#Sm4Z9eTsuB$s(4XVGfA6H zqkM0CU1Os2!FqafAZhtQwLsBfem~}<_L;A+_bKW$r%B{l=2@TK1HgbN+Z&ZA(Efbc z7c!{KrM^tCU*{k;UnQ&8M+s2>4mL!x%)fLIFy{X$;2q?ZKkI)ebofxRD~%}A0q7RE zS^M#T!N3h3C0wLy?h)WCKHs;ZRu6w?Mn5zEVCpe?CRi*|&kUCwFK{K0)9||I8RHO5 z;vY{tUp5%{@jPY9zQj)lZ7Kt~?aC^Dl@GkBGF zi5;M08Bk(xKJh6dGeROLf!u#|y05J_Pi_?O{@9~`!#XWm4jxDl52s54@&o-s2t$03 zBR12L7(}lgxeg4j6W;Ik8m~NN;fr5`oi6u}L94{73X+ZYfws`TfvxU>|<<3=I zUIs?ks*Dtbv{#Fo`MJ=vFb0>jn|2m3~>=~m5utmXKW@&Th0Q3al|tD*E_H(tsb6%i9hT{@reOBh&L}1Fwt{B zUDLI}l39Q68YuwWvKSdXMt`EaG_y;M5$CL#2ZnPQq40Q$#9*Mcv?1#!e|_`yW@XSS zFC7H=@FV>J(h6d_F}N;SQFgI*eE#N>_T$ML_R6Bu6W zk%3s@I8&Fe6>y8`=>v>-SE;T28NjjHD8bWzl1u@7*^d6w)TVk|*+J0UFjaG&e|k#% zPV?%{W2DzI)PR}wv_2(9t2dce7|UCqHc-oy^UsQ|=j)Ji~6#`$(?AlV5Nw zZr}dTdW)ss1Ni`umB-TxoB zY2|SwfB%f3igV4}?5X|@965y4eW%`1srm| zztbWfj)7Reb^!ddhc`|?A3bFYNuKWpYnfOBeKzz2d@jqFo&6tuP+yWK#;8e5m=B9RE>I`=x(> z+Ty?lCDBNJ9*khZ}_- zgtZO(eu_OYs;jU#Xx6QimHLx(z^~u|E4|SWfgQ%49u8on{-Sn<3y|&q?eO{a>ret< zg0CUK1n*p~k`NZ2e%3M+D}2tApAE)G2P|h`L#plb%WG3{q&F;s;2AVKBrJY7NcLdc z!EG>6rut|moZ@b-B-4K`s5ij%&`dZ8^j^kdlm7QgDud<|PG1dW&8!IxmcJL4;S(Ob zk;{|AeBIH81ADhh*+{?{^R4?8!>5v#aF|l5b(?T5c*;wT*`+f8IGW%>#M^pGFn0DP z!WMUGjP%D>H%X<@Y}><4;QdjMGl{PovPF6;Gwlk_`|0K$61AU`6aRJ!4A63}1u0m&?mE&Y|4&nP`=YEc7I z)<#%%EYIS@7$_Lwq4mNkaelSXr`#j!*vH z4?wY*!^yL~Z;It^C?g}LD@zDuRX8RT zzyiG%E6^Ho`(|<}tv|pV;AZvn2_6yy&i`b9vn3461=2qQJVkW&+jF&xr2-oC-jh#{ zEJyTnk6V4>{`+^q@OkL$P_^jTXcaMG2;1ahTST)+G${~%Q#h@@g3Hn8ny5aAtez~- zeu?OXE(-z`_fy}cn$?Fo_4x1L@K3P;yzo<3;`eC)DJ`8f8k~^aQPov^57uoK4bc8s z!BKeZE18*7QmgAvkmbA=0aR6#)#x zQx%y*V=#|EAK(c>@IiZ#w7%`&glgp9e@{#pZhlK-H}Pi&q*2treX18U^Omi!04y?0 zlM%2t`b)n$gxqv(L*Oc}ep*9*O>L6;Qi>g_=ZB^zFrSldG{1L&(yRLv`_w8giPoi- zyZ-?&5cm5ms{&+M2uFGGa$gqjYo;Xe|6-z$7j8IE0{`)OkW?Gqs1qINo1|9z4`lSU z0-*hWMhQWQkQlZZld7YnD%$rV5;T4kY~hvr#}OPX01u-OGp+ ze5X@BwRyYuAl$e=`xH!&SRwO zcTG}*PEOs~pNp4p`2w)oiwsDPAcZ9bu_r)%lzvjwLxaQFrVXscZLe0q4@m}kxJF#g zfB14jC+6th2LGBzF-iD{l%VwEgD~?qg7mhF*pLg~$(g)^lkS`}<&ylrV=ELq11#}4 zp(#v}ZOG(8>OurFnj9!q!FI(Spik*gQ#0W8UvD66MFbH@MVwvQEMPHZg4K|!c6>h+ z^N4<`AH0V}UtnKC#-PR!Nmw^1@-Kd5e9{6I z2!u|5I7Y9a+6e@lymSwc#|FHp?0*n|MDIe{m;8#CG@1b09|Eysk!B8GJPMF11c^eC8&}#g$ z!~1K?n2RrM9pY?rwzrKk5rb+5zh|)A- zcqj;#>y6laj_5gbIJhJMSGr2Q;}JXB#ISlG*7qi!S}KX{h_aleO;7;2+zoTu`1hs? z2QP-%H}JMUMP38L4Z@cIYZ5TpJdL3{(~T12B|N)!7A z?;@Bi;Vi$i{Xcqm$op{d#(^uar$(v-@mL|WFwxM5V5p$Qf84Ef|5NImAAtQDqjr9S zQgbmeYdgBC+B`iDvXQ#X*6F*2rF@Sy5CC5>Pf~RMCbJKa`+5eROk4sB4#s zqqOMGX6R#K;mTo$voG+B)b})#T*aaQEhjhvXg5^HN9Aq|w}_zO__PN_X!f zOmvQk28mhy2QcS=-aV~)e;{yFJRT~!CV3awWlP7N<0X!{u=t{5vMtdjeZk(eELS zSQz{QFFc2PUiF*{Fy@B$JDm5NuCY}Q2xY7;6?WP1#PiK1Ft-HZOfht{5W0|d{Y)1? zE+z0c`%UJSqTq`cUO-*$j)8|uFgqTabwV-*Iou>7=`)Ff34YnvV^}_IbcB` zCO5hB0x`v2q_EeZdN!>uqu!DuAQcb-9EZEJzmYYy3p`^fkpiS+0Ij;TO9^@7J&WG? z(`DYO$t(f4j`PRE(-UAKwo5*lobhWvLdJ02VLW(+SILsOM)Ar`ZwYq>7cg}m%ts75 z4*%oh%b};PO2(ZXjABS4x$hlULP;^&IxyOp6G-*^_?rh{OQ3KaO^o#NZ11ud>{1VH0_WXsX`)i>W-|tz+-!g-uSS2{&o{pEe>>C$c z-9qH=b3GDpV?_|yF=BoIu#E$~rIuW60*p}EdoI{^=kjjO4G13%A9lEY$Ichj>VRNgr`1euZhCr7X zxOROAk&f%rZB`pJs@sU#t_i-i*dkT(5S+#SGg^=`kSyNU6ePgQP0qIsET;6}0F$T$ zFl0+qKudWVo^leKXS>MEX8Msa?ImYHBzyuv&g>;udWP|jCLkyOFnOE(J15h^ucWab z+G_xybz^RZ!m3KBeTg!Kc&1l{mezpx|KJ~h>nG#&Shraq{Vb{pK#)%D{d>Fs$oUx1 zr6*%kVUdL5)EWEc*LVw2-$}p75U=J$o;MLIjLz@!{grURgh&z+8N)T}BsGA*qemfB zvQmG&F`4z?Z#;x050<|>}!nL zpGg*SCx35C%SP%P%b8Q@csix@J1?h;y?BAK>r%&8CXX$=|^ zI*_{}l%+NcbpTQB(f#cHm41O6JJQpQK*hZlZ+kZU`B&wPfGbJNhpBl*61!QAsBgP;Zm`u-O7NXjez-EFy3~7#>-1SB$d0rzk zJK%k?>B3bM`7l*!m5}Sq?{rG??=09(go^t9#j(hGCJ}JCO(-3YR-;NZ_$pMNxLx#V zi1E!5P4`wz_+%8kB0aUKB+s4)vTgimx=OzH{naTGzG{>}_HYt-=tW^KkAXu$fp8eX zFwD`jXxtn=43m%IQ094g>BLz)n-5{RqNDuw34WOY7riT}b;S*KUTRp{dj5KPiha7I z;8thes_rUkG0{`ugtju=d2@t11NDPc$j&nfW1kT6>qZ)#@M{qsop3J&T%LMUd&mWy zUSw1FwXjbe7aEq*O?FJlcb|)`5!lc!V;{J=eP1H zok8Ur%NdMle}?XeGG>d1JiGPs$m<0MR^+)m{Jvqvu|l(*ktm_dKF6Bb$K^`ic_mn7 zn5g0nV#L+>5w1chNwH@}&Rv8ma4ArxTq1I>2xHhi zwVqGlKcrK?aOitDp!`=W7heO|7Cwa7{1kn<#MRd$@q=bG*t6@FUZZNcX{=S#SPtql z+Q75P%#;R>K}@+0&VW&~{pgK^bIDt4X_EBS5NhPIy+q8OVoy&u&Lo)w{`7?w;=9tt zF4*%65+lE&3(fZ~V_$-djJl}d*BEda!bh_fI!EBNH{sp{$44 zlLblsE2!RwZ%fOlD%gr~-Z|2DEs$r}Au<$lnW^tl2<1g?-hNh@+gKGA%kYN2;!yN) z=#bR-Ny$Des*$#xjhZ}~&3kiQeBx%fx!=Z$gKhJ^n0L?niEtcuW^nci4jmQnD&sl1 z_TO$~07G#BR~y~I4fjJSM@Ch&7UF=$RfU!=UPNJOeTlrQiB z9M0Kw{wFR` z!;9}r$4_I^>^gM;Wba8{D>^2D`+HOR)PyA%9%fm;(A${5V}_`;i<^@ z6uGon?v4aTdHp1k!S0BAesHyCqv!pIBbfuX0pv|jK`Gi#bP^AC3V{C(skPV78c~gvllEU0aHJrty(OFP3mF?Hy`qe{R%%~DLN#X zeneYSBgy}XlfT0fxD)WMTJ89k))O2w;fA!TG%D9xt679Dl*cX@9G*NMc^+7Y!j}_u z1<%S_dZ)qaO9UtWrO8be;Sl?n)uB0CcE^jTJ*WxTHhtg5kv@)0IxJ=@kP+d8J+J$u zp)S(uv@*ae&^7Z(<%4){u)`8X{d=%TUwE=ju|A6!iGPykfF)DnmeG$A#kD#l2$1Y-O9+g37v-zUri&fr_&J#N##gUUA|Z{*-ldcmM+O zd5%ySdDuB@#IzD&E4_l0qkhd={MfAK9Wlj1eX@op$i}n5qnq7?rJU+$g)pD@@M;mW zS~ld)b0_aHQ1~VI^v&-OVGRMJPBX!w_&YXFdm%^Rjh^RJA2i8`-(o%h={*XGQQ~VM z<}_>VLw2dTh*NA;hFP^S;9nbpCEC&-SADxzp&+fw40;TlWu~(E8yPEbweHyOH>j9# zceg3Alzl1AHQwJs2s$L6zUJ@1XRLEeJbKIrlVrW>#H2I|wPG%!KSE$S3Sd8+8I2xu znc7H;t5KwzA?gsrr1}=xsPcj8i);;BX%^<(2g-`iatu2PliBVX(tGa))FSoB9{+AJhY0+}g@N@XqF^bHf~5alf@@V2#1 z6k;%lfT!`s6R*6WyZx+pCBRIY<{%o`3?!K=4-GDKqV5pW{hw7`k4u#ZWE|kuMw5Y# z){kUSrs7OgzIgg!DESz^U$6BJ6CP%YX0HY3IIqVEvF&*?ZK+kURT>+n%Ad`?7a^(0 z;u|zDt*t@s(VVaIX<5TjqbhnO^-*GKs%6aH)XSQ`jbyjZ#5>w%dpivCqs#h+q=pZL zBh@3D4l8ZSFy9FuYiPmULT9y3p4vHZ(?lF_y@hEwD?~J+xg|c#uEf!mf2=4*SoON2 zlkw9R_&O9C+GuT_4x7=;yZFNig{#7dFC*#}bab0{{0aqM3G7U=rk=+XWInlFtOi6J zV%`#&*L59Ee=8MYaDq5E_+srpdbb{xKhD<{NIa2=7S4&jqpmU0q>EzxX&O0DhW9s! z(4c`Pio;GkG^{`6KLoktn-U}Dg$C9IA7sT$s4<;KeU z*A0dDpi(;KU*d2-O;hE7X6w}?0GPA?oi+OVW^;8rloh{qJ>$&}&vW#dvhf-1bN+^x zznN_pA>bFDnvBi(J0AcehLXUUi23X);@sDj*+f_akoSR#exKA^>HqhGO@T0Z{Qpix zJN=3*vSx1(vgJLXWuaGQb zox#{;9gKZ2mful&-iPOX|M~sXN6dWB`JUyz@9Vm+`y9}TYcsTi2+^EeS9jJc8I3;O zLPE^fcOSp9Js7#Z;6+Yxec3rp@t+Ytrc~}Dl2ATz^o2>P@!*1GN=wnb>|feVY`b6g z_t@qh1munLGuF;OblAUuJLpE?49zg{!KTg?)RpLVGr7i+J55Rop)~t`rka+pO&#%+E74dJIpmyb{mkxE)%LecK^IC{_jayQh&r5NDUPm6+~F(d z0w4Sa;N$VPw*K2u@PtrdKn}0I%KDSC_}7zcxIiyp9Ipm)w#vRk!c;!qf&nxzV76Ng z@_XbmY3$ahtLm@sduKKF!oMW5V=P7z9ES8;5B#quZvS{zTaHz|e}SRu{VZS`kU-b!3qviqwAa2?y;9QU&O=aj5$lrYah ztlo4k4xF0vuZh_Hai9oP1+Hx-F|V%@RU61@XZ6GyhKu}mAkx3YI6jol7Y0T)Sa{5h zBHXoswjwLexbK{_CU3&#(ho;Z^n6fz6}?|T!k7og?>O*(7R{d)Yqt+01ZUC>1$!Gk znt2gw(F>A6!$!~`kdNBkrzuUj2fxWr=B-?=Ai%TEJyuimfSOh887%e6d)pKFjql^{ zgiEmSn}T2h=g{U79`$`+{YPgK;;d1V%mdOzyKW9?!gKZdw=8i~jmc z+k!W6w7a4|3n&vFs@r4zx7%1gpP(ma8|-I>_|G7F(Oe~Z1%ks*6O7@Mt{dl$RIHEq zPw)gJnW)mXFMD)!ivG8gP_WC93r{Tf{zYB+5x$&HXRa5v=+#dJBBxGrD(9zn=U;)t zAky2$7pRfD zSI%v{d%J)(PVHacBpqzf^*UwCHYPuFnsu8Hy|bR1mjCP8-a}-!dw5y_kclP+ia~o? z@foGrl-xWbT3+;$Wyvu~PDUHhp(jC&!&{DNz^H8wIqdt-3;K$08`c|$&*BWu8;KviI^+3b$3Xmlyx?hB(t)G0CBEP+;6wxEYgzc2fInvf{NGl$w6y=m zx)ttBH2e#|7asyH2FHV$n*gFDx?b`%E@wOlF5#8QYuQD4h@6Nv-d-}we;PSlLd&tbvjR?Z(nyi$NfiQA=uU#rt<32Q115(Af z@SRlgzaDP8t!v$7lP~SI$&rze;r|9pN_Td23@@T1@{*L}40Ps^Os|%NUdZ>dsxLI{ znG>-1#NYaWg;IIg5-ko^CVTbU;s0#t<9}rvplBmAzk&3VNHnn!Ry#B^nEoUa@D8SG{4PL%z7Pkxrl$tso?H9^v&oK)ugju>Fih8(-L{9irqjRhp(B8yjtzB=ds(i zBsp|jn*AJ-x94xC?+%bEj2|`4;{kv@x?PjHp(pX#={9SC|LWvjYCV!H6F8YOMcsY- z*tAV>Nt4wukCYS}0~+z(+aOE*+?0-H^-zIM$p12g?VwgKPIAU(ca}cE=NmmWt>WYM ztV|#iQ{sr(pLR>#w(cBqjeh)JAG43+;p0^(X^%_)DHwX6J7KA91kd)RZ6C}HM#GP113MzX-Lwz&Z z@3jxtnY6U?TxVV%*nfbM~Meejf!jv)tc*zTWfkk({#QXTS0HH^2WTqWuWFPBlL`=HGC8<$A!H zgUxe;ezTXq>SGjGnk>$;(`H4K$JN(`^hJb1E&8ie9k!a6MoF^KSS2g1Mnp0D*yMgL zpM8}7{wE}HA2`P7=IOn^X7gQHxydSG9*~81s1k4N*KMb#f8(%JR?n*#WHVp?Jkr4g zcf571&tYB(@rwc_#FH(Wh5A(&XSlhNuW1$i ziU@<+OsLhGeQoHiA^9(-pDiN_o-l|@72Ep;FMNF%<#5Kf_Wb;2sw4DD!TZywzAEwV z`B*%-mAU`IRwjHv>-3X0n*>$Flvy+s!keL*Ww_+r4r(=y5w9maBoku+O%d! z(L(LF+dV7WZw9Wdxr@4MX(jy+v|h=6kV^0}onp~N z4VH#qh}Vy7vSrabpU?8|Ww<>*%*@SEZGMXOm-V`{ytt#JFJHo2r>M$pkmuXx+mokn zn}B-ji@n`&28t)quXpz(go6^{3A_2Jq7aj|R$mycQry}HrzVJ)#!bnd1_BF1Jp6qv zSz8&Kb$u->5|pl{e6vmY)urg^-#5|1H+gf{+Gm#I>Y=%DA;AkWDDUPnC_fx8)sB3A zXk3fChsd;{u=}&K+ye%ai|lb>Tj%3nQ?GA5BFZ4!nEY`KmU6Hro$RE~e_+=Gwiot`AUQO3dpGQEoAAwQWn{+Tk4f^X zyNm(_b*p9qX84pDe&#&C=9xmzOT{0L2}jpYyR$vA4w*ibcD?t$UOem6fiyM5yND7F z9oyKXyi_QQ7|rgP0*m5?B3CcvWHWa{%AS47%6n-m;G2kJpVzR1q@Nx{L%;q5&iQAs zckC6a$)G}b=zWEZD1Xn5wr5e|j)k9z`7^S2cN^*L-O+r6D}fP7zGc0u|GptC;!aoe z&{AKFhK7&6^D31s_HECch^CQ#TqC5rwm>hMF!NNO-);G@ww&}(HF6#^ndd-i~7}Hv8O`A$h#IUs>-aQ4acvjd07X0F85vr>pb-? zznfhePlAm5ncI?wbgb8PA)16KtN&#-BEcfJ=oQur*tL0IlvWm2#D>h-Pl=E(L!L-m z>Q#iyEfI*sFdAd_%T$xgg^}Sc!IG3ymu!S$H5#ZJyROG7V ztEJ(i1wZ>Un^cfiheftfucCSm3I*@#@wR8PJj|7FFMw@qkC!ueU-><%WQ2eSih5)B3(YRV>+=Wz49}gUKi~TLE{fzr4bh)$NH~gaBHGk7ti>@sS(d52hgKy7sMI zbMqy?lCvK3vzAK@AsSU$(*`;WG2NJm>Wa`)>Xi#@~N~8x84_bEi&Z9 z?e-A5_@47y(}AI{*Cl=hNZd_U`e?vyFGu&sg8h%D{qYt!N8P#XHps5lx%N}{xq2f! z*E(s%#onSXxbTBpI< zND8m1ZrK|ZJdF2o`rsqU6}ZWJv6Q-|EZi1Ef2#lRi`|< zd2e-yY*OPo2=fG!a*l-5XzVtXK60+~rAu=Z zZuWEBs}o5qt)Flg($&x9oR*sGhNJD?QO@@_DJ8WbqmMVtVb3-J- zPOBoMAznxLwXP-G?h%nQrx%B>X6szd$+t1+H28_{ia&D8v93-usH-h_8F?1OPW4%z z91M3&I9R=3V!@7&EE#dyv)a6U!8WMx^Mjjy4HGk43}-jGF6FJKkgh3qW?g=qdw1je zDCN&QwGNIr;&xePg_KYrG{^pfAI1&LgR|c>K@LsR&e};Q^m5m8xR{41g-gp-H%SC~x7p44`My;D9``T-$ko-gUUQ8s zrEF#*Z{uDEu#bY$Dt?!30KVtWi4~J-R@T+ltCn3wxmgC@O-Sj+Q!Jsn!r1!7tF8NX z4-5EqkpnO@0@sphcmKtA-~OI<+n3*~`BZFd67_92(BW`@53NI$$I~eHv`IlNq7RTs z9&sOTPZuvy-&X75-Xh`BP1)LNuFooC=XP9+a zw)MG^@{#qa0(3rSU(mG*L~oaI?UE-avCl;f=h*(fM{xSuD^cJyee>zp*D=83cCgpo z+jNsxM@N&zCdKGR+^wpCZhkFUHgWkZ~ASNky z>ZCLZ!iP`%6JjU{gV9_JO)=UT%@DDerc)I{)n|Vw8gtw}`<=SyxjoOZLPpxBG~LTj zuj@XFmtJ*?zX8R`QK-(w_u?N>Vg@~(gKIsqG2M0x7`u(dr|+g_9+%ga^P#G`6^AjS zBwJ@?DnA!c3d-H$xD z_Ggpm8i6%XFH5=akCP6Op;Qd2{jnWvxUg{CK^#;U0H0$%M;UaS>$ERgEX3uI%~Maz zq1owL9ZL5xpBJV};=!M3HFk?IS3Qut)_B@}{{c3BDtxR}!(GQDaitKfhDv}sI_;67&rzc^G zL*KAFE>_};a#L)V=X!ka^pae)=ZU1@5e=v324B`WPK|xoFfF)lsTKbCah?PF*wZWI zNK^O|_8JKmRaN$&+!z1gOzIpTiSzX`O7$y}mI-jPO1Q++`qRfo*$zdni`8;n+PG$u zNBi>7i+do5#@nAiT*{SyXvY%V&;xUyY|pt9;c~gsuy}hs{8XB!JyVjIA1)N7*cV%9 zyw-1QM7x~!VelO`q+9S9iS2m+akhswD3v*pfSMv#Ro9k89(EF17<0Z;N{)ZFY;vSQ z5?Ox`y=l`vVup~&%TBfyhl`&Lub)-C+$)?W`s`h0-~LIl*UlSVOB=~V-j}O2pOv{Q zQe_Ew$4`u%d^ofwUA2rFMs=>-tb1>G7BO=Tajj&vWafH~>|#6a%UE+iyQq0@1xqdI z9WHFs=5$hjo>yEcBf%}m-EgU>+_`;lqMPltwN7@$(9jVB@1PE%METXVu_a98!V^R9 zCO9x?Y7Rf_$$4vO0USwww6Pyc9l88I-%K}Se$JEYBFHTdKja2Dgj5`jqaSfe3`-G9@vlN8)?MUPU zh!9_6r1QnG8C%+Xp*P;+I{AmZA7}Q!9O+qmGDH1`ZAI$^WpfcFKQ1f1{XLT*k`y?I zj2eZG|dRgg``p;G%_+6&&sLp=puE{qUhKDy0EX$ zcq$8C_9=Tzbx}Q4^O%^pY;Ivr-_{US#X%_+$37LyKh^V~S9x(_(52EN1&21CKZTl*upsS_a zoT(&x_yhZ$-!a&Jc8akhTS5JC6{o4hLn|U1rD{4E<)qld^38l?$2_EJDi)ynlsw6* z-HDaRjUlVlg`)PwMschHJ4a4LJ7cickPRY94SUsfJ#TQLWO~$1d0KTs#*GkwEBHWa zchna-BgNSMlmFv_P;v^SsrqNv!m}^V3vO;^O&r5p)@xf=|3PU3$1K_$BMe@@4LhZG zBBCzIijMjmfU_@EgWt|buc{Z$Yg{@5kz-T+OF}VAQr6?*!X6KAiblRJ8Gdy{#1d;a zfiI2)m6!ZZk^pA!m!}|w;3f7|N-SW-4&pel*KfFzk95w6I>k{j_XI;PD%cs`>*+aq z#ZtH_Sx}}Cb|V7ZA@HeqE7h$O%BePNQ9l>t_zos6xFkM#N3!YJTYP+4wzXuFV}*Gu zN3z{gv2mLtqK8CsTI7#dDq-y+_Q*o^qKa7}4VKb%(Qc zDJzm;#l028*pxV_e8-uCc1#mJ6-31iWsi5K$RYl6BBl(KNEph)o$-=jRi>i7_IU^s z50az;(RV+f*cKur{JVDL#`oLA+vVo`)dKV$=Y=6U&v#rH4U>thuP>Uop5l_~Ad)XEJGDQq zL}?eV!4*rxfymX|G=ge<3P$pPJBK5hTp}V$3qpem!xxlvvu^KzFGB;*`49tEJ4-lZHtfyU@3s z&i+6*+tl@yT4gs&)4OiY^NhuWPe(-TT;Ju6pNiW-bH0@T-qO{)*W1C3TvXITw`%L} z_G+>ajHnoI^-SVBT2PVOuf^W9Uq?PGjn~TnpA7L*lZ>8c+{?VBIC*Y zPf?VHR4~=wCldDebep8yGzw(elunD1kArfkxWD}~0m8n7lB|&W&-5aWo`$TF%d!*Q z*@04<%=+H5?Yp6T71t%e*hFnrKW1&IczY+NM0*>{>&(Rbl>@7j~c)pl>Wl18e|~d?{UUfU(Xtm`{M3DmMqNZA#>p zUQ8F|8mAA#mSG6YKhX^1tNMl5%=@M|mJ9H|@86EhtE4!rCYwjBJ1Ar(hVm#DG}sB@ zm~txtNO*Vu=duR+rd=KUnqqX0^NLR3WuG5L7vLDaE|KxeXl7Qv)TWx~yXOth1cP8# zx)CPnA#<-O-laqPlPO1C4BzyUrNX^f^u_z|P%_!dba|>PkOaw&Wu=ZXzkKfxF)Fu1 zD=_{@;5a^lq@fGsl)}VUI=_=TwX*<1%C}LCb(mOkIrDKoRL1ROd!{t@9asEZD`5<< zqK?E{Q6xQuiG`Kh6Q0_ZZdU3Y3AVxv3S1wkgW^gr0%nKD8!0)gop<0DhMUP5$rVSu z2&?`WYkcBY!lA?Cf4JPZDZPyntq|W{f#h@sz^&Ie_Ok0=>a166JH<-HA(B`s+l5!3FtdE~f7xr-hAK@K~WOfpO7+xe0G`S6$d{SO$pc4bS=0$r z137(`(VuF($o2HBTQx$#V@(L`rEj#XYSAeD$aU8qo7!Bjh?G>pgrH!x@Vj`PMw2Ux zNDXd8Z9(wK3e8R3;R9(1ucC||56CD@JN7m8I&u7-N7-t^# zJ4|k{IDO}Cvf$q^^3`@a!}Y<$kw1H_>dd9dj_LV&AbPAXj8RGTwcer2GiX#7Ea)iZ z`DeYo<3n2>xES2WUr9E)lJq%TAa3mKz!tU3v;pB^>ng@x3D%c#JP}1 z2h*+*Ux(8v+KJ%xGFkPKMf6a0|@-oRXfeW~%+=&3Of0!l@%TjSmOf=uCeb zZwqnC3Bd&XFDH)DdrsIiRC_iHH^7}IdO3BxEk1;VSWGFFjaA;#E#Hi_NV65@eLEUj zofoaN>1o-YDqcob-QYjCav+V|r)~6VG2?>+ZzNBmP))s{w3ILr>3>+g#IYN`f@SSt zus*S95r6(oVtFd2#@!&&P_30T@BiSGd8bT&y1TgeZw7=*^*~malM!uj-;?Dsi$R0= z4gbcxWSY1?k<32dz@uCVP2$$sFMb;ak;rbp~;RS`^;h(?lPs{7^ zlk?wTakXl7UWKh%77o|S8Y#>aRgpGP+detfxK9Y4INaMb?d|Qx+Q|c@_|*Syr1H?= z+2iU2t{3+GYQ0P$@J%O!a}7PysOgWV)rsBS_ZiurO`qt^y+_f)`NdfIGhMr3cjS9M zx`)c2f2y|7&rcL8nqk*B>Vg=)_jU4L_1Q7DvkwL;;_lB^hMj6mS{SVpst~ps8S6Uz z>h}wPf0FNlFx=KI_AfQzwcm4o>2TC$pUf&D59`nis~-W>MiG?l+8Fdtntsg5I%+^d#%l#N(&`I0Csf`YCBwWi+E9 z(b;!IHCv_PpoZvQPs4SFx?PI)uW7TRY~pOd#H(X;uHJ+APTHu0O?CE!IAFW49LkI2 z97TnkdFim$xHMY2AwmrJHadqsJr}&7zXFq?qeb{gg9}Bj`Qz`b#AI~~BR_q&#hrlDtF_;xrJ$DDzrIf5-}c1| z5vL`-)X5?W??ptw-rSa6h0_S~o~f|roa`*RsarmirE4E`#4Y*u@!CTMy*T$OZAH_u z@&Jc%i~Q|m>vodo9f2i0Gn(c7h2!%n8PePFBwY41+_og?SLJ()?S$XTW5}B)#kUmD zdYTKW{&*EuV~-1X=Ua7=aqmY}Q{Ilfx7I&4*Zs;{3lU+$XQ(Q5LLgMt&c?8TFehnZ zF+I94N?5XDxwO0=`(?A@;1`drTMMXyYw+-%;=EI$?Qo*qzml5WFBipM8nR&*Ifoy0Z7OUL9_ppxfGa-NV%$~7;y@YW%3;S+5gSQxs+o~qqBwmLdCeB=be zg1Q9#upn<-+O@PoAf$ruDRh*nd1+PJ>0-B3fmdS#xUi`kQ)fT@9#ejO6if21u$VSq z!DWa#47HmLe*ggcl>QS72~Ji%PA@MVtbH*TUGQzyxXHsJFdO#Z#nh(nKfjpfcRz{#;bHxqjPhm~9M!tR?d)5KRDt695>1U0VObvS=NiSd&e zJ6=B;0jLON5OCb2Q(Mu$7yl-r5ik7XlkNMOoG>s{0EH(Tq?bBC^S&mMI@XFu)XFM0 zJ-Sz1YWt|*rdxxm4*ch;ED&Bz<7BjQ*$s`tSHm0AYV=Mp_q)BX9xp7P@5%cyKql=5%DRaicPB zDaBbG-cDOidBk7PWW3E~O+P;7852K4)#=1EDbRb4$C|%Y|8G2s1az@gwK&I)k6mYJ z<_slyTZOr;BXKNn`0XR=WQHHUx+-$tLLf$6GuW{d#~9`Gp-uldAQ=#O+RpMuP3a23 z&DP1bkn_?^r^kJFhW6IW=^!7)ubh5oQGY9t6d&%p0(^Q@fb<1P+NsE z#az2+I;EEL5rrz9tCCrDtvkG+&*rmHkeh;&w4W?!wRQgdYTaAVZba-(M+zL8LI;`X zNRO53E)1O;0nz>lLM)rhyQQHfk$iw4-P$!%{Bj&yr)N@aSIpU$31x=i<~oueR8`kConR&sX}xJn&BgkrHSMAXK1*zPUp<&M0H zV{yr>)t5uUN;Wr-dtDZcZPCflayk^7+n<-pnSFuOr`w(5Udn##HEX-QusD~atn@Eu zdUEAqGStaZll|%3q5!^k22}{F-O};89q$G$!Iv$z^D(R}v7)CXNgjj9Es(Nc%N`T@ zzUtKOPVUt2&`b)WsH0psY6ZCp`xC|LuGu#dmA@=p2-gX2rHmuP32l1J4 z8OJ3w(6XgL`zQx_5~#jrPnY%}6;%7|q9-Xt2YGI&{SD@MsQ0Id-iWf^iT`iWFmk+! zZ1TfJmEkIH`_iXs4tOPxE4(;K95f2f16m#ip_Pg9vHtqjg77Zt46T!8!znoHeFaE_0@>A3vrB9lcCd zq8+knDBvnJHnl45X4QJt1WM^0(A4MQ?Ld{o{U#OjI(!lgU22NQT=@&n=-Kgt((SPpF4 zZTU~J-rME%FxGb|dae6%vv}q0cap@FVU^L~=w|N;E8}#-rMj5&6k?daDWv2WA6Uf$ zLo03X0Tlp-FqF%zmG0rRKS0;7M3&vP)HU-qmowT|J?5v~V~&%%wt{~C zDkPn=CT!!BDsnv^xg1+)fJ{r!` zy_;-cS=&H<1dcHpOlEAC^lT6#lmnbL-?DhyF8HN%0#?R-vP3$;%d7j|>Lw|yj^i>c zp3w0+Wc&kl3#l{}y-0UZGN${%>b$?n{JafrVMyvW!VR{WXfkBhKWGu0=L=EG;%l5d z;gGpJl;UdQ-S#7(PF8I(?~}z~tle!aKwQ}4hZZFYBSptdM&kXk=d2Y_DyzvF619+b zLQAl5ojYGPjeE0{zNEBL86xtK!7^KjEFI!zR9eo2G?sH}Jb}X=!QDsO>6-B%Zn7ir zQsiqK#q;=?V7)EzisEO7wv!OK2gbRs60BI)h?h59SpP{&s8jSZ-YlePLB3cVqxC&M z!J;l~;Qr8g>P@IWT64cnG{$ufzmc*5nepk>LS^Ntj9!tRh?AVCnu=hkri)6X}%Eh z$Wrb1xBz~s<_59<($&arFU*_t>Y*dyxpYE7d77{Du=~rK-ZC z1PL}Sj9Ys7v#h-F{wlQhqKUB0-DMdp=~cO6)-45FL&Hi*@mt>>GUVA;e0(ACS^=?f ztN-+SOUGV_F5%D!O->2jY))B;HVbUHTh$;Z6$hJp6FnL~js8A`1u^cC%U!u;Ez1}RCPI>=dG+2JlZyLor)auD?(RNxA-F3%lkQ7ER5C)Ejut{AS}@v8#ibZBqrHX&eB0ksEu#|bYGX>kxUn-U9! z8goPgmsazMBQsLE3jKY-_D&uZmIFEDKs`u`N4F>*yAV0SM5aC)uN5aC{IHrVi?FS>TESjQ9gi(2)c2l?D<^ZJXc2UT8gvw#a4&4_ z#Xi2~^vI`An;^F2=#C9oI%{l%5&bY-Uu8WkgJ`>XA^e%G^&?J$VcX`QJd>m5GtT%U zm2FdV;hW`yP-^D=-o60Ul)z@1Tt8-yJ2U^Il#rvjaV`P770ARtR;lDNaX z0kAVJ=~O0h^eyLG^G1k|QR+Q85({jg?p@7%cRD}YCBxqQ*G@&q@Sf&wa$jvcrIq2C zRiO4;D~+8&SRwc=neL5xdRE#N#Lom|k$K1$(6#wcHN9R(e7BcJQ3kY&N`|5Nx@@fH zmgN{!S}@F-DSwNY#G>)zOHM(m&ssH~)sJah$qgHiirZ?vAj3Syzko+ek^LX!*h~n3 zsgN#OIyNA2Dv^AYaK{MpnO3hMVR=Jn;n?X+RN;^%y*1%8Y(|g|jVLa2MK`_Rv-$~e z7|E5NuvHvKH(uU>j9FnkinWswW|AFSsX*tIN|eXvTm1UK>mno4^g-Iz(4o66(B30y zYA^>SxJ(N5>hqK-d4mx==%hS*wM?rR^{r2q%rOs6K5JZAU(g!$cGEHU8t+y#`ew?3fG?C%ZHj3_ZS!3O(jy-2Y$1IL-0in(pDBSvypL9c^e`le=gFEM>M_}Y*1Zv8% zS3%MDtPYgylExJsJRj zdn5AT?UE(Bu{A1l5QMF;H1is7={(aL6`Gf#66KZcC9I~r7rO=TMx9UttGG9_{@dCG zxXIC9YeGRV-?-|{Z}oTaXF%KxX~cZUAj zI6%+kH;p>8kY(B>!ye`kF2+-y@<`MAXk*0la6xlBrElcjkLvl{WZH3QL*;Fuj~*eP zcw!Z+x|E_UO&W<_689Jo8!7G{6=|VvFDC}&q!d2zFot$e#7Prkb#0{kz1Y=Muj>bU z4{yNc=d=|Y>?fus0Iq);^LPpgTjs(_hM2CR9YugX$u8Av&D17RM3PLbCbBHTwJ4J-kOmV%XzAU~A%WZingH&y_$~xct;c^wZG;i(^-TSN`(- znrIr;GwZZJ)8{+O40xlftFU4d`(hP+|(Knc%%q$xAoX~(PeF;&zrI1 zUKyLm41?D4bl;`iyiD@xd?2?m?a>&@J~qL&{HVVCX145ftI3t~ts5Co%SYt${CIHR zHz#`tldR)(QbwK%)Hyv*2Ts81zC|=zor$9@jyzUCRIo)bWXng>T4A3sr9oF64QYF| zKVz&qnrCZQ1=r2yTw`;5y32ENglLeeH}nI9q`h!dGxZ)@bCv>*60Ve1{e^t$6ic~u z7Xq4Ipk@x+lzrKdpjTZvvT%y~O4kA#K1PEFA2-?GgX6hi+hD<_t@d7$kQ z2#%ZkYTb~QCX+wJ8Xv^JOXFT+hiMgy%@w{xHkegGnM1r}x&pF|aH}(|zsdRQ@G;)+ z4@%!}>)ds<H{?N zd&>=SUwSrb*RpX0HEvWa=@AINX?db~!xpOfyd$Qm-Z-=AqCXRHzIcd_4EF9ubC=iC& zGBsw&hct0vqrPJ=^_DZCHvDrJQpLjcGdp$Pg(N( zAY4sPW!WZMs~gUWowXZM(k@byn3--_I`WOiEM#vA*5FY-U)TuDZ3thwy_C(uFD+F>*`M zP1z6~;Y5!E1dXN5W8?-?f)5j!D}06&9x=%Dsq`YMkT5y+(#wuI(PCg7GluNVXr&PC zHurv8j)Sgl*-h8G8h(*dUvkq+|BATke%-vU{gp-u+M2m>?g2an2;^lHtRRMy&V~Vr z4&Hc?QKMn)R+gq)`+R4Q{iU??9EAhZxHlQkA5c5&{+BzR5Dc-SfVy9cUE6`3Tvw=N z*4J|zqAU6>vS3lY&Epivo8Xs6jvO(o@hA5#`*uY3J852a8)3zjBbNtmlB!|E4q7j$ z23^c}!coZQoVU!J2#cw>wR+iX&Zlb`I#fxjEi-xPfFsna70t1M8*km+^lRgl<$x>a zImf_PAE_v$>+{^0;*NFXoZNE0T}P#cHaF~hrU3FbuJ246^TCzW$wfkfGnuBh<&dQH zq-1%y?yK8N8kb0JDwrPA>(hrMYyuL%2CQq$uR6EwU7B@=uy~=NJSDUC}0yS@ReuWbg<+uUJG5Anri_FBLgqh>w+?PRlDMI zs~iCzkEj#-yp_>R`u59;3gi7J3a(J50X6!2T)#`BQAd=zB+pO1R)GZURZD#AOR$$p z#KlC@piCs|>%uOXvzac@Dp8?s>uYJv8$D2C7Z6ehK=_b$tt=&EK6R=-LM{EUA0}c1T{0BU#f(chijz@DAmXQY60}X zkWWf`7Kg4airW78AV@J$sFi3ds4G>dc-2t%N%bqodHfgAdE%sKP31A;YJ5U$e$UY+ zd9cL}pCkh&Vvq^9Oo?GkKgVt-d|ZY-nQv#Fn4Q49$-AgpFz@&w-bZoi5z$f6gDGM~C2CG?8o>Fig23tVnL`0)CJf_MO;J^CC#(t5^Qq3C8aa<=M(lqm9Api~<_x0nU z8V~x@ML#2LGUvA`7fEh8A#)|z_E4S}&dbNuH@ z-wEju+e9INjJzn=&#z7k^EJGZ5lhQ(D$jJ9y%x)|qXd`x0SYkur;tg5f2QQct4dCR zrXN4x1+4En%v_+Wh9J@_I_MgGcy&f#Ddn*(iPv!BS({m|n5hE`xf}_CFbw3{;W*_u zjR`5&xYJTcY&p#1VCz6K@hd_isN+a%b-8^;>e_Ek`%@AKmN6*0Y&~xTpFurz2Q@>C zYGjhgNcdy`?NF0Os{0F1@s0(E2Dpv^l(un!5;xOjRrne2Dc_&1AUU_-fsN|Gl0zbW zBvTUZLgM>cYGL$N+q00}4$g{@LDktNRR8eR{8e63pS;L&)u@okB3B5Roq2Hl0@Y@z zV%CW^-^*CYQ@O$eiDW1q-i~v0;)&hM zK)8%X`ZAvW4L9%kg4zQ?;|+v0{@ou{*(!;2;O)*n@R8F4v~ycxjl|9`1_~=D?~a-M zu&5P*qcU&(D8=nh+o&0?yvX~A>D^R4gdA|0)TS_BU`9_+8JYh%q~v(Lh=mr&YTU%$bh(C00# zhd%VI(Fk`*mFfmVc3d_38VZH5qz85hpBZy}ZcV8h(m3f0AW(l*IzyV6&BiDMcjuZn ze6k<4mAH6vv|R67{$=Q|=+PkZ>M(-Otl=R}V{NT0r{DHmit0-Isx@b+2!K%zu=>QB zfurm%hKL?L?meeKp-ymxeG7l8DYfR`#D<)A(8mDrehZ3N=7{nI z)5P#OW_%wdyHbcoOBV((-Vm@rpitXSLVGik~2 zh}t#Hdvj8ZKwq83Gdme8J-+<3;Jfp@{7r)gBsfVQfgNZq!ogCwmu#M(ND;w$wPy(EGP&43@OQT@^(|`uY}=z z3jh(f)fqSi{sb(e4qTMf{t-y!j~Y_;8m-f(A?wo!tACk$r#9x?ZwfQ2L4@s@k?qhp zrS83531&fWfm$x)>p0PC-K!mS#k%m~YKxdc_S34^ZP7quR2`q1aby7#+Pu%&Q2KiK z@i?<-WLB@I5r=}{OQ7OTVqogX2JubJ=Y#YuZ9iBXA9WH7Jv+^ z$kTA^%0OAFCyP=g3n0;9{bH$!Wj#S?o9+Sc%np0~V5YBBsCSVroejshB`tU}kQsHtu+@YP< z8#-ZZ-D1WGT~&mv&gLoD)&H0*Z&K~Iy+CvDER)HV@3D)YJRS{Y)oRNjYdhi8F7c@z zLIfKnj|nkPKMTb4ErmqRvBKH4w3pzl6oiER^oPCxV;RedIo5f;1g!3iB)(U-eJ1Q0 z+jcg(XZ?yn%nAT)U1`gqKz^`U-Yhrc&lKa~nLS0Cn()tjI}_%`Tg_oH`K3dRQOS+P z#wsVO+egn&#Sl99D@tcUL$Xb)kao79Fn8uUlB}j5z?YOxoQhDZfWAEDUWzLlOd1L- z8$*&GE~-=f5aO#mI~~ z4EtuQ;nTRu(o|TLQnRReP&4sf`*w#2`LS3F2{RSU^x6yDopfCo2fqz9pkkULDl&w$ zx9JxT40233)7_m+@jCdXT?Tg=)WLn^d1Q=w?tAg0BhiBYPn7WSf}9+ChD(t1A1M^` z8Ol^l^-n{X_9-M%?=s?I?4Sqs;cKS=^D`krlxR~B(B!5OU@c{QZ$#Mrob4#vuvNBK8z} z0t)r_mA;@@EM&nQn1nv4l$6(W3}xrCMI5X-A3SrCejS0Ef|ao3wlfX znQg$C`E?Vq(8eYsP*LAvPYAR@wXn{(+itT^1IL;xc(!pFeIgybiGGi! zs>_e%E-c}0;|?=GOC!_|rlB~|OsE+}Tj6qZ)wQGQ)+)hgUM->51GABriuTom-pDMpxW{uyn>0+DSFp{;Kv*I&8kw zX1oaJeyOR94`GCd5h*{lDs z74ylbZFiqOVbssNMebN2b7#`E!xN914mB9skt@gxRfD$G6olf6bw@qG*bm~QaSMy( z7|)N{#fbmM)mH~J)xPh8C}0oa86 zqc_+{X~q~5BgWu+c!Br#d4GTSkItQE&$-Y2-1l`~*L5I`Y#1Na_Guv(%^^hwbGbi2 zIa^nbd{&Mc5W#C5w9=Nk>^=K!0o(^9XfCMiUXkr)%lf`(x1`Dh6jtNg&9@_$kz3v8 zZ4dwu3Ii{?z*DXT1|1!KFFz6fl7iGJHHEB10h8b_wp zk!$8p{JI9ybDn>O=AeQcwV&3(lC3D$H?|1vKzHUYGYXJLs5bqBa!pCnmrd-H0{IEE zZ@lqO)1NMv%97T6cAS%)9M%n0hvHdHnb!Sd5QBrH=jr)?v}p}T>?Sn^v&UkAz7Jr1 zKq3g94@=wSoXrA1m}>PKr@(|NAponkMiyY#qQuPx{Oe4~>VOicFA!I}AQ!x`a}Y1k zv@B~tb#6ho3x;1W{AXsll|1B!{y7XsRj%O50%b9gf>LrzLu@&nZJ0fCq&2^^j0P+g zR%#0?E1Uq93LtlHC)7eS^Z=qWvsBUJDw{^Rq0-WlhFyY1Eb%i28#D>`Xwlu1^4zxg zu#10c7u_RdeqA;{r!xQ>SQNn1^SvU2V_`SVd3PD4YO{uc+vNj)Pn5ICZw3CSaiJK` zW$fl>LSVn@3!h$IZpB8e*+uA!gd`~)lD=in25s+fC5uf!c<#4i)Z2@=hMNENSh+xs zog@IX!*lN*0|o`as}UaIFS15cE)`j`r5`Cn4hvm=H+&Yv1JKr0p6-f=o-L|g`J~u0 za6M~k225hI!5@;uwQH88{2qyZt8ys)p(N}sWHK8*BP7?O9SflG~1ITc%QZSc%?ztsas{9S-iKj~(R}X$G?i?u^(i9}6)A6}O zz(##8&Oq}VEB;{cGeGFCa(BwRV;X26{<4u1kk&>&leun5J1teLFPJ%4&dk-lMBI{M z1ny?=d)QUi(ab}J+}rXvk6p8}%FOz=d$7!aRP2XBN7n^F2+tOn8}(gT`k|>g06Uof zFf;5g(wEQFFaM|ouoXo|ET)V9&KmtQK=F zll~OI(y0jYz(Rh{0@F00dGS7(m0ks86cOJw^Ufc2Ki0}&5t*3lP7;}k@xMJfCGZyk z8wa~kd8$}|Q@1*L-sIom!|CwmKL>1IcoUqd!LG*o1+q*@B%bhWP!0L98D1JM8D9_k~EJa-bsGD%&WCy{DMuK%WTv6pbU|LWkiTc+b<(27V zCr3s*k=WVNn{zhLRFO?Z z#p|T_0c$@yTG*|W*Ndcz2q~$H%Sn$5~(*)uRH1#}i-chUUTv_AiJ1 zM}vP=CqB}|CWzwO^;6VIrxJy3wFw<$h&Kru-+_v{8c}l{Gdh5bb%$>iXxP^_Ix*ej ziF|RU32@AvNXK61<4?3v0|j7|_8iM`$hwoyXV}(x+9WD4UDmey+ZuMFr8o*U`m=j= zYkHlu|M$lN4+}M47z4JaJ-6q;u9o-Etg2^zuSuZDFOT;a%S29 zasJW;#kotz`{xa~Pv+!za$_%00-h)PqP?L1tnOwQFksI=7>FVNjmR+trj45ak}x>s zfRznA{33lEAkCVSgULp9^%IWMfdKdY+HqJMnNujPQoo$I%mX;~csccQWY)&Z)>Tt! zaXXy2P*|sgf@^b{4!xrspGH%w$^6HyYEqr^7#Wd#9hzcy@<1FttJLgajZ{L9P}$fq zmJRGJ0Ui+i+V=sqf0I@6&EA4}zB+mayVnE2X!3%ZOuxXPrB$Yq%I`-gg3YOf0;;^$ ze;q)Qffu?@3s1wAZ4!9*%&r{gv!hF`-gevei}GUmhQvWKm0(s*Z$@>4f~H7%zd6`WAW`HUypPE)J5S- zDt%XvBkB>SH9%2`2wGhbpwz40ePd1d6_Bjda$-xyX>>a6;NziHMSE&QW7n%$crWe$ z-oQ5WDW>bwd72eZU8pC5d(A#Dw10s-UywU$x~Z=MP`xbm@tvZtI)wnW?KNcOUuo;H zu;mKmb~q97{gabke^Kn3JzY1o&)^cgYwIGyYb@()wD}2flCaRH0qY)qRjprbH06;U zGdhp~gZH>HFXKO{%!A~06308NXmnPRVhO-RKK?jk%qLjpBAEVfP6c*3>?4Dk#+AB~ z0bwZc9+D?|yn4b~ZG`u4PfFy;(=pd#FaE2TyQ=`C{LtM8`e`+bi$;vLN(UYN<-sG( zyxNzKf8y)BP?4k`Gfttrjkzi-&)UwzlLnMJ65Clb((?_E zKl5?%A5B_?XkJXzhs3JC3QCVPRSE#%^#yimmao}&u- z@#HofCD){LUd&Zb2plouffC2oD;k07(BmVNv-%9cx+c=P1s`3z>fPau@C)EB)_D`R zZ9G#up!uIgk%wjclxRaVGIb|}+|AD(EWfYFb_yDE^9YEgj|UdT<&Uu!Jz7-uEnra! zX=v>w{dp?3Y+oved&f8YC{|0G!vSXH99x|2)*KwI$TG-B4<5_6Jh`v!z_%p>$I-EE zkFjzy;LsT!Q|8gS_#bza*B_bz6QDT23@EibI8Zm(!3_GWNHo*uWYY2uK#L=WX>#k1 zzW8+s@EhlV^#o8k92-a+|3hgr05!Ii(11e&fG4=WEF{|vCrCOj=EF1?0nyeBYxC?; zG_>&@Mi%mQKz{?d!a^J0R(i-TL@VkGWAr&H&`*aG)0@|M zz^SG-F3xgXaV;D^ae!^la`Y`H<4R`nj@^MnE3*1qmEL zX08&)i{pHH%1Jz(i8KUQTLD^)4E=O0?%AoO(7XRS2<6=XZbe~qF*jha8{a>5NXI|k z=6_=M#hFt+U3|6VKU z>`~7<;!th)Np&cJ)#S2v#E5f&%+bg4{wHy(+)5o1x>0=#sje3xbz(E~;~`+;GE?%T zGYX**R8>$@2ln&xin2IPrpH_Ooby;k2@XvO`~BQaZ}HU8-jW|WxzXPkI{vs~%Q?Uh zrvs9n$jTJ_T#2S`z2y=!h7A1g;dJ!5$)}TbyfQO|O;3_5w5}QJq0Ks*U$8SDKZf*+ zcb}DCle=hD2F@uhJDro)d1<06i}qJ}_VJPOLv`}l!?Q2@-p>;Cdeg^mwdNO2&hVpa z0FFUcmKa_@W!1m@J5p=#Bc{Ucnftp5gOsB)Pf_u|8Qe~BN#iJkA98)K3$=8<+y9bp zO04={8N2;CrPdp5(dKOAo7J)UpJ<_9&UMH1I{t6|P~^OD24J-CPLSr#6}8e-aQTiY zDYCtVrU)LDNAypc(LJQdeM=$)HbpPn7 zj{n?mvQsXnrYDAZ0A}xxz477aL-_*ymVZB=?7#HcJSWBUC(Z>X$7`a#7j{0*{m@1$ zcSuWCUwOsV@aC@o#eZw`qepL*AqlYSJ8U$n!w*#-TQ$#TOII7GH;ybw!nzoMykG_b zA3aiv3G|YH@Oouon!1PsYiJzc^^6#M$9;P7#{WKWuU|Lk8Q0si$AUw5lfMt;4X^=; z(|z6k_(NQ`fs^8uMD)%3B0a$;T!3TH-4OuYTRP0?%EVLTYP5J3gI(*iv8Qk+;=rSy z_QPQEi&WrDBtAA75Y}oxT?}F}6?ucBDYQD;FzYHH``nx$J2t#iG@zFR6zesCZqa>1 zfKk)u5c3YZH!cIJ|GjxPP6I}9hKF+L5#%jO{Wv0~N=#2}RF>uaQOct}9BEH#=C&VQ z{)TUvm@iG2LxciwwKwp&Lf*VQUed#L6 zcGO^UemXp$b|~GB3-YR0&Hv!_lO{kV>{h+V{hwV;Yd!|T?qTE(r`FZnt z42tg#Tj{pwoaE#6RW*Ol?d#tGXv~AzL6;q5{_|bs%~5oOPE~cit_Ya3b7dheNu)mc&q>gBwn56Zsf+l7L7Q&nsSf+MilDa5aLSWv z$^LLvEx|coj#pLFoI#P8hsni8%YUWvR-1U786Eq+{!XT|k>j;bnpKaW1#CQlwaZhO z=K(k8>hG~p>#@BENw6X8H;!W4@VD@ER6vFrctn zXF9hk;s%&{B=_N+3Fa$h!PN?d$*tF9>uTMXhVmZ7Rkbux1$|lXW17J?@^?K1m!eJ1 z&GCNxBeqOs))4e4WP+qs(o>y5A1Cv`rO0Q9VQ6Y`W+NnauWDWB{rkvAp7opTV`kIR z?Vm)T%aWC*J{f2$r1#VOIbBiE#U?EL3ada9ZWkkKk@>S=mNmt)a3jhe)?0c0)=Y$R zQ%8@?{^#)dm^NU8Zy3gywalwUUwWD!@RzT@07;`;s85rL>w0H*Lt5NKeqy`)r5s$( zClh^(h`4qatq;~Vo^C91Zm4jV;Z1{noG4)SpInZmZKKL$6Bd&Cs;ayQQXuzM8K(dr z(dHDt{v$cxKmm3AW55BG+~Fp(vQ>`J<*ht%Ysn+qOG` zE1WBcdJZEG@@L^HxID|!m3SFdLC_O-8I@pga^I8dRykdGCpFpG4EJI%zrd{xi@W+r zcC>xQu1>7Pr#E%*CAK=Rh9Kys-TFr+e2|H>SOaF;dY7RQtm8}D!%lIby*E?vcv5D1yvI=a8@>VQ60qVdWI}qx#`R<@T zM_M-hC5UdvGi0(5>Q4BLWeexf<6~nP<<%P7dxu(;Xv~art=+qQIV5F;P&ZTDy$fF$ z1>W5Z7rdx*C*Q?p0Sm}JZv(PVdyDmKFoU(?);VT0rQk^k@tya7+vqwVJ>y@5-Tr=ZnYRaMAC>rMZsf^#{QlrtO(BnSUWoZy)#R1ca8`779{nUi6GvqN zqpXy&K7X_=94hMRYEW@Rw^FGlap9(zYY8P3}^2eq;=LcCN_V zf8K&a;X0PCJ^_T3UtH@!89EC@cMK)+Df4$!wq35m&RFcY4dqyqBUdyhjVz643l8=|A*YP~Vr=2|9n zgZFLAC%$2pW8Zdmau5Z7&z5ZlfN;iKbRhBmhK+KuibRymlefD}Rh7wij5<$`9E zZ8bb3$pD$wBVHu%iIx8p?v`)oJS*JYQ|RNZ2k^y%xYp!U-Zv3QK&??J6p{Hc>2~4^ zq4vc{J2}KsNFC0zA3Tn8Szct&cG6Dnsk+jrum!UYyOhI!`ZR3VPMd01?gdTJCQ1LU z))Ga}@8EHUbVzwVX77I0;)21aDG;5&-NdXdn_TryXb2$Dp$}H^5@W*(<9X$*0;*hW zdR<&9tVQCyWy0qeSeU0g`+}6Cc=l0j=sV|80*?q$PDL)3Dj0TcswL)15ZsXiJyfp= z29G}IU=rkJvdXpDDsHS=Y%|yi!Bn`s-i4=6SlRZze4k6y!paXK`k|iw%>AjM(!H5y z2P2M3pxftOYbcguKOU-{?w%N}UTJhV@tioVb~t5Ul<@eZ!%7aJ_!26uNXPU~hhTV{ zUIXAY+Jb$YSH*&r6a5J_iLPcp4yt``xk>1|lC^St79+-&e+-T+vd_K!`6aK8{-uM@ zI_;c~i8eA2OYAnQ4iEaST}ifi<&+X@EFuk((|c+REa zyGDud^|bZ0+_et6Y3r`hzX`7>-^k;|rJhAEeqzp|W$Nk=)9{qoyB-Vr`#@W9k;u-$ z95$q;Jg|=hwI|YIj79x64I&b`pH8(Cw?Lw|IfwIFho)8e5F6vU6&!qt3H7~bffO=G zfi_aV!`7dG4)f3)Y5_+epVcC2YN@VahFo|kDqs@!M78e^14B&!A2taN`l@=CUwD~y z_njrWgMeQwWTZbJy;Foo`k?_YTKn$xbj5nD^b_GCinvX=7j)WNuw~jsgC@OzRLAA5 z{r*^+$-*8J?>&5uY2JLk`E}%?20plR2N(4jL%6iaGT_XyxBV!&?nkDhIYs+JQ(3-f zKC>k>Wx7r9LDc;mr@U0<@R4bB)0MA{zy*fHJbv?|+6grf45XZ88RfO;qMS&%u=D*P zIYp#b=m%Q;M{kAy<_ZWeN7ESSNke#f>p*=ITfAfc@)#LBBLFFe+s*LCZ0#J{QF#|rNd?VZ@pxZlqT01%pYLgDO#NVV@jjbclw>_x!UW#e$9H1bDa)8_$aY|P~>pC;=Ub*c@t+Am?fvl(C6+<{+YgDVnIt|ly36s0KxVP0PM_{k>+fIm7g3;38CclVILJB#$5X-UJK~`Ac6N0yk504k^&J6KP916*j^W7!q#JB zn9ZAI*_zg2_)_v0B@WS4Cqozxx|JEc)&o+Ff_})*8TO+G({X^%tC3}BI5KIruV!ub ze*Mx<_(Ux@{YJNer~ULS1EB_v4a_t5xF+O1sW`wcB{9Nc^$fg8IHu#IodCluLs zId*)KgE}c}lEYVWl?OcMI+Ib`#13cBRi~;Il3mk6K<1nED_7DV`L4EcO_Lg=5Y*VL zYSS1F1(&iNoEhGf9AE!C=OhCVW^Q=a1*!bUrHA9a2VJ(5U^ROcaBx zf?8u(%sUf!N-G6R80EH>!1G!}i+X*UVzZitP58j|g!TDRiAL17#*FD(F`X&ttk&&w zvsE5M7AqCokq36nTaU`Hqb(j8jccAV1qfQxO7Hx#k-Bjs=>GDn{QUh9?;CbW8<2ol ztm0LH9nU$j+NY^IAVJ~&sHI>x;v2RXi!XjTdlwYc;x}Fvz6Yn4D4QekyL!NSU*wVG zpw?o=It`E8h!g(wxK>w;0c*8_#PaR{weG^a#ij^9YbJRgqjM`Pos~va^P!nE=uxqG z3GA=`RVQHfsxqY5Y8ePsTN&_t^d@IE?@4ird!ap>1Snp1Yx8!gI?GJ&GgZ;w$sW5o z!rsbFhF$S5$sL^&L*PqY533it@bbqqZ_V z1TF-3ebOr*_bOuXtaj6Cx4r-L{Ci}jJXU-}E$}7dsljY5^O`L{fbZz6gI}buCM@C0 zTDlj6Ekwoqi~eZf%R4VEXt>+G_ljQ3q9bZ781)mdJ$%q7%gk%loEOQLgbaiEgXM#M zNzcW~*-=_oP|w{5*>H6&mD_C3P#<)=cGU8>JDt~zEbi@M@rs(B}9 zj2c52i7K{Z$vYzNMcrt;gw{-#Vc!Nn7rCRH+jQz&XV}BmnK+BtS+vTOs*-?I#pDM7LZA)zO(KG{l1VQ!$vV;J!z2QUTp}h<)?+Sj>LbJNTRiexYo; zGa)D|ht)d7`F-z4>2xMox~7(M!a=?MX&0$kH+Fin zAm$JcIaOGT)8B^Q@pAoWTXyc-UucAR9}u!`E(K4( zefa&ebhJ>-MTomY$pt1}J_)o-z21S|a|y-?o1~UVFsrwHZ*6-iE~*K;`PUP#WwW8> z+MZN**$l;oZ2rUVoOw3sk%Ma#<$zcg0X=$_3sV%l6!?4WIVyQ5@F3e*tDUJ7e%3L9 z@(PvMBEKoY`3qB1@Q`Foh+yOB952dhX+8(GG|6Vy2iuic5^#3hMOj8Oph7sXa8H=l zc@~Y!;3t~x#3>I;w4Hh2CZ@j7H1(EMs0nLf=Do~{J+$Nek5iAVx|g78+K&qRJwJMPq= zG<{xQQ7uxQPIQSYeQBJ&vJM8``C0w;DrS-F3oo>R(F?D1j=kWPB5B!>dlqN8=g`PB zO3b&mqx9Byl2#3jy>VT!-1sa^Yt!!Zf=N^E2E5Fv4cnDGE;FbY=Y~pJpI1w-BkdgA zRE5;mk9;k#LU&FOq09$^nNPjRB8)Fx%<>@w2F$zbW~$S_N(K!0RCKg{QT+b)y{w|P(@LnklHiDH_%@3ALgpP6_3{Kg*Ex6N z4nSx_y@MIXZQLgQv^|1wI6uBVr64rUFULXZwl`KetBohxH8nJOB{Wn&OSw4On?rt% zrsFk#=AOK%7pYzQH**#;!ohr^zUN%V+tPY;@|WmMLRxh(j*h~$KC5xzj$B|RRZ;h| z7`dz0mXdZS-E0%js@#1Xx&A$;AfGhbqx@WsC85d4!bL=qv)Pu;ZRw$WxlEB3lz-YwY( z*(iO{VfneY^RH}gDD2EeB7fpbOGOj#$Zne5Yk!3motqAZj8K0_{?k9ccB71~&_469 zpD8vu#2Tuo5k%aF@krP4?Rfn=0Z)1hcBRJrJvg|D55DDO+RQ;#7_;Q}CKPg<_R$o@ zQ!DR@72o&^LO&q$TfaR^QV@8Vw;9Y`Cpn>oB-<>(InBV_p{Cv5sX8z5k#d}6nL6tM zpciHe;qt63cdzpGzw9w0J#fZr43$z`5p7#BNLy@tn6DXgB?}3|!u`I8X+OY+wWnL0 zPx_KJzVFYLg$%oiiox0E1LqYZvH7g?Es>(1ndSB?aZ0C)Hb+OOLcY;t)j&sqAk;4* zxuJ$7oI*q?b(3co=jb{iLn(P%9<*qoi@;G~*X*C~*fGp%dEx5oi|SO47o6>#!6HbR zbWpgN>1N4S=2tI@75Zx}gPQaxWua(v8E(k#anpe^?Kjnu#I55xl8js;>@{T(*S`c6 z{Yj#wPiL^!?kSpL_ADe-u{3t7R3U^~x~}hZks;pb7Jg59h+1XXPRAju);{BbE+6P@ zpD~}w2G^zyw<%>8a=(@~^HBNgKj zuZEJlOjPz)-$w2J6>t)vAu}^0oGP{~058ke7#0X5Gk>+UPfbC!0eRwXtuJL!_v4zF zf-e;xfub*7Oa=+0rzV=D_63azdpbAR*!`t4a>sPB z3)=U&gpe#%xaQ)EXb{C*QYYfb4FWAix80TBsOKw!_twVHb>t#$-ZH`Trub!Pq#%%s zE5PoWKSMfyv6B}nQb1W=c3n4)BBxTX-L8_f@1w$5j_+7>-T&n_Kg_Qn*Ya7Jqhs1~ zdq4ymj4oSaXele(tUnO7g<$NSI)S{(HHl?PfuZQ~F_*9$Kk$_HRui(AeC^WC2WD(9 z8g&l2H42n%9}F~y92tYvDypr$#YbFC4Lj+u^HgRL(pCmkos!k}hV||{neQ6wH+Ajk zN`u_3>Q2u$GmW(fDB?7{OShChbr`C>Z}=TGI1MveS32!8AR}VpWQAu zxv?a>6WS1+5$LQaLanVT%^!z93~k6$1U^o?Iy`-`(K|GUHYv)hNm686GEu5GO56f* z{fSbji5>|R0(Wojf$XyN!F^aAbnCM3`8@{FzONmo7@U(209l&n$Bmj5IzLF{>zfXi z^G%dp-QX*&b53FWL{(2kM;2MD@bai_272e$mpK)?H%~_IXPLH_3eDFhMc@%^#aFYC zn;$1kWq+zAmI9AA1I^pTJ5)5+mG#n`)THe;9NAJl3{Wa!>IW^2Q4xBC9J;CsP<^DB z%%h3aQHLmfA&U`omw;k0=8Qx~In(IXuNiAAKLcmi4ADk(Bck+s4ygA?lPZ&Jgc966 zNP@dJPnjb{0OnfzcePtUF+a>Voje!&Fx6&ff`7Ka7iQY(PWgKDR2q!%w>Kg7arvd8 zQ|t}5_yEf`jsTouA0btFprkfvn$d}|gz|bw<9ww36W_;;??hx>QUKPdShwtz z-Fyqbf?cmgctyq7>VxKGwP4QigX!Ia5-VnU<(Cc%^$(Je{?fU1~4FWjFICUP;llwc>u&o>K1&tZVTbmW$UfL%wj`J?? zA)Y-rzkMx6Ob#ki{}v`z;^rW_q2v6ii+rin!r89-8J$?Ek<1PbUFU%kod~@x02_QI zXWm5e)J9eB7o%D;EazQ@5ih9__hshf0U*J0Y%`?U_iLTGD7hm|jf0|volQN1`8+A7 zYQFP~-B1FW$4NB!ufcyPzUaB5@C??@Nij#E^yTNzgs> zSjii-prX8XC0<4dCbopL8d(j`&urt)ly}DEIEi5G0&95s4^aiIV!?V(34`-c%g(|; zmZ>%)ZTaMuGpKE|HcSL+IedSk8fl#70M2am$uiS}R64Q#Ft>8dGqCL|Q$my}>iBlq zJhTf%mpUm`^U@^CjY1rDt8>P0rQB1(w>sJx2#5I4KHb=geiT^{(Y2SI8OMgT5OQ`j zV;eF-RR)k&vFvqQ?1bUY*(PsDo_Z!yrp4vo$Pp56Jr+X zSs*R`(@iV1vB-9sNN*aj$C9veL(=wqPv_^~9L7&&IQCOrgBs^l7oV$tx2N1qBj=-` z4;mr`qc)#=v$=>wf1|7vWh*sKBY)zJgfx1lXNa^(>X0uvKx4#^&wUc^dA4@0;w_*S zNHR$BAK8NQ&C}88^C1!MD1o7s@Kf-lsfHo zKAm8}il!=a)J*8$=Qy9Ug}RTtOF&`~p|%Z$zxWl10p+{&rd012>f9JU`e;=WI%`v%|i-|Gz z4#Bp*P1^=_#7m&1CAAjBGJ}iLWz`byQDXbGtXfODfNr4oi*YhsNg-s}E7W|mA#ucpfJ(A3^N^h@*|iruP_!C3+$DX+!Q$O;zScy zE@;h;^PC}+mT@3cPf)=3d0Y4XXtnW8p%j-p=5CX1_ffbF;$u`MY7%N_v;U{DpWE5^ zX8Ah0MR_(ZW45s*Bj7kH$-)5Q;-DG*NfqoC7CZkku{EONUd*RuAjYZ|G!}Uy6)vca zI9^XK_Hiv6Gg!z1h3DVR>GWE7?v&W>XXn-+!r4QHH=WSbh+Dw@|k@=qvoD`OoRt^4_k(-0zKn%woc~B zYsjUubyd0)s9KE+0g~}HkRiA^?rc&qFpd*#+BRxa#7&9C`A;`(*H*vmC&T_`JgnGbiF)a5qJ@KplQk_uxco%3es zR|LxzqxmOEeRm5dSZz6_-~qZ`IVHxy6(_!05}0p}GXM`QJj-jz1w#`|GDip}TmZqZ zR7Kv5_PILyWenUEtd~AM{cb#!u19R&!p<=ZshU&_)!{uYo32mKY1LZPW~vJzjD@L+ z@CWuEgJ5g?xvAN&bfwive-cT>+4V#C8;yeX+@W(&=hE4?(7g(=ih%ruOP6lt4pY2y zaR5MXHtF-0;lEvY&}5L6QVQ4ceVY$)n#~ym1^rBj^Oz94+nYXi$E1X=#Qu{D)& zx%d&mf3MYolIGjPO+XAZU%E;gs zeEDHf?P3o$Rt$TK22spWwX@5%IlXHcmHF2@+69_35y*yc;+7b6ytuWsm%~7u1;BqO zt!MYF@=TxnxJ~N&IoV2@nPCwrJdr?a2~YD^9su5%zFG8f!;a}TZx7^}b)zet zb|I96AalwanIe$W5Fl;2av%%yX^AG!L`Z_$b#{BzKvLjTVf7uc-e-(7Wfrs4bHkWw z_pO_K`>8g2n%pxDy6`X&0szFv4>^g&{q{f5T9%ZaF-exrQlw&(#DmN)qsKG-8x`C& zWt<4pZGE8V&B*Q-h@>HJa6QmurzK$m6Vl@3wAxlM1086fd2CK*nd@G(1UDN`<-Hjw z?{N-xb(pBgeR9v4qb8TA!t(hFwoYRXxL^=!5O4CJJbFbVo7J(UFgR2-FFCD}10GrkTSJ*88&b1<=|cI$5+=i{yw<*NT01=Sq{wgSDI?%XQ?KnQl;RJxP< zC+&WEo0IisjQ844n7^>=&r`kjBqo&Fm8G+Q zCGBEHC<=ji%(fMCQTV0@_WP}%cdx%o8Cokzp+EHsno{M~YxgkP@yD4WZn-QC0C(3O zfUBT=pgGt$tn`@edtmTTjS($k1t*DArPEcX6D94^F%*M~&P{U7EPQI#t`U@EV)RAI zsIZ~Wt0v3jOKyk9^C7Te_*h>l4V?(@nV1|?8SRm7U+8Q0K{Y}$8# z(b3zg&XYI?dv0lxeY14$&8@@xGEb;bd zOuZb=nCCPbFJl%0Q>xJAlHuYHO)p%bdB6i(c=rChrK4@WAGGJXcfl5t`Ik`5hMk&w ztw1BWqn%vf!N{$N^7LDlWxFj&eT#Qec$BO2ht=@NHaDC=XX! zXTS~M2zL3Xky8=DiIqfU#dyUID^Q75huU6Ut*YTTP;inuJKsY^$o!e6kopb6H7e$V zSB>qM=WnX@i4@fqM9NE34BlF2>BF~G>~C9m-HoghjTi|bvF{bnw?0P|_z=9i5u3s` zeGw|>+(>)w3ARsJ+C2r>qra#bl*`;sU->JLo;_Qle!lb57Ln@nFEcKg<7pGX0s^AS z)Bj}n^yAEUGFEaus@TR==XPb^*MhwdQT#3RAQr6Sr@Y6-8mmCk8H1M5@EhGG4Z zwUp{&3s=Dl8qwme*hd5O)dqT8is|D7 zO!!-bci0$ME|6@HUB8N|=x4fu5cuyo<&MYQ+529Vz7}4k*eLkx(O)r-8&^HScy_1y z&F3}ppOG&V6y95aOk(F74nWIN18tO(1`o~@iQ$?MH;_44EzsX4-iv3wC?Pv;<7Nhv z#Un!P_2+}Ic`DW5GP&IFu?`EZUvIy?%u;8vZ@!uGM}wU7EH|U&&NrhEhzIOR;v(i- z1NXUqBW}OY&n~v}mUFItO-yrRA4q;YE>$g;K?d=3`;38jdyW2Tec|_mJoU!ZQ|Kx0 zP;}X-JcW^^sT)2K$@2Sj(ND|tzESS?wAz?z3wx(-<5i&hftvSPtTZ(Q4g=zzmgPvUI%k1gZ7+5u^5 zYou#6g|OrTe33M6xi$aXVZyW0ds~HxDS?XwH2Q(^!zVAHegU-JY^hA9Cn-w$^mq_n zh?x{4#9&?mpj_D=olBZ|=H&)l1A_(OKhQk7q3DdcyD7%>2&&0-V$jXHe%&}#U_dBe zbKG!C6$sw+3=LR^m-o*M`51tJ9OP}A>KU!!+3I&{kj2YyvHsq3%|J_Jcajd=k;u}= z{3ZKwpU8*PWn7MQUx8Dv5<#{i7aS_aU*WRoIa^K(XD;odENX^)kCU8mHwQDm_Z}MH|RjP6PE^lBfq9?ql?a$bHK$ z!8S`KC3(1FPx6Vy&XndfJt1OO2&7ufh)^UP~%Zb9i`n1y)OX*J}O7uVxgbO_OG;Jxk9HCW5Hzyb?62799QwvDwDjM zEO;lDeauZlRqYUu9D2xwVF(WEJ1fPtE+Ht4EI{5li-;d5+bj?`P{RPutV@CwmTDRP zcRhCh7O^7U9(M(yp_-v&Vu=*TmD&xnXI;NEg?-j;PD{1}NDq~PYj@_IOz>XE&;u02 z*|Hu|BL}UklrLZc!fyAkki}iyEeBv)_(5Z7!*Td0S`RHv0r-6urHe#GKms0s%LX}T z?lF-d8a`~}Rt=WbN>6!H3f+1ybXcd{#|6>*@tqp9Fq6n$S_OV#>-*0p0~!9!a9jTx za>okrUjVAO1q@Hb>|Kh69OQHmLIL60f3jkNlKIB3m&@qQN_2A)eDjv=LgcQ=6!CrYQYB z($|IE=FA$kc7%dc+{(pixF0-@LH3E#2Uoeb!P+Uw9hm(QdK~2H3X7)&ao0aL`F2&r z&R#86DzV<3)?{5;5w~X+J-088!H%NpYJH1JAArXD$~f=>`)Y)1<4iTlv`_kbGB85R z&uC7)->7>A0%2o7`Lk^2%Mw}4jI`g%U%`Y98O5~Lp7fB?r(jpwpzA*B>nh6mN|o0# zMAOJ1xBlPDpr=l&z#DbOLqOG)kAwl-xz?%V$6}}aMRQ-T>6Iq4`n+nii!@%^Dj{9| z^kdieSF&m=f=gQayz2a`=4t&UiMyeQh}S^;KwbovjQT)KI+|~8)v@3(CbYur?;PKY zA96@sEYF*weh+QBKm2kyi2_E{S6z<~m@>-%*QqR0!&)^J3(PVIc%x!F4jAZdje1%V zk^2Z>NH06I_Z)jagpabwdsVSh!liPT)gj$_{(_wd&<1NY0x)H1h8u;8Xwk5nHESPp z%VBjk0VQ#vnudOtsM`HmjB3!H#XuC^Q#wID3wR~iyWL0-_8G5V`vcwot_GBlw{jl_ z6-Z&dfeNo1T!4Wv0WaohGMpo%*w~<{hY-OB%ZZVeaAW|+8R;AV6#nF7E{osNMfi@8 zFR{IpegvnXs5;{>kBlGAPFgx;Ez%F`BAitgHW1T!5729@*-OAyvu`g}ukGtvp0g6D z?4pO#*}_V6ANp5*0g=5$egWD=PhN(=6dD!1Z!Eo?^@1}4)8WLFHsSROZqL<)`}&Au(!&q38M3Py_yuZUM7@UVxK{tCa(4I z1do28b=%q4l4^PBFuyxAN7$_f6~a)5)0nHte*LCCxE(DpynD+NlAw+d;uN}26hFQ+ ze4+pp{-}s`Id9Wh%dJ~%#?E~3VqqfEYSH7zsX?s^mfWdOwtMUkP{kL=V5XI#Y0f9~ z9`Dm{8!PYM44FB9j>j_;Em%^0*UMn7i^0;UT6Y!dNR?ocXVu~ z-)}rC5&apR?|51aQwLuM2FeMP^JX(6RK+5S=@trs^g0~E2fbD*Z6i%`3Vv$v-DxTm zRsqOq2W&(w1P5|(w~HomZg=>vmB;J?YneWnAi9q5s+p?N4uY>a)otafmSdaQv-ank zKv9IG**{fGZAq*do{hFOIKwCyBBjsA8B#j4IJZAC*=J@S(4ekTL%m%FD@J(dV0BW9 zVPi{uvt;a~mqnWi;Ci`vgv0&&=QIb(7h&BwsDpRdjC00NS~P4Yy*_HQwEKnS{AiGX z9Ql$f3h|}BK#snb4az+2`viAuq9WDqW#NQ6EJ#_jniof0g!kpK$IM+*Mz=_nTH>F3 z5`6Q>MQz7`Y4j(?Clb2bsmgjiTdt!rx&yCt&uul-MDF3QAB57EbLy`4%BM=8|A8YP zXVQ@-cv8OD64Ld`374{b6ukS!xnW!F)Y>xD%)=GV&fy3zz#K2`ah_9`RI?g(phvfH z`~ib=s_l=Y$~{k~PrEit9ax+N^)L@G3M6iQWq{ZJ`!{+<3?&=zc=`Fgbm(3;yn z%Kn|2$a;TKD6Aa;O85y^Rf<0MFeUHx$eD8fC_+2PF-{1J2mkgZjT)&z%1RKUUg2njA4i zwby6`@%riUC^{1!QBYQgWC~1!()miE72dd|ku&P=!K4zp_g$RkH!japEPOZIN;D8l zIkQ}VMGK5n{qWP|=!%7h6q)H4xHO9&HdCnRdUH|gQe}$y-H*LyAQQ_-AQPqu6n*EC zE0DXICDLiy(AOTIZ2&P+_QxYp(N>usfFxkM0Spa4ii=fLMv2b6WaB;<`HO+^}E@NHV+|)>Fq*!YpDg_SH@( z;((}Xk-7DxS$bp_9^ztYvhpMA=i=6D%BwhK3SO8?V~Fo?XDx+H)JPnm=gHU{K<+zt zE=Y!Aki(1p7Cf~ z!`5t_fMD|ZNMspj?gqQNS{)!DhCZ%8Wuj~9fp{f@z$dIV>O(i+(in@LTuj%aMoX{e zblN-pVQjYUo$(iW{p^9c$WCw1O=uOV`H68IiEf%*45cgq^|Tdrqb!Q3y?WdGaXRb! zc0UE8!$|%i>^YJCT{XQC9Ip3**SN|$?uFfz_cn<|wVH!+FW5(cDYbD|il8)7_qK1? zS9LD?;P9qvwx>1He+vNghV3};y)i8+n#D=3z`mY$!yW-aytnJHty_OlUACtq|oE zwPdo*S2n~vBH6^xLFu9O_M-1Y!jp?x>c<5NeR=cbMW@+ZAt-aIFHYNJ<=eg0@7^_= zX-l|``=t8w;}W_~XuIhYT)(kXim({^kXmX?m${LxpL;IxQGU+68fupkch&U(Bi?`0Y2aRt881Pjcfetuw|D|4Z^Fh0%#^?f%7%xtWf-D;e0$m)-o3H z*^~>WE^|uC0Qz)q<6oDu2um!e&8r*-d;X;~EO`zlJLif+Y;F1!G4bv2YK@^04oEEH=|2F<^oviYH{=*0RL2+J4mld(W<73CptJY_$J>gneaHRbAI8 zAkrZv(hVY|q;yJ`pn$Z}jdUI0fPhL$cXvxSSajE+LAty1+X%;a-ZAd|BQn@~?X~8d zYj#l5M>JM3j_$_EYVW`9UGfG}apMUJ4wh};q7s!Ac9%LCJT^xum7_X~5s+8TKId-{ z_b!)t{4%OaXD*T}_iG9@%e-*;(~7YI*dW@KRu4=_9ME3~@GmVS*VrdVoGxFa((7+n zE;fG~M~f84V@4l?5V+Z{DOW)TmDd~!aRe?QNAoeHyD9*!0v+(s)HXV4H)DDVEw~cG{qLBtcyAx@8Hjadeettg*XfO za5Mw8wQKGlY9uOt552FpwR1d0IVg>Ba>C zr?_CgC=l!lHcP2evwm-$;%V|e5*yEw)E`j*nl+#x%La#-k^#|mnM8%l?({IZtXZVIB(wziX^xCZ^w>DK}KyBkSJ-BgtV66b|5qD(@vvo zx#3eYzx|(mJ@tZtHC8}6&LaSmXd_cGr@I9@nXSD=;^Hr}y6r&OZ?}@|3V_&`eY5&e z4kr9Q!{C>M(l7GQJk`fJ^$)G}CbzAh4O|sYG&G~QU?m@#_yBS5?NNd8?k-iM9+O2F z*K5z_uaqU19;3y&b;3d03f{;V?dOwDCPdr-L=Og5*`o&y+UqGwIY-7bTAYC#sC1xO z1hz|V2&UZO&1I7Re0L5=3lWaHN2;8Sp(BqAt=#bW*z}e2oXCnmfzEdqyWU`eZ6M91 zya5P@OG1t|?a{}0#?!#wKyH*RPz5-)CS_D-y6U2($J@_uJe&jhGLuKfK1>$)BEExN zY)pH4Yalsp;`x>#L~ahbVMVs*jCqUs6}61wdLjmDi zuW@%OxtqN)?f;1}4J7#d=)JQW3*4Y3f%3$uk&f-FX^8EaOj1v3VjIy4AzN^c%+KWj z3oTQ+u~b3PMj&mF%5y`d4h2Z}#=0O#pAKjVL}UAWe~ECs8>alSGgXFPQ~PqZScd<* z%Y^kfkcoR|NIlwaK7-NzM#BghgDa?E4sWa^`}EPkw&UIFsdMd!5L}>IS$+dGaQKG9 z&XhNaimG<3lQ|F$9abHfuM9Si$Ixq6az&o9Kg?Uf$YQ+g9bt-uIT%YIng_Bk5Ib@0 z0I17@k~4)P`TdTnIlJ(qm&t5E4cETlPM*Q*M7L@Ii%9Wo_f>CBtt`8V^R~h`W0=K0 z+M^GJEv78p`=1xb1}!5-$cA~058j1fyqhiix}_Zp7mNfm5rpgvPdJJu^}9G7 z1vKmI#85l91{sA5Y=N|On^DOtw6vZYIZi{p#8n`(8c0n_NJ$rN><)85)J!rIv^VTc zrUfmuOQU<$Bqr|RZ*f?1ijZLl@~zQBJkz_G2ZixA%qlUYqc(n=?6vop`%n2%c{s5> z1eMko@F-V0dRrEjUaXf|7v&E2N@69nVs~6zwQZGVY@zA6icHS&Vs75o8XwSHY%17@ z-8}#!tpUjk`x{|rt$=w6|1u>h;ezNO)W)ZW6OcB@2IX5x7rRZJbn~@k2O$X&D+fbA z>(&Cw3N1|{2lR?ov^dy2tGk`DdDxG+%YLLi$)FtuQ}=)_q=m*@D^D5l^T_WMuIuS< zBE1wbz_cFM7UY#)WT1#rts03&HqJD1uw1K4WViT?VDpB)yF55eD~~%;@7>tp@CW{9 z0|#+{8>HsYCEhH_uj4qmG@avpR!$ieo|bLhp3laDSE;Gr#Ng$gmxkgbK|I>aPg5GF zlWGNOG<{~017N?{i1UujA2#FPwLisf0s4{ZN~axDqlE?&SKWfnBDogcM@h;C2+rH! zk+Y>|o;<&Y}auR~`-5Qymlc4BG=FC^!a!tNq>SC}>ppmsB{rL6?-KVpG!qG&R7 zgheVti|^9|gr>7p+A9UOILF494q5wC3}%%E5+32A)2_H=o|1D$rk<^IYNNZEq8Olu zR~6_LlvZ5l@SP@Go=i6qvAxW_pGQ69ugYpDzxs{2$e+}9p@O5tY0rlHc#DFn%dz^a z!F9>&ldd;=HCidFY(3yiHhzcMs_r^!hOK`sEBSgXYkRS4BNIE?l~TQ*#FG zwZ504hKEZ(>mV|5Q0Q3gVxi6qR)th`3rrTfhB1!TiEwUAzR^UC-BcOh&@_T{*oHk6 zB#BOilp*Xml8(_h+s406KQe#uGc>#ZuIp$^m{wF`hoGZXN9P8bIQBA-&|D*x0B7;BMUY0IZHkGy{l=v<$0#54fbV*aGt=J9NB)wRsh0^{L{AI_c(`N3%e2jKQYw-I9YQ2P&Gf z%r5@DfK(+uohN!EYqQS&KL+d$`K91ov{plrT?8QO6Xd)Y>+DKbQOt_{RZ|CSys`VU zbUD?;2;k_uc1=O<2&?vm5ZA=@>OkDFQ(Ns7IGWJaB_)eA3=yqbv$UNoX71-eM&Fz} zU#$>*j?UtFh+wesJ*_kQM;$LoJU)RCg9zoapP!%+oXG|%j}iyn^!I>)BTyrM4ZDhF zE)Ic){=~ro!B@h_BxP~{=$=-q_>26_#?z%G?tnBx?S4|hsEB<&hMpO-YT2c z((r{V=XvWBB3TrE&|H9vq_^v)cs(Ipe%Q$ZG<06xH^t{6$UscU$SX`1|3+dz9fETd zED>>kwJM`9xz%mcUoje!RU<_V3_2%x?SoAuJnJ=CIC5Jm2miYD$!o!1 zcNny7odt68*&T8BuRc=pP3*_{`UT4xt2F?2wT4A|p+?(2AOAf~y#qxvcu4T*fw-C|0Z4A8|^=At$2YYjtGg?u0oWmJe zgl;hN@+cMC8^-;K?q_Bj@$n%u?jqSr*Fy#piXt+o4pIx%m z2=1q}_s@Lwiiz-YzctWqTd+vc_b%;BFJ#?y4XD6li4_%a3xu&(N_7L(NA}eTkKaG|6FIa zHBXQo^5B7Te>w$En1i;`Mai4Xsjm)}DNLf12u^%_D(I&8GDnryBeOht?)K{5wuoXy z;p4L_cRTqep9Uzd@yw;oLvqcA{j^Z3X@f(J+`zdgk`Hui_Rz)!f)x*yptCjK;XZvU zlI|W?J$y!$luf$?*y{2GZk;Kxs(O{xbqaN#MVLXlS1 z6v1^xd4@?Ef&Ig#b^pl}BW!3fjC~_Tp8imcw~ay+Yk#qJO1N*<&h5rS+`&{=q)`YP z?iG(7@K?pgt0utMpFSJK`KOJ?w)RZUC$oibEENQJOT2UJCvV_jO}8R)uzo!S9>mFp zj0v6?Pwk&3+K~fgMhT0PpeB?wF#0N9c*+HXYroo~-z7#kBOWu^nxi}Tc|VKzwY0hm zLb(ojMEw6bC>V|Lv0W!m43Ak}-#4I7U0b{(OKVeohS}||?-dA1BV@0==%GtPQ1!0} zHisq}6Ugc=ZC=gCb~mcmyXYCC=Vd6BUVJC5HRC_D4+BPm zD+-u?XeBppZXR*5pT9fl3ZGqVd@B!x(qBS+c8?CJ5)Hd(e{iYZhhD%Jy5DsCGA1Ye z3-kaU1+>VB<4tKvxB1W7Bk|sE1#)y^hgrnHe*+i`$hs!(<7_8QB=4G2s=>Iu>|;#fJ$Ihfxc07`QQ zxKo*KK%Uxj>~oG9JKj6ty2gJC3q=jL>6ZYFP+(5^G3&yx)z1_7AV| z6v9S!yWGHVp7#;Vzuy((1fFk;VEUjg`Kui@urcy9qKCVLjfd0enWVwwt8ZUD$H(c8ax;pLqU}1?&?c^(@;Y`qKM56N!Q`%Dy`|1uCa;fe&D^uUGH#!tD}aFi{{~|qy+>Q# z)}=|gl9zu}E}c*_rI@uC~`i}oKJ#|@pmvKo%~dKX#IsJ{bjdBfmC z6anNQFJwT8{lU(#IKkByL)6(dDSXMoc;Nc{&j!`b$K6+kJ*tP&3G~(^KYtw!%lS|S zZAZ!a9uQh+Hk2y}Hy~(xw7s6UrawlfQLqR)n(_$+u4UVp<`{Gq*)5GogQtgy!^bx@ zOb-x!p7Kzv2@-*{Wf|*x1R#CR3A$`Hu<5leL8j z#u|6qAhYkGtO^&d@<@xeLzV3DSSXz%XUyK_U8z21LTGKs?PD|eBc)q{CN3RC!>BmE z2@H50i@r#=r(>=Di~D!XX9e9hoDFflJ9ebWxOT~B4ujk2SmSo;FxlxZ-19H!sPUdU z9Y?dTKAtw690!5c8xW$jDw9 z>)#9R$pv>s!cP&UE!dO0-j%|UuKt6qE+=077T@Fsch&8+9(q^_zR_3dLu1g!RdRFv z)5-sy(oB2YQpcrtOTdu~eh>YCI7Iy4t1d*2e3!YwGLe|q{j2flnu2On?8{x+*9;~= z)0STwjh6*8jR&xYE?P*;Pw}=(esl5RGhu|vHKA4H z5i;v=UWO=Hmui(&d$0Td>RmBHO#)5FLs_{p8>aBtY+p>W{BJ*I2Yz=qTfs%)DLItY zBsBe`YFXGN@~9Yld1DN4gcT;RLs51M2cho`Vgn2cFT!d#_P#(n3L-f%1A$IkrAK17 zcSu>cWz!?WdFk$b$-s7_))6C97-*ACC=tDb+i+!$wD%z8R6pF+d%5sc{Uoe7f*sn~ zPe}{le7Q-&W48_Ouu;vA*NV$(T|W{72RX)$3kf zQX|r_(1YXvXXY8|A>X(WA><$Kx@*^|x(J-c4T*rNQZTt6-X8V$1*Ge>YLz}QoU%-N z-NUCQ1!UhmJRy|whf>%A(2^qSoId@|&3n{EO{#($p@>PZ3^#9S0 z3Ee!U{{}4l?J`86Vd^y!-%w>LdqcW4?QrrM6wD8SyYL}2L;F@fhY*xjc7(AMeWnKN z7fQg6frU0MywSX2z|^=-heP(P8({_F9f?&%UhLKRlGqiY&?e48xu}5Eb-*Thc5^2s z-+-k6ZNOiTOO46=t-*7G-ZVGt%IM6$g$N8>jH>Q;4I+bc#5i?mE>w z{I{@s3kRQ#VB)Se4ZRsvr)xqwKyNRQ|eMYyWJQdCF8tJ4yIHFy;7vW+oNFDFkXV zkhy=B13XP~*UDU_rmE6r!-9F)Ery{2CRA|-2uHO6VX45#gEJj&6W4>7zbT7OIoZC_ zr^H|!i~c#IpDdYeBAuVSnrF=bzf2%vACFA#>w1wy_DE?c;grLZ64t02UKI~GWj_HB z*T2x*-(MiQGPnv~@Ne5e)(=flg6rXaeubPauD@Iw&O5UGwlz2X0fCu9@T=vCX7wCa zE+B>Ezofv(jT9*PTl-`JPX%8v+v0CN8D>6n>UJ=3Hh5mWh%)?Grl3^P>=$+PQ(4cx zYyE&jH~(%qso`qhqj|ajGI3QvbX+0jDrn(R(3Rhj+oRIB=d^e^=AOr|qV?rq?fJ$5 zZ?Ms@6?;%9Hr%U{_xf$2&)hs>uM9phzB#Miho2XZCCuq>FZ76Qmp2K}TixGlYb~uHG_^{&Azj+xGZi-1|)_3Wl@E> zwk(;QM*KSP!N<9RWF`xickVq$*2DF0DdLRyCeUAcoh?j1eUl^_4NuIRt+RP=WhLs( zJM7@v4QBM+`tU>Xs=bAVm@8a(RV*i${hu!HaTeto;mk1Y8#EQHzE|WaE)&soW<1#C zL2vLQh8PDxUfW%K{K+Gi_xP}3v@kma5_h&FZ@0v_t?y%=v<3=yfc14{Vd}+Mq@rI& zKu6(>{h}zLyH|B#&-R$$-hLS(^&Rhw7Agz;)P_0BFNzwxO2=k_nb#s<1sjRp{9g*^U1C9F?eq#xo5H*)^qxU6i9GAN1KSJ7>Su*f z>Rw_%=7vi%l;c9_7NUuv4eCNw0q(h*Nc5WlF~bF8>gaXGXa0wArbh}v155?t1JGWc z+nULGNi-!c7Zf=+zMMk3gRt3g9P!_Fr6Qc)6*p~?d#R|y=H*s6B?+&)ND#@umDst5 zAcaH$M4|QbTxdn$<>bWFxoh^3TM^k%jp#<$;VJ#ynHhR2-Oe}dv7Dvt=WH_f+hT_V zsidz8OS9p0_PRcnY!$I3xfKBvw0PN^6a?9yUaWv^L7tj+TyMH4I2;*IR523r=pQrR zwA%9PODY@HcY#UBFwaOEDm6;tFpR^BJX9I0FtP2{QtCY|fgdpp${4a5GLv~mq?Y9& zn1&(2-(Vp+XtpIfhRf=j)Oj&m{j@-~gF=ZJvEIDy-f`|)VFms-LtA-Qwtmirqi;(- zoJuPGtw4#4!Ng!=0OD+U-a>>x@L7LA!_(rAR^E??-W?+K!9~^79aswru@jWY1uH@% z(rvBM*DAJ%<#f_Un-_@R)upCZ3-qu0>tnZlQr2r=yumr+&6o%LA|9P5EXnT; zO=1|of*QrPuudCLO#NiOv4^$n%+Y;sT~6^J#qUESX-+zXkQ6DtHS*1Z0YsNa7vk7_2>Pzr_?RKCC&X2 zkL~PyZAZyRksVCVd-01>GB|+d8EL`}y85DLvqfT%{vS?v0DrA;1B$6+y>C+b{j)po zE0WU*vQdd1%AzXPz{B71_PZ3y6ogquH6N=iohl_8ART1)3VcpHK)Q@(95)w@Rmpaz z>@Yc>O^uMYb=75k+g_bkSXc{Rl)>5@bzS`nWO>XIA^PI5;o>2Zz5}eSGg3nNQ07WZ zfBFCmRM(A3@V)${X6eJgQt1}n0mA=>4T7LMCf?c#MDTgA7scauH@1k}T=`}%O~x~T z36F>vfLJar+p1POowg4uvs7ZdlRa?vR`N)4UaMkZ1!-l7w|a?uU{lJsmifFShqmeQ zV6{>-s=EfF2ufOBu__@$1VZIqgLViofuMC^NvdcQ)OYIO(I(G)TZdc?MF^Rl9cuom zSMMQbQf%qh=KvQ5&*MG5Gk9dr#9(hW9~S4rf|bz5v9qAwHg5d;Cf_Ox0N;2HNcW)F zkLWkT{T5TO@Yqbc2-%4Hj4VDV@ytg8JGGjcm7aCSlIkC~#JD_9|MN6p4X0cS^mdtl z+dad;eMX9gUClaG0Y=sYwRTupgkvztNG6SUd{;sr|GOpYFC9!M6a`Q<`f)@{|B;{I z&WFHe`~datx)p;!VyPDCx^}l(aO`hw^fy1sVF7f2gB}Y0-v{}%5^I1bL9+Wn&MK?v zSMgV6ZyEz!N@53dKCyh;{}lB5WvB)f1E^(2i=_(F|C|y`jRSynPA8i_xNh4of7(th zGboqID55n+pDBa;4?v--T-Up;Jl7-pN8Nw{zXJebiY~1)4f^ypz$#1gA$N(9THe}{-~T*E9ufn8T_giIYniTHiok4Er+$05!Nflu&~M-H#D}wLIEo5z zUsA}+9hUnjbyeHFlWMy9FA9O(0lnGO9W@?mRFHhS@suw8sH!|$1YBB2L?zPfsRG5S z&N+ah_Lt6by9PLb2`J)VVs)E9$P1g~36EsvitHXq$aMS%Gyn}!=Xe@&vH2VF?xh0h zdiA=a0xJT#K79>~fgcHlO`-EoejoJ{{8ZdQB_Eezefg*->5`;Bga5O!z(1`)phzKy zg`+1(E>z}E3Lw;Ef+cYVN)hg zbjM7GyGD*q)COQI?gFEkx%o^CMBoOm9T-8N$ab)|gn{nXF5u3lP#~0{fo}fR{vy!0 z?VM7`4kSw{I>elaCj?Bsc7ghdp^ppE;z$B{mSF__T2T1j>e<2Yi`PAVNH4mw3si>c zSPdoZgH1CD|ML|5JxK%rifz{SjiDtEP)ejI-aopqY4Pp|Y}5fcV-XBy!QJ-T|BZ6s zl;GOa^4zra7%`$kb+eT1Dxq-Dv-1kjoM0dt@G|9rj}2xBeU{D-_H3Bg?& z!IE)TOzdNOl0CaN7IUdm1Du5a%j0&gIrel2;XhvoCM#i&)E^0&IIId}T=D}MSQqB!pym-CCBSi_|DSIFeEtrw`EDV) zu)@C}0*H|u=It$ymW2``H`rCOtf4UT(UNqRC}Y8YT`s_Ux$CMG z-I0lPZ13cFkH%waAT-m09jb}`*~TnBP#M)o!SSC3oTwjr>}ap-EL(|NY&E(hhV!ub zNpL7bi;w?2O?@5Y(|?Nkd*s&b(oOfGpSafYo$M0MZC&&Di0(G;|2Tw!&Bs%M?{*x1 zxKzy&7nl=dK>=c&xH(XZ1G*9pV9QznwyXu~D&c`XN00l-LHgU@gL3|&V&h4Rlxvrw zG;RmQKui3R)E3VDcgk0CA9bs$;Ou78t<~1{G0+?BQllB7tAFmRW1oX{+n|M6j z$Cn>%7BYO;9Q;;D{)T{UA-6?luQ6#L=CkWu-Un%QNY^g@V8e&0|JSw!sPV&pxtU9U z$^VC!;Trp}6TD7Z~7^~24-gwM^YaagQl;myy8=e`v4$q_j;hBg#K&!r{ zsfCPxwNo5a%`d#~ zICIGKQ6_=#gf&4J;G8k?pD_M)@F9I?Dt>bSyE5Sz^HSmLKFxe0v%zd(6w03~a`QjQ z`{0*r7}8m;k%V1s`7znZigX=AlDwfRLK4O1qwds`8@yDGoWP7eg_hGLvv(4rMf2#`=nE2MPhx#N~vl=RjVfsQ8tu_tbE7mcMf&V1ivd!HC(wYb4qLis~^_Ts$Nc;o$1-Et4vX>}p6;-@2zfA!;bJhCelNXS_k6d!EO3J8Sxm&$II(o>zqJ4ge zZN*!63Sv$?ivaztXOin7FPA25-cfmw&_C@ej$Rn~ndiYXE1*6UY{$yk=l`56dhJfu zKJG<^hPMczwQIWS$^MJi>w8^wT5mG(BpqoeZ7kAK-^EttWJZidkqr901WzH76$HgsM~!nfvts8wE}dQ{3XbR_h#1tpLNzRJtjH9Lji#S- z+a0T&qhozSF|d&u&VQwah%gdNGJ=rQwt9fLur1g!XDJc1{wlD^dS>R`j4)b*EzZ;T z!kCu>Ui_(RADcDg1)2QW&D6d(VUY4+IWfmCi5*?XqX2#T>6GDvv+2RyciH}NuG=#h zR~)J1je9@uk9v@UrcVx=@fqT^EUOFk$M~_h?t^{k)9{L&BCISb$U?ie|3!WTarXB{ zmk?jP-Lbx^vj&nXA(Y$?mXg^w#CB4-_1jz3pQG`iG&t_-?SF_GZf()|Avhy3&broB zW8;glh>d(2a0oIy6R5KAD8IaH-OF3>(>eMM(k}A?(l-1N;=F?9tVG6KD-P4^vjnMn zF5enWY_x{)#szq!7^(+@5-J)h`Y+#H9U))U`c5*;U9r0x9;McuzTjv}V9?Md5=o>Y zduPJsHX;6M`AgHYdMh2`7Zh z@tZwB#zN;Yh$M|%YD=`oh^R|Fgj+8A+?f|HyA2;h*|N6Iet77?UvSLaE%gaAvINw* zX2D)@4}{gDMjMqo@epIh0b((iqRx{imuqE04FleWz2jRtXP_BZ{$h%2XU-zi$E&l2 zPRh}Rpu-GrE8eqElEKQH{A`)1LS4Yo`C8QhhnFQ?F%ugS?bLJ}v1hdyv6_?@(Cz-%*l$F1o1mw$? z<`ob|+JRwD;>$-79ZdKMs^s&|Z!d=C-(3xW4o*dzmvWx;auqB)E)rDhX^d~>hjM4A z-@TeSet%T(w&&RXa_X&^`_)|X`B_rwkIxr2FLRybbK*H?o`%<7GTHEb%+pot7th&XY zHx!>Igq4Zo)7#Z7!<2javuxBW9*m46rFloz{_7%da^OMI+X=sCcZ)_BL(R)wx0~bH> zW`DGL7$k7jyVuzB0#?MSOe{W4qQkGY&p~>JWd|Jwo93)%lc@cZBt>IbTh3CEYl9sQ z-*Fxum5{77JRP~oJ^3wTZ{#J|4&^&9_*>ow>evetAn-Xbii!oiUDSfA2kDq6@W`qq zTMXKfuiG_+i<8^bbcbN zs3%xs_?g)+d@6OL7ddR_e!^n{1>V_&Dw7Hww$YVpDXZtf!AtA!*G}Ja%u&Lc0@ixH zHvhDOV79%Ac-=FJIyoTwtR`b?(Ryuhta8?b zQH(Brsy51AS7R?Sjm@>m4mq9uxcplm_@yCPuL8Lo`-nxu7_C#O1tmSil|9Ghi^Ew4 z#!kk|rYG+1=Q5lt=07oYWID2!TBqJ5{ai~bSnr8V-2h#d9{|HtcZ|Gx(G-gWmHEkk z`ha}PY{l!hrW@|BUL_HfcZYS#s80idI>}AVh5#DjB`WLwGA1_fEp(9Y+K+xA9tQXC zdM_`k-=*?!HLR(#_3&}ODKH<~4W`3)VU>02H>%!|-QKa8eaY&y{2|b2HX;hAiPg&w z_;)sDdw#(_mJuSsx3O&sr&f1I2C&;79I>jq^fdQlzzxD@^Pj*S6Hvs2i;)vj?ps5u!zat3jAga@v3f`4(aUlq$?@1jk?iv1t`}X+h82Numzza{ z3s1po@^Lw!Z^K4{LAD#_XEmd+X6k1HNPbp%dQ6rQpo+q121lYOh1Q0+lMhU)(?f=? zqlbXU`=5Ss(s*f2ht#zCIko6%h!MrqMD*Lc;Dk<~L z0!}>&thZsqz;7psvj-n-Ki*G|c<{v?G^X_2uV8!;r%=GvLqt>b(w5+4?D0T2;>o-G zanR(6F66NQtbMJHXyFq5_wt{begdaGQS3>@OFeZ8cLpN;8azmHPDF=EEI^lbgDHiM zjS&TcuLX6^$$U4H=ns1cqb`AQnf*x*1au}E8B#CYJ{<0~zc%5`7C>YtLpr^(bnS|i zg1BX8W44`p90@M7ky>RA8F@@g;ujRfVZv;*yvR!ionuPh2{IWUZd4famd%sjduq~x zHrCSTkSE7{@Zjup47=B1@23gl#b=8+l>(Lz4&mC7uR~PLFPh)+%ZAZSf6vn{hm)e8$%kr~ z(-$P$M}6jXX$3)yV}1J&6b7-;Y0o`F%zNotMzD**n7en**0fcZFV$r*suGlIir*HIrP~D02 zJ(!D&$qjQYBiYeM91^~RzJ~wNj54-j?gs?Y!ht2nR39z8@gp>Krx0&_2>uJg0ZM!C zWyAm|#yR3G`4n=PcGrGzC5iUkc6;4e4syn?qkW_2s#E9wpI9-veDt6PWp=2vXyAmTK zqa%>n?21-O!vsjCd3V3qYq;iv?Y-cgSkQ_2Rcz<5xpb6g-B}Zks}>mcWTwX4+oXR? z_u@6tL%e$LV?!hiT$E=%-HRziqI&oNt6US$B?jZPX>k7j+32O>Yq5!=Wud(w2)2s3aM?4`L>>+M#3<|6x-dsB2r6p}kf;oVn8}7JTT` zRzU*z1bC^g-SJA&GckQ@^A`%0>aeTVTDVDKr>DKNy>IhxZ?zP;E(XkC=KinZm`r`_ zvX8XC{R=rv#VcDL=^F|D0rKI@iOQLQg$ZLMsRsaS7y1bJZ8-f7GLAo_p8&r%<=lI4 zJWIAa%EgPMn1tdM1oa6LD9xNeARXZ`9z>wpBC}T}kUA&db-LTc;cLfmW>X?aB4dTA z!LH=i|9hoRnyB~71Mn2^uizvvW?s9O`kAb+W+HYc&nMxt2bfxepaMoHxhX_-xP8B; zl7Qu~agEqyGW~%V^p7xbZ&8T(9YmN-czd#G%!V0v2hI*=^FK}gvQlQTBr{;j4FiX+ z*b{2->4$~_ai@1Q`L7EwVzirL`r~k?V=hBspqB6~uG4x32kTnihB%Y=>5Gs&78Y!y zz;$T1ZY1(#I90o77C#I!w#N;zK#pB^1p2QTzF=kQ5NX)e;mP|S3-Ps6)i7cN7Wovu z0}<*eAcVyC#I2xj#OO?wl~DHD!Nr;icy$7tR92wlYvZNCK*&21$ni5_|C!T(m$5_R zqhMhBloRU62zd>!KJ{6sV)GcX+#^v0`NZb0-}4xhMsKmF4U@#mI4EFO0e?~`;8$Wj6$7eklsh;9B`p^YXlCf$lOI~-K1QP;s3=ufm93cT z;Qwa?ZkB8^BzanYDz(0O#}702(Sa%3@>X~P8ph4|J)i_adZru5HTt@679bEvswvl< zm&hV|5d3R6aSnCJ`(&%s)1>zm*vayPqp3hjNh|L4H-U7LPuFQBw@DZ=Up@bf*V9JX zo*9&pTfLpp3JZS@2ODEbn#&laC7DTBc%9NY^8%T@0r2iTwd;IZSGX46*+JvDUMi+i zBuEXUj71`U>ppnL2pst~&Ex^PK7#%6Ub;MB$cOQcMTPnvL|d%1y_BQ5GTP#qNz0Bs zPR9~Ks>d<)R1~ptKRkWabO@Gw9+HcTB_@_jDHlurQ8I$^8SW3Sdflig*R2G25u|kY zM(0|qqm8M}$*BcqM^~=2^Uad8)vNm2xP+@X0ugdDtX`bK0eoWb1)W4N>}0NxUrYPa zoMbkGi03_WcqG_gKfLaM3%wn`Zr*{6=--!>_j2JtMQr(QeE%H`g%Hv`xL-ex3BY|@ z#9mhJ^-bbCr!vUft^D(vKbL4yHj!aP$lqZt^Sg1GN2aNF5^CVbQs1?F;Xhc$_|$ry zXE0v{Y4#0OeTk_6MRreoBXVnInk;GLgWhD9yU#F*gyR#J%YB9{m5Pu$2~{EABC`pB zj~=7K@(Ty9pg-;s?m669_ryT{vlC!Lo~}rCgvBHnq!Bh$vu);lDRLsveg4{Rh$DPv zH!li9qd*6tOSQyHryBd}IxcCZ+p{>m^ORI%iBTaled&LYO;W3}i!5xR`gqrMVwpQ| z{yqxU;7OpsfdrBhB3N70@k<4N&SN7Heq%K{jQ7ch7=?oU@u8BXC~6s1LBS{KHR zwG`_`q1t1+FUc`DH&FZa!I@|9hAh0Ws49tXm=4$PVe%)^E}^h|m65}`erV=C93P>5 z_O7>>Vr{urokld0>DH`N0T$e)&`h;3uWnBYyV}!ofkCPFG+tw5{z4$^-%ATAQfxc* zFj*gdmE+7}S>*J!$w>1yb!R8|8@cB`P5mt0z{tsr!T9J{4CTR3w@|nTe8CgR)FYYs zND983>`PW5GAs*4Z^{+tQ#U@6$R1;)A%>QF!W%T2Ie#sPqyYle6}*E=epUZmL$JZdkVX;n`iYAB5&fptY^rh^7})_NU)9M+k4Ydx+Cd#^0#W$BR!==%}xx62kCz!3^?c!4A!7Kd{PZ9eBC>s zBTL-RuM23$F2XnuwNinyUW8xI?7_pHN54kX3}BVuyo4DX6BQ1 zoKgqCy}7xA!S~3$#;8W>ls^EdpOGxM2X_+KRNRJ0&ddqtdzgc91#+O$lNoOHHUHV1BdsE!t6PF%@#^JCchY18J*l#8?lI7>@*awxK{_Xvjv zCKYw~8U%tQ8=X0oJioh2*;n<8c>qb4z@3<*#1Y<**v>H%A;(0re&#Mz`Dpt~KaTaB zA;$UPThxaSNHF-Kdgd_0!LLDi4E6cb4tKTPK$r>gU3WHLMEpUZ7b@5cQu?zYh-f5T zF<1nIvT(dY^!Vq+xAn)m3n+Iv!tU?U&IUS4K*0CW{SojVvlIQj%Uf;+{2*_|0zev! zDtk-UU_SEg6|N=S-FPZbZGLxSy|K8qYxlzVc(3M^ox>v~{_QJ0~kW zGLPNbVZ{~cRD$nPS4#a^*Yh5d0erVkyQf60mEpbcN2GVn1k6`)gYHNai8em3rC2b% z&v3MSVW2A}cp#+vP*2L1?l&nxvHfeu>+i0KP_v-OqZ&rfkoXN%RjI+-Xg>D7;ItIr z8j3WLz$dPjMmQh6lK?6!@0_1V$-MuF;*CCDDAWi!658{9_OrgvKAct+Ar4P+=*vFRHYoxzP8rQgr3jJI{o#neCyF?n#u9?x~mFJyKGHXu+MOjII=G zbNF@cXoQ~nk~^z|?|pofR~f>-oDV#}AYK@yV-RX&j@WqeoRH@CZ3Na45b<1-8*!VA z_4)a&O)8WBgL4+Dm=Bu`A=N<0Z$|a&MA1~mi&3ba@=6a@wsIueUwN%=f3SNXU?MoP zcKn6oXT!L(dai`eEwa4u!E8%baF?0Mr4|LIpS5Ei0#_T{S1JxrD;ihsGbDHvI844$ ztU~QD5n1=W*UArH@uA2kR>NAjSos|9-hDlkFW#=GlTeK5t`XH)=e;POjrh!8456Lf znD}q_9^Zw1vhZB#&Fg5vzUbts&n$R}WEDgurM9C_5e0S7#{@KoS@bgHf8TWg`^7kL z0LMTWtX5R%F+p4C5aT6jkd)W^G9HKTm-CH&H7j8_zFGQOo_Vs|b8?u$81bMEya<}v z`oQ&_4&L5W{eD2q+vq?m-J?g$9>;Z0uy`wk;mb)>1Dj=$vXOMdeCU&<4ab1)Gh9OR>HsK4UWU-eKI?ye zcx;&R7GpK4Wz(mTQ#z%dtf3aS?n$!v<8LCiRDaQRlNpk=AF{c1d$Cwm+OxL<6@8gQ zR)dyLt@mq`3{Ps&Q(Q706b1SbQr^5%Ob5r5bgW8nTr*VZWPlB51wSU*acjoh5&+z^ zlV*woY@A~INAS|?bJ>;07^=H{rAxz{Yvh!aXqVbUp_Ahkba*c4lRu_h*E+_n!ZL&Y z2JSXC9GB%{la@k}s`{Cp0qR3Va?OF$b`GQ0s}pJKgo|;B{0+?hlA{0W3p0dZnxq8Z zqx)n=cWcXXU_gl+3fz92%w_f|y3!HPtRQqYV;tXKcwKWUaEMS7Cp-sM(eNSFPknT{ zM*uB7f=h+;C>OMUVc^dzN!evFlNV2Wju)7xa9)XqwxP_gm?b)Qd-`8W7x^?65Hw}e ztcw3~s&%3*nvGo)+C$ep;ko3u;U&`+vwqpZpZj&7fF4_}fd$)M@{e*;@oWa-!Tik( z=csgtOX?9^Y4b2gy#MmM=QaAU(L3TKlvx(FtL)alm`q(Tz+|Rc28)=mg*Q}>b8JPL z7?36gUf1(WD3cM53;G@2$ccdQ^P7Egl`anGeF=@B&ZJyDxOXP z*kmvGi9Y@J$`b?}WYf-}$;-ao!_h!?CE$R%NPJVasPXmIVf9I8D*VQZyz-)o9tQ)? z56-4u-w(Ap2|!qnc=z|FM1(|ihb8EAe`aNkxKd|*N*Aw=jz=arv+`!h2~ELG>(yl^ z#Qp`k-z@*=p3`x)oHh5ekCLU<(x7Z*DwTnz0G}4!l~uNDa?*axjr;~hyb6LGL3=~q zNT%>g10}k9-Fb?6>WtwmI2#ewr__iCF?(D;V_?UBjvbia=Y;>}7xI+yTCG4MW${rv z(bd!{VtVvi4nXvYpHLR?*i7GAz9^s8$1K@rn5$prj=pTIg{5qKGl)Ut_?K6Eer)Os zTUj4{!p0D#rOBBFOZ|cwem2D@;6 zyI{q{`I$Lc!?)9`0j*T%J;nCd?a5*T$V*N$K7*R`NnaG}yMQCMPG3B8N>Qd+7SN|#pP=)(bkEViTRwj9EUpCYA>JQl3RXl& zNVhL{VEZz3Ze2RhRpwjvC35@ZkYKzY@)nt)M@tk-Yd_@mLu)7=r>Q(i+W>ycdG3A) z+Pd8Ok_BIWl_f#->mD{$BF$hTU4~f42;_32IoYzDmFh&bZ%?JpF@A){9;E)8)8B&& zLeecG2;lL?)+r>XN`$$M8aHmtX!!#OjYy;DD?gzrBbWBq&o z^XOoJvusO3zo`JDc-%R|bGu*WDEn3W8b- z@K>rc&|HA3Kp490=U_n_N)qh6mah%pOky2wZ2_BFi`?Iv0z{ZlHu+<#A5zh^v(#~x z;B4#G*3Q>k(`3r{vBNCbj~@5({UHa>d)vrxMe-wvjRi7>7LFzwSf_l-$eG>zC=8Hz z0|;qN9&P}s+BZ6oa@y^=nvw1a%fWMiIDbKZ`vI)HVkM}G(d~4D+t1;0ApL>vh!vC$ zZm+d1JhOJUCv(v{yxW3OratWP8%w>#zW<5?ZaAGQ8`$Q~r{4)Bvz3r|__axCd${3N zxY9+zR>9fml^hI<&WJCu z@nwouo(=qi8}Q!hSDvWwVl1YNggOo6`LRRqt^XFPp7&a*;Bp`($y$vT*4#7$DH$jR zX|IPE`Ea9K)GGdB#j$o>>3~s)(qqfc%lH3Cgu%?ni1zjCHXgaAQ!u1Y_`@VB{#1uSI?zPM`cm7) zzN)9gSLPtR!hY+ORt8f`No>U{4a2#}7K$SygCO~qt`_>TrEX&M7W!bFV82>h_HT@= ztZ0-}U&&cniBq@hcO9em9mT5b>@yeU1NodWCQYF0SS z=5Ga_A`UW8QGSj7#1Ch$ejcY4w)NSJJnGXXy#dv>Re5|xkXvv>ALRL!;SpsSXs;1; zkRZ14+pt%;7rlM?TJ7SSvtO!$fZBcSHLWgboEN^gbS_4{9rzH+r>;A(bz#<}dV9_FTLxw*6 z3>X;>9UGRk%n6cpi!1*kX?w{+ocg^nf@je}S4%FT)!JbOd@VwE5n<<1ss+B;)JIznfN3YC27ILZ7G?`Hmmh0D`bmscGB~`>eziryE||?GP&M-r2IRDL}`id z@!xwC<_#6RdVnGxCZk=vu^<%RqZ6k@z93CIv6qCc_>h+Jo}Z*1CH#3%({!AY?o4z& z#$5EVI#bnIB(^&l8Tz&5y6)2i2;La}&vtEahlEZrfssh2l-YNTc@Z`ht5T;|r}_oR z(vOg}?@&g4s^-QX&7<(@Ykd@jU&tV?hEM&3P-BC+(^lj#aY4J_cy*u0B{ntXM?#Ga z$tJRC4ztUV($$DR($Ic2Lb13gSjBh5N4P}Cb zw`s(inIFtA=bxZn{P$J`$*kdJ9HcANy{m%M&6uPgBrDaAIJ>%FGVI$KY0GwwYaM=# z8Xs__dTRyRoLsO@3ifvGUgN9&-axbE(zn;)7SxHVvm}=hps_u8q#vX-UemC!v$oS4 z@a-$H^FB-;Z#Ts%n0XAwU0d;SxxY~#r?;?> z6;3pMuw+qB30xYK@a4h8|55dpVO2%j8!xfxE@_ZP8Ug9pbP5O((jbB$-3^;=kd#j8 z?k)l8?gr^@*wkH|bNuFg;7i-hh!0SM3e1H0%errMN_LYK={+)FinvPN z^kX|%wc}mY;C$kYAdi%2IbOsP4@E9|D>{Y4BI3B#j5jxNTNyh`N-e*?q>^(GG=`qRhPrlS^-LFnYsdY{{p7MF-Gra|1jD%+ZgW1*~YgZ`qP7>5s z_J8_u)iz=*O?-Vio9w7XvL0F=o=R-4@E111IU)8J{I6!s_TNfB!^E!TImfSy!c>Yu zIJ3~UlOvmRezTPWo#i5nhiaoHNtGpUoJ$ip-HFp@$5zF?V%qY9qLRxC0wMRh)y^G? zKJ(hTRKq(yT5t|Wo^|}Ai2Q|6#AZe8hDzr@ij4Q&AMQ#P9%Q-I1>RX|QKFD3kr!d) zRzIe!oZa5Kp8tE7A(sAL2oFI*q)FD{>m{8AD5a8Q0Lu!G91!HqgT zFKtW?t9~}&@!MIPr4}d({`5)@s>+gue%aOU>ib&h`d3MU`cTgFxxw@A2oxQzV@y{I;T_7cxm9;4QptK(<5W<^NwIh_Pn1gH~= zXI*lJWRDSGd9f6@o(cvT?jGBXx%c0H?Qzs+*x4$mtF zdpmixJALd9yC3^yRvYMykE=Pnd!nLD4+OuDOO-ioS_GZqn~QPu)-w3mPTW}aO`1Ns zVLI?5G1>U*GpazZyP5r;+-5`ywjoM<~b$`!f+8M z8#HPqxKND~`~n@NrUD%W`IZn`;APe`oV>v=_4@o&cFdt(6C zkzWnb@a*px$8#-BCc8N@rq6ZcHxp&cl5s^Jd?hf`yu?VF9kPwook{4=DjMob>TlcV z@}%^(#!Kx7>OCVsgdQ*Pzj}}qN4~=aO4C=vq5W|m&a--lFO`rm#B~w9JVm5TTy~*r%u0mSujqw4-{&*u=g_WM$u7m9f%AQD26k6WZX_VPp zndz@>k*$RzeN1{TlFI_C(izac)vnQ7KWoYq7?VAm!ID8Ipk2d1Rd{>~XUz-hor_RB z6e`8++|HPBGQVl!N~?@W+HkideZQEBxU}-`(sW&z32O;i!ob@{bt&5qD7hYexwq)% zjlSnvHXmMOTNFjj-Vgu6OWDf{+U8@(aZ6Bp4xP(05190`)4aGyZj15eLPB(|fa|DG z4pI^-5qReXEW>P3ksY1PQ z=Bp2xS~)yi{CP(~LgrEGR z;BFzO6rH#Qv?$1GONwCHQ?MrYY< zo#dTcs`F}Y%kk>W3=+)-(Gb~vw?x_Yc~I(wOC9;k>`ReBmka^x1} zhHB7IihVxPY>G)QTP&zOb#i8*l=*3=Q~-;n8R7hccE)=7ug2Qia1bf)^x@I-2${g} z!G?@qY?ZXC(Dtc;NlTO4KV{(sivw5s#qfYyxng0tdaBU<1a4{#)Q7uipU@1XY`&cKMm>bfL(l9=Wt+v*g7pvh!FjP0_{Gyjz5`hD?5ex%ZCe; zAdZ^HiPaQ;y+u`gd)0SI5}XGFPIBK})Cc!L`Fa{lu4!R7x_?cqfh*&8C6X>mEH5(! zAFW~v(tSSgT$^?$?5ZX~lSD7YPh38BGG*EXa|#yq5Li+Tm$wVgR($#h#l)%L?EONP zq>>SQ@_DevJK%=%tnU-bsl&Za-dGEu$20P7iec z*G(ZE7;K^${CD0X3sr-1D3^TrEo^~y29 zU%Tt3-@96-Rx@Epg#XioK1=zMRX#g(>w>1iL(rb?9;ogu6=e5Ngaku^<+4#E@cn zLFM6ZnR6^#jZ)%lB-0XUQGznH6r(#638O?J`@~gsfzFZ_=E#Uwq@*^0wPBf2xBcFn zff~gdw0OOO2v{CHDOjl-!81M$d4Pr4Rs8_DyEY_ZE4edH0|e*Yaz2zxjkK?L2NNO` z9LsNCcOS2H5=ZjZIHgVkaQa$}BwaYptaek>*Lp?cLpiID)`t~lRCb~FR7(1Fw|P^+ zt)(^Yqk}O&lh*|4Ie;q-@FYJe4^Ip@Scg&M6&Do9U%lfO;rW*}o2q_lH%Or8eV}|T zIrB4q(CZ#1K%U7SxamGZMoYb~F0Wv@U_RJS93Ti&=LoRuY~fNUH<2UA#d6;QR~DU3 z?zO#sbx)h$01ZE{ZjegfVktv?k4IfVH+Zr}LMR;W|0`Xz%K%@+tA7e8_yqdA?`TvWIux0|;JHUqgotH%G>56aLg^Z3XV128t%eg;0VU)x~pNPLHB z4$q%@G^HeLTQomwfIcXPpEK-j!Pr=l>R+#je8=J8DQvFJJ6h%}-d4#TVqjo+5N-$P z*x?DN)gNxjKl+cdpBmPnazhqRR4!G<9;fMo`1;fm7tcn-TKC? zo`!9U1zW3={bcc+M=M+WnMe|{*p^sW+ks=d?Zo27IHW%~jJdN{Rr-!5$*i6yyZo#F z)T|R@?q$@@jo_cZjGM9AUvPZ%8FUgmT)3~5kwNTmLKkbxDA$Gqy9L@52mE*k;2r^h z7N|LBf9t)nzh<$}g?9t!!#}fi_sw4gt&*9vL>kB z*@`XT_^*d9e3>y`(T7AJas;rP3-z zo?V^9hA`2R$||>B_3s_6)u?=BSTG{5k~(#$Ck@Ev0+wcGbqRyhe>?WDfSdx@aYo+o^!Ooff) zV20($`NdDmXl0g}<%MOiOeqZ9de#~?_BH7z*Fsy6(^i(E+=C2!4M^{)*(y9=HC1H;$*##(tr!;za1%Fg$8be24B7c0M@6$-GS8e zD4Dw%#pdBE_~D|07+i#uW|ysi$D=@LYxcOh{Ng((6sDoYe+=?{cchh z4ja~bc{^C(7^ypv$-{{vRmZ4_WXEC)u-Z{a#!5{ z{*6Jla9Mio-DKOTW9wK+2?B|2rtMl@#7f7_{#no0ZZVNAuJ4wBmx70wdVWlK04xqo zY!lSOkB^Yq1UGYnvayXe!YluGf`xU$fF-3{nT=`X=AHQoEOoen=jWu>isk@!hEw9W^U0|AzZ3XD=o6{M><3o#5#jAqd%Cpls~sr;&T zA$Lggi^J!vDLg-)$^kWa)4~IGX+d#rk(>=I3|}{#*KYs}@+>25Jn+9tYV`~&Di_6G zuaDYzD(-2##q5dS2(^{D+Fc5b4^sEEeMzWPc{NvjYfPFf;#EqznQBS`;m)l#Q zqQIn7HUnKh%E`s3ha(>t>e?6#14xiTmPM5k&_Myh$1AS1Pdm}o5m2B~{4krcKB1u6O;VVe`qcDua$I<;RbZ zW-u=5=v;UyLm`r52^={^4JELg!#xDI0jqNSd#7_gF3$AHhFKjqdF9XxymMZM)=IiM zo6740^jj(EuDzGpNT0LpVT}w&7(6p41BZ3Ok68zl6ltH0bpKYV){3`6v6y@r<}Jhl zM^fdBx^>_L1oN-WOR7BV_$z~)o^hv%%5DIFA))v2t}O@?Cl~O_M)V6bB5|~CdWl_k zdrZawci5K<7k3(so(?QbUHE-SOA;X5!o}`$lJ$@+(82!M<|@F`^Wo_T9nxh;9&yPwNYtL(`|gRF=B#PiO9ACo zVs4-UzF?ec74EYW!Fa?u8(FG$ykh)|d78BaM90}+0{DuG{=KlQ8>bg*AJ-zt8n&y~ zBKYp4Azc2&fquG13X0MJOYaCg$_cU6=Lvg14(J(H8;*qt22@wI~k^58wF;K zMso^W0{=d@VG8iEFw389yruwv|iLO?wHny%<(vKm135Itl~2obpc@@DxZ z!cl-Z8O0)v(mS@^%?M3bG4Y~1>wm!4Nq@TWs*^s-L41ieO9R&}ML*dxv)Kp8&)(el zk2Tc}**)P)>v!MZ*`S9dAkjY+hGseI_5;ro`r!XHFze=;NDpVa{Umd-0Shj7jUTl3 z=nf{X)bsX-hcyxg3m2MwHlJhSLpe~HHn1Iabv+r%9PNqS+OPDoVbX0W$DQ)T0&2xn zWtx5V_O2Q2lDv+8qC3+jtJvdlvUxrKFqDg}F#ML5%Ke8+b+uY@5dPq!V_851)UQRk zAOZkr0@OlB)0~0G7M7VbE((Dp;A1wCRW=*o4|C3xK1ML{K7Z_FC3+AOcc1?UZ)+C5 ziA_K-ihK~L_A~1v2I@I^#Nlx`KMwd9O`Wy=J0S$>?*8Ewyhu&ZqhJv}7uy^P;;$ZG zA3%^m_*||sZu@!4=3nRRislAjz1iM~BmNLc+{w?8(|xjWzPs zA7X53f&uy)_?=%0O+QhtEqcK#DOJCz>dJ7Z3p>}fn(&!%QGn{iXtWxS!)N>5cC+>g z#TA=RPEvd@S^h0o!g^CZ0qcolk(M{^w9Lo69>3i0wim-njlW`hE~?g>xl76WXa6ex ztoSDW?Kl2Gn`0;(HhpkNH$2*svq4~Pf%U6otkU637LP0IsVS!0ng+XctM6ZXsIBr_ zoqJlDWq5Wv6;WSEw+et8&}K3c5{CNLXp2I2D*e3ETsbyAg*g(@&^m6m&S=#IEyR?)pvnkAI~ns^8TKy?b{wKD}_WL`&Z|qiUn39XoKJ$mt=KuroTPqRw2-Q zX{6ypG&>A-3y(@u4Ay(703X!-U?d?N5SKN%LdJce@x7nyfc`?ZP}UGvR>3;?44_+| zX5)Te)M4(ke`y@KB4jb8GiX>rws<`xCJtruI*5D_;+}t2h$>MyNrUQSDpm7^s5@_0 z3`)LKn^hU!WbLQ`Ghb16S-cy#i!?zWPMeF5Qg$%Hx;<=WIaj2dsS76%>nwekfLaId zr`r2$^-#v0G95vxH-kx>xARgDtfI98$KJ@u`fF9EBu65)k+FAjp@G@aIkuHKy?Kj#~}o>k;qtTM+Up>rkz1nn#t)qQ9He?+l&p+ zYkw~)3dTEOf48irkPoTz$;ctBwD~fBF3ew++8GiSvJV*gz#|rcidNFnUWTMeYVTn) zqXlj>)kxX|n=#SO$@Si*EjXwcxyaQ29}AEcsVb_hoGF@yGd&93t+y?4HQ}ESu~a`j z3QQgT?F4;P`ZlLfNCpIr-q;b}tfh0RXgh$OSAN2=N3Nnp9`u0+HW7%xZRQqUH(pZW z$XZ}v!)9i@FO1MbK8T1QYXpjyAaO?QX$28cj8j&D^3rBi5iE6N0H{XE^l};HaN*IA z&acpE35!^tLVI==CFpuBRc-yLx1Yyo@!I4M_BMQr zrk{O2d4fCV?O8Q3#`;~+f8bPGI-Vh;;>Pw%dU{UrNkv<)H(u_8T_tD)lQ(5UUH&eK zkWqi<%7a45GQA1i?}G%P186yruzS-p75~_EiN$$M3pkOqz3p440S?!05oi7?cNW7t zL)t&yk7^@sg12Sv<5|vR%>MG;0L2;q&D}X9_+zxCL-X@pKOGV8W#y-DJIMk+D(vo0 zYe)%%41C_fQZyCR+K=hnkzRA&wDp`N*q%v7_vYRv`Qbbj*9?vJh1|v_>z~gM-<`#& z1$n>^t?xp8uo6wP`>rx|G%YP>MZMP)AJ;Ql%kA#eG=i z+cQY~4Tv8DiQ$OoQF`d?s)lTA-?C(8WKmp*^W3dTbSbF>|9pmcumCJO(9?AA$oj-O z(oP!GdH`jW*j-@V2Sn<^vJJ`n)?gS4?vAG-r=x|#G3ET-OqI8V5=t+49XhK-DgX)Y zf$4mtWOuJVMf5aYw6~dJCY*1okSjvsli7{fUfDxrbz&P3>0z;by+G|80)mat^0r5Yi zW~qpS_IdTlkd2_g=JJYuwPtRqju+aVD4y_AzeM!Sx%{t!2P^nALis6x;dYYD=~+%o zAQriYdAv&c%H^?F{)xlg5F=j%%W1gXhlC)I)8C@n3|jXhZ<&*HqTDZ0fq5{0=anlm z{*l*s5O%6goRm(wMbhqr^s1OX@cNXMX}=IbTSm}yly(iBdxn3ZrVjzk3F==R;8T=V zT$Q4hovK+yS-U6_uu%C18@Qt{3}BY68=+7avUW)ag8qYHJ6EECBN^^(p4J3{;`Ji7 zR99$WKctneOia%rZ`^EYKjv`(N8lA9imn+n9IBVHl@-1LW_tAAGDgAzmiVx!N?u1i z;-ta!6Brtf<>To&&W$rI0+W#97zPvls99(TdSs$}#6*C6IR%rK-Y~b{xkE^-z8lwy zD(c)`L+Irlx$UMv0^qh&6%t1;r-CB9h-dh-=j3MJ8${J{H$XX|eUFba>7-N9__#B^ z^urY)qBMAv&AfvHuNLJ^2)bI@`(?VqOXyO0Ls{0blOHx6Zhsj=pA7Y#lNl_3H^kC$cr%YFYU@IV`c?%6L%YQyc8)!^CPbDvKG%fjG-^y>|V ztx6YQYeWRPgwmS~?@s$E7<;;X4V1_HlmsiP)3S5=FI>V?#m}iNlD~TW{ZZwQbi#=dDDG*z1-> zs9bgsn2dCuN&1N!wOOCaR14TRD1E#%;1NXlHli;>r+5ul>X|XI$WL&m`3Qw(-l2;4 zu0wO+S^+U?^E}Gb_9>}V&j6(-U=EN1%~xy{U->(pV)^XUi@2;&v}b7$yGWkVJhA8B z?r~AwjJpa+t(D0}qUB4<&=4n}Vn?o8?Qvng#>tI}PVhglcP;Ukspw&_9JOfO>BlTa zxog_ldpAv0@B`az3$%VZaN41T1=G-hFnzGli4}PHb>G?_**81M)f-hjdPNkCG_M zclxJxp>uW*sft0dHW0gR$d&|uy}0&8j^bP+G;5u8fWke$w~8?DEM z|4Bf^gR`d#1&PLWlVa!MAmHh2NnnPV{PxVNA>k|0iAW6M-Y^YCsh9`Z;)YQ#zJZS(|kxAF{M0+-ht=6>)EUu6lmoDtwwOtxC#O zi1>IL^(jRU5~TciA=PEeKP59W>ngM9Bz#|j#r0KEWoy4Vv|?t`wP`c@AiSa^L#$Bc zBk5-y;%H)UBr4X9-$nrI&p3y^ITN>Ujc@OT&y*5u^@Zx%r&<@F{QJt4O;AQaxKPLE zWC$l17#^O$_GWh~gL6fV3V)`}R=pz>GCT*oUDW+(stD1{GGWgw0R0RldyvNv3yenF zQRs>@5~{!&g>M^Z%F`WzAPL&2KTAuYDA(KnB(yQqN^PgPHNQz|0XbDx7@n-M=|4hw)*92MBsxJA&QiUy?6$ESb9{XA+N*r zw1GY53pGR_MuUdC&mKr))gILUl9Jmh8iFKbVM;v^tn~s%&rXX}_0bhS&tP`!ZAJr% zMQshiyQ5_Jkt4j|)!IQJ5&}~k+$LIsk$_+Un@`Utmp@GRCVxXD)R@}^(57}MKbOB$ zmp1*}C1NMR`HwiCzND^xah{WYc5l?eGjVxUgmFEVt=zzd1mCPV^Y5xR-i(svvlZHW zhajkq_Xi&E7nBd3wa@&5hr{i5$LVq5l?yW&6*!5nIslI>{RwfTfzp}JqS#41HX3p( z#7er%B1vDjcEnjYaLX&~m$o+?6=YyfmwQLr3NLju>X|SfuhoUo*S(cqJP`R>Fp0k@ zSnPu#W*?8X_%DOBRm~w}^YC7YEXSak1Z$-s2qxMPl7F5B14v0qmYo-+aUe>#zu(L5 zx8ar-svGApsQ{O*z>E4hYfm}k;k)d|mbSzFYal-sWrYIVhM4B^sUNKY56Bo(}sY43ihg;=Vt-*$LCh!2j_D1^p^srB;bGzZKQm|%L82F`dF!V z6hMyZ{@v%IJ>_8`BuhHi6Ub4S|NTx|bTB=hp$i41nKNju|KPZuo8)1?kefO6!~1F` zcgUiJaIU@kC#%tmIF6UCxY9!H5Q^5@xjuYXw^GSL(m;_}ylJ8Xq@}5FeH_A`^xWV> zAZ*F_*|yDg<%)WTs^8-Tdm7q<03;{A%KOHKP`vP&4ZDm=)EuH%Jf^+<&d%iQrp=Js z4E(Q*^=L2X&#aT1gO9!N55E|gE2kQzsYS+(=2?aEI(rF0Jnrc0E>T1x@-O5;Sb)u4 zT#!ZC(t!?K1Z{n|n{|udk9{r#g*4oP>dc}#Yw!ED+8x+{nB^MlVS~OOVW7$w%>#p& z<%&)7_3TAOUPc!EQ?IIzT|LP?SY_9gH|9AF+HS8aFXE=|l`Uq}FcbWHb!i@MM*`t-kXFNuW{bN_qSZ!{R$2UZXP_Dt3Y3K~GL z10$znHQeAyJMh50J?O zGL~jW^s=?cAsNC-2LyiFTk03o*j1Z|cr8TzD+2{a0lXQQo=w4aBHx7QAO_8hM2k!7 zE-`_)Zmqj-0$J>(R1TGgLQPWI*NIqOK2bAXWxHH~c%oX?7-zOfLV=y?kT}D9BD0lS z&9|4*r)6BdTtrR);-Y#9!{tPz9y({RYxz4AxM(st!pMA zZK4d-`B9S)o?2+bjeD#rN}8^cL)@pAkP>1K%lEHf z&WhxVP&E))Dg4CQXRC8S&R&W;y;`lbhhm|)@u4=_=J*Zps!FepkjciH&lF%@(SeW4 zcCl>mrn%lw_~)0*^xW^U)Y@8jjXZD1zUK?t>_W}O2y@n{UCSW~{Nr-lk~o-3;~Nb7 zsr*|p=vojXD<};$))tKoXrSljk_s7+c?YD~YRJ zU52O1pbp+n;Sm21v*BF3gJq1w!@EEGj)^|W!M=Un<;WIh8`T}qeW8ei9_~XqMWC-T zVPpE0lboLT=l$j`{>$@jO=3{NsH+E*euT&=uuCcD|BNT}WA9Tz}UpI;#*s6~+vK0+MqUptJ-T=ogIbCQA~cl$ZX7xqKe) zo-#wQ!5lPe7o6q&tu3GP`|b4$%1*h*)p5Ntf7b?6F(yE3E4k|<=Q ziPp{FdqOw#d(Mv6%GEYSRHIT-s{C7E3N|Z5ZaBeM8 zpdjG5=`E&g5$|4y+5?f3Tb+lS4kASku?(6yx*$F3!}rp-YH%7jI|%TSf5=6eg;8|C z-V=w0*NSU+??%qP7kw2aU}Sydd}nWqkn|Ft{h)!F;E|fuXZH1RrGW{! zg{@%zXjsUyx1Ph1e=(ym9o9-L(>wRKPj@x&lM%i_vE#!5OK#`wvMk}Mtw7ifF`|A? z@eg;128xBv0{s=}8gQ9@|7)Ldvj02^ytn|2tC&jqADLl}&iN(kO|KDOLBbaG^(i^ev?Y>|)Id@_|go5-91@dn*&NIZ{_n zN6cH>8Jo~U-s+9XZN=Y2o-ZvVDTqV+4l{E!yDh88=oiDqBSgLSEl# zq35;`=-*Js#LSd%)m54*VNRDYK@d-n<0PeYWiz%FCEE~%hzihnu~62`IG6orkAsL( zN_b;WhmccXFSyW-Y=61?nKetv-F3<@v=Q+j$4<0L(X;G9eZGxWJuXLkAKv+(@Ub)J zvxPMi(9Lc|yF~{nY4~jQwd%q@dlb~IksY?VcF^v#O$vkkhQF!-CRBCKzv!(j(W`Ce5nuy~{E7wK%~fhe7?fwNC zCfhKM`5_;?{o>VvGyOlDa6U2XjRc3_k~DO=dym{N+gkD-Xt-%2dUY$HAI^~yc5%Br z%8?H;MJy2Q0wV`DTCu0+8?-}6hb<%T%bH4|SvY@^9EKByPq)4+T`g~KmT&F?4f?>B ztM2sztdUtQT|(ffe4j=7)3WihAv3kVvqi~%U3I7F%( z#wK<0fQh~(vJVV)39sKjz>X4hxRndBxyW*E0|B2q)6*Lb&B&7QlvSC)(<|hgmn_*; z;>q2lGg4rc>Ixs={Ug277k@0OVpQs|g?P<_#f_V23zI&W3~WdKA%~Fk+>EAbVV(V< z*)iON%-MS8g#2UF?^kPf4VzN*)^Q=$Pk&3?r{eusNQ}=(H50jbMhE!9c zO5xy{J0fR`66?rrmZSGrNLyi98D|!(Z$y@4fg0cu(#LMWRxbN^?4g#uYdJ{;TLN+d zW_cg<>dlJL;8j{aw z;Pe2koIP6T6Qw+tmH82TT!qKdfaxm^MU!Tv zdII!C_NM@lIv4QVr|kp&7&b;?0Km1jhVXhtnYl)1;E< zfLBxg*P9FSh4x~?`RWFF0DeWWxvd$``8eqa{lDi>NERYTwV(ja1h9BwH6bL&mg$H; z=H|;ioI-+6lv4pKzwHRbqE$q(-aoCN0YpgA^*zh0jXpY;SgG(kfH>Mners=S4pMy7 zTKw-M27AfZxXFJ;F@*e=?OI>(6C{d@LUgdfm}Ta|%#x-!Z9*8;Z~Pw4u?Ni58T95p zGA6rK@9IDH19AT>VwC-1tcA)3)&2g|to|)eNj=Xb$KvCG$qLYwPpIAI?qg_KFL(t{ zW?g2H4>nFboL}-s@`(OP&fGn@DP}lvuwoWJH5BLKCbhW@!&S;`(r!KtC z?zbzyYcu(W!S?g0{cYj(AD*C}-7%lOUGz{A8vRq>Iy)Z4w?eOrx|DWncH(z!lKJeC zDE>|Xr{GJni>hK8HjkwJ?`%ge8~Z+?RkVUZHopXz&FPeV^;US*)rx6g^aBa(&UYai9k|f5$09Q1ZHx; zyX}cVGo7BsfC?u3>HcuwF0{Ah8-#?^>noIQBn~(MQlhHoQ zh>ax~I`%W2{{tV74(9zf1!v-Tz!=C}D;t7r3xRLl0)*AYeTj@gU|Tjk#l~l(uQyx) zXkM=R_@3y$!m}Mznc^dZ#>{v%5-%oBQVC8606ozEyFDA}(-#^)N1J|(!ENBnzUEh; zZ}mwQ-m~3*>_ClRB$N^&-j_c=8uuZ+6qB|iVESu*`Vf}Y7jpTq^*C>Rvlnctz9lRXkP_kV2D@OC*?m(FxH-brpAFZJGI zEOOH>`Mj3lFIV$9clytqMb}CLh!;#Q4-H>ft;BmRDE8R_0WasCvHgR$Pbx;SJPdN}d~Z0xLePRX}kN_?_jCnsoYx$25vV z8uC$d&$G7|I80fWKmh6k9BrP@f6>6gK)$&1@8Q&TDG-KnMoqVegU}st50O2eh7gFjwy;aa zbAg2W4;u=lPWO@<#(gfxBE?jJ>K7>(2P~7(8NeazRbkvqh;R#NT3+$?|4Et)OhwSX zBcYiPHN5lBl9oE&*!^H>@5Yik0fWn=@Q*eO;10wKX4>+}f7b$|30%R*ddEy;jX3nc zt3RPY(Du3M@lso%bDY(^3){d-e?G@G9U7LklSyzy`OrDF$caFnz|z)GCkVQJ^}hxr z*c1wQ4YTtj|4rG9b$#{AyLa~nW=B=SFw4KLk2=?GJPFHeqXpTkjmtJUm8~zEDfV6P zsDR{e*0_6Z(&NdIOc*qzpjRT+-#_fVz%4K2xQay+BP9{Sn=2b5;Y!eHmj4q&jW3Sl>Vs4K_$<~F+dj1^ZrlPb(Ci#hK2ddxG@u=Vz! zcVPG)CfMsp9YAVJM5e-0-vZR2;#%NW%A^4ayp7SszA@IE_ULUdu!_yH_h-4tU@ymD ztz41+V*&m%+`yd7O4X;b^Z&n0&f>Fn)@D3Aa#^pYv?F1TPs;-etk<_Wl;{>^BWSsp z3CCM9cYoYoah+NyIvR)@-b~_EuH*4MLK#kZ;e=epjLH4}Hw~l;_3y}A89XL&kW*o) zBgO83u$5W6Hc|>tWd=K2^oqN#Fgt4do@o{Xr&RP7Fb{1b?v_*_?Mxg??`oPLe~c?3 zOJON&kS=2GMUow8wUqV$g3E5R`bNE>hq&mOo?`oiK4c;p3$o|X)(jwW=BOgvHo@$8 z4UE(Iq=N1YzylYwW@fw9&K!;}w+bmu=?y(VRVs3N3BZ=~-?da@(EB_kjP!pf{_?su=Q&vudPhH|>Riuv~S9{p4 zXM+D1pG{Yw@d9G6wcjwmnWSA$plC4$H}yaHGr(PE|GQ2$=}9Ie=^1sfyT&%1?RfUU zQ0Clni4mNT|D&sX=hpxD@Z~{f1^!Io^)5!b9E`d;q!-|k5cQoW6C`()pLS3 zk2il8ZFSTxYhmvNn>$aAb7u-RRsxxtM4eozmsf=v0UQhPLY*`Jb71)rv&#BZy_PrC zYM}?>PzA%6=Zgs(uvN4Z>TlKOGXP%TzlIUAm60P7ETmT`2+l}1Z@4!uCm~?R-c`I| z{{C5ap`tPZXyp=L4EIqw3)S7v<4Z3Bk$4stIdCZng@~e%{z!GbCvt!27iIrm&Yt!u zbNlxWHST;lb=j}&tiJlI)mbKe{f=Ng zFPSlIXSf|Sx58jxK3n6Q)WF~2SL9iPTBG_DV&{}?Cmbfdi)x^J%KpU(b=4q8TE9~Q zDIvhWF{7ST{#sH5Y$Jo|Ocs)bc|&kB`PhuLfFgLSR}*=wp^yLAuuC2o-J#L*>G4XH zi>{v~sJ~Z*TQ}xyw;C(adt!+bV{==fr$WNv+c5qNPD;+8t|{(4%YtN}CJ!xpw`;<1zJMBsV->f8h5 zbbF&qLkf6^fea_Z_RU@bZ+47A3Z308WK%Z z2ne}%Xl%I5Fs$5S!VR?x!Jo3IV0q5>qRk7|jOj4DCWEjNY`cW48y0<+8J?u{Tr{EK z6PQ)6hi!N*1mIU+o4W~VXR0SUn~vCf)l}qzN3mZ}Y#go2Lj>2$bO~SvX8y)?5^k~{ zA_~4)Yy}(w_&)|GU;~?zx>e7;q5DjE`VQDb$>NAYv0kJ}w|Z{lg8=I4n^`Bm%`%?) za)Wtvbom;&+p8EZJ*FYkNsAkcx`hR%J5$qg8` z9IogE7yB{H^KrST=K|n?2_!=@F#I;NC}V$iv|)j= zDSmw1%|#wiX}r&x);*)@j10&&T-U3-z#rECO;X2sd!Qp>Q6<%DOTBkr%0PI{oS~AB zy}VN0xT8*(xRLD+*xR$Wfm@xei^&G02yI5^|29`8EUYPN$RE{9?9b%KiYcsYfvxg~ z$XcdtELUIau!LL0ZfP*XkqP7@4R z+xiZxD=bNTZF9w64+T$C;#NZ4x^5yr+UOi74Q`Xe3bFVG|87(y`h<4!q`bbXI{Gkt zxe5`fn7LA|TcD~EOKK%zlu+{F{GuR;Go9BF^St>H6VP``4TWg}j)SeiJI_XmW-SJYcz7JcsB#7Mjc`rpnTZ7))Y~V=NTrN4l80GeOJC1DO zh`B$$#z)q~XDj3zYfp#wyqcEtYiyAq`3qaOC5Yz(+fJzS4Q#ip*K!7MOdm(F{kT~= z8LT(vJ~0HU;_Ml_j6Kiu8P9j=eq6XK#ln9Ro~H32UuvD2F7r!WqQFSa-W8`4d9~b@ zSXOI*s+kw!djfL;)_!V-9{EeFRFMVVIU~ta7p{QA2ZLzgh-L{L0u+fe{t98h>$N}M z!xYWW;1MEVcArXvYUL+yOFXGhwg74ZsV=AWKC zcoYYv?roR{+60SrOa(>Fk3(E6_~m=|189b9adJJlzX6mjKPReAVKN!DUc1f$ z!$_b`<>-3^6@+#bhqs9n&3lw@T0}m_9;2yVVa-7~1gQIXUfMWPHn$nyy^1U*+QQum!O0(40aRz zL1ao_q^Jc;_YgQyF5$)gno};^7pk)XUNfVxnD@p<%skqT$UrQ9ujhV&&IiCR7VDhy zJN8`Qe&@L6l@zn@VeK`p@<-7DsH!obE>u>gy84C#9Rw~eU{_yY;I%pdXU}RK#`Ldq zbxSMCcWC||pW)HzmH>>uP_+)5h36~=Jx3O`~)1j*(fSdWUvVdkB zVgrOpY9GG!iiA*PPDvMi;3tE3moo_yp;7)`JCOZ^oSV5nb!MdZQ6)FsKNxoR2C3#g zbc+);F5;R){$G~e1NyO&6mVMwjptL9h;}GUV4(BYTBev*Jc@A&L{;#VWT{EwBqVxN_hY~@aQC@2BadA8EQNif!Y^jf`rsJ-I z*;kK0)4}ErGnBLI$D3w5z_3VhV2W@`eE7+gf@vAe*~nrzhdUIU-)&YyDj~JNIqJ@w zt@ji8U|ioPr40cD?WjVUwQ7UIGbllDSrcE?K_(7T=~IIc2^7of(himRx=H-;tla0d zhjExR{(qSI#_+tNt=mS8ZQG66SdDEvjh!^MZKq+Iq_M5Wwr$(a-RU{!KHs0@$&c*! z-D|EjG3JsXD&M6mxy(=P9{+F%@Y9{T)W4U`^a~DPx=oyE40rs+93-<$X|f? zt`tpu(B|bU`S?a^UTOKx#_4uPfffn_5S{aKzjf!yw>d;|6r!?P8@!$IhDjqR~oE&B%l5FRR;(JycUF%1eP4-Fwm1&2$Usc8URNpu*YRh%GV z>9$i9GdpQ+MC|}N?h58Bylz8ad~ZvI8|SsYrNh|FmdlO|9_XtvJ(Gw=P$@1nw^1Wy z^RI}3q)tOD30>-ms?q}!VbDpmeU+8_5P7YpF1N;3xyt(~9SnabB#KF6v6|Qt?FNRm z!vIQ_yD|qEl7L)G2gmQu2Q|wsuZH-0Rq-!eGV%WzgzT(bd5iiovU2eKRerj ztbN6ynv@?j`6%c|h~hnnJGX-niC^xi2=bHyT5T>1+3^fdd?ddf!}|{01ZZR(l7KP z4AQ{76T^fmWeQ2P|3pfesEJrlP8PXIDqhp~2vVLXAa;-d+ z|9uP~Kur&*F}FluC5_X9^3aLj7jEaOg}5#>bAL#g!s5(E1uSkK@7B2$%l+?dKI90j zR=gpeqL=blUV(vADmAY33kNXZ9ald^ga=cA3R9ki=)E<;*}|2AAS$^|PON~lTK?xd z`gwlaIM$=@1hgL#`SiSUacbQ{ul%(%0s;NL&o=`5{=pKg^6`Ll-2X(<&Ofw#@3E8+ zHNp4FIH4WYGL0WaJ!)ehZ4P?D!d>O#{*T6^XTS&0K4COK|ND|*pUr?8T%wdzAJZR4 zDYE==mxNU!JfKC>of6(o-NweI+_|X8xQK)ipyNJV0-C?YKA^RE7kRnO@MdfO{q)Ds zP7X_ku7g9!Bm&5PqNz#4{m2UqB}^aljXv!;()wqC?q3jj{*NZ(0|BrOUNKC!Io|*- z`x5g1e-Ypo)Tt`~^h_MWM!(40d8tAW zQ{!b~KyW~Z14T^-q=;Q9_-vaPAA1P`6aBwpm_*>M!JSn~hX4l3{=2PWkHe3dd@x`M z-&bk6dIOl{(m=P3?>LM6E2*K-uh;N|L93#j3<_)o&NnFi9h6A@uHPTRjVB4{C;U~Osedm9AvX#;=&5<> zQWL>%Eg<*=U*`+ZfEoXE$@a%cV^nbz5eedFV+UDcrO1J{7Yb+X*vQP2T(`>CEYquG zwk>RpgUkiz`hB=3C!v$QZZ#-pL8t``5Q4RZbyQ$CuG1p9zoH7_yIT?zvGjq7yNc68 z>N$RLkgpg@((CPT>~R3_rxen}`Io5E!)0dMZdA{%u1_Q+T|^{2k!_+|9+!HYoZ3bv zJ6G!2AG_Bx<`Y*)9-tM9<(4(B(+VAPyO1aSattAp;{@=#S689iiF{V^14^#ivGT_O z9n@EULEozWNnM zEWz$F?sJUj0Uq>@6_=<~4*9K~>cI71!@oYc$uGYq2yfq`0f&nB+Zf+1&^se$p@n3= zWSib-vy=HUyf%FQ>sV3el2=#h$oT3$dKd4g=0{a4Px+U_$J8E2@YFXX1foM^lt+B} zm#mQMb(hw$LHoycWwj}$2M<*>YFeFnU|hEUS?OrlJy>1LLfA%)prqv4u;rXTGOy40Vu z4#?yFmh7|MF(5gdQ>(FT{vFFmtSZ%*0G9;Z_}$Wj|BJH+5-yy5tp8o4H0M{05?00xN_7QUeQk%fw#bL^{2uyAOzcT2b0Dft+9{B-+ zA9~F0m6i{}zmd475K|oFzL?5~pw_lpR}so&!~ES@s293A3Z;_W3ExQ+x`Mf$MC}m$ zRV7K~=&wN@E^`cP%*-H6)8W$&TcjpLq>O~M&_+}1Gt<%GB3?-{IrQ5!#P#5k75}NG z8WJ*U71GB>S~Z+LU6as)5}ZKr^(=2YzQ2|TAem_x&Ou7LUzf^geL;_ej9EJnyPT(;Hj~&k$Z9eVm z8Z|$2#`r^Y5p!|j9+yD1$20GICY z-_t&c3N6x)fw^u_^8k{Tv5h@oBAcI1h~i!voODPeH8jY$>1HPzep`1BEj4{ffF+7E zo9g)D=c%+V)iEu)t6eV#(dz%{3|Cg0g;`6?Ol(l3!GTwZWOtEZ=NbM!yHf0{{rEk_ zdc_mh(fa4pph5S{lMVgvDLjj+Qmu{XoT zU-5cG5RDx7Nq5A7xisiiuwIXb$mAMd7PYeDI^3QL$dm5Z15)Vn4Vey?*Zj# zlR_eeIKx7mn%_$CFEja0a*C;sY|8ZtVPgX$5Ql9y;XYFHz4uSdif%6;WdBqzi1?A^ z2?Dz>K(L6Uy)X37FG14yZve@n?rPWd2VNh$P3ukJhytC*T&*KvYhh2${WadDOYv>i zGE*)@gG{0IC%y%B>At@Hrh^)#6A!J(JO2)1FK)HqvG;3R&eQdI%I=NJ=S1rp&wj~? zGJH3Atw-%!!ZsiqZ^}c{VJ_pFDaLRGXN!mB;YmqyQ%Kto5_pkSiAt5%Ddu0Wa1quaD&<3&Au$+T zC(Vr_;~_n{6*b<&CwG&g&Qe4+kSC(SGlcynuqlLmlJpv}c}}|M%(D`xz!5vqWx6JS z3eY00fvH;_pb`FP3jWjG?xY=I+-JLhDK0a4ENsuJ(VG{N)rSQXr((F`YTb-`*j8|r zvOpgkjRtE>_qWgH7dcblCI%`+P81l?knX?v^TaINka_vPghe184DzVn_(nEx))G3p zlN?&Tu`DARj7-)>41%~zs4A)hLid^lY6r(?C3!IjS0ruM=(>eHErmQnxPzbO#JD$i zZNKk)dK-?_1AbR`Bw40Sd3a&Jc=dGmJRtgjk++msrS#sRwUl1)3D@ox6I`yK66jqv zWd$NZiGcG&v1fXcqc+z?gorgut_}Ga?su9-yuaA~1ifv5%@7JR1j2jE{fU75b|!Gc zEuhx%41X8=5SY^^xYdoq$LYn|CfJ!!vG!?dmHk5v07zo`iWmKQvVp+_bwCggYUU;7 zt3ytMD`^7)XA?x2o` z*H+{QQ^CLpqE^lLz-py=2o8-0FwG>NZ$V6}a{U|bXy~Cr;+15=J#~u}8e*XAV$cT!sM6gNQBpDrB;O`w)#V_6!qrOI*?g1g6lp~O+tc1RmdjY+XPLf$ro=3-8pBj~o@ArVbyY1b#VH7=r6d49r| zKho^M#wVUQk{-xEEN;7}IOzN!L%n4>(=MQIIx2SI}Y|z|m{Yu(J0{IKXa8E#+&EV3sF!x`x=F?sWD``;}l@r-ZrWJ+k9Jvb1a61?gykbdmA$Kd#sb|ZDrGZq zYkuYZH!b(`2f|@oQTyMvKI1K%3IjBH@;pqAdYTG{KnB@xV<}_U;PG$cy)%|mmQPVu zjrOFFQ?^^rc#XszTQ6Ybt@(`@JA(LB+$>Ig2AKZtfUXBQtK~td?8V3oD-Sc`=4gKE zC0L@6nJtqtbHopdc;Lbm0_uLkqC?@B2;zaC!PG7oQ<>l1m|z^oPCb{@&N_44(DORX zy9y$Z=fMjh+GUGhmFlR|XEBw+LLVy@owM#Wg*l~~%4gl%^SoZGP){ZcgExMlB@_xo-<^&|bkA&teF4QC z7sM9_zkU75UMZ|VwN7UN(;Jpk-&`yCb+!kfXJ}qH6XjtBsa8+rN)Wk{ZypkO-FtEkzxQ#t1k?mg$>;Pgx7{p0!Uk2?!t88 zP9t_T0EJqknnl-ZL(0u@|0o2C>nBZhxn&ERqC<{FPU>$mF ze8F+;VsZuD)35baRS+nGtHsCP8&fm?_TB!|1PgWP;@=-8k*D=9Q7@Wqhl2JSqTZN4WusZY4>+$o{r~rwhQ(x zpoXIRPhghH)~ltU1F@of{>`Qtk*U=e?O2OjVQz8Uw5T)RrCBgdz_CC?iA0GjU0+dO zny!%3XC>(rZB=Z%KijT9OC0|00(XwoOjm@Pi-WQN9eE%)oFLPI0_AF#DFn^n?T!!{=G?Jy>Je)S(PZ1%edh8tMUvuJt5hANL&g52&#=y@b$W%;Sp550 z6H>fn#8L63P^6tujG&Re%1~Bo*Ld4|E5cFXSy(INHBjf`1_TWww1LW5_P?f*0O{!h zQcc?2#1dqs6S^~2F{`W3aYyiYp&Da4Ed5)tWATESYP;GZ~3^WdAHH@GI zM4jMu)KrT(aHuovpU?&B=1eb-qEKY>T>S!5nMhKsxwcfXK}3Clm(7C!4WL-*dh^jW z+RDMBQu@NQblc${G0(3*8Q40IFxtLWx?kZf5aKt4h!_vjVbWK@UlQUr_dhOxn<(sx zHE$@!dka|?WpVZ4xW9OUBA z_ljd1(A;FIL?Q*IvoP(Cv*ND;jIURO#D5AAoHIM4I?udU8(jR-5)xayG8T(uPWiV5 zeUU>Y!DrwHUz&IreXIy-PrRV#ZG5`6pxxq@$3l)G?e+b+Xw*L6e}m#=7L@tAW6rYP z`>kC2saW>8OIj!@Ex&B83%nZq#qZ-R z-;Q^VNlv%4xCZP9XQal98=9>4d*(k?WHw=OhTiq#$dD3yU5F6P1 zX{vA6YJ_<0&p>w5#Mwk7yj44pN`|kUsnb>FcyY(%dHIfF&{Adil{iTZ##km9`KiGpgn4ia-Si^9BbP`9cF{w`>3!2u~IzTz+u|#&Cn+jt@XsQ zv)1;Q3jrQDsj33*XVOk?o& z{u=ZHLMct~gUwjA@Zgh#|0mR$AL*g80p(jK=)20$*0OK%B%UPWvKAJrIJnPubCjiT zxBP(_^RiK6qtnC1#odRqhR$l4Zl050+O~Use0z=`ohT47>iGfV=1{zIQ~dDo4f^ks zN77qS(z$8btCa5igxNQ-ny37(CZ(OuqU>j4kE<`ab99V%+;a`@ zstZ)(s#k&|xEVdi!E?3pT%qkshkukDFFGE}pR~BC*J_cQx=EKZjg<2JGmYqJwm;i` zeQ4fpb#h;%rcteh!ej?EmqS{Su>RUnzk1_c)kAyEc~rJm*58Z!cq+yKoXLP8zIJF-~y`qDCgHRp-agaoa0gge>*Q zajoVI;4BwV!1RKsnmiP(teTKSZjO2}!0VR0W2#Rl>qQcfYK)-;%h-ho`W=sD1ith* z3@oPj<(#!ybC!2B(p?-s3PUOnsP=u5V!yz5F#lRRMcd$N@DvYerojQv#U>L%h@0gf zWBch%R}1fQYk^~AEvhAZqE(Gikhj@|UHOIYkMK6W%Fz6=CjnyigT?Bpx-!;a!ho3k zI6)F_2YfrtP2%VYvy7LnnfmHh<_Nornk` zbHiu%p5rP74h77}@re4@M8>n~xP$5u6XRR`=Wl|sAFHnTZ`I@4P@CH8kcuWA(D=L& zkO*d!F!?*ng&CM?wJ?-v8Ps5qfFy%$dnNi06eo_LPVpEtI5^ee;lbPQ=hR+zsLI!V zVC74~PWhGOx0tJmfpKfh*EmeK>i!g=UImtO!{;|lp_Gn!G~w1pX?ZCoCRNp~y*9Z8 zw+nQb{o6`S5i{WNJQ4-$`$gb&M+V=IIPTHYNb5Dnk;023 z>p@HV9G>0V4Y~&n+b-HSiae9zQTw6YwE5J=*d5I zP38B@Qmn=C7;@`~>)kwTz1Ftxjy>`Shf019vt-OZd*0kpXZd(iFUjm~hOt5`Vc#H6 zezq04Ez7lY1$S1yv5jJ~!<`e>KaW$xVt%Y2IOWMvqDcJXgJQ4!)6Q7O{@B^jK+1*C zTQuM1FZgXB$XEILKm#%u*o^4ASqo>*kizi}v+YD;;}!xZAUrSbc&4Yk=t+eWNszdS z-yBqnFL*;|N!06g>CPg1z1O^==wv}f^G7e?k8cmM=*0!NkKUOs)INWGavBJ1<}Zx3 zume_}4WCH}Ta2`5n4L3>K@YTdg|#dRM@P%foy(G5x&D3Ojm3nw>eUoRQd^WA9GLGs zrQ8`fp$`g2-COMs))^0^_o<+ccC|mnjgyCw&&x$|mv#IX(h<|9W>*ZB19R@&FCmmL z_!vL*P+QNm z*U4JS)goc(sM{7sqD>L;2qjYc*U~#;ZyqWphrNTXeDeSbk9#-jJ*u5p_6`0p85=z# zQ&cEsVWFk9Xf@==dle#%Q&Y|%lbanvBK;7MWTIY6wK%%oF{kEG$gvD9Qb!bJ6j_>L zOzfr3;g#`X9Fuh3!7ek*sVi7@sDpj8>BfPoJ#)lXv+?SAsdBSBc)%@PIwB9HBWW~7 zp(rv*k4nvr$VZ;BUHG|D$CN0+zl6LVpV=_&me z3){Z<5cR6vKSds{*7iMhjzc^VpZ_M2h;(9P7RW#y4Z@xqo&MPE2_)T7i$-$8MXT&J zUJ{TglbBtwy|ScnvP}D%tfR3~Z%;MzxP3+BBm4D=QJse>j7HON1JWB-BzF+K?qa#m zpdAbp4CzAVE8EEy-ZD``4LLYl9n1NHgEW7$fUu2lL=ceusCd`{7Yvt5RS})(%ZxF^yM2C4^FQzbm}?n;tfNO$^P9`eF1&B*t^!cO!L6w z=y6ez-9SF{Ienzd^l*?!WJu*=aB%%DXjM2NftKzFb1RFoJcun@m5A#2k&rdmuFKnM zaJN35(3RIQEW*LVy!oqF8UAJQX11p*eahXuzM8hw_H;*gI!aoSCg7)5bo(VxjF41UEmmS$%{ePtwp;w0`=TDymuOsV`iKmMLFvD(THU(>-j=)*5_OsFo+8 zts`j5$PJ}I)A*L;MH@~c=;=0~H(S2M(||OvoUzk6WEgrrW>8t$#=Pi#SR^>~u~`b% z^ni>ZTzMwtnEeGuHq$2rNGZ0qZV}aM&!Cssq$BF#r$yVCH*W^O>y)RFNfYf^{hJ-G zr(K_QAFcU*Sz;(x5UHhli|Mg`?4AB+wN{_qgYl}$8$j+D_dBLY^Nhm@;h5Gf7VJDP zhJ})dP`LB}$}3VOM4>sV{}M*HXv3isYa~XwSEO4BVZOqs^1-C0tpC$g6r$Pkd3e2Y zvg}Yurp6AGBQpM61^H*bsFtp5=gXG>l&eL~ox6J$OQ`r1W9eDHqO`*5&q=?*Z}sL8 zbH?xDG`XiOqeLG|*DcTKh>N^lJr$fRDsA9lU&H^Rd*rQ6)i>U4C7WejX=ER~rGO0D z@SHzoE`OUw?}-ndt|cM8m+6Zx@#ys+agK3WMmJoXQD2aT&DQy%Lp)N-n?aLN z;f=mkIg%cS^3qGD0$cVO3m;jm2jhcfEvi7upetpQy-;nczBobYbPO)DizV&{fiSC` zisrCpM+F0A%d%gTn>;cUGG&WF3*H9L-#W||yqQih44->hGfxzX&lfT{J-6ULB747X zdur1Ou`!Rx727SF}UPtR;QiksLyc-pdaHt^RB538z1so!8t%c;L2OIymMqnMs) zr=xB#dqo}5d4z&5E)=P#$EGvy+H;oG@eH9CPJ(0|EH;0PBM-<$GP*Dqm49@q6y1daxEtdMc?Ks-7=s;f}K)vb{i=4AyvO%Hu&_xjw(IRi)TG zd8g$h8(jM3nb!1z==9~L zM#gw@1a6D`q-NGXX(qVYhI3aTc_&r3;zP=*-An*(WN}Hx{;=Zw38kkBOcGSrRsK>*Tmu`eWf@MQUv1?hPpkIehLzxNTzV z6Q5G3M}mxaErjOhP{7_dPK^%g-D2m6f_e)s;)~TYatiEb>M$C*+Bk+VNd_O^@fo4S ztf2*Y-QSf<`5H7V9Ss7gsp8u0ptkC4-j1+zo8*clAA%KccUYb{ra3(J{9 z^mQstukk0680TpZ9Ud>ojkNXYzZE~+{G$UKwecGaW*b2klem;a?@fv{rG|Vw67-Kl z1k(EJunTH#B`HbKF@q(8kYR};g%Wh)=oP-AD;Xy7(EZv2?)w`5Z!g(-M5h(~oSNU@ z&dbhi7bmX~jJBp70zN!$`z9A(%OEu|i%YpX(0Ax6VBDnC1{DxA5=^?h&c!(2HX{Ah z*bd*-T4q1H&E$7qixe=mx*dlArKjLj4}B^Z8D;uyb71S@w$Ub`+iCgUwVIwnP1%-? zR2O^Fq0*I7&9v*iAasWK)qVO_D5hE#YU>dN&F=T7+`kgJ+x)mvMD;B1p)6j>GPHvq zfyJt$^3`x@x{FCN>Zcc`)?GVNpi?HNEY{ak1n)N{?BIJSS#z>(aiCoK-Cbg^(V%&E#7*iQA}|XW z+;UE=t*HDKs@!Zzxyt_{X1@p;?1c?W@0#PEdu1TapgDvK$ss4m5{Sm*ydhieQINV;)p_1dgg&13N>KsQKNJ9`uVN+cTzI=QwC_uj*LNE~-v zPU7_s&F7geF16$%Y*I3wU(-s+DX1JbLXbuU&!*}7T5;I?6`alOjh?3pMM}18c8RR( zZopQn7Vj_Jyi@<7m?YHNMVIGsciMaGZ{^U771Ddzu4v0=5$=M(2m17SqVMzArb9F4 zCepV#sp1vKIh%MfkY2`^k!Kr30`r1R9n$5?!teY@?mV!PC?JStMLNnAw565C`SOcd! z;SPdiU@0lUQ1BI68?WG4B+_Hwg(j?YWc{J7G6y=?Xb~XKdoPFVJf5u;>U*9dAc)i# zwH=s7>X>icF-#TD0P_7kYq<-fOf9MlXc%SxQ2_wK{(7MVrH2RVhi5VNb7N=J+m2E4 zOP#W9L;Ze^6p=4)@TN~>8S3$;m=IL;dO(qIoDBGxo{%uI-U51e-`VBXi87PVzhsfc ztmNP1nW5hf2w!leKCAp6*TQk)4suUGeVC6>PV?D?!;R!sBqXW(j&Rv0@YA_okQYbI z>wcqLbDNm1!NAV)(0xDP{X63(1lP^a_zB1nQGDDD(_!8+Yd|Sxuq@>J@%*`Dx|GEa<9I}}2|K*|t`Ql8 z;KgLJ3J+0!vlr!47H#+2i$(8f2-QjubR=>-?-tGz^WnZ;e|m{;2>;==U-$Y^5T3q< z_tnTVM&<7BCYf?f=(~B8!R+APqiLbc z>}P2U)u`yywnw&2%p#h-QPsB69BX|MpdYtd^3Xz>=`(0iA{Y0wE=wWKlDd$1;71tk zs-8X$Byd7JwQ0an9#eM43_FYyBP^IHd}eqD|&p;943 zE`S>}cY#wrw^2a`?4KR)5GA`=BgZI6rxi*K*uN(^K1aqgWueN>N*Hoh?&vH6dY=Fdn*XHJEpda}VBGk0Rd~ncN)F#krp6 z`Mk(N1_1e`aYHBUcvb$RP!?j~0nP}xeo0zwj9!;uGo=S%f;u~7Mf2zG!C}{l30!2) zY8bo1D5}~3@qT^fJGI`G|5HL7r>;;yF@Uk`-AQD1)LpBMF>;>QltCZm-^=Dq2e;#>vi5T?l|l*frTo05UGr3( z(!)Z1?i0Y>=TLKW61zgrj!A(cvhyyYx*SOQT00iJtKP0DXf(B(FQLCP z_ym5hQ_Q!z>@nlmfVtWYje*!c%}y8L_ogVyH)OLTbO*^GVWVD8^4C@zFX6PP*Nfwnw}W~fQL11!MB!R z^HJ+A;$arS)7WW@TS+A>CKyW9Hctn*LyW0y)+08U#qFz6IVMMQyEB8uF1I0H1!Jem zp3XwM_(YdxufgxRDAn~uMT1IrF*w3;fZ)4)h$Xb(&lO(kV3jj`3gRV?Wq@H~FMcDY zyV&1y%6yYrgqf#;X#ndK4u2)f*0VJ7g_p z(s{f{$qu}d$LA+h~lcS(Pv5mAmrR0V`?{K&}vvN5q28(m+)984o(dQo?{^il9J;Ff(p ztb}*cviI1OQIm}L3Bqq8XO3VFYJ!zi3UT0X-cB_*s1s)#?Z zBv~rjV0D+QXqJ%dh-}a)oQmrUUYlPwl`d!`>lN8t4AUPiL!ik4eO7L>iLizWx34Hj zF8*OHSFqmaNh&*6apXUH3&%mI)*lktVeWF+?S()Riyc8hK-Ozv&?L1em?(;r$Q*m? zA%aX4nU)T^?xYr!2JfV12r7-9$(MLkPq<>OpY`-_Mq0KuTmej19%!1zMYvyU1Fb8d z%sFNbi~GrqBe-gQp_1A5Lhw6+qHpK#SHqpmMTdzGixiRoE)E8z)yHI*Qg)`k&7uUe zfX>^Ovs{*FpGU)ZJ~su6Nd}sie)%op3)Z(^kf<}r#68*lX5e$Dp1~5==lMX>jWN$u zmAWbiZ!wWJgRI{1%M0lwH3>BcixM?pC?2K1N;}W=>+i&|Zhyl(v>b8ykvzBLaMk8OSjUd9350+T6F- zkqan?kY#`NvO~?Bdx9WlJ?Pubf5BqgM!=a94+G-#QUME#=IteXPYk@A1smYO@LS{S zqPMje`RP;+XmNs=1b@=2Xj`Q!P27MuNF*TZKa*P(EqI4<0VM}!f~^KU76|BbbbH^1 zM1y>;lj4m{3Nn8KPe2c}PNl~mZ3WKMoW0+8vrwEgf^?2JZADqamUsOhc?AtA6u$#EdG#jxGBCKI?Hybo`GVAH+)A8EzN zCp~s*FrUoXjFuXqj)%x{)nxyYlrm18+f}7%w$WxDbtVhlBV@CvK^7*A)Z87ohY;vNG+44MAE?$j9kCABig8+3dMTv z49#)oEwql1cG17$VWvRI=52}Lp6*)|csV>TkXSYjUPqpaYa99A&_re|>1Ql0Zz^#f ztTMd|Gj0KW#yn^69CV6_4&q@gU;S$Mey)U_Et7oYbd$*89@FkO^$o?qDf?uLC?m4N z3)tXJ!A)7eKUQ|N+6KqTB7JPiz_E=HN&i3jz5hIrxqYh;`~BpVGC|6IN6$brx`FU= zjRQuxg7U;DXuVhq{J^%+rVS>lG{1L@e80}({KH!ilL>x%&T^*T4?@0D5#nKWqDMV0 z%*FKumHnbSyZ4yECjV@TT{E|CbnoxrAoOi={cQQ`tPR@~xukW&?#2PQbJJqoC4k!b zW!EII?9E`uoHJvKzgfbGzSd2SU%bzoC---+ymxV+;QK&@%9Vv+xp)$g1G6vlsTy`Bl(-td z$Izc^s|mja9^rpnfE|>%Z=C>mt!vGaC+IwlNUw!icd(4}ANO5I1UQSy^RFDHy`*0j zFTf>GoAl>V+(-^yyk6ixV$3H~|D|f@eqi4=+LvMZcP6(nF#fpHNqnY<24Eff-6BYt z)}YsZv@043A?_bmpL#RJ|kSJUR8Ng3)~j#pkZrU!?Pu7 zrQQ_>NUmkOP_fh$1k1i(>2!|}$~OIJu_pMHR7WA`bu{T#t2wP>nGt%0Z>^f@bRj^f z+phEn<3PLFIko0>XO%_z#iRaVgPriERlfY95X5dxu}s2HGVdGPzcRg^Z4d@gP}TDj4MoBHhs^g+JGJ<*DiV&f^Y z?41%v>EUV6kZ9=y1Hc}3cFs)5M+z7KPL-Sn$Xo+^nztBeD?ag=kE9h*;ZQI8AcKv5 zxQ)#+l(mlV2ZCy~Fl;FT!`|dV@wgH6Wel|X6dd9w-XBA_@3>yV+8?$s2a+Cmi(euP z(29tf>?qe3y-#;C*}3DbL)u(>M3v6#u#subnEZ+2k^G-`VjVVakbZ>_hy4SCsm6sh zB|Ary!{J{-K{Bq-6-S;-milkxEnrz(^lr4VXfN`7lF(mQ)mRHS|O5+8p0hH~i zOCR<`fs=(Rl$qWu%AS$9CTT*V6jp2yz$C%prnxy)> zUH6drqe9s%cI(w$_t>|fxG!NP8rF-|jHom9A}PxV@E|~=Xc@85A9kKER2&Ko+3#O5 zfXS5gFM(O3*?cVtJty`^N^RZXn>%w2W~JWJpI#BVQzRAX_-KCtvyB9F7gHHhSGRsl!7w3V^llX66uNd zm4|X}1XFkE9F}*(pS^p`_?|C7(ceokE&lqnoC)|h5*V;EZ!ZX)GjL?s&|{ut1|ez5O_Vyd4m38D1xcEDP4douCOTtopL_sQ;I1DU64ocKzkej7 zc=!#hX7w4&n`KR&PVs_P=MiygB{t`-f5Ca%L@n_{SdLNS7W|K3aAj~SXV7i=#iGD% zKq=^=wNW?&Ynx|g)hx!OsoJt;={ukv z*w|Q!j${Wk6#h#}nhxF-859aD_5H+=E9QIJ5jqd{;n0E_BwgQWwmb%O$=@EX3E0oP zqv6cA3;>ebKVzaL#pa>L{|geFpn|8jTd)Y(7ovC4HmcnEA1>~gyl-~N?SfoXwj)3h z2utC=aEq*;bozF2342$JrEw80O^2>yqY+?(;XS9nEBFk_mni_?+sL11u}1g<-tT`l zcKIYzCEDb5O-LjqfCf=-9|o+95=~Je9QbWcN1q`OpwrhxkSJra;a-QF1v3}QH-i^S zYii+bS{ut|$>A(^-XwOs`7Sr$qWO6O8u-qI^%cp*zA6u0lG2zkz!s{@RtDw}G`XP6 z=`4JoV0RM~BkP?)?cPiY(wdf2bjB)3pz;R~kI?vcDog6Q0_NAeQyGaMhmz&< zDyq~GK>#vIcl-yGcS9R=Um@LMd!l0jB*P2!?-0y|F5O3mkEdnPa~)aQCLi9=9^Aiq z9H5yv2!&y^_?RfTHul$BRW@s~6BpU8JqJQqW_5P2VhcB$gw@8c_`V`9I3JLUO1F^8 z{+NQ6!~QK16VV7Xo#p8)ML9|{X#fW)+Bz~D2ACI#<<9%Jrid)61b$Wz8bAP!>X@|5 zFwhn2+Wk*A-JlWt_Ehcu;&>|=Syp6}Cu#HbkuG`-c5GEDNfrQkg)Fs%Hw}sdhXvoZIYxEdZ54G=3yQhe<3o6^Wd@3mPXZ!0T6Bf3<(GLX{{ME$_k4$_Xe) z0YwvccOUMy*c`eTo|+r<(U3`k0l@OvLr56T@cp#RK;aAS3s4_8sQw}FwcLYuzt_Aj z`sGGtNd;dP78>%XxZqm-uhsbV&r*4)Qn^peWa{TfDj~hXQ7%0~yRpP>(Rv!+fI9rG z9UxLYdL_^}C^=~Y?YT7ejDMAc9yL%!EO{B7EB1^d$tCdCa3{-+nc6znzA@-N`~Cnc z5552A7NZ5^U2vSxO)IFz4CboO0m%KBH?H(|k;(K>U1?C~S$74a)sQtBLo5=D=s+52 zm2Ba)>&Y%{a3*aDcd~TiKCyL~Tcs&?+5BDSV90(T%m)&ktSUuPHU_lq%m^yBi{XWC zSNP4X70Y$GM*j@8x}z%47*&biOBm!)qp?avRy$w+8<4m6R7# zet!sH0mj5#i?XJ6{CIPOTxLe~@KajLa}SHhmb8@!fxv$U^!RyN2EV-Cx~GA;n_Z(l z&>_{lX+$=?)4|qIUp<}a*7JU3o3bw2b3))B6`P7yTkVn*<*xA97YA43BwHY-@Juwt zSXM5Ot7H=N`e>|2kunJC$z&T$O98ndj_SWMUym9%pg#Z-_Dl+cAJy^( znYPYPJ0~4`CtPoM%CU~_$jv7CR(&ClA~cKaf4s$x_`E=CEb{_#P1-GS@VXdVB5x~K z#gYCAfc96WePzbWafgMs>{F0C_K~sxyW~g3fU*TZwOnwyVfzm>a3z_)l$1gEk$B}I z0;q%xEbwC!!-7tW@laJcCZqb3-+#eYs&oJoex*0{zq2SC-A@XVhq4ZQp8{esvUQL{>8i^R0e!ObN#8{8n&(4 zj5)0x$y4q-oB+x-l)-WH0BzAf6FUGOO0jjscuq<5M4j@O*zO5Pu(g2%`(na2BX))N z&n?$RGQf51Jc9bD0~}R(rj}NlihzcjeVsdhGOM@&4|OIbH0n$NshPC=ds_k4RzLqbktofLS;F7GHizp-fdv3*?J5aCw!;G-2uSDoL(Mf1YTjUfvCe_D%)vdB zB1tkzG{nXeG~PaB>sW8_D=pcqER+;^CNVu)aVGA@A_Ey{+eXegb_XP20&B7J6L&5W z84A|#JxUdUa;VSipko;z+giPHfeMz1jzypEMS_)(5FRGSRs#a56h)-Efk(yw?-TkB zE0%W)<_Ep~M)o`w=VtPN<+sN&V>B-;rbU7&=B-|?#m|1SxK9>MF@yOjS8@PBJJNRr z>VpLPCxXCCl0aJr?(A}hh{eao{7ai;A)<%#mn56 zwzT}6tw`Tnph)d?S9g$#^esb{N31y2P(@3?TZ;LBB+k;jIXU-$W zbE5JX!Vd~KRdjG-0A#tDd^3_Yi2sLYTb*4#|0C+T;CY6v7p{Xa9ct}iI$$vvln_}M zl0HQ#i8Y#2JAntq4x~(j!IHuK#7BC7|80>yF#%K+JwXG#BvG9n>xe+ciARmaEb z$z<`4RyH~-^Dfe^?67AQbJN)b3LyLAw0^7upoTv#~ zv=aep#>@kQLD%a86=U)lCAC_AM+s;#7K{qN+Nqiq^Cb=iEZ!{?W}w3boSOSfjsuRf zg4Eo*sHr>|uzC=q1&6w2yT!K}+?y39QhhdXZ(Ij-Q~I`kmmpMwqlrvaOO9%IUiYJj z=8m73qnx1g=!=(2d2gd0*%PIOC=_jWS>UNGnqyRba|A6iP!@_)ab0R!xXMaPj;#Jq z7r>`+pHW;H$HaW|*m!S(xg5ZrmDlMv|w-icG-1ySI_@)XA_I%nM3 zq<4Slwo~9q=_vg=eMoUx65mme_BN4E#s?pZRkSTDF=YJzarKYkVSV5802;G#8rw-@ z+qN2`QDfV--Nr^^+fHMnv5m&OC;fbX&;Q<=SM8fTC+FfDg_y6VoIsZ2!O^O?1D8`>T1 z(ur3vZ~GR6zFgoH#L5cyz$+{!-o#ZAZ2JEgJN)YyOGgClPe528c7yma+UG9Yhv`4YXn9QtZh zB|E(3MQO2@*i1EKXzt_#+F_UAs&(6gtIJY`g-QA_w$+a6tEz*;RbsT`myF&@k0YM< zmObot_cBpGVxV14D-Caq019M>^*el2mb>~GB%yLtqm1&Xf6Xi9UVXK40*PR}v3}

gIh#x>F{B&}jI{kpgG#DIw8HP#7N?dUW z;*x|#9B2w-Gj7DQnK;JF1DTT&98xNT{7p}3P3W}-2XxPw-1nowM*yN!f7CyRB zI2Nc;fCr#RR2I7d_+lOoh1mTDu6Cn-mfz&%!GdPENj8;N)s@S<#Kdznb_XQ*D!A7|DRw`H5Ve z6$Mm+q(t4yJp$k=BH~A+6=yGEDJQ#vp1joW(}VJbrdV`dE0MFqF9N=qLOw;2!+_rU zb-E}L+C>!NxfBQ9jh^Iy-#jtP*N6sHP5lloM_cf}dnd@~ZGTt8l9j+q<-~eZu`Rf{ ztT#(DbLpDS@CEPmRjXnUct+iC@7x>je9g%?m0-Pg&s_QEC5%vpqUYi5 zx*)pnkbn0Z!00;f63{b^U!}qx4_9DDS_0I(_h}Nx8^;rrgR#p{?Z`Dy-&MF-shO?t zf*LttM0%N9!y;v9oBLe?WKK2gob3bN_&O-^=ejL>7?Abn$4R>c-TGsrvq#CkO4cq# z+?PBZ(5~}PUl>87Sv@(>)63gA!=7u;69-8&fgTaQh>YmF`J8lgBk*;~JrX+~%%ivh_&wC15h-O93}=x+BV*y}cS7O3dZS%*;plScA+d@hH7$i*oJT#J*K85Lo#?eu zF9t-5WcrH#H*Azg7nN)1_lPXAPc8!T!tLou4Rc!j{diY z{E;DUBl5O+Brt$I)YdTSN6|GbLOUFQc4EK-AurJBC)76BJ2Z(|idG0NK{-Eq8achFb$og=dM*b+X)UCz@zJ9F=dashtBiySL3Ya5dw3XD zx2ktpYP6E%uL5WU9fR4B4VXIm>I!Evi&b4pT}qsvT}~pbGEUr*LH%au3$}vJv}oiD zJ*Yx|4hE(NZEJ8$MMl6LGzG@2g}B*aE%C{~4GIa-Op#&G|BO_AC}2Nl2Kv&lAq#p7 z-K%7p?eEcOQsg71y=$fNanG*QtP44jn1$%Z>p6pfk@>25+D8|7Kc;>2^2%Ln;?x&W z`gj(kwY0YG{eT_asyhca4D9mQB1iRgTx9!@-Sn&^cnYu2BolGnvt5g5&Z5jX$cDLb z-z|Rd1P^~@@3;}IxaNOgEx&8gia94 zXU!$Zf_bXK%Tko*iX8t=XH`&JQyvtpS{XSR*ef|h(V)i~kQQcf8w+E3#-@wpp#Y73 zI2Dl2vfXdbyz&PzNIxw4m`Hc5S)M@V7^=1Bd+S?kPm${sMVrr#Zo69L$NUq0M92Ph zf|BWU1px2*L$b`Wt}yuW`d*rL%csBXhDiueD)QdSc)CFT9oz5ARl#ST{13&hN(keZ=TDU+l?W!eQXBGnmHw<;`; zpNAdV=*){#qytmG2M$@l130L3rKi~D(KvQ{%ED$lgQ7r;HQ}&T5V5o{orf&t_%5Zo zC=G`Y`H?N`G7%#pCIb=UpgLTbwpt6D8i|s1jbLp*-zpGC2f~{09RY05jXvIYr>}^W zGoD7d&RfsqijU8~Uf!?Ci5_q|)RE$k^(OWIY9LF_k5Wp|OmZsAHl}&n-CeW{)Oqx* z44Exb(XB`)4W$V4&Ja6%1$0%0N1~SGc;Pt&fH{Nx!kvC!L_8pk2x&~Yppn46k-xI70EvgJXt;?yV-XC_E7q0{?TF1$VQ4# z0aLZiq7k4ud!OhOi;Z85=jy;!Q%H@?>GU`u)w*pdA1^A0xQzj40N_XL#Evp?4XZHM z@M=Qu?2**>LfOlP!{)2+adqmcEK8Tr3U+#i2A`l`iIg2d%UXgyi*Rvf*YHc!T(6W= z9x{})D|H&~v`=sC{Z@;%bR_(OL;cGm8rm9SrpUkz_4=ETU8n6=OcWbxGnF(SR+U{DHOZ6)EsO__YXyx_b&{*df238t10u2fc%uE8*`8JlLjVaXLcl?7N=W=ckl! z^2ItTZN@?iV_O{esrJk(zJzK9kRSwYM_0PL9`Uu^=&84!!1AHbXg)@QPa0PSC}Mg~ zK{Y*8y-bJPn{I&I5W1>(fZuL6AOYHoh^e}7Hb`UmqzW;)P`dP+Z$^ZQh%I(7i|t*FdsPI`hJsn{}w2)?tO##zTtZl8e3)El}^%{I7j7klUXLdJ;f7M5?XLm zS{DH80TJI#gN^qhP=9T~$Jb-)MOWWAuc}9k1Vi;~4rSgEupasum6wF~^tEN*$!J%Q z6wkiivL}Wm;uX2wwum6+({GolReY!kKB4J{03^QfPL60VFQdKFe6!F)wwKd^X)UrP9qvW25up|_88M0o zV_C_ONu{ZTDV5PfrH%6IKxRY~Q@A*a3lriOVXMl0Aj|;2`rF{6!@BV1W>qvC@!WtYwoxo{8;V zoJx2AER(kzz4?vR+!@$8zbcFc9Gw_(kp_u)H&C?e%BfJv;}!#3eT&CRzAo3c+oI$f z_`uHFJU&0*{%L(*et~L+`sdh2B@yi6OA;`>%FdhVcV=tH&>4i?b$8ubfo4KonR|Ct zfu$CocieS;@w}re`ZON?9P7nseFe_?M*g|AX_P3~ry%If55EI&0{>sjvgW+RmeGDG zKNcJX*p4dV=}M#l5eEd5EOa_+!m^(eg|HTJjx|1cER5#aquk_mj%l-77WC`%dcspi zvE`r==bWmc)=Fqj(zmC2=fT~&C;pXnLEdVtSdcRo$b(c4;)r+;5W(FHq)J?mB>6QT zb*fP4IdHH+C1|-!boNQ%dE7AiGY+*C`S{=(eT_zd^P=>4C5Rx$h&>l6jd* z9KWj=)Vgy$Wj)kvNlgQlls%M3%Ng*eXBGj%{9|B(n)|!jQZk#Heql0&lB1a0yO_RH zBsJ%<+)0i-Kzk-FNc`PBHp@imz=#$0L@+9WCs@VKv0OQ1s;Pb<%7`L<)@Wn5a_trw5(IE##brN^x|DJQxxAQN9x23UN&4Fs%Xx(!5Vc$KvN0 z?EQ=>SKe0WpQ)+R;tdX$H0+pLi@#P?FFlxVQlg}uZjR@!@S_d0{Vsxqvc4M&7#;x*#e*`iz6d-nCM3!-#;JR>gsJ}$9lFsWT4S4I0RMEJ$c|Hv2sg9Tc%$hR zz(yX;9LDcV+~3N>lmL%nJ}_JbFt{#hq(HN*pzjeoAyP?VJ=(nVQ0xWx8@DRti)A5h zYi8FUuE~)B0Y*X$XVdKUfejF1KomlhV}qVdn*=i(GLqaRApnU^5Z+4`pTv+1Vf6ex z^?S&NhCJOhnRgxc0398L^1rS7W@(N>28<2~7Wm+QrN|Imb>~$FMG(I>t0I9ZyKR?> z>~*B(BNLoQ0Bg(;1Z-X_`}3By)Sqpx9l)TV9M!tfoSp-Nx$|r~)Q0qi#d1RLQ@R`O zkLo_ndghMObj~D1HxLj`EDf+z=&w1ieqX5mP5ws{J41^^5GJLo@cnZr0>lf7VWfp} z+Yu?UA&>ADHF+tISTO#j0N~;Ka{~j)np6gl`UyYr1b0PsYiFnr&vciT^ov5?<&Klt zQ`^eWz#O1OJaiSDJDvm>qV0;?eKUv#9ATaYQ#`8_vilUD<2Sy)7<|56mAVPRIScQS zd6(<8hbF})lWWXiQG%aD1ihhBsI#!pphvOS(~EYG{xX!zZ)N<*q!A$N3(L|h{8wb0LVUIAYO3_xV4+Ax_Yo z1z=Ih1^{L@D-WnE-KRWV8{HryLcJ$WQoiz&3a@5>n-}!RU2t{qkbO{ON)? z_H}04H`VSn#;_}{8oB{phEnT`fvlo_>lF&ntcZ8wU41kwrGu3MFWWE>Y#Uw5bcAXl zA1M|fptntzejCg?i`lyoPIrJaVB3!b$fzJ_^0#kx3_F0;I z;78|j0shW!4!~!7tC_1m4g`11iDmKfS3K(tCZ|iobX&v2k%}>^o7*Qz)c{T5Hi=}K zhF*Y&Q?^x!26w3}vhe$k!~K>z7W*FiuVerzt<_2vQhw?C7YI^;Jms6JmyOQZ|J%G30$QQ&wF5(Wuns75dpKFW z04`&~mQ|G4U>hMd0zy%SL^uB<5y_KMuZY|q2a7L{96^A5m1uwomVsnOn^Tqxl}l=I zzd&2C@eL7nN6YbWKM@5r4p^a3`D~vL7-!11;u9#H2V#PQNeRB8r+zrCo?<#mZ)t#x zCt$SgV_oI87eAb*j;?^@It2VFOz5D_`I78a#ydxD|HQr77^x>O8DQQ#!-;)0)_}y* z={0c5dMK|~G7IQ3Rct5$4(b5-9|elbAXf>s>`5$n;t%F}sxSHP_ATxJ37k%`+|tSGF|?q{U8k~!HL1WDs3d|rTQ1Ug&PBm$C7Pb-wIJU|QlgGi|!r{h)lfk_B| z$0nDG5SU}hp@dPPDpi&PIwvOmq!To?(2Y(|a!YDr#Ser0cMA=ae>)EXj6vU5?3O(O zVDZ$9jYh~UfXG(o*&LNwC+5=ccEh?f0~*+6#8alH2zXpubStY}wN$)+j3ipE(*aWl zVp=b@3g;p5sR_z485h9N91TL(pSg;;5uRz$4vpCJRYSjf27>MYF&0ulUmadTVGzJQ zGf8Xn5&eM&1H88q@!(yoKVS8#WL{x4mwU;SZcrl(g|8PANF+&=epviW%>!x+Zi}s~ zq5@tLxJkswZJ)Y=V%5rVuz4h5j^^3i;fzkD$_jIp$U^kT@5J<%(CaK&J!)t719D}m z#S&E2^S}S;xdUeiwoc{^hySS03BjlaE7ch@AeBw}lBLUC2jcNwum#hxpTm7V`1KD- z-e0{`V6e`UB9{`H^Y#z*QDwOUJe@>W!!RlERX~TtKOjHrp@YyT!~J0$suY1-RdAZG z2M}Ojow?S5^*}RNq1svl4Olh}&`h`yS|jSz*CQJ%oIwDeLqnF7K0i5Ot*Jv3EK$s# z5@3^}>m~I@jiRr}3cNqZb`0i(H`U89qx7I}rwe;04i}`7ZU~g~0MLpP3hY>1>5PVY zsw$sXZ)EV$`xajGrw8T09)`2>PSf{mWV=i#eMtNl(&c|>E$rn;bV!3Qes%`HZ=KbQ zyosYb-hh5t0Xq$?5RNk9Pfmr7Hn2;9{`E)K6VnQZbR;{%?h}gDo`Ity5FFDD0|PO) z(M5yze{_(b>FH_PQtdq?6@%f^oV`$EfK?ZZFRs^T(|}VuE-u{zxg+yD|6eAXB5KM6m8-E2O1Z|HjgV}&E^kk&71(4 z*@x!q#05Eg0jvvj15#}3aEcROYf%9$e4$()hzmL~qS1~-6j59iR$8VYt$hM=2P*h8 z&^-DF*Z0IodA!ONi}7@lB4s}R^vOB-tN6Phb)J$q0=NBc8{@pooyuc8i45Gq<9oCr z!tUAm&Z5GShkKJEqk#^R>f~#p*eLTLM$cff(?==%pWCr;K%CG*p;0ampf|Pvg&z9aLQhs1|M+>O;wHja6fWP+N_%}xf_x_16l_iC@KY~tSy5lPpfNYbgRk}@j1^v3T z`}AN@`UYt zlWsaT+XJ}5Na;i9HgXQ9X;7mcFG5s~(m24oP7?j+-_$R<~Mf&s$L0+wrY z#|-unDa1;8sC&1G_9<0=Q(@kks4#E2YpVi7M-YbuZc*ST|ZTDfE z$EB;~((K?}qzL_yS=r4Nn(dV9sT?qC#Q*SC{1fS?;gK!wLf!+kCyV_9gDbmhe8d-h zL?l`)1|*^Xx{#bD1~Nc_C3*yKd=jg;;sO5HXmj@jj~~%a!%6f63uAFRcCbB8M}rde zXT`uO2UJlVX2N>ABNVaFxe&j{tv>$?Bsmr9`+OSGy|n{8L`H&m(oCCT8m8th5J~$o zcUrF)dbea&B}egCc?Syt<2-1GHD4fARqGMrP)hJd1I0X9122 zZ&YXw-ai#+ThlvCd&dA4gtnyO&batb2jXXG~nO5kiG2!iRe{s5g6= zbV#^KX#*`2RKT6YJ2irq`Tti#Zrid9w%eccR!L7HNMp))JsD#=yp)P(-2s30iizl} z1$917mfiF7e?q9fEEBOfD*s5;R;~zUK=V126pREUz2Sy9{obaskdRgYFh%@K*cX}b z?o8E>s#8YX$*4Trb-=Nyyc3h^17^I1KdaG}kq>2Sub^AG%uWe|%j<>ig1$bEt4 zE9ZQ%ORrT6lO5#z^_}+VPJ}=Lh$Rvdp9C?QD{J5mRA2YOnj>eiP)ni=vIpjqcDn__ zijD+?vlpKMME3Vz)>+n+4xqY9{m)p^-%6V2FWfMJ6%RiEKb-t!_2w(Fgw&f2f+xX} zPrOldEe0G|8E{AMN*?s#A`=?bxRAdN!4D3#7~~Z|=+T>ipfFWx&YeV`fFA1$bF5ioqqU7vyjV zj27Rk9mQs~N~arw|3KUh3c!E#ijC>*SX0a&>wLh^gupta*=YwYetlqs8slwMRrr_v znmaIIXwyaKj*r%Ai{PF3T%ZCpCRclwL@u;6QGkxHuy;Z!X}VZGh8jf{klH5Ao15}o z@Lvn%S7IWsa$&qJQ!V!W%ptx`mHhVAn6v~CVn;0hCIp7r2hMmZtxXG1wz55uL*_gX zbA4RQHtkrkT5O z^)5ks#&}+H`i+M$$eq6=`iK)kSefUae-8HEMatIow9;zbLpZAQp+YZ;Pqs$_yvDaX zDlTQmas5{;_yvCPHgR*M^ENWWeCGc<_trdb5b*d4@v2F&=Xr2xyt9)qF-X6$Kt#b> zur&|_=M+eC*AAzh>GiTiI4FD&`2`qxj1|n`HPE+!JR+V18x4VZT*+xB_^j)YHGSHM z*7!Xh|L}Z2Do|~-#*)ssa_ub$=nlj8p zj}F}SnH)#r1M0)+aRG7O;S)CL!#|wJ3=LN>8dz{%6iQRbf6?yaC!?o+wSEtdIw%+B zRq8-uSu1-|S-M?M zz}wJY#j&|lpvxyR{JGnB>yb2~c#A!U>_;bSV0)jcdpxZil5^sx`c7u^! zKury6p+hN7ba@%haO|w+fH&MM)aj9q37E8V#)GXy8TXKKR7!T8Mb{;mG@)MEFtiyi zFp%qM)?omtx#;3J_}1;4JB)@hU@(5Xr64g%h$F7@u*Hp8<3J4O{-5Hq;c4&t;^1!u zIO--@$>CoYeExdIG?mIuR z+C6z)^aV7N?$f6bMKU#g^YmEG!lO8xoL~vJfTkE*igxwy|Nb&-M;s%BaKCS;R(1m`A60f68)$e~#$@z#;Wi zSE4tf!w)#x!Wtqlo0%NEht3~I(CV_*8#4|xA*%X=7y2?oCMO;MgSbaffEQF71{5+N zE~+$^g3bs z@antFXgougM3Vrc60%$G+(gmP<H>NYsh>W62j0*G3 z*ZAlhe%C!dZp2nNV0^YjKYg@Tq9-w@|DKs&y>rYz%@!Z3p0$BYFlhiAUy1e$X+S|- zulj#>ATc%)$#AN#g{S5ESNnAihS@M?*BOWkr~@*7Ceh#FY_*Ntug|f$%P*pz*JDY7 zA|)-1_(;o*#X-3{cpNUsteTri|7h*HS0*%Wq0H?*%Jshl7mptCd{qtLW{v6)=o0&> z*#%*g`N%U?$wDvd&24>HwnZoq!}E61h*p!+Pjz?o7xHy;)pO?pM#)U6p5G(&S+1;1 zZOZntk#+$YNRnVO`wciR`jA6y-t&`N{zzzwcu@0KM2OoRT#iLV(_x605MsjM`~MIB zseZ}E6KOMv$0-7`VuOID$l&Qxhe}B?3$IOta$_)yv|U4G>X6gU++G$N~Js z1{Iy2=X0(_8H;4v5@Z_&W{o_hnwiP}n)^l|eN=xXv#(0P-LTvCXT?E@7bydo1;r?DF6ft#5I$AEyjY??|OxV7JFqDiO)W#{zn?_ zF8M;MVl(>^@{?9>hp$-g{G9j!r$|8TkDL^Z0)+G3t|l_Z;D0G1qksMO_f=#0w5XiD z(|2p+jjL!XA~}SCC^UcDc zirNZ_xUr#5&rCAZvd_**cPPN1NHfiVedT{sF0655-rux0QAMT=R$O{id=Q1)rCx?O52@`x+>H#$!o>Kw(om2ae8E+I2| z`YsZz3~;*W*t@S1zO-p^Kse+;Djbi5QV6Vt#82u4mQfV9r)_wP1_8>a4=Bl=D^)_$ND3AFnfq2iCfo30c|;BL&7b!agTb0_7t8#6+=0CAx5BsSl`nFn zZHaA^1GyXQn%*8A-s`zzV`*A#qWj8{mLv&Z-GQV>t*SEvWcoGqfHbEpMMo?EgCV5m zWUS47*T7OSbB24b7@gDikr+5N5s7jKQf#oAEu&mA_x*Zv6Ls7?KFg`O%oOGENy+F(U9kDV>AWaR_A1uQFgKUCds51A2d9YwRvx6Wv;%&uGB`#&@FmkZ9@1N4a+8*m1(i#kidnqjPw3>Vu}R0l$^h>O z)+j6}_q=b`5j-MiJ41*$#ELk6^ci(88G(pKq?yVmsdqRHQ<&uL& zH~LlmYPvjD_mLiI@>zH5+kRHSGC{ir{&u^rf$H%^6nJ9JWncC@l5Ir6U*1~J7 zJZ|7*5U^rU6!AIQ0wSy9g+%^)A^@K%LmU&5b2V$l{5*5 zGp~8ZTImhN;^_A9kur_sscTvZmrlwzKHQJ&p|s^`7f5CbdCa`!;*0E^;+7sV4^aqb z)TaJ`_C>Tli+lqE*{nUWVzq_p(zuE!|I}Ko?BVM~q~rsry*9lKL;s?Ssz~kayE4yh zzW4>-25oW}BcsR5J<`r>O_h_f|6IEbYGc4yPp5_w2jhvY*3QxU3vo_DXJI5+ud&oM zdk7mVx2R}nIMBdJ09_OifB@5A^77U&qg>;`0<43TpOA4(KyvUt$gAbEBgw@L&lHN*|cI$^TWx0|};sNBl2`HL+zr^aj ztFmMJT##b|o`X1|F=h9`o)q_MQPZ$vcjMb(g||7KubV7sPF+-&>6}#1qmp-!sL7EdOWli!6N4VeEmCB~G`L!{ zqVkjPb*`VkeRYz15JLg4X@f^@YrCy$`+q+@f})T@12&&jAF`L9FKTt@?fg6bfKKpE z-g`OR_hf<09UERzMf$wsYyqmJpX(siV7_5|#yO(i1Av$BFy9X| z>z+7@{#vvOd)W*XcBJ_t$Wi!Eq`IM{T=O`8_1e_LYOLs2&6}+?NDMkBBqk6_W)u-s z1Y@pg!|_Z2kL)ei?Qr$ThK>?d#tegSJ(u+6^Zd$3Lu;O+qpj)-H~O6prJ%X>9FMlp zm{Qt25wE!QTy^Cas0CPStjjuTiF`wf2eMJHJlOTV%@!|gja|FQA-9Cx$@dPttFgb7 zJQ7;+3}V~JAPraIxk!pCI0Iuxkb>6j5dKhW=i9-H45ykYgtx7Kgs#cdIGfWHob=2V z^2D^ax`N~)dVNveWR_@$UOJ2kzmJdUm~mY4Td2v>&nxW>Ca2DbE!~A|{{6*}L*L(OBBcw=1O2 zX&Zjd?LRoj5B=~V=@mi1=h+H<)oFjCCqiEhPY|7mdv}wCT6>lMjQ_1_VI)v_`QBSZ zvh@!8&R~_&m!GOrRPZr|T1yYTpp+4x$P@8ZapDkjcg(Y}w%yt>1yu}{pajc7jJ**B zP?Ntap|@fkpT3{R5rsne@>K$z;2Gk)Zqom00p7ML({7xStc;zq%S)8_-IE$qH!+G` zF0B(yd$JlW1FR~uG0eW7)s$H1>si>+3a&NUseGb6$d=aft<8^>H`?^KADv9~z>l-g zEmMh7NxJI1I|-P_z9L;TDbiX5EX>ogL;UY=Io+qyqi#L^qjQJD`6^gW-`eN+$^5vR z!NGb)magW(>zC$qx1Gh!fIb_WZ$V6 zjgpK5|4x3hg8mkHsV{8H=H)TWAEiUtXtRfo1qc)1p{VQNOf*V$sUbZY#zB7FrxJCN z%UkWDkxL&@QX>?~COQ06W`IXUWlV;M$?%S?am=P#2D0p~#afCMQ8?s3Wvq=-iaF<> zyKY?_r|zmucX6c%D{pkg6QiY+T15V$k*GE7R9`Rwvku2FruAj_lWx@#*j!eXPp-jzTf$4;^H9r5PjUTf zk`E6j4d;OXIdh9?>D{4Ld-U8N4L=Wu+pUt!I_WqS-sela2K6SjN?VH>2>01t!Fyd1 z`?uv}#0~+Tx(rg8#Ax*O594>*0iy}t~+^T}1@Wv}no|r`$X@uXeN`#!*1o_GhZR@Ev z34h}6!-`6blM&gT?~m97epYd`V6UWx`n9r;!SB6wAUUaX9)lmMFC&8i6oE7(2*t_C zKw9iirag>4s%Ki_Avkm6o;+KnLrCSBKXI+0*8{yVEU8y0TN8lqUFE*j1(Edg7tg+(tQ@Vxap>n!k zfs2nhi4`hKF`4Jk`8+@5$?lwlS$_sUX!;9ULVXzsCP?)K;WfSXL@9+&p4Glb1&_0k z=UXpR03(SB`AgT7jP`?X?>l_Q{N?eqZ7-=#=Ph={NwHAu0=5QI@w$WtFEKRS{sI)y zoJIUKPmK0vsM<+nn7x{nH|PwD(ooS6S$QPdGzW}#B(f6hXPQD(J!V)z@8>u5IL0$( z?R@>vsI5Jv8&e|CmHOgwPm&niUHAo$Z##OOAh%^4U4=J4M9*-G#ZveEEumQy9fPWK zTrRcIOJWU(McaRY4!ek@83-;{qGk_*%@G&IzC9jb!cE>nSF5vUMH^zn3wJfzn+4@( zhj6ocBQ)?m-!OZe6BOxi&w6ttXj39MXiQF4DO!uM9C_G*G`z9Bf{K8ZVCv`uo2W0y ztWilnxpbk;yx)>;EV5^Y3Lm}ZpHpO~g^oA5hHBDcdJ+icHFHzSR!}PWa*vU)X-WXQ zy%?yL-?MNktrAZjZdX%vBQBP|tO=QCGsY)&OpXl>){IVHKOm;T7gvd7Ay{4RY*A*o6E1QMUdP2frMG4(4mV``hqee+| zX;`zN%R7_$0!bEb2sN~HcJ`)9Dss5T_Fo#C{V&$v3*>Zv#p~vMBN@X^=9}C3Q5)FW zulU=;e5wqA!EZ3ha*+^N3%RL{m+wLEm>y+Y^ZAQdraG=K0rKNBxkhMun>iUmDP)aa z((=2`)duA4TKG0QXV8Q$&lcrD=wK{=KrK`Xh&W&cE50Ym;}y%J@Gvj?Z_fKc@cX_- z(p1<=t8;?QIjRc`rM&7{k(O+<-wU0+FJ9Vc@R36~@7q7E;|*520Mv|XZ+%*RfJy#v z`>%(szbY29ZB7zS^b68YO*J651r~jZl*j@(j=bzg`{YkmJYqld<9ve zEe8$#* zr7>Yc7v&&ln7JVZ*V zW#r9=*rH{gW0~StyEMV$L+OtSu^;?S2^0)%gernsq~U2-&E^Sk+`IM! z2yr1I^iRFv7Ow4q92dUue%yG{C?L+9LB;15aAdlq3;m1+N!^PVzJ)7lqIjSdT)j~< z1XIznT$ixMo5IKFN69jjeL4Hq2JihbtuaiA`$}Wx`gMe0>)j`gr3|5EP$QF)>ZxDRU-DrS+;h4y2@y zq#^8tl;;lO6RO~FGL=JGUTj!1=$u0c@^Wx5>4>e|%FuF(;(u(3aL>tcdxx2zG>-9M3NVN2*nJCTr1eY*JS;9 zSBN==Ax;-s8X!)Djzrl4oumG!qgk^)m)_{3nIMrAm&y@BVld!|xV^9-;PRqRgx1RL%df+KEGn9o!G#6_JFv_(cH7 z7UYm9)!DB57T$;eXSgY?Yu`kl?UJ~n@7ojfSFID}f=HNxaLxxs_4^+)LOh6^_`8{c zY&oSE^|F{A=Mvk^u!REAkR|X%zXP4eF(9~xl2rayAH5$H&6lRdD;IwM z47D@h4ZX4mk!nf%i%2q3hV+d;S%csLLG*+EOp+{?xzrn-V?1zV1wSj#1F_LF2 zW15i~dYDKRawMN-o-a1ygaq7>otT;-#g8}KJ9cI8qq!$aBai4($9c~f2 zq{X}aXfbCWDkrgk2gwse;=oq<^+8^QFvsDi@sBBeylS+!$g6wehW{{}DU+AhZ~n27 z=wQXtJvlX#v=XV}^T$31aV{tos(>nKv4(MAlH^trb~Y8iogfh_u%o;nd{@kULiNFC3O$nFUOgVDA9;-9y&G6W$4hI2Dq326PeY>Mxx=36 z?}-_Ba~@{Prpf>Z0$My6(Ci%xQmt+G? ztNMEI-a|3sDhm(D{6Ya>*p7SQDa4%0khWZ!?&y zEK8;ooti{cQ4sb|=lfR&(eP1pxhU+u)8)v+gDPL;GddD^!p_>wT^w~C6|eV)N2I;< zquo?`XS^wK2`6%I=d1=-x%x}j-#fdC$3m@ihFUA?%NHqaJm_P&Yp zp}2g|y66it0^voBov?LV7vuSgf6QCz_|0TzSvja)cEiV4;<>^*IcfE#trXNEEq`)7 zo^#KGcER{lr?WeXj~-t*YidHZU@I?{zO$X1DrUv=XpHxYs(rO5^~S+E%Vf6M z!f&OS&m4XpkKYx_SLi{Gr`9E(KmanaC7$mK&=4Oacu8ibEe@GfF-CZ$SbAub247`BtqL-aB(VdKpKtw0X@Dfrz`2C04#An4KY9|sYplQGPQ(ml9U)|A@gQZt0lyF1bI;bNh%SKuMvG?@V z@vfBl%8%#MTcv}jh z?0u(N1h>@r<)+)p!w5^mgtBK`hWkwj}%J!>yfHk6f{2y&pG33Q(LKrf$ zdY63()3Neh@OP{E*if9szNKqd&b@{y`gkhx-y!bmsGO{h8T{2Z{k{|pTU`N!l9c>^ zXHNI)fCB5$QJCz}w&7}T`@`!hrb(KP#3|5g_-La5jl(bdJzK;G$@6&%aBX09r(kL{ zoCVi6I<7_#$)957YMH89(7tq4TdMr)Alq(#G!>tMBc7#T-~NK2)ieX{G`9bnwS9@b z#(&f^4;jZBp4_4d$LO0+05B2CAMC-X5r^%kv=EZ!P!CTLeg!uAqjZ~@^o+sZ1K5@Z^J!EHs?9YPN5h%h&G7Q zgg(`M;(=^MO+4pA4?A^Hs0tMs$xMZpB{j!16aw^aw<%?N(Ad7lI)I#H95 z{JVt3%EuXUuF(Bf#U6Ki_G(_lX=PeKuq$Ubh26m7)Ut_P(YO_)M9#o`C7PP&ZkILj z?^yEOg^3Nw?eQ5yja41x>OF&c<}vu3rRjc%2zw{W9G(C@w7f%4Fm86Wsiu!2UFo5o zfa(K-LDy>VJIPCGwRY^I$0+}&!mUDEIeBveAU!OCAfF&l@f<>fl^9ya&*S{~VCniD zr?Frl<#tBWFXKO$uy>+gvT;j4QxHY>NH5^?D)Lywfy^K;o3X65q&gd7@kjf9+<{8m3d7cw%i zc+|zF-9ij8w5R&;HFgrAl7|gM2yj!0Lk~8emDQjoe4~hifDp8X$`6YIx!vgUp<2Gg zSw*;>uFKwBdc2<*?8*3gehOlNn&DBW12RWRrcHueXBGm6<>~d^kIMM5aV&m@0Idwc zU-!D)|9s9LdT{G7e|D7fxV7H|WBw~iIQ2NIe?!{^KC@dB8j{H9z38@Ecz_p%9OfKrLi-#8I8grd2k5o!-lw*h{tmv@}WDD*NDdIz1Aevo|+`ZQ{rF6wQt*^He z!!)}fw_}U$crxAAn-uiA(yLv>|A(uu465?`!aX!dNk~e!2na~GbfF!SHJa?nN|J*xwm|+|~9pAIwz1Dhaf5HwMLm`ExW&#`7Yzyo>&Yy~O zZo#dt=ZxevLj>6kZP5GWUo&4U<6XBWJ~HtK2Z908dQ<-S!d4IwL2Ing&#B%B(7GX9 zHP^1!Tu?qQ9jwG_qK~CsF$ePiOO=hZ!G|N%m2DDZx{V)x_xVU4zE|OrEwd&w@BrXJ zp0ghjKNtJ*f0XLj5zI0@5WEa7p&_UK3p@rfhzfZR*jvtQ=0b~IQ^&S`vl>Yhs`e9x z(jJ}rVw*eGhOWsLfBN(q&I1PU;N(ToTNid)b53j@ZC#OO$<(nuICJ8?aH$XYrUhWd zOF#d+;vKz>aCPewUfNoCs|w=2PF~=27Iox_bZz%h?E3sEtrRk%QjV3_ds=83e`c;Wbo15Db83>P8eh|Lz3Z(kH zaP@mb>RO`9s#-nf==a4z?ZphS@#Nk@{QW71U0+rU()Qs+jNuwkCi^K>opSO6vA$CM}8!~g=nlZ6hlR+v9_kn9J<9D;-v8_ol$XH&@+?GHGSQb^P z23Tn241$by(U*5GS}se$f4F%Kh=0M%fG0w&QM`&dJX`A7awJ&HHE5mhXN z0*I7lL}e(A(SC&q<^Mtw*P-CQ!&==GiDk7#fHGYNW<@~HNj-f~Ih5eRW3wt5p(iCA zMR|BBdZ*1w_E>{g&PqRf6!G_~rAX!ogW)K0l)xShEkPf?0-MI31Nh9wzW<^L-nd^q z+V_MzQ-Pp?`e5PqBZ+!4j zrdC=;We2(fGJ}{-C`=%<^^Jv$@4G4ue(HY{R&x0R4!fclT(krnNELAmJ~5m*ZuIT4 zyQ4C@){)!2n36ctBo$T0cm@tUp-UN2 ziVX5uo@7KuTgpv_1yg||@~0JVjrRNJp2Go2u~50wro5z1==c2g)CJUB-2oMpS&(M}DcpCq=Q;Ul1F5ZL-Lr3npqv*=pGslq> zxU8UEx#FY_F4~YP3C(@)4_aEgR<@M^)uD*6eo@-n{ITBk^S0IdS))0zW77~4k&>2?mWnu-0 zLC3IJ_%z&@e)FB=`Wv2Dq)&5!VT^uK3@9R5#?LlzaF?Ea2IB^}O|&!+rvpBQK7qNQ z?Ui*{<SO_afnY+JPRXx0g8@hS z)H-YLUs1vRkOTF!fiEdufXC$bzB=T%%uJ6w4ri>drm^+A6&pU;L}3)JcmtZxOpz2B zCOzBq63PAjNypDr$>Z%4im@FRQl_Z4%dK+ckSY&-2kSVjD|>nabd{mE>tV$xdfB?! zm0L5fAY&*LX%Po$NqqMmVPjxSN7=J82_ zyn=re%~0MhMn6K4S3$_qJ&pp6SMCXF41w&JBny?hHFz5nci$Lo*g5a<-fFA%MalB1 zP=17G8OJZ^!Ugz?TD-v<8Ok}_VHD^`j2h`gYC&$Mc|q?iGd5{sB?`iKgli^fD!UY& zxCLK2tfJmSXlO-E#-WWQ`)^evMCS*cBlsmP_jJ=10~hjasPmiip=*NER)A##r|!?p z--pA%x&ng9+fKh23WAf3h*`Rfp4NaG?UyiRH^L0S8M+ZB4`m)N;xcd(a6}@u3tKjP zzBoSWaR$J?p?>5RF%GCSM+up?HetW8RMO|PP`Qs;1}N(?^7r_OeQgY1v|G3tx^H~V)73E@5+88br_~-iF4C2;;K<9OW8J{ReNl=C$k^%Z zifm&s^0%~UEw@2{j*Vou(y`R<#LLjDx)htubibF>D34rMKbt7~C^;6-@2M^|~u+iy@ zG|D$jw=Jf{Ugejj&)}v}bY2X?N&cZXrt^Dqces4aX+x`sj~*~dVEmJm{Qy5yRcTyaYWNEu+^lS05>6+4OQ#i#{DJuN-OXyqO=JAC7|wWvexSV7|xg>7uC zwRl~SI`Yq}=Cs<<%yd4(?LbFEMUxOm3rSiJUL_QkVcxu*OK$GRYzW&@Beq9?VyCzT z1fi!<>wf2*s(PvavNEfT<*m{&Np0*HGendsf0Gq$lqH_dXBK~cq+hULyLUlG3|_S1hxJ4yfI z0Z$E1gdp_v<<_1W-1Irfj`+s~!`sGuxtN&g7~&p!*58->fSG-!V=u2(+WOV;X1I-y0>TGl`9!ygN6wZarz8mcCQ*MM*}H$dBlH~~lD{Ki zA~x?-*pk@8o3`>W(x7+qWxV)-x+67z*uFZ>mZSItrGXgvg#*boL@B%(0EORpcZ04u z9Z8QL*HCzjJHWabTSr_paPyb}Z2P%M}N1>RMy*a`sLi9AY^*NsQ^q*9YvnG zm_q1++-O5k3}DseCSH2Q{-J+XV{DudM7-|RC+b|@W8wGz+&ulkUo1FzVE%;3$ zxZB_@uHL0#&N3sw7$iZiSz@1|3z~x;~+A^w&&D7l^^htNd>q2dA;;u71 zNYyk3f0Dv;n>qCzcYS?C==h)*;-8w4h?2xeCS9FsNL6G0yC1LYLU6&uOZe~M!PB+Y zAv-n=Iv?%q+ia6nSW&gyWe#?bw~oApjNzD;;0V9YfrGAN)0U80Pep)u(_GNL|x=DSEC_4BZHx8T6=dDMV=GA81d6ZtV-Tg-d>fV z9~2FZq$V7AD7CMMuVPxkc0J{`R5ccMVsA55+0E-IsmYxD8~Nq2IMXQ8>w2pVmnmKb z9wzch>TKXYi*5#rNP^3RQ^6CT^tjzrzu)G5Wuv;o-HH~sRWd=haP?|b; zlXDsYQN=U&Ux^zMh;sUkS7^TjW(<$Uy7wSE3|b*))$H~I2*oFYT-;aDch-At;RBNM=q zX7#xSLoOgyY2d3E^Kkz@o)_teya;0yEw^G-+%>?+^8D#r%?LWtCf9Vrjbhgl#xk{@ zoP?J$kg<&)TU+e*$#54(TLnB5gZ-F&2?VCoLqX$I%5}Fml630BD4IUn!l!EG#%c-# z7gndWuAR^Pz$eBBJ$Y%2%85~55RJJ|c`9WK^D^DZMleMjzC_q2(Lu z_*h$k0M$)%&31&jNBw%v!t%-NqpH#hULz`K6sTwk67bB`jjg>_^{5Ji_oDy7)hp4- zG@cv1(io}dM0I;BM&qYC^dssTPb>ebfVRUcDqW2#vbF9dEaUk9vBtSAn{M7v8mLic zS!?WkyR)H@=og%a_cB`Ehg0-!eO6z?+7S=U>iI)Yjf0#`Am}Ch=%vUg0Wr#X7}cD0 z3!R7~@8HP-1Y3pTZM4|w7>bJC`#>y|k}ox?19~r1>TmF6i?!g#@DrtR+$2oC(YKu% zt~7@(ILB%=fx{(Qw6uJ%*6RYD9;@=FcWzV#u1^XRYmKKzQA(GMH?;2vrS|5Cv^G`? z6c=M_|Nf1BB$%MKMOc2(LaLrpJx$zUwxCil>duIX1|yW;Wb$GH`FD>j|c+`D-uYxev?hN?$K&|kH(^Tf+we`NZ4+v(lrfhapNSV<{0Cjn{ z1Qwp{lE6Bha@quL4Tvt)bZRZRFxsz+{VX&-fEr?$VblNB|Fs$6c>^^;O6?IG*mbGR zR=_K`8h&+R?86B=ok+D{5$ATiS4{<-SlTgD za`LPPa^}xhXBa=76idWtem$0pP4t_Axog0^7b_!Az0n~lo>3KE{*>aFtl0}@0Eezo z#)4UxP_EU(`Mh87ZYd00R4%K#AN5gk`ShxtL!ojX59d$AvMb?XlZXrlYXmp8+6?VS zhC}f|hU2Sz)~Ko|E8;joe@)Z)d7IY#>=JtY?f#z;RJJomSUuG+piW6>&?Xe>!10Mj zl1|oihzJDhqvvuL14hbP`$1FJ#Mb?g78tvi&dzJvH})dW8Q%sf-$7-+r5VD|$VACF z^N?5%R|r#!kfG7E!G0YU=u5SIe9JALc%b7+d60<{Yje8?Mx&%&$Z%R8w<31H{4TzQw(v2;^Z@fb7to(RA|F%@XT&5yhB z7Xgge8Bq{UXYmYdlpCP~thXYzHb_xE4`btJP zUn1+t^8Edh$Sg-7F%A8<2CKjQWSvIpyf;|;iR*rHoTUq2f%wrA!f|PWZ z2Wdwzl|lV$5nX}>c<@!Db@-w#Yo)c7z-LToXQ{dfUUkIpT=5#OBB_M`8#)anhMp%> z9uYT$ddS&`fw#3M>SnoaUgf76mh;?GI>`6eliWswS0<6OebcYu*y^DNG9h^&YT&mQap{b6$;VHo`%iD@U7_Vm3f4qp4y8 z1*pMcQ%CK^HIAT2%a`&COLxc|pLB>FEPDyR!Gs!kcgs%>*(=|D7%Pn8=&X`3Mj%dJPFl_~(PyZwhe1p@m}se?9mXUv!pT@=vWJF1 z11#&GrH&uxbNg6_i-pi`y8C05T3sA=lVBdJtx-*+_wItG14XWTZH}x3+@yl5LosSqB=;Is!x?JIoy_%N1%YAlJrKO9sSiRN zSINU%?$sD9tRY;IpH*I>){H*s+FDGp8sn!EHl-=ER27DBnYi_A131n$0KTc%VXZA#E$%?^W*-aTt z8 zx_9X9#a~JfLe4solx>&B1Tg+GulbK`S#YLByFM`PbCPwfNDa90tt4(LKPNf#dF6_0 zXT+vTJ`Jf)-u zK=F)aH&!KiFWcMVix2mH_ifd=C#ZJu{*|~6w?eBoOeOM_wojRGKKf{>z7srlzad1UZFHMdok+4NZ$XQ62JrVWLS9r zhkBk$GHV41SJo^Z3821e@J5@$ZIM3?+3S_xwc|B`QiZp2QZuYl6mKlzV$z~ z=}oD1vEyEbC61cXY)}2G`PRpxiY-IMoNxepK(v@of%~5@`_w8OXTUuFgJXQ}l)`_y zS>}bn#Q#>I=T8rP+JUS+8i0{x^yNWHBa-lc#3O!p*FAR+9?q5#dPXktaopaC^vVuX zb!Cz@neHIxX+}aQ1e)DPhJVZN=gaogBdRr@B3;#5*7Nq{E}uwYx`<9?q#A!ktE=tm zqvofzk!{H2Mdds6S>wdF3o;)|JUWNX>PbF;&$zR1z1)#60=CEnTRUVdYm`zgl9b?r zxVx04oef|vC~kQ~2PAuTX1MPYM?W6EjZ06J8HZHK9RE@hvLwQNP>^E~uWqL6v%}gS zSvt>^>V#QB&X$?RqzQErZvv+0qjvfK<`*JO?y=+JnP6@<8@ zf=CwjAUfyB3F^Rt900i)PfD{4=>@xyR@rKJjA$Zk>&EvNx4Pi-bXJZn)AuQ=mXH5c z^kaNcGLdR7CFglRmp8V)l^&p`|1B(BZq+?LZ_Y-`>fKG!OSS8a!NnY;4^P}p_h4x} zc~OgZ5YF!;7|vxfoigjWedqv}Y!y$e zTN<##^stXF_tkk@95IbkA~7@aY

GM+*HYTM11lm_O!TXuN3qVvEH{ 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

b&;dOo$-=VqI6=C^o@p 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%0DWM12y> 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 Gp$P!Hl^`(y literal 0 HcmV?d00001 diff --git a/docs/large_model_inference.md b/docs/large_model_inference.md index 18b97f5c40..04f4dd4601 100644 --- a/docs/large_model_inference.md +++ b/docs/large_model_inference.md @@ -2,11 +2,22 @@ This document explain how Torchserve supports large model serving, here large model refers to the models that are not able to fit into one gpu so they need be split in multiple partitions over multiple gpus. +## How it works? + +During deployment a worker of a large model, TorchServe utilizes [torchrun](https://pytorch.org/docs/stable/elastic/run.html) to set up the distributed environment for model parallel processing. TorchServe has the capability to support multiple workers for a large model. By default, TorchServe uses a round-robin algorithm to assign GPUs to a worker on a host. In case of large models inference GPUs assigned to each worker is automatically calculated based on number of GPUs specified in the model_config.yaml. CUDA_VISIBLE_DEVICES is set based this number. + +For instance, suppose there are eight GPUs on a node and one worker needs 4 GPUs (ie, nproc-per-node=4) on a node. In this case, TorchServe would assign CUDA_VISIBLE_DEVICES="0,1,2,3" to worker1 and CUDA_VISIBLE_DEVICES="4,5,6,7" to worker2. + +In addition to this default behavior, TorchServe provides the flexibility for users to specify GPUs for a worker. For instance, if the user sets "deviceIds: [2,3,4,5]" in the [model config YAML file](https://github.com/pytorch/serve/blob/5ee02e4f050c9b349025d87405b246e970ee710b/model-archiver/README.md?plain=1#L164), and nproc-per-node is set to 2, then TorchServe would assign CUDA_VISIBLE_DEVICES="2,3" to worker1 and CUDA_VISIBLE_DEVICES="4,5" to worker2. + +Using Pippy integration as an example, the image below illustrates the internals of the TorchServe large model inference. + +![ts-lmi-internal](images/ts-lmi-internal.png) + ## PiPPy (PyTorch Native solution for large model inference) PiPPy provides pipeline parallelism for serving large models that would not fit into one gpu. It takes your model and splits it into equal sizes (stages) partitioned over the number devices you specify. Then uses microbatching to run your batched input for inference ( its is more optimal for batch sizes >1). - ### How to use PiPPy in Torchserve To use Pippy in Torchserve, we need to use a custom handler which inherits from base_pippy_handler and put our setting in model-config.yaml. @@ -99,6 +110,7 @@ class ModelHandler(BaseDeepSpeedHandler, ABC): def __init__(self): super(ModelHandler, self).__init__() self.initialized = False + def initialize(self, ctx): model = # load your model from model_dir ds_engine = get_ds_engine(self.model, ctx) @@ -156,5 +168,29 @@ The rest is as usual in Torchserve, basically packaging your model and starting Example of the command for packaging your model, make sure you pass model-config.yaml ```bash +# option 1: Using model_dir torch-model-archiver --model-name bloom --version 1.0 --handler deepspeed_handler.py --extra-files $MODEL_CHECKPOINTS_PATH,ds-config.json -r requirements.txt --config-file model-config.yaml --archive-format tgz + +# option 2: Using HF model_name +torch-model-archiver --model-name bloom --version 1.0 --handler deepspeed_handler.py --extra-files ds-config.json -r requirements.txt --config-file model-config.yaml --archive-format +``` + +## Best Practice + +#### To reduce model loading latency, we recommend +* Pre-install the model parallel library such as Deepspeed on the container or host. +* Pre-download the model checkpoints. For example, if using HuggingFace pretrained model can be pre-downloaded via [Download_model.py](https://github.com/pytorch/serve/blob/75f66dc557b3b67a3ab56536a37d7aa21582cc04/examples/large_models/deepspeed/opt/Readme.md?plain=1#L7) + * Set environment variable [HUGGINGFACE_HUB_CACHE](https://huggingface.co/docs/huggingface_hub/guides/manage-cache#understand-caching) and [TRANSFORMERS_CACHE](https://huggingface.co/transformers/v4.0.1/installation.html#caching-models) + * Download model to the HuggingFace cache dir via tool [Download_model.py](https://github.com/pytorch/serve/blob/75f66dc557b3b67a3ab56536a37d7aa21582cc04/examples/large_models/deepspeed/opt/Readme.md?plain=1#L7) + +#### Tune "[responseTimeout](https://github.com/pytorch/serve/blob/5ee02e4f050c9b349025d87405b246e970ee710b/docs/configuration.md?plain=1#L216)" (see [model config YAML file](https://github.com/pytorch/serve/blob/5ee02e4f050c9b349025d87405b246e970ee710b/model-archiver/README.md?plain=1#L164)) if high model loading or inference latency causes response timeout. + +#### Tune torchrun parameters +User is able to tune torchrun parameters in [model config YAML file](https://github.com/pytorch/serve/blob/2f1f52f553e83703b5c380c2570a36708ee5cafa/model-archiver/README.md?plain=1#L179). The supported parameters are defined at [here](https://github.com/pytorch/serve/blob/2f1f52f553e83703b5c380c2570a36708ee5cafa/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java#L329). For example, by default, `OMP_NUMNER_T?HREADS` is 1. It can be modified in the YAML file. +```yaml +#frontend settings +torchrun: + nproc-per-node: 4 # specifies the number of processes torchrun starts to serve your model, set to world_size or number of + # gpus you wish to split your model + OMP_NUMBER_THREADS: 2 ``` diff --git a/examples/large_models/deepspeed/opt/Readme.md b/examples/large_models/deepspeed/opt/Readme.md index 605545254d..0ee6b6ddd8 100644 --- a/examples/large_models/deepspeed/opt/Readme.md +++ b/examples/large_models/deepspeed/opt/Readme.md @@ -2,18 +2,12 @@ This document briefs on serving large HG models on multiple GPUs using deepspeed. To speed up TorchServe regression test, facebook/opt-350m is used in this example. User can choose larger model such as facebook/opt-6.7b. -### Step 1: Download model - -Login into huggingface hub with token by running the below command - -```bash -huggingface-cli login -``` +## Option 1: Using model_dir -paste the token generated from huggingface hub. +### Step 1: Download model ```bash -python Download_models.py --model_path model --model_name facebook/opt-350m --revision main +python ../../utils/Download_models.py --model_path model --model_name facebook/opt-350m --revision main ``` The script prints the path where the model is downloaded as below. @@ -35,7 +29,6 @@ mv opt.tar.gz model_store ### Step 4: Start torchserve - ```bash torchserve --start --ncs --model-store model_store --models opt.tar.gz ``` @@ -45,3 +38,57 @@ torchserve --start --ncs --model-store model_store --models opt.tar.gz ```bash curl -v "http://localhost:8080/predictions/opt" -T sample_text.txt ``` + +## Option 2: Using model name + +### Step 1: Update initialize in custom_handler.py +```python + def initialize(self, ctx: Context): + """In this initialize function, the HF large model is loaded and + partitioned using DeepSpeed. + Args: + ctx (context): It is a JSON Object containing information + pertaining to the model artefacts parameters. + """ + super().initialize(ctx) + model_dir = ctx.system_properties.get("model_dir") + self.max_length = int(ctx.model_yaml_config["handler"]["max_length"]) + self.max_new_tokens = int(ctx.model_yaml_config["handler"]["max_new_tokens"]) + seed = int(ctx.model_yaml_config["handler"]["manual_seed"]) + torch.manual_seed(seed) + + self.tokenizer = AutoTokenizer.from_pretrained(model_dir, padding_side="left") + self.tokenizer.pad_token = self.tokenizer.eos_token + self.model = AutoModelForCausalLM.from_pretrained(model_dir, torch_dtype=torch.float16) + self.model.eval() + + ds_engine = get_ds_engine(self.model, ctx) + self.model = ds_engine.module + logger.info("Model %s loaded successfully", ctx.model_name) + self.initialized = True +``` + +### Step 2: Generate mar or tgz file + +```bash +torch-model-archiver --model-name opt --version 1.0 --handler custom_handler.py --extra-files ds-config.json -r requirements.txt --config-file model-config.yaml +``` + +### Step 3: Add the mar file to model store + +```bash +mkdir model_store +mv opt.mar model_store +``` + +### Step 4: Start torchserve + +```bash +torchserve --start --ncs --model-store model_store --models opt.mar +``` + +### Step 5: Run inference + +```bash +curl -v "http://localhost:8080/predictions/opt" -T sample_text.txt +``` diff --git a/examples/large_models/deepspeed/opt/custom_handler.py b/examples/large_models/deepspeed/opt/custom_handler.py index 828f8af294..f129de0093 100644 --- a/examples/large_models/deepspeed/opt/custom_handler.py +++ b/examples/large_models/deepspeed/opt/custom_handler.py @@ -21,6 +21,7 @@ class TransformersSeqClassifierHandler(BaseDeepSpeedHandler, ABC): def __init__(self): super(TransformersSeqClassifierHandler, self).__init__() self.max_length = None + self.max_new_tokens = None self.tokenizer = None self.initialized = False @@ -34,8 +35,16 @@ def initialize(self, ctx: Context): super().initialize(ctx) model_dir = ctx.system_properties.get("model_dir") self.max_length = int(ctx.model_yaml_config["handler"]["max_length"]) - self.model = AutoModelForCausalLM.from_pretrained(model_dir, use_cache=False) - self.tokenizer = AutoTokenizer.from_pretrained(model_dir, return_tensors="pt") + self.max_new_tokens = int(ctx.model_yaml_config["handler"]["max_new_tokens"]) + seed = int(ctx.model_yaml_config["handler"]["manual_seed"]) + torch.manual_seed(seed) + + self.tokenizer = AutoTokenizer.from_pretrained(model_dir, padding_side="left") + self.tokenizer.pad_token = self.tokenizer.eos_token + self.model = AutoModelForCausalLM.from_pretrained( + model_dir, torch_dtype=torch.float16 + ) + self.model.eval() ds_engine = get_ds_engine(self.model, ctx) self.model = ds_engine.module @@ -76,9 +85,10 @@ def encode_input_text(self, input_text): inputs = self.tokenizer.encode_plus( input_text, max_length=self.max_length, - pad_to_max_length=True, + padding=True, add_special_tokens=True, return_tensors="pt", + truncation=True, ) input_ids = inputs["input_ids"] attention_mask = inputs["attention_mask"] @@ -99,14 +109,13 @@ def inference(self, input_batch): outputs = self.model.generate( input_ids_batch, attention_mask=attention_mask_batch, - max_length=self.max_length, + max_length=self.max_new_tokens, + ) + + inferences = self.tokenizer.batch_decode( + outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False ) - inferences = [ - self.tokenizer.batch_decode( - outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False - ) - ] logger.info("Generated text: %s", inferences) return inferences diff --git a/examples/large_models/deepspeed/opt/ds-config.json b/examples/large_models/deepspeed/opt/ds-config.json index 7a24a9e91a..129ed04bbc 100644 --- a/examples/large_models/deepspeed/opt/ds-config.json +++ b/examples/large_models/deepspeed/opt/ds-config.json @@ -4,4 +4,4 @@ "tensor_parallel": { "tp_size": 2 } -} +} \ No newline at end of file diff --git a/examples/large_models/deepspeed/opt/model-config.yaml b/examples/large_models/deepspeed/opt/model-config.yaml index ed7aa6cd3a..3f8fd61bdd 100644 --- a/examples/large_models/deepspeed/opt/model-config.yaml +++ b/examples/large_models/deepspeed/opt/model-config.yaml @@ -2,9 +2,10 @@ minWorkers: 1 maxWorkers: 1 maxBatchDelay: 100 -responseTimeout: 120 +responseTimeout: 1200 parallelType: "tp" deviceType: "gpu" +# example of user specified GPU deviceIds deviceIds: [2,3] # seting CUDA_VISIBLE_DEVICES torchrun: @@ -15,4 +16,6 @@ deepspeed: config: ds-config.json handler: - max_length: 100 + max_length: 50 + max_new_tokens: 10 + manual_seed: 40 diff --git a/examples/large_models/deepspeed/opt/requirements.txt b/examples/large_models/deepspeed/opt/requirements.txt index 97a9da9185..149ef947b4 100644 --- a/examples/large_models/deepspeed/opt/requirements.txt +++ b/examples/large_models/deepspeed/opt/requirements.txt @@ -1,2 +1,2 @@ -transformers -deepspeed +transformers==4.28.1 +deepspeed==0.9.1 diff --git a/examples/large_models/deepspeed/opt/Download_models.py b/examples/large_models/utils/Download_models.py similarity index 98% rename from examples/large_models/deepspeed/opt/Download_models.py rename to examples/large_models/utils/Download_models.py index ea854abc90..5ad5db3c5f 100644 --- a/examples/large_models/deepspeed/opt/Download_models.py +++ b/examples/large_models/utils/Download_models.py @@ -46,6 +46,6 @@ def hf_model(model_str): repo_id=args.model_name, revision=args.revision, cache_dir=args.model_path, - use_auth_token=True, + use_auth_token=False, ) print(f"Files for '{args.model_name}' is downloaded to '{snapshot_path}'") diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java index be259014ed..6f09250319 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java @@ -21,9 +21,15 @@ public class ModelConfig { private int maxBatchDelay; /** the timeout in sec of a specific model's response. */ private int responseTimeout = 120; // unit: sec - /** the device type where the model is loaded. It can be gpu, cpu */ + /** + * the device type where the model is loaded. It can be gpu, cpu. The model is loaded on CPU if + * deviceType: "cpu" is set on a GPU host. + */ private DeviceType deviceType = DeviceType.NONE; - /** the gpu device id */ + /** + * the user specified gpu device id, By default, TorchServe auto round-robin all available GPUs + * to assign deviceIds to a worker of a model if deviceIds is not set. + */ private List deviceIds; /** this variable is auto calculated based on torchrun nproc-per-node. */ private int parallelLevel = 1; @@ -338,6 +344,7 @@ public static class TorchRun { private int nodeRank; private String masterAddr; private int masterPort; + private int ompNumberThreads = 1; public static TorchRun build(Map torchRunMap) { TorchRun torchRun = new TorchRun(); @@ -402,6 +409,13 @@ public static TorchRun build(Map torchRunMap) { logger.warn("Invalid torchrun.node-rank:{}, reset to 0", v); } break; + case "OMP_NUMBER_THREADS": + if (v instanceof Integer) { + torchRun.setOmpNumberThreads((Integer) v); + } else { + logger.warn("Invalid OMP_NUMBER_THREADS:{}, reset to 1", v); + } + break; default: break; } @@ -516,5 +530,17 @@ public int getMasterPort() { public void setMasterPort(int masterPort) { this.masterPort = masterPort; } + + public int getOmpNumberThreads() { + return ompNumberThreads; + } + + public void setOmpNumberThreads(int ompNumberThreads) { + if (ompNumberThreads < 1) { + logger.warn("Invalid OMP_NUMBER_THREADS:{}, reset to 1", ompNumberThreads); + return; + } + this.ompNumberThreads = ompNumberThreads; + } } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 115a021788..9a7c0d657e 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -188,9 +188,6 @@ private ConfigManager(Arguments args) throws IOException { } } - // This is a workaround to avoid DeepSpeed JIT issue during pip installation - System.setProperty("DS_BUILD_OPS", "1"); - resolveEnvVarVals(prop); String modelStore = args.getModelStore(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java index dee01724a2..c8a890d7ed 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java @@ -191,6 +191,7 @@ private void attachRunner( envp.add("CUDA_VISIBLE_DEVICES=" + deviceIds); } ModelConfig.TorchRun torchRun = model.getModelArchive().getModelConfig().getTorchRun(); + envp.add(String.format("OMP_NUM_THREADS=%d", torchRun.getOmpNumberThreads())); argl.add("torchrun"); argl.add("--nnodes"); argl.add(String.valueOf(torchRun.getNnodes())); @@ -216,6 +217,8 @@ private void attachRunner( argl.add("--master-port"); argl.add(String.valueOf(torchRun.getMasterPort())); } + argl.add("--max-restarts"); + argl.add(String.valueOf(1)); } public synchronized void terminateIOStreams() { diff --git a/ts/model_service_worker.py b/ts/model_service_worker.py index 0aebbf9f14..72cf65c903 100644 --- a/ts/model_service_worker.py +++ b/ts/model_service_worker.py @@ -142,15 +142,24 @@ def load_model(self, load_model_request): logging.debug("Model %s loaded.", model_name) return service, "loaded model {}".format(model_name), 200 - except MemoryError: + except MemoryError as ex: + logging.exception( + "Load model %s cpu OOM, exception %s", model_name, str(ex) + ) return None, "System out of memory", 507 except RuntimeError as ex: # pylint: disable=broad-except if "CUDA" in str(ex): # Handles Case A: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED (Close to OOM) & # Case B: CUDA out of memory (OOM) + logging.exception( + "Load model %s cuda OOM, exception %s", model_name, str(ex) + ) return None, "System out of memory", 507 else: # Sanity testcases fail without this + logging.exception( + "Failed to load model %s, exception %s", model_name, str(ex) + ) return None, "Unknown exception", 500 def handle_connection(self, cl_socket): diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index 29293001a8..e454862be7 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1043,5 +1043,9 @@ QueueTime WorkerLoadTime WorkerName WorkerThreadTime +MicroSoft +lmi +torchrun +nproc largemodels -torchpippy \ No newline at end of file +torchpippy From fbcde1de382a6220f0c5ff9fa192351298cbfbf9 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Wed, 10 May 2023 22:33:16 +0000 Subject: [PATCH 075/172] remove redundent Download_models.py (#2331) --- docs/large_model_inference.md | 2 +- examples/large_models/deepspeed/opt/Readme.md | 2 +- .../large_models/utils/Download_models.py | 51 ------------------- 3 files changed, 2 insertions(+), 53 deletions(-) delete mode 100644 examples/large_models/utils/Download_models.py diff --git a/docs/large_model_inference.md b/docs/large_model_inference.md index 04f4dd4601..3d9b6dd815 100644 --- a/docs/large_model_inference.md +++ b/docs/large_model_inference.md @@ -181,7 +181,7 @@ torch-model-archiver --model-name bloom --version 1.0 --handler deepspeed_handle * Pre-install the model parallel library such as Deepspeed on the container or host. * Pre-download the model checkpoints. For example, if using HuggingFace pretrained model can be pre-downloaded via [Download_model.py](https://github.com/pytorch/serve/blob/75f66dc557b3b67a3ab56536a37d7aa21582cc04/examples/large_models/deepspeed/opt/Readme.md?plain=1#L7) * Set environment variable [HUGGINGFACE_HUB_CACHE](https://huggingface.co/docs/huggingface_hub/guides/manage-cache#understand-caching) and [TRANSFORMERS_CACHE](https://huggingface.co/transformers/v4.0.1/installation.html#caching-models) - * Download model to the HuggingFace cache dir via tool [Download_model.py](https://github.com/pytorch/serve/blob/75f66dc557b3b67a3ab56536a37d7aa21582cc04/examples/large_models/deepspeed/opt/Readme.md?plain=1#L7) + * Download model to the HuggingFace cache dir via tool [Download_model.py](https://github.com/pytorch/serve/blob/4fe5273cd6f98fb5abc570f802b402ac32ecd105/examples/large_models/Huggingface_pippy/Readme.md?plain=1#L20) #### Tune "[responseTimeout](https://github.com/pytorch/serve/blob/5ee02e4f050c9b349025d87405b246e970ee710b/docs/configuration.md?plain=1#L216)" (see [model config YAML file](https://github.com/pytorch/serve/blob/5ee02e4f050c9b349025d87405b246e970ee710b/model-archiver/README.md?plain=1#L164)) if high model loading or inference latency causes response timeout. diff --git a/examples/large_models/deepspeed/opt/Readme.md b/examples/large_models/deepspeed/opt/Readme.md index 0ee6b6ddd8..cb8c06a976 100644 --- a/examples/large_models/deepspeed/opt/Readme.md +++ b/examples/large_models/deepspeed/opt/Readme.md @@ -7,7 +7,7 @@ This document briefs on serving large HG models on multiple GPUs using deepspeed ### Step 1: Download model ```bash -python ../../utils/Download_models.py --model_path model --model_name facebook/opt-350m --revision main +python ../../utils/Download_model.py --model_path model --model_name facebook/opt-350m --revision main ``` The script prints the path where the model is downloaded as below. diff --git a/examples/large_models/utils/Download_models.py b/examples/large_models/utils/Download_models.py deleted file mode 100644 index 5ad5db3c5f..0000000000 --- a/examples/large_models/utils/Download_models.py +++ /dev/null @@ -1,51 +0,0 @@ -import argparse -import os - -from huggingface_hub import HfApi, snapshot_download - - -def dir_path(path_str): - if os.path.isdir(path_str): - return path_str - elif input(f"{path_str} does not exist, create directory? [y/n]").lower() == "y": - os.makedirs(path_str) - return path_str - else: - raise NotADirectoryError(path_str) - - -class HFModelNotFoundError(Exception): - def __init__(self, model_str): - super().__init__(f"HuggingFace model not found: '{model_str}'") - - -def hf_model(model_str): - api = HfApi() - models = [m.modelId for m in api.list_models()] - if model_str in models: - return model_str - else: - raise HFModelNotFoundError(model_str) - - -parser = argparse.ArgumentParser() -parser.add_argument( - "--model_path", - "-o", - type=dir_path, - default="model", - help="Output directory for downloaded model files", -) -parser.add_argument( - "--model_name", "-m", type=hf_model, required=True, help="HuggingFace model name" -) -parser.add_argument("--revision", "-r", type=str, default="main", help="Revision") -args = parser.parse_args() - -snapshot_path = snapshot_download( - repo_id=args.model_name, - revision=args.revision, - cache_dir=args.model_path, - use_auth_token=False, -) -print(f"Files for '{args.model_name}' is downloaded to '{snapshot_path}'") From 367618649138963abfbde8faa2193fef93e8910e Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Wed, 10 May 2023 18:31:00 -0700 Subject: [PATCH 076/172] Updated version for v0.8.0 (#2335) --- model-archiver/model_archiver/version.txt | 2 +- ts/version.txt | 2 +- workflow-archiver/workflow_archiver/version.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/model-archiver/model_archiver/version.txt b/model-archiver/model_archiver/version.txt index 39e898a4f9..a3df0a6959 100644 --- a/model-archiver/model_archiver/version.txt +++ b/model-archiver/model_archiver/version.txt @@ -1 +1 @@ -0.7.1 +0.8.0 diff --git a/ts/version.txt b/ts/version.txt index 39e898a4f9..a3df0a6959 100644 --- a/ts/version.txt +++ b/ts/version.txt @@ -1 +1 @@ -0.7.1 +0.8.0 diff --git a/workflow-archiver/workflow_archiver/version.txt b/workflow-archiver/workflow_archiver/version.txt index b0032849c8..a45be46276 100644 --- a/workflow-archiver/workflow_archiver/version.txt +++ b/workflow-archiver/workflow_archiver/version.txt @@ -1 +1 @@ -0.2.7 +0.2.8 From 8ea1dab2b20e8a64f5ec71d8ced10b4afe17ce32 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 11 May 2023 07:58:07 -0700 Subject: [PATCH 077/172] HF optimum is installed by default in HF Transformers example (#2336) * HF optimum is installed by default in HF Transformers example * HF optimum is installed by default in HF Transformers example --- examples/Huggingface_Transformers/README.md | 3 +-- .../Transformer_handler_generalized.py | 9 ++------- examples/Huggingface_Transformers/requirements.txt | 2 ++ 3 files changed, 5 insertions(+), 9 deletions(-) create mode 100644 examples/Huggingface_Transformers/requirements.txt diff --git a/examples/Huggingface_Transformers/README.md b/examples/Huggingface_Transformers/README.md index 4a24f1fe09..c278973f55 100644 --- a/examples/Huggingface_Transformers/README.md +++ b/examples/Huggingface_Transformers/README.md @@ -10,7 +10,7 @@ We borrowed ideas to write a custom handler for transformers from tutorial prese To get started [install Torchserve](https://github.com/pytorch/serve) and then - `pip install transformers==4.6.0` + `pip install -r requirements.txt` ### Objectives 1. How to package a transformer into a torch model archive (.mar) file (eager mode or Torchscript) with `torch-model-archiver` @@ -315,7 +315,6 @@ When a json file is passed as a request format to the curl, Torchserve unwraps t In the setup_config.json, specify `"BetterTransformer":true,`. -Note: make sure to install [HuggingFace Optimum] `pip install optimum` [Better Transformer](https://pytorch.org/blog/a-better-transformer-for-fast-transformer-encoder-inference/) from PyTorch is integrated into [Huggingface Optimum](https://huggingface.co/docs/optimum/bettertransformer/overview) that bring major speedups for many of encoder models on different modalities (text, image, audio). It is a one liner API that we have also added in the `Transformer_handler_generalized.py` in this example as well. That as shown above you just need to set `"BetterTransformer":true,` in the setup_config.json. diff --git a/examples/Huggingface_Transformers/Transformer_handler_generalized.py b/examples/Huggingface_Transformers/Transformer_handler_generalized.py index b469311464..61893d87e4 100644 --- a/examples/Huggingface_Transformers/Transformer_handler_generalized.py +++ b/examples/Huggingface_Transformers/Transformer_handler_generalized.py @@ -83,14 +83,10 @@ def initialize(self, ctx): logger.warning("Missing the operation mode.") # Using the Better Transformer integration to speedup the inference if self.setup_config["BetterTransformer"]: - try: - from optimum.bettertransformer import BetterTransformer + from optimum.bettertransformer import BetterTransformer + try: self.model = BetterTransformer.transform(self.model) - except ImportError as error: - logger.warning( - "HuggingFace Optimum is not installed. Proceeding without BetterTransformer" - ) except RuntimeError as error: logger.warning( "HuggingFace Optimum is not supporting this model,for the list of supported models, please refer to this doc,https://huggingface.co/docs/optimum/bettertransformer/overview" @@ -377,7 +373,6 @@ def get_insights(self, input_batch, text, target): self.setup_config["mode"] == "sequence_classification" or self.setup_config["mode"] == "token_classification" ): - attributions, delta = self.lig.attribute( inputs=input_ids, baselines=ref_input_ids, diff --git a/examples/Huggingface_Transformers/requirements.txt b/examples/Huggingface_Transformers/requirements.txt new file mode 100644 index 0000000000..196e970d9a --- /dev/null +++ b/examples/Huggingface_Transformers/requirements.txt @@ -0,0 +1,2 @@ +transformers +optimum From 35fb57438024a6c1850e45e28b227f38617de02d Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 11 May 2023 16:49:10 -0700 Subject: [PATCH 078/172] Issues/fix docker dependencies (#2340) * re-run kserve build because of runner issue * Fixes missing dependencies * added depth 1 to reduce clone size by 50 MB --- docker/Dockerfile | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index a6d6382d7a..333f585047 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -47,6 +47,7 @@ RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ python$PYTHON_VERSION-venv \ openjdk-17-jdk \ curl \ + git \ && rm -rf /var/lib/apt/lists/* # Make the virtual environment and "activating" it by adding it first to the path. @@ -62,26 +63,29 @@ RUN export USE_CUDA=1 ARG CUDA_VERSION="" -RUN TORCH_VER=$(curl --silent --location https://pypi.org/pypi/torch/json | python -c "import sys, json, pkg_resources; releases = json.load(sys.stdin)['releases']; print(sorted(releases, key=pkg_resources.parse_version)[-1])") && \ - TORCH_VISION_VER=$(curl --silent --location https://pypi.org/pypi/torchvision/json | python -c "import sys, json, pkg_resources; releases = json.load(sys.stdin)['releases']; print(sorted(releases, key=pkg_resources.parse_version)[-1])") && \ +RUN git clone --depth 1 https://github.com/pytorch/serve.git + +WORKDIR "serve" + +RUN \ if echo "$BASE_IMAGE" | grep -q "cuda:"; then \ # Install CUDA version specific binary when CUDA version is specified as a build arg if [ "$CUDA_VERSION" ]; then \ - python -m pip install --no-cache-dir torch==$TORCH_VER+$CUDA_VERSION torchvision==$TORCH_VISION_VER+$CUDA_VERSION -f https://download.pytorch.org/whl/torch_stable.html; \ - # Install the binary with the latest CUDA version support + python ./ts_scripts/install_dependencies.py --cuda $CUDA_VERSION; \ + # Install the binary with the latest CPU image on a CUDA base image else \ - python -m pip install --no-cache-dir torch torchvision; \ + python ./ts_scripts/install_dependencies.py; \ fi; \ - python -m pip install --no-cache-dir -r https://raw.githubusercontent.com/pytorch/serve/master/requirements/common.txt; \ # Install the CPU binary else \ - python -m pip install --no-cache-dir torch==$TORCH_VER+cpu torchvision==$TORCH_VISION_VER+cpu -f https://download.pytorch.org/whl/torch_stable.html; \ + python ./ts_scripts/install_dependencies.py; \ fi -RUN python -m pip install --no-cache-dir captum torchtext torchserve torch-model-archiver pyyaml +# Make sure latest version of torchserve is uploaded before running this +RUN python -m pip install --no-cache-dir torchserve torch-model-archiver torch-workflow-archiver # Final image for production -FROM ${BASE_IMAGE} AS runtime-image +FROM ${BASE_IMAGE} AS runtime-image # Re-state ARG PYTHON_VERSION to make it active in this build-stage (uses default define at the top) ARG PYTHON_VERSION ENV PYTHONUNBUFFERED TRUE From f01868f941a8eff0e175a849884b5cd6ef2a454e Mon Sep 17 00:00:00 2001 From: sekyondaMeta <127536312+sekyondaMeta@users.noreply.github.com> Date: Mon, 15 May 2023 15:05:33 -0400 Subject: [PATCH 079/172] Updating index.md to fix 8 broken links (#2329) * Update index.md Update to fix a broken link in index.md where the trailing .md is cut off from the management_api.md. Added an anchor link to force the .md to show up. * Update to index.md Update to index.md to fix several links ending in .md that sphinx is breaking. Added anchor links to each link and a corresponding anchor in the affected doc. Tested locally and seems to be working. * Update inference_api.md * Updated typos Fixed typos and updated wordslist.txt * Update wordlist.txt --------- Co-authored-by: sekyonda <7411+sekyonda@users.noreply.ghe.oculus-rep.com> Co-authored-by: lxning <23464292+lxning@users.noreply.github.com> --- docs/index.md | 16 ++++++++-------- docs/inference_api.md | 4 ++-- docs/management_api.md | 20 ++++++++++---------- docs/metrics.md | 2 +- docs/performance_guide.md | 4 ++-- examples/README.md | 2 +- examples/Workflows/README.md | 4 ++-- ts_scripts/spellcheck_conf/wordlist.txt | 2 ++ 8 files changed, 28 insertions(+), 26 deletions(-) diff --git a/docs/index.md b/docs/index.md index 57b890b1b1..b5e7c8fc05 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,19 +4,19 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch mo ## ⚡ Why TorchServe -* [Model Management API](https://github.com/pytorch/serve/blob/master/docs/management_api.md): multi model management with optimized worker to model allocation -* [Inference API](https://github.com/pytorch/serve/blob/master/docs/inference_api.md): REST and gRPC support for batched inference -* [TorchServe Workflows](https://github.com/pytorch/serve/blob/master/examples/Workflows/README.md): deploy complex DAGs with multiple interdependent models +* [Model Management API](https://github.com/pytorch/serve/blob/master/docs/management_api.md#management-api): multi model management with optimized worker to model allocation +* [Inference API](https://github.com/pytorch/serve/blob/master/docs/inference_api.md#inference-api): REST and gRPC support for batched inference +* [TorchServe Workflows](https://github.com/pytorch/serve/blob/master/examples/Workflows/README.md#workflow-examples): deploy complex DAGs with multiple interdependent models * Default way to serve PyTorch models in * [Kubeflow](https://v0-5.kubeflow.org/docs/components/pytorchserving/) * [MLflow](https://github.com/mlflow/mlflow-torchserve) * [Sagemaker](https://aws.amazon.com/blogs/machine-learning/serving-pytorch-models-in-production-with-the-amazon-sagemaker-native-torchserve-integration/) * [Kserve](https://kserve.github.io/website/0.8/modelserving/v1beta1/torchserve/): Supports both v1 and v2 API * [Vertex AI](https://cloud.google.com/blog/topics/developers-practitioners/pytorch-google-cloud-how-deploy-pytorch-models-vertex-ai) -* Export your model for optimized inference. Torchscript out of the box, [ORT and ONNX](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md), [IPEX](https://github.com/pytorch/serve/tree/master/examples/intel_extension_for_pytorch), [TensorRT](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md), [FasterTransformer](https://github.com/pytorch/serve/tree/master/examples/FasterTransformer_HuggingFace_Bert) -* [Performance Guide](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md): builtin support to optimize, benchmark and profile PyTorch and TorchServe performance -* [Expressive handlers](https://github.com/pytorch/serve/blob/master/CONTRIBUTING.md): An expressive handler architecture that makes it trivial to support inferencing for your usecase with [many supported out of the box](https://github.com/pytorch/serve/tree/master/ts/torch_handler) -* [Metrics API](https://github.com/pytorch/serve/blob/master/docs/metrics.md): out of box support for system level metrics with [Prometheus exports](https://github.com/pytorch/serve/tree/master/examples/custom_metrics), custom metrics and PyTorch profiler support +* Export your model for optimized inference. Torchscript out of the box, [ORT and ONNX](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md#performance-guide), [IPEX](https://github.com/pytorch/serve/tree/master/examples/intel_extension_for_pytorch), [TensorRT](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md#performance-guide), [FasterTransformer](https://github.com/pytorch/serve/tree/master/examples/FasterTransformer_HuggingFace_Bert) +* [Performance Guide](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md#performance-guide): builtin support to optimize, benchmark and profile PyTorch and TorchServe performance +* [Expressive handlers](https://github.com/pytorch/serve/blob/master/CONTRIBUTING.md#contributing-to-torchServe): An expressive handler architecture that makes it trivial to support inferencing for your usecase with [many supported out of the box](https://github.com/pytorch/serve/tree/master/ts/torch_handler) +* [Metrics API](https://github.com/pytorch/serve/blob/master/docs/metrics.md#torchserve-metrics): out of box support for system level metrics with [Prometheus exports](https://github.com/pytorch/serve/tree/master/examples/custom_metrics), custom metrics and PyTorch profiler support ## 🤔 How does TorchServe work @@ -56,7 +56,7 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch mo * [TorchServe UseCases](https://github.com/pytorch/serve/blob/master/examples/README.md#usecases) * [Model Zoo](https://github.com/pytorch/serve/blob/master/docs/model_zoo.md) - List of pre-trained model archives ready to be served for inference with TorchServe. -For [more examples](https://github.com/pytorch/serve/blob/master/examples/README.md) +For [more examples](https://github.com/pytorch/serve/blob/master/examples/README.md#torchserve-internals) ## Advanced Features diff --git a/docs/inference_api.md b/docs/inference_api.md index b8c1012dbb..988aabd7a4 100644 --- a/docs/inference_api.md +++ b/docs/inference_api.md @@ -1,4 +1,4 @@ -# Inference API +# [Inference API](#inference-api) Inference API is listening on port 8080 and only accessible from localhost by default. To change the default setting, see [TorchServe Configuration](configuration.md). @@ -41,7 +41,7 @@ If the server is running, the response is: } ``` -"maxRetryTimeoutInSec" (default: 5MIN) can be defined in a model's config yaml file(eg. model-config.yaml). It is the maximum time window of recovering a dead backend worker. A healthy worker can be in the state: WORKER_STARTED, WORKER_MODEL_LOADED, or WORKER_STOPPED within maxRetryTimeoutInSec window. "Ping" endpont" +"maxRetryTimeoutInSec" (default: 5MIN) can be defined in a model's config yaml file(e.g model-config.yaml). It is the maximum time window of recovering a dead backend worker. A healthy worker can be in the state: WORKER_STARTED, WORKER_MODEL_LOADED, or WORKER_STOPPED within maxRetryTimeoutInSec window. "Ping" endpoint" * return 200 + json message "healthy": for any model, the number of active workers is equal or larger than the configured minWorkers. * return 500 + json message "unhealthy": for any model, the number of active workers is less than the configured minWorkers. diff --git a/docs/management_api.md b/docs/management_api.md index c7e7af5d9f..991746fe52 100644 --- a/docs/management_api.md +++ b/docs/management_api.md @@ -1,4 +1,4 @@ -# Management API +# [Management API](#management-api) TorchServe provides the following APIs that allows you to manage models at runtime: @@ -41,13 +41,13 @@ curl -X POST "http://localhost:8081/models?url=https://torchserve.pytorch.org/m } ``` -### Encrypted model serving +### Encrypted model serving If you'd like to serve an encrypted model then you need to setup [S3 SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) with the following environment variables: * AWS_ACCESS_KEY_ID * AWS_SECRET_ACCESS_KEY * AWS_DEFAULT_REGION -And set "s3_sse_kms=true" in HTTP request. +And set "s3_sse_kms=true" in HTTP request. For example: model squeezenet1_1 is [encrypted on S3 under your own private account](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html). The model http url on S3 is `https://torchserve.pytorch.org/sse-test/squeezenet1_1.mar`. - if torchserve will run on EC2 instance (e.g. OS: ubuntu) @@ -86,7 +86,7 @@ curl -v -X POST "http://localhost:8081/models?initial_workers=1&synchronous=fals < x-request-id: 4dc54158-c6de-42aa-b5dd-ebcb5f721043 < content-length: 47 < connection: keep-alive -< +< { "status": "Processing worker updates..." } @@ -102,7 +102,7 @@ curl -v -X POST "http://localhost:8081/models?initial_workers=1&synchronous=true < x-request-id: ecd2e502-382f-4c3b-b425-519fbf6d3b85 < content-length: 89 < connection: keep-alive -< +< { "status": "Model \"squeezenet1_1\" Version: 1.0 registered with 1 initial workers" } @@ -118,7 +118,7 @@ This API follows the [ManagementAPIsService.ScaleWorker](https://github.com/pyto * `min_worker` - (optional) the minimum number of worker processes. TorchServe will try to maintain this minimum for specified model. The default value is `1`. * `max_worker` - (optional) the maximum number of worker processes. TorchServe will make no more that this number of workers for the specified model. The default is the same as the setting for `min_worker`. * `synchronous` - whether or not the call is synchronous. The default value is `false`. -* `timeout` - the specified wait time for a worker to complete all pending requests. If exceeded, the work process will be terminated. Use `0` to terminate the backend worker process immediately. Use `-1` to wait infinitely. The default value is `-1`. +* `timeout` - the specified wait time for a worker to complete all pending requests. If exceeded, the work process will be terminated. Use `0` to terminate the backend worker process immediately. Use `-1` to wait infinitely. The default value is `-1`. Use the Scale Worker API to dynamically adjust the number of workers for any version of a model to better serve different inference request loads. @@ -134,7 +134,7 @@ curl -v -X PUT "http://localhost:8081/models/noop?min_worker=3" < x-request-id: 42adc58e-6956-4198-ad07-db6c620c4c1e < content-length: 47 < connection: keep-alive -< +< { "status": "Processing worker updates..." } @@ -150,7 +150,7 @@ curl -v -X PUT "http://localhost:8081/models/noop?min_worker=3&synchronous=true" < x-request-id: b72b1ea0-81c6-4cce-92c4-530d3cfe5d4a < content-length: 63 < connection: keep-alive -< +< { "status": "Workers scaled to 3 for model: noop" } @@ -169,7 +169,7 @@ curl -v -X PUT "http://localhost:8081/models/noop/2.0?min_worker=3&synchronous=t < x-request-id: 3997ccd4-ae44-4570-b249-e361b08d3d47 < content-length: 77 < connection: keep-alive -< +< { "status": "Workers scaled to 3 for model: noop, version: 2.0" } @@ -290,7 +290,7 @@ curl http://localhost:8081/models/noop/all ``` `GET /models/{model_name}/{model_version}?customized=true` -or +or `GET /models/{model_name}?customized=true` Use the Describe Model API to get detail runtime status and customized metadata of a version of a model: diff --git a/docs/metrics.md b/docs/metrics.md index fc578c097a..9993948683 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -1,4 +1,4 @@ -# TorchServe Metrics +# [TorchServe Metrics](#torchserve-metrics) ## Contents of this document diff --git a/docs/performance_guide.md b/docs/performance_guide.md index aa0451b156..b22be3f7e2 100644 --- a/docs/performance_guide.md +++ b/docs/performance_guide.md @@ -1,4 +1,4 @@ -# Performance Guide +# [Performance Guide](#performance-guide) In case you're interested in optimizing the memory usage, latency or throughput of a PyTorch model served with TorchServe, this is the guide for you. ## Optimizing PyTorch There are many tricks to optimize PyTorch models for production including but not limited to distillation, quantization, fusion, pruning, setting environment variables and we encourage you to benchmark and see what works best for you. An experimental tool that may make this process easier is https://pypi.org/project/torchprep. @@ -9,7 +9,7 @@ In general it's hard to optimize models and the easiest approach can be exportin `pip install torchserve[onnx]` -In particular TorchServe has native support for ONNX models which can be loaded via ORT for both accelerated CPU and GPU inference. ONNX operates a bit differentyl from a regular PyTorch model in that when you're running the conversion you need to explicity set and name your input and output dimensions. See https://github.com/pytorch/serve/blob/master/test/pytest/test_onnx.py for an example. So at a high level what TorchServe allows you to do is +In particular TorchServe has native support for ONNX models which can be loaded via ORT for both accelerated CPU and GPU inference. ONNX operates a bit differently from a regular PyTorch model in that when you're running the conversion you need to explicitly set and name your input and output dimensions. See https://github.com/pytorch/serve/blob/master/test/pytest/test_onnx.py for an example. So at a high level what TorchServe allows you to do is 1. Package serialized ONNX weights `torch-model-archiver --serialized-file model.onnx ...` 2. Load those weights from `base_handler.py` using `ort_session = ort.InferenceSession(self.model_pt_path, providers=providers, sess_options=sess_options)` which supports reasonable defaults for both CPU and GPU inference 3. Allow you define custom pre and post processing functions to pass in data in the format your onnx model expects with a custom handler diff --git a/examples/README.md b/examples/README.md index 6117d25c45..9dec94c386 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,4 +1,4 @@ -# Examples showcasing TorchServe Features and Integrations +# [Examples showcasing TorchServe Features and Integrations](#torchserve-internals) ## TorchServe Internals diff --git a/examples/Workflows/README.md b/examples/Workflows/README.md index ea07a487ed..b08ab3ecb9 100644 --- a/examples/Workflows/README.md +++ b/examples/Workflows/README.md @@ -1,4 +1,4 @@ -# Workflow examples +# [Workflow examples](#workflow-examples) Workflows can be used to compose an ensemble of Pytorch models and Python functions and package them in a `war` file. A workflow is executed as a DAG where the nodes can be either Pytorch models packaged as `mar` files or function nodes specified in the workflow handler file. The DAG can be used to define both sequential or parallel pipelines. @@ -8,7 +8,7 @@ As an example a sequential pipeline may look something like input -> function1 -> model1 -> model2 -> function2 -> output ``` -And a parallel pipeline may look something like +And a parallel pipeline may look something like ``` model1 diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index e454862be7..f2a0141b1f 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1049,3 +1049,5 @@ torchrun nproc largemodels torchpippy +InferenceSession +maxRetryTimeoutInSec From 25f3700c40a7e5b05a919157ea3fad55f216bf23 Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Tue, 16 May 2023 09:55:42 -0700 Subject: [PATCH 080/172] BERT nightly benchmark on Inferentia2 (#2283) * Inf2 nightly benchmark * fix linter spellcheck error --------- Co-authored-by: Naman Nandan --- .github/workflows/benchmark_nightly.yml | 7 +- benchmarks/auto_benchmark.py | 2 +- benchmarks/benchmark_config_neuronx.yaml | 45 ++++++++++++ benchmarks/models_config/bert_neuronx.yaml | 68 +++++++++++++++++++ .../Download_Transformer_models.py | 17 +++++ examples/Huggingface_Transformers/README.md | 4 +- ts_scripts/spellcheck_conf/wordlist.txt | 1 + 7 files changed, 140 insertions(+), 4 deletions(-) create mode 100644 benchmarks/benchmark_config_neuronx.yaml create mode 100644 benchmarks/models_config/bert_neuronx.yaml diff --git a/.github/workflows/benchmark_nightly.yml b/.github/workflows/benchmark_nightly.yml index 4348435ad6..0bb33739f9 100644 --- a/.github/workflows/benchmark_nightly.yml +++ b/.github/workflows/benchmark_nightly.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - hardware: [cpu, gpu, inf1] + hardware: [cpu, gpu, inf1, inf2] runs-on: - self-hosted - ${{ matrix.hardware }} @@ -52,6 +52,11 @@ jobs: env: NEURON_RT_NUM_CORES: 4 run: python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_neuron.yaml --skip false + - name: Benchmark inf2 nightly + if: ${{ matrix.hardware == 'inf2' }} + env: + NEURON_RT_NUM_CORES: 1 + run: python benchmarks/auto_benchmark.py --input benchmarks/benchmark_config_neuronx.yaml --skip false - name: Save benchmark artifacts uses: actions/upload-artifact@v2 with: diff --git a/benchmarks/auto_benchmark.py b/benchmarks/auto_benchmark.py index e642d126e3..d7bf07f062 100644 --- a/benchmarks/auto_benchmark.py +++ b/benchmarks/auto_benchmark.py @@ -97,7 +97,7 @@ def load_config(self): self.bm_config["model_config_path"] = ( "{}/{}".format(MODEL_JSON_CONFIG_PATH, self.bm_config["hardware"]) - if self.bm_config["hardware"] in ["cpu", "gpu", "neuron"] + if self.bm_config["hardware"] in ["cpu", "gpu", "neuron", "neuronx"] else "{}/cpu".format(MODEL_JSON_CONFIG_PATH) ) diff --git a/benchmarks/benchmark_config_neuronx.yaml b/benchmarks/benchmark_config_neuronx.yaml new file mode 100644 index 0000000000..b8cb3ecf68 --- /dev/null +++ b/benchmarks/benchmark_config_neuronx.yaml @@ -0,0 +1,45 @@ +# Torchserve version is to be installed. It can be one of the options +# - branch : "master" +# - nightly: "2022.3.16" +# - release: "0.5.3" +# Nightly build will be installed if "ts_version" is not specifiged +#ts_version: +# branch: &ts_version "master" + +# a list of model configure yaml files defined in benchmarks/models_config +# or a list of model configure yaml files with full path +models: + - "bert_neuronx.yaml" + +# benchmark on "cpu", "gpu", "neuron" or "neuronx". +# "cpu" is set if "hardware" is not specified +hardware: &hardware "neuronx" + +# load prometheus metrics report to remote storage or local different path if "metrics_cmd" is set. +# the command line to load prometheus metrics report to remote system. +# Here is an example of AWS cloudwatch command: +# Note: +# - keep the values order as the same as the command definition. +# - set up the command before enabling `metrics_cmd`. +# For example, aws client and AWS credentials need to be setup before trying this example. +metrics_cmd: + - "cmd": "aws cloudwatch put-metric-data" + - "--namespace": ["torchserve_benchmark_nightly_", *hardware] + - "--region": "us-east-2" + - "--metric-data": 'file:///tmp/benchmark/logs/stats_metrics.json' + +# load report to remote storage or local different path if "report_cmd" is set. +# the command line to load report to remote storage. +# Here is an example of AWS cloudwatch command: +# Note: +# - keep the values order as the same as the command. +# - set up the command before enabling `report_cmd`. +# For example, aws client, AWS credentials and S3 bucket +# need to be setup before trying this example. +# - "today()" is a keyword to apply current date in the path +# For example, the dest path in the following example is +# s3://torchserve-model-serving/benchmark/2022-03-18/gpu +report_cmd: + - "cmd": "aws s3 cp --recursive" + - "source": '/tmp/ts_benchmark/' + - "dest": ['s3://torchserve-benchmark/nightly', "today()", *hardware] diff --git a/benchmarks/models_config/bert_neuronx.yaml b/benchmarks/models_config/bert_neuronx.yaml new file mode 100644 index 0000000000..b7e4ba46f8 --- /dev/null +++ b/benchmarks/models_config/bert_neuronx.yaml @@ -0,0 +1,68 @@ +--- +bert_neuronx_batch_1: + scripted_mode: + benchmark_engine: "ab" + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuronx_batch_1.mar + workers: + - 2 + batch_delay: 100 + batch_size: + - 1 + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + requests: 10000 + concurrency: 100 + backend_profiling: False + exec_env: "local" + processors: + - "neuronx" + +bert_neuronx_batch_2: + scripted_mode: + benchmark_engine: "ab" + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuronx_batch_2.mar + workers: + - 2 + batch_delay: 100 + batch_size: + - 2 + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + requests: 10000 + concurrency: 100 + backend_profiling: False + exec_env: "local" + processors: + - "neuronx" + +bert_neuronx_batch_4: + scripted_mode: + benchmark_engine: "ab" + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuronx_batch_4.mar + workers: + - 2 + batch_delay: 100 + batch_size: + - 4 + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + requests: 10000 + concurrency: 100 + backend_profiling: False + exec_env: "local" + processors: + - "neuronx" + +bert_neuronx_batch_8: + scripted_mode: + benchmark_engine: "ab" + url: https://torchserve.pytorch.org/mar_files/BERTSeqClassification_torchscript_neuronx_batch_8.mar + workers: + - 2 + batch_delay: 100 + batch_size: + - 8 + input: "./examples/Huggingface_Transformers/Seq_classification_artifacts/sample_text.txt" + requests: 10000 + concurrency: 100 + backend_profiling: False + exec_env: "local" + processors: + - "neuronx" diff --git a/examples/Huggingface_Transformers/Download_Transformer_models.py b/examples/Huggingface_Transformers/Download_Transformer_models.py index ff5af3d5c5..1ae3c6fd55 100644 --- a/examples/Huggingface_Transformers/Download_Transformer_models.py +++ b/examples/Huggingface_Transformers/Download_Transformer_models.py @@ -121,6 +121,23 @@ def transformers_model_dowloader( "traced_{}_model_neuron_batch_{}.pt".format(model_name, batch_size), ), ) + elif hardware == "neuronx": + import torch_neuronx + + input_ids = torch.cat([inputs["input_ids"]] * batch_size, 0).to(device) + attention_mask = torch.cat([inputs["attention_mask"]] * batch_size, 0).to( + device + ) + traced_model = torch_neuronx.trace(model, (input_ids, attention_mask)) + torch.jit.save( + traced_model, + os.path.join( + NEW_DIR, + "traced_{}_model_neuronx_batch_{}.pt".format( + model_name, batch_size + ), + ), + ) else: input_ids = inputs["input_ids"].to(device) attention_mask = inputs["attention_mask"].to(device) diff --git a/examples/Huggingface_Transformers/README.md b/examples/Huggingface_Transformers/README.md index c278973f55..0c0679d62c 100644 --- a/examples/Huggingface_Transformers/README.md +++ b/examples/Huggingface_Transformers/README.md @@ -51,9 +51,9 @@ In the setup_config.json : *embedding_name* : The name of embedding layer in the chosen model, this could be `bert` for `bert-base-uncased`, `roberta` for `roberta-base` or `roberta` for `xlm-roberta-large`, or `gpt2` for `gpt2` model -*hardware* : The target platform to trace the model for. Specify as `neuron` for [Inferentia1](https://aws.amazon.com/ec2/instance-types/inf1/). +*hardware* : The target platform to trace the model for. Specify as `neuron` for [Inferentia1](https://aws.amazon.com/ec2/instance-types/inf1/) and `neuronx` for [Inferentia2](https://aws.amazon.com/ec2/instance-types/inf2/). -*batch_size* : Input batch size when tracing the model for `neuron` as target hardware. +*batch_size* : Input batch size when tracing the model for `neuron` or `neuronx` as target hardware. Once, `setup_config.json` has been set properly, the next step is to run diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index f2a0141b1f..c1cab7dfa8 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1051,3 +1051,4 @@ largemodels torchpippy InferenceSession maxRetryTimeoutInSec +neuronx From 77ca82d5f9aa22a6ae65d1b20794bbee27aa854e Mon Sep 17 00:00:00 2001 From: Jagadeesh J Date: Sat, 20 May 2023 05:07:52 +0530 Subject: [PATCH 081/172] fix: kserve fastapi migration issues (#2175) * fix: kserve fastapi migration issues --- .../kserve/kf_request_json/v2/mnist/README.md | 25 +++--- .../v2/mnist/mnist_v2_bytes.json | 8 +- .../kf_request_json/v2/mnist/tobytes.py | 17 +++- .../kserve/kserve_wrapper/TorchserveModel.py | 81 ++----------------- kubernetes/kserve/kserve_wrapper/__main__.py | 8 +- ts/torch_handler/request_envelope/kservev2.py | 35 +++++--- 6 files changed, 61 insertions(+), 113 deletions(-) diff --git a/kubernetes/kserve/kf_request_json/v2/mnist/README.md b/kubernetes/kserve/kf_request_json/v2/mnist/README.md index f8d41eb552..dcfcd1bd2b 100644 --- a/kubernetes/kserve/kf_request_json/v2/mnist/README.md +++ b/kubernetes/kserve/kf_request_json/v2/mnist/README.md @@ -19,13 +19,13 @@ The command will create `mnist.mar` file in current directory Move the mar file to model-store -``` +```bash sudo mv mnist.mar /mnt/models/model-store ``` and use the following config properties (`/mnt/models/config`) -``` +```conf inference_address=http://0.0.0.0:8085 management_address=http://0.0.0.0:8085 metrics_address=http://0.0.0.0:8082 @@ -51,13 +51,13 @@ Move to `kubernetes/kserve/kf_request_json/v2/mnist` For bytes input, use [tobytes](tobytes.py) utility. -``` +```bash python tobytes.py 0.png ``` For tensor input, use [totensor](totensor.py) utility -``` +```bash python totensor.py 0.png ``` @@ -66,7 +66,7 @@ python totensor.py 0.png Start TorchServe -``` +```bash torchserve --start --ts-config /mnt/models/config/config.properties --ncs ``` @@ -74,7 +74,7 @@ To test locally, clone TorchServe and move to the following folder `kubernetes/k Start Kserve -``` +```bash python __main__.py ``` @@ -85,12 +85,12 @@ Navigate to `kubernetes/kserve/kf_request_json/v2/mnist` Run the following command ```bash -curl -v -H "ContentType: application/json" http://localhost:8080/v2/models/mnist/infer -d @./mnist_v2_bytes.json +curl -v -H "Content-Type: application/json" http://localhost:8080/v2/models/mnist/infer -d @./mnist_v2_bytes.json ``` Expected Output -```bash +```json {"id": "d3b15cad-50a2-4eaf-80ce-8b0a428bd298", "model_name": "mnist", "model_version": "1.0", "outputs": [{"name": "predict", "shape": [1], "datatype": "INT64", "data": [0]}]} ``` @@ -100,8 +100,8 @@ Expected Output Run the following command -``` -curl -v -H "ContentType: application/json" http://localhost:8080/v2/models/mnist/infer -d @./mnist_v2_tensor.json +```bash +curl -v -H "Content-Type: application/json" http://localhost:8080/v2/models/mnist/infer -d @./mnist_v2_tensor.json ``` Expected output @@ -115,10 +115,11 @@ Expected output Run the following command ```bash -curl -v -H "ContentType: application/json" http://localhost:8080/v2/models/mnist/explain -d @./mnist_v2_bytes.json +curl -v -H "Content-Type: application/json" http://localhost:8080/v2/models/mnist/explain -d @./mnist_v2_bytes.json ``` Expected output -```bash + +```json {"id": "d3b15cad-50a2-4eaf-80ce-8b0a428bd298", "model_name": "mnist", "model_version": "1.0", "outputs": [{"name": "explain", "shape": [1, 28, 28], "datatype": "FP64", "data": [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0040547529196303285, -0.000226128774499257, -0.00012734138382422276, 0.005648369544853077, 0.0089047843954152, 0.002638536593970295, 0.002680245911942565, -0.0026578015819202173, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00024465771891337887, 0.0008218450954311162, 0.01528591767842519, 0.007512832335428859, 0.00709498458333515, 0.0034056686436576803, -0.002091925041823873, -0.0007800293875604465, 0.02299587827540853, 0.019004329367380418, -0.0012529559050418735, -0.0014666116646934577, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.005298396405518712, -0.0007901605729004231, 0.0039060659926479398, 0.023174082126728335, 0.01723791770922474, 0.010867034167828598, 0.003001563229273835, 0.00622421771715703, 0.006120712207087491, 0.01673632965122119, 0.005674718948781803, 0.004344134599735745, -0.0012328422311881568, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, 0.0006867353833785289, 0.009772899792600862, -0.0038754932221901437, 0.001798693579973005, 0.001307544047675232, -0.0024510981010352315, -0.0008806773488194292, -0.0, -0.0, -0.00014277890760828639, -0.009322313235257151, 0.020608317727589167, 0.004351394518148479, -0.0007875566214137449, -0.0009075897508410689, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00022247238084657642, -0.0007829029819622099, 0.0026663695200516055, 0.0009733366691924418, 0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, 0.0004323207980879993, 0.023657171939959983, 0.01069484496100618, -0.0023759529165659743, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.002074797197335781, -0.002320101263777886, -0.001289920656543141, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.007629679763806616, 0.01044862710854819, 0.00025032875474040415, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0003770836745884539, -0.005156369309364184, 0.0012477582083019567, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -4.442513564501309e-05, 0.010248046436803096, 0.0009971133914441863, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0, -0.0, 0.0004501048922351147, -0.00196305355861066, -0.0006664792277975681, 0.0020157403871024866, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.002214456978582924, 0.008361583668963536, 0.0031401942747203444, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0028943545250037983, -0.0031301382844878753, 0.002113252994616467, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0010321050071136991, 0.008905753948020954, 0.0028464383724280478, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0053052889804602885, -0.0019271100770928186, 0.0012090042664300153, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0011945155805738324, 0.005654442809865844, 0.0020132075147173286, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0014689358119857122, 0.0010743412654248086, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0017047980433136346, 0.0029066051664685937, -0.0007805868937027288, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 5.541726090138969e-05, 0.0014516115182299915, 0.0002827700518397855, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.001440140782635336, 0.002381249982038837, 0.002146825452068144, -0.0, -0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.001150052970321427, 0.0002865015237050364, 0.0029798150346815985, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.001775029606380323, 0.000833985914685474, -0.003770739075457816, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0006093176893524411, -0.00046905781658387527, 0.0034053217440919658, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0007450012183962096, 0.001298767353118675, -0.008499247802184222, -6.145165255574976e-05, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0011809726462884672, -0.0018384763902449712, 0.005411106715800028, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.0021392341817010304, 0.0003259163122540385, -0.005276118905978749, -0.0019509840184772497, -9.545685077687876e-07, 0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0007772404694664217, -0.0001517954537059768, 0.006481484678129392, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 8.098064554131295e-05, -0.0024904264199929506, -0.0020718618328775897, -5.3411287747038166e-05, -0.0004556472202791715, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0022750984867578, 0.001716405971437602, 0.0003221344811922982, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0015560282437342534, 9.107229584202956e-05, 0.0008772841867241755, 0.0006502979194500701, -0.004128780661881036, 0.0006030386196211547, 0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0013959959731925453, 0.0026791526421029673, 0.002399500793142178, -0.00044960969955281656, 0.003101832495190209, 0.007494535809079955, 0.002864118744003058, -0.003052590549800204, 0.003420222341277871, 0.0014924017873988514, -0.0009357389226494119, 0.0007856229438140384, -0.001843397373255761, 1.6031851430693252e-05, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, -0.000699901824825285, 0.0043822508549258565, -0.003541931476855951, -0.0028896746311921715, -0.0004873454583246359, -0.006087345141728267, 0.000388224886755815, 0.002533641621974457, -0.004352836429303485, -0.0006079421449756437, -0.003810133409713042, -0.0008284413779488711, 0.0, -0.0, 0.0, 0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0010901530854686326, -0.013135007707490608, 0.0004734520308098294, 0.0020504232707536456, -0.006609452262924153, 0.0023647861306777536, 0.004678920703192049, -0.0018122526857900652, 0.0021375383049022263, 0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}]} ``` diff --git a/kubernetes/kserve/kf_request_json/v2/mnist/mnist_v2_bytes.json b/kubernetes/kserve/kf_request_json/v2/mnist/mnist_v2_bytes.json index 0c07866dba..683ada7b73 100644 --- a/kubernetes/kserve/kf_request_json/v2/mnist/mnist_v2_bytes.json +++ b/kubernetes/kserve/kf_request_json/v2/mnist/mnist_v2_bytes.json @@ -1,10 +1,10 @@ { "inputs": [ { - "data": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAAAAABXZoBIAAAA10lEQVR4nGNgGFhgy6xVdrCszBaLFN/mr28+/QOCr69DMCSnA8WvHti0acu/fx/10OS0X/975CDDw8DA1PDn/1pBVEmLf3+zocy2X/+8USXt/82Ds+/+m4sqeehfOpw97d9VFDmlO++t4JwQNMm6f6sZcEpee2+DR/I4A05J7tt4JJP+IUsu+ncRp6TxO9RAQJY0XvrvMAuypNNHuCTz8n+PzVEcy3DtqgiY1ptx6t8/ewY0yX9ntoDA63//Xs3hQpMMPPsPAv68qmDAAFKXwHIzMzCl6AoAxXp0QujtP+8AAAAASUVORK5CYII=", + "data": ["iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAAAAABXZoBIAAAA10lEQVR4nGNgGFhgy6xVdrCszBaLFN/mr28+/QOCr69DMCSnA8WvHti0acu/fx/10OS0X/975CDDw8DA1PDn/1pBVEmLf3+zocy2X/+8USXt/82Ds+/+m4sqeehfOpw97d9VFDmlO++t4JwQNMm6f6sZcEpee2+DR/I4A05J7tt4JJP+IUsu+ncRp6TxO9RAQJY0XvrvMAuypNNHuCTz8n+PzVEcy3DtqgiY1ptx6t8/ewY0yX9ntoDA63//Xs3hQpMMPPsPAv68qmDAAFKXwHIzMzCl6AoAxXp0QujtP+8AAAAASUVORK5CYII="], "datatype": "BYTES", - "name": "312a4eb0-0ca7-4803-a101-a6d2c18486fe", - "shape": -1 + "name": "e8d5afed-0a56-4deb-ac9c-352663f51b93", + "shape": [-1] } ] -} \ No newline at end of file +} diff --git a/kubernetes/kserve/kf_request_json/v2/mnist/tobytes.py b/kubernetes/kserve/kf_request_json/v2/mnist/tobytes.py index f065acd31f..71ef7d3b62 100644 --- a/kubernetes/kserve/kf_request_json/v2/mnist/tobytes.py +++ b/kubernetes/kserve/kf_request_json/v2/mnist/tobytes.py @@ -1,6 +1,6 @@ +import argparse import base64 import json -import argparse import uuid parser = argparse.ArgumentParser() @@ -10,11 +10,20 @@ image = open(args.filename, "rb") # open binary file in read mode image_read = image.read() image_64_encode = base64.b64encode(image_read) -bytes_array = image_64_encode.decode("utf-8") +bytes_array = list(image_64_encode.decode("utf-8")) request = { - "inputs": [{"name": str(uuid.uuid4()), "shape": -1, "datatype": "BYTES", "data": bytes_array}] + "inputs": [ + { + "name": str(uuid.uuid4()), + "shape": [-1], + "datatype": "BYTES", + "data": bytes_array, + } + ] } -result_file = "{filename}.{ext}".format(filename=str(args.filename).split(".")[0], ext="json") +result_file = "{filename}.{ext}".format( + filename=str(args.filename).split(".")[0], ext="json" +) with open(result_file, "w") as outfile: json.dump(request, outfile, indent=4, sort_keys=True) diff --git a/kubernetes/kserve/kserve_wrapper/TorchserveModel.py b/kubernetes/kserve/kserve_wrapper/TorchserveModel.py index abf47959ed..aa28a50aa7 100644 --- a/kubernetes/kserve/kserve_wrapper/TorchserveModel.py +++ b/kubernetes/kserve/kserve_wrapper/TorchserveModel.py @@ -1,23 +1,19 @@ """ The torchserve side inference end-points request are handled to return a KServe side response """ -import json import logging import pathlib -from typing import Dict import kserve -import tornado.web +from kserve.errors import ModelMissingError from kserve.model import Model as Model -from kserve.model import ModelMissingError logging.basicConfig(level=kserve.constants.KSERVE_LOGLEVEL) +PREDICTOR_URL_FORMAT = PREDICTOR_V2_URL_FORMAT = "http://{0}/predictions/{1}" +EXPLAINER_URL_FORMAT = EXPLAINER_V2_URL_FORMAT = "http://{0}/explanations/{1}" REGISTER_URL_FORMAT = "{0}/models?initial_workers=1&url={1}" UNREGISTER_URL_FORMAT = "{0}/models/{1}" -PREDICTOR_URL_FORMAT = "http://{0}/v1/models/{1}:predict" -EXPLAINER_URL_FORMAT = "http://{0}/v1/models/{1}:explain" - class TorchserveModel(Model): """The torchserve side inference and explain end-points requests are handled to @@ -49,76 +45,9 @@ def __init__(self, name, inference_address, management_address, model_dir): self.management_address = management_address self.model_dir = model_dir - logging.info("kfmodel Predict URL set to %s", self.predictor_host) + logging.info("Predict URL set to %s", self.predictor_host) self.explainer_host = self.predictor_host - logging.info("kfmodel Explain URL set to %s", self.explainer_host) - - async def predict(self, request: Dict) -> Dict: - """The predict method is called when we hit the inference endpoint and handles - the inference request and response from the Torchserve side and passes it on - to the KServe side. - - Args: - request (Dict): Input request from the http client side. - - Raises: - NotImplementedError: If the predictor host on the KServe side is not - available. - - tornado.web.HTTPError: If there is a bad response from the http client. - - Returns: - Dict: The Response from the input from the inference endpoint. - """ - if not self.predictor_host: - raise NotImplementedError - logging.debug("kfmodel predict request is %s", json.dumps(request)) - logging.info("PREDICTOR_HOST : %s", self.predictor_host) - headers = {"Content-Type": "application/json; charset=UTF-8"} - response = await self._http_client.fetch( - PREDICTOR_URL_FORMAT.format(self.predictor_host, self.name), - method="POST", - request_timeout=self.timeout, - headers=headers, - body=json.dumps(request), - ) - - if response.code != 200: - raise tornado.web.HTTPError(status_code=response.code, reason=response.body) - return json.loads(response.body) - - async def explain(self, request: Dict) -> Dict: - """The predict method is called when we hit the explain endpoint and handles the - explain request and response from the Torchserve side and passes it on to the - KServe side. - - Args: - request (Dict): Input request from the http client side. - - Raises: - NotImplementedError: If the predictor host on the KServe side is not - available. - - tornado.web.HTTPError: If there is a bad response from the http client. - - Returns: - Dict: The Response from the input from the explain endpoint. - """ - if self.explainer_host is None: - raise NotImplementedError - logging.info("kfmodel explain request is %s", json.dumps(request)) - logging.info("EXPLAINER_HOST : %s", self.explainer_host) - headers = {"Content-Type": "application/json; charset=UTF-8"} - response = await self._http_client.fetch( - EXPLAINER_URL_FORMAT.format(self.explainer_host, self.name), - method="POST", - request_timeout=self.timeout, - headers=headers, - body=json.dumps(request), - ) - if response.code != 200: - raise tornado.web.HTTPError(status_code=response.code, reason=response.body) - return json.loads(response.body) + logging.info("Explain URL set to %s", self.explainer_host) def load(self) -> bool: """This method validates model availabilty in the model directory diff --git a/kubernetes/kserve/kserve_wrapper/__main__.py b/kubernetes/kserve/kserve_wrapper/__main__.py index e8063426fe..b31e3df375 100644 --- a/kubernetes/kserve/kserve_wrapper/__main__.py +++ b/kubernetes/kserve/kserve_wrapper/__main__.py @@ -12,7 +12,7 @@ DEFAULT_MODEL_NAME = "model" DEFAULT_INFERENCE_ADDRESS = "http://127.0.0.1:8085" INFERENCE_PORT = "8085" -DEFAULT_MANAGEMENT_ADDRESS = "http://127.0.0.1:8081" +DEFAULT_MANAGEMENT_ADDRESS = "http://127.0.0.1:8085" DEFAULT_MODEL_STORE = "/mnt/models/model-store" CONFIG_PATH = "/mnt/models/config/config.properties" @@ -31,10 +31,8 @@ def parse_config(): keys = {} with open(CONFIG_PATH) as f: - for line in f: if separator in line: - # Find the name and value by splitting the string name, value = line.split(separator, 1) @@ -79,13 +77,11 @@ def parse_config(): if __name__ == "__main__": - model_names, inference_address, management_address, model_dir = parse_config() models = [] for model_name in model_names: - model = TorchserveModel( model_name, inference_address, management_address, model_dir ) @@ -100,5 +96,5 @@ def parse_config(): ModelServer( registered_models=registeredModels, http_port=8080, - grpc_port=7070, + grpc_port=8081, ).start(models) diff --git a/ts/torch_handler/request_envelope/kservev2.py b/ts/torch_handler/request_envelope/kservev2.py index 33e573cfb9..5a88e9497d 100644 --- a/ts/torch_handler/request_envelope/kservev2.py +++ b/ts/torch_handler/request_envelope/kservev2.py @@ -4,7 +4,9 @@ """ import json import logging + import numpy as np + from .base import BaseEnvelope logger = logging.getLogger(__name__) @@ -87,7 +89,9 @@ def _batch_from_json(self, rows): Joins the instances of a batch of JSON objects """ logger.debug("Parse input data %s", rows) - body_list = [body_list.get("data") or body_list.get("body") for body_list in rows] + body_list = [ + body_list.get("data") or body_list.get("body") for body_list in rows + ] data_list = self._from_json(body_list) return data_list @@ -99,7 +103,15 @@ def _from_json(self, body_list): if isinstance(body_list[0], (bytes, bytearray)): body_list = [json.loads(body.decode()) for body in body_list] logger.debug("Bytes array is %s", body_list) - if "id" in body_list[0]: + + input_names = [] + for index, input in enumerate(body_list[0]["inputs"]): + if input["datatype"] == "BYTES": + body_list[0]["inputs"][index]["data"] = input["data"][0] + input_names.append(input["name"]) + setattr(self.context, "input_names", input_names) + logger.debug("Bytes array is %s", body_list) + if body_list[0].get("id") is not None: setattr(self.context, "input_request_id", body_list[0]["id"]) data_list = [inputs_list.get("inputs") for inputs_list in body_list][0] return data_list @@ -116,7 +128,7 @@ def format_output(self, data): "model_name": "bert", "model_version": "1", "outputs": [{ - "name": "predict", + "name": "input-0", "shape": [1], "datatype": "INT64", "data": [2] @@ -131,10 +143,10 @@ def format_output(self, data): delattr(self.context, "input_request_id") else: response["id"] = self.context.get_request_id(0) - response["model_name"] = self.context.manifest.get("model").get( - "modelName") + response["model_name"] = self.context.manifest.get("model").get("modelName") response["model_version"] = self.context.manifest.get("model").get( - "modelVersion") + "modelVersion" + ) response["outputs"] = self._batch_to_json(data) return [response] @@ -143,18 +155,19 @@ def _batch_to_json(self, data): Splits batch output to json objects """ output = [] - for item in data: - output.append(self._to_json(item)) + input_names = getattr(self.context, "input_names") + delattr(self.context, "input_names") + for index, item in enumerate(data): + output.append(self._to_json(item, input_names[index])) return output - def _to_json(self, data): + def _to_json(self, data, input_name): """ Constructs JSON object from data """ output_data = {} data_ndarray = np.array(data) - output_data["name"] = ("explain" if self.context.get_request_header( - 0, "explain") == "True" else "predict") + output_data["name"] = input_name output_data["shape"] = list(data_ndarray.shape) output_data["datatype"] = _to_datatype(data_ndarray.dtype) output_data["data"] = data_ndarray.flatten().tolist() From 4450287d9a8322e5a670c5f473c37e192de92dc1 Mon Sep 17 00:00:00 2001 From: sekyondaMeta <127536312+sekyondaMeta@users.noreply.github.com> Date: Mon, 22 May 2023 14:40:19 -0400 Subject: [PATCH 082/172] Fixing FAQs doc per issue #2204 (#2351) * Update index.md Update to fix a broken link in index.md where the trailing .md is cut off from the management_api.md. Added an anchor link to force the .md to show up. * Update to index.md Update to index.md to fix several links ending in .md that sphinx is breaking. Added anchor links to each link and a corresponding anchor in the affected doc. Tested locally and seems to be working. * Update inference_api.md * Updated typos Fixed typos and updated wordslist.txt * Update wordlist.txt * FAQs Updates Updated a couple of broken links on the FAQ site per issue #2204 * updates to resolve links * Update some links in index Updated some links in index.md to go to the pytorch html page instead of github. This is a nicer fix for the .md sphinx issue --------- Co-authored-by: sekyonda <7411+sekyonda@users.noreply.ghe.oculus-rep.com> Co-authored-by: lxning <23464292+lxning@users.noreply.github.com> Co-authored-by: Ankith Gunapal --- docs/FAQs.md | 56 ++++++++++++------------- docs/index.md | 11 +++-- ts_scripts/spellcheck_conf/wordlist.txt | 2 +- 3 files changed, 34 insertions(+), 35 deletions(-) diff --git a/docs/FAQs.md b/docs/FAQs.md index f88efb50f9..4c9be8a06d 100644 --- a/docs/FAQs.md +++ b/docs/FAQs.md @@ -15,8 +15,8 @@ Torchserve API's are compliant with the [OpenAPI specification 3.0](https://swag ### How to use Torchserve in production? Depending on your use case, you will be able to deploy torchserve in production using following mechanisms. -> Standalone deployment. Refer [TorchServe docker documentation](https://github.com/pytorch/serve/tree/master/docker#readme) or [TorchServe documentation](https://github.com/pytorch/serve/tree/master/docs#readme) -> Cloud based deployment. Refer [TorchServe kubernetes documentation](https://github.com/pytorch/serve/tree/master/kubernetes#readme) or [TorchServe cloudformation documentation](https://github.com/pytorch/serve/tree/master/examples/cloudformation/README.md) +> Standalone deployment. Refer [TorchServe docker documentation](https://github.com/pytorch/serve/tree/master/docker#readme) or [TorchServe documentation](README.md) +> Cloud based deployment. Refer [TorchServe kubernetes documentation](https://github.com/pytorch/serve/tree/master/kubernetes#readme) or [TorchServe cloudformation documentation](https://github.com/pytorch/serve/tree/master/examples/cloudformation/README.md#cloudformation) ### What's difference between Torchserve and a python web app using web frameworks like Flask, Django? @@ -25,7 +25,7 @@ Torchserve's main purpose is to serve models via http REST APIs, Torchserve is n Relevant issues: [[581](https://github.com/pytorch/serve/issues/581),[569](https://github.com/pytorch/serve/issues/569)] ### Are there any sample Models available? -Various models are provided in Torchserve out of the box. Checkout out Torchserve [Model Zoo](https://github.com/pytorch/serve/blob/master/docs/model_zoo.md) for list of all available models. You can also check out the [examples](https://github.com/pytorch/serve/tree/master/examples) folder. +Various models are provided in Torchserve out of the box. Checkout out Torchserve [Model Zoo](model_zoo.md) for list of all available models. You can also check out the [examples](https://github.com/pytorch/serve/tree/master/examples) folder. ### Does Torchserve support other models based on programming languages other than python? No, As of now only python based models are supported. @@ -40,39 +40,39 @@ If a model converts international language string to bytes, client needs to use ## Deployment and config Relevant documents. -- [Torchserve configuration](https://github.com/pytorch/serve/blob/master/docs/configuration.md) -- [Model zoo](https://github.com/pytorch/serve/blob/master/docs/model_zoo.md#model-zoo) -- [Snapshot](https://github.com/pytorch/serve/blob/master/docs/snapshot.md) -- [Docker](../docker/README.md) +- [Torchserve configuration](configuration.md) +- [Model zoo](model_zoo.md) +- [Snapshot](snapshot.md) +- [Docker](https://github.com/pytorch/serve/blob/master/docker/README.md#docker-readme) ### Can I run Torchserve APIs on ports other than the default 8080 & 8081? Yes, Torchserve API ports are configurable using a properties file or environment variable. -Refer [configuration.md](configuration.md) for more details. +Refer to [configuration](configuration.md) for more details. ### How can I resolve model specific python dependency? You can provide a `requirements.txt` while creating a mar file using "--requirements-file/ -r" flag. Also, you can add dependency files using "--extra-files" flag. -Refer [configuration.md](configuration.md) for more details. +Refer to [configuration](configuration.md) for more details. ### Can I deploy Torchserve in Kubernetes? Yes, you can deploy Torchserve in Kubernetes using Helm charts. -Refer [Kubernetes deployment ](../kubernetes/README.md) for more details. +Refer [Kubernetes deployment ](https://github.com/pytorch/serve/blob/master/kubernetes/README.md#torchserve-kubernetes) for more details. ### Can I deploy Torchserve with AWS ELB and AWS ASG? Yes, you can deploy Torchserve on a multi-node ASG AWS EC2 cluster. There is a cloud formation template available [here](https://github.com/pytorch/serve/blob/master/examples/cloudformation/ec2-asg.yaml) for this type of deployment. Refer [ Multi-node EC2 deployment behind Elastic LoadBalancer (ELB)](https://github.com/pytorch/serve/tree/master/examples/cloudformation/README.md#multi-node-ec2-deployment-behind-elastic-loadbalancer-elb) more details. ### How can I backup and restore Torchserve state? TorchServe preserves server runtime configuration across sessions such that a TorchServe instance experiencing either a planned or unplanned service stop can restore its state upon restart. These saved runtime configuration files can be used for backup and restore. -Refer [TorchServe model snapshot](snapshot.md#torchserve-model-snapshot) for more details. +Refer to [TorchServe model snapshot](snapshot.md) for more details. ### How can I build a Torchserve image from source? -Torchserve has a utility [script](../docker/build_image.sh) for creating docker images, the docker image can be hardware-based CPU or GPU compatible. A Torchserve docker image could be CUDA version specific as well. +Torchserve has a utility [script](https://github.com/pytorch/serve/blob/master/docker/build_image.sh) for creating docker images, the docker image can be hardware-based CPU or GPU compatible. A Torchserve docker image could be CUDA version specific as well. All these docker images can be created using `build_image.sh` with appropriate options. Run `./build_image.sh --help` for all available options. -Refer [Create Torchserve docker image from source](../docker/README.md#create-torchserve-docker-image) for more details. +Refer to [Create Torchserve docker image from source](https://github.com/pytorch/serve/blob/master/docker/README.md#create-torchserve-docker-image) for more details. ### How to build a Torchserve image for a specific branch or commit id? To create a Docker image for a specific branch, use the following command: @@ -91,11 +91,11 @@ The image created using Dockerfile.dev has Torchserve installed from source wher TorchServe looks for the config.property file according to the order listed in the [doc](https://github.com/pytorch/serve/blob/master/docs/configuration.md#configproperties-file). There is no override mechanism. ### What are model_store, load_models, models? -- model_store: A mandatory argument during TorchServe start. It can be either defined in config.property or overridden by TorchServe command line option "[--model-store](https://github.com/pytorch/serve/blob/master/docs/configuration.md#command-line-parameters)". +- model_store: A mandatory argument during TorchServe start. It can be either defined in config.property or overridden by TorchServe command line option "[--model-store](configuration.md)". -- load_models: An optional argument during TorchServe start. It can be either defined in config.property or overridden by TorchServe command line option "[--models](https://github.com/pytorch/serve/blob/master/docs/configuration.md#command-line-parameters)". +- load_models: An optional argument during TorchServe start. It can be either defined in config.property or overridden by TorchServe command line option "[--models](configuration.md)". -- [models](https://github.com/pytorch/serve/blob/master/docs/configuration.md#command-line-parameters): Defines a list of models' configuration in config.property. A model's configuration can be overridden by [management API](https://github.com/pytorch/serve/blob/master/docs/management_api.md#register-a-model). It does not decide which models will be loaded during TorchServe start. There is no relationship b.w "models" and "load_models" (ie. TorchServe command line option [--models](https://github.com/pytorch/serve/blob/master/docs/configuration.md#command-line-parameters)). +- [models](configuration.md): Defines a list of models' configuration in config.property. A model's configuration can be overridden by [management API](management_api.md). It does not decide which models will be loaded during TorchServe start. There is no relationship b.w "models" and "load_models" (ie. TorchServe command line option [--models](configuration.md)). ### @@ -108,43 +108,43 @@ You can use any tool like Postman, Insomnia or even use a python script to do so ### How can I add a custom API to an existing framework? You can add a custom API using **plugins SDK** available in Torchserve. -Refer to [serving sdk](../serving-sdk) and [plugins](../plugins) for more details. +Refer to [serving sdk](https://github.com/pytorch/serve/tree/master/serving-sdk) and [plugins](https://github.com/pytorch/serve/tree/master/plugins) for more details. ### How can pass multiple images in Inference request call to my model? You can provide multiple data in a single inference request to your custom handler as a key-value pair in the `data` object. -Refer [this](https://github.com/pytorch/serve/issues/529#issuecomment-658012913) for more details. +Refer to [this issue](https://github.com/pytorch/serve/issues/529#issuecomment-658012913) for more details. ## Handler Relevant documents -- [Default handlers](default_handlers.md#torchserve-default-inference-handlers) -- [Custom Handlers](custom_service.md#custom-handlers) +- [Default handlers](default_handlers.md) +- [Custom Handlers](custom_service.md) ### How do I return an image output for a model? You would have to write a custom handler and modify the postprocessing to return the image -Refer [custom service documentation](custom_service.md#custom-handlers) for more details. +Refer to [custom service documentation](custom_service.md) for more details. ### How to enhance the default handlers? Write a custom handler that extends the default handler and just override the methods to be tuned. -Refer [custom service documentation](custom_service.md#custom-handlers) for more details. +Refer to [custom service documentation](custom_service.md) for more details. ### Do I always have to write a custom handler or are there default ones that I can use? Yes, you can deploy your model with no-code/ zero code by using builtin default handlers. -Refer [default handlers](default_handlers.md#torchserve-default-inference-handlers) for more details. +Refer to [default handlers](default_handlers.md) for more details. ### Is it possible to deploy Hugging Face models? Yes, you can deploy Hugging Face models using a custom handler. -Refer [HuggingFace_Transformers](https://github.com/pytorch/serve/blob/master/examples/Huggingface_Transformers/README.md) for example. +Refer to [HuggingFace_Transformers](https://github.com/pytorch/serve/blob/master/examples/Huggingface_Transformers/README.md#huggingface-transformers) for example. ## Model-archiver Relevant documents - - [Model-archiver ](../model-archiver/README.md#torch-model-archiver-for-torchserve) - - [Docker Readme](../docker/README.md) + - [Model-archiver ](https://github.com/pytorch/serve/blob/master/model-archiver/README.md#torch-model-archiver-for-torchserve) + - [Docker Readme](https://github.com/pytorch/serve/blob/master/docker/README.md#docker-readme) ### What is a mar file? A mar file is a zip file consisting of all model artifacts with the ".mar" extension. The cmd-line utility `torch-model-archiver` is used to create a mar file. ### How can create mar file using Torchserve docker container? -Yes, you create your mar file using a Torchserve container. Follow the steps given [here](../docker/README.md#create-torch-model-archiver-from-container). +Yes, you create your mar file using a Torchserve container. Follow the steps given [here](https://github.com/pytorch/serve/blob/master/docker/README.md#create-torch-model-archiver-from-container). ### Can I add multiple serialized files in single mar file? Currently `torch-model-archiver` allows supplying only one serialized file with `--serialized-file` parameter while creating the mar. However, you can supply any number and any type of file with `--extra-files` flag. All the files supplied in the mar file are available in `model_dir` location which can be accessed through the context object supplied to the handler's entry point. @@ -155,7 +155,7 @@ Sample code snippet: properties = context.system_properties model_dir = properties.get("model_dir") ``` -Refer [Torch model archiver cli](../model-archiver/README.md#torch-model-archiver-command-line-interface) for more details. +Refer [Torch model archiver cli](https://github.com/pytorch/serve/blob/master/model-archiver/README.md#torch-model-archiver-command-line-interface) for more details. Relevant issues: [[#633](https://github.com/pytorch/serve/issues/633)] ### Can I download and register model using s3 presigned v4 url? diff --git a/docs/index.md b/docs/index.md index b5e7c8fc05..a01b1ce5d7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,8 +4,8 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch mo ## ⚡ Why TorchServe -* [Model Management API](https://github.com/pytorch/serve/blob/master/docs/management_api.md#management-api): multi model management with optimized worker to model allocation -* [Inference API](https://github.com/pytorch/serve/blob/master/docs/inference_api.md#inference-api): REST and gRPC support for batched inference +* [Model Management API](management_api.md): multi model management with optimized worker to model allocation +* [Inference API](inference_api.md): REST and gRPC support for batched inference * [TorchServe Workflows](https://github.com/pytorch/serve/blob/master/examples/Workflows/README.md#workflow-examples): deploy complex DAGs with multiple interdependent models * Default way to serve PyTorch models in * [Kubeflow](https://v0-5.kubeflow.org/docs/components/pytorchserving/) @@ -13,11 +13,10 @@ TorchServe is a performant, flexible and easy to use tool for serving PyTorch mo * [Sagemaker](https://aws.amazon.com/blogs/machine-learning/serving-pytorch-models-in-production-with-the-amazon-sagemaker-native-torchserve-integration/) * [Kserve](https://kserve.github.io/website/0.8/modelserving/v1beta1/torchserve/): Supports both v1 and v2 API * [Vertex AI](https://cloud.google.com/blog/topics/developers-practitioners/pytorch-google-cloud-how-deploy-pytorch-models-vertex-ai) -* Export your model for optimized inference. Torchscript out of the box, [ORT and ONNX](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md#performance-guide), [IPEX](https://github.com/pytorch/serve/tree/master/examples/intel_extension_for_pytorch), [TensorRT](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md#performance-guide), [FasterTransformer](https://github.com/pytorch/serve/tree/master/examples/FasterTransformer_HuggingFace_Bert) -* [Performance Guide](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md#performance-guide): builtin support to optimize, benchmark and profile PyTorch and TorchServe performance +* Export your model for optimized inference. Torchscript out of the box, [ORT and ONNX](https://github.com/pytorch/serve/blob/master/docs/performance_guide.md#performance-guide), [IPEX](https://github.com/pytorch/serve/tree/master/examples/intel_extension_for_pytorch), [TensorRT](performance_guide.md), [FasterTransformer](https://github.com/pytorch/serve/tree/master/examples/FasterTransformer_HuggingFace_Bert) +* [Performance Guide](performance_guide.md): builtin support to optimize, benchmark and profile PyTorch and TorchServe performance * [Expressive handlers](https://github.com/pytorch/serve/blob/master/CONTRIBUTING.md#contributing-to-torchServe): An expressive handler architecture that makes it trivial to support inferencing for your usecase with [many supported out of the box](https://github.com/pytorch/serve/tree/master/ts/torch_handler) -* [Metrics API](https://github.com/pytorch/serve/blob/master/docs/metrics.md#torchserve-metrics): out of box support for system level metrics with [Prometheus exports](https://github.com/pytorch/serve/tree/master/examples/custom_metrics), custom metrics and PyTorch profiler support - +* [Metrics API](metrics.md): out of box support for system level metrics with [Prometheus exports](https://github.com/pytorch/serve/tree/master/examples/custom_metrics), custom metrics and PyTorch profiler support ## 🤔 How does TorchServe work * [Serving Quick Start](https://github.com/pytorch/serve/blob/master/README.md#serve-a-model) - Basic server usage tutorial diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index c1cab7dfa8..60f1a8acd2 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1051,4 +1051,4 @@ largemodels torchpippy InferenceSession maxRetryTimeoutInSec -neuronx +neuronx \ No newline at end of file From 1fc15b34a6c65fd88660feabb68232ccc9aec918 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 1 Mar 2023 13:15:55 +0100 Subject: [PATCH 083/172] Hardcode branch name --- ts_scripts/install_from_src.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ts_scripts/install_from_src.py b/ts_scripts/install_from_src.py index 9c555f9c3d..b9fc511ee7 100644 --- a/ts_scripts/install_from_src.py +++ b/ts_scripts/install_from_src.py @@ -33,6 +33,7 @@ def install_from_src(dev=False): check_python_version() from pygit2 import Repository - git_branch = Repository(".").head.shorthand + # hardcode since submodules mess up pygit2 repository head + git_branch = "feature/multi_queue_wrapper" # Repository(".").head.shorthand build_hdr_printer.main(git_branch) install_from_src(args.environment == "dev") From ba5097d12b6dd876e8316097e618583911808750 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 1 Mar 2023 13:31:36 +0100 Subject: [PATCH 084/172] Add priority attribute which is set via X-Priority header --- .../src/main/java/org/pytorch/serve/job/Job.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java index a17ebff8ba..d1083027bf 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java @@ -12,6 +12,7 @@ public abstract class Job { private String modelVersion; private WorkerCommands cmd; // Else its data msg or inf requests private RequestInput input; + private int priority; private long begin; private long scheduled; @@ -25,6 +26,21 @@ public Job(String modelName, String version, WorkerCommands cmd, RequestInput in if (cmd == WorkerCommands.STREAMPREDICT) { input.updateHeaders(TS_STREAM_NEXT, "true"); } + + Map headers = input.getHeaders(); + if (headers.containsKey("X-Priority")) { + this.priority = Integer.parseInt(headers.get("X-Priority")); + } else { + this.priority = 0; + } + } + + public int getPriority() { + return this.priority; + } + + public void setPriority(int priority) { + this.priority = priority; } public String getJobId() { From fa3c57aa902c20114cfad067f4f458de5050cdf6 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 1 Mar 2023 13:35:05 +0100 Subject: [PATCH 085/172] Implement inbuilt metric RequestPriority --- .../java/org/pytorch/serve/job/GRPCJob.java | 21 +++++++++++++++++++ .../java/org/pytorch/serve/job/RestJob.java | 20 +++++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java index fe4192103a..5085f23d8a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java @@ -79,6 +79,8 @@ public void response( && responseHeaders.get(TS_STREAM_NEXT).equals("false"))) { predictionResponseObserver.onCompleted(); + // TODO Simon: During rebase this part was moved inside the if bloc, + // verify that this is correct logger.debug( "Waiting time ns: {}, Backend time ns: {}", getScheduled() - getBegin(), @@ -94,8 +96,27 @@ public void response( } catch (Exception e) { logger.error("Failed to update frontend metric QueueTime: ", e); } + + // TODO Simon: should these two logs also be in the if (this.queTimeMetric != null) clause? + loggerTsMetrics.info( + "{}", + new Metric( + "QueueTime", + String.valueOf(queueTime), + "ms", + ConfigManager.getInstance().getHostName(), + DIMENSION)); + loggerTsMetrics.info( + "{}", + new Metric( + "RequestPriority", + String.valueOf(this.getPriority()), + "int", + ConfigManager.getInstance().getHostName(), + DIMENSION)); } } + } else if (this.getCmd() == WorkerCommands.DESCRIBE) { try { ArrayList respList = diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index 66a5407163..6d6b5e2327 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -185,7 +185,7 @@ private void responseInference( } else if (responsePromise != null) { responsePromise.complete(body); } - + if (numStreams <= 0) { if (this.inferenceLatencyMetric != null) { try { @@ -223,6 +223,24 @@ private void responseInference( } catch (Exception e) { logger.error("Failed to update frontend metric QueueTime: ", e); } + + // TODO Simon: should these two logs also be in the if clause? + loggerTsMetrics.info( + "{}", + new Metric( + "QueueTime", + queueTime, + "ms", + ConfigManager.getInstance().getHostName(), + DIMENSION)); + loggerTsMetrics.info( + "{}", + new Metric( + "RequestPriority", + String.valueOf(this.getPriority()), + "int", + ConfigManager.getInstance().getHostName(), + DIMENSION)); } } } From cffa44a6bc3cf448a9dc8186eb16350f8ede2b4d Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 1 Mar 2023 13:37:42 +0100 Subject: [PATCH 086/172] Add RequestPriority to registry --- .../pytorch/serve/servingsdk/metrics/InbuiltMetricsRegistry.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serving-sdk/src/main/java/org/pytorch/serve/servingsdk/metrics/InbuiltMetricsRegistry.java b/serving-sdk/src/main/java/org/pytorch/serve/servingsdk/metrics/InbuiltMetricsRegistry.java index b98a4baeef..4903ff7417 100644 --- a/serving-sdk/src/main/java/org/pytorch/serve/servingsdk/metrics/InbuiltMetricsRegistry.java +++ b/serving-sdk/src/main/java/org/pytorch/serve/servingsdk/metrics/InbuiltMetricsRegistry.java @@ -10,6 +10,7 @@ public class InbuiltMetricsRegistry { public static final String INFERENCEREQUESTS = "InferenceRequests"; public static final String QUEUETIME = "QueueTime"; + public static final String REQUESTPRIORITY = "RequestPriority"; public static final String BACKENDRESPONSETIME = "BackendResponseTime"; public static final String HANDLERTIME = "HandlerTime"; public static final String WORKERTHREADTIME = "WorkerThreadTime"; From 7bdb11c4271ac10b2b54a8e97c1cf488a88d8ba2 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 1 Mar 2023 16:06:27 +0100 Subject: [PATCH 087/172] Implement PriorityLinkedBlockingDeque with same interface as LinkedBlockingDeque --- .../main/java/org/pytorch/serve/job/Job.java | 3 +- .../java/org/pytorch/serve/job/RestJob.java | 2 +- .../org/pytorch/serve/util/Prioritisable.java | 8 ++ .../util/PriorityLinkedBlockingDeque.java | 75 +++++++++++++++++++ .../java/org/pytorch/serve/wlm/Model.java | 27 +++++-- 5 files changed, 106 insertions(+), 9 deletions(-) create mode 100644 frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java create mode 100644 frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java index d1083027bf..64e2ee0031 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java @@ -5,8 +5,9 @@ import java.util.Map; import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.util.messages.WorkerCommands; +import org.pytorch.serve.util.Prioritisable; -public abstract class Job { +public abstract class Job implements Prioritisable { private String modelName; private String modelVersion; diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index 6d6b5e2327..f1f1f4d720 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -185,7 +185,7 @@ private void responseInference( } else if (responsePromise != null) { responsePromise.complete(body); } - + if (numStreams <= 0) { if (this.inferenceLatencyMetric != null) { try { diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java new file mode 100644 index 0000000000..ddcf91eacb --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java @@ -0,0 +1,8 @@ +package org.pytorch.serve.util; + +public interface Prioritisable { + + public int getPriority(); + public void setPriority(int priority); + +} \ No newline at end of file diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java new file mode 100644 index 0000000000..7755ba68a1 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -0,0 +1,75 @@ +package org.pytorch.serve.util; + +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class PriorityLinkedBlockingDeque { + + private static final Logger logger = LoggerFactory.getLogger(PriorityLinkedBlockingDeque.class); + + private int nPriorities; + private ConcurrentHashMap> priorityDeques; + + public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { + + this.nPriorities = nPriorities; + + priorityDeques = new ConcurrentHashMap>(); + + for (int i = 0; i < nPriorities; i++) { + priorityDeques.put(i, new LinkedBlockingDeque(queueSize)); + } + } + + public PriorityLinkedBlockingDeque(int nPriorities) { + this(nPriorities, Integer.MAX_VALUE); + } + + public PriorityLinkedBlockingDeque() { + this(1); + } + + private LinkedBlockingDeque getResponsibleDeque(T p) { + int priority = p.getPriority(); + LinkedBlockingDeque deque = priorityDeques.get(priority); + + if (deque == null) { + logger.warn("Priority value not valid, setting to highest valid priority value.", priority); + int newPriority = this.nPriorities - 1; + p.setPriority(newPriority); + deque = priorityDeques.get(newPriority); + } + + return deque; + } + + private LinkedBlockingDeque getArbitraryDeque() { + // TODO: Prioritised selection logic needed here + return priorityDeques.get(0); + } + + public boolean isEmpty() { + // TODO: I think the proper way of doing this would be ConcurrentHashMap.reduceValues + return priorityDeques.get(0).isEmpty(); + } + + public boolean offer(T p) { + return getResponsibleDeque(p).offer(p); + } + + public void addFirst(T p) { + getResponsibleDeque(p).addFirst(p); + } + + public T poll(long timeout, TimeUnit unit) throws InterruptedException { + return getArbitraryDeque().poll(timeout, unit); + } + + public T poll() { + return getArbitraryDeque().poll(); + } + +} \ No newline at end of file diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 73ba2d6c10..7788c4f3f1 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -8,7 +8,6 @@ import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReentrantLock; @@ -17,6 +16,7 @@ import org.pytorch.serve.archive.model.ModelConfig; import org.pytorch.serve.job.Job; import org.pytorch.serve.util.ConfigManager; +import org.pytorch.serve.util.PriorityLinkedBlockingDeque; import org.pytorch.serve.util.messages.WorkerCommands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,6 +52,8 @@ public class Model { private int numCores; private ReentrantLock lock; private int responseTimeout; + private int queueSize; + private int nPriorities; private ModelVersionName modelVersionName; private AtomicInteger gpuCounter = new AtomicInteger(0); private boolean hasCfgDeviceIds; @@ -61,9 +63,9 @@ public class Model { private AtomicInteger failedInfReqs; // Per worker thread job queue. This separates out the control queue from data queue - private ConcurrentMap> jobsDb; + private ConcurrentMap> jobsDb; - public Model(ModelArchive modelArchive, int queueSize) { + public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { this.modelArchive = modelArchive; if (modelArchive != null && modelArchive.getModelConfig() != null) { if (modelArchive.getModelConfig().getParallelLevel() > 1 @@ -107,9 +109,16 @@ public Model(ModelArchive modelArchive, int queueSize) { : ConfigManager.getInstance().getNumberOfGpu(); } + this.queueSize = queueSize; + this.nPriorities = nPriorities; + // TODO Simon: These two are commented out for now, as we set the further above + // verify that this is correct + // batchSize = 1; + //maxBatchDelay = 100; + jobsDb = new ConcurrentHashMap<>(); // Always have a queue for data - jobsDb.putIfAbsent(DEFAULT_DATA_QUEUE, new LinkedBlockingDeque<>(queueSize)); + jobsDb.putIfAbsent(DEFAULT_DATA_QUEUE, new PriorityLinkedBlockingDeque<>(this.nPriorities, this.queueSize)); failedInfReqs = new AtomicInteger(0); lock = new ReentrantLock(); modelVersionName = @@ -117,6 +126,10 @@ public Model(ModelArchive modelArchive, int queueSize) { this.modelArchive.getModelName(), this.modelArchive.getModelVersion()); } + public Model(ModelArchive modelArchive, int queueSize) { + this(modelArchive, queueSize, 1); + } + public JsonObject getModelState(boolean isDefaultVersion) { JsonObject modelInfo = new JsonObject(); @@ -210,9 +223,9 @@ public void setWorkflowModel(boolean workflowModel) { } public void addJob(String threadId, Job job) { - LinkedBlockingDeque blockingDeque = jobsDb.get(threadId); + PriorityLinkedBlockingDeque blockingDeque = jobsDb.get(threadId); if (blockingDeque == null) { - blockingDeque = new LinkedBlockingDeque<>(); + blockingDeque = new PriorityLinkedBlockingDeque<>(this.nPriorities, this.queueSize); jobsDb.put(threadId, blockingDeque); } blockingDeque.offer(job); @@ -243,7 +256,7 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) "The jobs repo provided contains stale jobs. Clear them!!"); } - LinkedBlockingDeque jobsQueue = jobsDb.get(threadId); + PriorityLinkedBlockingDeque jobsQueue = jobsDb.get(threadId); if (jobsQueue != null && !jobsQueue.isEmpty()) { Job j = jobsQueue.poll(waitTime, TimeUnit.MILLISECONDS); if (j != null) { From b64d7d9c4dc33732fcb4fc89ae38e3ff4117e645 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 1 Mar 2023 16:53:01 +0100 Subject: [PATCH 088/172] Implement isEmpty correctly --- .../pytorch/serve/util/PriorityLinkedBlockingDeque.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 7755ba68a1..162552ab59 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -3,6 +3,9 @@ import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.function.BiFunction; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,8 +55,9 @@ private LinkedBlockingDeque getArbitraryDeque() { } public boolean isEmpty() { - // TODO: I think the proper way of doing this would be ConcurrentHashMap.reduceValues - return priorityDeques.get(0).isEmpty(); + Function, Boolean> getIsEmpty = (LinkedBlockingDeque deque) -> deque.isEmpty(); + BiFunction logicalAnd = (Boolean a, Boolean b) -> a && b; + return priorityDeques.reduceValues(Long.MAX_VALUE, getIsEmpty, logicalAnd); } public boolean offer(T p) { From 6c59d08c1fb30881e540958e69aeb3ef18e55698 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 1 Mar 2023 18:28:54 +0100 Subject: [PATCH 089/172] Implement sampled polling, but this does not make sense yet --- .../util/PriorityLinkedBlockingDeque.java | 76 ++++++++++++++----- .../java/org/pytorch/serve/wlm/Model.java | 2 +- 2 files changed, 57 insertions(+), 21 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 162552ab59..91aa5401f6 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -2,9 +2,11 @@ import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.function.BiFunction; +import java.util.Arrays; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,17 +16,33 @@ public class PriorityLinkedBlockingDeque { private static final Logger logger = LoggerFactory.getLogger(PriorityLinkedBlockingDeque.class); private int nPriorities; + private int sumPriorityWeights; + private int[] weightedPriorityMap; private ConcurrentHashMap> priorityDeques; public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { this.nPriorities = nPriorities; - - priorityDeques = new ConcurrentHashMap>(); - - for (int i = 0; i < nPriorities; i++) { - priorityDeques.put(i, new LinkedBlockingDeque(queueSize)); + this.priorityDeques = new ConcurrentHashMap>(); + + // sum of 0 + 1 + 2 + ... + nPriorities - 1 via triangular sum + this.sumPriorityWeights = ((this.nPriorities - 1) * this.nPriorities) / 2; + this.weightedPriorityMap = new int[sumPriorityWeights]; + + // initialize priority deques and weight map + int keyStart = 0; + for (int priority = 0; priority < this.nPriorities; priority++) { + this.priorityDeques.put(priority, new LinkedBlockingDeque(queueSize)); + if (priority > 0) { + // priority weights are inverse priority values for now + int priorityWeight = this.nPriorities - priority; + for (int key = keyStart; key < keyStart + priorityWeight; key++) { + this.weightedPriorityMap[key] = priority; + } + keyStart += priorityWeight; + } } + logger.warn(Arrays.toString(this.weightedPriorityMap)); } public PriorityLinkedBlockingDeque(int nPriorities) { @@ -35,45 +53,63 @@ public PriorityLinkedBlockingDeque() { this(1); } - private LinkedBlockingDeque getResponsibleDeque(T p) { + private LinkedBlockingDeque getDequeForExtraction() { + // always select deque 0 first if non-empty + if (this.nPriorities == 1 || !this.priorityDeques.get(0).isEmpty()) { + return this.priorityDeques.get(0); + } + + // sample according to weight map + int randInt = ThreadLocalRandom.current().nextInt(sumPriorityWeights); + int randPriority = this.weightedPriorityMap[randInt]; + LinkedBlockingDeque dequeForExtraction = this.priorityDeques.get(randPriority); + + // it may happen that the sampled deque is empty, in that case proceed according to priority + if (dequeForExtraction.isEmpty()) { + for (int priority = 1; priority < this.nPriorities; priority++) { + LinkedBlockingDeque priorityDeque = this.priorityDeques.get(priority); + if (!priorityDeque.isEmpty()) { + return priorityDeque; + } + } + } + return dequeForExtraction; + } + + private LinkedBlockingDeque getDequeForInsertion(T p) { int priority = p.getPriority(); - LinkedBlockingDeque deque = priorityDeques.get(priority); + LinkedBlockingDeque dequeForInsertion = this.priorityDeques.get(priority); - if (deque == null) { + if (dequeForInsertion == null) { logger.warn("Priority value not valid, setting to highest valid priority value.", priority); int newPriority = this.nPriorities - 1; p.setPriority(newPriority); - deque = priorityDeques.get(newPriority); + dequeForInsertion = this.priorityDeques.get(newPriority); } - return deque; - } - - private LinkedBlockingDeque getArbitraryDeque() { - // TODO: Prioritised selection logic needed here - return priorityDeques.get(0); + return dequeForInsertion; } public boolean isEmpty() { Function, Boolean> getIsEmpty = (LinkedBlockingDeque deque) -> deque.isEmpty(); BiFunction logicalAnd = (Boolean a, Boolean b) -> a && b; - return priorityDeques.reduceValues(Long.MAX_VALUE, getIsEmpty, logicalAnd); + return this.priorityDeques.reduceValues(Long.MAX_VALUE, getIsEmpty, logicalAnd); } public boolean offer(T p) { - return getResponsibleDeque(p).offer(p); + return getDequeForInsertion(p).offer(p); } public void addFirst(T p) { - getResponsibleDeque(p).addFirst(p); + getDequeForInsertion(p).addFirst(p); } public T poll(long timeout, TimeUnit unit) throws InterruptedException { - return getArbitraryDeque().poll(timeout, unit); + return getDequeForExtraction().poll(timeout, unit); } public T poll() { - return getArbitraryDeque().poll(); + return getDequeForExtraction().poll(); } } \ No newline at end of file diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 7788c4f3f1..24393edc18 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -127,7 +127,7 @@ public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { } public Model(ModelArchive modelArchive, int queueSize) { - this(modelArchive, queueSize, 1); + this(modelArchive, queueSize, 3); } public JsonObject getModelState(boolean isDefaultVersion) { From 1cfbac5a770b426ff596ad9406fce364520fb3d4 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 2 Mar 2023 14:51:37 +0100 Subject: [PATCH 090/172] Override unlinkFirst() --- .../util/PriorityLinkedBlockingDeque.java | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 91aa5401f6..99e6e7fbec 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -11,7 +11,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class PriorityLinkedBlockingDeque { +@SuppressWarnings("serial") +public class PriorityLinkedBlockingDeque extends LinkedBlockingDeque { private static final Logger logger = LoggerFactory.getLogger(PriorityLinkedBlockingDeque.class); @@ -20,6 +21,7 @@ public class PriorityLinkedBlockingDeque { private int[] weightedPriorityMap; private ConcurrentHashMap> priorityDeques; + // constructor public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { this.nPriorities = nPriorities; @@ -45,14 +47,6 @@ public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { logger.warn(Arrays.toString(this.weightedPriorityMap)); } - public PriorityLinkedBlockingDeque(int nPriorities) { - this(nPriorities, Integer.MAX_VALUE); - } - - public PriorityLinkedBlockingDeque() { - this(1); - } - private LinkedBlockingDeque getDequeForExtraction() { // always select deque 0 first if non-empty if (this.nPriorities == 1 || !this.priorityDeques.get(0).isEmpty()) { @@ -104,12 +98,11 @@ public void addFirst(T p) { getDequeForInsertion(p).addFirst(p); } - public T poll(long timeout, TimeUnit unit) throws InterruptedException { - return getDequeForExtraction().poll(timeout, unit); + // unlinkFirst is used by the relevant extraction methods such as poll(long timeout, TimeUnit unit) + // ideally, we would want to forward this to getDequeForExtraction().unlinkFirst(), but it is private + // pollFirst() is a public method that forwards unlinkFirst(), so it's the next best alternative + // reference: https://github.com/openjdk/jdk17/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java + private T unlinkFirst() { + return getDequeForExtraction().pollFirst(); } - - public T poll() { - return getDequeForExtraction().poll(); - } - -} \ No newline at end of file +} From fbc19baa6bc5c4321f66a896c7a6c4679ae73ab0 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 2 Mar 2023 17:03:50 +0100 Subject: [PATCH 091/172] Implement working polling & offering (to be tested) --- .../util/PriorityLinkedBlockingDeque.java | 81 +++++++++++++++++-- .../java/org/pytorch/serve/wlm/Model.java | 4 + 2 files changed, 79 insertions(+), 6 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 99e6e7fbec..f4a17d9e2e 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -1,5 +1,7 @@ package org.pytorch.serve.util; +import java.util.concurrent.locks.ReentrantLock; +import java.util.concurrent.locks.Condition; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ThreadLocalRandom; @@ -8,14 +10,24 @@ import java.util.function.BiFunction; import java.util.Arrays; +import java.io.ObjectOutputStream; +import java.io.IOException; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings("serial") -public class PriorityLinkedBlockingDeque extends LinkedBlockingDeque { +public class PriorityLinkedBlockingDeque { private static final Logger logger = LoggerFactory.getLogger(PriorityLinkedBlockingDeque.class); + /** Main lock guarding all access */ + final ReentrantLock lock = new ReentrantLock(); + + /** Condition for waiting takes */ + @SuppressWarnings("serial") // Classes implementing Condition may be serializable. + private final Condition notEmpty = lock.newCondition(); + private int nPriorities; private int sumPriorityWeights; private int[] weightedPriorityMap; @@ -44,12 +56,16 @@ public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { keyStart += priorityWeight; } } - logger.warn(Arrays.toString(this.weightedPriorityMap)); + logger.debug("PriorityLinkedBlockingDeque constructor finished"); } private LinkedBlockingDeque getDequeForExtraction() { + + logger.debug("getDequeForExtraction called"); + // always select deque 0 first if non-empty if (this.nPriorities == 1 || !this.priorityDeques.get(0).isEmpty()) { + logger.debug("select 0"); return this.priorityDeques.get(0); } @@ -58,15 +74,20 @@ private LinkedBlockingDeque getDequeForExtraction() { int randPriority = this.weightedPriorityMap[randInt]; LinkedBlockingDeque dequeForExtraction = this.priorityDeques.get(randPriority); + logger.debug("sample random deque " + String.valueOf(randPriority)); + // it may happen that the sampled deque is empty, in that case proceed according to priority if (dequeForExtraction.isEmpty()) { + logger.debug("random queue is empty"); for (int priority = 1; priority < this.nPriorities; priority++) { LinkedBlockingDeque priorityDeque = this.priorityDeques.get(priority); if (!priorityDeque.isEmpty()) { + logger.debug("found non-empty queue " + String.valueOf(priority)); return priorityDeque; } } } + logger.debug("returning random queue"); return dequeForExtraction; } @@ -75,7 +96,7 @@ private LinkedBlockingDeque getDequeForInsertion(T p) { LinkedBlockingDeque dequeForInsertion = this.priorityDeques.get(priority); if (dequeForInsertion == null) { - logger.warn("Priority value not valid, setting to highest valid priority value.", priority); + logger.warn("Priority value " + String.valueOf(priority) + " not valid, setting to highest valid priority value."); int newPriority = this.nPriorities - 1; p.setPriority(newPriority); dequeForInsertion = this.priorityDeques.get(newPriority); @@ -85,24 +106,72 @@ private LinkedBlockingDeque getDequeForInsertion(T p) { } public boolean isEmpty() { + logger.debug("isEmpty called"); Function, Boolean> getIsEmpty = (LinkedBlockingDeque deque) -> deque.isEmpty(); BiFunction logicalAnd = (Boolean a, Boolean b) -> a && b; return this.priorityDeques.reduceValues(Long.MAX_VALUE, getIsEmpty, logicalAnd); } public boolean offer(T p) { - return getDequeForInsertion(p).offer(p); + logger.debug("offer called"); + final ReentrantLock lock = this.lock; + lock.lock(); + try { + boolean itemInserted = getDequeForInsertion(p).offer(p); + // awaken one thread that is waiting for notEmpty condition + notEmpty.signal(); + return itemInserted; + } finally { + lock.unlock(); + } } public void addFirst(T p) { - getDequeForInsertion(p).addFirst(p); + logger.debug("addFirst called"); + final ReentrantLock lock = this.lock; + lock.lock(); + try { + getDequeForInsertion(p).addFirst(p); + // awaken one thread that is waiting for notEmpty condition + notEmpty.signal(); + } finally { + lock.unlock(); + } } - // unlinkFirst is used by the relevant extraction methods such as poll(long timeout, TimeUnit unit) // ideally, we would want to forward this to getDequeForExtraction().unlinkFirst(), but it is private // pollFirst() is a public method that forwards unlinkFirst(), so it's the next best alternative // reference: https://github.com/openjdk/jdk17/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java private T unlinkFirst() { + logger.debug("unlinkFirst called"); return getDequeForExtraction().pollFirst(); } + + // reference: https://github.com/openjdk/jdk17/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java + public T poll(long timeout, TimeUnit unit) throws InterruptedException { + logger.debug("poll called"); + long nanos = unit.toNanos(timeout); + final ReentrantLock lock = this.lock; + lock.lockInterruptibly(); + try { + T x; + while ( (x = unlinkFirst()) == null) { + logger.debug("poll loop iter"); + if (nanos <= 0L) { + logger.debug("poll timed out"); + return null; + } + nanos = notEmpty.awaitNanos(nanos); + } + logger.debug("poll return match"); + return x; + } finally { + lock.unlock(); + } + } + + private void writeObject(ObjectOutputStream oos) throws IOException { + throw new IOException("This class is NOT serializable."); + } + } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 24393edc18..12863a41a8 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -124,6 +124,7 @@ public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { modelVersionName = new ModelVersionName( this.modelArchive.getModelName(), this.modelArchive.getModelVersion()); + logger.debug("Model constructor finished"); } public Model(ModelArchive modelArchive, int queueSize) { @@ -258,6 +259,7 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) PriorityLinkedBlockingDeque jobsQueue = jobsDb.get(threadId); if (jobsQueue != null && !jobsQueue.isEmpty()) { + logger.debug("initial waitTime poll"); Job j = jobsQueue.poll(waitTime, TimeUnit.MILLISECONDS); if (j != null) { jobsRepo.put(j.getJobId(), j); @@ -270,6 +272,7 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) long maxDelay = maxBatchDelay; jobsQueue = jobsDb.get(DEFAULT_DATA_QUEUE); + logger.debug("initial maxTime poll"); Job j = jobsQueue.poll(Long.MAX_VALUE, TimeUnit.MILLISECONDS); logger.trace("get first job: {}", Objects.requireNonNull(j).getJobId()); @@ -281,6 +284,7 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) } long begin = System.currentTimeMillis(); for (int i = 0; i < batchSize - 1; ++i) { + logger.debug("maxDelay poll"); j = jobsQueue.poll(maxDelay, TimeUnit.MILLISECONDS); if (j == null) { break; From d21a1fa2fd70870b3cfa2602843b5da9063ad879 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 10:20:12 +0100 Subject: [PATCH 092/172] Adjust queue rejection error message to include priority value --- .../java/org/pytorch/serve/grpcimpl/InferenceImpl.java | 3 ++- .../src/main/java/org/pytorch/serve/util/ApiUtils.java | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java index 2f029345f7..22df4724a3 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java @@ -157,8 +157,9 @@ private void prediction( Job job = new GRPCJob(responseObserver, modelName, modelVersion, workerCmd, inputData); if (!modelManager.addJob(job)) { + int priority = job.getPriority(); String responseMessage = - ApiUtils.getInferenceErrorResponseMessage(modelName, modelVersion); + ApiUtils.getInferenceErrorResponseMessage(modelName, modelVersion, priority); InternalServerException e = new InternalServerException(responseMessage); sendErrorResponse( responseObserver, Status.INTERNAL, e, "InternalServerException.()"); diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java index 43e2954272..c88597ef41 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java @@ -424,22 +424,23 @@ public static RestJob addRESTInferenceJob( throws ModelNotFoundException, ModelVersionNotFoundException { RestJob job = new RestJob(ctx, modelName, version, WorkerCommands.PREDICT, input); if (!ModelManager.getInstance().addJob(job)) { - String responseMessage = getInferenceErrorResponseMessage(modelName, version); + int priority = job.getPriority(); + String responseMessage = getInferenceErrorResponseMessage(modelName, version, priority); throw new ServiceUnavailableException(responseMessage); } return job; } @SuppressWarnings("PMD") - public static String getInferenceErrorResponseMessage(String modelName, String modelVersion) { + public static String getInferenceErrorResponseMessage(String modelName, String modelVersion, int jobPriority) { String responseMessage = "Model \"" + modelName; if (modelVersion != null) { - responseMessage += "\" Version " + modelVersion; + responseMessage += "\" version " + modelVersion; } responseMessage += - "\" has no worker to serve inference request. Please use scale workers API to add workers."; + "\" queue is full for jobs with priority " + String.valueOf(jobPriority) + "."; return responseMessage; } From 13f92017936fa14821ad12e01dd5cef5f92b6571 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 10:22:11 +0100 Subject: [PATCH 093/172] Remove serialization boilerplate --- .../serve/util/PriorityLinkedBlockingDeque.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index f4a17d9e2e..8e5d40754e 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -16,16 +16,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@SuppressWarnings("serial") public class PriorityLinkedBlockingDeque { private static final Logger logger = LoggerFactory.getLogger(PriorityLinkedBlockingDeque.class); - /** Main lock guarding all access */ + // Lock and condition for waiting on empty queues final ReentrantLock lock = new ReentrantLock(); - - /** Condition for waiting takes */ - @SuppressWarnings("serial") // Classes implementing Condition may be serializable. private final Condition notEmpty = lock.newCondition(); private int nPriorities; @@ -169,9 +165,4 @@ public T poll(long timeout, TimeUnit unit) throws InterruptedException { lock.unlock(); } } - - private void writeObject(ObjectOutputStream oos) throws IOException { - throw new IOException("This class is NOT serializable."); - } - } From a465e5a61daf7f9087e246f46f8fb776118ccfc4 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 12:17:27 +0100 Subject: [PATCH 094/172] Implement number of priorities parameter --- .../src/main/java/org/pytorch/serve/util/ApiUtils.java | 8 +++++--- .../main/java/org/pytorch/serve/util/ConfigManager.java | 5 +++++ .../pytorch/serve/util/PriorityLinkedBlockingDeque.java | 9 ++++++--- .../src/main/java/org/pytorch/serve/wlm/Model.java | 6 +----- .../main/java/org/pytorch/serve/wlm/ModelManager.java | 4 ++-- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java index c88597ef41..c55c1f6dfd 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java @@ -433,14 +433,16 @@ public static RestJob addRESTInferenceJob( @SuppressWarnings("PMD") public static String getInferenceErrorResponseMessage(String modelName, String modelVersion, int jobPriority) { - String responseMessage = "Model \"" + modelName; + String responseMessage = "Model: " + modelName + "\n"; if (modelVersion != null) { - responseMessage += "\" version " + modelVersion; + responseMessage += "Version: " + modelVersion + "\n"; } + responseMessage += "Priority: " + String.valueOf(jobPriority) + "\n"; + responseMessage += - "\" queue is full for jobs with priority " + String.valueOf(jobPriority) + "."; + "Reason: queue full"; return responseMessage; } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 9a7c0d657e..3898e88824 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -64,6 +64,7 @@ public final class ConfigManager { private static final String TS_NUMBER_OF_NETTY_THREADS = "number_of_netty_threads"; private static final String TS_NETTY_CLIENT_THREADS = "netty_client_threads"; private static final String TS_JOB_QUEUE_SIZE = "job_queue_size"; + private static final String TS_NUMBER_OF_PRIORITIES = "n_priorities"; private static final String TS_NUMBER_OF_GPU = "number_of_gpu"; private static final String TS_METRICS_CONFIG = "metrics_config"; private static final String TS_METRICS_MODE = "metrics_mode"; @@ -360,6 +361,10 @@ public int getJobQueueSize() { return getIntProperty(TS_JOB_QUEUE_SIZE, 100); } + public int getNumberOfPriorities() { + return getIntProperty(TS_NUMBER_OF_PRIORITIES, 1); + } + public int getNumberOfGpu() { return getIntProperty(TS_NUMBER_OF_GPU, 0); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 8e5d40754e..0c5cd09f5c 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -92,7 +92,8 @@ private LinkedBlockingDeque getDequeForInsertion(T p) { LinkedBlockingDeque dequeForInsertion = this.priorityDeques.get(priority); if (dequeForInsertion == null) { - logger.warn("Priority value " + String.valueOf(priority) + " not valid, setting to highest valid priority value."); + logger.warn("Priority value " + String.valueOf(priority) + " not valid, setting to highest valid priority value " + + String.valueOf(this.nPriorities - 1) + "."); int newPriority = this.nPriorities - 1; p.setPriority(newPriority); dequeForInsertion = this.priorityDeques.get(newPriority); @@ -114,8 +115,10 @@ public boolean offer(T p) { lock.lock(); try { boolean itemInserted = getDequeForInsertion(p).offer(p); - // awaken one thread that is waiting for notEmpty condition - notEmpty.signal(); + if (itemInserted) { + // awaken one thread that is waiting for notEmpty condition + notEmpty.signal(); + } return itemInserted; } finally { lock.unlock(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 12863a41a8..8dfce0cc1a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -124,11 +124,7 @@ public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { modelVersionName = new ModelVersionName( this.modelArchive.getModelName(), this.modelArchive.getModelVersion()); - logger.debug("Model constructor finished"); - } - - public Model(ModelArchive modelArchive, int queueSize) { - this(modelArchive, queueSize, 3); + logger.debug("Model constructor finished with queueSize " + String.valueOf(queueSize) + " and nPriorities " + String.valueOf(nPriorities)); } public JsonObject getModelState(boolean isDefaultVersion) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java index 28c9f9c698..13bea02f3e 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java @@ -266,7 +266,7 @@ private Model createModel( int maxBatchDelay, int responseTimeout, boolean isWorkflowModel) { - Model model = new Model(archive, configManager.getJobQueueSize()); + Model model = new Model(archive, configManager.getJobQueueSize(), configManager.getNumberOfPriorities()); if (archive.getModelConfig() != null) { int marBatchSize = archive.getModelConfig().getBatchSize(); @@ -312,7 +312,7 @@ private Model createModel( } private Model createModel(ModelArchive archive, JsonObject modelInfo) { - Model model = new Model(archive, configManager.getJobQueueSize()); + Model model = new Model(archive, configManager.getJobQueueSize(), configManager.getNumberOfPriorities()); model.setModelState(modelInfo); model.setWorkflowModel(false); From 8a8ed25f808658eacd6179ea1c8cf32a8d724dc1 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 12:25:04 +0100 Subject: [PATCH 095/172] Remove debug statements --- .../util/PriorityLinkedBlockingDeque.java | 45 +++++++------------ .../java/org/pytorch/serve/wlm/Model.java | 4 -- 2 files changed, 15 insertions(+), 34 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 0c5cd09f5c..e055e5d3c7 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -20,7 +20,7 @@ public class PriorityLinkedBlockingDeque { private static final Logger logger = LoggerFactory.getLogger(PriorityLinkedBlockingDeque.class); - // Lock and condition for waiting on empty queues + // lock and condition for waiting on empty queues final ReentrantLock lock = new ReentrantLock(); private final Condition notEmpty = lock.newCondition(); @@ -29,7 +29,6 @@ public class PriorityLinkedBlockingDeque { private int[] weightedPriorityMap; private ConcurrentHashMap> priorityDeques; - // constructor public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { this.nPriorities = nPriorities; @@ -52,16 +51,12 @@ public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { keyStart += priorityWeight; } } - logger.debug("PriorityLinkedBlockingDeque constructor finished"); } private LinkedBlockingDeque getDequeForExtraction() { - logger.debug("getDequeForExtraction called"); - // always select deque 0 first if non-empty if (this.nPriorities == 1 || !this.priorityDeques.get(0).isEmpty()) { - logger.debug("select 0"); return this.priorityDeques.get(0); } @@ -70,20 +65,15 @@ private LinkedBlockingDeque getDequeForExtraction() { int randPriority = this.weightedPriorityMap[randInt]; LinkedBlockingDeque dequeForExtraction = this.priorityDeques.get(randPriority); - logger.debug("sample random deque " + String.valueOf(randPriority)); - - // it may happen that the sampled deque is empty, in that case proceed according to priority + // if sampled deque is empty, scan deques according to priority if (dequeForExtraction.isEmpty()) { - logger.debug("random queue is empty"); for (int priority = 1; priority < this.nPriorities; priority++) { LinkedBlockingDeque priorityDeque = this.priorityDeques.get(priority); if (!priorityDeque.isEmpty()) { - logger.debug("found non-empty queue " + String.valueOf(priority)); return priorityDeque; } } } - logger.debug("returning random queue"); return dequeForExtraction; } @@ -102,21 +92,29 @@ private LinkedBlockingDeque getDequeForInsertion(T p) { return dequeForInsertion; } + /* + ideally, we would want to forward this to getDequeForExtraction().unlinkFirst(), but it is private + pollFirst() is a public method that forwards unlinkFirst(), so it's the next best alternative + reference: https://github.com/openjdk/jdk17/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java + */ + private T unlinkFirst() { + return getDequeForExtraction().pollFirst(); + } + public boolean isEmpty() { - logger.debug("isEmpty called"); Function, Boolean> getIsEmpty = (LinkedBlockingDeque deque) -> deque.isEmpty(); BiFunction logicalAnd = (Boolean a, Boolean b) -> a && b; + // return true iff all deques are empty return this.priorityDeques.reduceValues(Long.MAX_VALUE, getIsEmpty, logicalAnd); } public boolean offer(T p) { - logger.debug("offer called"); final ReentrantLock lock = this.lock; lock.lock(); try { boolean itemInserted = getDequeForInsertion(p).offer(p); if (itemInserted) { - // awaken one thread that is waiting for notEmpty condition + // awaken one worker that is waiting for notEmpty condition notEmpty.signal(); } return itemInserted; @@ -126,43 +124,30 @@ public boolean offer(T p) { } public void addFirst(T p) { - logger.debug("addFirst called"); final ReentrantLock lock = this.lock; lock.lock(); try { getDequeForInsertion(p).addFirst(p); - // awaken one thread that is waiting for notEmpty condition + // awaken one worker that is waiting for notEmpty condition notEmpty.signal(); } finally { lock.unlock(); } } - // ideally, we would want to forward this to getDequeForExtraction().unlinkFirst(), but it is private - // pollFirst() is a public method that forwards unlinkFirst(), so it's the next best alternative - // reference: https://github.com/openjdk/jdk17/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java - private T unlinkFirst() { - logger.debug("unlinkFirst called"); - return getDequeForExtraction().pollFirst(); - } - - // reference: https://github.com/openjdk/jdk17/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java public T poll(long timeout, TimeUnit unit) throws InterruptedException { - logger.debug("poll called"); long nanos = unit.toNanos(timeout); final ReentrantLock lock = this.lock; lock.lockInterruptibly(); try { T x; while ( (x = unlinkFirst()) == null) { - logger.debug("poll loop iter"); if (nanos <= 0L) { - logger.debug("poll timed out"); return null; } + // waits until notEmpty condition is signalled nanos = notEmpty.awaitNanos(nanos); } - logger.debug("poll return match"); return x; } finally { lock.unlock(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 8dfce0cc1a..a2fc3d197d 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -124,7 +124,6 @@ public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { modelVersionName = new ModelVersionName( this.modelArchive.getModelName(), this.modelArchive.getModelVersion()); - logger.debug("Model constructor finished with queueSize " + String.valueOf(queueSize) + " and nPriorities " + String.valueOf(nPriorities)); } public JsonObject getModelState(boolean isDefaultVersion) { @@ -255,7 +254,6 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) PriorityLinkedBlockingDeque jobsQueue = jobsDb.get(threadId); if (jobsQueue != null && !jobsQueue.isEmpty()) { - logger.debug("initial waitTime poll"); Job j = jobsQueue.poll(waitTime, TimeUnit.MILLISECONDS); if (j != null) { jobsRepo.put(j.getJobId(), j); @@ -268,7 +266,6 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) long maxDelay = maxBatchDelay; jobsQueue = jobsDb.get(DEFAULT_DATA_QUEUE); - logger.debug("initial maxTime poll"); Job j = jobsQueue.poll(Long.MAX_VALUE, TimeUnit.MILLISECONDS); logger.trace("get first job: {}", Objects.requireNonNull(j).getJobId()); @@ -280,7 +277,6 @@ public void pollBatch(String threadId, long waitTime, Map jobsRepo) } long begin = System.currentTimeMillis(); for (int i = 0; i < batchSize - 1; ++i) { - logger.debug("maxDelay poll"); j = jobsQueue.poll(maxDelay, TimeUnit.MILLISECONDS); if (j == null) { break; From 5f13da6b7104d904f90867eccb81ac4c069c0667 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 12:49:23 +0100 Subject: [PATCH 096/172] Add newline --- .../src/main/java/org/pytorch/serve/util/Prioritisable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java index ddcf91eacb..4b4c76b264 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java @@ -5,4 +5,4 @@ public interface Prioritisable { public int getPriority(); public void setPriority(int priority); -} \ No newline at end of file +} From 4bfbf283843debb535d2044bdb1c3069dc4a6e86 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 12:51:21 +0100 Subject: [PATCH 097/172] Remove unused imports --- .../pytorch/serve/util/PriorityLinkedBlockingDeque.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index e055e5d3c7..a4e9470619 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -6,13 +6,8 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; -import java.util.function.Function; import java.util.function.BiFunction; -import java.util.Arrays; - -import java.io.ObjectOutputStream; -import java.io.IOException; - +import java.util.function.Function; import org.slf4j.Logger; import org.slf4j.LoggerFactory; From ce3344aeb76c07a5194db027ee1ef1fa10bff8ba Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 13:21:31 +0100 Subject: [PATCH 098/172] Revert branch hardcoding --- ts_scripts/install_from_src.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ts_scripts/install_from_src.py b/ts_scripts/install_from_src.py index b9fc511ee7..c31f0a678a 100644 --- a/ts_scripts/install_from_src.py +++ b/ts_scripts/install_from_src.py @@ -33,7 +33,6 @@ def install_from_src(dev=False): check_python_version() from pygit2 import Repository - # hardcode since submodules mess up pygit2 repository head - git_branch = "feature/multi_queue_wrapper" # Repository(".").head.shorthand + Repository(".").head.shorthand build_hdr_printer.main(git_branch) install_from_src(args.environment == "dev") From 1cab897b2e4a850f74171550c1a91a50540d5024 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 3 Mar 2023 14:09:29 +0100 Subject: [PATCH 099/172] Fix install from source --- ts_scripts/install_from_src.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts_scripts/install_from_src.py b/ts_scripts/install_from_src.py index c31f0a678a..9c555f9c3d 100644 --- a/ts_scripts/install_from_src.py +++ b/ts_scripts/install_from_src.py @@ -33,6 +33,6 @@ def install_from_src(dev=False): check_python_version() from pygit2 import Repository - Repository(".").head.shorthand + git_branch = Repository(".").head.shorthand build_hdr_printer.main(git_branch) install_from_src(args.environment == "dev") From e7afbb9df2f3cba0b556bacd3a8a711490455895 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:18:01 +0100 Subject: [PATCH 100/172] Expand documentation --- docs/configuration.md | 1 + frontend/server/src/test/resources/config_test_env.properties | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index e8f3a5a388..a5cab8baab 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -281,6 +281,7 @@ Most of the following properties are designed for performance tuning. Adjusting * `netty_client_threads`: Number of backend netty thread. This specifies the number of threads in the WorkerThread [EventLoopGroup](https://livebook.manning.com/book/netty-in-action/chapter-8) which writes inference responses to the frontend. Default: number of logical processors available to the JVM. * `default_workers_per_model`: Number of workers to create for each model that loaded at startup time. Default: available GPUs in system or number of logical processors available to the JVM. * `job_queue_size`: Number inference jobs that frontend will queue before backend can serve. Default: 100. +* `n_priorities`: Number of priorities that jobs can have supplied via header `X-Priority`. Default: 1. * `async_logging`: Enable asynchronous logging for higher throughput, log output may be delayed if this is enabled. Default: false. * `default_response_timeout`: Timeout, in seconds, used for all models backend workers before they are deemed unresponsive and rebooted. Default: 120 seconds. * `unregister_model_timeout`: Timeout, in seconds, used when handling an unregister model request when cleaning a process before it is deemed unresponsive and an error response is sent. Default: 120 seconds. diff --git a/frontend/server/src/test/resources/config_test_env.properties b/frontend/server/src/test/resources/config_test_env.properties index a9746782ab..7e58e903b2 100644 --- a/frontend/server/src/test/resources/config_test_env.properties +++ b/frontend/server/src/test/resources/config_test_env.properties @@ -10,6 +10,7 @@ load_models=noop-v0.1,noop-v1.0 # netty_client_threads=0 # default_workers_per_model=0 # job_queue_size=100 +# n_priorities=1 async_logging=true default_response_timeout=120 unregister_model_timeout=120 From 2ec63c7b2370eb7d4d808820d9808f2095716035 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:29:20 +0100 Subject: [PATCH 101/172] Prefix header with X-TS- to avoid collision with other X-Priority headers --- docs/configuration.md | 2 +- frontend/server/src/main/java/org/pytorch/serve/job/Job.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index a5cab8baab..c86eabac16 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -281,7 +281,7 @@ Most of the following properties are designed for performance tuning. Adjusting * `netty_client_threads`: Number of backend netty thread. This specifies the number of threads in the WorkerThread [EventLoopGroup](https://livebook.manning.com/book/netty-in-action/chapter-8) which writes inference responses to the frontend. Default: number of logical processors available to the JVM. * `default_workers_per_model`: Number of workers to create for each model that loaded at startup time. Default: available GPUs in system or number of logical processors available to the JVM. * `job_queue_size`: Number inference jobs that frontend will queue before backend can serve. Default: 100. -* `n_priorities`: Number of priorities that jobs can have supplied via header `X-Priority`. Default: 1. +* `n_priorities`: Number of priorities that jobs can have supplied via header `X-TS-Priority`. Default: 1. * `async_logging`: Enable asynchronous logging for higher throughput, log output may be delayed if this is enabled. Default: false. * `default_response_timeout`: Timeout, in seconds, used for all models backend workers before they are deemed unresponsive and rebooted. Default: 120 seconds. * `unregister_model_timeout`: Timeout, in seconds, used when handling an unregister model request when cleaning a process before it is deemed unresponsive and an error response is sent. Default: 120 seconds. diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java index 64e2ee0031..217b43dfe0 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java @@ -29,8 +29,8 @@ public Job(String modelName, String version, WorkerCommands cmd, RequestInput in } Map headers = input.getHeaders(); - if (headers.containsKey("X-Priority")) { - this.priority = Integer.parseInt(headers.get("X-Priority")); + if (headers.containsKey("X-TS-Priority")) { + this.priority = Integer.parseInt(headers.get("X-TS-Priority")); } else { this.priority = 0; } From c602f4cc5e47f38411c0b842d2a9cef5de43b4e7 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 6 Mar 2023 13:16:11 +0100 Subject: [PATCH 102/172] Add reference to LinkedBlockingDeque where appropriate --- .../org/pytorch/serve/util/PriorityLinkedBlockingDeque.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index a4e9470619..a76da66c43 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -29,6 +29,7 @@ public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { this.nPriorities = nPriorities; this.priorityDeques = new ConcurrentHashMap>(); + // note: the weight calculation logic may be adapted to the user's needs // sum of 0 + 1 + 2 + ... + nPriorities - 1 via triangular sum this.sumPriorityWeights = ((this.nPriorities - 1) * this.nPriorities) / 2; this.weightedPriorityMap = new int[sumPriorityWeights]; @@ -130,6 +131,10 @@ public void addFirst(T p) { } } + /* + this is exactly the same as the equivalent method in LinkedBlockingDeque, the difference is in the implementation of unlinkFirst() + reference: https://github.com/openjdk/jdk17/blob/master/src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java + */ public T poll(long timeout, TimeUnit unit) throws InterruptedException { long nanos = unit.toNanos(timeout); final ReentrantLock lock = this.lock; From a6c8add0498d7a8c000e0ece37739627fdcd86d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20D=C3=BCggelin?= Date: Mon, 6 Mar 2023 15:33:04 +0100 Subject: [PATCH 103/172] :fire: Remove pygit2 --- ts_scripts/install_from_src.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ts_scripts/install_from_src.py b/ts_scripts/install_from_src.py index 9c555f9c3d..40f2a9ae82 100644 --- a/ts_scripts/install_from_src.py +++ b/ts_scripts/install_from_src.py @@ -27,12 +27,14 @@ def install_from_src(dev=False): "--environment", type=str, default="production", - help="options: dev|prod", + help="options: dev|production", + ) + parser.add_argument( + "--git-branch", + type=str, + default="main", ) args = parser.parse_args() check_python_version() - from pygit2 import Repository - - git_branch = Repository(".").head.shorthand - build_hdr_printer.main(git_branch) + build_hdr_printer.main(args.git_branch) install_from_src(args.environment == "dev") From b7896114beb714b3738d97a4907989329e57dc39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20D=C3=BCggelin?= Date: Mon, 6 Mar 2023 16:03:29 +0100 Subject: [PATCH 104/172] :whale: Pass git branch --- docker/Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 7dcf546c9c..92613d01d7 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -69,7 +69,7 @@ RUN if [ "$MACHINE_TYPE" = "gpu" ]; then export USE_CUDA=1; fi \ && python -m pip install -U pip setuptools \ && if [ -z "$CUDA_VERSION" ]; then python ts_scripts/install_dependencies.py --environment=dev; else python ts_scripts/install_dependencies.py --environment=dev --cuda $CUDA_VERSION; fi \ && if [ "$BUILD_WITH_IPEX" = "true" ]; then python -m pip install --no-cache-dir intel_extension_for_pytorch==${IPEX_VERSION} -f ${IPEX_URL}; fi \ - && python ts_scripts/install_from_src.py \ + && python ts_scripts/install_from_src.py --git-branch $BRANCH_NAME \ && useradd -m model-server \ && mkdir -p /home/model-server/tmp \ && cp docker/dockerd-entrypoint.sh /usr/local/bin/dockerd-entrypoint.sh \ From 9a8ad88e63a17f8537955060d5e2eb919fc8f2f6 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 16 Mar 2023 17:07:55 +0100 Subject: [PATCH 105/172] Implement setting and getting request ids via X-TS-Request-ID header --- .../src/main/java/org/pytorch/serve/http/Session.java | 9 ++++++++- .../src/main/java/org/pytorch/serve/util/NettyUtils.java | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/Session.java b/frontend/server/src/main/java/org/pytorch/serve/http/Session.java index 11247331f9..7273fb8993 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/Session.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/Session.java @@ -1,6 +1,7 @@ package org.pytorch.serve.http; import io.netty.handler.codec.http.HttpRequest; +import io.netty.handler.codec.http.HttpHeaders; import java.util.UUID; public class Session { @@ -23,7 +24,13 @@ public Session(String remoteIp, HttpRequest request) { method = "GET"; protocol = "HTTP/1.1"; } - requestId = UUID.randomUUID().toString(); + + HttpHeaders headers = request.headers(); + if (headers.contains("X-TS-Request-ID")) { + requestId = headers.getAsString("X-TS-Request-ID"); + } else { + requestId = UUID.randomUUID().toString(); + } startTime = System.currentTimeMillis(); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java index 53b3cfcd62..465e0de8c0 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java @@ -40,7 +40,7 @@ public final class NettyUtils { private static final Logger logger = LoggerFactory.getLogger("ACCESS_LOG"); - private static final String REQUEST_ID = "x-request-id"; + private static final String REQUEST_ID = "X-TS-Request-ID"; private static final AttributeKey SESSION_KEY = AttributeKey.valueOf("session"); private NettyUtils() {} From e6694fcff8b8535b26cee78f3e5c38b80f644b0a Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 17 Mar 2023 12:26:38 +0100 Subject: [PATCH 106/172] Adjust header casing --- .../server/src/main/java/org/pytorch/serve/http/Session.java | 4 ++-- .../pytorch/serve/http/api/rest/InferenceRequestHandler.java | 2 +- frontend/server/src/main/java/org/pytorch/serve/job/Job.java | 4 ++-- .../src/main/java/org/pytorch/serve/util/NettyUtils.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/Session.java b/frontend/server/src/main/java/org/pytorch/serve/http/Session.java index 7273fb8993..28952d2e85 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/Session.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/Session.java @@ -26,8 +26,8 @@ public Session(String remoteIp, HttpRequest request) { } HttpHeaders headers = request.headers(); - if (headers.contains("X-TS-Request-ID")) { - requestId = headers.getAsString("X-TS-Request-ID"); + if (headers.contains("x-request-id")) { + requestId = headers.getAsString("x-request-id"); } else { requestId = UUID.randomUUID().toString(); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java index 363717cb7f..11936afd91 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/api/rest/InferenceRequestHandler.java @@ -296,7 +296,7 @@ private static RequestInput parseRequest( CharSequence contentType = HttpUtil.getMimeType(req); for (Map.Entry entry : req.headers().entries()) { - inputData.updateHeaders(entry.getKey(), entry.getValue()); + inputData.updateHeaders(entry.getKey().toLowerCase(), entry.getValue()); } if (HttpPostRequestDecoder.isMultipart(req) diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java index 217b43dfe0..af198baec5 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java @@ -29,8 +29,8 @@ public Job(String modelName, String version, WorkerCommands cmd, RequestInput in } Map headers = input.getHeaders(); - if (headers.containsKey("X-TS-Priority")) { - this.priority = Integer.parseInt(headers.get("X-TS-Priority")); + if (headers.containsKey("x-ts-priority")) { + this.priority = Integer.parseInt(headers.get("x-ts-priority")); } else { this.priority = 0; } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java index 465e0de8c0..53b3cfcd62 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/NettyUtils.java @@ -40,7 +40,7 @@ public final class NettyUtils { private static final Logger logger = LoggerFactory.getLogger("ACCESS_LOG"); - private static final String REQUEST_ID = "X-TS-Request-ID"; + private static final String REQUEST_ID = "x-request-id"; private static final AttributeKey SESSION_KEY = AttributeKey.valueOf("session"); private NettyUtils() {} From 7b7928d392142a9e652f0868105885b706e34c12 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 17 Mar 2023 15:51:18 +0100 Subject: [PATCH 107/172] Add GPUManager --- .../java/org/pytorch/serve/ModelServer.java | 11 +++-- .../org/pytorch/serve/util/GPUManager.java | 46 +++++++++++++++++++ .../pytorch/serve/wlm/WorkLoadManager.java | 10 ++++ .../org/pytorch/serve/wlm/WorkerThread.java | 33 +++++++++++++ 4 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java diff --git a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java index b7c9a2823d..064c3adb94 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java +++ b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java @@ -49,6 +49,7 @@ import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.Connector; import org.pytorch.serve.util.ConnectorType; +import org.pytorch.serve.util.GPUManager; import org.pytorch.serve.util.ServerGroups; import org.pytorch.serve.wlm.Model; import org.pytorch.serve.wlm.ModelManager; @@ -66,11 +67,13 @@ public class ModelServer { private List futures = new ArrayList<>(2); private AtomicBoolean stopped = new AtomicBoolean(false); private ConfigManager configManager; + private GPUManager gpuManager; public static final int MAX_RCVBUF_SIZE = 4096; /** Creates a new {@code ModelServer} instance. */ - public ModelServer(ConfigManager configManager) { + public ModelServer(ConfigManager configManager, GPUManager gpuManager) { this.configManager = configManager; + this.gpuManager = gpuManager; serverGroups = new ServerGroups(configManager); } @@ -84,8 +87,10 @@ public static void main(String[] args) { ConfigManager configManager = ConfigManager.getInstance(); PluginsManager.getInstance().initialize(); MetricCache.init(); + GPUManager gpuManager = GPUManager.getInstance(); + gpuManager.init(configManager.getNumberOfGpu()); InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE); - ModelServer modelServer = new ModelServer(configManager); + ModelServer modelServer = new ModelServer(configManager, gpuManager); Runtime.getRuntime() .addShutdownHook( @@ -145,7 +150,7 @@ private String getDefaultModelName(String name) { } private void initModelStore() throws InvalidSnapshotException, IOException { - WorkLoadManager wlm = new WorkLoadManager(configManager, serverGroups.getBackendGroup()); + WorkLoadManager wlm = new WorkLoadManager(configManager, gpuManager, serverGroups.getBackendGroup()); ModelManager.init(configManager, wlm); WorkflowManager.init(configManager); SnapshotManager.init(configManager); diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java new file mode 100644 index 0000000000..649698fd45 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -0,0 +1,46 @@ +package org.pytorch.serve.util; + +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public final class GPUManager { + + private static final Logger logger = LoggerFactory.getLogger(GPUManager.class); + + private static GPUManager instance; + + private int nGPUs; + private int[] memoryUsage; + private int[] nFailures; + private AtomicInteger gpuCounter; + + private GPUManager(int nGPUs) { + this.nGPUs = nGPUs; + if (nGPUs > 0) { + this.gpuCounter = new AtomicInteger(0); + this.memoryUsage = new int[this.nGPUs]; + this.nFailures = new int[this.nGPUs]; + } + } + + public static void init(int nGPUs) { + instance = new GPUManager(nGPUs); + } + + public static GPUManager getInstance() { + return instance; + } + + public int getGPU(String workerId) { + int gpuId = -1; + if (this.nGPUs > 0) { + gpuId = gpuCounter.accumulateAndGet(this.nGPUs, (prev, maxGpuId) -> ++prev % maxGpuId); + } + logger.info("Assigning gpuId " + String.valueOf(gpuId) + " to workerId " + workerId); + return gpuId; + } + +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java index d944e9592d..3bd421fe60 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java @@ -16,6 +16,7 @@ import java.util.concurrent.atomic.AtomicInteger; import org.pytorch.serve.snapshot.SnapshotManager; import org.pytorch.serve.util.ConfigManager; +import org.pytorch.serve.util.GPUManager; import org.pytorch.serve.util.OSUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,17 +27,24 @@ public class WorkLoadManager { private ExecutorService threadPool; private ConcurrentHashMap> workers; private ConfigManager configManager; + private GPUManager gpuManager; private EventLoopGroup backendGroup; private AtomicInteger port; private AtomicInteger distributionPort; private AtomicInteger gpuCounter; public WorkLoadManager(ConfigManager configManager, EventLoopGroup backendGroup) { + + private static final Logger logger = LoggerFactory.getLogger(WorkLoadManager.class); + + public WorkLoadManager(ConfigManager configManager, GPUManager gpuManager, EventLoopGroup backendGroup) { this.configManager = configManager; + this.gpuManager = gpuManager; this.backendGroup = backendGroup; this.port = new AtomicInteger(configManager.getInitialWorkerPort()); this.distributionPort = new AtomicInteger(configManager.getInitialDistributionPort()); this.gpuCounter = new AtomicInteger(0); + threadPool = Executors.newCachedThreadPool(); workers = new ConcurrentHashMap<>(); } @@ -238,9 +246,11 @@ private void addThreads( WorkerThread thread = new WorkerThread( configManager, + gpuManager, backendGroup, currentPort, gpuId, + configManager.isDebug() ? port.get() : port.getAndIncrement(), model, aggregator, listener); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index 793a2c1d1b..a9c6911462 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -32,6 +32,7 @@ import org.pytorch.serve.metrics.IMetric; import org.pytorch.serve.metrics.MetricCache; import org.pytorch.serve.util.ConfigManager; +import org.pytorch.serve.util.GPUManager; import org.pytorch.serve.util.Connector; import org.pytorch.serve.util.codec.ModelRequestEncoder; import org.pytorch.serve.util.codec.ModelResponseDecoder; @@ -59,6 +60,7 @@ public class WorkerThread implements Runnable { private final List workerThreadTimeMetricDimensionValues; private final List workerLoadTimeMetricDimensionValues; private ConfigManager configManager; + private GPUManager gpuManager; private EventLoopGroup backendEventGroup; private int port; private Model model; @@ -170,6 +172,35 @@ public WorkerLifeCycle getLifeCycle() { return lifeCycle; } + public WorkerThread( + ConfigManager configManager, + GPUManager gpuManager, + EventLoopGroup backendEventGroup, + int port, + Model model, + BatchAggregator aggregator, + WorkerStateListener listener) { + this.workerId = String.valueOf(port); // Unique across all workers. + this.configManager = configManager; + this.gpuManager = gpuManager; + this.backendEventGroup = backendEventGroup; + this.port = port; + this.model = model; + this.aggregator = aggregator; + this.gpuId = gpuManager.getGPU(this.workerId); + this.listener = listener; + startTime = System.currentTimeMillis(); + lifeCycle = new WorkerLifeCycle(configManager, model); + replies = new ArrayBlockingQueue<>(1); + workerLoadTime = + new Metric( + getWorkerName(), + String.valueOf(System.currentTimeMillis()), + "ms", + ConfigManager.getInstance().getHostName(), + new Dimension("Level", "Host")); + } + @Override public void run() { responseTimeout = model.getResponseTimeout(); @@ -511,6 +542,8 @@ public void retry() { if (backoffIdx < BACK_OFF.length - 1) { ++backoffIdx; } + this.gpuId = gpuManager.getGPU(this.workerId); + manager.getScheduler() .schedule(() -> manager.submitTask(this), BACK_OFF[backoffIdx], TimeUnit.SECONDS); logger.info("Retry worker: {} in {} seconds.", workerId, BACK_OFF[backoffIdx]); From fb5a370deb96accbe9cff116196fbec4ece9e89e Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 17 Mar 2023 16:20:49 +0100 Subject: [PATCH 108/172] Fix GPUManager initialization --- .../server/src/main/java/org/pytorch/serve/ModelServer.java | 2 +- .../src/main/java/org/pytorch/serve/wlm/WorkerThread.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java index 064c3adb94..140c0148e9 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java +++ b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java @@ -87,8 +87,8 @@ public static void main(String[] args) { ConfigManager configManager = ConfigManager.getInstance(); PluginsManager.getInstance().initialize(); MetricCache.init(); + GPUManager.init(configManager.getNumberOfGpu()); GPUManager gpuManager = GPUManager.getInstance(); - gpuManager.init(configManager.getNumberOfGpu()); InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE); ModelServer modelServer = new ModelServer(configManager, gpuManager); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index a9c6911462..f724512e11 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -543,7 +543,7 @@ public void retry() { ++backoffIdx; } this.gpuId = gpuManager.getGPU(this.workerId); - + manager.getScheduler() .schedule(() -> manager.submitTask(this), BACK_OFF[backoffIdx], TimeUnit.SECONDS); logger.info("Retry worker: {} in {} seconds.", workerId, BACK_OFF[backoffIdx]); From 7bdd7140722ec6919219564dc64141379781696f Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 11:04:24 +0100 Subject: [PATCH 109/172] Implement GPU failure tracking --- .../org/pytorch/serve/util/GPUManager.java | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 649698fd45..eb6634c178 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -2,6 +2,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.ConcurrentHashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,19 +14,29 @@ public final class GPUManager { private static GPUManager instance; private int nGPUs; - private int[] memoryUsage; - private int[] nFailures; - private AtomicInteger gpuCounter; + private AtomicInteger[] nFailures; + private AtomicInteger[] memoryUsage; + private ConcurrentHashMap workerIds; private GPUManager(int nGPUs) { this.nGPUs = nGPUs; + this.workerIds = new ConcurrentHashMap(); if (nGPUs > 0) { - this.gpuCounter = new AtomicInteger(0); - this.memoryUsage = new int[this.nGPUs]; - this.nFailures = new int[this.nGPUs]; + this.nFailures = new AtomicInteger[this.nGPUs]; + this.memoryUsage = new AtomicInteger[this.nGPUs]; + for (int i = 0; i < this.nGPUs; i++) { + this.nFailures[i] = new AtomicInteger(0); + this.memoryUsage[i] = new AtomicInteger(-1); + } } } + private int queryNvidiaSmiMemory(int gpuId) { + // dummy for now + // returns -1 if memory unavailable, else memory in bytes + return 100; + } + public static void init(int nGPUs) { instance = new GPUManager(nGPUs); } @@ -35,12 +46,22 @@ public static GPUManager getInstance() { } public int getGPU(String workerId) { - int gpuId = -1; - if (this.nGPUs > 0) { - gpuId = gpuCounter.accumulateAndGet(this.nGPUs, (prev, maxGpuId) -> ++prev % maxGpuId); + // return -1 if there are no gpus + if (this.nGPUs == 0) { + return -1; + } + // if the worker was previously assigned to a GPU and now requests a new one, it has likely failed + // increment failure counter for the previously assigned GPU + if (this.workerIds.containsKey(workerId)) { + this.nFailures[this.workerIds.get(workerId)].incrementAndGet(); } + // get GPU memory usage per GPU + for (int i = 0; i < this.nGPUs; i++) { + this.memoryUsage[i].set(queryNvidiaSmiMemory(i)); + } + // assign GPU id (dummy for now) + int gpuId = 0; logger.info("Assigning gpuId " + String.valueOf(gpuId) + " to workerId " + workerId); return gpuId; } - } From 7ccca1b3a4139df7309af776a2922a673640093b Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 11:14:00 +0100 Subject: [PATCH 110/172] Implement free memory querying --- .../org/pytorch/serve/util/GPUManager.java | 52 +++++++++++++++---- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index eb6634c178..651e7fdeb9 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -3,6 +3,11 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.ConcurrentHashMap; +import java.nio.charset.StandardCharsets; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -15,7 +20,7 @@ public final class GPUManager { private int nGPUs; private AtomicInteger[] nFailures; - private AtomicInteger[] memoryUsage; + private AtomicInteger[] freeMemory; private ConcurrentHashMap workerIds; private GPUManager(int nGPUs) { @@ -23,18 +28,47 @@ private GPUManager(int nGPUs) { this.workerIds = new ConcurrentHashMap(); if (nGPUs > 0) { this.nFailures = new AtomicInteger[this.nGPUs]; - this.memoryUsage = new AtomicInteger[this.nGPUs]; + this.freeMemory = new AtomicInteger[this.nGPUs]; for (int i = 0; i < this.nGPUs; i++) { this.nFailures[i] = new AtomicInteger(0); - this.memoryUsage[i] = new AtomicInteger(-1); + this.freeMemory[i] = new AtomicInteger(-1); } } } - private int queryNvidiaSmiMemory(int gpuId) { - // dummy for now - // returns -1 if memory unavailable, else memory in bytes - return 100; + // code largely copied from WorkerThread::getGpuUsage + private int queryNvidiaSmiFreeMemory(int gpuId) { + Process process; + try { + process = + Runtime.getRuntime() + .exec( + "nvidia-smi -i " + + gpuId + + " --query-gpu=memory.free --format=csv,noheader,nounits"); + process.waitFor(); + int exitCode = process.exitValue(); + if (exitCode != 0) { + InputStream error = process.getErrorStream(); + for (int i = 0; i < error.available(); i++) { + logger.error("" + error.read()); + } + return -1; + } + InputStream stdout = process.getInputStream(); + BufferedReader reader = + new BufferedReader(new InputStreamReader(stdout, StandardCharsets.UTF_8)); + String line = reader.readLine(); + if (line == null) { + return -1; + } else { + return Integer.parseInt(line); + } + } catch (Exception e) { + logger.error("Exception raised : " + e.toString()); + } + + return -1; } public static void init(int nGPUs) { @@ -55,9 +89,9 @@ public int getGPU(String workerId) { if (this.workerIds.containsKey(workerId)) { this.nFailures[this.workerIds.get(workerId)].incrementAndGet(); } - // get GPU memory usage per GPU + // get free memory per GPU for (int i = 0; i < this.nGPUs; i++) { - this.memoryUsage[i].set(queryNvidiaSmiMemory(i)); + this.freeMemory[i].set(queryNvidiaSmiFreeMemory(i)); } // assign GPU id (dummy for now) int gpuId = 0; From 811fed743b2ee441f660850131bf63e13c904794 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 12:10:48 +0100 Subject: [PATCH 111/172] Implement random selection weighted by free memory --- .../org/pytorch/serve/util/GPUManager.java | 59 +++++++++++++++++-- 1 file changed, 53 insertions(+), 6 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 651e7fdeb9..7f644c74d4 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -1,8 +1,12 @@ package org.pytorch.serve.util; import java.util.Map; -import java.util.concurrent.atomic.AtomicInteger; +import java.util.Arrays; +import java.util.HashMap; +import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ThreadLocalRandom; +import java.util.concurrent.atomic.AtomicInteger; import java.nio.charset.StandardCharsets; import java.io.BufferedReader; import java.io.IOException; @@ -19,14 +23,21 @@ public final class GPUManager { private static GPUManager instance; private int nGPUs; + private int minFreeMemory; + private float maxShareFailures; private AtomicInteger[] nFailures; private AtomicInteger[] freeMemory; private ConcurrentHashMap workerIds; private GPUManager(int nGPUs) { this.nGPUs = nGPUs; - this.workerIds = new ConcurrentHashMap(); + + // TODO pass these through as parameters + this.minFreeMemory = 100; + this.maxShareFailures = 0.5f; + if (nGPUs > 0) { + this.workerIds = new ConcurrentHashMap (); this.nFailures = new AtomicInteger[this.nGPUs]; this.freeMemory = new AtomicInteger[this.nGPUs]; for (int i = 0; i < this.nGPUs; i++) { @@ -80,9 +91,10 @@ public static GPUManager getInstance() { } public int getGPU(String workerId) { + int gpuId = -1; // return -1 if there are no gpus if (this.nGPUs == 0) { - return -1; + return gpuId; } // if the worker was previously assigned to a GPU and now requests a new one, it has likely failed // increment failure counter for the previously assigned GPU @@ -93,9 +105,44 @@ public int getGPU(String workerId) { for (int i = 0; i < this.nGPUs; i++) { this.freeMemory[i].set(queryNvidiaSmiFreeMemory(i)); } - // assign GPU id (dummy for now) - int gpuId = 0; - logger.info("Assigning gpuId " + String.valueOf(gpuId) + " to workerId " + workerId); + // get total failures for share calculation + int nFailuresSum = 0; + for (int i = 0; i < this.nGPUs; i++) { + nFailuresSum += this.nFailures[i].intValue(); + } + // get free memory for all eligible GPUs + HashMap eligibleIdFreeMems = new HashMap (); + for (int i = 0; i < this.nGPUs; i++) { + // check that free memory is available and exceeds minimum + if (this.freeMemory[i].intValue() > this.minFreeMemory) { + // check that share of failures is smaller than maximum + float shareFailures = (float) this.nFailures[i].intValue() / (float) nFailuresSum; + if (shareFailures < this.maxShareFailures) { + eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); + } + } + } + // get sum of eligible id free memory for prob calculation + int eligibleIdFreeMemSum = 0; + for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { + eligibleIdFreeMemSum += entry.getValue(); + } + // store cumulative probabilities in navigable map + float cumProb = 0.0f; + TreeMap cumProbIds = new TreeMap (); + for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { + int i = entry.getKey(); + int freeMem = entry.getValue(); + cumProbIds.put(cumProb, i); + cumProb += (float) freeMem / (float) eligibleIdFreeMemSum; + } + // make random selection + float randFloat = ThreadLocalRandom.current().nextFloat(); + gpuId = cumProbIds.ceilingEntry(randFloat).getValue(); + logger.info("Assigning gpuId " + String.valueOf(gpuId) + + " with free memory " + String.valueOf(eligibleIdFreeMems.get(gpuId)) + + " with number of failures " + String.valueOf(this.nFailures[gpuId].intValue()) + + " to workerId " + workerId); return gpuId; } } From 09bc4a138748eaefee60503f015df6f92fc9f8d4 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 12:46:47 +0100 Subject: [PATCH 112/172] Handle case of none or only one eligible GPU --- .../org/pytorch/serve/util/GPUManager.java | 47 +++++++++++-------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 7f644c74d4..66af0712f4 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -122,27 +122,34 @@ public int getGPU(String workerId) { } } } - // get sum of eligible id free memory for prob calculation - int eligibleIdFreeMemSum = 0; - for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { - eligibleIdFreeMemSum += entry.getValue(); - } - // store cumulative probabilities in navigable map - float cumProb = 0.0f; - TreeMap cumProbIds = new TreeMap (); - for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { - int i = entry.getKey(); - int freeMem = entry.getValue(); - cumProbIds.put(cumProb, i); - cumProb += (float) freeMem / (float) eligibleIdFreeMemSum; + // fork on number of eligible GPUs + if (eligibleIdFreeMems.size() == 0) { + logger.error("No eligible GPUs available"); + } else if (eligibleIdFreeMems.size() == 1) { + gpuId = eligibleIdFreeMems.keySet().iterator().next(); + } else { + // get sum of eligible id free memory for prob calculation + int eligibleIdFreeMemSum = 0; + for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { + eligibleIdFreeMemSum += entry.getValue(); + } + // store cumulative probabilities in navigable map + float cumProb = 0.0f; + TreeMap cumProbIds = new TreeMap (); + for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { + int i = entry.getKey(); + int freeMem = entry.getValue(); + cumProbIds.put(cumProb, i); + cumProb += (float) freeMem / (float) eligibleIdFreeMemSum; + } + // make random selection + float randFloat = ThreadLocalRandom.current().nextFloat(); + gpuId = cumProbIds.ceilingEntry(randFloat).getValue(); + logger.info("Assigning gpuId " + String.valueOf(gpuId) + + " with free memory " + String.valueOf(eligibleIdFreeMems.get(gpuId)) + + " with number of failures " + String.valueOf(this.nFailures[gpuId].intValue()) + + " to workerId " + workerId); } - // make random selection - float randFloat = ThreadLocalRandom.current().nextFloat(); - gpuId = cumProbIds.ceilingEntry(randFloat).getValue(); - logger.info("Assigning gpuId " + String.valueOf(gpuId) + - " with free memory " + String.valueOf(eligibleIdFreeMems.get(gpuId)) + - " with number of failures " + String.valueOf(this.nFailures[gpuId].intValue()) + - " to workerId " + workerId); return gpuId; } } From d2696d430a48d4d6e0ba40e12762068af914e27e Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 14:18:38 +0100 Subject: [PATCH 113/172] Pass GPUManager parameters through --- .../java/org/pytorch/serve/ModelServer.java | 2 +- .../org/pytorch/serve/util/ConfigManager.java | 18 ++++++++++++++++++ .../org/pytorch/serve/util/GPUManager.java | 18 +++++++++++------- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java index 140c0148e9..3d5a0435cc 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java +++ b/frontend/server/src/main/java/org/pytorch/serve/ModelServer.java @@ -87,7 +87,7 @@ public static void main(String[] args) { ConfigManager configManager = ConfigManager.getInstance(); PluginsManager.getInstance().initialize(); MetricCache.init(); - GPUManager.init(configManager.getNumberOfGpu()); + GPUManager.init(configManager); GPUManager gpuManager = GPUManager.getInstance(); InternalLoggerFactory.setDefaultFactory(Slf4JLoggerFactory.INSTANCE); ModelServer modelServer = new ModelServer(configManager, gpuManager); diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 3898e88824..d4d25e6c17 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -66,6 +66,8 @@ public final class ConfigManager { private static final String TS_JOB_QUEUE_SIZE = "job_queue_size"; private static final String TS_NUMBER_OF_PRIORITIES = "n_priorities"; private static final String TS_NUMBER_OF_GPU = "number_of_gpu"; + private static final String TS_MIN_FREE_GPU_MEMORY = "min_free_gpu_memory"; + private static final String TS_MAX_SHARE_GPU_FAILURES = "max_share_gpu_failures"; private static final String TS_METRICS_CONFIG = "metrics_config"; private static final String TS_METRICS_MODE = "metrics_mode"; private static final String TS_DISABLE_SYSTEM_METRICS = "disable_system_metrics"; @@ -369,6 +371,14 @@ public int getNumberOfGpu() { return getIntProperty(TS_NUMBER_OF_GPU, 0); } + public int getMinFreeGpuMemory() { + return getIntProperty(TS_MIN_FREE_GPU_MEMORY, 4096); + } + + public float getMaxShareGpuFailures() { + return getFloatProperty(TS_MAX_SHARE_GPU_FAILURES, 0.90f); + } + public String getMetricsConfigPath() { String path = getCanonicalPath(prop.getProperty(TS_METRICS_CONFIG)); if (path == null) { @@ -705,6 +715,14 @@ private int getIntProperty(String key, int def) { return Integer.parseInt(value); } + private float getFloatProperty(String key, float def) { + String value = prop.getProperty(key); + if (value == null) { + return def; + } + return Float.parseFloat(value); + } + public int getDefaultResponseTimeout() { return Integer.parseInt(prop.getProperty(TS_DEFAULT_RESPONSE_TIMEOUT, "120")); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 66af0712f4..395d553135 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -29,12 +29,10 @@ public final class GPUManager { private AtomicInteger[] freeMemory; private ConcurrentHashMap workerIds; - private GPUManager(int nGPUs) { + private GPUManager(int nGPUs, int minFreeMemory, float maxShareFailures) { this.nGPUs = nGPUs; - - // TODO pass these through as parameters - this.minFreeMemory = 100; - this.maxShareFailures = 0.5f; + this.minFreeMemory = minFreeMemory; + this.maxShareFailures = maxShareFailures; if (nGPUs > 0) { this.workerIds = new ConcurrentHashMap (); @@ -82,8 +80,11 @@ private int queryNvidiaSmiFreeMemory(int gpuId) { return -1; } - public static void init(int nGPUs) { - instance = new GPUManager(nGPUs); + public static void init(ConfigManager configManager) { + int nGPUs = configManager.getNumberOfGpu(); + int minFreeMemory = configManager.getMinFreeGpuMemory(); + float maxShareFailures = configManager.getMaxShareGpuFailures(); + instance = new GPUManager(nGPUs, minFreeMemory, maxShareFailures); } public static GPUManager getInstance() { @@ -119,6 +120,9 @@ public int getGPU(String workerId) { float shareFailures = (float) this.nFailures[i].intValue() / (float) nFailuresSum; if (shareFailures < this.maxShareFailures) { eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); + } else { + logger.warn("GPU ID " + String.valueOf(i) + " deemed ineligible since it accounts for at least " + + String.valueOf(this.maxShareFailures) + " of failures"); } } } From f08104ccf993a4fa21bad29a1e71ddf69950fb36 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 17 Mar 2023 14:38:32 +0100 Subject: [PATCH 114/172] Make priorities into categorical values 'low', 'high', 'max' --- .../pytorch/serve/grpcimpl/InferenceImpl.java | 1 + .../main/java/org/pytorch/serve/job/Job.java | 13 +-- .../java/org/pytorch/serve/util/ApiUtils.java | 6 +- .../org/pytorch/serve/util/ConfigManager.java | 6 +- .../org/pytorch/serve/util/Prioritisable.java | 4 +- .../util/PriorityLinkedBlockingDeque.java | 85 ++++++++----------- .../java/org/pytorch/serve/wlm/Model.java | 10 +-- .../org/pytorch/serve/wlm/ModelManager.java | 4 +- 8 files changed, 54 insertions(+), 75 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java index 22df4724a3..91f3663ef6 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java @@ -125,6 +125,7 @@ private void prediction( String requestId = UUID.randomUUID().toString(); RequestInput inputData = new RequestInput(requestId); try { +<<<<<<< HEAD ModelManager modelManager = ModelManager.getInstance(); Model model = modelManager.getModel(modelName, modelVersion); if (model == null) { diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java index af198baec5..db644c446e 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java @@ -13,7 +13,7 @@ public abstract class Job implements Prioritisable { private String modelVersion; private WorkerCommands cmd; // Else its data msg or inf requests private RequestInput input; - private int priority; + private String priority; private long begin; private long scheduled; @@ -28,19 +28,14 @@ public Job(String modelName, String version, WorkerCommands cmd, RequestInput in input.updateHeaders(TS_STREAM_NEXT, "true"); } - Map headers = input.getHeaders(); - if (headers.containsKey("x-ts-priority")) { - this.priority = Integer.parseInt(headers.get("x-ts-priority")); - } else { - this.priority = 0; - } + this.priority = input.getHeaders().getOrDefault("x-ts-priority", "max"); } - public int getPriority() { + public String getPriority() { return this.priority; } - public void setPriority(int priority) { + public void setPriority(String priority) { this.priority = priority; } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java index c55c1f6dfd..707d870d09 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java @@ -424,7 +424,7 @@ public static RestJob addRESTInferenceJob( throws ModelNotFoundException, ModelVersionNotFoundException { RestJob job = new RestJob(ctx, modelName, version, WorkerCommands.PREDICT, input); if (!ModelManager.getInstance().addJob(job)) { - int priority = job.getPriority(); + String priority = job.getPriority(); String responseMessage = getInferenceErrorResponseMessage(modelName, version, priority); throw new ServiceUnavailableException(responseMessage); } @@ -432,14 +432,14 @@ public static RestJob addRESTInferenceJob( } @SuppressWarnings("PMD") - public static String getInferenceErrorResponseMessage(String modelName, String modelVersion, int jobPriority) { + public static String getInferenceErrorResponseMessage(String modelName, String modelVersion, String jobPriority) { String responseMessage = "Model: " + modelName + "\n"; if (modelVersion != null) { responseMessage += "Version: " + modelVersion + "\n"; } - responseMessage += "Priority: " + String.valueOf(jobPriority) + "\n"; + responseMessage += "Priority: " + jobPriority + "\n"; responseMessage += "Reason: queue full"; diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index d4d25e6c17..6a6e0249d9 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -64,7 +64,7 @@ public final class ConfigManager { private static final String TS_NUMBER_OF_NETTY_THREADS = "number_of_netty_threads"; private static final String TS_NETTY_CLIENT_THREADS = "netty_client_threads"; private static final String TS_JOB_QUEUE_SIZE = "job_queue_size"; - private static final String TS_NUMBER_OF_PRIORITIES = "n_priorities"; + private static final String TS_HIGH_PRIORITY_PROBABILITY = "high_prio_prob"; private static final String TS_NUMBER_OF_GPU = "number_of_gpu"; private static final String TS_MIN_FREE_GPU_MEMORY = "min_free_gpu_memory"; private static final String TS_MAX_SHARE_GPU_FAILURES = "max_share_gpu_failures"; @@ -363,8 +363,8 @@ public int getJobQueueSize() { return getIntProperty(TS_JOB_QUEUE_SIZE, 100); } - public int getNumberOfPriorities() { - return getIntProperty(TS_NUMBER_OF_PRIORITIES, 1); + public float getHighPrioProb() { + return getFloatProperty(TS_HIGH_PRIORITY_PROBABILITY, 0.67f); } public int getNumberOfGpu() { diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java index 4b4c76b264..88b109f213 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java @@ -2,7 +2,7 @@ public interface Prioritisable { - public int getPriority(); - public void setPriority(int priority); + public String getPriority(); + public void setPriority(String priority); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index a76da66c43..00c38658a8 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -8,6 +8,7 @@ import java.util.concurrent.TimeUnit; import java.util.function.BiFunction; import java.util.function.Function; +import java.util.Enumeration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,70 +20,52 @@ public class PriorityLinkedBlockingDeque { final ReentrantLock lock = new ReentrantLock(); private final Condition notEmpty = lock.newCondition(); - private int nPriorities; - private int sumPriorityWeights; - private int[] weightedPriorityMap; - private ConcurrentHashMap> priorityDeques; - - public PriorityLinkedBlockingDeque(int nPriorities, int queueSize) { - - this.nPriorities = nPriorities; - this.priorityDeques = new ConcurrentHashMap>(); - - // note: the weight calculation logic may be adapted to the user's needs - // sum of 0 + 1 + 2 + ... + nPriorities - 1 via triangular sum - this.sumPriorityWeights = ((this.nPriorities - 1) * this.nPriorities) / 2; - this.weightedPriorityMap = new int[sumPriorityWeights]; - - // initialize priority deques and weight map - int keyStart = 0; - for (int priority = 0; priority < this.nPriorities; priority++) { - this.priorityDeques.put(priority, new LinkedBlockingDeque(queueSize)); - if (priority > 0) { - // priority weights are inverse priority values for now - int priorityWeight = this.nPriorities - priority; - for (int key = keyStart; key < keyStart + priorityWeight; key++) { - this.weightedPriorityMap[key] = priority; - } - keyStart += priorityWeight; - } - } + private int queueSize; + private float highPrioProb; + private ConcurrentHashMap> priorityDeques; + + public PriorityLinkedBlockingDeque(int queueSize, float highPrioProb) { + + this.queueSize = queueSize; + this.highPrioProb = highPrioProb; + this.priorityDeques = new ConcurrentHashMap>(); + + // initialize priority deques + this.priorityDeques.put("max", new LinkedBlockingDeque(queueSize)); + this.priorityDeques.put("high", new LinkedBlockingDeque(queueSize)); + this.priorityDeques.put("low", new LinkedBlockingDeque(queueSize)); + } private LinkedBlockingDeque getDequeForExtraction() { - // always select deque 0 first if non-empty - if (this.nPriorities == 1 || !this.priorityDeques.get(0).isEmpty()) { - return this.priorityDeques.get(0); + // always select deque max first if non-empty + if (!this.priorityDeques.get("max").isEmpty()) { + return this.priorityDeques.get("max"); } - // sample according to weight map - int randInt = ThreadLocalRandom.current().nextInt(sumPriorityWeights); - int randPriority = this.weightedPriorityMap[randInt]; - LinkedBlockingDeque dequeForExtraction = this.priorityDeques.get(randPriority); - - // if sampled deque is empty, scan deques according to priority - if (dequeForExtraction.isEmpty()) { - for (int priority = 1; priority < this.nPriorities; priority++) { - LinkedBlockingDeque priorityDeque = this.priorityDeques.get(priority); - if (!priorityDeque.isEmpty()) { - return priorityDeque; - } + // return random deque unless it is empty and the other is non-empty + if (ThreadLocalRandom.current().nextFloat() < this.highPrioProb) { + if (this.priorityDeques.get("high").isEmpty() && !this.priorityDeques.get("low").isEmpty()) { + return this.priorityDeques.get("low"); + } + return this.priorityDeques.get("high"); + } else { + if (this.priorityDeques.get("low").isEmpty() && !this.priorityDeques.get("high").isEmpty()) { + return this.priorityDeques.get("high"); } + return this.priorityDeques.get("low"); } - return dequeForExtraction; } private LinkedBlockingDeque getDequeForInsertion(T p) { - int priority = p.getPriority(); + String priority = p.getPriority(); LinkedBlockingDeque dequeForInsertion = this.priorityDeques.get(priority); if (dequeForInsertion == null) { - logger.warn("Priority value " + String.valueOf(priority) + " not valid, setting to highest valid priority value " - + String.valueOf(this.nPriorities - 1) + "."); - int newPriority = this.nPriorities - 1; - p.setPriority(newPriority); - dequeForInsertion = this.priorityDeques.get(newPriority); + logger.warn("Priority value '" + priority + "' not valid, setting to 'low'."); + p.setPriority("low"); + dequeForInsertion = this.priorityDeques.get("low"); } return dequeForInsertion; @@ -98,9 +81,9 @@ private T unlinkFirst() { } public boolean isEmpty() { + // return true iff all deques are empty Function, Boolean> getIsEmpty = (LinkedBlockingDeque deque) -> deque.isEmpty(); BiFunction logicalAnd = (Boolean a, Boolean b) -> a && b; - // return true iff all deques are empty return this.priorityDeques.reduceValues(Long.MAX_VALUE, getIsEmpty, logicalAnd); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index a2fc3d197d..9b78c3c7d8 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -53,7 +53,7 @@ public class Model { private ReentrantLock lock; private int responseTimeout; private int queueSize; - private int nPriorities; + private float highPrioProb; private ModelVersionName modelVersionName; private AtomicInteger gpuCounter = new AtomicInteger(0); private boolean hasCfgDeviceIds; @@ -65,7 +65,7 @@ public class Model { // Per worker thread job queue. This separates out the control queue from data queue private ConcurrentMap> jobsDb; - public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { + public Model(ModelArchive modelArchive, int queueSize, float highPrioProb) { this.modelArchive = modelArchive; if (modelArchive != null && modelArchive.getModelConfig() != null) { if (modelArchive.getModelConfig().getParallelLevel() > 1 @@ -110,7 +110,7 @@ public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { } this.queueSize = queueSize; - this.nPriorities = nPriorities; + this.highPrioProb = highPrioProb; // TODO Simon: These two are commented out for now, as we set the further above // verify that this is correct // batchSize = 1; @@ -118,7 +118,7 @@ public Model(ModelArchive modelArchive, int queueSize, int nPriorities) { jobsDb = new ConcurrentHashMap<>(); // Always have a queue for data - jobsDb.putIfAbsent(DEFAULT_DATA_QUEUE, new PriorityLinkedBlockingDeque<>(this.nPriorities, this.queueSize)); + jobsDb.putIfAbsent(DEFAULT_DATA_QUEUE, new PriorityLinkedBlockingDeque<>(this.queueSize, this.highPrioProb)); failedInfReqs = new AtomicInteger(0); lock = new ReentrantLock(); modelVersionName = @@ -221,7 +221,7 @@ public void setWorkflowModel(boolean workflowModel) { public void addJob(String threadId, Job job) { PriorityLinkedBlockingDeque blockingDeque = jobsDb.get(threadId); if (blockingDeque == null) { - blockingDeque = new PriorityLinkedBlockingDeque<>(this.nPriorities, this.queueSize); + blockingDeque = new PriorityLinkedBlockingDeque<>(this.queueSize, this.highPrioProb); jobsDb.put(threadId, blockingDeque); } blockingDeque.offer(job); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java index 13bea02f3e..f018a3d66c 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java @@ -266,7 +266,7 @@ private Model createModel( int maxBatchDelay, int responseTimeout, boolean isWorkflowModel) { - Model model = new Model(archive, configManager.getJobQueueSize(), configManager.getNumberOfPriorities()); + Model model = new Model(archive, configManager.getJobQueueSize(), configManager.getHighPrioProb()); if (archive.getModelConfig() != null) { int marBatchSize = archive.getModelConfig().getBatchSize(); @@ -312,7 +312,7 @@ private Model createModel( } private Model createModel(ModelArchive archive, JsonObject modelInfo) { - Model model = new Model(archive, configManager.getJobQueueSize(), configManager.getNumberOfPriorities()); + Model model = new Model(archive, configManager.getJobQueueSize(), configManager.getHighPrioProb()); model.setModelState(modelInfo); model.setWorkflowModel(false); From be205783e71939772b50d6fcf9635ee5f7e59496 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 09:57:31 +0100 Subject: [PATCH 115/172] Adapt RequestPriority metric to categorical value --- .../server/src/main/java/org/pytorch/serve/job/GRPCJob.java | 4 ++-- .../server/src/main/java/org/pytorch/serve/job/RestJob.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java index 5085f23d8a..98e6ee7c43 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java @@ -111,12 +111,12 @@ public void response( new Metric( "RequestPriority", String.valueOf(this.getPriority()), - "int", + "category", ConfigManager.getInstance().getHostName(), DIMENSION)); } } - + } else if (this.getCmd() == WorkerCommands.DESCRIBE) { try { ArrayList respList = diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index f1f1f4d720..1fa07ef5eb 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -185,7 +185,7 @@ private void responseInference( } else if (responsePromise != null) { responsePromise.complete(body); } - + if (numStreams <= 0) { if (this.inferenceLatencyMetric != null) { try { @@ -238,7 +238,7 @@ private void responseInference( new Metric( "RequestPriority", String.valueOf(this.getPriority()), - "int", + "category", ConfigManager.getInstance().getHostName(), DIMENSION)); } From a83c8f6ddd77a10469b89f42a0d3f332cda08ba9 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 14:47:17 +0100 Subject: [PATCH 116/172] Make priority enum --- .../pytorch/serve/grpcimpl/InferenceImpl.java | 3 +-- .../java/org/pytorch/serve/job/GRPCJob.java | 1 - .../main/java/org/pytorch/serve/job/Job.java | 9 +++++---- .../java/org/pytorch/serve/job/RestJob.java | 2 +- .../java/org/pytorch/serve/util/ApiUtils.java | 2 +- .../org/pytorch/serve/util/Prioritisable.java | 4 ++-- .../java/org/pytorch/serve/util/Priority.java | 5 +++++ .../util/PriorityLinkedBlockingDeque.java | 20 ++++++------------- 8 files changed, 21 insertions(+), 25 deletions(-) create mode 100644 frontend/server/src/main/java/org/pytorch/serve/util/Priority.java diff --git a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java index 91f3663ef6..1aef4a2559 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java +++ b/frontend/server/src/main/java/org/pytorch/serve/grpcimpl/InferenceImpl.java @@ -125,7 +125,6 @@ private void prediction( String requestId = UUID.randomUUID().toString(); RequestInput inputData = new RequestInput(requestId); try { -<<<<<<< HEAD ModelManager modelManager = ModelManager.getInstance(); Model model = modelManager.getModel(modelName, modelVersion); if (model == null) { @@ -158,7 +157,7 @@ private void prediction( Job job = new GRPCJob(responseObserver, modelName, modelVersion, workerCmd, inputData); if (!modelManager.addJob(job)) { - int priority = job.getPriority(); + String priority = job.getPriority().toString(); String responseMessage = ApiUtils.getInferenceErrorResponseMessage(modelName, modelVersion, priority); InternalServerException e = new InternalServerException(responseMessage); diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java index 98e6ee7c43..abad1e62ec 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java @@ -116,7 +116,6 @@ public void response( DIMENSION)); } } - } else if (this.getCmd() == WorkerCommands.DESCRIBE) { try { ArrayList respList = diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java index db644c446e..6983a72af2 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/Job.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/Job.java @@ -6,6 +6,7 @@ import org.pytorch.serve.util.messages.RequestInput; import org.pytorch.serve.util.messages.WorkerCommands; import org.pytorch.serve.util.Prioritisable; +import org.pytorch.serve.util.Priority; public abstract class Job implements Prioritisable { @@ -13,7 +14,7 @@ public abstract class Job implements Prioritisable { private String modelVersion; private WorkerCommands cmd; // Else its data msg or inf requests private RequestInput input; - private String priority; + private Priority priority; private long begin; private long scheduled; @@ -28,14 +29,14 @@ public Job(String modelName, String version, WorkerCommands cmd, RequestInput in input.updateHeaders(TS_STREAM_NEXT, "true"); } - this.priority = input.getHeaders().getOrDefault("x-ts-priority", "max"); + this.priority = Priority.valueOf(input.getHeaders().getOrDefault("x-ts-priority", "MAX").toUpperCase()); } - public String getPriority() { + public Priority getPriority() { return this.priority; } - public void setPriority(String priority) { + public void setPriority(Priority priority) { this.priority = priority; } diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index 1fa07ef5eb..93531fdd4b 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -207,7 +207,7 @@ private void responseInference( "Failed to update frontend metric ts_queue_latency_microseconds: ", e); } } - + logger.debug( "Waiting time ns: {}, Backend time ns: {}", getScheduled() - getBegin(), diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java index 707d870d09..89dc316613 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ApiUtils.java @@ -424,7 +424,7 @@ public static RestJob addRESTInferenceJob( throws ModelNotFoundException, ModelVersionNotFoundException { RestJob job = new RestJob(ctx, modelName, version, WorkerCommands.PREDICT, input); if (!ModelManager.getInstance().addJob(job)) { - String priority = job.getPriority(); + String priority = job.getPriority().toString(); String responseMessage = getInferenceErrorResponseMessage(modelName, version, priority); throw new ServiceUnavailableException(responseMessage); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java index 88b109f213..752d64f9d6 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/Prioritisable.java @@ -2,7 +2,7 @@ public interface Prioritisable { - public String getPriority(); - public void setPriority(String priority); + public Priority getPriority(); + public void setPriority(Priority priority); } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/Priority.java b/frontend/server/src/main/java/org/pytorch/serve/util/Priority.java new file mode 100644 index 0000000000..ce065431a8 --- /dev/null +++ b/frontend/server/src/main/java/org/pytorch/serve/util/Priority.java @@ -0,0 +1,5 @@ +package org.pytorch.serve.util; + +public enum Priority { + LOW, HIGH, MAX +} diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 00c38658a8..1f1bfd85d4 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -22,19 +22,18 @@ public class PriorityLinkedBlockingDeque { private int queueSize; private float highPrioProb; - private ConcurrentHashMap> priorityDeques; + private ConcurrentHashMap> priorityDeques; public PriorityLinkedBlockingDeque(int queueSize, float highPrioProb) { this.queueSize = queueSize; this.highPrioProb = highPrioProb; - this.priorityDeques = new ConcurrentHashMap>(); + this.priorityDeques = new ConcurrentHashMap>(); // initialize priority deques - this.priorityDeques.put("max", new LinkedBlockingDeque(queueSize)); - this.priorityDeques.put("high", new LinkedBlockingDeque(queueSize)); - this.priorityDeques.put("low", new LinkedBlockingDeque(queueSize)); - + for (Priority priority : Priority.values()) { + this.priorityDeques.put(priority, new LinkedBlockingDeque(queueSize)); + } } private LinkedBlockingDeque getDequeForExtraction() { @@ -59,15 +58,8 @@ private LinkedBlockingDeque getDequeForExtraction() { } private LinkedBlockingDeque getDequeForInsertion(T p) { - String priority = p.getPriority(); + Priority priority = p.getPriority(); LinkedBlockingDeque dequeForInsertion = this.priorityDeques.get(priority); - - if (dequeForInsertion == null) { - logger.warn("Priority value '" + priority + "' not valid, setting to 'low'."); - p.setPriority("low"); - dequeForInsertion = this.priorityDeques.get("low"); - } - return dequeForInsertion; } From 641774a4a8a172d8e6bf09880d2dc9febc8a8e90 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 14:53:24 +0100 Subject: [PATCH 117/172] Validate high priority probability --- .../main/java/org/pytorch/serve/util/ConfigManager.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java index 6a6e0249d9..6a7499959d 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/ConfigManager.java @@ -363,8 +363,13 @@ public int getJobQueueSize() { return getIntProperty(TS_JOB_QUEUE_SIZE, 100); } - public float getHighPrioProb() { - return getFloatProperty(TS_HIGH_PRIORITY_PROBABILITY, 0.67f); + public float getHighPrioProb() throws IllegalArgumentException { + float highPrioProb = getFloatProperty(TS_HIGH_PRIORITY_PROBABILITY, 0.67f); + if (highPrioProb < 0.00f || highPrioProb > 1.00f){ + throw new IllegalArgumentException("highPrioProb " + String.valueOf(highPrioProb) + + " is not a valid probability!"); + } + return highPrioProb; } public int getNumberOfGpu() { From a296201dd12dc690d51db6a86ad8b14e9c1ef1ae Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 14:54:39 +0100 Subject: [PATCH 118/172] Shorten empty check --- .../org/pytorch/serve/util/PriorityLinkedBlockingDeque.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 1f1bfd85d4..f9487f9291 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -74,9 +74,7 @@ private T unlinkFirst() { public boolean isEmpty() { // return true iff all deques are empty - Function, Boolean> getIsEmpty = (LinkedBlockingDeque deque) -> deque.isEmpty(); - BiFunction logicalAnd = (Boolean a, Boolean b) -> a && b; - return this.priorityDeques.reduceValues(Long.MAX_VALUE, getIsEmpty, logicalAnd); + return this.priorityDeques.reduceValues(Long.MAX_VALUE, LinkedBlockingDeque::isEmpty, Boolean::logicalAnd); } public boolean offer(T p) { From 11b6110c41123dba7eb344131f1831d99cd95dcc Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 14:55:26 +0100 Subject: [PATCH 119/172] Remove unnecessary queueSize storage --- .../org/pytorch/serve/util/PriorityLinkedBlockingDeque.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index f9487f9291..9cf957605a 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -20,13 +20,11 @@ public class PriorityLinkedBlockingDeque { final ReentrantLock lock = new ReentrantLock(); private final Condition notEmpty = lock.newCondition(); - private int queueSize; private float highPrioProb; private ConcurrentHashMap> priorityDeques; public PriorityLinkedBlockingDeque(int queueSize, float highPrioProb) { - this.queueSize = queueSize; this.highPrioProb = highPrioProb; this.priorityDeques = new ConcurrentHashMap>(); From 6b39d18e3798701d99070d19a33542487bb65b91 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 14:56:30 +0100 Subject: [PATCH 120/172] Make private attributes final --- .../org/pytorch/serve/util/PriorityLinkedBlockingDeque.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 9cf957605a..cec2299d0e 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -20,8 +20,8 @@ public class PriorityLinkedBlockingDeque { final ReentrantLock lock = new ReentrantLock(); private final Condition notEmpty = lock.newCondition(); - private float highPrioProb; - private ConcurrentHashMap> priorityDeques; + private final float highPrioProb; + private final ConcurrentHashMap> priorityDeques; public PriorityLinkedBlockingDeque(int queueSize, float highPrioProb) { From 1fb4910a9d3eaa7ab808ec9db313308456bb5c35 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 20 Mar 2023 15:18:32 +0100 Subject: [PATCH 121/172] Refactor random deque selection --- .../util/PriorityLinkedBlockingDeque.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index cec2299d0e..1d734796ea 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -37,22 +37,27 @@ public PriorityLinkedBlockingDeque(int queueSize, float highPrioProb) { private LinkedBlockingDeque getDequeForExtraction() { // always select deque max first if non-empty - if (!this.priorityDeques.get("max").isEmpty()) { - return this.priorityDeques.get("max"); + if (!this.priorityDeques.get(Priority.MAX).isEmpty()) { + return this.priorityDeques.get(Priority.MAX); } - // return random deque unless it is empty and the other is non-empty - if (ThreadLocalRandom.current().nextFloat() < this.highPrioProb) { - if (this.priorityDeques.get("high").isEmpty() && !this.priorityDeques.get("low").isEmpty()) { - return this.priorityDeques.get("low"); - } - return this.priorityDeques.get("high"); - } else { - if (this.priorityDeques.get("low").isEmpty() && !this.priorityDeques.get("high").isEmpty()) { - return this.priorityDeques.get("high"); + boolean highNonEmpty = !this.priorityDeques.get(Priority.HIGH).isEmpty(); + + // if both high and low are non-empty, make random selection + if (highNonEmpty && !this.priorityDeques.get(Priority.LOW).isEmpty()) { + if (ThreadLocalRandom.current().nextFloat() < this.highPrioProb) { + return this.priorityDeques.get(Priority.HIGH); + } else { + return this.priorityDeques.get(Priority.LOW); } - return this.priorityDeques.get("low"); + // if only high is non-empty, return high + } else if (highNonEmpty) { + return this.priorityDeques.get(Priority.HIGH); } + + // if both empty or only low non-empty, return low + return this.priorityDeques.get(Priority.LOW); + } private LinkedBlockingDeque getDequeForInsertion(T p) { From 624f1080cfa84fc34988cee4439fed2f09a9e204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6msl?= <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:51:10 +0100 Subject: [PATCH 122/172] Remove unused import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Simon Schölly --- .../server/src/main/java/org/pytorch/serve/util/GPUManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 395d553135..71c2ea3a4b 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -1,7 +1,6 @@ package org.pytorch.serve.util; import java.util.Map; -import java.util.Arrays; import java.util.HashMap; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; From 181f549a0ee068845bd78f36fa472f066a7462e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6msl?= <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:51:29 +0100 Subject: [PATCH 123/172] Remove unused import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Simon Schölly --- .../server/src/main/java/org/pytorch/serve/util/GPUManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 71c2ea3a4b..2949e082de 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -8,7 +8,6 @@ import java.util.concurrent.atomic.AtomicInteger; import java.nio.charset.StandardCharsets; import java.io.BufferedReader; -import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; From 84c9d537fbbcb8fec4ac411d14c149cb07214b02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6msl?= <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:51:51 +0100 Subject: [PATCH 124/172] Make variables final MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Simon Schölly --- .../src/main/java/org/pytorch/serve/util/GPUManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 2949e082de..ec265ff030 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -20,9 +20,9 @@ public final class GPUManager { private static GPUManager instance; - private int nGPUs; - private int minFreeMemory; - private float maxShareFailures; + private final int nGPUs; + private final int minFreeMemory; + private final float maxShareFailures; private AtomicInteger[] nFailures; private AtomicInteger[] freeMemory; private ConcurrentHashMap workerIds; From eddb670e40c3a0c3eaac72105cd3db9c8aefea2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6msl?= <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:52:35 +0100 Subject: [PATCH 125/172] Improve log formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Simon Schölly --- .../server/src/main/java/org/pytorch/serve/util/GPUManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index ec265ff030..850ac87005 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -72,7 +72,7 @@ private int queryNvidiaSmiFreeMemory(int gpuId) { return Integer.parseInt(line); } } catch (Exception e) { - logger.error("Exception raised : " + e.toString()); + logger.error("An exception occurred when querying for free gpu memory", e); } return -1; From bb86317150c048bc76c5aa8551ceacf14453b822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6msl?= <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:55:02 +0100 Subject: [PATCH 126/172] Remove dtype specification MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Simon Schölly --- .../server/src/main/java/org/pytorch/serve/util/GPUManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 850ac87005..95d506e8fd 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -33,7 +33,7 @@ private GPUManager(int nGPUs, int minFreeMemory, float maxShareFailures) { this.maxShareFailures = maxShareFailures; if (nGPUs > 0) { - this.workerIds = new ConcurrentHashMap (); + this.workerIds = new ConcurrentHashMap<> (); this.nFailures = new AtomicInteger[this.nGPUs]; this.freeMemory = new AtomicInteger[this.nGPUs]; for (int i = 0; i < this.nGPUs; i++) { From 92f4247fde69aac8f75a118026341a7288c86cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=B6msl?= <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:55:35 +0100 Subject: [PATCH 127/172] Improve logging syntax MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Simon Schölly --- .../src/main/java/org/pytorch/serve/util/GPUManager.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 95d506e8fd..ccda506e58 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -119,8 +119,7 @@ public int getGPU(String workerId) { if (shareFailures < this.maxShareFailures) { eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); } else { - logger.warn("GPU ID " + String.valueOf(i) + " deemed ineligible since it accounts for at least " + - String.valueOf(this.maxShareFailures) + " of failures"); + logger.warn("GPU ID {} deemed ineligible since it accounts for at least {} of failures", i, this.maxShareFailures); } } } From 48a94191c4a13846eea10c37ac74af6acffcd2e0 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 13:23:28 +0100 Subject: [PATCH 128/172] Implement fixed-length gpu failure history --- .../org/pytorch/serve/util/GPUManager.java | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index ccda506e58..3a62d7ee4d 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -3,6 +3,8 @@ import java.util.Map; import java.util.HashMap; import java.util.TreeMap; +import java.util.Iterator; +import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicInteger; @@ -17,27 +19,29 @@ public final class GPUManager { private static final Logger logger = LoggerFactory.getLogger(GPUManager.class); + private static final int nFailureHistory = 100; private static GPUManager instance; private final int nGPUs; private final int minFreeMemory; private final float maxShareFailures; - private AtomicInteger[] nFailures; + private AtomicInteger[] freeMemory; private ConcurrentHashMap workerIds; + private LinkedBlockingDeque gpuFailureHistory; private GPUManager(int nGPUs, int minFreeMemory, float maxShareFailures) { this.nGPUs = nGPUs; this.minFreeMemory = minFreeMemory; this.maxShareFailures = maxShareFailures; + this.gpuFailureHistory = new LinkedBlockingDeque<> (nFailureHistory); + this.workerIds = new ConcurrentHashMap<> (); + if (nGPUs > 0) { - this.workerIds = new ConcurrentHashMap<> (); - this.nFailures = new AtomicInteger[this.nGPUs]; this.freeMemory = new AtomicInteger[this.nGPUs]; for (int i = 0; i < this.nGPUs; i++) { - this.nFailures[i] = new AtomicInteger(0); this.freeMemory[i] = new AtomicInteger(-1); } } @@ -95,19 +99,24 @@ public int getGPU(String workerId) { if (this.nGPUs == 0) { return gpuId; } + int failedGpuId; // if the worker was previously assigned to a GPU and now requests a new one, it has likely failed - // increment failure counter for the previously assigned GPU + // add failed gpu id to failure history, removing old entries to make space if necessary if (this.workerIds.containsKey(workerId)) { - this.nFailures[this.workerIds.get(workerId)].incrementAndGet(); + failedGpuId = this.workerIds.get(workerId); + while (!this.gpuFailureHistory.offer(failedGpuId)) { + this.gpuFailureHistory.removeFirst(); + } } // get free memory per GPU for (int i = 0; i < this.nGPUs; i++) { this.freeMemory[i].set(queryNvidiaSmiFreeMemory(i)); } - // get total failures for share calculation - int nFailuresSum = 0; - for (int i = 0; i < this.nGPUs; i++) { - nFailuresSum += this.nFailures[i].intValue(); + // get failures for share calculation + int[] nFailures = new int[this.nGPUs]; + for (Iterator iter = this.gpuFailureHistory.iterator(); iter.hasNext();) { + failedGpuId = iter.next(); + nFailures[failedGpuId]++; } // get free memory for all eligible GPUs HashMap eligibleIdFreeMems = new HashMap (); @@ -115,7 +124,7 @@ public int getGPU(String workerId) { // check that free memory is available and exceeds minimum if (this.freeMemory[i].intValue() > this.minFreeMemory) { // check that share of failures is smaller than maximum - float shareFailures = (float) this.nFailures[i].intValue() / (float) nFailuresSum; + float shareFailures = (float) nFailures[i] / (float) this.gpuFailureHistory.size(); if (shareFailures < this.maxShareFailures) { eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); } else { @@ -146,9 +155,9 @@ public int getGPU(String workerId) { // make random selection float randFloat = ThreadLocalRandom.current().nextFloat(); gpuId = cumProbIds.ceilingEntry(randFloat).getValue(); - logger.info("Assigning gpuId " + String.valueOf(gpuId) + - " with free memory " + String.valueOf(eligibleIdFreeMems.get(gpuId)) + - " with number of failures " + String.valueOf(this.nFailures[gpuId].intValue()) + + logger.info("Assigning gpuId " + gpuId + + " with free memory " + eligibleIdFreeMems.get(gpuId) + + " with number of failures " + nFailures[gpuId] + " to workerId " + workerId); } return gpuId; From 9ed4996f4c68e416a550dcf170f16246de1e5abf Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Wed, 22 Mar 2023 16:51:47 +0100 Subject: [PATCH 129/172] Make public methods synchronized and replace concurrent data structures --- .../org/pytorch/serve/util/GPUManager.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 3a62d7ee4d..860e703719 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -4,8 +4,7 @@ import java.util.HashMap; import java.util.TreeMap; import java.util.Iterator; -import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.ConcurrentHashMap; +import java.util.ArrayDeque; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicInteger; import java.nio.charset.StandardCharsets; @@ -28,16 +27,16 @@ public final class GPUManager { private final float maxShareFailures; private AtomicInteger[] freeMemory; - private ConcurrentHashMap workerIds; - private LinkedBlockingDeque gpuFailureHistory; + private HashMap workerIds; + private ArrayDeque gpuFailureHistory; private GPUManager(int nGPUs, int minFreeMemory, float maxShareFailures) { this.nGPUs = nGPUs; this.minFreeMemory = minFreeMemory; this.maxShareFailures = maxShareFailures; - this.gpuFailureHistory = new LinkedBlockingDeque<> (nFailureHistory); - this.workerIds = new ConcurrentHashMap<> (); + this.gpuFailureHistory = new ArrayDeque<> (); + this.workerIds = new HashMap<> (); if (nGPUs > 0) { this.freeMemory = new AtomicInteger[this.nGPUs]; @@ -82,18 +81,18 @@ private int queryNvidiaSmiFreeMemory(int gpuId) { return -1; } - public static void init(ConfigManager configManager) { + public static synchronized void init(ConfigManager configManager) { int nGPUs = configManager.getNumberOfGpu(); int minFreeMemory = configManager.getMinFreeGpuMemory(); float maxShareFailures = configManager.getMaxShareGpuFailures(); instance = new GPUManager(nGPUs, minFreeMemory, maxShareFailures); } - public static GPUManager getInstance() { + public static synchronized GPUManager getInstance() { return instance; } - public int getGPU(String workerId) { + public synchronized int getGPU(String workerId) { int gpuId = -1; // return -1 if there are no gpus if (this.nGPUs == 0) { @@ -104,9 +103,10 @@ public int getGPU(String workerId) { // add failed gpu id to failure history, removing old entries to make space if necessary if (this.workerIds.containsKey(workerId)) { failedGpuId = this.workerIds.get(workerId); - while (!this.gpuFailureHistory.offer(failedGpuId)) { + while (this.gpuFailureHistory.size() > nFailureHistory - 1) { this.gpuFailureHistory.removeFirst(); } + this.gpuFailureHistory.addLast(failedGpuId); } // get free memory per GPU for (int i = 0; i < this.nGPUs; i++) { From 46969a3dcb1c44cb8c228d2ef5dafdb4b37d90a3 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 23 Mar 2023 14:17:01 +0100 Subject: [PATCH 130/172] Fix divide by zero on empty failure history --- .../org/pytorch/serve/util/GPUManager.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 860e703719..5c4fe54ea4 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -93,10 +93,9 @@ public static synchronized GPUManager getInstance() { } public synchronized int getGPU(String workerId) { - int gpuId = -1; // return -1 if there are no gpus if (this.nGPUs == 0) { - return gpuId; + return -1; } int failedGpuId; // if the worker was previously assigned to a GPU and now requests a new one, it has likely failed @@ -123,19 +122,27 @@ public synchronized int getGPU(String workerId) { for (int i = 0; i < this.nGPUs; i++) { // check that free memory is available and exceeds minimum if (this.freeMemory[i].intValue() > this.minFreeMemory) { - // check that share of failures is smaller than maximum - float shareFailures = (float) nFailures[i] / (float) this.gpuFailureHistory.size(); - if (shareFailures < this.maxShareFailures) { - eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); + if (this.gpuFailureHistory.size() > 1) { + // check that share of failures is smaller than maximum + float shareFailures = (float) nFailures[i] / (float) this.gpuFailureHistory.size(); + if (shareFailures < this.maxShareFailures) { + eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); + } else { + logger.warn("GPU ID {} deemed ineligible since it accounts for {} out of failures {}", i, nFailures[i], this.maxShareFailures); + } } else { - logger.warn("GPU ID {} deemed ineligible since it accounts for at least {} of failures", i, this.maxShareFailures); + eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); } + } } // fork on number of eligible GPUs + int gpuId = -1; if (eligibleIdFreeMems.size() == 0) { - logger.error("No eligible GPUs available"); - } else if (eligibleIdFreeMems.size() == 1) { + logger.error("No eligible GPUs available, falling back to CPU"); + return gpuId; + } + if (eligibleIdFreeMems.size() == 1) { gpuId = eligibleIdFreeMems.keySet().iterator().next(); } else { // get sum of eligible id free memory for prob calculation @@ -155,11 +162,11 @@ public synchronized int getGPU(String workerId) { // make random selection float randFloat = ThreadLocalRandom.current().nextFloat(); gpuId = cumProbIds.ceilingEntry(randFloat).getValue(); - logger.info("Assigning gpuId " + gpuId + - " with free memory " + eligibleIdFreeMems.get(gpuId) + - " with number of failures " + nFailures[gpuId] + - " to workerId " + workerId); } + logger.info("Assigning gpuId " + gpuId + + " with free memory " + eligibleIdFreeMems.get(gpuId) + + " with number of failures " + nFailures[gpuId] + + " to workerId " + workerId); return gpuId; } } From 330647e42444cae5ab946873b19b292bb02f017a Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 23 Mar 2023 16:57:03 +0100 Subject: [PATCH 131/172] Add debug statements --- .../src/main/java/org/pytorch/serve/util/GPUManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 5c4fe54ea4..13c2215284 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -133,9 +133,11 @@ public synchronized int getGPU(String workerId) { } else { eligibleIdFreeMems.put(i, this.freeMemory[i].intValue()); } + logger.info("eligibleIdFreeMems[{}] {}", i, this.freeMemory[i].intValue()); } } + logger.info("eligibleIdFreeMems.size() {}", eligibleIdFreeMems.size()); // fork on number of eligible GPUs int gpuId = -1; if (eligibleIdFreeMems.size() == 0) { @@ -150,6 +152,7 @@ public synchronized int getGPU(String workerId) { for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { eligibleIdFreeMemSum += entry.getValue(); } + logger.info("eligibleIdFreeMemSum {}", eligibleIdFreeMemSum); // store cumulative probabilities in navigable map float cumProb = 0.0f; TreeMap cumProbIds = new TreeMap (); @@ -157,11 +160,14 @@ public synchronized int getGPU(String workerId) { int i = entry.getKey(); int freeMem = entry.getValue(); cumProbIds.put(cumProb, i); + logger.info("cumProbIds[{}] {} because of freeMem {}", cumProb, i, freeMem); cumProb += (float) freeMem / (float) eligibleIdFreeMemSum; } // make random selection float randFloat = ThreadLocalRandom.current().nextFloat(); + logger.info("randFloat {}", randFloat); gpuId = cumProbIds.ceilingEntry(randFloat).getValue(); + logger.info("gpuId {}", gpuId); } logger.info("Assigning gpuId " + gpuId + " with free memory " + eligibleIdFreeMems.get(gpuId) + From 84a4aa78e0942a180f61a0bf6b7d0cf3a36a3c0f Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 23 Mar 2023 18:39:28 +0100 Subject: [PATCH 132/172] Fix ceiling semantics --- .../server/src/main/java/org/pytorch/serve/job/RestJob.java | 2 +- .../src/main/java/org/pytorch/serve/util/GPUManager.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index 93531fdd4b..1fa07ef5eb 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -207,7 +207,7 @@ private void responseInference( "Failed to update frontend metric ts_queue_latency_microseconds: ", e); } } - + logger.debug( "Waiting time ns: {}, Backend time ns: {}", getScheduled() - getBegin(), diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java index 13c2215284..410a34bdcc 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/GPUManager.java @@ -159,9 +159,10 @@ public synchronized int getGPU(String workerId) { for (Map.Entry entry : eligibleIdFreeMems.entrySet()) { int i = entry.getKey(); int freeMem = entry.getValue(); + cumProb += (float) freeMem / (float) eligibleIdFreeMemSum; cumProbIds.put(cumProb, i); + // TODO Simon: This log should maybe have been removed during rebase logger.info("cumProbIds[{}] {} because of freeMem {}", cumProb, i, freeMem); - cumProb += (float) freeMem / (float) eligibleIdFreeMemSum; } // make random selection float randFloat = ThreadLocalRandom.current().nextFloat(); From 33cd1df8f363cd5188efdd27e130d021d1d0ef79 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Mon, 27 Mar 2023 16:33:42 +0200 Subject: [PATCH 133/172] Adopt x-request-id value has prefix for internal request id to ensure uniqueness of internal ids --- .../server/src/main/java/org/pytorch/serve/http/Session.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/http/Session.java b/frontend/server/src/main/java/org/pytorch/serve/http/Session.java index 28952d2e85..1e0496e0ab 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/http/Session.java +++ b/frontend/server/src/main/java/org/pytorch/serve/http/Session.java @@ -27,7 +27,8 @@ public Session(String remoteIp, HttpRequest request) { HttpHeaders headers = request.headers(); if (headers.contains("x-request-id")) { - requestId = headers.getAsString("x-request-id"); + // adopt header value as prefix for internal request id + requestId = headers.getAsString("x-request-id") + ":" + UUID.randomUUID().toString(); } else { requestId = UUID.randomUUID().toString(); } From d9e9c249b66847c5b62fc83be73a725e17e0fa6f Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 30 Mar 2023 18:42:37 +0200 Subject: [PATCH 134/172] Implement regularly polled and logged queue status metric --- .../serve/metrics/MetricCollector.java | 25 +++++++++++++++++-- .../util/PriorityLinkedBlockingDeque.java | 11 ++++++++ .../java/org/pytorch/serve/wlm/Model.java | 3 +++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java index 1585d71e90..654d0113b1 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java @@ -12,8 +12,10 @@ import org.apache.commons.io.IOUtils; import org.pytorch.serve.util.ConfigManager; import org.pytorch.serve.util.messages.EnvironmentUtils; +import org.pytorch.serve.wlm.ModelVersionedRefs; import org.pytorch.serve.wlm.ModelManager; import org.pytorch.serve.wlm.WorkerThread; +import org.pytorch.serve.wlm.Model; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,6 +33,26 @@ public MetricCollector(ConfigManager configManager) { @Override public void run() { try { + + // Collect Model level Metrics + ModelManager modelManager = ModelManager.getInstance(); + for (Map.Entry mEntry : modelManager.getAllModels()) { + String modelName = mEntry.getKey(); + for (Map.Entry vEntry : mEntry.getValue().getAllVersions()) { + String versionName = vEntry.getKey(); + Model model = vEntry.getValue(); + String mvStatusString = model.getQueueStatusString(); + loggerMetrics.info( + "{}", + new Metric( + "QueueStatus", + mvStatusString, + "jobsInQueue", + modelName, + new Dimension("Level", "ModelVersion"))); + } + } + // Collect System level Metrics String[] args = new String[4]; args[0] = configManager.getPythonExecutable(); @@ -40,9 +62,8 @@ public void run() { File workingDir = new File(configManager.getModelServerHome()); String[] envp = EnvironmentUtils.getEnvString(workingDir.getAbsolutePath(), null, null); - final Process p = Runtime.getRuntime().exec(args, envp, workingDir); // NOPMD - ModelManager modelManager = ModelManager.getInstance(); + Map workerMap = modelManager.getWorkers(); try (OutputStream os = p.getOutputStream()) { writeWorkerPids(workerMap, os); diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 1d734796ea..2213d372a7 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -129,4 +129,15 @@ public T poll(long timeout, TimeUnit unit) throws InterruptedException { lock.unlock(); } } + + public String getQueueStatusString() { + String response = ""; + for (Priority priority : Priority.values()) { + int currentQueueStatus = this.priorityDeques.get(priority).size(); + response = response + priority.toString() + "=" + String.valueOf(currentQueueStatus) + ","; + } + response = response.substring(0, response.length() - 1); + return response; + + } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 9b78c3c7d8..b3febff979 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -373,5 +373,8 @@ public long getClientTimeoutInMills() { public void setClientTimeoutInMills(long clientTimeoutInMills) { this.clientTimeoutInMills = clientTimeoutInMills; + + public String getQueueStatusString() { + return jobsDb.get(DEFAULT_DATA_QUEUE).getQueueStatusString(); } } From ef244040dfac12096f5d009e853cd1cccfd55e02 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 30 Mar 2023 19:22:53 +0200 Subject: [PATCH 135/172] Add max queue size to status string --- .../org/pytorch/serve/util/PriorityLinkedBlockingDeque.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 2213d372a7..8660c75bbb 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -20,11 +20,13 @@ public class PriorityLinkedBlockingDeque { final ReentrantLock lock = new ReentrantLock(); private final Condition notEmpty = lock.newCondition(); + private final int queueSize; private final float highPrioProb; private final ConcurrentHashMap> priorityDeques; public PriorityLinkedBlockingDeque(int queueSize, float highPrioProb) { + this.queueSize = queueSize; this.highPrioProb = highPrioProb; this.priorityDeques = new ConcurrentHashMap>(); @@ -136,7 +138,7 @@ public String getQueueStatusString() { int currentQueueStatus = this.priorityDeques.get(priority).size(); response = response + priority.toString() + "=" + String.valueOf(currentQueueStatus) + ","; } - response = response.substring(0, response.length() - 1); + response = response.substring(0, response.length() - 1) + "|queueSize=" + String.valueOf(this.queueSize); return response; } From a9a90666bc66fb30f05a725dd5b19b5a09029bf1 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Thu, 30 Mar 2023 19:35:08 +0200 Subject: [PATCH 136/172] Add queueSize as last entry --- .../main/java/org/pytorch/serve/metrics/MetricCollector.java | 4 ++-- .../org/pytorch/serve/util/PriorityLinkedBlockingDeque.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java index 654d0113b1..a3474c3d92 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java @@ -47,9 +47,9 @@ public void run() { new Metric( "QueueStatus", mvStatusString, - "jobsInQueue", + "Requests", modelName, - new Dimension("Level", "ModelVersion"))); + new Dimension("Level", "Host"))); } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java index 8660c75bbb..cdf58bc1b3 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java +++ b/frontend/server/src/main/java/org/pytorch/serve/util/PriorityLinkedBlockingDeque.java @@ -138,7 +138,7 @@ public String getQueueStatusString() { int currentQueueStatus = this.priorityDeques.get(priority).size(); response = response + priority.toString() + "=" + String.valueOf(currentQueueStatus) + ","; } - response = response.substring(0, response.length() - 1) + "|queueSize=" + String.valueOf(this.queueSize); + response = response + "queueSize=" + String.valueOf(this.queueSize); return response; } From 68e27e29a4927a67bd8a0f8b72753c00ebf69f0a Mon Sep 17 00:00:00 2001 From: Simon Schoelly Date: Wed, 24 May 2023 15:20:51 +0200 Subject: [PATCH 137/172] Resolve conflicts introduced during rebase --- .../java/org/pytorch/serve/job/GRPCJob.java | 19 +---------- .../java/org/pytorch/serve/job/RestJob.java | 19 +---------- .../serve/metrics/MetricCollector.java | 22 ++---------- .../java/org/pytorch/serve/wlm/Model.java | 1 + .../pytorch/serve/wlm/WorkLoadManager.java | 8 +---- .../org/pytorch/serve/wlm/WorkerThread.java | 34 ++----------------- 6 files changed, 9 insertions(+), 94 deletions(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java index abad1e62ec..364affd9fb 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/GRPCJob.java @@ -96,25 +96,8 @@ public void response( } catch (Exception e) { logger.error("Failed to update frontend metric QueueTime: ", e); } - - // TODO Simon: should these two logs also be in the if (this.queTimeMetric != null) clause? - loggerTsMetrics.info( - "{}", - new Metric( - "QueueTime", - String.valueOf(queueTime), - "ms", - ConfigManager.getInstance().getHostName(), - DIMENSION)); - loggerTsMetrics.info( - "{}", - new Metric( - "RequestPriority", - String.valueOf(this.getPriority()), - "category", - ConfigManager.getInstance().getHostName(), - DIMENSION)); } + // TODO Simon: we should probably also add, as we did before the queue priority here } } else if (this.getCmd() == WorkerCommands.DESCRIBE) { try { diff --git a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java index 1fa07ef5eb..064167b692 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java +++ b/frontend/server/src/main/java/org/pytorch/serve/job/RestJob.java @@ -223,25 +223,8 @@ private void responseInference( } catch (Exception e) { logger.error("Failed to update frontend metric QueueTime: ", e); } - - // TODO Simon: should these two logs also be in the if clause? - loggerTsMetrics.info( - "{}", - new Metric( - "QueueTime", - queueTime, - "ms", - ConfigManager.getInstance().getHostName(), - DIMENSION)); - loggerTsMetrics.info( - "{}", - new Metric( - "RequestPriority", - String.valueOf(this.getPriority()), - "category", - ConfigManager.getInstance().getHostName(), - DIMENSION)); } + // TODO Simon: we should probably also add, as we did before the queue priority here } } diff --git a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java index a3474c3d92..e83c809260 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java +++ b/frontend/server/src/main/java/org/pytorch/serve/metrics/MetricCollector.java @@ -33,25 +33,7 @@ public MetricCollector(ConfigManager configManager) { @Override public void run() { try { - - // Collect Model level Metrics - ModelManager modelManager = ModelManager.getInstance(); - for (Map.Entry mEntry : modelManager.getAllModels()) { - String modelName = mEntry.getKey(); - for (Map.Entry vEntry : mEntry.getValue().getAllVersions()) { - String versionName = vEntry.getKey(); - Model model = vEntry.getValue(); - String mvStatusString = model.getQueueStatusString(); - loggerMetrics.info( - "{}", - new Metric( - "QueueStatus", - mvStatusString, - "Requests", - modelName, - new Dimension("Level", "Host"))); - } - } + // TODO Simon: there was previously something related to metrics here, we might add it back // Collect System level Metrics String[] args = new String[4]; @@ -63,7 +45,7 @@ public void run() { String[] envp = EnvironmentUtils.getEnvString(workingDir.getAbsolutePath(), null, null); final Process p = Runtime.getRuntime().exec(args, envp, workingDir); // NOPMD - + ModelManager modelManager = ModelManager.getInstance(); Map workerMap = modelManager.getWorkers(); try (OutputStream os = p.getOutputStream()) { writeWorkerPids(workerMap, os); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index b3febff979..8c6d0a90ab 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -373,6 +373,7 @@ public long getClientTimeoutInMills() { public void setClientTimeoutInMills(long clientTimeoutInMills) { this.clientTimeoutInMills = clientTimeoutInMills; + } public String getQueueStatusString() { return jobsDb.get(DEFAULT_DATA_QUEUE).getQueueStatusString(); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java index 3bd421fe60..0112c1d4dd 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkLoadManager.java @@ -33,10 +33,6 @@ public class WorkLoadManager { private AtomicInteger distributionPort; private AtomicInteger gpuCounter; - public WorkLoadManager(ConfigManager configManager, EventLoopGroup backendGroup) { - - private static final Logger logger = LoggerFactory.getLogger(WorkLoadManager.class); - public WorkLoadManager(ConfigManager configManager, GPUManager gpuManager, EventLoopGroup backendGroup) { this.configManager = configManager; this.gpuManager = gpuManager; @@ -246,11 +242,9 @@ private void addThreads( WorkerThread thread = new WorkerThread( configManager, - gpuManager, backendGroup, currentPort, - gpuId, - configManager.isDebug() ? port.get() : port.getAndIncrement(), + gpuManager, model, aggregator, listener); diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java index f724512e11..830e2fa163 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerThread.java @@ -87,7 +87,7 @@ public WorkerThread( ConfigManager configManager, EventLoopGroup backendEventGroup, int port, - int gpuId, + GPUManager gpuManager, Model model, BatchAggregator aggregator, WorkerStateListener listener) { @@ -97,7 +97,8 @@ public WorkerThread( this.port = port; this.model = model; this.aggregator = aggregator; - this.gpuId = gpuId; + this.gpuManager = gpuManager; + this.gpuId = gpuManager.getGPU(this.workerId); this.listener = listener; startTime = System.currentTimeMillis(); lifeCycle = new WorkerLifeCycle(configManager, model); @@ -172,35 +173,6 @@ public WorkerLifeCycle getLifeCycle() { return lifeCycle; } - public WorkerThread( - ConfigManager configManager, - GPUManager gpuManager, - EventLoopGroup backendEventGroup, - int port, - Model model, - BatchAggregator aggregator, - WorkerStateListener listener) { - this.workerId = String.valueOf(port); // Unique across all workers. - this.configManager = configManager; - this.gpuManager = gpuManager; - this.backendEventGroup = backendEventGroup; - this.port = port; - this.model = model; - this.aggregator = aggregator; - this.gpuId = gpuManager.getGPU(this.workerId); - this.listener = listener; - startTime = System.currentTimeMillis(); - lifeCycle = new WorkerLifeCycle(configManager, model); - replies = new ArrayBlockingQueue<>(1); - workerLoadTime = - new Metric( - getWorkerName(), - String.valueOf(System.currentTimeMillis()), - "ms", - ConfigManager.getInstance().getHostName(), - new Dimension("Level", "Host")); - } - @Override public void run() { responseTimeout = model.getResponseTimeout(); From 549631e48d2c31eb2473ed09ad26f5fe542a74c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20D=C3=BCggelin?= Date: Mon, 22 May 2023 16:33:22 +0200 Subject: [PATCH 138/172] :whale: Update Dockerfile.dev with python version arg --- docker/Dockerfile.dev | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 92613d01d7..8d4d5af90c 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -40,9 +40,9 @@ RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ git \ python$PYTHON_VERSION \ python$PYTHON_VERSION-dev \ - python3-distutils \ python$PYTHON_VERSION-venv \ - python3-venv \ + python$PYTHON_VERSION-distutils \ + # python3-venv \ build-essential \ openjdk-17-jdk \ curl \ @@ -54,8 +54,12 @@ RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ && curl -O https://bootstrap.pypa.io/get-pip.py \ && python$PYTHON_VERSION get-pip.py -RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 1 \ - && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3 1 +RUN mkdir -p /root/.ssh && \ + chmod 0700 /root/.ssh && \ + ssh-keyscan github.com > /root/.ssh/known_hosts + +RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION \ + && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3 # Build Dev Image FROM compile-image AS dev-image From 2b766c7ec411bf238e5f26d2d9d6df67124ce2ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20D=C3=BCggelin?= Date: Mon, 22 May 2023 16:38:53 +0200 Subject: [PATCH 139/172] :wrench: Fix update-alternatives --- docker/Dockerfile.dev | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 8d4d5af90c..5e0d45c1a7 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -58,8 +58,8 @@ RUN mkdir -p /root/.ssh && \ chmod 0700 /root/.ssh && \ ssh-keyscan github.com > /root/.ssh/known_hosts -RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION \ - && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3 +RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 1 \ + && update-alternatives --install /usr/local/bin/pip pip /usr/local/bin/pip3 1 # Build Dev Image FROM compile-image AS dev-image From 93a52b7a4ab2a716de5eb60edca940e7fae262ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20D=C3=BCggelin?= Date: Mon, 22 May 2023 16:56:37 +0200 Subject: [PATCH 140/172] :wrench: Add back ssh agent --- docker/build_image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/build_image.sh b/docker/build_image.sh index eeb123f2b9..d6a99cfabb 100755 --- a/docker/build_image.sh +++ b/docker/build_image.sh @@ -142,5 +142,5 @@ elif [ "${BUILD_TYPE}" == "benchmark" ] then DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.benchmark --build-arg USE_LOCAL_SERVE_FOLDER=$USE_LOCAL_SERVE_FOLDER --build-arg BASE_IMAGE="${BASE_IMAGE}" --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" -t "${DOCKER_TAG}" . else - DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.dev -t "${DOCKER_TAG}" --build-arg BUILD_TYPE="${BUILD_TYPE}" --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg BUILD_WITH_IPEX="${BUILD_WITH_IPEX}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" . + DOCKER_BUILDKIT=1 docker build --ssh default --pull --no-cache --file Dockerfile.dev -t "${DOCKER_TAG}" --build-arg BUILD_TYPE="${BUILD_TYPE}" --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg BUILD_WITH_IPEX="${BUILD_WITH_IPEX}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" . fi From fe78550b50ea10559330c6f60f200c5cfe51c358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20D=C3=BCggelin?= Date: Tue, 23 May 2023 15:15:07 +0200 Subject: [PATCH 141/172] :wrench: Make progress plain again --- docker/build_image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/build_image.sh b/docker/build_image.sh index d6a99cfabb..64f22252b0 100755 --- a/docker/build_image.sh +++ b/docker/build_image.sh @@ -142,5 +142,5 @@ elif [ "${BUILD_TYPE}" == "benchmark" ] then DOCKER_BUILDKIT=1 docker build --pull --no-cache --file Dockerfile.benchmark --build-arg USE_LOCAL_SERVE_FOLDER=$USE_LOCAL_SERVE_FOLDER --build-arg BASE_IMAGE="${BASE_IMAGE}" --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" -t "${DOCKER_TAG}" . else - DOCKER_BUILDKIT=1 docker build --ssh default --pull --no-cache --file Dockerfile.dev -t "${DOCKER_TAG}" --build-arg BUILD_TYPE="${BUILD_TYPE}" --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg BUILD_WITH_IPEX="${BUILD_WITH_IPEX}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" . + DOCKER_BUILDKIT=1 docker build --ssh default --progress plain --pull --no-cache --file Dockerfile.dev -t "${DOCKER_TAG}" --build-arg BUILD_TYPE="${BUILD_TYPE}" --build-arg BASE_IMAGE=$BASE_IMAGE --build-arg BRANCH_NAME="${BRANCH_NAME}" --build-arg CUDA_VERSION="${CUDA_VERSION}" --build-arg MACHINE_TYPE="${MACHINE}" --build-arg BUILD_WITH_IPEX="${BUILD_WITH_IPEX}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" . fi From 4f854779379e628e9e85a90d1efaf8fe94de5a4f Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 25 May 2023 10:12:01 -0700 Subject: [PATCH 142/172] Micro batching example (#2210) * Add unit test for micro batching * Adds simple implementation for microbatching with coroutines * Added testing to microbatching * Created MBHandler * Added more tests to microbatching handler * Adds configurable parallelism * Enables loading of micro batching parameters through config file * Moved microbatching into example * Moved micro batching test into test/pytest folder * Rewrote micro batching to use threading * Implemented method to update parallelism * Fix and test spin up spin down fo threads * Clean up and comments * More comments * Adds README to micro batching example * Refined readme + added config.yaml * Add config_file * Fix linting error * Fix spell check error * Fix linting error * Move micro_batching.py into ts.utils and use model_yaml_config for configuration * Fix links in README * Moved to handler_utils * remove __all__ --- examples/micro_batching/README.md | 111 +++++++++ .../assets/throughput_latency.png | Bin 0 -> 53973 bytes examples/micro_batching/config.yaml | 8 + .../micro_batching/micro_batching_handler.py | 30 +++ test/pytest/test_example_micro_batching.py | 233 ++++++++++++++++++ ts/handler_utils/micro_batching.py | 177 +++++++++++++ ts/tests/unit_tests/test_micro_batching.py | 181 ++++++++++++++ ts/utils/__init__.py | 4 - ts_scripts/spellcheck_conf/wordlist.txt | 4 + 9 files changed, 744 insertions(+), 4 deletions(-) create mode 100644 examples/micro_batching/README.md create mode 100644 examples/micro_batching/assets/throughput_latency.png create mode 100644 examples/micro_batching/config.yaml create mode 100644 examples/micro_batching/micro_batching_handler.py create mode 100644 test/pytest/test_example_micro_batching.py create mode 100644 ts/handler_utils/micro_batching.py create mode 100644 ts/tests/unit_tests/test_micro_batching.py diff --git a/examples/micro_batching/README.md b/examples/micro_batching/README.md new file mode 100644 index 0000000000..373a708520 --- /dev/null +++ b/examples/micro_batching/README.md @@ -0,0 +1,111 @@ +# Micro Batching +Accelerators like GPUs can be used most cost efficiently for inference if they are steadily fed with incoming data. +TorchServe currently allows a single batch to be processed per backend worker. +In each worker the three computation steps (preprocess, inference, postprocess) are executed sequentially. +Because pre- and postprocessing are often carried out on the CPU the GPU sits idle until the two CPU bound steps are executed and the worker receives a new batch. +The following example will show how to make better use of an accelerator in high load scenarios. + +For this we are going to assume that there are a lot of incoming client requests and we can potentially fill a bigger batch size within the batch delay time frame where the frontend collects requests for the next batch. +Given this precondition we are going to increase the batch size which the backend worker receives and subsequently split the big batch up into smaller *micro* batches to perform the processing. +We can then perform the computation on the micro batches in parallel as more than one batches are available to the worker. +This way we can already process a micro batch on the GPU while the preprocessing is applied to remaining micro batches. +The pros and cons of this approach are as follow: + +Pros: + +* Higher throughput by better utilizing the available accelerator +* Lower overall latency when enough requests are available for computation + +Cons: + +* Potentially higher latency and throughput if not enough requests are available + +## Implementation +This example implements micro batching using a custom handler which overwrites the *handle* method with a MicroBatching object defined in __ts.utils.micro_batching__. +```python +class MicroBatchingHandler(ImageClassifier): + def __init__(self): + mb_handle = MicroBatching(self) + self.handle = mb_handle +``` +The MicroBatching object takes the custom handler as an input and spins up a number of threads. +Each thread will work on one of the processing steps (preprocess, inference, postprocess) of the custom handler while multiple threads can be assigned to process the same step in parallel. +The number of threads as well as the size of the micro batch size is configurable through the [model yaml config](config.yaml): +```yaml +batchSize: 32 +micro_batching: + micro_batch_size: 4 + parallelism: + preprocess: 2 + inference: 1 + postprocess: 2 +``` +Each number in the *parallelism* dictionary represents the number of threads created for the respective step on initialization. +The micro_batch_size parameter should be chosen much smaller than the batch size configured through the TorchServe API (e.g. 64 vs 4) + +## Example +The following example will take a ResNet18 image classification model and run the pre- and postprocessing in parallel which includes resizing and cropping the image. + +First, we need to download the model weights: +```bash +$ cd +$ wget https://download.pytorch.org/models/resnet18-f37072fd.pth +``` +Second, we create the MAR file while including the necessary source and config files as additional files: +```bash +$ torch-model-archiver --model-name resnet-18_mb --version 1.0 --model-file ./examples/image_classifier/resnet_18/model.py --serialized-file resnet18-f37072fd.pth --handler examples/micro_batching/micro_batching_handler.py --extra-files ./examples/image_classifier/index_to_name.json --config-file examples/micro_batching/config.yaml +``` +Our MicroBatchingHandler defined in [micro_batching_handler.py](micro_batching_handler.py) inherits from ImageClassifier which already defines the necessary pre- and postprocessing. + +Third, we move the MAR file to our model_store and start TorchServe. +```bash +$ mkdir model_store +$ mv resnet-18_mb.mar model_store/ +$ torchserve --start --ncs --model-store model_store --models resnet-18_mb.mar +``` + +Finally, we test the registered model with a request: +```bash +$ curl http://127.0.0.1:8080/predictions/resnet-18_mb -T ./examples/image_classifier/kitten.jpg +``` +In the next section we will have a look at how the throughput and latency of the model behave by benchmarking it with TorchServe's benchmark tool. + +## Results +For the following benchmark we use [benchmark-ab.py](../../benchmarks/benchmark-ab.py) and a ResNet50 instead of the smaller ResNet18. +We ran this benchmark on an AWS g4dn.4xlarge instance with a single T4 GPU. +After creating the MAR file as described above we extract it into the model_store so we do not need to upload the file. +```bash +$ unzip -d model_store/resnet-50_mb model_store/resnet-50_mb.mar +``` +Subsequently, we can run the benchmark with: +```bash +$ python3 benchmarks/benchmark-ab.py --config benchmarks/config.json +``` +The config.json for the benchmark has the following content: +```json +{ + "url":"/home/ubuntu/serve/model_store/resnet-50_mb/", + "requests": 50000, + "concurrency": 200, + "input": "/home/ubuntu/serve/examples/image_classifier/kitten.jpg", + "workers": "1", + "batch_size": 64 +} +``` +This will run the model with a batch size of 64 and a micro batch size of 4 as configured in the config.yaml. +For this section we ran the benchmark with different batch sizes and micro batch sized (marked with "MBS=X") as well as different number of threads to create the following diagrams. +As a baseline we also ran the vanilla ImageClassifier handler without micro batching which is marked as "NO MB". +![](assets/throughput_latency.png) +In the diagrams we see the throughput and P99 latency plotted over the batch size (as configured through TorchServe API). +Each curve represents a different micro batch size as configured through [config.yaml](config.yaml). +We can see that the throughput stays flat for the vanilla ImageClassifier (NO MB) which suggests that the inference is preprocessing bound and the GPU is underutilized which can be confirmed with a look at the nvidia-smi output. +By interleaving the three compute steps and using two threads for pre- and postprocessing we see that the micro batched variants (MBS=4-16) achieve a higher throughput and even a lower batch latency as the GPU is better utilized due to the introduction of micro batches. +For this particular model we can achieve a throughput of up to 250 QPS by increasing the number of preprocessing threads to 4 and choosing 128 and 8 as batch size and micro batch size, respectively. +The actual achieved speedup will depend on the specific model as well as the intensity of the pre- and postprocessing steps. +Image scaling and decompression for example is usually more compute intense than text preprocessing. + +## Summary +In summary we can see that micro batching can help to increase the throughput of a model while decreasing its latency. +This is especially true for workloads with compute intense pre- or postprocessing as well as smaller models. +The micro batching approach can also be used to save memory in a CPU use case by scaling the number if inference threads to >1 which allows to run multiple instances of the model which all share the same underlying weights. +This is in contrast to running multiple TorchServe worker which each create their own model instance which can not share their weights as they reside in different processes. diff --git a/examples/micro_batching/assets/throughput_latency.png b/examples/micro_batching/assets/throughput_latency.png new file mode 100644 index 0000000000000000000000000000000000000000..8c00c575daaac50b4fc2e141181dd36d8113c5e1 GIT binary patch literal 53973 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 OM9WDlBZ?lGy!u}ZQf!w1 literal 0 HcmV?d00001 diff --git a/examples/micro_batching/config.yaml b/examples/micro_batching/config.yaml new file mode 100644 index 0000000000..e97e58cc60 --- /dev/null +++ b/examples/micro_batching/config.yaml @@ -0,0 +1,8 @@ +batchSize: 32 + +micro_batching: + micro_batch_size: 4 + parallelism: + preprocess: 2 + inference: 1 + postprocess: 2 diff --git a/examples/micro_batching/micro_batching_handler.py b/examples/micro_batching/micro_batching_handler.py new file mode 100644 index 0000000000..bef34ed513 --- /dev/null +++ b/examples/micro_batching/micro_batching_handler.py @@ -0,0 +1,30 @@ +import logging + +from ts.handler_utils.micro_batching import MicroBatching +from ts.torch_handler.image_classifier import ImageClassifier + +logger = logging.getLogger(__name__) + + +class MicroBatchingHandler(ImageClassifier): + def __init__(self): + mb_handle = MicroBatching(self) + self.handle = mb_handle + + def initialize(self, ctx): + super().initialize(ctx) + + parallelism = ctx.model_yaml_config.get("micro_batching", {}).get( + "parallelism", None + ) + if parallelism: + logger.info( + f"Setting micro batching parallelism from model_config_yaml: {parallelism}" + ) + self.handle.parallelism = parallelism + + micro_batch_size = ctx.model_yaml_config.get("micro_batching", {}).get( + "micro_batch_size", 1 + ) + logger.info(f"Setting micro batching size: {micro_batch_size}") + self.handle.micro_batch_size = micro_batch_size diff --git a/test/pytest/test_example_micro_batching.py b/test/pytest/test_example_micro_batching.py new file mode 100644 index 0000000000..b07c99ea7d --- /dev/null +++ b/test/pytest/test_example_micro_batching.py @@ -0,0 +1,233 @@ +import asyncio +import json +import random +import shutil +from argparse import Namespace +from pathlib import Path + +import pytest +import requests +import test_utils +import yaml +from torchvision.models.resnet import ResNet18_Weights + +from ts.torch_handler.unit_tests.test_utils.model_dir import download_model + +CURR_FILE_PATH = Path(__file__).parent +REPO_ROOT_DIR = CURR_FILE_PATH.parent.parent + +EXAMPLE_ROOT_DIR = REPO_ROOT_DIR.joinpath("examples", "microbatching") + + +def read_image_bytes(filename): + with open( + filename, + "rb", + ) as fin: + image_bytes = fin.read() + return image_bytes + + +@pytest.fixture(scope="module") +def kitten_image_bytes(): + return read_image_bytes( + REPO_ROOT_DIR.joinpath( + "examples/image_classifier/resnet_152_batch/images/kitten.jpg" + ).as_posix() + ) + + +@pytest.fixture(scope="module") +def dog_image_bytes(): + return read_image_bytes( + REPO_ROOT_DIR.joinpath( + "examples/image_classifier/resnet_152_batch/images/dog.jpg" + ).as_posix() + ) + + +@pytest.fixture(scope="module", params=[4, 16]) +def mixed_batch(kitten_image_bytes, dog_image_bytes, request): + batch_size = request.param + labels = [ + "tiger_cat" if random.random() > 0.5 else "golden_retriever" + for _ in range(batch_size) + ] + test_data = [] + for l in labels: + test_data.append(kitten_image_bytes if l == "tiger_cat" else dog_image_bytes) + return test_data, labels + + +@pytest.fixture(scope="module") +def model_name(): + yield "image_classifier" + + +@pytest.fixture(scope="module") +def work_dir(tmp_path_factory, model_name): + return tmp_path_factory.mktemp(model_name) + + +@pytest.fixture(scope="module") +def serialized_file(work_dir): + model_url = ResNet18_Weights.DEFAULT.url + + download_model(model_url, work_dir) + + yield Path(work_dir) / "model.pt" + + +@pytest.fixture( + scope="module", name="mar_file_path", params=["yaml_config", "no_config"] +) +def create_mar_file( + work_dir, session_mocker, serialized_file, model_archiver, model_name, request +): + mar_file_path = Path(work_dir).joinpath(model_name + ".mar") + + name_file = REPO_ROOT_DIR.joinpath( + "examples/image_classifier/resnet_18/index_to_name.json" + ).as_posix() + + config_file = None + if request.param == "yaml_config": + micro_batching_params = { + "micro_batching": { + "micro_batch_size": 2, + "parallelism": { + "preprocess": 2, + "inference": 2, + "postprocess": 2, + }, + }, + } + + config_file = Path(work_dir).joinpath("model_config.yaml") + + with open(config_file, "w") as f: + yaml.dump(micro_batching_params, f) + config_file = REPO_ROOT_DIR.joinpath( + "examples", "micro_batching", "config.yaml" + ) + + extra_files = [name_file] + + args = Namespace( + model_name=model_name, + version="1.0", + serialized_file=str(serialized_file), + model_file=REPO_ROOT_DIR.joinpath( + "examples", "image_classifier", "resnet_18", "model.py" + ).as_posix(), + handler=REPO_ROOT_DIR.joinpath( + "examples", "micro_batching", "micro_batching_handler.py" + ).as_posix(), + extra_files=",".join(extra_files), + export_path=work_dir, + requirements_file=None, + runtime="python", + force=False, + archive_format="default", + config_file=config_file, + ) + + mock = session_mocker.MagicMock() + mock.parse_args = session_mocker.MagicMock(return_value=args) + session_mocker.patch( + "archiver.ArgParser.export_model_args_parser", return_value=mock + ) + + # Using ZIP_STORED instead of ZIP_DEFLATED reduces test runtime from 54 secs to 10 secs + from zipfile import ZIP_STORED, ZipFile + + session_mocker.patch( + "model_archiver.model_packaging_utils.zipfile.ZipFile", + lambda x, y, _: ZipFile(x, y, ZIP_STORED), + ) + + model_archiver.generate_model_archive() + + assert mar_file_path.exists() + + yield mar_file_path.as_posix() + + # Clean up files + mar_file_path.unlink(missing_ok=True) + + +@pytest.fixture(scope="module", name="model_name") +def register_model(mar_file_path, model_store, torchserve): + """ + Register the model in torchserve + """ + shutil.copy(mar_file_path, model_store) + + file_name = Path(mar_file_path).name + + model_name = Path(file_name).stem + + params = ( + ("model_name", model_name), + ("url", file_name), + ("initial_workers", "1"), + ("synchronous", "true"), + ("batch_size", "32"), + ) + + test_utils.reg_resp = test_utils.register_model_with_params(params) + + yield model_name + + test_utils.unregister_model(model_name) + + +def test_single_example_inference(model_name, kitten_image_bytes): + """ + Full circle test with torchserve + """ + + response = requests.post( + url=f"http://localhost:8080/predictions/{model_name}", data=kitten_image_bytes + ) + + import inspect + + print(inspect.getmembers(response)) + + assert response.status_code == 200 + + +async def issue_request(model_name, data): + return requests.post( + url=f"http://localhost:8080/predictions/{model_name}", data=data + ) + + +async def issue_multi_requests(model_name, data): + tasks = [] + for d in data: + tasks.append(asyncio.create_task(issue_request(model_name, d))) + + ret = [] + for t in tasks: + ret.append(await t) + + return ret + + +def test_multi_example_inference(model_name, mixed_batch): + """ + Full circle test with torchserve + """ + test_data, labels = mixed_batch + + responses = asyncio.run(issue_multi_requests(model_name, test_data)) + + status_codes = [r.status_code for r in responses] + + assert status_codes == [200] * len(status_codes) + + result_entries = [json.loads(r.text) for r in responses] + + assert all(l in r.keys() for l, r in zip(labels, result_entries)) diff --git a/ts/handler_utils/micro_batching.py b/ts/handler_utils/micro_batching.py new file mode 100644 index 0000000000..ae9671f707 --- /dev/null +++ b/ts/handler_utils/micro_batching.py @@ -0,0 +1,177 @@ +import os +import queue +import threading +import time +from copy import copy +from dataclasses import dataclass +from typing import Dict + +try: + PROFILER_AVAILABLE = True +except ImportError: + PROFILER_AVAILABLE = False + + +HANDLER_METHODS = ["preprocess", "inference", "postprocess"] + + +def execute_call(in_queue, out_queue, handle, event): + while not event.is_set(): + try: + idx, in_data = in_queue.get(timeout=0.5) + except queue.Empty: + continue + out_data = handle(in_data) + out_queue.put((idx, out_data)) + + +@dataclass +class WorkerThread: + event: threading.Event + thread: threading.Thread + + +class MicroBatching(object): + def __init__( + self, parent_handler, micro_batch_size: int = 1, parallelism: Dict = None + ): + self.handler = parent_handler + self.micro_batch_size = micro_batch_size + self._parallelism = parallelism if parallelism is not None else {} + self.thread_groups = {c: [] for c in HANDLER_METHODS} + self.queues = {} + self.terminate = threading.Event() + self._create_queues() + self._update_threads() + + def __del__(self): + self.shutdown() + + @property + def parallelism(self) -> Dict: + return copy(self._parallelism) + + @parallelism.setter + def parallelism(self, parallelism: Dict): + """Set number of threads for each of the processing steps. + + Args: + parallelism (Dict): New number of threads per processing step + + Returns: + None + """ + assert all(k in HANDLER_METHODS for k in parallelism.keys()) + + self._parallelism.update(parallelism) + self._update_threads() + + def shutdown(self): + """Shuts down all running threads. + + Args: + None + + Returns: + None + """ + for _, tg in self.thread_groups.items(): + for t in tg: + t.event.set() + t.thread.join() + + def _create_queues(self): + # Set up processing queues + self.queues[HANDLER_METHODS[0] + "_in"] = queue.Queue() + for i in range(len(HANDLER_METHODS) - 1): + # Each "out" queue is the "in" queue of the next processing step + self.queues[HANDLER_METHODS[i] + "_out"] = queue.Queue() + self.queues[HANDLER_METHODS[i + 1] + "_in"] = self.queues[ + HANDLER_METHODS[i] + "_out" + ] + self.queues[HANDLER_METHODS[-1] + "_out"] = queue.Queue() + + def _update_threads(self): + for c in HANDLER_METHODS: + tgt_parallelism = self._parallelism.get(c, 1) + assert tgt_parallelism >= 0 + cur_parallelism = lambda: len(self.thread_groups[c]) + + # Scale up threads if necessary + while tgt_parallelism > cur_parallelism(): + in_queue = self.queues[c + "_in"] + out_queue = self.queues[c + "_out"] + call = getattr(self.handler, c) + event = threading.Event() + + t = threading.Thread( + target=execute_call, + args=(in_queue, out_queue, call, event), + ) + t.start() + self.thread_groups[c].append(WorkerThread(event, t)) + + # Scale down threads if necessary + while tgt_parallelism < cur_parallelism(): + self.thread_groups[c][-1].event.set() + self.thread_groups[c][-1].thread.join() + self.thread_groups[c].pop() + + def handle(self, data): + num_batches = 0 + for idx, i in enumerate(range(0, len(data), self.micro_batch_size)): + self.queues[HANDLER_METHODS[0] + "_in"].put_nowait( + (idx, data[i : i + self.micro_batch_size]) + ) + num_batches += 1 + + output = [] + while len(output) != num_batches: + output.append(self.queues[HANDLER_METHODS[-1] + "_out"].get()) + + return [item for batch in sorted(output) for item in batch[1]] + + def __call__(self, data, context): + """Entry point for default handler. It takes the data from the input request and returns + the predicted outcome for the input. This method is a modified variant from the BaseHandler. + It calls the MicroBatching handle method instead of running the single processing steps. + + Args: + data (list): The input data that needs to be made a prediction request on. + context (Context): It is a JSON Object containing information pertaining to + the model artefacts parameters. + + Returns: + list : Returns a list of dictionary with the predicted response. + """ + + # It can be used for pre or post processing if needed as additional request + # information is available in context + start_time = time.time() + + self.handler.context = context + metrics = self.handler.context.metrics + + is_profiler_enabled = os.environ.get("ENABLE_TORCH_PROFILER", None) + if is_profiler_enabled: + if PROFILER_AVAILABLE: + output, _ = self.handler._infer_with_profiler(data=data) + else: + raise RuntimeError( + "Profiler is enabled but current version of torch does not support." + "Install torch>=1.8.1 to use profiler." + ) + else: + if self.handler._is_describe(): + output = [self.handler.describe_handle()] + elif self.handler._is_explain(): + data_preprocess = self.handler.preprocess(data) + output = self.handler.explain_handle(data_preprocess, data) + else: + output = self.handle(data) + + stop_time = time.time() + metrics.add_time( + "HandlerTime", round((stop_time - start_time) * 1000, 2), None, "ms" + ) + return output diff --git a/ts/tests/unit_tests/test_micro_batching.py b/ts/tests/unit_tests/test_micro_batching.py new file mode 100644 index 0000000000..001de6411b --- /dev/null +++ b/ts/tests/unit_tests/test_micro_batching.py @@ -0,0 +1,181 @@ +""" +Unit test for MicroBatchHandler class. +""" +import json +import random +import sys +from pathlib import Path + +import pytest +from torchvision.models.resnet import ResNet18_Weights + +from ts.torch_handler.image_classifier import ImageClassifier +from ts.torch_handler.unit_tests.test_utils.mock_context import MockContext +from ts.torch_handler.unit_tests.test_utils.model_dir import copy_files, download_model + +REPO_DIR = Path(__file__).parents[3] + + +def read_image_bytes(filename): + with open( + filename, + "rb", + ) as fin: + image_bytes = fin.read() + return image_bytes + + +@pytest.fixture(scope="module") +def kitten_image_bytes(): + return read_image_bytes( + REPO_DIR.joinpath( + "examples/image_classifier/resnet_152_batch/images/kitten.jpg" + ).as_posix() + ) + + +@pytest.fixture(scope="module") +def dog_image_bytes(): + return read_image_bytes( + REPO_DIR.joinpath( + "examples/image_classifier/resnet_152_batch/images/dog.jpg" + ).as_posix() + ) + + +@pytest.fixture(scope="module") +def model_name(): + return "image_classifier" + + +@pytest.fixture(scope="module") +def model_dir(tmp_path_factory, model_name): + model_dir = tmp_path_factory.mktemp("image_classifier_model_dir") + + src_dir = REPO_DIR.joinpath("examples/image_classifier/resnet_18/") + + model_url = ResNet18_Weights.DEFAULT.url + + download_model(model_url, model_dir) + + files = { + "model.py": model_name + ".py", + "index_to_name.json": "index_to_name.json", + } + + copy_files(src_dir, model_dir, files) + + sys.path.append(model_dir.as_posix()) + yield model_dir + sys.path.pop() + + +@pytest.fixture(scope="module") +def context(model_dir, model_name): + micro_batching_params = { + "mb_size": 2, + "mb_parallelism": { + "preprocess": 1, + "inference": 2, + "postprocess": 3, + }, + } + + config_file = Path(model_dir).joinpath("micro_batching.json") + + with open(config_file, "w") as f: + json.dump(micro_batching_params, f) + + context = MockContext( + model_name="mnist", + model_dir=model_dir.as_posix(), + model_file=model_name + ".py", + ) + context.model_yaml_config = micro_batching_params + yield context + + +@pytest.fixture(scope="module", params=[1, 8]) +def handler(context, request): + handler = ImageClassifier() + + from ts.handler_utils.micro_batching import MicroBatching + + mb_handle = MicroBatching(handler, micro_batch_size=request.param) + handler.initialize(context) + + handler.handle = mb_handle + handler.handle.parallelism = context.model_yaml_config["mb_parallelism"] + + yield handler + + mb_handle.shutdown() + + +@pytest.fixture(scope="module", params=[1, 16]) +def mixed_batch(kitten_image_bytes, dog_image_bytes, request): + batch_size = request.param + labels = [ + "tiger_cat" if random.random() > 0.5 else "golden_retriever" + for _ in range(batch_size) + ] + test_data = [] + for l in labels: + test_data.append( + {"data": kitten_image_bytes} + if l == "tiger_cat" + else {"data": dog_image_bytes} + ) + return test_data, labels + + +def test_handle(context, mixed_batch, handler): + test_data, labels = mixed_batch + results = handler.handle(test_data, context) + assert len(results) == len(labels) + for l, r in zip(labels, results): + assert l in r + + +def test_handle_explain(context, kitten_image_bytes, handler): + context.explain = True + test_data = [{"data": kitten_image_bytes, "target": 0}] * 2 + results = handler.handle(test_data, context) + assert len(results) == 2 + assert results[0] + + +def test_micro_batching_handler_threads(handler): + assert len(handler.handle.thread_groups["preprocess"]) == 1 + assert len(handler.handle.thread_groups["inference"]) == 2 + assert len(handler.handle.thread_groups["postprocess"]) == 3 + + +def test_spin_up_down_threads(handler): + assert len(handler.handle.thread_groups["preprocess"]) == 1 + assert len(handler.handle.thread_groups["inference"]) == 2 + assert len(handler.handle.thread_groups["postprocess"]) == 3 + + new_parallelism = { + "preprocess": 2, + "inference": 3, + "postprocess": 4, + } + + handler.handle.parallelism = new_parallelism + + assert len(handler.handle.thread_groups["preprocess"]) == 2 + assert len(handler.handle.thread_groups["inference"]) == 3 + assert len(handler.handle.thread_groups["postprocess"]) == 4 + + new_parallelism = { + "preprocess": 1, + "inference": 2, + "postprocess": 3, + } + + handler.handle.parallelism = new_parallelism + + assert len(handler.handle.thread_groups["preprocess"]) == 1 + assert len(handler.handle.thread_groups["inference"]) == 2 + assert len(handler.handle.thread_groups["postprocess"]) == 3 diff --git a/ts/utils/__init__.py b/ts/utils/__init__.py index fb83331a7e..01d3db1a0d 100644 --- a/ts/utils/__init__.py +++ b/ts/utils/__init__.py @@ -1,7 +1,3 @@ - - """ Util files for TorchServe """ - -from . import timeit_decorator diff --git a/ts_scripts/spellcheck_conf/wordlist.txt b/ts_scripts/spellcheck_conf/wordlist.txt index 60f1a8acd2..04ed1aa80d 100644 --- a/ts_scripts/spellcheck_conf/wordlist.txt +++ b/ts_scripts/spellcheck_conf/wordlist.txt @@ -1032,6 +1032,10 @@ mps deviceIds rpc pippy +MBS +MicroBatching +MicroBatchingHandler +QPS PiPPy Microbatching Micro-batching From 63ebd4ddb2195c80a9212ebd67a887a550f85037 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Wed, 24 May 2023 01:03:34 +0000 Subject: [PATCH 143/172] Install torch before other ts dependencies --- ts_scripts/install_dependencies.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ts_scripts/install_dependencies.py b/ts_scripts/install_dependencies.py index 65f4eae220..5b84f0fdd4 100644 --- a/ts_scripts/install_dependencies.py +++ b/ts_scripts/install_dependencies.py @@ -50,6 +50,14 @@ def install_python_packages(self, cuda_version, requirements_file_path, nightly) # as it may reinstall the packages with different versions os.system("conda install -y conda-build") + # Install PyTorch packages + if nightly: + os.system( + f"pip3 install numpy --pre torch torchvision torchtext torchaudio --force-reinstall --extra-index-url https://download.pytorch.org/whl/nightly/{cuda_version}" + ) + else: + self.install_torch_packages(cuda_version) + os.system(f"{sys.executable} -m pip install -U pip setuptools") # developer.txt also installs packages from common.txt os.system(f"{sys.executable} -m pip install -U -r {requirements_file_path}") @@ -59,14 +67,6 @@ def install_python_packages(self, cuda_version, requirements_file_path, nightly) gpu_requirements_file = os.path.join("requirements", "common_gpu.txt") os.system(f"{sys.executable} -m pip install -U -r {gpu_requirements_file}") - # Install PyTorch packages - if nightly: - os.system( - f"pip3 install numpy --pre torch torchvision torchtext torchaudio --force-reinstall --extra-index-url https://download.pytorch.org/whl/nightly/{cuda_version}" - ) - else: - self.install_torch_packages(cuda_version) - def install_node_packages(self): os.system( f"{self.sudo_cmd}npm install -g newman newman-reporter-htmlextra markdown-link-check" From 680b6fd8d6dd1cf10367bfe34f58998ad8b0e066 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 25 May 2023 22:36:37 +0000 Subject: [PATCH 144/172] Make use of venv --- docker/Dockerfile.dev | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 7dcf546c9c..4a105c815a 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -65,8 +65,10 @@ RUN if [ "$MACHINE_TYPE" = "gpu" ]; then export USE_CUDA=1; fi \ && git clone https://github.com/pytorch/serve.git \ && cd serve \ && git checkout ${BRANCH_NAME} \ - && python$PYTHON_VERSION -m venv /home/venv \ - && python -m pip install -U pip setuptools \ + && python$PYTHON_VERSION -m venv /home/venv +ENV PATH="/home/venv/bin:$PATH" +WORKDIR serve +RUN python -m pip install -U pip setuptools \ && if [ -z "$CUDA_VERSION" ]; then python ts_scripts/install_dependencies.py --environment=dev; else python ts_scripts/install_dependencies.py --environment=dev --cuda $CUDA_VERSION; fi \ && if [ "$BUILD_WITH_IPEX" = "true" ]; then python -m pip install --no-cache-dir intel_extension_for_pytorch==${IPEX_VERSION} -f ${IPEX_URL}; fi \ && python ts_scripts/install_from_src.py \ From 5f75710eaa4dbd6b521cf4ea2d27dc32e283a83f Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 25 May 2023 22:40:06 +0000 Subject: [PATCH 145/172] move torch dependencies into separate file --- requirements/common.txt | 15 +++++--------- requirements/developer.txt | 29 ++++++++++++++-------------- requirements/torch_common.txt | 5 +++++ requirements/torch_cu101_linux.txt | 4 +--- requirements/torch_cu101_windows.txt | 3 ++- requirements/torch_cu102_linux.txt | 4 +--- requirements/torch_cu102_windows.txt | 3 ++- requirements/torch_cu111_linux.txt | 4 +--- requirements/torch_cu111_windows.txt | 1 + requirements/torch_cu113_linux.txt | 4 +--- requirements/torch_cu113_windows.txt | 1 + requirements/torch_cu116_linux.txt | 4 +--- requirements/torch_cu116_windows.txt | 1 + requirements/torch_cu117_linux.txt | 1 + requirements/torch_cu117_windows.txt | 1 + requirements/torch_cu118_linux.txt | 1 + requirements/torch_cu118_windows.txt | 1 + requirements/torch_cu92.txt | 3 ++- requirements/torch_cu92_linux.txt | 4 +--- requirements/torch_darwin.txt | 1 + requirements/torch_linux.txt | 1 + requirements/torch_windows.txt | 1 + 22 files changed, 46 insertions(+), 46 deletions(-) create mode 100644 requirements/torch_common.txt diff --git a/requirements/common.txt b/requirements/common.txt index 182d098983..57b0bd579f 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -1,11 +1,6 @@ -psutil -cython -wheel -requests -pillow==9.3.0 -captum -packaging -numpy; sys_platform != 'win32' -numpy==1.19.3; sys_platform == 'win32' #see https://tinyurl.com/y3dm3h86 +psutil==5.9.5 +requests==2.31.0 +captum==0.6.0 +packaging==23.1 pynvml==11.4.1 -pyyaml +pyyaml==6.0 diff --git a/requirements/developer.txt b/requirements/developer.txt index 47bc84102d..1b3447c3d8 100644 --- a/requirements/developer.txt +++ b/requirements/developer.txt @@ -1,18 +1,17 @@ -r common.txt -mock -pytest +mock==5.0.2 +pytest==7.3.1 pylint==2.6.0 -pytest-mock -pytest-cov -grpcio -protobuf -grpcio-tools +pytest-mock==3.10.0 +pytest-cov==4.1.0 +grpcio==1.54.2 +protobuf==4.23.1 +grpcio-tools==1.54.2 transformers==4.28.1 -pyspelling -pygit2 -pyspelling -pre-commit -twine -mypy -torchpippy -intel_extension_for_pytorch; sys_platform != 'win32' and sys_platform != 'darwin' +pyspelling==2.8.2 +pygit2==1.12.1 +pre-commit==3.3.2 +twine==4.0.2 +mypy==1.3.0 +torchpippy==0.1.1 +intel_extension_for_pytorch==2.0.100; sys_platform != 'win32' and sys_platform != 'darwin' diff --git a/requirements/torch_common.txt b/requirements/torch_common.txt new file mode 100644 index 0000000000..1518b7ab8f --- /dev/null +++ b/requirements/torch_common.txt @@ -0,0 +1,5 @@ +cython==0.29.34 +wheel==0.40.0 +pillow==9.3.0 +numpy==1.24.3; sys_platform != 'win32' +numpy==1.19.3; sys_platform == 'win32' #see https://tinyurl.com/y3dm3h86 diff --git a/requirements/torch_cu101_linux.txt b/requirements/torch_cu101_linux.txt index c28839eb44..1c931e7797 100644 --- a/requirements/torch_cu101_linux.txt +++ b/requirements/torch_cu101_linux.txt @@ -1,8 +1,6 @@ #pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html --find-links https://download.pytorch.org/whl/torch_stable.html -cython -wheel -pillow==9.3.0 +-r torch_common.txt torch==1.8.1+cu101; sys_platform == 'linux' torchvision==0.9.1+cu101; sys_platform == 'linux' torchtext==0.9.1; sys_platform == 'linux' diff --git a/requirements/torch_cu101_windows.txt b/requirements/torch_cu101_windows.txt index 67f7b0a89d..28acba4d8a 100644 --- a/requirements/torch_cu101_windows.txt +++ b/requirements/torch_cu101_windows.txt @@ -1,6 +1,7 @@ #pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html --find-links https://download.pytorch.org/whl/torch_stable.html +-r torch_common.txt torch==1.8.1+cu101; sys_platform == 'win32' torchvision==0.9.1+cu101; sys_platform == 'win32' torchtext==0.9.1; sys_platform == 'win32' -torchaudio==0.8.1; sys_platform == 'win32' \ No newline at end of file +torchaudio==0.8.1; sys_platform == 'win32' diff --git a/requirements/torch_cu102_linux.txt b/requirements/torch_cu102_linux.txt index 7e67fe83e7..3bb1cb3a01 100644 --- a/requirements/torch_cu102_linux.txt +++ b/requirements/torch_cu102_linux.txt @@ -1,7 +1,5 @@ # pip install torch torchvision torchaudio -cython -wheel -pillow==9.3.0 +-r torch_common.txt torch==1.12.0; sys_platform == 'linux' torchvision==0.13.0; sys_platform == 'linux' torchtext==0.13.0; sys_platform == 'linux' diff --git a/requirements/torch_cu102_windows.txt b/requirements/torch_cu102_windows.txt index 51cdc6092e..fce4f82566 100644 --- a/requirements/torch_cu102_windows.txt +++ b/requirements/torch_cu102_windows.txt @@ -1,6 +1,7 @@ #pip install torch===1.9.0 torchvision===0.10.0 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html --find-links https://download.pytorch.org/whl/torch_stable.html +-r torch_common.txt torch==1.10.0+cu102; sys_platform == 'win32' torchvision==0.11.1+cu102; sys_platform == 'win32' torchtext==0.11.0; sys_platform == 'win32' -torchaudio==0.10.0+cu102; sys_platform == 'win32' \ No newline at end of file +torchaudio==0.10.0+cu102; sys_platform == 'win32' diff --git a/requirements/torch_cu111_linux.txt b/requirements/torch_cu111_linux.txt index c15e853a6c..40348b24cb 100644 --- a/requirements/torch_cu111_linux.txt +++ b/requirements/torch_cu111_linux.txt @@ -1,8 +1,6 @@ #pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html --find-links https://download.pytorch.org/whl/torch_stable.html -cython -wheel -pillow==9.3.0 +-r torch_common.txt torch==1.9.0+cu111; sys_platform == 'linux' torchvision==0.10.0+cu111; sys_platform == 'linux' torchtext==0.10.0; sys_platform == 'linux' diff --git a/requirements/torch_cu111_windows.txt b/requirements/torch_cu111_windows.txt index 1d6151de13..7c2a32d87e 100644 --- a/requirements/torch_cu111_windows.txt +++ b/requirements/torch_cu111_windows.txt @@ -1,5 +1,6 @@ #pip install torch===1.9.0+cu111 torchvision===0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html --find-links https://download.pytorch.org/whl/torch_stable.html +-r torch_common.txt torch==1.9.0+cu111; sys_platform == 'win32' torchvision==0.10.0+cu111; sys_platform == 'win32' torchtext==0.10.0; sys_platform == 'win32' diff --git a/requirements/torch_cu113_linux.txt b/requirements/torch_cu113_linux.txt index e072fe1b94..ce966cfac7 100644 --- a/requirements/torch_cu113_linux.txt +++ b/requirements/torch_cu113_linux.txt @@ -1,8 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 --extra-index-url https://download.pytorch.org/whl/cu113 -cython -wheel -pillow==9.3.0 +-r torch_common.txt torch==1.12.0+cu113; sys_platform == 'linux' torchvision==0.13.0+cu113; sys_platform == 'linux' torchtext==0.13.0; sys_platform == 'linux' diff --git a/requirements/torch_cu113_windows.txt b/requirements/torch_cu113_windows.txt index a81d81016f..19731e99db 100644 --- a/requirements/torch_cu113_windows.txt +++ b/requirements/torch_cu113_windows.txt @@ -1,5 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 --extra-index-url https://download.pytorch.org/whl/cu113 +-r torch_common.txt torch==1.12.0+cu113; sys_platform == 'win32' torchvision==0.13.0+cu113; sys_platform == 'win32' torchtext==0.13.0; sys_platform == 'win32' diff --git a/requirements/torch_cu116_linux.txt b/requirements/torch_cu116_linux.txt index 05a814c546..702f3bae24 100644 --- a/requirements/torch_cu116_linux.txt +++ b/requirements/torch_cu116_linux.txt @@ -1,8 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116 --extra-index-url https://download.pytorch.org/whl/cu116 -cython -wheel -pillow==9.3.0 +-r torch_common.txt torch==1.13.1+cu116; sys_platform == 'linux' torchvision==0.14.1+cu116; sys_platform == 'linux' torchtext==0.14.1; sys_platform == 'linux' diff --git a/requirements/torch_cu116_windows.txt b/requirements/torch_cu116_windows.txt index 10b0c7db7c..92a7d98f9e 100644 --- a/requirements/torch_cu116_windows.txt +++ b/requirements/torch_cu116_windows.txt @@ -1,5 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116 --extra-index-url https://download.pytorch.org/whl/cu116 +-r torch_common.txt torch==1.13.1+cu116; sys_platform == 'win32' torchvision==0.14.1+cu116; sys_platform == 'win32' torchtext==0.14.1; sys_platform == 'win32' diff --git a/requirements/torch_cu117_linux.txt b/requirements/torch_cu117_linux.txt index a4331ada6b..450c65543c 100644 --- a/requirements/torch_cu117_linux.txt +++ b/requirements/torch_cu117_linux.txt @@ -1,5 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu117 +-r torch_common.txt torch==2.0.0+cu117; sys_platform == 'linux' torchvision==0.15.1+cu117; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_cu117_windows.txt b/requirements/torch_cu117_windows.txt index 32e07cf15a..d5d15b039f 100644 --- a/requirements/torch_cu117_windows.txt +++ b/requirements/torch_cu117_windows.txt @@ -1,5 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu117 +-r torch_common.txt torch==2.0.0+cu117; sys_platform == 'win32' torchvision==0.15.1+cu117; sys_platform == 'win32' torchtext==0.15.1; sys_platform == 'win32' diff --git a/requirements/torch_cu118_linux.txt b/requirements/torch_cu118_linux.txt index 013b478256..85b8be05a9 100644 --- a/requirements/torch_cu118_linux.txt +++ b/requirements/torch_cu118_linux.txt @@ -1,5 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu118 +-r torch_common.txt torch==2.0.0+cu118; sys_platform == 'linux' torchvision==0.15.1+cu118; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_cu118_windows.txt b/requirements/torch_cu118_windows.txt index 013b478256..85b8be05a9 100644 --- a/requirements/torch_cu118_windows.txt +++ b/requirements/torch_cu118_windows.txt @@ -1,5 +1,6 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu118 +-r torch_common.txt torch==2.0.0+cu118; sys_platform == 'linux' torchvision==0.15.1+cu118; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_cu92.txt b/requirements/torch_cu92.txt index 3ab1f411c9..3867de905e 100644 --- a/requirements/torch_cu92.txt +++ b/requirements/torch_cu92.txt @@ -1,4 +1,5 @@ +-r torch_common.txt torch==1.8.1+cu92 torchvision==0.9.1+cu92 torchtext==0.9.1 -torchaudio==0.8.1 \ No newline at end of file +torchaudio==0.8.1 diff --git a/requirements/torch_cu92_linux.txt b/requirements/torch_cu92_linux.txt index 69765992ec..f93cb590c6 100644 --- a/requirements/torch_cu92_linux.txt +++ b/requirements/torch_cu92_linux.txt @@ -1,8 +1,6 @@ #pip install torch==1.8.1+cu92 torchvision==0.9.1+cu92 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html --find-links https://download.pytorch.org/whl/torch_stable.html -cython -wheel -pillow==9.3.0 +-r torch_common.txt torch==1.8.1+cu92; sys_platform == 'linux' torchvision==0.9.1+cu92; sys_platform == 'linux' torchtext==0.9.1; sys_platform == 'linux' diff --git a/requirements/torch_darwin.txt b/requirements/torch_darwin.txt index 6b0cfdc1d0..5eb6b358d5 100644 --- a/requirements/torch_darwin.txt +++ b/requirements/torch_darwin.txt @@ -1,4 +1,5 @@ #pip install torch torchvision torchaudio +-r torch_common.txt torch==2.0.0; sys_platform == 'darwin' torchvision==0.15.1; sys_platform == 'darwin' torchtext==0.15.1; sys_platform == 'darwin' diff --git a/requirements/torch_linux.txt b/requirements/torch_linux.txt index 56f0593bb6..845bbf1db8 100644 --- a/requirements/torch_linux.txt +++ b/requirements/torch_linux.txt @@ -1,5 +1,6 @@ #pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu --extra-index-url https://download.pytorch.org/whl/cpu +-r torch_common.txt torch==2.0.0+cpu; sys_platform == 'linux' torchvision==0.15.1+cpu; sys_platform == 'linux' torchtext==0.15.1; sys_platform == 'linux' diff --git a/requirements/torch_windows.txt b/requirements/torch_windows.txt index b4b9720d41..f5ed5de1d4 100644 --- a/requirements/torch_windows.txt +++ b/requirements/torch_windows.txt @@ -1,4 +1,5 @@ #pip install torch torchvision torchaudio +-r torch_common.txt torch==2.0.0; sys_platform == 'win32' torchvision==0.15.1; sys_platform == 'win32' torchtext==0.15.1; sys_platform == 'win32' From ffa6847393cb7c36ae0122598152ca4614fe21f1 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 25 May 2023 22:40:29 +0000 Subject: [PATCH 146/172] Remove deprecated pygit2 installation --- ts_scripts/install_dependencies.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/ts_scripts/install_dependencies.py b/ts_scripts/install_dependencies.py index 5b84f0fdd4..8c02f7ca20 100644 --- a/ts_scripts/install_dependencies.py +++ b/ts_scripts/install_dependencies.py @@ -106,14 +106,6 @@ def install_wget(self): if os.system("wget --version") != 0 or args.force: os.system(f"{self.sudo_cmd}apt-get install -y wget") - def install_libgit2(self): - os.system( - f"wget https://github.com/libgit2/libgit2/archive/refs/tags/v1.3.0.tar.gz -O libgit2-1.3.0.tar.gz" - ) - os.system(f"tar xzf libgit2-1.3.0.tar.gz") - os.system(f"cd libgit2-1.3.0 && cmake . && make && sudo make install && cd ..") - os.system(f"rm -rf libgit2-1.3.0 && rm libgit2-1.3.0.tar.gz") - def install_numactl(self): if os.system("numactl --show") != 0 or args.force: os.system(f"{self.sudo_cmd}apt-get install -y numactl") @@ -174,9 +166,6 @@ def install_dependencies(cuda_version=None, nightly=False): system.install_nodejs() system.install_node_packages() - if platform.system() == "Linux" and args.environment == "dev": - system.install_libgit2() - # Sequence of installation to be maintained system.install_java() From 4bc5e461aef7a779437b9d2fc36a84691ea403e9 Mon Sep 17 00:00:00 2001 From: mpoemsl <37959974+mpoemsl@users.noreply.github.com> Date: Fri, 17 Mar 2023 12:31:38 +0100 Subject: [PATCH 147/172] Update custom images to new branch naming --- docker/build_custom_images.sh | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100755 docker/build_custom_images.sh diff --git a/docker/build_custom_images.sh b/docker/build_custom_images.sh new file mode 100755 index 0000000000..dcebdd06c3 --- /dev/null +++ b/docker/build_custom_images.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# build 23mt-cpu +./build_image.sh -bt dev -b torchserve-23mt -t textshuttle/pytorch-serve:23mt-cpu + +# build 23mt-gpu +./build_image.sh -bt dev -g -cv cu113 -b torchserve-23mt -t textshuttle/pytorch-serve:23mt-gpu From 10b81b52c07ae88eba37ccb21b65d5646a84a5d3 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Wed, 22 Feb 2023 19:30:06 -0800 Subject: [PATCH 148/172] Add support for building docker images with specified python version (#2154) * Changes to support different python versions * Updated default version to 3.9 * spellcheck lint --- docker/Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index 333f585047..17ebd052c3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -29,7 +29,11 @@ ARG PYTHON_VERSION=3.9 FROM ${BASE_IMAGE} AS compile-image ARG BASE_IMAGE=ubuntu:rolling +<<<<<<< HEAD ARG PYTHON_VERSION +======= +ARG PYTHON_VERSION=3.9 +>>>>>>> 26089d44 (Add support for building docker images with specified python version (#2154)) ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ From 71518bb8022c277e113bc6e7a4db003fdb380603 Mon Sep 17 00:00:00 2001 From: Simon Schoelly Date: Mon, 29 May 2023 10:36:14 +0200 Subject: [PATCH 149/172] Make dockerfile work --- docker/Dockerfile.dev | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 5e0d45c1a7..b7f04be6c4 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -24,6 +24,7 @@ ARG IPEX_VERSION=1.11.0 ARG IPEX_URL=https://software.intel.com/ipex-whl-stable ARG PYTHON_VERSION=3.9 + ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ @@ -48,6 +49,7 @@ RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ curl \ vim \ numactl \ + openssh-client \ && if [ "$BUILD_WITH_IPEX" = "true" ]; then apt-get update && apt-get install -y libjemalloc-dev libgoogle-perftools-dev libomp-dev && ln -s /usr/lib/x86_64-linux-gnu/libjemalloc.so /usr/lib/libjemalloc.so && ln -s /usr/lib/x86_64-linux-gnu/libtcmalloc.so /usr/lib/libtcmalloc.so && ln -s /usr/lib/x86_64-linux-gnu/libiomp5.so /usr/lib/libiomp5.so; fi \ && rm -rf /var/lib/apt/lists/* \ && cd /tmp \ @@ -65,9 +67,9 @@ RUN update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_ FROM compile-image AS dev-image ARG MACHINE_TYPE=cpu ARG CUDA_VERSION -RUN if [ "$MACHINE_TYPE" = "gpu" ]; then export USE_CUDA=1; fi \ - && git clone https://github.com/pytorch/serve.git \ - && cd serve \ +RUN --mount=type=ssh if [ "$MACHINE_TYPE" = "gpu" ]; then export USE_CUDA=1; fi \ + && git clone git@github.com:textshuttle/pytorch-serve.git \ + && cd pytorch-serve \ && git checkout ${BRANCH_NAME} \ && python$PYTHON_VERSION -m venv /home/venv \ && python -m pip install -U pip setuptools \ From 4492505b2e4c3f908b5ddda606da1d3df3b1ac22 Mon Sep 17 00:00:00 2001 From: Simon Schoelly Date: Tue, 30 May 2023 09:11:52 +0200 Subject: [PATCH 150/172] Fix merge conflict in Dockerfile --- docker/Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 17ebd052c3..333f585047 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -29,11 +29,7 @@ ARG PYTHON_VERSION=3.9 FROM ${BASE_IMAGE} AS compile-image ARG BASE_IMAGE=ubuntu:rolling -<<<<<<< HEAD ARG PYTHON_VERSION -======= -ARG PYTHON_VERSION=3.9 ->>>>>>> 26089d44 (Add support for building docker images with specified python version (#2154)) ENV PYTHONUNBUFFERED TRUE RUN --mount=type=cache,id=apt-dev,target=/var/cache/apt \ From a56829127c0984806de2d44a10523ece3b7e8a14 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Sat, 1 Apr 2023 06:00:40 +0000 Subject: [PATCH 151/172] Avoid running processes in integration test --- .../model_archiver/model_packaging_utils.py | 5 ++ .../tests/integ_tests/configuration.json | 28 ++++++++ .../test_integration_model_archiver.py | 65 +++++++++++-------- .../unit_tests/test_model_packaging_utils.py | 28 ++++---- 4 files changed, 87 insertions(+), 39 deletions(-) diff --git a/model-archiver/model_archiver/model_packaging_utils.py b/model-archiver/model_archiver/model_packaging_utils.py index f7df3c2e1a..86647a1514 100644 --- a/model-archiver/model_archiver/model_packaging_utils.py +++ b/model-archiver/model_archiver/model_packaging_utils.py @@ -11,6 +11,7 @@ import tempfile import zipfile from io import BytesIO +from pathlib import Path from .manifest_components.manifest import Manifest from .manifest_components.model import Model @@ -164,6 +165,10 @@ def copy_artifacts(model_name, **kwargs): if file_type == "extra_files": for path_or_wildcard in path.split(","): + if not Path(path_or_wildcard).exists(): + raise FileNotFoundError( + f"File does not exist: {path_or_wildcard}" + ) for file in glob.glob(path_or_wildcard.strip()): if os.path.isfile(file): shutil.copy2(file, model_path) diff --git a/model-archiver/model_archiver/tests/integ_tests/configuration.json b/model-archiver/model_archiver/tests/integ_tests/configuration.json index 528773fb99..565726e44f 100644 --- a/model-archiver/model_archiver/tests/integ_tests/configuration.json +++ b/model-archiver/model_archiver/tests/integ_tests/configuration.json @@ -99,4 +99,32 @@ "iterations": 2, "version": "1.0", "force": true + }, + { + "name": "extra_files_path", + "model-name": "model", + "model-file": "model_archiver/tests/integ_tests/resources/regular_model/test_model.py", + "serialized-file": "model_archiver/tests/integ_tests/resources/regular_model/test_serialized_file.pt", + "handler": "model_archiver/tests/integ_tests/resources/regular_model/test_handler", + "extra-files": "model_archiver/tests/integ_tests/resources/regular_model/", + "export-path": "model", + "archive-format": "default", + "iterations": 1, + "version": "1.0", + "config-file": "", + "expect-error": false + }, + { + "name": "missing_extra_files", + "model-name": "model", + "model-file": "model_archiver/tests/integ_tests/resources/regular_model/test_model.py", + "serialized-file": "model_archiver/tests/integ_tests/resources/regular_model/test_serialized_file.pt", + "handler": "model_archiver/tests/integ_tests/resources/regular_model/test_handler", + "extra-files": "model_archiver/tests/integ_tests/resources/regular_model/missing.json", + "export-path": "model", + "archive-format": "default", + "iterations": 1, + "version": "1.0", + "config-file": "", + "expect-error": true }] diff --git a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py index 8c2f0644da..89de235cd1 100644 --- a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py +++ b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py @@ -3,9 +3,9 @@ import os import platform import shutil -import subprocess import tempfile import time +from argparse import Namespace from datetime import datetime from pathlib import Path @@ -40,16 +40,28 @@ def delete_file_path(path): pass -def run_test(test, cmd): - it = test.get("iterations") if test.get("iterations") is not None else 1 +def run_test(test, args, mocker): + m = mocker.Mock() + m.parse_args = lambda: args + mocker.patch( + "model_archiver.model_packaging.ArgParser.export_model_args_parser", + return_value=m, + ) + mocker.patch("sys.exit", side_effect=Exception()) + from model_archiver.model_packaging import generate_model_archive + + it = test.get("iterations", 1) for i in range(it): try: - subprocess.check_call(cmd, shell=True) - except subprocess.CalledProcessError as exc: + generate_model_archive() + except Exception as exc: if test.get("expect-error") is not True: assert 0, "{}".format(exc.output) else: return 0 + # In case we expect an error we should not be here + if test.get("expect-error") is True: + assert 0, f"Error expected in test: {test['name']}" return 1 @@ -146,8 +158,8 @@ def validate(test): validate_archive_content(test) -def build_cmd(test): - args = [ +def build_namespace(test): + keys = [ "model-name", "model-file", "serialized-file", @@ -157,15 +169,19 @@ def build_cmd(test): "version", "export-path", "runtime", + "requirements-file", + "config-file", + "force", ] + test["requirements-file"] = None + test["config-file"] = None + test["force"] = test.get("force", False) + test["runtime"] = test.get("runtime", DEFAULT_RUNTIME) + test["archive-format"] = test.get("archive-format", "default") - cmd = ["torch-model-archiver"] + args = Namespace(**{k.replace("-", "_"): test[k] for k in keys}) - for arg in args: - if arg in test: - cmd.append("--{0} {1}".format(arg, test[arg])) - - return " ".join(cmd) + return args def make_paths_absolute(test, keys): @@ -180,7 +196,7 @@ def make_absolute(paths): return test -def test_model_archiver(integ_tests): +def test_model_archiver(integ_tests, mocker): for test in integ_tests: # tar.gz format problem on windows hence ignore if platform.system() == "Windows" and test["archive-format"] == "tgz": @@ -195,33 +211,28 @@ def test_model_archiver(integ_tests): test["model-name"] = ( test["model-name"] + "_" + str(int(time.time() * 1000.0)) ) - cmd = build_cmd(test) - if test.get("force"): - cmd += " -f" + args = build_namespace(test) - if run_test(test, cmd): + if run_test(test, args, mocker): validate(test) finally: delete_file_path(test.get("export-path")) -def test_default_handlers(default_handler_tests): +def test_default_handlers(default_handler_tests, mocker): for test in default_handler_tests: - cmd = build_cmd(test) + cmd = build_namespace(test) try: delete_file_path(test.get("export-path")) create_file_path(test.get("export-path")) - if test.get("force"): - cmd += " -f" - - if run_test(test, cmd): + if run_test(test, cmd, mocker): validate(test) finally: delete_file_path(test.get("export-path")) -def test_zip_store(tmp_path, integ_tests): +def test_zip_store(tmp_path, integ_tests, mocker): integ_tests = list( filter(lambda t: t["name"] == "packaging_zip_store_mar", integ_tests) ) @@ -232,11 +243,11 @@ def test_zip_store(tmp_path, integ_tests): test["iterations"] = 1 test["model-name"] = "zip-store" - run_test(test, build_cmd(test)) + run_test(test, build_namespace(test), mocker) test["model-name"] = "zip" test["archive-format"] = "default" - run_test(test, build_cmd(test)) + run_test(test, build_namespace(test), mocker) stored_size = Path(tmp_path).joinpath("zip-store.mar").stat().st_size zipped_size = Path(tmp_path).joinpath("zip.mar").stat().st_size diff --git a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py index 19f7e447ea..cc453be94a 100644 --- a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py +++ b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging_utils.py @@ -1,6 +1,5 @@ import json import platform -import shutil from collections import namedtuple from pathlib import Path @@ -267,16 +266,11 @@ def create_manifest_from_test_json(test_json): return manifest -def test_archive_creation_with_zip_store(tmp_path, integ_tests): - integ_tests = list( - filter(lambda t: t["name"] == "packaging_zip_store_mar", integ_tests) - ) +def prepare_model_dir(test_name, integ_tests): + integ_tests = list(filter(lambda t: t["name"] == test_name, integ_tests)) assert len(integ_tests) == 1 test = integ_tests[0] - model_dir = Path(tmp_path).joinpath("model_dir") - model_dir.mkdir() - keys = ( "model-file", "serialized-file", @@ -284,25 +278,35 @@ def test_archive_creation_with_zip_store(tmp_path, integ_tests): "extra-files", "config-file", ) + artifact_files = {k.replace("-", "_"): test[k] for k in keys} - for k in keys: - shutil.copy(test[k], model_dir) + model_path = ModelExportUtils.copy_artifacts(test["model-name"], **artifact_files) manifest = create_manifest_from_test_json(test) + return manifest, model_path + + +def test_archive_creation_with_zip_store(tmp_path, integ_tests, mocker): + manifest, model_path = prepare_model_dir("packaging_zip_store_mar", integ_tests) ModelExportUtils.archive( tmp_path, "zip-store", - model_dir.as_posix(), + model_path, manifest, archive_format="zip-store", ) ModelExportUtils.archive( - tmp_path, "zip", model_dir.as_posix(), manifest, archive_format="default" + tmp_path, "zip", model_path, manifest, archive_format="default" ) stored_size = Path(tmp_path).joinpath("zip-store.mar").stat().st_size zipped_size = Path(tmp_path).joinpath("zip.mar").stat().st_size assert zipped_size < stored_size + + +def test_missing_extra_files(integ_tests): + with pytest.raises(FileNotFoundError): + prepare_model_dir("missing_extra_files", integ_tests) From d229611492615ce203a0adc9bdb5717f46c67a4b Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Sat, 1 Apr 2023 06:21:28 +0000 Subject: [PATCH 152/172] Fix error case --- .../tests/integ_tests/test_integration_model_archiver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py index 89de235cd1..05010f509d 100644 --- a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py +++ b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py @@ -56,7 +56,7 @@ def run_test(test, args, mocker): generate_model_archive() except Exception as exc: if test.get("expect-error") is not True: - assert 0, "{}".format(exc.output) + assert 0, str(exc) else: return 0 # In case we expect an error we should not be here From c816465d33e048a1d0f6e951582ec647ed3c51da Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Mon, 3 Apr 2023 20:29:13 +0000 Subject: [PATCH 153/172] Remove test cross-talking --- .../tests/integ_tests/test_integration_model_archiver.py | 6 ++---- .../tests/unit_tests/test_model_packaging.py | 7 +------ 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py index 05010f509d..089bed7b66 100644 --- a/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py +++ b/model-archiver/model_archiver/tests/integ_tests/test_integration_model_archiver.py @@ -41,12 +41,10 @@ def delete_file_path(path): def run_test(test, args, mocker): - m = mocker.Mock() - m.parse_args = lambda: args - mocker.patch( + m = mocker.patch( "model_archiver.model_packaging.ArgParser.export_model_args_parser", - return_value=m, ) + m.return_value.parse_args.return_value = args mocker.patch("sys.exit", side_effect=Exception()) from model_archiver.model_packaging import generate_model_archive diff --git a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py index eef8dd0051..da49fb1fc1 100644 --- a/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py +++ b/model-archiver/model_archiver/tests/unit_tests/test_model_packaging.py @@ -1,12 +1,6 @@ -import sys from collections import namedtuple import pytest -from mock import MagicMock - -sys.modules["shutil"] = MagicMock() -sys.modules["shutil.rmtree"] = MagicMock() - from model_archiver.manifest_components.manifest import RuntimeType from model_archiver.model_packaging import generate_model_archive, package_model from model_archiver.model_packaging_utils import ModelExportUtils @@ -56,6 +50,7 @@ def patches(self, mocker): mocker.patch("model_archiver.model_packaging.ModelExportUtils"), mocker.patch("model_archiver.model_packaging.package_model"), ) + mocker.patch("shutil.rmtree") return patches From 81c3d595038ca9f6af066e19b49c907ebf4c82e7 Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Tue, 30 May 2023 16:47:52 -0700 Subject: [PATCH 154/172] Enable Regression Test in CI (#2370) Co-authored-by: Ankith Gunapal --- .github/workflows/regression_tests_cpu.yml | 13 ++++++++++--- .github/workflows/regression_tests_gpu.yml | 13 ++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/workflows/regression_tests_cpu.yml b/.github/workflows/regression_tests_cpu.yml index 1f7230963b..33f03eb54e 100644 --- a/.github/workflows/regression_tests_cpu.yml +++ b/.github/workflows/regression_tests_cpu.yml @@ -1,9 +1,16 @@ name: Run Regression Tests on CPU on: - # runs everyday at 9:15am - schedule: - - cron: '15 9 * * *' + push: + branches: + - master + pull_request: + branches: + - master + +concurrency: + group: ci-cpu-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.run_number || github.ref }} + cancel-in-progress: true jobs: regression-cpu: diff --git a/.github/workflows/regression_tests_gpu.yml b/.github/workflows/regression_tests_gpu.yml index 09e73e53b3..3ceb5b96a9 100644 --- a/.github/workflows/regression_tests_gpu.yml +++ b/.github/workflows/regression_tests_gpu.yml @@ -1,9 +1,16 @@ name: Run Regression Tests on GPU on: - # runs everyday at 9:15am - schedule: - - cron: '15 9 * * *' + push: + branches: + - master + pull_request: + branches: + - master + +concurrency: + group: ci-cpu-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.run_number || github.ref }} + cancel-in-progress: true jobs: regression-gpu: From 130a29e115f8d62bbd6be231649985b3a447ab2f Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Wed, 31 May 2023 09:07:00 -0700 Subject: [PATCH 155/172] Fix regression test failures associated with fixes in PR: https://github.com/pytorch/serve/pull/2175 (#2371) Co-authored-by: Naman Nandan --- test/postman/kfv2_inference_data.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/postman/kfv2_inference_data.json b/test/postman/kfv2_inference_data.json index f0ad09d2d0..e00c715450 100644 --- a/test/postman/kfv2_inference_data.json +++ b/test/postman/kfv2_inference_data.json @@ -6,10 +6,10 @@ "file": "../kubernetes/kserve/kf_request_json/v2/mnist/mnist_v2_tensor.json", "content-type": "application/json", "expected": { - "id":"d3b15cad-50a2-4eaf-80ce-8b0a428bd298","model_name":"mnist","model_version":"1.0","outputs":[{"name":"predict","shape":[],"datatype":"INT64","data":[1]}] + "id":"d3b15cad-50a2-4eaf-80ce-8b0a428bd298","model_name":"mnist","model_version":"1.0","outputs":[{"name":"input-0","shape":[],"datatype":"INT64","data":[1]}] }, "expected_explain": { - "id":"d3b15cad-50a2-4eaf-80ce-8b0a428bd298","model_name":"mnist","model_version":"1.0","outputs":[{"name":"explain","shape":[1,28,28],"datatype":"FP64","data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.0040547527881586954,-0.00022612877132135935,-0.00012734132068921815,0.005648369123934234,0.00890478344415316,0.002638536746843638,0.0026802459473054567,-0.002657801646198628,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0002446577521584037,0.0008218454252870746,0.015285916556975589,0.007512832032495784,0.007094984582680408,0.003405668414819342,-0.0020919248349481525,-0.0007800296083653554,0.022995877395463753,0.019004328861537745,-0.0012529557611487667,-0.0014666116853554992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.005298396299742967,-0.0007901602589731957,0.00390606628994132,0.02317408192562863,0.01723791734244863,0.010867034230381416,0.003001563449593484,0.006224217749113618,0.006120711993702211,0.016736329208148985,0.005674718979287411,0.0043441351074201716,-0.0012328422456581033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0006867354470939666,0.009772898561731134,-0.003875493029617137,0.0017986933105143274,0.00130754408083684,-0.0024510981201440493,-0.0008806773035242951,0,0,-0.00014277890938077845,-0.009322312923101268,0.020608317831970053,0.0043513950202448085,-0.0007875567959471073,-0.0009075897498983682,0,0,0,0,0,0,0,0,0,0,0,0,0,0.00022247236805959426,-0.0007829029576392685,0.0026663695298724034,0.000973336645392922,0,0,0,0,0,0,0,0.0004323206544010433,0.023657171718451487,0.010694845123018274,-0.0023759529649896504,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002074797027562978,-0.0023201009712006193,-0.0012899209165390638,0,0,0,0,0,0,0,0,0,0.007629679307476711,0.010448627340902272,0.00025032896574585353,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.0003770835815454417,-0.005156369326824804,0.0012477581647151723,0,0,0,0,0,0,0,0,0,-0.00004442522927758585,0.010248046478304183,0.0009971132925931643,0,0,0,0,0,0,0,0,0,0,0,0,0.0004501049686186689,-0.001963053861562753,-0.0006664790954766908,0.0020157404181157298,0,0,0,0,0,0,0,0,0,-0.0022144570001665495,0.008361584182210209,0.0031401945811928064,0,0,0,0,0,0,0,0,0,0,0,0,-0.0028943546389954404,-0.0031301382952544582,0.002113252627152244,0,0,0,0,0,0,0,0,0,0,-0.0010321050313140568,0.008905753962245818,0.0028464382842652274,0,0,0,0,0,0,0,0,0,0,0,0,-0.005305289160784239,-0.001927110161077484,0.0012090041616218117,0,0,0,0,0,0,0,0,0,0,-0.0011945155110826835,0.005654443253323257,0.0020132074296893847,0,0,0,0,0,0,0,0,0,0,0,0,-0.0014689358191145255,0.00107434126494373,0,0,0,0,0,0,0,0,0,0,0,-0.0017047979656755515,0.002906605326916773,-0.0007805868832212293,0,0,0,0,0,0,0,0,0,0,0,0.000055417251836277426,0.0014516115955483288,0.0002827699382308426,0,0,0,0,0,0,0,0,0,0,0,-0.0014401406798288333,0.002381249994012627,0.002146825485493657,0,0,0,0,0,0,0,0,0,0,0,0.0011500530011764514,0.00028650115062629793,0.0029798149728837,0,0,0,0,0,0,0,0,0,0,0,-0.0017750294246144378,0.0008339858039134471,-0.0037707389974128264,0,0,0,0,0,0,0,0,0,0,0,-0.0006093176702196316,-0.0004690580448827246,0.0034053215399203448,0,0,0,0,0,0,0,0,0,0,-0.0007450010561445004,0.0012987672807208413,-0.00849924754154327,-0.00006145174356975924,0,0,0,0,0,0,0,0,0,0,0,0.0011809727047705845,-0.0018384766530189604,0.005411106767295053,0,0,0,0,0,0,0,0,0,-0.0021392342405935397,0.0003259162378301207,-0.005276118419877435,-0.001950983939698961,-9.545680860124795e-7,0,0,0,0,0,0,0,0,0,0,0,0.000777240560389088,-0.00015179538793786839,0.006481484638650515,0,0,0,0,0,0,0,0,0.00008098065166629173,-0.0024904261335704243,-0.0020718616274916063,-0.00005341157801587443,-0.00045564727357325394,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002275098238597264,0.0017164058060623701,0.00032213445581197173,0,0,0,0,0,-0.001556028266851665,0.0000910724863950236,0.0008772840524484654,0.000650298006504863,-0.004128780934527031,0.0006030386677594234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0013959957755626813,0.00267915270212672,0.0023995009632858484,-0.0004496094979322396,0.003101832911668704,0.007494535603697501,0.002864118701309854,-0.003052590375330078,0.003420222741405451,0.001492401842506996,-0.0009357391552120744,0.0007856228750089005,-0.00184339736789655,0.00001603187900317098,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.0006999018662842894,0.004382251035718981,-0.0035419315151426845,-0.002889674705246964,-0.000487345313107622,-0.006087344960098864,0.0003882250941768635,0.0025336419028892817,-0.004352836272916637,-0.0006079418201851047,-0.003810133084711927,-0.0008284412435870998,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0010901530193446261,-0.013135007265412056,0.000473452169279359,0.002050423312678761,-0.00660945214953636,0.00236478632058849,0.004678920566995346,-0.0018122525188342855,0.002137538293354298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}] + "id":"d3b15cad-50a2-4eaf-80ce-8b0a428bd298","model_name":"mnist","model_version":"1.0","outputs":[{"name":"input-0","shape":[1,28,28],"datatype":"FP64","data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.0040547527881586954,-0.00022612877132135935,-0.00012734132068921815,0.005648369123934234,0.00890478344415316,0.002638536746843638,0.0026802459473054567,-0.002657801646198628,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0002446577521584037,0.0008218454252870746,0.015285916556975589,0.007512832032495784,0.007094984582680408,0.003405668414819342,-0.0020919248349481525,-0.0007800296083653554,0.022995877395463753,0.019004328861537745,-0.0012529557611487667,-0.0014666116853554992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.005298396299742967,-0.0007901602589731957,0.00390606628994132,0.02317408192562863,0.01723791734244863,0.010867034230381416,0.003001563449593484,0.006224217749113618,0.006120711993702211,0.016736329208148985,0.005674718979287411,0.0043441351074201716,-0.0012328422456581033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0006867354470939666,0.009772898561731134,-0.003875493029617137,0.0017986933105143274,0.00130754408083684,-0.0024510981201440493,-0.0008806773035242951,0,0,-0.00014277890938077845,-0.009322312923101268,0.020608317831970053,0.0043513950202448085,-0.0007875567959471073,-0.0009075897498983682,0,0,0,0,0,0,0,0,0,0,0,0,0,0.00022247236805959426,-0.0007829029576392685,0.0026663695298724034,0.000973336645392922,0,0,0,0,0,0,0,0.0004323206544010433,0.023657171718451487,0.010694845123018274,-0.0023759529649896504,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002074797027562978,-0.0023201009712006193,-0.0012899209165390638,0,0,0,0,0,0,0,0,0,0.007629679307476711,0.010448627340902272,0.00025032896574585353,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.0003770835815454417,-0.005156369326824804,0.0012477581647151723,0,0,0,0,0,0,0,0,0,-0.00004442522927758585,0.010248046478304183,0.0009971132925931643,0,0,0,0,0,0,0,0,0,0,0,0,0.0004501049686186689,-0.001963053861562753,-0.0006664790954766908,0.0020157404181157298,0,0,0,0,0,0,0,0,0,-0.0022144570001665495,0.008361584182210209,0.0031401945811928064,0,0,0,0,0,0,0,0,0,0,0,0,-0.0028943546389954404,-0.0031301382952544582,0.002113252627152244,0,0,0,0,0,0,0,0,0,0,-0.0010321050313140568,0.008905753962245818,0.0028464382842652274,0,0,0,0,0,0,0,0,0,0,0,0,-0.005305289160784239,-0.001927110161077484,0.0012090041616218117,0,0,0,0,0,0,0,0,0,0,-0.0011945155110826835,0.005654443253323257,0.0020132074296893847,0,0,0,0,0,0,0,0,0,0,0,0,-0.0014689358191145255,0.00107434126494373,0,0,0,0,0,0,0,0,0,0,0,-0.0017047979656755515,0.002906605326916773,-0.0007805868832212293,0,0,0,0,0,0,0,0,0,0,0,0.000055417251836277426,0.0014516115955483288,0.0002827699382308426,0,0,0,0,0,0,0,0,0,0,0,-0.0014401406798288333,0.002381249994012627,0.002146825485493657,0,0,0,0,0,0,0,0,0,0,0,0.0011500530011764514,0.00028650115062629793,0.0029798149728837,0,0,0,0,0,0,0,0,0,0,0,-0.0017750294246144378,0.0008339858039134471,-0.0037707389974128264,0,0,0,0,0,0,0,0,0,0,0,-0.0006093176702196316,-0.0004690580448827246,0.0034053215399203448,0,0,0,0,0,0,0,0,0,0,-0.0007450010561445004,0.0012987672807208413,-0.00849924754154327,-0.00006145174356975924,0,0,0,0,0,0,0,0,0,0,0,0.0011809727047705845,-0.0018384766530189604,0.005411106767295053,0,0,0,0,0,0,0,0,0,-0.0021392342405935397,0.0003259162378301207,-0.005276118419877435,-0.001950983939698961,-9.545680860124795e-7,0,0,0,0,0,0,0,0,0,0,0,0.000777240560389088,-0.00015179538793786839,0.006481484638650515,0,0,0,0,0,0,0,0,0.00008098065166629173,-0.0024904261335704243,-0.0020718616274916063,-0.00005341157801587443,-0.00045564727357325394,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002275098238597264,0.0017164058060623701,0.00032213445581197173,0,0,0,0,0,-0.001556028266851665,0.0000910724863950236,0.0008772840524484654,0.000650298006504863,-0.004128780934527031,0.0006030386677594234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0013959957755626813,0.00267915270212672,0.0023995009632858484,-0.0004496094979322396,0.003101832911668704,0.007494535603697501,0.002864118701309854,-0.003052590375330078,0.003420222741405451,0.001492401842506996,-0.0009357391552120744,0.0007856228750089005,-0.00184339736789655,0.00001603187900317098,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.0006999018662842894,0.004382251035718981,-0.0035419315151426845,-0.002889674705246964,-0.000487345313107622,-0.006087344960098864,0.0003882250941768635,0.0025336419028892817,-0.004352836272916637,-0.0006079418201851047,-0.003810133084711927,-0.0008284412435870998,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0010901530193446261,-0.013135007265412056,0.000473452169279359,0.002050423312678761,-0.00660945214953636,0.00236478632058849,0.004678920566995346,-0.0018122525188342855,0.002137538293354298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}] }, "tolerance": 25 -}] \ No newline at end of file +}] From 1f863f98432ed1a663f8ac0ca03b7fe3a8950e55 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Wed, 31 May 2023 20:08:28 +0000 Subject: [PATCH 156/172] Remove evil session_mocker usage to prevent test cross talking --- test/pytest/test_example_micro_batching.py | 34 +++++++++------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/test/pytest/test_example_micro_batching.py b/test/pytest/test_example_micro_batching.py index b07c99ea7d..60a3c9c3d0 100644 --- a/test/pytest/test_example_micro_batching.py +++ b/test/pytest/test_example_micro_batching.py @@ -4,6 +4,8 @@ import shutil from argparse import Namespace from pathlib import Path +from unittest.mock import MagicMock, patch +from zipfile import ZIP_STORED, ZipFile import pytest import requests @@ -81,9 +83,7 @@ def serialized_file(work_dir): @pytest.fixture( scope="module", name="mar_file_path", params=["yaml_config", "no_config"] ) -def create_mar_file( - work_dir, session_mocker, serialized_file, model_archiver, model_name, request -): +def create_mar_file(work_dir, serialized_file, model_archiver, model_name, request): mar_file_path = Path(work_dir).joinpath(model_name + ".mar") name_file = REPO_ROOT_DIR.joinpath( @@ -132,25 +132,19 @@ def create_mar_file( config_file=config_file, ) - mock = session_mocker.MagicMock() - mock.parse_args = session_mocker.MagicMock(return_value=args) - session_mocker.patch( - "archiver.ArgParser.export_model_args_parser", return_value=mock - ) - - # Using ZIP_STORED instead of ZIP_DEFLATED reduces test runtime from 54 secs to 10 secs - from zipfile import ZIP_STORED, ZipFile - - session_mocker.patch( - "model_archiver.model_packaging_utils.zipfile.ZipFile", - lambda x, y, _: ZipFile(x, y, ZIP_STORED), - ) - - model_archiver.generate_model_archive() + mock = MagicMock() + mock.parse_args = MagicMock(return_value=args) + with patch("archiver.ArgParser.export_model_args_parser", return_value=mock): + # Using ZIP_STORED instead of ZIP_DEFLATED reduces test runtime from 54 secs to 10 secs + with patch( + "model_archiver.model_packaging_utils.zipfile.ZipFile", + lambda x, y, _: ZipFile(x, y, ZIP_STORED), + ): + model_archiver.generate_model_archive() - assert mar_file_path.exists() + assert mar_file_path.exists() - yield mar_file_path.as_posix() + yield mar_file_path.as_posix() # Clean up files mar_file_path.unlink(missing_ok=True) From 27a6ed5619cff2da02be213602c90c58b93e89e4 Mon Sep 17 00:00:00 2001 From: Mark Saroufim Date: Wed, 31 May 2023 15:42:33 -0700 Subject: [PATCH 157/172] Enable ONNX test in CI (#2363) * Enable ONNX test in CI --- requirements/developer.txt | 2 ++ test/pytest/test_onnx.py | 18 +----------------- ts/torch_handler/base_handler.py | 6 +++--- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/requirements/developer.txt b/requirements/developer.txt index 1b3447c3d8..49d60df970 100644 --- a/requirements/developer.txt +++ b/requirements/developer.txt @@ -15,3 +15,5 @@ twine==4.0.2 mypy==1.3.0 torchpippy==0.1.1 intel_extension_for_pytorch==2.0.100; sys_platform != 'win32' and sys_platform != 'darwin' +onnxruntime==1.15.0 +onnx==1.14.0 diff --git a/test/pytest/test_onnx.py b/test/pytest/test_onnx.py index 477e57e4fa..dd466544ee 100644 --- a/test/pytest/test_onnx.py +++ b/test/pytest/test_onnx.py @@ -1,18 +1,7 @@ import subprocess -import pytest import torch - -try: - import onnx - import torch.onnx - - print( - onnx.__version__ - ) # Adding this so onnx import doesn't get removed by pre-commit - ONNX_ENABLED = True -except: - ONNX_ENABLED = False +import torch.onnx class ToyModel(torch.nn.Module): @@ -28,7 +17,6 @@ def forward(self, x): # For a custom model you still need to manually author your converter, as far as I can tell there isn't a nice out of the box that exists -@pytest.mark.skipif(ONNX_ENABLED == False, reason="ONNX is not installed") def test_convert_to_onnx(): model = ToyModel() dummy_input = torch.randn(1, 1) @@ -55,7 +43,6 @@ def test_convert_to_onnx(): ) -@pytest.mark.skipif(ONNX_ENABLED == False, reason="ONNX is not installed") def test_model_packaging_and_start(): subprocess.run("mkdir model_store", shell=True) subprocess.run( @@ -65,7 +52,6 @@ def test_model_packaging_and_start(): ) -@pytest.mark.skipif(ONNX_ENABLED == False, reason="ONNX is not installed") def test_model_start(): subprocess.run( "torchserve --start --ncs --model-store model_store --models onnx.mar", @@ -74,7 +60,6 @@ def test_model_start(): ) -@pytest.mark.skipif(ONNX_ENABLED == False, reason="ONNX is not installed") def test_inference(): subprocess.run( "curl -X POST http://127.0.0.1:8080/predictions/onnx --data-binary '1'", @@ -82,6 +67,5 @@ def test_inference(): ) -@pytest.mark.skipif(ONNX_ENABLED == False, reason="ONNX is not installed") def test_stop(): subprocess.run("torchserve --stop", shell=True, check=True) diff --git a/ts/torch_handler/base_handler.py b/ts/torch_handler/base_handler.py index 8a4f77b054..08405e79fd 100644 --- a/ts/torch_handler/base_handler.py +++ b/ts/torch_handler/base_handler.py @@ -77,10 +77,10 @@ ONNX_AVAILABLE = False -def setup_ort_session(model_pt_path): +def setup_ort_session(model_pt_path, map_location): providers = ( ["CUDAExecutionProvider", "CPUExecutionProvider"] - if self.map_location == "cuda" + if map_location == "cuda" else ["CPUExecutionProvider"] ) @@ -168,7 +168,7 @@ def initialize(self, context): # Convert your model by following instructions: https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html elif self.model_pt_path.endswith(".onnx") and ONNX_AVAILABLE: - self.model = setup_ort_session(self.model_pt_path) + self.model = setup_ort_session(self.model_pt_path, self.map_location) logger.info("Succesfully setup ort session") else: From c685b5c43ab2bf4b31c0f71e91fc9b6668f9309d Mon Sep 17 00:00:00 2001 From: min-jean-cho Date: Wed, 31 May 2023 16:42:59 -0700 Subject: [PATCH 158/172] Update cpuinfo (#2372) * update cpuinfo * update * lint * lint * lint * install numactl --------- Co-authored-by: Ankith Gunapal Co-authored-by: Mark Saroufim --- ...est_example_intel_extension_for_pytorch.py | 37 ++++++++++++------- ts_scripts/install_dependencies.py | 1 + 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/test/pytest/test_example_intel_extension_for_pytorch.py b/test/pytest/test_example_intel_extension_for_pytorch.py index 9b79eb3ae5..c93b34e045 100644 --- a/test/pytest/test_example_intel_extension_for_pytorch.py +++ b/test/pytest/test_example_intel_extension_for_pytorch.py @@ -15,11 +15,19 @@ MANAGEMENT_API = "http://localhost:8081" INFERENCE_API = "http://localhost:8080" -ipex_launcher_available = False -cmd = ["python", "-m", "intel_extension_for_pytorch.cpu.launch", "--no_python", "ls"] +xeon_run_cpu_available = False +cmd = ["python", "-m", "torch.backends.xeon.run_cpu", "--no_python", "ls"] r = subprocess.run(cmd) if r.returncode == 0: - ipex_launcher_available = True + xeon_run_cpu_available = True + +ipex_available = False +cmd = ["python", "-c", "import intel_extension_for_pytorch as ipex"] +r = subprocess.run(cmd) +if r.returncode == 0: + ipex_available = True + +ipex_xeon_run_cpu_available = xeon_run_cpu_available and ipex_available def setup_module(): @@ -39,10 +47,10 @@ def setup_torchserve(): def get_worker_affinity(num_workers, worker_idx): - from intel_extension_for_pytorch.cpu.launch import CPUinfo + from torch.backends.xeon.run_cpu import _CPUinfo - cpuinfo = CPUinfo() - num_cores = cpuinfo.physical_core_nums() + cpuinfo = _CPUinfo() + num_cores = cpuinfo._physical_core_nums() num_cores_per_worker = num_cores // num_workers start = worker_idx * num_cores_per_worker @@ -75,8 +83,8 @@ def scale_workers_with_core_pinning(scaled_num_workers): @pytest.mark.skipif( - not ipex_launcher_available, - reason="Make sure intel-extension-for-pytorch is installed", + not ipex_xeon_run_cpu_available, + reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_single_worker_affinity(): num_workers = 1 @@ -94,12 +102,13 @@ def test_single_worker_affinity(): ), "single-worker inference with core pinning failed" affinity = get_worker_affinity(num_workers, worker_idx) + print("affinity: ", affinity) assert affinity in open(TS_LOG).read(), "workers are not correctly pinned to cores" @pytest.mark.skipif( - not ipex_launcher_available, - reason="Make sure intel-extension-for-pytorch is installed", + not ipex_xeon_run_cpu_available, + reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_multi_worker_affinity(): num_workers = 4 @@ -123,8 +132,8 @@ def test_multi_worker_affinity(): @pytest.mark.skipif( - not ipex_launcher_available, - reason="Make sure intel-extension-for-pytorch is installed", + not ipex_xeon_run_cpu_available, + reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_worker_scale_up_affinity(): initial_num_workers = 2 @@ -155,8 +164,8 @@ def test_worker_scale_up_affinity(): @pytest.mark.skipif( - not ipex_launcher_available, - reason="Make sure intel-extension-for-pytorch is installed", + not ipex_xeon_run_cpu_available, + reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_worker_scale_down_affinity(): initial_num_workers = 4 diff --git a/ts_scripts/install_dependencies.py b/ts_scripts/install_dependencies.py index 8c02f7ca20..b5b9b4b0a7 100644 --- a/ts_scripts/install_dependencies.py +++ b/ts_scripts/install_dependencies.py @@ -165,6 +165,7 @@ def install_dependencies(cuda_version=None, nightly=False): system.install_wget() system.install_nodejs() system.install_node_packages() + system.install_numactl() # Sequence of installation to be maintained system.install_java() From a81fc5209349b6360186f16108cd0d905eaac314 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:52:35 +0000 Subject: [PATCH 159/172] fix tcp port in model_service_worker.py (#2377) * fix tcp port in model_service_worker.py * update torchrun parameter name * fmt --- .../serve/archive/model/ModelConfig.java | 21 +------------------ .../pytorch/serve/wlm/WorkerLifeCycle.java | 14 +++++-------- ts/model_service_worker.py | 6 +++--- 3 files changed, 9 insertions(+), 32 deletions(-) diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java index 6f09250319..f92507ac9f 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java @@ -339,7 +339,6 @@ public static class TorchRun { private String rdzvEndpoint; private String rdzvBackend = "c10d"; private String rdzvConf; - private int maxRestarts = 3; private int monitorInterval = 5; private int nodeRank; private String masterAddr; @@ -388,13 +387,6 @@ public static TorchRun build(Map torchRunMap) { logger.warn("Invalid torchrun.rdzv-conf:{}", v); } break; - case "max-restarts": - if (v instanceof Integer) { - torchRun.setMaxRestarts((Integer) v); - } else { - logger.warn("Invalid torchrun.max-restarts:{}, reset to 3", v); - } - break; case "monitor-interval": if (v instanceof Integer) { torchRun.setMonitorInterval((Integer) v); @@ -417,6 +409,7 @@ public static TorchRun build(Map torchRunMap) { } break; default: + logger.warn("unsupported parameter {}", k); break; } }); @@ -479,18 +472,6 @@ public void setRdzvConf(String rdzvConf) { this.rdzvConf = rdzvConf; } - public int getMaxRestarts() { - return maxRestarts; - } - - public void setMaxRestarts(int maxRestarts) { - if (maxRestarts <= 0) { - logger.warn("Invalid torchrun.max-restarts:{}, reset to 3", maxRestarts); - return; - } - this.maxRestarts = maxRestarts; - } - public int getMonitorInterval() { return monitorInterval; } diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java index c8a890d7ed..158941150d 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/WorkerLifeCycle.java @@ -195,21 +195,17 @@ private void attachRunner( argl.add("torchrun"); argl.add("--nnodes"); argl.add(String.valueOf(torchRun.getNnodes())); - argl.add("--nproc_per_node"); + argl.add("--nproc-per-node"); argl.add(String.valueOf(torchRun.getNprocPerNode())); - argl.add("--max_restarts"); - argl.add(String.valueOf(torchRun.getMaxRestarts())); - argl.add("--log_dir"); + argl.add("--log-dir"); argl.add(ConfigManager.getInstance().getTorchRunLogDir()); - argl.add("--rdzv_backend"); + argl.add("--rdzv-backend"); argl.add(torchRun.getRdzvBackend()); - argl.add("--rdzv_endpoint"); if (torchRun.getRdzvEndpoint() != null) { + argl.add("--rdzv-endpoint"); argl.add(torchRun.getRdzvEndpoint()); - } else { - argl.add(String.format("localhost:%d", port)); } - argl.add("--rdzv_id"); + argl.add("--rdzv-id"); argl.add(String.format("%s_%d", model.getModelName(), port)); if (torchRun.getMasterAddr() != null) { argl.add("--master-addr"); diff --git a/ts/model_service_worker.py b/ts/model_service_worker.py index 72cf65c903..57e8bf9a7c 100644 --- a/ts/model_service_worker.py +++ b/ts/model_service_worker.py @@ -61,16 +61,16 @@ def __init__( raise RuntimeError( "socket already in use: {}.".format(s_name_new) ) from e - + logging.info("Listening on port: %s", s_name_new) elif s_type == "tcp": self.sock_name = host_addr if host_addr is not None else "127.0.0.1" if port_num is None: raise ValueError("Wrong arguments passed. No socket port given.") - self.port = port_num + LOCAL_RANK + self.port = int(port_num) + LOCAL_RANK + logging.info("Listening on addr:port: %s:%d", self.sock_name, self.port) else: raise ValueError("Incomplete data provided") - logging.info("Listening on port: %s", s_name) socket_family = socket.AF_INET if s_type == "tcp" else socket.AF_UNIX self.sock = socket.socket(socket_family, socket.SOCK_STREAM) self.metrics_cache = MetricsCacheYamlImpl(config_file_path=metrics_config) From 77f8c0b20b450f3959a96326ee31f06cb0921cb0 Mon Sep 17 00:00:00 2001 From: Ankith Gunapal Date: Thu, 1 Jun 2023 14:38:50 -0700 Subject: [PATCH 160/172] Remove cu118 from regression tests (#2380) --- .github/workflows/regression_tests_gpu.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/regression_tests_gpu.yml b/.github/workflows/regression_tests_gpu.yml index 3ceb5b96a9..ff5a2bc8ea 100644 --- a/.github/workflows/regression_tests_gpu.yml +++ b/.github/workflows/regression_tests_gpu.yml @@ -16,10 +16,6 @@ jobs: regression-gpu: # creates workflows for CUDA 11.6 & CUDA 11.7 on ubuntu runs-on: [self-hosted, regression-test-gpu] - strategy: - fail-fast: false - matrix: - cuda: ["cu117", "cu118"] steps: - name: Clean up previous run run: | @@ -47,7 +43,7 @@ jobs: uses: actions/checkout@v3 - name: Install dependencies run: | - python ts_scripts/install_dependencies.py --environment=dev --cuda=${{ matrix.cuda }} + python ts_scripts/install_dependencies.py --environment=dev --cuda=cu117 - name: Torchserve Regression Tests run: | python test/regression_tests.py From e5004b2afa4e160c4b7c03da9fd5a59bdf989e4e Mon Sep 17 00:00:00 2001 From: min-jean-cho Date: Thu, 1 Jun 2023 18:05:54 -0700 Subject: [PATCH 161/172] Update cpuinfo (#2379) * update cpuinfo * update * lint * lint * lint * install numactl * update num workers * skip if gpu --------- Co-authored-by: Ankith Gunapal Co-authored-by: Mark Saroufim --- ...est_example_intel_extension_for_pytorch.py | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/test/pytest/test_example_intel_extension_for_pytorch.py b/test/pytest/test_example_intel_extension_for_pytorch.py index c93b34e045..5ff882a800 100644 --- a/test/pytest/test_example_intel_extension_for_pytorch.py +++ b/test/pytest/test_example_intel_extension_for_pytorch.py @@ -5,6 +5,7 @@ import pytest import requests import test_utils +import torch from test_handler import run_inference_using_url_with_data REPO_ROOT = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../") @@ -83,7 +84,8 @@ def scale_workers_with_core_pinning(scaled_num_workers): @pytest.mark.skipif( - not ipex_xeon_run_cpu_available, + not ipex_xeon_run_cpu_available + or ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_single_worker_affinity(): @@ -102,16 +104,16 @@ def test_single_worker_affinity(): ), "single-worker inference with core pinning failed" affinity = get_worker_affinity(num_workers, worker_idx) - print("affinity: ", affinity) assert affinity in open(TS_LOG).read(), "workers are not correctly pinned to cores" @pytest.mark.skipif( - not ipex_xeon_run_cpu_available, + not ipex_xeon_run_cpu_available + or ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_multi_worker_affinity(): - num_workers = 4 + num_workers = 2 setup_torchserve() requests.post( "http://localhost:8081/models?initial_workers={}&synchronous=true&url=resnet-18.mar".format( @@ -132,11 +134,12 @@ def test_multi_worker_affinity(): @pytest.mark.skipif( - not ipex_xeon_run_cpu_available, + not ipex_xeon_run_cpu_available + or ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_worker_scale_up_affinity(): - initial_num_workers = 2 + initial_num_workers = 1 setup_torchserve() requests.post( "http://localhost:8081/models?initial_workers={}&synchronous=true&url=resnet-18.mar".format( @@ -144,7 +147,7 @@ def test_worker_scale_up_affinity(): ) ) - scaled_up_num_workers = 4 + scaled_up_num_workers = 2 response = scale_workers_with_core_pinning(scaled_up_num_workers) resnet18_list = json.loads(response.content) assert ( @@ -164,11 +167,12 @@ def test_worker_scale_up_affinity(): @pytest.mark.skipif( - not ipex_xeon_run_cpu_available, + not ipex_xeon_run_cpu_available + or ((torch.cuda.device_count() > 0) and torch.cuda.is_available()), reason="Make sure intel-extension-for-pytorch is installed and torch.backends.xeon.run_cpu is available", ) def test_worker_scale_down_affinity(): - initial_num_workers = 4 + initial_num_workers = 2 setup_torchserve() requests.post( "http://localhost:8081/models?initial_workers={}&synchronous=true&url=resnet-18.mar".format( @@ -176,7 +180,7 @@ def test_worker_scale_down_affinity(): ) ) - scaled_down_num_workers = 2 + scaled_down_num_workers = 1 response = scale_workers_with_core_pinning(scaled_down_num_workers) resnet18_list = json.loads(response.content) assert ( From e205e6b9836a881dea6b5d2afee20570b1280f36 Mon Sep 17 00:00:00 2001 From: Naman Nandan Date: Fri, 2 Jun 2023 09:33:58 -0700 Subject: [PATCH 162/172] Upgrade torch, torchvision, torchtext and torchaudio versions (#2374) torch == 2.0.1 torchvision == 0.15.2 torchtext == 0.15.2 torchaudio == 2.0.2 Co-authored-by: Naman Nandan Co-authored-by: Ankith Gunapal --- requirements/torch_cu117_linux.txt | 8 ++++---- requirements/torch_cu117_windows.txt | 8 ++++---- requirements/torch_cu118_linux.txt | 8 ++++---- requirements/torch_cu118_windows.txt | 8 ++++---- requirements/torch_darwin.txt | 8 ++++---- requirements/torch_linux.txt | 8 ++++---- requirements/torch_windows.txt | 8 ++++---- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/requirements/torch_cu117_linux.txt b/requirements/torch_cu117_linux.txt index 450c65543c..ebfa68c47c 100644 --- a/requirements/torch_cu117_linux.txt +++ b/requirements/torch_cu117_linux.txt @@ -1,7 +1,7 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu117 -r torch_common.txt -torch==2.0.0+cu117; sys_platform == 'linux' -torchvision==0.15.1+cu117; sys_platform == 'linux' -torchtext==0.15.1; sys_platform == 'linux' -torchaudio==2.0.1+cu117; sys_platform == 'linux' +torch==2.0.1+cu117; sys_platform == 'linux' +torchvision==0.15.2+cu117; sys_platform == 'linux' +torchtext==0.15.2; sys_platform == 'linux' +torchaudio==2.0.2+cu117; sys_platform == 'linux' diff --git a/requirements/torch_cu117_windows.txt b/requirements/torch_cu117_windows.txt index d5d15b039f..03debbb6e5 100644 --- a/requirements/torch_cu117_windows.txt +++ b/requirements/torch_cu117_windows.txt @@ -1,7 +1,7 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu117 -r torch_common.txt -torch==2.0.0+cu117; sys_platform == 'win32' -torchvision==0.15.1+cu117; sys_platform == 'win32' -torchtext==0.15.1; sys_platform == 'win32' -torchaudio==2.0.1+cu117; sys_platform == 'win32' +torch==2.0.1+cu117; sys_platform == 'win32' +torchvision==0.15.2+cu117; sys_platform == 'win32' +torchtext==0.15.2; sys_platform == 'win32' +torchaudio==2.0.2+cu117; sys_platform == 'win32' diff --git a/requirements/torch_cu118_linux.txt b/requirements/torch_cu118_linux.txt index 85b8be05a9..d34969ef55 100644 --- a/requirements/torch_cu118_linux.txt +++ b/requirements/torch_cu118_linux.txt @@ -1,7 +1,7 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu118 -r torch_common.txt -torch==2.0.0+cu118; sys_platform == 'linux' -torchvision==0.15.1+cu118; sys_platform == 'linux' -torchtext==0.15.1; sys_platform == 'linux' -torchaudio==2.0.1+cu118; sys_platform == 'linux' +torch==2.0.1+cu118; sys_platform == 'linux' +torchvision==0.15.2+cu118; sys_platform == 'linux' +torchtext==0.15.2; sys_platform == 'linux' +torchaudio==2.0.2+cu118; sys_platform == 'linux' diff --git a/requirements/torch_cu118_windows.txt b/requirements/torch_cu118_windows.txt index 85b8be05a9..d34969ef55 100644 --- a/requirements/torch_cu118_windows.txt +++ b/requirements/torch_cu118_windows.txt @@ -1,7 +1,7 @@ #pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 --extra-index-url https://download.pytorch.org/whl/cu118 -r torch_common.txt -torch==2.0.0+cu118; sys_platform == 'linux' -torchvision==0.15.1+cu118; sys_platform == 'linux' -torchtext==0.15.1; sys_platform == 'linux' -torchaudio==2.0.1+cu118; sys_platform == 'linux' +torch==2.0.1+cu118; sys_platform == 'linux' +torchvision==0.15.2+cu118; sys_platform == 'linux' +torchtext==0.15.2; sys_platform == 'linux' +torchaudio==2.0.2+cu118; sys_platform == 'linux' diff --git a/requirements/torch_darwin.txt b/requirements/torch_darwin.txt index 5eb6b358d5..0e3ff64f98 100644 --- a/requirements/torch_darwin.txt +++ b/requirements/torch_darwin.txt @@ -1,6 +1,6 @@ #pip install torch torchvision torchaudio -r torch_common.txt -torch==2.0.0; sys_platform == 'darwin' -torchvision==0.15.1; sys_platform == 'darwin' -torchtext==0.15.1; sys_platform == 'darwin' -torchaudio==2.0.1; sys_platform == 'darwin' +torch==2.0.1; sys_platform == 'darwin' +torchvision==0.15.2; sys_platform == 'darwin' +torchtext==0.15.2; sys_platform == 'darwin' +torchaudio==2.0.2; sys_platform == 'darwin' diff --git a/requirements/torch_linux.txt b/requirements/torch_linux.txt index 845bbf1db8..96424b9ca4 100644 --- a/requirements/torch_linux.txt +++ b/requirements/torch_linux.txt @@ -1,7 +1,7 @@ #pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu --extra-index-url https://download.pytorch.org/whl/cpu -r torch_common.txt -torch==2.0.0+cpu; sys_platform == 'linux' -torchvision==0.15.1+cpu; sys_platform == 'linux' -torchtext==0.15.1; sys_platform == 'linux' -torchaudio==2.0.1+cpu; sys_platform == 'linux' +torch==2.0.1+cpu; sys_platform == 'linux' +torchvision==0.15.2+cpu; sys_platform == 'linux' +torchtext==0.15.2; sys_platform == 'linux' +torchaudio==2.0.2+cpu; sys_platform == 'linux' diff --git a/requirements/torch_windows.txt b/requirements/torch_windows.txt index f5ed5de1d4..a9ee0f348d 100644 --- a/requirements/torch_windows.txt +++ b/requirements/torch_windows.txt @@ -1,6 +1,6 @@ #pip install torch torchvision torchaudio -r torch_common.txt -torch==2.0.0; sys_platform == 'win32' -torchvision==0.15.1; sys_platform == 'win32' -torchtext==0.15.1; sys_platform == 'win32' -torchaudio==2.0.1; sys_platform == 'win32' +torch==2.0.1; sys_platform == 'win32' +torchvision==0.15.2; sys_platform == 'win32' +torchtext==0.15.2; sys_platform == 'win32' +torchaudio==2.0.2; sys_platform == 'win32' From 9542c454b351066069bdcd8f8e587f4d0fdcf229 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Wed, 22 Mar 2023 23:32:13 +0000 Subject: [PATCH 163/172] Remove wait time when stopping and starting torchserve in tests --- test/pytest/test_utils.py | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/test/pytest/test_utils.py b/test/pytest/test_utils.py index b2c83b11c9..614c7268c4 100644 --- a/test/pytest/test_utils.py +++ b/test/pytest/test_utils.py @@ -2,12 +2,12 @@ import importlib import json import os -import subprocess import sys import tempfile -import time +import threading from os import path from pathlib import Path +from subprocess import PIPE, STDOUT, Popen import requests @@ -21,6 +21,16 @@ CODEBUILD_WD = path.abspath(path.join(__file__, "../../..")) +class PrintPipeTillTheEnd(threading.Thread): + def __init__(self, pipe): + super().__init__() + self.pipe = pipe + + def run(self): + for line in self.pipe.stdout: + print(line.decode("utf-8").strip()) + + def start_torchserve( model_store=None, snapshot_file=None, no_config_snapshots=False, gen_mar=True ): @@ -36,13 +46,29 @@ def start_torchserve( if no_config_snapshots: cmd.extend(["--no-config-snapshots"]) print(cmd) - subprocess.run(cmd) - time.sleep(10) + + p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=STDOUT) + for line in p.stdout: + print(line.decode("utf8").strip()) + if "Model server started" in str(line).strip(): + break + print_thread = PrintPipeTillTheEnd(p) + print_thread.start() def stop_torchserve(): - subprocess.run(["torchserve", "--stop"]) - time.sleep(10) + # subprocess.run(["torchserve", "--stop"]) + from subprocess import PIPE, STDOUT, Popen + + p = Popen(["torchserve", "--stop"], stdin=PIPE, stdout=PIPE, stderr=STDOUT) + for line in p.stdout: + print(line.decode("utf8").strip()) + stopping_criteria = ( + "TorchServe is not currently running" in str(line).strip(), + "TorchServe has stopped" in str(line).strip(), + ) + if any(stopping_criteria): + break def delete_all_snapshots(): From 9a23ef7f80ea7b13c3277b700d5b6efe2bd294cf Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 23 Mar 2023 04:58:52 +0000 Subject: [PATCH 164/172] Remove 10 second wait time for start/stop torchserve --- ts_scripts/tsutils.py | 109 ++++++++++++++++++++++++++++++------------ 1 file changed, 78 insertions(+), 31 deletions(-) diff --git a/ts_scripts/tsutils.py b/ts_scripts/tsutils.py index 77687611e9..6b8a07ad09 100644 --- a/ts_scripts/tsutils.py +++ b/ts_scripts/tsutils.py @@ -1,52 +1,88 @@ import os import platform import sys -import time +import threading +from subprocess import PIPE, STDOUT, Popen + import requests + from ts_scripts import marsgen as mg torchserve_command = { "Windows": "torchserve.exe", "Darwin": "torchserve", - "Linux": "torchserve" + "Linux": "torchserve", } torch_model_archiver_command = { - "Windows": "torch-model-archiver.exe", - "Darwin": "torch-model-archiver", - "Linux": "torch-model-archiver" - } + "Windows": "torch-model-archiver.exe", + "Darwin": "torch-model-archiver", + "Linux": "torch-model-archiver", +} torch_workflow_archiver_command = { - "Windows": "torch-workflow-archiver.exe", - "Darwin": "torch-workflow-archiver", - "Linux": "torch-workflow-archiver" - } + "Windows": "torch-workflow-archiver.exe", + "Darwin": "torch-workflow-archiver", + "Linux": "torch-workflow-archiver", +} + + +class LogPipeTillTheEnd(threading.Thread): + def __init__(self, pipe, log_file): + super().__init__() + self.pipe = pipe + self.log_file = log_file + + def run(self): + with open(self.log_file, "a") as f: + for line in self.pipe.stdout: + f.write(line.decode("utf-8")) def start_torchserve( - ncs=False, model_store="model_store", workflow_store="", - models="", config_file="", log_file="", wait_for=10, gen_mar=True): + ncs=False, + model_store="model_store", + workflow_store="", + models="", + config_file="", + log_file="", + wait_for=10, + gen_mar=True, +): if gen_mar: mg.gen_mar(model_store) print("## Starting TorchServe") - cmd = f"{torchserve_command[platform.system()]} --start --model-store={model_store}" + cmd = [f"{torchserve_command[platform.system()]}"] + cmd.append("--start") + cmd.append(f"--model-store={model_store}") if models: - cmd += f" --models={models}" + cmd.append(f"--models={models}") if workflow_store: - cmd += f" --workflow-store={workflow_store}" + cmd.append(f"--workflow-store={workflow_store}") if ncs: - cmd += " --ncs" + cmd.append(" --ncs") if config_file: - cmd += f" --ts-config={config_file}" + cmd.append(f" --ts-config={config_file}") if log_file: print(f"## Console logs redirected to file: {log_file}") - cmd += f" >> {log_file}" print(f"## In directory: {os.getcwd()} | Executing command: {cmd}") - status = os.system(cmd) + p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=STDOUT) + if log_file: + with open(log_file, "a") as f: + for line in p.stdout: + f.write(line.decode("utf-8")) + if "Model server started" in str(line).strip(): + break + t = LogPipeTillTheEnd(p, log_file) + t.start() + else: + for line in p.stdout: + if "Model server started" in str(line).strip(): + break + + status = p.poll() if status == 0: print("## Successfully started TorchServe") - time.sleep(wait_for) return True else: print("## TorchServe failed to start !") @@ -55,12 +91,14 @@ def start_torchserve( def stop_torchserve(wait_for=10): print("## Stopping TorchServe") - cmd = f"{torchserve_command[platform.system()]} --stop" + cmd = [f"{torchserve_command[platform.system()]}"] + cmd.append("--stop") print(f"## In directory: {os.getcwd()} | Executing command: {cmd}") - status = os.system(cmd) + p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=STDOUT) + + status = p.wait() if status == 0: print("## Successfully stopped TorchServe") - time.sleep(wait_for) return True else: print("## TorchServe failed to stop !") @@ -86,7 +124,9 @@ def register_model(model_name, protocol="http", host="localhost", port="8081"): return response -def run_inference(model_name, file_name, protocol="http", host="localhost", port="8080", timeout=120): +def run_inference( + model_name, file_name, protocol="http", host="localhost", port="8080", timeout=120 +): print(f"## Running inference on {model_name} model") url = f"{protocol}://{host}:{port}/predictions/{model_name}" files = {"data": (file_name, open(file_name, "rb"))} @@ -103,9 +143,11 @@ def unregister_model(model_name, protocol="http", host="localhost", port="8081") def generate_grpc_client_stubs(): print("## Started generating gRPC clinet stubs") - cmd = "python -m grpc_tools.protoc --proto_path=frontend/server/src/main/resources/proto/ --python_out=ts_scripts " \ - "--grpc_python_out=ts_scripts frontend/server/src/main/resources/proto/inference.proto " \ - "frontend/server/src/main/resources/proto/management.proto" + cmd = ( + "python -m grpc_tools.protoc --proto_path=frontend/server/src/main/resources/proto/ --python_out=ts_scripts " + "--grpc_python_out=ts_scripts frontend/server/src/main/resources/proto/inference.proto " + "frontend/server/src/main/resources/proto/management.proto" + ) status = os.system(cmd) if status != 0: print("Could not generate gRPC client stubs") @@ -115,9 +157,7 @@ def generate_grpc_client_stubs(): def register_workflow(workflow_name, protocol="http", host="localhost", port="8081"): print(f"## Registering {workflow_name} workflow") model_zoo_url = "https://torchserve.s3.amazonaws.com" - params = ( - ("url", f"{model_zoo_url}/war_files/{workflow_name}.war"), - ) + params = (("url", f"{model_zoo_url}/war_files/{workflow_name}.war"),) url = f"{protocol}://{host}:{port}/workflows" response = requests.post(url, params=params, verify=False) return response @@ -130,7 +170,14 @@ def unregister_workflow(workflow_name, protocol="http", host="localhost", port=" return response -def workflow_prediction(workflow_name, file_name, protocol="http", host="localhost", port="8080", timeout=120): +def workflow_prediction( + workflow_name, + file_name, + protocol="http", + host="localhost", + port="8080", + timeout=120, +): print(f"## Running inference on {workflow_name} workflow") url = f"{protocol}://{host}:{port}/wfpredict/{workflow_name}" files = {"data": (file_name, open(file_name, "rb"))} From fe27e07b1da91fd15331bbf5f0aa50a684bb6c01 Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 1 Jun 2023 21:07:21 +0000 Subject: [PATCH 165/172] Prepare log folder + remove spaces in command + obsolete kwarg --- ts_scripts/tsutils.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ts_scripts/tsutils.py b/ts_scripts/tsutils.py index 6b8a07ad09..6fb1f6b42f 100644 --- a/ts_scripts/tsutils.py +++ b/ts_scripts/tsutils.py @@ -2,6 +2,7 @@ import platform import sys import threading +from pathlib import Path from subprocess import PIPE, STDOUT, Popen import requests @@ -46,7 +47,6 @@ def start_torchserve( models="", config_file="", log_file="", - wait_for=10, gen_mar=True, ): if gen_mar: @@ -60,14 +60,15 @@ def start_torchserve( if workflow_store: cmd.append(f"--workflow-store={workflow_store}") if ncs: - cmd.append(" --ncs") + cmd.append("--ncs") if config_file: - cmd.append(f" --ts-config={config_file}") + cmd.append(f"--ts-config={config_file}") if log_file: print(f"## Console logs redirected to file: {log_file}") - print(f"## In directory: {os.getcwd()} | Executing command: {cmd}") + print(f"## In directory: {os.getcwd()} | Executing command: {' '.join(cmd)}") p = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=STDOUT) if log_file: + Path(log_file).parent.absolute().mkdir(parents=True, exist_ok=True) with open(log_file, "a") as f: for line in p.stdout: f.write(line.decode("utf-8")) @@ -89,7 +90,7 @@ def start_torchserve( return False -def stop_torchserve(wait_for=10): +def stop_torchserve(): print("## Stopping TorchServe") cmd = [f"{torchserve_command[platform.system()]}"] cmd.append("--stop") From 28a2525859ab01390293e83aad0fb0dbdfc8343b Mon Sep 17 00:00:00 2001 From: Matthias Reso <13337103+mreso@users.noreply.github.com> Date: Thu, 1 Jun 2023 23:31:52 +0000 Subject: [PATCH 166/172] Allow --stop to be combined with --forward argument to wait for model server to stop --- test/pytest/test_utils.py | 14 ++------------ ts/arg_parser.py | 2 +- ts/model_server.py | 8 +++++++- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/test/pytest/test_utils.py b/test/pytest/test_utils.py index 614c7268c4..23bd45ab7b 100644 --- a/test/pytest/test_utils.py +++ b/test/pytest/test_utils.py @@ -2,6 +2,7 @@ import importlib import json import os +import subprocess import sys import tempfile import threading @@ -57,18 +58,7 @@ def start_torchserve( def stop_torchserve(): - # subprocess.run(["torchserve", "--stop"]) - from subprocess import PIPE, STDOUT, Popen - - p = Popen(["torchserve", "--stop"], stdin=PIPE, stdout=PIPE, stderr=STDOUT) - for line in p.stdout: - print(line.decode("utf8").strip()) - stopping_criteria = ( - "TorchServe is not currently running" in str(line).strip(), - "TorchServe has stopped" in str(line).strip(), - ) - if any(stopping_criteria): - break + subprocess.run(["torchserve", "--stop", "--foreground"]) def delete_all_snapshots(): diff --git a/ts/arg_parser.py b/ts/arg_parser.py index 0a1d0595e1..49aea5fcf1 100644 --- a/ts/arg_parser.py +++ b/ts/arg_parser.py @@ -61,7 +61,7 @@ def ts_parser(): parser.add_argument( "--foreground", help="Run the model server in foreground. If this option is disabled, the model server" - " will run in the background.", + " will run in the background. In combination with --stop the program wait for the model server to terminate.", action="store_true", ) parser.add_argument( diff --git a/ts/model_server.py b/ts/model_server.py index bf3a2e9b8f..9217a3b3a3 100644 --- a/ts/model_server.py +++ b/ts/model_server.py @@ -47,7 +47,13 @@ def start(): try: parent = psutil.Process(pid) parent.terminate() - print("TorchServe has stopped.") + if args.foreground: + try: + parent.wait(timeout=60) + except psutil.TimeoutExpired: + print("Stopping TorchServe took too long.") + else: + print("TorchServe has stopped.") except (OSError, psutil.Error): print("TorchServe already stopped.") os.remove(pid_file) From 08a909315021e9ac69d114770679cb3bc815f19e Mon Sep 17 00:00:00 2001 From: Joseph Calise <128929319+josephcalise@users.noreply.github.com> Date: Mon, 5 Jun 2023 18:14:32 -0700 Subject: [PATCH 167/172] Ts type annotations (#2384) * adding type annotations to functions --- mypy.ini | 2 +- ts/model_server.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mypy.ini b/mypy.ini index fbc0f98dbc..2e1165bdc1 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,7 +1,7 @@ [mypy] ; A good-first-issue is to add types to a file ; As you do start adding them in files and slowly make the excluded files empty -files = ts/context.py +files = ts/context.py, ts/model_server.py exclude = examples, binaries, ts_scripts, test, kubernetes, benchmarks, model-archiver, workflow-archiver, ts/tests, ts/utils diff --git a/ts/model_server.py b/ts/model_server.py index 9217a3b3a3..2a50932fa5 100644 --- a/ts/model_server.py +++ b/ts/model_server.py @@ -9,7 +9,7 @@ import sys import tempfile from builtins import str - +from typing import Dict import psutil from ts.arg_parser import ArgParser @@ -18,7 +18,7 @@ TS_NAMESPACE = "org.pytorch.serve.ModelServer" -def start(): +def start() -> None: """ This is the entry point for model server :return: @@ -104,7 +104,8 @@ def start(): sys.exit(1) ts_conf_file = ts_config - platform_path_separator = {"Windows": "", "Darwin": ".:", "Linux": ".:"} + platform_path_separator = { + "Windows": "", "Darwin": ".:", "Linux": ".:"} class_path = "{}{}".format( platform_path_separator[platform.system()], os.path.join(ts_home, "ts", "frontend", "*"), @@ -207,7 +208,7 @@ def start(): print("start java frontend failed:", sys.exc_info()) -def load_properties(file_path): +def load_properties(file_path: str) -> Dict[str, str]: """ Read properties file into map. """ @@ -220,7 +221,6 @@ def load_properties(file_path): if len(pair) > 1: key = pair[0].strip() props[key] = pair[1].strip() - return props From 43d84ff565e3a3e71520ee8ecc5a131fe3b0e528 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Mon, 12 Jun 2023 21:05:57 +0000 Subject: [PATCH 168/172] fix: reflect model config in config.properties (#2382) * reflect the model config from properties * honor model config in config.properties --- .../org/pytorch/serve/wlm/ModelManager.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java index 28c9f9c698..4cc01972ce 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/ModelManager.java @@ -278,6 +278,13 @@ private Model createModel( archive.getModelVersion(), Model.BATCH_SIZE, batchSize); + } else { + batchSize = + configManager.getJsonIntValue( + archive.getModelName(), + archive.getModelVersion(), + Model.BATCH_SIZE, + batchSize); } model.setBatchSize(batchSize); @@ -291,6 +298,13 @@ private Model createModel( archive.getModelVersion(), Model.MAX_BATCH_DELAY, maxBatchDelay); + } else { + maxBatchDelay = + configManager.getJsonIntValue( + archive.getModelName(), + archive.getModelVersion(), + Model.MAX_BATCH_DELAY, + maxBatchDelay); } model.setMaxBatchDelay(maxBatchDelay); @@ -304,6 +318,13 @@ private Model createModel( archive.getModelVersion(), Model.RESPONSE_TIMEOUT, responseTimeout); + } else { + responseTimeout = + configManager.getJsonIntValue( + archive.getModelName(), + archive.getModelVersion(), + Model.RESPONSE_TIMEOUT, + responseTimeout); } model.setResponseTimeout(responseTimeout); model.setWorkflowModel(isWorkflowModel); From 580c28aa37124bd37a7cffcc5355d14db1e96cce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 17:18:09 -0700 Subject: [PATCH 169/172] Bump transformers from 4.28.1 to 4.30.0 in /requirements (#2410) Bumps [transformers](https://github.com/huggingface/transformers) from 4.28.1 to 4.30.0. - [Release notes](https://github.com/huggingface/transformers/releases) - [Commits](https://github.com/huggingface/transformers/compare/v4.28.1...v4.30.0) --- updated-dependencies: - dependency-name: transformers dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements/developer.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/developer.txt b/requirements/developer.txt index 49d60df970..be985a4519 100644 --- a/requirements/developer.txt +++ b/requirements/developer.txt @@ -7,7 +7,7 @@ pytest-cov==4.1.0 grpcio==1.54.2 protobuf==4.23.1 grpcio-tools==1.54.2 -transformers==4.28.1 +transformers==4.30.0 pyspelling==2.8.2 pygit2==1.12.1 pre-commit==3.3.2 From 7f9967e51de81e93da2af4a9c5e6f66423c2e316 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Tue, 13 Jun 2023 00:44:24 +0000 Subject: [PATCH 170/172] fix model cpu config (#2408) --- frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java index 73ba2d6c10..a63ddeb1b9 100644 --- a/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java +++ b/frontend/server/src/main/java/org/pytorch/serve/wlm/Model.java @@ -77,7 +77,7 @@ public Model(ModelArchive modelArchive, int queueSize) { (modelArchive.getModelConfig().getDeviceType() == ModelConfig.DeviceType.GPU && ConfigManager.getInstance().getNumberOfGpu() > 0) ? ModelConfig.DeviceType.GPU - : deviceType; + : ModelConfig.DeviceType.CPU; } deviceIds = modelArchive.getModelConfig().getDeviceIds(); From 89fbd885b11e4d2f40bea779d8cee7c6a87f9c20 Mon Sep 17 00:00:00 2001 From: lxning <23464292+lxning@users.noreply.github.com> Date: Tue, 13 Jun 2023 01:10:13 +0000 Subject: [PATCH 171/172] support jobQueueSize and job ticket per model in model config YAML (#2350) * add jobQsize * add jobQueueSize in model_config.yaml for mnist_scripted.mar * feature job tickets * rename hasJobTickets to getJobTickets * fmt doc * update doc * fmt doc * fmt doc * update doc --- docs/large_model_inference.md | 11 +++++ .../serve/archive/model/ModelConfig.java | 42 ++++++++++++++++++ .../test/resources/models/mnist_scripted.mar | Bin 4513963 -> 4517024 bytes .../pytorch/serve/wlm/BatchAggregator.java | 5 +++ .../java/org/pytorch/serve/wlm/Model.java | 37 +++++++++++++++ 5 files changed, 95 insertions(+) diff --git a/docs/large_model_inference.md b/docs/large_model_inference.md index 3d9b6dd815..dbeaf47248 100644 --- a/docs/large_model_inference.md +++ b/docs/large_model_inference.md @@ -194,3 +194,14 @@ torchrun: # gpus you wish to split your model OMP_NUMBER_THREADS: 2 ``` +#### Feature Job ticket is recommended for the use case of inference latency sensitive +When the job ticket feature is enabled, TorchServe verifies the availability of a model's active worker for processing a client's request. If an active worker is available, the request is accepted and processed immediately without waiting time incurred from job queue or dynamic batching; otherwise, a 503 response is sent back to client. + +This feature help with use cases where inference latency can be high, such as generative models, auto regressive decoder models like chatGPT. This feature help such applications to take effective actions, for example, routing the rejected request to a different server, or scaling up model server capacity, based on the business requirements. Here is an example of enabling job ticket. +```yaml +minWorkers: 2 +maxWorkers: 2 +jobQueueSize: 2 +useJobTicket: true +``` +In this example, a model has 2 workers with job queue size 2. An inference request will be either processed by TorchServe immediately, or rejected with response code 503. diff --git a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java index f92507ac9f..dc72b6b085 100644 --- a/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java +++ b/frontend/archive/src/main/java/org/pytorch/serve/archive/model/ModelConfig.java @@ -44,6 +44,16 @@ public class ModelConfig { * timeout. default: 0 which means no timeout (ie. clientExpireTS default value Long.MAX_VALUE. */ private long clientTimeoutInMills; + /** + * the job queue size of a model. By default, job_queue_size is set as 100 in config.property + * for all models. Here, jobQueueSize: -1 means no customized setting for the model. + */ + private int jobQueueSize; + /** + * the useJobTicket is a flag which allows an inference request to be accepted only if there are + * available workers. + */ + private boolean useJobTicket; public static ModelConfig build(Map yamlMap) { ModelConfig modelConfig = new ModelConfig(); @@ -134,6 +144,20 @@ public static ModelConfig build(Map yamlMap) { v); } break; + case "jobQueueSize": + if (v instanceof Integer) { + modelConfig.setJobQueueSize((int) v); + } else { + logger.warn("Invalid jobQueueSize: {}, should be positive int", v); + } + break; + case "useJobTicket": + if (v instanceof Boolean) { + modelConfig.setUseJobTicket((boolean) v); + } else { + logger.warn("Invalid useJobTicket: {}, should be true or false", v); + } + break; default: break; } @@ -271,6 +295,24 @@ public void setClientTimeoutInMills(long clientTimeoutInMills) { } } + public int getJobQueueSize() { + return jobQueueSize; + } + + public void setJobQueueSize(int jobQueueSize) { + if (jobQueueSize > 0) { + this.jobQueueSize = jobQueueSize; + } + } + + public boolean isUseJobTicket() { + return useJobTicket; + } + + public void setUseJobTicket(boolean useJobTicket) { + this.useJobTicket = useJobTicket; + } + public enum ParallelType { NONE(""), PP("pp"), diff --git a/frontend/archive/src/test/resources/models/mnist_scripted.mar b/frontend/archive/src/test/resources/models/mnist_scripted.mar index 3973db8ee330e8c34dc46540b320641ca636aeca..80c6bde76ebb722ec2fa49ae70af4b9d0f5f670e 100644 GIT binary patch literal 4517024 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

K9Gw@@BRQ|7U^ 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 +~2S%Jk_Cx#DB(o?tmbl)oq{0 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Õ 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 e#)e2tuk!f5nPe$ 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%0A3Y|LW#2> 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

P}7K~-oEous(%W%_pmU{b~?fne-nsHzeJ#u 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

WQ$++ub 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�DS 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

nSqb4~x*Ria&1J>Dgy4lx0r>5> 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

hEI(Bb}j;(j{3s=?4@AWVh)ClL!@}9fqddO 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

qgUQ3v+*?s?bUo|II{*3NZ5;oWyJT0iY* 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%0AK9F$b|w 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

W(E|sa~jd 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 LZF4j(FA#G}jS;2Qf5o>Ryo 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

=+<4d>T!fzsT}Z0DdJ;AHY^Svani%_f7!pMgKB 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

Hv`R;*Tfy|w)hcY&nt~Ee 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® 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

(UQGaWuq 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 zac

E&uKXGloy_zDvbn^w|1O;ty8r(#^X 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 N6ZCjf zA9wJal;=a|Us39E`zY(-xxxLav(UZbHb!Pti&>NoodE%HANAo|fbrOlMb`royHG4e)eGfK5?n zNXGP;;H8{LoYG@h;og`0uT34S=29{vPKogJw+S=;6GE13Gk_;n;?!njDb!T^fQ#b| z_DY$&-Z{+*b>lq^bo@541w{u@pSd>8kmxL4Rw|UV1VsC zFqm-^rm1}-O9YgNdBr|(v3)`ApNfP5RXLh2^cKu&HLz$@ffL=Ri0}5E4j-&{ZZd<6AJ!jB~`y#Ea~SNHToB@*6_pdZGPbIwV?m6MAnN zHoa&g`gT6|IN(VauSU$%!7Hc;*cLC#q3g#VQ0*J4BBnQ zm8=QFMYfm7_*!Xt$$1tP*N_IkhGaPPs{rmd-{QF?e3vx4vFa zwj`S2VTXylyH7(wbEXo=?+7A=r>wx@ZW@q)E>d~f1YYzvkzG-@*t9>okQBIyt<7+R zK2K$szu+IIW>!I>f|mW>cd5`*BLts_J>yKT*1v3P!R1?Q>4OW=ynUZv@Ko>q1Sd(L zWqFU_<+~tQ_G~8UU((IiWQ!ty=kfXh(LX#TnQ}O#@&Kktm5@)fM9}eaHp!ZCojCgq z!o*ootZm9N{;l5)Fu^C4I6Ufy$H9BS$IhEhRr3X>?GwRgf-@RE(#7XHHiMu)#}f>5 zgiSC0V>i20Xi9NBNF3M1X?YshzB!)kc6z}3+wp-=om5^xWFDT%HHJ%pjwp7ojOVKs z30iW;@v?3zIDQsD*#}X~xwjS$7rKB+!WVX>wiz404iS+zNsu%g10}8vK*IB3?XmkL zr*|#tq zQmcyQ*S|w-gNdUK_Jf^0x_a8ZLBaUAdz`)>ty^-MQD}2gi5EUaSLCzqDa>y__?+mX3xrjkC60_&%c9{ zNh$<+|A7PEi+Nch`$1z^fj=%&mXiiP452qwVtb$6lF zYXX?oJ7dYYWM*w!fj`&!aUa zl%4tDg!7mGW&0|p5Ti;vkaK#=WHnRp@?UKb7M+J0P5C5e?L<_ml^_A9tTAfvI^IfK z$}4KJg8Z8eI5$a-``(d6SbHoHxYEm;%BG{3iXxUb?&m)<6v01g)@+8JBR7jAd_?H%Y({&>VmRBB2IB>*>FmLOxj%XjmK24N zj;2&N@843N(A>^iIwntxomx%qpR|GlL8vQ z%7~yj>H2MpK_#2{UZTP9cm5}`bFCu1HhBphJG77n?C=HAuaEeb<`&{R_XQ|&v5izD z#}Iha!yC@tO-9v@^DeJK@=C#!_U)FS!QP5AIpZFb*ABuJ*SsZCm3 zyQVo=`+FvQ3w+2PXgaezkCjk46h_`}lO^^ZC78I?1j0^afMii8+cu#U>zb`FPwf-b z@Vdx}LwDJ}Pd)7Ct1^C!xgD&15kp#J(!tDj7X9LT4-VbijW<-KIN5cbeCe!O;;~JS z2;Mit{_0$!9HT)_8->B@E9S6w>H`o>oPv_x>6}~E6>i_(23GLJ5_-!Rl>L%q%ByX# z&^?Qk?6?T|*5iQl*~53c@EgYqujTyuLbxWom#pcT8(nZ?1jL0Jcz-AUA`XVOFmTlh ze$MSeD~12Kyu@Q%l7Sfa`Asvto%V=`NxH)1sH1QUdstQ zw&OIUa#72$0rI9!qv^~X+9%wDeWK|goNNqJW#>Sl#a~if+=Bat7I2C)CU9jb@z}Sb z5a-qm^Bg?7V5Z9;$m_|0)9N4m*j{bSJ!(W=xz@1lwPmpXpb6c1^$RHqUJYDN38X#i z``1UdVE%_k=2nW4MmuM6^x;JkO9$&3XPA*GbIy=o{;P4yq#0oS-V#;_Z-JVB-hAM} zBoyxdPKpakSjR09e82cP)6_W*Dmic9$F@~C_>2dR;ju6yOBI5u>cDMwC=2QAX6_26 zIHL5v-rww&!|I9eU{R|jE$zO0=er4+fTh7_-j%Z^7;DDZ;i*e`sgH8ejPvI9SDSDN1Acha@CRO)JkjC0 zt{(h(&_XmD)WOwz8Kioyg{)hZ#D%w!+q@;6(1}Xu@n19fFFA-6shmQsegih=#B`jy z^#hTvSd2gS@_-!u1!vdFbB`B!@nl<JadcB{~h;Z1B_^mlfJcNC<)0Ip2<$=|w33&pwxc%|c&aO{Li-N)@;7{^J19J|cs zKGJ|PQ8}oH7)MhR%Rsoe0iFw1gF!(d`Tq1ZNvM?}dKEkn4Uz-bl}ka>-J49+n7(`_|Xp**>E=W6<^$> z7n`I#!SvlEbZ-Z6J!nt7?yKVI-{0!@Z;e5LO%jk1mjLxw1i-U>H9m2%huZJi*x35+ z-;Qp$d{Mp{m|l~m1%GeU*|fbyn;Kj0OlcfOC`N*hM*_T9y%FwKEF$&sau7LN z3x(fVg1MC;%s%b~sm;;6_ONB>cqJE#+YUq4#v-_Qs}KU(efW3X^&xOXn{Il|2fw+A zWVWjq989?k9UpTs&)_yJ(*6bWB924H!3(T3!kPH&{0JAahT-$IJ21sl4gBY%VSAM^ zZD_m=*QPvW>W{vVZIyD+zHc{#3O^)YkNH4Kc0ZU&<-sbmK2)sTiW4k1gR$iXh})C{ z`I)z1hfOT#9SVb_5(zdp>phEc@PpABgvsZM4jZT$He_NE;HSIej5jmcAf zd2=BfUOAP7Cr$xbg}Llm+kcQET>bAIdUUB`5G6D2!1lNT*q-UaaxQNr5eX6e7#t-H zdv-$X_h}H&q(mbFPQayeKj6;oQzUtr7ECyw4tGU1z%OwZ7C3)>{md(CS)u19FcZxo z;oh(79gp;qQ%PkIHSZGm*#tsb+Clc#zZNt^zVIyl+lb-WV{F0fe4fw)6}VF@%w|gz zqNdt(7!oTaf+qw)|6~$7wY(U-&$+N0b2gEMYM;r`S?lnT`VBA(Tu-%rzlOVp6s-6y z{Kug~B;&O{h;`+$vIjFkwLOAu&*hO%Wm|}cq&HkvilF=(a+IEJU_o|{@Ml*u%)PdU zKbqx)%?Ffurtg-M6*61+GcW8U*DnXav!jI|`kN08AFa_->LEE=w2CCS3B$uI6{ce? z3BkH$R;<7@Gq&Z!WRnC z-1FPzSn&7(-ph?eo6@^vrB*$t4m<$Ah(gG+vq2rPugulT2#(uLLDz&Pv|IWYvro+6 zTv8eMUlX9O4TIp2jwzfuc$CaM>jt?w3(?lyiWj)Pwf^|Kt2ld~EceE?4PSbf{^P>0 zFz4rMGU5}-mKO_=)LK)VfCU6*xPmX|pmvNvF&vvqOJw7YD@el7f^Zwt@FH^RmFk-R122604;&qk)olYMpj zaAw&a?A|pAM;0dX0;)=2LufCa`@M{AwvnTy&rUF{BO=_*rXgZ97R%HEHlgP$3m^w{ z;a%!J;(ERYmE@iIUne|erAwUYyz|3+rv?DuUQ5_nXp6A}Ghm6jAbQ-jB=Z_JF|3brTh>%z3Z9Gyx5?qN7iZyyrYnXJKCq|3aO>PR;uyb# zERYeRx0=!+zD<^Imve{}{4nElUiRQsu zaL{sQJzfUF4kXqMt?+}wFDHoF(il8{`VTwr77QzWCJ>9h8K8Su6pD8GK$m$Z+Yl@Q z6XY~-!<|O{JC)U}+sX*d3LSBd;&xo;k$|rYthssauj{u-_JgcIEpJH$se5mp266Kz z;6`Ob2f@w$SRfFM!?LdUVox~<617Es`zvODY6e8fw!mu*b&zq~4!IRx{M=bj+0?<; zY>=-<+}Bhv%b_{AC0U4j-z3D1#GAv&@AWXe--2wPWeZ*t1$e{De0U4yzk+&VN23PC zXruOKpfUqwxtSr@`lN&2<36(g@nIHJlvKY-PY`tb-jV-GFOv@%J<#{%u|u%-dH$Ru zfzVoa0kmFd(YDy1L~ubmSv4-8e$rWA_-XPU9$U1)rtD5w@qHEcF0vsx|GYTTpGV~% zX8=|Rg4zOo*j;)YLa-1tCJDmQBmeqP=>>LvyUMocT!NXizLS;b8hP8hB5_r>8hP+_ zi1hEYfc5Prd~0TdXAj15m7kAtdu$eS8#W8F6Vt_M>y(R3>-r0_!)r3@{+9t3f6kIl zDN|@32P~L%;6sIR>`iJPyQT9D+5{JPYIGGJ{5X*2}11CNMOa|VD*K^M6Gcv z9BIA*w~RiKB|#_I{^z+MbMPcw(l-a?jY+U>to`3Dr<3>Mv&sGVI?%uVl5{KH24__P zTJ!QPYj&yTpHGg4JvTToh~EuupQ6F);$%|0t&(55UxGe(z8Az*4C#G?Jm{4)gi{wU z@I93*K(#0uGG~sEua43*q4Nn$&z=B+Bg*tnusSvS8$_QT7Ni?jR-*fgUf5yU2VY`d zl7z4IaIs2{=GSZk$+xwBUZBIVb_YX^Od(Zskt4A{^A&*FJY!>2qXvkz^+1BNODfZ6^rfh$LV#{X6hTLozn}(ZRYT3yA4Y3rm%Q=8#%|$li}b5 zm{QD#*?+H)$;Nj0l6RcQG>wplLi!-Q--LX5Uj{XgFyl}g{%)Q0`totkXn947)2Y12 zMozA$(I3WBa=3x`j6|WjB@a!6S}|SG2Wwl+U|sDTEQz%Rf0M&FGf|idpXi5|UJj_F zv;ai=MVMO5N3!CS5IWpH&W;xx#FNnvdAm&C!{ELECcJaXV|PzT|ml~8Pd~6PeCrcghg6KqtqQ+bej4M zwd-=wPkt)X%AG}~3RKmLWG5C6FIjdM=1k)Uwaf?|Ix&$k7yI#IRRh=BHxbU8B zo_QWTmb`{D%f=Hct0P1uVIEg_&5_f)G@skGdVxNfpxE;hOVG{T>CGr1A?d9Dp zt_6j|n)HI40DYn02L}ebiGq_c3@1cGd)sLcG6{gsiK%cW>j@EQZXqw@Yxy=^`}yOq z@^Dl*5BSTo;KGMa2z8dHv$K*RFRzg#F7<`z{~E}IZeeI_yiQ!d9plMYl;DEj!ra3q zea<&Dg?%mNgLUl#-rFGuHo9*)sPr!&`H4@ktiXU1wM<8?Q*rn>v5|G;D?vuvSl#R? z@0pigJV-23W!Hoc@#J++pwagtl>Ix(cD(pbK5nl^+14}o^lBk4yRwHkiuLoaelG@_ zFb(M8kC3`8W^}0k2n5d>f(g%Rd8@~5#Nez6-1YZ`D8IoCUALbnu|Z3rE!qucnoOcM zMXczTwS7>iB0$f07{mVjaGUTghk33Fad6yE9S-^)1G6!4xKTC*Iws1)Zqqra;ikmB zw5r6lzh^_l=XP*)lBZ)itLgjEA-H<=I+(RKfPw#6wj{)bZ*3&Qc?jBY*3VTr8C(dF zYlUg*&&#k;wH5Z*_`?tVZ=mOSiQG%;u@~zD3k~Xqc!M~5+nNTjut&FoyE8W39y<#7FN0xTj2{Y4!eKULA%`JyF0nKLn;*BcX2%g7rjom?|Jz?`9*lc+P-(eph&1*7dMucOd;6a{~HO1*xA^9$b2LfW*!$f}qRS$Vp}hXR8gVK34`S zG+)e$@}5e$FI(uV+k?>IU_uy~F!J*THjhCeI zLY_2tk`--V91YU-CjdG?#lPX6ei)qkq))s>oY|pa--t__bc6Gmx`I=zTF9NaeIDx$nbYXUYIM=1MrH6DoWynS{EUrD=CNm|jWI!-2a)#+*f;aPa0Ite z{n{A%wkU~COnVKF;R>rfU55)CV^KTf0Ay|VgSHnB`BR!wdFo-#usbOYJl>hny)P88 zs$T-Tgq*qPNJma1?;>u~zlU_^MZEL+DCn%x0gJwBCiIVMFLc@Cv&dx}|8^F)bts9e zJebO@uk+v}Cmh2j1v4VtWCcCmaZo4li}8x|K*sPQkKWGIFV2z3;=F&ma|4qJoC$%2<3SvPPBT6-ZD) ziEj9&-U*&c2e}1i(Oh4{RPITsIOjHS1slRGAY;NbDCEV%pU-hHBJKqfl$xPNWHE93 zmdG`W9^}4fonm_>M6vwx4VD}R__W{&7z+OZ#VOlqqS{7yR(&4apO@h3*k34qcpRtw zJ%udF8qcEVo`t1rw~`OTxghLO1ueghu=!IHxuLgtoMQS~RQ@Hx1uZb-q+%;zhq5o+ ztw{l;1<#0;&@wW-e-x#Eig4$h4s#pkujC-~JW80KLD7Y$F5lHYhhyqTVYl5*Fj!L0 zQY*^P?3xsptzW>sm(Ao3>uttQjuO~DX%~F@;zV52)u3yk0-X_AOP<=KV%tnDn@7FZ zn4|m`+`aJzUQ*P8lQU(h;)7;bkx>CrQ!c~S%LOor|BXcIEX0rZmGRZH8*GoI9;oRg zLW`;b-KVBWZ-wd5ig9JICF>95ToZ&~AxX5ilZ3>*Zp^++pS2g{@^ah!fx8j{A4>vA z@SrAfRB?hW*A79@K0y$4m=2~kE1|qY38j8p8BcN<0L9xeFU3_du2y zpD8ue@?0fL!Q)svPbm5T{J0xMV&F0axr@;R=id-|c{;7EnL&$Zon;#yec=z=B*2~4 zGT!`Oli;nTAkgm}c;fFjcxxC7Q*X_ryDR?9^{f~O(v@IcyiPdO=mg7eNU=#&ljSX3 z!+jAH=ia#|0RPQR@_1=K+54X|ondbcypw{^=d=MvHN7E8xQryYCF3li)m+4%G}xKl zL5#;~a;~+-_%>LaE7o~Nj%oZN>idexo7xBxKJtnr&%S|TB6VZ?(DrwVTWx^TS zxp1MI|6~1?2e4b@IB}8GfHfb+VaO6O=r!<$2uTwrHt$1sM_2q6W6D*n6T`R; zUDjx}h9@F27eCFo&YQfW3>FXe!nu9{DlZ$%s+|%bJf#p<1U^Jr<6?H*4EZ^8bJ>Ky zil}jQGdnV*0LwpYXWu@X0ogwuM1D(g?D+}QaJ_^NfA=tHp`|1xb_NC+x-vzral~WT z0$j=;k|tRXcrUey#STqi>)L;Ukwpwd>c_B6zmKzf%0lpCuNv`mnZ}EkEGHgsdU&I+ zQkY{xmyO0cb+By?W7X@^VHQ7(i7i>cGp+6>W1XQeyW9=l3n*c|!BQ~ac9iT8Oar;e zF|eT}8aE1W2f;BxS{HK!-t6-NGx(S39ljv%Gn+s1aV0xt9|9Hq!(jOM94o7RNM;uw z179I4s0ck>_tqg6hTLBh^VlZ-`H@eo^y`4l9R(s>_5oK zO)16ke-Drc?y_iM*pK25-k`&yGQ9Cv2Bz&RvJtdD0k;zsL13f-jMg6jt%WyXt;Z*( z^{ofXb%Z$K!wJkjy9LuMlZeFa_3-y%13dYjORI~!O!a>BIc1uy*U2F-EwT-=p~Z1F_Uf9p223W6~SQD7@VFE2bnnp zU~aI7*Rg^lg-nH|H&5gJF3iCrYhBPzV!KNa(sB8*A=&~VQM*!IDe zzDYxTs{I(}td!^c)s}(tVPm3J#KZsQeT7N>vFt^t2gq6X1q?dd8~ zHd7W&OO|lMU#+<}+Q+z{-!nLaaA`XBNDoegDnNg-D0Gc{gk?HWunR>&tzbP)9T4Fj zy==nh3%60z^bVYRm_s9Fs=#-T7j0WN74pN&$cy4EC?2~;)(U%KXiYAfS+(Q0NtU!o zL6d$~aHpkKn_!{1Fm>=f2!H>UKtS<1a`|7*j;vH-$1Lhe-6JcwFteN4y{!bFojiKc z_bP-1$%5{jpTuM8RtTx=KNXuGlGP+-yWd4#t`EqgE_v0hzwcmyP!ig})z6oVE93fZF zNI}dqZR|PpjMN`AFv1Z^j?ISdhXC4UO>9}mT*BahmqboS_JINI1LpM!eF_?h@EiJAtCAI zWcr&S5+x;v3$1G~t-IS8>w9Qj1dq3ONTtqsHZON0q~DBz5537yyVagLE_fD;i*Bmobw(%ZszlUoE&LDcU44Fr6LvjHB^a8dLM_60}F}L95wE4^EG_? z>Jttfnnw4`JwYE-n^S2S1zO|w6cVlnlG9&~f?tp|e1BL854#IMxyOh~O`vo#ZK6|t zUxV{J33_5rolQ|q4whu-uzjEc=dUk;qdypw2j$c08fR!!-BEgSQ~~C61)+Px zLtdK2J*a(U32tkxz$rfrlKggqkH$gRY-UHd6)91d-(FNN^b*@;8;ghDIAP(Dr+Aru zWMxSKM0|20leV9M+pdPgTEEY@%-sMo#14?em)_j6wH~PGWX7G>{)OWY9V1$ODDIz3HeZtYfF+YFYIbzD#2;k_fUnCoG!_&+A#%FRpd~;Y9EM2&SKM^I)Q9Q zFVQv%C#Q29p!6n3A_{N8+hcQ~bMgHXC)z$2$;uE$(Kohs@ zNWx5gLwuF913&H5<+hF&4fo!oOf2Lel*ETY^WH=>`!I*=E;@kK$4|k#v+-b3^B5M3 zC&8gxk)RoK4z}SqnwTE}G73Yma6O+mEw$$c`Wx8c7drItZh7iLI-#gv7(RDLLkF2j z<%6P`CHK#HhxEAv{?-Upe(1O}o&|joqCa z`k{smz}>UU={UuEFrt?Zy?55J80GtfTj2`P)3?FKtMdG;-(WSD zANX682cpuHZ{DN9*Led_F!c=cQojv5He7(m#-wU`fpDqUmDHO&mf95%oJv+ner_6)m`=~{2ZnZJ|~a$)4+C75%Fn$Ok`rZiQ5fP z*jt9ge$z?x+IAR)v~Kba--^c^ry@*K5rzB-UrCbTI+!$55Ztwn@`rm2Nb<-*Oep=x zq;%||d-G@Z>(Lu{tx$%2HV;^(Vl-b@e;XOUJOsY5B;O9^Z!7^u|{(?9Q z4j3j`4YM$+(25lVE6*BPe~g9S?BOqdv>39MUSdBd>Cy1=EmZk|0WmX3B{TnwW4<3{ zn4@$6l>e}YOwH@;yFxx$aPKO6)9p!Ce4a>~gP+1_Aw@3ZRTMc+KTnEM>G0t0cBC6Q?Gf$u@6PQowRHt?Jg9_&Q)Z#$&JlLgyq(8X ze&EZ+HAF>q0?+aBR3^M}Kl`knf``}Uvb?p=$bPR4EU#z+qWT;>H#~sTYz4XB)<@CL zOqYvKJ%ix^$|SAA4|C@P;FndG(M?1I68wvpLDg{_&fm>9Z5T#g{VkMJLUdQk#@8J! zydslQm^|==z^EO7mIRqp>`$!w=8$)0;Lm4|hAqezj!dO)?e1C5Wiw;SX#rd-#RLX(x z)G9;GY=!7Q?}k@XUVwtBEN=L_k(%4_U~*v;NIR&2l>bfW74GA&U%eH+*MB8j+ONS9 z-F*1?`Vd%z>B4=TNcwYa4iwkx(|u6@D_#pj=MX{H-s5DRQx1O93*jaH*+~*KW4XOa zvv6jiFIA74N@a09`(!P`#%tVW@s_^excw=qUj7ZQrc~jAJi=AJ=i$F%1%oBNbfMk{ zxOe{qy3PH~?#N$ZYn%D}fh*!{r2Q@0;Y{w(fo@!6xq#M}FQQ%_GHJSqD_ErxF7AB^ zimCEZ)1tv59Q9qs%D+s*T{U@d zueOTaNZb#b;z$Z}MH2{%&W$F3ri|EyT$xxv56~#dVixSlF@f{WXCNzVey{46a z;)o=jmKFmu4Foa&T{K3lHRhI`u)aMJ3~Imf zD&@wJg>^$r!Dj;bNrgc<{XcfYW)hY^Sj67+d?1>|v1H+eGIGWEKJ%8&ho!M;FlkyY zg!XB`?QLseg8CrQU0??305jcNp7q5%$eo@|=TZ}Rs-FFbYApn9%$R8C5VUfcX{&o1{RVf+uIZViJF zP$R2kz7xNkIASBz02k&rL&A4)n!G}sl8uH?J*x$e-jxKKHc|Rf-xF+SB*C*y67X^Z zAI|${!>5|>Hd;ba=(7jtwjhL6?&?(uopJ}$uJRu3 zc}ZUOnscj_tU0aClANmD6j-e zTCV27A=cwpL#ov5K;_y-=xr$^j_ai0yYpVEGf+w=1w_z=#mg|lNsu$!^#aG`%_f^~ zrh-PTFR}dfgV!GD!c;;kKr(j*wTKm@t?A#0MN&7ei_Re+`U-I zEqS7^_6Qb_`D6BkZt^O0T76`41$pJ6#ZBv%M0Zy{6E@EweNT^*;LU0X87J3vOTc!qEw@K|b9D z24JX&2A;gy4B1+`Hs-0%;pUmG*nECAo&G!*k zFKmPZ(cej+*LGg)Z8^3vDj)VmOVGWAXQ zKh%I{vM>fL|I2^}Ka}aIQfZpKHwi4h=u*B!5%kSYg5{1Hc-HzDIpwN?o0EshvvFpG zxHwO%dYeQpHNisRsBt$_;^gYaqKWuB7HMMicXXHA)7ydY}_sNX$} zzJ1xpp8Q@1&;NPHkl!gVeSVNcd|Zf4uCwv7a~N6j_Zi;h+Q~DsRm49e7$$iCfr)Sa zK!OIs-Yt1>XwwyJ+mdy*ilar3&t9|j)OC{{qTFO8C$(BufUqh0=#PIF^?JI|GCyB)p z8~P`x7dF0&!?QuUSTatYW_XHH+3{hxs#u1%?Ry4WxZa1qXnP)vR=2U>8^a)bVLqr- z-r{*Hoy8vUspw+=oOJO&!LH(PP-~IICB;Wr`>SZ?W9SaP0(VH0nIgBv`VV?KDA1jc zY-r4q)ihgLgF0E6!i<53JR21qCKCG?7k%E&RK~?}Vz0rT@u)fr~jZu=7C{_eSpp3MohPM)%i%z>;Gu zBbm=%+L8k1O))g5Ka(zMoJh4>RWU$10LQ;u!sR_w<|0-*p{e>r(y2QG;_m$+^ORme zfbSY=?n-Ik?wk0;;UzBp_!1x7G~s6b*nu-eML91TMR2Va+o3FiExR7UY!*p9ubqPM zWvbjkuXCKq#}aOT!9?!i1Yz#_wD&ArSDNs1m2jGgJL{TN2;)Dx@!#IjU^-5Tcu`FO zb^7oA;}$nG49Uy~7wRM`2S0$Sfc2;+K1si)Qx z*zaMX`JyLiE!eY>HG4WM3U4l2^0Hh-6YAv*QSWW=M2 z6qHsY@9YYsB?Z{SGvZb%C-Uveq+w6c3k*NU$7MU_gU4|m`(En{YNH4ETT>3O>W+F8 zcp<=*c#3oT3m4(evzgfRM2OSY3_(ld&G2LPJ!sRt2A;taNJ3HzjtNiX!uJSr7cS_6 zPxTGnN}m*55NW~X%RMHq-)Pdel8fp67w^C`ZyRfBd_wFs(or#1fwolT6L}S9SiPwN z7e6?K2DjFOOP(HeesTni({I6CZ!ZXWZwx^mLR78jEF51%p}_tq{&)Ei|AS*G`u-87 z)uHlq&_y3Gbu!E_ae#s=e~7`hEV85d4SCrggTK#Na(w~!@QMF(^n$p0nf`I~a9=$% z7GB}qEB6GOrG8LyCj>7hPvF8QiF1GYRk^?SEI9`qYi^Fa3W_PE!-Rpw(5MFB9aqHr zC}D>4Z_DD_fBhFesKmq<*5Gjw6FlIh0lSA!Lc7s9QdOD7TVd)C!Um1}TU|;xWRQt} z0(6PWnF%D;Arbc+@*y|o&xR=x*O~r4TX;8^4J~m8!At5WagNr&(t1^x+o%oJTaL30 zwgUL4R2aMtD)Hm(s~~ku0xA+c(k9 zM~mqr2Ln22rcMS!o5*meJG(YNi@z`TCP~e1;otsM2QS@}sKU`YI{kDC{k3~3l}T)d z-^*Wv_NsJ#%+?${`OX8^^$Nn3W@*@GLujV{QHT&sr3=pM&^aM~&_5OfnKzgsa#s40R(%8e&pA&D5X zp^l9&{KDpb{7ka)7Q?H6ahR985w72r!;PO>$kC6gSXe8|`zt9PS716Un8ata9npi5po*Nqc(oqejvf~i!)wQF&jaB5P{dTyQGJ%t=NWg`c z3$aPS3_aCt@Y#b)D16MGSSt#V<)?2#b&?Q`vns}}Y2mCdEf2@+WVunH$?R9cHmnsB zWBt2y@Jojnw%SQD`8*xaIPMKL6CI%=xCT1coWnwQA1_E?CVSq zbW`H9tBH{x5G3V{{*UD` zb;)JEkboXN^nE$Vm){}tI>PXX(@LBZEsMvrl(2`z!qJHuwDV>V$csOK@{KYiA=3;; zu3m!%hbrc+y_C=US%=abHA@@g~ILzDNbm*L@DBVXMSVGReik zEgx{r{aIY}qkoH=QV)%=4wbRkYFn-JIS}}`sh3K0^E}e*=5Jc_@qLgQ<{^vob$HrRO&p5UiHVf} z>y-b?UlqL{ug|?g&M2j^w?B_#Y2GEa-rXDTkCel00cDsxrpK#)R>*5B5yiJHZJ2a2 zj=Q50&!tqwaC-Y?xR0lk$R=A^2ob8m^uR0Fz3mri6|}_-*Uw_dmKEIG$T?5 z>&O~E37TYF3*kjWFnNADRO<-a)N!}SmF5VDQrZA>|NComT)`Qfn?4ZL`^s$G>7T@Z zcmmlOafENx-$nM0cEMzGU3gHGW79s*0vAm@&D710lU*&UV7Gi8kvOCR3cp-vqSg$$ zcyT@G_j6Ygzasc?&$cwwbKo zb(wcr>MUfJK7)w0KlrsWQryw31ia$79+obgLRZDR<9~DWuyMNqd=VFfqfK2Tv+5~k z?W@BfeFtvKHy;=aJI#z&L^HXz^H3ab!^`@2~h_0#9M?zI-S&Q-d29u0rO9sU*zM z3cB4>pxJR7s1JFw6~0njk?lv^-j~exRhC9@Dg6 zQ4gx7*#1kATk*q&t1#Mu+unxrzE(EE#ItwdNjihbU@1sR{!ME4US$2DtnrM?O{}udN5ygVWY-B}Y8avmT`n3Z^EDgq zzxL&Qw|LAxsq7+|BMJPvZB{5gQjOy;U&Pk?GT^hsjqL0iL}jZyygaxKTYDK6mju9| z)(z%=MTkCgTtIi)W;-P9G@R=Q*u_2SEFxb8{b56}3xD#^IcC$B&FYScbCKq!P_s6G z%;*W^u8GXyd@N+S4Xq{kvgQz+$yx@VS0|H_IX;XpC{m}f|^H?9ybUKKzq^Ed49Z($;Ek`G~dAE3!13*PfR`Sa)B=8wMc zfKv}*ScmC-n#Yqd$5MWIoEpyct7M%o=b*%;YnY_8 z4&!B`NPmMnoQki2tno(lX`ms!cIhrJ|CAb<%9Nq0t_+v^+n1Yt^eTR6`~|sAjx;57 zIvgo7q0{wBAhfLnTy9q4;ypg3$+rWxtv}87=s$$XF^lPj^RD!>&t<4{I1f{mBrxJr zHeU1=#*qI`VNIYVbDuhmD!)sh3#VV8e`h4q!PY?9cGDJ1ZN_st%?I((#rOF5O&JOI zS0H;^=aZ^0%`o?p1#MU#OVwj@Y1(&f`XF>ClWh&>7VUqI=NB4sANHL7UC3$In8jFEd3Zo39Bzvt#?kW|4&zMo_;g9rJIfYYB?kluw?LI2w%woXtD>V6lH zzI0ErbiBn0IlP~RWy z13$oPr2?3~{mi9#HlE2;!v8KE;k$qJhf0SJJd5j}>mLOx zzyV_&e6FtsH;?v{j9bD)d@>INC#r&fU;-;GSqR}7M_6!`8rW$qgEhy^;hxR`c#_-& zOBd|Lkh98|c_juTjfL2Edt1CC;6pO26Y8d|nvQ!M-0@XV9+Am92BS?y;37MZ^?hFl z!)83_`zeHJv$D`-eHB~BtKx|*T8j_fwxHJjD*nPVUWnkEO2OQr26eqh~K_)Q^ zJNFAP>&Hd>o&#g#n8rR{K(G!C$_>PoL-L%GkP!D?QHbe^jpwTTfSYz841)(BktK1n z@N3OGydftDX?OL}{J$NXnCKZ!L(P+$^41xQ3a4YjrKjk8QU(W|E9*`j>17qc1FVD} z%j+!uf$w$gQ8MT+EO)*Knd2^jK)^Pf^s^bS%>IhY_r#JVM=fc8b1H4++0$zhJ3(;U zNf6dZrXI(Rz*iw24w_|SeQk}+f4$jwNG6vJPM%9|ekh}bx`Fi1frD}_y_(V(}d z9*_G;(wf{uC_J?e4||m{|G{I-s-y(!p2^S&tJG-Rnr^U|A&tj3&F6CY#+=RFWd63< zMMO;NH}1MK6_#E%=JnMJ+U{97PRIV69E9T899{P@|!|P$SYCP^5Q{hHe zrepLSAtv(Y22>gfLH_px%%HOZm&;CqCDr3FVbe`EcfBcofBc3G6iINM7vI$%%6rXk z*f#?`B@Nl-3*z`&%LH%r4w2=TN7#q8#<(bICOLm*8OTPoGWc&T3Vi*+pBui8X*Ug$ zuIC@gYiWN-{cZ){rXOarL@YpN>p3DQZ;nx*hIGe7P*o2k5k51RQ?x&H8PCMhd~58U zX97XrREU;HF?=o7qKm$5`gdL%-a70|g09Ly?4xG+pe-JHyv`sg5TvP9yp`UKsl_liWI8 z12)PxP|q*~ABao9^w5iV`dTfd9shtk4k^+TRk^5WugFE%Qp_CtN$pd5XMxNP^rcWy6vr3K^3 z`>i_k6`ezW+=`)xD{cVk3?(s=TX1MYe0|jHT=GZY9;@IYFCN(|lPi!D!qv%*2}PU}auo_NiSin$`9yZ^IfXpeE@iiJ?-{3Fux#%a+dp`m0 zRTtJ@I~c;&TvJ2I$+IB3umHC0sAW1i#k{++10?&96?Xsk7$Z)VpjqGyHg`!K8^6Mb zi9~N@Z16j|r7Fe$b1Mr=(?zgT{Rj@V-NUH!Td}6(0B$l7fiFMm*i$8MR@VUd`ldE^ zY8sP2!VS!@G6SavSK@+8Q7E!wHr_a!f>&e{c}DyS=HECAFU`J;f&1HuTDuWQnIyvH zb++~0=WCEFYR7B;SSDRTnESj&4jT_C5x;td(`KasEnN@F=4Mnd>M6{>o(BiUmLdeW z;BEg;{Hz-xC|23bHi)MojUD3EI|F=Qas&oWEMPI`n&9l*T2$X=!!?FY!y|vM;bYNu z7I7_zs4fx4=AkI8%YV$wlb+${!aSVvQ4X75Ipc^C;#(Iv?m){?Bz3L0$kB!==q2$N zbXM~hP3>l{y<4$Q{4S0+QsF|y4`Or9LpFIN1INw%*SqCM@TjKJIz$Mh*wtPLaEpmqJIGFAAi_VuMU8(aS9-iT4kZ)tVi=N>^jh zi}r?<3zJ}q$^n@6W*j{H(h3WmX2F1t3bg601?R>h-dJz~T=vfaJ8fffPx_Bi-!<^&Hy?!&s^@lbH^ z2XhdMh7z56c#yLR)mMf=-`ZCsPpgJ^ClvAZ@x6E{ayoyS@o5kntRY6~F~pZClDofq zNKuple%l>`6PL?zBTYFxnU^wbew8k-EJT-X=F;Hlo-PpQ&aid16;Qi*C7k_Z!WTcD zj4vlXA?IpEY4Vu^aI!2HG9}~yDg~&xZz(T9Rh1N3rxMx1docRXVc#fd(5(i7)YJDG zp8RM)+EJ9a+8l*r8`8kEcMp2JOC;K_F2XZgQ50K*kbl9QewPX({~cb=J?IhUOyyOH z-nRz6%eBogg-pT9*md9z*Fkx!5ENXJqTzgLI_Jp&{N`Z6MXdjW0XHmJgTz@BPE^Nt zHWBc~q=(EKyvVwVDEx?#q>IPDf**#n7}uhX`nx~l?U6LJat_D13rEpexg5^&m8t0j z7ucD62RDA4%ihOr#<3e#=ri{no>MDAKfQzKtLKFxc?qa4R|f0f6VTc|3B1mphN9O3 z#r62Rg%27?+_d*rc-`fucLH%&z`z`YNs~vQGX@L9Zq^RHU1lsp_gui5K zIU0PC1sMZx5P375nf&G8jb$mAr;d?livQIYlpSR7Q60@*&xO4C*05Kj5*lXrK!HmV zBvvLu*`)z;8^4h9Z%)vuEl#p;S@6=EPm#90PnpG1BfRIg0S0RX_#thkM8MgSXthkm zo3|^-@x{4(g9Y*Mz2HBXzh@#1n5;~-e_mn_BCg=xKeu5^-3ngSty?6cN*F{k8hQJp zSAhQCSu~8dfNl;JqjNt+pyti_WXrWyd~Ozs!^M-}^n+7iI;c*!I{t)n)uUkfU=f|N zDh-$w<9ozT;moaGpxw3~_-%L!#Ji}|r?#$icbE~4slNsfxieU@{wrBGQUPiWiqz** zK0JxgrBaIObj|cSkQtMrPRo^{KHdhRhR29%)Ils<9tt_}w`tL;KQyH5A@#6mrRzsy zsLzQx5L_<~YdnL9$$&Q&s9At_Upy9-n&ZR$zVvB&ByDxQO4nH+wXrdz3C|?CF1s3h z?ll8lEwACZDZ@l?!4uN_@;*+iNMN3g>rs7vEY$hGVY45K!LZ8#EKg~~%_oPj#a5V` zn4N~NTo{>XytZCE$rWcWv*k{uFXZ<9`HhQDRpPxT`H-~d23niE#)I4a@RgP)-oK@S z;sPlY4Z@4DZuMp71_>uuKdC_rpeTwN#3l z8rjjxa0wcG;|)j*r{bBX4{&iwH@e7+<4m0lsNd-VMU8o&s_F;}ehNdC{R8G^+riR4 zsG^UuC7b0I0|Vdc$d6_@h$vy?Rfj6uBo@uy-q`}@d#td;;RgBb*$$HalOW!<5*{4; zK_;ZUgUt#(5V2t~hTQ)}c>kP7b;B(peanKje!U9STD{N?OQ`TPVSawg1hfn~4bDCx zSi9gV8fklxyGF*4A>s)hmt#Sr?Es|QJqoT155PbnkLKJOM?>Sy>6FGf7&x~Ctv3%c zjTc5(vqy|R6W)%e3@(9~_;@I_GDiXHF*e@f8f>=S0|Vb@a&8^%xb~n4+Mdfo(OQ4# z6wJZnkA_evOpv~t{uJLXeuvSuXCd?U7k*=DJK9%%z|GRt7$Vcd9If8tmzYd^?d!rR zENtRLUKMlc5x||W4q*XyR=8ZQ0Y_SpYF4o0hku}2cMe~) zU7ah}M`Y#)@o2vWe3rF`g1yg(;>jWKO*##C-b^O9{!RiVO?^(^?GYKUzsx)G(2Q67 zW-31`VH)(TcuEYmg!4vE?Et5I3Amd2KZfhWk?SrB19(<8WfV$LS(zc@chA)lWko72 zB`RrXN2SP~ku8$!kWuFEo^KQ?(bSMo8q%ON-ln|$3-_LLp3gH0lf2HrV)<6=E*HSV zIj>nu5XXxD6T#fh3eYRw2R-?YWZZ^vG~nw*x>Qvd#{P~%W9k_0iK|B4Bn7Nqn}ScA z_7OKtjzrZBu&0-OiJ97a{<*(lP}3ZbEngM5`FF)R)B4GrjqeaY^x$>&+D`^LW3@0$ z+Llzh2r+?oUA)NQ?`*?K1#aMXJ~nR_;d%;7u}pXsyA^Z|W=d3%H+n@FbKoqQ>=}-| z9^t&L4V`#Qe*yR39S+wmKLAo!y~yTOM{vtcCl+vsSZ)fOj5mzz(eB`F{2tT|kCqYe zS`!120fqRm;u~{%@r|@{Bjo(&Nb)<=npv-YLOymk;_r*h$#8d10+N_xtQOu3_{8DiDCHKb|M~VufmFyN-%y} z0v+?}iJ{G9=1%u9w>dfN19QU0ad}MhfHZoh-UEr6UtnofMOyEq!Sc7FRBGQ2P~K5Y z{+xBesAfI#{=j#V{L%>4EdGktC3;l4(VW@@{U94Q3UbPJqh$HG)5PBBGgJ5Bp@l{v zUs-qt_&MA`XcXhl>QSPuznc^mF9EIXZLH+7Eax#koptax!OvSl+%juhTwf!I@5046 zsq%JQG1ZD1PyK+E!sVQFeIT(R_S4m`mRHy(FX3e~H$Dc(Zx@Js5C!3O9GU4D2}h7|fi~pl9y{TzGdI zR!g|?-?}Vh85SlyHbD$Y!FLv#Lzs!N1b2aKfOBEGbo2=izRZ6Lp&@#h_h}3KQQ|@I zj(4DSO`fm(pq8{hiz0uwpTL2`Z}HDLGinjkjlG4R;B8S8G%V(kAFkISxJnJ8{!YPw zC9B|_#&+0eGYw6bmXUSy^dQM*7}e@j*#!S5@IgBQ8_wP0Ez15n$u0`KnAK{L7zbfuLs)KmskXbiNR&LVkvi+Ou$ zpR-8wIOcGEKi_A@Rc0kB#=V{{OAx0(Y6mmfD2S(}6$G?@WWQ)HpNMv-e3xN?}8<_+LhwsC+_WPv2B!u<7PsB3W zN)Q_NmT24##+a1DC?_!sj9tuO#XlEpFLq&Bf@0|6EWx$p^s*n8cW{kVH3_||246#- zk;wC}P{q*=uishEE@g>udn3*>R$`{LAbyuHMFoX)yqonG z_ZCUAt&!o_cUO%2apWD;el}sv0++Ds)nES9eM@l@PaJ#vyx3C-Bh>9U$%@~F^B;sy zf_rGoeY_LFD=3WR*_N9_pSvL)K0$a7JiV}a_G3KPyaSse7a+W!&aYf8NYkAqp-Neq zv$l#wK6DnP6 zj+ZV=ai^xYU|H-o68b6^!^fS%5%UIqrL7J0iwV+G^ZcpV&`a2`PL>MZ7z8il7+kdV zIJcp86JE$tfV}W@>}qZ#La+2;mDm$-cU}wA`MQ*+dLItewt{@-3m?W~2l27>hboG{qeppSh;Sj9Zxdfa%ia_{f3UM)bN49%w!RG;W z{MGEm?{Vaa+-YO@`ly>Nf0)YL_aB6NP2Mo&xG2q-wgw8F-H7Ck$=r;#2zH||qT#dW z0etx}pB%OJK#9mjY-+p!-Blz;XKbE9--d63;q{gc4I)YWtrsH5=regLdnOemB!amc zE()kQ+y<&(Nb_ck(&`a35*xJ2Kgr@&{YvvVWEOJ zIo|pZ#%3J{P)sGoS;Fu%O`lV8GUNjDWx1q41r++`3FavR5amY5${oqfW>}sIxKk9U z@nnar=HU*9Myz@w!ks~1P)lrQQ*FMI{(*XUSN8!@+ycS2;|6&2u7HT&lTmAA8aFF< zE>dk}RJ)x9Gx9l}oy!9lN{FGZ9S*WskHdGrqM+*m7SxxF(LOV9#-dN7OvH<8nlR{1K3=_i04G4$zYRB^n+Y>FS;5zc1Y(#pOa^TL zYgS8=L8({ll)xR#z4r$XN*ut7xdOO6asv0@;4Kud(;-6TB_LLHl`PP=#K~y_@NJPk z40U}#Yq4ycuqpxVk+=)C!IBAGHui}qR;+lQt9vw)F9Q79$7G(?pMoW&*gO3 z#k_vzaNH6%4XwoTH5|-aT}TYoooL7_Gg=`(o!Z$SMBksAz(-&amdi$==DH;$Xlo>I zTxcS0kjmtB-O(UYKdBpIGqmVwq_D2f*TWqk>saIMfCcD`8-o=xl|brqg$d9EdQ z>Ge7E*y}@1zF$t9OFh}s8MF9d4X2spvCsV5Yc#QM$s@9Pbr_qJpF<4hY{q=Wne1g& z3W(WOHQakFhUu#&p?_TwG&QV%A8(V{+|8*(belDK@;DMkCbz@rtqc+^ArI_t2n2xv zo~!Tn|(6JD7LN!Qik!ntnLNt0x|<$Yn-&jXgUS+N z8lyRZ9%;XWVL}ZUX8a8A8mn=48?-t7r#0-Ye=Nk=X0RRQ!tAS!I&C;)Mc0|#hcj9^ zP!Xd{I_t7nsAvODu#Q8870YiwGkO>fB_D>BSthJ+ z^(wMjT^a9MwzHV3=b-c;pC{5jl{Pf>z#iQdET_VS9U(<<)o2qt=MY8~J+UBgAfALg znagrwCqUnm8La=j6xu32Wj#|*lD-E{Y+UmPUhCgNV*mO8`*SeJ@_xrPcKx

_x6P|6BC*6?#t|brUa8vP=e+UU)bQyX?SDOO+1>n4CO>b_59xd5`JtJTF zR@Z#Ni}Hxbq*r8<`V}HGZWd&2F@#T3%$R4uA-pEo!X|&3OiF%UCK;khxchk%tNn7N z;brqZR%T!WD@ua!xZ-I5XG7W&szHyei-wzzSAzA%H$>E?0u_Vavv7%E5Z?8kNNYJT zk^0y5RfUImDZ@d;*-wDlE|R3`J`b4DaW6Cj4GcXjN}M-LfcLZJLAuZ=Y*eo#ia*CK*_h!aMwE^eGx4zPI8io?gipCij>rY_dar-u-A&j?c>iUP z&L-uCZFL&Vpk*rPJjo!s3sf+0^aOs5ypIbWT*s@Ylh~yrGuVc^LFCzTq55Al{a8q` z4NTL?2jTF^xW~DMUl1#S5m(aKZ~vvJb>$=WgdbyxrE|%+#b;Tw`6zktdmd!W@kQI2 z;iTr$TRs+>ldfoGPW-46cFSsmhW!Fa6BZ^qin8Qcy#j1})yYh(01tQ%VF#6j>Dx=l zwpU58vM!#aTis%AAMdk)mp_@8{4{oEc?53g5yIRZS8(nhVJHzQ1G&7PJPE0jq~*d% z5atJ=WT^=5-P%JY9+*Tv>BnI01sObeQjILXAwqP_8*uz_9qg@Nh6OKOalNGpIigVo zGL8};n=6VlpZsNCd#iY%S+(p{o;SqR48YHTBDj$q2zPq4Xx+9zxGb(s1D_OnjmS0r5inFz{GQ>py5sVFug4Rbe{)|)E{@c+7RLi<~1*#7IGs5^NN z@}!DkvWG2{q^1C?^#OIW9k8r@32WAEfV|K5h{`2DcJ;n3KWH*yL;7;^+;RfrKUN|~ zXKzB^G6N7y(SevZ3*mx*CE?cR@h6RUz}4@k;z#F84IT@M@l2}%7k53F^c1>r>BleQ z!Uq<-niqH2y;@5QS#bcTT&yI5d!*R+vy$L?rv<7%nL@3kAxv<&2UZX7fuh4s%lwf! zxMQS%bRK9T;{@}F2Cs!k8A`#6msu7w-v)#8t!}o(a1s@EKMM&}9iX4HfE_m0wftqB zN>=UrOvoA?Tvv3Lr9Fycy+Y&J)1M}2YiW-;R29U2)Wh@R)9H&gXPj`#mG4zrNJg1H zYl_vx)-#$o!&m@U-x20MuO&DksSw{3OEa;T70}vz0;exAfIan+P+4~cS}rO;NL>%_ zqk0$yS+;=huq{}6j-%R+Um<<>Y$_ie3!yW8`0sMR5j(j&ewY7o*n2AoEF}J!LRALJ zjw;fe+Jmx+e8E{I!$ z@OzpFb`&O(xZnu*zGNzWnK1;eZOSyrXb?I=zrkOZbu2h4hQB7YixtUSLCMB@Sa#8g zh#V21jdO~j&*mj>1I>hrd^>oPe+7P=6h#)ekVza7=iKa+QG9MV;WnqRZ#yL+aqTMh z_*f-Ks|#ZP)xX5)?Nw$PC&!g*454x1E-baWMs~Uz!d>}A#A(k166l%F3>Egl(VmAy zIVc~kx)yShm$Ff#-ydBLmR~aBT{?2rGS257PesXxVHqoF&8_b$0U%OfKE@n!fOlp z0W{kUa*y?~ZEKeCKz9%9$4KzDy8xF?$HDdbH1Jh-go(#o;ll$bDF3_x%qqOlPO%ZC z#iB9q?j(M%qzcY_QO-IxhhhAe+aQoUn+R@VEG}n0Z2c?7RUQ?==xH(BlVcTV;oHTR z{qH1(vvqLXs0UwnB_gL3h_CLX;+&Ba83lXp+PCSb`ZSa`GW%O&_c?jnBq z=!$y;KZC7uK2Wn-W^P@JyUpL?ui354^vMa3nxTYOD}=c|h{W6xA6EFGlhF?>@m1lR)SR)U>oHE18pP&|PduN2 zNI0DzgXV_9@Hk>FOn-I^2Zz_dp4Ce5R>h}y}rk}BAj<_yMD5<+p0GXU0F z(32_w;?n@`Mjylrm5bQtY)$$|YCQSu>PiCYKlAMt)LMp%t!7>->EzR)3{tV?HT$e8 zLoRntz@Nx)*A=kO(K9GCyv z1bdE_^51P~fB<(>R#qj?6~{g&Hr|S~_^mn(9-q&a7TiUb(mAB?&}|(5iE>Wny70nW z0wkg$(C@whC-fl|cZWw(x-)qo=J;(lkXKs&VNsUDanxFDmKdOtT9Zz9Ny_+>``XvuBgEp;!3ffD31H zstzk7WKng25xKC1u?xpJKEM1eyMOr^zu06Y?93nGH>iojPSbsS@bg9MlaZM6Ef>2y zs@M+yO&BK{0gp%Iv8Pd<$Uoc!i1<|{z7iV0+=A59CMehQg0dOXuu^vfBxh!l=lkw3A;&m8bET=_L*WQdFkF&6(b~!m z_Wg^czQ^oVS0eA>=jE0r+Y4YKJq(X~RpIH4iP)5O7Q){=fv}fee7_iHVpbo4b)H%9 z{Gu(ZzTJo?Pkm+Or~h?d@d{=VkN`>h4#2UKgM>~~Vx0$<<9~uLAxCpE6+10JpPB}P z(A=juqwh0n7&eiW$K>elImwU{D?ryhdQF&RG0aq%MF!rLL5$ZKa!Sb#vVJyzeAZ3!uo zI^i^lRy@gwfgV{t+D&F`2qpHq1Q!3!h3kt&>BEoP=#I05fBR(tG+0>R?tQY{l})MIg?GgQU{>S6IreID4jU(MXU9}wYlS*Bjcfqn&56t| zNeE^St3cn6OW;~;4?NdB%x^;k+KlEgbAN4Y>y0H##2%7)`d+Zix*D#vYr(A6BT!+T z!6I(9{hN&%R&lGB@vW0Br)Ii)y(2SnCybm@Z!7r%|_}EH- zlesO=Rn8Sfu@{WQA6kM@2jVbe+ab33-WO&=mXfSLjsOLv?9R>GfOivdlau({pltZS|s z^Ls3dExWY2QwPuB%SszimAHd9)jfEk|CQs3QxnNmkuICmoxz;?u&v|k|8{sA9Z+Z%40m? zTSPu53B#e*kG$Pm)mvAtZYo z?G~~|naNS4PuP^-9d8Dl&pKKXszb-j*3i51N_4h{KRv6tlOAV+^l_C076xjv;QdjU zS*OO|7UV$o=dWiktd_v|l@sYQy_>K^dp^xNw3OxtM8Uz}`>3j6&zJaKiBhH88NYrG zJ_*WWj{8T*yRRuI%o89h&JaAMs>gpk5XBBl){?|up_o%5hz}+^VXmSK$L~?Ay!7En+E_~4ihszr5O1cj={>bEi zdJsm`K7Qw0FN!20R$CzCh$+~P#Ie)Yeff5g(;#%6INX?U01h9W1F_*}Vd@q}(u{+U zzxER=TK5+|{a42lB|2E}jcU?5GLB4aM`-a&=k+gLfF42TSW5d>mOb+u9<_M`X;-Cb zJ;v}wM~mU!tlP{@zK7`I0xEuQIkYah07V~MF}`9lx)CAn`ba7K&9wmEhoW$*;1qaw zOLK`Aj*`*27SzeM25!jy0NKnSYI%4*>5LRZdubD@zV|*k?ROfc56WV}!7OrumkQ$R z80i}npe1=}^y;NBaD3a&J2s%mJvgKTtDv4#xfGzdhBtri?QD#HdVpK#ejR;N>-hdb z)p(ru0qsT-N`tp*M0v*5ksH`{SZ3cMGUvgQ~SvRYn{ z?QnR&o4h@Z%{~0W^6%3N{PGtT{DG{MSfbzn-_P6eQzcrMSocb{V7iOtgNP=y*pwATy&gO-x`uiOk?kIEf>)OlSfImWVqV0DC6dZCa&`tk(_e>vH&B5f1@_PE z7vaYNPc~vb6{pB4vG>6z*yKrH(OB1jUQ&>yS^drUMIShPX3U*>w4DuJdWk*;SMa6c zVHQ*0z!sR>v8=>WeBZVmo+_DA`>EsU{DNupcitV?#xtR%N0&hQx~t5n=o?Pk64(&n z7R~y)93dk=3L+dgP#Nt!n#$9nHIh2iY|3h?tC9~Lve)3Vb~Gv9yAy|9RAFd_4~%Tt zg8{Ej!m2&uwC0p6vsLJYlj{e;*ZDNGu}{#gK92reI}z5~EdlHP7rexTda~tyFAH?4 zAy=#ZGQYtYu(&A>rc7M|xF&^U7W@aL_MtFxelkhQ75vxtv_T^G0TdSGGUu^;_Gnaw z8fHGVXl^O+QmAd)1gGI*oyfup|9&cmtL7P^0$dPe`5hI%s<~1`~IQ;&k7W%qhEv zzbGdF9=BX3E5G@Z(qsE@hOH*ZZc1T)1ZH8iSPI*9Gz4mr7GZ8#FRm>u!|l2WSh%GK zkA+Bc196i%OEXK(KX(H6-enP2*LxSGR&nIwH#eNx<&A2I7Th?UT5K_XMtG<~d#DZE zSThWxVjJOuSrvHQNW-bIHT>wKQOx+Q7M7M-a6z)7TvWrz>l8O`9! z_C;fmOebcaQ$)R+-Y_l06YJE9Fj=PyWo|`qpPg&5aQ7ihA>Ej_Ig-nHuf=`h4`ZKD z79JIz2r|_sU}}-X9zD*2c1u?{F5LwV->#y_Id?AKSBC3b$e~5d7}^c2We%;gm;o;a zoc|h9`DjntZKy~){u)5RhzZwe5{OrQy>XrUT+~kGjw!i@5#}IE^u{$o(u5kAw{`)E3cLYcbQ7dm zxx&0t0$^gZo_vw_VbThU#NSQ}eg}2)eWQTcrEOzrI_~guMlXwyv4sb^qip4Janeb8 zh*xtbPomcrrhah)dk|rk-sg$Fy$c+f_?Z-$zF?PE*s~9gzldZ(97{NLkw0LBZSPo$5KL_t(YEyYi85oCujGWkE*Z2yeWR zA1ny`K%PD+hmOz31Fi{^?gk>@Nu&IKwZIcw?_V`0Q)$WUIoy9^nH*P6YJ)H!TqLpd&j$KIK zYon;l1TK8r3AD7OF!0R~M(b=q%<~pIcEy2>?V;(y-C}Gzpr{C*N1!=O^9@Lh-nK^h@ew z?H&#+OfQ1OdtKwVZwRfoxY$q1{^qkZqb9!T>MtyK-BipNpM#;ZM3Gz1Bd?3J8%$;Y zYlxXH3w8PpEO(a#o)(@D(Gz!qL+wL$VgF{fWu*aBc>BVlIZ1Fx&XLDHtAj>^I}tVZ z0YPhR40yn?%HCq$fz_Qb{m~~XxHk+fd>SP#KjKL(&Nt%$re*5j4hbpl;FjaK^>Gg9 zO|2pOin}epl#k~vHR#6B7+EehUzR%;I*6AvbvYYi&CPix#95a|;$Lxba?T={*p|5w zx2^TCPq%LTOQa6`@fi!5~A7Odz-%$<?WaJFU|4n8qPhgTadS7Z*6 zSpU5sGtv*AuBqV6Y9T!Mb0>e7@;eU9e8MCB4;{t6t7);#d36m;n(Uh zNWbWTS1vq6@r`R?_)Rp784rQ}K|$`}O&gr2JDr<7DFlWBCex|6?djQ}1$5pPOWK-z z7CtooWfPT^!27{zxR}2hL+{FQ>0ghL==~SrW1}dTYW_#6pr4e#V_?_W#+F~{U~NaA zg3$VvRDO{Qm3n-FR;Qk(2m0T@)9LeRSHeR$5H!Xd^#}Mp|3$N#Hh-9p^IdpREMir9 zc#4(E$B9;+Gvn!n>6>Zx&2iLo(i_X1=V_$$C7+EcO5$EoBi=rn6rwY4C$0OLPj6qj zNE;TNqpwswXkf1l{WaYV1q#(LZ0ol)6joaRG1bJs}WAyxSsPTnx z@!6TEv@Q~P;*D6)k!0y5WXh_dqM=~FHB5nX5UznV`h!j5~w6 z2YcALZW;XiC6hTAwlKAyQuxkcBkLY$;<@BKBEPfa`Oy!*uv~{2wD>^S@9<|V;rBe= zgqiI`Z}%u~_rhb4B0YsVs~&^J3F&0lp56F&%NcYV*T=TUTI04KCg{7ij(mQ9k{7rC zpK;>4n6Zltryc0eS^G`p1Op3EZ)zR8el3CVCVpj|n~uQIA^v>CcX}33Ef#e2$vT`K8v$0}#(iz*g`X=i9a6!clQBZgL4bIcL$Lxfx z0i!~3tA91VMs0j!e387eH6~o-RJ?a<390LeMeTVrxxT$h-2Ji|oG39J9F1d9${+%} zcImP}+Z5OuJBb{Y>1=S`C5Gwi=5xHRUEJmsMV$PrrJU5aZnP@(=2U%hF=-$uv=o(H8})!x)w6)1`pUi<0o6^k%VmzR9W7}GrU7WmZ0t<1tX>EG}}Is z`3_IPobUIre_0)K{&^ftt_?7yk+tx%%!`qFGa@%O3$EN-0@q)rfb+NLb>$ON> z>JC4_*T4ssjb)+L7B!aYkxeew93g&g1|&vw35-(+fJ>G>%=tU{88q&bAT?;s8|8VZZogJKNs4vF62xgv+{ph{U1eFKG{&nf6NOQt*e)GSk9LDd{}eF&y%yV?Hljy=3$*;pl4>yprW$08YhH_TU(UDS6D|T3(z}S! zwo~X-a~Dh074XptYc!6Hhj(ia(6-BYlqbEMF5R@1PPw?5O!~c=Gj)H49-`XZ!NUd^ zJG>u)`j0WOk1jAEnN9Cr`#>*ypQ1e_>*(@L5petGGb}$}hoj;$(6-(MqwQT$b!ZOU zTpt44MHkYwl0MWVDumkY?}PL6KEuA~eVEnrnE78l2QFi?S>;tg8NMKV&@3RkoIXO( z9zm+UMw7w(4Jf}yUr7F2ehh0sZcq$2tltWbPTini=#$_kXs#{y8!*5jAe48d)C z4-#)1jwdDfE1QpMxq^hD93k)JAbOH5t{T zB0ELty2ond#*2Gw;Xplq@sG`ry{nHI98BP$dKuB^^neLBHRz(B8)$2H3a#%;pbb5Z zaHZoq&QRG3dP0h{@xLfGQL&7q-uEK2{NJ-riDRTyXcq|R1b~Ku9*r3rgRzToq*h9h zME`9gs=Z_EY~EzF)IRm+`?B+99 zX8Q0P>X;dE?-zb!hfSAblJZG7oVJhVhEAsI_69*qe*(Ty_>L2TGD&&rRm<_S-1w5( z_S_EsG;Vfq2x+yArXC?RwCCUyIu}i#%Dfocb%QZri32()7LydSVHop0!N%9N@C+h- zVQgeJ1m|bMrUA8D1cby@~H5id>X#(H4LuWNKNw=L&aY$ zuJ$m8YcAH|qE-#=qT@{7!(uZSoUj8<=*^&K_4u@ZSvFm-97o$iC!kfW0N3Z;k86Ub zanBYQp-8?IF6W%YWjK=K@f$QUz8Vy9~?K&p_6M5Aboyao9gJ7ow+Cf`eTmi2f9VxS2)(k3z`y zE1|GyQX!b{7Kc)46}sBw11z#>gVKu;AWSo0=7KD;OxzqoM0W8eGf#NWWn1 zg>{+ZVOLceUwCsOn5w@5?XO#5|0)fz&KLqQa)g?h8_~aFj)W^+hud9*u(f{s-EF-?JSrOF*i;09&VdlZPKG*-V3XaB@KiL?;@s z{udgc=@Pn=HmA(mSlZjk(|iOBN~uYX%Hz-BA%$Ne8G$?Q4PEEBFAN9`B4 zaKQs}=J9MXf4K1vX}_XG4L2@fp&xFt+W|)0&tZ9XS6L5d%u#2wX%-xLD8;!q=i~7h zYks}nYN&6pLy?^2;5h9F|3~IdPIR#;aY#$#t$x3Vjn_^FEzc^JI{7BjQOjtA$Kbnu8@54=@zurSFFY=d7wi+vq*1U+W)fpxf5s1chj|B2|~RnnRk zL~cK?fY&xI?Bd~HC_9a9H_1Tp ze0i$8uoF5_kuLbWj0OF!AcIa?`1kh;7CHKdP5&;y{Vb|vN6f9@(7aX{*szq^`6|$r z-^1G)~V)j8qfD|rD4w8IjfIo_Tn+FAD@DT z7L_Qva6Q(1n2Xl~#koc2t+>{AQCQ};fE&J&N4}*B(*o(2{N)!T`B4Q~Bzd45o6^Hr zPeLpypBjR>9jkC?*)uX}P92^Z?1r2B)j?};Crt0wfuj$mqE?$YY;xQPDb@-Q78y$( z)+*ANq-40ab39az%>(g@Z?M`)j80o{58gOSqr$c$yph0KD2NP&lY>fZv}itD=}w32 z7sp}s+I%A4xE7S_qQT!ggh?8mw^)2e99J2c*AH~v;!FIDB%HS)J0a4>l6PhC`h4@q zE8Y26b^ijkjhSH#jbND%-|!MW+e!O7Y0$f;51A&?WMb$tV*UuhQ$>$2Fi#Dd`%TDi zX?LKm(R}|x4P3HxD|^&Ez>A8x!zxC)Ft7Lm>9muh1!!2S1=*kj_xm>3_bTY;@ELZ&{p38?E{UV;y(@hyWME}2WMKpAPIhtdeWPYOA2<|c0-QzJ!-Y#0aem_Pn%Vm=~0mq zYSZdRnRz56XbthU+}%xFbi+uEP$+L%aT5{RbB>;S&`o2!@6g&A1$1ux1^U!Tje4zV zgc+6nkiJMQK54Mfo{Q77&!E|H zW!!`=@YAA+dEMNA!XXQ|71e)GW648QozsjO9s-={LPJ#iwHyqEmgCUMb!=I!jV0YG z3b{AkAvZygwtn8sRl%v98yDc=FkW z&?s00!U4uK_`nHhTM@>)emsI5nP$fSyMKi7ZX)SytKo;33Sc1@0I`2|fSAWw(9y7_ zUF|dImU=llKkgODj!GxBskzYg)(o1RcJT$?h~e3DW^i!pF)(meV!>(Q{DSWfAdaqs z0L3$8b*c*K+dLlRowl$aCdp{kJrm_Ngt7LMjih5)9j5(G;Qp+gisc0<`;Sd2;)~CB?U{}$zApH#8{;gHjil0=na$#x@@4y zyc=-f!s3SMs-qZ8>hSeIDhg&yz}P1|XlNG0mrBv#<~oI5SzQIfSJuD{muu*#FT`E^ z&S6_y683mEur%*rbbs8-4pug>_}_8hM6zH}YBU*}`4Dav??t6%bKKjW$|7}x(40RD z4<2kKHGfW^;k{s9(bQQIxoX5g2MEDU@CPB&!qFLLqNl>nvDDE4BPiJRx--?_0xBN z#I}>LrsxGM>?mP&NAn?{znq4hfdRNSW*OEgX{0ijPHNdA{s0C(l7VZ|g` z`b&Uz{)wW6>(o&6>lNf%e#2uw6gZ=I&#)nX78^CcMW%jz0z3ZQo90kETGu2-9n0p^ zb!XBW4oy?$R%zVE+gc|Xe?}=Uaq@M(ph7svXKe*-Fr;fe10ds&CjA+h!fyYNfgZO= zw40>HZIh`++Xvz_`9dso+-)M2zaGIVt0^$#KMZO6Z-8QO7QB0(4i}aLgRHVLO}d{9 zU+h!in42&a`QZl(mS)1nj#E%`Lz{{P^}>ppUT~?KL)Yfbr7e%-sYB8f`m;3`XhtXK zwa$f8fAmOmX9?S^uz|^~&OqkcimlH?@zHmRix?SS;EefY*c)fOWgDunQ}@mK0KC&@`;;B-yT&G3f&~`Mgvi)4&rGUBoWynADC9I zj|u^E=~In;)N9vds&@GZ6l*^Q<#}TCK~FOp3?-tGvLD~qJ_W8g2(npTl_cGu5w`aA zLxHv$eK^4nz8QXpeOq&(h;}1L524VLG%{cm3X7ArVX*uo#G8U+``52r@ za0S0lOE|^(uDCTZz;aw#0e-By0M#-jxOt^1IWYE;1ouV4lvGbte6$O!4(FiN=T+RR zmj=Xp`*|>z>B7z)3mE^co9|fs?=a7uyq??!wDpS!`ZqU8_ttIC7t zl5D2^xEMo!UE^I{@taIg`_Q2IB$Pi%c@EZ>Bry5-ETU@`1cSETwDQ7K+TmsmBRlrP zcX56A7`>YmZvMemrA*@_ZfJ5JqrFin3-QLte%P)P0W;?p!vbSQ+)C6?An6NH+YyIB zED~eOR-owjRj}bs2I-Fb#s{emd?J&Eoh|a1Zu1RK*8ai97;&z&te*@@xA5em2u@Nw zg=Z|q;oY`ltb9!h9$GEIspL7(t4~eo-0Hco^k@ia*!`J_D+&J3(Rn{|`TcL4vS-LD zn}*pG?(@8+UgvqIVI@iBosxRF9IzU8BJuexWU_}e z>%8_5JNl2UpPfixPuBj^^YdPMTjU{ zs-erCm;C|@YLZFOvil&GxCI_r{>Ll$u$M^r@#p}Z3rYF>>@WWfu&cNgT8?~&l2%c6 zp|}Frhz0{MITErijAEbAH^yx(Kbrp2GS)7Esk$gd=9I{D9k=3fELfM8AIiY?98}mvzhqTWFkeq!OLddn#yt2GScH9&+v$QOk)VE8pLcb^ zagtR*Xro0iou8%-e=x04>9ZtLKgX2{N3KK{=?t2Zrc4T2E|V_f+YNdJ?q-^1Nkm|3 zBJ5ng0**~vhMU%IgX%?Dz&{|wh2NjT8BLeuvPymM@`BYQ#;%xmflee6g$0rKJ(G{EQ&XF^$~?{*-x*vt@O-#TQ?~;_4T?&W^1#=4mDH&GUvyUzFgp?@H)TSAtpVAJQTB93p+_ z1I@cBg{H0HMBKg-);QYH#Qd3XpjD8Ky%!BrUpJB;A5P=+FmZT1QH~1cS~zFi9lC}>katc6l9kFyNUS^_WiF#x z_+@5J<1%zJ`;0zbws_S&4<*%nnZC|;`X@pI(hg_RZnXu(RO=-Toq2+OirzuK)Skje zQNdU=Tb0HgpMg>bCc}O|69~QSN<4$2pogabZ|j$UQAi)8pQ?wkb?3oT%oVuq3Ru=j zfKf{cx?{UbGab$>?0@$xY92rgQV2w7S@=q0SD7FP&2w8lEqR%eTac| zuL1t^G-72XBw3%}>!8t|!n`Twp+{{c`K;o~w72GgS>_D(;SYZHcfU5UQ}tQZ_yX{? z`~mUq;?Og22&}wqsH+y3UaRwfW2SxJ99(o0+%(( zaF>?thk3tc*uRTA!B=YvD<-YNI_j#j_qnxL-6w?2U-}_qZw=55y|4CzaTBWe(({F*fMIxpKT|%{q z1kB3wL-#5B8HGiE3EA_PNc#^#@f$<7xWa)gkS}7->Q}(;h*)%tqc}Y-7Z1Z>%*u=+ zHQoboeTxfp?C_cMEF?G?kZyYQXdM%tl(jU9+pj8j1!wjm|2g4F-F)H^nZMU z@2A@6_q8`@&2N1ajcvlbw-e-eO(9vld=(~q&xTBG0qAg5hn8RpR(~#nOVnE8wHzVp zqCA%yrNGI~e2Hs!Trm?X4Z@(GcS!Jx5IA-^9S-c>1TXG$%)~lRnDM~@tQYMDm#K#6 zuu7im(JjM@8T;@Wa{#&BaimBs3m#2pfNax+_1`+lu3#fjQ|g1^gU8@@$4h!_cLlWE z?}wdJQh2R=&xp7GZE{t1!4ncQ7hr?%Fy?x-8TnYX0 zsDv1ZeRf8br&OK%|N|uFFA&R_{rry%3SCmv-p1T-YtuSBWLs={qbXv z%HacMmKXe%2*r2aKZv{$KgJ~rf}mS0+P{dvBl2z3tki?>Yjnao*9Hi`Zi7{6JvcBB z&9>+rf?Ill@W7bT0OcmkSpA)9_Ws99E4@pF%e%nTYArdExsGZ)kAX>#RztqxeD-zG zCYbA`i!U8SNv!e`luX*ki&j?#-Hs;MCmWBZwm~Qp)CaadLSdth7cB8Tjg@?LWP7S8 zRtPGQF2f4m==TA5DTmM*^@ThtKh2yjNAxU@qpI)KVV282OnanBHa6U(Rh_j^_Wl>~ z>UM+==kHMUSTDHo$sF&V72)pZ{G^k+g}9(pK6WV$g6k{XXmyk>Oy3qqe(W}&u7?6q zr@WD>w5-NuvpmV?GaN1Qc}zZyPY3x=RbaHv0eA2DL{uv0gK)$oGG?KU;yaI_(~uO# zk5l|P@(qWpCu8>sZ%Fyah?Ys$h@zeW6?w3U1bi%{MvlU`WxpLc)te7V+S6%~vJ=fZ z;|{;YD&h0rDk8G*HEz$DNtc?65F5>1`1|u0lo9m93jv8JvTFhchz&%3T}8r&{MeRG z53rSQ#l>17V7n*=U#07y;+QcM9zP9=)wN`knICyvKT0pI%Ehj?L$FBP35*4WxjlQn z(**rQ3`?f4>+T9rNQvYvTCT|sEB@qtk&H!I!wyW(J_qL)tJ6O-ui(i0W;{ImDK)FB zf%_jih`?1Ts6hM{H8*=YV5q`KagPY^2 zimLXCBwcw5yPOGNEAPyMaE)Y~-)c0YDR%N7Unr|dcJ*tQ2GL!cVod!)hYl$oUAuspjVOoc6tp2RA5UEv+) zRpWsEecmSvby^jaNHVt>LQHTi{821M<%sFTW}Ps5`QR>eteb^PJJvGR%F2wSX)zW% z=8#1D93mnvf?JcfhYn1hSi5!LyRJ{kvlFw*yeL77& zx(yC}&4+-YG}!*I0?g09Cl+2F(6(tVx9xBn7MrVZc1o_Cld}o-N+_~hGwNXJ*{2Zr zxrFfK65&~YCDlru&ZPZkgEQ8O&}a50?5{fy;PuJ~w%@{r)eVh<9lNDK?n^vfbW##( zuiYkR3vE)ymo!+D^BU}%d=Xab#8Y@XT0;EI(sA0NTwEVFncF4A&|ffOwze*l zY2MHd3+t}}>d#?QV+C2~62Pt*65Jep6;4^J45v=ZLoMw^ygBdJz?AA;AnF|lpNeAX zva$`dZ$3j0C3fJmPkfyAiPIcE{}}p)UdH3S{G=K*bkG&VdT>U3FPL1p1}_$ zbgMS zgZ7MEaQSHkK|9V8Kg%*kA?@?O9;8NOj7pd_b$7{svIU@hC72orwi1CQ^<>;?Ei4U) zfK&4O;c2%6+)Ryw=W8xP#`p%x=flK?NCeNFsIS*^Lur`k*_bi@eOQr*B{W zfi@#y*7D+HIM#XTNufaHt5lAgy%)y zsrSzLtc%m%{HQ61K!CoF$qGef&V5VLU znD06SiUzl_z*?Gnq@l_^_)iemNC*?>$Z4G8djWKtXUE2b1QRA_F1EHCa_1xExILO(pw)>jic~fj2oJKlwc2Kvea5b8@bS# z*tu;deJ*~HmM==j*1%qF@v3ZY;FdOb+2a~^?&RUQ=ViF)-4a+aD}bu$rV(S4Nw__6 z8^q}sGGR4axgSQRT*#ioU}$w1tB!uf05U+$zf+HuaM$QFuv6a(`xbwMhIU=5T@(gm z^H0;C)#ez#I3AOS^5DD8Rtyfvr3ZQ@8b9(Yu`04G1TUIR*MFS>oeFYbHFF2?KB5SQ z1$Uv?CXQ|$xQgNS33z_bPe{BW%_{7?!2Gw@ki2lHCHk8bA$0dHa5syFKhx#u(NGx- zR&j3Vr8{BJ{yju|4FWF63We3TgIq=*5%<)@tUs=#AU^_5J2jD(#7*d^)`=U7eqi?o zagJ4JK*9jo>f_P@#2doMVPE7aywv z7U5mQAn6>k5zENZCojo^e1eYaf>3{|2+hwOVzyh>qbJXhOa8ACvy@Mg-7oe-P|Q?P zw~vzAhbcIzRtwYAZW6tO8ZdCxfn%O!$Lnk?KG zWX-f4xc}xRa;bb0oO5zEr2jmNQ#2P~sK5}()Y*o8KF7H9x4-aliW0S5+JS{_8JzCH zKyIbH46SxGgW3btAXajM8eP{V)#bNvZkqtN>!2~$@l=BA?|0xVz6>HN?gyVO!Yp$` zm<>|bWdqf|5{P7Ib!eSN#8z`Ldm$V#OHbq>AMsG?{>^!!wwhLx9b@jMZ*c|R2%Wm=M77btnSXENH(G=q$W4k~972F-P6 z;Mk&75IS!PNZzrAg`#)Jd`k;#s;@!wm&xU?87slE~k$&%wN1u%O z=-jf&?0vmI`u^&otv5gNhV5cOSaO`#rld!oEck`C#b=1G^*-G0`x~S87L$V-ie!&o zG7&3C#Efwz$dCf)n12c!0<7q|XQg<_8D44wz53E1o->nDyqbuq6ezpQT@AJI3=I}+%h%T zOaHum^=39(q~ypR@Umfh%9gW7e=5SW`ReGnb}~MiCW0eto0;L?|AD7qJsYr{$9Bau zu>othviXN4Kud{zwwNZxNJl!UYzEA$eQ2o~>K-0s8aTuq7fr%s~-z zd~>1!>63E&@A-7HH~K8RxhD?7iT$Kw>m(Sxa+gSQ@wg%P1jdKvpwDs}E_qHXPSa$W z@e8Zy+B40h-NpuQTunpvWGAz^y_uSxFQXyh^Eo3c0Z!0Bm777*eV7?!PXo)x^I*yjxT`KHPLkHm29+NI!MRyGI-Y(Ky2n7BkDPFY+C(m z=#BgZE;rPGP5cb*?#6I%NR`GF{iNRSmf+tK9kBBAg-pBKF!k;rh|lXF{SCvU)#^Td zuw*wxMEEf?U;jW8@$2N(&9|W6@waixLqkY^HAD_SDaI!SrM#HoV6xq22=uN7!Ed3j zxH?XO%lX^_NtwVI{?nrP?+f1c+0K|gZy$Ch4?|w$XSfizn_YYI5G(zQgFKZJ$Xl}; zrQCaPMd@m28FAAfDGA*-N19n5+zoYw5^#sn zWRKiF0w&H1z`N%O?k9Aiv(1Eju}lVQI-T~kmf*(0TE@>jop>MXBG*C{SyOohcFQYU zc9YR;5SUR0At!3U<=97PvNWRY$qkVF^#m}hkHY+ee$eT90Uj$ zTl3SQaZ4esS;2$%Hfso4&j!0Qau8*93f@LehB1?Ejj}p_soz`w7j(EK$O)>vLaSW{sMIfyIz=mpfzK22 z!BK#XoTkO~`kW&jukT>LfDAWqR*C!Xf(cy~Q%zR?4k1#i4^7SP5ONWWIQ#Hj+#XoP zy*Q@ERn5KJ*vqxzsi^1B`HTndDd(VY#1p^oeN68~X7M8SHPG->ewe&-G44QX+%gu0 zvCr1=xQ1nT!rK}AZ4QuABjdO%ghxL#JFwh~ME2ETVOINO0Q=n7jZOY)!7AjRh4X*@ zdC5e8+j($4(>nh&w#AFW?<##Zd~-d^{-|TGt7Nj*6g1hs#BVUXz8(5j$uP1%GI0jK zEVNZ6FdMhrMT5HrBx%nudEjRXofal++omQsrMenc1f8SzQW|00MUUnyiIHv2ns|J% zF}1cS;`J6!#)G9lnTx_4IxlR%i49FOz=3ea%_XSZ;)Cvq{CKl>GZhOoAfT*-*QByx z*`-q2tQN${zv#kWj$g6ZCu&s zojdzbd37s2Ape!b&#S;guirAkCz>e#ZVghGY5`y11KE8qi)L%^XsR(k9(!hn6%Ve{ z(8Hs2`Sx_`zVaTacJUw{CnCY_X%yKW+sO-l?`CG({Dgu3C|oT+0sVspq+nMPu4nf` zz{4BxKA@ZYSmOi7Qp+Jc#1*gmC1Oc`1X>BG5q7AF?$>buxzGnR$ySSv8TCVDUk4g( zew@hVpQjNfqBu1;iym`44~slTNnCd`op>HZ;))f(+;}G3g;BIz8c8){>d+$a6qY;a zL*s(G;3}fP9x`tLR)vAXA^hAx*&4iONom*jqjYqdC@TDEqw|_)gLiy32wt^?!ArKR zZ0u#6__~?<`8pM=1UJ$jFGSdL2UCgaV}>3mPzFC&Va{R2AJlVxhR3fZlwad9RpJ#J<#~3!{+)+q; zS^!UVjo2C$Z@gq&joRzFdA<2zsP=)6op!GU8Ye zUXL~ZGI*AL5$~E$92Fm2$LcOx!(LW=NfZ*CAbZ@C)vZl~Mg?8Sj?W;*o;BDteg^7` zufv1rWa#_b34;j&kQ-1!7BcBDm(gM6Oit5*b#)}9_$6vyaYUt~Uzxoo&&`x=o{{JG zZj-0~H8z}S$R!<3F|cf}9V}4J!SEap(9Lmzs`a+0x?2~7rbd!?w>YwjPJv(d^Wkf% zG>pkhL+9ihP@lA$DfWBY=>K68%_f38&F2fqgy}r6byKI?^>)L1TOIOObTYf#T8Ld8 zEd{gljbO{gdXzchh|VK(i0#8hFtC{iz9U=ciEsaAn$-v5czq#B9-RU!?XHr%zFydR zeK%}&KSGW_TaNt)OW>-z27LZ6fh1YX#FNT#G2OpN)sc8LDk-$ka{3bDm&E2m*}!Hzqvrq>3)QI^e`qg_jYeA6Q-RG##?edWnW=GaA$9tv|3|MD&}%vmAMdHdGLuvg z_Lzek4Bn%jRxA9?yib=jza^3L*J6236dsoF!p*N95-q<(I5?)o-f$vNw?7$}=f8P% z!biv-K~H=)C5qaoT%%QT|Dntk0IhHJjOC{~_-?1dzN(CeiE=|cBy<3G)HtHPkr*?? zC&JF?@`IW2HCXfbPh;Kc0n+4T2|vGAgLCy&cs@qyy9`ZO68VzUWGw+bt#b@d?jxP1 zu>^fgbAit=3j94>VPyGl=(iDIvyQ!hih&Ghw9bY$dlk}sA`om^WMJ){-E?};A$oSt ze8xFcoO;|cpj(3OFuS^CSl2)QaxUW=In)*l16Kd`ztWxuYQ1Ew5hrJ7*!M17pSgV}#@ayCt4fRw&k>OmD;}=jx55@hcA?(Aw*;&D@y73a} zw=bkWa|=(G6Xq-@T}Ss_2OuZ*By>BgaOQD$(CUZ@CldV}zwWugyZ=rG<~)yr3v)ig zO^qGsn$Uuo5DO&<|9ZxhP6}U65Ovom^b6>wrvAFD?G7=vIm?BLyG&xGQq}_dsv2Dq z^WnI_Mpkqyu+z=UQIx=MEesl18 z@4_~gd?yzz&+$f&+{BijJv4ByDehhn3;HRdv|`3M)k@h25o|SC)vN(oUe}4X2q zq}iT513W#`G-8$5!IK>m#!$QG^agJhCM~oA=@rq;BM%+e0vq5A-+IVq{?hbN2K+K+ z0(vfku$=;UKsX#b1)@+f%NKU77lpcW=Xhq?TVVN{IP^D4$BH{8uwq&YWbdBDX#W`| zRhG*@$e@zU>b*=RA1ZGADBQ#tt^YyysfjZpgFk52t$O;dWIk@0ZH!(AVlaQ>Ts&Pe z&veV^BC4=i5e0|kfGiP1z1O2;R>d|j_C7@fdi)3x6lEo5#FL}6f{f<9BKvlSLEk4u zJmSuy1RFHKzw+E!g?-H414``^)81cUu#hh`dpwk~- zfvSQ~Ncvjqb4a@u?X_*(gst9ta-J+c3zl{I#@;xKSrjX}0GsuIvvryVU0C`uI;f1H7 z+}GdRseRoO)DN!5wPmHa)Zg7~>9PA{!Hnl*=iR9g>+SLXf0?9?u1B9eE78JEfp)2- z0q<}$s4Z0BoMv7@=NsB^;j9z>mg=G)LFTuTh8a+5(!C?Ez(v8i{#g3Z|JZ$Ag3G%w+d%pykhmxQt`s;9ouuDzm(4#4!bk zso#VHtG;8=moBnuqcJ9(oe9&oD8kz(w+LVF6ZB8nOv=Ub=tx_n8PC6u3|hP(sufZ6 z>Ga$5#?eEV8gmD4xfnprDkl=yrO*7h62~hGGXa;yGf1bbJ*2-sN3^gGtX>&1qvaaZ zy|fwUifAJ)b_28D?@3+7cKAh0NnUCJP|L;e@Q4?YYs`YQj7_kjISpexThYDyEnUl; zC$|0(5WY4H0vs$rNwF4rCh=75sSFeOdNX{NWWnmo4DN8icJBBjYkc@)6G&7%qUy8G z5b>*<8o&Q`V=kIlLy5X1tNLO#JGG;o`Mg}5g{RkeJ}Xn08kY=a>)c6fvg|%^lq#Y_ z>s#S^FoVY5fSuV_1YJ5)*`%0oHe#PPdzx`BLL*L)U#&s4&zf-k6zj5Qd2l*An}p~wrkik&}Ja6!hBoczE> z?s;AW=M!VXwV8`@w`V`5Yt7W)+}ew<>aipo%*bI}pY7+ePWf{hSje@SJ;I#Y<=jfy z-&mFZihj7zO_m?n#Y^*2f%MuFut}|f)I2?jArYsT{q=9A8Oqjf^qH(}ZgK|>ip8@}6=Dy1)`4s67&9xf89Gg>34e7WEZ)V(t{!uT&#xu8&TB7V z&nH8W6X$1V8Y`ix&Ln_yro0k!Y4}HoFe}Iz%JKw}5v|AEq>sp?Wx(2xjnFnJk(icL zg6}tN_K0RAB~y2e@A%JL)eUEZ^6#%4czol zqK*MK=^e2ox_;#Z{^u)#scRsIRHTEFQWn|B{i5Poi#b1&7o@eXDrgu z?RsEhZ$+2=+yrq~HiPPWLvTMX2{j8+A@H*t2)*@S&Nqir@yH)$A`STHPdL;jRT+`e%cZ^wr7WSoB*@f&PF^? zWc0c20&7yXK*QSt^v{il*XcdfdAJr6{HM~+7yjgF^CdhnX*P);FM#C_j+4KqEWst} zF^zWI2s>YGBO`1)P5kMCE*FitMB{_hYU(-qYOXI?@k)$6sy~g5)qjIWlj^WkRDnM8 zai)BcSEx;uHU#*m&`+oGNXVseUUBkV)NB!A+rM5V8~!oWlQ_ili{4?(ZDEXDb&uR} zmE>7nT|mdh58?AKi7+C3mhgLc;IRwN$nb5(Ti;*f?|ppSwDBtXwm~1tWA>3#SsP%$ z`w6w}j=`vIN9^;f!&@O)SjqKcN!vH{maL^RKQmAxE)vvis^P)rXb7vdAwAMz*s_tq zJUemjv5OHSvwj(Egk~? zv6FCgYa@hsYqP3@dd#@PZ4g&C!#nPS7(L*Cy=%2_@OBP~)t2SH$JnqT8*1S0t7Iw~ zC<*09U(>^CTX2|f2501L!&TgqpwcsskvCpP@#;5WYP4Ms5~Q?QLk~+d7`5jlYRl=E zWe0Um5apcx`cQq=6rAw?NWWWKD(DO0PwlW6Zr|T*OP~ru@59&L76PZJ_>>1#vNelGYt~59AV0u zQ@CHz3THp96Gc@4sq z?ST*@eF}P0GvU?#F!(t$h@zSs{P=sHT6a{^wzn+Uss1Exe=HzmUk$07+Xbz+#Yk+0 zHFDf+{9hE2?&X39X6Rt>p;QzdG^2by5}0nfo;FJ9a2&R6lNh`0`VieIaUN4t+Hig0FnMB8Mwi7JFmnTMVW8hn6i5^U zSu0@eeJfbgoM_g3^C5V$W;M9z&K=e;_}!B-jq z(Sy>Q*VBVs_>*PaH+r9TE6;)CH$n|JLX04%coDo=_Z1h65>D3DgcCoO#m#O_Da)q+DuK@E9}Gz{ zMyG|YjrtXXjLx+A(9Tn4RR&YpXJu>Hw|Qdhh3zV=*=Ndr^|HXTcQPR(L>zJy8BmVX zg7XK{LFMpGQd{bT#=C4lxataaos@&1P8W>)au|1%RMU!jc{q1N9h<-2rujKnNXPzS zp8Y0UuvMDIsV%vM%gtwS2E9-5rsj6KYc&1e*||xbPAnv~c0J^R&^4O;Lyl}**TS23 zQkj{jB8RI~74hhu8>IBNCvbA-8hdaC3CcZ9WOj^F$1AC%aibD57M=xL_gccXIWwVs z*Bz{$xQhZK0ie3Pld3yP!=$tR^tVa^-B)n}KK1Ry1qB(PRa-_r8=h!z7+sDs5_0TG ztp{*@e;F>{jP(2RM23ItAn%(_G~>MV9j!Fcq_+cQph)H>eE;-_%A|cI&b2<|{9JcN zcXc)vZuWy?H$zdWaWco;oKM!se*yK(JXlzgMvg142mighfEYO8>h`bH%s&Tv%bO_M zx`T8C?L(QNP^@o|W)<2OvXA1mS+&LYVN^~W1ka0eC70)N%eD#-de9e*QhSKphxw%4 zUK=ZwS7G(-b&xQ#fS%Y`!}4Vtvb#o-KvTXAzJ%PuW88P<$00Q$D^Q4=Ji2k)-&@$X zt`NToSHjAoIYhHe7-sHl0F{MWFuKPdt`(M%3mtpOtRz#I75t0m&;G%tyN7V~ep60m zNi?^hCmKx|A-Gd7#71dmlWoL|Nw(ZLxAs1)iJ&EXys_l!!0D(KZ3XQ%~d+8hvY(>0nHrq1}T*WG90bW{t=xGH^W4*uqB+>@qW>$ zUCN+$w*Z)q<1qN86QbVv&{*vkjHm26*u7PrTwl>i2F2nbu89YC@1KWvJVC18B+_`^EL|>JlzjJrql!f%M6(Ks)W0n3$P(` zFTN{(0&()q%n!9N=%Lpzz#$5D)qa4uSbI88EuQQ?kxQ2pD|2-R<3L1RgDrog%X%6r zu~}ilY>1r&2svzqIgjV!+s;_BPcH|9=e)q7*NSBIms6~kW)wU9lOWqw_zwD=;!y6d zBDZ(tByRfFa{6Y?Q?jb>DeUCkBI`0Cf-T4hXA)B0gT z@)9`%`doeHZth&A50_xHk@Jo7SDZ!pMoZkcGYv}X=d!ZKr_DxUHiFn9ewd~h#{2fO53bnR zu=|^I*o=Y{XdXCCx9GIN(|bM8xzUY{)-HpCYrVm(xD>LV`~;txgCOHv0}rB?vQE2H zh^oMyhA8c1Xxm%|0+0R>=dKJW{<#&zO3LBzt-IhNcnxZL(tyY;#Tw5CR77PmG*}43 z`d$28|l)5sqoZHj14UrgZ{unL;;q?n=q;{@+N>Cf?9ycU zKh?5nr{jqQ?-9N1ZG>eVdHDY6TI}4>LD%eh%-gcZh>e(%NNl@L!QN%7*!{aVvljz5$_MbD&?ve3;54?S8FF8fy|}OQzS1|Pc`#o;lZ<%mCf}E- zLC0tps2(8faPMANmHdO;8}`Sdd#-p$Y82latf7z7RG|9TXY%O2F?4O!gvqJ(@YX|! z-SPSXSfqr4-ugPcC;XeJpB|zUV^Y*!Ko%l4=fF>SXZVXunLs#~avA`oloi~N7e#p@;TGqsRo(9o$@*!c)aSc7P|2$G<2*aoEVut8R z^f^Glj+qI4&Gp1yK?}cC$O7}b9E?IA!JlWcynvsDFl4L2>R~mk-xG<4ZpEY2yf5UW zojlcy$;3X{{Khxh`5^KOL9`(NH7s>-ew#f=OJoqKN0V@Y!3%WN2*rzo??^M}#l$;A zq1U6yxMs^y5NB^-=kMk4W1|S(ewE18wyATg^=t6Rj~+bpP7hnotU&Sm;+$h@8nypD zgH;STOI*DFg4xtUoFe)c`QAu#b{ngZntrBVmSp1Yu}VCZU`2MRT);Ih$xwK84!e2C zh`r>P1~=OVVUbQaIrZW(S+Vg7adoYy3IA=S=2ahw`R#nH+M345D7(|mCN0QQ8zrKd z<)mj$0Lsk^B%>wa%+%~QGq*Ssk{KUJT@S3mcV5qMdCD!+2r%M2KD1%R?NmHbJ%SFm z&S7kz6LT*_0@{^#(4S_1=tXrtd|Ph}vX`^Li}B{{JU`(}0|QRCMx2W|c&BmR-b8%3 zqX@ZKWuz!Njf9mL;ghdpz&CF{?CgDxqw{8QeGwtJ?T|e8cJkG`)KUeAfQL_&KLBvhgajazY%<;v|q>6~TMR@eN;=|B{ZBd^TP-V%qhXfr#kfSyjm(``iveuy%cY(U4yx+_S1Qi(q!X~5)9g5 zfiK)wpqBMpd~B-837)=+?SIC|9*GLNYQuHxG;+X(#02`wa}#a%-9_ut)v$eGJk+^f zhqE~d*TdyeR7e1BG=JsgAKi(6?^%<~e9Amreiv?TU52u+ep2aEbMbGYC0lvuFmrhJ z5A4?52Aeqn)9&@tz8g*U4+fcI1WNGb`bIP5>DId#SK+Q zVNR(fd;V)PBqe+R2MZZCAg%yb2fMNR{^+v@77dd~`5t&tYJ{U(ig7T@2zN$|gL+dR zxVT*b=Nc<^&+85BU3mp4=r1D%T?6FjV@*a{R-G)#*iUbLO2n1+mH0?83u`u=qf&md z@WT8Te7Dc$b;YcQJe}KAcPIt3#WR@I9a`kDTm!M;H-x?s6Yi9y1Q%%~fv>DDGT8$q z$OJB?KW7DD;$b zl;1KyUxt|AR^t(>^R|WAnIyvHSA^l0%zY#>{0o(Fai!34Ak4pk7ks0iswf{o`6f+l z8T<|K@Cd6svy{E})tYS_xJd@h-jZpfr%*BKBt8~T!~-{7vA3!Kl-2IR%y-|3#QJea z(34{CsARx!kR)0zV)4_PeQ-qU7pQOPf!+u?*7xQHc6sV&uoV6Vk0J*lvvNAS?%@fX z_v|(aZ7sqxI}Wi{($`p-dOx;e20yD8Xa#X+uE2~GZC0gs0Ybe66m|%36SCoW!lj*F z_?Zssv4(8vbT3fpJjO~%&0wE<*s|hL&%pY`VIJJdpuqc#k#EhobHAL3^VlH>4Ej#4 zD`n%plAGjD@DM!_tHN$O@)UeErMUS!yl|EA8MG~GLZ3WaOqunQ?$GFCLfLm{a-kZX ztVU>)OcI{#{zxthnsS>{G&!+&FD#QWMDf3xv?@IV=Sea2?(Q6N*|Hm4pPA!a-6dSG zks-HgO$;aaRF)gRw+5pd>v)0bM@a^sADLeAFLO_&!}TXoaH%Sh=!px%jT&bVxM2sm z50;|lh1tZ?y_l@L^_a*-i{Ru3sgTyx2HQWx!3i5*i2eQtlxwG<(Z@wzH=r09O;X~68?~#^nlKuX2_}^dqLODzDb|CCSg`Y3jMWs z6I{G2%+AGVNIxdcepZwI2ft--L@W{beokgLZt`Lm71qM9vP^0+J_|or*y7E!`_#WP z9R73s0CHV-A;8g8O{p@*qoAT zd~!S!|4QiM+nILQT^z^eeOVZay8}nmZoz?tQmn$d)6g}j3_Tb8urWq~ z%Q#$3#Isl7c5NBBX}AGgx1WT4uYA~b59Y9YGE-Rf_4@45owBU+-j$>?{|4Uf@x=o? zD^6=hCmnfc1}}b)ch?9G?GS-5V|Uz;k%d{IS-6PNhbbEq;mY-w%v|O$IMz9lx3~Rx zyW6M0`|y=eY%9*%*JeP}7C)4;&By!plHh+?7(SaMP@3CMew1!Nl`IcXa?S&Fncphr30C4{N~nQ%4~0WIvdV?WHxX zl&Zh0WHLp|c_}UKBydd+>GJe|(;rM|fcZSKrn{Xk{i1?t)9T1q4=GGlF2tri3$gEI z5uI0`!n?E0i)txvgk6e=8$DX_&Qw$MY|-NqN`}$M`U>58vED3qrX(kWKYIy zVvm~Hv8i?j?CT!Nw&pKkr}PX!tNA!@C^Z5r=X&B`aw=E`PKO!1OLQ_WXV2Mw2J6Cc zm~*5JEH6BRZrh8bE;5a>e^Qv${0emGuNW9tX(K|yE~pdOj|(rj5r3gzh^l`|&z{V| zsGX%SJP;1W#Gkm#=^`36lR(^BhR*6;O!0{TT)jUNOP^?Bd&?_&QA7+tXCp}wT89U1 z+9{t+98c_jca3`O#OK3Ga5*}ceY3oa$f7)*J~mD`g z(9uxPxUzjE7%Knc^8ch+AO6X#n3@xGjjn==vy0${iXg~;cPD!lkAsHJ2hiw_gZ+}` z;5=3i>kQ5Dz=0;PAI;B?^j#wXLak#K=5 zI_e$9TRCtX&1&ta;o}Ra8>z%?Rtm&)Gam8(oC6zI^}`omarEt!C4it96EnN(vB zC^LD%bVfJwF2AGn_`dg4M#GFWryhZ;-<&`_;0aaF8^hn7SMjG_40U(pgBBGToa%N2 z)nd;hyH*3KlM?d3OaZ&O$F$mq#x3# zbfthyJP87`5AS&e8Ty>=JV{Qa>pbp^*^31`(_yxWDqAZV4olP$A@|ug8ZN-Y?70S@ z^wfm3!T^e08NsQ0oAKy?9vVEFf*Fh7L!8<+a`a3y8udBj_%0jZi;g3YmYfH(z6jhZ zW(sy|Tp-2aEs5s0MVY2E^ws=$%#Sw0M;84wE#o)560M;xKL}C}QIGX20Z(h!zMRcVVE6(qcb9j)PZ#5!dfx$(@wCiiDY+Ph+?__LSg7_ zGtqESB?1Oh;hT>f*w<7*h<`hyTFZx30k)j!A8oF!`Y`fkx4@mrugNL{cV2PSHPka4 z!4*1g_|5Sp`PrTf)59`=s8}&#FRr5Y@u{e(6NGo9kJ51`Vem9xf`-AtSkvFd%)WOB zR*)kwGig5gKZ?%#pX;}a<5otLtrW5q2`S}sowtf;M`ab2cBCQSk|-oZX0rE4Lx{}J zb>2~uqGVGcNri^8nsRsl2iLhCkJt0Oo`KCxcNI9e}F;!SRFPIC`}l^vvUllgM=Te3dhvb=1QpU5>cu*fQwIz6uFv za-g7Uh*R-g7OVx=GOL1x82@qu)Xcn2K6P_&}1Ks2yS zCFgWzGB^6Op<{^_tMU3CCb(zd7ghkx*C2VRQGn??ALE|8|FMQ=F3@A@N!+yq2;wvB zpz}%qE?997mQ`vn+dEho8%*TB*ZoB|RgUA4san(_`s~p5>-1Sr2GqL9ksmXD6Ro{N zP`plqX`R1}SxLT;OWBbeseLopu@c`H!`V4-vgqf&;HH=76 z9~k~ggq8Q#!Odr@Kx)=P*qbyAs%ACx+U+S=y+?>dS@SZP^49QvnJ%^26i&2DgWV;VQD@&R6c^bIZylPK*+_7p@p< zxerZsb;*D0_P}~;F_;jM#56ZQ)DsfJxF?t3_8xUw@OYBAcB^r?osV&2j}==htikFP z6=B1IE-6|ux-$i*3&^mC>*uhTn}HMGXX4*y zW}tRfg|vugkUkm+>)u5W3!fZxFmA+&0}QL6v6ziw9^$4eu`n&fkl7l)o)KKc&n%l9 zD<8P?AC;BbM1GDcvTyQ5*qZ&x=+rHS{|Jdhsv1UZgcISPdB&U zpeqBK@eF-|I=8RkbWt|f0-}?Cf{NFMLcs{MvYl2%LQwTSke?V59e3O15xfHGBUP|sTc`>Pxocn9^E-?!_a%= zIrq;em~fI#^x$ULY#62o@nz{CEKRm#e3JV>uxTE1TIw;DoOp~6S6sr)UCZGRCxm$U zE0Bm2`m{jO2lN$th@_kr#LGU1$Vb=VT2v@nq~79Q{5#3HMc0C+ha+6pQ2-$qad=bJ z%2~O*n;ZK{5#LAZq5Fbh;%(%`^(lx%jrfl!nHG)*Zgp{=?r$fuFZt;1FHy#`TBERf zNd|K7NwcD*_wZPEH7;mb%9_LovS(i}WL>9kM5i}9F(~Q^nzoH#cWDT^M|dS9 z!8|(S20xXPY0k+Y{K*`_Z8a>mty_+--;Z$0m1;>vj1J84H~Hsku2dmBl4Cu~7>&Y> zm;3yb!Kr)433;3eK1BvtxNY4dt>#{^FIB^Wlo6CWm z8rXKT7D@g$ z!t+(D!uf<8$9J0!#@;o@mw!9x_K7ggQI*Sd*{39GS35?A9b3qV%mHjTQO9lQwx)}M zz7d@#D`DF$AzEx1PF!xBrmBn^K6$nVV{qVN0sB9}SFZn|> zo(DmoV;&^mjlq?w0Ho?By|Caobr!J)J~cV;DvBY?n*wR)%L$lDy}~&+M*++f>|kNo zLGo$oVQ?C|LTu~Rpv^&?8z+-R+5MmC7SG3U{?Z)q82Lkg{+>_DU)92+$M+$6Sb}LK z2DoM-f%IiwM!r!6Slsl+*u$%uhF$Z;oBBx{*&m-l&QFZFKkF7OKO)N*jAh~SH9UA@ zb24YITOk=NN+%&x8HnFrV;YY?87`e9*_YFyey#vxy;T*Cm~)Bzs_2TOx6`ohlPa87 z(1gDAwgfB8O-{^ve-*Hbz60E%?j;0Pdh*D3n`)dO3{hf+$ z*h0uxREOO{qL{}23TyI9aVEWkhqrN|X@?_q5&~AXM~zLEm0=gSiJ)_>0^C~SiswJZ zqSa=8c7xqaGt|bdceh* z6I_&uXDbO-oUedcxP|$eZ^az*;sMp|Nnp(91k>0g60Lj)TjVk!x?&-yu2-iQ9t`7b zG7J5K1h_d~Voa{LHp6>p3A5+uKK%P+DI4#RgWH$QAa?tV;lT5D;!wE~uJ$*9PKY~v zb(Uv#r=`MEyCV3|b`A3b595!4Dx7&Smt2iZgh~0wM7Pcv4BEEC(q|WFQ^`sAd%%cW z)a(me{(gb8Fi4~scz zFmOAZ8hNaNs8$&=wKUo4=46%*{c4_b2plP6;)55@9z@IpLDL9W!rI`zb|8}#ZW+$=Ps1K(M z-O7I{9)bZ-qjbC-oh|0GrXa*l+k&{aOboAg>%*1HI(S-x#rZ+XEPc|3)&ZAsHUBZ# zdOU_E*I3hId^gdoJsUmCL|C2$iD=J0!&+@KR_w!lTzGj5J^tlD@Pq&I>VLWUmaY%8 zR<&cW}OTg4QKw-HtIH^~Gk+RV86{is%77@n7a~Q6M@UZfIrtFZ?CbnR2 z3hEi9!QSJ(V0~&j<9XyF^DAR6V;N<|JWi5g-v0c8Ek|wGzO*`&o*PeWOv9ltQjqeb zeIkE#H$#4MG%ShlgwU)tjHZk})Q{QY0+r8bz-)y_QR_iBFC1JRIZ{07!&S1L#u`l6IX$90htR{wJHTRHZG`XYy5@U|P<5bNt!QBBx z_&8z}PB1Ikg5By&sPAid)BK(DLG(RcQo)PTn?I4~t-)BhpCMvvX0kln`f;keomTP5 zpkrt#Y+e@+<%y3l_v;i+yTe0X@Lb_MjWC51RWo4go*0TP->K!>+f=>uF$S3Pz@4c) zTzc^lavBm)Ir28W+w+LrUbBo_d3G`Jl3R|xLn-vEbS@Sw5oBxsgkzk+4EiPeD%}(E zhMJs>=Z+@3;n%$~#ve~Epv4D*$#{}DIB%Q_TGyP=b$ukA5p9C+4j!i|R~_KUnpA4? zq7CoZhN0#gGc+E5&WUZUha~$lGQ0m4Is8im2mCzo&6*-i->X1wdatEVVt>+x_@^ZO zXbtC=y(Mryrvqi9LIuC2AFSUws={^nJt%YUA#SrMG$Qb=G z22qJ{$jC`QI{1z98r{?~kD#af-tw(6>gK4;iTqF_-r%3Fe zAE)wGINWG-!53@C$cm>q82Y`8zA~DI2Y*u1w{JE5A!$hbrO(sn&C8Iv5`+n+&*^)w zbgnJev;wVuaEfZIIZ7I8+t3=x2{zMp7e-)T6dx0I`sxQw_cuS62g z1Jk}ND$fo5%~903PG_y1PMzP~!dXlKzTn%Ao|~`IbKz#_m6(lhZt|kUt2?CkLo+>= znZ!xit$;>SPtZ;G12q_02&+c#b2la~A)l5RLHfjdEX!ip&aa+$@yij?Z@mP++v~vI zoCZvAvjML+25_r&j2u-u1xFuF!AZK9nGu-*oHw2S{`olOlvR>*=TE??_T_kOMKbWz zZb6}83J-RkB#v4;;Ks-}_+@m#nceS6(vMCs5Z$`~EkM%0TwtXosI1=z`|Luop zT7`+ww*>Qw5YQxrSor4({(dQpZFYWCZst2Oq<)(8ZO{OwNC9{ww8=}CT6mlxN@Mp# zpuqRn7+9)<8>W3jLmyFGm2U(MYE|^B@k}fi(q;{|Plx?aXLIv<3prKduIPB^Hfa@V zqB9b0@ON$zUbSqer^}DQ&rj`Tcl?9U!D};BF&sjUMHXEZVFY0>JBY1{DZG}J!Or;% zIy?!+-(43lV4gly)XH*ucy>T+G{H#4vv{?q4i?nC;$|#eN*>4FB5xx1;N~N8+C zSiFk|S4gt-?Bfg=5*erI7vFPUE?PiNxNRT`9p-df2^T(aDvSlZb`lPEE*ib=K_`Q? zWC zgAJ7_aOtrcO3(g9$n}P(CP(1hKvL9Jjb=I0Z2fv;@{-D8k)I!C6qOO8 zwi}PvyWv}A41~7x!js6;P}JN6;?MPAm0KE~`nevqG@pgpAN663?>~-iV-5V#(jg@- z;&A4;F!!bdg++Wvuu|YI#*QhmGLbteC+-vt?&f2XO%5`B%x323>9;VZzKA@^e?)$2 z4r0fv+n5&c7pWii_hjo#Mqf7{j=pqcR<)@zx4Oz;AzuV}MqZ4x4I5hnhSo-AAz2_Qn)k$9R_I?=m|7XEB9>|1+vcKT0svvW^ zxs}K~y@RTKc{sV}BF@t~$fh^8V^)P5?E7LtkC}YH71rYw0}}tgH!ud0*Y<f0ng zsS3Tcwb=!#PjN6(3%y$Fh^jN?T=Jge7Vv6S92C?;Il&o>d~6Z1GnlhMrJZ;j|ClbmYSwWq#0{lLEDa zmSD`0fU-YAOi4gEEN+p8V%OO)6(0efH{Sz%YlPBo#c=VJ73`idLTdOLVM};9NuKcx z=5?G0@!QfcComk`VpSkbqz3w)Izc%n2F6b&K%cP_Sfs{7>FpMnwzmq-*35>p!y9pj zCqMknEX4QY)wng{CHD9?8z&j^gP0bA<8TL9pPU5abu}E9^^q7uL~zHZN_uie2;6?F zU+(nW#`x|1089^y#&m~N&`?PLsl6T`>;8hQyigAxT%?%Sb7kSwKqwR%=YsxY1=c{l ziAE`UQ!A?lD7L8${wv+W{ruuR{L=kh0r>|ZBVmY6$j)Uldxg0YDy3MmPMkIPv7JVx zufh$RDj-nWloOueOD^sd#`OzjFn@^%_diF3ZTnX+*S{2i7EuHHH9zrH_(C?#FrS{% zkHL|>8`#?g=hz292>n#bI#1+EE_$9OZ3mM zeyw|0{!e>Ye{^7_S1&=;^wp#`JQvq>2co^SKRny4$mn;jfmm)Vr(xAI%#vt@;@9gL z(*kA2=4cFzoF1dzep@kP(JN?}GYB8Xir}533b^hPg*e;o7$(em0%4`EvnMY{$u>0dSa5C`%yr0o(4kvk`O4|>C2q>G64&+PLV^?2B@Io226DGGM*-;iL2(g zl0lUTGGXNmbxvc@bZZmyzVA2W-5H{dP=dl^xw!G=Of)E(g}2R~BN#5hXEHBgo~{&g zQ^1_*wzOkrE`AP&wQTSOrx6pgH{f^036xtlmp$_8B~d)22@_jQz_H&F-gc&dgu+!2 zZJ&z{pI%|~MHBW)U%x&|~!X~@3%vO~!aO_friGe-z;iDfM#og^hylo2_ zOC(XPGd5r-&;q?DhN!Jv5`2%#0qKn~p!9?X9Q=X#?`Sn_dHu+E_nml@*P4d0T2sWk zsv9Qy*OHFI)g0m5bD7?EGnj09d8Y7O6;yc!gZ(Q}`sI8o7CaEdw2nan9~MD}Kq8p; z{{fk1V@9;>BM8c5z>+)t+#T#z%(3c2ZPhj`P^rN(ljl_O{15W*!zj*_D#V>Hdg}FuNVdp{J0tM4u_yx|q4F@EJn9=P+qQ zgYcqCk{NzIkNNtb2i|NCgCir;nD2f{%+e_p=FB`v=95V?SPeFlL+yu|l>P-w#k@Bl z`Qo2L+kFDw6kg!H)(AYY6|j|`z`6Q#d{KP?xjNkyYJ7r>(MeV2)#Y69O8p7Ka%GTb zn+km|7QyZ|VR~)8J}cw$1z%cCXY*bALBX>R!jgyK>%rwvJNcLh{%wG`D{o-&q05la z(L;^@l%VT)Fbb|&3FdOy;7kuxSiR%QChRdl_fm*8tOhfM=2jOi4uI_H}Le z(oBgMeEkE@M~Y!_W)u9lD9HR2GGT-kxG>3O`x)1BhRj#J@3fJt!5&#J&31}c;`Q&* z@bvjfXx9;ELn3H=@w{+G(xeux$M#Bg{Tn}03jS7IK>$yCC{ap3v+AX zcx3~*U9HG8i~~fCorbv|?vf+bJZP7o#CDm9VE7t;Sbn#iOwF6aoa;}7)Y*^V@TqjJ zy?if`+SWiKUauVy%;E_bTFjW+=4yF?_{oIj{r?GCp8DCpTv4Nu{`0HdmTC5JmIVZAc z{)Lrza}O_Q9?hm#BW>xSRWpeG&Byrq>l^yu#U0Gt&CpM^@x&};625+T0(vjJz;8Gi zR^3n~E3!s8y8U59=IwGkvqS<*(|B>mF=fc)okw%CGKsF+TCi{JBBMQ{5TP@)e6`I* zA|w5XsQ(s1C5=oHOQcE7tXSw$-^_%Uq(NPyESA~tz@v|Zq1yHe*ZIK`PQ+j@DS`~@ znpq4f`7HJM6-f^DcEZxTb0FqJ1XfyJ8QX%V zF2BaP%|2*-JPIS1_~A#+Pwv$0c5i^a9P%ui3{BZm=UQ#HV|p3Q z+tR>&(Vb%Kw^N>;DRU(Ap8dm*%rz1q5dw$*W^hEd?Eqe@GMOog-=kS%f>W9h5EfP-4{;`lQX0<0Pe3F1Sk{?=1U4+fLo$?qa-X zdEx^~{BGdyV^$!%To`MjV<4wQ5dyVSsg&+s>>SJK+; z6L4?WMc5`$YaDF%rXrtgN62$PyIn_UlHnwVggqhF-#y@Iw z%Lh-Ev-nw56URrY$cxGKaMjL+cC(sb8+~_xZ7whgdr80iBUGySj$?YC zjWc`{VDF+u(8E~-;a>&7V`(w;%SmG|uNq!BLjGm>35}^(MT}A-=tA~6*%clEMo*?Q z!dL$z-W%q@>-$^b^|oM$g*JNl+*4E-iKCJo#T=b1Y2dw^L)PD`riS59z)Jikaa(kW z&VM8ZshPE;*3lN9^0(2uea-a5>2!{s%}(?%o{#rDW|Nc2Mr6^P0JK?>%uOqnrj4If zaI8cDHcj{c*HtuOoVsD6OBYvX^I8h1MqueH>8%P(7ihG)GIUyx7A$$kt$)z7d?ZK`E&sszlt;IrYAu$ zdjm;`9fh!TGsZRO5;Q(o13|CWLY9*=^jN+p?<@9^{C(PRFI9;Ve^>|WO8)uzw}sSZ zs*UuhC_{jUKHNK9#4+esgPw_I^0P%2muLpiE6!6mz3n^guYUm!@9skLmq~KZ!51y7 z4C&~y9yAe1fv?u1c>nVP_H~akYq{n${r1lZn>vC(Xrc=CCaZ(b^d*#UuN;~i&H@)b zYjCg^r!n(Zvi8qSSzGNuT_S8iE;}GY`O8N0tfPkxHDM3dxB_LtLp`HK-1~2cpY; zfnV`9bl2=;T<<$FTg$&d!P#E;mG2F;Kl4HN`aG~3jiY!@B_Hson4 zGpB7HfNSnD=3>GU*d?cdahWCboYyw!nz{(~77=h%v=}@jg&;f zhRv^YHw|jhE>qyBh+l?fH_k%ApfcDoH^F;12PEJHNxCb+jEUF4e_jC~Zh+*N(^Ytp zo&m#EJ1Ay4|Wa7A4?NaV^>9{XT8@6XE&ItVd!HYb7YnGI5hDBV7MnV!*` z0onqy7&U1dk``yh2*Y-8coa@zFV(_8XgI^4Xu#wy%mBTzAdYb3AF|N)2GKn-K{(f2 zh{~q5kXG>@{e8y;gns+N+Z++*1J8R{aF7?G_s3JMN)9U7*WkI(8^q7!BKPzr1?(dU zbYOJ|(!eYG)xF+C458od8FNxm-+f`Y}oFwMCSnl@=r z{f~rBTl>%P^|+k6zmuGEGu>c?+-%Ttc?4sn{m^K}!uWSpkkJo>?0NU#b6y4+oD6`v zyYFC=x+SQ%UV)T%)=+RM9vY_ylEa-ZVb0)s`0Ek_r)_7`bz6VaEj5vFxV;Vzdg{~T z9lEeFH4(yBYmiGifuu61n&<@8(n>i2JSU<^=WT1}cvPA}?e-Ela3KTwjp|{hHh^dk zCA(FIh+I2>oLVmGx09Ine``w~RxzPaQNz-GR>5dQcy$1P#mWOf03`nGeHp zaQ-DU-Dw1g`+DKlcn3tC3Wmb0`AlP3HW?4Q4NH8l!kKky%#(_0Q1JS~x%cD}T{d9I zm9A=n%mX%zxy5|uVaRG={f)UvN7TXciX>9IEliGy6{C6cG_lNe#QWyOoO9N4%*S|M z*cE<(%HIEi0SBJI+5U3Uax@-)_-5k0dQ0YRl`pAP&g*H7JAd;L5fcZZv6hozQO%4x5Erl^Mc6{)7a(A*)!PKU_q}6 zI~X7N+=ACEuHwD?=bYX9UmDxoN#cYnjpGl9?Go1Ozm8~*v;@-9OgH4{dU_(b7UEs2YmDgrti#>A z>MQ0Bs4^=jw3%;7LKRC=^hg8WXA;=+jO0F#f-N&VN!Eu68W$IXI_rPpALnrzVto%D zsy+d+d*aNj1F;~&(*+i_3z_wee@Xkzzx3}RJ79i9fzl;2xre>GQOgN-g+ ziJ6a!;;z6@WHK~gEG2G_*W!4+pDVX@FnQUzbB3SR{}7AE7dAFVW8HxoZNnBh-f z6`bf}ao^_o_)MI!-Q(yn(;n^Yis_DJ`SfQlKN^MUW18tZ z@@eWkw3e4P;Viai_HP;nkCqs7fwE?N8nSRJ@7hWIeb3y68N|jS~hPi z8@?Z2!NZtB&Aam;^MpayfMi->nv5+)zG&?jPuD#(f^_XP;P0Hy>^Th#6@E%?U;j-a z)t2Htl*>SAm3K8~`Z6~epX)EQD||Ii_geUMNnO2W!hzF?xn6eiKrKncjSi)oLMTYH>d?j*Wml&vlt+ z--|(edq1sutFD8aiJBxW zbQXEYT)-Py7jVIsU&O!U2+8&=1~TXmhrKI_?#Mtzxm^R=8*ISpjLT3iodenqC$+mpG4>xl_D0>vAZK}_NbY)~44 zaFHe=VSXE)_?;vkW*^Z<{wr#(kzxbMQB;-dqskE$%p$@VPc z@0JTQn5(4gY!WJLoyDTf7@iznfl2cfxHoS2GD=4VAhIU|4LNI=8mFhQYIHvErAM=A zO^4a0mMTo&Qo_A%DoSvU6@0iG0UF;b$IuOx{ziX&e;_ef&t&J z;KCoTuryncZCosc%kO_Dp#}HBc5ETjdsvXJyXJ+jC;m|6iqoBMLb3gl6D~9i#}JwO zxSl-&+Fj}7P~0l;p0$t;M!&(@%IC7 z9G$fRjTS|tfmbE=q-1b*-OGh&wMt^Fy$wDGlp9au+YQwLK`_R>3=QRy@M|g*R&Lee zOmw-zq7ZF3d({t`t1HPK4FUm$n>kAd{yEP-_W3IQ;jZaS0q@UgaPqu02$wp6T9XA> zFSQ1}EqZ7eFU(nIXOHL0Td1hUAf8lzh@LK^#^y;PjA@}YW85gfth@P{WEOnm$nJYq zG5kdr`z(Z5rEbESdCg-jBfsGCynJfqD$Gn={g0VUp9TAlc0!JTD=3ECLERhoFgTir zO&dDN*4*W1&+V&3?W^e^KW59cZ;)hu)c=L^`xAg0@sQ+?AI1&2f#|-Dm;GQcj`C7d z7!N0G()2Ww4`QQiUL?I9Q?-HBnpqR8RxZd|_2#aO;z z1!(rFg29*uY4&a-`)$Xlf_W~OSC&ADz$aWNa|;DiXQ9mPhcqC41xI*lA55FE10*z` zb3LRUlTE!=z@1Y}#GfU?oMLaPx@{I~d|^7PxUQ2!uAL>%^s7Ka_5h6QAAo?Di$Ga7 z7=mn1!PY4^xOiC}{PZ8e_p^LpK5PZ;ss*r5?J#&~0+g;624eexNX;LnnNf21_meNz zym}vuL@pxFP6G&@4uj`TVlegd->ff{z_@rVl-8caE!)1*Z0~BUi=U)t?+9UFr#B_> z9As>#v4wK{Y>;diE@@4M`rVh{xc4x*5q=WC|MWvs?S=Hnf;^Hvd=U!I`Ql_)D~dlA zW+i`Z#}y8rKwXuGvDx1T`*O1&Y%&3KHVbp)7JHG1@>HHd;Z-o8MlJDp^mqqu(c8dsPYvVRqx-q%?mmaF%Ox1yGEI_oaFnBZF%bd= zD0u4I;P;Rm{QS5X{X{)*?8HM9Jfx4=O3Kh8BEtl0n8Kk;bI9fs{9w$=Lvp1!IrA$S zW?k9|d*6?6^Ov~LNj_f2s52Xso323iEq~Z&ei^1r1<10}@rn-D`=ssl8m3?@5$ybO zAa_b0vcCKz6`2gg9SbDOss?C-{}5^Cp2kJl&7}D77V1~2h^L47psP3=?9aE-r|Cbq zVs~=zu(Un$znRY&mn{b^MNuem--KFXL-gj21PtAlj@>@1aLfH@R5!`T%5Q?0x%2{r zEo5+74&4CXcfY_e zMu^$9cz_tKxQ{`TksJZ*2c%x$3Xz<7o$j)ThfQv_c);6$H@7(y52vqZp zCDlcvq_f|Y@yS>YU2f%=EWU_&;3dq=J@FnE-@Z&XPNZ^{>kX0rv;*K+qXDcl+zY=r z8z5vdl;kz&!ol(7j8(}esJf^@O?!2huP*)s?%8=@OJBgE?Q7}4E?pR_S&O`4J6KVL z8Ei_;eek#$2xtBL%I^rw1BW$Bn1OG(a4szhtUu1Af(DZKpp}O;SrJ1$r+=n_-eur0 z?g?hexpd3Q>kv4u1MAHaY4q6Diq7ciFvP0}1-}b$F#Zypl}Ulo!e{Va`vv^`lnAqK z%puo*8g$z!{QY0xw!Y$qN-szVOeN54uu!6)tghT7z-C z-_c)kg7({Z!N-+zU;~~74V`?rx-$@TKh$z(WGCXBBsJVu?|_e^_0e*QkGwC@qIER7X{8}+T;|94YcZSvq%^{pS+VIu$4|O}r$1Y_g;n-4u;Rh#x zRF;C}$ukhZ?}Vwg4C}J9j|&?19I0s~&=ee0q2u|3o8s0B?&Fq>;ssx3mdGT?-`b4- zrS@V~ybaqwS%)7sejvtH?sTJBG89y-0%MI6AW)ePeR`VA(x@cp;N1YzD&^U=yh%8@ z`!sEL@T9y$?wmP`?ve5$DLmU@hiCVPle-eq5InsSl610AZTKRw>+^xOy+zRaDBXC` zzYcxH#u6lX{c%HcBdxaZqMzgwX+c>UIdv=u73SY2fkD}DB+(pxI0d6N?dQxJ1R}rW z0`+@QN}|~?ICO?mV?TbDV{)84ExZaI>V{xDm%~FgOjK!=t8FuP{0;|_E19`3f z_3aunl=I`j#qK^;%>p^<61T(%#eDdr|r=}Izd%kRVRC0@vTF$-6Zd82=eB>uO59)4_VN6ViJ*z8^r_SfG4 z?3NS(yI1_+Y99z|#j?v6B+tV7M;-LU1zz^Z=QC_@uQi*$R*>yw)$mm4R>cgG^(6^-Y=oh@HwS}G zjA7#AMQrfP3jFrg8=L!q?dUncc62+lTljSdw z#w2aoD$Y2*b^_PvSO{942TgUoaMfB6yC#2u@7Y*LyOak8jj0$G=88Vuhv{;o3UWd9 zIJxt1FC#h{49GNhL%UaJP|V7L zD(H35zt?V&ECUr-)RxLQ1eaGN+@SO+Y_g2we=d>8vNE4Xotj8QB zXYBVbh2?)2L#N3?-14Ff->Dmt^n(?g!14rc+9z{TI$xCCbcBmL<;IBGpSwU)q?pwQ zi^0?P5#>}y8n3^y0zTFlgWP^Ix@oO3j=Y%5-nZMq-da|KGJhjrROkXsru$)Tha@`^ zyqp$_+QL_>9WcoNc)Q7_l{5%>)Ci*JsA=&cA#o#0%ZS+ zpp{EE!OrC#Fn36ZC_Be+zOx%pyD6C}nhe3Xt2REo*Nof0UgDg{QAe)RTOv}Y208t~ zV7o1aIK{o@{5n$(i(bglO9yt~yAn4PGcx7cB|f0JycyUhF&`Dd3KU{eNl$SLdH?VL z-CxZMQXBnYK)IQm^0Y&bpHE5Thf40WIw`E4^NM&{R+I9w6>!JV5ymD|D)N*rp>;(A zd9GIoW&xvQ-`GByD0mSAEA3E0vzLT^Dj^v=syIhYgz>Y+U33c>L{+~edU>8Y@a=jC z8SjHgj@>X`d1%INFU`af0ee_JSq-j7+QI%ocEzz%law#|G#S#W2V2K*STU=K>OS0t z$D7}vt*;Au%=`mG?gLOO`UlM4YBOn7p>V@23(wc=MjyMqQ1s?GJW-#3yufJKWzP>5 zBNgzjdp{_@)qsa;zd0Mz=dzu@64|dMt5|w$BO7xp0E|9W0d|BkFMC%p^{Kw#TUv$> z{5@H7|5>cp5^?s?tqJ6zVc0k)lRoMC0$#HG%-D2qi1{c9Z%%UHl`|jv+6dTnS#wa` z^9fdaSs2HTtOona7F4%XA{(ZcQz^+V94aV6SBpk^K~0w3DW}N3SDVdt=jY*m{RAjg zRR{6m#n6+SguM16DE=u57dzgdDr-*>wI^q=ed;26@B`8b^si{>y{hJuX0 zkrN(>jiAR~R??y-Yf@?#2UP-QaQ00KN=pi`eS3`A^(rzZ{9`vA}w8IPC%SW;%Ft8le1N-fA|z zf+eysu$P+-c4BkEeNhZteZB&0UO2#G$1>2`5_KkcORSxvmY@xP|Ky$z(i1zicHO)+)zUw?x^I zJ53lOkPOS^#F-$$ZSeAYH2MS#;+L2kXm{y0fZG;=wU>>v?h97fJQl`FUBaBcYC$Hx z=^gm6%Bc0|Hoopm#N(pXRC${M4A!iGn!#VtFSs0Ke9mC#wLkRmwphG9KMcYL%o(Ym z=fJr9 z71%O&JxWH7;g3@T_;Fi0ex4Ns`95#T49FJ}m%RiP_oU!TSwXCoHHI>;{a}6NB)V?b zhyQNy}0d>li@Z#jUe?F83^Th+fwm}uVYX~@tSiq6aR1kY{4fbd*hAr|1Fp{kYrOHvP z|AN_UU_b@WoGzr}S7Lc`VLQR&Mjq^%x&hv11VQrgYDoUm3g$As;JhXhF6c#&UyV(W z{$&6J2D@O~tO?rYm&4!0TdXW=Wiyo zdk$~;3m>Ssz7}FkJ;1@nAL4#31B?ISP@pyqBP><0=uR>!vOH``&%h_!KG2y%j&SJ2 zB{+QjF@%1WD^obE1RpyRVZ}9ZNZfrL_m^$r9`-lm5m9N*MOX_JTk661*h6hqPa!gV-kSa^E{N@V<2ScyY@%Z&o z^z^Bx%E=O(p6@!&?dA_Wvh^y~?dF5MAz?6C_%tR-h~v_meb~DBJVsA@LsorgA(&c# z+3QU3?w4P5#EdF_O{y7}Ld%Nc3D`ya_+h&^4X%I%h+vhAiCO^2qqt z(_3W;z1oyLnor$sO%T(b3|jV9kgEy5i2Qy_sLZAUa#TSRybokz_>*YrTonv0Z@;r1 zIZJV&kurCgQRn{5(&Rb?FJZt`ee_?@gSJMmFzVA?obh53%HOwu@7d<$fyhic5Pub$ z+Z4F{BBN-x0nqz=5GtK@#jTI!NlVZ-(jfDPSp9W|kQq;i_USnQp?r}3vjx`u{mF_H z$iP`Pm44KSr!1`{#~YWxncvYM&KF1yzx+#Fuk53L&RgNmna^mU-v+X&U7TGOw+FZQ zQ#uiF6K9CchHdd1VaYlZ>TsjN`1(K+?iY~7hq_L%b&WXQF;^#Qy29LIi3;pj73Zct z)Iy6lez3SDm<&0!l3}UCyxm)nO!9PM?T zKpiv43>JcABZa()SZS=w*PyZGlW|*IAUbTihe@?p(0!6HCt`ISd+lEs+YhwSEuIz- zEmeiT4gBdX{}8-##s+E(|I#;~g}9RgO=$Fq!#QIQag|L7`YcJnCmj#4yQc^Lj(wuu zId$YhkRf>TufQWF?(;e6*QwR+~1?1th^DufSjW~Ln!YUY-CrudHL{HC^gPg0aVBfqI2V5KJNPryXxw6DWIgB^H@Fsn$nm});=kb)^ zNa1d)-}H5($+ZXkScOxE0|!p7-sNO z7!&_64~losg245TB!{)Z>apKQJ4-N%lf!^;9iGu*McXR$~dVcveXob@*{V zc~Iu&@(k;qbmQp!&G7B0ICWTua6aFp-}W(3s)Lyp^J+%t}U5C+>nJ+3&ohXF&|<6o3-F)XMvT$ zD{_pQ6^SMd$x$QlK*yYwNOD|-Voa%!kwPZ+T}oll2vg~1$PpqE(! ziJMg5;_wMl`P`Lu@G;mTG!4z#eq)8TG#>i47OVX2u}vMz3h@T`F#+&*c{}BI^dyaL z>oK`j1hTs}l0n)|LLSP&fgSlcc*O*Z|2u>CdxGJJmN%Tz*CR2BA6Uto&%kw4ZJE;n z2e1{{3!O{1!<%+Tc>U)G1mHqYJ8Dh%b}j);riwZp6NI-_syH#Gf`!9>sMG8#5a}n* zENPTwQk0Y!sW%g)NE*QY>t|lbX9YC>EzE6onu38pzte#Z2jp`)MfT}zWY!#*!E}84 zfDgat;*`KF2w%|0vd6zs`SdAxH~%SZl{tKwn3P&Lur{}PN3o+qit_(0Mj5axKKu=D5bhtLo;DAD&X zJLh8ns&TssUx8pfcRI;^p@cRuovg%JapW(T!?}Z# zd2g0}B`u~gB>tH{Z2Be0^qa@SbN>?P={^E!z5F0xvjYCyIsnt!-h&i-37V4BaQ>hz zD6nO4QdX2XdSWd&c}T%tH963g*od0DRWUoMfqJ(-$3K?8si^)}Y;3B>QRxw$@3J@u zimL>H7$GP*bb)(Izxk&!hw2m%!GoZTM;Y4vy%)L%UBx7!*GN+Ky(R<8Tue z@i~EU*;P}mdY@R_aL4h`w#o&6eb(r$DW%@#<}kMBl37J^6Ef9$N|l?)?&q+1ad~C zf>=9?;ohz(aJ5nq&eYja5rwHZ9PUMaAE=_;FYdyQ@BDCTWQ>%Tw$WoUJLo|Yz+P1D zrTdJs;b-VU2wWzD76Ns&Q6z#Uf9$9E*Ix4Me@io>E4tY?kE9`9RSpXWl%eO@3GiQ9 zN`A}Sq$;agczf&!HXaFu;>RZ;(5(&l6GdSE=ld9)phdnHz5#!|WAI1}!1k{zq)b0g z7Rd|K+m$*nRp}Nae@TXew&%%cga_y@N`xA%zp&ykKQncKEiBTu1kR=ve z4X5muJ?Yf?g9R3bT%`vuTH~b)3e=`$AvyNbn6@}f#R~6K+*B?{rt-`ZW1qnLb0<4@jtZkxrNU79mE3H+gsu%wQF3@KcjJ{M<3^03NH`QZt!6IX^I(cr zp28IO>7a4zGQRXMV7LZR*f~-0k7qTpb*eqQIidz8s}qPtqdH?c-IQHp(u@bqv+(j@ z1u+Y8yv}}ksB9jHC8j*B`%K#>R3B`tcLR^^2Ff6_L0V>>9 zvUH>sjSe?a*3XcNIEgZ67N=fu#e1nFJc>MarI;x-PHS?wNvz#>n)B9o5eitT@Rc0*phal~BBmTB;C8P45RR6Lpr>CUH4LXQ( zAHM{kid!!|aj^?p7B+&O&N1lfA0}s31>-BP4%Ep?KqJ?gm}4l&G+v8_4`arR3iR(p016P-1uy%MR7BieEb6+#(@% zP1JWhXfd-S?13=N@E3)rF0ORBm@0b4ZUa^Eolxs3!d&R$V_cHtpl_uX4$Zkj57_*K z{Uu7U@q-mSf7(tCJU@V{H+-mfrVQ}(|3GuhUU=Fc1RJ#U36`}}zx)iyHuylba-|^n zeG2{g-)g+38U~>@S3pJ zy`8rzbv9jf zo-rNqo==3*`pM0-W^gg7BeQG|W5}M>=(f?FD#!Vv@DmB5Xc>TW4h5pk+7RAgS36nz zc0DcPbm@XEO}yy~tnp)t2r*mxoRlY|vtBlHq1;IuQk`yLjLLj2{Zlrk_EnJ=<09~E z$Pip+TH&=yQ5tej4CBdLD&Oh`!}YGXR#%)0IKF}#fl+cBuYz7`KOFH{$M9SYV4z2t zcPJzjqXlFBr!qZX1Tbyg({2cGQgh2YWLE{S81z*brurNXe-F_rsXZUgACSMQwZ<0XUyNrZ{ zcTiPDFZ#=87&f&3A%)G_uurapjOXv7nZ27x@pDPCD{UEAHp{@oyh8e}N(Xcl;!sGg zg}uoR(4Q|P@v8O|%sDs4D^XJ;!7ib!5$`Y2aFn4jIZB{3tDej_Sbtlq z5GOgLles}e-1({hgJ|g0mWI0EH!!xi83GT;k+DTmyqFc^ME@Tj>*fH=QB!B%$S_z~ zt3yIMx>0|%CCr|5nA9DrW^FtBNVNWKd|Q)3H7px=yYno`vKd!-I?I(f+W|XV(k4wd zpS%jk9T$RjkvkdH{leb5|C#E~)!}t7E+AIg8FYP47B=)|;qF&|jl&&x@HC1ps;s+yJ^^W-wxegS7D>pTu#APjyw4$1o&Dgo#wO|um6>U z%;5p5uJZuteKnBe*Fz13c^p$;jAkPnx$2b)+(T9p)+MaMSw+cYKynF6XP+__u$6@9 zMSVP#FL9*m(@Wg-Vg?sKV!#OxF5n_eMYs!AQ#i$~TTo?BG^C171t*=0#BXsPd;WR@ zl}I^O@uQ3gSh4E zn36$jrh2syBf7*BXl54FBv`|JL*IYz70VH^EI z!BMsq`cBIO{SuFrO(tAKTQOmC=Yg}t6S74xoYrccgzs|%VRB3WdEwbeT>C~rVqZ0U z|E&QBWxlc&X_IkTMTx?nPiv7W-@okn2uL{r)Fy@v2PHe`%nV6%X3IWi;u%6ZEaW23`_|YRx?rEV1`cd-0iTCg%NXTzuJZ1gu|_OMdS6gNBj-;5&E(+fGKKUT93jZKe5(EE-Ag61iJ@U*>fN7){Ci@4Ki!RoMj_yX+Mr)%s}T1ose0^xIT zGH>qK7a|^61uN8_ktiDjJdPW&^1vh9E58I>RVNu=4-^9}F%>X>eFow%ocFTw7%@0= zmn_j!CHv+lQ`hM?@j`zY&L6OV`LVK48E_e{+)kio-Y)de;7-iTcuQ1H7=z~-6A(QX z1Q-A0Q`zfY_-1ZBS{{tVt^X;J_bQP{6A#e5ib$eZ;X_n$BiQw-5!K#$a_GcP?3*8n zYX%WNFL;I_+r4pQ#v*K(Wd;2AWwCgv4LIzY#8kD)!T?P`vcE&@z*|eIFr9A?Z^`bB zyy8cQ*0ZB&jPPO7?0p8f;}X;>qXVwfK&TIn2R{|1vM~*HS`(oGTQp|gxT>!dTbVsdQalMp3i`p-QC1}_Eo&` z${gg2U&2;LTPFG>!_@i4lPA69*i&$bTXXXcu70)-FE8wX{guji?sPX=HLn9X^EEKL zdN&hdX2oQjljPlw_=9Wsg}A6N0W{ft7L)#50}YXvXlG;2y;|9ZgDL0H!s!7dmu+B9 zo>OD83MfVuQ|bM;y^W zx|yc)8-Tv*ad_PygIfdr@oL<9h}*o07aK8)k@>p=*MGc&4bq?4o^Ka0W|l3CtZRa< z`x~j5uOi3$89^SFc9VT&($Letlx_(N#ZzswxmNzwq*b>K&z{PpVKqna@TqxdsjG_H z1|-orN|$DQ5rp2pN!X_GnAV=OMrCaR;Wop#@=a&i`uiem$ciZR^?X9>y@SAT{xhg= zSqOWR)nH2}A^HswUMkKa&&>z#?h7!nRv3D+w9(3N}fYBx*rkiYtlR=f!%au-Xbi>xI{h>8+a>FN_K=wGP>%GAa(8E43?4X zvW8IOSL*X%y;3F>Ov$5`pJVWqj|`VkB!{mL`hla98=O=MgO#t`AULp&WXr`7JL@`7 z9jOJs@nyK}5v7WS0^F_eS{zDMA`MR}A?L6Y^xH0D)w&6ISUi9s8*}pRW&!ctQ&QG5 zN0jlDmZLO5hq(4+(^}&xAi;kFgALZ;w51DZ>Few8_Q)DIuX}@#WCF@g18`j-7woD& z!Og|b>DK3dSjfAG4pWASK?TCBe_6c$Jr+6&zmoICQt0V5QhG&n3}Q}x1Xk1n`PZm} z@l-KTjSr(z6|YEB+9JZIt_JVsWf2#-WYnv11l#xoIQ&?e@pVan6%G&=#qR&|C{}e9h_Rge*T>V z2L~=fWWzX&6^(#@xe(*nr_LC4&Scz~vk>xx;fdFJk>KP9aO2Y@IC|3==&dx6ba+YL z-~9+@3|k?kd>K6aml@AqGx)8bijVGe5Y>-CpipB3Hs`zGPRK5Bw^3zdXPJTR_c%IJ zCm(LfTcUN#WbRicq3-)9F^3-+LVxok>i9Vgsz+LZ4V1=;v#x|sAOn3q8gmD%TCs*( zMYQ~liGD-}IKJS+w^LXcd!7b);S0e(DhlLIoCLF_Z1$=n62n_`euy%f{bqTuuaUmQ_C31iB`DEemuA|!)#`8uYd zZ#g6J{y8X}HejlTHo!?nn@*OIgOngwUc=@4cwos=?upR}DCnz&3r!S!BI>wTlM6qWQcfD;M zZhaEWtM0C#VfV$EMXM(j~L*1evxxx%?s0l%l zc`Zi$x`2+EqTJ4JbMZ-62z46E{FkHYU^!hEbX*UkfMOUvGYTfv%LdsTCJUWbPJypc zkMP(m8|38Fk!`PsaS7jxt;hKJt3Q%lwH%AxD5QGpMgdi5u%E}x1mx>9(~IgD&y zY)_?!Ph#WGcUU6^D0W|+D{*~}SH(lg(+kIl;jMO<CyP8fU6Z3TB` zP8^=wC5fs1yYb9dDcZU{k9w{KC^oqX?h)Hynoa>s%XkFpWzkqXVNXSyTA^)p1lFHB zPn%+s$T#UrxcQ+TUD{qr-u8~*!$1|Tsnr?<3nH=5I|kQoe-A094~+HBM3cb%{8WFz zUi5jGh~|E>9M9kr_I#J+&dj*R=2?8Ce|`kx;SfGtwXq4i3_j6)qbc-PuN8i4_oml9 zk}-?_4sl|q;^D3o+Hyk*mKcYEbj7Z+Pt!f&j^+&ZVo5S329CJzb|AJkrLnP%oka6? z2^bm+!G`soc#8e^nob6noEoUUei`SKoI}O??yU9BV7Bw(ROqW8q7$}}_#t;PS235v z_`DM0wQdWJeN&|4TXU)ANj>y_JwW0Q?SqEZ90@xsfR}npSp!RZYTCCH7p6ziohJF@ zVGtp0DvsoRcOSc?x0h&T-GPeDAIRWX8SicRAd2S7aJ&Z++&rrvcwk#5c6>+rMJ|a< z%x>a29G8GqZhUaVG6ug$okLr;7ZYFFakhI_&^EFEFy56wyfB5^U$4P5Cw^xAu~gV~ zRsya>hT_YBI<&IW4Z}`-j?h_p-Gcq+a^!=JVz6SP5E%Q z#UuKC<{28=q5=1%PV!8ar@`^qbJ2mwGA_u=*?Jz1f5G}p#QN5pObZp)jm9&WfrVqh(bs_Y=@FFrN^r))w zbG+_tiBAr-VV$-lox)c{SIVu!LBpLW^U5E)=fy(k_-Ro7G=nO5mGd+Oe1T8K8Ca8O z`uWvqT$`7S3ts%72MVu|tYz(RV8=Yji{XQVdhrnHr42rvpW(#O_u#xQ7`-@dV}weI24Bny|qlxK5rhxBK3`m4lc&C=qSuvq-K zEshi~Xa<>WE=*O69MfZ}2Ehu6Abb)*zk3Vv7D#hn@7QvkqrG_G!FD{;oB%5mt(nJ~ zhD?#NI%9Tx8sn#$Pq$yTqZ(V=${buZxB@nSTQx4m%?Nx)4d+FYaESnLa0nu|-DAP- z^fGeA+y^H@W-!u;({bu;Q*L0JHRr44j4``|;rNd0&~+}5ELSN+vY)|mmDlK-vYHBA zJV9oh&Esu+Fp7~j*D&<^RrL0L%Ho4Qs9dhYD%c|Sr?_zr+mpD*tMxd6oD+n&HsYKc zs;KghQJ$+TrM5Q*D|J#UbiBX38shV!p>r&((~U6@ov5kRy2*G(w`;&9N`W4CH;kZn+jO!?f^X+EDV=7 z!F0JffEFLYd-}irP5Dhu8W|J+TpP3+n_tGyZUxG+@H@gEY~&6D*J2CbwM60b?7isa zSAhE+-EoFlFS#E&AJp8V;H^|Rj+MkyZL!IvueQjM-3}tSw7HZgvJB{b3Rv_^0q=y} zWCJ=1aqZtWoRuYmZZ#d`_Sx^G)oh#?*{k3Jc?C>~72=M+9i*f3foPl9OocVxLgWiu z#)il;KVp$M`tcy<<`ODCRk<|RCzdxEU2&+Q7-@kBXZ*67XS(n+Y)#$G45rD`y;SQ&EcDSN|FI$MP|Et~AokU3pkxaSU&cKINsJe#6@r(2aq?MX*Kd z5KVCVcmF@dkA!s^r0nY44V z@GR>gz2UwSm;URi+hwa!ZT%e{UuQTm3N3=$0V>Sb^kR6lE|3?qfe#P$U4SsfBnr>= z0WY8ei)6C!t;aaq_+<{re_X)$&K6?MM)d#N{Sy#-Z5wg?DZ(hW+7e-#E08fZojY@) z43ia#*vzPGVi2&CTwZ7e?;^L6rdUCCzT*^T>kC2H`=l6NDJW0@^DwNr6vcBMO@=24 zvY0y|3Ctg4XGuA@oST)(XObQ!Oj2ZLDBP%W(C0zcN zvTOq$_wuVCrzE%ny^pSg^kYsiblwH(%BzU@-VUla@R+o}zRNBZ4kZ$aw|L%9Lg;*h zAE?weol|bpz!ZT~&@XZT*Xd3rDE>557`Qn6o#58oYl*Msj;-&Tc(?DK|t*4Ki?gy)w6Wem?3BwPWYq|1itl1-~b! z5%$e0P+q49dwWYUbo&8(K-XY-bRr(Oa}56rC7k;S70&qWcf3=w5zSqSVcSU&(3*G; zyFCaRo^?RaJJ;Z6WiH%b&`n(1>d9v3KR9iMGw!s#Wc*7#5KbrLL&cX-Vjz4JEGL(- zy=yMx-B?@R#pW{J#AY4jkMN<6>#x(%tPAv9eI!|u`yUq2#k5C$AKD%frVDUA7QF2t zGG`ZK!=fl$W3Pz8_db>#7LSFuPa}9e4lz_N>+L^}`$q42h+tA&A}|%T&~ir$2F4yk z_T(Pk%2gN0&K=iDhX_G~<*%sE=8u%ET#w)44e*tMEcD#92UGP5=oXpGd>AkQ$)DQP z)oluPuc@X3tJWarvk;k|+i~8;0Ghit8cfYzkm`s)n7?B?QM27fP33-+K4@~~ZO~c| zgOfzb=S3bEI5i7*IN9U$y2;pOJRNuBEy3%b_F~;$ZB$BlL!WqCz+%bSK^DPbpk`QGgce+zmo?C@xrog+0o?dDR-E(S)KE4|BBPhWI5etOMF&2 zfWl_7xN@Hhj-4vQ@_*cVe?tqsSgj9%FB4IonsBS%Zsr<`{^iK?39*`@fO#wI*jqw@ zxcId)#>BM31Gj7#88;zY79_&0v;G(#U56=qoM@3d<;~V=B{2o5B&JW2aZ^|X?(a=u zQ_)+(>dpeO{^`8sOOnz1`)|aHe~oR7<*|IX3fSapqxGA;OmCDJBYuU0j>Q+?{`4x6 zn^%AhoH7V&%p$I>2XOf6G@AZK8zNin(A!F#X`kK%o~y;+<7o+I;Dj(L{@$>HThf#Vh7yGO|K*PFmektAAJYo_7&jZ^w0Iu8>r1c z2e|xDm&v zc40tS0rrkwEYn-QnY2!Cfx8pokTvNQgi}?VY*B@Q+ZyouE;~*#T9CWGeLZnmx)2{& z7~zu{cZuVFN?>Sp0`B)nGv3=LGs3I{{+gl#*6Pw++Sn7EBce|wXIE3{k9l;OW&{*2 zD+QFdgMgmP#BRYOp8m6H5*4gPpYvAYf5#Juf^Z&W=c<8HbqFllI~zkCx1s-43$)CM zVE4cKMwN7CA=|=Wt3(W07bcFCv-r{b%2fQiV-=P@zr`*xyGM)m%Tl$F$+VPz0Y*JG z$7#Mj7_GA?+^L6$7NEQb7ivq<~>gKX7y0$xuxK*8#0GPXtn zI|o1DkX9=Or`qB1?~(MJbPxULb`a;;AE2JDwY>E1P*_}_5AS3a!iRhl8Z@yFTUJcx zT3+_BFO6&IXTjyX@EmjedftoHOnjtXN=Yyp^p_muu96)VR?u_iF7Yuh$Gp=`WPPYI zt_umJ!`HXrV^v=&Ui6U0n-xP%!grXM=LgT@ML>_AK+?q+$h*6X7LE;&+|~%z@MZ!L z+Y+ad) z%A1F%=;b9~p2UYez8gw^Uf~F@CXkfJb@JW`xzlgUPveVEMyzx3ba=|wPgBeJ;84pb zoT(4xxx_x950*EewB}W)-gOl#Q|#zcFQ!b5&x)@3szBbV`oX*1KHw^4iKp^+Vc9?# znos^_{6nrBE=$Saa}tcgd}}epCzwjs&1MId%!7vo6uNIMN4^i=>CMs!+;t#|XYMM? zT3z$Udymc{5jsT=ynjQFZ)m3Wu2)Hs{(d6uq>c+CBS^K|22?DqK?U;>cKVz}sN}&> zjT;d#Z!ncLw~2(^KUbBVjgN!Ds1*1$m_`47w1CSw*LZiV=fZ(qsidW#1&#~ng2%=X zFp+&o>qt6Um6_t@`B6|2z8`Ms{)Ij4G5YmN3)%DNH1DiH0xXYHf_-}np~-g>`P@)U z%!ST@T5&LAbnP8=pR?2Wvr7mnz6KQAe-IkJsKDt@*>KaK2JZe1fctMdp@`SX+J>#d ziT4KBe^VUm)^%cBUk+~B9FF;M5l}gYpS&LX_ZQXLOrPmpw(6Y##J3)S>@$&|!f506 zni5>Go#4*XiqNaP8*93^fs%kc91ZUv)A$8p*Y0iDIQ|W$4v&(~xJ2AzG@qMPK0!6w zts!RKSy1?%MRz^^Ko7V4qm}s)sAhW>7e2H@(YfuQA?t;g&i`{Cb#3OLy$Q3anlSGt z48iM7I*naffd(g9@a(pOAzdp=G_d0m>+!%F4(+3M!p$0k*%gjF(}pyUcJ0P zzO1f=sgmhnzO0T2jBkY1PHm*cT@Xf_f79Hh0%TXoGSYawfTyr|xa`ujL>M#50J)dP z>Bg%sNR)H|I3+v<<=hL=aO%z8eN!6ry+beQ?P52`oMZxD zhI`0E$H`##TpT>|3&A8^jxn^hVsiDxh_m&kf6m@S(jz6o-(@B6b!3x;;tgbx)Dxad zr9YM5RY<2+yaLxuac1e1S4ORL7R4J2d?3;&$R*>_NsqX5y;r^(e%53hgsa!P$BR;6$s)qW|3Rh2sdj&U-%S zAM7VzWc=W=U;#~)JcZ3NEAdNgN7-Y(^R&S6*s|t6Jmn;2XH10nTdoE2pxDhg`)Cyvv9U)9UfKJc736;w(P~TBKyzyO; zUXBmIZzoRCRZApEkHaxyC3OP2yRK2ov1!QcFd%WJlHBZG6>`^B5N@k|BylJ9($Fsl z@$OX-Z17nJ!_!P5Fv*|P5=q+DE{`P}GU%6~PjuY9i@NRH3^|V4e>)Q;G>1l$zFklJpGyeD7yX&c~D$O+OBVfHEXkozLgrz5ZQp~ z-}#N3>d%pTOO}9J)K@&W;U{sgUk!szhM;pdfV5R-klZc@aIHHFg6^BiiBlh7@5aU0 zHvE)$Pi&+50ZAZo`58Gdh`dcX7kLs-`QT&(hjmw)Kufa#6dX38?_*tDoLGu)|M}v! zBdbxj^8vf6JesuZ2?i6MEFRk%i)qvKLnXPMS?0gYS+jf&I-}8$2RP6wR#?*iJ zXD_f4-`M%7>2%R6A24IqgWut3piT?Po3{(d_mNq6bfzIpzD3z5g_3Z-EEK-wYz4*4 zGLqb^e;<6YoY@`u#U+XnBpdc$as z8n8??J7-A|bsw)K-%?jYiSsSvMCl5$;X;lY-%&JDPq(8_|`)u;S3Q#wohG#LTO|&n}Lw@D$$OWo$_Ay1M z*@l?0EDs*F1wd4NIy9tjgdKjjXvQDeQpG=^fReQww^PJ{(_sWSlD?C)TNlCI-|xxJ=2uYv zdoCjozKaQLab;vl40vkYfHO6Z=|&MzPVR3N4V5r}c#9vf*|U@c8q8zo#7khAVLhZX zV`Nk@88!dL!0m`pJWz8C_gE*9lMoN)!~5v>>9r)=`7mZwzNJs;TKaqbH@x0Fjk~Hf z6|cV(;dmQobAdr$*?WePxa49nZaWx3EEXN4ydo*aVQM&diKpYwa{}DS)t~5=>}*W1 zo{F9;y&!l4%UXV0gtd9U$=H=t-sH1+uuAqCd|Q!#6ZZ?KZMrw=&6MNT)im+OR!)PZ zA#>UxqEOVJqjGcGzoC4 zz%q}e&6+{*M9UQ3c^cujH=Sg`T@Ta~vZT9=eaREII%;|+j8L^qa{rzX$;px7MW-~A z|D3Q9x&bLlC-G3vJt?aK*v* z)N7)emlG0#cX1x-`Ky!Q$^Uw1p(5|Z7l7+oZG0Xtsj1@FBq$mU+97Q4dACW^paX)(~P>0A*PtQ1N;b**)a})=R5%C&Yre z6+w%+OWgvvaB!T+t@@4|M|R=Mm;BJPZ#h*Dp9;(8n^V2s{n+8gVu-Iem*J$$eR1r= z6`p-`QfCy;MRW~vB#xf;2?K#2lTg8Q4ZK<;3&F;+@Fa^;X9qRz>seuL_kcgHQ!#}D zj!N{NvpSqFvBfIihxAUH4IJwi#>zi)LS}(Hs-E0|bJt6uq`EB{+o{s` zk4;eTeL3m7q70WSQ{d#UCg?5ch6%2WJiYLm7#T;=f?Nx*JSD`Ooe&53+{Y6+`JQaD z&Vc6`xp4b?FsSrLQq$ebc*!a&Adu9M;;wWU4jcvD8_zNFoD`0#NWlKMWYDpl2KGY> zz)-db)mPP`hQTB*W3Cw~Q|<@ux*k)aHHpd86a}Y(Z1^KzMowPHCmRDa*lXEQ_-0I- zE0$S^Q)ajF7_U+?))^0cGNYt|Rb`GkPh+y#954{u2}?(|L3zbbI$ZCMzgO_^_n!$e zX}S&337x`-1X;kutbI(!yep8r;9rh6WrDL%5ESoqz-Gg7x+K|#*2bp8)8yU2O08f5 zU!}95f_zM!yB!Q~Z-7bpm5~0?9ZGaK$UCe=bDEOyq3#ZPN#G6ndTkIs=cqB(DoK>T zXALJhJfv?o9b(tnhT4WcQgtEq@LQItRh7?c+qS zVixMGN~4aK(t!+KSR%6MH8ejLLY*&5Ij?zqT;Tf_9J`Q;``x|~d(S|)Fi#uX-527G zmK2nlz7?Lh7sBOTg3NB48)#g&k_%2=26OC_iG$M*l5;m3xVAO$Zsu(GT%86kUW$yY z^=u}vyc+Bm?|`o+Pq29I46wgg3QcsC`w8N`VEbEd24@50>9biTCV#;KSEWe!Q@Qt$CBN<=#))EVmQvduKuZqqz*& zcf%3BNYXfOkkmLnC68l&5XHU?blsY0-k*ymbeE4hygk?j+KV&bFHaC;(_gYB{lF91 zUJiB2C1lNc1$b=tkzB60M0O1Q2XZ#G@Z#QCSSj_Cx1%iv&&svYrhOYRD>MzBjV6P- z@lmq8Aqj?~hp5Iq4Mx0oJ~Plg2o|5K@%Hr@sIM->$=ozC?sX{yx^p>Mf5C)UDf>cu z;0)%ox(xHkHVTfhy=BH1ldx`j1D40tp@yvtoC#Y9*6IsLh{s*t>ztj8+v_%XmC+1$ zcdUj}i!$M=W;EvfK2NyU=WycrdBBlAQlBD=ZO5;Iae5%2V-`FXmBd+O?7>_yxTD>~(TlXEf z@D0Q09keYRA~$~p!11$c{Khmc742;hrL=S@zFio$x2()Gh=ha?-sikc zlr%*msb3ms4{6EXLb5U%lB^;cyw7>dDp4|uv{XhzN`;o<>-!hZxu0`i*Mpu>+lYRf z0{f)FhQ0qlhB^5w0JnD~VPsz-^20$O^jQby%^nA@i7~FT+5s8n4P=(Zzbq~&gaI}k z-W*bb5{)m6*GEz8^38xexfz^FxCL!cbH!f^ok>(u1UYUshC#>9;*N)JDmpA3K_<){ zE=~`_C^1>EE=<7u^0z4QPKf{Id>XSK{Kg-7_sF{V2N2ai9tGu6@u5}c4B$l%*lhN~@oMZ0}268X&sVe93u*xu~H z`&xX%g576ul4TCrGxPyYcrOC6Yh}3dL?%w1w1Rl85Q2Ble>1zHHgI2ucVc7B4Q93F zFNhhOz<$wc1gC5{c)h<5W?HAigOKmA@~}I+pYtD+J-QrsHOW}}o1cJ+u5s+wyIWZP z>m>HllF95KN7#Wqf^6pt16cI-AsKve9yZQ%uke|<1GfaO!9dd{I=Xct7|yU@^A~;v z-PN`vzBC1+uN=jP&_Y6kgFvV05iQ(PNl&>wqH@=ZsJhE+$S7R_C%+0q088+}RWDRG zmxSqsTG0PwlC`d9B8(iLP1a2{B7vF-Fx4fKq^th((#v5W&@V~Nc5kHnY$C`K`&E#i zxq)8Em7%hq?vpuMd0=Dro6(;zAL<(e$!zaf7?M)N#5@6zn}^)GR4Ztl+CqDZy~w@g zThR9BY%E+hL>8~>Cpk-_(Oh{S@yM|O$JDuaK+v3cIYn3OwEj_{zxzjp&(VE&Wz#ln z^O!*A_(VX^Az3Ijl%}(T>$yXpE1@K$gEW5>gUvT0=$zV>7&XXY`IdV$;r2588=nP# z{?S!`Qr{`y^XVdJ^X38ws|~}okDDR? zz8%1|KjdotaxVS77P+2!kkc&_!k|PEcB0KqFn$#aEAPDn*W>5Gw^NaoIyXcN_nP3I z14*z#?kUrM$rPW(g^)5vniWmV1D|)gWZ8crFHQPkhU);RB%CGZs_byp)+zLj zVj3-r4?^!^PsZ?@D*I~vRQ9LYNjkkh20rE0P-(mY;>Q0$glHSdOOByEa?!-#Q7*P; zoyA?gDxBro?J!g)h>upPlM&C8PriO=*log67-k=1>Ty1eu_gQ-7m>m_r zMd8B7ImB&^S%vk-Zd@;a2^ZIgR?OI8d*iWn8vS`d7WVo}K-j!!xKZ+iZhyW7@2*O~ z9mzW(q_~I5KT5)f+NN+Wqm^7UGlOU2ThRHsCCbJHU|#1V^qpHri$8ed@s_XL?w4=q zIFSr`XyPcNba@%Rkxs;fL0?Q*mWf?bVtmxR3}&U|R(iQyj$FzVgp%2VGj zWS-O)A|pQ!Uuuf*jqmRx>=)<1eEZi??}{MamWR|eMks$?ia+-36#13?1QPCvvVW6H zz;@yZZ0Ql^x!m^ei}A_y#7dp2gmX3W3V(MHszHl)t`W zIfhy9$NoR=y!*9YY_awQ>0b!yhi0)!4%%#3Mm)H_+XwtDeH5|@!grp>@X}QaT$Ve8 zZvkyk; z!87(1*Ba&6*jqPYd0rEC4xYqMOM-EZ;6>CGP9ozws_D~xckrs4KCf&!kvH{?AW>Cn z>v<(Js-l2HD%$+JwF>;=q6p|b*aU?xg8aCbV*LE|qBv^S!`x*iQvLtj zNF?}h8jtZrCB4HIq)N69oSym zOez~oapTrMXeDc9Wy3YJ zQre8oQZg7ED~cxl?f7SR172Hqfc(_f<^KvK&`aUd@LJ?;6tlJ@8>LUtqr2~LKitmJ ziG4iH@;0yNl}jcvvZJIutBMF;4^&N`~eKX`ouZO`q7kHu}Y zJM$zu7+k~sA0p5qJr-}=>0p!|mE)GWaYQZ!@$J?Qh-fH>ysT2tGby8&Tc<$b_`_UX zKc)4*9B{RbG(4Mq3T0&fanZa$6vW^3?Das{>wS-UAwshAHQyN=Vh`?v6JPxtd{Z@QB^LCSnv zSp@IsI)t*H`|wrydm>o2h6A_43eTx7pf$V^d-|>U483>^sStqQy0W};+it#n`vm?^ ze+uq(5k=jUQbISWvGM~`LHDgG|7Tqh?MmpNdrPFOA2+GuArgxbyL6$^dWLn+`QvzK z>wY{jw3WV`xC6g@xJtDDlY@h`L1gN#h2-I?u<~cP1s0$mL>_1*UR*9rX)glJSyv!m zIGGyno;i}yd@LtT5gNZv}xc4V1JrzN!&lyrzM@{^m zP{bX2G56oTmZ0GZan#MtL2Z44vX7O}f=*%MxIf)+1bg z;ed*V&*G0TcNCl}1%)3MfK9bL6oyPko2WH#q{foH?0yWKYP{i%?sn)~yoNDdJI>sOt?>)*pvOgVorgJC3)o zQ0Gg|;~?-<5r6 z@UjvsY+exmHXbsBOX20bgRI?%AZt@M4vMCpqE{{qGiSvEX+;x{iw)KId;8r%bKn^q zFVkbAhW*%s4J~l%b{ej->L$_2nbb3LI~iyBnB3CTAYo z^Yb#m_vivxe=iRO{BNQjMxk| zDm+?fjiY=yH4navaxWI}Q_g5JYszoxdU(Vhe`LM^|-V`nJ>4K z;ky=pz{Q#=z!%+s%AV5BPBh!rTi62Pc)%uWm*Sx4LyZVrad6Kt_*S{qaocz2J8CO)$8{2O{t*cdi-Q&iIXE(y15Ww#aI$yX&-(K=BvvQDT^_P~tqxH7@1$6a7N&0U5qJb&yywy8netxw$>c4mZ ze(H1CV+LaE&j;FUw!}2{w51fA89PEI`k$nBF9mqXV!hFpPD8`{hw^Q?C*NU(94}7CP^*3`Hg8wuFWq^F$upcqAsY_gqDCu>@xQU>^odg>r+Y~j#FKNu%>O>sSkypu9?7!Fck3Z* zcM0{n7)6zKIWUiw)N&Ws2hojPFUTt^bMOtyr&+VKz$fD+#Eky;k9&t+@sbKyckemuF6)Kgr{03v*aXm@zJLf6 z=uxZ3Mr5IqF$CRuz=*|8g0mmQc-1Up{D+Yc)Z+^}EwiAdS(KgW zz8x&u$1#4kS7=|NBA!o;#E3tYaQM49H+J|SbE)nT3@U4Z$k#{^9*~1|`Rkc-#{uFx zS(xRoUj)}qWj1jwgM3UE=AGU`+TKgyJ^u#o%@R3s;O9khNo_hR2n5pN=7$iy@Cj@Q zDuuyI3cS9pB-ZzSf{?u@7|GjTVd(u0T2c^1b_z#Q`dSnV=`Jk%{guhc%7b(Jq}f@^ z4Va(hPSiz?gYe{Th-uQNqskuE5s%&Ii)|Fwe2XV%BKJeTj2*k_bqq+kc$flGTTI`x&hN>O+;%{xa9UM3I6G z8;MC{Bo$6hBXE?6JzpR$ z)E?)b2t}7H3s|<*A0GaRfMX^RM8fweL|mK7nkWmhw{1#U>)EGRrIFL@=q>?lnsXf| zzJE=`ZmooU`zm178&~V5f(9~S{HOBDHSzfJ#VkVlUEo!>GNh*|z}UKI(2Qjual1P1 zzO9F|hP;7{yhLXQ8D3L5g;%Xy&->hn;gy%)#g!Ax+38LD*z5uiST=Nu`Q#sgwz+}j zQ9pG!V)P6}qbKm&N(1?6yN>fEldEu3z-us=6vS@-`~g&+N`j299FtVp&YiSKCOH?B zvBV*q6b|bFnJEB=Lep?!a@|34Z)iKX zu3rFWPnUzP-4z-U@QrkfMU(HtQ*hdW+gw@I9y(%}K~;J*>E`$A$wT1~*e8@}t=AO| z4nGa>(6LM8(Fq}Xna;$WlcsYw%&sxod37|p+L;kLx)beDj+}ZUi9!ow$cGX#VDZHXzYV5GhXdJlRUcs+*dx`(j$Uk*9;-%`|;Lxkb^v0F% zBqAahVgo;L5rOkDIxq_h3`5XFuN3>2t>MQ{UdE@y^q_irGrY%gndfUv_#?;M*Pae z52>#7!|AUidx;><{O*WfzC~N_2yUZube7T)^(@Mj%fRZB+Hh`D6fC-V0t5~x!!u49 zz19vgYbU%S^Y!=Oa8|? z+ken13uAQIdV?Og<%I(8L#a~66l9MGAv1dcy|+e$wdpG121f(&O1le|wXMWS;zjga zVHg%Io5Q?5GZS5}DKqFK>NAbHzf5OKKyngK^-TaE)9qi3jt==ZRg&JEGlt z7xVnHamt%W=3UHIDxNb1+<)EYCf23UZIzm2>D|}xvdbLA4VK|cA7wuH{~iw8LfcIviLAH=YPY#z=JTuc)f+dQuyGSDyRM9D zg;!I9DlwGGo`mfhs(=%3(#+=?FwN--l~|>Uwez;pz`#pnK}aa1oty}t4$8pHN4Zoe zJBcjqU5Z7UzSAFafQw#yuZZIN$U#R@49}OtsBlYSz0ZiKtr5e0-r2OK_d8Kb-iS-( zm0*Ij3Hm6ualeeiVd>hp+)o(~N?a`9qvARyct#x=3jIntJ{}-f&OX4>RgNThbsPqq zxd^}BPJz|KiA=szJ(i^#!d#=-oL105h^%S^H;>Q2{>z$D-ffUvYr`tPdj~&vNwX{C z6N&DV7|1G824;CMb82o9iJz(grbLaMZYcq$b{Vq|nP671zJiSp_GIl}|FF&!yiP** z-5>$lFM#RY4~rh_G0r!%%Z*zKP$eu3&L8$>T_5jdZ|qQGE$b6OM|~|co{oi#Fe|ps zyakSYp%^0g5yvN8BP~Il5H(JYHSli$oeoLXXJawczzJ}5k0fEaiwUQ{kft9gA&R}l zcvtELbm@wL9dC<2UndjXER1J9E+w^dl))m4z$!R4!=ffF+)SX`A6?;bhjceQA#Mb>H98DVd$AK2?+Xq$P zyHAqa_kI>AX%B$R*&ulQV~VxMiv9HT*6Ga9t6B7w{VT3HH586HB!S<6KLlhN6Q$yX zaMkTQqo_2FiND@PzFd@oxA>HH<>`QJ>@Ct+`ELgEfg7(HgNssxcp2eVwET1zA_c}V z>a|JGw(2r2x+;q;_6qQMNCTxN+{BLwZv5)u1YXEf4%ND6r_-H*sfAvZD=du@9E|iL`;=jpBdX?1Iq{8RuQamyL3@Cfs zgPrKT+P=gk?LTn7d>5>goWbODF=Px! zz;IbAD1Lhli`6ZG% zFsGuW+~)jit{^oGj^{N1PC&80k=G8J;rygX2v_Nb`y>B6`Lr5Nxhe?TqCdlUY6^!R zKZR|L=OAx!4>L)piL4Mm4W|M_2|5jc=lkz;-HWsMUN{pj=#?@HNit4Jxl1Z#K3YG` zN+Z7}hC@Nzbh!LegUopyjJ4a2(2J`kvWFck*p|pFI&HTY_|DZP8&6ddlW*=cYt;l! zyuu!bPij#wqQFCTDq1BfvBut_Am3Yn@#^x-ucip#Pi}^}LK?(!-+O#?J{r}V7x2%; z!uYGV6Zt|7ZT?XCPJW@H22Oo11Ba(3k;{%TH$L@TVN5rtpw>Bg6kjrg$3y)2@(-ze z-q%#x;aE+Y*JV(>#$WVXyCcS)&LJ@IDEG^6CCL%_O=9je(52~=vx})k&$15Ax%fK9 z_Pv3enH_M)p$)U9MBpc3W2n291!}9#LQn4o_Q|Ab@NLy$qmt4gFSiPvMJ-sLC4R_V zu12YlSR4{5q#HF3!?MvP&|A}4AyTuJ*eQR*KWDVDwekl!Dk;F0NHMrrY$1x8=zv9S zHpv+;On&~$xIWDwZ!gpM_fU2??WL@Y|=E&+i+P%RL1@}*eh1RX)?}8d)xyzfJJE=@RAIstT z?~LN)ORjjia|bm`IEr14ZKQM0N1{E@Ob_Ymg6Nu4w4{rLWtzunY(PCX|4uj;-m!^( zRVgO#PnhC{=}mN|(P{3ZumOmQ$l`OuM`Zc;x3uZ;0cd;POhp}Xz+U(}WHuLY@3Ug* zwl+(;q_LcA%ub^f)zb7>`BxgTpoUsJH$m=UBym+=Nve)T)1wiR;5MO|UMSW?3x(-0 zd%FZ{6!ynTZNwHW4fXNwFLQjnm!Vb4Kk;j!Egrm>MTK|V1Br`wAff&u=Ui=riC){8 z{80%^5dMl)X~)s~vk>2HW6X!9UL<{cn^4{H3w0T-#QE~eX^7Z-h?}Q~A3I;tdmB`6 z?a=@Wrd@|AeaSg=o$f&n=3GL7$RFfZML#Z5R|EHg zM^xw40{U!YISDW|q3a&Wq4V})nytJa)pt(EYKwCE_HZ=kldHj$*505;CNxrojA?Xk zPZ!-7UrSqe+~aHv9x|0x(P(e)jDi(M=wqt@BJZ7y%-i|6aX1x!C{&WB<_*Bzb0sg8 zUeRs8S3zX#bZYqMCv0RSSaW?j7&KwP)Il3Y$0@-MkIO_bDV12{xq)hZ3AaWi4z@p@ z4qLNc!@$%)*u?C`U(<%DZigjtnC%3$CPidlDS>NKU0_XZ5vdV%0~L>roZ#fir0E|U z8hy{l&;CtR?`9oXOnw3ivj^$q6A~m=W(|CU7wBC4l8jfs16gf+#b@Bc@;%(U3dX`GM!}FB^&0hrxmEHO=m_P zJHz@*GVn86ow@i#jSuNw%kLgCz#E6p;a{Bz?3DVyL{`3+`d(Edo=YMt&g#j*Ou0~? zyC{ju+s9AczJ=F06hs#VokR7JpCEEjlnr|0NfuRZ1-sA+X7ZDXP+Q^+N{O8?eVZ~W z4*kMr9b**SGYp5+6JTM3FT8bfgvC3xVXNLp>$xr+Sc-+3aO~ z_-i|vnz(^`t7HsbTFKm*=Le~2nj2IfUeET;TE<@YU%*P=c}@D2HbK&Y9@=C%g+B5! zfytj7sITF9A~iC=DbA|Lm=6~rBQuVzO)_Q!y@O%ZTp@H*lS7k8VKn*uo<3`c!m$T; zF=6i?oMW;A!?G7+Y06Jbykv}SGZV1kSrqjgnN3AYg7C+8J7`@UiX!zV=;$Xa93K|U zd68q_nsb_|vhc*Gp$g#hLW|vZxrykEyGV4*N{La(2nU)R`Rp#hUYO0Wo#{u|+Pk4_ zll@t?!oh@1I7e9bts^ky!w34OD2NeqhmuyL5OUgT&O$U?s)e*;-*0R%pHo z>)Wfy?p+;3oO&dYxsZuHUhce5ehS~=62MDU2=gcO8)3)CQMfvg4iELjz(w#boY{4O ze7Wv|wPr6cVZ?+V3QNNqf@jhAj}9k4xt$Dl6jQ|nCm2$;gd0sU@KfpuHL#nBhu-PZ zeLv6R)AC3*Eq4t&Kfn~E)5B4FayW@!*376c+KuH+P4rLSTzc?j0WpgAWZ0ZjczdG| z+dAElJzZ9avY(!UjN2zNqe`2mPP9eIq#B|yb9)pi~xR8W!FBmWY5pI49aFZP+Z{kO+gWFDD+;5u`l|W zn!X`eYm^U@J}IE&mTH_(_y^8ddazFnF2nc+o(%a0(YNZ!(3bHVmVbK((N;YW%tX-l zy)nH0@E)GOr^0g!HCVaw4XoCbVEFtX1i}^OL2<@M*#5u`Fq6J@|X@&ZZPHd939Bc13ixqLSfMqw8 z*d?gQiX2|fn0&cUOeJz~G?>RPI;F(p*L&C?R14qc>cGc2VdPlTO!miruV~obXWW-d zR`5;C#ComgXVR~^1-+Ej@W8-P(y1=M9t~g3ic6cYS*>#Hot|d0gYN?ojk6&CCmn{$ zsz_^{8FtTqM4zuAV2l#1*6wfccGhfCuJD(3B+9dAbpM0<-9^wR?FPC!Z;92#FXd+P z1$aq076;)09@^fBOShcHof;?cRi+uNVq3_XuQeoYLJd7`c8e*qbY=DkCQ*OyVHC4W z$3t0iJmwkm(VOG3dlHKm{|?hO+eq%q<|tGWl*5OqQS|fF^Wd(O2Z~iJk=8T94hbcU zV+Aqg`Wj5Bm!kC#-_l2iGPxnu0_%wVbI8D{0=V*Y2tsElz_w+VaKnHiO_*!OcGyxF zEee8#kM5I$v(#~sNgT0Sa}?CQ3rXqqQbyP9FuDZB;+9)(5GlWm2G4s+jKUOPdFdHK zyRM+hL2q*CVi75CNTSjI_MT|(g=6`Tu(Hk-)4w?4$ehC%IAbbpUvZCaTv9=1>HKbXi=jPeUNeyTP-fqanA-QpJ0oZ&s$^B$9L3fo(F$y zP6S`?X~0W~oc1AW&sKxt$JF`_P@Iy4#WHAHyxyi;To*NMCLzr*q=ewdav zm1d0dWCot@!*Jzk=(~Rj467G#i=X-74GoI4Ls(DmV%bQG9@Z;{uzoH&v!Nm7_G?{L{ z14@hR;E07Zyqf%-3n-XFe@gFyx%!i6_cMR`S$rQH_HRX+m?>J8Z+)z3Nc8{2r(lr89FkOqhKc)HX26E}W& zHT~{mjdk!2$GkqG&gg&4;A}VeXugd7^~;*w^>#j+l{5)8#bP+mO%q^NN&wh@uz>Do zSFlGj0Z(5I=WdM)gM2?Xw#eotdv9Ak9O#R|nz83J_pc1CKL3I_xV?ZpbvVcP?iyk) zJSVK0S1#)pvKOYQy`{VA-#~e=GaSEfkLTJCa>qUmb7r1dWPRKt^6^tK%=HvtgAPWc zV@n~fFLDF_He-y_JxPC;jiX-$7J{MDEYLb#z}YXd#o{Rv=%N*lne)0i>)I^q!|BVR zcULNQ`XMRxkz-0}HVNp~1aIMDVjVsiB-tTu6+Mg#&hzwQaR&bWmV=_7t?{G8A)HlG zO!7Wnq8K;}z%h&AFG+T6mr|3Y@1Jna>!%U!Jt5Xp|ae6_Pn?Z<4d$9+8Fn zC)50BJ>1_E1S`YpX`xsYUKefU=I6!3)3_kKFewoy&A3Mo2i>D-E4%2Y`IKHupHDlV z3Xwy4cSxS;R7U8G0sgK2fCZ;An4+V8aO$V!KX*kkS}6@ruLy$gx_=H+I7FYQpCe0h z)X9Gf&SR*pHI5B;<9{itWYArW1b#aP-r8yK?5Zu7cX~1XKK&J0?H~%Pt*=92>Uwb3 zsllXWsmv0sTr3ES#>f;u_#ocGTw0@svmXx=u{q8-!(tz-(3(N&w_E}94uTUGU%>lo zLh<`xB=*H{xbyCLdOE$BbVmKVjj_k+t3w-rH|(WrRG;IdnLn^gcP1|w5lbF!yhWRB zPSJS_Hd4nyOZ_pW`WO9 zN^Tud;?};@MZuSS)Z5MzzAe9qKgY)7fUyQ9Io+T^2JNI~YG_5&znjzIb}(Dda=QnI9s@O|Z| z9#n&WisoT_{dm}XcN;e72H^Myj?|>Bj*dMIMJ<;wJUNzvUAgW^zX|c5S!V92IyntU??u_h1Sk2T{=_o+C2K^PgV_NQ#>6j1tb8$AwZ)8`TM zahAvfoa^?O=06O>iui8q-m8iw>YuIs0|H@ez6qR~nu-q+4T%5rad07F3$AyJ;xxU? z@S~9|=AF~$ew!b~*DLmtL!lNZxTt`0`Id&#$4}zl+68FU@ro=PS&cjDA9L$k6PW(> zfhc1eh?-OWFoxHEaDCh`QE*Sjgk(1ieA&t6Bt4<8rZh0?H_GCJu^HHRB=HJa_+08WZqi+W z&eYn2EptCTZ>!|~*V!44b@pH0VkzNhOw`zW1l0%_-`5?#?y2%k2dE_vEVcBykT zzqOr6s@PHg9(`(?I~7v-2Ds}a2BwP%`{zR(`(p#c4&;QvL5yMM)>x6-U7Lu(&K`PQ z-Hsa`djq$~ZvtBav3Hp@G*~LIlgo~>0sT5)wnCfuDVWm3M<(Ovq5uDhtc8?w0XQ*w zDSwhVhz50zygDB10S$HU=iNBeHAopZqb;+N&J6%a#1At zKHfd0M5Ycu$C`wAY8N9yvHdW14knX(V(0 zbi6nxm~8f3OAkJ)KwFg?n7dP!Hy9npr#lw%-25~QFYF-SlHO7}X%}vq0}#f(Ag=e1 z5yjEdaP)f>kq%1$ON$RQxkZk&uUQK_IVrTfuLdD=$8pbYE0fko8Bi0e0b5i!Qk9wy zCsU>p`MbNpf9Wl18q`QG6ive>m2FThG8vPdqd@Xf4P={1L7ibEdEI0HO*TR}F7OoD zXtfRpO~j#jZV=tpMF`&Af^W`+VS!}`dIvke`ezN;Z|Q`B zZm)2=!(Xy}|5Li6C?0}UrQmh#P8hSFPa5W^0F3Ce$>VNR9QSU-|NJNMR=Qy*zu6Tc z7_W-wuA*q#ZuZY()zEa+9I&vmgVFOZiLRmn=U^AW>#A=-wc$v#vq(V|+ds5({0l0l zVNVmsN|`M-(YQ@&0W~^!50`puU~Y|s;;^$b&I~;QeugDPeNYud;^U}7BH*%F;WX#* zaoG0bC zsQn}#wSHGX)$LpqzVeVJSN1ZkZ=}eaYmCU}#Y`4%LhD zlXlPN%(v?Ex+PuoRe1ns@7PApWp8Eto+#pf_u3hQ;8#@jm>j=%Pc2?NorOmlHe!y< zU5q}`$hbVRpe|!I9Qou3C5_*>um88Up zavl=OWUqS>6l+R?xpELmUy;g`dMpM9)9cV9;s;G=5e&aHJk1S(~I zQ1|;H2$>6z)~_$&^c`c8-YLRflrv(yJS6zr%4zT+OdJy590AoO!$fkXG)US_Lah-~ zBB^Cd79~ew^zbnD#I<5ez*K1H2!k`3Ps#EoHz+fSWy)79MSX)!l(}z%E`B#*@Wo;{ zxL_u)UFnPa-}0c?B8mY8flwMH00P_m7>RjXtzFK^q27+O$UR%hR=wZL&Q=88KO%rX zb4(nI{`JON*FkRfY)P0moKFoRSD=8S2!G)93YdA~EnJ?Z$2qMJ;kPLr;y1>o;f3K) z>LlOKwXap6J1@+j_nn2jdcO}HUi2CtsG1l!%!7=@u_ za8*N>Gn@5;tGJg9>vy$+srPB735J_7so>UipXh0- zq27I6hreEf)ezicc+hd~pW7g#oKsylB4}e`B-^GelO<@sgRuf9Xw9-BM1(n(MfqvrOnhI~P+s6x zNh)cUz?kW*z?4*5xMI)-DRwKsS86HwzGjqLKldEItV_p3CoNG|=O^8MeM^P7aV?|F zreN0CF-HHv0tgLsrq@lEW38GZne;%M^?KtD>n`emM6f?pkL%)MKGc%B)>AZPejd4b zs~sE$IzXaqDY#5L42e%N*(*}>*y8OAS^opKNkmO37O3on{H$15QfdWZ+X4qTAM&?sF*tv@$$ZF(g$)6Qtmy*-_TlIvW}W#x3{{ZjA0_NX zy=gyToq{U+*{&T9zvTephat*$5!v|oJSY5YjJBQohEsD_@-n^&ROIqDawQ>?c;?wq zQJ-*_Wzs>?BU4H8=|EzlvbUVuKZ1P+reNBl0wA0!`z>}M9_)!hJH3s#wdyX+Ne`%S zv9WFan$z7wx?%;oZ(EvavY zGe0=Gh<~#16!NvrsB-)ml} z1h)FXMGpxwA+ruxs|UDn<7|HE>2>t15KER6?7?CGRiu5yh-!H|;+M>PGD7vO_ODds z*S%Hd<2HoyFRIP>1=kdC*?}7nXnm8=PmeL>;TP&kpQA26h!g5R;GM6N`3<+1@*55{ z;!E*SdhEd){I&Z6Y@fIXqEDpa)dw9^XL&5P{%pdG&Soa$%yM*?=!Jg*G+;(hHr?E> z1Ocw$OySBz`rob?`tDI2?t8u!m+X5+XGwmb$2(VGVcauRY@CBjj%&fGei?kQlcOJm z|IqbUZqfB+xwy`wk!F0{k4_$kF-qFbgRxrE&@Es+5x@vCqLPNHQ?KJYhafDsNvFH~G~uRB zE!lA`p2&*%z`%I((&#PcQqmf*ZW3SIP1Tp zL5J?pty>n;P5B;>ty@B0cWIOKrUClpcqg7eEy-sq%JHu@&F1~YH{+8vyNJlW3W`_0 zkk4OiVAAQmBxYU)_0L%ib$gR>)#cY{{Q3ZnpP<8|p(9?GNkIFenNYU-192Fq4g25v zlixdEk*!kN;3(|}Zuy_MZK_YH#u5|0H2fUB)tibMpKW-b+6$Q0KM^*(cR~3e2N>|y z0oC38uceY`>&JS(yIwFg`K?vk+U?X27z7FP*xkt>=uA?vl2WvpMc|=+hB9DDd=C?k9jICWRpZ8SJy5D zdv_&r+OgiS;Nri`%?O0M4^^qHTPEr`+##KA!Qi-G1t-!Cu+2LHwsHwCZ~dnIA1-h8fYukeaPPei%nELVxL`Au zA2K9u;}ZCu)zUn~wPDq@QnFE?nTADWa<5_p@z+jU99H$hC(AMzhZ1!*Q2!}yw+zON zg!2{IPEzc!S|V;q&Brxw6YpcHyBANvY zq!C0O3S!JBY4Xn79TYbvK`{$BYNg7@)Lq3bWE^W`ZpvD04`O0=kI*AhU&te|CbHBa ziFm#E1TVH3!cgfF`1Hq!-F04%jjCG!1HbY>Um%BMZ%(JVCnr(qFLKy+HT&%=WF=*fHYx3`olsgblFt1)rKk`M zAygG|f%Vg->_K`f;TL3{D$Fp;9%CX&*`yquL1Al(#!PJR0kYTb8J_?mmdOlP5n91KUap5a8h%E%>%4R5Nwty!~FXAf|RrJ&Ng2D1iyk!^g2gN1$ zDeen!(a8dG?eci|U^5xZH zY+V>bR*k(wb~~k$KUc?-nSF~%9`gs1JEhq-?Mkfsy+C&AAvyNUO_px$iX~%)ropbB z65s>ViB)m|g}f3HGH(&s87i{g5l?_Vz6DDY_EBj~ZK&FL11xldm?9SqDAlZ@Y9R}t z+AN>`U2q4##Omv~{KtLpU(s<+dVh-b zve&C{tacU+sr?1qwR^Bi#|(zw%!Iw8Ct+Zyn)}mWhcb0aAR&8*>%AR@vQJb{;d>)B z`2LV8y^n;rEqg(~ezN~2E@T7&F|P369eZ$ZV?d|1n;HABle+)PgJ5k3IWok+m8Q=`_EHVJ zY%Cz>14(g7}>5dUeobbmTy#7k#8>pdTI}9PJehewAmL)e`{^Jq~ zgSdx*C2&S&9PV;IM>u~Y^xGJNT!lLKIq)92cE1SfKc=Hj(OjfM*NOC<^Yo6(Nwjh+ zKsW6yqGHfZwDf}^I=38}J{wf2lt#hf)vDafi4|B=BF5jbU%@**jO6R1^0DJ#Ev}kS zOItEEVQ_8|{IYg{Z;!HJBufv{$9UntYm9X}Mv(R_VU+T8_#Vd!w3jg8@6~qTnvEHF zYv)3Mskh;*Oak1#+E1*sTFLj8W>Wp(F5R%gmdv_x1>-KU{7Dl}{zRGz-{$@sImMS% z{I73tG+2n;v1JGfM(x>>nz?w=V>T@FXuzMzP8fB@j5nEo5;u;C$4IYo>@a?rr$1JL6;N1sd2|- zUad!+x69S#m!6!956fd05c-WxlC-$yNQ^}@q~g2icqwBRQMms=8R`FIjNBa*5INug`24AeB15#^KW zOzLD4*!_JiaOR;TJGYN+w-F~o-$%$(B?%8J-Um`&bNZf=%p~`%>{6LI1646YvSY0p>X|t1H5>?22xCv*@KZg$fu+T?pWV% z?&|H$czK>KxMe>k-{J2%wt9|oK9?|7J&X|vSE2E3C+Tipz*(OZg}7`z{=w*Z ze%-?wKH1F}%;r1C&gP5f8S$qE z52N<+ZSXQ|Dy<(#A;Dossrf<%ElP7~(%mOSUND5-Iz71TcpdlUqaO)cX93bu$#4k_ zsBHVGDqSOU!94kmWX`t-%$mFRNQz!0S&?oIwVCUoocjd+Rqe!fxDU7$mN+-B3jOwb zkV(NkM1Dduvqoq+T*wf?+ncf=_2mrI{9w$LjG4xs&v^@;cG_eLbQ71nQeyl`juBB^ zhwUA6vG=w%`6?^{D&KYB+sd)*R|!!z%S8q@xyEt^6VDTwA9v|&UoECmG6;_tzrfCy zWBJ6pzwy5OE^L(NF?;YP7nvu-8~7(NF2}ww6W^{z1wD>_lX*f*OLFm%^Hn;+Jf`{{ zx9D-X3Dka!2;E;2N~8B~gKJuf;3Qwg`DKM;!SWhwhf|XLOtUMGV;Nz zVn3-04Mwia9WIm|U~(?J#ZEgpjFp>%!Yg!e*U!!9k!Fta;h$0S(HYFk^`u|(=DN9R@GL*i<%Pl&J}-lR$dXLxtxZI<(1@Er!@8* zIf;?u+i>3#Rcvhwg65R_XwWRhZ!j~4ikoj?!jfB1{=}7;xn&}~@j;96SfEeStWTh1 zLkNHHM>6k{xtv!$BF2k88p~z5TSMOdfBT;Ih6XK5Apy3LbU5fYu6_>un1Ls}+oX2B zKw%>kz=^pp3% z_D$MA44g3NTnw21MqKQZft&m4Nc(+F>eA6x<#T;LJc&wR=UYaw7ub0qygd$Ps>`z~ zf9eF)YB89QT#sq-;&|d)CTFMo6#U1QKtbkvkj@;#Zj0As9qvAa7r)fmUrv|Fw{Shu zmSu?#G_F(UUy;<(TM09|r$K6b0UgqqjFT5`gDeR>sG9eVESTJ4E%TJ44K?C8^I!}u zIQoY$>F;U0&al8?^%a=&b3HtaI|LKUMc5~e|AF;yd3w@63go_y1J`;@jP`dWt9+%1 zX<8Y5cEp1$F%rPiiS97_=Q_sypX1$IauAJ(EH_p7A9F1HiI(v#B5vA_9d}z$vgA4G zTo?g<4hpRD6bU@gIF--Y_zb72O{0-!$7oCWCF-!K3H_wj(GRV=VWe!N$}zl-zFxi# z(q>jriyg}_b!{kEwI{(r(`fFE2|@o`V(@nMDRi243TK;$^8C~<_-m~;6rbP7{@xbH zs@IsYEn-1r%ULU8^{S6L+}ICO6aIN)K?Z64`-CVyErSF0f5B%cjh$<-l#Ty35w^7E zF=Jb8!Lw;2u`ntIkA{sf;oKOu*s~H2-o6Nm3VSgqL<2=9=YisI2YNbYqWO<-jEF3t ziU;;W!i#b2_H75?{+)}M{l^eBO$_XG(@hIf|O9y+ZOoL%r{48SfYA0=%%As2STxm{j3i)+q2!_8MVaIPZW;ODT!Kc;A z!0ftYJ#U{h43jMwCl!h3&87Lwpk@5V!)K7QX&|e5p1}sELy$7Q7)29qVyAK@N?p24 zkIw(MORmRo+1HPFzF`nwD(dkYFNg67TTJ+{6lK0NTMy?t&cQcQ+wkM^V?@GsJ*nLg z4XVe-FFg77W!#+{G z?rc}aLH22*96S1YA6R{U4FmgQ;MF)C7|G!vYx_>9nsDadc@+YmRucchD@0N?j^wVJ z3fEi?VSTPE+^ZPNHq8nC*F_a@N1z8eg$8`g+C*Oe*de~{wG#h%a~Q`F0SqP#Q-(VKLmFH%8+TfUH`DEg)a4f%DPaJ<;fb>U%o%duVJMYt3n48}KSHCxq zwWHQ>;>304#R+Su=!j(PE+;`;at{0YbRpY3A)bAGKaVv_7iZOc;^0u{b@(Pb6{4?x z2aiG_w)2%I+r9Q0`*BPp>ya1BY9?B+i_|+{!g>RCbZr)Su)dvCc9=qB>{|G8GK9W& z8m8JJ&ZOn!B3L=9MO@6H1;Wje1|lyP0Mb1NNR6^3`7H^Mx&08#b`zkkkuckK?kwEiXiMit+-347o`I~R z!LZdrpOzLi(vSB4_PpXSEPFEzZK|?KvuZ3vANGLHixl8LHF30wv4>VuKYIPU7wpL^ zpt0-3&~Jw*cnzN=9;Nd5+u$5WMHHD^U(b*)j#9Aipa1qPNFsJ26XAL55;$KnLN?ln zv7!3?pnr9Q?tOj?6#S~`6;VAF3YwiRLTi|vNk z2j?JjOANdDNG7{BbS7)?``5}nD5f0jJ66~ER&%i9W z6!!KsK@&UW-+y-!7?b71?%uh|+?5w;*xCnp)p{!GR4=A=j$`qzZ4TWrbC67~_6D;Q zNx1REp-S?l8+TNb~S-h0g{jPze2eqW{{Xy=D`$@)X z%q4hxDVtU~?1KFkxlFjF43u0pWWzqIf_&&sxS*SiwlAY_lZ6>h3RYkoStW>jvIM!U zX`t|}qRQuk9V`lK0X|ikRsQmde!JI-G2QKCmuEOlJf@8^vYoK_QZ4Ea&VUZ94fwk> zmVRF_8Seclfx?s!Y<_lvu6ZcQIQDyk^1N2^Xren+o!!nkOUA;Gz@1+)pJ2j_SX9e6 zfueC!$khFb@b(Qyph^~wB&Ra+>ABoO7kiL)TL24G+|aJIh1>Y~C_FhZ0em&2c-a@T zu~=^q3l8VdLbF)_$6Se3$}Cvcr_V;YUI3?&FA%u+72Pv=FFhwZp0`|R&ZoPrh!J8-8jabChJP#yd5Qi)k8r!j8oaeXi%OY3VC)y{g{}uf zOhCO0^q!f)9+Z)#xiZ1%wk3}C%nYH=XYYf0^8=`4SxgUi$#8)e)Sw}GxJqZaKMqM2 zfrhdhDsLFio81W_ky-lqU)uy;PlVys-MvYFW{tq>_$;toqX!$G=s;4xEe!15fTovT zV(I5mDqErnYu@lopw)XW=OA7krz^~L6M7>{w z_}>bcSsem3?Xo2Opc7Pwb6olEUo>#RB`O@Hh_AfW@tbrnU1l4BTKoI4aha&V+);uU z+}w`iYNK)b?qpn4xq)mF8OH@^RT0KnkuG?5iQeDiOXKZBsG^TL&9W*ZeP`Cd)IAZz zE&eVxEGy=E_MRj+k90ze;U@5#nGZ+aCgJ|iHAn?K?jUm@=kO`8IOI%+x-@b2dL3|@ zQ$VE*mEl|U9VokgADV)X!iT0j)GI$v|5mRjdqA9I-8CkGx%VOURZ5k!_Hrh-*A&X) zY}v55*=!M2!{0(){FZ`EI6iF)HCUZa`=leOs>fam124$F@Gy9J_Ba`9u5*25U=n7} zGvNo@PvQf&i#Xox9J)x~hWuD(T=btXZn-?2F1qWCT^r-kL305gm=MKhIM>nKB}E`% z-UdR^60Fq4Iqa&H{sNmP7ciyg2%eGd!97psp_bYyetdo~ehU+awpM5M#=BZju|Gu& zAK!=Magq2g`Wf-GvZ3-ytGOBKuK1x^1$(+&FuW&{j_&&oTA#my*6;GFNh?p`NoF?5 z@P10whFZyu|je=DbQ(5!j*=)5vYtbtY_!`)GIzNe_y2cG zrNM(3vGy}p64D69-c#6sg`({4r(Ik-mj?fxo5<>?Jh@&G=8I<6GsyQ!YpN_Ph0;D1 z81mN%J>@!R==MaMXZZ>zTs=fBj|idhlYhItsf|vRPGyqE?jm>oR1&KO|60!`k( zlbWV4Vy+xMO>QqXfIoxE*t)SzFx-8X94ViVbHepdU2IO(_LuT#IO8YID7}dv^6t{X zlndmV_!|7G_lcVPUW41;>f#>vr&MH|HI65><_&J99d{~- zgPbBhpFIVaUpl~L-xOt4i&Ma|M4V0&>7tLF)Y)^(Zoux4PEMz38hi^4qGpXE}BY-m9l7=K=9(TotUQUK^G-z@tw`-IP*~gH0Q>1MN4X_ z>Xb87{+uvAzA6ObXEN}*6;|1fY(Y!kgQQkBifg-Jj9b)iL&lX9aQ!`jGk^GsN!oQQxT7Nv$YIY#8t=O?Bqay{&7M1-;<2nKnIz7NCgevK4Lzm909XU z*6^S*0#l!fQrR%8p_53#{-$yd=f>J1f9a)v+hO2obAFme1Tz|NM- zxH~BX*Uejlv$uxgWt(Ws8+71Wrbp1QSIJa=vnND)8lZx zIkT&=YX8P%So_l*|2uK5s&S`3V-j(jdGmBEIJG|_OM3?d)(a(AMc?uKCy$9(H#h`m z{ZFwpcQV_!=p$r56&LJstYJ!&tI6ZiQ#hl(9bak%Rb5udpl<5*a7ZYSz2g1=ij_oI z8<8iV>f#0Vb-rMG;wA~*?g)EtoWr<%LF7s05M)#-vOXru*d4M#Y{0Gi5b$mbyzIIH zJ*$F9sId@EbMQk!KZ~oYj$-Ny|0?X?nX2_Ui|9%PO7!RwHIQs-lZbFXw@h4(uY z%ngP5)x)sn$Rkjnxf5-FZsxSk#$hN?t z8)on*e-mzu{sz(inqvEvv9M8Go*a60k4oQpLFIauQTuuN_~P$rR5Fev`+vy5Y!4ao zd_yA?n}xu`bB1W}cn%zM3?;^QIj)e?#xtHVOyBP!T0de%q{^Z&&e8z;J>_tFj~II1 zdtW8*wvWDS6M#hHY&dx9H1vAx0b{p+9{k=NE=t7HP_1!H=d;E1LEtsIqBNPFZ~8^< z&(afYFNlMrT|bG!%=@6UeH_`pNE+{X1B=h4;JZweWaq!6O*9c-1n1+F zZ+HJSsSdvVx&jyUhhg@h6YsY`jen65j&;su!Af-Ghqh5t9v3}t~-h=uc`4%CFT*g2RG61djd(>se~^zr_uiW z5Zs@7kBBI&;XO9{@#&jb{^J%N`9Cw!R5pt)+G~d@?~h_b)BwrXnuH%0q~nNt64`F< zK^wD$sybrN(BoRiiI1)$eqU*hc10)X>(XixEZ9U=%n2b&zRkqqjBx7ktrc^wR?(Oj z6G-vwEbv>J1UDp8FvegN^|`zfXWDsTj*d4SC;XDmn=*pUP4>L^_&-<_F^F?YgmIue z6Z_w$W7_3rJmpe{M+?iD>pE#zTlI)E^i+{w^TvQtWenNbJcf@@@x$iOICAJa2jrt2 z*Oe`WvS(Du?rRRPY-v~3@VLnkHS_?2o4$g=w*O#!o;~Z(;mgj+6=TaQUcslI*Wpw8 z4suNRz4dYJW3bCD53<`rShH(OS*g+etY*g|wxVJ>Tev(NG#+)r_j?z~iv#n}fCf*SrZ~lzNa~-hHA{=bic0#aKDk%Sw zWTO`9z^JweyWoH`6b@IDv4+Kz@2cjCXXs(Rj6Zd{I+->4&9D-w+F)3>PLQfGAC=$e zLGhL_oTc#!=f0m$>W%y`&qsw!dy&XFPCf(a^DoiZP!1#XCX+VDB{2Vz4t{+u%3GS* z75yS@rT!WG)g(iSZhTK@^&wwu@^oHEX!Ky(r4eP!;wB~k#_@B$Vi{gekF&g z;6kk&)UernAGLkYS54n&g*MTPLA}9?E0s~F(`0TC*P~J>^==G)*%Kkywc@w{ZcEVR zeWAEx%j#L}p~`Ghr$78%v!94)XQR_Qd*bts1%t^+B;)Z?R5(ygSNCp4;o}!*jM_)| zsucq;`8(tN_doox`~@}N7y+F#U0_;Rs9?IB7;0JtU{Aa=lq!WnY2yc|s?@`Rz+POu zCIVL5Z-iU#J)nN%BrF>JM1m*h31k*+CMwWLvWhps+?ywfI(&I$~oQO#fXSLrOg8Plx z_y2rTY{Z;ToRosY^^TZzbvj8M$KvjD=dsASisWc4;2dt+;v{Aneg;<}@^}}qJo%5e zjaF19Gn;x>-n(A4OGDJa=>P{t+$pmBT@H2Jv;k+G2nX>)PwDND2lVN?SRCUU zO!9WDfbp?UNp5ZmB#&$c$EE+yzAYh3Jo}mKi<+qAYeq6^Pc!b%Qm{~0mgvO?kUeqR zxUnLo(6e$g9BLhAt}ieI<3Kq+>{~dN1UtdlrW=@{89_(i1d;2n)W9I&AtVmwgH%}! z-klDpBXO9Qd?L-ms-WwcCCxBnQ9e{Fh=Gsi2HZVX3c3t?VaECfFo{V;;ea0OKJgPz zjlMvS;NMK~pDI}EBnH|gV`%G`$)NaF76Y>LpxbbRAnTcOo zIv7c}ArfTyA6GH16fA!Vqn3LOdK8(_e(iE*U|%?-1}d>1dTzkSkv1+^?E(ew8PK?T z3^`+y^{1W(Ha~f=Xfc9}4N>%z-U%B1^ANPOpMb49 zj&eRHw$SlM%5cW=Lzo#-27N>Snrm|xm@jQ2({2S3rPDRQzjcLXoC{&?Ke@8%^Yqzr zN6gM{z?)s!WhuAvk-nntA-ii!NBN3rqChlaSsSG-0+p z9NeM;=ht}9uZK>6t&bDP$uA_9Q$mTddI_D@BLIgkRhR zrqA;PU-j#VR@G(NBt0J77OH@^S23LxTtxLY2ouT5yO3TWiFA=V8+rdN=@5y-ReR@C zBlD}|p2k>Mw0e++2f2aq##smj)e)ZpcL($%Se zub3z(6lo{M3v0P$%}o^$K!{UAwWYJ_gjsjNe50)DW6gd{?>&CO;$wjAxMzf;0dDIo(RTW$GIH(ud0QbbC9 z*TbtTuZVBLDs0KR2ZukzVo~m5yc0c2k_|ObO)VR;BcdSnmlHTiEEd$-KOjvj^pTy> z4gQZ~aLcRNctxg~SJ?av^e0s_G8Tq30Ga!>+5oBwXwg?YOQ=2iM)ip;t$fU03@RZL zE&|(o9Z)5jM5l!A;Cl_uQ?Gd+iTorb3_Yw(U%bDKLj%QFBxwi_{Kv2cwc3!8p-WO- zuHkmEV6=YN2kTs1*)vm(*g<0-sAX?bL-#P0Q2w`{hK+EurJK~QAH!!Gti$tBN2z3^ z8p;0^0`?yx(B|iwBWxNv$-cpT~$ANBS1f)jx&!b=j`V?z}omk*m~cb zHe7r{N#7~xtxW(W|Glu^@iuh|d&opPA0xOT5yqd>Vz%Bb1M#>)@NRes2U1jF@6$Dq z{I~^bZtAjmx{_eNMHY4iMnif3UU>a?h}o-=felL&!R)FOyYy)_Nk|fBKRpNb>51d) z{GH_>+#&_ zVXW+-%$$JoXc10Xv&6F@YtdJj;VldE?+20cOcO}jmje5DTVr#1 z1wAR7O<#PeAWNqg!P{GB;hn?~5kJ!mHXuRN+XeK?{RJ@GJr3I3GjMme7%$@`#d}@t z#}_RroM2KAb&kACCOoA~T?T<~O6NJT!)qCleS5hD>LM_bPN48;9Q?8mh4XFpaO}us z@;a-BPMF?EtbUZy*wOJ+{l+`;%W*ka&eEX^Keo|(qUT_4*lODBbsewk<#BQwHiIC< z9v(-$V#FpHfM=;GtPi_Fd)MgVg#S!n;6o=gORADJnq~B}P9x2-bHyFbg@Rw@x5=iX zt}t6c6Yhv@bCH1)>LrcVoG*>A4k6L=V{Dl z8g!4Ol3KFfYdO)7v&Q7oUKCp2iN<56 zv%$M;7+t)y#41Ia-9FX%k*8BA8#!6xA? zv|J+;zm5+Fw~B7sp7?ccmM8WEPQ`jTBena4!Van|J0i!G8*mVQ-ux*MkoJs!x8tp~E zznVq=7~Q6#m80ZH%uD#bP>xndT4HbNbUME%1LKR4i3o}$Yu=jB#}9QNQ@xD1MNXy< z=AOf#+N1bieHi{M_vCAB2XUW?4aV6ng!xvB$i0+as#v#`JM=gRp2_@WydN}hKVp~B zf%ZpqMfPfPTYEaH`~9Vh-dm&J85z{R^oo2+`pg~8o5Xk-SJJ)NgGAe78npP$fuZ!f zP1+77 z^BP=QC&A9K?cnvy8CYpj;g1@?%QX{o`PjyB%BW6J7S<~ zvLt*r(j?9LEFOqu_=CINVEv;IOjvJs%Ag8R zw-W-r%t~-kx=X~KH(;aVIbs$$9WA;eQ1LKQ=?8|4#mNGcnV63CHN!-$(wsik7vZ(c z)?&p~Ez~|zLeq?WnADj=jnq`iMCyuvhsr?k(Q!0V4*JaZgDQ#76gDM!a1L}D4ygxR-yh87-+EmqBBtc@w zJ|N!v%F**;0%qn;Mg5DW_@!eE|Ki3eWNH_a)Je;@vRNxh;*?yPU{M7wO9#pRyN!b8 zp?NrZrxo}AF2n4F*O`(9CrAPb!y-LHoZmN#s(d~R8|3;R!R!O`A^I8o@mc`Ct)m1t z`%Cdyaz6YrJWgW7BDsOx7wKCE6S_+F0Q41x!KI^TAyu{wrUvX_l{yB<-0#YmI%gIA zrE3oMx1wmYayy;%G!^~|TSMdhYSLRh4cGN#LfDZ}u-G7q&tfd#yPYrXl^w%%Iw~Sr z5Q39>ddMmZ1`?kSW9#c>d}8P}UNN}=9_8w?Q>-Vmb`1n>i9G=MZg=Qw(t>y&SsLu- zg=1VA&^G@#f8eGcf2w;jLsvw=l9_7IbWMYO)}IG9NnR-HHJ_?UDl*A5jl?a^M?0HB zY|*Ypr$6$r_^>;C-2iwXGm}O*90pOzmsMxC+EU3wj+iMGjM3tWaPHLa>+=UK*&tU( zw(Xq@9QTc*iIK}8qx}r*)iJ}9!49}rVG*a{?SuBmeaM7gon(RTE9h#!0On~oaOKl| z^t8GHD-s)xcke0U_Le#-y+Z~(+@q=8gD&j8sKI%ZyrdI0+L42s*5K!|ZzRT}hAHzr zOOn$Ds+`i&v^EdG(S~Tg^AP6=WL~e zarW!2IQEPpyKnDZ*pV&+sTY0F;-EJF!^E0zx+cwU_wl4#j8Bl{kSA2;-}jW{-on`+ zL%5$4$~VUN^0f;MxqP`x`1Y^?d>y{S^|U9ztgZX$Ur$@Sxk!Y+S2`cBbpA!rpgP`S z`gL4qB}Jyyj%VHf&I6^>i{a9DC3s4&5@+WT=2dAUNL~x3syiu0mVxy0pICUKs00V2;7LB7-F-fF7+(BvzaZ&!+o zWXIC`t%dl&X9bCy@CGja8OL7cT|g{07oMJc0N+Nw;`1&M{?2w&6dUv+>rJQOvzunb z&+|1sn<)yv;!>bx#%l83ybmX>Q{{go_Hu{L20*-AI!>Q%3`!oaN$k08nBX4d1)ho(QA&SqzbU-OzK6szH`m4$FaX$ovDu>ia4VkG0rbLwi6MBscg2Cpk1 z$skTteect~d(uIioio`eRT;1$qdr*P}vH2Bi~q$i{LR5FGs1zwW}g zZrKhJ+tCBo5M7(QfS_J72d3GM%xE2{KLifP=9t7_z&*_SI-}0 zZ{Bn3v-4JRM$h`F!jrdPtiKpeRvEIzyVckme-G2H3;{fdNe52zJ9D;jH-vn9PhqtO zG5Mhfd)!LMhD}!>;GqheXup|Vmv9>AzY^oi9-M?@y-P{Y;jvI-bp&e`uAr}vh@-WU zEPwBp2tW7RUEJs;!jBHf^0lod{Po?zSW`&I$5V4L;(;NN$dt$HV2rNr&b)q?Hy>`Z zlNUJT;mn~q{K=|pP+2R^9$S;jjvMF(pFg$ma)Kllno8oTcgDDSh6=B>WdMcPP#l~P z0Evs#Sbmi{Tg0ie9$z{DuIE$d^wo5!=x>@JsfiQ9yr`+LJbS=?1lHtw!_J-K*snPh zy`~AH$^9ZwbbpD4XD8tTsah&%*bLuJzJ!@S8^~WDf7br&2UvYRoZPx<4I?vuz~4VY z_~TC|-nY%8X`VTlFFy%1!$e@d(-KBPJ`jU0mSchBCF0jJ3aUq)U_-)JYV&m)_KVHK zL9rkll~2F~ejB4f&SKpy;4dw?fQ5#-=pE&>3~8}7?Ue6#TuHG zK#AHbk~3{NZeOwzRGxqN=c;w&O-LLZiay7cSjmtL^B>bW)isREx{Y9dTZ>)hCCYXk zNrYT)TW)>-Hq`obAJ`>Tka#%@=f&uQ#ho)u{p~F19VmwSz-Lrv`5Ll0YzAx#>!V>M z)evfHN5z&8lkH8}IN{YsoGhA7<~D|qj`1=7dhtE%NwH>?#uUP5wP8S-kxRS6z?XQE=Cdh~QA*eva>li?>9uyzLTt~QUi+5HIT`~8O@(2cF_E0E{UgZk}Muz$M|{#KoW zHhF0rqx2DPe;4pp9y3wNMHly`#WE4%`M7LV1pZZsh6gVjX~)b2B7R^Te=y=PHnkb> zXa554p?D3|zWzt|TW+HZN9%d-QH9l` zl_&PV>dI6S*kVGS{j4DOZA6HDSt}>$$H2h;P@;P$lD=|#z)TqkCrhn;;D}u^^}cw6 zsxL1iqZJRyrh60M{tY$arEm#)1ry-F*fNqHz6^A<5ysVKbL#uYL5`|EMD3jh-{01g z-tn>2)_fzT@4iU3TI9gd@ZVKeTC>SnM`tkfT1t-j7}BEH45E>!L7u$}$27rGEXi9Z z5L!}!y6Ly6#pi1H^K6irud0uiI$h8wNf_$i3(?_Q&uO&r1=RVp0yn%h0MqC&x~Hyy zXm;J>BuNMi?T#1Jt(%A%)nd@tG>wRs7SlN$_p#?k1?M~QpYs%tVy|>3hWm*U*EyG< z>XALGz5WIS_|1UG^cgVHb&6j5k_dZq^I*Mr#lQa5#LRo$+)zL!gnUYtf6A3~w&-Xp^O>V?!|Emm+&iKf1L3w__#V4%uJdS#Xfo!w%EA`60H&^!nJ zxY(1)eI=yPOAn^zXMlU=G&nXXh%8zr%1O+jTzuIj2&&D2va$A5HuefB42z`&`3VAP zwRz;?2VF1?>LmfSVfc_NCp$Z&+1aiOaY^72_}LsqjO%L1oQMH3;b$fm*zKc=<9bQ- z$rKoD`wynAya30yKBmfV)!>F*7PKllf!3q7xVON8qzS}`(v=1-_^&P9WSs!F?(LvX zg=a{j&>GlucrHj5)zXE(kZckbCB_10Zcj`Rk@;{KMOJ5E_8E>o+;EDTS!6R;?qxHv zn%cC?NQQ2855T*@SM*=%n2@4o5~Pw%uqFV0Cfp{c6W zHcVA}%N#P4fCs;%$ycdR6H@o|siY|4S<)3m@E|x75;bSlO2O-uVVy_ZafUk~4r?<;AWE zX@U^xFVHJz4cFfNAtFy?K+0+L7U+0 z!Y=N6>_cihGX}TL2!ff;xv+Ti1pdao0KT()0B3JQ`a6IpB2xKiYTriv>ZNhBhc#G^ z6bmu}(@2iz@hX|c0z7k9n3oey;Qr3kC#zQ#QHu}GusF&b`{nMF^SgA3bwv(2s=5zU zMS^kq0RwouPL$lAc7Z92bq4m!W+E&-%qXdGlGn3&YGU`4a|}C36&GYzwO#(m zlt=bL<->=>VV4)i#T|i7ZEi3tI+sLDI!mY0X!>`%3Do`Z12y4I@XB3>oGwxT#i@ay zImwiKFzF#3Nh|5*#+8`3TNX+tZKj4t31nru!ouqtalB7B3^XF(iZ>7lE%0&bY|LiH zfla;`PP(v&RC!OuiP@So+S(e|j?=)OUh$BmTfv-G4ulI+C*uCF9tPgrVvI7Mz%9iM zoX~NWmTxeF%&$Y#=(7i5MkQfx@Eu5!lp?+5$58EkB>H5Fp>@%1fx;%&j3h$%J$yCueXAsP z`G3Lvsh*hEA2%YM zr;2FRDgqWw3%GQZeB99?j%}Y9*z7z=T9sc{*#@`KBfo@cs&X)O5Q+rfO<^$Y`!)#v z=|>jWY_|^mVu0(o`=sfW98o^H4GIcWFgE5j$T_^mS^qp!-C!&hgzIB2-%E^+Nr0nB zB6+`61~0sdBJZR*2+#RV{oBHD`=cI)dzq^ISA@iL32@!kq}6 zj2HAu=ukxsv6)+d{wqu{*tMT-81-Uu7Z1=k8~@$EwmY1nY8@5#ji(W54~V9<7tFc5 z5>L-e3AcPalGpk7XFe5174S4ljOq-~T8&4}Y$|KZ+yD3MI27qbMTE`rOw=ktCHQ zD)i~HJq?5CT4$F1#RJZVHZ@=TEyX`u^q4*Q;D=@_b3xxKn#%vs zq7xs_fG3w#NQd%Th(4Ub=G7OIk*t}tcH%lpzqC<*nI$w`SrSgE_MxMRDt^_7;11nL zXW1iDnA!>yymk(RPeC$NLal~&?MtSKnx(X{eHU!B&F7tVH=|wqJX}1h1V3CG191}) zutJRx@42IBNwW$~^?OOyd4FuKPaMk+_9kKPD?johPn5TbFNEU1J7Il(AiMnS469Je zMTO*5n3WyPKi|8F-yl61B*Fl{MSjGIv{w+jY&4y(mQ0jd*MfSr7gJbqkf^Sh!FPO~ z$VZ*Z7yJmhfL8YgP-~G48{QOWF>C!n5IL;}%0tuP&R_)WKlHfS=8Zl+^jU=wC#LYv z=45g2ZpVQ_V3D98LkjFK7Lo(#r0}xD54Nky3$=HtpjnG3s}rgrLT~3o z@u7Yaa6S}PS(+2k#rKGevmCwJn+%>eI-yowK+z$?iH%+y)bm%s`>HM6|GXbsx9PB& zv=L&blmHu(bZOMR10X$c8WqD_+4rwM;LPP2;J5P|>DP#4Zv9n)a03(b({_)E$S4g= zzc+^eT{E6&YKQBNQPB1kq~?4F_Z_pq0x5hje`;M3m7)L40hdp z2d{U}gf}0z!({0|64sf8V(1vwwYL@PzE=dg6Bj|UW-Lgqi-jGM zGstM|f4nWMkJLzjmi!!YASF`p=GiO| zevwbMc9cTeLS@JoZ-NiGQ(*5s4!mS8lkb)WP#tr~qC_!F&>ymmuqZ9E+sFoWC*?HB z2Am@)Yrm7D^RBTalYSD+RA3(hP796(A-8nTIdU>%4C~7n5^SAm%JNIPU}~ih_f=5H zP3yeF;x472tLG#P;g4!Gr5_Ck3 zRR3Md7L|n(!xsgDf%CILXmJLvllVnWMi?=ET@ndCx7Re!PoAtb9}OPTVsKMIifQ;6 zq3WAsq_N8sY`!}~Pf8clcF#oH&nwU)>Kixl%SLSY&j(MwcY;;zQ{l=rNrC^sO1R&8 zg?P#cLCE^)d|^X4ZxeY6*QBIF3eka^2c@~RXG!=f$cE(2pAI1WkbAA0#-_jO=90xN z(AUj@mrhgVODAQb#$#np?dfE`LOqcDcvJ=MhWp9Kcb^2BA72x9-5##(s2FPfAIoHeleKFZ^kqw z5rLhb4w<^(AxYKa1v+Fo7@nR(G-Km%bJJ~ZyjB&{D!7JUJ(cjwt$HkpPq)bKYBjfP zN+ZjjJRu!_qMMS%jIdK_i$Hn)OER+}iY=A6kJafdT=WEYv|aImbO{HN)!!tDvbL6a zUyLd|*%c4!kG!GP(FMn!+*DrkupsYRGKG(?lZ+;PoFp( zirz_b-$dfFopI3bWXU=uXTr49cwA>$4f6ZU%voWj5+lR}KDzIz2J<+!EG5h)F0eLW2llOlt&!^8R!>fzs z_$B{8R~_TP@;YnSKu!>;)Mc<39rbs@8+c4{UMG#og~an!%<|HbXet}g?$Rh?hDex^%mFc`S5hz#6ktHjoQB1d=J8>wD zRo{iba#~RQ#%k#G&c#_Lf3qUfUP02g*=T)YK4G{1t(VG8a!M?h z9SK~FJ2v^@eei=WQRp=t1GntA5Us=YI74zOS*{?=@1H%w z^ycfprF-*GWZO87TmGM*$fyB3-sTb6mqC!1q(yop0R}x6V3uMCzI&-Bn0NXBG_GHQ z8DsY1GO)l;CwehXE*Ce-5bQR-&5|EngP=dJVN93-t^G3$n<7?1(YaP~?@_m@Y+MJD zITz46&kMZun*_aW0zpc(D{Xu?nXX-`OxxdDg1;dWVXsT1N>Ulamn*W(ygO|T*+-p@ zcSAWpn+&B~7nI~$!KwAJ=(+d_NQ|+7TghG^9oh~aA6HPD<}7O9A4o5hg|LRrqNwN~ zz^A+aqL)h^W*D7-BS}BmV0I$8B{dE1OAxyEnK3<$Ku!t=g{%b2~6GP z$n38d!w?sXM~_QjKx{l&wqgM^mu8{-zDu}fD}~E1X5gkDS1@_P4*29R0&BL9;mO)= zf&B4O)J)Zc=GRA2;HJ%g+^)}G_xp>{jbr&Y!}8!+RU!EQTUVKlDd00%o-WloVBvi% z9FktylM+4|$9G3CXXnK*>We9zzfK);4sXHreLQz_b09pIb^*8VitwYPgE{0>k>b(I zn1go?Xmq4Q*{Svtr}7ojUJ4{-Gwx}d~6VMd86 z^o~1Dsx7P8h}lM1;^q&^DXDZ#`%Y4GwGbt4hryyvc_1*JOC)Wkkj}X^%yiLZwp1w_ z4?Ffk_Us}!T``-Uq03UR9_nG>CRr%&d_sbT?!%QpCF(aTi<|SW%QrR{v8SFJ2$y~m70r~n zpUY*~?&#X)P}y280{5Yvnh+oRD-BDWOHoJZBpQzk#mp1+hx%;U%H23JzMS3JA%q)3n%M$-aeORQh!rB1d}sQ4f?p2odb%bjYZ}8Sv#%3M5~fYSDKqfV_VnLVC|{BgcJZFwy(e zzpkl8uN_vTot=YRL}3YzcI-!;F$>Z0u_Fv8GQpc29qhl3J9x=I8}}F()3%`+xZCs< z-o&?p$0#v+_mY4#|0#f~vfjbpr^THt}df3C#~vzOpb<5V0m^2MgoH7sdeGF#M}$zGIH!_Wi(hw?mF zU^)*z%cYV_8DT_7Bo?H09fBKwzQAlVUFy6q-y*(cH2+`FOn%E)VScQp820OE!W=%3 zbJ%eM-q=p1;u#6_mq#=0UAKj{JvxhD)HC=-gHV3Lr9ar3QHC>u-=Hakg45d$(De!i zUeAf9PY$DEb={z+Q;JjWpP-F9mlDvVa{~PA(Q6CnYXAkiESSwlz0^$LbK$JU)pikjqVu zY&5BEGKWcLHo)s8p^$XP5gU6hAV<2`*ellfS*3_Lg8jH{DXT=Ed>y9P&L|Vx#FAef%kvHtHB@^(P+YPk#SThvQ(r@=qu!`vvD0tc5}4ARNhBjb@eq*y&FR6dmxPtL)~| zBAFe~G%u3u4*w0o|N6Z6W-SP@^@5apqqv^o&#bKcF-~%j#(^tW(A3ok4|#WUFKZ1z zSvneALTZ?~<~34u(H&aIDxy17*6il!0hR{q!OGc#Xjg`FOOH!3nrMfQ zNG&Jk!*fAxO#-?8bR!J?y#@P}8{zLEWm;GJmWVxjO*)FhAXYXK-5wS~;KF3`U9u2f zIup>1$Yi3gE8yERA^NR24z@hIOnN_du+y>{xXAcBNvOLm@EEWateO}s(3TNm!je81 zWVj3e6F&oKi;dXVFE*^=jwPr>Pv&DfPjGJsoxs;87Ccm^kfWJ*N$GbvjM}J<#v@*|$eok2jwfakFUbrQ2B0YkUjpgLfsb}o^_!PXNWyp3Z z38S&uLblCJnSQ+c22yXRfalA|rnTnixwS1Eih)I>*e5pYXGKY7^9fZ z0ygwC15-6G;r*BdOeu(lyK}?@tsMsFG1rFe(bXgsUp7P6>^~&Wq>shzJ%k$1!f{Zw z1l=c4Y&eAigW(F6Xna+mB0jFEwrQAT7l4J!w0~Z(V7pn+Vso6cA{bBfav1W~1WhLB z@px$r&+MKG83n8k!0f)0b9|sjqFO(f@n8C=nQ_%6862o9d9W}dPcz7Q@-F;yO-Sb zp!lu)7?ahB2Tns7-tLs9%h$)T#fw|<9L~WL6|L-8c|S&^dXpnDKJd8r1q4f-iEs&gwqwsosJ?bMN6<{e^f@LY&RM&yy1~G%)^j6efWj z?k~NMdZ9WfEz*SAD|h0%$jSY#Ho#T!17!3`fbgke35dF#lvC{yitfC)Jok*y{&q+trPIaxO$q zFCNdinxKsPd%?4V<5;Ch7&~LeGj4GclVsVXujd5Lo68gZHBZ=N%a!ESG#Bh?IEr(s zT}i^aKz6rTA2+Eb!aThcGCk=nDLuZ8TfBTCmgTguIa6|!-Aeh5&olJ9hxkdgTDt6#~FRZhtJj7`IA40@KIwZnX(=9<7T0gTO~Po zayh*5oQMwFq6I&XM3TAFig3wCDSk?j3YTx^j0tI)+_dS!bf?*T`b*!2CaIr?;svC**_q9#;g}Pt)*sf;H~A9}D$klxT*?5KNUUqE^exX{D7I)p7mEw(U)6{Ae!= z$ES3FkD3r%SS145(?a3U%NV?69D~b}R!|m`L1!(#1uJ)@5#IhfnY$x|S;kF)s{Rmm zuThlO*7$-8mMfrTP9IxRB}2z;)Tf5`im+t05D9DjL)Jh2PO7-4EO7BftlP4l|GoGC zZ&}^S-Qc3k6)WwaS*`ktgn6 z(_ve+9+6mjgsFXN0%ylUXnGzFo75b^w7(P#H4E5#jUw_zYLHxPEhg%G0-ODF40_e7 z@}jRFu}$^s@YjvY>~JWMVWmN4C$|b~cL<}f9Fi`+fx90W!=A4>jmn>|qENd7-ffa2 zzmA1K-;!QDfBXj$qlK7OS%9ldJ_z0nZpV7b(>Tw_O5k2Q1x*ik!|jqRT&=T~ZMj~} zxVCaA3tUY3k9T2Vus2i4k-@|D4s7&h5A=T+PBvsdW{ctqU~o|i=n9q6v&Q8#YV!)( z^!OqK{?LTeQyc}e-5-&^dbu!k^cuX1(}HWQzP!EgAPPkl!!&<2y63zRZQc4B(l=@0 z$3rtCV{1m|+)RgUjdrj;`W>cpy~d4S?ly0?k)!wSm&1Woqe-{Xd+w~ZdGq(% zY2?pHHd`Ni3c*>6KUXEej~CbA&q(&;H1W^)EaEZgoDd0nJE~z~n+(|_|BW+g6X$1i z1h5nNPWbJE5S?zSKs^k{@*(S=qS&47q&x02^M5!8Wgmocb2ZwDVr&WfV*Ljf=bA(L z)+cZ=+Y8iei@`*##-dd|59ivs!2ZsA5ZPMI6l9dJN3t6SBi&KQK@PMk4uFy83~-9Q zgtFI!1OgRT7{2llmYAr5$b{QuMfF6iosZmw;R#p~c@6GO*$VZo1uS@9BRl(G6P%lq z59w|7(;)ZDy5R+x%HZA=bXvTrRstSo_ujjOQeqz;)BrpJA*UJVj3 z7NySD5F^Dqf-RHtVCt9?a6q_%X>9qxJg&*p>co1^e!vJ?7mKq{#~UOk={L)i%_99` zrm*38IMX+r4qu-Y!c_SO+{#Kue5U1~%F{IXE$s|b+9r}ik?rKxY#kWsy347*69<3s zcjS-6IBNf>pPasUlqBB1PgX2e!w=F03~w**+~YO@*bfiSqe7jjppqm{zc#siyD(Qn9< zw+r8b^JmJzU)SwScYX(>RsJmLQa|e|E`fk|HmK*cinsaKi7n5L#})GVg1nVH$<`Wz zeJ)49CbJW!w~vMQ>yj|QRu1&m595ZbZ&AeJ59(*UA{%eX(uS=J?8;_=x``tV6^@49 z#W_T(@)A?lsVA?;o+3q?M$SN)__1;v z_!<29-zQNDs&F7%6((*;hgBNYMEZaxau3zeD0mB6G~d9L zUytCXZ=XqpP6Ow)%$v=S3lOM@OeFyhH6Xp>85D1lrOD-WV0S7K-pcDjq?IjkIVMC` zxvU3e319Bo=cBOdbPJ4)y$cGtKOl6`Y4S)xgpN}ZqGFqlLFUyaTqZi2k8gBA+vJ(# z)@>Qsu*nksGa5}rPTv5laV}t5FqSqZjiyzvw!@yrdGOIA)?z|X6c^xV#~!}<1l#7# zq3^sDp@69mPYQJbJ#SSTh-IxmV*&uttWvfBcM zDj~2+WGW=jKFpr^>Lzf+8z-QQ7mc3OdXOF9tOWfWa!zYW^`iE zdN{hX55{@vlir|H7_EN|A1tu|#j&A8$ZaDg&wIz&_d3D#w1wnje<(PMYtu7RL&#LA zCd_@g9DcZ_F=wFz5PvBb9OUhwFtMDS4Vb`d-&N;d%8%hk94)}iRT9-d2f?P1VeapG zEzC@jYK{}mgja<*pd>k&9*9+-tIlLX+a3q#DftMeEymI`k1V*VtcstOZzD_U&ccVV zqk#54AaP2R?(%n_8E(onBC;KxuS|w(KPwtVe*1!0wH~M`%hBMiSD-1P9uik%krh3< z@Udqt>@N-?s#z|$e_|lZRUBc6uFR_yNGsfg z2ZBP#-`Nd~sX`=Rn=qKYUc){6+C%gvtsxbKd9d3lkeIeVAV%ZTVbfoEy!+uM%dkF- z$t}gWWamX@Y<(2&g=Vudt65+xUP8X}DzLk5CLEk+1(OY8F+5(F|E5vQlpnkVYbjak z(uweCBo{Jn=fe2hjZk#>E4d?-11ecl=oC942+uhJutoHxy9tb#j}uo?>J7QLGP>=DmjmP+PR-&CX4-Y_!JVF_&5J`T(s(s8wI0_xtn zjj^w?aPdl8-sI4Kyxha@m@aW1yNgHjtK098OP*f^`dS+><8>`&No3>Lh7A0Yc@7uN zZ$iykRRVFT8z}pFh@}LUvkiMcvy?rJB)UBPU*9_ng+EN7q(lr~xb=`6nZMw1vQ*F# zwT>kQiO}+;AtW|g9~O+}SonfGZt$Zu_@x-)hBxJ~cjH7FZ1@-Mya|T|kG?|Tx<_!K zegU{?A@?#x7q)*$W>bdNu)1>=Xn8W>U)Bx6+AAtl_ES6epU4K7;NgJ&g%wa&Aq`Ld zj%DV(r6&|>#MvIk+hqY1?FLCRYslO?36lA9WN`aoVq#bi zo6hya>3|3DqB{;+2d2|^gW^;@{%<#bx^xtp-yDPOhIHjD09es)Y zreb`5iwRG+@8x}#jpwtk*02zl@$lFoi@i~n;_p0f;Y&5n^Oq)k!z~*+iJ$yc_~Yh{ zo4+~nn;ysTJr_An{DwW-sSd4<)2Msv%MzLJ>wh6qWpdM+mFJN*g$&iqB%``bcza(*QZ055n?`>qWGTi z)c(*dh%GawJ+~Sl+bx#l<}L;K#%h>7=^{LJR)*15=qI`?p=w*V6=V9PvR}AN8hLO2;(`nzPQM9LPG}Y%CQ6xAR zO{S>xT$U5>C#=uk`2Lf-5Ep_bJw@!rv8AZdtOi#<6MpxNCl^}|und)P z{116?-Yiv^FF1f0u0fmSLXw%~`$)lfePfjI)5ANFitOF;%fu_Sns65MQY>wpoa$j-+($xHEjqo~08lOi|4y^TS2DoN{_1g&Xm80uw% zPy5>~8cz%h>eVz^(cXpJFl>Vb6&^%YDH>h(j^cfC&ybr6zIgiHyk=W+9G?b$VI|G$ zFn)L!TqQ!yDRZ1bA#@`~H8EUlwShl8*@B<=Q-_aoZznN#uHzEzbgsC0G3LV+7Ag{o zmazG7kT2@J4q@d7K9cNaHy4E2x4=KCK{B_LuDpT7*46 zdl)sdVp1#RA-N2Ffw>|>6XFw0GlBYI-`FQ)JH|W(w!LhH+?B^;A z+Bh)+a^IZ7oE>@i>)JE;v2_+bt~QN^JhGt>nFUb|Nw`)ak=*S~WfK!+Nu+`rTzD)^ zmQo>n^QQ*hM8$&K)9F~Nu$nAaKO;ChPKU>J-DKSDWAGuQ^k0`>N%9U%!TjVcjO-Z( zH%(WNgl=y4QsCXxl)N5q`E1NY^yfbpL|8_ADiAhdv*(e=PriQ-miciv_|34J@hra`S~BO{8|a zJbblN!St2t{IR1aFjq$w&kHosC_RpGB~|!V@(spbo`F}^Wn)?lBPll-#;)dY=A_Zc zckY0~(R$E4r;lZ6$D;PYACwc%#gG6wK*qn<&Lr>6T;iQJ%rfmdxgO04u;gJDQ;8^s zRytsDH+?qmu%`#5&xE4Afi}j~7m)sLdC)$QLgZVMu;1etTVs@fLb{X5?t_|w|Be>o zvOzZt7}*KW{}|(3Q7cp)Q@vUG_lxKUqdYYPNAI9D)zU@5$3Gw6u6hXV9z|R;!s)-W?&}y>-YqYq=w=0 z$PkXZKLc8pyR*v@4=kEJ2biRaE+j{~u1XClCRpu`l?5vk5~#^`h3bv z>HS6c`ltui${Uk?`rE*vJ0I>%uYq?PX8g;$LomNK#r*E0*&uzbkSUsPU=5Z>EOsi- zg!x1t-)CN7^w}Y@=adkP|1lbto8LF8mGT>aeNd^1l$P~Ddg3Hy?Xw}vSj**yT_ z{2@|(b0cj3r7E!eITf;#WkKjbFnQ~g2M4XS;X#5dJ@#+xpS^a%`ienlh*g4Zg(dL1 zuNI2$yF%L$Yw&h6gEysTV3$%3gaxdD*-{el<5mq^e>n$kuF#-c7OtcLL5lSH>0;Pz zV+Cc`ir{l_3u)OZOviO^f_*2?B7ZykW9x=Y-~R5uvE z?k6-pJq=+_x8Z?N4y;$QCHsQ3VVqnPDf7HaoCe3i-<{9Md;Jnpw|hK$W#0t@Z&;Bz?!)Wks1PW6dAhG5$+$us{|^{v@x1nSY$zDawXWEG0Ldgn9GLB9x=Pcx$L<42AEN$1b@B_vF*y{ zY(Q}$J16CUkFs76`Ont4Nb?AeVX@dTD}qhPu4X5#ZV5K+lgCi$ak$a=2sG~Z5zOCG zL2_XRd=T`3-?}>ZQMj9Hdy$RK1)Fi#_N91^Q-kJZ10(`o5IC$rpDM}IgsmswUa2&k z9I1htrC)*5I|8@8ySX#ho(fVsMZw%=3%Q_aPFYEU1R_J81H*fsx>F7=6Q@zFoSDDs+U?f`=EtZBHYPvb~SP4{l=A!x*;L$O``E z3FvTT3pB5)6^sq-1Fx4W;pML95Ywhc*AAz_SlwUXb+rnvZtq7`2~qa;Q8yemt%W~H zyHREQR8aX;4myPq^ozVFO;z1Yqs{6;C?}Eq(fW*GCv7M^9_%I%$lj>ae^-zB&eg)2M5s7 z5d}Zj3XmR-!-yAu*ozTA-0?1zbuaoriegT~5|x#ZBqK^?hsV+{zUEB$-dwmi=u0AP z6Cn1}RpuJD1Z;naLFDNwqW01pG|Q_0af~tp!isN} z5#o#Wm*Mrxm9V2Y!Qye#JpQJMF~3NQ@}4X9@w5L6gVLeHW?N65!UfGD{N~-Utfe{$ zrS?kFZ7O`Tdy*X%-mAy_{M*>vcO8wlgp#N&UZ~>|g+JDDnyFT&V%iqrY*(hg0y`B`N;G zlL(xCwFpXV$|)yO1tJGep~-!D{#M*8T)I&j7ismAGm9I^N5AvT#8sBR(|?DZ(i%et zh0oC7gjqCYtvste@Qw{0QH1)31vu@}QBcU-#DrSzvO!rTUMba|Jt5Ts+YM!)a_=$- ze~J@)zi7jz#Z<%d1;;Rm^C#P+9nkWcI&)2QX2U_dP(^kI8&I2yX9kzB_IqY*jPGh# zIBf=OYP!N+EMCX1IH%&;Ulq-P2Sp(Bxekn8uLh@V#$sH1Hooxk5bz_WT#0)eto0RR zo+k{^*7||qc47^wdMd$bBpkJ1rSgBsxh`$kd0-{C zvu_}bzO3{*uvf>T8qpz=L{*=}4+E_v-?rw@*YhJnu{*_Y6;HCwfxBPhZ*Z!D4bOsyCHju^oMQpo&7%uQU zgGSp6*em%B@bpIz{O3QFUY|3CN-qD57YnaK`NW@W_<;p6X?g*Zzc0na@=6@(5azoY zbZP$LG1NBRmEJMap-#QxycRc?zM88*tCw$w4Qd%svSAV!jGBqhJZIx$5mP$wn!)e* z(R5)~61eeYI9+BoHGbXzSDTf3sfA4J$z8s^nUGlR-}^NooP zDE_+_-p)w`N~1u?ObQ=&_rh+KNvzk|lGGZCPVtJJfx6G{1kaD8z>6hE$){fcExz~J-_-G(Z|_99RdG5KS$c~tYHDH~ zxxdJ4oj?$ktz!=7N8x1QW>$Sk8{}kSNR)6HF$~XU9TUP)w>pK)vpPsZbI%cnT6NeE zkqeHyx4|~?RM03q$;RG0$9ncp0;Bi&f=v>|BHPYQQoK?M=cyg@hZeq@wsqx zVl0mLw#Q>*H2En9`mn356n8|f2Zgh5Sl@LMtoanqJKFp6{SV8~c0h){ay|@!?$h8E zv%$j9nS9d?MLvc)z#iXtm^q~#TOuxC(DHKr@8ohmRn`m-^yjl`%OEdVT!_s~H8DnT=$}92jJ5;M;X$~)NPz|=Dnih8gr8Tl zVE?38v~|));SH|X@yv&DIs?RR^=E-gxRK!4iLLC}D?m314c0$43X&t*K|Xze1$fL9 zP{m;qe7~GT>o$<_4ZGpE(Rxy8^qd(vwv$njW9Yu84?$UU4H?5fw9x$MhPZ7rnb_k3 zpOZtm{1f(Q=_mx!{XZFmj3=yITCn}l7dC5hCbQU!SfBHQDeI>bp&1`p z=9NkGnWiiCAA1Au`nICJ?@D+uC`0uG^7QX`S$Z(-JRCB90joW>lckI6$n9Ct(7d?{ z#?O(WTVJfB@t()Pv`>!q+}EZ(*J7xohYwXhVo7a02bpTobqJsJ2lCvWz^40I;1pB= zLe`gHPWfyoecul5wxj4*S!-%=QiJaH6Ct~8m%`nDY$&+dLt@+-z;mfIJLokTXN!sR zf3@quYVuenCFjqAS{mUjUuSl}q?-(BSwf-D8Ia#T3OZCH!NO3DPWYyV+?lDoWW*}o z_JB9v+-ratt+b z?SZB?bvn;#5CZPLg0XMvAZThW1a+N+6*F%TAG0oj!?9@2Wz7Ymbagd3bi)|jwS{QH zw$IQlCq?xNYN5us7gA%**(|ACVr00IwP-71i_m>@TfHS1zRC}lbM@??{0x4VOAqcc z*?_MTGf>sGmaWYkM>Y>AF!F?eJ?#3sG~cdr>>*z%aUiH*j<`PS@R zLMXf7d`^&(Gm9Q?)TVI_FS$*}Ug0;bC)ghD2iHDJz^hbKx~Z`bv~-h5nV~2enkF-J4^mZPvM)Md-1Gq5$kb@X3F>bV5G*4{!H+MmHW$Cd`dQyKJ}s(!_w$7 zw~bUN-9+HGAQd-VbHV;Tf{d)bH`RX_TU-1Z%Z6~X*`~K zna}3Fj!I#j;Yj>@Tj0D@7i^ms4)@9!Iz0_#RJj@cD>8;^X)9_ms~1`;EYR3Y1Dn(9 z&~;lC*w2!~31eRh7XRrI#NcZ-RZ9&@-lsL6f1`=qUSyMuWKcF%h(Gry9tU9@Tr;mi zKZh;Yc0hpcqi*20GZQfOdkibD_u+NEy%HQzPh;6nIx*nQ8BD5@#rQ|Dn4;c+eJA$(n~GC*uXt92W}zc}Bs9 zo7?e7_APw4%8khCrogJRsZd{|3kl(C;A&TxdGMhMHm$k@{;N-g*OI~zCE|h`Rd}4< ztIKDK-DmH5CeTYe*MNj;8&m$Si!4@*lm55&;B^a}S=Iy=V$;Dm=ps9pSBM9fkK*fv z=fdIiY8W}~gcAZ@W7PI$SeTbaEGvcJcH(??$hZhQPd2h_d&H*6zz-acf+ug{px$~X z%h_wlKMj`R4>}w1Z;eaIb5{yQF%n$HrI!NfnFV+v%Zfj3yd0-l+JlP2W0Dpp%UjMK z!tH&DBrt9wKK?s_MvVD4=RKPI9`ivIKK&8>db-(_(|TZWQ5@vrAD|}D;VTm*@NMy7 ze7tWus9IEk`^Iv?JLwE4Un@ns`%+N7ZaoOk?}q5MMSRZE$$W={82@9?mVX&JrP(1c zg}dsc0zL(SP_?xK{#;lMU}*#g&u0QvcSeOD6Zt*#7{0w7hi)4?QOAUA3Hs%66J?#uNFPy-N%K`laXVjal2o3(<$+J`f*Q7(?YCs4(R5zW*vO92U zbsGp~+<>j4${{8p5S%;T!*Z!dO+Q@am`D1ChS#sf!F?nb4&4ienNIWI!rEBIACtxN zG)s^qE(5hmzPR$jSRy5Vk~N5Sa5HyoBz4_0@%jGb=6ZO`EvmT75nV;jXPzS)vsi(| zO{^eCe#EihvIF>Sz6k#~tCID)r{m0v=a^yHR4l$W8B=`5z&(96*n5-%u`)S$;vJ8Z z0)^n%I$8eIr>nTrdElE!TQ;SEq&%hONuQ@wiEylIW{J_=X z``N-c1LmOelQ|aULsz{H%UuX+@jZkhpW>Xw4JvmF*cl_iIxuAon?HyCg6f}>vX zBr9$yd^3}wJKw)yaz)>{mg!4TXQlwkic1i!Q`nC43!uD8f}|IfnLkKc0Xtt#rdRBb zLFi01_A31_kx;5-w}e~-%U73U`{RQ+v(pW3RZ{3VdK{CYI9Q;45sq#?3tQX%vG@XI zNIxfp*=uG1r*)Q#JH7>X`fg^uAF>Lx|u>x(9d(4X$9VH>UgMt9De6FsulU(wzCMxQ$iC@z+R5U)zf|nmb zd*xK3_Ut^Fdf^!Ry6JRNP*2$<^s##;s7qZE35kMjlx&gb4o}4 zv5edXBDlN}wtNd>N{82=E;B{-T~%yC@*J>;+kv+tT3Jow9?~9i5DMGGaN6}~SZrel zPc5q9aOe=J?xZZI^>_10<@q2KXA2okS6N5Kq-L>&cS*$9SIk!FUsw8mhM3M5X4i+W zpv7Np{`rq66ziHn4qXre)x;LgV@fg#&L1OnX&+eT`DnN(F%~|GtU#l+6}Yl)D`wrc zW2H;%k#-{RV-mRNv3*RdMFaC6JHs_$FGvcF27`q+acj^4@XJjAdTA8Rs+8fh zCC%CDt3&L;wBKYwKnZTXD?-InPJ-;mNVxDTvH9!k943;HOg`p6h2&QdD5DFqs72U$~M$K2Y5aBrR}@%TI%rR}uv=71Vl&T_=0Eypk` z`W$InyBzH`B=Ft~XY@{)gV6(xTXhQx-F? z9RrP!haRGSm^t|*Ybo?V_4Y6{I$S`0DNMx=juk}4+gfnKF^zR?nZo?%XE2%U2*#H# zWcSO)Pj2{6 zrV0TSB*<8tJ?J4y!g^*Ek6@Cim#`iq!{M6ssWz8<4Ha5Ye8DW8VJ&V2JJ@s za9HOn-G4OFtg^0{+8%pEP)>)TC!={iwW6eMViy?MtHY4vG2mXwVA70X-a%P+_Vw5O z5P6IrYC3;cXIf-q#MfzX_1FwHxO@(~tGF42R1KK2x&L>}aJofqCR?`P5D4u!4O$hlXDJl`47-_7dFuq@8&IVPYGM}V6HU~y8&V+c$478T-X@( zo%k3KHf#w6`bi&tExif}%RUf?i}9GpT&GKRMKZhPhtc}e8?34gLlHx5Ok4O3_5?XX zv|JzLPMgneIQ_$$#xXo{b}VCn1lc(k54r}Z&C{R~VGpG7^-&A@ESQl58R zG`#N?W|M2JP%m5-mM@HhJ&9|PeA4E16deO8yM8+D{YkJ1AkdHlKk==4WUQLxaqR$OLu+IfNuv@UD}GmDVZ4c25{$&TXgMgbyTRWBdKRb z>3`#DDBwN`rkaL9()Vr9Jhuq?15IFz%LJdL6=e4YYv_2xgF^{-L0375Y`rT*{+@IJT zTR4s@E%%eq*sG8>%NtGekI^V@J-$whrP=%uq^V*$aI@m*NbyDd6yrtT=U3tft#xp> z>@;yU5#`>#c#NMtOwfDPDsJUG6^{3&A9rb+f#5kFE|-$xgqH8CpeG)VIEzT*^$E8)lSaeN=+i+AAt-KU*YfUj2)C;i5 zQezlkC2Fb=*NOiPA7T_{F5uiwhhobiV_G;G4LwoknM$W_x*=^bOna)%wmB={fovPN z_(Kvt+pU0*uDdiaQHaqmbHLL%@kjo&*O5Ol5p%DcgtOvtc&zy_c|XF(rgXT#>OxWW>;o^T65fleh9|S> z_XptH_v5hm@C#h1+JrSL&)~G};@nIF6~g1C!kL-@xH9pS^vn$~!4U$?Zg!a2aMpF^gI=><-hH~NM;zKayhdi*JE_irvCQP5b1gCjA(XG?UL0R;+ z*=;)kSiSlsd3dLVE-;Wp_cPbwkCp_m5*FxeQBTIIL-CB`3~q8tHGTL{g?ybP278np z|7BVtI^N!c4}K<6W37caZ)pv+ObvwPhfZUZyAZd~?K}N&U_EFAKP1gZKcZ2{IQr}C z#ray#nUBx*;>ptYc*<@Z%L1dQ>P->us8}3+|FD|8a!4XOUx;#It_-Jp#2nkjCa8>i zFpRg&;rx;>VeKv>IQ7{SH3KWK<~bi*SF{$B>%m)fBv2_R>EAutQbsg9mP53H_>abkt|=k6XPG>Cn;Y$ad!CGn(O#7V$5^G)YN6;D=t<>Rc-?ihxVJ%!@dBd#JdjoFjk|Mt=nxJ@^D0@bv z1Ud%f;aFw_szxM3Re3w%xu3?vLo(d-_f0s(9Eii4Q!vxfhO}!2L*>UDxOr&^0!G?N z=i)Fh>GXmTjdZA(ScMPv&!~1g=ni!OvuLMpI9w>(17Vwm!CX=Su9^QPk{2vtU7-YY z9lZp%2K{JZ#d<8>>kTG4ve5oM4=(J}BMCekcyalk4}VdB6HGC0%0_=2jo*yvc10j0 zQVx~sWuQ1S80`9|!BpA9Bu9tGYvAW2QL$SvQ*;h=Xi9*>wix^#;)yu}mRNgc9X2JL z#*h<C*>N^dJ&_yVsLiuLsb4L4#e{5CrdD z0FCgj=k5RDM0%gMF|)r+5cS@6*f`ole}{fx-Umy=ak*Qt_ESE)=0*r>cE*^!b?OnKzvj)1q#AxQLU0QN^xwe-hj^wew#wrq1J?EP!Zp484nvmsGneiHWB z$7i4)V?c(CwQ+{|3TiU&2p-HaVl!if*(pB+*hR74W;vGtcoi?D$ zcCUE@nx|@@qVx+iH-?jV%~mG;q#RBTzmCsCGw{fj9pq4eD=V*gp4AV?Wy>s$*jM%& zfD7n=tx^j(U&TbuvQLuRer_FS-I9tIA77`uJ1J!D(I=pHz?OY}X*N63RRnxSM(8RS zj?=BxVdK*r^55x&TrK+-AH_ar91^d=bFVJotFH%#Gh1O!$SvqM+DhNvDTUI`8MxGG zKA!2z#YCGgsMa^Y9DBcj*{8i5W-fjJ4OuNvx~(0&HJ^jj7GK)mD9W33bso;W@*lY! zXobob9mtZ?lmzX&jq5{CqPXXMe3T=D4pHIs@L(SePk!>Rp6~F^hU;kQXo|~fzVQaj z?MU@!UnW7_52b%>fl3Vn`t_U{R<_jQlOt=eGNg$ZJqV`zB%>JTXD3jo$QDD)4XJyP zCUyC<6&E}y#v$u?+z`lNQ~4U?#YZ8dnvJb|U9`H_8`mdTl25-JkpEsdZ4em2Jy}jD zGu@lmrHVpclOOyEz79?XdvWtDU3}iu!<$piz|ZCqnrW{>7wr5GcXhgAWPT{j%%8@3 zSG&O(JAO7J*^>R(wI3v;=aQ;P525?#S-5;89X@|{f(>W?gYuazaG}4K6lyxNn{{2; zk9Eu0BG3m1of4{>YQwhVA7$-ctznm&NV4?BCF0=_M$dlB1Kr{$P+a{So_FR#pxhofLG-2xYf2Zf z^-hG9KJ*2mKLYg56(a#!l~8oyD!wyrMv-z+Zt;UXcwUFWNy0I(Uw#&AXkG!?+8Gcd zqXDa4uR!A0O^sGX(v|Zfaau(rp7Y#HJ&)+&>xNYPR<4H{!zDOgtHhmB(BSNMiE_Su zqNw*VlctJQnHl3G99+Kz3x6U#U($}d*L!1a)p~q4G{}48H%c_K93Vi~n3Q(>ySrDf z!o8+;xNW}^yfwYT6o?ALo~a_t@8;9hS54#TwvciXDV0+FHz9=Sa}lPV^K6*YPU>d6 zy;a~>a}AmK)fuA#hp;xam>!oerlVJ9FbOR$>CnA65~MdlB!#~7ww)*;?t4Vg*9J+g zLK8W@`Wh-6o{tB_l5vWBD5;&U&fa|^$!_b6f@60QL2tS?6B0i}mv;Z;1ug#!gS&qL zV=T+1zMO#mpCG>5lFQTm|)Ml`yd)Fhv_@kqto(F^sdi7xZtY8u5Ha`m+e@_CXD?i!+Q$J z9p7cNKr|ig_f0~r(>xr{Rm1z@kI^yd3Y>E|&bw2tz@BImhre4Q&2C@mhABOhxN8Sb zBV$*OE{c}iyZafWcA5t6xNiivb@h3Y7JG5uc7Lu!a1;I%$;N5-G*F`@n7oV4#_*9$ zRQod*9v?}92)juz$0daR>bQhw=W1{&g{{o4fpEsGb_Hy7yHagBj*<6@IkKS2P$km z8F#*(4EE}vXrW&tlx2#6ksYwRe6E1w)Aw}#-p9OdXFebuD?t5dJTwPT@V7FD z&0}5QKDM6Rp1T06!*b}`_BklNoG|w9Prwh27Lu~8pZQQYDA*x_9O z8y?IARd-b|;W1#}-AS5F8cEg1R2aW>7#ib0fd9HlY{5hO>am-A@HRXbPT20ozw8XG zd8+|=i%se8xwGM2br=!8EXXEEZ=@>sGr*^BG0u$a!_Rk5p#$fQ|1CA-7KaNlABY*K zzTnYqV&crB=s%Rrm8W&PlR-@TH8}J0b6I2(w=k;?CDxpy%+@hftk;F#9bI&0&{Xbn zzYJHHau*k0@Ze_3$a2FT>G)AZliRev6A!*z$%VaD;9LwGf#aV|FaEiUdHY}DbK9@j z^S1TKhzoQZc#ztY;5@{THU5?pfBe=Q^xU;kqH+-!?ag4`1mL1Hf&I;P4CQfI}h=z>4 z;UF^}2rs`0!j1jY$ie<(eA1{#PsrKe0`V^T$Vvr%rcH(&->L}xvz5ocJPUkUl}PFC zLh|}wd*ilj+BT(!Y!#{^nLR6*_D@Tg<_nTA7_<_8MtmlZokGE9Bm?p`7lKd!X&4TS zfnWDkK&MF-eMk1*OddM5qt6_&IG;!>oR6&3j2C zJ3i58atd6aWG2UqIB~;jFOV^OPk5(ikWFv%QTFT~EYTC?qT3SDbfqPugGlJ7K@2by z<=oVdb5h+qx!)B#@#tG&R$-S47@Uj+aZ5`Gu=R(xV+X-y-XGYzYz3&TngO~h$H99v z^B>P9pyxU%?$D%i(z${U;vPQZU6wutnIij1k!}>*)wD%$upW&>%Bu?Ez58 zG+?N}tGXB;I9$XED$*Z^EB$cD+UbGOmd{2V|1|0sL zGYtIQLB#T}5IZf;h}{sIPu@#KQ-6n#Ov}@oq+lx#wrz=E8R0ajxYvzj-dmi=Nv2i< z-@v0x)R8(Kx@qv_EEC^&Wv%%^&=i|Z>{c8UhuTAU>O-|41WHhH}adwJxNI=koI*(WMz~FbqvoS z}4}t=UiN zjPHWH)h3v#jbJ(U8k!&40RIC%cK_Zw$n+Y4qYu~Mn+_>B{(>X?uD`)vRGHPWl46^5 zrD55+SoGK@iWdYeVJIjVZZ)2Qve#OuvNRVzrf5T3PZ9JQ&SF3Bx&}@!a>>&;bNsc+ zidI+Vkg49iyymn#G9Qgl{`VugV}lgNFIY)h9<3opFN-1MQa$N*S&bEKs?|xiG`Z#X z?YSv8UASWnZ}3v!X}p`}h{l)ClhP$Gss)~gfH1!WxC-ikkJWt$Dr zegD{QUMne4(7`N`3q&Scn3irY#P)YpSgve|x`DCem#aLqPCUb{Yb()H>kqYhybxz^ zcA|klW0+MB5@|uIAK7e{h#lSnRK{_F{+`Gsc}XQ``^$(7Zc-*EALWvTGoKLSh8J|S zISywuyZz$}9d66(qbL)72eUuhqni3@s)o6+DYBqaZHfn2Ca;2bq4m%<<_ZQWH|VUP z*O+Z$O~FtV>|+ObwPE5ATj~P;f3y1_b`pp8Dr3g|&1iOZ6$*epez_pWT`3mgTxJx~ zfPiwMY2A&pM^9qVojLe$Ru~$v5ja|)2*(@#ziE$$(l-%mI0xQiT@ zw8ss{O`FigFcVi#i@!4((a}kqWI__we7S+b zAuVV)O_JtZHHN6y#;naIeyqIiixmq(;mOmLEOXYC{V~}KeyEsm6PJ3iUW3Dhe&Vdc z?*VAJW6g$b5QPnIe0YX%9=0S)uvQtq?8j77mNP#CPadp7`HPaMP^8Ls7Vn0O7T00h z!7oguTp7yN@}ZKx6q~qIjNSc0lx_UFiY?3844np!xZlu{z2jlU`Y$=p4tkwqt9Ekm zx%fVOikBrL{x2X@=M*fO(gIgz4-?_fW%$=)l6_SKh6 zPzF`>&#%Dao6e%;A|2F!!q4%CbYe%2G^E{I%O>jogmZ5lK-<6!O#KpZ6Wa&VOOxR2 z-`6PLdLIR2E+MZqiRV3KDMT%lC;kKbaiU=v-BuZZqO;x585VF^-ltLZg%B6KS)5z) zuXf71W_Z8)H*V6oj4FLUv2a%{?^szfX4k569x}NY_&W~TRvIbhw{#+FvFY3UZcMb4m{65?`+Yb(Bd?tTr05eB+7tcs| zluTXr9J-z)f#UdQ=ykgX+jab4J+HC)NvILrN-Uw$9UH*5b2VCNt08>a0H2ogvqhgC z!xu}+d%oBcBrYp4N5pLCb(Pg9-mC_KpKsH?Bg#03&j@zN9HlxE%G~`8R@~!z|F}e~ z5~E-KAx3tQaC^-ra44Nd!qm;-r*jqYtLKBLJ)!8Y`)}@ZFC*ChrAHOhvD%K(tnr(0 zPmG65mp!(ZNMhl8es1x^1M*FG9k}>;Ljf9t!D)YT0W`U1?_x1BHx&G3c2eiu0Q&i= zJhL?aCVi2A8YbRNgGt6Lw9Ipd69@NTU}P-198xBdv0AvR=?}I1Fpmn~CUA801A)n+ z+)AapNOhj0TFDKZ5K;tlK1+PS%b*T3oN+6(^1e-Ltv=}&0Hucu;o%Dh^6gd@PsL>g z+NDW@?%hMs`9lG^s&%Vt7FR=b<#G4VC)*m>Gctj2ylHquOjB_r=( zVVpQ5dd$V5zmizf>W@QVCkZ)TOiiv?!4)wv&?}h7Ca3CwZJiaJ^mHlv=Wi7h-^^y- z4w~Q_K1=3S-($1$-#5eYv(8|Bcs}f$KNm!F`eENXKUUavHhZEe9ky5okPCv@WTl=b zEXHVK%YYKwPE#TWw0~7R7g;@Fq!r?8;aMxWC z?!&k?N4e$PWDyl^yLUClJO6Vr+W_8yqyOxeWnZxw>_t+=UG*u-o*!^&`ppn?@IK}RH zw3}^mFlO7!ZCD-2pK!V25$zkd;n^e>!G->taOt%z*)vlSt{%z<+3x9V^n-9V`G7Sm zoR~!B>db=KM+0b#)k0YOy9B;!ID%F9T2$~O7&bH;#eZLg6B)wn2Bh#N#1s~8`nQ(5 zZ$T@}#+KKw@fG@^+SbXa7fkSRY%}%l*+A{@&4J}|@~nd4QdqAt3l8>whi!_p*>{KR z;LR~BOn?82hVI)zHeS*rn={tIjfwLhy5}ybtl9zTCfU#$H;oNm9Swy^pUL;s^VGh} z8a*V7z#}Xleq51+nexwJ$u2fc63p>fSV@R#?56E0e8 z{-7xo+ZKb<%!O>#Xg=F1k;UHmp3f?!>9aw4nRG(>Bm<|8g5cgqz?Ee)A4{%4yX{|c zxXp-7-uf3_$7Zs1Ve{B^hospJ>?lnoiga}0batI(40v>&#U)m9_{=hv81ZYf*7c*H zE6f9*aV1vgTOWAX$g@lJOj(VcQH(*F18h`wff?Jsktd7}>=fPtE9;#Z3!QSarMCx& zkK|HDPHl`nzhDc_gBs+hohW>mv~P&S?n z8fMo(B2EOFB38h$3k!*K`XTszav|uwErDBeoRQC017Dtvz>S6LK)tyhoR{AQS%qYf zxOE;L&%eNEI^_VLm;!tKY!yhT$V#p zVm^xOx=0oF{(5CN@H8H|U8T73Uo9uR-c(0sXTj0wtf_6|RCuSCM%_|(z@f}8*jarO ztWVd`!)M}{Yk4g-8F0O?yA{b)nGYlsHxHoD=#s0&bT+ZuyeA?rQGE+;K%(b005fNTJd$W4?y-+)`F2Ilh^FCLi4o-c%)>T&D_k`7EiFFzjcnFjO~M6S;cwI` zsQjoypKUiG=ez2VE|10A`%OsN-2)`(NGK_;jb=VcwZK<>C#W`Sgh_|CgCOQZra>&( zbUF`=`)Z-9U534pF2L#>U%*=3hp~S+F~Pw7^KoC-^$U3%D45sPVG^HFs%fa4N)zLAenfXY!KT6EB5X}Z&O8#dZ0o?BumLE?gKIDaey-mEiuwu1*4u^!NawY z^x@TVP^t7M2?b}c)vXqHght@kC9@c}AZ<1z#vSfG&%lVdF624+q4k+|+!f%=)2Ohb zQMDylK825~{1b-GZ)U=)N#juQFb-oM`*O3ZK4ImV9Gn`Z$>jNg6#+NQMQ3>=p+D(1Tv~A*9Ki(gWVgeQ<^=G|20H5a(d>@sd8*Xk2IBcS@bO0p zgcV7`=-EIJo>>od{Gw32RRoUwErm{zt7JLZ3YAtV;CJ^Nr10&8eb#$mM@s%&Bmys4{`OZ(@3Wsp*GEfM7LrFsPA2YKE_V8(^VaP{A6%*uQ5Cw z*Jb5@)xwehYr6OCT{0Gzj;0s?BG2k1uVI-MOfmCBr|8mZ)-4-zQs+bW+^OuR%VRM0 zKt8Cs61HXWWR~vdU?4*W-w0UHD{gA=?baNg#{xmts6(4|);q@@zpBHQP32=#_=Nud ze-BbJgkb9v7g#3r9!rnrkSWUND%ShUvkBsj@WQi%sxR|`qE>yl@Lq{MFSr!q2cMF$ ze-3l$!&Q-@g zqwyzRa#;ZK5B9P_Wo_(N_X})c!#pIF1C2vcLBGv zr3bt8`A{J48BSgP2W3?3nIZEJsJ-nvw&l;p8SXMvZFoD_Dcu4u?YD^8a@@~?J`7d< zjp`3wagXb7O!s%^X-sLNQ%)?w>>EAR%cVEMBK!MrlNlh@8neLtgD;8~iO|vm&v9Sm zLG;*{Ub$f177To%L=3~@naj^SFhk7%1D{3U62D~Jv3(ugw(>l!jyC}9MhWBzFT^!Z zg{jTtY_iuxg4r~p2us*R=oXyZ`=hpAMnCd30`} z0}VTgu(DU0l`%_)m(vw^!H;A>XOxnQt`aouxI5a#&Lb;Wo|!~}I??e7rOIswv2xvE zGI?qootR`nS1BAJFK=B#E#+7`Cs`T4Ey~BIch=z%$8h>fN{}bfvl&w(#JLRjaon=j zmhmvOpu>-a$Q{8wAbqP1l_cHq_LnexXnBw46Ie^0u8qKeBTukist->D9LH<7FX7s` zvS5@mjs3)41fPsPGPfq4I@`N5=925+!ka24%7%d9^!c#<_%O4ryB$LFO*CKT8o z1B)L<#F`r*rCGAD)vT3~+T8`iM-fuz;;F?ngQl*A`T zK}ta(F+8si+^fqlR&fI6zOp8F)UKlckubE@G^DQ%YLSy)5+HDTxtZ<7OU!IR77TZoS`ZFuJSs^I4v z1gT?7@xO!H;GMQQOu9P3YtTH*Xw!rExlP}6g~Sc!xaDv1j7ukXFR0?e-bxZ>J)h1p zO`y-L4#NH4?jXN$oVR|)BAh&8i&g&^Y3j=oNT`v7bxKFUeC0|wDk(!}51mHORR-X+ ze=`IYoP;GF84$HBg7_9Tkv$v%l_}Z~adA3Cxc+14IXB3x(r{jIOdf{(+fRl1b+~rk zE4*ysh|7em#B9;S(~3KG)E@;K`f!(cHBlNd zg(~U=Ok*<$mk3}X>xP@34bX_eTx<*8N)@L0qTtIb*cIoBuEBvgGcAXR%~}QW3!f3a z1`Vt(Ux%Hhc{nyh0c1bRvA@KwL+W)8{JK&a_{L^odo94kJ$HB-Pzu$@X49nb8QcQF zmE4@C$I*Y117x24L_I3_xsSI3p&O^;Gaq$KBMlJr*__>eBnQrW{qxWKSzLky;iQ${ zQ$6kx760>^G+yPQzRVo#C=7tS(M`~@T9QqjBE$BEIYG&Ze5hc}!1~8!(8yPTyhBI8 zN+E(=w$X=dHFxM=p~IB8{UAndf^76j`JiCV-Ms z4Q#9FgFh8otRTNTe9!noO{@PXb+gf$0Hf9{NR>}5rpiMqiZFkV6h8=$_E?R z>id^wsXwRWoiaK3DjFVq&nCJ=ix=A7M1~%m1#@Y8s@eaN05L$$zlPRVpu3STCiFJr zbM0qPLjH}b^BfE+?Wn@_2yECMO3ZRnpv$!qOzh%B^>GpMWqb(mdf83Z}^0<$Ky9F_CPdr8&v_kQo zQg9rLVI`7&f>!GROz{0ljs7l#Xxl4f@=!Qr@_wRB>REiD7D4_rc|!e>Xmr_P$PFkq zV5Wc+2jS02kV_kMwd{oVRb`~PUzB+EMG^r~FSvU$1&mt?ac_Sr?pfPUrvFz(_juRQ z_}gh!rgJ9YTA{gcqfY>4-<${FK0zNCD$^dvXcVhQeDh;3)|~7>o6$a8QobA+e^(+h z+yENhvTV+`eDb4h8r05;r53hlkgx9$eqD3{A3reQ7TV6^Rz;mfvvvJMXZ|eOtJp%s zj)p?+WpS_$mw-IcNIX^1K?Jz3SmvU_mE17m7Bz+AJl$)1`4ea+lxc?Ba?X$Ug zu#)bzjllHkanwq(<$?e>c?W&2qvHt;O3%kUhr`%^NeUNC9HQEu9dvS5FZmbez_YW3 zE2e>H5)y^xwPM^=l1r6TBT4=S5tw_Uk>PvH$N5cIb9Y{U$JkT`0B~Pk>F4I@s4Q<-|{(#HbQe zaO#~7*-q|sSy>~~5Lb*Yr_Ir7NE)~572%L@Fk`JR&W5X0x*w--i-UYw>u# zG=+&P~yRZ_c2hQUbM*87iF&*L*8^XTL<{(Dr0t#oza^tUhA@sK_ z=y}X1<2#FZ-8EVmSJ{A*CJ&OWt()M;ECW_;`zBUFZG_I*Cd5U(Y#?o8QY0;KjOZ>A z#HO1f*qC+-(>yepn6G6d#KfNNddjd5dEM0Pi8wb}KNW9At>le<6ozi8-RP|=gF~}# zGSd!pSBt;;4@V0(Vc$Rrc0msPKJ^!BO68D(PB|F7m`0|($f9lIo58tB20jr95SD9a zjEiQXSCu#J+r0>j^|sR9fdmXr$mU&iTZJ`dbHPTsjU0LZjd}At5JS%Q(cI{n;CsIY zx1LGC*Nvsr<3t%+T=zl0Tb?x6`XDWdzeFDJ1To2UQMLE-2pU;t$*lbSl{tT}4mB#2 zs%O3I!u%^6(8ofQe*5u@7WDAOfz|F_@T4vQO26u|Y26{P!>xsRa(9R%e6(k0)^cz&U4->;>IajEASjx# z9|C={KsloVbl;o=yYf1C3);|0&*C(%IxrVw*k=pBLguvJ|M;^2-fJX7W{Lqofhg?0>-qY&PFVxG`UpohhIP3+wpd_>F5cW#xOb zq~LYf-dT+4E)!q(u#iWaz{rv$BkRpFRX1SkwEE412i>eeQFqqUz`;ChB>Y|VfTB^OPzvS_vTVRj`pjhlr zT{~4^fmIuMrhb;lYuS>cKMa`(-Z7f^UJ++EWk9~U7^|sy&{UCcfIhIJ_lIKRpq zqhEZZKUYnG^b9fLIvhw+R8`2-^m*__?HG^Mw7?1RpIBYVk@V|UxU9;E%NeL3TuLp- z4LZ~2U^()uYZX53yo8=9nY7le8?CG&v3Ji|I(L;WT6LYr$F1R*yGa~vb}3Q0-#VoG z-~|%WYKBR%!zALsTl&hdfL?CNfL*_DgRYY^^VRYeeoT2uJJ!X+*Ud5T?V|-t5<)=N zzKtY!U8jOgZt&<&3RK09@y?pX(q|JR3SOZ9XN=mRvkVzp2h3+IxcG za*_%s!zYLd>ucznU`;c8Z4UiXS=Ib!`$^-Y53up+Ye=8<5+m9*!EdK99&oG20!Kaw zn_OsS{owPW6}$`xjA=8QcjX!2x^E=zL?5qL{Tkj=w&BjngkhG#1i1=fxX*SJ)dJh# zp-crxFW*VKqqf1)PvH=CqyXe^+w7QK^SdXxUmN$W4i_+$X;tf+K}UPeu#r_tNLZWrdOx zLE&)gbto~InF(d2o);TaOa>jK$oOFsB7H}Le&41?&uOdCG{?4Tm(eJ+q0_i?KX0J# zoMP0tP>T-wc5GXn5xXip7TmVWL-TMJ6<=LXD^pBqu^opmWK}tr$3~pz*K|~N$p9rE zLw2OB1F*FnS~v5cWseV{-UDJ}dlW-W26(GeX3?;{Kj`t!6EHr1H;jzSu=Q*1knmH& ztaer!IXmMn2G=B^L~0Xpym}YHwj_Xqg#dd{W(}Nru#t9%Cz2bxQ+SD!`{4Sv2zwMsg{12XvC!y6jBXauFX9&Ke#@ekM zB1YpYFm3fq440JQDt4@-FG`=n*5i((;J>XPurkCfJ=p-G$5q*v1*MSi>odrg8L&(@ z(1%N3^PIfQP;G@YSiJBgrauy3QEeLO-Zw~Y1g65s-$C-_-VETgoeHnaH(^H3BFg73 z&y{?SL-}B2&X73xv0a51BP2{t?Y#<(XODvL(`d9%+l0CWpK0yRm6-1*!TtSvonCMl zF;#f=h&Ijdp|8}9sp@=X2-crPW-qCy1&SYN=W=B<))K+=7sa?AmtgcE8LH%HkJxpS zSkB!|E*HKhiQDRkP(VC+F1Vg|{Y41XIXV^cxdagTkAruineggV9~lbCA(w8f0oOZg zVS&6qtkLa&k|hG{R}p#kh-nYB-;!r1GLqr_D@is>WFPSMuYth{0`WI466p$e2+Uo} zZZ8*Mc@o`_>DUH}GWmoF@P}0ga)@=s41kBRkoa?u5wq!p%dz+1n~ymAAo3T<>_Z3@ z4+E?1OGw*$DK@$_53cPBfwcMGrsc`sD?l*mj2bc4{8(JtPQI9(O}+NjI$2 z_)SYX%IQj#zvS|i$vkQPVruxkl4K~~gQVm6aOy-H+-kRCuMgH@Nmdi{{o`j8rCTu1 zvzhk(r-k-PJVy9*4$*I@fxIb`*}?gIY~6E1sGOyQ?Go#mdzY)|#&7(1#cL(hC!gm< ztv^GqK5Ax^TqnaH3u9a}bQT5fl%h$uD$16-!ILx6(5O{Qu4#mVKxHCq@14wccX&W= zfG``9v=eSF${}4Q)imUVAB<(IL)A={JnuXVJ!aeCafcMEm7~BiIx6g@?XThES0|Xe zbT-`d$b!iIX(V!i5y-rG1mY>zph|#3{>KUsUliR|s;GJ}@Pp{i-dW%b{E9 z7y4nN3Y~7<0G`w1;YcY9K~{0#HMAP69pqqV!4RCh+y<9N^I#I685_&?!hkFXnisag zOs78BKk^tNe_6uc@A77U&)C3C*ZHLEfDy=Tz6F=GvLRxJ0E^iMpr#cCP0|Fkq8Ea% zls^5)Y2oqiY@D(%6iQn-Xo*S#v%+f9c*&3xZ+u2oyhBm+P#*c-R6vxIuJB$Kdm+DS zMb)7L??~l}a8PVgz`JEl^xBvKI#`%-U;h8cULg!FHqL~u-U_rnV$Sj3nZi9R=A-*U z-JvILZuM&cS@Mml^s0L+3s;n6Q8+AL@bK00?mZt){1*fH`Ch0FDm;lQ$g_!*gMDl>(eHM+p4e2FVYC z;6+6gPJOb34p&&iyPLBhWQ{hwdASwd#hxO|6xFHj9|^MRzn9e)k43=VZ3e80#R*vU z<_gX4cR;Z!W9ETZIth-lhgHJQD>C1Nf##xea8DNGv}F_NwgFe%(l~%SuKu6}0~U-z ziWU)H7DCehvCw~WbAfr^1D?Bglh*U?cra53uPl3qA%{6Mz4-=S+eLxQoXha$Yc4H6 zXy&;lq15lh_)WVK5ghgDigJ5ML7dk zczmEQ1SBy!cQyMxB#|9|Gz4lZ3-Hm3Ih^!vGn{f@2Zo8ig<#iS$bBxw(LIOXwQTI+p@&P@7*|7oQ| z&(J3HJGGU|das1~jVTCz15hRJTYd0*0U6**P(dXbXLKc@skRW;e{mRFcbjsFGlaR; zh<^+fcAXfuo~E{XgCr|T8{daUkS`5l|9oBuj^){d>bciEg(by!y687=W>Oygp0$O1 z`}>7n2y*7Vm9vIbpK{@xp*+lT$RcCr8{uL)(7k0VvFf@F4vHx78nthNh{8>HpCrsm ztlSKyv+hFh?CbD6*noCQSEAxlKF-5l5);a+QNJn(`#p!rp)4IRlw1X;4t#^UgK_^j zED-FXDoAE4fY%R8dSKTqytXWWQT$uUOq#t8h65r%y-0vK6<*=FS&Cz(+RN&E>kOvi zX$X9)*2nKkuW6PnKNhAXffCq5q|FVc+HDIike8tA3UaH8FWn&@J1>)Q!7Av~P==zE zEV96C3p5|Qh37jKpybJH+FfZxL?99S;Vu*5SOQO`CxGO?ET4Zn4w4`UJ{Xq3e>q(= zu3o?Q`wU$CGcoxH?-M)gwUl@pfW1~&o;jT zwSVV*(TG3WwB-~ltv>|ITBfiEg3>|6vkO#Gt=Pfd30SmI3^pjI^N#(GqVxXi@%`d> zNxQU{(vk*kMcvoADYQt6tdfM%GP6h8n^IazlthE3#``+Al7#rsBBX5DDP?5z?fV~G z*Lj@tI?v}%=hj>1n9c)usFTTV5kdCQ)^Jwj*?Km;ND}u?jU~Gm#(-yjBUGo1kj9>5 z^b&YZYX+Zz!vQy_vXcSnS6(n}&S~l`!*JOn#gL?H!(QK00^yM>;JL9CT}wmY!HaTY z)wYISt5qaj_fyE@56yJlf_mEB;)U8%jpiUDW7f=mBQyY7DGv+5I6=bWX4U`@k02Oq0aFv>|JI6`x4b*sCO6a z77>Eti>74BcNv;7bvHc7Z6gvb%d8q}n(+SmYF_tKFFX)vj(h_)zywDS^RD9{cI1(@ z^=JlMit}W?amk=seUVs9w&Wy!sBqm&ggN63A?}xm0a@#On;I1O!kh`;oL-A`vX2zh zs_EkP0AKF3a4CM%4MOq9XE5?XBsRR%hdjm}U*;In7v;xE#_Bkx{Zs_*c)15hi^aLW z+R|v{IF%e<@5Qz>o`jh-BQ$;WJ-nv;5UXtJc*{RVW2(kRG*pa3ci2mgoO6J-UME<_ zH4wElQyeq}?qlm^^gXA}mALD3QMO4qrF#`N%>Rq?oz=M+-mAHDqKTY%z6SSAOq$E) zTM1`^yioGt3skta4?mA|((5-~ldeCucwgfxXg9A!UbGS?a9V{Moso=B&&e}0HTqE5 z$qy&><SNI{fT=MwMMU9u2dDiBsbKp$4 zHeBGMU~n)3mc88sJ&Mh+w1;K$wi=O@wP(O!WEPt;eWvvxl?d<}4I(yrnZ!@Ri5&SM zz{TWik&-)z+7B#X=)x&_Z-QU!|JlQ>Fg=h@K4I09ok~-R%b7K~qOe(hGJMLl;+>hK zNvA9EqwekvMTT5$m=h$4Z;hAz}tYLyv!Li z_#y_W9WJ=x(rJu+pbSF}uP3Tp2P$ z?r>o+58OSvpq!h`o)Z4ma6NJsZ0Y8amI>B)FzSNYE9b$|GdWQ2^n`v&v&At36T1BQ zau`X`WMAL;0Ea?D82i>$_-zw`Z8|&Hjb|UgA}15}qhtoWYJEbd>Fy)n?B!VVqyMq) zRkdv4iBxv(3q97(Xd|_FvWfk+EeF0Ah{M7hCsw#{8^$tQ(b-sqm056+E#!a1y7t~> zci%X{PL*tBt|%XZ+e0%TqWm50nbidgEn-Q!<3bc%T}S41H`8o2cQ7#31F4;SxOUDH zysYm9oAEDv+dmz@3Xbz!uh=tTFcP%=CS>{MkUwi)A>V;a zOwk&pRVyrc|1oCd;6H+%9(Tx`+~ZVUw-P=s+lQ-ygD~mBH(Fv}W^M4|9oFpXcVOXcM39ssb)ynNxVEj`%bT~)CwH5shmqgN-ng253ddC+kl4;A4jtHEVIg1Dn z3v-GWlffyr6BJ~oLx;OE?2y?6gO`qj=Bg}aHMPaRT?`28x5F{l-6TRwO}^^*FE$3$D1}=T+ipu`L7Tltf@tX*Hhd z9<-k2a00idzoilH#^}S;W3aC(3ceg=@%6SMSTU*r3NN$pj`?L8=_igus`7YyxSuAc zTqhB|kKkP#Kl^3;7fl?FB1BV{_1bs^)~Wpm>(|TE1$VM2fm8IPz8y*V8Vs9djoF^v zrmUjIEC?vj6@pV5Swop9@vQ z!t8g0^;1g7ie6&UJJb-u$YA?`Hw;ZqAQF!kz{RUiNb=U@khIv5ST#bWvALJWE$4&IWPb>OSLPW?CTi zHnTy#VPz_?D31!xEg-7)vY0qxL4}8A;*SP?9OzjG>SYp`^wNm@m!)JiSe1`G3!`b- ztLJ2qg&$liTFT7baTXXZ7@g)0(A~Ays6vDsw3{a2_^!{`@Fjyzb)1L2p~s=>+&c;p5d61(1s?qG8Xl}|LZzN)++wz%VR6lT=FRRiFjxK@^goq=o>p-J zmE!EyOczvH;fKaQ6}j@TZ=@zU00wpXcza)M0~Gd#TAjZn=F~6Z>laECuN?rHOjqhJ z(L%CMd}9t+c!2HL3$pCg8j$skhu1EXz{5QZUcU=~KT80V!&!2u+5@70UE^75Y+!c0 z69t*(yF`EdJy}%BK=YydSB{8_YS_i;cNbXb}~_S>zw)Qp5tdWvmZ3{Kpsj_Eb>g#XB%elOeZQ`7iVMuLfJ@lZ3v#BjBwXM$IZqXyWgGFz2lh zyI%Yy#Jp+%XQu(U(-up8HgrKs|6I1XRfHv4Q`ljJG#ajAf|IU41(Q5YYB+fVJNIb{ z@NH0KE4dsv-60L;@2erf(ulSGR1GtNa(H1o%5a_Ca}-{#i<8f*g5W-Fq>GinQhE?> zcslV8>GczVhjy@8`V^QvUPA;X7(XOs2rteQ=j8Q7(L5@cX`b?v%sspowtnQOh{+)` zu&E7tZl=KV^jc|1%;o4o9)BHvuaW-eJ_;4Bo{r^RQ(^jIKOaN1xu!qb{w6@GC8enynK6_4L9C zw=4tC4NXjg_W_2Tu@~Bh1mSNuKRjxQCPDrqWU1AD5X(CYDRCp@SKmHneNhrBd~|}s z>!P5;9tF8AcbO-W3AFB{HmN&yn~In%A?-3-aA&+X_LzFmM#*pp&C3K3pTn9eG=aga zm2^_lA96V5msPdM1_-(J6O7aJfhltY7}ErujX9uo&k)X;P0Xy~Ui2EY2LXvNy8lF0 z!;LCuE0rVL;HFR#Tv?-tt6qe`&~+OKvyy`wb6UVrY3kU*I~FfPze zHk_}bPb(HO<%_K0*y%f<=BNrYho^GQN+Z}mvy@zLkLC4LNR#8sj9_HzdF!zIuG6QwM z&iO7xv{Sk##+KJ(Wk99y>-7x@w`^NSbc$Qs5F4wYf<-M%237g^@@s zAYq?GS((gVki{1U>h=X7er6?E{n3&>P>RPkc{i|j?;$%>TWDI@Cwlc=6go{-!kqE> z5MT5VTy}=T{Bb^dCq)#lSm*HkG^U}xeivBhC9wV$*WuvW+4yCTIK4b&7u-D}F!A12 zc%6NndGIog4yd)GIf(*M=@IA^YykU>hS+ZFgQH&6XqKqSO$*vU9^LYR^UZQJ{mL^E zSoyu)y-tCfo4bp1Y~R8aJgetu#C-1Sa1UwtAj_){v)aq*7znU5Om5oa~{6|D@<^>|Qzbqa8U6D;7X2-Q=H$X-i+)?vRen|-|u))=Tv zWMVFO&IkhYs(NU7CI-2l^^l|(3I-eH;kW-TkW3R`)#vE5w!QVxvAY8vkui9!_?0}r zT}uql&4lyal5o+jfyj?bFkfLdo=$tl3z2-m`zdf3#H3B}-Q8GnsAdWrYAmJ_x-q;n zefr?yJp`(*$*^gk4+KIn1l`?)smoGuSLqQv``!#^$}PmiI1hrtqHxdP7NZw0#(wH3 z1FzaYP;tux=KYa}4P7hoX7M-rsb&}6j_)8>cP_w9WoUgi=qG4uOk$_qp2R+=FM@ar zPiBqBEgE#!5_+C)hOjUN^zYQ8e}yZ^f@&f5Q-C~M2|HOb)_Gt9k8kfw_#ss}fxGCWisJuQx zR~(jst0S|aZ2C9&vRjs&y=^KR$1`I2;%abd;zwNMZ;dIp5SI(8FbZxWP<2ll4Z5;W zO}mu5e^y3U^u?1KWs`9Gg9oVEY=Td}6hPoO!Q)CwxX;BIesB2N5U)p}d#fG{44;RD zh}|H(dkq{r0x);;DIAM(hgn<^eW-ei2A4jiin?}i!1gNG-V8{LrWvvwWMM%q`6cB&;W|o8iB=o6Up^1pbwYs8Yda|_ z+eQtw`{?QL0;<}1gG97nCC~KK;nFuVIHD{;w5_BWkEYGAuSS7gLUQ4ETNP}K(ud*u zCZOoE6All`M)jK`G-b zbpM-9>>Io2>r*lqtdWCrrV5bXM~hLDYH{~gC80-D7dg?{LLbtJoE53Y;DHU8I`=ik zW+RPy=Y%3XNx0x@6UsVd;M_0iD3cIFA6_xT(`jrRl7Y#tsl_bwcmP zUFhQ0L&e*Cp?_|Kb*JN9>s#lPu{BbHl+u>NlR$rfTVTi2zss-~4ACdggdNNICGn~u126N_HL4crQh;TPW*Fbr)5-GB%<)w>adeTQJb;yWlSW7ybD7Od2? zNvwry3}k;Q2bU*Z&?lA;OHcR1oEKLhPSKIpvRi2B{7bkw9g#ebX6CDrLn;z1PINk#?S_$sUwsSA)CAYmcA z!Tm2R_BjWRU+)0Xl!c-)c{rG(4`ypOkW8yf)-{LQ;NA2BkkuWA@vHuDUt0}K`WvCn zZxzp`cLO=^A%Y=cVfff90h8-*z($`)@Ou3p42H>rz?DcC3%tej@B3{1b3rnXy;1{9 zixXHI$!+XQEdw?ud5pxnt3!HzB23xF!p!bbIxqVTJ$gNjSN1jnOnW5Q-^Uf%!+Oui zg}3eaQOpS!)^8w|9u+h}K#2)yk7XnhWGCp)k{A4FJ?dMFutwuWxT#K!n?F4Q-!#t0 zWMwHFABlqZHW$gKGves%Dt;W6zjz`I;di*+~%uP8Z&XtM#;x-*yNbZ|W#$F}T5#R05`13bZ z912F+gTkCc$t|?XQ{dW+PoTSn0oG2riKju7UUw8DUfl+8Nvj_cWrf)i)8*uNz&8A5 zHi?6{8eaCkPdJtD4sH>z!2KVuVfm^pv|wx&2pwL_j=L;jMYqPW9};s}(Q9!qp58$t zbK*h%-vPMsQU(nL$I$9&2Dv+OiFkWlA+?QK7%(ixnxx6HQ;*w#;ea`jESuzyV#+_>%wU*CJfhxdOW z!L60q60N|ze(ng?*(MWtABfjIZ0WW`m$2nPE{S?&3ID_*fm5{u-;&F8iRykLu#zE) zgQwuHq$gyjFCrVW2%Qsr7it>Y$=?72xN(hx^XDTQ8oo}U^9G$k^Zf?GWZnl)NQVP6 zL`Z;#2D@@>B1h_@iA`QLUj6!AR3Er}tP`U6*&@5+;uR;7{a9_-pe_JsIx#GB@1Nvk=y_{vgW?&9F^d ziu1njJMouS)_Soz-0Y7vm{I+l`0SG6#;+dXj%<%ah0l%H-1iUl8=Rqd=PrCw_XD~io3^@_y{oT zmtKaO&rIQGfExZdsE+ky6PiuCNtb;H2i30vtn#V5zFZ zwwCf*s}EsGn-sU`lNM*JFVAkV(qa#PIRYZQ2q+yfVxKN;184mx5Z~1Sg4;xav{~Z` zPgU+(=L+m;=4gMOAKcG5i>%HHYeWC9Ft6_^tS*lxH^eT3SY$NWIXM@?uez~!Y*IkH z+=$yGq`>XpvJyf>gmBK>Fx+}AW5Sn_RHl3;8`ICj9^+MXyYLB^sda|#3oL-FNE6~Y z>#=ouO&mFTCV_;5Gf^CIhN@?w za7AGQB)M3^Q#VI4k{pgFA9-@gk9%>gVI5DRVmrQG7l9?>!sK)PTqu4l2+~c;FuO$y z9j@G{KbRuN@oTK+@|w{A5{@|9@6FU8)u;VGgajCyT)^scuYO!d}2IxpOO4&5xBzDlv9s8%mvxp0;i*M z*$qKTY>1x%XFpzyI@xnj^Q0b5Za7P>it)g9(jS^%yq>FC1zf>cKJ2?-0xJ2BaKXn7 zobq=Q&a(XrzWyo5X{}jH%{P1`YbJK6!2C#V>xodV)XAOOTw}y73p3;HLJ$}8OoTIu zw#5;)1E<}-iDR;dQU1*W(z@J~+xp#+E0)yY)bS3kye5VZUKXR}Dq*USXNX5lF5=ds zeB7-0g}9|Cn^puGkl^-2UXA7(;-pZ_etYD_8g6R@ag`!o-u&UGQToHk zEKP;g3g?OV`dnJ>AcIRQL!jSh8p{*g3JbSPg~m;%KxsEq3=Zme4Td`7X4gI zQ~0zYLtlZlb1i~(B3FppTPrA6D3mcfmxi(t^blhT(gK2ShtGov6q-cQnljzX8~c~Z5y3+_tt z)BacT?2%n5(DZ3Fy1##l_o*N}4@ifW({CVoI1DCW|lsOo0UjtH^KL&9L(y+8ANI z3#W3G^0Me7mWU0VFVR!b8mq@Msps0Qup|B>ls`WSznX5s$>mp};wlSc(*@Za2@Ur0 zvwdWyy(~K9iWAAQB&ccs4E|gw)K@yO(R>Xcu2V`hl155U?965q91%B(~3Ny zN%At)DSS)Z)-{6MpY`x4FAl5=mcX>H9BBVI4+ecQtc1NL%q-c3)`#U#OJ@yHuf2#l zt7AydJzILWLW&Gm*-{+upjVE5;HBNz!nTF>(`Nb~u8PaXd0)rS^067l+ubL_z8)BM z(I3~jY^2{h&VXn^6r9=`!+!pn2G<|o!nVRO>o*1S>05`5DA5uQw@nUXwz~_qTlV2x zc0JKnRAk2nD_C<9!`65$#O*m@q^MAk-86n3z2!_Uwdk-Fo`0^%Z50D&xm)0rXDS=ER%MgPEx|B-siB)@Fq99+YQ3wH=OFZ)4E~n}?4>Gjy~3lbTrToN$U2g&g*F%8E@b?~}x2MOIG z17C+V&}^XsovCJlQ=7anflmpH&YYv7os%%XZYutFxsM9p%^-foUGzq~7+J6;0Xi22 zL6LDd6jg|TUVRC1du4_WWD>CpJA^Lg1eeInLeBJ7!_=~uaQTltJ0RBwYyW>s^XLFA zyIM(XYX#9#a3kFM`v|rROTj;z3t0No6(!p?L!$qBcAd~H*5>LiM%TL>pH&}2{I`sh zf6hanI|Gm*n+Y{LwYc9j21iYtJPo>g+OdrkuiCiTCuuJpCv&qG2y+F#dJr$>!UkpVSb2w2>J{Gu4CD(FvqBEEXSK-$##0>cD}BcHYDa<+*wtz=7^roZB}`Ze+_- zOxH5Q$}15l5#@)+N8Z!DMapp8!-8%)sEyx3*W+g8)o74@4NvpU#L5HHF!lU*oS$Hf zHoHR+(-m-P&J@gDdW%B;Ps~#I3FT?r1$xyP+8~FAnz@d^jqO_MXiJtnX zQ&vw$-YlQ!4H4^yzsEq4^Q9@SBA^v;4}P^=V1DLXaVJdPqDsRwlGQYu3O(OPOukjo zbd3|F<>Y7J59G&t*W|e*uVM^(pM@qBw`rppLzLQXW8pLhCU@CpdihE;)t_a>NOmf- zy1Y1RW7*4SoVSaPY})}F3hh`AAr-dP@gYQwbd!+IEto%Dmz`Je9Ht0Zu?O^9A!U6Z z8QYQsKFRXB53ojTeBt(S&r#3^0aFX?B*|Ja5q4U)fE3i4r<+_#mAh{ zXTd&<(v6{W^{g;oM~$7@qs8tg9jtME0J|$noNZ@h*e?&u>D(e0ZbOU-*KjC^+g>Ef zg^$?ada-r9pKT?urrL}>&G@ix=fa3epbpxnUc~Kt^|4icz`AX6BsX%9aD&kulo4b} zs(n0le{vCmVuV=vFH+zvCB-`PS{e=<`$1PK@^R}sCAsn#F^;OuMRj8WYk3i*TE&U= zY|&!RAJJo9hVbA}UK!r$vfSqVP zUkJcx!Dl!z#Rvk*M4)g%3>G#XL$`-#8lHJbk@oLRBx`;@b={MWgZHa=$tv@}^5#zX z7ZnHg_f6>s#r3!@!<#9~S3?n_6SOqyCXsbr3(g`>N%+g>K=S^=zBN+Zo}K-eyT}9E zwq;|UcP&nOFpta(p5Vf#t;AK~KX}AnPeqRGN9X$?oZR>W+^Ve1{ zxnA0ZLn@QG6@e>p^E^bEfk^mp#hEl-u7!s_CTuj%jXirm7oz8m6Ae2C-haM_SHYgE zV=v>C?-%jQSRO5Yzn0Fte3%R~mmyyxkma>Sv#k!AtZL{8nQs+@|4p9>Tg?>URj(B{ zKCd1nY$&_$&0CxVD8W(Yr zTI9|{zFWDZZsZ3X&05Uv`1K6TRdmU1n0sIk zD1X}mMsFrlO%YRe$27ubxEDdO(Q9JR>IuI+SHYnjA>?(>PI~fI6ZI2+#`FAn3c4Nm zaIp3sUVPL?76Q$4oWjsF?n+e) zDK?blT*@o(Oa2SIA8N*JTi#9OZ@tIz>I1O8Uxw`zGJprmkHh|CDaw~Ii<(83pjiBK zYVPdLI?Q0$ZN8PTw7v#%zqXN%%N#pLP5~`z@}TnEA1F|s3<8$((bY?ZneHRZs@Pe< z@k#Lzo3o025n2p0ohspU+8T)Tk3@f)^YFXvEm{3#6Z|;KgY*zfG?{xF|I^Xqq=%%* zflxiJc)k%$UOyiWNGHQ_xl%9<$%DzU-muOl8!}b&*qTBsd|9Z>bxBKct97)w{bUyR ztvG?U?QSDABFY$}5dk+!lIgDgd}vuQi`{y*7TW)F$DOXf@r(C0d^i0t*7T*~-_1%^ z@+Y;)Lqjh(m$#8bKHUIruQb8wYdqO9qk(SE2}S=~K3JU3Ae-ljny3cRe0ty_lLrz5 zwQ!*~9adrrS!&6V7`I)_jr5fbRgYtEAgCO#%f^v`!;)-Bc`@8v;sMM3nxJcvJ}gST zMEJ)$$nfZFcy;+SWIT;P@zP?9n>?GOZfYiHo}U4}hBol%o*r`L~;R8_c+Yjl@7uDj-cKwjzbqR=~_i6j)Om#(%Xw*w+%-l zZlhV6Hs;UZ2Xm=DVsN()%GdF;N(avZlQT$qb$(&ezZWzv>kaI*93b@J46avm5k2)s z4S9`6sqBry#&sF@eeY^+QM z-P;$)tok>2Yh_r;w1l@f@DTCSkwx`p^f&kkN+kA(5Hm&vHt8XW3AO`ZE5 zVRwKV$Eb*L_18RU^I9=Ves@95+k9x;^_obYF(e^f8)0RmJ{GSp!o+QhIPVXNoKdP4 z$kcVvHs=PscSf3vtrw;Tt6$K(hsj{~QyD~`B+|iO9klgx7D|M*(3Ov^;Ab@-_gux1 zTWwQ@yd#PAYS)UG$cHPSwL%vA1?G|122HqIzX%I9bZ9`se`Wr((EbgaPT(f!5vc_@IU^EL?p^W zbU7b65hDP*Hs6J)7yV#nQwOKDX2ZzvR+vfJAz`}!>wcOaN;R&6--tBb>lRH;UU*IU zExX7@zI4pjZa{oG3tQzjBNxu0r?v=wt&xH!%Abf7c?&(wQn*Yvfkqx7+-{*7?stJb zclm${Cpc4p`_*j3y(_4}zNe+QR5A`1NXEd~zyHy%ZyivFQ{mK1e&eEq6-(U<&=c|{*JJ8Vh#saS-_yx+zBSXPb+@CfwU#z zOmf&y^m%y+ooD<3kMn1-h%eh}S5!AVF>t~Bh-tV}<_}2}YGPF0384T-K)Ao5hZ`1? z4xHWif@WRY3(>DK8BN((0uJj?a^oC~TyTe67~0Al3|>{|HEBI=jh|rS>H+!&8gZ+! zBksPv3Uv%K@%Ovw*z_h1BlSO%j`!M-Fx`h-iZdk=N7sNyiy8giw+^dIOVFqylB~F2 ziWNVMz~Rz)m=kOPTjl(qsV*8|Ryz15!c7kA6a%VM<^k)|-DvjZs0axlRl` zCGW%R%~2p){~Odc7_fPDTI|L3Mr^Q-5&Klyk~d?97|ZDjVQHH_DpZ|^wwE8^uxSiT zOQ?nAV96>6r?WdYY+*G%C^BV*@8D|Zadu5&J~Yo71mWga5K^PWzS$zgd$8mocq)rS zadHHGAj8K!jhw}`?2bnLulJz7>NJry11PdoVxxQIS+lR%@IlX(cj9FfS{_&87KSh3 zUaQWA>g&=hPa*~9zkH6*ZdT*!?klizx;T72mrVV4JK=&zLypfxllyga6hl{v@dm~| zfY(|+bQQ5hoDiFFZZ-ydW5`W^FNo^9(-61)6P}M8#;MOAV%5DUvUN)rFV%kuW;kS^ zXX-~3Ffzk6lV{>8>t0e8e1?(C%?0=ui=um@NtN?vxc<_Hjzt{eJk}{;N0T_X96X3Q zoo8`nurn-r<4;yJjYH6AJT!>e^7bvaU_V!W$Hd?JxT!)HiSLQUa5X}beEen#bBfYo zZ(lhqb-PY>=Q`th?lv)Bo(i4YML6~Bxm;p@FBy*51ZtA}SnP9}7U!QOT}MT5W1=NU zgnL1m6d&|WnhnBDak!h&!QL<5A+}tIl{^>$W&f_h87Y>S_} zM>B!vq(4L-e=x?yR#Wg^|1(Cpc?M*OMuYdlhjhXDV7fd$9-nS&z^^kkP~%1_JUm)T z>@%(5$t6R&$j<<;ZF-htlolrQ&>udP5hxLm5=TAi-u$8F2kwUp7`&v0NnU9gH5pa1DUPT z;4}Fqh{nvIIijW$UJwbrTV&XO30;_1BgSQ>YH-CEi(WfaY4!fMbl1>x)LVPTN~1Q3 z4*jZUUcP({vp*z)$#o^J;Lu@?w>Aokz8SC@!86IVTa~D7K8lKJzL@@n53>(2kbTqw z@>h>z!}u$_)_Da#=qj_r%lEOqF%fWnV-)SQuf!|w9dVz=GPqY%4q-jl>E&hxZdJ@r z^t6%WIo}-zrKNwtZLc9DZ@Y)~udm|6njh3;N;i3{^Bo*!{>2N^&Jw*9k@(2%0*oeV zv!cnrLEF>-&+j~r?%YYnRC9=2Xa)A5qHAqN@2)-X}slFL4<6GO$jUB9&a^#`o0jp?wyT-D@svp#WHT)&n%qscOt*304zP7Prsj* z!`ELkacs?D(vrIcR)q1fwrg)RtnrJ++a5yrX^kiwCteI4s$WU;*<@hLY|vcQo>`F7 z%G{f22TCgcXy?=<=3Y<&<6UJ8R^N88PM2PSnpXsKWoY&aqPb}08l2G4J-!iAykw0wFP?Owox zuzzP@b(-hws`kaP?+A zj8FL6vc>uEsOAdHHwlBxWAR|nyb6!X#L!sd4759wfxfrYF}U#z(djn?m|_DX*`Hyz zYyzlit3iEu47nlD$TL^Xqk9d8XiB&UZqcC=J(>kt{oU|XPYnd_D6s2)WCOJ+A##>Q zs1V`B9Wyw_*}mzak|Jlx+Q+SwS#dr2)ZN_d)gR2{`|zkjxKyO^3(CxVF(( znA%dp`*%%=GqHJ0&pnprtWRl^h2ty8AqB!Z^zQ-n#s|dvejFSNlP#_sn#Cj>DS_p6 z$)Ku~1cq*F;6ck1*k-Vtcm!R~E|X7cfP<6aobibjxIoe6M0*@Rp^E{8rltI4<9DX^bUi2Z&c4Ai4L=+D4W zY~C-=B_AuH{$`1A_~JF3d+{f(Z|*^jHhaP|xdJ;Yd%)S;8je1!VZ>@3$zeZp>b`9& zO1M-IZE=F=|CRC`I*7BC<#G3=9gwRe0*7_(z{~m$*gU|;rkP5y*^=>4S}Dt(H17vK zbswT1up88w^JMkxG7#BM;l#E`FnE;@`pM7XZcr~wYu03c4O*}#l1{)Nc(f@ff| z^BBPJ8F+c-2_$6fB%g!6lMJIxpndoXL_NO^#kbDE#wYj4!aeyU<=!fo-Adv3=z6fb zDFNlrjo{<7PO{ka23_#&8LCYZ=lWb$!-WcCviODt{GBovkIs16;C5~ic(h&wrSu~Z zb8Q*qt+t^I8A18P%V;KfhnYdE;Lq)Fu#jrOUeM*X#z&&`)KJhIm<{`0FXL@iI*Sjo zd%(cmnN5~h#G1rhB`zBhAkWPQI@L}ShYRa4U_%aspDcg}Qv^7Rp)7`dcMjyl7DBGo z99A==p4?k|h~nRgEVEF-&!U%^1Jnor5}yt|=!(;qq~lb$MKUx1jT`Qu-S?Mdx4

TcP)uAPlD*b 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

~BBpDq6%Gje8ACe?B5V_cU`q_f_Nc*fzWs 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

K4>gm4eiH_;mLO$aIaW}c3xKm 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 z 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 z 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%0AIxKW%kpOLxv>ZBEIutNQc7Zn`SA9Yp+bE}Lo| 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ξ*sSVa7m`-pTAW=+uK&$ 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 FqzMa+g8Lw7($R{~IRgX~7)jzxYbv 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%0ASs(xQDxY2^dsrKv!178ZjX9L(!t5;E4<7tLD|W< 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 z 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%0AfuAP@lsQ%$oVdw%!xNV=Mh`@?}i3=zNm#C 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%0A+K-t)Lt+cSXxMC+@Aii|nCN5nBn=+1R)pUu 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%0A$lA$W9N{O94?GVs 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 <7dpMOIB* zm`^jD`(cO|&xNoOhhnxJ!|}nqWs^x)8u4x6ZsGpcf6wX(LU|A695+WYaqcu1o2U(GtL9)?{8CJKnnZrwYQcPI z8{y;0je_3~alvHmN!WOIEV_(y$5F0#2my(poxhyA*r!hbsBh<<+(Sj5*Lcx{^sx;_U%Yu9L2dwmSdwpNCt z#;IslYskpLF{t@5ip_XG6MNlT$h6V5;O*VUjX(8)y?55aw8ggMp34+ak=2G{+3xVX z?>zjC|4PEhDXSFA5qz*%4ldhTNG@?B(YAF8p3#qiN|Rym)Ki+XcNlJ^@bo7)_32$E z@6=&cTA{;a%Q7(}a~vGGoq$D}v(f3M9L5*#=lXxWX5oL0(cZ0%*bin9i8^RA<`(?*^FEBICe+Axkn1fFaI0?(_pIbMTQNR_bd+x(f?No+FE*pzvR{eu z*vqVPn-#saU72cD2Eb63A8Vcx!q1ZUi0A5^xZ=i-WUgT-80;BCwSuIfJ2n8vG|SN$ zPfB2|{#NYzU4<*d82)nhz{k!iR#U`7;GLWZeZ1@ye4KO+?KPDI_HVzAY`MWH+e+a; z-6`x%dxC1)P0+3~lxQxQRvsW~LHCRwM|YL+V4^NZf4h|7w*4;P@bDQdZFS*)nxta_ zj3wij_z`Q228n6rbirbdmL$ef)!)wal7S=cURwowFI&Q@lLzsa0l}xH1Yf9qC5InI z@@w0($kno!5I#?xCY*=@Rq_-kdWORYon`dUzEW6iqzS8bDKnRv^Q=YrDcJd$vYr-E z!dikMI-mp&|LX>F62b5@G1{smLW??eX~4-3-!P~nJaQkmxoD`>s zQy#tHj=$Pne(jqbm00u?biCh_n0>0>vcU%TWyr!jLus@r>mq%L-7x543;Q$VSm1PB z^l?!kj=y49-8c~_37!t4;}5~#j6~9W?Ki)5`d)U==L{~J6waQn-41UL){)FiKZD%DmD{F>!#!6|Fr4g^O01!M~)7T+6gD3 z$AU|9A$PQFny{m_1l^bT3sq}I3csv-v3%ZH(7E6YpYqnyHziIqrd+k$DBXrza7zMe zt322N6AfZ2e8IxHPBa@)4Igrj!A5sEYUFsBc3-igoyTh`+0OoyBd;~h2dza9HzBP zopdZuBk@(pnMkET2D7AF*A>A9-G3beC(?BzOlaZkV$j$4NUE%(;P9s1?6}f?t9ua* ztWYcv9G**2BXdRiIsQ8H8d_2QX`+sm!rA4l`e_)`2ow=!-W@5ZzJJSw*xA81Wjh$d zmBRkdHLySY6SsAA9=^=EjMGM|3Ufx(Xf+j-v(FGS&IVlO*AQ1tisN=@VEfNaP+DLLApZ@X46Fa= zhN;Xk{tHq1sSKx&G_&nR?&RXG%WSE^fBfU%`Aj|dB%T;^9PZv+NI!(`qgTBvAVE}| ze`s=xn7=xMwlNnOc8B8qUQZG|yM_$}UBOC;UZ{_9r0Ts<@Oi^mc=x&<9?pm*1^V$! zHSQX2yR!&CuQ>&E$2LQj@s4uM1Y`Prln52ANg@V@bMRH>2CCMj2}dR#u{yMWHA+rT zBI&O}s9VxSP&e5RnVK2oKcQ(CV+gV7hN2zL~&Ui(R(cSoo%D&>S2ie?E;V&Q_>I35el zeerDFJoH{0!DfF^Cc5H9n}`^2MXEz@h~MR_lRI&jB

N2Gqg*vl$R&Y6)MP z*TRNx{%F5k2jzY2cpq{q@tBq$6^uKGAv>dq>%wEi^4wIR ze{^&}0Uq~P;LjhuC_QrkJuDsAW7pl-FI%$k#qnbJo>dDErWe9)fqd$46KGniR)gTA z99%ab!LGdR#HMa-W{ah3*@X%rL`@0Uyy_Hi6{E0Z_b}-^UcCn|4`ert*s^Ck z#JRO5!Kkjhfep}6V09FRV6N3(aJ^{-kG@aC(}%5C&m;}@z(zB&!8MlmM@0`C^_u8s zb`U;0UjiC^8p3S_(ZtXmZrt(3okG#@u&e?Mjz0$RAvJp36{%N<9wsS_!uH8^u>XMv z3LcBcN3pAk$J!wxyI|Tx7SvGFrAfTyn^$0odK#0d>j}^LgxJvk+J!mLa#T!uynUQZael2cCGvYla_>In8yxo(JTRO z(U3f-@E)KIlYma9iFl&oEO!6ck2R5Ha6wHEmG@WR$~XB$R3VrANL;{EH@gChcbH>< zo(`r@`;TUAx=HsvtcNeVBKNn?U|ky~vwte>*n?VM;e=?Pwdg7ackeUA z+yN)3E$@ao0YgM@?|i%~F2{PW>xB`kS!{!q9P8kH33g86;jPYRjQNE3_G&27j}|3Z zmv)mHYNf)W%oH~CohjQo_a?6}_64;Y;wNee*;MJKD3<=J!h7#CvEbJwjPU3N{u>L~ zT_Q8VWl|=MR=Z6apI-o`ew3Ln&;)Ja(}`g72E1|d6t16il$e}qhW=;8kfwPR=7lE1 zovbtDhB6=P?#}W!)91{A%D?o-L@k<&mQ%YO;qdNYDygh8f(0(I5F&05%iG+^=#DAY z4Y8i^X|W`}3@gLwGu>%>CXeok6-S4s1b3-PAd0%tj?V{p&5_dhq`HV6ahODvi4_qY zEytbTl$kfXy6SJ&J!{Bzq4IvmyuOp&9V3hK+@`+*fMho99eM%&PR_mL`W^g{YC|F*CGwx|EnV#`e#9purMu2 zc?2^$8{oEu?f)n`4}Y$|FOJ(8Wh)Jl5QQS)^SS3uMx->1GSX0KNsBgRZ!#J}MM&9+ z@VVzki-v|2qO6KERNsoy`uY6>_i-Ngyv{kV=i_ni;}Wg#5*Taz9i|Rloz-Jn?9XOTmlK3=C%2j+t1!+G%X{cAEH#KXB}@5!+%8*st|B^*z4!8-gbR!rPM z3t1m|)f7WqZ@AIA$qqy0?XuH;rp?k^y%e^Y~X1cuGk|1krO6j<+Dxna=d_E zaXLtL4Y@NLd`lq-kT#+x+8$%bCWMj0{bE09s4l)M+60@s2VT12Ym{HwM zoTaJ-ugnTD)NCJiS$5%mQj1Sa#^a2``EX(OHYin12e}I`K-5l>dnav3*WbU06Fxjg z2m48E{#rA(!=Ga=2O9DIl^6(^{{VcKwUF#dd*QNG06cISfcClnQR%$RG^MDcdO?3E zEtJcJkjt86PybJ1rDew*Xx|U%G7{XZ&0nFWIUAH*WH?KOg`B-$1!s8F7sd!rfe<5q zd?ss;esxORf9t1keJyFApY;N4qCbP+_#^lu)Cjg)R8el+HWn6e9q)xDqgKFHd~Uj! z|Cv04nU5GmUM&FEls?e&$iTei4$MQ|ffd)evXo4FrWcpaE_R48<33g9K6!|W^$19J z!!&MocLa6MHDs#;;@ErXeN2u2fYc3cz(XIL8C`P(iXVUY2Rb zUxmLD1L@d#(KPW>Gx5CTPK&wobgS+|`ii8$!z=G<<^+|&u!k3(7@LA)j9Xy;C=*S( zD#C0v%aQlP5Y4x`z~O|6AUUHHc69{PL6J&)GbKP^Bzc9(j;X|sRoOHoau(GZ3Wc^` za~uni4-4e{ylAv_rx25O;YI2ZD(R>HY!qdnF0KAiO41`RLLV8`r*@OU5s z*4T8wk?V80DZU}_xH}5h^)M(`6GJ`CMDqCZ1fug<6-VeL2>y`|D_IqcF)D!RuQkxo zV=;5dZNO6&WtgfX&xQ``Fj4tJ+Ln6&61##SKtCFmzhkgh^ggvcb)3E1e2Vp(hBAdo zN7*jz5qk4N0NcB#2YWY4VsLFb?p;s{KF^A2wdF!^IiE*OV?5Y%!)Uf>b2`{?M%;%p zlbQO(6>QF+4-=my#g-2pfglrg@;dAS?7Xcn$n+vu@W&bWcOF8*b0OBJY{EwD4O#5w z4*c1WN6i)*fK2^Y%Gc{54GGa$tf!4HuUMkqr|GQKAc%bw_hNT0OR~PU44fCW8t?4M z2WOG3WZ}FMbav8>8r$h7u~V|1mfu^=vP|dr$s7T5dSRc8M%z68QdKyjusYEyM++%_R5hcX6Xcph{eGy;r z#WAQq@eFt79>L*OJy>B{g7VSj!$tMx{8|^LP`K`ecKU|7);*9tmH6nF{W#4I$xcE}+vvQ9SV~ z6JLEQqRn5MX=3e3Qu0kk(7xb1IBtCc=T^FM%{SG!;YE_%s>%rTbDf4l4wvwjO%qD| z{y`oMo08Z`(*+6F>*@UgC2$j(O^DwRjFb1o%2YMB$m9V&TGmV-4@dGgQ*+!Jbe690 zB`h-AUa;rGG;Vj`O}I659sYb4Wxifh+2_tV%r7n!pMSQ)f;G&mE|o7%q5tCK@AFJ;tmjr5OCi6<2+mMU4OU;#14R_+?oKRr}pV@-50qkC6tq zQtTq}ykkr^&CNo&q=k5;ax+FviNb45ld#~gB8_Xy2Hx~MU`xk?xXcXjf8`5TwUy8= z_A%HMOvN8#kK+^PPbi}+LhMB~xvzDX(92OC9cHU@3rgNXyeiyf34CfK|<6;Iz>jK&Y% z;XSjv{E^|~u>5Q#_^({Veax?=^Uj6h;^!wRsP4rV6^7{QnvU;MCD1NAujY}wE(|9B zCe2pkSyoC1F_GbUEDJ7eX}ND8lktD4J9T zPDzTKq5U}^d#WHib}5-^d=W771Wf7E0F|jmcw77r{xP_Qakg8ruF!=!NDo}uuoqu6g77wzX|AS;d8L)41f}{;&;r%~Zj>SEI zv?H2eR42-AT5P}+=^&VzSVGeER$zzDe8?7lPsEGI5v|p0VMO{3cxfAQ#kYT9+&nM# z?u0lKeeBO~n2-!o;kHC72T9?RDbTb23>2-EBnk`dxy_6JfYauA%pm9%`w88ivZh2};^l z!Aa*ABzo2&a{i?Y*)Q#h5)00a>ir^Z*)$f4w>^NCOG}8T&tZO{dl5PLJc<}rbP~sB zhB$w#Iz~vzU|3o>+76Y|`65HS;%)x$pYj@b9j8p!ytSj5542&XayET`=_J*?u^V+( zD+sW%1y5 zFci(XLft56e zzY(RyWx;qnp+4hmA;6{!gfC`bH*LpO%)pbEW|0+^6biEg@b;^X^uV!b^wF=Rk~I}n z5_!bydLzlU_=t6uPAL1^9D6nGb4~TJ&Fczx$|i0ScZvX4Y9Uh zgqD8TPJP$t!Huu7Y--37oV$1$L`_V^oLU+Fc5w=8Z+G)6b&|-tMH+&(pJiC7E=;%W z-$}>(@E80S>PSP{GU%^Uy);UCnBF+jL_Vx?qcfiI;I8U;UektWcrW7@erT=7-D2Lb zdTKCkNHoGzL8qwK=Xo_NLe}EFY;FFq&uo}4e;8Z(YCzmt0X|#}BEE0i$^9M&+P%Jm z9N$z<%0?#Rw`-@c&}}*C1_&bZyd3d8rTLW%4fg0w{o zuvzChmAu7huJj=FNsA&m3!NeLO)I_rRf!ATejhfyyG0JUeWB|M8+kI@FQD4i7;G5L z>)!w;!M_*vIC+ok?Og&v2s%S*BC*a5tuRt}S%=tKV19bh%Zg1<{cmb$N+ zK<+>Gz*CWi^ffjd2{8pVH`I~|Sg zXyYprUF;lL2U2Encw_TUIB#_hOw|?uiQ_@_pG}bRFC7l+CJ|}JK8l%c*y5f*A1x1o z$%>}jbVI^9p7Mn9x!I)TOcqEOJ*B4{+V~o(O88M{8vbQpP(>|~MxJvdBVU)msiZ`z zv>8aGL@|V3NTP}>x(WEm0EcS@yUP+V{l7w9n351y$jn5uQ~|^-w<6!?OW~8=SpJW? zE7WtWH-A`BhW^%Qq4O&b!sW6s!LgeS#OBi~>NG}z9$FZN4QneY4NRiL-$QVN+-_<< zF&vh)E5H_)1;B>4LbuWwdT8QR>ZzBA+Dj=+oiB?iv&S=AhfZugmXCSw=MW|3?N}u) zM?H%lfvvkAPyg&p*jTAW#>oBxt8_gKel3dYS4LDD&iYO73Jp=uZ(qo}Jx0WOyqk8eG~S1*D6XzxT#KOtuJ)fHXndZ<_QBfjg>aGbFk``ht^UwN+pcSbj$ z`OA8|^Q0b26u%%(^#>IkZ>1U)JaSCLjqdF3cp$+IgYIfFXRQl3Co-8vsFV=< ztF<`av!2TDT7m`l?P29s2i~MXX)b435g6>d&+j;E$bR3drkB2q;XW?>Lv!nrz-4a- z+3V;|!*^Iv2OTZCFH!)$?dI@8t9{f9ou*?uWJtj7J7Chn1dGS!QEvlxFgm;qOK%SH zyG3T=;Pq}wlaSZaFpfpdkRTFYCUTc$(@9o=DdhbN!ihJRBAM=nLRYuf)O;v}jq~=w z{Z|K3W*{HC#}}hPPdU!(pqOLQiFc2L;o(vXblRLnCBm+e^Pmg|#S+QX;~cslYR0*W zPe%DQm3H+#!szq{oMM=YWg8v}F3i115B>bW4~qawj@Hvp1qs48`l*9F$KTYQUAqBGC6ot-e(@O&a|+NR3g zQ~pC-@2@4l3JJ&^PKT8R_SC2I1=(bs4Zn&Far34_uvPvF`F*oia9KQ;C=~ApW)e*# zfAkBUSwxfm=O<7+uMk`QC4tmW!rg-g)V`Kg-4R*>YO_Y*Xj?obPIW}sRgC4v><4L71&=?hK*OkA+zxd-)_`5x6jBW zEoZ)wyX#|Nm!T1qJt(4g>T=2VJ(uVuw=GbVaRF@9jteHqh66Jg=Jjqs zgay=9>l{4+kyAwA+Yv=F&E`DZpTUQ;CG8M@HxE`VxCU*4a523#hof}w%oOuBOe zTK6x42~uAn?U*|Bn#DlNLUGP}u`ajYr4vp(6=h~YK}^@ihQ-!NGW!c-;iSxOsI-n=l z-X{}&WcqQpUY>+UlkQxPOu1ANc+4 zlIZENhty9NVoLdCqxHWLS zl2=#_r>;cMIAcwGv1~Oq9KJ8;^DBj8=25W!STd+9C&0S7XCPtx1?anT7S6dj!24Va zl69vD-u&nS>aI$4dQZ^xkL@9KHG!ep`*2Vo#bvWh7`)jAQ!6X*XW}t@o~X+X4K$Ez zZ(?B{+W|3;lkm9o8Z`E~1Y&DX0vn8m9>WlNHqe58@4ARtQVDF)f~!~`uRv=@%5ck; zH7qm2mmQtZgbS}cg)ql8Wck-ts-OTY^K1(0nMGj#ZV@hRWjIKB>fx4>HKX%aiunj` z@b``R2!oEx`7#Bjtn-Eyn_e}asQzxi@4ru@eC#hg-MxaP?;JqaoK+gPf{g`>3GI}1OM`;QIGRf4E(BZ3r=M|#z`t=I3uDS zPsp66hVteReJGViY>UUiHB(3Zn<7e0?-KOXCV_WXJAcnsE8ID65;p9V7x>p$nSzQ$XmlK256LLLM~lCuhqX=^vXlv>^3`nv)e%75l(9)w@NDEE%~Mug@*C34`+u|7sNM%7{$yYu>(j zUj*-{Fm_0~u_3SZm>?SnWg`}__)Q9|uD?usx0b@CWb2xeku*}0sRP@VSfKQ=qu3hT z0}lcnx$+h_&bxXFH=f5q$gy0oJv|O~q$g0x0D{GZuSlHlD)2rf1#i9WxP?0&6N}+b z^lq65p1K&1eYwX`zib6oaKlt1Mj6K6D;D(29ws}qcH;?70ZR5pf#rlbU}1L#cJ)ny znx;>r+^2(X(GaGr%L;|Ov(fnIQsR0^1)zE!xD}+ss-_rddfi1o{AWcf#xLd{rmeJ4 zGX{c1!)Z(3RNRrJNXt{QLG-&3?t5YakE8U_`^Y~${h7~v%Y;~$<{Z>)iJ(UwX4e!m zRrt0}hRuuNNUiBvR|?Z*WP6 zI8)79i>j?N*`HB4&ZT`);AS;6k#`T<=Z6J9 zbZAQ`hBEC(WM}>~xZycMa%QQav}qJLTq=N*B|6~!T#P^7s0&{26Nf-eN6xWj0oZ9v z!)M`HRD0G(JUp?JUQSsBbU=nxmx{7$k0)`%_qw34)dOnn^f_){9qsWYxVOU>&m5xk z`3(=cdi{A^bH`&8oRewHq6}E2HJuo?#8A8K>Zs@xi^Z8j$elM3ShXj^NzF7U>WL7f z4L+&yFb~J6v2FBQ_)psKq6fG19>d@!AuL>HPcPJ!67Jk-s0mvJ(idXEk@%7BQ9g)H zssg7e?qDJw2eZ;dVdaLSph@iD5&cHihy+9Yp-9qxRu#1ECQvOSVLY@&h<{2a8I~DP za8gXhu}Xz7c4jgZx-igFih*qF1UQcgBtT|0N<2@)d!DmEQpX&Qta}YD1@_!j7k%zw z@&j^NtQ`s#n{c+hJkIXfFlbRZSYLh#hpOYq@hMZeIUAL^=&N%%wYd*K#(N5Q{VXJp z_AywT^Ah9_XaetiI4a#!WK+g|K-Zxz&`ll$=gMzzFuU$yXZWz`d~TzQa1*pGRDn;!7a%s>kb5&R5*9{`!85V(RATlFA|@dv&_CNi z9_O7VeU3HAr+Y@3rI*IJe#i4MvM~Dwk`tPlR48T}+2Pqn9emR1y`U8}kG@V~)6}XE zH9t`&om%uNHN?S^=VZ}-KFo!`G?ChHOY5~s@u_xV>~Ahmh?HilJ2UX^MO`fLzep3* zpU@v8ZdBp9Bd>XJ28s0-;&_tE=zJp;PZ~`Iy^j@Ci_KtlZc`A#6Y+qrA!aS)(}nRG z@STW2Y??U!*Pq6Z{^W}G^(OFpl`I$UoI^Ax{U+WiRuJzH0-;A!Kwl>nl+{AuDbEfU zj{U1d3*7b%WI( z-F2v`OmXZ3Q6_XXfO_t^1h?ZlApCL=ocqNMX?F<##bNaUZDMTMmw=GC|lZ z8)66Ii2bfFWRg`Cwfa~DE(vY0e(DDPspu)(*N@Je(<6@4Qho~j!1-L#lcUh# zk@>`IYB&0dS+nN#S6QUJ6U$SX4Suaoz(&u1W!xtiH$@Z1>bwS%k)=>r@s{2@SBM6# z6=-}#2wfva1UoPM1AYHv(AlOAJ|q~=jhRv-=Mn(2_L(qNEEUFmil=Koc~i6AHs~GL z!M*6r2H!K^cxvg#>A9oo=(NyRVxOZjDB@Mwsb87QIkx}5nItk5>C#g(qRp#n3j*hzZ|ib zx$+}_&4(3bjb!iE)37XKBZT~%!gt!Kk0-5{qGduoT1hC735`B*{ihz-o*#f;uSa9Z z9uiziokk#36Bp=SLH~8}&?`bg-QXJ8xXg>+x;z3WA2h(vW2-T-`V1|ZiDck-6aBDh zB~H~lLbe^g0T=!=c+A+?Rhj z=%X`%P5zdKe>tp>%A*vTLnfx~+ zhX#rfun4#bLKOq_%~1_(Y`qWvY_i~oq73(G(N`=q6ec4z9k9)O1$QY$k4xxP0h7XX zDBO@$leQoi&P0iERJR{uzBKXklB7AS!ucG(Ae&qL;|=tL3UkgmvfS3j4RBPQ6XXeh zf-h_gXWE#I3YL>VXQw51UF#l~6L^$!T5y8@sxASVq|ZTdb0sX&9tZA2Wsqskkyi^Q zuxQzpTuY@am!2WPJ#6>|w@h4Y+Bd~&t4S~t+inga&s0hubO2}P0>*7UM*i%+4E)e=XuMqpRdM4{*>nMHs&iy1F~@M1 z#T?4-s=z%5QgGg}NhqCtn-1?wqGx4bMEIXH>MI{2uZ=oMe#s}8a_c;NSpAenEdEFB_9?;sgNl61 zP$_aKVgg*;`5L1xzd`3)D=|-W32wgfkMGi-hpKcwI*kj*Vg5VP<2W6uW-9+{lnZXZ zfcSB_9y33mhzimg%za}l>fD{o#u!g#LA!idMP?bjUztl5e|kd?>o97U3i#cS8}+qY$cK}?SRA;Fx96)g_1!iL`y6i2yovX4*Fzg3QZbGj`FoCg zY{7BUmI-nF+bSra2>t0B2i?ya=!qRNa4gzR5W2~ndi&H6qmfgbs7V_4P9>VRX!-@R zzjH1wFkS$cZ><6)>BIb$R|+6}iWF6RpbqPu$AW#-1n%UOFoloLKYCRA8wJ*}*n*ne(Uk?+zSD^WYJCM9DA6(x`L*0vM+|jPd+#w~()0@S? zdowdo zs&0U$I#{Do=4H_Keo374)}U&{PWPKkp0^ZXkcc-P z_^k$a-W8+qgt2Vf_ZX^KeGWa_voOOr6#Zf~$=$yibl?3NIx|WNjbxsa6`#FP#~~hn zem6kL6Y1EwY9Erghvb${9OhqqDV%RIM|1MfWNOrXrt&_cyiMLdKPEHNuCD09Xd<<9eL zKSo*=7vsZ`y`Z+y?6Qv6(1n?0`NwY0Txv(HVCv zh`~))`nfubz7>*#^O*|ZUR6iW{jwsuKhBe1--bx*s2)t*ccAt40;(Evh3-FKMMtJ5 zk*9N$XmMOH{@|`q@h95_vm3Li_LG0~Ug`v#@mCvfnN_2kj5=01E{0X(7l3u*43gAh z%L~($U`LlrVtD!(49~8j(j=Q~KkLUoXK#&n%!F9Zpd0AP-hszGkKovyS(tde8Y^#B z(o1%+WR`gecrSiN0}4WLrcXUqtTJJP+ap2NDjjWHexmikT6}PF5*uhpMg5yTH21O< zU)Ep@U*X4LJojuleF(+w@2BlwKqk0ZV<-2hfeGogLMB&vC; zl)8^q;+yyeQ~918IOjSb*g9SXzKj3nZ|izMPHO+8f6Cm+pAXpr^SyESb)^%|dv=9q zaB3QtrL&a&?ea!ln?LaBdLwLzp8*HTU8zx02%Poq!)dr1ofhr_GxJUuID3b9Tx$ZO z>2h4RkN_fWc7ueoJz!P{-r(1hqi6l#Lvj{e>k+_gi9r0O=0)xgHIqh@2`FgJu4ks<34vHY#NHAQF#Ez4We+*I924D^l;99Zj^M% zLjD6ekb3)x?3;CwhNTnxI29FBcI<=7L~VLCHV1WrgSC+=?^6P>l^;W1%kd2BYB zx9tbHacDWGbbS?Pdq|h-s-DMvmb?IQCseqt`vh>y{{^VXBtjA26CN7`1G9+aY$tBy z?ms&Sx=ZeZ(9JQNm;G|^vb2L&@Es-?ogj4d4r<1JhP<1G+}G?WkQrKu4iR2Vy3H4T zQ{G^Pi9B;Ywg`UB-wsFn5!UZl<;G_h!HXy_y!bSl1sC6Cr;Y9~v!&LoF>oB?x@vK? zWEd{$=oT#YPKF0p(;zhXBiUCR$9hU1F+HDPcIe+p{4o9lvDBAmC0iU&I-(uxABAHL z(I+~4T~Pf%Ff;MF#AaGYGsl)M7^@};HFc-pepd@z)MHFsx0k{9@J!-(#R&HDrh%H2DBGxh0%zZM z;eAx{!xX-P;1y`)-OeWTiv1ZhXYv{|KO$DVqD$j;R($cVdrVY{H z6~R>HUoiV=G*ot)*N82C2Jt&Hh;HHqIQ2=KYxDn0-W*m3t(*Vg=ZUjmy)grv`XxAx z<}FZM@fa50*~2AwYIB}8z`e}2<$fGC;vPypqcu4Xz@xN}^wdYe-&IA>U8BYIMlR$I zWc5R-&n6H`HD@}V;>>h&LG{g088-R01;n)%!4;Mb-^M?HnHi3p{Q4(+`I_-ecJm1q zyjzlmv~FcTWVKl1$aP$L-GD_)h|!!syMTO}Nv>8o;=kNWsAyG+F%qGyv)YxmR=xvM z-f23rHy!QQUqW;7Y4G2dm2f~)4j=i9XKK=6?0J?7n|MZsZSc4Wd11d{;xj8eEH;sy zQ$LR}oo3|Ga|3u)L;|%=~0W#BR1@;|6ogdL|59 z#B9hr?2COtso0|R5PxwxsBlY?vpy%sjazt+?n#}5o3nn_?7iR(k!%xOwyTBhs-xU; z@&>BRk4NPrX&Amah4>^Vz?N<~2)io{|9xFd;x=!CP5SRZ=H)GL4t0f$DIU<0YDz+u zOatYh1~??8&Sm9RlIUHz@MUluIPP+lhj%{w{cL>kS4ERzkRcD%^AP zhLV^Fn6%R$h_)^L)EC5$KW7hpZfnVGi7=2V${?2vkAP!&3`9LS2tOxf(7?(fB4zZ5 zDDnJZ;N~)>JRN7&aJs_Z40IUTu`C99Or%-&r&{lvXl8qC}AOt ztK;Uv>xLyz^tF@-Ubdphic&n%ynzk5U1z1z*YMNV8oYDShh^ueVzvE$xNM9oeqL6;zkY*1^=cAMy*Y#m+r5c}M<6+UT@&pGCbG4;d(dOTNuo2W8G0v&Ky;`w^q6VE zuQ_7e>6q`ZU0j!&`sqG2^yuQl+sb&eJq@nfi*aIeI-ucuH>o+C!T)EY3}_I=Wer+$ zWu=xJQ`BY7n^alGmwtXpmKL_{Va`xT z2InH0SizEZWoo}>kAPJ)kzvn+@aNC}|G^H1%kpsmi83&zLkmT+d+-3O#<{hs*p;Eg z?#8E5??rzx*0BWNiD=PHue`xJ?-hp~7&s2naEB-50pI=)@-X;NxsiE`iT!9T7O4jb~x)|h`-U0zL>r&#js zl*7R0y&X@;zq_WgBop!mdqGE}g`Agn!!MsD+0RAY=<`T{#gw%0gD%N)!s3JQ-zek0 z)ZPn9#F$f$@!;AmMj&>=6sEU9pFI);&}WHe+-?ac&Sr`)#0V*JlU95qD=zdv&m?2c zcjy^#50;barDbH&yWJpivIsnX8gS{lz}-3R#o29C;7m#f$w?Cf?ny~F86WwKOkLy; zZ{OK-hZjYI0Z&SEygP$Pi+z@b=qM%CQIjCsqgKlvtdg-p^q&n5Oq_(Gm z=tf=0zvF?Q+-1ynx{ASS4GUUhzY<>Fl0kmCCdP$3;@_(sm~llNhUb*yQmg6weXr!f z9Z!L|aWJ^6E`ZOzp;V}&nO2^z@?6qq{TM|2%Hh$PHeL(aMsu_eVAk7AJhJi%tv%KxkjN>7tkVxj={Yan z{Je|MEENeyB2vNQnguu=ZGrmBMLY*>13|d?7N9{!Ae(rV+|O7Fb3D}`_f{hLaJ3Um z)u%z0^K;lfe+#`KmOxrpJb}XA9PF2f!F!vWVAbVlxV7a8Uu9Ar2wnIN^Rx{?Yeg7p z58gmUuWX{4SBP6~^-}!=ZLTWxGC1q+Ac>yF5Oc1CKR4zA+!e`%Q0)*LBN@Q%eP75% zRPLg=VK;>7jo}top2o$;=iom_H7e#h14PSjLjJQ)P^4&xR>ILN{^%n1TR9I3#_4l^ zjT|A*tC!AL;Du{_EYR8J75|a1C|=+(QrhN;PG=>V-Vl$eulpsqEc=mK&29p}7xPeb zNjxb1U5=?$xzs)-oJja&qx$J_Z0(MIG!V6B%XIosQtJlFS}3zeF*WFObSfL(yNrJ9 zaD*Rw9#HRF5opq3$tuzkSnU8cK+3<*GURQGr&AMba3`+`_Z^$g;!Sp;@}Aq!pgyYA zo9nS&J{p4;{t!I<5y`Co%Cla{3*_~shrFA+CENy`F z?AdV3wT~=+Z-v{vZqU5T&q(xYKJ7ms+w1jJrfo*SZn9*T%w08IHey z^nODQ+GBge11vF4A~i={$g8?9xMY(aJ`0^l6bkjIKzut)aoh}wuSHN*xDu=8sI%R} z?YP$L1zt_}W)GJi7X)~p5a^cXQ?n&!YTkORBfMvRB=^=13=@`TOY&y0-E-%$lLaU7 zq2(LAu(q0CI9C>&tG?izJ1Ru}WG0dIn~L)$uEDdK9XK*O2j>=*^Sv7joxLcOsr^7{o zb6pj!3rm9=nNo1pbGJgL{IC${~ z?TPWiI>@65iNf^g$UhqAeGokEC~^{h!ra7xy)dV<0Pa}$!th`?@vOQ}8doVZ<>VU( zhxFJAQ#Uj(+ei&>H$sXI5B8NQaiZ~uL9+e`p&Q5Hj-O+}F4G9Jd(WaHErRCH(;>uN zjH~ecO0IaGgy^%cz+l}na^XfQOzQN59gmLFF(1E>8Jp&E5M4t}znl2JJ(=Bhv6#rxApfm4e7< z{DIl0VD-Ih*!m}%r2q9|)Bh#1*lj*+g7{L_G%*=Pl)Pz)T^c~MlOQlq9sJWq@Q3pqHU-w`y93t`iFLdWUVg#@I?B0{|p>s zXirT#!eG;R4nmu)Fm=5s?s&JpM!$JW9WM$ z3EZ^{(5&H!R|EY~F77w6d7=laW%D5+s)W><%>uI?9)IPpr(oCl8K(L#Mf1gHX=}|q ztnTnaY5QRE{-iBlx39+D6E$s=9^FUhL*{h09TH5K~ThB_Ok;hq>ndPgD;t5ie4G3+Nj z=a7ucO>*d3OBpg&^$>1J04%>cgk75&&`pKmm=l`#@z5p2{43zKz#V!Lc@Vg;m-tS6 zMN%fZVeq1#B+y(N($6G7k0b+?rjJzVO%fg-Q%oF&!(ihmPt~T0!k4q#AZgYRN%LC; zMpJ*okIQ3V&M)BJcWH3s{6sGGv#bobs1JIB#Bu~rTz^*tBUNlVt`$${%eB~U5>x1#g$QZUI zDV8a0ZNrY#K<4PFkD-OH$;`v80>?wepb`0%zb09Pz5ijv=1WzP{S`+^tF{sIw~fX> zQNM6!R5_+7EFp(9Rw3U)jU70-ntA3AV20^DrZd?b=C~KYYKaPro%xTxNEk$v7h*oL z#^@fs1~q#17|EN>ivHckh{}z$+;TS=@^*!^k2gtA&UZA}sLp=%+{X@eNodfyfPQOL zn3u#!oTT!KI{qt#X@e>7IQIiR-6G7Id)n!$J=f^NlFgWRW{BjEcc5YS!f{w~4>O5CqIbsdk(j2g%$jcQ!yl!LH`y9V5+DRHBNd-gD&x~@7N8&ny?YVcyZ)8ne3t^v9LsbaVSoG@9c^r~J801|bS?DG!YA{Gy`gbomp# zPGR~+RdQ#p7(RJfg-i54;+y?<`SPFD@#wol$k*73b6UgTh|?apFAk)np&Y;YT%(Qs z^QlIV7-lD!kOM0`Ky=A5(%*T9D7Y9vVl3hTy&6=T^Z>1Lg3baZ)&*N3y!I(!G%&A zHZ~%MEqbtw&HbGWvG)vc|BotceE*k!YJD@hO>W~K*V3a+Qm07ylLPeq6Avb)b&y?o zEz8^HvW8RLm_t7L z{>@~dAc`0_>A|D7`B1%9hVfU9#T)v``0K@I{3-UDIt|Y!YE}2qe9}!!532%RkpnSz zi$U?xTG2jGiMQn!V9ejC_$Nl1Wv$_{K+7J!WpE*{%49R1j(g3PWERT$ z`h5R|b6w~8d^~UP>O` zi@|9Y=Hy88aq5s=L<~!!(6Z10d0r@@z(l1 zx*b6>TDHUI`&w-4mW`~+d@9#KbTk33(G4RJo zo(0^g#};JGY-!T%>Vze8QcVq;yg;w@J~0`(3USG&p#QH6Ty?Uct^>S`wO1}#WtW6j zk4MpegCkxn7APk>)ZlBVNw8xik_QQWf|c-^-{V! zb~BMH5&&7hdGJ770k*9iCFARo;q4w{DtOr*JFc9?O!q?i-OCUKJ`K^@KYXMxcP4yw ziv&lZS#Yf97a3-@LfEd=P0lbX3w}SJ&iFFhps7WJ8Tz;p8WSFokIw_?Xv`&UT&FDO>W!~Nk9h(&<+Ye?L6Oj} zZV8u_(%^*8a;mH$z`Wz*z>HaCm>}}6uWsvcRDKVW0WUFoWA^jgh`B z{^+*&KG7OYrXvYQq2oN4oa?(;`z~pSswL%<6W;0EWS-L?=KmOyXH9W0+=?c5NV)55?XxFlymge~*{~{kaac=|W+XrxMt+ z?=M6q{|4m`DHv*Ij!n&XU=)mDmf09bfK`X%iZ)Pf-EOAvUjUhU{{U{OC4fYn7+vwX zfV(&0Jd{?9(2vHexL(iikkJ)E;471fjpB+}dDjc`BR-&$)-^i&zc~$Dgafw}UHf{DvGW=;VHBP-WeE z`LKJf5nW`_g9|6}u!TnfJ|#aS!{(Ra^ZII7*<}C^nKp96b^)&aceiev*`q_=Q~Km? zI)}@bjA?J`X>*7(mQ6}AaVtKM{`I`D*ftmiy^^S(P6>%Sk%2ombim@zDX1KujV12= zIQMHl4k`1q&JQ-i&HIZPTi#&MjhaD}c2H2ys^sPfG=Z#W5DwP+!J|$!F3-7SJe4p` zNMbr;wR0)+*!Kr_wNL}~kdpw_=Zk6?!$0uDCX_VCgn`d2eT-lA9GZ7tW?rVWF(*pi zLw?0URLvr-(e~>8|k(lS@uZv zNvx=Bh1Q%~G-@mmE0xDMhn%EXf05;|&R3b)T>cOysy1_<|2>a-+ZwR7_zckqkzt-( zxkqR1*^j1M#jq-e!z$g{3D_Yee1aWi z0yH@01(mk61f$P;K606hZ&hlD zp7KVxxGxUQD_4Wp*_H6uZw)ARI>V(0{V=jDn_emDpeQp2qalM(UtSJ9d`TddHA$k4 zq~KfA4S14&5XNM#!gq($pwlSNEN|)nm&67bYi)&Bv(H16;vBM<(_eE-J`v#hDSGPb zB=UyqBe(Y$_y_SrjD`jDY!zczzYeH(O5%JBK813-HnZ){EcV{LjXS?cftmR%G#k4E z>E@YGd2F1_c^m^ymDzB!dXl4PYYnI3<=ChoW%i(FD?F@BWo$)fF$!_KjQ#OuSl_Bo zKJAPH)+7~F-> z##?jw&0M1$>521F?311+xNNH_2G=|zu?{(~#4ia_zfKb8yye_opE78*lo-oiuwvcE zqVemFA-Zh)9kjgFj^gKU5RT#=FuXAZ0uJ+_v@(HC_di2+0&$01CCfRou*te?Hh8=RW(!F|dBZ$tSd|1Fo8n-HmI5RHV+43IcEjUoE>L^@CWu}U zAnD29K-HrPj>n`yQ?3_m@_qwZ1E)E+?X6*k6+g42B^7d1IOxuAME7X^g>;u>NOJZk zr5-7yLQjOmUFfcr_~?V}D-kwcZ-+fR|G{+rWNJ6YrA+t?=8TL``{X1Pv+@AMp%*i8H~vUa7rd&sc$XZQ;UU+(P6mx zGmM$_a6epHoPbfqj$mFV%nWH?h27G#K1QPzZcKJN;3^cZ!nVlzVHNr zc?CvuZJCPsYS7oK1!ID~Q1Z6{tn@3ONyrCmO*QZ}b)YMGT0v-WC|zVK$Bf=~gtckj zPM`SU+aS`h0P-4tK!)dQ z;5mOD*T&q(8oeGo-}x0!Jh7xP&(2c&>jLDd)IY9bi|L}r9$36jl65O>!hH`e;0B&- zG}5cZ`TVIQb?iRf9vTkk+om&l;hpeguQx}vX&>kJm@Ag;GQmv`B9O;61(!NS<3qz# zG)i^A=F49>lc~nA?okqk2lBAul2`F!ZMoU`oE6;Ml217D;s+Jvlwsh-G_3HArC@&R>?LChuasi=dCAkZG#=G zDptW|zj&D`$#2}c7eDd*wP^f4sSUyc(WK$20EW0sXCtH)Xu0cNX3_R`_$IxC$$34E zNgCh<-I-bVO-36(-m8Zs=^4y}wZEZ#Y&M;HLY)~ki(-r$e3*u1wJ3;BYfTZka!-lwcNSzO9;7mrCuxA!4l!xc)epQEe$Rj|ThE}D3X zv(CL?IDH=_iq7-sR$F_l)~yG#$Zili;SG(pLLeZ{0f~)@a8Bd`O?Eg3O>>;+iZB!S zcr^?XHF%kmQMnMACc+$XNBBGJ0Ee!}l7*%&us`h+HCvvDk;T{0-dBv?+AO|Yx<;4<=kpQFkF>y^;xTB+S`HHZduf+e0xF+r z;Y|O01p}sUKnKoQ6lz#UFRm5At{=(Zxgs6>9$rAlH+OL67kTyw6VI+syi6mn9YI4j z42{>N(l)CR6jZV0=0rRsye=1SRAn~c_Pl&npn}6bWM{J3kK#acW+}?@+mPXJ6r(LY zF*Aw}G@7@-)31G$zTAKYNi`UH?JWB(wh<3C*>d#f%%%0RiPV|LpUk7mY#qZ-UMOkc})WOc9_p#@}Fv>|CB0e6Q;lDFg|9IO2cGIHT zz9*X?RMdo8g$IC3<#*stKZieg#98kx8K|JbB_lK9;PT{5Q23QkN;auukbXR@Lo+B^ ztp)2mOJG7logS8nAivezh>hS@$b0_{?lrcP>$f7|t%DO4Egh$?b6J`)X#>Z)j*(p} z#^KmTX_#Yn1b(XIK}5tZc)L9l?9>an?*Hz@SR^44na630bR_V+Hhap+PnPv`B zxH{HN7Jt|eC4N=po{23P>YB@mu@woQM!3GQO5M@@OHwSQd^!CC8DQ8V6ajuZgC6Asq2E=9uQS zAotxUJ@As3S!&0}F!K{ox6U39RXF41YCd*fm>F~EP$4Jh&r=xQQp3%ikYHTni@~AA znOR+63Kw?Y!;ATCR9-6%o9#lO?sqN>xtD|3nrcvf(E!SBGnoVjcg8e)AtSh1gwb1V zM74TFz$K&@hK_7w96A$FPg9Zk@4q{6EszV}6Zn~Z({*6O?Hp(7NB zU*vb-KL=mE7#u=m!1}5RYtFM9+wZ9{nqCEDWa|@n=AgA+N@7-6Zn{|k^)+K@8csabf zbOVy=$6>O08uM`GJm#-e5)|ZlQ1j+k?7q_Z&lm&2dbSRnJG2=78>eP1z6xfNaqn^WMx?PXGflT1jlbAWoP*r#*gWai}GQy!^HTY)-4eI>{Bp+sGD+y<*Fib>eU)zElnoGzAfgf6*KQvK%d6Q z1{!j0DI7QwjKSX{$ft)~EZJ2?^47k_O1=&F@PHgXbE&3N&T{zhx)BxLI)wUs*U8nJ zQuOv%JB?MbU?1GCLBVk`*5%j;{c~3t5_Z_IW3HcZV9`ug+rtAx3!ON1KX@?wy%-yL zC7#U*-p}qT3Sz6j`{6~&qqy5-IevVziuM{}?KR6|7$>ESCX1DzWrrc#m^zoe<>bk( zZ_#Dt3Jbvt+G<&eS!`8PGTxrNMkICA=r+fTFsL&Qjdr52@Z%HQIcpT>y z<1qNfYTTSDiceIPsru-@dCXNs2gCP7M(HVvtz3;q|0}{7E0Ty#CojzOktNZ&R(P%4 zl)G=nAI@~}Lzl}w;C~y06rJ+ zf!s~P>^!@1?C$2^WX3UEx4j52eia}Foko~fvj8nhi*Wbo0Dj(Jgs+U<=_N;V6jYXg zg0qp}W6NQh7KEVG<#3YT{+bggYK15pTYIj?2@l_rWFJ<10+Y|{8PSaq%w^YD;0<^U z%LI&YWbh5$lwZK2#eD?Gqw%45_ zB|**P{FV>sx0#pG-yDgTTq>~M;Vc|CyztMV7o*a^Ts$HYgMXIvkpP8AqV>y}V-qkN zm!0~@26rRK3x7jS&fy>A`M*7Rv@RX3Om|_^Y-h5m<_26AT>w9hX%XY;g3v$6!~C-L zz;j(J{;YC>_SrgEC%K#}Rpvxz{mkROTq#DC6rHe4I~sR1&cMw+EX^3KrUAx{#4}nC zG!31pz^TRLeBuU>Nb4l#hE80rKqjp!y^M#ZK9TGtiJ0+If!$;`o&Dt^1`EtZq0@Af z{76(J@~!K^<5nmpJ~)qAv!qaa)(gV)+%k;_=;E3NZAZ=8eAH9-g)XCgpu_eNxBW;S zDTmS)+XPG-n4(=DYiZ%7R{ZRlgjBZHh@(!Z%?1p}XL*?*qO!1{`Oox#f+uVX;m zCL&`xLMjtd@f7zZ{bbfm+@j{N{PP{~&);Nvw@nA`zo@33cX~+h@xA2C!gn-pNgk<> zb%uR&6-Y_XdGz_|3U&wOfS!F!rw@)&1u+ve-LVv3+^eUmiQ%<-jiup=y%e>O=F%bG z5K`NsPQC^Rld-4OI8;$Yl6NL?Dt1}@ynZv`E1e)EW&^bw5{yy8DFw~% z-ouRJrN~(S!~~;Pr15(syxZ#nyS8ozjq!ZQc7I6siL^kK$}$)rud#0ri}l#Xs-dO`8Z*M?=*<*;VaKQ}Yw=thm*GrCBzhxumDn56`2_HXV z@rL*s%&2d`;KKJbzjr5U)#aci93`O~9?};j3iEm5QNcb1C!%kVz?LxT^;ZY)Y&?y+ zXZdi=WH^>3xMNkpLfG!I1(!riFcx3KaOcxs_+#xyh`iGUtDhajSx?u)rcsYGBJjOWp?d_3nYk+mAm?5t44ml&3*Ag`cp8Y)6kN&pB0jpK zhb2tWdboVo1peEYh`IkVY1dpg0^Ri-wV5-S4PuL#(y1u&-^x0wVQNGc=g46^M-Q*R zHJ}o_-P~E%mf+O|y)=Cd4=PSNV#k_OWZ%8@T-{&I92d`e;yF{8+jKA&uluei>eBM? zu|5LCd6huTeT;l{x`=aDCX$yLRUGFR%Ct~)g6!0s1s4w=AZi~Ua2q^q$fr4t#L-=Z zasJ0&9-ZEt&c~l=XV-I1PX0!yk2l4o>wi+?8=-3~8t#pALHYG{qWN$- zO}iQiA%`>R$*6RiJ>fw2N$cQ9&FOzTdj*%6B+}`w1MqdPG}>y`(Z~7{%(|VgIa((L znE$de$r9sD9K*C`bhOFA^FC$p_S`23&~pOov#TH}O^KQHyAnh)`JpZ;6dWrT!JMFP zl+hT$AF}$G@UavMMr@hRXJsI{S%UG7H)r;+Pq=L>wt;Zv;~H1*A-EtNfqpUxH2B_i zs_v==`f3WyooFGZY}yC7JQ5EIxkF^nO%wcTyMv<^cgjpSuahcB?ZSxR8m#LR0D;BN zVaeKU#BHxG{*-Vdr#q`iM7#lwm}nz=zOToU$(KYZVF%2AqKhBTtwneL1H`ZA5*dEE z7Wt2!gCfZaSR0>7XWV~BE?l?3B_KfEdmnKxa64$IL^|HkaWM-Ey^ggSeE9zNHE!p~ zIV#*fWacz^lKbe214i_%$B-r$%DVP(FL&|aZ@05l``QeYA6|%8jTf?C*9US*`3-V1 z&zz3DCWvG3=;vRwggTc1;RNoDp(!C73i z-4(gpi;?e?3T@o|5ubRNuw%XH*jO7y#KPy|Bbh(s(An42pmvx<`4_;?2wBd2;hXUG z)ifs2LXWlZTZ`om*3j_?;od!c>|{K_hY10L-t+J_=rY)3N;0ebuYsSF09#$7jMZab zp~AqDEEYHk8oay7{6DtDX!J6)FS-MtUjKp{2gG5`VG|6UcawVj6=oh3J%=wUdf<{J z$|S@|gUSaLkWux611pMP(qtR6QdX9koVylpOlyS%lSJlldlivdQV9XyDq(u9AI#q@ z4p(b$V&zaO3`w0lW0!&suHsU*bdi*H6Tg#Z!I;`M45N_ zG*<5U2|c_YfFxj;urE?jS9@sTM50@7ipwe499pw9zFYH z9wU+64h_)?%$%>h%!}Xp;FstFqi0RYNV+#sw4DY?okmdT`3*WtrI}Ex#c(vy3hKh^ zi0rrXWKjJj^{aYM9R52>_!eeC>)QpeN#+T(95@6T4SFP=F^8HLB_vS$GhJjVOfIdO zpr6a$)uzUIgTucr){bt6@$yfg^=TL;Gh#SB!U^!RjSr@m7;?5+J78(xTeB$3GE!pj zo+^6X;0(<@3zs1UJkwI4COa8dt_VSiCOL3?9m92#NTx^b9fzhlIS}yT7DV5?0bTCK z(Cv`RJ?a`odXHa6Pu&TudN@f>Zt(-z2ydFB*@^E*Do}St*^T2hzVKtqdvf7yG|Vp9 z1|ND7F>+#(E)(sgX(f9>E?Syy_tRrpV z2Z;5e!(jg@8Oj!>P{yzfy$&j|&N30Te}^xS{qM$LzjqoP4^d~`=QNq**;JD(lS%ls zXA3+$xd7kCMbppW%hA~{9r7F0xYu9TV?*j}R&VhJ_UNGvTub9{7)zQUzx1WyVU9fc zddD0U{(04&UrR7Z;~jeaNkGYgI&52`%vvn4#+vnIwxpS&grL8j-mc2&ew}`hy*cxT`P& ziu=q_Yo9mlz!XT_oezshEWEW#fkT=;m|kU!yC&5b1^mE0d)^+i{kG7q@m-$Ys#mvkrp2dx?{F1`b~f!$^f_*v0djyggk> zD&o>Oe|>9Vzwj~OHKRnPxC9o23vqA)nbKzXD5l) zol#ivC6&CgF6Z34<3L}zs+sbRyW*6m0Q=^#7CL<#B{Xd|%>GSLLEHo@Zr&tEXVsJP zL&BgkZ!xFsekPuJ>W0L^3N^f+61UX}w0Xb_|J1xCCl1cSp3($P@4$XaPqlC!b|sS$ zotbF;i4WbrE`mD2P0+oi1B6Z<17ZJI(zxH1wkTYzJ!)$NM)NiivlpT`!jDwD)MO^z<6P&kH5(Zv(fZmlXc)T{A zu25Bj2yYQ^mUH9CnP%bHf&zq;G^`)(<&w>@*vc!9F85OD!_G{&qjI0KJA$DyX5tXO zX9q5niQqMbz6@5WP2Pu@;|lFjnt9rd!r?C!R_rojZ){NQL0XtEOJ!2VaB zh0DDxVCMlD`c;OY@VjW_4b>qnk@twhNq%Mp_YR0QjH17>J-Z=s2J|bsG4Cp!3AFHn zo<#$?HOj&RtDW@DyK$Inc^>}kn2DnEXR=G8xcE1x9&QD>fmQz?bUwd??{pbFyKFtI z?AHOS&Uli_ zJ8#9-7J!9jHgwucIchg70GSt);8A@hRcezU8!O6TXtxv`ZPvxkvoh?E-4`4UdxCX4 zoY**LA$CE*B6z=U8dmm9(huvEm}^~15X1bSdLk;A_rMA1&QN@?+W^ILwb-qHd{LwF z0(G2Y4&5iYptoxse96s)%{_ipdcG|uHmaVpeX}>zOV7mnR-*W6i3MFas{r<0RfS*6 zI3S#21a`S?X1`;(g#W*IsBjG=8&B{7XL%GoaAZ4*2u%{7hIL?2d63*kq&!i!u1^kPG*xwn3i0KJ0Cs2ivx;gdWBH zWWi`Jtn@O2ZvBPq=_BPpqE|9AhVH|Z#|N{cJOa#Z8D&^)Hw&CR4q*4!Qh5H4%VV2D zVE+U!`w7Z0y|a&TEsSG6?Y|8CWlI^W{!l!A_AyyMxdFRu|x;S)O_eU{T~j;tm1OE6oX4{IW!6uP@_W&AyNMpR%lZ4$`5kIJAD zE=9ZSbReN$kaDEhyH1)wes&n)hoH}_BhAUUYdKn{By7hyc z{`(&c45oo2`3dqx&w#T#n`3%M0QUGLLfvb3`lTX``#Q#jyg50Ip1u)|pXBEa29)nW5L=yP+?EK%Ef@a zIslQBD<2z6jWYj^OwYPw^J(xlctkK0CJqfU5)^sLD{Wh6n5l7kvN@4bT1x8SQ zF(VRt5_Q~#**)pg>6|mlj8|GO7*&5HVUBBQSlkv;oLxk^Y|p{In5|54U=29>%wT`! z1(3CJ%FJ&aYsUJhGgIVB7$b8LU!Vt&qv{Y>?F9zI5LxN zdEnAu^hxJ+_mE&sK(xbor*$O-KLmow7vV()5n47y5}Kln_) zO(f$R+iJKwvKgnB%Awl|1C&?%PRkC(z^H&Zd^K*tA0f(U%|w!v&^KVX_XRWtmcZO& zDL8QVKMYy*lB%94g#17g>|8Mul`fv8<&!r_v)p3f%xi(s&wRHUq%g5pP${^C>DMTj?k7LG^Ho3TUf>>S7#=Ke~cEzS~?0$Na6YyCd z8fK2b*QPO|yrU3jnE#>m-|xeC+&7q-Igd`-D6`tVo~-*CoRFTcM%o_8nOok$M8kU z0%{sgNi|W0jH+v#yEhUE3E4@F@iwjO$mEDT{*RL)!$aQN8{(%qSMa1{3eKBX1?v?> ziQiIZYCCO^#Cg5vTK6v zuZWG(S|}F@!Dj7jsP+gYRZse1)%Y!9)-Qv}4SdkKGYhQPG3x9dLf-yeg1!q}@Z<7c zy3DJE=2~7rmxsyFpUgpx#ti)N`w|CI^Wn_N?fAz@lrH{q#jI4qi>}@GkT@$zu=eh5 zEK`+({i_ax&p-z3_>+mJJ&u8L#dZ3_^A_28vy1v!3B%S4y6hRt7xeex`{+~vAwDcwx2{%j;RD(8rC!Xl<%o)7$a?}>jSui@(rw`t(s0UDxE3bp02 zoWeOV^jowEo+=il=ND3BAMb~c6$<3%4iWrr`hhOgaKY5S74S>&5(IVeFr}7n;jgd{ zeXs3^l`h6q+13!sd0RQL@)5LZV>X^Hj)c`Ag3Q$X8NfLk4QX5fLjkUrE~h%Pc#$W09T?hJf$VT29Z@oepx!m;$Q{I& zCp6goE3p@fL2}Nkf+Kee2&gI}tyzz~`y|bCKNjN5H+i)`7CC`q{z)uWlEf2#tx(~2B`S7vv2*Sm zR0_?+-0A0Ve%J)Z|5Y$IQ8gbzB=5nwA{W^8tQAu8KEs9;dVtr?Azx(=_0ej>UOsR7 z=kX%E#u2={@bcT$LIAhyiXT0@k2qP9}(Tc_%`dL&H+@wc= zd;B2yUNJ>M_j#P2w43xp)(vv_I~R_-$gy+l?_+XC2X3Ax2;9&1gsJ%t#NsvC_5eOs zK5>lmX1*2;Ig?4M=WK+KRr+Ys`W^+g)zNcz12M*2i(__Q4-Ot&$a<1m6u83A^sUuo z);<(s7W&C!md+MZIPWjsEa)Z2TQ5-G2p#a%j=-4@|I&_#b)0w0j2MrGHO&0x(;OX5 z9W1`^maMGSLG5kf5Rv+cJL}h8{4}p0>kF({gOfgZL)nd4RnQD8s=K)5{WFQ`geuq@ zCepj^xlqF=LUrU34R>#a^x_GMU3|dn@e>^D=D_PfJ}lcN3cq+}Fit@;urb0818fAy zmFf|s=~>iDUWze%n8UsK-5vu9UqHr>bg1)+MEi5*puzHk(9&T%PMpYKXfhfY^wX8D z9%hRq4B*5pH)wSf0eQ8Rc(T+B`NZCGzkQyKPSb|yazS;B&}rZvkrgF2i)HA;1|E=| zS_<^S=aLm0kEQ^6}i zXHfB9mwh?O{Ib# z^GVR>b)3J^{-FBY19sLN2P?%yFivN{_LVTRe6sqqr%Iwn;~osq?5L%0=~aB5bfVqWLBT_6*Zb(%-m);uIm1K2!9fzYXcS zBSY?wy@sU8b7b?PJ~SQGV^18FV)OZxQ0~?l@OZi!Cj%{ThqNHP+z}63UyDG2`!UG> zwGSNvkKyn%4wff)QuQktU~y~~Q9g2qv*_Xw84M^Q+GR0Napf_#j;!N6K5B&*x^EJ( zbZwN!U=nJ(6+XRPfkHu-u=NZN9MLf6KF~5}&z@+c*-A~Y!fz9p#e_pz=5-J$T}Lif zYzOUk88E)-FSl^y6S;8q5{cCQNkx~egMq9nIHdLjDr3KM^`G$JQ;7tkG%ioKnAXFu zRdHY`7D|)fTT}Oqm$0UPK3B{m5TxWNwodZn{+u4%aCb3X`J|mLbIm6Grw54YbS039 zvOzJGX0(mIjcZ>Du(m+6F7Nen3>FD!%&lh_jAQ2qsA=^i)i8*6m8?Zc{&n0jCOSpTZq-$U7f|JlyF1 zk56b8e;K_rzXKLj+7n*`NoZA*g>todAY0@InR(UFusjP&bp@FhTf%YWC3`H}90ZR% zTHtT+TPqb~?eusA+8DnrwDaQvq(6G{OvI1BqI zM`oiPec9TE!Lp*YGw+Ad-z}$Utlk;)-VuyZ7q`*_cjSnl$OWppv4Nu}-hz>;8z9Bz z5zIU5&InGWLC9)Cr)NX$a>!7j2^Qh3^l73B&V4BW`r}oQHeH1AlhuLK)^+f>)Q%`v zzXR`|M?vGn9mpxy=PDVWhZQTAu{n2c;?9q+%_6FPLbToiFqu;fbC$+}W^pnUi7kZ= zeF0W2dj<)%`V3}w?sE$5B$%oi8DMIRnZc$(@Y9X~?Q8nX8~bu_Jam#)3ahdFe{bN; z;!LnR!sSH#ya0Lg+o4=;0QQ-s!L?*XP_C~707*c$zm8Z6X*%^6IqUbZ!7XlZxY?Ll zX_!vZ^JS>-zEX~as5Ez))CZD&Dg`!w{SQw~*kjI~2q?d#h%$Dvb%lTHWO^G*X_R)mv; z3&oHv+C;Tqd81&_RlNG(749sTVAHx}INUHLSbJrXTCXC+r)!F4Y-*}KA-w=9WZL0n z?<2f=bs-yD*o3nUgjsjr4zflf1>}bwp!fRSa5_1YDoH0%GahB&_UJNmmW9v?-3VYe z$iTkfQap6?EmnRM#jD{G=(}>1hHaKc?L-xNw9N}%SlYu~ojmfUSpv^^@c`2JHSW}MW+>R2pEPcMv5+doc90vg@9788P+X~&jTb`F ziPOF;@c(@Q{Oc8=qva_%6m%Z~it3+`U2)*q?lW{YI)vtkjCl>C{IDq5Y{TO%j8eX-vr=7wdKkbW&}HX5(Ndiot< z73NRks#Uw8H8PrGU5uCv3IP-St7f^Jv0RdNgNHITxCr`_;LpS1a z`R)g3P}WPcx*}l~%7L=o7)iM@^l!fk;klwcJ@mVn$i`~o+e(U}yC+foQwuh%`9ig1 zb;$EHe)!$Eky~1k2A7}a5xt2Vu363%%p3iNXQE8mR3j7idyqV<+Ukm*Z*Ik=`9WNX z8}_6i+zyHr=9AdDxg_hgAG&1-u&S~%*<*Wd;JXw=1KS#+DijXKSBHV*KSzDZXqg&R zR+^>8^P!-^2VCl~jJ+jqnaz4`5dM`#&2=Q2fl`(9&5 z&pfu0`m$YNo^0ou2|Uhs9&_CvpzQKUOtpxj``ns2E`x_a_P}#eaBPGuJ1fkl{CtbW z7UwZ3a|H_CRe{lZVVLJ1fZd*gs5y6#cUc;JJpJcijOG z(+jC!)(m+4T!0!X-sPI7m61=K-o)-7Ya0Zz^m1n(M`_O*sNWC{nMd#85jRV0*eH!M z5^Hg1OEKB~)s<>&+)o2On3#Dyo21)6U%=(Bb-+olja<2|i-FQ+uuCWy-%TXqHl+fb zo|H>H*hrF97J;!|eYjbB6vdrA*l1rR_Q?ZrR@l51UEAVOOInRJnz0n4eF_Ml%_q}o zqg^23E zpNme$qD-UVY9{y9F-H5rRa~|v0=|u^Ge3{qgYVBZVRO@4Vr*dx%Yrw7WwI{AV^zTz z3-B`z8>H~KhXYv2X)@|12Vm4+j&Niz(e+k#FmIs{NVN+?_s_dLK6xmqK&kO621ghS@EbNXd`sxJ9O^X8I*hgz8gBhfVN^gF1ax zc!J7zn?vwlZKkSoA)NWnf!@o%NnYG(T6%RZ#gYs3#npA_eRPD|cWoIlJ?a5{%uR0J z?ROjwbDrBFbdmFZ-x`W>KWf*>#&O@BoR4Q)Uz1Svaq`)4Ihp=dA5wm40$++fse2eo zcNm$2nLsO%7<^A|r}MBEgDu&6T5@cP$SnMp_sJybdJ-Hy*+KN@Bm!on!M5hP(8jGG zmuD8z=KYH~X>RjzqI($$j){bc-v`L+p3mSB`xIta$un{#TbV-_YnXyp+nDEX1(+a< zpP;9iNPHxf7-w!X=vlbIxkx!i^vfIA6~`t|$&{Bh3f+}Cxzuh;9GQ|5vEj?+hQ zN~u3OgBAbjNCcJh*n)p!+)#bGD*Zd;PY*SD;=t3ZMCZkL{(j66zGd8QRQjgK9};ur zD_V6)rouH?a(ou(e~^aOU1DTicRhY~%*S1+UYK;+3~e^6Vws5;zdmRl-=by1HD1yM zt?uQJBQ>AweEN(0-g^YEw@Sd&GJAOFyba&z%%Uc{d*}kOm$?1cGISfShXb~U7@eKb z)F!JCrs^q+R(qK3b&4 zB%H3mr@eltxcm%0nmZBy{;?;QbBBr1-w@dQVLcW7xtDx9#=u}{63Hlb0*f_ju<=|h zF-`i#$VM*0)$x(mefM1Gn?>m)YU(F?y`+VhYdMmIAD4pI5qAi(UuapmDIISlBL33* zgPA2uG3s*?wJ)xx68DFxo|zPsTD}(W&fB3-#1-OJcfh9tLonId#&|qTp+D!#lg;XZ za9_O@bi?kD_;yc73|h;G{EmZw90@jMtudRJtImeZl4j2)eS;k-tD(cl9_rpTfI-&_ zBBt|!NN;k21G^_c#Zx`@aKJZG;OhoK+P6Ru{|XL*C$^j4#2i@%`oMc1iSQMH(#{Uz z(W!>7mG6>;Tb7WatoN8(n*-DS<-6p!vAp65F+T98xZqHb9E65BgQvqUIx0O4&k{%c z{^0aKnLa?3b&J@JY9Hu`HNZ)G^QeyFPqKfX8k~rbg~Rdf4dD*YxKSe3n6&pe5sQn1 z=P8%qa?mhSs1SzhJx}2KC)bI`^kM&d2Io+#uO z;>0>hG-f=|X6bR#GB649RymLb!H38sk?*^Y&Ty6 z_v6w?MqeG+TZhowRzukNaWjNmH-HnKrQj?x4K}K}q2uU&e$S&{YDGYGbs&*C`-FBsQWJE?9HuJ4mE@+6 z1NVL6bzJa!GWZINz;{6uB<{ZeufME;=hIW^xpksU`s?xN7CeX0@W-%Na||@zY2#W~ zB*WXSO>q97Pub=BQmYwK=(+g}ZFyn_-|nPwA1h}QBh{l=c>5trG}q_aQg2ZvIC)=Nbzk zr^VsQhZ?~l<|(5stAbabFTih`QsK62HT`bmM#@%&f?Zw-xc$Bh$$}>viT^}zhTbS9hL8OT$zD#&D=$G>>r4>Wm_{ye2!=-Ce%?Ip1q#WP4`gKko{{dgG<|XWS5ePiw=byHoMpm%{Y3Mo zB)__KCO>NEC+?5ZWfuF@k;9f-v3~P-Vt&dL*2q5*#H&bR#gg6FC}+%D|96ltd6~}F zU#-E1C9}ws+&i?>b{+bEI*Lird+~yO9$pFTBwz0tVBVG@>Xx9-1drPQa#ri9lGJOu z$RQp3f8C+)r8zRT)&;~RYiQf_wXk7)7RY`y!mWn3?C!JbZ0Fb`v}Pn0{jPnXliDAn zPxS{9Q{_b)-QpM(XnZ@CKlY>uie;nl_`;L) z$ePpKnWzmQxRnJn>=R(uJT;>E;4unjjplE7)?;(KJc>$g!qzdB^nLYs?DL(4=?6b? zqV>7z@?Xn7CNRh0zI*{Ov0;mBi=l?>i;1hyg( zM1~3l*9Y&AF6{_1xxSfvs+dc&wu+L%w*hdb&IwY-g%fdD#d-ah0=_#n;bz2mIPg>e z;X_yHRr?I$rZ^5R-}hpkNlB28Z%jd6cnhpLY`|C{4W8~!C2q53F~4lbLC0T381Etu z)f$w3nrw*gt|D3m*>k6&7UBn;W;#vbEB!vy$E2-Q<|D?upw@Nvn6I-CM_QUtA_Va9 zLTwZ#i1DW*E@7S4G=9u`4gS&oVJdaD9#=XQV*kgN=*Ot?MSnPY^peX#M&8<3AAG;3xi8r$ZhRo5~!sjDN~eOAHC-uX28@qOxI5=G@>kH9YX zQke9<9Uitg!$MDSd}^>74If>jrBBrHOO7tYmEC}fFMcp!^-nALC$T-sj^El*4f)?^ z^LH$HWRr)n$$-U|uZBroa~d~%GXlJch|wW(c#-z`NMV-$S5h9io<#QdkYCKdjG6F_>FU+PIltF}JNg-EUX}R$8kB{04J)tt5lj-{q1^)gr7`)E3tLd@0D6}*|+Pep4rxJNP`q&W9H9jRT0gZv`w zUHyP8IwAq$Z(CBdqIKi|2P}pjg1KYzCsZPLR_^or7{+1cXpo28t>^KEikN*J|U0L>tq#C=lvK_`1 zH!=z@l3?l5Y;I}hez?c}n{yR!ayV27joYTPM@BSRX};i{?0pqyy}?brI5H$H(-c;zp-5SUNRYRo&|sS zLhfj`2V6cfk-cRz2o+Z4@W&zwjA|(S4qHInpReHJUMs-3>}p1_>KKH%X9^~#JHy&9 z2uFDitXr><<&zr0;<*jXS-q5=nNd%#eZ9@;rtGD10yDC7S2AR!K7(3017cJq!8EOW zOqj7USTp4)&58WM6|WdacDOwyfB(%}ZjCimfSNT?=e? zpP>VZ+4Pl+KDcKY!)tT|;<$m}{d($KD8h`2q9~}g;$CZK((=-BH2#%|bIcRyi=~g~ z%2mJ}8TvwAa>+0zRi3SisfPU*=io=j9PryV6CyAD#xCpS=sdKPUM+V5(ak0#7xS40 z+5`QYZP}c;HthYR95|G;61I=CqFYG<3EtNOdrcREfxR{?IdG9|Y?dM4tmEi~jdvhn z&O$t;SOlxL9%L;$b0IQA4He2ZfQ{E6sn%zRspT>laV?{F$_C)lz*4eK!;(JQQ%amH zC$Y!ZcEH5Bi}6~^B|(hBV;b@CF0=l;CrPcDj~%OuNXXe`AmzeiGPyv$_P>V(nO7lh zIE@;I+kw^M$%5Lm@5ye7$q+cLn(~U*Nc+Vg>^@O~w=Hr7meSpDLSBVEWpR`-m>YvL zU#FujeBgQ`&2ZIQN=sj=qT$CuZt&zGw5a<-$BWHm*KHr5bLYxHdWMkR*rY0WsbG!e zn$j3pcK{bYFypiBICT0s8uolR2isKj*uGiEsQj;Ou%Jp=^>bL zOOLJE-vyGt$G`!%IHGsYiF!VJOJ~e1ChC@QG# z3w&GQ1F@R_ME)ZJvc^tlA5B$ey*9YA6?aFmv-;D>`*(4W+`pNf46^J%Y7fZ^umQ)0 zFR;U#!Yol$cA2;Y8}R%xlx@o)7JeUbcFt*vKaP^6JH~-q*>Nn=kVC(q6#&X=5Hhz* zFf=Zj>3Jc+e@_(Sm5y8TGm_t-=k-SzDcL~_^bZpqYXh?9;5M#V#RAK-f1sVqCVo@f zbl$vGng6dpiF!9)!Rto^kQ8(o;=W3v<+Tp_>dQH*Gh&0u@AY}ITaEvCI~AW6){&6V zldwIYo!qjS4HvJ5LqudT+AbIo+B}b;-tGz*r<00zUM8VhaVegDo&^Iv7qCks8v_kt_3J!&_Dk^tTz{4WNOf+jmOEX@E?@TTLmxPd%}mUJ+P#> z4RU{Kpmb9ltG0u}XSe{r zV(J@~2REG$L+8pF%t+b{xZolM=Ubv-#+mQn*Q1J~u3y9rx97o}Rxx%|q9i<2=!B1+ zEHRZn0WW;sfEr)YRn)J1lz72_4`q*;xf+N|y9 zRNQf}69e}Z(G+n9Ony;9tb4vO`#cZfy#-$|xi|+WbPnK6T7uV}a=7u54qrJs7@0Lr z*m8Rco?7ZaPE65&^{d~LFyBVT_(B8O?qJIQs5j!nT^0B#w?0xuDL2^EwVCT{4I_Wu z9+NOh1N_f1Mo{-!7QgCFW6W1yqf;erP-z((W|L5#N*-+%T3%a9O>-|&S$9tyNQj^o znb9;aaUKY5aN6f17$%yIN92Tb+vWp;pQc|>TrdSYt-4^HhZ^Uy ztcM%rz8`YtMbh4g3B0RoFFwishU?NhsL7n^_@CbiJZk&_Ew=yVQhZ7=ukA62l@0)v z8>Z)7s_=T=b)4?J9~I98Vr}*tdf|gVuFXK0JEa&VyX}Po_mkkqGQu|dY^VG6Qt)(J zFEL;ImhxLB2&dKS;7jLJn&#LBCeBMhN@FrLc%}m3YVMHlU56QelW=;>R1CNt%}oq9 zB#k=J^u(ii^h?4P=)s>G;cdbJ^iz1L^wp1v^#GvYjN3`ZiGG1Le zgr7Gm;MVd;bQ(O#705?38WY4}NktibeF|`rZaP=H#gDq~lcEnofhX@}c)jydIQ6nO zuF>0$Gx~E-GggYvnsAmbx;UFFxUY#JOU{zbi`5`SY8BjWo(q;&7Evzu9JLAjNMfaL zqKV%l^i{UShfEDwX|BOMam@zByiu_2K_2%~Zx#6491u)BstC$a3*i1TJzBLggLE*N zq_+4l4BBZyoqZ*&@G^l9)e&$qeI-O+DCQoCv7g7Fepv+Q{`?JP$0MNC?>7`%K7@%gFOuWe7c+UiZPfq7Wqf~d1~F>d4nMtY zIX=|^>IGxj*f$;EU#WyT5_0^mf}8mFjx1k4X(sOi-&Xes~{q1 zJ=qIqaYEZ6USXL%zj(AWJToqVCB5fKOFIwlLj`1{>NI?HJ_o#_0tomb91z?_6^ZA} zg18Y{Zg>U8PhG)IbSVax92PFkOoqjUuSv#ZSt9S9Ln|WB2xRt5BbidM)XwNKZurK7 zTJkb>nyCRhIYtK}nOVeT8X@xrD#(_#%i%5ifEmo!#EIS-eD2vH+_FQFZ`Pg+Po5qm zrY{bHi!E@k?WH(5!;Q?uCIxiox6m!ZXj~WY6z^3_@m&kTpiD;rEPwn4k&jzJY4KJv z)gu#RL~4E8k8z1C7-likW({g;`)A0MW-)6}uH z>L-2HGYcDz2H?HRJ#_LrZ>CSdf}~b1!nd^#xo95`)LFNiSdaQHK=BbOlaNANh9l8c zOb^ym;@90=KxWRnG7Ch^1va_f}VC$C6S3jcz05l@p zvEOL7Fi}wF6e_c0o-oXZPAKKE* zn{zO=Wi&s(cpvK3y}}!dq(HV@6Lwx)i{roA;fwu%>s~h#(x(AigS5yip9xSED967J z>>w}XE^tx0b%;mA;IL&ZPFLRsp5x-l>_Stn|8TlcIqf$QOFe^8zogJDH=hX}=815K z((6^OSa|+8PMO`wI4YOWR+aH^`*J%O`r$>2mfMrb3Tc@6I~VTldqV?f&B5w|Yuugw zCTgFWPdD#zqR*{g(74ernUPW(GXBaW?5LK)tp0TL4qb{7#_8~UksPgVi6`kIa;VaB znJl=ML%sCR5Up?zkeDfs<8C#e@%C)g_`DJyCH&*(&*_+=6%W%7=`mt%_lb$T3$|nl z(7{X(qY9GHvh)u6?G?qnRttoS-#-EIpjccTrA15e0=bkeg?{Z@~bd%PnZNyGE zj!bWiz&@>frsb13VZ^`D-yJ*P&Bxiaac4CVy%tZWWGg_fYcF#*^C>goq&DMpFCRaS zlCnO;AA=;f1R{T99(4SUC%0Z0;mTXx^l!p-B2it8M}t(lu^zI98Kk;NhiIjN7*)`JPtR?R#;J`}D6Tk%_>8Tj?|Kf? z!fSEVXfGj}z8R=oGzU{Es;up#v}lt+11-7=QT3=D)|iLW;(I>l!dDtGw++krf)@S7_ zYtvIA{LZh_$kZfvEHM5>?{1%fGg_}=`76;-*z!$l4zQOk1=Izx?*cbD<$jaE3DT->8M~RWlx# zjZILU`H{|Fz~G(2GW;@FE||@)La`H%F~fTf*BU<--&%yy9p2XD(o<1V*z=k!nOOm? zp)=sX@I0D1Mv~X+Fu?rS8XPRVj^efz_%`q;zHpL5ntF=J-kL(K(jSw1HAA=5%CsD=Jg^nF=RlCv!Fp7Cg0AAb`UPI!Uqrl?`u z14kNaJsLa0HOc1cxy0ZR1CJM;VzPW=IltOK@~XjxG?!aLbioa>X2U3=9}-0KJhVu+ zmMc~8>7ofb%c*x?Hz(U%%P41xpt@oOc_i;d-u4uL&7x$|-7CV6b{)+>>zRb)?+LPr zk%kDRNOG7O;gJoG!Tj5AaG3fQ^zLOq^IV>paa4*wp`VRCG9_62B_5uS_lNEWUBI}z zLDeb|w*Bm4Ru~WrU!|pKNGV|2;J@|jV~E$=Qo7^DE%N(WDUm41h6=wKU{fmzndlGd zL&i8ML5&x#c7RHL5fSoJVx?^Cc)$r zPV~m!nJ{+rB{IfS6>M@|(!IZ4lA`u8s6W+{xxA~DEPhu+H0;)qSBIZa$4ORjF~XMa z8t&tSAcIar@-V(ahdA()agMVjK_Nw2L> z;A*0cVCG6~aKCK|hMRL?%D`Eec*F*>o877MK1%Zc?qeKl3A4sW3rfz)aLu{dpuHys zR$BaotB=;h^Wt-mJ1j+xUy;Uz#tW#NO)_jwkOIRxKls)(hlDI^;N0}`n2Ss7atP2UWD1w`J6lTMUM^go5?mvRKTawXRu#H7k@ZLV*luB`gXZ5isJfn zhK~;jGLA))75O}KcVsd<>(w}TV{r((C*8tvI)&6MgU995$MPFrcG3N*mx-!-F5FL< zM36ON8eX9&olN_ahV3iLGjy^xB~UW_i0Q zSg+TG{A2PUJE@PXU715(%8!QQ(GP`>_;RY7a0;LO>|^|1D1xGy7_OAq1Nn2^fx&UO zs`dl9ZT(IdE>cbeN@<|n>w=u~OLV)p0!Q8NWiCWYL)fzb7=1>RlVum;@!J(-%8IFQ z+947CDzAYL=NIC5QFZ?8z%}~tza@fqjU>}a^Is>@ zgwAdmC~dZ(NjcUKWb_mU-^Ihmo8O2Y+0P`5vw#OXx4`pCUnVa;k?4HAMs{+Z(7R`& z;K8F=sDv>@_Oki5LjJ@VyI7=5?giR|4GiuWHc z!v2Y3yiJTYuivcBKfo@$0e`7woHgcj?1d$Ld*QwH6|$}~5_!WwG_p*kNwW+w(fArw zU3MGfxRX#i&k4TzcF@O)Eo6UWs=(0U8EA`6bG~U6P2g@6OVVk4#CMvrvooqsl7xjlF?S!5*tBVD(}%l zdrNRqULE~!p*D654^ZYvHg%dNi(M1qq44`(VmDh9$H(7md_|5?Yp-IWrfdj*eH)=+ zoj=5hM?;r+9sH~#>~a}7wtIUA6sK;%^YgoDS>Y~hxbB3F(+`o=N)qh5CH3^{n2GGu z03WvCKEuY=90lEcd3+)+fuAGOus!7uUA(&zZ>nv@8hIK1Kza+3%2diFw8O_4N4SP{ z{dC-48C+8Jp8L5ki_SI*WjMM6mp57Aqx@SWugQc>UuwfvKAgaUhyx^u>R^|o7<(aG z7u-~Y#C`S{{FSx~PxpCJrLj|4YMq6Q7WQKv8x5#-lj%UHMx|E9=j&&Vr9tabMke2gil#d{$kdSmoF~(T(hUW;@wF7jnf@UYRm#YY^H;F0 z=Lbn|HsBu}u%Rntj-pFDLzAW`^W&b1@Fy5o(B@*PVyl~Qr+E(zc=?KiD=6@7e&Lwp zWCG^%wAgt&R>9(*6bt6|5qFUs0Hs_e>qjeb)`;eUmM#OEnY;1(X=~2&qbxh{@F5&@ zRA483$R%{^F|z%F6WFaB1IM-pfJzC%!Y4&!o|yqCh=#E<2ED*!eF(^#*U$|~w)Fb? z+0fAYANg}x1@45er?c|Ch{D{@uu|y=d*1R0TW4qlwHe-U#W5ewh;`Ay=5efeZX&Ex zTn58^m+9j9yU65u)-Wo_p0#G;VZ=*_b5ko|%GLzfze$oU`Dx0of8GF-?#p6m!5?Dr zx0{hXtORHB4ntVsAatvI2XC7h?2jGyK~c9IM6Uk_4#q2R(L!(ZDBo%QrRo4oNUedB z7XW(OHQ0ozL8$eqf}dw%!2Z2Bf$}HBf7%7w(BnX?Hsw*@i8}CL)*0eF!3PSqrb5E@ zd{{nP0PVv!NC>efOlmA1@?+X0e>3X+PY|9DqX2Y*-xPW0uD-JrZ%lFdOCAp620H1j;I-7^|2{mWs}g{AOg%U--U zznAt+Rp#eJnep4hq#!HhF34o&LPwhcT<#hJpI>${{|(K=%TJGDq1s`r-gOj@a8J;C zj~YMEY9lu^xd--1E3xh8^NB`C9dqHsB=8UG^ zr3#)&;BO#__V2dBiJfuuNzZ>==$RtYRYM>=R!CP3XXB?^xA3)2D!xrwg-I6DAYr$f z#GJGge5;b;t{KcDB2QH4tSXXiWxJL_C{_dx5w!|}@bz{-;i6wo!D4#T~ zSV}_Y6bml=Ri|flHlybAt9X1x4$jL8C83MevFy$RMtXN4bJNlu3<8Yt|8GIZggqq- zWa=1U#uR*9txvpTb*OClcQAcA0*ijTfX&|ucxvZOYTr77o9R2D`5RRb54539d@v){ zv6;5kti*3}+0=DO5k65kirNMT>7oBrvFd06$uvC0%x>7hgnkjy`5RW@GyNC1@M;r2 zurufF3M%Py?KYfLnSe)z8_`ik8#mcTQX8QZjC9qKnv8z>x3ddfPyL6s29bE%wUkW% zC!fL8$R3#eGZq$?Rm1nsGVFxSqU@4t1=e^Z58P61F&QM#?92|_`!WR;-nC$ryCU8; z&!b10rJyXlipZZ$V+>#Xt6e`-`E9M*e6sycyzO`zs}kJF;aU!xyA{dz6$oQ@OK@`v zb2v?v9Q?apnx7;yiH|aE#ylfYR4*u`sw%C}K5aS#?t2A3HW^S+9Y!ZKM`6%9V}4qI zArE>YyiIK!hR@9+6Et3dSMx<^`;tVWIumF~UI9(f@+5l)198TbO=v&+D&BIDhWpxn zSTKB+sQxz@zf=^X+x)xOlI?)6g9>p?csDssW(`=$?@t>d}urd}dZc$IPK(k3bmgQP7&56?%=z^?)u zPHJQxPHQM431-{i<@=*>JFASU=3OC^qqfr2H5TwSe>JpZ?&PFn#Hq0PE`9y80pIqS z(my-%VXj>wym=H2f~A$9>8pv`x7gD#vtzh+!(`O@l|_QodbqiD$MAD&9QS4KPEs&j zMcRI@V_4}}IHTN03~W~MmeKzxeZqNKzts{CgdM|NiP_AlMOCQ1#tF0kNKqP~K*zoN zM6VbALcP_qXvK7OkbN+VXlG`V8~5z+=S>~F^Yj4TA2mWR%T~|>iju7K`5W-!%2T{? zCj*w;5D+VQ8}h^^9ekTdL-hA*JT|p}h%YMv5wYQa`DMbYIwZq(DRGDn8WhZTu!ig? z334iK9DSlRM16i-Aj0?B?5zBGY~LR}_F|?8bXF?Tur59D_~MOe1tM&?XBW{mQy|~W z>*&bKwXpp19(Llz23WznL1^GqD3@IW`|o{(*ZM`ULj5>6r@Jy&T)hvq{#Vw<8x4My~)&2_ct{USN(c8(_r0nt;$|2lUDg zL4w9RXs`Bw8Pm6OrdN-UB?-QSo{lEk8$`h`(Ew5cZSbbg40s%%&6@0~gOo5Q2wJTq zRO*l8NKG|p*SOKmq4OEV)5DC$msPZ_XeQm~oF<_uUcc!P8>6x=I{|bM0aCC3mh&ZbyIQj@&>$jZj;b_at~PJ8 z;VhDw!Mv2y9sE?V0*s;`5S{K5*#E{AoGmR2eoC#So|El{ zb6MGM3@g?71g=G#!`Vk2VeFD6ME&~@dU(q&s2wwv1iL<@u1gO>S8V{h73hB87+kfxND^eP2sSRVz|dxXO#LsC(iJg+n?Hw< zU%Cyp4&DRBpu?a$Kbv$YS;OZ@br_TS6xN(ChfPHqaJ^z5s=^^WZIMV?4evmS_hyic z4LW~JnaBYYA_?JPY39pooc9UvI5%uK$w4x+Q1m=iy`=tI$Jx)jjb_q5K;g&^TmEiWW6MKwSmM)R^N}|0&#I^S?C8!8n~ezUj|R) zd)4)EJ7~kXI5GC>-bB{_?PmzD%|!R^NVN7S!}rQfC@j#YN#Vl`@9u_q-Gz82AQuM5 z)IevtBkTD09Ao`=6SiufLVGagbGYv`M;Zi!Gmn!w-3NuY%(IB5_Lm%{b;hR0Q>ZU z&_eDheSJ9t?DY;|;Lk?9k(EZq1Q(-mjx+vo(Zqt+-%v;76mC$gpv?zoV&Ppm;;z?3 zGq$YZl9d-=qq;x3gz4bzUtZW)TP4(J_(~_&$5M>apwIgA>EfPebl&P{`nCKJjpG9_ zYMu$!?~KH>J2O#FH3l%=bCh`2MB@^T@nNnR9TVY#-=1H+y-(<75i#Op zuZHTu&Gh?{)zp9M7%rh}fKCrK0s8j{?YxjFkW>k!e!;)7Q*HnyOM`G;UJYn^eld1_^IWaO}rblec14vpU|Ae?*QuPQ;VFhHRCzBSx1? zM|#(SZIUM`-=j>a|DFQMf@C){;)0xlk_ z1-rKeP}!N`Oib5dyc^vPM%pLI_~OBHU$<71@7I>1l! z=nGFJe$$6r?=p|4sbI3lLE+Z*fy@E%ZRA_sd(w634jGy358`VTp{x54nnY{Dy=R7K z=c))AVd-@BB|WgMNv3U;e`x*-AFlYI9#z=b0v|=y;ls`vnl17U-9>-nt}C8`?V7IK z*{)=oy?BUj$;gIH|8){Z*_NI{SS?*eOeP8)o5?XZ`3mToDrwf`GE3k`y8L%oxMc9`8LS|WPBi!hFMmH|Nxb8VRQ_6g2CuHak@sHv zi599Y;IHJ{@%q*S+;NeuIMet72)&1i%dN{)$;^h==}X}Cm(JwvEh(e>;yto+@8jR^ zu4HqY3RPEsFT6Hk78ri1BP+Tjd8t=ge0bbc-p6PWZWz&FGK~t+V~GQeQ@u+#hdm57 z9m2nJ;vn_i97ywTMLVSs++KN_u1k=BL`f@H6D7o2IpA9bWBIgCeN^UFIx`q*$o+So zBbw+){yUsWmFFbUPo5o=F0RC(vF+GUBaRhgp5Wez;q=PoP%8Vi7_56Dh>`Lzxq+i0 zM7s|?Z}j8TITcuFKxxt0Jc#Yrqr0x$Blq_0g&$oX$T3?{sMH7|y`lEpTX=&l_BtTB zLxnVIt%r-T;^fSLFRWW!LnLBv6EXK&=d@lqFrPUFE;ts^Q8U;jo>wdoFRyn7ur zzrDcVyV4lBYz5hnzMpegQVu^O1)wFIPx8M%AzQ2h&?++uL1hRvzHH-vmZjoaJ{?_A z1Yf*S0Z^R+WjCw9-?WOx{!PMlX&fH)nTr9Z15tRclwP|l#$Nm`4vS7kL)qVLVDEAr z6r3lqs>K?tvqb?ssUFRWrMRGD_7k$}JuRMq)8}3RNw$$Rcyv;x z@HaL3y%u8&6N$6VSqSjrKy|2w4y%kKL$}Ou)y@T=difN!ldnbFO9q&DY#;6zn2B40 z_K}6d48-~m62l8TJ+){j<~j_c+q#GNVo(8DzXEIxNyJZ=IJBsf$KQpqRQT8d6b|Qe zIqo-Ug|8`IO_|0gxI6P-%D-d%p9UJNs*i(X-VhPYvJN&%fwf}6(9k;_GM|3L2c<9Q z$?_r`6?|1N(^Lg6SuGK4PV$EJc4O&8@o0DumjFkWC`0`y286B(AX7Ap>czJ)rF|xx z_J|F9UQYl!K*YaEN#8T#J7EmmEM8A+?xZtse;GoR?qRx9d=(T!Fc%f2g5T$A;s#AQ zJa|3>at}!}oxiNO&M+Sc5j2ynUUmQSZX)Na15nhW4}!HvG1N*PLe9m)#<^waZ@o9ZRnTH%A;R=EBu3cR!@LgRy6$Q&I*Zmt?(V!xZiHkt9@`}Q2D zjf!OVd`V%`OcG(B_cHTBDU~F&pQVn>4fyu`0hz?8;U=>Ph*@X~&dPsaRG1!nvv>-- zSD=h<1*0*l#hVy(S3%l_H0YKMp@*Dykz;1kAQJl@X3d0T@W!{vE!{U!K0h0}JBw3Bvi+o}X5A+cG<649n%!hoV zx%e_|1Kvw6r^V0rQK8#dFfC>%&Rhs?LJbW3ew9e9DMG{VevlmALt4%LvGVvz65M}` z-f(xJkD`Z}EAcuIWp{itj137{jD%$H{}SR=X?$yX(eD%CO@t_lY_DMTj;x4E+i}NDv1hL zr>@@}Ky%45(z2li=4}XuE&oO0&_We7P~HtGLgT#N6fKx_@H21i5-phjss~!n)`7E9 z8Zmd#rqf9xwh%Pi@e_lZ8Q*7R&=i zKJ^W~;Iao8 zl0t}y4uMJGDda5snY?@H1cA17Aoat8> zbv*i}nwlCqoUBGSLvp~ zT`;|Q20RMSCf+N|Nq)C6Bwn=yG7`o_G_0l0LT+&Uvm!@At}^wT7cQ2vp00-wNk(y;m%bb{xXAvbk`qqnqs1`UL?~ zRD7A1oQY)O|WTkAK+Vzc-n5REot(xk{m_c~1;!Zm#u75U zD)B~J5WY3b!ddDJRpG0kQ8E^w`1C2*YZ7uTP!iR`7H}K0Ww*o)Po7T>qbF9QhIltS)2X?R_}&&18_C69Gee zDQVj4id(D%xd)60x3FrM@^xzQ)FK-oZ$=C6%dXQjz`lyEv-rwuu5F?7KmMg(w6?-E z!CI;U#fhO~0*#O1k+gOd%(&-6zcjRx6&(qTs`eTBP_mrl3`|DD^m%x>pi zLftQkjvF6zUfl}EudU(v8z<4Atsx*BF@*e;o;ac#&+Duyfy90pa5;7g&6Zunr*jtK zw(@Wb*~UbY^1+@YuZiSsGn>H`_zQAlAIi~J+7jQ$O2I25f7-sm3@(}dAV-iNqWgvE z!0at(cHs`z47|qOCb}5qErukepmO=SN91k84>0c%gA(I$GIj4N`aHUu1hs#`B>f4r zwoJk;upVBf-Giwv|55Ls`uI#SkbG?TOr=ICFW~K2@_}EI*OR&vJ$AkN*DR*!pM1qa z;nfWok;&z?_LS2F4=7H1Rl=0?3(~Nl0_v#zjdy8}Fzyd3qqC;HMVYU~80lD3Del~h zQl&?5)8vJ?(MSe6XA9%f^q1t8hA;J8+(GA+F2(JQ^-M;t1pYD=!?a`hMDEK9EHn|p zPo2i-W^Kjj+Atv4a>+v5&j7#n|DuWqqws*uB(k;SI&s|-g@=_dCD z%(-B3E=^d0o8rmO&Ac^(TdzI~gZc+~e7a9btA;IX?b!+z+rp_*#UUcB`xtk0#Nrp{ zTomtDz`CvzkoZfT-G51vbqIS-@>-Lio(Mr|TQdm=7lYM;x{#wf6*DT7@Y?75l-z$! zt6~btR&57JNtXaS1A7udCtzeW4=NUS5vx#sO3YTtrFILAx)=rOqVn)#+ieKRA{*X zE)O%uf;T1fhe-kT(G7xEYpqD9*?9TlmSrBxn>>ER7o zJi$xFG^4o@9gO&~>6k6_6@J2E6)`;VEgxH^t8ur|MlgTZ3{KN844KKX)TKZVm)uF9 zBx63=8IldAdrnZPkVX{nir^e;&vGsE%24QIGc~<<2-s;1?YlgT@5GNo+JGhUlbhtE zjWTO>QlHW<8@b@XDE#of1MXf%Sn@&)TC6Q#v?>~Xtlc4MA|DR*8M3dF7P2P~6@#^6 z56blsvh~sk2=}Xl)Q(-uqAi}iEL)O=Wk+pbFA6&{dIKa@89@ko*BN^ zl*NljmFbm?A@W1)sl{`hF)|ww`iG?18GkwOl%5Tb!z^&B?-BevYY){{McP?o3z~ZS z$WePq-0J$8$ruQtv!@o3RLwTHDs~Tx<-Sr4+s(A;>dA67@rl& z@OJf2V7%~pnr=}IDUyPar$L~mdVmB*TeC~jt6-n*7<9u)u%kTFz5~nM+QhItA`5~b<(um`Xtj|5%bc782y5JP(5-U z$fr&)=@nsnJ{^Y7>$KtB_;Ttn&`vi;U#HvB6^VS;Ui$q&UZu}Gno^8yJK( z2C?XFdKo(yZOrwQpuX2e$-1fAAsWmAx|k5Zm?WFnd+u0sB=ci{<^25d-YI!MKO^w@}*zG z_F`;TI9`5Z%*}i$$ZdGkhtW!R$%K?JS#?$mY}Y5FW{M<^-&#P4!DUo(6~|^%4V<-* zj~lF=gqdpn3~yB}sx$HA(^qSp%Co@Gc^h!9|3fMoCrkeGQzTYl3RHY_5&AEQK>mLo ztCjeHe!9I0f5&(uW5}Si(h!gL`8iF$J&Qcv&0}7F*h8L-xANlr*P?gx3LF zzXaR#V)6O`8}#$KLiUvx)2e`#Ou*aatV!1jh;(nKKaQ3%ksFp!w?N;%-y(giFICl;48|7g;I~*OsaYQkMz9n8 zQ?$sHNfPv#s21jBwU9Qi2BIIWjDJtWpvu}s7Ltj(;Z=Yntj`cbM?O*9#n_|W<3gtL zNHTfv6-+j7o(os`?1(ze!q9yODB*=d!|I2mP~;gMOE$omIW?4ObnqPSnxOa2Oc+yt zMeeJnkfcXG@YXwqyxB4h?!9_JD)SGM;4_NAr;$uTPOS$mjcCy9_XYcg&!pY@EPM@o z1g}H3f%IcO*lDtz$o4~m4d>yse#gE-L=iX`@@IsBnFfHFnH zbk~6eoam!PoZQ7(+|QV&^pnazf9nfl_KZqH=FE6>*=2}#Cp&Z3Pt4)=sx0O{{+8hO z>k;g=ISdJMGhz9+S+LAWlooA!My%5-=30 zlUdL8S+_eyFg@ia5bGy!b7CvVl(k}l)>(YrbIClnTM*L!u7=G+Igs&Mi&kuNf$Q`0 zV3pJw7@nm|4sQNSznu&CcaARu(X)WRjn&X+st2l#Q(^GkMbe@y3~Ag&uyW-mFMUtp zowze7b-$Zb?b-&zBW7?yDinGh^1)2KhIH)~Cm$_R0ehy=87KE)$niXCbygAQc)y{O zO77CQm9j*{T8Y>Q@bQWbKGEMEQAAy)4BT#>hv-jG871w9jh`2AKRY^CIu{oF$c4oprorHo-M9@9PwZCZt}oNWaKq{NRsS-0ZCOe5PR7wD z>7Ud+O%hl`S@=2#5I)Tg#y@X@2(u8&OE@``*iTas%pwRc!`F^*f4XOVj!R_hZGP-=t9$?np!`qLhVwY?M)vZe;iv|^8ey9vI_l(d{uU0DQEQCrkno03VN4Vj5 z6U0;v;6&s}P&aHQOLDH5MO?een=%netE8jA_cj4d90sYE(wN$qO~-AYkZ^$&;9N04 z)<50_{88NnDl|Pob}j z)*i`%%;?>ui0>AfE6?PK94ml^>Nd#S@qtNhIM3V9X9*@IE7l>GO%-Mo6@ zG0FFqLy1#U;NBh~yzy}%e3CdqAE@qwTY&`WqO2oljqWd_eCf zx>exxrQ~gMKl5s}H7={7@X|(v8h>7bi$@Kptk6mn_uNX8tz+=9WfM{9+)Y$+6|m#O zHQus#b)G@!8`@UdMXxll&ZMu@Z8L$uu;#2raC>vsRL4&P2Ole`fS6S%oqzr|M9g!bs_W9}eQO=A_emT#;uZpanfb6U+XOyclE505`J8Id zOo($s%uxx&LD_A4#42U?biVcn;oRQK~ z{3PlF-VPb?NPIHxuh>BxLl0p0@Kxrt*jrFlwqs@Hx#6754ahaw>rf^fTyh(~2B!Su;sK`CzMM2gOTnW;dAf4LaWptC1=T{MB+iwOq`h;4iK{E% zu+?1NR68Yj`9hD0afqPrDip9Vtd$;qu?Q-~W9ikeVj#$;M}L0zp=R)zHW(;D=A|aO zW10*`rxl=E7DtxKbdtuX5vJ4moB8%9dPL!6HR;f?2CpZY5Uco$I4f#l|IVk_dCLeB zxH0NG*M*$spUZoxdkPN9XkvEabHM(3GTF-*m8Kh#vnF|DJX@BXTjC4cTt}Sr{4*~$ z18Ls|d6@k51pNB144%BSg3ivDxaxy6Y)qQTo}8q?D*DAj>URNHZ5#w%fv4!KfNV%R z6b7BX51~!vG>ANXkCtwJwAp6LKX>D(S9>^4nK1<$_M9brf>!YANhX|F5CEB-s=P}X ztz_}W_ZBU^c{I5`16Q53=0d)1#q4e&_&sAaJosis{13k-HG!)@?=#}gOVV8OjCr_l zBo_}E0p1;cih3CYkL^(cB}GTzw==>A5&=-Kax)!z^o06MpKl?yLX7MFbD27)MB$qi zzfpIgBFx%gPL2dB0(}Eu_TLTSvhW}lp1*=FQd79UlQp<|{+$@GdJFg9p#o0)YZueZ zM%-;7jt_Pb(o#7YLWHDAZmSgwH&wI%9>lTdlFaYLh#eUQ*_Tu7tFXVfC)m| z>5SKTG=4)2RL_pVuI7BKcp=Np@w<#?b>i^W+H?}0K9^UNvzFw|_(ffV)xkpQ4!M16 zgcvmoP;dXuVB?xdy{G(hoq|cQv%m<%X602bDm}&98CXxuURMx{3<275{3p5M5l5Vr z(;3ltCu-hugjj1u(j6OjVpsPmu*_~!`#Py05cu3CuUYuBK>+)VcE>Q8uxpW#+- zKacXu*YcLGUqOQ>sYA^(WKum&fqShOoBK2Z>(VMvtXdxaym#Z~h7@yx``yv}(J=5N z4d|BNr>JF;KI}WKNJd(xL+(N)TqagwKBZfLeZ5PJ8<{$XJMdr}RKvB|i@gG@^Tg#XfFGwRR4uYqhBKQ0PKa2f1w zdde(R=w!ZmID-A=GL*MofDP|;(S7zOu&G)AljW;nfwvx0zV1EwV%Sa&KK(=He|kYZ zG`=z>_8OpOk_-wT*hJQU&Vc$hX?Q2FnYk6%O&zR5;Md2+r1!5J7B0~yx*IQ%>OL17 zcw&Pi4)W+be4Wvp6#|u?yO|4vAK54!OA zn{#;h(tc+BgSo(q5XTEELs5EiB;%<#8OhsW8trxsTg-#dW!MId`ljFvzXh=Kf(R>U zlmTHwjrekZ6dC;yO3#0HXLxfO=%%gPspR!&{NZ2*^hFRf9b3)T{MBTamIXof+z-?& zA8~PXJ)QP!0Tz-VCjDDH{=BVF*_2J8cbzdicCr^TcbTz&{_26wI&UOVe`!^}DGXg} zqaOY{P{mabHQW60(59O($zTY0e+ocs!FTWqPlm-x(HP!;v+}p}0jOM_O%lBl$ejr# zo_1@A`Ogji_W1Lu?0MNMAZ((~+8xROi6R|n9XtzPH@pD{*aZxpeMQ6$Ue zzJp%%8n~%-4kWcz*ucafuzD5@rh6l(-il)0ImeCIRjrG^-mI^vQXJ;FX&r@q;WDhq z3r+TmLJe5&Y9gjf(il@6e(-Q?Im75(fgU?qJ<`7j{L4!|8Nus-LkGV!|Kc>f1V~8GiX6Gsf`#Lt`@k z-cB&RYh!V;?KrK*MRiAe`-83@^*OYku?}-j*$;L z8Cno@5p0I{!3%pc)Ev1+f2ZDqZANbxO@ml&FE#+NqQ|T>x=-AZ-HPZ(?Wzk*^*iFL&4CP?@d6PBNMU>5U%H@GcMh4NO5}A{CF+&E#wXCUKi5C8A`(Q7BUh z!e0`huReL0Fp0cW&7oH}mWj1sjUc*YAUZL1RJ zjAxZ$*P7c*-T7?zdZK`LGJ615B^Yp?Pd9Q=GICt$jS4)hXuxe?w&B%7;kbKRF_Uy_ zJ9v0~XAX@O;|rb&m!@dKIg(}EmZ$A_&%6oUjm$CGdWcSZ7KNp6`SG;dZ0Iw8OwKg+ zkeOyfXrM38eQf@T`;O({m?J-&cPXy)X?#yVz5pV7={nglFNEa0<)488K1dTbcyCWa>rDR{bJJvcTccP z)vZAAAD_;u3$BGTVlH6n7R!a8U8q?Qk#uiAlYs+ST_H&pL55dGB*k;_Y1LC1TVln#rMo){kPR$s=!vc)5coG4ychCUN5mIU`fe#bmdCnsbwjA8LNjH>$Pm0 zN)Y>S?gZ4%`~#0&Cu8=eD7>R&g-Kb@m{0kO=y>4|#xI)(HPcM-+C)2fG1x&(;u?5+ z=bnM(Q+J^2vL4)Jr-=^5uOa%L7eu+Yzlro7RSq^L&<^NpjidBxjT3t zj051fdKgI53c%*B1UR(eE_4J-vey@+K*5e)UiOeSeEK|vwG}u+D%2yWvh@&2TW1MZ zJVQY(U4VVozaNCu)VTxOZ1IPp659OhqPdGZh{6n6^l}R!wI|o%?(G+NB3&tDL+1?8 z)QQ5UpX_mYu`K7>vjVNzPh{xJR4jEEME&2ISp6e|o;o206??s?RQ7SIa#5OlHRl^H z+M&sn7u>=y(|VY5>np8uiNc-h7vkR7Kji64GjQHD!aTZbfTI0VxL$=lT&bA~mn!uP z1;6&=a_PO)DcBi*^M#C5u7}c4Q}j)l#+}*w3u9SdQgT6ZZ~}mpFEOqSqz2km_GzsQptO zbGOvf(6#4jl4KgGe6=2(J3YZyx|+8A{z#M$3gIP{A?n$;4jnI^#+Z|(2orNj$5)-o z9J9;31?OJVv1gt*p8tZHPq_g;Vzzj-y9)x!kHfM0BGhdZLqnhEJl8T&98?Y>2@|P| z`OKTRl*FTnT{KE`d_uR|LpUfKO3F5NVnMPZ7EW@eM}pt*&iKoLfVdiC*_Z6o~5Lspk)qOkI5x(2NExxyc+`-H12x6gca+P&^QoiigLq z!|oJOwmeLkGg|o_)CEAqv)hmq2vYIFygfg2s47 zZcKU=Iwc0cuj?G|MVkPA_5DJRJg+0}Z)dSWkF;6Qm_slp$BC?4+YDo=N}SfvMaJXv z1Ew=Nl&IHdkR8bjd1{lx(0|brNL}*<&RK@hzcpvbPU~-A6Q_&$Kla1fy^Em7wTvXm zh@kz$H7MPaL*<%Y!q7z()<0k`{AiG5UB<-mN!AjkX-Pf&`56S-N4gjXp-p(=)dJ?h zXbM?gt-?NNux0DiMc4#^U$F4s+}pUek;aYFn>K1bA7ijuQY|4|){|CouRb9qUHv4r)|cj73T4NiO3|&$T%BxDW>Im%yG)2{`5Pe<=Pi6tC&rLDLQiYGzkTO;1Ep z|Gs9*>tiYJ&`q-1;UX4VY{E55+#%6qJ#R~o6l1e#1-jhyrbjL?nAMYrQNd5>3(M0GDQO6> z_#AV_;W!MKEdsrOFnrcInM-{Bi|)!!M;&E1Tp&3OU%SWBy(r6zUXxB6YVXi}U!K7& z3q=z7LK$aIPDblBo%G?Ub6~kg9_;6rTkwDHqJN*ZGW&-KXzaa44>u;E^mHMzTxknY zIpvB=oIXJ8(N1b}*c?2$*jr;=g~U)z3|~IdgV4J}JmI+=r1nuA+4eIA&VStnTh)bN zuAUQZ=1av5hXcvlZELaSg&XRQKeCu%Vuv~01>E4N3aTBIWS2=K%-IreZc=Cp-~R~G z*MH;b9^c;#6?7o#^XrMx_&WHsj~_l8sgtR~e~Fm?N{F>q$9Zl4I{S<#oj4)`+dG=5 z+rl`yZcP}dth_|pl8f=3emcXP6Q#q7K1BTSE^sQH3}dHbnN5E?D68=w^;C5M^BK?S z#L0)eoNZBLci2tlfS(Cfi;t{48@A`45B!H#ztk}Bffb!Ru14OCI)Z=VE>h6+kSw)y zW>#G{fx5-Vh)w+#d@$aRR*iq~ipqI>_u>jB&e}nr9;=2$^RmFmPnP}jC=Xs1t!7Q5 zCt#1`emMVSkZ}&-rvp9j$(hI?`gPh8IAAl2q`VnnwkiVayx59eA9aIu%_(OMhXdeq zv>N1DCqQsmJZSvq4z+L*B10$0pq~>_`kVdF5wuy2+RttcQ=1EUb05fdDQWuDvpXgLB-8XyRNt*wa81P3A(a&;gof z@xV(@fZ@~StF~s)RQap2`zEbN`5Z$;ktx`><79`9Uk#B!{L0CbFy+uhH!T#p!)I(H;H#0i z%`YPDiN(xp?^+ls{7JH!e!<2kLafkAM<_eC9AfTCK%jvZ9{lD+`u?&P8oiX-I3v+e-S*rdn*kZ?BXWBe62Q>^&(N)LnsbGEwD3vSF z`uAlR@$dc%laRUl*t?nb;S4G%SktwWsdJ^arc%kZiKWf+EkMH#AdF1L;5G-Fn zR9CLz?VRgF@9WP4)iz~zc0>Ubse6(==f=@<^$vUuRaEMG68+mL2H6|y=$Lp939lDG zwIY7P6Y&Abp2kY&&AoWwcn+PewuzX`+X{)1*C5)fk5^m#lZ?|`UeBgjs`p+9MVC{$ z#!i;CaNR&(dyApcz4<&NF^=@~?t~wOqxAMp6&MI#k4y9ONOax~JhVQX%)BZK^7Xc; zQ-79e99%(Ob%w$+-YI%m#-3K&iO{SGTf8^ufzzCWQE6Z%3eG8^#Y@g$yY&Kk`Dh_Z z%JkxXD{r)j&cJ2-lWzA9eWhzteo^hE@t88bhs0W?!Pga$)MM`%?EPYf+e#hbqT)AF z^7%j7=psb_`%pz{!nK_F1mwdkQzwbCTOBT!c%-Gf^`q7ljp^sn91AR8o$^D%TOr z+9}9&UU1;lH|lZic_)Z$N-n){eGgZ-NR#{ZGJ`B{a6!TUY;jfCV!Hch60SK)@Wo># zu=YPg6N0NT>cuVml6MYIC}qH(J1p6iD-Vv(e$h?O9um`wTX59G9H&n51)FDUNpi_l zy5rh)CM+%mmTlilPaLhLt$LCqwfiA`rZqtuPZ!V}IX%>v^A4V_nhjfp=cCZKYYa2D z5AqkL(^02))a9xzrd_tcAIt@+`auvor)q-!*?Vw$mM_#Mv!oU5So56A6pV98o{A29 zJH7)xEp$YQcLVf_LlwE!YXt`Sm%wG{0GwW@z=}QgfIE}^|2Dc1e1G?mby*hp)oh4Z zEjxw1S7fPKyO1gQ^*#^QF8UZQMwoun{gS;FNL%XRP$k@#T=)A#~_&nPMR{5qdIHU#c zC2bY-+bobdBMePMo7TwD%2ic!>6(TmM9S3|PHeP-c&j2XdXh>uw|%E;4=dpLqj4y_ zUx52@Di%GmOYm{laf|m?H&Ex?^`z%OAOyOrLD%bK*tD7-l&fEnn`4L3DY5`}XEmX> z9^h=BZ&W7RoxIgfg~=&y@Zg*wd1xiai^);P%|Vf9QLKPIL-MeFo+x_YcieVqAKFj9 zUHN$7HS*aiiQDVw3^g5)#IW^DtS8u~)MtLd<=2>G)pgi~1VlO%zo&rYd z9Oy@;0uI(f(ELQOsn>)iUu$~qa2C(hQ3lo(Tw|<#XOeVjB^=(F0@s^F+1-cIK(p#A zOqQC?o(hm*=RJQqIO*^8=E4$)e#70`UB7&@-0Lqul}>G-S0r4Hm{+}k(k z_VPRx&&i|1zeP#f_foL-bVG|J{U!_#DP}?|N}lq8?}LI~V<5ID_+dWmwIhNoMRafr3-p2@Fl4 zXXn2qOY;}NB)4PmU_u|5?jnmhN;7cn4MIDPuR_1nWb&>{0(<*A>E4zZ;4%6S_ckDTAtw= zv4Ir${n!i+EK-EyN*AD1MVPfKlZGk$GR(fJ^I-qD0`iYMgj=r_V19HpDM`qOva~gD z)JK()U_&z0C68YgT%ms5x9O^-w)CCk0V4Kp9@aI7fN`oZSz2NYveRD^swIv)7SE@q z4@#-z<1G+q;t#KbWXZZrW7w|G2WNH)0B=wRDjqXnt0o2gd*$(n+Z*y~MFJj`dV&qt z>+!+a3=(q2359#QsPvtB-nPhonzlKe z%%k3)weU|t5AFCA$!IRqgxvexbpPI?q}b#G8CrdYj;Iz>6W#Z;U{V)t(G&+Ml{Vh2 z5=Th4)rE092`?0EDjQUPkuoPyu(XqfEhAGP{z?+ukxd~oomC{e#EE3A(ubtvjWBCy zgrt=2fp2d5U>0NsVcOzww@H^?a1DaPU#nnmYA7f+{2|i>d5|fd4eft5z~GWMi9ckD zTFe=`>h~g0-TIL%iy4NgT_KQH;=}lr2a$|3M`^*QDNxp}3nvzZ(JwEwpucSr&T;<@ zsuACbTl;>@8NGmdYF>CH;}%Ri(@sh#QS&)_auV<<~F-=;Ddw!OWO<1nRDozz* zj*ZCThkZ+^MpHLfw-7Km6by^*o+So(8?d9O3(5jX2=-^S`#2) zmo!YIB}4h6>FoTbDQqB>2Ep4Y*!{5pCVqrMF12BIvF;LY8lhU^8oFV zD`2IS43oS3=p+eKuy?%;*JiI`M-L6az6T{>I~EU=Zz{~tc~xop!=DcFilDztikMF7 zCMQ&XQrXB;@Zq%)>+)8DeUmppB2AS*Jg}M3D~yELOG$8P^D8LRmFLYr7z5!Sq}ZXA ze_%to8e3B{02$HZaC#&ZM4S?FXGb)nR;iC2I3JTjE70=&2IM6RaVYaoMbpAu^!IjUM^jQT`{(+~{7T?Kb=rSdbHx9H!Po{K2n zc-~?|^KRyuO%ZkWjlhNCA1lB@j;l&KhfPcR;Npt!FllxVc`9lGcUppQ!zM*~Tt1W- z${oP{CTB50>^JXrwKccd^aIvP6vE4;cQC^`fx0b!fvloB5lj$(;I;_z=-~$3|HBEU zOWemLKkT?A=_Qzxa{vM!>!VGQ1h@U!Y}7Rg!Rn7faNs}*p1q;KJ(zJCoockW`w?|m z+V>vb_z1Gr??kxas&>kEbPZlO@Q@zo-p~@U0@Sk!MZF#$YINc(oEsZ~pJNl?^=ANj z?tP~katm?s&jYA=>jMmHse0+%f4d>u)s3~jv!wz1NA~@o^iQQpuK`t9@hF{wq@nCc~ zMue-8Nf9roL-Z8hq%SQnbEzP^^^Pp7GI}58DQ*PUTbcB=${hIfQkqWKF2&vQ5!hZk zL}Z&kLiPQFu%__`jHv{Jht>{OS1$-`=82Gv>!R`f;5hC0&k}dO6GA5uLu~QchtdD3 z!ZJC12$#+Sm%k>^A}t5!M1z@9i>YA0aDW#7CyV@nd*F+mE$qu%O)e%MC;qMhh8rI8E*k1$OXecTkx_&0mFK|XF+ZrY1m#}J@OFhiptoD@;BVnd zyb@B4+Xwt`dc6iNEjPg53;4*l|3-LHq83O8mQ%<2FSPcm673wng~p1zF#r8R9G?gv zZ?3B24Y@=p$u0o1FZqzrbsG=FBoW<@`$1-95gMh;#+~b$VMEG!_+?p*y7rOyXx|mG zo0LO4*9h~vv%n_#JS4T^6X}dT#X}K0^1YRal8$-#vJ=4fnj~KF-ex?VG?4xb1F4#YOnohG%L7s6GChlqD zeY?_(KhGnsNtlWcZ=S-khzQ(xPytJ?&w}NP>xtcZEpkD*09&;(@%^_5JO+pHwCM$M zFSURqok_v$7m+yq`BL(?P41t%wG-%>1dHs}`v z=mO1I)I=1A|J}P9WhCPIQheqi!Nqj^#Wj+XIi~G7HkFLhj?Qq%D71vDAC!@QksQ1{ zGZ&^mIak?nRuI-1)M4>PL##D8Nhg=t!~ED-NIK^MP6_vzJG*a^&nlC63%||9qd_hh zUvYs+QQC`J*|X^8$Ph`TU>e%j&hyurh9WoJuuZLydM_TO8dB>B_4KE{+2_oq??y8> z+tgrWyacBOKSZOQiFm)>3AcaE!dXhUPLz0X^15;n2;cOoY%NFZ4bv%JP_(G0r zJ3F0I?Y>O!)gHvMlySb}ufXX-0cPQR=x#>$rxoJUb4XVdCI?I!2YIpa|% z5fRSQ*OI{TNN*C8t`27{LV2kI7qDHM;aZYZxJ@Muw8Up7tC&+q7lp=?n@N6jLf|Pi zyR?s4ndd;*=~?uI$P~1^S&EF1589ruhu|Db_HWr4ShlqYZ;gxNjQ)9ORaQ@)n{#*| zAd2ob+JXC?>7qzd0B&{J2It;fg`ZB}oL*%y5D|j!)wiP1vLD3o z>mAUp4}u&|F*bQlG^>A3n5`MQ2K}x%u(N9tyg6jeh;6<~gtNHe)Rm??NS(LA+ZvQE#m#s$o15xzm>?=V%Sz+ULPiDJPiWPy^GWSF+aHp>Y1q z31|%rhY#5uB>d2BT7NQ_u?XlR5n|_X>r`?0;mttx`U_y{UJJ95L+MPr3fMgs2qj04 zkdLe5$ddX|GS@4XjFxB7l2ZbpJlPDzJQiWz%OKi$Fq$TBJ;Z1~R_1l=j;7<0#iVZR zpWCgrraSD!(KA?+Dz>SUrw%JH|5GoPDl?o;;S+RTz88~ExA01GuJdwbzgooh##7fl zPCRYv$=u>v1r9?5xr}vcoaD+^*epzVKm4_UIcN_;$C{aY-iv{+t)I@^lSnNKRJhN1 zr@2h03LI^_f(hywAg`?rwo~uZDQz3TYbcAnB)zoVd_P^_poO<`l{sl#$`$_b!lQ9{ zP_Hb9elCJs(WmJ&C}%2&^mtSL?M|@h(?35+bjDN3&oI-z18dvWcymmL(PZXlta{jk zYI%n-;HV%v`mG@CuWaBFjUm|4PksDPlMCjjdGiG7amlh-oL^|&uXvXguxu~Y(%L)IsV=LLRYPU`Q(hGZSi`c^Y8 zF}qGbJ^#$?Ns7Z^EnQl&ljFT8n?|OkT43|hLK-MO!7H6vKx7>+@;)oZlb4h9X!X8d zbj_wrS`i_R=Z&RNKrf28il&jK+XhgR_8$%LtRoNETyo)iCX@Mc7x~Y2ABgy*5x!{) z$cdhhmGgzA$mrb(CcRSvbv$#(=YM;9TVy$1_9u%ei3y=Q`uWjhr4ka@Nn6i&<308c z=?ZhivL{mX+2^GsW{WUbr>w(L&19;O>wt5FXL9q3?$Gg7)kJgL6#q=$2AYn4s8zEY zLYy4C%!JZa2gS(;`*I@p=o%ds(BPh3Ho*rxSyc5rLmC`z!^}6q zR!BrCqeK!R$}ZvO`}^)hvD>-Bm*&L5ZS6mUNKhzQB4lbhULY;JfV@IK7H{TIL3r;+#j z%Gs-S{jcb1u%X6#T`?rM5X6{y zRQ*Z1dE}G<^5ljWd~i^Qz6&Smo|QZ4rMDYsq>v1@E}ubv`sYIH=0n8TL>ZgEZiGdG zg=FZ%G{TE*r=s(^X}ypz{OAfHrjHUx^7NBrEPpNNEA9pd#*aM3jXc?qG~T_8XH>>I zlI&DoM#ip4GNsXdz~^2^c~aMj_eM8Ztf>R)?R?CVop!LA$4^q6E66N$UFm>s~t&wdXT$SpYvSNuGhit4pAHQw+QKX)?`r7Uw-r zPQ*zbg{YqzhzYzx?A%*I>7`FZ{DKvvHN=ti8LhBu$6B1}tpsYpufV@hmF2O~zVkB{j^iESD0 zW1}imrj)Vg5{}Y~!NnxUAc1Y)z6$_JK(@bTu2yAksO^H@)CdfL>)c$t%gUBRA5un1FGTvjx4j~ z=RVE~!9$TbAbCRpYJ!xRE4BPgQuYFvG-|>7;k^TTT^%8Kr7wB){5yFsn1IbU>#)nH z0802TLc+T_jM3{|;FK~CoF;F@5N|!W?`H^K*Cmo6yPME0^O3juVS{;1{0Uaq)f6%} z2s5U~l0o*s9_T%mPbH!jkire#L~>gs9X@cMXmlPS25~-cu<0(@mKHPWnK zaVidrm!MH=C)IPFL$>5i0p`&Rs!}iolDaf_UH{49DGNUg(2B?V$$i+bB7=K{1K_=T zA-uip23vaV;LnkTu;t2C5H!z++Lgbk;|~?^w9!VNZ8B^~tuy0uLzJ1L^c3v<)4(9x zo*pW9)WS{{hIjehw}@nu#gP7eMXyIk?x|nD+i%4=F<$ zjL#7c$<@zzShkY}FA`%;rZk(`X$x}GlGV9b#cDL!oq;Jvnkd`87iP*dQfe=bJ6@bH z-dm=ekRi_fux07ATp{S==RRU2gYAb&_qR+8K{(CRz_5^3obQ* zow^22A76lPA4?*?XEhji%r!4EZ~_gHGq5#36+SKPqqD05K)Y}!dC|KF2BoDrxldM9 zbcY>|&9%X5*;HbuVo1gRaYO&SE8zLzDjB8EX_{IzU2``RiVEZKMr;u;|C$KwIh_q# zGNpJAr$iC;2NU$GYy{q(mWrBl47kqAE5X@S5mU~b0y1TkcW7xRO*X5eD=k0M?35XF z5B#Ny(&gBv(S_@!>TvUxm6&w4o5udU%u6qDgC8FbphLG5ov*ooHv9+hZgDT!vB;fN z-Tc>+J=clI9BHn0qbAqg`3}){)NUm=cXd8Jk++&Tz^Z8} z3Efu+Pe1uF0S`^UyP*<(y*44L8LMIO{iWpG5Fv>w)|k4j7_KZ&g!fll8{_s&fsH=T z$Xk9TNXmah7p&OE{*`P3wG~PY;-B)6@7#M{l!+*reAge!3zx(2TO-;#|dY;Y@a1XHECeKv7i^8Yd%+SEm`_cbMpcPv1KC%BAb+PlJj!>_*wx6_|}5^ z=1!8JCyt8iM=8HcBTk&v#PO|Z#N1F3^*fK^tdhyxm8dPK@JWe88H7Tz6Ou^#&Ae?d zs>sQ{RqV{s6~w;>dEXt9>4t0x>c=Nc`vgs}=kP|X(h;J+x6YxL69?$sf)${cc9`wk zBtz%x2SB#SY|u^%HeF}Y_K!Q4bF;^b(a|6kWye@Lry+_~+}}pt^sOV(xvGqD>0V|_ ztqoIk<0-Y=uZMZvg&3{ph-2-m*=jgVnpKX#!q@8>yWY$P!2o&Yo=X7ZD}5W>vU@=w z%LeTKgq#1~JBj`+cu#&B?t;b*;yBwOmS}$;grJ}N3|~5ehxZPgiyWiP?D@E&J241C!{ryVGg$+50H`(-1d?3NuftDnKA?G6Y{1A$99xAg5%M zRNfCItKO&M@wEcn1=kGRzq=Usd@&-9&p(oRiZ?-e!4O?>V-ij}F2Ngfp8;Nf&QZUZ z4pd26hO-~-$145l_$GD{bglNKHFIa<^@ojgtL9#`8djxmz9&(y9p!jH<{K(~--2dh z+T7$k3nXzKn4WD9kGt;D{TAEM?x;B?eU&9UToT!$H;3_M{Rk!&T4H=dA#Qq}i6!3Z zX4VNx25t7j@aG)pTl1Kh)ZrL(ktL_|l#P z8~px|ofgf=i#>wN9z@{#FHd0qt}xIaoP@kfTT$opEXeIwgU+u)aQsg<8Q=XAf4`04 z__Gdk=3vN;9@8h8_BY_+ttmY7FQe4tbR2xr%qGl0I&93ZAszNU+*J`9F8jF*w=}I1 zOt0pFgToYT70JO(>)X((VF{>S@20EmEul(45%hN5M%jVKsI1ihy5SDYY0DjS*Ahc| zr9+GRke7)I$}hsDBVCa9Sb*l0Lggf!C)rpci*CtkAP8j z1ZK*~yAVw(iDIBNtY4N5)A(wMWS|Koca(zHq)~R(nGkrk&K$2c-z3^!qG868>EyN@ z1N-BQ{`q5Hh%k+Xmfm~Nvoaq1L;m7vMhyNAM6!{d)wo`1Tst<_W?jz0(xrBZUAPN%^!2fCw%-PWb z$<6afz|;jirrix{J*QEx-bDC@`-$~nGQ^b+!h3~U!YAMfJ>r3||I=q;YbgMm1wYV( zP9jk3UQV^_TglhCzo4i-f|S@L(~PP%IC{H+v>0DTQTyx2o6FC2EzMyg-o??ya#x76 zq#({IW6=Fx0Cv;ZokcH|9h@MZJfF0 zLMto}enhJ!-qPZEA-F40i{6thHS_&;6en)^;aoWxD70|JzNz}$e12all6eNNh|J}@ zBa88c%`kbbT#Oc%ui_|8hhIUXWTTe~ujE=g@(S0Y#92WuJ5!6>x;2~d@ArrFo!PLw zZ6Txd)SL0k+zp5B_t57$U(8M&*Fg#4OdPSY;l^?za1tPZU;<3Ot$FUq7y5STF4}1K6IEM3Qt|p-khd?0Xy4feiAD~1D1Q_0vUMaHH>{&drDu74 zo2TN$sTnZZV}vn5im3k64mZVAK;p@Iwngk6t!pj>r5*ibO;sarUc`3tq0R=bZYrXa ze}ARlZ;IifhkMAa0}*&{VFIefIiW-NG<^6Vo%PrKz`jjQf-}%UpK|^EP}MP-41)&5533zW?xcj18U7$<=?rk+bh{#88BLe{w0@V)dCqF?r_B zib3e&ON578LaFDw4w~Jq$gQ?gxtwou$KXaL;u=UJ;ZXS&9T`SZ+>B2>v`-S}qECz{qLg*Dqi1>36luJ0?w&R_U z5EjQAKd_d0y>bS=sJG)Hx(;wRYGSxspB~eQ+WREu;9@wP>je6!fWioL>z?UM#N1|Z zPo0lD^S!vwSx<0Z+iFbNyBT~B?BuD4{mbhLKa5?b3h=22w{&lTqV-d8VTu}YDo?|e z-qkpH`xeW z25@9vXgq5owiV9K5u|<{*I=!s&p%zX!si+Fs2VQ_6}EEFotp`RR+>crKsnFmq&wVf zX9MdAr{CO$OIcr`Lq-F- ze$JxHw&c*{IT4`X_m2EIwi?&6+wu0ry>KQ}1gcCIVXkQshKCD7hI~6+<2n^wj>Xem zD$OM8brX3U5{&;j3W3+Ua1fIh9P|6BUC_!^2-rs0~*QFQOvi{%&1!MLgzPW>o?hGX&Qc`}APn^Qs(gW^d2k!QHd zbsM%Wt;AxTV}OI2^!ATz_#`rk(UjcBYQ-2pg^h`M%H$X1@A?6B`+fwrYiEF(&kuHU zJ_on|vG-5;HPrNa6r7Kd12(yYzG^f9H6sNwyf%w{G&_KH^JXwvz3XUZ>rbd2BA{^8 z23+Hv;i{-B=!*#vd@m!|Ww7mE|G z4-bhJ6w#S~%jlZFPIxWigR@G{jqyotO}sAB{9Ueh82 zelBRVlDL02=E=#vHs^Sj5FY6Ya(NXHQ)CJ6j#q%L3W88#I&AP2V%|ocgW&X32%D=6 z=7DwOPNOsNKA#BqU5?a*a}9KAF{U)<;NiW!yx#6xaL4jF^!t4UeGZA$9({81ktV2z zC4s`dt%R?7GORzSf!9x);e}{9;EPf)ukDrQ`i7@)W0evp+NaK|`gsNB)trDcPwL2@ zN#U59!sD*lX&+z0PJh@5Fw3{;88w4OY z|0r6h^_th{goARj7W}&UAN558=r2tpnG!4-&U54RiqGQPh1(hJTOW9Vn;xR~!V)M~ zuY>L*MKFa=o3zAtk-)$Vd~5%nw|A-`yK^07k9e1Z(G4YNoqiOudnDoL2VGbsBnL*= zM$PB65JLZws*jhbvd&iguC7HZR>i|}-Vbbi6N$d-=R@j_K-!-og%IqR^3lBYau`A>(&9?(@X|Cp2GH^8VD)MhKcEdP<_7y zzWoXW*_`8~vtkY0j1+)h?^i(IV-xT^pljagx)SzzjF9K;@i0^T96WEc!kA;5SlbuR zKvU{Eqzg=gD_4pjJ^ecgD*8*p{%K5onFy>6tHqad^l_AXLj2~=q*{lIkl*ke7Hrzl zST~*qewE?8E~`KEN2(n6MtTL;by1bu?{Jxp|1!gea_dmNK>|f;2G}Y04B?Aid!r?3 zL62q0nD?xRn-dYuZCBfj5BF~-aTjE`9KQ3o(6k)JF_HwGKSDgKwu9GL7;oi9DcCpq zi9U6Tr|&&Jk@r`7Xo#97SMksf-LC;p=-77H-q%OezMO!Y4!TT#{dxE*tBBsUa~Zqo zXPGoX9@DYyB5<{WOqe-^>X}AN$)spl{jH0%Z@bS^irhs@Y?pvyq9{{+QiJ>2Dl?GGB+n5gX#;2%$4{dk2p*RJFWdB!lwzXFaL z){(&k8C=#;!?WM$4zaBZ(f;~NHs*90h+1TW2>zQphyLT7;-+AxjQauQ^Aq`U3;AUyVHf(GUs_a?0eby*3;ov(=#}f zSWjaYEW>Q?X6P7p<^>yAz-hauJb|G+vhO25m_`%!yUk=Grg|E-`Aoo*dmVso=V95K z2{5e9BN-RgLCM`Z-r&4^_DgaXY3MGc%f9n7Zv{5v%%p5MS~!^z@bh70i&LO%w*V7V zoe3wm9mc>zhcP0k9Xis=%-x(HfZ;QBp5=FEMuL%HN~2<7p4cC(e)EZyS!)b$9*$Dq zPzIfZI)Sdaz$(6rB+5%80tt zXLL5zz}!Ux^j?%Q^IThyX{{=O-TRiKp}8>HKADfPtTpL5oC#Ku^XZ#JUG((HhQF^i zFfDgXVWmAkGmlw?D<-|<9eb2d%^wF)nIpwuRvtknpU{Q(zP+GxWHsZoMw)S{F=5tt z{Dyd+QP35h&E1@T7RObjV1|N%dA{udx?*-B<-5^Lo;c29Lf>aV#y2Zw?js+jXj(Dw z>15;6plB?Aant-}!b|f=|1*R+d<+$Q3Sr3$PnbW_jw^>gz(n>l*q*u_VkI7sUb}o!>~6-|n_K8CkGDzJ#Gr>~ZE@f-)&;vmc5#>O}d z6EcVP=sR%T>jxQIp#d>!2{?01l=1r(54qoVV)su0l=nMqKJ*}w1ddE%!Y?djG=u(m z;Nc@wHeZ&Nw|@ftii*sSks>zVNgLN)NaSfRXrgi3oS-jw0CaREnfXtman{*=74_XV!Y#(XFRzfSV}_Wy;v#4d118^YLcXD8+@iMUsC-IAivb2qZl_FUh6ORn4|2M^ZOVa7doaMd^pp)(3WORIps z*}e`er}m-1BR;sc<}@Cyh(?`zm6Xh%hbrIy!#O4ANX8#YruSDp9JMZ^!Yw(lu4@qr zcIlJA)5@T}auWUH9*-J%739H|D$u#O8N}*LfvNmTc6(jq1;tG29SGNT* zPc`tmDap-i}jMN^grz*?2*GCS?xY?w7w-m=X^~k?7@$8 zxV8f7#}z@TD;mt#r$d6rLwYW1501UuNdu=xvm`tmC$$|$?@vo{k)jwj3gi|D7}&gJ#Dc>U9$$ft;(RX{5aHGm(Ym3 z71T#o*?h*%eB9lVOxdrRXqpy*)^{3k+J!>Al)8mkJQxQ_oGznfAT6zth5!@0 zkHu-PQ|SH`#@KU6mno&DOp2ZmZ`}SkE4NY^_@>Ik=Ux+7XeP`Ih^~X>#z$ykjWue> z?uF`#X1IJY0b{v7R343`D^v>c{B&=+xJ}R8Av_Dt{Cy6ChqmFd+BalU#}McwjiW=+ z0Y{Yl1(wDw{A0v~4=D;DF zE5z{7BbuZa3)-Ylw8eSh5jS4$F@S82y~X~zOJtH zOV=Fm8Gk|a7K<}}`Ma3e6P8T&Q2}n(k*}B)B8(P$qG)H@8R{$9#(I_Wfq&Nqoa`)% z8h<}Sn5QR`7JV1!u8o|Ja4GjW--7E|--AzDOxe@SYRK>X$0q}7D57?dibe=Cd9G$C zx$*@%+(_cC87|`!;bq#u)a5#^>LboZH?86Wny>(m64Dq+jO@Sex7-i%#{D>F2G9Yh59Yl(5Ezb0;u*5OL@)0b`?T za^uK!td~>Z6b2^$i@z#O5|e`dHznp&I|*m%MuPmFvuJ$dGVao=1sHx0TWTaYwfj8$ zDRY;0_@=;`plsMv836J_Q@Kbn%H^D~;nJ69VTsvPoV4Z=9%z1nwpA>&N{ayuc*Dp~ zH_(kbjKLVj9a{Z@yZttwbC%cSEbD#DbN@@=@;Xep6XOvyOUeLV1$h$Q8#P*d?p(4yO0LXRfxDur$1GKx3SYF$U=Kt?-0uGv&8X9$Eb*O_BV%{H4^&5&!;8|h;OZPkMWPqLe^*Z8Y5^PQtZRgsV-ryNQJ1Ow zAxl)p6M=uxG1TpDMajo8aQ{#|B;Hpc8^Ya)!4gYyFkgX3yw9TgDjoUf2y-xgp{%QEWdmI!~WlSp^iQkLxAhq7~?Qv;>%RJWiL9NkA?a)cG` zoT-N~A)_>0h98xKX5g9Tc`)&BcCDyC02VPb$r*!v_~L#AHold>$#-*U{QXR9+Z#l0 z4Rp{y3mY)2M;d+O=iq~Fr^x#-NtEa+BwLN*@b}j*G>b{6L)QMdP}md2dGqjmjRCn* z^PQ&Dq~nn5L6Y^v1=~NI$Eg#qvAWkB&&=_s?6Wd@jZ&<~P`6 z#aXCyX(KL873OR%tUyu|fp+^hl23Yx7$2O7uA^GqvlqL#0R7$E_r+Z}Y&U{FKf1A^ zWj1$0e?BVIdgHlI*|@E7E8Jv9=z(|5`25o|d}p;7$K?5Nz;6t4@6@w7&GL9pZYgXN zt|qU$HE{jBZ-lpB6E`iXCSxk$>?G9T{f%rT7NHFDp;8ELsg@GOEM<1#)O6B4?<>9i zasYX)AEE`dgYFXQhgO`rV{hNmA=@O|hdY?CO)?ng>AmuF(~mFo;b~iGPN6sV_q7Kx?Y8cq+O_PusgJwJmxho z9 zCiq6M8I8ufafh=K%=Xz0B}+7j+xSoNHaQFYEmIpetV<)e_f3OPtp=E}EDbh@9)-xM zC!p`+Dd6Tj;;oosNJ`Hm)m62H!*?drQQtQxVP%E($^y`T;$PXMq3ZR4}|_ zNfMh+!A*XGMMi+m?=pzBZX8*&$A&qvaxzoeTnqQC?)>xh)1dKur}@X>67u+qDh7GK zr*5_dnECNFi22un;0`b5vV0kAlwJ!B4}L)?dlw!r+d{$~&4e3r7vb_@U?M$Ynb%YD znAKY%nLD99aP`YV((=#S28|j)%8w(kNbm?dY%Ij=`jWsHwM8+v&qOc+m%W*9GE0~f zE9#*AVh+LiQ@M$g^|b6uFi|+~MPkpVK#+_nQ&f<`G#!^@a#NegGJj>J&_t98b>Slk zfsq)Z+zA7%5peeO8t{!bAs@$QlIkQ+M&+|AEZn34A5NCfi-ekOtYmrtl1|{xSNxpK+BZleU|1n_y>dSf&}Py&jLwR zOW3tQ0dh~J!LQs`SjDTx!gsOkSEW+mWsDP{*R^E3?hdG7^ucDM53Cu;gxJd!5UIC^ zY-GsG}xh73Lm_Vf%T@d^yNQ)QoMT?*;!#s z4PQD!@p+cFb4(nDgl59x15uDVYc+&#x35Gu9;lY=s^ogM<{?0f{6L>Xv zW3D*Iov@TPSm zS~{O4KPzX$X0NGu_)ao=ewf2oVFFzH);yGwdxQz}9NI8*k@vC)1a407bfRX`RTtlp zjX&9c{p-&Y?zxZqd1*BJT_dUc>;^>n7l1YW&?ajrCg_k8YDou?eEpm!poj3$M-Fi2jw5g9Ddp;Ql-%%GcXWWExgu z+b%J2 z7FC;)prmSIm2;n%JQpHC*I)7k*74|DJAIJYo(Y%zUXvo188~}O6p_vSL>23GXzzC+ zXiAX-S<(Q&17h_iZqAJH1aJ`F9p!wF>U}bI1h}=k`eb24PoU0Yo zD>Ic;*yUmMS~DCGO2N4>nVaSQ6(e1XP?H5Si5d5(cAMEm{G9%}C?qRc0-^c@1+E1-@6(o`Z^b(pUq>oCq!(Jci+?qT$}pVfxwcOoM=pBF{IV zl`1y*WA=kvY}<`f?0K#l^-fkH7D`|?Q_fx)_(d%9>l+2a*5L47KKxx0L5!&+R*zXV zl)V%uTZVn1GT#XH)R@3_%L)>-c|Do=>nmxSc*+wgmE*NV%cEaL9--u{RUNhE+>t1gCp4THdCUPnoOR?0tvM?1j}o)K?9FLEO(FOE|tN@8XM4W ze+O2^@^OX%j+lSYlv90vl~nx8SH*|}&a6GbwjcaLD(=VOmYbGn(iDv*%HrJ0C5IYP zou*-N!X}jeXa|{X!#Hb^E}8GlfRaQ6^^MLz)om>(lq<^3`rV4{qbsS_=_kZwr#8bc zR0~ssLfBjChsmtDE?_-A4c`x+LzxkE?#o*~di}W-&KUniUWZA*x}}l4DM9Z@yhakt z2s=yPkGImJ_1{rINd#@R$Iy0 zZG`zz_-)Zl^zcgpuDTaY4~Q~K2YjHgsfJi=x=R)Z-XLbD;%M_zVL0sbgB2pqn4q?1U)ig z-Uu&;4KoGd-Wy{W(7i~;^Mz=skqcQO6bbeAZ>f{!Qev)pm++@o!oj2`;L)-REnL*N zfG!nk9Uu$EYd*7gpRb3c=vrUe>?)B3+w`f7%t6?oUr#2PnZWmrLhz?j54Du0AQl(E1UEpe7TU7@2QNV9 z{)3>keIexRxJoYRIS&4A%dFOBoyr1?3|OmyR|WXM zRPr12tbIw&|41ilq!?`Pl)@|ZPqZ@ZGF6;$4SgQ;ATLXYv%Q~3f0x^`Io4m{+fIGh zJGX{x6u3-;=JfI0J~u&Gv@vOqX@G?JPIzqMB`)LhC%1YkpnFau#6LEM&%zJjvXU36 z{qP)D##@oVW0WqT13Zs(D=Z$chuG{a7~fw^G~Se82%g(d)-?7Kr|YheBHO}l9-9wOqNJfzLYWb*l4bVG zo52;UCJ2-XfRX?0kC|0R=7>kb`8s~6`od53e7@5=BleItwV50`HbzV1WN7!3IFfX( zncO*T1%?(6h?o31wsZ1FB3Qo?|D2FxUq0z42Xt1ElXaJH!o~&_`#@<7QOtV8OGx^kh_|GU5E?;W^dNmtv9gQLFCzgOo=xMU?g%Q|) z(uccu{$u809Fx27KjutS0)BTL!kyI7{MY$32-g_m&GglTyUOig6+H+|OMgSOgB254 zB*e_na>41(gSmqZTeyS`@mMOHhZohaHO{_PKtwKOfWwU4uodcv->C+i?4gRs=U?YF zm`~s*qRzG4386ui;iShX1hOMji1mSNGI2(Pd7EZ}lcp^u(I2J3wEGrax%>}3tDb>I zC;XuO(+N0!^9OlabdU60bD(ac(?DWzIktR0g88@KlHD`*KuX>X_V=U=k~ZcItMbl) z&VwP|`Ni?z{QMb6M@ll}jyrv7pv#@gzXYz6Z&0OT6-b(cAfwa;#xup4`icUw0i9_p zyB+pwRKv5(2)f=h4p&q@p+nWF(A%lPgqSqI+^PxEIW7u(H{xLOU<^;u@-chihywYt za-bpaUq0JAmqS&r8mc<_LUiXd@-^x%aWppvHl&re>6-_9_N)ioT>vKtLbB>*=u$cj z0b^Obyf}hl>+N8hf-}kD_kaiI7J`(c8qu@c(=;A+zKZYtJ3D4-oGZPeFMA7nqwgW%9q zWYrFFhkg`s&wCQMBf@%ImUjcbI<%47`MwHI-;?E{ultkf;b&1=J`36e6EQDYn%n+x z8aMynJwaNp;Zjrp^!xrM{c_*o{I3Q$|DqN=ZT66%eS5$tZ9$`#+i@%#8pj5)hQ?!R z(ah^*D$GUQ>CBAz=FB8XIcC%AOsHF>1zTrj!GbB<$&r2cQMt0^|M%U$3j2?fPRzk` z3wBZix!us0vIMOR-&21lc{JE`4ECSc36gw+R7otkvTt5f)tM|Zg@h|Fj@dHYo528Ba4cIb!KH7CEaBmGPxz09!I6dnI^%K}j z^+RMJf7TfoRof2}?gn6XJ0JL73PHZ62D|L03Qn9ZK)d-G7@A=R>)yPDgQ^wa^YI5N z*;U}V+#e`9&lJ5UH_)Y__h?jC6b&ik1JHTGWg`noIB!R0xX<5bbirvz23x1f&129y!cM=kJ#uOC<9$8DD( zOYbWD+Ik5_E?RIalFwj7&Sxy$@ey@LZefJ079OtI2mU^m(57qwZY`_u%!nxQ^7h4m zt@>QwHhFHnX*KG#EDd+#y#TFIR zcw>lu=Tq?G>A5Ij(2X1Nr8xb(SkCQ526tz{B`%~{pPLmB$c02ELcL8G{VX>?f7r&N zcS8qiedgy51`sZ!zmEHduH1FL#TX$g32Xja$n?GPV)CM=vp3!?1pDS^Y>3^NeQ9JZ8*b8s3?bg%?}Ixsax-IP~%YHr?q!DS-fb(qk69T(^{T zZ|Ecs7pO3646NXgl;^*=>v6ZEn(?958SJavjt0*X@%*ku_^T-uWu_PKhN=V^k4sO8 zL7zNmlpniXw(0O|-ZrhzpG6m8>X~LFFJXw$4>~5lY zY#qK9Ux~hDe(XWXL*(FrabAMMOlVsdj=lB~$nuit?#6rInD7X8{wjsFFCUsc@%l-X zEk@}1&PT+5tpQ||{2{lbM4{=M3qYu75U}dNQ7b6(6P!xrOw8N;NHe zd7R!6Jq3>$b>*}fE#TeNZsIi4 zka_AHi%onKwg?7-(vj7W|FRG+ZU{qCt;&-*S)*!g}{0zFRH08cGeZUFfb)4|TG1N_Xgo=wE zL%c)*EZbuPpJST9@EfITOaI`8VGl0#(@E~I@MSKuB#9H{T-Tzm8j6#dh8Rj#gV-_ z#CPv5u)QjUV>PP8QI+_DlE-?YZatTr<9f&{J>e~5O+iqJ!85_Amr(CtFP@Lc9I zdEBT(0{D_(zvWcM+~Y5NytWi)o_dN4gax@z@1yCa1?uFO`U%>YB>?rFi-~f^Hah2_ zH#jS(kSXSMtiy||R3qU6?z+;3Ir=Aw`mK6U9MD1~z8-=x= zlgsO6A-gJ`JlyCClJhUno8?o%b4e4uWL(Q8E?1>~z5zI=DVt0t0(jg$0`91tr8P18 zA)&mOPH*udhc5Huqu-~g*Aa8f^Z7(i32Y)}w_{-Ei#g0##vibpl)!!ye?b;W>+@Xn z1o3L|8OkRgf?6kl%UCGHwHl<8yzSjYa{XiWV)Z3>kvK|L@q}RCt{?xHF!NR!!Lc3-?(RQ-a%?08<+Hb%8Fa;gy}UT&Xvr`eMP@MP9wjpoJqMV9^9IbY zZV2vhTEe;5U&3m8dpz)E3^ul|2Je?9VDVEEiXPX4`m5)V_CAe%E1k#9TT_k6w;oa{ znOv+@=_bY7f51N9L1Gu4K}D)L>h6js}L>Le<8HVDT&pru|Sy#TF@U;TKs>FER^MV}Fw4+s{)6tD8{z@+#RL z*GOJQy^v?C-b6379)h1@jjRJ_OZ&G^0aLS!B-Aby41%t~TMq(zOs7D% zX$J1vEQITi&)~Y1YtZ7#7&*6f2fI!x82-9ng;1qjcvqTDl+qd@?E8HZZu^aV**YCf zu3vxz2^Ma+C&7y9*-V=8PDpccg%4{z!OBGz^m{r<-e5VM8+sIdZ?1zC5)E)+H3v>R z8X@s?Foaq3LzG-EY?7=4(W{N5YVZh09Q3P# zB#9^(ej?6{ml`l8xr6XzSb*8OIUa6%xr6pd10DS`0~DJtf}lkpBr3lKiGML2ymF1z zKDwDM*sY2Wm~^PnQ^llYHBRS?2PbXj!8x(YxK4a7{gWCGwM##d<5SjR^s>z)mNjLv zMT_C_*9iD5ixj-Qi#__S=-vXsBa^|B2*H0Ai=fW3 zkKSzFL$(iyqN!pE?rR&qbT#HOOiOTqJM-1xyv1kugK^}PPz(8CB}BtzGijRmG@8EZ z9BQ0+N0P1UAoz+Tp5CAU$!fx|u-Vw`K)5I7_1q@kx5iSrziUw^P#ZoBIzxZgWB6!o z!7N!7O*S=%G16)U@XgvADlNC*({+)!#`-S(Zz<6G6{7z~!Fk8^^!;(Xt(|sClTcAq zRQJ3u4GLvNp@D>umWpJxw=|WscW6oU`JDF^WkktH_Q=fYt4PVn&+q^9xR1v@kJo*_ zp3leQp2Idb&tzTy~p9rl`7FPel4v#MY$@fbXp*~iv|orbPGjr0^H6gU&fe`l3P zt2h6omp{pY$o57O{iTYuQ%l&#d9%CSib35=9rqd8plL)1-~L-I->i5VjR;ht?%uW3 zdGI(H*_(@>+pl$J_0?R*2KRv5$C%kGFv3-;K!AI%ecO3@=(H_ITbJsY!xga zz~cwG&^Ahfk8LLLMzI7`E6G5r94ziGrb!vTMDw&Y|HC3ls9buRyzkhL3-m&vwueU= zbMBI|X|n7lD={z}>m;UfeI$$YQFDz-8sXAOWs_cV<1 zziqtBYdog`DueNLl)upob&W>{6y??w#Ojh4Uisk6X%+#V)&DN z@T5wN)fS%$zXjW%Jogzfb5-}Wb!$f{qQ6jdjDh1(+1{iBlWw$K)m;F&25*}m*6%tN3 z9PWxvisF0S9+r#bB)wJ^w4{8s{vqhdt>{pTHR;#w(;0ra~L92LYY`7Ln z?+9psTV*3D5x!4$%Sz*|^`2NbIS!BPTZ=Bo>uEM`GiX`6@Ev}wXVR0-0vBQdKg!(s zdLfzQQgRcSruPsIj$VSG1J6kLlBLAt-e&UWn#U4e4b4?_-saPAuk;ISI~zq#3GE?)nPRk3GLAQvn}xP}E}-DbD;Qc@ zic|cm@Ik!_3Y%C^k1bWCQnQNgxR}iFrWG*OXGKuOZ9Y!T6y*Zygt@SOH!g4BEB@!z zj92F$MPBGj)cCs=jY}R-g;|0`#iT(U{}iq1gN7F0x6ESo=qu zJE;DE&Wd)%@!?Fyp>-mScb4V8{#$GO-J6r*8F9p7a}ixz9&7b3Ifbf8i9^+<6=?mlmM7h<#?ZGB2%Gb1)HgHC3U`6zjVa{DrgY?N zW`UVn8K|$g1{WM>aE~2XTjcbz6|nVPN2V3j2QW6!pgK%H1#f_-NDK9_7NQzHD^HLzXEXQ zZDxb^=dfpG%-PjV9n61kL(wt6nRuPj#KDsjIRo#0+V-i%Dq(I1Sm!^5%eywQ#!+t| z07pQ$zhR^Z`?6%188J%i&FD?++obRCX<|6<+2T<~QSuDash$aT3CWZT)aH6_*P+Ss zt0=WlhTUVP%GxiV#riQ-q_E^LmQK)z-6w|07OfemA>4tV3ql|7k-us%&{B?rIbe^MO zvF6|r9zYT~U3hM1LBux4;OgEcY+HDpK2RTp3;W}-_lYx!+aU`mRz0V#UjW=@THWmEkHsT~%P9A*z&3s4ycSLgD3$jVEk<7|A zL7iLxjWb4M{sKk%*ftZ~bc(=e9-oNiSCfGGV&HSM*HX@48!UPKm@G8QCEtdvK;Ed1 zMr?V7$1lmD%D+AOkZKDp3CBTveg-^Fm`297o#E;8D(T#yZsPeyj8(gL0zRb3vupB1 zS)cE>;XrmiEWYi^tm;ex_YM2WMqdSL@OB}y*!JJc{Bw>|Q*VK}n*e)nu^lT}cn;Uy zw#2bcA2gCSVjjHIhq|~Z_{-#g(r5!+lavoC>t$)-g-JM8ew@GFRe(znn2sMleL}^> z>v8=R4SaEsg_{TDFhSIeYusnTZD*|JdUU!XoFGmAwx!ZDSr4k5y;O z{r%W&_A1;H)f6sOh>xddhQQU6Rpiv~L$qV`1W7w9O&qgx(KCu-=1>imEeXfSK*A+` zSK-t%S}{+vl`Q98G5rQ6Q0%mnELEO@CEo&Y*&lgsN!t^&d;Ai~GaJs~$0ed`B*cV9 z27%|@JrG*|m+@R6L}zT*MC&bXc>4T2RC6vSOXdyY`=Q5F**lPycr?M?Ba(1$)-Q6$ zFa~%AZm>?|F>_|aA|~nfTe|g09vLjnMx9V&)G)MSR-CCMOLj@aqF4X8I8+W8J2Ccm z#ziO{i~_rx?WB3mUm|{cnEakui~Ch9P;EsusttwyGxJa=$;^lAmRT_VGXWOXtblt} zr@`>t2`c5Uh2i?^vFHz_e(9Cu)7>_jxb6uUgm#1PR}P#L&Oq9%{ct^E18kR>ftC#} z_;PX=v%}5;|LYN;9@f90=6F6y5T44OSaub9=jB1wwrW`KQw!2R<6!aRPWUVLhS+W# zC#x?=l8ojH5EgPC{G%Mn;JtnD(d0cp^x0zq_j+*SEN!gwKZPzo8>phY6)XI18r%GE z9ZEX#!Avd!(z823*CC0t%=(Wmp1c^B{?*4x>=t(Hkvhx1j(~%?iR8Q2TdYj}=QqU% zpnG%)Ea+DN+4#fg{^}Kd^HG7$tk+_fB~D=T?bJBA6Gq&-kt*6%ZpXeqTtnh-)j}%o z9>h&OfN4=iAXn|jUUJyXeuioAVG)ZLH_33BJBr~=wj_MeE&{>4moONh3Y(ArN6)jO zob=CDYTa@KPj*b8z9uEqxBVn@{C627TYiQ2GdIDz4jw#fsewE%bJ+Vhh72E=jYXDL zoN?DFEPv8NpV_;B$j?_W`H~pRjT{HPRdZm`Y_i9{b=mrAMqellH;TSRA4ByN2>fqV3~2xBMgfJ?f;hR%6Rt=XgJ|4y zc-J*Rrh1&9HldSfdx<=xJbS}@+p!m}>5Hv5)JMg&?fvyi6sjE;UUcVkgMhvxaZj}zUOGOf|zz|4nG=Sl`r+5#>$7pKH zEB=foKmKsTI@akpQk< zY4E*59ptjjA=6&~h)NNBUD63dV>!g%cR5_F;RrasB)mh%=-(gpw5u-dA9uTuJGbii z4|Z&VPg|$Z@13SV)9icf^2YOH7qWi3_tFwLg)ELl3?^6g2nVr zdWzxJx5=uHH*wXf0UE$9M|-gVDt<77Y?$JTs{J)M_2nr#d$KWYCw}-&_ZW8RE7G|h zd(hS}j`0c3A?0>IXy%|gc(vQYWwwvHhy^eu`;wvV%N5L!nM_k^2gx##l^~edz}GVN z2dhDrZkU}$M(8^T+~-eDFH>gs=07A(=ABGFX@ae7*>pr(iCT}CF|n&RfwuZ3MkXhM zzxw(yxRf3OW8FOvTqw&rhFyn&RZl@dw*)-2Bq8QT7b%$=K)yKK~5Z*KsJl}}J z{u>X7_TNXKG3_9EC0PZ9OJgC8JHr3!AqwZ-c)+Vg<^1H)67qQCX*xb56w(z}f%SvO zFr%slc7Ew1m4St*yMLUYr*)LE4>19`)f0$Om?pZ1{U*!IWGD$wL=~SdqMWA$fzOJ- z?7|{8tlX46XKw~=gOb?yRF0N*ekPj9O0?O+Bfj83qOHqlq{uqh;28#@IyN*q zL+Zk89IS!MfnJTu#pbDm^L2O{pyRa0o!>!$aQMbqcWf?j)$r zbwayoZMgBABGV5B!j~U}09PAU_FDw&A@m&rRbGOS zKo+y~O9d?I7z6Lb1h6%F0TYULQ&u=04f}S}(Ur;Y$@LXqS}z2uM)bhoD?P);`n{ETRnoCCde}-4^#Q_?i(0E z31J#i=84CfzwlL~l*q+jP0Y1z?s%zbIZ|bN?zo=>&i7H*YioMpc-*eC?i96bz##KN7C7)M>ezxp`v>O)=GGx z+HYNayrGj=_KAVVlvp@q#^e8bC5H9)r-6#eRM;f;hkR2F!=DQd;t`pvC@Wb(y&`0w zGQt?X4(=qDhqu$`;xc%~NEP5FAvD->lUD3p{``Wliq>5%2X>npgLs<1PnYy|BBXC)Po0VJs_?w-`!RPeYJBgL4&-7KtW<&1R0N-c(B~l%~_;?;c@8 zn-CS7{SBD1=inGrPq=3a=&X7JyOyU=)f7o6y)K3|dJRnZlR7eEV=*~B_5%X@y2;uL zhA1eQj3IsEIDcFQ%Qr2@>s@(xpXZ8;hSjKs+ykO;Z7V%dkj!I-=fMus86c!&fpdgU z(Z&7mDfGI*oOT2Lx(g$8Rntkb{*Nghs9sBQ4(ef_(01~*dLlQd-HbzX21vv!1?+z3 z20P?=bYz+m`To)bm})6F)iDW7-g{Z?2`UMd(`5 z1+#we$mu46XE{=tt^BFd`GL99^>LsCh3-QvF z9-L<|^ZZ}32R9IL7(8MFPOet;z_%rs5pRldSHsvt_d?lE&tAvE{Iwkz0Go0UYK*KuP*c7ZHlDtYg(cB?F{I% zJWu|cR0^Bx#E6S_2yN5V zdwg(o{$-rDb}qNrXd&mndItBc-WjEjn~+&@CBXaB4=a`y!=_)8!S6W(8Y={_N4}br z$ME@+k2zqA+H0!)Ybl+Pb`1<()Pc{wCSZlS;Bs3!%-1{uukI?atx2t<`_&Zo*PyY0>F)2V`*lw%;N z@`l<8Y0`&qm%r3;8mc%apx^wf7~Wuts?OR(peq%Bwp}EPwCA$v)e~T6&R#q}(e0m; z>0#kdc`7!y5$zUDf({UaAVoQ7&5R@dv%T3RLm_Ok**HjTiX*?S`q9fd5_oidDe4bC zpeqBEN#yk%aDHtKDLpC6-pLSS=b2cuKRx+SW*Y#?F?D?9gh%`x4S}dcvLHwz3-W7< z;h@H45R==&T04$Fmw5?hKtJxNIEyt0UZKBC4XHn@ge{(;P&axFlzunh!g*$BfgzxI zDG6xe~$Ug5!Mh||Yb!h~3JXN^+HkMphwK>thgIYyt@#{W=!9i7IC@S&#kpqqiByGwH#7lV6cZ_x^FglseL^ zcaq+k63ocHjl=_w^WdCvGIMXSDpqbtXXFkxf^wQZn`H08KDRjlCW1#$>6lS^{VIT~HR}#=e@gm>tgdCAY(GW6$alGV)(Gx$vPJw^++!y_z0a9LUGT zbMo;~P7?e~y#SeM=g4`H#V{y4hs37;vZ69eX>URY?NHUDHH8s;xsAWA`YJ`>tjI}l zut;ZG|7KYQt$)b;cSISZ_SMm%t0_!B&LYeH-lkfrL3IC|ND|ZY9Xz~k+2aF8*uH#a z_OfgS`(d^{yCFXgVtWHgRcN~9k)Qp<+WOMJyf@Q1k3Uo4YFDyDApo>o?vv4zK2Y#Z zn*DOs51t7ufWYi$WLl;+ZC{x}S~qBL1=Z4=^EV&P``ts-skp)9x)#9V8`D85_!wEU zE0@18zXS@zeDO7F$~|8a!ih%B;%rTu@Mzc<2(I4-Q}u5Vn=F0!Ftrd1J&kazaUES` zD36hA4LQ?*1T-y`;zaXmaqM0LX*sfyi_MtJxeCkBmapG&*OnVpAuR&0R>{Hi#7?U8 z-IP-vzXG>Qo#654V|;Mw5NBPug%jIZfGG|L-P<@0rS(o)hO5m-%9k zLO5A>VLM;-^?ABaUj{$yEhdxC&46t`pAwZcOZePeOD647goaAFgonwh8;yKVKHlog_?BH*BFkU!ONT>CSk=H?L zK#yzVt;|y1Zy7C69eW9`QhahlG@co2*$ZR$*Wob{ajxX_C9slO4nsE4{05#3I{&aG zBYp#9$>o1e%|4_FS|Zq-8fxYLLKxX-+T zc66rmSIEhd{~F(-j%q($@MAS^hU0Mvotq76iWShkcpWI#SI|%4spxc8mMRHuhlZQ$ z$ozIeqF)&fORJ>WWybOB!;xRG^nN5!-T0b*^w^0t``0nE<+I?Io(+6!@&@HbQ_wRB zh50pS*o))o>`1Z#yR-8z$^1yk@}d!PD#)A&l^2m|d+gZ!hY}FEU5jSmZ-3->D}Ovxx=fI`@!2g(_UE?*^{=-Ak1J@B%;n_Z5Yb4^wvASK>>{=*h?HK;_4C z+UnZEu>1DoNN6!W=@~{fMRD%c?undkRT(lTH1OuNWH8IqgQNcYV88Tggx^P_jM3`Ya4i_G?Nq38)-`RH^Qi@!1Hr0WVqXz8U^d2(`X-Fp0o{G@0_4V zyR*Ri`EuAE7)KPxmJ-QZ+OS|?J~p;IwA!j4ipmBVi0@nIuHy*zl0Okrbd)s2h2px_ zVUm>4NhC`RKyf^QtZR3L?t&(m<+co-OC5#5odw|T_Kj+*n-je~elSqI92QDM04;R~ zY2P4-E|i4kZebGr$r^3`ZG3Z-B1sdC0Edjx;F$&yOe8{Yi zH>iV^7~XyvN#jf@_FJCEYink~mcw#%eqo1|x#n+jV(MmMY19G%M3vv1VTSMSD09y~ zuHohtokf?B`7j>QfY%fe3#L9o)1n2uKT!y}tEs-> z8%AF^1;3;@fy3rZB6}m9wAIM6D>Ykj!mt=u_C$}eD;BYL2Fu`K^-XBVISOoF3X|XZ z0p^TMg2Q!1plDM8JKZBdE~%3K`dtn^(Xs5o339B~kMEEXm4y2Szmo$M?}+NI-Eijc zK3GQVz%Dl$Kqwnt%~N3)s20Np7{Ql!u4C!WUGO#jxYe$HZ%B>X!z|sh2sS7^U@rds z4qI0mvujQD;P=2RbSwN#W8ZEjN*d)bRvt~{r-|VggKJD|YcQw>8xII=1M_W3f=mLRLhoTwT4eza{Eu9EWVvQs$uoiSgi=pC*Ff91+CbKX-*tO-c*6= z)pMZjKT%p`xe?#l*YMLPrxB-t1JHdv3Plvo5|uFvxO_*NHTyds?9-I-HiEn3M7H^@3cSzCMMpbDOxN)v9=DE?sdZC8$S@uJ^ZeEZxCj76u^%VL(*Qo4exoD zpeDHp(^rea7g;^1(cX-)p-L#f_a^M@j)I+mK5TZO7i0=Fko%s&=s;J1o>DcubH5G` z!y+K{WGtOA@S3;@TELmdH$Ymt3>xn^kn@gd{?pWk=52g} z>RMb8;0P(@B=vg z!Va2KN6BT$X1?M;I-Q_%iT1|$;`90l4BuG^Ye^g*oIk*0^D^=@Sp#m$M1Z4pFBI{u z*s1MGFthX}%`Co0jxLFY8FH26ivDl1sC6~8y=s8zW5u9h7sE`yrp9Vt7h(q%sN&w5 zDb%Fj4;I=Mz>Wp?c%nY@xo>3-^swhL5}14zng>kac((vM#n*;)c5NX=QDsco!L?-3 z(^e)V&w-n`ayyqbaUb`gc@|f6wj7OW$FOO)IxDLD4t{q{XR^8{G2#h@^cDPLq3T84 z!Q-~v)!GPd>}5D-|Kl>gv|G!~|9BM~s|{G=_H0a*=%KS~Z&1mOC+PPG@t2bG=iWy{gLMM#2y>&)ZaAYr)pFRnu?+5BweK!2C z5Zh(KgVO;#_`$qj>}{fP_NqTj=%g>i=z$o_xFkUrI>_UBdl7cd@}IE$zzp_9Ni%uf z*$gjU>2Qa}(7QOB4L))beC*bOLOve} zn@qhW?8s#&F=WdZfDD(CdWi-^`Ozx{QlL3&0`cksCJh`w`lBT^JS+-pOown(HJ__#naj1$u!8@- zM!|;L!6oa^KGXk5Yg>H@b2?cI-Kdu?LWGSv)iuE)z~2>YdCphLj)o++BSa<<@oMN7CVBR2FlKDn@g8Y*d|xq&JdUE0Qb)0P z#zUGLyMnCf5+`*#8)0>U2p)PG$n^i0%s$xCz^aV2LP8PXW1$ARsNaQuxaTIkU7tG_83xgddO=ZtGy6zv27C8S8T^$w18`FwWw&gg>XS+^@rDCrSep=olY8O9 zz*G<*B6p5rNC_EUu2H=XHs{Kh4=k3s5-t5E1R?F%gu(+ACv_7 zkG?|S#5Oo3-U7d_w?os?ujFfBAl%dMB+UZ0bWrLzziK#_9GjqqFG?d})15AuTX_d~ z!x5l7SqzpGohSb}oZu~H^})u(m&_RuVMa}IP)1f3nzMUp|MVls8!AD8ky3c`Q46lD z2?ZbHZ$$s&B5JVQ0cV@v!94Y7_~3RLocv|!1o>9*(bxvR&VGjQ zBXIY16q#vg$6u9Y!hX%pgXU|)aA=PetNpu#xb<9w%l6m6Yi=-{Z@&ard9&E&Igg>y zJe6&*=wbPT2jSS=MAn4Aimg8e)Wskkrl@q1B};5ci%c`{?33BqjxFG|<33CokYKBQ z{*Z4WLhKEfOJt@&64&zfpZ|;$QTxb0e9={7;5NaD72PbvzIt7XnOT!Ku|=+Qwr?Q5 z=?cNENn1Ft4JV*wd^;EgY=baQ?FgUAk5T3pC@=wBjk% zH;sn9KJSTIOdNzi@P^m99VDWSk8Z>7pjf3BD()^rDH$bBeT2i8ISXL#%yPJG`4SdM zPa=j7&EWc@e0oD938JN&$cX9@cqU?nKmK*f1os)}o4W=)4GFj&IsqZCB%o@K1>Apd zh8j;Tgr5=rJTz${x}Ow9jXw(Px1pWPR4c zFKj=ml^elwMN>{ke+HNRAstGm9|wm)BldyN5fEImnyG7vCb`0*3U zw=v|)W4?9W8TfQ|Ax64Nqh(DG{l0rSU2p9JhFkv92^Z445a|>C6G-Gzs{wApR)}r6zRq%UR7H&v1MFEdZ zn7%fJn$Od~HEy1$qEP`an$_5Auk0aax<8Q-uEGDRKhi9wo!qORfpk&?X)+0bIS-FQ zftE4^-%Wy$?l7ot6$K@;2PEy=3H}NFWxTA4d%RVFLD2p^o!n@!p*5BM*!3fmu}^Vk zf;(K9H|F8!*WQbV#S+mnSOf<7AF0MT4`%wFB+;5?z>5{Zw@Zr9E~^avhFf=(xR+Y4!%r|6&m4-9Li@hwhRW=NDPdyc-1S zI|oSa8ylR^&`MN1s#%Y-XV|>>Uy!sWk|+w96E&QQ*W-=ZZ@eM6py>;DHe`^NCpA?3 zr5~(+AH~`|`T~v;aq!f>0_NP=4xPmJR2@lqFttfdvbfS4{-_ z*;O=g&RiIMrN)wNF6jD4mbpDQm(fU9$IjLIkTx}pzc$E+riI6#`)3ufJ$DVyZMlS& zztYIh+SRzQxR>Z)5p8#SOwRRRr0r{LuZ3-(L12~K@Il2^l8>8suyzqn~0u=Y9J&;mfc(J z#%}CNWzPkB!-+L9@IXt1-KZhR{*uxHqooh9v&NhoHr&I#=)8a=Y>2v5+=cn}9w4st zhPkXP2j&lCKsX`|2DBwnHS!uxew)HMkP7bBHw*5Sfjrlnu^c}XQX$(8e-J$WTHH0Z% zgVZ5GHnw*yWGt3ut)*k&$^FM9#9#(Wax1`TyB93{ED3cp4?r-J56)XY!}YKVsQdE* z9G9x&Mvj2ozwa>F=rnz>eGX(#I|Pm&rooM2X|`gMG=vCmByWCqlEnv((o3x|*k2n% zZErq9)tZ~k^QvOt*>uvETeCqp<_;J23v3zh0l(pNN2mtAE2x?LM-zuak=Y-N>I@x`Bz)T?-ak2O;F*I0H>V_&Vz(3Wn^a zyING?WzckBTz~MqZND)KrE*A5`8lE|^O|ISh@~sv){x1{t^B?J){igS2-PRtanrrM zux)`66h&xYAO8f}Cf%V%nGSGIXAZotih#u-*TFvg3Zy5O;1MN#Y&ksz!yjbxWbAUN z)8JG5JQ9Pd(6I(={?A6_ZokH;|KAs` zu@)}i1pe?+DPG;k8l2;z$w{dHBElwFz*+Xu&a*R!@9!ymCASCsB{s#>W|0j$jRDp# z=n++lna!yOiE~Mt4M4-X0|MKFp?&f}8cW1-f@$L;V~X_E|20X;mf|nW)Cz%Nqg<`F`^G z^(Bx$VnU-{3ZO^S9@4E@W3_h6Kb~0@MNCUnNuWk9z5FN&{9MQ3XYyvU#(XwxGgjuu zCrziuN5ZMh+cp|#o<-_I)p7oxTq?$!$Ym@j`RCTUaKZaKnUrn_cY+7WtWA8X(JBY~ zb9`W%n?Go-jv>inhhS)H1$JjhV&3Ii!0B^gi{4d6;){jVw$Wwu;p|pg!hK+-+|h%y zZI9u|byL>h9wGN8e4w4eG5m%q16XC420Oe`twi(RkbvUp%(mzr`YSCO51-hIJ{nC_ zXjUfqxkw4@cP4b%LH|S0 z-=)ib%W;C7JPQ!2AL6@iC?#^ITB!Z)i7;=O3+)nj#>`Er5bK?Y7cNd_2cxuD_|^ma z)@!g?3PupRDjqzXf^oHs|kQ`-T(Q8JFT&*Q4qXcqRm& z{+5S;-=Cm&uNd3-c|JRC`vI&U*Ac64@@!cMVK)Q>u!9#ZS%WNnXym5DKASn9)347O z3$oO6+Iy;h-+?S#zL^t0e}%+5KII)`!r)i*8uqeRI92;R#FX99rQft0XqUz)W)!|h zWt%Y0iT550^d?(g6h#ybJ&HxSH(_D!6+F8znn4ay*I~5^Z-b}iBDy%J z9M>*-!7M$Q3{StO!;J(d&z|NaK~=sOR#>>nkcrlo<8q617mwVBK^6=XN+=wVVxHs9Ayklke|0t!82Bu9-; z2LcdMx4$6MttE-)oY~CEuqe8i`46S1%;caJ6<6|0x1L`LO!=DR9>S}OEND%U-n1D!fE@@j~kDZ;>r1a)8l-a)%?e{Zq zX5V8g;jaet*TW(RZPte8zx`<7lBv*NuK?YjCPVU!Bh-4oDnHM9E;Q=ghYNvv2%Bcn z1Me=7&JGS{we^rG=Ql86{;iPDngVabHt>p^f<2>=m}A*amE+>EL}@O*&VNKqr(Y*o z3#I_I(us+Ym>`cKsLVg`5|Py&GkR$!|< z1=XCNk+t<1sBBnH6EC|$dypM`FP_2{?i58eojD|bgE0GL!9HSg;}l(|>P73rBjK5E zC>5SNOk(_G*(KN4f%WTXIJ-%L?Hc!_b($qGyH*PRkq!U07LS>~MUUA1sG{k1OWBU# z>7)d|Q5!u)sI=3GJ|#6cEKjAp{*l^Mv}EyAs7P~cjQJ8?HYoW)UZXOP$<#13eA zkxMrnAYaT4OrL4c_w#1rp3-md->ucGcG@4JF#RVjni7fZJOSv_mSYniOoaSwQMM-h zC~eTM1-=H`A19420qc6i7 zz-Oj5K6*R?rAg+j|F`>)C&VzOMHvwLPJx|xrWsTO){tjz@1R_L0vs_FX2qASXQwQ& zf%`A3pnxucPs$RYW1$Nqa2+(vG^b9Yv-s0L*Ydqz#uArE6IlOw0=+LDVUgV=)3VHd zBYAzwi1sHdVKyv8yMOIui6@%|UIM{*URVftzrUc^;Z;&>{ z6DS?Op2~)K!;MRYP4AbLW=HkVRCNhMzO%0hfp zu^eOXEd_t4-*E5LOE8nuh6_8MfP#7|xyQJohjSeNZLc?~cf?`blU9uRTSHwZx?{Zf zGq6};%BoyihI^;)=-_auRs_!{G``x0E6(NgqMJjCqS;SKQv zU*T#%DZFTm1zmeZv>qv@ukYEB@kwzw?s6RsArAH$JHX?tJK*J?iUFOiFmaeT zOm|M9rAiWb?6n5UZ7v5NkCm`swlnPu|@T-e$3cHyw|JdhM#g?EiJ_=3-`()ZeF ze4CP$7+b5x(-<8ft{N_|BX14sn<~sMa2h78)h~KoNsXl5*G0X_JJ2Sfmf6qjBi_wf z#HG^$gsnx{AFA#UYCId>Hy4rbv6snYtxR;$p9n{L$g_#Z6YI+;CM?ZH}9da+TmZ^(kaxp+JE zEdOfyHaw}MPF|00h9~YG;GJN~`r8c<+qaw9UAD&T#XSXZSVbE5yEWpxQXLQyh$Oqe zhC=VVD5z^yWW|p>fyds;a6As!BOmfHv(1+qc$r7^WY@#lEFM`h6oxnC#^~aU1;j#T z0;q4c!JG5aU~rQMZfZ8>#yAP|3>IR;zUs1>e!Hogn+S1yU=5w>RaR%JHo=Y^?wAzF z;;cjk?$s0ybFRd*n@{g&?Jh51*H|@St6>wVUupur*XF{DWfRCo18WLvP`Fr@QUE}f1B~|QPY{40ZwP5JIYnZahmAfss1-gUeiDSl6 z_!$11h-Vr@w@Mlr)m}^H$AuC1D-zt@T^}$@s~&gl_(j_GPGUD#Z-%*M+93KY778RK z>A`2~=?%x%bn@(4?Ag`MIOU0PtJj-w`(w>8VfhMryk`zNUR)3Cb44gI$)fh?2~T3< zVXtHjEDTHoF-{zElJemE)U8kvoeJ-+UgJyDdy~(_w&eYrB)Dv_1!#5_934r7Yp31# zzAF^*`1%Z-Ri}enD@<@gt^jxb>mG2EjfKqad=lo81$J7eh`~ESM(gW7V)gel`l&A= zo5nSA&eEB^ho)<1zSaypgq~;vgD18{QtsMQ@F>bZ{shG=_Kbb%%V&v9qqU zqh1|<`6*zp#$?#obqvO5i^43yNi0l0O53~aP$By$>Q)u@S3A`HpiSF`3t7VQod^L^FB)c{Sg)LU&N|)7~ zUetE3_0C$Z`_y~>v*kW;S*@G)zE1=rkb@GHXppQ7p@wg>>APDYBtuaO=RKAGAH(J0 z&Se{hVGYeY&*C>5omw3NQm zUSI#fa~#)k+|PBLCnwvwfID6z%-(rr4R-b)cv4DdiJy)H*}5=?xMa_zC)Uk|V{2<+ zaZEl;%}Qi@#H^`Sr3WsSq)_1S5vtGTfbbIu==bB%1nURn{AEqbJGB+wpDQ97zWn%l zN)>&-SOZTq-ysY01+e-rOO^iJw1UA1F(?`3g{SkqM0PCV>P`x|2R=jC^M_Mvkq&0J>b_(S=#ivkZi~< zg^c5-R7^ny<&XE$9i5pVU$PH>_pLxR>qIn;nvJh!%YiMo2v$m{5^H`pvRiBidG+@- zAv+9c*u7CYtx}5$tTY1W(w8*hxf-Z-Zw9ZK4@kxPJH)y*989%ad1}3n=~?p;D*h<~ zch9du#xWMxG^wx$CM_gyvc|~${;7*z4&<`>dvd9S%4vKfw+ySJ^>DJ^akh>u;ys!s z#vPiMMY|d_no`LvjEa!tKFqp_Z#uN;kC}hXTyJyO7$^&Krv&mYN9_i3<1g%VTMmZb z-}A)#4ufJAVBGyM43E1-9U8i6X2)Vo8>z)6%6IV{Y&w(tSEEedMiBIIfLBVJq5)u7;Pc~ z@tS@+CV5uly|st&L!ARB*^|e4@$=&h-UpCzNyFIGBK&Fgmdsjtf>bw3;BJ9G*dFb{ z7H`kOTt`FB>5V9N#&r)(U-1&oIxfZ&(OXb6*PnhbUIx3vig-!$3}EQ>QMzf#6&U}x zn6dNN0qKRaph@5wwA_j&nI*HJ+$RNuopw;Z4MOz6!5sKll}_f~6JboRPXbxHchL9a zJA7$xgWm;!ZU1#OZMwae+&?9ZhZD?jzfnA$bD{)$*XP2b8A?<+c?Fy}83c*jwXr5B z1V8QGK_cYk(L8Q8z6f{55&w3)nIViL4_*+y@J6WIwgB!P3S%Gt-iTLi`O!2=9K)RW z(Qy4nkhwHK{PRE3hhlk1XDCpsB^Pkov&C2}eu|7aNWjk>DeTc@z^-Uo2hThgp!o+q zyd#%^PG)B0e2^U4`~_6b-vX|Be5CMr01SDTK-3W)c_FzLR&5f&vb;nzn);o5+dm6B z+M=oLdljZbO4p3Y*1)z5DYX1DhZNG2FB(^&^!jbwi9@EG=;{?H<+~r3_a}pSv=am?wGh6dCVG5k5S{W{m%bTW3u-nj zjhK{$)n)ehqdN^3Rf#a7VJy*Hmq(OFVu|KZ9u+dO;H?`SCa+e1rGXBQ=}~qX$m=H& zaj(zt@XJlG{jveNrxcP=vFoHMWr%LA3MV7o#^B>_iPMzE9Dh}C zg@+8dmW)!k{ni+ko-_es(@2s!cQnk28z$fRL>L1Z8K&xF?joaWtGW7jQ@P^f7f?FG zhZMb94fAeDL%Bu_`{b7aPKk+x1L}4#8;$AN%X4VATsoL+m_-uj`XM*TfwtCc0L$Ll zL_aW{RPIj#rAu8Td;LH5Y@Lt!a}VK^$y1rUgfUWZ!w#OWYlFO+2AE@|2jii!v`B9W znLP6V-Y=5kHny2!=9dU^A@~HWZBc*@t9NAPp65{Bdk{X}zs1|Enay4~ie|dDXB+OG z{6Gg2I-yE&J)HHr2;Y-)$dD+3#h<4^A&(y(`Y*)vtGYxgkROvWtMN|PZ`93QhPJs= zao~YDSy_LXY>2r;7B7(pwYx&t%UKn zhmw9}C`6}&MU@w1G0T~n-EmBI{4vJ!u@^WlH^Qhlh71)JV-~$lfYZ;Of|l!6ys9;s zcfn7Y!M?T37in20=D#hle(Hbp?1^e9-Vw+24)Qb2^Y4T4&-L`f^fTg+v!gk*!O!`QRS-7YPnG&;zcOgEW_xZsIx@w}G4bDx*vuVYs z`Cl>Du{Vs%b;%^X^%v0~RFGS(IS<|74gN6tj~x9^k*5IH>8g#rkl9;H%fjEI?d=Bo z>4hKuTvbj_+a;jVe}!aXffcVJsE71DQGv6v*U6yuIFDMkK;OlgOtb($lNeP7DHX!_ z!Y3K)(@ZH_7eRe`?|_!V3ON355+r_@0Xq};z`fcV_}))vHn_6D1g-(&?-nfcDVo(7 zD#GuzX)FXy0i*ZgC@?WbC7R=~Uuh#wY?sEI7siC$#?P6(mPCnhYQ{DiqUCTCZ4+3A zB`2*=%JmSgyAz8ZIu-abq@Q{&DJP;UD^cy19*I0~6jxSlp!=#nljK>6;Q3GyZnibS zV0Res?|%g!r_Kd37DM@N|02gmX2UtPL`Vpd04qS$zhQXe9dLumfM*TCAiS{!wjVHr zx-m^MyZRWUh_ph2?oK$9*GYn=$bznt7&Bj7iP^R@5+?3Pkp>S9-t7x_+0dXN42=%O z`QoX_zITG>*DbhyKR-<0y9lN?MSy$a0?_6CM`q_Y5=)YeahEqxook5F_lt?-rc6A) z(4AYeAps-xv_We8GOvk@!m3+Od2xE)TzXj~w`S=P&W~HbeGuw8J72}{jPMYSTo>l8{kRF~JVrbfMmy%8l)*3eBH z#sD|mS^@#xa~VedEOVhan+dKv4b^L%u|Inh-duYEy_Opx)|!u5YoNii`rAgV*H32l ztzE-7b_~LtpgepyriVWILU`{*70FLv;QsPAWZAxSSS()v6JHG&h1_Eb zT`{g+cQ<$Dj|S|id6n)0rnH zRhifmzu@>zRbp<|Lk>6nAP4#j=+9VRdf|mBb)Ll|F^k7epR3c>2RZY`!?tB__f|!ZOC_(@&6-7U$;4c+$5L zbGWFsMEb+PnN$wwg2Tcv@>8G{G-HGr>2vku;c8u8U{fkwHvPjJW^*uSnl!iNbsIP= zSPp8dA|SzK3h{5%!?T&S1lC8&Q^NA|r-!VJA*Jdv6Cpdd39d~J1j67_K)oNNIK|9YMO;%bbU@|~3F z&Vz*7a(KKuzUdUTq)Hjh@M_9M*t=N)V!Jh9*)tiqa$5~9KTs!1`U}83D-#;!mcs=L z397ea3kXWAKxq+S=H!!bIFciZt+W5}PQDY33yvUXQ*GE3{yc(3O=emXvp`?*49qxU zj8}UMfbVAzbnK3Wb#r^@;@DJT)?S3SgGzD6@_RTMT8lwe(RgdW9y&g3r`vQm@_8tk z+7F$=pHCj)^65Kp<=#cO#v%?`lNp>{;RHsTZ^T3D^Wd>BCENjiMq%!Lc=lU?75IG? zLyf!f$~7I_yib;kTdK$f8V}HjiG@5~sZ z*mU<3`tKOQmbLO+*CY?LzVVq(&ew$Y`u)(mb1rH)_LC^t0UG7=0VSUqVfUP7R^(D2 zYV8eRr#m>}^35XL%LO;+GhJnv`nEW zEcNR}_atR5d6hEk+F1tor=G`>Jz3~9{*h+p7GU|my{ya=0GBoLoQ?4VvM1;ysh%Xv z?Y=V!C-ufr>5O#h-5gBM{oA-&=^~tZ?iazR0kS6QAR47D-~tl1aQ)kixG-mFi1nTX zUCmVxb%_VFZ#U63uEUtH%@qeLcVIxi7{-koaN8^!u!wnx9e@AA`h>IabA2}WFDNCw z-%g>Yb0z9}H=&er0w&g6;Qcs2=^e3rjKAVWd(~s$zlZ&VE{ccDBezlAaWZFrCIhdp zyn>~Ldz#KK-1CoVkFfa15Vsd(!DwD1h+b7;Y>mUsW{LXIDUz3Qot+IbA1kPb+6Yd* z+l$LDS>nVC2dt41#!-_*(*4aIlkb&LA=3jWeL#@2=GUgz_!@YZP7f?{Zl4Y%fg|M4 z789_QGlKW@1?}g5O(m@x=ymCxbY+hSbkFEv#UAjP8I3$AUsgOOmxwI0$6_ZaO^<@! zYs=uzfB{rje&t=7;|p~bF7P_;W>cTC6ht=iykL%Gw6&ba!>8Z>@k0B#3{*vMgT>M3`SdW?%< zS?&m4@Yv2NUuxqno1f%L_7!1S*E4)GScZRPlE9}o9+l))fwBCrriH=_@S~>@gmzEo z%#zP@`f1W!@Y~05Wao6?0<7UfofuQIeG=n!T${OV(`>fxKs`HhnZasHE$)kpGB><^ zAAUP5$27J*g|EhXOhm2;vtw{GQ@H9ih<<)ZjqF|#_qOe37Q5Y1Fh`hu*>j3qTkHrk zIvL0sT@4}Hmhi)ukkxNrkk)gXu=T(^csry(5fSdpN(PZ#p-{h4h<-K-CyzHVT!M8O zHcfj)XL_8%)*0?R=1@0rvdAVsyQAo_;SAV4kxay7mSe=HV_MU&+a{F4wi7R_ZO9}Bke_15urYNy zeSc*qFHpsb1cp4N9>pTuhYh7%T5ct`FB3bsYVX|zRsQ(5TJJ-ULZon zE8%64GkxTch&xuqa%U^GIC!VcC^*a~`*#+wNv^q6<@h_$ED^% zl`)yDME@XpxVP2`!|yIfF{f2H5NO1B4|~Ec*9J4qM=Ipd!73_yf3#`+)g8njJ%uzU zWsvz-2O#KnACz?z;DW7dVSmSD#`&eanOV>zh+nVG+KWY^@%lOV-^4W>h^Z#(j}+Kp zw+58h5`Z5M9)jxE(_!fpA+yxOH%Z;D=j2L?C24Kcg3GH{lC6yM5CrBByx!a6C2k9OCCP}vot?ybUYpEWcaw; zccom)`SYCCo~7J}^oKBVc`JOLafQ4nnuj$OLQs4=1=L!?nojHIfRA1;)(b4)WV#%= zPwiQ}TD_aFp<)KJv|$TT>$E}dck8g}#1(kn`HW36odd#iamOhePIz@2xaFlV_d zC|{TfjS*gOU)BM$v$eT7_AV{_!0)<`6VA-A?c&WzEG{i_SZ|5bz z?nR@(mmCW(7MzB?b~5Pf$p?DvXW>D$3T%1O3h#yNA>nH??Y6s0WDgOv_`a1>wFu)j zKIz4;eH!q*Fty2wua-h`4=GnRgwSJa$;rXhynC-!;-kD$Z0%@7>CIu>{<7(WSAQLR zZ{G)7!*DinYczh3%YkkSe&#saMG6;;(YqqD+;5XvoO+}lx5ls&jlX-*Ro)Iv*9Z&Q z^Tna;MkOTo=fc2;GAKDwL|u1_aM!$EVO&l)ckf#WVu~a=d15{@ZaI&6sGUe}c-|yd zbGDN`p4VBU09SC6cHzddg}C4kE4W&(Z7@~e7&MklW%?aupg1zA*GU;9mBYkT?OTiPhdM`2n?c* z(8TDA(6J^OzAR9I*txFINyqT?h6Cu*9)f*SE|IERKCo}G7PG*_fpPc~4(ALT;hvZn z&tUmdviS$V<@5!R8CVZV6UO-b>IfTT5(feIQ;F|`Y1p4CNg06(*3HrhYW7Yhn7ju1 zg(IPGW;pmBcuHmuijvz)zo77;B#=7LNG+!1lTw{TD2dg9_?1`4UvW|F>${Ck=3{u` zMhzZ1rpFcBJOg@(2;Z;QqJwfA4O-(2a_8m9rHAwAr4!W%@yoam)$_R7cV%dS_gyoy z4j;PU!ZI2`JHU|N2#zYII6(;a@y(`A@ z&*d<&+K_1**}=9%2vgTJw`oG5Bsa-Wl{2?mjn8djIemXm?0YB#Zhv)|oUvxMlPLtz z-bhet-A|_d^2Y<;6*y(n`JBTVZ_agr8Fx`&8O)H3XM|=&gMW1q@_9{xqt)r~`%NCZ zIY<|i{!`>448Nn;M@4#JvlDo(ox*H-cotTwY~sXsv|_8mJk-2sO%uyCVAtIwoV)xN zX8!A2r7$lzxHSOf=Y#L&?f5p?maMrW1@$vz@QK(Jj5t<;Zj&Z+ z=hO*T?YtO2DIevvZmB`3YxOwgtr}=D9Fp1um4a|B55 zVRc4xA{z2D8rhbKAfj1o2S1m&gG{qJJb1g0oUHx=Dtwio72uB>TYAvnTmdJ4^@eP# zaU!9$5zcwkku45Fq*i8xWMvxStf34PJ#-U3D-2;Z&xY&m+kxlvyLj_Q4E|*ap)-Hq zC;Q9q6Vv;3^pp57x-ecyWkYevR((>kTY>8-?BN}{`;x|<{mzEW2xYyM*Fxbv1n0s{ zkQzD&I}f|C*929_`4mB}3snbpIq*mneG4^ar6@eG*SB7DJc`0#Nb ztQ&R*fyvIa$|3=mq)TJ3Tof@>?KC?U`;@k7^kAN$2PaaymP=5YfuHO&n6JmA*r%6^ zAl2eL&#u6au8-izoXkSJ^+|@CEn8 z&mrgJ3g&#&9JqLmBi{?=FsCPXg745JaH%@Wnq8L#Y4KXnnVm}ZbXM?$7O#bQvjV|Z zcMrXqV}~N1X<)f9iCk4W1CBaEpfaHX>CQ93$W#`n!CD^QyKmHC%X)ZKxfjN(QX%J$ zG|@!^Qt8jA3nqWq#& zu!-i=XTibj;qu?CT}wUkEN7u#!y{UEWj-7{&%@;xgF(lp1T_XZknQOpi?$3<<)@QD z^UEoAa`zTku5gpiI@e34y*x=>3&T-*@hG&&ufm|JEbO;_OsBaoW$P~5;m0dtc-&JP zG!pVNL)CgT8X?ODhz|NR{P6FEaHo_xU1^b2jD{E)hTk3m=0P^x=W6)NM0*w(fz znxX#;3r8ckwrgEjT78WQtow}Gfo=4acrY^cF?9H66p2$Fr*6|-@mSR*lvpr}8yrvP zX21u0Jv|$;XKLc-^OvY&;B!*@W-5$E2Lt@+#+`hL*wP(=(^olj`(G^JWM6H-d*lq4{70Dc76>{(lvTgrpnU?Pv_;qMwO%$Q4rWKNXTA z?a{PZ7&0qk(e3GSd|N6{E~FaSScA&(SG&6QH4~69OKm z;*UxPE~@_@*X}fdgSyLcL?NB_+wJBB?(3wjooWc94SFoUBHm}<6 z3|Kd7^7hGl!#D9OaC);A)jY9^_rqI}r1!R?HjSW8jr`PvSqX{%-fg|EL@wGNhO2&; zu<~&*KG~av`d@F6TrXK%_UITEM)u(Gb?LZr`VckR+XXJg^`u234#T`oW5#YX*xqDE z5A=qT$}6vUcP(Wwbf+mf`1lC;)d{lM(*|gxPdIk3y@u|R?%3%oN%tMfBbPR3Kys)v zg#Yu-`P^C1TJ#K(4(#9=N;#3b&(SckWB_vA+Ti5mD3}v%3V+PvNOJo!DCc6Jp);IX zZ9h+jvvX0ULX4A^FNZE46F47tpBVpq!g{>A%G)#$O_Ge<;p5VNy6aUftLAzP$DVB9 zHr6U~gZ7r(jV-Ojnl zVeT$eWH46&tM)yB-%Jox*<67O1I@gF=Q5n_y+vHA`Y>KzYX@4*i(zibzy58PgEg_! zaMJq~pc8Wj)UGe2hs{Je3;VO2V96$|nR5-Ir;0PS`-(xgP?V$%s(`T=4(#_q| z;oYhnva3OrUfe|Rgv>`CtH+|q>nNJPVGq3at0W|Im~@r}(+$N*SQT1^_X}j0d4tjL zKFfhbZ!5xE-KW`~rXCP{aTLDu#Y3;aJ`m6Mh9uuOnA3fce%pT@l>S_Wti0FY=s4?N zEtf*^xuuY*^sg7KHxm~(FUXMYBI=JDA!1bu%rss`J~b<0P|Ca}*9>2J_J|6I@0t%A zE;_;C^lp+j`vhb;`oa0Vi$SvC5!oEBL^f3TLFkuGc1u+fJQS0{a49L+^En^lPPT)^ z?FF>%Rvs^=VF(AVWME6W2B-0>gciieF=tBhVTI~$xML;^lUhGog`-jL06M<(g`9aBjABt9jJIuV%6a)0_>FVHyJs1sCFp=$x&_M7Q2P9+EceZ% z3x!l0*_{CfFxn)>tWBAKn~&4YM2yVfwwf>dZt+p@DxJdZIlKf*GaERAZ_%8SOcfeQ zr;;m{dW;Sy%vf9~B0Zhy#O=NlB+2X16!mRf)udD|<5e^_Rj>-5pLzkRRt`*6?{ena z)K`J!U3uy7zks* zS-k4vE?OjX5Z`Z%MhD#s)cvm|lWy`)(reYRXL}OH21JtrTY{6`cJq=JUnX7>iy=O8 zD&dP-g7tnjjAi6*#=QRp+{o;sX?_+k>S4t5I;BQ`20iDo$q%8`a~{M7Tm*iHB8s82 zplIP0B3K;?+vW|T{dq0S5nTY~F0t&jm`v}lNQmUqE#+v5=P zh(gr*+i<%_5bWk30sYb}7;2-i;%+YJSzE(ZD@&TjDRM@e5!CW$f$Hu>@Zd)+v64=N zeFi&0+9MM5bIze?VlPrpQ+YOmFmhCNrax9N{;nfB%|8;FD0c?4Ti2l_~<9Z9ZMd^%*;$)NP0MXXYU0V*Vsy~D|{mC(U17I z!V8UjhcNGaJ9?^ZLuPp#?BA-yg#LFKyj$1Nd%Kpv{=At0cSJC-kqCG#fEqlBIBX;bcxkaR!$q zTuUEKpF#82Ws=+z6<~9q1Rg)_g>PcxARs5l1pnKzNfzNSyF(Cv{XI#he9?nzCb5fj zA2?yS$0T0<4uscT)*$^@nlt6@qq@%~HpT&AKq!^XxSW z=-t6hh7Zv8^<1;?P62pp&c`*M;7IAGcjTMTOESBxov60np!sL!z}swo`kaJPhcJ2Q z&Wnc2yVF5($4!v&@8l)7oa0r0TtNdZd+51uF|;xHB)R%pp0{JM05dN>j4{hy#)xa| zg|NgT;NNC}&;N6vo4y+Jn8oRvp>ugC zNFAAsM@od?=C*8BuFZ^SKAMj8+Nb{IDuS`g?a%U-)9_pB@!zAD>HyhcD0@(yz(a zQ=WLbb{lPv4+CH293aM%Fz=urhU$Bf-h?@|s+&}; zGsg06bI2JEp`ItVgVwk6a0n(r*G4n4;mlQb>dj_MTw4yuwO`_+LyDZtg9=c1Jq5C# z7Qn91on+vSHCmdclA4qiXs&%5=~q?m=b{vR^;sG3-W?5D+$wqHC0zsbD# z8d45O-B!sQu>?T!E zl72(WpGVRPgJ3KkAHWaCCo>Mi3%S8-DfluX2)Bi$kfh3uu=s8|xE(oz_BY(XN%=C( z-nE6w(R;L#&TAl#LUOQp? z#4WVfCtQG76{!i@8T9!U43W2HuLDcHK1#x3_ zSaR|v?D!i9s+CR9GkO%{MV)9?fF*i7)?vxlWb|7&O!*bnxYo)KW~;yWlCm4(_`7l? z&fc9s7pGhV&t6mTI8aWbWQ};Tm!8qFsjVny{s}E_oWoI{YHH(u8%AZHfz$?3^z2~S zYsCv8Rbhgx{$fFOHb%Z$PG{`z*g@FoY0PW=3*Z}R5BpvSK+d8xR?cc0 z-THABZV!o}vJV3=;c7pvjseg(I)@3BlVr%+P`WF$6#a%oXkhMQG|B`CO4>M(qTx8d%+&0`K-K{1eLUw!=^|nruAVsQ@NlBavfJO+I~_@ zjj1fNG3pyQ4cau;jQnG(HQD%Fg`r-iW@ukG6J}i!MZN8dvCXK4Uf6enk#9C;7D_$l z=|`+0E8PaDvSc+%`#W9`zQe-y8u#;ai!OLxpf+^Bx%I%Wx(%)lUnb&V5w#h^t=vL3KzgTyNCo% zLvR*Z1TS9*!h6?sV0H5mw4Xl@1rl96pTaPFK$nrjk&tvpGM+-rqf5d(_z|M zF<5*p3~p~a$JQsya(_UIYq872^S>4$^KK`!|60LBDuq)I+X)iTXN-5_!$AYn$P%*| zSTdx}**=ZH*c5`nZ+2q&On*#qd5C|0Y@nlW@37Abb5SU(j$~~_n5%ON0lf zx)#YJTIaC*wk7w`Q=PlL|2>EbuVd5;$4LHkBXpL$4P!Z?&}BIrMUN&EX{D*mmfikb ziAX4S=a3ieiCE3_-s*#Eg?&(}kpNy+jUfH#8)?|^9yct%i!)kUv*sNBEs^E!jAzo8dn@s;yASI=D~#Oy z^oUH`GZ}<(PLfR-!kn9bIX)P)!R1;~jG)gc=0?mcW~sFU`C3$oZA(-zAm=#v^Lij^ zmM(bP{U-Gll_K4+_3|hH2LYIfrIn zthLg^Z*R|{#_65hh_3|KmnX?BNdJl*s*z~$ssR5OFxW8Z7a4ezK$a|6Pc017iL_1v zk$t)a52<_MZXG$Uv^xVQ_Y|RkofD>bSmV91Dd6T;3HV8j2@w;7$~+|+>!83qIUx%< zzK7`f={fA?Pc}GVT7mw-G1Pv&8-7p;)Qkk^wQpt|EBhJkBVy?Ht)J<~h(!8i zZ33SA9*IGNH+io873`yccGz*b5+t|^_T1muxJ~9X`53NAq&Kzl!gVrGa?3Zm>_18T z-e!*5ztrK>y6-sPW`qm=^-)E@c8of<7{g=?aR1f>tWCJcs`q8!0=~uI{QeF(60;HZ zHFkodh7b7OFM~$`*)a2%0@E$}@6R~iCee}YWQ}?m$S+MJvd52se!n{W)#`u;O6IVx zd>`y9mxb8A&AgdjClKljpuuPimfT`tTW&WwreFx`_g)7k>F8Obq$vFm%`>%qae6wJGT%waSuJ7V?eMm+&X-g zWDaCQn9vJ0SvUiNZRMD*11^m5>cflH5$)X{ zdD-nc@G@2kBYbpm&CQG8$Jj7g>J{Kyuf^>6yc?#UG=s0X$57NT0({dG;IT^xn{NMa z*cIaG$ z`9Q|Uj+i$!!rQx_NaO3Z03I@&&OK{RJEaicmKWo+hyr#&?PGF`?1MwL(Yy@j&0yg@ z4cvxB!9OROPI_EV986}y+J_3T|MxC%2Ps&UT0#``WMOP*8rdKo1YxGxw48UAyq)%h zC%!)z6w*HNc)~4kMEg9rSs=2+kfJbdH>mY9rT?z8hSRbGJ!G|L2%_5~6qe;{!;8^}D}B{04( z6Z%ebZ1ADtrff^f8ui^IH2ERf`~4Z2H~g25uQ~?@uNdO*nKiTwj9|x6QFts}3cptu z!BT^Ic&gA!Gdxz)JiP}Hy&vJWL<1OiA0y9AJE@*LA2r%E8}{uLWIARqh5MuljM^ng zux0|@D@h}-?Ih@&scE1w=N0?h@;+I!u$5;&Q~YuzJE?{hSANCD zu8zU-Zwa_tzMFnC%f&zPv$)f(j-cN9A4Cq>fa)PH;;>NF?3keoX*p9xOUxy)&(Rg- zxk|j6XM#UB)M2}_E-#H+2yPKUaH9Vd6>&<$pyON6wKSS2`LDt@SqbDXt;3Iz(Kz?= z1kD-CVs$pXfdTdHZ1IIUsGQlxzPr>5^qCr*yTxGm8&M2w)5h$9e#~=E$0I(eAQEH7 z%z1T&`8&ozOVCbO7;gwRGD-CGWIs&!b_p|XDdMI#leqOKqVeY4J(3v1<&T8gxfQo#pg)ua+<-NQ&EP2)M|3)u?-XQYaSDxILdo@^b>9U9gBHa zCZpD1BervM$?&%%%yLad$I`1r@jOR<49{n(tptdjl?`{;?=AiQt(muX;Yk|1_llWt zL>qmy{|Sa<$6=1>2&q515~96VW4NIVrDv~Wu4)z9zWzv891MW-bv77M7)frdT#Jrd z<-UM)NOzrni)hmte4z!s3q#t`Domk?HDxA z0lj}3;eT;DM1SHajG1hO%)V^0@9$Om=UtbXgj_qXZQ?Y}w0n@hlef zy1@A8L;6koJPqPGkP}X?&76O9kiqTA^yt)Jv??{=qF>r`WV`~WzRN+Uqdv4cWf7Wx zxrq@6J&fYB!?H${wnv^$lmP z>A;s?N6^@Q5Opgbk`4hoTo@xojOUfnf%rA73glw-=7ShE)Q$hGwBs(DF5{XPo8#8R zUf{d27N44Ez{;1RP{BTDm!Ew~s}?Y5*dL2MWA9MYsgQRg@io~TdVv^-ErlA^tYfSgcXGI@~6M2k=s(} z`OtAXHOmc_*zxFYzASucG6{ptv@rHn6_s9GL*-0zNQB{cYU}@&$LlqKTU#4=>#ARp zedly(=)EYm{Q4`Z-nj(VOgT%WbPo{!uev~7ev#SRt;qAfJ?ycg;<#z73rBwx^LF2f zLTPsk{Bq=;I z%zN^kywCB4DW%Inh>(ugDfQ*a*sK>U9km%U3eBb2NpMdCj14~bNY(4wzWXeez( zQQ2jb6&aD0nMxt<^S*|ZRMMb4@fGSQ`M&`^icROHqc`OX%Ccf z?Aok`N4qPn8)fC-P|SEZ_0|~AdR>S2rDilFcrVpZE`|r6f?)NjJtUPrB-#0c#CjqR zal5l&PHhX!+i@0_CyCRxNgW_7s|BqQ{`|<*3o+9D5)1x(v zN9dV`;wKesgL@OX9sS5AFUS=&>^`xCm2<%Qn=$tn^U0X3Rxa+H1#JJ zf>C`HjvD%i@A`s~dWm7qikT!mP6G6uN{M&ZF}N;s4C_bHIoCFzjcRRc*Meu2%;XYg_2IS^eDh`K!!$%a{~^zo(<)a=e&@LOp{ zQztKipI^nf3wGIHd;bNbd7S_a?We3I<}5ZveqpwfZ%NPAd|cr4gzr6SI1L^d0X;n# z%refwW|KB}a6<=b<}k3YUx<4e9)YNejF7WVOSoEj1PV5Kk`AwtAZ4_Zv(Q(m9hqF!`_bqsNZ?-=wdsHo$_h%zbd`fCRiX*bD2wekN8Whhfc&$K*`Q z3e?vtNAc)G_D*dzS{%FpVfm}bnMMs*YL^D@Y?hLHgK3~F`wPN7-+_abFWY~1 zBaS=L!|tmbXLku;1Ph#c)B;R)du?M3udTSnDUJ!!YCuj=$zxAPhRU{tz z7R<^PW^me&O$HNP@pIdDsO^qz=n1JnZ@m$MwxyBKcBT&7m%DT6qxJ(c4#J%5ttjJY z%Fn;`fcR^s!mGMz;B?6XLQCH=?%-D(w(B#KJ=y{zmX4#5S60HIna=dIUkNPf^k5hC zUcj}6H=w*H0RI0@jkf+uaB(ORf=(6+O=Z(jxV|3TyLIT88^>Y&BvID5=L{(CItW)S zB?b8^5E>5^3GR0igykX<0@-Q^BRw|JaQQKG+=LkJuIml9IxC%aMXr zqrEWZ(iZ$O7>MTcmXgM*Y|Lpq$leST!X|$k?mx$eD5)qf)OK(}p`@Jf6vhi7p3AVQ zcrhqG+Xw5nA0&xapMy-XKB$Log9(jCu)j0PMnv0R_|^Ue)3F4u{yX-Yn6>z_Nsd{C zh_mVM7eGM%T)63e2X1JaK7JRm}?D@CDb zx+Q*`QG!7~4q?l8Yy8mllh;ixLW}v)+*avoY~Ls$tP4MfJ#Bk&Nn{RAb~%f|#ku%C zj7N_z)#zgQ9>vDSV2hR~e?Z!Ym|gye#p{DG(BcLj9e*ApE^44l9b&Xa8q1umCVX5H zgT3jt@OWc3MEB%FN$_y0J3JZchUbHL_W{)E_rcr)`hxotPRLZ17L*N+W5BbEY=ycA z;1vZ@d-^1xOg02L9l(xvBcNLEGPY+`q2tblxVqyBzIiVvd|lpxj(!8^D{=tt>zxAJ zqfA{?WiY_X4c)7hP*%zS*Y#RsfnhRA{X9o}!eWKU3$ul@(v>()JC1GJD+WeCs)>9> z12fu^jnUOxaJkG#?EJe(*xG3+e9F%i$f_>P3)jc_x&`q2a2vQyzRdNE1(cG}Wj~i* zL$NgnaaMqd;M}Svti)x4wC7cRZPyQ$6CDpv>T_7&lO|O4)571}0ZdqV9eIsVLFwmm zVac^t%nED8FB?9iO4B=Z+$e%oO`?K|8^id!rYOBE3-emE1&xtog@QZN@QwW>;n(8# z81TtdFizNjFlH|+xpS9DCH9c8zRmdjjsgC?UB+BhPB)Z2OM;E---6-SNi@({o__L~ z4UsY3BsnFLg?Ha%Cw($e*tP=m$L_P_E+iQ_7of4~GHkQ=0LiNdm|Wj; zZt6e{s< z+_clMvn2uEzs-kAX(zUOi#;ptC3MxBIQpV9fi}1gr*#&6uv4rRsKrJwPf7v*<8fqu za}%jJP>PBV>tNQn1=N1qV(Qv9fo3R6QYoV<*mAKPf_G1bh#z;zvKwMplNF5nKDFVL zfHW|b{RHQQ94Ltur=6=D>B;_bme8R<`^t_JlPeR5ud6=z%s5B7EG=-|ud`@d;fChV zCD`hwtDq1+hDNR#1mWe;%$_@5N@mJp<}7HL&HzOz=`R1Mg2AobNw|U!A8Xj5sz0maqK+)5tJ^-t5PY z-6u)j=EI-|i{NsvpBal#lz#tSi}I_3xY&hw53IhYTs2#gUWKpRhw; z&!W@a23Rm_K70bT%fT?S#)b%S8qr%svdXUl|(CaHMRQE-GDa zV97zhSYcESs_MxLvTmozhr4f>vbPZg@rIyyRv&CV4-$pp_t@%ehT6M-SvN0wi}y1% znX9Qc%vhiY!|zGZHp|zbYaPhnxEjuHFqMW6d-ChAHdMnJB^9Fe^f-LKs|x>Z*1*z} zDIjr29MyjM;B_I9oUrJ%Da`{ir81oT2~&id<$lm_d>l;%Dp9{cLAap10Y@IxB=cR= z@yRnQcoF@MOtaa^PcrTy9}JrLOG%;_C}IF(Gk|P4R)%g@_cuJ9^#WyQ?kBH|e=(^Z z3Apeo3KH{?Q?|QHM*aOv#K+fyhAK~nSttwr;!_3pXJ6R-z7^=X^EB&{EFuek*}#m4 zd)P?p8aTdrB6*cOk`50ZO)b-+g!zxQ2!0MGXnpu6?wTMAsfQQX+&?s(t(MSlKC3@jTiF9zs2dy;9Ddm<^;*vdyT*2lgn<+Ey2b*387kMrI7j5ANKAQqX#uI z7=RQ@H&utRAB^yROD3^6CrSbpz2R71Kht?A1EaL&bJE%KsrapETJc$)?v_`^9lfVW z^URxUa*Hi2E4*T3<0#L=1Z?`*i2nh0oKmB0d-H3U?|WHUgbX} z`z3l{=kK#5VL|EiP z&-y7))aZ=QeIBqz{VOEtd>M+{?hZpzp5aNJJtHAQyYbqZcf zo*4{~aR7b(a~BA+bP;9YMZ(k-3LWY$=iK2KHn{7s#Vfn!kgpcx)~NC%Oi z^Ki~bk*zjf3h%8xaW}`U1kcnU*eidJnN1i8$EUwR>2ZjElQweI+lwG*mNLjZREG0! zt;v9`5j2gIgMDfL@kxy-Y{Mi;uw1VWn&ZtlY&Qn8<^>pMJ{y7!Odw$>4rJf`>%+ry zKyIi5ZmNq=#S{g6Js}!~TV8=>+6JKJ5C>~-=YojsRTzpt11C(5K=;K=n3|dj#%B+* z(WXaXU(pD@l|T< zXlBzlk&X70ggKrb*wnrSr>+hW^#AdCcBG_W6s?TESIqA0p9n zjzgyWBG`X56^7F9V$bas5IKFE`5$!^T8zuE#a>rXUHAw)uW!J`16$#9g*k}rdq+xF zmcZ>6U6{8rkX}wW0dwrz@p{2D48EI!LF$rN^WYI#^s|SzI2j9m*&?)|W+TjcQ9@=< zaA#d(=iyI%X$;uhg<8@d;k;fWRJS{l)fpSO07XE$zkC0#%ehGe>h3n9>h4?=xBtk( zdoE(yh{yQDtrBC;+``JtY~1BGot#{!4jYr5px4V1BL*VywaHHOwONl|KijdYMj6AD zLon%>2HrcI3`MJ2z&wJ7o-;D!`^u##+g!#P7t3LKffF9R@*GcW+sxX<<)QbEIV|&v zhRkpF(C3(KouRCT*QDZ@Vfka`C8Y`yVPSZ}GLF1xe#U7uxPfX*4N0{&CMcOmwv(6! z>u7N{E$u0Ra$VSHl}5t1ziXJZQveyY44dD|k0EGB7?E3&4~JG&!S#1LSXQksJN2NA zoX)et+izZTqYt-}ICXVcyTb|{b`656UMdV~7sHz?{;=d_F}NPpAv5OwV4tFY;79jD z%r8~MkqgVPPkXYE^Fa#rYAhk4^lpQUpEQmUQ-$~(6XqlPia7<1;r4vk3E#8TLF@Q0 zT<|wVm~ecVV6LGkl;2r{lTtQu=PLdq1}P!<$>1vPJ2i=!j>~4p-Y2vF4!lIg%A3Ns z^V5Y%T0{Jp@T2&w@B@py(n7jipK%Rq6tU9kGN#L^2nACbkxmX5O7}zy-69i+YONl1 zeUwQ)4z;tkk((QyOU%W`7ykd>@j9HWP{pp9$K$4T$MC~5QK3eD3b67|WW%@-AQVOO zTTd3T5iO?~-IB}&Wc_SVI(h@&T1mloYfZS?c@MR1<_MO7FEDbhfF|3nFuC!Gh<6J} zxc(PryZeUCSjQA*CiM+M!iO44Cf-8-Xf@m%v;}kb#4+4(8q1O<;w!x&=Fx70D0-VD zC+EP4wN)_pW)N(+Y5=~Yhe*-6aLh z`xq~8TYyseGE~8-f$8W);(l)zQX_h}zGJxqn!gXi&A(#t(c3F{t}>W?=y%6shCZ05 zuO@V9TWDtyl0X1OBexP9GvY?!-|dCZQ%9h0MQ(m^>vUo-(1jQzvi_&6VTt~!Hm zGwRU&&U<`XZz-s0s^ao5g%~wyBt~q@MW;YzK|A$5UYj@@V=ShTfS?HGVA=zU@tQc* z*-|hcpMqQWPs6LD)Py!P5uR)bfMkV5NNTP#r-@?p>x;QGEH;9MVK)SL^}>gua8x|F zmtAOC2C-XTvIB}EY293Dc2?qwjoaG;^wYNpdUSdrEe<^b;stu#P7QyyI%E}|^hjls zHELi^(r7B)W-0uq87%C)_5w|N4no_yk0AQzB!tWk$E@E=QEX2Uu03%ZBTO^}kI5^A z-p+YK-z--l@}W5GM`^mB6 zl{GQ{?2Q@9FVX%LKkLl z6D1|a--uJ!FXq${1C7*x=^Q^xPMSo(d;T$}Zb_gmE05KsE8sws1i!;_HcmKI$G8Ft zKEWPPIuZj_4rem{L5&rE-qLJ3=w5-~nj!n1^i^BZi`TFtr zv^0qoYdc`Yn$_GEiwa!zMFA}E5A=;1Ne3=>L%wMnnC(9aI0CRu%?1!N>pj=rz6b1DhM?~H zIk@-uJ&rwXE*zg0&rcKQ;Q5FgzKG)>GE0%v@o{YN@TX)-+XwUS-$rH@TQ{IYL7C_qvZO*!p33g*(4uyIL2y>`%W(rzA! zYq?8k-76;eI!_=j_gq=(%Ly?2a~!OX7JNPxUEtAFRvD}n@!Qv($>oGcFT3ac5wzizHNlU)|1$uY=;{I zDD!wS3d!6SY|!~E5L zpmFRHxbNA6c`vL5%h#)g2?Z6x>Kk)}&JjKEb=P!yZ{=-}PIQH!2a6$Ul^LunYhrt6 z@+dvWT*%nnfu`FI3Q;GN1g}py@b`{9jZbKS_lD*0pH~{36nW6l_Dcgy^Ih=0JL1fD zYq0CD49;5v&PCPQj;{Nd0HS8{d5LGJ6A zqil-AVO%!Qz;#RgB*)F{;rP-+B;idFnXOm>CNDL}M44i!$T&?NRXl?|>xRe>*M9h#`Gp~ho!wP6jaiph0zr*xNkmge;H?q+ z;cVY@qFtzhS8N2VxNsM*+eix?0rrCa)eXY7Uz&oxoijP@7LA8?Ugyu+XuxBoccfrd z7aMc@97eu6%eN0`!6KtF&?!}hNpm(q(${k^O#2~(?!Ezm@yp<}r~;Vn`Nl+!x(Ob$ zX2HasTo@a=ijH2DMO$u4&@#~()N%NHh^SVjIiWLQ4(h_|PA{PaE!b?MU}ggXi61Lwi*Kq-jfM+!@Jr4i@#J8?~N1PL6qklO=6{6u;)TTUZaA!&Tn^Lql&D@)G*mVx zz=XFYu<(&Bpy*^4_-hqv!coqldJLWWvl{ldE7Ien1wIw_GL>&1NY()Y3d!Zmi)W-TrY%XT2nPGeY$VM8uDrXF=&}J18j^<;QZ!ouzGDOXdhRi%6JIgiAjR5 zrUI$b-wrcABtdR#FjVJH1ostXpql;|d{1!DfAL5|wC8i1*weF6U27J8;g7J*DbKj& zHL5@z2!ZYAU|M(yKl7Rf9OzJkj~iyfgUu1___U3zw=>J;)ylEBDYzVERG+dAiS2m% zO8`_m9D~@;qu{D%GPf~zAFlFm#5JdRwn5T{Y&lkmM=YFi@z^CiKYuRFt}a4@dNGzV z*%U4w?zjle5bIbd5bla9fTc$|H0dtGSt8<9_sRL@#Z&V;N$E4Y%J6>E3E^#IJp=X zMT`)Bj5z{}U88B`tg|qEr626h%_Vntz9ot)V~OIYD7N?Xzh_&W$DP_R8@^A9fS;ji z^zNP-C>+csuU}gV=jMr!zh;+7`CoG|)#dOOnTw8fSK(xmEKNT(pKgs9B4_PI;K~hq zNPakvO?q*cS6Z$K_gqhtX;d}N`m>WUvNdj4P}Td zoPS!w!d9Lo10gv?(4PnSz3r^}g}m@+PY+7{Jq=A)=h68y&%vyq*UYxBi)`GZ$_JfJ zBFi`xG`je{VO~NJ`>m!4K|?7}>tYSoU!Reujy zC^@4CahLb8-4&ToFmD~KyORw~&%VK+&keY>qyvIhhr+QRFClK;IY>GF8A3drF?4t# zPXAU+9@RACe+k`W>~j^k?qAPpXWBvB?jK~uy?gNV(i7-3+RnfI^e;GkazF%Kz{1;Y1JzfY5A@qZi#v`+TTCG-Sd9Thj}VOMOZ7Go3FMS&+?3LaJ>CrSmac^i6K%Nh zG6SxuH-QXyg~j;w@M~x8qlYs@;JQ&BUN~VTtX>@}Sop0(Mc?zRQ0Wjq5by#<9~lNd z&pN?BRfj6BN~Fa%bp+87qlBi3A8;^)K<2A9_~Nb$Mk2GJB6S~l9x?{gYrn9^ERm^nEKAK%QzJC~l|>|O`VaLHsRY9euJXB&FA`6H?ZqI<+Jym34j@&=CM zX)6-}=R85{v>m9R@dugSHk=wL0TcBe!q^wFtZY~)CYRUo4Pmd?Vd<3^^GaW+2sOs- zn+QHVZzUY}&=A}lR)h1R|LD)(XL(K4(Yzak!=G!nK;z^WI5kBY3e*!Z^r3=qnCljv z9^!=l3Ok&|XF#;L1_Z>Y!hpzEHfD?nFYUb@M?KsHu7j;MIrE)`z;Ok_0_6gs^9B{< zLifUpS9Z|s7l=*U{<)|@6~=4*#)fy(1QXpr;Y*u{uuQiQwF9(3cApQea--C%dj*WF zl}EpO<8k?#MwFQuCCI2>5M*D(3U?cR-~`SQ?=JR2-6ebBwf1mf&KL#Z_5BR;Vw43$ zM<}wnDN(}uZHdAvcQrv>JDBhfhluTgt-@qWLm@_4S;*hI2UpmhW`6V-EDYWZTmQa- z^=ZMdL}-Q^a$a<8Z6|m=k`pQ~{ga}se)v4v8od2{;P?6hvdTRR3>6N+?U>Qju|I>F zHapO~6g@iZ4v&NHzCx9n8N@D+N7EM*00Vr8#k~7CT;~^N>&D>slrC6MGzj`)IbiYi zK13?Y(bzHakXTFbRn8I+&AG*#JIhE)!7BJuk^l{!4@p2#3VUoK3eUR*GFtmLS9sAA zB$Bepp~A~7r9u(S3PV`D*lIl1`xrkKRA8}PGx^Y&N5nQM!>-LQ8fwFrkUO_(x$^95 zIG!H?;ZAnAd-_fsx3L62-0;Wr1=rA{8-$mt_4vYkm@x6=M^b)CRG5$m(SZkJtfAr#5;AnM0?`S37n>WBu6;m%;xsC{XG@f*sOuoMW9v!rY-+f>C zB`*Pe!gTrKkUlo6q?TW{>mr$Ovw(=k{VU!(WO37MRhp(hl3uF$41acvr14Yjsps`= zu;AufR{hix7H;|ip|^L#-v5fhcU~_TdmjYfp>U{LoeWMlykY9Z7ChQHQ&^j*E_`$p z7p7ckX8wzLw%%Yh44&18`pPyCZ#oFpCK{M8l%ia)ig34JyU-TARQPyOTX->hnE?9? z$>y%n;4r?DTj+5Yw(qWkIW`x->Ww>#@E(Tm3cazL!b zdpz;p(03S|(oOD#rSng>Ov1swEI6)x6x@nsY3YPI2Hl2muV^7;jQPjV72!nEARa`! zZ6Q~q8iw7Mrfd68!aT7_G-vTmupuYmuYnbg>p#KfhAZNV(P=E>b27G>Rj}1-n{0H+ zF}SUp4)wqFXmiw0nEbAXgjZYugXtAG@sTA_hLI$wI4ZAf!C-ZLsQ(ChZ|R zKr28V4z{@B?!j~e6&rbLVy?u~2yMx)M_BupSP zvHsa0v0PNeN_*t+;^A@l`kgfH8My){uAV~Jm^A*Jo9}U%TnsXm-C`gX?qdV@yNuU#QSJ=KuL)EF;mF1A#;TWc(w4jR;>@tbUMR2yN^)lumcqSJB>clr8c*;cfij(kJ-<=9KU9} zD5kW;vaf2Zp{Qjt{rK)0D0tY>vDSn-uSRG~>F1s$pF2xofJON>^8ECP@5ugQ_Hr<_b54=)p2ZNg^OTYG8WLuH!`q153OvvTc% zrQRVRxzr9s9u=`%4Lb~J+Q}X-{LUYFBPRIi<_T6d!GeOqM4?lujvMvMjbCJa9KK*Q zC}f84XG~6Wo5S|8pijeuAF*zN?$>=n!rfbfzWCJO)=zutNW>6Y#0CGrA-Jmxag3MVDz1 zS27m=Jj-S~8q0~v_$$m#b_{+AM3T5u1gpRLlbgkFiHmJKx&7uEAEg_@`K~i3P3IKZ zllnMN8?4}GQg^hsZ6^O^Z6l_;;@Aqk(eOZ+N8C(x*`>{`#PYH-S!r3rR@H7Lm+J4r zG@YH$tB^yo$q^D*l8T$0#-n!b7JPcq7T$DOvje+2;6Tw_*p)Ec`bl&x}XS}_Q z=N6z4?KV+3_wFvZMo~DYoW{ZI*(jGegV%7WBHu|R4&}GO(7t$b@@g3vpJ*iGM||R! zbo_zGKE7b)Dvv8F#nHDYm~^XTGmrc0$%KPfA+gjHZS1^gm&ca*} zol|7;*%+>`V?4?lrlZiEgR#K^d^kG+vi*(lXYB)KU75-Pue@i@3#xI_&1&xLXEE3% zE`#5aFS4IXI(T;dM##M~oG$+r0Bas)lWTo*u&Y21gN;0Kdg%=kn7WbMktT)8bO&xr z*-kRoCg6rMqoFeSI^Xf%BPR4dWG!xetARGzb=1(y990T z?SN}}2$Ovh$r?Q!cD6qe?D|w-DBBz44Gw}@7KLZ_%b}sF2s-CB{NrjZsN@^~<0aeS zOz1LtC~O)Ur|HA;m>d=}Ck1B5{3L$ne~C}sBusEwk6-8CV|uC*g6$|};fZGku2XtI zPW;PyEI@W6(-^E0pAo4OBcN=qKe=ILgF!G(xEi4$c=oLnUO&?ic2YCEFgF{bHtDlq z`(31b$OE$Nl;A+tYDg)sK-jp#=AnhEFk#jj!F7>{V3*0EW~vdrct8g%@1A4!84~cf za~qbFA46kt3)XBRkNzghgl9#!P(I6qjx@XhaCdo8I1E7EU3HX*Z4J*=0@wHJDw_}?KEWKTa z=e?(5#_vPuaxe!SJ_3HcT@HSdEwECGXC4J(gre!?Sd)GTru}m(k477)tC3>uA!)b; zwXwV_5PMxdb746S@T1us#_peiQDr;Pe}xgs*c3peR15^Y??caOZQOK17Gw5~z|rGg zlW!WQ;Em6CQamq;nQK{N*Q;vWal0Px)ac=1V@*D zp)LnwV7j9?c~~?VX4Maew{t2vgHMX!wM3QG&Mg5wF)PyXU=o{TdKhX-D#%wGF=4^i zo%|g4htL!7hg6pRsXwXooQW;-C5l;x$&R92GBtfPWv`=f?+$5UN*%$Dcgg54E5#%* z{@+~7p}g-UeuAG0rZ{xryeBXC+wKWubDxr+wWa~XmzTi20Y*lSt0oe|3}LV6_J)G( zncUiEl(pWwNb+57v0<^+Soe>gJ0@w;AzltNhBuMy&FkQb$w*#9^bk2PD&6MV$dRn1 ztqX*YqiA}KGNh~vp;JYUL7C@&q~*;=kiMn?l~u3UhLwkjYsfH^Uch08Y$m)|s!r!! zu7mR`iENe47gBa93LX?)gysBGNY_+Ahq!&*=q)OIU`8}AKHHUjbPk8yIWfeu%$%zU z8V+-c&N4UStvLE?7J0oXk{xIdAjTMsC4bepL{CL*_1npYPglWv;VL+2ng&yR(3sMiQ3#_|wMR2oO23iXN|wr(43LZM4$tF>65?5s5quN6l40!tD+JZqyX~9O{Ls zf0NrkeG2AGHQJrD!hF8N24wN7iAmJVP=wZtj-|j94f(p_)ep9?Vd}E)8RPW#f3Vt?&hr|1p8@eg7XTPxQkc9f71izRV|< zOJkM#2tjVQq44%~FUb&H3bwCXN#oQXL?mJY+p#*2|7HB0Y<@hMDfUZ%OQIO8TJ;|+ z_2M3OyAV;?v!yL({{9}^}h70=H z_Xisww9=6eH!9uvD3?D__>2wlJJ&25aK4zkln^ z&Mt=b8{5H3yMjbcJWA`QyHmBGom3PW;7*nXK5oCmZ@&GOz4^Qqy`;p1we2&7pXFy* z<;K}`R=h7Yyf=d$G|`0OrP(ZO%0ei;#j{f~H#qg)bC{7nMd*1lQINhSM;eVaX~C(r z5Wjqsutn<#jx!9yWS0tJs@+CDJH&E}G>Wk2(0o4r!A5@Zz%E#D*qAun%|X>!f05}b z;Cb5%*u2h*h02>lfbl-|*!vtvifsmQO>>&Kb{`#k&5#Z{`N4$FSCC$;2R3&M$UMuH ztYxh`n0`)#Zqt0I;2uGT*9_Y0{2o*uh|9V91V#qsI@z=KM}5uSo^}UE1Jbyd3sU-UBN042V}^GL-I01{Ym58fzs7xgP^r zopc&J__z1Im<7!zMWJJ}H|ckg29-6nHp_QQP~#a7K*y{Dwk?eS`t%0S!cp{z>O1(H z6HCk=j3ogpRA@n;7fXD5mn?ab4cp!G;KaDQ@IKxW`yNJbaX$h-86%4RoVxgzC5RFxC&Z-`@rNH0n8RHrBAF>=}oaY#L{LwO-(YU zX#<~OPvaY?voj&T0>#*Y)><-u+hL+sSdZIHXJUhJ9l-f6-e2{X=y4_BU}ZpL^$x+D zegR&;h=caJIk4Z}iadUJixW8_3iM+)SJ3>DEcTng?>eas=Rdw6hGBZ}HR=-S{cR2= zEB3IHOFFsufqk$zPZy5lxAIQ*qEtCUmj0TiPR+`VsQlR|4D?imw8;g$)ZB@1@#sN* z%r#^9Fm@++n@H1^M;`QMa}GFKv_S5j-Jt9Jhf8>Dh1cR5tWyR}z%be!wzRcF%%xax zG&H6TlcT7yjx;TsH;y{WTqP?%6q94uXTlckhh+L(IS_U~w22N?r~j!Q1%E{+si*@vf7xxK&W@72 z)<)*g=K`4(Yxp(u&a-u2Z*%^q1ahJ92sE2DVB^Oqx|!3U#H5SC`BPXj<~&u9D(y%*2RN+oH_{m8NL%!AQQ||>h^=BBZR&@i<&c9@5_9iBkR!Gv~ zo#>LzVRVQ1Q@C9v!jH?`2i;H0$V{e1ofW3TY@hASDMuO%os3D`o#FUZQ3M=JG^w{{ z9PkS^6ES+71UA)?P5uq28gm#AWxXRG|A>*N<*D58$Gch0nqV;D<4F5&9k^If%e2pw zVbC)%!O5eSo%rhnH`*J)LunV}>lCo=Cl7hGvIH)oxdgv)F{ld%asHnw{G4(St=?Fm zw!J8-_(eA;b)V$VhYRG?xk5PoBNVtp$>i{zLI`*L0^hk>c)L>|dsFt|#U?`>bm$|0 z!+sE>?nfjgZZ;_OIl--953se)CgyR4%xKy4QW9q!%pry2 z!{C;gJWMV8&V15F;u%FzOw)1&I&v7?^UC7apB~3VqIF5)+!-vV=@59Y_zg*HKS{cx zDU=RRWe>K=!a=(%+`YmcZ;3o&+f3D9?|wP(7+4Le8;YT%?>AJphQaf6#05S3A+LWD zRDPQ-7?-8ste(U0c5Du8DLu#Zzw40KW=r_q6+G;p5e*-wRl}211KNCIAxX3i9GACgQWS8I!*4irQz$w z(wG~$EW6}K!*v`DAx=rS-EoSr^sKiq)nbdFFZ&V4$6p{bx@4&=-iF|)8PLB%0-vy# zMCbhuIM=!!)m1Lx;YC02i_c@Gw(umRI~!8BxJ;<6+=o^jt1)@KIplU^gN{NW(YA=e zarUw>OFF3`tA7ezxUqzeKeK_VZTrGPr;O&EFU*Ev_Xa`L=)ZsamjrJ;!ePpfm(aBh z!BKY~wHtnb+I@NqkI(UNZtNI(@AVA$sfPTwshhxbMH(djvVr*VGUVdmFf6VLCj%Qz z=nSZYVdFHY_WK`TF=IINYcvu=(SN*Divcl*0x19IosMKQjTve(g!+l-`nbrFCRjsUDm@ z`5IL>E90Rpm#|el1iJLMQH?ZzdYhM^e{XF7WfBIBd&a};ip$)mfpX?L)(h2NYQy~Z z{*Y3f50j#FsoKvSP^)|xax_N6ri3KCdDR|v+V6sm$KJsSbu&6C*Pd>yilWYTt6+GR z6b*4%1{%iXwspERwJb%pKncloQK!T)Bi36@>V zC0{ghabj;T?teE=NU%2&j!Hg9>#2p1pla>fUr9>E*y$232&47gxQvCP+ zRWK*8lYI}UX5UW@6SCvCkyH6^IP<+K#1svHhUUYWVqduS^)&B(qo2%*n@)C@-ze^|?AtPm!QdaiPe0u(a``qKYuGcRo3KiF0W|O2+iK=y}RoW6O zrgU`!ya`*+_S}-Qyx2U356OtZGAH4AMo}jd+@^&r`RcxSKVGLC%zCnrp<$$PyT~H%OlCebkV0&Ijl;zFS^F7 zHCFJ=r;p*B3@br^{2r!bdqXh2;3pYWNGEUGg`w6Z8jAlI!i&F7Xe54*e>P_|zwEjy z`tK5j@-25sy&_{f^i45tk_En=n~c9bwD_N&XQPtzZOnf*j~~6I9zWW9(!$f`GhQ9RVxfe+BF7>!D?VGQ6Jglm&dK zV<*-$5IvdmIK|kXUuKYxDO;yOOqM*|8q&gfT{wgPlEc`5cO9&74}JaMtW`T8fJVg@63XxgB%SvQJfTKT(Ko@Q4F#lj|Te91A~}?}UT|1)7I0=$F&cbd7N;lkFKz+L=z@k5{5E)+t)*J4U zyf;GB`RPKq(Gm>{W&s$_XeRq#$b+@ZH4vKpkl5HbftX89LxOh-41eHZT|_#JGkgqo zhSQ;Liw%x)xy|-(XlBputASdiFH=tOrS|L*tZTl_{aJGclIb@1vG)tie6?BdY?%q} znxBQkkJLz;ng{(VuEtKlCK`66973A!!0P=`pdtN;M2FOaxb-x_=c{RGFs_fZZTtjR z#!RAf*E;bw7iY189UPGH>l(~9-UJ(QaYzXlqe~8r@b=$*@W}H6T-X#vqlI=0R_pHJ z*OGqpeXx%-%zA_$YNOz?cL_9Z&x406JHXI8A2u3QQtSCXROY!8KXZYAuk`o_y=%+B zziSZg1$Dr__892hQVzM64BU$psI2)hXdSufCqJ!tv#Y7NJvIPND+;W(^-Z8=b49^s zNCoy*n7}e28E`M_Ved9wL;Hms3WcihM*~}X+mOn`m8FfuXqnbfu)cQCt&06MCcK+6SU~w zV)dE|u&Q^MYx2;CMekRD(AqS7lAQ(?Tl(Pr+gvDIrw2bRX9_GlWdy%PBFMGEc=!~) z53~!n!jN1TB-}X^j+@J|^1v>1balmq9s~TYU5zsj8IEL% zR?>CwH4{~yNtEY$Fpp8&1<Z z#7XADEUu=X+nfIw2ckuQTodItHaBAAEFnJN#vo)l2-6^U6+Ca&NaH; zAb0=n$JG(Dc-Ir>u-K}eY*nupOlk_p*TEXN%~pzQ)i;1ciTcDYek0RZKOPdL-=VU9 z6<(6p;lC9cLA$I!xEyLBDNCnVZqs~8dK?=VRT*M_)7GJ>P6-Pt7USP~O7P>llF{b; zFUUVB3KxWaa(&UG(C*y7hKAgF!OoE^`&}aqFV7L>rH8{Tr>w(~nRT&-)mO=Djcwrj z)`_fk)@8d5^aOEf7P!a30`KWYW4V~x0Wj~5Bde8RG} zmXR~oM~TscJUniB09O`8pka74lQ%t$3i}shlImy7HC1F!*-TV@V0c*05|5w6D*E4(sE@c&j|W zbRdl_eDjt)n5BiXTVj~4iwT;~5CiS3G34m#7Is;X2CdnNtZFzNjxV?Y=V}Ask!Z}x-R;T9&C=MoF4TjSyR(kQTBk_p<|C-E-*j=T-E;tStbvcB?_+pU4tAmSCQ^D#`8oXFkK+e93 z0-amN?DgM|nBcw#&;L#3JHJeC0Cx_ihKJE=jbCuePLT$!Q>Nm&{~C6dNwammEmpZ0 zh7D^k;0~W+oEw=AXJy}lT7fgYblw4vf?rW-iQ_Wd)_{`iWgmCfG$jgL6kdkoS2S z{EB%TrmS5Fmn{gFP%{8%6a>*js~~=fEbPAelw0~C3B>0wW7VdfOd>E9t8QH`5G6**BVE|6C@)z|Qbn3b%t1Yj^w(yh zDlz1@Nh}t}i*Y9<@^Kl9hA*X4!DVGA^w{qwYwm7?{QXjJQ|<=&sC|ljHjN;5KXSSD zBct%X^+D7yc!BR@tieh3G&q{Rg1g6#6OY^}5a{O$8jd#LvUm#4x_e9Tce4bM_1uli z51I2TZQXHpNi!6P-({}cK9)RfP@r@$1Rj({vSquza}u(<;ot%v;yNw@vDARKs``Ol z{Sy2ysdpIAVZq)hI*;!e#}W%W19tqvQ5G)Mj2|v3;}s=6{A>Ijem!#stLRAlZ{-A3Y>b4^_B&9K zD1&!b_X*BSn$PZK>7)JUIP&+vX4v_`mA;<332ZXWpvCwq^yuo+?#?uUQd=HN4sReo z!X!bq`aW4|Hjb3;-y;|po(GOK0dPjrfSBzYgE<|Z;1gzwAtk?9@UB}{+W#I9*_&f><$iFzp)0#sn{*^O(6IcPsY`42kk#`;Q5+|q~0^2b6_;dF}TXS?U%#H zmP7FRWeU9fSwq&})`wNQ3Sgu1LAasX1;6j?h8uZ>_(yPwJ9I*wJ$9Iaxx(J?a(5G( zT$V_l-Zg<@jayJzxEaJ%hMDheN3bfL4HX6na4An0T4&dz3AT1EKB$&1+3@NIZtj2tx!A5S}n-oZd$D+oFClaqa_ke6x?|NoO{MnAxx z)mnV*yD-T8s7&2$b7_s(F}g_VAjGIt66_+dK2(SOlQ4l6>1GnPX);};r_3FzE2Kkv z6KKD93_Yh|LaUC*@?K9Q;L_M=Fzl=#hWqA1X6*^s>!?nHS0&KXx4Y=gEMIzA{Q~@V z%$^sza~0)UKEt4o6O{h;fwG$$AkfB%-2J>4mbL7o8tEU2Pv8|C7w^qSjhE#Mt8c)~ zz7itqa)3>IHV&%qCBgAdWU3jO_;F}DzkXmUzs>#t|1aP#T+MRdu;g)&2Id3S>RXXYT}L0`4H_i26SyDuwhy$?mGR197ZKj zu-gUG+*h%Cf^d{0fzbRwkBVm*(XoHvpM5Vo)-gh>dP%`W0J1_w`xWyC)L5*X{tlPgbO}zK|tvZo+A9d6=bI zgl=07!SCDmU@jhqMQg;-`lcedEfR-JH81!rQHn2x<54$rGp2m~jKdo<&>^z|CVy9; zZ5I-7dvX_vS>XqxgvZcXxldu8bt2CCoPig*?qT>oC*I1@oc~dI3wD-Gq>2;gz~bGe zc=tpc2-W()i(W@ILF5Ukc+ra7&6gP3tHM9f9)JwxVEWB%6y1I89HLQQ}N@v#UW;pI@? zLM@NCeXxt)QCGs$4Q5SslIEf#IYapyQn5?TPge5b|nPj#+_IYUVVm|lquG=iQ zf?4d&tvoVL?Etz>wZO5-nRs?23pXoY1y9{VCcCa2C#CAZqtbNJAe2TINU71Q${v{7 zpMq^ItMK>r$tW071L2tmKtgUb=?PPA$n6h1@-+g+{E?y7b4T+}0@HA-o$iRY z`LXq>XUTN^RPw8@n z0zX@>k?*-+k}`04ha%9v4=g4m4BuK#g)g1aXnSQ0 z@9Ve-B%dE)@tJjOa7G@w3);ERtWpxRB8%Pn=|`^VH*zW!N~r9*26p^OgJ&5{f?jKV zNW1cj%v#e8`{w$>;_-*b*mh0$e0>{vduFoW%Jh%0I!u%^?w!D|y;Fm>JB3(t_)d79 zI0{~Uoe1U2C$bA(1FYzGELu-8LWOb{e01+D%fGt{+ov4Ib@SR_$?0;`8y$czGWyB* zzI3R6S4i$?xe=YtZcglYJ(D@SonIWJgVrw`!7k-Jc2~bcpW`{WscWSmNy-6!WY%(v z%WBx0-7|=iav=^aF~XOp*MO#rU&EFScChiX3SDr!nr%BKLY3C_y5T61R)7(D$+B&$2g56cbY(E<;^ttG7D*Gg2+AA_yuuCcIFe(2-* z2AsoA!JiR^b*2@dk}{1@R{-y}jWBC|CpqmE4|m^>Fyi(l;QF}HYTJP@@^Zy_Ht<9d z1P88?@Ei;HP!maN&HfVACKo1oEShYvaUchp*1(a<+=eb;!u54{;3`uI{C!j(j(kWX zT8$H7cefG5R(6y7f1Z+g-g=_3-G`r?+u z55hsawm)3T%!A1uj&yBcJnajWh2QJLurj_1CylLPMStw9bPq?8;F}^4alj1@3WV^C zofDXLA7y#Frm%xmhCXY4qwy?tGUK~2yqtZDtaXp!oTj?5+F7$PcFTXrxN`hu zJBP;o)F%U{qWSp^&G<@03x^*C3J%Fh6XTphvX`DGzF{+A*g_r6B+T*jv7@x2CXo&F z+4E5crRf?~#>OvAh6=BhWY47xICdcmUMD|PSM}(j(qtOeIEMNeeS_*H7Bo$=9}0CcVOiw> zQ8>^{3)A~}G-NBve2_!cFAK1KmjWy|s5n?BPLbI{Znj6;z!O#fL7! zaCLkgS{fAm3ryNn;K34K z?nKlI{A%nCZ%0kW(2_GO)mN9^6mg{gPOqSP^2W3vcMeUNP(}>2tg-8ui=gs}Kgvs; zBX0mvK(4>KH^H8=2{iSe5Z%oMgVb0PSS{g2*3Qg9=^QJPTjdFbKSuI|!91{Q$%Cd% zy-;bOMt?lZB6c;>=$P-yH~nlO4=nX?eT5Qz*4hlAucm{sLn%4gTMuu~EusPct)UL% z&a>$S5`2My44S0ofz92Ua8UOf(0)&_`)UR2s>Turu^<>b!czxRu97wbRWx{8gPL8l zG5uN&%rI7=*QaP9zqU+p_i8b>_Lw1lHg&>Z&(iU!p)UV0b2~q7>O8)=!4W*2%AxMl zHZGy|CVEzQa(2@+adz_zJe2B+7tS8U45uk5(x!mo&dzXXi32Q{WeBnsX#&sdd%#OX z7^XXoW>RN7;kwBrP^l8duTEa@etZ=a_Jo6Cz9nW%yT@L19D{I=GWhdA1;VB6V0N|_ ztU7QT#M&oPjn_3$GbBlWUrz&}_De)*1riJYF{q%i63*ejuxFTERYRDR$CJ{?0wDPXYfZ75v#mpt3nK{`XaU_tXgNE${M|8ELi@m!P2sh6Xn#%xxy zB&oq8?Jx0P=LL`WH}F|27{YGcfkK~gu(ewS!h(iK$oC0!M(B5e?1Lhd((K{P_DM0t zOzn}opUf4wy#**Kf?)rbp#QEA#*Mr|^WSnR(mDYat~_iNKfW3@++Tu>4FS6;gCr!R z1N16;$efi+!R0?coO(O5K?A$t)wt6nMOBusnJPr*f7%UUZf@|o*Br!B{bB!#bFkuf zGA^wa38v7GU-bH{UOyzq60ApX>fIHfsp!3Tjs^|L$ z+%{Ljqy=@5F_KqpKR$w$=5L|(XD?&~T!Z7;Kfrk0V+fC}CCLvI*_3^%u+qI7Dy&bz znM5J#`e`z}?wSGN3w1$pb1W>pI+~_v%%s}lhu~K07gCU@Pq(;U2G_dN5IFrfNW==D zW3U<|ixCD6YEQ;0)>ni_|`w3YE2df<1|+&^z8(*aq84}dXXT1 zl{Ad5Yk&qdN&3A(1LQ+5LG|}w?pbg$d{tZm?(ar{#~KC=p#~)C^#eTr`4q@>%g_sp zE6I&_JiM0>WA{INW|61<2>xvO)^P20ER#$Pg5qZMydeMDj1vdAAJco91c!!A^6&A@>g3wP%RE3y%do z&-)PZH5yi{iBi`fBkK3;C|%c3NMCC=K$7%9yjv{b)2H~u-oGC}JXw;S5_g4^q>X~@ z*ABronQIUryaj#?JFxJlv%yGT2SkG#V4u+e)EO^M?@X2@qFb($`JLCv7-=o|ZCJ_~ zZfL-DdBeE)QaC@$)Q^8p6%W(FKr`R0+SFmiyebyhdn?2VW&+l6{o~Ns& z_(MKw_@DGmmgaJ+;ja5AKIcXl=XlG6i1*imQb-kdJa!qmHU2Q@sV#xkmD|X9iz;Tb ztrhj&j>oI5@7ex@PEJL8HN4k43+E4q!u0oE#D42p5b{_Dg-#g|W^l2-@$?e*<->d| zpOXP=loO!ezaQHFNkGn&4svhPRPa1i%CxiEa5&&9c8^o%^Mn-nmCBXuklS3gQfVP* zol_?7o{fQ_>5O!2mnIARMx)@lF)viC$!k9d;Q|aGr}Wd2GTdS?<+~0-NwIYC;KAK2{?{^aG$Y|JbxdGG0yuhGKcKpr%D6i?7!Nu5r zgX4_>^faGL6K|scbLH5m;#NV&Egius&-tWB^9af+>ht$$B>y5Zh|kPjhQFRexf>Jgwtwl9uxilYcQAejJ{y=z}pGPa!xr5{_i}aaV6>;qqe#1wXz? z!hF{>xLoW2D%vHithbcJdrzjXBOK|u5EV+T^2w{dZrHrFnfs_QMEJc~pfEiUPM>|w zj^w3b>eo2*G}FcLQ=YQ(-%3cYMhX$VeH~oqZYHm9Um#0Hm;hb3aczmFF#J0L_Iqc; zx&4;#uc#c%J&p_fH*Wx2vY&__^u?im4+xSlfGhhPV8_ufL^3-9a<%(m_m@#rdTcoH zP{}272C)LEG6}A9Qzxr`R?Uez+d$~ccUB4Rl9=0i*{bH%S0bV>$zIX`TzK#tv@eMk zIDEbVDHjIGt@Z?R>}ehZImj{1I5px=#_u z;Sv-0K2r@0$F1Vl*lUyeqzu?5JDU3L?}p_V&BvCR@Eh!9_!etXKBlOZomS8U?a_m5 z;!Z^n{ouzAZr{%ur+&10cxH&LRL|uPHJkD)^}nFvu^p&qF~GKTNrTRZg}C8j07)O2 zZ`bG+Y&ptf{EfdD)wiCX-^|FGrh1gg|M(0~H7#+!nM zL?zU^ej1K_@FG!_wxBZI7JK??xbKD;q|`4GzL7#f(e_5t5-I~Nw>0R?_wtl32%#qF zI!rPy8lHI@q4Caac(aXTWp8C6#O*KyzjuS3AJ$X#yCGCH&yp(k`9Y)pO>XpSH*Q_F zCRFqvg=XPI7`)hI}#`+hFPa4#CRSSx~_y zLAPw5<-<{DiD!6=K;n!R>iv_1^(LF})bbgqB?tnst$xtgHq1UARfFQ>H{{44b0oJ4 zaMST2?(6mjOpzOdw`yuh$W~{#)I7k9l^^1Yycj&L5rLAArs5ZqI?OS2#gAVCaZ8jm zXJM#}+@ar`nusaulzzipe|^A7t$Gahp7U;v?G)XmH(3u-m5+ zeoqVl8L2oRJ^!)PbsGgg_P4@916#KBz6f?W9mM3Q0QN}L5XXDgj}cXFN;J#j>Z zep##<`-DyRkyUaN`HkTZKr(Z-<~9v%c9$umnau|T_E?-n7RDj%nl^1$3tgF!#MAWxLl-<+aI0-GND(% zK`tI+%%b>`LQTFeA&pq~)Cr=BgVFN65q2d_CBM8giPo_s;I8+<#EC;tzHcHqxlf0G zY_SQiCVv&I@}7)ygKcr_M)?!}7!WEowRnP=3dR-P< zHQxZwkL+%IP78Z$H_TSCdbIxc5r4a^;BT%wg^M$s_&nN-k;(>q`GquGy>}U2{&tAn z@D%4&P?;b4vXV#R-F&#b7_ar+mmgf14~fhHC%H6YtE~i|7^B3nYZ)r+{)nQJhw+!w zKm3_)z~B1w4VzwV2fa~mz%5gqKAJy`H&-9w$^GG|W@AYF{vKgJAI`@We#e=q`XDyy z9>M){9zf3Fd$7Z6G*u``f{DW;toJpN2#(Ew^~LkxOl&3?1pXuE%9D7x`;mNIsRq31 zi2$9?li@?}7*JgUSi570&3N6+HeZfM3w|=cUVSS6*D!*25mV!*=gE*8Dwgy#7FjjE ztQ6E}N}>6JbhL_3L%XFf@RgzqzqB}of97S(Cp%u^)@_bqLBGn#>SOA>Agd3rE9Ich z2Pte>^#sRNN%46JlKg}lllZLKQT&><_PmMm9Dc~P5Y4vv^GWWWyiZjH`bI@@VsG?# z$3-u2O!-{CHP8&7bz5QG*eZ-(y%EQs)3>^j*?=t?chG+PPSkdvL>3>-BOx6ZtnzeQ zAZfA(99Nl1FDfR`TlRtQXL<)S%pT3tb=i2?K^B*9JxbD=UkGB1Cc?j8x5yQ}c zt}kV=0&kSu>4w7-(!p$n0&Q85NPE7N(CJ3}3Ob)|#; zT^0JoQ4-wOUxzh;LU8`TNAhQhJsQJCM#uhB#wcpJ^4V_#vd?$^J z`cOu+-X9@ls?UjGNEVLSaTTY75Kog7P($-N`qbS)lV=1PO4h-ntwlt?DgbK^e-)@d z7jP3EZN|ubDV%MpJJa~N8_Z=E!oy!u)b?E%3CObN|0CV_KuHxZX#dBFk8_6M{ULC3 zf;WsE$xfkPWMMFM3p4GE#q3?zvDaLNo3E-$2d+26w6@!v=aV2{q(U&ERDzfq*T9QE zmq97?Ht3}{gPV#AhUQ(skRCbwxG@^c44;v+Y(E#|FU@+yPeFDRK5e9y(18bkD zWKy*P)-7#CvD#s)fR%CF{CV@y`G*6Pe%2vNQy!DIX?3i-A^|h3cUn#IoksrXO7l5# z({Y7R88@sOB?x~i#I5~o36eX#!0J;h+<)r{QE`{h=uIs=U-gSPe4a+!4Q$DQNlQVz zy&q21oq(^sFUZrg%HVY|0`@hIr8YuyaCfK}J>B#jWf~XpUJ>S4E1x0I`JzY1OcAl# zC|oQsFt|^A?pQ%aoiE?rjf>Y<@sh>i5ag{-Pi@VI!=7#A*5w8!t38TT7INgdsTfa0yRh_! zIv=`Kn7@`>!mZ|oK_bzQ?q?T?_;e`{or|2`#zgq?!kS#HSOA_KvP8x>2#aS-q1jPe zVCoovYnQ~il^eT=P?$e6iJO2(L*U=3^il^qc5;P&#=XbSurM$MbE3NjI{@j2)0* ztIK|N%_R=26>-z=cCw=V6vL^jxqzAS*zHn_&5E+Dq9+)-dP3l}`hHL`&E^bdXbY-m zZiV$Pf0D~;N>GpS(7zaPDghRM`UA|ASA-TF^-+K-qpL&Rr{(1wGATCgeC~ z)D*BOL-z%;mEKSp`Htw3TX0)`57_+lV_LIf;iy9xCt|r0IyY;Q3;Wyf`;T3y|LQr8 z2`S>fW^tgA{~vAm`wMo~Os23BLy48xPq2lWbu|rkc{bu3A-7XJAM*Sfj{;1 zilwjCet`A+U8v&41@uzWcY*!0X6F3bkRGbhr0*U*gD;}Tam|wwxY<@lHB0rW`78#H z6(>;fH=$tWZ-eSP4`cn3W3Y8@B24NihT6o30-KY~Z00lvs?=#fwUYnAfy3wE^u`tN zrh5S!m%N^p=f`7sOAnD7zZ?6!j$nSGF+CF#NsX;*;HG#zIbuEshrcBV6r96Bb*Vc3 zwzz`A2Y%qvHM0Ei^UrZO@dN~9G=S>CR%{+#$~y~k(XuuZw*~BkXs6XM*qB7_+~0^P zq6*M5>+hluPNAYmmKP zkw#qn0ujptu%(L$CiQ$J!T~o3KV}m#`}Gj!XKklb_QlZo_C>Tru8bx=lA^k=-7qYx zg{}KjhEw*H;6EofcIt@=WW3T8ocNjmsdHb!tLkqcKB!JVlf7VeZXf>FD9-z<_oK!4 z|1d48k9-}`vLh!$!J=ydsrc&*Sw4rzq&Bjiv!j^@6}n$6?1PSGHjI zA(^S^jB{EpGUq*;s6>Va9h$yPV0QiiJ2_nr%4s7vEj<8itOzI{`USU*Pk`VF@C)Wo zW1^;8Z=IujP@Xp_6@w=3g;QQhx%lsf`xa!*9 zpxK=%5c}~^Fj~|AOn-2|Y1J{$pJ9B3ha*N!n@ZQ}Z-TI`17KMF0_=h}aHeSv;9+-@ z{CqqHPNbg)qvbqH5MNFwx^JMf1C*(Cx-#8o-wNk~GoaDc07N}{nUF&mTYK^uBaaMm z!GGcO=!6(33Vs3)=ZHbN&0$jOdqNPrriwY0o5K4ObMeoc2+$sKVCmEJxv}IvD*Gtl zp&(I|ou^N3`$Xg9g_qe1xWx9hd%^jTo#(60tq^Qe8;gR1n`}z?ODqdZ#C7v)ad>wc zZgTGv*hlSP#pQBj+vhiA|IibbxWb5xzA_Dw_d=r`I=o5865el?3!gYK2WLAap#HTe z?u1VQ7a=`?e6?sILm&KL#mq92FPZ^UCVpiX5^ed@XI`VvA7R|&XG_0Nac4qirvRe zLVfI7zlZ;~15RY!f-&u@o8k0^~CHNkOFeg5Os~Efi18wQBNTLE% zibc_3|5Q9I@`-#}w3F;*R&YYZ2;b5goNXJ1YkNyUZdNdxb8$BFy4**;YsaI1-wD>B z*C{vwq!!6C$mT|BJ@Ciw+yX}SyEIQ@rs^G9x%gw6)ru`fjLTL}V*A+>6Kiv7g9PWpNNv>=j)7=!+H-vv}w4Q-GISOY60! zLPOLx^x+Sq(&SQ93=2aEk3-Bar;|L#$xKCOM6V8uk!xldVCY>1Q5pW&cEyxm@#G=9 zJN68I`!-$h^4$x;z`Jd5{JSU2$xMP?-7rg>; zur&uw2hwozmr$$x?P@Hmq7(+^7O+~UM{Msq1=w|HJ@b#xK$}_J$m|cHnCNMYaGb!t z+>Rk*xkV5;!5FgJ@8f*y2$V{=&Yt>=u*Y;SR^&gZ08Js1vnGMS7u^PpAv|LgEd&3TbPuV%t z)SE9@x7b7=`C%$ z2Wk8!0jlTwz{)<7v8LzjSadA56lwFpr^fNe-PG}Bj}jLXUr0J&JafDnCU8~%#lb)n zTQkL;Toj*!I#WjG?>hv=4Z3`ayB}`<-hplrKCsZUk=e`-MbDNHY#;ZI1qv2IV7W6< zKhX+$34!F|Di8keVh^(W`86_2QJCNDHUsx%MzPk9$5G8I9ar1d;NKOac;65uUjIf4 zTIh`yJn+|oIwMtV?d9=ARyfptqwgb zB9O%zfrpIuR&ExeS*wnLd`cnIgCr#UmBK+^!u6MFf^@ASp8Z|MM4md+>AK#u ztZEA#f76B*WKE?3HmR`QzKz@R_ArA}3$S<@<)c$&_@p;a@Qu15-LNE%u4<8_;@|q= zK@-3d;on5wY9r~0u4L2PL(wWP8pqfbV6yQ|RQ+!u)DN!#(e7Vxqd|cgDs9F=+utKz z=Y%?!?x0QGH1@oEGwU7H;7S1vC9#fza0Z@JibsPv~*j?i$HPkM}2SNh5m3_ru^QA-Y#vf*OunNIU;~4J(UN zxKVN6(K=0q-;|)muRraNJ%8(2W@jZC*lcGtHqru?m#>4fIwSo#8P9ICzh#rY50Goy zM8W#o5SRU~lB7%DBZW$XMEcxRkTMj8=&D?3NjU~)9!CO4rI1C?+eZ15lXd#?pKA#;%E9b(ISnmEa%cW4^hhz=XKK=Yx)WL*AV9Ai_0b7jvl<<8g4 zDa#vuK_7g_Q)nHWO;xt7qMuK1q`kG{Xz~aXm^^AA&psXpQ>9g4t&}M!Hz)wFneAlF zqkq7;`&0R#RC>^U4gEa0iawdALyr`BfUNLM_|=e(yZ#Hq{_lUeyTZW&hpHS1oTo%R zqLbiW##zuS=z;!8=^!gw01k5xvbzR*@y42kIOanl+AvdCQ56O5=6#@eW*%9eahW94 zS-}s(b4)r&mjsm*!JPCfAaLt}?>=dQKar>4uJ8r;DK>#N8ycbZ*acvF=py7?lEA<- zdMteRZY(|1fU(;x(CVZO$^{G)rd|tPhLhpfN)&!?}JbwR+V=fv~YF35Ou5_S&X7g*lB*ANgq1}g{p;ksR-AUn7c%j1raPrf4b zotZ!UIN8nW-)Q>jTS%FLEj6yjF{GtjbAon`+{d6Z5B-`x>|5%*b7#%H?cZ7av{P0BP6D$%gV&_U+RVEKA>p5oS&7+p`v;RuPLEeSec5iH{-o`E5{D zOv6Xdo7mv&S|~S?71a5vVRExQIqKfbI%?|}wQpdy_wTS$rxZwE)&~iO_1NL~i#RrI z!X>_8SiUZwVXX<6oIHzZcl%H!{})qg9bm-<7a{YbC^PYRiH&!TVaTICd}W}{XP7sm z+on5AMEM6cICP<2t_p4n(!d%)9L%s(pi;A@!>E5N@U83xE1hKp?99;~tj!N)pL|Y` z!9pPxS6T{LKb&CAk6+~Q=)YX;`hGI*yESItJ3>U7Ig8|>4=k}I6olRvz)AmAB=LAH zd8PLY%C+;k1Aj&udsT|HiLJ&wpHWzFmWLOi=b&x-Oo$O4B;ID8Bx!kpAoi>+*HtNw zhK6eVe*sZ!sJsyuG-l$2+ZMRulPHy(eY;_cuP&TRtzy%DJz+Xa#URb~FixKr%SU~> zgXflraUHMnaiM_}e*QSfeC^HPL8vPFEmXvOmA51}Kn#~2tV3Jhv-qas2=;5wWV>Au z)jmdH&s#$nHnqU!$(Px1w;leA{KuxO)dp3OXu@TRamy~ABF|pmWOtW_!IRb=7AtCo zk@6Q=g|0CBa6k%sH|m1v1%Nj;yMW5IkYLG2B=^xMx?gET3sb+s80!>xXI%(KJ#`^( z`7YR!aG4Y~S%6ITGjMCk;!u7NmN;3`YXT#n^DIcs>xa0{=?;7G;}iL@xq%pLF@e(a zcfiQF4YbzTA!m3M&d+@c3+{J=2YZd7b8oOfnGCYnPz1D`4wDsEi%91ESdd=59o~hF z<=1BBf$i+=5EkeP=f5lmk*FSUNw0*NA~^z^%u~=l7Fcy{t(EDrGjP%~9WH9_qT4(s zu*Cy*MEut%nCPHJH97$VFa9w*$zpEtg)YGdt^4d@QWfc*F^%4xs7B|UH{!PK9mOw> z>=&#&P|e)0w~*s*PGobvAG}m*0T#U%)ut_F21<|M=2H>4oHjDUXT~H^1ZaX+GsF&s z17^Inde0w^HYS>F|(^rIP+dnDTTS zD>=%+YXfKMqEZBBUxmWeCvn(y@;eDu@S$_F{AvF{6?_ z@b6^HWt*_*NeJq%G{>(}>P&3GFxfOzP5wNRhmzglkUgoDi;276Fnrh!jW0@(Gs_pV z_`K=Z<(ZEEjqTxVcj$vpVy(bII}}X!dV|hvAHln>3xbZuXgKg9h-D9a#Pv7FbGy$P z;0sd%W@^5$CGZ>^$5yU&@dOf6V8FI|z2JmnlHtd^CN|-sFmG-=h}m-o@x=0bIP^)F z2^LO+e8n*!JJFE5@S2243q*KtP8v1O--aCdd05+L%pX0X$Cv6IN28#H?8B~QuscJE zitX7$wkG_uiVzVOq-wru$QYjjW}TzxbTw5PS^o(l)G}a2{W<7L;vrUP36&2sChHa- zMqmG+hG>2}E*iQ)j7PlnQ08vBW#u3ExXhBicQJu?`(AMV6(Uf*--;wQR>0Yd>0mQD z3L|T;fc~B$H1#MVQI^G|BHmk76i)IkVL5; z$n#uGZmeqLAF!JP6XqU+ZxPMT;GnFvznmEH?pt82)MrwUZwr3}Or2$n~sU`W_qy!pHuKDg%5=NFaf zG6`+E;EE}gpd9hvJfDQM*0DI-Z;t%CW;o(9iu03B<3WFQ8Zzq}cxRW88L5lO9^V89 z>8Pi~$Z$9Q+%bcT$t=Y+E=gRup#|rdr@}LTsKrT7T#qfE3sK-k1pW&d%l+}g@cDHS z>F;@k$1)z`?g10_qM;4d`S0c|!E`8DlCRp++a)@KP>rs87}KihXY4f@g~NGV<_E-*W>oV?wL0sW5Rzh z7$$)gHxe;Bq75ruN}2F~*OBv0McH{ySd*5E7S)SznS~4{-Y~`wY&L5g%4VkQEc2~R z!tEo=QT<{9_HC?1^}$#y_gjsb_Q_TAydB`%T~o4f+7lFfa0J(u1FvD=Fi%f9fahA1 zfyu3%%t1W?EIw;;9(5g6KKo?pRjqQ~n~DbVj_u45F=bpVx)d3@@@V)Y?-nReTQ{9%kE{U8jy=Rf;S;wA&Loqtid~Zdy)5c zn5~p|1J!@E{He;P_zAPF;;Cgpm@{C3uPd)%_~9M6dN>FV&S}RZqI#V4(uwGvpNU>d z_t4Do7Zgvpf@gPK!qy2%_)Gp8&KC;Bz0T8dy~0PV=*&bF^#Ksv5r{-ifOFFuW*45T zu+p;IxK3RGV?udsPWm}~81NBy%r)bB1OCIHh`pGtY|NRiU5^L<>w)BtBKS*G6@TqK zkLiWW@S=oQ)zH-tSQ)2{UK0d3)y-qR|6&c()La1$o>}1W{RUd=2x9YxN>&l<1(zCj z!OdL3+L{Kw%+xycFSAxqhuD->0gVm1+f=}8QfIEF`_T*AAJ zG9=Bl6P_O33(pI7Vc_zMDBI%7$H&EZ@>T?z*M)-N*Uj)V+!A^ckF)!Gl+Ywi1rrK@ z#OW)8z~?}|*^*$eQ{_8Uzu>{IoLFKlBtTAw2{DUTXPMz)DLmLbkR0(bODj zBD(pCUfyG8B&(hm6_fMd;$X?crA*954Tg-4fbfqnG%UG{rBQ(-I&dv|O&JG;@iuh+ zs}Q#Er!5Sxp9H*wG}0LKfh>%cqYc?AH2-ZP{8U;6-+fb|evSwIEN=-*yLEU@6;@Cz z4cK`kgeTNg2v1gxaZsQJebOvT=QU>X_LeAtY@G^BZ%!bi4c2sYnI!Bq)`3;23b;=B z5$Jl3Lg9mPblJ!W7*0LU3;OR7XoiW9=Py@5!-zH2IG94rBws;QST@WU>phLFk+f#E zG~N8mh?bQ91kq*(SU!@5`!()CySOgwS0!NMB0xXw=z^&8haqkAUr2I2Mb{dB9_z?# zypZ~gU~L^L$cj?i@+V~Bf@Bcev;)%KmV&y40FCeVr`Km4q|+sgx!alA-1PKNa4pxP z11=M=wTnj%?mQ1WADfW6pZe5t%2{YEw4^&LwWz@Ia#U~shtoRl;RDi+6;iwKWn(>a zD99mk+P1J{P@7CK3Ioq$nQUXYDGiT#=6LgtE9ckJigh99(d$hbD^=G7n+50Kgh~z@N+f97TV@Z=lJpRqUfLF_9(N0MR=RW?zkMGN2*Oeaf7p1tOnV<~T(qlN? zJ&Qz4Pr;d6dof(~Jc>FgLyk-x4^KFg_tk9Y}TXkxc6p-z#CDvqcL!c1 zj0Fz4qQB>4T#{P=YmV`tr2ieW>{R38h6QlouMD^Rmk@Ldr!u3~C(LhDk1Rf~&D(IK zoxgN}Fb$Tl2d!_`Xg|9EHa#?>8srv4>|Kj(wu8`{Wd)WOM0t~CdPuQ*5V3SBhQ3vT zOi5wAW5Vstu+sG{@oEsJ`()7ZlXoaG*>U*IUz~MCO(kp0kHEdWO=Mqq4T`;3g_MXw z-`AHoJVOMQul|eSQ<^c+@+Gbg-oR#val8+qRlL`W1-MF(<_7xhxRw+Z?$jv*Zr5Z< z?m&PUC$db7Q;Z2l-(CqkmUf+mR{kX?UvB2_UcHq>pL@(Z;pK%Z#U9|Vnva<1)Q+>} zH{<&$F1+c-N?GvcqwwJCA((kQjhWUHJTLnJ&E|Syx56>BbM7V8Kc+Cc32={{5*k_Y z@R?~SK70RxmE;`5eBEj$pDzVhhy#9Tcf%sdHYWX_9oZC3aD%BT(&1hB(enh;w%Lg( zH)e6;Zv18W*Yk;`@OjeOy#gQAd~l4L@eud5NT7AjO5VhbP`v*2E_1Lo!O0DKcvq%f z!2XzM{;u7ZtA50aa#PnXMT@$LT$gDpTYoJS)9js?c9|Sbi_|5HKb<5MgFkTiO$pX+ zTgTmhBg4Hr_84UoPNL?5O4zcZ3QN+9G5&Tv#+l2Y+Tj8A;-)ZX9&UmoE9CI(h!+Oz z5#sh; zHI7Vo)_DAIcLE6t)dqcH1^52k!_ujuoVLm-$gQ&@B|#(P)WW7J+nIeNxp|n``Hk&v z(++m4F9J90S&qI@F5H3V6S1Mun%tZEjYZolg8Gye-l?j&Y~#cXeDv-G3ykOEyF43| zy!#5Bny+KFj1QDNF(H+j(pcHJ1%G?kU|vNW`6quBwbo}LeD**O8i9W#^6;^%9`8q) z2U}VtirpeJ@U2HUGY!ARU&(!9igqXQ(W>Wc){42ff80^rzP}bHy-z`5VZ=`zB6!_f zgd1^lK((xede-HQX5- zX1B{~*dAeD>_0t|?|=6xG05zK`K=4cnmdNH**XyheY@achdfMOYzgJw?nLigEJodp z!i^isA@OZJ+jl{ob9g0%w_3fR@8>Kk{b@E$3e%ycyfv`Hu8b_SuwpYbg5aE3EDUaP zhokuxSjyYZU(%sMlitjv0onqzGbu46Hc>#8&0*I zg!^(U$*8^(%X-q>Zq0orKk(J0eb_iOir2H1 zXw5-!II<&*%!oVA{~>mbH`hjl<-hw4X02^_=d~Kg)0Mz;tt+^vZ=|_n>CU*os24;c zu94Mm+))Z&v0vi~9Fx87R4ON!6RVi@ybZ&*(JOT_QfEhcC{T@_xHuIT?b3n!`k`#I zx)Lwp$uoY=&LXle(+5QK7DK|eY52uKlsfuurRGK_Ah0xyh^a=x@x*cHAR~tgrXNXN zdK65)DG2GZ?O^?QDrIaG++@l@!{7^B*Y=kw_U=TX(oEd{U5o$lSPR*1VC(q#ln>Ni zamTWfbu6Z>4x592@ij01WlLMG;-3Ci^jS3y4~OXkt0@AR*Gs|VaRF(X|AvI;dw~Dx z1XxkJ6B<12(P+wQa%tinl9z5z7WH3(H2?MF!1Vplke3Ml8CLM$a0`41Yk^4TFcw<% zf>ij$kaP)ccy`YUj{F2@RgM9=;UUEQZ3dq)PRe*FNPNgCl0Iz>o3`j#)r0XJBr!Z5 zK3{Z#mq)HZ;uC);F{&VwT%1X##tGh?yhor>;Eh5~3@l~@lY;$xtQD2T^!KwNdHN#w zHZGq3(sBtp+}R4vI?b@#Wf>gnjbNW1tI+f<#aQZ`iVw^lvnisN$tj@(82VYoUwC~7 zOqwT0nR-36WKz0B!<~ht-UmC*nJfJChdoY+gPr#l@;7BilMlf=!6Lke_e+S-1lgJN z!skGm>r>4C*;4~Wi-bYp=x>;_Zwshs-X*Ii$HUd>IrQ=EuO9 zU2DkiNzc%HWD2=wR|`UG2jSa#N&2WG1^-1B6T$!FLE+v2p5Qz2@6B0=%hnWNREa(( zr*)f{H0Kei*P&2-a3=h-SdVXnj*zCa5BYBIWAW)8OD^M;Jf2vcihfH3P_oDNl5AQbSLXo7hxyk6nvaAurtg;I^41G>c7z%9o)mB*KSz zKM_HvFS(dHSr8?9xvJq+_xNthB1vDi6-@jo9v4w~~8Lzr46EPJ+)-73)HB1Q`E z$c{63=v)Si{}F>qYcly!w&P$pvV}CR(8iKG6|njl4>Ip>WXHFLGJ%-=82o4(+xRU2 zE(93EuGlB=fJ8HorpLT0=eG_AQ3y^(e}gZb^Wehx*)XzJigQWKh17@xrd2RYH4=~6*YU2Z>;iprKhDs0 z1QQ-;arit8(=UXSijL7IH!V zmLM-njwQ6Z@Z<)Q;n@BvGO;oq?i3y&YXfaj++{8|Y04{XE z4IuPm97NB(PkOq}!iEK|Ad@?p>A#{xXXXHZYD#03at0yA;x3LU=e5vWXD0+=ASk*- zLGF=sp6t^l@bQivE_PNyKi{k5UGrRQe)5*M4ki=zn@geS{2!2yHG!MU%h}QXADF*D z7v~DxCTf#PQu|F1<#z_eReG7gT|sW= z#n#&x)cWpN5Ii&}0hOQEg{~W;5UY-R!R)>hK zf}mdQ$!jxHKxsx7Yd`t=@J|_T!^RLDL&JVM%BO0 zC~({vw|CxRLl0-8_sbzXEdBr!52qm($HBQ5U2yW-B-)S~LTXZe!?;yqu=d?fe#p3+ zq)qQSPK?iF309f7-R>?f64-%DRVC;b_19qc#gznB+=D#h1t?pX1TXZ)VQq#lPJe#e zvBu^K_N}gADy@O|Vx}q=`nnPK{CSU;*ArM>Cy%GweNkh=A9PHw#RUhH!=%FrB>+apGnjx{k-%b?{S2GXCT0 z&_e41&RH=V^^Ib&XTmV%Moi#p&unE4Y(7`G!iiImP~z_DX>;w>nb_w1lLd#Yg;JXk zzC!LM)Er-n^@nG1nkPPEN{}G;(I^keKK-hC-yA&F(*hkIJK(p0HC(AOK|id<7mM3? zr<3o%;Mo#*pDzFh)3o5nlPh?VB#|XbUm@_$F5XjmiQQRz4wIKlVoO*tdc4oZ)fESD z$&J?-HMjsjJ8mYar2_Q2P7n&`>_Po~cTwtYE&Ald@xw?7X?{IGyhtGtvD(c(C0SDA z8SUU_CeC*4k>Pj!yTeQR{F99As^`heZYOKUgivGB`cOLd_8mej;J_FZOF5=Hmbx`Lz9m?igqOs67IK;aE<_>jmU{VSemh6B7 zhoW&HXd?E{IRbgxf>{}s5MgG-h0HfWn)wv2{QgA(y~0UITq1VZ4Ztd|byyWG&z&gM zfjbXGVKH5fNqhHHZMTu8d!^;!((yO=Bft-=R^;IfhirIz;}Xo-x(&+Sn9!*C3T*ng z5y#J=8Z1!38FH4d^^wX(qj&>enZO|uuqqMy1=rAPiC>uOp%`qK)&QjT z3f_q5McE%M=$~K)hAX-mZ`B5Pe{4Ve)mq0w7umr|O^VYDYhmXXK`d)9@CF|1>V?+PVMtA!L{H3*p~V*zsaE4Xc$8BQ!M>C(eEt@~#LtnP_ibtC zG%?5;>?fP^tmwT9A$0C59hxoi1Kbq8g6qmccsXl7be-M^y{V~?Ev`#{mp+02M$W*8 z>5{bN@J1?CJrN8xJ!hBQ^ubuMf=pcA${(I82a64F5#yLGaN*51x?uZS+WN?jZp&Lj zy&7BDfx{oM=Zp^b-+y|X>h)^oXK~U|Bg`4PigJn9wtL|I^cqwI#K4;tWw8D#hqFu_ zIGa~j@v@Q#T84(=9iP{Zm02|qm2iec+Lgknr3=(PjU~4mo}uBzS=hPGik+Rc3>9BW zvg1e0`IW9yU}3B5h z5_37S0Jfz6Va>kg5F04MNd*w@(E(>J{;~$<8wRjb3ofB|dL#xFi$L9o6ujDWl+0@p zVnP}PIB~5F*S+2!zuFt)A&pk@Wo`;IzEdXWybpqfz(3I6N~zSEC=%u|%-{O;DR#cn z!^Air!UtU_2-yWzCl%-+?P56pYz|dh@g0`Fi>2rM=8ZjVQwY6WgA;V5vGHvsdVCw? z@%M|+C0&xVqx~sV4G%%5#uK>scs9M0V#F>L4HEMSQ_woHA7>B5;iYXS_@66E;9`~v zPxHWfw({d!$F69K_o{?YZQ^2b*GP}b)l8zb3rbl~hbTF2CCK@X^3Kh@P9+ zfu5st@O-5ljFkF8LUke33+KZH^?77rV<{@kry!PZN2XpLPZ#ejgB25V(B}9~yyhfE zE`KzKtVS!WYcXZP^-tL$m0wWqFAn{F1~6_=k@N?=M0Y=t5>G*Q;G1N&B0~31-u>IM?_rCUs9o{MfXI=>*z3xd&7N-+g zMH4!AN-iAS(#HRtF^45S(17%VXUR*Gs4DrP9&&9q&&eyHE?6@6HB9(-9CT}bfk*d0NQ;n0S6wlF&Vz6) z7jwibnQ{C8hppuKR|yCV?*i2eH(=hP`K+Vi9n7dTpoiQqgVLST{5>`Q@J3K2Yul-U zlfS-Yxpy4l&7Yr;^-&qrJM%#IsT>x3xJ3?JQ-;Wq%K#nMNW4-W5uH=RlMhwCMNlFCCo5*te9q}t-T z=Mf|_Wjb|~Go``m<3VTa&Ddot!?mZUnZ#=wpfB=3s9O=&qmjF}nt^}uGydXb2C(Og zCYgcRHnf*n5zrbPR)+N$K2RiS#$XPW~>YK_u|Hn&LEU= zo!@#&7?*WfvA^=J#Q#nc`6eI_U72!V6`09V(r!VM+cPq?DhgM3&BvM~m_p^PR|z+vA2WB&X6{#~o;Dp)$SpZ8f;%JO?#>;HiziMOnif zzV{+c7~#8eXrj*D`O}NfG9$6vK^3Onjt6xMYoenwi%b|af&TtN%!)WmI@@gc&2vMz zHL7=U-|{*5erp`++#ApLOqs~OYc=zCR)+JXica#re?P&FT3LcnTr9fzCXizd4QOs9 z0cR|t(Ml~3LhGaXsx!}GyvJ&|GP(#!U1h?|8Fe}IzA_kS}}~bqnFp@VaWLTclfSTKk(cQMJh)({v-Cd z3@>XXvuVCRiCmNzZVOSzMY$Uxu47sn% z#5v6-eOlqVnL63t2iEYGDbAsI;&KLSELz~$bAJ`cD!zbmRjbJQi}Ku+(l6+dU`j1V z57VVx0q`;)hA0k?=Z*)PqIi!se7oU9%Pft#{6mD>ergtHWxOA|EM(wO%`nU)f1qUb zo618rBe*tSms_@1nL8{iLY-fEkb!;6(0}@G9E1+!8LH8Dfv4%i%|7t?(07vd?kr|r zdWL&bS8+l;R=CKx5%lT@us&OeyU%vR==yB1Kit8rFCM~i%idtn1T}8Fum~FNli~Ii zO~z?6eq!+s!l_=;L)Dxl^2K^5xjcCe-nsG&b0t-{&>mIpldcFpaP(tQzIqpjV(ZvGgH{;CE zA=Xo5!2fx%m3@~f<@bL0K<;Haz)jh^V0okr3bfWbUflG_q19{$DdLQ9|0W*qjz=SZ z4~E8YxKtS|ToK=x*{~gD%do-X7kP5J91p!d z#3rRDp=6vkTxg4jRVmj~w!eh=oovT+(^9akq=z=`!G%uy*~C?iyuCqPZ0`G$XlM5c zGo>5wE?VQyr4=N^Z7DSoSqr|UNw^LZ`N^J>$l^DZc(*E%XbmmLO&bFo_iVWAxZ;X{o@$c7fr=|V;r_U!Q(Ewqcs?9YZ~ic)Rhum-Q)&Rik_X`F>G8_+RoDU@wcp{5Z^)HeGfa}vlx z>*EtSg$!R+!VPx`cX-&UmA=+HqBWAYHm{5uGvMN-Fn$=bbn* z2!h=Kbb|F(YLz5|8Q)yE6H9ftA?*yr!e)G3e*$V%_e03P^;B6_fF2u&rjmCTlcDuf zIYrkuc--w3mK__$V?!bAgINYHyGUR!uMt{G5)fCVXvQZIVPfzMiDJ6oYonCm7ecg-$uCOW8AFDtTZFJ_($Pj;~MP`J0-^as4FVY!O+1 z>zL!7l;bd?{1OPdFJk>`#h~A42+XM&`Q!4DX#IUk{7(H~+ma3O#n4~A+@g!XxkZED z&PU{P(<$UM7_-&0ptqOG((It6plyF0ZZ5TB6J6+j`@~YNn6r5Q zr=Xkq2fPy#p^e`QN6y;OGI2Ktf$gbefI#A9Fd36pB&fN!PPtu5t%yQ~;d2IK6 zQKU7uKf%_$<}}7m8)WY2qsGK6=9`$zuXL%0pBHbz4)sKy&+=>V#7Tv2EL=yo#mLdl z583ePTq?Amv!cqE+F`zy5ME}9z~}eyW_tyJ{~}Qk-cZP3)mgMwyhLX15asm^WRrt$ zuflRKO=|Eq8gng@$dO~x+?IT4PHLqbol&3;|rag;FSlK1gLtds-{kU%m+G z`Z-mTHi)roKPzaOSV7ipmII%SnGkF}Kw?Jk@JkF%!eL2Sme_XyCSA~itxN2P+q$#l zcY+>x|5=1LeSWbRy?^ky#0gH#(m~7gY~tE(PH;{{WS7FEf;(j(2y@TUeNdu2W`sWgxdKHM7RlycYcHpqx8@69< z%=4o7@T|cd{L{v9PZp2kqMB>qYo9fEYDI##y!}{yeQ`r?FiJ>g;K%ikK-&KiWU0we zzGE7=8yJ9k;y$`&#@ec(;W*M$>%;T0mEr1YjzNxZ92!p*q5|hXksvKS;{Nyn@Dg{! zx=}m&Yk@s}aS+7)V2Mq_^*Hx!BPlv_1yXjXVxPP!TYO8IQ-8adEb~o9uJtL|@Xi@t z&Q8Iy3F~0FQy4K>9|q4KDuGhfUvzzA&RK~)#=Dj+SULY7RG5DvdEt|JUsn#ZAHc|x zIi|FGMlU>{I|m-Nh;k3kxq%!1Dn$R*22-cm@c8a|m|7ABOMYm8sc9hDD&|RV{Co|o z8#j?1x@s_+*y8HR0P)jg;r62sT-aM3y7OJA`EREx*@^t987xsi02Wr6hqTa zq70XUe!|A6>v*4$y^ZYGn?bVhcM6YrZGq(TN_4uyDD$5%!tBG1aL=GOrp;7@lFS2O zDSn0@p(O~L!ImD|n#m?7mf)jyW7wWl#2gxju}x(UCW;r~{iGy3BU#FBSzN#?3ab2r zIbR`ni7l(=PBHyCtDta40NNWAp`h$PoUf;INAj+$*-F9kUal^iu$s<|d zJ#S!sr6I50%^O~iONZ^E`qb^UDJ|JH1wJIpaB4Fbq0iPF=(9Wu2ksw5y?08`^(YSZ z%<+Q6?+M`Ls739!eSwH1R}$grh%XC1LhvPBTE9`0I**eDr}5=H^QIV<}y#PdrIT|$e473AT*5NQ3CJauSw8}sVz#QSMe@xpdJlrFYF0~U^odqg?i ztV7Ig(2-TdrlZ|-B{WM(#2NeRusy;C12!Iav@W+Ha6N&o`zVICWfj$ambw3FpMQ7auani{~vMc0v@ic)E07f*vig)TRAOS@3q{ zJ2v}?7+!L6B~A&AtSZGAS_3NBq?@0Zi>WMzJ~M}9|C*r8x(A|100Ng^W@3?F_@f0? zkWdl@(|;(yP?|C~?C=aF>vq7TZSFL9!f~2)y%(MldDfhY{DXck*=1M&H!GzvO1Yt%O3#-e)|qA->hA4AUk!9yH0 z7NO~TX3*J1Lh#N|2D2vY!ADhx*w^I_TGl40$agPdUXRC6s(&T-Yn}pJsJ22gkpQS#KAkKu zR;41hMW~;t3w`E)8=ll@uoLF*&}n5B#^{ugsehZW-FX2h-ROa`+9Mi0h zqsrlYBKTI2{rI>W>UdhXtLqf=5^ZHomG(H};3?k8P6wFw-UtS(l)*@PEn9M`9zNbCa7263EO)AROvsT09*9eK)cOFrW4V{YcOhr z!-vPS$ORwR!=6kMo9G3BvB+5>_lb?XF{HYMQD0v>kVx&{mMu9N5!VZ{BrDEwSA%D=g{*l~W}cVZu73$-_Tq-ZJq?E|`!W1DW|d;pLMecK?hJ z$n#9;)jM$@{k4e9n#@j`pTwzI(T?L?R`T;-yy2Bj9p~62mJ6y| zZ=trg61Oy0hU+^#f@T3_?DM2@rv53O49BZs?t)V&8Lx~@+QYn+>nQ$RoPhH?Gtlb( zbM#(s%Vx{@kZCRAm^Sc*t;uYJR_+Gy?W=h$c4@?@vk2b)TuAh8=ELSYbMVruckJ18 zOLFOx86*}sk!2c&-@IyOlV8%4ys)JA!|~ zI36<>Nkeh+LG*J_BoGwIyYWnbs@krjr;cv|i*Lut$DJEs)9*AqSihZDw2ncrv=+_W z6-9GZyy?js48&U2Q7}rTF9aTu_T!dt;jRn*7S2FZWjT_3{~ipj(55lo&p|;!iYn{K z&;wQS^klms?b)Kt)45~}c{2O?p#qYeo%vO8^iRh|?=_S!wU+LQAFfL4&Ievz8f+a_ zWyy|);AQg}4o*>^qRSS5(heEe?@)~mk(%6K`yUuB9OIJjeYog>KD)8g6l0n%lC?Wb zV8%&N+H^P_@+*GvSIw3}+PMK!^{0@8jDKX#NF+XyL*Gvz(aG(uh_{-=LbzNAo zRRLS)#*lhNWIg+Ypi4NHH2?Wbu7(1CZOvh3dHX!57AR1`On;iZa|CK7r@`&KqtN>^ z0j%ew!nSjc#HaZ?-$Aj2Cm5{_i!=nV^J_JjMkm7?Z*M4PjxgTT9fk!`VOY=-{>d%m z-TiJrq9$F2)$4{FH%)-$elt1ypsLO{;c!gr zH?;1LB+(f%urXscEV%w1PxoBlFAko=9ug7MJ#qn!3$IowKW!(E%iGBOF|TOcRwI*6;JwJLf)|}g z3Ve#-fl(ertyl%mGp<$zwPcd2%Xj#GTMX#z_L*?^=_YVJ;zQrfO(yl-C-B`kMLP9w z4Ns*wAChcZ$cO#Os2^y6MNwxUV2LdEsO}T7T|b3B3O-BdmdV8Ap)~DDyhChPrNAG% z78usr#=N$@fQ+j15UP`d?q;Xq+VR~WmvRGdYWuNU8;yClK22s{vyOxN@{hwcO`q`DKo*Txf_Z3i2>qxeNpTGvi`i zSE9{{tE@6Sm3f*R!HbE*Z1vrf?Az*aR8^XTqms(#r_{kp*2;0QsxI82wj6AqD##RS zu7Hwo71@1n68!QAL&tu9*0(Dg8#)e;-FJk@J9aX=zMD91&vKl4uoB)q4u*Y(GXYzs zlOp9>&=-heuMel-`F%+^eaSBt=%-Kl$vv>T_Zx9PEDY|4WN`n0G#yM3hK2vkKr?MK zilpY@gPkWxM_N7aUs)<&esdgdIW5Npwq)Wa>#b!4s|gpi$z%yw!ulcv625V`+=2{(7+ z{Ab>rm+2rzEH^~Wa(g^0ahjAH84#2BY&@BxLli4!LJ<1})(_7>iP8`Yq6hKh8x2se z38s#@^XT8Mad=|P|KA^Z$lo++CHh?UV4*E@vHqVdyLa~)lTf<@M=XkH`xH59s76uw z@_0@;PKh%O3&+p$R@k6AHqXB+iThO%PAJlnbLIB2P#-tg9%RogO{U!amoqr`2wRR9 zABXR3l5rqco_%qR#r@STT=1MrT>piQ+`3B(K~rTFUO1!6iEdGW;Um)cXxk(_`u$H; zmSQmf@Cya1oPQ9usUc<{l8Guq$7@N|8C>otdoG5J2IJN&Si4Rdl+)0LZEN96c^J|j;qD{(LMPlPJnQB zv*H$}{m3D>FNx(>sp5daWhQvC2*QUg_(`)b;CMTI5IFP?|EeA$r`9ZF+lJ2aTa3<= zXY+J8oBPqIc9)N*c4xv+mj>Z9=D?MHb)w&PpDh#UV1?ewRq06;xcIIQ zvK=-cJoq-|!QrwRFJBaMGLYOj56hHh;1CfbMeCyw*h`)*$+m<aL#?7B)(M`1H&x%r8fg=-{Tl^OjAwvwJ_mZHF_>`8 zmBp-5rMdQh#~4Z*CJ%l>!Hk;(f*sf`Qw82!jhpbJ>KDJlz7QhX2OLUN>hM)*4J3HX z#i!6ivRlS>(H2?ms$dCgn7Nnj_lyUA{~Wv*5=p9RpMrp5KFfM1hU9579x7VIW!C24 z7x#_0KdYN3z4JY@+|)<*z853K?j4x>Nex4KPT|WdJ2`8i6I@r&4DK2K1v+k+g2w}N zQRhE3j8WfRr9k%bcUv@8Eon#Wvzv)ygTOf*&8RVwhIzgZv0YaNcP+KW0HJd%_kkXa zZ|EYIf^1PtBNVpXl3-5jO~Bw$CVVY%hFF&k(C#aNPTzJh@*@2DDL|VYhPXjmuv%S zE}}#Ouf@Vs!7bphIT||5OPPq0C434fXZkC{aKh&i6q@iDuYS(~8FL+aX-X_rXgo@@ zo`%y~11YfX%`xOh1y{Pah@t7I8D~E81BS)E!P51YKtUsm2 z|8hS1Yu~|Vi_B2W@CGqHU4w6iH95(xZ;2`0nV|BglJleHU&^SPsTPX7K%(G1a$H zrJcKY@Vc)PetoIJu0uIE-p~>sZf_*Z0#~3)Y#D#bm*en$iVSqFSEgl-6R4Tq5UJqb z#PHRo9O;(i{DPHn?RQNq<8Jcqw;jcifPX~0@*s>Du7hiJ)o@oH{uniWNYLEicaCCFu0#iOOfmwBW#q`N*>p1LWD{8w`GWm76ob_$!^(^&VN3A{Z0V1O8?j>^@zw}- zcIJZf+F6h!I00;U-K15~6#Lj|$n9<=9^<~?rJ)z_vhxX%bdrWMLzBSl?rxYVn9tM8 zZ-@ILf~>9YJL~%&Md$s`)%(VAdzFkrMu=pDti=1iZfPe+HlCHUk;fr^`PZUZu!GRRxiF2OGt zcN2Wp#=`f2``0B4HMh6~8qyO}y;*Q2PSfzik9?Y`B~C% z!3DzPdD!ygAhTGk1V{EOl1j3Cn8cY6*>PpV-dLKGfP!AmJPY^pL{aQ6#4LS{%X@UV#96(AmCle^pH3W0k0B?Rga_8Rv9bHb@gJl(vHG#zbdBI1Pv6MhER*1_H%@|} zh&@E@(J@T9YKa;?R(S1(C`+roMWpX>AYiQm7X6cWd=+KRb6qMfHo8aR0}EKnltMh~ zHifmjQ*t`U1A-*7Nn)ijTzPbw92q)GUT)(t^*ePiW5AI-zo{jW#?{#M<<<>wsOM>!MRs&omB zq!r;)_*Y^tTLw-+*6=*?7LhM)hrVb_>UkoXJw1H}V=fEhyW2r?Zld)2%Qldd)Te@re96LJrPft9mSU|t$1ECbV7a3y@8x7K=sxftgq#zi zfuZAQf_f#`=)4F2!rv&{_?u1bjmC>geEvDL@uW{jfI6i&fQf%Hh~AkD_fiYMVzd_2 z7lfmALM!TAe2(@z__%i|Ls5NAP&n}&f&~+yIrJ|a-gFDz=Qe}$Giw-MJ&xK;yiYdb z1~9G-hG}zsVPC{KuoyT2Prt2!Ur8_E=l+jidG88N%*lbtr*a`XN{|`0M=SA7Ph@DeDwG6No{Br?C9KFs)XJTLbC5!NWV7>XwkzzY5) znBaK=Vweml2o-^^<1=Vpr%SgqhJkp7Hl^B0?lqpg?x+KcxYZ3J1dh9KR$f`lRy1XaNQP-JKp21yN79|wG_R0 z<1{UpH=f!?n{zkS&Coe8hiNa8|T5`kq6}2qf*H3?g6}- z1oxbqiMCh-Uhel|R!vAgS^D7>>8m6r^fT6`rm~w|ePq5<6YQTQMDNGmhG`};%98UWeLv39LI;R)ZZ1TZ-36xxC8DrAm*^*pRUNQehCfBNRPCv+ zg(qt)VdLF+IO=hk+=>0brU@2;dbJz;Ha$%?m)|D7hmY~!Z1KdK`|q*$ms;Vd%Oqaj z_b`-cP2j?ZmvK*3{cz&z5bNDzeY8F<8YItg&}?#pi1@^^(^6Z=clS>ud02xpa!JCU zqw?I7`Q_O5-!$%zcmlCHX93UM+~^{!2B0 zrH@--`-$gpp==fXOjJR3Rv~nKw?^{?G2q~FANkvDpfPKhrM?llanPX&K8!A>mFwEb zl@ID@A3C3|7x@H#izmXGoJ?F(b;^2f3Xitu3DV$u1yxp?|3b}|UPyjuO#JoxtZz!E zg3qKZJemC)7c40!8d@2!!&;4ww7-X{>O5H1JD%3x4}}sl6*jls9TF#Hla$xlOm~4T z7vzwODvm&feC|N*wXHDReHX?>)WV*Pd{IEygmYe%c6w$wi*lw05N4`=JN-rhO-@B?Jsy$(NnISn*{EJO) zF(;4KNTZ$ee9rZ>IH#xF58Q)a{-QE+U?Apiu%2%qS&CZl)P(J%le`x}o*`a!AbLcv(Js;oCDy5T7G~6EDg@vOZ#}>3=xY zxB^w1FVlk1dSqf6S z;vvUDh?#jW#@r3N@WIR?+__tX+mjs4t?I}^t0l{zBg=>Wl9eD88B+M=M*!H(+=AQg zXz`>r?M5A|+t@kBlk2}$jvkI1=z~-v7`N##81`zT$*t|UesL-aiA6vXbAlT=!_a$@ zM^ZLPas%$JAnv%7_NR2B#-0=0n?My#vlBEcrUCEYQg)&_4?oE4UM_9(rX79*Yl=m1s(BPU zR5%E2ycC#6HK2adLsm067|u{>s+emA>r~rG@O~qne(4qR&37ET|HO^*M?SEfsoA7N za1ER&G$hJXo`Cq8ja6q&AJ66y6Dn-88f4S!NPo*uC|?^$kJ-E@4&55G_}N$1=vP{$ z?`=*ccgBKw^?yW7Bo>St4C$E?WxBd#1y%ghLKI6o;Z0RLT=lqx-lKl(H?+fdl|O98 zj|N`aMpxXkHydKIzY|;SSibZQeHeM02Cur3`9b=?dCvU8a?cur`-2ByGuDgW+8apf ziyYKWRKNn6WH!}!1WvCor;Ao~v5`=B5Gt0S>hhAb#@YsUp%8mV&P!L83u>H;Zs&f3cWpAYIkW(#8O~*Cr~ILHr!&}zoQIiXy*8*O%=K9sbAAyg zP`QRs{Q)a#VfYXduMe^}rV(U8q93#->5p~HZ?-OZgqb9sz>`t-n5EdpGRreiZv54; zncM-R4WIZD|6Y(D{dh9-)M_$IoX^vL!oxY9alE%Nne5=|1Z)>+X1@=HGUtc{>#}Q= z*46PAevOl}?@9 z4^8eD$dPw_%vdyz>CBjb)|Ru;1!|4-$$YU~W}A|UEg9z^ zzi&J}sagu2`eB$pl7MFCqpN<2ThNGF1uA%AJ3afyjxTdqo5j9eH^#sztioT7u3p~8 zzJ0jBe>_=&%ae6xTmRTmPFN3q@6n*oYZu~hK`5qg|HB@fXvHph0jiUBj?L&khV9#U z+y~cUnA%lGqqhmu-*6i|v-)|vyZYI?hypU*+8(I>|}l2)l|>jg2II{tY7j zc^nPR2&EI#E$G9d<*;K%7D;Nq!mX3FUw98+Ri9f%S+Honc+vzm%S$qw)uc_r# z--?7N6C>y~>tXHp|KqjV>9ewjhoQwg8O%I3k&U&caNtW2#11w>gUJWp*PV_Kt}RaQ z9f^mZsRiuwv%jd}najT2*MgP_x@cjrk_0IBKn`CQ9Dh6Vx@5!A!O{tSKDGuc|7zyG z4|ztXcN3!o6LRhrph@K=lKS=;+!E5kucc4nfKC{i{P>UmPh=qkToS=(iyT(JPZ0mf zIN{9TwRlT2n5jLx#{YI?Jc-G#Br!K*u%hG`PB4@O=TfVtH#cqwq1cgsSYuDz{B!(Q$|U(1(R z5+z8Dw?u-Qqc{|Jgy5RY^RVQ4BwRci1{I-KSwN*ECor*(*SS9pvpi%#=$9CcTD^sg zzv|74En3UW1?P}=UzhXTPpPsG$>(r+NfRc;OLG>NNAa;w2hlyyPMY%tF-77muh!iV zQV&1nt!O*Q&d-?34mF6wHHk+4Q>910@?_x|baUb};W`hnjl0e}encL2PrOJP0!w+s{116@Uzu#Q_rXA& zH>5Bzgn8$zN4MO1b}S^DOg}lq|6X#C$gMUcDeV-zU@91FHp2|t1lGD+5vOY1CtDM zuxe?=7$=;D&@KzOFZ!9BZP*Bpm#xO%G?=N_`}2=$b&&ky?=bjR7Bk;?8_TqxLh2`d zh(6U0yA_s`S@S!Xs6`Ut9( zi$Qu)C)s^H+S=578Y$fN6qnV1!GWDkXsqxFyr*hWJBc!~<8mzWj;^%w|FjI3Y?=m7 zAIRc%xs9al^HieL(GRubb?Lgq6>RtPtxRWE1Th6K%zHY-Z_0Q{BL7RQc;Gr5Zc6zHFDO#Y%zN+5kOFuNi6$?MICkFuC_a$S^Ze2WRR*o&- z>nGkw(VIM>$!|*af>io*9xsey`kSn z9Yjr3a8}`TsNv0mZQiqR_J2C$N0A=No8;rCZZYol#usc={cia3qYfte>;}D%AE3Kt zAF*$X110YY{3t4p;y#bz+O%vu*zCofSeuEz?~1@*c?9==o8W!Zm!Nm*Ob^-#-Ew_pCbTZ!2a;w(Xi{$lW_Im-ay$w|1D4T0dW-4j znoQQT+Lf=YnL)Z9y&%V(UcwLg8MG*4klkGV34@!2>C@^N)L}^!ozj*<50{)r85f4r zL@G#M_6o3Fm5JXC8_Sn+g@5_}+i)u75}eN6LT*N*3Fn!!1sg_g;hNS=Jax;|`meYQNOqOO)#OHU;MjW1sCdW3 zYg({tmJ(XT6{79SBjjJ<1iTbzf;;D(B^w8hlkpWcZ}U}3!maI?w>*qzP$uLk3<78%OSJEBJla*VRF0J2Kp17P&TX*%a4uC z&_bT67b@J;h%ZsPnCu+Go~lisfZ zX;VGMBJE&!LTC$P!BA3>)3Eg7J-n6&3!pdgKfwcM@blMWZTXb0s>&`WS%Yhl7 zw_zhKJ7EBks=IOhz(&q@e>}DxvghRuKPB2{4Iw3D4Lo@Do+)|;*g z-7ccaY|ko#+_#G)a>rEsaR}kI#jdK7iDB$eR2Ibf1jE(g)wp-T0Q@}r7H0Pp!;?TG zZ17jWv|kR^r)SS$$}!38W0wfDv{AMpL76*a&Er1zOXJpq*=UxM$KvlwAm>v_+TyZ! zsZp2N!+VwdPn)8us-wRXSZc%uET?n-{|?HWre@Y=yNA$SK3Ja=#3tQ00JDEqFj#30 z!O_NGJA9q&wGn^@-D~(*@eNyP`jNel8_&d6pM*uHz7f3^dGepX3RJZ{fuBn^<3z=H z=ExUj&VR2}ogKXi+dn@d2Q3*ppkjSCo?X@e^A3yC z_5IFNTBm^2f6v9l^BE|ZC5GnN;~+jSk^G!5#nU`333vP&*m>Wrcy&?~eegDlCQj>x z-||US#eMRy=Gd6CjfU}_w#j3tjREAEEW{k=IPCIIXG^^PgQxNm^!nyWpzt9bRz+8X zm5&)e^TT|mV0jsvpBwx2xlet?G$j-$U z_$0xXd>)mhde$mbV8a~Jyh4d<+#|~^R3OB6aRYqsGzZyj^85uVMf^*WU1+a&mWeo@ zCeKV%IU&8VOl=!S%Xdzsx>2&=y2^^)oNfck=ED5M^q8$bsMP@?ygJA0waSOdWGD8$z+sjGEQ5@}9zW(@e{xxtGb7t)Yl2)3yQAx5j5H+$1L zJU&khpFK>$e7RD*c5NJJX{*9sAAp`oqLAcmO~*&wgkt%}yp@r0IAMMf7C(E((^k&_ zxykF<*2B4c|AKJdmQ_c=>5~Dx%o3!hM{5Csr@*VGZF~u>#UQZE8tb!nu#l)g*lD^O z#5xpcqSsNX`0@ya)R{C`{B70Xp}8QWG!J?%%_X**LeOHvXY4;zj(H-A;A^&u9($uh z>m&`S=(kSj6_x>T-;0Z*-{ZE=7HD{LBCiYjS!RtHTzlcdTw|R{%K=AvSbHMw+It;S zc1PmdZorIB#i;4n$P!J%pkAv82O6H?sVH4!(mPr8Wd)wc_)0Wgm4Vr(Phz3(6E!lI&nZf(!7x?gm^pKMo|xE#9w25y<386ZqmlO4MYi z)bS6fw}f67bp_qjdHt{6{(kKe$`pcbCN4SVP|LiT6d za(pQl#^e&+$eMEzV4(ekudMKo|GeZ8(=Wcvs?EP*UTqAHyZe!Oi>E-4dOfR~bPJMg zBcOAkCV2j=V_y%8!77DItf@=~lnlFAPxET4&D&E!)blDlo|FvwH5b9|%j_{ObK%!6 z?B<#8{!UKq%O{)u20-okFXZCs2XJRjC#)_oqNTNhv@75q$gb9+&yJZu=4}EMVsoIW zy_f%>x~D33moGY7r1&8lcg3>%O7#!V84h80eTJ$xTpK_T@$_j;+ z*mPFvmd~2*=fd4J+VrYX9IHrq%sR%0k+nM;!SwY6I6ZDVeBS#MlwH;E-VSlTgOCmV zGnfo@4{oxwvMly(K|ZnHD~FExV_D8FgZxfOS~DXBEK2f;ptc5ekN8A%@1>zb?F0TJ>z^uOM*sdja=v8PU#4X?8s`4Xa}l*j}0U{Cx{NNg6o?Gyc9J zor(&i`{-dD&L((%@G81bx5j(ZQc(DzK1_*k;VqJ@AX`R&xW7JHWm!HQ?m6y)%9CCw z?_|ajLN35N%j0mfN&r)u{;@rgqO93`Z17+8&>Oyakppau+bF~tlKXN$n7e)@v;j-KQ+OjvYX&?VLwPZj-9E-Kwz>PQP6rC zH_dMcg!RM_C$q)uRah8&kyZeeI&19l`DQ)frot7y(8gM4Y3`869&ElmjoYzRmzlnZ zy&y`?S?QSMx=fJz*I!vmY<+)WGCUNg& zO<+Rd3K;me54I03#Bo7uVS%A-)q1f7T%DdLx5o7~Y79GYw`clt%bG`-kF7G={SF{A z|48AQwm-yw);scF;1m8C;V10v@^XA`W`e2BDcE;*8fS4$4}(N6;;pLfII>L&&JHbv zI}1OOqJMXZ&E!HDQn|vG`N*T&v$s56m7lf0sudoP=CklV`6?gLMYAVdk{q4U4$Vo3F!3u#B$o7pbxK=^axL!Q3Y@N z5XgwhW2rAy=%d9z8`sRHso6cGPkoflkucM2c%y@!^ad z+_(hq`JCmt=eQx`9@Ko%pmGwY`F$#NF#Xg{*w>&6i2~Q~@|{^+euWels(KYCbbe&} z(&oXFlMC6*&{X2I@)CSl7YdFiquAonP7 zdOiFAbeRI=l~%BcIW{1YvYwpXFqdhc7AFQ@XW=Y^Gi2qq1UMs;3Kby#R8$k1`LS`Bx zfK#sCh6iR=R9$;6y)~i$9u)}hCM(gbr{;7}d;t1*1?*Lc9Bh);$Cqn_an*+wFzvOX zB}XSvRU2)pS>#38?3XYr=nqJow5MT5v_ZPGf|Nu>vpr$X*qA(%KEJL;r!14Cle1QV z5kG=THPldTJ7@SHYeNRP+wz&zLRDzB_BM$ilPuY4H{8ugzhtbJaVc|-wMOX`nf?&r}r+o z{KlVLKdD0!KHULLeK*kEwUImcU<7X*6yp?LDC6L7OAwA2;Z42e#QVlK1pzBpaQztx z2QDO`Wria@xH}i?HrDYC?uf8QcV4g_sX+ECnC@UqmZsu_!Ylg8?)|Q?_0nY6Cg}&ed$OxGnjuJ7b@Fr~-|&pCyobfCjyT*(#Y@?x znBO76{r>5Rk0Qg#rUWxIcK*bF%=JV4dNrCpXu%v-yun7#H*BkpBc{8GV&uS0-0>uk z8A$xcf959yK4!~7K7T%Wp`gL81P-!>KPgDxNAj;cC?swU0#(yr@50NychT6U8Q)*s z$2`(H(AvKbWrw`bxZ?)AA1(!fi7sq-YRcG7`G{=oc<%JGPL%ICL%wSqAiaxTqn)!L zE>j7mVwO?#s!uanBR!$N8gMJ4 ziOwq};54rjze|ms4!bItj=2#)?6k3y_U?jHQ}2~T?J|nwiA`P0^o9V z2YXY(2mzn2?F@aT7>H` zR^giTELm}i9u3X(pgTDOdcaVJn)s*iH<+Cw`R+@}#s5mc=)@YFH>DKImrcS&nQoMO zzJX$T0+seZPURMkJ+~8+ttHz=nP=l6=stA}p7!;VtDO$m?VQaYD*XZucipIi_!im{ z=tc`jApLK*Avx4s23!0h!7)&klRq$tdnT2^8N@!tMJwHC)mar99V|`dUES&6jWozr z5QNIHj&sv|1R~B_=(|vTEZTtM!6VUA(`_;-Mp%RQ42& zKZ&A&pgB)twiib9r^at8s5JNVu!EH1l^yvtEzc7Z|u43PG0+uXIYigVWq1s2u-)O z-mhUw>g1m=*QLU+v$CEDsCrExWos6D#d$HH09F^Cv!{KUA(hz%uIn4?qt0nit zw_TF-j?oR+wCXZGvHxDR2j-5 ztZ)jqg7bRHM{5@`y!=`d`cH{~)(=Y9d#>1rJ`?o^|GWCpFSY=c+6>Totxg*kLRV`8f|5cXAq zo?SZ(zLvA7@iG%S$#ym@(KW;R&^IhI<1O}nID?DyO7U-eA`7H~Fz~7khP(x+m#sXw z*Nd`a2}?L7?=75?7mt$~oy0xJRpy$ELNMUVZ2m_(6<%8v@b?8?Bnt{BqQ86rdxK)& zkd?*wE=t^&V;;CjCWNINFe6XZrjkeD8*tt)50)17mF@C;hCO*FcoS^g;f3`j@?D+J zlFq8)t>PRodzs7IuON#q_3mg>-pa3E`II+DzM5s}SB%YHmn>CV3md$wF=M(U=iKoZ zB_d_v)cRm1v$~2uWeXCMLj_Pek^!gv!|^G95{$%}G3$ML+@m?G&}3E(-^ObfTe?A> zt4PYm{po9PvgH-H6L$uB6NAw|QHDFRVjp+URh;YkREn2VWH?`5KU;c3noDiCkAbh& zV3wW`&4}-XBKr~;m2uz(F3#p^MNXmh@jcj3n~f)x^AWZ%JkrTqc(RyuTWo=x;hlI)rW=jzds%711(cLoh(SJo@#Tm#5?%x(%#wob#miA_ zWE(F9b;;cHG0%?|pY3r(b<3$dN7qKCsu2ep9!&x+a2=a-XfgJ! z`~Q0s;y5`c7QM@LAtHPU{ycaQuguB9n{PLwWl$(_T<{`XZU>Z zcg5B^V>rK5nAY)XprFza-A8pmYUC&;KWoBfgK*US_6pAgJjA1Qhp?kj0k?I3;g>c} z1FvmMAbDm5T(Wj&&mYC|md-kYU6DNQ{nkIYZO>=iRD{TFzJa$t#L)X^r@{hxPf}yF z3)atx1)iEd-y?S~9@%pSXO&4p-n!?cSty3d?q2{C4kyyz!9GoYj7qb4YaSOP@kKO#~hKgL}%il!I z<~YgRDS=kAr8xC5*LHgI7d`xBxQJWn_$bhvJACssx<5!@Gp?!O4&!PlHnO0t+Zy3x zh(ED&FvUHIw|NrtUs}azO~ovsE7l`9w_#nMDoy%T4+r#R>3@T*uv9RSe6E~D+inMt zoMXqCayo~NDtGOb56et3B4Q`O?i`zlN?l9ht*n&pVWlTgP0HjRT z!>hIeh|F<<(sLdlohe7zc4?{}-Shwd(vm;5FRHdruVZhx* z#iNDK7edcQ2QVITfC)|yS^kX=ycrpiSY|wl`#66pnKR7{Yg!vE_nq{G3DK2s+4KS| z_bP>ptmpDPz_w0lk|g@8FQ%dg|yN2jSnwcJ>z^@^hmHaZkR@ntF?HqtYF=*dYY>ddorEF-PiEYDKfm zC2&VaDRgFsv0kq*Y%%R)*UXfN=Z-G6Mn?q3SxtwhK^9dDQq`e@cLVZ^L(yTwRJQEL zB%JAd0}FK`QE1v`uqzJ(rZWS!_3*);7Y#0}#bDihH!$e1hHA}N98#*{KfHM#F7)|A zT5lOtKhyvN-}&I*x(rg5NyB406^6|SRHXs z6rjBAZ=km^kASHdoYtAeo=lU%(HI%*o}di}mz`sW46?xW$rY02Cq{2aogC3kD zN8A5OQ56Vg@i&5TobD{rbu1iGkDmpl$}TVnI>Gy(BW$I$={kIVy^S_qGNQ*HJO}>7 zY>-=U3rOs0$dEOqj;GA%l|W6pmL~{vN7c~P!~~w7o<`MIOVEkWMQKQUC!{}|O3&O- zp(A_BAmOqRE%%>7w|^8Sb|Rwi@InCl5N$>sG?!ATs|*hH{Q#S$Od4|{X3WdY;MF=& zTGP=3C#Nof@Z~!6Yi};O8kq*WY-&MTxf%kbH&fMa9(4@bPVXdlV$B_c+0W@ zjP}OT*Kiu9RG6US&FgS1(2!mU6QbW+TS$7-4;D185_cx=LgqCYADyj*J^QCnIjfa) z<&#J7@#bAfY1OAaF=w#XGYp@XOLFHED{;O57iKv*LY_8bu)3v=q3dhHvnDwg4C{0g`VglC{H;Izocy; zr7f5*q?yU4t~d|IDsQbn9zM@b7ldKDp&;k*N|2jgE6>fy353_-y6mrI4qAx>aPKt6CSd!xE}F zB1U`q>%hx1mMj#?#GEQA&TQ)dJ{Vudl6TJ{=>eZ_oUFJ3-F7^>v&NGe?Te?sKBdRr8uRjsS8~5@ z%5eje>UawA=iqdJ6ihdNLvk)mq`!@YXv|O=Xo;xP(_9YZ?TJJaCmr~EVm$RN`2@mq zh3FK1EsH!VgNBC`L8@#UY*jLaZ_$3_g;_jyym-T;>;j2e-W~AI+62YVTF91NMI_QT zj`{h;p}9{s>sc8JDIw$G#pYHvlxT_@w%)`!#xkI|L=Ng80+wV=;jf8R!W$wX?9+_% zV0S{E1}~%Z_{~NrA|LtD;a%7g-_35@CP7S!4Cw41=9j({f~7~rVVPuw)n>yfaQnpq z5Nc2+*X^>2oOT*K;qQZLaS0L_-&=L>%0hnnS4&L%H4FdUxC@fSFCi%D5dM}8#>U^* zn6&0Jd^)IwyC=UU;z25S-2Nqt+M|eDrNYsFS1gXt6X)s%y|{hVA{ai^l^uI|1sb<* z0Xy&qk4+d(8KCd4}tcm0_g5 z0LFHk(i@g7uup#xH)ByT_j!687dZp5*=#G6&D#n6&IGc4ykYUq3T$TdMDDiwM>xN0 z`q%-|;m-e!;kLTza_-u?yv6JFsF7zCtPJ}C=dN7^cKr_SKYJdxEtI3;7NyA3sv`|a z!%V-)35LcsLS}jv?2auV`|ixb6emx*zvep#YUc6dLq^HD*9rK0hYs9#F{g_ov}vRN z0>}z#Co_(&vRW*y1M&;a*nh_9#JuGz8z*Cq9$If9V39U``BI8{c1Gf?ccJ`X>0*EaZBSGazzV;s=k9vh+|3w@A1Tj+_ z-dKocx5ja4^CojkEBf)-VPCe+G9J#o*Ts9kU$c&r-XJ<#4h0kx*vrSrLXzXyqIpTg zdw(+wi=Jn1K2620Q|B?i{VDtII*rpe%482Ggc81^BMSEEPzk*<*lb};1D5;*=N&&_ zgWfoJJM@lh)#2dITs1uZZUgk~yMRMt#YD64GrTyU#dVBUF~guk?7{GCs&kJ=CDOI2 zs>cW@$Vf5C;g|f8-D)6T!o$ZB0kFRN0EW1fL9W6{_{jSOr8hUw{-}0XcXJ-?(v_h0 z?(3MJLLoR^Is`^{&ytvL`gCJ$HQ4y46;kp6GhSzkafteTrycPc}=V*ONtf zadi!B)lP!NO5t?(lo@naTq4mLSw!Dt@Ze;9IvU*-;LM9m@JmYto0nMx0|je%n-ayq zcSL~#>d@_zPhxc9EPT0v;G)Ol@#-Z$LC3#jjZZrNlGPUYnB)Y>9*OWSE|q6x@)LgF zJV&;d29nr-HO%F2A`V4LgSLMPScEO*r+mA}(y@_*d_kz4w-jFQjlq#F8?3+K%}TxE zQ1yE{uD#^MQ#6hP*M2>)U3-gApZ|zpd6D%jcS&scEzwjRN@?F z#(MYYf!8u2Jf0fG=6jn0o^pqWx^^(pQ;RJ6uoNmE+Q1aDgqL)%5#JnrhudXj;oZX_ z_ULm_Re<_OetV=S+go!AH?Dn+77z58{FD#Yb>UW6uW$#{)XK5_y&?IxZZd42*~%-* zb_WN^ZoZ{<5_?iz3d>g>C2ALH$#<7MIMHw=h*W;!c^6gVJp9Ehik6^e@Nw*Z91WHc ziLh+nJoI{_1z&4FkU~=-+G3MV-kYn_Jq00HPza#Nez8+CgYnIxKC(Ab5|VbAaap=D z@ToVSO}fwq5(=vDY20|4e?=0E#jC6bYvY+^MF6z7=Ci@~KZxU=&uM6GbP_u?3h{Nd zIDEb00r@xNsnMwrcx);UoxY=FAHM?hUnb#?)^S+uwiesJzCtOXPSJdi1-~G zkJ4*q~OOa4A zp8I+f(N>Z6P*MuZYvq>zS6N=c>p_Wldkx$kp6=a+-) zf5$VG8K)pzQUf+$j=_};O8lGD>DZoFN4rW)iOR{vbi!g482LItf{wo@?IVg73g!y< z24lz{rjitz50lT~PK5ImfIm%7Y2Asp^!VRY8sMN#*D^BLBQJ)_9xt)jc>6SlWbcP& zIz;z7{bHIf_+eW~JXr%eloDZ>SYkxfALyXi!0Ue(iJ+dMOL4W(EF^M8I2sg>i=TIN;OOcJe9G_Jcw=xqsjnNOpDUDW zjLd>@e*ISX5)^+`q_Ud^%s1n+CC*qNo1+B>@H{gj*Rx zMm&=+EX0*mep_sQ?28bq zx-x9IBMfTvFczvOq5e~Aj33#JQx_-^&n@S0hTl$9dU+D+94^uw$qjHR{WN)Za5rq9 zmI+^PdSi3tLP&Y~iVB_+B4*>oIYW(~q%WhDb8b`v?^{}Y*hxnsPuS&Mkt%&}HCqBnZ=;Tq zy|T%0?640$_gCU$w^vw99VdWKd=t$#?lHrTVKK5a?FKAe=mPHX+c{%XFTA0k$Jgjg z;iIIICuH=dWzp&EMKrhv9?T zWRB=px@m$PJ2*d_^;z};nV@-RfUPKq&BvqA>Wi$K%f3zim88%@Y&M>^qKgJ z(nFugsi_*ce939zXL*Q93@SoUS{1l8ufsQsBxu;P#~3-F26bL8baCQeJXK=D`~MZ- z%|quS-!vYsj2(nPjVN+C?JI0CIs>B`${;LI#OP?q@@>w$`58xj`O4jbyrrxvTyQjm z;JNK&#kU3&xE+C?0!3NoLKFLz?I!(QW$0BJ#!I{w=T%1+{quzCnjI5ufo?W|z6lTE zjn+Ykcf1cPQqm!#@dM4bb;h;lB>1yeZE>DP8RSf@hh1w2xNqA;z@zdW>>aR$*Ef=2 zPQiDWgY^z#O@bq)Nms8+NF%WpcdGEaKuHMBT-*z1I_H-2A@lR!?G`>r0dBSa@h4M z>fakhiNGjy^K~JoS2d8`?}tfl=4qO^e=)iDh!XX~YLM%{p2lq}q~YWg3@koJna>tf z{LoWohHDp7o*x9UV%LfN_6aoLO%>PnwSu1MOs45;(lLLn3_tQ%6FZ|!;J(!%tRB&U zKS9?l(j@J0a_M1g>2%;|i8Iytl?2x}EM%X@nX$44*T~}C=ip^&9}V0SN>p=i;WgQB zSllkkZ;V&qM+Qge#>w)mcSj;ST*0%iC2p`p{0QsqeGb~p^GWNeINY}>8r#g}`J=TW ze8nvZ9xjYyPt508(=TEZIJOC$%^# z$tqi4f*UG>;s)~W0-yKwNY(dLIpK2JBO@qNz} zasTNVFqR+;%k-DS;Lph{y}Ot7@3Ugz&nS7eRD#_wt&6-~G?!%Vlw{eHIgm0n1vXAd zK)QA!kU{oeM~f!!yWRDo*ZQx(17>IlLHMOMLH_8G4feM`8_F zhw8O#%!Q92=`@*9tj)u_(`qnrmox@+S`fwZJ@93~5sE~25Zx);$RD0v z;`^E2^BJ&MV|WtQ*M`t(PX`IpSjJUG0z3=8OI%bZu}dU5^7iC6Iyc0dG5@EF;r(KI z`GhK4meoNftvL%lPQm2X_ifnmsRQnoUxHL`C7hyMk4cJtJRjlAPYb$?WoKqVfld*z zNJy;d9Gd|zt4iVSYBjD?ehMp;X2s8VA%m*>pOf(uKH)X3RebqfbzXFa8|Ri%g^?<= zV4k9VhuZbg9G{tKc};d0KUP1Z2S!?%)i0(2-I|OyZ@V!@KlbsKLA!YM>9Qm^ ze*hP}5AhZ=%$HbJy&>#1c`>PTO_DkQ>FHKpb@a_ieS>npeTWvu7%EkOvi#iO5 zQiY=fHW(`~o_4u95D))M=!`#wDi^-N--yq!&m{x1-vl9jz6KvRpC>;Q#Mr~zVyODY zg>;baToHxEZ^TNE*ALh-e6mH5tIy%Hy1<@e~qW zt&Pv5m)C@38^V%fH>khBWp3Nu5ZL&-76q-sxhU1^B=F-Uu5V#4H@B{fuC@(9fi32c zc`6EAj>d53SB;^0LO-TIi@`PGyU2V05i*c9i+BgMP|qF64c|UThi@jsMYSuWLn|LX z%@^gjRm$@f6BqHvd+zhrs7HB1d`CJC)mLBcbU^nDrO(yNE5qP7iTkEhbd7rW@5 zj|Sj8{T#_}Tn7K$jRK$FO|(%!7xoL6z@{;Gu$y$3cC9zV2T}DnMl?~Q?F2U@yMc)a ztfTu6z90#nme|%egmHVD>HQ5*bJW8b7smcZ&Cqz1wbDRUhkItSqW|H=#cy$wXeHfn zESd&B^rSm`5>eFc5^Q84# zCN%VE7^W;)K>W0Fp^3488u82E(QLt;POqn-XH{U_`gLIUJRKi@`$*3B`%%Y07G{nW z!JYnh;3KAhXG*5R`R@YIS}sImw)W81yL-up)q?y@D{VY{>@Dtm@r1T$55eoJlpOJ0 zi(OY6==~yj*ljW&8<`1w&V^cN@lIi?E-SH{VZ9lYODwNXD*z4#n$ZjGaF^$(D@*CSxft7Yi5 z&I4baEk&WK_hd~{DMM4HLhqJg?EgMMiVio@g%Z!nv|>F-%pT;L+b-kcjSukS@hMbC zRv7i=XYfIZ=kT0X9Jg{;7W+h;Q9S3^^R$yr=~fQb&+ptY|CS) z{Lyh}=cbRZcN)`A(~iN?=H<{WzZ_f~;~@R7G91x%!g)8#!1JOKG>bhY8X7%J{fa5H zmil35zb@t|cj45Z-k|hU3zkODK+}#LIA!%^6jAZP$f+!pwmc#dPy)A8e2GE-KD_^~ z9xHa7#NyA};FW?Y^(c_$AK%yHAO2&T$zKS$^-G7na^@hrOm#B5vs{^7wl$AYZBh5R(FNS6}LW^DEJ*F73#3x15dF0 zuV^;)@^SXDd;&b|lt+z)Ss3ilh1O}~sOV`ikP(t$rA=K}bn;{0cu!=zCrn|NdbTs; z)urG$iJ@IJQTQCbp#QJ^)MUd9AP>({F&|kdzGM!AX@+c=$5%KWtH8g$F3s1rL~sTkC|XIkUk!(h;0rKT z97NJBVl3|1`$6*JLRhZ$0q&|(7^^d3s||!8sxt&4#JACar~6@hXE)K$Q-Mv_{piQ< z4~a!!4HtVdnqK|ePgM*Ap>T;7Yp#?4#&fD5PeFxrT&pL)C-l~Ae)^QCRc6D{OEK{2 zxerK)TEmoZJB%)qCG3fF%t(|jad)zSu48%RfwmhIrz8{ZQY~n_mSi2C&js`m;_q#* zMK@sZ@Y>bbG4&Ab*%$$GXXWAU_IyIVcF-S!M!eV5O!U)g!l6l(Xcy!RDsj@Vd8a+= z@TC&g?P-VHx;oIi=LY=5d!*gb4;|y=ctgV~v@Mk3Wh!LgTEHsyY{q(a|GIc~_AG`y zIYp4odZ$5W>l9N3GLctOkm64bc<`T7&*Sj<31r`s8E{a#pI}A{oQU?MjP6rt|6xLB zUJ1i}kHg^N^&o5v=%$yp>4U=~0oKEI7UA5+IPGc;UgAjx)~TMRf3HiT!M=6Gu38z4 z!ox^T**Z8a(hL?yWgzC^bNq$t_=C4Xc+aJIbWkFf6cx?^6VYYpoiPc{NjY-6Lado^ z6L(Nb9S`rl4S9Px!b_a`j{UyEY=gTd87cZ3}bf z-^X|Rqrg)70x_Ge&30u=v06(e&~LwTU}m8Wd*z2aD>zA>O>A8V3-vegSKc_%ZQ=E} z-KCZ35X~f-CKd3yQx8tp2;<+qS@<+xjt>aF$bcb*-}-kjYve37xHyX(^Bks61|3-r+vks3P z^+DsqNV$GTrYt>#>(sta4q67%DNprCm%1SRyg>$?v#%dI*3Rki zf-v&wj}as^CBqnQw)10i_vAJ5U7}|oxJ^a3w~Lj2>&=x z98jT-KEDtNAzvEdyi+0ETA#ojwUQv`l;*N~PsWm#6GyNyCKumVui)cfoW{M}44OCd z2+67LfLC*Y&GYStg`XWDXTv>scYZvv_%j<7{w|+(e5KVGFw}98b{;}KJ zlJMH$VBsVO9h$SDP4gnu-s;EKf8L^`p%uKAZv@{Bx5(_P5in!52PkBvf!E*y{FyAl zi|hB&ocw8Q*KAEbGFP7$8A!w&g+|ElnF{aUoq{l-1ejwV4PHYDOoFKyO=dP?>hV<& zO-?&%ndgBQTtd(9I@6##K8qty382b#>@tD6D4FprA|> zi^_+RREdT{p^e5AGv zZ^^8{n(=bHokT5_duxa! z;WG21Yzal@#~L7;U6Cv+$Elhe3BaZvw9iIbPB?* zzDFkV-F`br{-rUz;_uJoIDDqX*QTPBRWwlLV06|h zqT-HP>`y^ec(7%n1wU&V8lRj9Hz)jL60IAk@2nD9xnCCoItMwcz%OLtg&_DLp8?%J zrm!a5GFBr}9eQq?LTsutHlu>fjIj#k)?+zKHi-UoKZTs9v!4D<_qADi8w#^(L`*?jYsjPS?KwfCq8>#(jzl8 z%q_|^dEJ=n%BK_bODd2HLP)8RX7aWY^AFD&&keb$y6n2JDhV}K-^ws zK+A|6mZuM)%Dr>kd9^55uuUFb7CMkUekW+~H{dF3OK5g(8fTvRvIQsA;?(e%r z+vRrF^vzv>h8aFIR8WEB{`|&esp-tX(8^6Z=@fcZ;=_sk@zIphbxZ# zMPgFP2#53&@y)9|RG8I@!mdIjz=p^CL4AI*zXY6nx*3g|X5pfJ5`6660%p#> z)i@^1aV;u7WJkXMhOJ*qr*BW8BD*#Cqp!{Qp{fzgx|&7zxjSI{oM`L_kff)7>Y}Lh zMf7R8#u*kBF>dDv&_VPZCZ|2cY<-w3B~PZrM4@wyJ(f*fgBf2R zA-hzMKRsB1Z_eCBZRvCz|ErH2T=A9Gh6a9v@e3pj_H0EkDJJ%l|A5=#eQ|TIFv{V}#dy23`X%AK<)lkuqQT#S9gDzLt3&+LY zk|h!b@YM|IL3HY1Y{ zl`o{oSMrdNwv@%$J1oifMj?pUUqXGgRq%V040`HEqQ~u@oSw2Ix~5LW!S_I(+zO&* z)1zU-fHKKX5@4M^nv?nKyh-c674+-V_4p%Fg5kfXARG0O_M7{_6K^j#B$Wk@(Pvl- zo5SqW_|@QJoDDNf6S!4ct4QpzOx$988z%;v;LoqZd?tRx&`Hj`66oRQrFl^OQku1% zz>`g5AE>^%8+zwU5#uj%IBKoK?>wl(_GCbsY6CUxX2FKGBC4 zQsHc}6DxE33`D*h!L!ROc^laW^nTu7k{yAXt)*F#})AX^=x#nu-Ul9|0M z(YUh#Q!NePmu@wNFID42Y!?y9>1HV9;Da7^P3W0pf-m@T^6k-07`b;5yzc}N?H^{i zc+?P2)?H(y3v)=-V|PrvZjT?;kAU5g?<8L@one7xgzA&fWKfJZP*y?#uZ=Y5SPaxk zo+mH&ZicLfJD?y<37&;z(3?L(VTz0(tZ&OBcP?gvbo+MvnjJ_Ij|70=li#E#eU$vw zenY-ddw(XjSmD{k;ehQg#g_!8X(`+P&78UH}4qYLhGegHcXT1kmPG)Uhb z!tney>c8MMDlQKKf3Il}lKUK9mrlUiC4RJO{X9DF^CdccLk?I+_JI7lL`d~*1eyLv zWcn*pFx=w+tz)yWa_BQzQ2m(%XIy9W9nXS_?+<2=d=30m$$^MjW#oWH8x4LcjJ3;J z&EnO!aUv(;n1Z|^D)zRY7AOd@e&&sEyKXDp_Shbz7xhz-dqK>zP3K6rp#hHjGzC{) zctp1iUV<1W8|+9zY7@1Rms$LeImlr+NusEqToTBw5QkCwdPvnjhQ*;3^pubiWV)AQ zwCi+u{<{TVuYjwlkqjPBBgnJ5vk>@ZF3Ej~@JsFv)3;VmXB_Or)0vh?hWq1;b0s)&;u@$7OF~O!TRy&YDQ}fGiEq%)A=013N#Qqn7>vjxHW&3#Xhag* zJtW!RFYn^%_u{CS`;<(+7=b5WS>Sc832?T27#>*YKwy~z4Diy-f_wAv@XZde(a)r} zL-)hvABRbq?+m=z9R-7<#o((}4hl!gAvx(qb-;<~B<;5mC(|p+mX~lSr^sTMeJ1W( zf1iGx91XEMh1i+@eFeF&mqftC4o(PeL^)X_bY1)icC8=7mPyC28a;ghXrRuYo-~iT zoNpszVvB)Tmw`ZI7xVt1Fq|6KLykwTgZY1Q$qa|L#JypNn{j3a|L2$wRf8|g=2a$4 z^3?>;d_7EG{Se_ln5?7?XPaPzIf-3&Q=v8PBbv&l3~KYH zJMQSApIkdiY>Xo%U!LLnm!W9#GXSOw_=CVZDJY&C2iHEQftyS)m{%FXe5Y2pzrhZA zS|5|%Z7aa~t`52S^fshc2f}LR8gV`*y=oD}Enq?kGU;wFzuUpfl?h6qCtnSYs z*7VA6;$V9b_b!~vk8L#OC-tntieF1n&Zraz*h&0kIe$E`<03pgsmr#n07*c$zs`nF zSyjlz81Sx-mHCnB4LI{MPl`v(F`%cB?CEUhKHJ?O)Au;Bsmv0VvrvJwt{nJQeHotc z#hA1I4_Hlo4kG!&=*$arLw<=xXJFU&lMsovW%y!fiEp*|-mmwnTGtUw+^YURX$G z-%drVEsL<`#YWt=HjPMb`2v65Jq8iMYoPFb7baRM@*BLx_$GsKxKoNF{uMLGmZxjL zO4ti5AGAS}t`U1D`5Sy17XyktPO!wWh%P=b9#(B$N!>JWlS4(xv|zt1+?E{T4o*2p zYyKEP>osdwQScGG_Dp5(|4o1vHG6OzctU**&7mnEklQF)M$BB>;cIjRtSJWclKhHO zpV^_LqX2tA@i>`ZJCp5LsS1fV2DomOFHE^{Iyj{+hq96=JTEB9FOievdt?~?{qzaY zdnXp3VK_|t`I|^edeJPuNjS}{9t#X*&}_CP-@G>#|88+$kE%{%WgZ*^Bf)6$I|Rvt zv!PHR>P+(M-QY~wMO+*t!>3)Ez>C%PK)8G`d+)(EHhoqN3@jQVkB%%P-@;~KMXxX% zEuQnQd$S}tQ5<{g^ig2xZ6X<#4yLPTkz0zPkVJJMe`Xli3HrhXqbP9rqlJrQ)%n2( zihNw7DZDzhw`R7!0RPEQ%ObfjA8Y2%Ci-cHBvs29gIsm0OH7cVLMLIM@hnU}(F^w6 z3!o<_z=B$W1;w?*wITzz`n{*s{V_Jwoj1pE> zRnlqMKOx~-0O?E$Cix})xO8DDQT1ws*X7IL{M&ILlPLmG`+m`?L(1sUe;ht6lZEEB zuZYc#eEhpD4jnV2P+9-gRa+Br8b7@N*2T_-+x`Xgf@T*9kS#>@lzOnAIEE#{PW;VK zYEijqDe4Ld@X;%G!`CTSV5-w560O$AJSdjHFs>0N-IeDrjfC+xghuJ{It%u}Wr7P5 zt?=#pP+GZXK1M8&;>pIjxW?xk#`o89Ne^cs_fnOga(^|D8A7bF`4e>g`yTxgIIQRw z;zP`ZFhu(fBe7^Td3+#5Tyzxc}G8dOBH7yZ|=uC;Xmkhp_YG{pocyyw!ycQ z{F*hssa#!i17r5I2;Vf?^T&6brREBA*eNmDxU5eTCy9JT?QJnwwq=N9RR5q^IbZN2 z69k%S7clAmeK37637q5)!S3{M?71n<245Y*k12_`BJ^yHUZ5mw-5Q3bueP#10)&HXItUl%-=W2=TKvwWEVn< zEgU4l{S#3;@h^3V(*(L1xaKZIB znW|O|*8(-EqGJ;H_Km~vkrcGO83eCFbYaEy5Kw&fob1|`0CGyP@U+?*X1U*n*gK7o z=g|+B1t!DGAx9#(+8>G!E`=-QuCT-^6*i>Lu*lAlLMi{FxGYN??dMOVzKsenQ@a66 z+Y7NqKLXbY*5c8t{e)Lq0j5RXIH~wGs_$0fO(s}laoA)C`8)>MrDAM~>{TjL-AjC8 zOGuE{TWVu7z9!3~pIo__h6d7^xcT8<8hKxr@tJXxOnvvUrr>ZeQCXQy-Q}cUx0fqA z{Var#-XbX|)nT7cdUuk!B05!fS%g=bG#xHwZjc+Fv&`9@ESXjLu;=WK)svQRw z_j`fAGY&i7IY8XAERYlwqY?4hnE1(n|0Udw7c)mJcHNqal5v+v%(wZ(^X4G=y)z7d zY3yKx3;vRmM{@wGvO(_hX6%a<#oeC}Cm$SOxE%)YU`r1S{rhtbO_SN~Q3m~P*{CX5GqG>Vc?4{dH+s;t-NK#KHoi&U2D0LwZD8440nuU{ht-UIM;siWaT1= z3{xa|;ftUwa5Fb^`CDSDfZR`^In+d~lUiOM<%X^rK$TN47%o==!vjI^GS|Q&Vl(%^)f4!1d+2Sk0;Ok3j2b7yclk}h6D2q34E<7Cq%Fv# zI0Lk&8RLg#W9Ywa4=(zB12PY1f$u^Wy0^uh?mICZ_ph1>bE_@!^POU}))3`AWoPpT zHZI|f`Xf`a8%v_i^+N0KKxM^JN89R6Uk>3^O1oIdDAqyez1U;gow*Z+6*C5edH=^D}1O8B**j)Tq^nCNx| z3g3!gkZ2P2hFanF$D-JL>^m|GTVVXIOWd)vj}{d+OX-LIf~o3UJ!YPn8-_mpMZo?o z+88~AJo~GVGW9VYv+SeXHyd(7RTf87qKVg~@fdL^ikM#K=$znm+`qgG?m{G+e#4hN z;NJwIjsjHs;J+-tpNU$qlZ4nL7B0u=$TVNxu3O?6EwG4?8zd0j)(K z9NJ8{8#8HXz&=hqaT#u~sHVB{rW`26L-pJSv~Z2YT%~dRojYxGQ#5AT5##V<7y32kp!?iP^742DJ>nls$L8EbftgwO{=+r2 zdvgK1{zPEH@&^nzJp}&zv4A8|ZMOAFBX~%~ldl^0xuov3(5^FzH*N^?vH^O$VZ${v z7;B}`yVAI(6LQd}IZ83-4DD9;V?Xt@FucGy7-bV^=qDFc+S-Z&uZ{SYxg}^{`59wA zMB|nML-uq1K~^C=irt#1%Bny92G=+K%Twnv98*7yn zw44>$n8>!bI+1fpHrQl52S>-6aLw9xD3q808Oh7pD`qOJcS|yCpFfLDA24HUqwH7> zT^lkS*kUnua5^q)w!^Cj7GuS$VLY{<3XseNaz7u7uu~`0u+CP=hhcYP4aRukeSSm8q8%=a5XfqDx`~lCqY-vdd%B&8IO`< zu;0iGo|yo9=I%K5)29Ex{$&W9wExE=d$rlni5isG6e4y{5=elyCoZ@W6P;;{&&QrfaDi&7LxpQQghrP+zzHciE)n#IwNezx~lSK)wIXLq{4C&M@ z!jF}a*tOl4geKIW&wwOv>zIh^9i%bXa}Ma~Nm6y41W0z+P6QK^iJ86|utgk^A197= z$4(KIFE5DPqCJEQa)APMTiQ03NCntza@)fYPCO5W^Q(RVti3?Ot>qx~=V|gfS{`}_ z3W>{+K>E98CU>$afMho?jL3&jB3*3C--}PgYdaNCBKiXQDk<|;F~elKcNr`xlEakB z4Os1x%4o(U;q>2qG)F5Gx3+x4iF2&^3wDLfq()7C&(ALm|3r{|^Jy<9I^7UErQVUD z>G|Z3$%?!;gg!z9Y&TD5Lq5WnY^pOV&i|OxkAem1u=b`2S*0jq5xlYhV)a*|ywnd{SH|rFzga6m?8Sfh zC}};`DK(&+jT{QRJ;b$d3jrb*L&q^8u$!Vx5Ukau-G+AL-3CpA7nT1kuWbX%S$T~j>{{4@ih4Fffi_aX=0++1~i<1oGPCX#{Bt~{H5b6ylGr3?LK}7!iW1|!ld^w zes2h@`RPi+W}ZW{j1v6I#4-IF>&cXTDR5$m5N_%^LoyAIkna!ch^pEp=0~XIsB?N6YbCvy z@Ue|dX;e80pMDm**WJMv+pPG{DV6`UUB&JRv!l~c=7UUYF?hiZqMlI+8oEcfz|(D;U>~mu`CAgcZMB z`FQR5J#2^(;|FC=qq{>d=}x?i>etso$*Lew%GHIN;>+P>=_tAXLImcS2BBN~20o1o z;IFtC@&mEMP|L@{mX(D-ZV9k!bqP4Qo#0xR=7Pk$EyQ)jQP`rC$Ox!wfuqkxbncta zpB(8T%T{lKV?y7FL%AoE&VEA8e?KI{GL`g7h9J21r$F)5R;*ey3F1fWYJT15qiZ@^ z$h8k@`0+*!d^eGU(+z7vqE@nqA?}6pNI>?H+xi~yo z9h_QaSla{lp>mcud+Lrn8@1^rbltyJv*Ms4D}QDqE46(Sd)HKmJvzym{B8|{C$euy zMqDUdIG+fO?(maN#(c)0$(1VawpqCccAf}21uv`^$A;pQnwu99Vs1$~5=in(lA z&lWZ}B9*zpgda$HY_{>Hn}T6Xv;lN9NJE@W$%!H zF?}4E_6@8m#aY$wwJ^u00}8ytLGHg?aB2Q`XH5&(t}I?N_0eQj&Y_vg=-ww;Bb&gl zZxk}$7(>-z8E9$~1ZTN^(jCphIqfp$*OLSoZIFP;52w|9{8&YXpUQ!UUJ6+dr%Ojn zs_F2V3}(`X@ep-*7WioHhP1#!5b~>IIt|_M=-e}Kob>_!sxlJe(m@St(}>Ofgg(t%M{(F+P!H{M9>V&=5wLiY6H~S1Ap9IJK<3}`KtJtC zyw+1C)^cAK%u`6ge&?-N{#by2>mtc(Djh^I;|zM)Bo^Kzn!w~+CrQfkQ2g{8VdrUS zjG7qC@9f#n?>f7hKN>Qd*WMn1b4>HNOKt`*@*|L#NVTKKtSq|bdOqYSJ|Zq|2ly20 zRQ|i&V*b`^3Et&Z7AaD^%cZ@UMIP*v=08Na^0F3%q_^3U{jHx#9_Z!ai%>&;SH}V@ zJZXZ=I8SQxM+IE<450jDEcd0~53d?O0Q)$7R@p!aLr-g9^Y>T~>C+{FF0x>^B^3mB zJ||%&rzksTl;oyF!J$x14BnT9+4X0ztuhn#X{EtN$&+N(M+*q*+7CIy(}4SburX9ag~{NXgTy8d`5A}bMIwe17{y+z;{ZvjhJ7{h}bt3bse3pUEGfW%Fi^yb(gNqpi;p8mQA z>G`E_QL&g=tWyDc2ZYgBJPQBT43f<`7s%uDw_);6D_$}76GnFAVBCB$92i26!uz{k&pFFfT4YiU0f3A3H|Eu&=3; zJQ<83ON%t2_Iwzu^gDrPv$tZtek$JXzsSp7&E?fjd_<|f9k{=E3AV!kE$Z0~o;!u; zk&QeV*CqvXzFdIAnUB!(#AN=|^woThYa%K>I}W)oDu~MEYUr9W4}MwR!&cpJOu5yG zLc)=t#YI!!&7Ih^_Z^)dr9+igtq12L*$^Fm2TJs`fxVrIU55*?$~Y6Nx<%ON?0#r$ z;K5UW27A*Wg&r{z1W(f+^!$Op#NBS{zy8SL?KBDe(EO8ZjMZR6XNkjs}=aR3Tu zouh(%f>60|Ik7A_4kcmliC5ohaN1P@1I!|Jec>Cjq&N-qCJ4hja+n;N=t1bldg!8O zNU^dMJ#=0fMzp0^N7JV;)IN@_P|SegX^N;EC5|?~Z0RAv)zI$;a7}yyWJk9#e`L+7}M@=)MhNkqNeON*=?->YEAZlU(u25s)aV} zgGUzNV{8DC-QOV5vy>)W+K)1S^>|O8b-b8m6gJOqWM0>JfZzA6>{TaI_Ox&+J9D8N zyF%hT1lv3V`G60!^-w2n%hTrPwHTrE%5YpZ)Qzz-mDr367uY`&tJo#M;_U76I2rMp^DpqWSbWf*)uD_jOjol;{nXtx|r=w@?e=@O}6)P7!mqeL@yYL;*$SST;6d# ze_tGL(cYR8MI}m$#^;{5NTf)#WJQ^!kPwlE_Rx-src$DzRG-g1ZzYs`wUv>PY$An1 z5v@O@LI48 z*3CFck2E|X$L@P^0?2*T8lu$J?-%Y>h$c=4N8#O9ekfV6fTOCNf~8jKw1wE>`XiQ5 zb>$^z{TUJJUqw)Fvn|e5E1{Lk6G{0)E=FB4f*Cn4=+_=AAWfD~q^%4$%QjHSP)%O6 zRTXGXGsj9JDR!5z5L^9h2?hzt(7tm*9PJ4++#h5Mi~oDiyRR*X4_lT(6CW3PmdXI_ zT8_Ui_Yl6G7!v*|0r%>Qu=$mOY`mQtzCcmPHJ?LBw=YMeX*#?dGT;m%O z*C74&Thy@nfoD(m;8;Woad^>fu{b;eCSU5om0NPmS+@Y7?(gy0v^TU(_YySuf5GDt zD)?Sqk9^+OM{azU1=Y-VmcnE08{t2PVwmOknw*y52gxnYpcg$C zyR;&4&CL;N4d-!{L=^AE;Wh9lD<1j0Z1MJF7dbE8XCYTAM9!=!ASb8Xqj!DVIacou z@V2ZN=Dc49B_;YnoM`$`GuG~gD@_|PBI8%!-L9h?w2go@9tVJDYci$xLyLS_l zo*oqZx*0G3vV>>9D>&1xhk|78INUVPh0=H#s0|9I8H-w|$gf6(G1>Qz`QcNH&8 z;nAn}p3u~CZ46p!40``HL)V)Dnr)bjuDh17QCenfX!RHR%IrJ5Eh+__>(x+r^()Mn z+ww1aY=UFSPk^^X8eWgOBmb-x%#(DiyH75WYV6uyh z80R}44BIQgOotMDoEeF^ew3q4a^ncr=f!AJZTglx?M-|H1Has35- zeYcepR4>B}M2~~byF56%5`9_$yH>(b-*XGC?I&=<%s{+59E1NjrpsGnKxfuLSRLzY5n_@ASIeW|c#IY# zTX_R~TTVRm(>URQ_vuiq4nk2s>U$?+l9?6cT_wQ3X)dff9}CwU#yExtP7|5XbG*)j zjkM-@EtS(@IZ~A>Xmflv8un*W=H713#+7I3L5naFD6xk4jPPjKSPI>=QJDz3e8RNw zO!W53#e3F+wD90Eke%8N-HR$()GY>}Z4RRigB*$U7CA`aW84S@RD78G+7 zX6sxRVV&S!PD9FnnCAMO+GZwT0>2-;4&y_e6KkM`rSUgUDi+lFzvV-NH zv9@j#Pqrcg(q6K}+4dj9L*ckzM4wsL^bj^Y;nIR#im=a1k16g?17Dd3u)1Oem?~T( zHs=S(9$zOKcX|+$Zcn8*-J;R^@EKTbU;+DWG=RUb0dnJN;8w#nFbxvK>y_n>|1pVg(frT05dllgC zOn*H6QJ>mW&qp$Sz{ zyT#;7M+Hp|OTqY$>q&;D7PLmyz{fwQur7Kno_pR%+4rSnM?H(Ge_!*YHJ74BgaBrS z4AQ=|a@xaF#a)7%s9<9mstV*0A!|<2HKC;l$w+yY~(n!yIks_76;}aYym6g$n$dtXL}_yLkK@s;th(b1w=}E=`CjP8tKv3X;?f17-tG6X*t zg~Pfb5$4$Ub2zc`5eBEdfUS@9IScASpyI^}x?TMNiF+o`ZH=0V7OoG$?j+#I!5ehP z)oFOy^#UAEtpvs;5#BpoB^SNc&}H=xIluGFXj+FVh9+Kteus8yE_wq6?~UURp;IVu ztQt>lPvvRfZ{=+A`OX>Vy{8Jft7(>J7kx9P3Cm)B(y{zHj!>NhT60Cg-TN0=eeOD4 zQYwZ@%8xiACvTJDjBpe>kjzmIT48=-Zyz3c#Kpa$UvbMwFYRg1gX5kd)bnx_`q+hH zuZAHGKeEEauW>{vUIf2&HuK^lLwNkRW8f$eM!EA9SnS@4f7JexJE8N?W&dxo(}N2) z7gvMNg&Ja|d=Yn@kU`Jokq-jU)qspHg@&fh1Xi%7dKoNMaF~dVKMYwiB zD$m048)i6+fFvi5SrTHxsEtkmM+GBTeeS?N&aaa*j=4aNpW<|i)Z=&8bX;!IhkkeS zVfq7cX0zC3xL`F7GUuh?Nvj5C)Ww0Ft`rjzT!0EKVr=DtG+5a)48G|i%!fUa%!0^j zSiVVs{+WFQV}54xmc>Xz^Y2e&$#@l+rImy&5BupT-m#dr%!K)S3dv7txAB2l0 zi}AJBf7D)G4`jTT^88(+sr(6xy2Jhw%$gTnbjH+GWaVovw4L;&trp=tllgzJwAqXM zSn@P^uUJf@Lhg{;X>yEOiY6oZ`w>(bKg6Mq<(MJ<&*fLG$Pg3`BgCeGJKH2M#eJ=^sFI9kyl?gCy>>%{FJ|`E>e1@?{DfI9OE><3%jk~_c zQnft@j~80PDX}IJHIPJ_)8ipv?*w%O@R90Iz;+qb>EbsC;QD2%dNdGld11 zu6iTJ$t?jszZxLPCNkO!r1@4d2{M`R z{liUOj%+Pwee`YY@ehEMlA9=*D37hqA~;#J9wut1GcEj!m=99kVBz_gJm&AFYPm7= zxR(fCf4>Vh3nxQ*_TWDr9LSJ<4f?*zqm@=8MECa~8SuA+Ma_!jTJbrO7kV3vf`j1t z(k!?ab^-3a%SE?xVEaFepslDZTO;H~(kHS=%lAaO_T+YAbG?`DsSrJde-P=j*cVpPqSPP1|d2s1cDNk?F zEO4^SCi3kQynEWwoCfcGnCTjYg;foB?U^=)pXo#AmGWpRCc^r*_fq|9abUbAi)>rw z4eJMH6TbHME>QT- z6J?>3$d9apN5^NwUQam^BBw)6+TQ@@zxg1%!32)2nhmi7`e3i&`0wshPVCsjIz!)` zP^CLTdyYiI;jl&U+mY3pvM>Xjsu){3iT| z=YL=+{s{2~*Qc_uCAa`of0)vsKwY9SIg4|4_epY=|0>n6KS3MI&p=s|8$|uQ1Lo^P z;p`0s{Gk{Fo4gs~>Z$|l)u%$lqHDZq#qy-)=Qk+na)qix49u)EWOO~RfmCe{Y7}SC z16EqFEAtm8|E3GcyDP{{Mz@hCU32jF>M_DqI0ZQ>#!R+-7}R|Bpf(A+u=<(+HuilF#V^eGuX{iiU00!dmVX8HskJboCj$Me-Dzs^S$y;%8Vet5LfRr1Q1l;z zWrC?-b6^sjnp?<>k#?B#(F=qHg;*);bDV{v&++ZII1mc^NGy~8z|Ny9U`?zbhUrDZ z%>4>*+v+|k-@+yT`EJ2;Po3#oQ3ZPRvj>R%^nlt6Wk8D6xz(GiA;?LX$+F!*thH(} zr(l?z^b}(^&&q~xrb6&ml>zS?{-8RULyA_HLAp;fkxwp0-a$K*GWmgfQ!bPLB4yyD z=rN$C^T7ReDvSr5An%fMAbltTN{oW>=Dvfxbw>`N=5`~VfZ#4z9l}78R0^5f>j6ny zufX@B2AUF3MO`jLas=I1L8F-!c|YDrY3MC9E0TfD^GdLI*9W4y#0+2L2t)DoOFSlF zJ;uw{yT>`{3zTc)nyMZx&x2iMz3z;~>6^SL@J+ap4$W)Z=*B6_e_`%h>2`&+ffmN>7$GTHH%agK3NJ zqq^Z1oUPJkvDW1s%*dY!KPOHR#$^Mle=0&ZwJEG$;~biG;WgDW-h)TmD|mtby#j|{ z!pxtG)8OsH>FkyE5sTY~Ml|I_Gd5brqSSB*jyyELSm#^^Tg}$KEj!Le}(>pYC z(?zuI-G{27PN*tA4+jkjdCm4Bu)8)2_>#h4jnXrie)9p54XmMmM^kV~bR)HIeo{Xx zRTCcT8j#=0(r{y}4m67H5v`$6cwO^~m-JScQ_=L1?AjSikIQ-y#eyN8bNUR_R+$U4 zre{K8unk)^ON2DhemRb-~GH3eX*Tkgejc`G?k8c>HF?*X|H76pr@*ps z4NSXn2{y5*D>2UqM^ygfcAK51n_M=+sopOZrf#~-llMAIZlV-3>a+*# zK1rgn;x^V=n8UsZwnmw59k9E+8O(k8QGUTzD2z2@8l?_1Hn%Jp`%x(nemIZ*d}hq9 zDiUM2du}Cq8@oXwLIvtKNWj;J;;`5kVR}zL=^P9uttVb!&|@8ZxG@qVr#XQ8-*+%S zY#LLqc@*9*k^z;9AaZx*C1Pyi3(F+JA=1PL>&>sx74<8?_OuA~Tr)wmrzJw4T`81# z1(11)bZ(!PhEN*EY`(&6WDJb4K$a25^)s+Ed2FdW`rV8u}ks~uY_Q0##RWR=O zjpx2v2YeP4fkwnjBICFg($^DM^5!gPnw^v~aMjuu zAo3{_%1tkVXQ~Kuc<3A|lTILtaWE*Q${yHmi#sM(u)2!EEOoj@4mjz-O}A1wBsU5( zD<6>K%~LSPV*p~`ZKC^XXR-!2<=6^&0ru9Kr=+L11xhaLhv}SJX!}tEX3nuFrqe(Q zx63h9ww}{oJ(Ha~eh=HHO<_M(n=u=U6&YLSUKr8M28CC4a9AsbSVYR=p>J<^rUC=R zYW79^dNPA(rmrTB(+QabEHU@=7t*~)o8d)+CN?GfvY@UuLzBu2&;}iW2+S?97Ikys~ zHMfFiNfIFU1H}BeM}#vU(J606HXTXW1WkHY;1Q=$CaZDMMEkNo+dhl*)_&|gu-eb&T>AyyabNdTSJofdJh>3x(&+S?Xag>o89;10)7ZNix$yg^vByuJld_v zK5Hz;v~yah<@buWXK*I{@-Y^U$u|RSxqvff)u7JJx7eRLl?|I%i6pKZuEyO1*TJ1M zs`@Y~NH>L&z^SZm!vqF2C!wh3Zp<=zOy}S8rSpy-hK8T=jQ?>%NY$t!t6P`C4E=2C zqGS2bFN4_)y5Vdmp21`Lo&r@)=9x8JfLgc;KfI>kX~#q?yCaH=bp+WqkYX#UIjs45 zCyS$NBjH_vF8p*^4&EP##UZ|9yt2jf@qk7jS|-}y>f&T0`=({&i^x|UBTEk2QRS6yK%^BQz`KVaF#_oU%u7{*-6LCI`s zC~aybpFcU^YYlZ`mM@Jf9@fLdkr)`Wq4e0124FyifZFDc!;))i0!_CV?*qzz0sBlF- z_-=^@kLRnHwKLW-Z)crm_L|DTfi!;JX{*Q7!7Y(SPN~9^A7t3wDirIdCG(`*D)9DP zX*e(C%1qgz%RKMkXa3GyKy0R@kYh=sL@Q(pZzBIJ%(aWdi*NdI$*cPqxlRZ+e`tp; zgK*}S(q0%VPJ}2gb697&9MVUk@YaK!;FdQGr|)<&=cBAa&2beTRNVrL$U=@y{7uwO zYQl?lfGgF{aGEZJB9pJp_*;cAH#dbdS)*fcbM^(yDT#;lmGUfG{t1tq(S*+}TG&@L z7bdhx<5b&%c2;woW1_HyAScAxMBFV?Ayjy1j@iR&Yw|MnEPRWBX0=+9Vr}aIFFj(&W6b9alF`I(& zKz9Fqm>4jI?b=bWubBs1kEeimWEpwytOy7HtbxYcip(o5KG=GB3DAIg5PtO;&bx-d zrDy-n?PB2i{%hn#-)-tQIEW&3y=W(W5T6`e#9sE*U~}%9a#UW6GqVw9KdHjT4Q%3^S+fle>@^|A^4o}UY6!f4G!Me} zf5f^yig3*LJw)EuW36u4vh=ALdc5<7y6n#&(QqEp*>2FUP$DJ4nyj&-FFVo|4FYP7 zJkPP&sN-(}3nnHZ^W-^yl3l#|lK>Y$^&1|?ip z!TgMS7QdaFV3PiT^2*sv^&c6CR?NW*pN-h(?#1XZK8=Y?5Mmz9G9){uSfb^}lQ_2Z z4q>EvdFq$5!6?liJn;v8*qKT!+L2%Uh`BXJiz zJVP^$`AO!-Q|R$0mhSX;fKLtMaM=z8qG^?a-xe>VowlABe{>FGEq0U{T``S8pJbR4 zsRI4o%dl;?8#sPR#=hA>IJ>hPcWn2_Aw39idPtvU#-WmFEIz4Dz&y?u9yz1J{!o--+?Ulc_PkW)&dpWKfaC;3-|vGj zacl8hUlw|0PtfHdBJB3Ye%k3^0T&XVfYMzPMnU8PQ@mA@smyS&D4LprH3AvD39W22@oXSeni?e3DNgDt0FX`F%m;2ac z8IyN<4-?y|!w9`S4|_^#AXbcF$p zSKwl*Y@yk|l~^>j(d#?>!7%W#paQ*hz#MM;tw7yU zH+YkC!#vpbGr4Uk2;nuJ)J(gJcI^$o+@x7VvvVGfcAVgir5u5!Z`R>zi>o*$r-%=_ zo><6wBe5mkaMC@Sytz0XJjHjz@%v&RKdMZgNNoY@fMlMQaRwn%s(B_=agZw#MO;_P zkok)ZAR&;S@omvy8s_N1inVUoYaRm3&rh7!zsI1I{s*N;evuFCD4C;BiDJuFqGh2j z9D7uchJjB|Ezg=QKQF-wJ^qaOv))j*z)VP!Uq`2obWp9;hamN?8>+7Fp`9A(@MB9m zew-5nS&ky?aMT&r^LG!PykgH=WzmGG8@aqdDIYl6^pP$~$wJXrW_Y>HoMo%WK=WM~ zO($M#ea~vDJG>pkx2-^}Mr~N$xt{EM_L#gGN}ze78Z4g6cT_hiMdC1G8YB2#Dm9oMU$gjkXLbh<+TXZMc; zh&>brCks@tnpcKD*Stqj&qJ*L)En57JB_JUJ_rJr3V9zS>~R0_Vw4ZBB;(ulNR~N7C49FtoggBN@?1Yy%RAQ^aLD`GzIVZw%-c zJ%8{oXoMX9GFZDendFr&qiv!3Bv4nB8U%?WovFr+iWbEvPWbZ%@g0+vo6KWe2JI z=Xg&p9H6^W%jlZ8clhVWe0JT3V${oB$!TaBr>-A+phKgdx5e8G4soj?RI3_pEs=q? z=^BiDOAdIvOvK?KS9~BD4(?xrpEgB{_P!bnp}nDSzAc|Ko)0ppfeS?qzMrT&w+nK z6&$v)B$93~$)}1Ck{PK?1;4KZ{i?IDW;203r=rmNr3-P$FvMpsDm@8u+HCgT~}^*w1m}F4~a}KAnY7)^7p_@??m` z4I8X)drSIWNr1>Xc^vs-N=JrVU@%;fuyr%&7WLJTw5f$-XW#`Ag$Ra2%W<#i#MJ^u}S+L{P^Rkh)Hb}*&~M51WUR{TBb zi~p@jg(2r^=unH{98!%ZC;fIZzltrHK<-ASU-O@5g@$l!e@<{jmDcmJn$DoavF7?W zF_}D(f)~WT<0Ci*mXOQiXW^pFza8{$0Cq-2@~Bf4X`ko@%{mXf|1}YYZHmb1-)G_T z3N^U1WtjX@lVy~**fZ1gBbal;Qq0^O3rM2sjKb?&c-$^Z985Bx&&_}_3Qyw7NC`0J zA*HZxjvVuJjV#mZs?5yul>s?}e)4n995nvJk8`@-a_h~cnI{{hnA9Qz=7yv&litw? z&b{F<@0$;OcKkADX)~clb{+W0UI5(gw17!cBe3nV@cBpu6!_>fR=INQnU$;9D_W27 zV3#3+{62iOV5Y@}?3*CJ=sQR)_2l;dHi0!~8=hOX)OiGp9Rllj?Ect>Roo=$v7 zEN-p?Glyj`!#fEimrWAcpdeUL7LFUPhGAoyCfb+|l702ryvmc(Xpm+Nmvi(WT0tG6 zjvA4O+62(_8Km1c)>E~JmAF?ekJh&ZL;23{aET`akqsYV&*PoYXD<$cYwy#wREhKA zZv)Npi>IO^d{8a65EnY%Anm`Rc`89`aI5}xUT?S*=c%I_R`C|$(ZNeZ?L-BgFYb;J zS{Lc=9dR_qc7opLwts7 z!M&{0@kR`^QUNKKMRe7}aw6k?kQ{h#OVq_Uu*q(tuHtVqc z7MkpH|7m#d$p&;grH+?Pep9{mPT&AQK)=7aB>+-i{hMQstuW7YHgn1FCCm`nN$izx zcx^JK&wq$YV);1z=)cU` z`3t>GHdF3?8C3H*Pok#y($_6|nA^7s47}Chu!<~dtlEL8)0g7FodNo23lgVSGOXbF zE*iLLlpL`=LHhG9&=`umsC_~({pt>ozVeII4SgqfMYAZMJtZn}94IT=1aYZiu+-L= zv%>l;8EW^UcxM6n{#uC<s? zTg?9Fmx=pQUrzZ#_~?34sCb1)lwRf-8$9N9 z`BZ?0q6`F|ox?mSS-_N@HDYR#wV431S2Xz0ML6o}3L-C0@T}h1!C1r>Fs^9l9CN&n zF=DgXPj+&kpsm0#R|=qgbTi~O%5f$nBjN4lGo&Cv0F2EehX~Yc3OqQ z-edID3mdw_FP$tC?W3!ohN7NSB6jBnpzD=L-jNka7E)(EL+M6kCjIdm!Wwd6eDD>S zaORSpxKr3+Hi6DIC6qI0g|1uN!8THu=}i=4GJ{i?t!)i(yr>!;zUc=3Bhx@E(uI2L zYQy6?g5bAM9+>?qu(QRHIr80?*|Yy7Bku~#&XopmCj1_hPWBL39z{JC$CGqz0_I=h zA?QRs>a<1z6qJ$~`+7L%i-u^)`#$1v)CG&`g24GWl8QqTV56D@znT-Fa>5jz{mcH9 z?hSa$$BS)R=fUpl8KdZ+4m-kJQo4yC*W6P=R`J|=n zw9m8I%SuU{y`P^zy7x{Z&$Wgvi7t#f&cqx84*&>NH7RZ39{8_?>R@b0>KQJK&dq8lH8w$9~hF zRPdMyT2;rQw!9>4bJ)ilxv2{dspUkhWE!@397KhA6b0^B;l&^SvL&AYbKzSQG5@HD zPQ6v6*tZ_;ZRxjI8nqSu%8W2iu>||n5^#Y&!GIhya;RMsQ@w0KvrU>AKYW`coT#EL zS3Xm}<{#$0$1`bxYXKd&ZvaDsEatilk}En<^qzGYw!e_z4OH)<@fkJLO)V5YS?O~O zC*@(P*GKS~<%myeEy#`|-{?tpA+|kxhyA-Mu-(KGYxSyV_}Tg7#+(x%z?(y|^0vUQ z>|xG|$Z24-T7vodw~5>INuJ%OaS>BooN)5=OABt+AaCu51@P)|CRC`1F~%ZgP{Hyu zEe*c3{`(L$`jAB?mtMp(>#WJnDIuWRahGhJ2m)2>M=-9w5w2WF;e~$xL}nENf46%MIf3n(t*Y=r~To4n{&osxGW}-%JAdg5dU+2SogdElAnTM2RzPDBk2j13x7Y z>+VL2Dbs$?g z+IU^iTXvmF9^VKZoMa28{RUaueHu1zs-yl}Ey=eSOY+oWgr{5d2(YIFQicVYC7%Br zsLhfUW%jZs*u`w}h!HC)?u#oAlyUsd3j@2y1fKmRu+bz7mM`IhO+t!T<0{FDY?Ndb z#SPfCJqGNnxaXK+V+AjlDHHVv-9&Mp6!^_p2FDlYz=20o7>5i7e+^7wS6|)8+MJus z4t5lvtif^o2@AkeH=4|T{0x`x7boAH7Lp;QE1)nIiRAePR(?G{21u=H(0XbqEcH7=+oWk>mzfBh)Jg^H+$R(0{+lpyN zMm*hiq!zcoGh)BCszY(YByN0l9)GpN0X3xL4JPTo_I88~dPpPNqpaI@DY@hZ{^AZF(%+29gDw$G}hc|zIfGbov^ z&1C|}6}W)kyPMGdhA6yt)u)Tb6{yzuO|s7Y5_I%6B7D+h`}uC+$kBH4@OvqWggzyL zB5Cy3IvLcKUB+2-u!d}2^9l~%n1`Q#-^SPd^|)UmosO#WF;=7P-<|poZr^BWy|HPTm_rd+uB1Tlt171HmjZY5@vYJGz+RSU55K3w;>%qC!Z_yMk8h8^GG8k&b2D<&G>|30=ttLEpI!w%;;k8lnss z`4fsGCS6XIKn}-5ppW)7CBpcRCq({^Fjd^LhtAgZ=X(4~z)q>p zq}S#*`E|;Z=U;V~936T^@@o%3{L&z3I`S6&sO7?3w`uU+y_u7Fg@Jvc7BJ_c1MKPn zNE{Z0oQ})fT<3FeVL~2q@};4C(N)kko5oP9sjyV}1vLm)WfT2MEYz|@*j}lAJg`Fv zWG&y*0#Muvg>tP{x3va{xaBN7~hwTd)NZuX;@q%yu{c$&}z267- zTIaH{2j{@nN;h;<8NdNi3ue+PkVvnS!&n_-c+i&&E^f_`n&AzdLiMDw!x?5CmqC%n zQv5I|#;(6ziSie6pj~bQd@40#c1CUF=q@}9mDh4%#b3$#%NA3ardc_R&o^5*SyzVV zzkekGT_PANY)kGO*a{Kjc!Nb z^3xFL=7Yv<*WfM+G3jh1)QOx1?jI>!pWXsCC-Ny(9HJ&lx@>|>Gr8p|!_dW-VO6Cd z)AQ;%bgoAz(M6nswwUiZg;DSKV#E%GQ}HoPw);U0U7y_v*R=SV_$AYrZ+o<1lCusD z<7xQoXvjR>_Y6E<_5t6Et&GiFN#@9(UnE8CGJLsR2pe)*VRm;3eEd`lMNfqw+|U^3 zcv8@|!ij}>6Ccs}g6;DV^y035V2gas8&Q2AmZ+)%Fu&d_lPR#*tl3;iKs#$8Yh zlm~;oMW8yv3eFs!PiSH$OARY@sn&}YbrND5190kS3Au7G|BAq=t z3pSp(3qK`N;FI|dh*y#Wmq#|Z#`*}a)*~3i=5L3c3SpRg%88Y{Rf7SwzO01nb1b-= z0b+(7Jo#&e;3qqmobU02M58@$_`w~{Z;@(jUO0oDj9$R{M~AV$xp&x5wJKCwmqPvc zMTmsyNlwGQN^s&9LpO7W+{$yqf}E8W8$7>K(eWtue9d;&!(5JCQk;$kBNOCo;ct3T z@El3`*o|GQl~``ZLN;@|1)HdB%z|JNqNW4K+_)IHHGfE6PXN$WrQmM<1Eu+mvGo@p zyUSLB^)QgejBlsWu|x_?X6P_8Z+wOHTQ1-uvkX2htAc|Ddf1?p#V*JwV67TwvGFPu zIIhB>=x4{t7>mHadAD)7*HTd0x*l4VSK`YfS5QzlfnDoznmtwJ#%kXwC7IH_&~Uo~ zlNLwgwJAJ&F((e63T=gmuanfVsu&LDq(E3?B>eF7Au0it%HwbjdC6(j8IKw3lqAM!k;Mz|#Df==O={=_0pahJ{EXBiN8RW6v zD>$Rw4tDcWL7`EW5uOzWzAqb~>p&_ec(fkFnIH^bz|Wf4#bWQa)6}O?fU(iHWHd*$ znB7xnGKDHnAStB;22u{Ecl$GV*v}63X$}+18QCD{|BVcu z6G4Yt3(&Ymgy~ec0x|0xIO(Ow@U1t4ep{O$ea|5DcUi+{vsQ4~smJVjF3bo!@G~xc zQ<-kg$r;QsxiV&evrL4 z6uZN(LSAJXWRx#~d;SY}Gux+O)QTt&d{qYWpHvvX+(|gCx{C8hN)!vO$IvBKMez8f z1{@7Fg=4ec(ATHlk$Gy%A-&6u3~UIZVzX^A{!B1|$_lbz$zl4OUj!^nn|Qx2t)rH= z#i{2FWu9h6QGM_`Q(DgvV%PWhQI`&Rm@~E?rGqQMx8g2ur|d0W>(gg+$!P}^pE;dA z%`bq~PZuE6qL4FK6oRtu&p4CjQ`n@&NYb@m31z2TLy^G=&Z>XBxXnF^+<*~SD4qct zU-_X!z!N?0xnNmfK1^3%gFolZA;EivamAn}G7V`|-!7Mgn5DvlnOtZMIDs)uw(xYa z7FHCTCiZ3VP%`%v4f#ZpYX-hBvQa9&P1C; z!^verAUd3kN^N@h^*|Pu-$=)IAL60tx+Ei`D^5KAGsout{*Wijmy@H9WH9|iC|DIo zW9xW7uYb%K>zgC-@|IZAUi^#xSaO9bI6MV&t#>p{-vYPXzKMoDqICJ&R_c3uE-Vws zC*!GHs7SsI`|n7zzb-1EqMthR_H!i~U+>1xF^cGY-V4hFxODfY91!hS<)yiQ!2^%o z=~q35&Obel2Nkv0N9WQoZk-e^bv{kwZ7VH4Ez-o2(LH4K3wylJIO5LMSS zH$Ie8!odrV@I>AWR^QZ-b{^n>nARccJ8+(i-7h6=TMxs;%HN#sV{xdIugJd2G-h{A zmtyC5Wn;6`Zmc&DM(vCajb-R~`QI$6I?CmjXB(@t3LMiS%1h_MESN&yySehXt zMipKOlHS?g^wa?zyd`u2)0ghz)!6Y7RrN#oqwNvyyFEmtOKQng&jBdow*^^6O*qxS zps=VEJ|8)Ynf0ZdDyfC=^hp!MbbqE18hq@^JyUQ_$zEJ8=Ya|8Nzk*pla6ePK>cl% zSk^4h7Pan$tx|2orhX#`wIza4$XxV|JqpcULNMRjoAXH181C)R#~PLC5M!J~S}KG| z_&XQu>U~QxWP0GO(O#x-{1g+=CBs}%x(JOGTIBE{MEePAYNYB8d-)Bqc-ahAX@dyc zq*Fp=kBBlA(%YC5ElU~8e0?VM=R-RF@IF0t){h*s|BrX9rjS^MOhdV+8(5XAM(ock zT=4EyVjB1x!O6@PLY6JXH@y^_cI4t~r$qE=KS2Dq-KJuh#c2NO89wDZNTga-m<<^< zcqgG8Me{Y;U%WY(XE}z)?yZKj`~f%`9}jznO)#z7A9v4?LPeie!p$^;4`Vy9ZIdc0 zJZ;BK`7Jmt^$gBS6l26nPQ$#`G91v%zbt@rgJQ+{FFr zbDSr_O0vyi9k@dN4R$xm<2OCP6A$XVJsGtgPocxba{)~Y zxN`I{4U8ps_QG(;&%CDKruzm|4Vc1Flb zlugOZhgRS{~0|aK`I8pYwT(bGWJ}gAu$8C@@7AeXxwmAKQvY z-y75PQ1xST* zM5z4;({*Ya$~+EX=A2MrBX5eZj^DlL=adfIykixMP94y8%Ypv*e3qM=5WyYH`idKD z=Hr~_`C!TYhTGZuVe(uN+~ZXV8<)%miS%<&`%sD7T(y?Fdftr7E^|Z~M|->l zhw)t(f#Wqh;j5_u`!Umm84@$$R*fWcR~Kk<|Gr;BIYm1#-BN;wxhncEYup1N(^xzA z;BgNvV6{dTl3%-f=~%ipHXVzA?p-V!KA;4KGv=fBI}_N_TnZYAH{rh<=OAxSBV@9D z=(F<+^FXj=e9^C-RDEsyK8W6{gB6q8IA@{i2V$Km@w(7RO&Weu+2 zfcbSyc`b&Xm1pRQSt>NypcA(g3v$DyJ}7T>34A7Gz%~7;AbBAWQWKYA+4y_QR{n(I zkw@sur&08nYYDOC3&U9tA9E+S98z<~4E*MnK%1!&yb^DvvVY~Fa&{us=z2=~dvwst zLjyU`2M3=3-qb@i{MTZ~QFK={J!Sa_4TY_+*FF$$O%S3Bs+XaiObGwCwH1|`oPuHd zqENnKK6fD`3H`H0Iq&(18rN!}>~0Rpd*=r=3L@C`l}EYN9!M4}K?6l!=8R4#6?kYx z#@a2p@0xK~+Vd7Zd7Xw^X~iHV&B6OfW&ZlUUCfV|12}uVG>N>a&5Si`a31=`c%kVh zz3+a36#KN&;w)9D-0Mt;gCP`s48zjr!enW!A!~3p8C9#p@a<_&_ILX$Z1%RRQp+y#Vb`RO5ZA0Gt-TkLi8v4ntGc zfn-qt*km2R($Lj7rYDVhYwBUO|8kgCK8LZ7FhJitQ)b`JCYoOCgcY=ge=r~x7Hyft z_Ma7CYmbbBuo9k$ZG()_Vw%C{;J^C4cwpT# zOshPDCJ`Jw{yvY@Rh)(E4fU{AI)n~ZJ>fqX4ZsW2w_^G1+oX291HHO;7@Y6OvGUA* z2o~vPmJWF0XjTY)vfhF3>W~Q4vLSFnOn{x@kpauj6X@Qp3c4DDWbTIz^mc3LwmyLJuMOtmDryYk`MsZBUKbO9w-OyKyoI^3oUxAFJBEJWj-`0;Nz zW9*U$LVtol{e?4ZOWlJ%p0|-|fxWQg1)!S79sIITlv9XR;f$7uv%D*r^tDA2yxg}G z-c>JwQ%g5M4T`bDABLbjnZnzY1)5t0>EJS`R^A4dAcEM4D}PA1X^T;C<5K$|B8RlD~5^1a(l0(|=RI zZ@8NVF;`(^tvJd1Cje6ox6)7#ces(?1_=or5NxM_kFK}C(K|`3zV#gtG*)Fz*1iTE zlL55$`$TNCeo=*AeqgXB5kB6ap!9YXmL{)4MKw$1*j)j3tWaJZ?W#ybi0i_dG$R}(TQOj!18tlgN)F##3{6iH z@OthelJUZj?cF$;b@*(BI)Yj})7zlzqai?1EtJ0f2eVIn z1|@-I_$)@63pZN9Wu#eihvm!o!Hdp=$>0Sj+>=ZW9*IT=18Iz3B*MNav}M0t^TFuO z+vuG+hTZmjIRESkaNpaY*ya#C{BJkx`Z=968;?;7^LKRF%7Y*ivkx4eDxmhtA^5t! z7|#CN#=F_x1ljv8!F?rpwtPeZ-d`WG=r4#yarc{OlJpWE9hl4Bw(^JK@<6sMUyr@t zW5|Z(E(Y}yMRrP{I(r~0mMTOqqn&fs!VTdTynG=KU*8C#7wh7oQ#v1JA4sLMyg$>H zOYx9gIgw3C8F%TKVGNAP#shbr;Ffz6xzRC(>$;*vhu*1?yVjHFsq<&amleBV(!_33 zC;O0ef3^bOuOp1ws}rP5D3ia%dI^kpX+xaVWw`Ej2r8maLw#8``B3qXB%hTeC#3&_ z3RxBQowGg+9=}T#f13u+bVE_&-7miEu?zG`t|cx1)WCnZ^%_|^sS`Axc(DtQg|lxu z)!E38GT?9UliI8dKwqb+oMGKzTp4+X9_)~YFwt=M@yHDhzG;P>lP#d{>S8whpgU{3 z{sw3~p2r=_HALe#JILy1#?)d=kX^9+EjYJ$VAwKMES`8B;&zL$*K{|tBIS87FC_sy zJVr6r-W(k)c7v~^EY$Tap(5?!xZ!627Uosq7w=qR#(Bb#jHztQUw81mZGbIHR6(O< z8msfd0mL0xeAusvov{I2YB6xWQK>ZNDi3bmvSn3Lwb;h0U2m*lubO$VYIEyhN0uWzD)|mSUUfhw zDFVrf4e-ot6s%^fU}wE>Vt3ZBhl$tvZ&u6@WV5d#T$>&OQB(~V&M|||e|2mhzK3`UI;YD|Kk3CUac zni~Jw3sK$eP~2inmuo!aHw5p5`iXv2 z(^+q4z@W`4c#xSvm+X9n5hChbR{6+yzfLFjZ47a4WDUQ~SAvy!xDy-w74i9JC)%<6 z7QNe2fkg?6xwk3TIhp7juIWiR2A$PH5w07qIqR^O^~c~-;tY%UknL2@`XHA68NsOR zGhBS7E~j8HllyP!R8EuC;nGxkX>R&=i<>W1$hMFhj9buk%J1Prru;@cyiXRk)Xrji zbz2$r6F;DFR&GE5^T2fdwf1Hi93Fz zgxkL8Hn%w3hi0zh@qNM##`_229Ic%&>n#PZ_K%>kV=v5#421blr7-%-WbQ$tG`HRG zJbbaMBZ+4>U|HA&T>WAMJH%&lmEsM!^4mW=f@Va-PZ)O9EM}b__<_5*EX(Vj3QWlj z)Lw0ak9}h4nbKB#X?O{3$5z5S32B&PGK1aKv;|g&Okn4}iz8VX!H}_RC%jE}Csoq-Fz;1uK#(=RK2@m@t|-L7Z`L2l?P^m#o`dmDSd^(t2JPIMjou(6a}{iGKqht zAAfeH6XRPOgC)Y6AQyBI+B!I}4)ljF*0<1FEfjk5`=QinI_s7G0*1fF(t6toV6yfw zIh6L6eA||Za>{)$XHzzeR6d29N=KRh98TiJNNGIiQH_axJ>+GyBF$EMZ1LLN4;Z3I zKg7wgBVi0Q#ool#56!tE?cd|G62fIjNONhdE&6n=!X<+hblF@reoECT)Uf801`A0z z=c&d?yf46-1X*sOekr!US3rktPx%u&rD@g2GZvqBl+i-L0sLM+nJW~&g(~jLxOI<9 z@SSc6My36wjKXvBqgMgirmMm^D{XXH+JK7%RXN|C>nu3aAo8>K1ta~@85P>(`P~j8 zM0rvNKk;x7U6JYrR?Z5jTULwSZ#r7oHbc@`1UsYG6IBQed9Vpp&4 z0ymA#sAD4s^=iu8NJBr~Xt%~3UJm{097Mwp#lrF}$LVhub#Sj1Wgm53f_+&XV3IAw z8t4kK<)1g>v<_G3cbEzD|HSgzckae9i6L0_Lj?V_|M7kPZU=|2+U&`cqpbIqbf}bD z2S=|Ou#=+s{DW05>FZ1O)Is_UJtFuT=e$wp3Z9+Cnzw(TewzVXy!awi-_T^E3rs*- ztdnRvT_FpnzahIz0_atjI?_7tAvt!jofuphhDWw{$U8=lR3sGAqc+7DzGN?aS`lDz zb`_x6i56J7@g>~bDGe6W71=$&P)CcKaJ#u2yf?g|@8{%@Z*!`k^VUWP-4n(*-cADH zPs3(<0({85yOI>0ya@B55VH54#E__8G^@UkWY#J{M_M2A{$K_ZbU7YnW;kHmsi~Y> zR5SiaPp2JX>p3F<6VA2u7xKQCz^U17q-Jsw)4W)Y1e?X7Z>AKw)<}WligWng9C2}? zE?(!~#n%_R_)h=rAwSPNAjkGkz?ox|PFJhvpPM*F6;FRCu95U+&Lc)Ltc4g=H_*#gyCD3h zC&*~FlCh2lc=GyZR8cbKLZ!EG(-bSow`2C0f4G}QZ#aiLs-(cuEg5`#YbuSVWs+uB z1JrSp#96Nx`X;c8KeU;l@$SvoCLl$bsi*LrRUTyMBmgOU2Mzyr!L{%m$hc2~t;dJq z;tc^PABcsd)8*uItrqv8vKVsu*6_Efn8AWS)7YS%Vfu5M9JjP%21fXmkS9k!Gxlkv z^p21O7r1dL3Qe30&q}@!W%GMX+#Me>ypMyuqBFREyS2Ehxw;6KENR#2Y;>_0!S7cc zVUw349FMAoQIP^@t;vJHs!8ZNTt>1@w}QgGd63XG51v2T0sl&3h>XoJ>>%AR&Fcer zO!OgNWbVR)W9vY=D;#q)H0bMdlEBQl0F%qEVBxzb$judl6K!GeBy%UYD08rIc{EHg zS`PhvPZ@#v8&T(89KOpDWLI7^0H;Nf%K;7xp@Zs4dh(GHYmNL zDqO~uiaFzw`pGoMatbS2sQ|%m-C>j1ck;eFf((Bj&&6w+sOIR8+os>A7sBUL8{t1Z z&%6fYz;*U4EyD~CgCSYaAx{KNG>PRXD`ffpF#v86+}qw-3_4Yg?hA*qKN^Ka5j_ zE$F4oUogL^2L(0u3O>Yn9p8b&kvlzX~{Cy%cBk zxQv@O1tJ4$VPf3`SQ0#$v>STEU`ZdXPZnjPcRYjC7#^0>?JP(l@z~epnaa~r{}BpU=|SF>Z?#;k8-7HCgR1^cMA5c4sg z+&@AfcN3v4t6k~&78~pfa@3e)| z+3U#C3!NCuGveG!eqj)IkLq7I3^RI)=)UdI@O|$F5^{@ys&jczDRK!md=Nzl%66gmCZ2 z=TcM$^!MJ-vG6=R)>{s8|7ls`q_YC=& zg-pZ|C9F2QLfUJ!;qm@K;8LDLak2!v;!G;celn9?J;xmu^as&AekOjDRKv;-x?p4+ z0;+*`;i}ygC{gYwo_ng{R}_+=j{_X>^zYzGvCWz4aujvXm@H?sH%- z8^NYd4`w5eHPh+8zLMvUo!C18Ng%DXke1lBfUsK;>6g}}ztknMUo4glZa4~?yyc;^ z<^&ZKLb_Sz^^)iIloPrH5slUp&ON1`&F}8qib=%Z~H-8^;Ee2l30G+ znf1VCnZOkkr&I5{f=-(-UXLh%nt^i=*RKi}EI+_0$GI?4dj+?3Kg7AIve2!PPnO~( zURcXQh*@(HElW3n&{=={B`t|#lch*RtSwB@P{GCfg-`*%!Bf9*khPgX1sz7{dTm)e zqo9Cg+Z<3xKMVan&cy~#Np6W?H3qIq!-zHJxb&nxwUQUdSqzJ4u@Ps9SHMFrC6rxT z2L+;L)a;24{idqK_0Ma=gjzA|N?V2Ap~rBo$s_*5fL3PmxNQZy$D@DeIaq3D&IlcG zCLJr1Ftv9G_gPm^JuT63pCfI0JHi}1lStWn95HLI1h27CNGo~{f*x+{KGlzK_&3D| zw#Cff202DHT?i8Vl5y&aVk{b1g83R>sK#G{&zlm#T}zAQYTel_i~#%4?lu)$sRCD$ zQ~BZkML1}q$$k9s00ZtO;Mb7_7~b-ip3b^PjMra>KcWuAZ^#z17Z^guxw~Y^y+JG} zmE#TsPvxc>TXTv13Uu)l7oMo85G;IqjkE+jvoMt`;J-0(#6Ks7Y5t2;T;NfRl4~>Z z=>Z$g!S(}gYuSOm^1|$;_TNP2`&;bGaiUuiBkBFmQ{kb@9ZF()ndh@O>alw+cX8YX zn{=DVd+$M%{q>BrxAN%lVPo*Q9E%IaYWY30rr?Nw2}(UZkG$4sjJOfO)Td>TV)dUq zqcx{c`Q0k?E!LvBF(0Vi3PBXrbVsT8y|k`Go41f{Cd+MV;MJd%{B?0sRBgEw5%&qB zFZyDbr6DCWYwjXE{dpmE%M#>1x^lR)rsbR@c9^JoB6;A9w zNUvTLFr5KQglxC`|G~S(F z&WEO8Bue~DI(*lV+wZ%WJK_11I*Y5}nbPT4BfAoU>g=&(vmen|Ye+C)fR@ei!KMvH zG)&NzJMv1KlPh+^2}%^X1;t=37D=>@$g?lzbnqLyZ_ww8Nqp_z|1kFLePXLgQ8ZKl zJ(3MEv%ME~dt1ZelgF5eE7#M5At_|x$9vFo^e0JV4WVJ;BjgXx=Mi6|gZOZ36h_zBeb)W9U`6uMVe72Zn+@&A1iVuewV%aoOe0}|e_ zF-8Vg_X$8#fFcy03I~6e_e9*{6t+y+4^z%`!`!b2;FiY>Zta5zd~m!My@j-SQ-1G5 zCr3UWv5!Lda1*!R7GWL=7lGxQosdx`O!sdM=Ik>yc%vUBvA6F9sOz016X$KfCzJtM z10gs;^>CtM3Dw`G&xRd3hfB5&qI8op^KJVQ{Ksjq-JdUzncqBN*Je53n)*RkaVO3H ze3Nh3S_9lG1vHJ%!`ZJ)$OktHyoJW(X4g9sq}^jtrsGBCAN@<)iXMZnY7ft)xzT*a z$Yb*ChY+C_ABouDN?3I;5h@0^!N;*&8uZSS^k;~ms4tH=rTdY+vkYLtjus2s4YNS{ zh#%bAZc8O4wt&*%3?k~k6*lx-hCeAbprYb~G3A~7f(b4V`ZW_iN%Vv8mQS?t0*3($iVJrMi&ZexAHOrq0}7<_}$R`f#L5 z22IrExt7QYoX3_i6mFaX+C?FZD)Jbk*A|3Jp3HiBY~T<6)rSHh9+`gBi5^vopigwZ z@{3RC!Ds$Vw&2MkR--%*(vs(}p+hdLq4)rKe|m&GZqS6&QxIm^XG22VNpQ6$?5n^y z)^y=x5IMUNeh&(O7c+rwc%FI}Vo{_}H~zJsqw{2@ii?{Q>R_s6p}HyYu0=6Ad_`!O2rUWGT;zr#+= z)sUhZN3Qrw!h;AEI`pXuZz`msw{|w!n133hEGBX*Pp05+{Sc5*E+^v#Y7kl9Yg$17>{&+6zdG#L%oL|al6m=3m5(ed-LRhcoK*zqu^CWhy zBSRzKp>xrCFxheqg6gFixv7`(jc$8kiT3b0h111!p_b? ze7fliwNEO51Tv9a@~wurAZsu+sDf1gc^K*>&I+y5Vb`_PV!H}}W0WXV_sqiGqWXk? zV+Q}Y)o#>dC*oGoPmE4!6zzVgh?>({QG2dC-hZ(GLjAS4zaeL+jMf?ctAxii=dB5M zxM~;ouxbx?{9`6A`dE!-OBJAD%$C!;2<0@o!$hS^ObjXLD0q&dE7lSJ?NmmtPc0W6Fq*tbUpjxnTMkF>Zg9Ae6qJ!}ipEBdcf0LiKT9 z5`E5<*vc)1n&VR#?FYrg@$@@>zi~5UYO1jMvc?$rZ6(SjHPhv96~SO$B|QW3jgc^^DvJ+*ORrrIt;$zef7v>sw&ER%6x$@T(-Xm_8WynR5n@rn34O+V0 z66+*3(!sStd@J)cc5+;Seu^j$g)R7K9QTEBdI2CC0^ITK z+4Q8$WISDyL*@q7ftP?WlwXrUjmP3dNn|TIddr_&pBqDs%IYbO?8C(~<+udP zdOTpb3>}ZkgUPDH%)~8X+>3`n7-$wuij;Kmym&E|t8Pc*-|F1KE%MxO$pE_44%2Uo zV(7rtvuNlo#7VZj!Ebw-VD}RZPUoL6cUr#{8!bCfm{q1i4%g}GcSmT@{*zdZ1m&;9 zaLr<_+?~iMt}E{hmswQF`?_svTP30 z?`|T`>^QRSxgAdY^^HmD2qt!Ys`!kz2fHpFhMGf~Z1Q;(_M2-rIG)`F1-p2l7iA5K zvozq+jt9J`ju|-e{umkU%BOe#2H}322u$)-Vuxqg(I@G%;R$yeJ(~|QuNQh@)S`80 zKgpABc@_z>cfDZiAyeo++X3Bvsl?zQf!>p4H22PSGP&$M>GsJ6;ct@QeCi?OXuTm8 zTkpct@*ps+IY{!hoP+fztLaEm0^ED^m%#O@jF4X>bcU6J`(G`Hl}v^*b6b+5aEbh^ zmPKxH0xp{tffJX$pqu})td34IdqG`;l}y_~vX%uyw9P9LnS6nseV&01Z&Im{%mm2k zlVfY@RoMKQKgfxY-_l^i$O%^`3-(+`!~zk-rWFR1Qpq@%mV*lKrO zcI9bnkg|<}Bm0d&a{EOv9g}CH+80v$dxbFB*O`@BwShfrd5T>r4s1okT=wCe6qx;C zlxT(pj^F8eXm)-HYu4|FKI?-Z6gZispA^~kKAsTc*$0w}+U(CI?_lCHIfyy49q{T^ zvehLKk|TxjjX)ondO?&`blM3wruBeJ*8*0nsSXyKtq0}V;t+AF8DeFUNpqPO9++kb zD{gY2-Y*GPXFZ_`;VUd^W98X)!$OjAr3~V_Q=q8J5M&;y!Tf;=*mh_!F1)!31fN!r z&2`_%{hnmVsMm$J5_4d1=rZUqon)WB092Sq(g#@!QABqy85IhI$yPC>Pbr3W^S{y~ zLSr@{d$gKaY6A_X*@l#r;PTn?8}q79}|Mvm5RRuHXghfBElU;FPJ(-W^;9=h$Za zS@I9JMa@IIOJdxO71`(_EJ(u=?BPMvdfYKt5H~%(1x*bP@JQthY`1*NznFImk3ARS zu4)XS>8=Z4PNFU3J`eJK^pEHE@OMn8@uHexb1Aq_=kEUt!;`uacxQSDU)$g`e%w9; z(_2HykeMU1x_c*{-uRe#X;MIVhiAg(DW@uV??S9i2s9CwFypQ|T(Ze9Y5TW*xN+<-o*F!HlNm47Eag4EvG z1AD?J;N=2s@Cr%-CRQIUsTySJcM#Xuxp=1RAOD12u=&D&+pvu|Oj1pahX=EUxAWq)KSQ+gsQmyrp-gTXxo*8lfKPF)zV$~ zeefPW))3$t=4xW*>Ns?JV2rEZ?#FNe!SQ?hN*nFZVw`mp|4Pq!RKE5Be=iy3^M)sJ zhc_qC6Vn_ZU47Iddnk!?`_4lCvT_XSEJDYm7$^@G<*ua)a~84L;Bd*Camm>U$I@=o zfeD7BEB7k@M_C80Hsz3S_ZD{~Dsr1GhEZkbGzwqqAiL0o&9%>?ao2>Q+|-{hX;w&I z|Bk_+k7fAHrVE>Dnn=o$IugdcAy)+-@adlgU^YH4Znal&&Dk&%({16$NQ9i8_L-1pgvgwVOWBYaot2C8#KI z0Aq3|Kqj_FO~Rx=GwuJ|ADKvBwu%C*dy10W@pzqnw)} z+5B`SzN}xscNOlWJ-WKQC#eVc&M#fiVrBr=TNKdHG;vt;w2?zhW}=Xo$6xsN zEyYc?R4Cn)-hGmc7njtcOXDYcns=YhSEuB7_eS2eoqagha2a2xKN8mjgfWSZMSSfj zD|jskJ(u#iNob7rkkYK!_NiopkW|G>vrc8{Y&}8dsD1MOSnBOzjYKl zbN=Fn4T-qMavk?#U?(Ri^Am$~_9VBJ?@HI2i5VTq624nW&;V^z!1rY1P&=KAYHX_RO&+j>`2%Pr6rbZm4pOaue%2} z@n6w{0Zwp7A`D`(RA44Al+4SD!TQOmOuxrUX#8@3isrw9>aSX?&a8AIXfl-xSX~C( z{Lk>Tua7uvNuw^Ud6??-8+jK?&}#oZi_J>S&@Ej;HqV@bu7^HgxbbF4EE0$7LDIA^ z{|jKvB@_*Zn0g!H9A&g z$LB$(f*XoNMsspwU1%|S5t{ja;M%_zywl3yfwUsr4}3(*Hwwe^yFk8V1=HsW8?of- zN%V}-ry1jC9QdRL8WSgj$_^=uEl~tEBr%}mG(sy>6yZsYBzB$rf2O&>M#XuqeH$ce0{B@oV zC#tSO+uUMM)7b?c%`woJR01N>R=g+CQ*iXjRajRLioG$-)OzMMNY%Ly;d35xP2&@}sBgvtPZn*r>KR;@qsqPEqrOYZoVis)0Dw_-#e& zuCGSNgAU}cx&WJUgN~cDi1-|T4>$g^2k`|wSaT~C#&~#flF`y;$5 z`v$!;a^cy_A{vyRLW(wDfFw5wkTws2Cq`4DX?`2T7Rs`BcV8gF)ngzUdI(M^Ob6Si zff)9m1Q=-q@GVVW^0bqF!p$IKIBzqF9aPJJ1ns}jGiwU`^G^hiiCqx+nMY&ZaCFoB z%d|h50Z*rRu<%MJYPCC|z^%@zqe%ZkLm1^eHS2OmmK@?Bm*gq(yU;Y0{B_HA_to9!bp82Kc)E| zkm)<1qFR`Ku^NRpx4yuTw=rhPB5Pr4ejEGVSUb2%yH->gKaDb z?9zlEMR_3QDa4v}$U*N^QTEV=C`do21(vS6X?L_f{JCHSUWdi$JJ0)QpB0bCRWD=i zt{z%YehkY0Yy`9A!Z=f=k$h6?evdHcWKfOqTB`_N z?xFcTFZeEHM~P6T1r6vkATP`+ahlyFY+2e(2k$Lo4$t-nwH=zQ_mvZ{>q{l+jUQ&x z1d^!v^h8=Od={nti-tey&1CSY13xU+kli=SofW8=${wD?hXIxQ&}eW1G@^fz0;5Rq z{S*ez>ja4VltJis42A-8CCFOcir(+eL&+~WcnT*_c9uJTjr;}DHf+q=|C-8bpMMCh z$(z_WM#^lgPCAilvEuH0n$4|f@rUkD=dgupBa?R@^im~QZ-#NL3qOc88Y z^%#VVucG|}Np7=N4$?N&4>+a8f(KEYUoT z8DF-O;<9y+yReQWjlpP04CrVM5uc0qDf2p# zBr1AYWW^lfPdj;)2Bic+%lI6N{Y(W*bxC&Cwr&_5z5>N1d;-p)#N*RVQr`55AAY2X zepgpOW#K1uV0(ncu0s*U0q~%szvnm!> z=S$I7ViZJs?LfZLi)`GZ27Obn!{YIod_L_P*s43RQIgjwfB!G4qPH5iZW2esC*FW+ z`gFE!KN`$>PP6~nlS?HDAl?xHFGB^%$yihB`$&)TDHZ4bR(ZlztEqIVa443}iGV9v zo**lkkA-S#^kDK)=*hfIEd~Ez?4@Yb^)w=-i@w1t!%kATnk8STFxWHNpz*?u|GsrD zZp}VQCmjwV-enE6;ZF%noWp~r&+VXF5=9xlM(iXn>D)mcH`o7XzMEjX4Q36)ig){ zdw(r_Zxk{UN?y^&de(UEeGEvQw?e)_8jg0!ac|P+a2v)h@*?I*!^^0ngb`bYyv<># zQac%U;Cbv9Y~*X_v=fcUBEk-&LyCSfnIOEAM%J04&$&=~;?`koJjl|>)F5m%UqC&B z-jLyhbEHtf7M}|Jq|;oQEp{Zzz@L-Li04CZdf4PW|8cb^vumI1xXrgh$L06vWTC(< z5tOISy_ZOBT_o1;E2oM%o5<653-R`XwsC)`!WFq=FhgJ><}}Sfg^=Cc!=MSA_2U8P zX}^Kf!fp_sGoMIy(`({2SC{+=5k!G)h zbF=BHbN$qDX*{|pf5k6`SaR^aOk=b#~QCD`-PrTw|@;5vFE>| zsoO-(=%g*Txlor=dnCqHIfijtPs(w&QN~>Ta0|A+3&+5d8{lA4HBOgR=G!e2;(lt* z<-`td=H^JO=ALa=?@?jpZp^xBhq{x^=|mSLV$*Yr{%3UwPpR*x-YY&4?UTzuw_XdvS9pN^ zi6^j7eE{_SvJg@kfbUOU;o0Ul@^8vl(xGLS>46hv zbFUjcw$-X~fyN0S?K*7#$!To)6k~$(DzNzYS$rb3gex`-LyHsEc<+1^xY^zYd69*% zq+}9nW_^(Tku!%4)St$B7>>Zv^<8-M-)%JL55S*#s;IwfTRrc&?fgP8Y{OK z_gl||y!{I??dd&uv*Rk9NEWte7t+Jm{~|#9Wjg(59fNwQQ@G+vKdwM#E!I~mak(vm zT#}g)OxZD=l@ZgS#)TooBK|g{xGlyFI~y?X-bT({{xP?UU&U#4DskU-okqF0Guf|h zer(^QDWq56z0wq`@TZFf_ zK7pz98a%Pcf(a^5pm*Z}Y_rY4MSY$)f5{*Wuhe2ierfaHzqpMu?N#*H>q4-*r~?&~ zWId54ajvt@gN>RI(gF|5rG zc{ct*I`R1<0$ySJvHPGHmo((bE#=N~E2b-QLQCYy%^wHArC>cfmY~PJs+DDh=3IcQ z3n}!(bVKUZ&HS73Zdkc43?{Fg1*_t9xE3!*&Za6JAGAz@PZ0|M!v4^GmJN{dOoHvy z_zeT@@@yjbuq~yD?6On>vj?YheDj0c>18Ltws0Yn&=^Y_e(=cd%NL+c)0P$Vw_uA_ zNV65ow!=l+I^Oj+Z8+RbIZ-(e>^Pl3-0W=lUrQFlWBK`XMv@dXE^#KmA3ETU8XtWB z(H0w|ZAfZo8BQsShgS_1!g`(81#hlA(H^@4=j+L>R z&mLXZ2DQPCR6%zZ9NSX_YF%^asoDN`$l@w^U%vv+C+)?xA3lQHwMA_Ex(qfb(VUfc zNP-(T))2j>7tTtaAS)P>6_yj$|oF$iG8Q zYV9SZ>G9CJYBx>t{>7Ym;tNIH>ri^}A%<>0#8k#2En2w8Vtna@!_rIAgloxp{xl-6%FvemRkRv+G7(m|aWw^$4gkJBSh@Yja z(W1d0mzrF};%Dn=?W`^Ej>bXgc0&+%3PQ(bSyoqK9*uCyAOW{_6O)k`;;N?$`On4J zt%he|Rt*c+;&`xo%OLsvY%aKpmN1=7q0}#6DopFGfkkiH!BJFaZJrxt)e!Gfg&p zt0UXmxP-M`9|y}$wKC2*)i~+mVs5ne6mDVT;oKG*(D>0u0)&F#qPsr$t@6Wx{@eKH zB~pb46Yz>nAN}DhMlR+x66=Q>VOCZyl&d$Ar(u*_9*em)z-I_Zkv@CKW4Y%A?oJMwDoKNfU~n5|74N zpvF4~UGbjqVUj!9kn)Q>nERT#{@I6Le3G!|LKOvw{t zFOypE>0XNiB8xf0RdMj@#00t^U^Yjg3MY&Ep{;cUNne@(GP>_!Zz`W8d3L}w|K@>`l z;E0zfYMcEeiXUI$tkPC0y3mtjb;SPEQLvPl0#t4?1Pa)Yp@GSy zF?S1??7vIDJ&2@@+eFCj(FpuvCrM_6uf%1=-Y}~)5^A$D>DyNwRPGf^QZ7altve5y z9}WTZwA&!*Yn%&Hc20t9{hRbZNio_$!{PDs8hkpe!OZOXPLv}fshpb%Y~8U4Zxpv~D#%(W^)zp(wFW_^zqew5>y zho2y$>`xrH>D*&jafiPp>87UvK<}WrKW{wAlaArX-vE!XJcT-;($$}!_O%H{k4c1s@xqwyu z7(gCuF{D{*WodGE(Elhn?{F@^H;&t6k7TBhQG~McIroV)t&-7{rYO;-`YMr;nLQgu zL`X^DbMA-ICJ|DSN<*ZrG^l?4{(Y|Nxvuk^^FHtU_4?<5jk*1-t1=hGTtcz(TM2P} ze3rfR|I2gOcpTTxafB36VgBcpTOoVJHGcJ}EL_<9*OQw*Xg0rM^@n`f;rmvX^E*okgZ2wCLJYCEC+v!S|JH^7g(<4mT z_&*fnO~l2iF2qJS5&xLn!rpBUA>&Xwj08-lN<69X>_2SUDpMrtAS?TN)2sd?O`t(lxmU^*APUW*fdV~?MghvT0|Uobkv zjtjZ^3}v;)P~%7^>yr=WO!I-Wd11}%DY}op#w|qoa62;IT#Q>Wy9(3qgmW{CtGWF6 z>D)qJ!aaHM9XDUPhsT5X*pt-=J<@#`IoQWL`*1Dh9-7Ln{3y+xI8cULj;G_s4Ph7% zl7LA!*JJ$W!_e|U7dJE?=BxaB7B}Ao9Gupod(BjQ5nE4^a&w?6ZZawqH^QVWZTh>t z8`2VVN#NYuq^VGZ#i^cWyc8L>?U^%9uZShe;w|v!ktX~tQHQ%>=h-+RO*Y3&lRs#3 z4E3_qS(0%piLIz$677^7z@oaQAr08t9*TvW9#qx})ERk1@q}89@ORV{+&yzGQ+V7^ zXR9m?J2u#3!i*rkaGxza>Y}tyBn+O39fs#dQ{k?eGtTEBd*12B3pTc!HLEX!jIP%P zm*FXN+Yt?_=n_DsqyF#(FJHr6|0!HojW33CKd|qL9iqS#n4-N88r?sD=fDtjB}!0% z+vlKu*=t}h6Qv(UVs?`WY78F3!iTTYY$q5JfN72|-*n`n^)?A6sV)9nA z3S|491LqtA8@_7M8{rMGR?r4hEt8qRv<|lW+%4QY>i~Cg+cVs-%#`-}S<(C@9yE2Q z9*wS;0k=yW<;iNoqM(jJaUEoiukzIh@~|(aCo{=fgz14)EsnJcf{yTF`Os z1Eh;iz+Wp(Aj4CTvzuIlmzrD9{ckavUD-sMD;|^YyN!8jt>*Y3+zzu%A6j3MxWqop ze8*llnsV)-AJEWcHfP||i2+{=nC0%x@XBr?cv#2d@&g)hN2-pTJWzo~KcvuUjS&b{ zl@O_Ej&&6R18iF)h0vtkV9xy{t2{2vI=-W+_JO`Olm%zPNKZHveD?-@_at(DRTvw{ zoI}zZezJ|LEWx2?D^pX~g!s#Ge63qg@yI?|Y^xEbv6pth32BROEc~vhZ8tcF0{A40-NAPm2z~_2EjqbX^3+0)DfdT|;DC ztT|i^9#6S5Pw;Be46N+Y=CL?sawbL$w_IW{gtT6$NE?wYBxX0mMSslLI zqjzv&?F!m&AWe&Wdq6Va4-{RnrK8IW;A*QPJG#IOFF#*THeTh3boE4PqTCMq9x76e zU3XZ^ZDG#F*MRf(&OzDUJ(!&Tirjb-L)Ohyp*^09=`O2W`gG(Z*iXKT?Q|*^U|)g@ zuPAV<4ASAHkP1w{mH@}k{9toO?%_N8a2{W=3zw34oV$k=H@|CUy!Gdwo;Lv#iI$s@S z6N9zzdhIG=_j)o{>~e%FW~yA)H&gCstTNfG)Cv91rxUl4aCp;IMh<%&gWoGm;99>r ziduEDA1s=vPUY7%x=)~=hIfM5QzQ1UE*$vR*1+vyN&eug7@{yNf|GDIyCiRd(`Q%W zhXgm|Mr(;mh$=mjXh5xps-a6Rf@wS)4~J45z*otX*;=>bnIu(CeME*+Tz-0%tBWms zG}}kNRi2~)FEy!k)D7}z{aclTkEbo+mG9B)Z(7hPNrJz3)W|{;QXL44PDj< z5$;*+#n>74YefQC@vE3j=ySpYpT!}`O@Iq_y3evRIgHm<2Anv8FtCJ6ts6sXBnqop zlFikSIQH;+5NY=*j ziB!aC0K=2K!ptn}p3kF;=0?$Z(PcF9&?j(|RHfF(b3jqr5j-P3h)rDtSbVt&-UqXw zd}j`Le-L4pM(vqbt|+Ir+nW=Umn7v%3(2mh)#Sp9be3OG4&7DdFrl~s+8TLOCwMlF z_cY>C{Z4ZGOmaA%*gj^pmhvPnmys&XVkWl45jFcKaz@I0^qQZCui`r}d!`syzxETp zo~X>G%9jwcC~H`hwT``(xkDCy{mahjkK<;e2Z)>o`S{*~ zNPYZD4i!ITwDB-Ww9Z4hTd7$6hR5};jo{2Ze&IJce~>R<29K&EV3*`LdM48h%$l9a zMjtIOUoim`d+)GwY86B_=dXt2@U5&s0dyU6aH1J>=u&qDm!~2;#VR`?1Xn(dA&Yr4?v9$(23H^kj<}g~H_JiC$PzA;3jX znawTq4#2yW2hrHajM&OYkvfZ5wtP_tiu($1;R}9Zj)g5gI#7jAe$3~LbpK$_s3)F% z6Axc6^whb;7r-}52QX-w4f=NekZr05(wVw!Luv%tXSCzH-2A$m&&ETqYXGE6bn>G1 zhr{G2D?xVX1l$XAf_TMAc;%%y@9P4BZinqLzVs@x&X)`g%XzOo$HO!=T^Q8<_w7lV zWa;4?=$mN^%Qeg)Z=(=oDCeVpEO0ZfXEWag`DFJd4G>vHLBx>3V7>%cO^n2M*N(&L zAtw;>8G`8r(`lr(D{TMxo51pG?CJI}5YPPq)n%h_Zls3Pj8x#_U5@bM-(9kq(hG9N z`{-)p2GC9uq~Wo5K|$v}_*y4}?~_)T{P!CExBM`t)BX!lpU*Cjc+l&gbZE%hWcp+G zbgCgWmA(^~fmf+!U|kRewtt1WA$3iTG%6zBU?$(i>`k zw?+UGRyxD2J&Q4F$~Wdex&`M&3DagbLCO{U<{xc%%o8*f;OOKP;JWn~80|`fpNniD zVQw=B9ZdzX)z8^2Pf8^XB_R6!W~SG-f|+ZZ!lBu@kgAjg+Pu|p!tW*?v)jcouS!$N z(L`u5vZM)4zer=c9KIVB;{;AOGGf*D?_E{c@^dE1adwA$vvn|gt}2+UI|?SE_kW2<1*l`=T6T^fB}ekZQG zGwZBQ6_K&pe_2=E1(4$o3W_)QbI!()@5SC&w?P~0#RGXG*9D+0I05$R7*YKnKjCz! zG2f!m2sHhI*|-NAK_F25nqo62}qc!K!!cM!YVyRl_C zaI1INb5dp-@#`X4?zV$5nw%D)E5tG=ciod_9J&g(gO-9ZrV%-n48C_k6ZZI9LtDBr zt^cV{cgK%I8%s0vnJQ7YVMPWifBnuEIJcNDoeK~Xz6>`yJV1#XXUUhRp450r6^ObB zaYs#LxY#@PoXoo!+=0)_xQBmcVcU`!5V7wkzhOe?&x@N1*^{D z>gi_K?Zc6kmKrE`{u2|ok|h@M65Pa=B69CdJ97)~X9J7m;knRdwn1eHQJ6cGKRaqJ zON(~m{gTOJjhE|Lk*67~^KC)V)$P3Al?JG3-3Y<2g6OgQ_xx{3f*|sq&vw<;g1@9Z z=E$kTN?tulycP-Fq2=IRW>3#8*q4DG{{7qM@wcxg z*8C?_pIL!)o9p>x5wI&~C`eAL! zKaa91fVerT^uL9vz;k3or^*KVWld1@ayL05@|~DwRq~<#Uw@1SVb$Jeq~l*lj9*^^ zx(^RS^}A=#dpH1=@0fs<3pIc~I!k8k{LV%Ogt=`qhRAvK6JU^;2B*Jt!{?2)5IR)~ zmQR&L{`EiX%e_8wEb<^O8c4#HUjt|qmW9hYMcJgP3f}!ujs(g+fp^Ewlef2$@cpEJ zxtQod9Cin=j7?kkUngh5fxi>z)$ZxExn7fsr}PmkrDAqa<`mf7j)srZNB9TciQ}O( z0n~ooLKak2gW_IAP<4L=PjhAIrYV1TJO6q8Y7b9*T}v>i_&6~omL%$m7dpkC2EV{O zP%3PLZLi1EV@DCBimmu{|K{SW#|bEX$OUue>cNapFPZ!=HTFnnBWU@*g~?w<=r3&p zc=1IKOYSk=8u^(#Pd6TW>+KD`&HS_9vItNMHkD1t{QjNnW4 zPeNDA!{+KE;Bi6|Le@E;-kl+g`6JA`yI>1jKU@XZ3-du``~{w-m@a&oeF*}o0Blg3 z1%E7D!75w_@+4xw(p!wSs_9Vof^A@bFc5UV>cO6wD~RjyUB(_+*0bH+ zt{~@d6O>Qs!&6&#cJNO!%B#m>VB$uwu)GdO9k;=&WD|%uR0@B7{bb%36M5Rv3f#J7 zdfdIjS-4tp243AU6}x;N5sk#dFeU#StX-T2+-z|;JU4)}rb&JQ(;Ltk*w-Y0dg zx)Rjz?<(}GcY(;7^*rAXvh=mfI$YPDh3mXiL8n5V&QlKp@qbJZwc!EiPpyS{HsWqYKgMV8y79z=Ys}WhkZ(Rm4ia(#CqO!RQa?U8_XwOXv(<`8b} zaDcTBk7Kp-6o|HR21EZUIBSpy@{5{aYos4M*f|3dg9I2q@*cU_=ZOj5WxzR25dR)y zaQ}NaQMr}`_gY0@STqKj()WYUpF&V@(g4|nt@vw#1&$gv@)m5n!sZo=VSt1bHLO?$ zKM#0=?U5(s%7`Q!Rg5Lt!mh-57Z4U-$4sIQVN-DsDh=`3SVRapwd6GT#wvq`%SSTd z+Zg|r(RNZ79R^dsP3J0%<+!4A&3Mj9hfAo*LB*l_FuiGzZ3_NN+D`WpXBR0vc*_HA zgjT>xFLBN~YK%dDIbUm95ij$UC;4?UA9kI*0hg!@D;%Ff0tzC@#e>IT`H3^Itl}IA znK=Lxp2(52IVSYeok!%#x1%8a@h$ZIv|z6S$MdX>W`d`r5Z!z+6`Xu_0^d}SOrAWM zwHjoR7n-SHl*0>OVnyPt;(@zRMW(&&$1iI(bIWV5qUoJ@ zb|Y1i`uB{H;FBA0&-E3o_-rdK{KUttr<6JWk9yo|ro!1S(q}13zaZ<82rT<@5ZndE zz;xze<~J*i-0l5@e}8#$LOXYH0RbIYR`eY!4?0uZgnoEATnhEVi;3*95aKy=IYvdy z!OQ6)Cf6mwtV_z!EM<@Pvv**iSSBh&#nC6mKQjAtEq$4#J`0pqAES%Fz?)^*!FW<&H1EjV3!o$0>!L%AcFu;Z2x?Nyhj ze_S)cr>X}kax|cS!DZI4Y#ymuqz`&KT6p^vh4ELq0(uoBU}L}v)Ca)0y*Xg2cmcQG z-wVkfh5oU27HYeXk-X*G*|YgItm$Yjsc71a_j@8S_`?Zg`P*2<+oIY(E}y~6kizkG zN6=6@7!B9fpfW`z}VGUd3 zNaBQYlD7Xf+4)(7GY{0^q$Lx$$#!zwm*0~>enAZ$Fi2s)*9bGe&k@*nn}^OyXUWCL z-FPZkm=k=vkgL8Y#uZgu!!);Q9D8U+XLn5@*=w!9bdCg(=!#-}L;-hnU*~T;9fThi zHbHluD82D6fXeHK!L&EoFycCa#Z9lnPifL{a_}ban_4Cz$A6G{CS9yXU^%(>a}7+9 z6ro4AMzGFmWf1n%=7e@zb1yr8pkZ|ud3@CpEpBJRrkDtraKsp6O8;@T=ybYXV0cu(~e=J$wjSw0Q8GWh|D6f1G6iw|PGjVW%{eZo2hD`0xO zIWf*(kNM4u@#N_|d|Ni2Qy7$FSNX5WlJ~mY++Qv>-n(<);phl6EcGI}EfKIs572#9=tF;#aI3k z$6KUp3qdMEXw9C3_-h_KnJ!Axw%+Br>gQgrk&ECB_o{0Kq!RrxtGwBntOsr>>2b0l!)EfhQ z47sV&o%m|ca#pdwolUqfK-#8PknZXZj5zZW6OFu3<=Hh{QMdrb$P8vH><8;Ze}d&~ zV_I6Ph7vTDR~aWycAON#mU%Jk!2U@LOk+Tf7f*(Ke}b}w#uJKwVYGtp==s?6;kFy_?O-o!wu#VqibDcl>=hxz>S8U+}~jr{zL;jPx3yN@I; zIUIn(8h&^nUVt+ZA7uy0H8Qw-F|1mj1YO6&_zEvP(DaHJSFY8J?8H8nJnsb0-XMmz zq&|S`g>7uf!Dgniu!Tu4DCc=4Z6b>W5D%?0!0}>5_+&{noA>0OD_wmfc z`XMnoD~6ZbJm6)^C-Us#Honb_4wj;I+~%FrFwe4g4>W{_faFOrRy#2lq&_mDaqJv( zF5J)Fr#iu^kvKAShb=npe8U$0kU_79JtVe$8knc1vY$JA*_+$fiP7scX!({)wgxD{ ztbz-?>YN`?o<19_8#wm+ei^DLSYowSD%9Rx1V41cfUXV48cl6nJx&P1ei}hn#u4O} zXcAo_!P@{7E5A;_Q;GjU_=9`o&eHYd(9-Yh#p^71?OaJ-Cx5~N0-Bufo^FIY3fvJH zBV4!e7=A9B1x` z0KOS(!)H|uh{#z1D*KLrQ{Xh}-f$jH7rf`)J%0-hCPxvTyc+Pm{+%8D4>h$f5NCr6 zu(rdJnk`*PLuSpPjh;iWFz6mkP7}om6*W+>dx(v;=7FS(Cq`|}fz#H&@C-+`;kRXFWc z0nxiR!Ex*FtaAQYzSNpy{OVI>H9F6PVCm)S@Krq&-kpht4rxAlch_4m9lF2kk2jfQy|-tbd##M}EmdiHQfCRvG2b^d{_qj~l4%J4D1?()rsR z)W9lLg@5Q0@W)ut6mn4G}wO5P^PZ?{7n+yRgM zf1s^h4Yw*SL1}3Mp07p7YyTGBq`lU#sSV-H-vE#j`M|gMrA!}fxWz`eOp+O8fiL#I zLo2Cfa`-02J8M`5f`9uG%G7_XyhAB(ym_ws5Q9oLMZsZ~Qx!ob> zPsD>@hPlmxn@Vt}G=}Zmk_i$&f1t(`b-Yt8z|Gs44tZWHaP;P6wru(Se_me;Rt>^r z!t9y2FR>A8UJatF^JtxDLm!^Yh#-@!Bw*x7IG%_$122<4Nc&;}?J0`Tv?Yl=ZyY6; z9*n@GP!$M>7+{MJuO~8-XTT=oJH)r*AtB#Op|{JJ&Dp08{DV_S<*EH-kLF%d`|b=F zPwFK%0>`rx^Wx$C0D)^WuS0ov5iBf!0K)+hyh)>0AQGev=UZok@?S})ePu>gKP7k| z-4E93<$-qQoA%QzKWaLj z7X8O1+On|Hdnxlz(<60fhuG?{cAI4hQYddE$SJfaVTAc)7LzQ(T6)RJA@K8x2oCk%(q zr0{H>4`RerKTdTU#k&9Epfj%!a?*an;&DkZ$+QyoZWZ7RK3Vand>O}mN}YoDx@9<> zB5^Kyr9SukQ!AV7C`|Y63WLjIgW&(#5?T(#qHVb>SMhE!_rq`vcXZJaPS$TDr>qu8 z_K#SQuhTb>-tPNM-pz`>d~HNRoMLY-L+xc_W6PQRKA$;-89L<0jO)fn75HjQ)La*9_!8pHD~QULB= z1Rh>f!aI6zE#y~zC05@|sQ0y7@Y7NqengdE(uFQ8tDJ`MV%7WzFFyQUQcc9(TB5^E z0f^16hvqo(Rhq4AoY)wcVdv8WVge|ruX{*eS{-(xV(A_D$=A0!H$_2iHBIxwhtMeeP!f*vJfsBIL+w%_+z z-y=QH?>z;ws{>&}fH?2JZ*dSObC+ZdJm;IJ#*!VEez6sDfjHzX0SjKK&ZFdE)YX1iv9#@uj_jTfTse$7B#Mj>o8j{W_T!mO8fljc_vP?{i3vm5kjc0e%{ zkBp;#=E>8hK^bVepAPv`w?Re3G05Z30I~cA($pdcg9+jwCbJsHq=j&ki9ggD%%ZtX zOG*956C_W4J#19xK=}J~;*=jxytZeO%l!)Y=Eg$|aTMo1KQbg^auFa|xe79EJE6Wf z1g2?4!4?A{SRs_eRCr04-Sil>l2y58w;U9-NkW6sQ_!Y&40=YAVWNi^&|M=W|Kud* zBcKE+F$C(%^xzk7At;|uCnqY;kja<2N!{WG-quki@?*kI()m7`n965?pM^LqnwUd& zm4_0sX?ICS`fldB-v!&JY(U-ddboC202~9Y;L6UoL|N2{4cO(gzTx9=;>B^|Hz^0y zf9yxKeRbgJ_ym07lquKLOTKJvVE3*IL5#v%B4{5E31l2?w-%y<31)O^UJ~_nbEDqJ zg{khmDX^(JiHWq8La=Bslq#E%P{(W{<=z4XQ$NCX?}2|koj|TXZh@)dN5S;L7+E%7 zoF0x_4!ERRFw7Nx%Zr$%f7r%;x(N!(*r>hOdFX)4i^LEr@-e>sx z4&dSa8}KG53)VTFgq})ix;M&*u6Otk+md8)jbk3%ewz&ZZ$l(?!Wg`nqzUQXR`|q6 zi?4d7hM7m`Q9)$|5V3T@r#e$XY`hkExYGifFE{aq11iAUua*Dii!ePXu$ky5M%75( zKLwk2CBmYw)o|{>IcS__10waJc=od-k-Ptv&2#(bgPVeJ;vN;;WPOYrzqT1(Mm`6t zK|Q$RXbPdWBW!wuDLLdP2v6ScCxsOTIJYqyR~0>CJ2Qm1DT-z6l(iK0jc7N+&mtK7g)8r}4qgiL7q2IQQPmiSzcz;QHY)2Ho6*IU4`*Cw%_Q&M#by zzi+LD7_lY@G`I&_Hgqt#t_3*TaynNtRi7(QY~?SiOM#!K7Q!AkJtAv&7==a_(DiYT zKr39B3W~OZn~EI13|j}2Mtw1HB%D{8?~YE+UF49<6!f_2%YKJj!kVP4`S+3!6?IrkFX9UM(bRlsG=6>aCaC2;(xD(%`(bC!vj_uqH-_{gE z?2c=AV&ONNB2y7GihoJo&!N~{+>0lDBDuE7iMS(YDkMf!LNL{U#;zdr?GxrE@zq&y zJ%ztJtYJ=~7`+h_g>t{eaOh4Y9CW!!Ja@h=mx$5{xCxGcX8)BfYZ+_fqGS%sOk(wt0E4wAht=&h=U zH-0PO?Qys8qhk_Q_O_5<(;^$!(Zyu-hcoQj(s8ITw20X>I$(be7X#0_Uys5!`?v&;9#@?e)*dd%-bC7qeJ`!vcEx}IJ z8-BFPfxxy2c)9lp?>5_oeK!QS4{kb~U&TY55>gBSQS!7b&z=g!UM0Eb9zothJ7_(* zi3v%@qML^Sr@Cl2u9Wyo@&v3oN%tOXPdCESb+@57^(ATiqXk1fX)thRkeuuHMtNb^ zSz!eWXsS{$om!&>i8pn*h%hhC{+JoJnP-BRre9>{uVY!d{XRIC7R~y6HWGWY2&&@j zPn%yDl7{pBxcWygo-VEA{*zSUq;JmU&VGwRzwSKJeta&*MjwH_J66z?rer#yHIjxn zeFnvK_wez;i(LETd0fvu#IpQ)CfOm)HZS}{tQA(mh42%wT4piLwa$a1r_{KTd)D0j zcfc*L>BowIA_hHKplNN+njHN>_x$mHYn0+@qbI`IMg^YlyFpfZi^HfQ2fkJ9C;sdM z8oc32@%*ffSNI-MHJBY@gV!@`*x%W{N?8txlAo(@Yl989@|Q=hVOo&o-Xt zb2kv3XAX9*F>rgt5r*gf2NAUPVv58Yr-{uYq>T@#^y^IyJK_FTTomcvl@PL#?Y)1x9w zviOreXmMM2jpM$_97BP1t8hgqpY*(cM+Tm4Acd#zl2+Gr8kLeq<+U2X=9(fqDO=If&sP|{U`#JA z;rPeboyEOYqTK4>RIYWk5@((#L(1m5&`#F`DyVXt{`n?KpGMfzTkRjo-Oe6XQmDX< znCo(5gQvJ2=En`@^zhc)6sI@MCelftUV%ZCIL&!p3gH=o*!z4EPFW>Kueu+F9q*Up zxySL~wVu##6+a+6F9i~wtYg_mi7fJwu}$)|{jj)Efo9nT(}=|jK&UPb&Nw)ee34Nw z-F+CWqa^vIh88IKMwjFlWWe(_B{-OQ1umE^gBNltq;JM8%qkyGqLx;{NgEN)>CbPp zU!==@Z9fg~gJ!T%Qv+f%UmYf2ze5g_<;-W%cBZz_9<)_mK*Q=K;`}sR8llSV6g-bU zqw_HSkpb*k`?WT*Tmr%yzme7{A+VPx#vR&diMNLIxuK_>q(3?cwO8HX@%=?%>C#|0 zK6g2}JD4Z5I)^Hw`> z4;B99jjzh9wNavxmt?SL(RcnY>tWEGFT|hIrwC;eW$DwGlli)zLUG;@@)w6uhc)V^g8y+hdH@J5TY*$Bl0I%)7>ZJNlOAOJ#qmAj#j}p!-Zfif02|;7Ki2T7f^1y3|0nn zWN=ahtQqnH(fV%2%a_Kl%jB`(@OW&Qt-x-Nc9HIqdK4Tr!<2y`-1@x{r%sZGYMs@* zv;+nCI}hRK8++0Ek@YQ0E<(Hq%Bf8HQ($&TlAbiKI5R(`a~{0KTcvq)z;9{>8&5(escTw?*w3*M4jfr@DpD|8zo|xYhk2 zPItp-Yj`I#h@?WCk~9tZxgD;!_L3myI+W^vipkz{xy$wCc=g^O?3#0w?X7Hw^cxb~ zGtmTyud#&WpAG*QFO)3lT3hqRN(V+*1W);54}2_Erq6{3*sP{(@;4#{CF>2SK!63T zd{G1dH9*S0e&SlNaBm<{E&B+$x9_6xj1w@ZFT;KK@(Pc{kD=(?#VnnRgU=5xklrR6 z95JY8Ce?bdN8|!)F*yyPmBXOaoJ>kWQ}9NEJ~Pv%B&+GkU3O!v3{eIXy?Kw$|W6S+=P$3^%}J4SZQ5B?iHfi=Si%xuafop1V6T&floK0L9e|D_NNNdP`9_lGv*x}ITV3S`~48! zQ@+Cy8&0Drn1|-+$puS!t%>B9m`rZoAGoNRGnYa#nt@(*445iuhMa!bN z?-KIx+YvlsgV^&{fV)|ci|>PL(RagYUb#joT)gm%m@Vw6&63%QvHo({)AyL&m>P-A z)#_YjpBI<)^)wEyI|n6=CQ$aKob8{`j=LTLZp^f^xg&m?d0NUNG%tqsKgMux>^gW) z*9OVb8l3Yu3b&M>Bq_l4 z8PA@7vu9#ECGfjfE}^MyxTC5Q{Z}O7WG_3st#S$DQo_;t#v*pu(!wTs>@F!1JqEdJ zqrm*sM%Z|FE7Up0gJW+pd9=&}e&4(V2kNyT#5`BfTf=QI&XIzp8i${>tsY|Qmi^LEWASEagb>Aoh66Q-NUK8XE;_8!aXNd zc%*h2c{%!W77ZGOoc}r?@?jghUl721ws#}Qlt<#%Z!+AT5)n@FnL9q)AjECTxdP?C z6w$HeDj(zR;cuG)eAX95KLdflunWd2zoX@y0=A^R z9ZHAeA!Fwr_*qlPro7Pu>Ny*ZZD|4Zk9ClA<`laYD$S`3`*7C`ZMpV%T@2mASj}7` zNRzdJ*f85#ga1_N+QI!WmXVBQg|jg4WD&k6e{uSWMDFLt!<_%x?Zk27F5I=*9dgIC zxsHs<#PpaKK6;pqR@)mf;1h=h)3v#sHW^%y_Cq`x=>)+cM&S7L3G0bHh4Y+MxtC+P zxHrxd2Uo~*sz;JgZIK*q4PAs+Hg^)kQ?sb+_As)+A&gB@v4L`-sa)DXJ9E}ugiq2> zC!d`d$I$nYzX9h>}3~ZzLE z3@Z18=%;TrAkv`9O7=+Dl(x;pmKlr4pcBUyWx3}0U}-2+;Y!Ysx*pB>sYz+W)X z$18FFL(Enw!K{F}SQb*l0=C4m4P#<3ZEPb;^iE~DzY>_dwKOLz9D`du=8)0CODxhs z9mY9iu({XQ;LCOWxU~BK$ynM%#2REV{B0|L;QV7)pB2vBV{6#@hvOk;M4xZstw0`h z>%!xOr4W+z8{$sBg1t^Ip!R9UzggP>-z%gcWveuEjdLUBdP&SWI*iCAUxnyaZ6;7UnY ztbsSeN9nhiWpvVa8JPd`HXQ6o;CtK1!-?Mt@NuCPuFkM0L$BAs+?7IXnQSu%CkoK& zLMu?7vkfK02Y4U)FJM3&1O+f;W_O0498I1gZT);4BqIuC0H-6ek2jZqSq3zmmgj*>F8$y;=Oc zIj+QH@)aJ6#6wInk4`=E37YI$;l+d>Bx`mZX*f3%)%bw(ZV6$>vr7K?bBQ3XEyu=+ zjF30H93n!V5zpDX$nqI-_$f3KTGaQ#j}vlWwR941QP96mIUr3`5|mKxaumKV(P7o! z{F&luao|*Mldhmt@DD72N0A}0;jl$ZnKl2*NESz zzZfkfiX(5L$W4=2aI5_euiqyA%k?s<@n9Q`_?O|`6NKn_H^x>u*l?Dk%ekOdAwt5V ziG=S>Uco;5@ovjjyj#B+6H2kVvwB`%PSX<;3~`)bLl^$xoaKM zIgM|7>7_1XnsnqMU3NT?n%lRM4}CEZ^yxYr43VP^-`B%4A$OvyEe)qKMd-zva5{Ny zBz3%dj25|HAkS1%uvey!@#cuo1rH6$YSq_}WI6^rzc=HM(+ui2vkgirqwwR1EH_f3 zfwikzt=Ad3!im%jSl$^ymhAiv{Xg6A^wM_rXWbc4`{0Cv3VXSHOCeOQ3#*$}kU&)8 z>>>6^G+eqgk3?3EBe#y0)j8Cb;L0lCW;{K_ExlRHwQDPJ@fHT0n&5UK?Xih0bZ92C z&L)xlYN7b{%LqA}Ey#Yx3vi38?&0^iJ!lg(ja#!J9gXuuai!N5xOTV?^dB|BSsz;% zS=`I}?RuUhNn9lTOU2mjKNfH`N{RjPya7Y}CYUfV8D>|t!_t@*C|;xm_f(b8a!UfH z+>S=Iu!VTtpnB8oRgPSt&&e>U9l!796W&8~mT(tr0&aQ@- zgOtCzJq&Jcd;>d3IA1w)0f>FyL)JQoaxyKGF?eY+CdF@JR{2F>Vp|SF2IAzyOc!(y zZvoR4|AE=16Xa%^4ktWY77x|9u^K8vCqyoU1A^r+{$MnGY%d~fE;C|~$H(ETY4CCF zLr5TbyiI{Qpa5xLue_Lw6wL!8^?LZ7u>peCr$BtfNA{Q_ zMzsZ<^HYI#zJCoN182xA zdmB@EzYpC4e=$dRV`v6@4({QjR}=rjod_Z>c>))2FTs&~5stS}0=8Z02EXa+A>C>P z7=7Suj5Zt~Gxl-JTtkBdDmn7y=Sjk-^A480N1Jqi_{%3lHH3S7nv@A=GMn@%aI}N* zd}b?Q=PVJFk!|FgAJd14J#&z!Zi_cc9ErtX4(WP0p4^U3sk=f5ENV93MAKkaW^g)WlyCm)iW6N}((s1U6ey9tjhYrtGb1-I}V@bbw9_Sd`L z=IsI#xVWI4+*ZuuTXh&h?0GR}U{Oz0JIv^|W(E4h)R`P=YR9yZdFWwwnKj$%gG#X+ zYu@aL@9$Q^D#7LORX!A^^wyE7doAGT+!W}u3k9QgKFmFr2Hq#ViCwlge`cf=Zct^U zct#DAnJqxqpPa@D&-3t7Lp75TECnrx8Mye>9bWImMz#Wc`1bY%Hs99x;(j?xc+7vs z#sVej@D^iGYgxjR%XQJmOv|f^NTKY{U-9lCwXgc&*8u%&|HU27(&c?ShB+%H9u`@K2GhaRsca@Hlz* zZjgzl9D&Yo0a#Gk!81<&%nSaO#kb9tg-#tlhDZK|eX{!@RNj~vJSnKNbytV+=H~Q- z@(k#_Y)cg%!T%^U?{F^PFOHijBN>J4M2fP@=X0M&WycnQ@MpcHEr#cy&Iwog5`<_H#fovNxAa#qLox^=jMoCsFOjoGYbqpVH;^5Z{v#J%K(5GNK}|hHMlr(-{5dTA z>)Ax3Y^N}{WKY4e*(H#3KNtMs&0)h>2xu=o4t9;1RckjXOmf6hu%Nzp>3$k6eE$Yw zBu!D}q#KS@^8x2(KS})gj^6D)2?eS5p)MeWOt^D!Q(i2UJoFYn2z;V@C+8aXwjuf6 zFG5zcvmqmp#Wx+>AOjVdQoAlF)J`=0AfiwHp0A;Y^FNSxnK8Tonfl(B#OKV!m24aZqXj7Tb_Is6ZzA4} zC6JIX3_5d*N&nH8h+I8Z@{0|wif+Mr$J6*`!3%OH*BxEn1@PKJfGJdnWW?6JfODDg zIK4`YRq#2>PHdmcUMu^DP2GGbdbg8IRd`Kw1SaRrD|=??DIq2)?Hl+B#X;l35JC?< z!OTw*?0IEt_&H@QIV`b=#Fa~d#85Y=&UEH^%6!0e{bl$z!UZY5E?U&~k~m@)YU84%odg!Y-#K%(za zIv!$8{%;@QE~IbkI0(J3hF)+1v_vWS$t2w0wIfy1Bd zL41;%wVeN=%}W<_srrCgfob?J(gok{6u|q1a@Z{2Pnfhi=(Sh?!!JuPU{IP(>KMWE z>4|9K@V;7MP@cVNEx_(sV#)rHQ-i9VEX}BiB9EUWV1*f?sY4qo95z4=juG0Q&_IP$ zZ#IIvnl;KULb2}m5dTR5bwVZRRkHxnF<4J4E;z#cP+i99Oc@l;uHZ=U#LQS%^QRZV?x; zw(0{#BIpv=Mc4hhL7dEkK|v{$x(DS^u1X5l9!#XOzy75uT{A%Gf-yPg5K7CG?@;wk z8ARie0=6Gg#ZD9alHxtX6WMhk7}AIoJYRsRbu}#3%1e7igkB6 z09$;$VSir&1kMB4KR8GNJ(D5bLZ3D!9ERh?Do}sNm()M+M859bWbWa2AmHi)e07Pq z>W(by8#0jaIj75?fF9F6jOPg7iSxk9y8L&}JnmKY!8+>G>*pF|%;QN|g zu-W?{W*NNXK8xKBHhJ^O8orZ^tkN9jFkd_j7ML^d=9@6z*Hq!&!6^2f<0VYx0^DA4 z18y%-M`t^@lezu*aMc7M{g)?By`-qteXhkTtMV>KNt*RlwQh$7#{a+i)@UCCS&- zfcta;g*is7Uz-{`;IJI%#bAKg@-jc_ZwcKSAZ*ONtUtgvb&&8Mz1$=n=)izY_T+FJ>Jjq_Xe-f|iw!ytT zCuUD@H$3aV1iWc>uwYIOeeQV*45qum63%-vGg|-`IhN4Af;_$qN5h&HrujsyHvNv7j(s3S4(dfzaqzgJ9q?U%4e??ynU z!y~e@_W`kAw+vFF{sMIDVl?cg!OX}WlJ@f~))voXH=k5y+Y78%d&R#*V<47pzV(Xm zN3I6N+gy&6elXR1GD_~wYT-SON8FrLgpolr*du$C(JE0Ci@L>0z^rg6Rk=@kewo00 zMM}+GW60iteXuCu9K9K52TLYFZR_kFtoGLjd%t_+^T(S|+!GCl*2O}{_-yDBPlc9; z7BB@%K}STA`CZCkVgf56sW*s*-PP#3yK_wFc#8XhlA*Yvod7Okr0R&7s9`Ea_$s*;VQw$P&r-%(el%nGncNQTN6K9 z`yd1N?h2Ufk9Q>D`V`Qr(WiFzkFXzyi{X%DG8~#M2NfRUXc;kwb+O@RKTQ$D51Ixv zX<;K#QxAeo5pGy<=^-{gE1~Xr4G?o|rj+cFZhRbxSA>>y=t99=rWKMsA3`Ab&owB0pb15|G~#Oq~AUh=D7RP*L0 zwprel6>w2yC6~UXh99Kqg2l(Eua+8~+4l+#ts&%=V>zia6oQ(?-qqo@s%UsU1vTX| zQHI%w{wAA&&CY=1p`q06TNFL1m`1{+?m@JE2eCZUM~g`|EUgn_mGw1fxV#=zSSd5t zIXggPiaD&%nFT8QIIyI25eUq=1f83OaTX26-KHn#$-v&~zf)_$X~>4z6sye0u8?6Y zXWl1Db1aGH1}O}Cu@LqrMC0@+(wLbR3vEu;+(XNxX+w)STy589;-6O2SG75y9E7}- zee-C?8+Gz0shn)NsSb^PdcfIbN8S7Vso&T`biAN|o2$iON#{B4C3h*(Kh{Mn|Bce8 zCwJi4#VqZv%>v0cLbzD14A19iuona;@RrFM%7VfWbucJ42LHVFq_#&Yx&I{yvRl3uqg+rTe$i3Fv&KsyL39yFw;sgLYJw;~ znblS9kLh4t44APZtVVGUKJ7R|H-8EPlTY)oevviq4E6@|`73ZmLNj%6LJ%y|Wp3|a zL67*8sVfF)#+;?#Qgw?~ywc#B7}$~Ay#~;|zK-lRJBrR*^qJKuyBWK61(0lH$mo?_ zf{_^+kn;8-Rj8>YIwPw{vY{KjcK&MhH*y`hzVmq|Z7$4kL^Z6czEdr?@+NrBmNk7O^@0j4r<*%Kk0&rHcl)lC}R9!>mLDMs>L}qtHG80ViJ4xSmb;)zg~% z$`>XpuPdXp#bdMNbU43TbkNI6l6&f)n&z1ZaH=SrGe&v>D zJ7WdsAdKE#!R=s^spst&Dp|Fe{l0k!ql5d<-Q5_!U=B@l`HT`f-s1On`lRx34{U#s z4mL|0=z@xHQd*yYult4A#8wSV>*R6uU1m|^M_%+oO%#fkg^-DF(IBfUk6N7;tkaq@ zyrU|CiaHzFi?=H%XUkeL`gtifC+xxcmO;9X8IEhh&S4{rVP(-dcAk&~d-<0E z{)9N9qss^Ct0YND>U~V%siGGD8n~tu0(K{W27FUv1HaE^ zWChmE+=hPztjMOKQQUUSf;it6L1Bw#d~stY8+^ftonG;h9(#HRH7~f(-h&Dtt}+W( zR!XqrN(uONhZXD3ufi5ZTd?$qGt0lA4HN$PqMdIpkXnoC^{;JV@t?D3sC5&qoaOOU zo%Kc9ft4I}YbR9oke|im7yJZfl=Zr8> zy9mvPLby*djEUTh7NS^I&i#-&Qps1$&&kYX=>g#!@MNa4v$tdu_lJYjBPSNUk9DEL zx>OjI`$lb!hk<2L99bmW!Ii3vg@fMpkn;HnDbc8+@)irQZT)r(JAD~9PEDmBYHyml zs>MN#a5&8S?guHq;~|OeVj?7u!s8jAi1ex&pqDN{b;o(k_d0_GGPlWq^kJyz&VzS3 zk6|GHAo=A(n7Hl;kdJ)}du1#buS_K-M&b)(xz~~LlEdU*xd+bKmBQ;7?52AIOYxSa zDA?aS4_}woz^4&srt@kBE*#kEjauIQSdsLe+a@9k z8#=NejxU33?8qXsr=P%5Z+Uj@x?iX*9Lk-sWCc9;Ri&dr#-JTg#oh6|6sEs<1G_ci zp!FsYudT(r;RS_g_9hbQ&W7TRCkAZi= zN;pcxlD@a#XxRzh)kk3Q*;H8lr-JLv`eDl60Zd{SupM$yxMh|ZJ~-VDL1Sx}*`2w} zvfpc%@rF%sYI%<&qClWj9ek$9fbFG7G~cRE>qZsPFpx)D)YO=UP7CIsz9dui$qU97X_AAA zuCSvHp=&GxoIn2IJ-Hl2IdZkQUTvI=r3;~|^#InjzM((Gk;mu!jyPI{khY>GVrRFL z7s*-4^N_hqs!!|U;w4w`T2B#4_Yq^KcU(d9&EM#$LRswpO`(46QOJtCfP&L~L3&pp zDo@B^WP>JN*(kzFi{8N#o`2|t>;mMMyAQhGw?g&V_G&MuQ;-{pWd652aMZa<J4vNACLT5LSel^A;e#AB`0rIpz+V+Y(VvD z_NcoSxwj(;=e|~_zpin?>VqU@Q>Or-S0VhU6DoS2WO=*4;?sLpY^Vp~!V=90M*MLOxQXn=Esp2#Ow$U&E?u(zjR|+x%Sr4JwJDoSQD~%`=Hj&yIym0Q=SK8C=Pmv^hn1OGiEq|?gG(UD9Lv(9ew!;WZ>28&H?|(n)a^!D%ThRL zJqW89c{uL>5ye%bXttOW>U;b~1^IPsYgQTVayU;+WO}*J&D@}YzJyH&otPcDagf}b z49{MQG4qD_G5)s*Tao<$+2I^I``HgugPYEr*BfTQ#)tzXzV!jV8ehx~{wK+x)Nwjt zYDg;H))HH7Wybi99usD_{zvsIZ_ zW}BDHSd=QI7tNdrAtyRn7SAe#jPLhfk4hYQ-?`*`uL^I%8g zE|7b39R@H0+C_9h$?hzfdnU7~qPl(>36NYD+5M;f)WZ_QW6L zos7epwxx>~yf+u>=enL-AZpItpsmee=1gI?}l9_!KsDtpHo1mqXtA=)iCmKRM7<3^zYK1OI*kf|gAjOZGVo zzk3JQ*Ih#XlOyQZ;lM7P63R<7h$7pb$iPwgBM@Yn3!~g1yqXD6$Vdj2tnndMUe0){1qxP=UKkr$YUXt&pbW46$A9Sen;}KQ#5(X`xKD z>(B_z*GnUs4_C7&XUjT|-^D#89-uuD3`qukyal&3Sk0?CZEd`;cN6MpY@!Znw{hjL3M=zS z9azpijM!koUX<&nAgK6D>2jlT3BAs$H?3+FCBe2rvkUnKjqBWSdr9c-4X0nd5)z^G@D-X~LVmt8Gsv+E;H z0Y{)*A%%E2&4X~Q^VH|dBl_U$eEPz01~HH1;#{X`@armvw0G%YjlVjCw)?}Sa3_xc zby!JUxI|B2+G*S0{9o&5G30bSb8(9dv%ICS#SE{zzHJJ>;!b92aN zbxE?B&A@@Q*SOAaIh&kj%1+lyryBehu)$Xzht4Ws$BQS_Xk?U{jb@-#lO0yg{0ThB6+a;lJ7ul$#dc#Fv~vq2@hZS?+!bzS2{IFwv&fQb^Kkh> z8%&q$Cadi3bB7hna8cz9cBw}xo#lKJgarAS^3o8f4BN=)gukIloB+I)yb0IrS`K{T z*J=FyM5?(nn;M2sWA?2TW42EC!4Y?3?$3L(8Obx9JSFp~B>Qzc*YZm{sdZvWo`N4w zfG-hNhDd??1AbT^9SF+T2)_Av5llw|$!@(bAk=$-^PG(&A4OJyTlRk5=|{1=Z@W)Y z=7>!NWk`S_W$hPvh4=0+WDx@^C*KYVzcKm7C)9WngyG+%S?kI!uHz{QZuM$Q zUQd}J-CvLZr+y8Rb2Dnu_oNAXFRlRN*Bm3+fqUSi`DxfTSCG@PlSjTM`{2A13GmBR zXQs*AfvGzm<14c~a`|c!M&_Qy2_+3OVmwGIqKdi6CWZ7Pvy69GrW@AplV+AY7KWUl z9~l1oBzmNlqq(>`+eYTFf494$p;j^{=*N5R$rT2Ww)Py^tG5JF(n5*~^B^N5Q7ab*8kBu_u#eWns@4Y0QuP;LR zvyIGJTP0?e>q=(ID-Iqp<|74Onbd8vm!}TaVbN3x6bzPUPTuQ*jy^SJgWWKYdBRMv zs2KCuvXAnYoWrJ174$!uKB6K9P~@P)yd3!i)k6`mD$|BBuTy8T9N%&IvVQZHuYALe zGpZv}+j8Kx20wF0K#{pEw3eB(?<~_25zgcktY>^wrZVSN3N!cB3ZeRY8t6EBg3{+W za7c868xs2=dPg5|^X5VB0UhR2`Yo7KD?u_2uY)xK$Ki(MHn{I*%G>aGkmNUo(6Q40 zc8SVmsz88H@LC1Bf44rnh`V@4F7fOyGT zxOY1lQkrWZ_}+6cv$;r|!UYSr16eQfIc9NrQ8(LW%Leb z!5jBb?$+1Apu_sYKb=vScXgqsKAiy?vI3Uv`G#(&iD25ud_w*>r$P>sI5>zXjM9v4PsHeMW|j zx#V@76-f@5&h{TU$BszK@xERQ!Zf)HaH;t(<*67#>cK{`!gY+N@lkQI?sJj5`z~H{ z^I_!|3$bAht9jRre{koz@Sy66AY+m~l~H3Jf&e#?2o^@;+daM1be{$*F7}v?e{TT$ zkMkKexDcdQiZS;8rZE);2;3Q6@J{sre$jr8Ci=zr;qV1qZptG!2W^;7-(;Dtr?rqe z&zUjUxsX|Hbpe(vI}iKiuW&QSDKPuPBTBG{VHcY+Q=h+p{@7C3{8E7VbyJer6Y(B2 zC0GzosDp)*uEWa_XZ~~*z+Ja7*ks;Fu9h))(XEFT+_!_Rl9BN3{aV;BSVm7xui^ST zdqVZm8rY(04Es9T;gypzBVT9)>n}efMI}XeWx5DZElDOR(F^>_3_y3LA5;&1C3i6! zT8oQ;|M@OhKPJmmeSZrRS;ma|LpQk89vyOumVphA;1vVfFvt`N=NC zA>Uzm6h7&dFT|PI28+S+iy2Xx(Mpq3v$5ajA~_ZK8pIb{F*ALgnS4tjX72U*uv9A? zp2tlGE$tDaa&ee$8Ty393b(LJU?IH~7Y)y6*@Nu-Zs>jT8CLj7u{QD-Au8ZA5$3B! z`{m*6aS;xykr;~~^&XM_f-rK*cr{cWn#zbaBSe4Mij{Ge%x6gvMs$1_HMVbJZ-07^ zz1}~ddA}Syi!!BQ@B6qDbNTRZK@6O6TgpEDxQcn2ah3_I{7t?W`l55v3*Z*MgdUF< zyrU$Nc+3l;0go24o$_J4x4(S|C(@0Xs1{{x=7wR8l^MLO_J-$+|Kn8&sX)ol9@txI zjQh?yu?HV0W7!!kP;6;}410SNIj_my6!)h)wTyv63Jltw~R=fje&U@ z2@svmhnk0GfT8+U)<$#%{@s@eALUxV`BlM0VF zn!uU)rL^|q7rM7HoH%#qLHPJF$p3tc{%m^aQ<^RXCDFmk>b4DBHQ86MHet0 z-AbQ4(T0?abU1$`8^(gp(U-%waV#QSchQKtrhH! zPwPIw%x!r_qTVk+?)V>=S2c|*U@#AyR74@jR+%jP z7mH#~&fuHX!O(Ij1F|;|dRaFRKIdAX=JE@iWoa|fes&yct^NPxsN-uGzfL8FJ9~^A-JCnMrP*nNR*nEQMbu=Ru3UF*vo~n>;%e zIQCabcj!ten0k$v&OJn4ZnlPdOPaVVBx`^Shl2U|F9=+qO;&H3!hAOmgXYblaAS@m zjmYjI?jgc3^WY_NRV{GG^%>s@{?Lf=XS~ zBkxpig7N1n&N{36u-GV!7Cu~qc|xgp>PagW*o5Mmu4v70o&{U;fx&z>8=)Z<#nK*FFT*Q=-h4kTAHuF$$WW8FGJEB@&IZ z3~l+QL3T_9s=HN%P28P~uX5sWv*J#u^KPd@XNt(%Whu}cb)4{t>jGB%C2KyZgU6m| zc)T;m^)Qhw}>!B{y;+TG^oEooqO4<*E!}RXC zxQ%0oJN`MN(IN>vaBm|G)Tl?Rj@j%>`Ty|vU?{P;K2DteSkazWFS(^n<@jIRCw!Vw z28+c!(Qug>8}4=mn_p~X6UQE4@WMH;Vu>xf9v#6W>ub?AX8~K-#iC+sF714N1E#F{ zhtUtRF>@#m4USsD*6ks5R_bwHZ~YR|z9SZwMX9roHjd!CWO4Sng#taI*Ge0iS5W6R zjnS%_&TRSN3ms_^aA^Kpa=vN^`0Nd^EcHB94Ao)ViY-{Xn?vYuL(riI+K+hH)TWiShJg& zHJC2`pRoOQI^(?cAfpj1!CcGZa(}zm6S-b5G?}c8e}e@+w-sX3wicq@v1zzZ@dzBS zXy84FGla*A0r05A9-6fJiJIjj`hG+Z$CQ@fCypoC5S9)_7SCXvH_LMv-o`m|av#LH zULo@eei3`eVn{mk0g8{w!n5YNpra@QUYt1~kYx>Wx_r#zd$}Yr>;>=9_z>kYH6bBO z{XltLKHZ}<&I=zgMz@K_$XBusgX~(k+h9Ktolrro>VI@;R2Ggb`%RYXh~gs!X*gXM z4a>YGadgNRs?U#czkj@j*E>BHk{Tot4LxNk<~7~T|Xrh8!$oHY8555i+; zewQLzKqeLzY`~g*_OK;H6;v9lxKHjjfc7*|=5nqWJ076Gmc{GgN!~Spt;(w_RraMey=6rHyT7LO6-pj%m zw`LzWd|?)8G*^WQ))~|e<}l09wcZ8?fEq2*moYk%f`Au%~GT7`>{1!9()Qj7S-# z{>eh-b4@dJE`1Em8?zYaLx&mdK`D5nf0_Ggt}tVXY@aJkK|Vm zk(%{d7%QNN(?8$DT7w8&n5%-ueB1C9=Mio=ZHpskn`o_HD&gHTfFJvv;FP)-iM+WK zTW_TjuFF*Xc6tY$=UY#giSEPSRgv_mSOq%eZim(>u~6pn7M_WGf-0#_=>A&{{3mjF zKLYIWd3-!PSXcz^)-&L2@FST0(2EH_BLPmPQyHJ<5=`8(I1ukl1W8bX(PA4+c`62h zza1x?Pm}qUb%M#AX$s$YPc|Epb@pd*mf0O56PAb` z_Os#XVm;oVjUEVSrP03|^w|L=adud?08elIL^Yi(sc>^U3J0TU#cW%Y*i??D@lFtM zdMbo3a6y3st=PaPz%CVUqc7vnQ){iI^yAl$`2Keo`T8&t|Bbf8x5NMl9OFmBDT%nM zQwz=;=3!swM_N!GgBLtc5R+Z6cu8yClfLL^`1w(Q(cG>_de+O68S5jl^6fbcG0vkG zbrR^84bo(ILl!U6JCGZFsTJ1lya{jAR#VqomSpM%zzo~T2!d213BXk6XeP2`=oITkDM0Ng5C~U;2v}W+wU(yWOA1; zvd+cuwH)s2uQ71%z!b2lwwk=})%1&n89i)G=`{DJwAOM2_RYHs{LLn;_>o_jHD7^! z_dbOavmZpVAmtD|U6I6XxM`2oslq^E8L#ei07w#wrxD>ws3Z7Fd(>9zT2hM((S#5bjqC9#ho0hx7H(x~~gs8cyM=k%#CiW(>}X zZ7{LrItVvPu}!k_Sg=CqGb&-OEVf)JF1`BaGR9MzFp_8mGnHAOd&N zspynt&2cPXV^A_&{F?O@lo~uepCc?0Kz$Z#a5V86>)p zzuNXg#d%#|Apw zC2zQ2w9gVg#%0Tut~k3RaP;HR4ff9&&UXW2LEY_tO^|5Kq2 zXIvq{VFB8(t7$@30u|6R!_>15B=8{%4^P-ZntcH2?C3_rg?ivw8HC+=H_?8U3Hy9+ zC4P0eMm%p#a>Lh2-kcKyE5n-cg-bJ@dN06wx18tYU0VUyc9&xQO>=yiZG%z~cZrh0 zA=>s=78mMF&|@!0>CKuM?3wwsI6D6iDp*a>S;=zrAG z*Euw)&ca)({Ba>)1ZnlCB?oTD&?F&Y$lZ4mZkD@Z@J4Ywxj2`uY?_Yi4v4T)CkC)u zFAzrN=A-0^QJghWNB=#)2fPRd`t-I@zY`h6bEO+Gy#AihoeSWpX$igIyc61$I*H8)$+2cCnz0qmDbfts*z)8bMXW9)!FD z*!!;y-BSzjiMt1P{{)2_k1OHHmkVIGdN*ifC6J%50T=%5r`wf-sgt%oo@#Z+Zzg_3 zMe-&o)G&ZOo)xfv??u=-&x_<4NpMA{l+lA02QV$Ujn16ujv-RL=>6K7e5-7O-Vb9C zY~%^^WeebKz8IrBuK`MzR*|no#<=MaAFouXis$CdM+amAp+ZrSCvrClny$@(IQ}9) zr4sn`My^^Z&>4GD>o8Pu5v?l>M0c&7(AYXe%6q<%t!)iZkR}g51L9%SF@z_h(n`-f z*o#}X@!?d)ifsHancX#ZM046Iy6XB>_;i7vnU%jBV=wQ8KPl!=Y7vLVug7=`9p|9r zJ8`Uxna+(lEKhQ8&!@tM)!6OrhaJy9<;;M!t8@bNzLDQ*GJ@ z^W)dS9?L<}ax;aRiY^BKFZR4Jn}^)FSz-{Yd7FEtDTi|GMX*({n1p;l+V(;er%(Jx zwr_sMHJ1EBijP=B$CU)?_F^|2R$Yc`v_-fxHU`1YC=N=RCnK@bfaT#q$j7J?wG}&o zuhA5f>1>=_JLG}eFgdif4(rW^XvG~5)D50P@*4Em(_yOkZY+;F%$j7x`E|7U)FQMH zinl zxD@Ojh=E~dH_Vk@LwGZ7aDli8%^mFqf-&%$JmgpzFXtLuTnIyw_vzvH>A-w*K-&Nd z22O_nr^JQ#`(Z2?Ofz8CIo3h?h3W8n{4_K=@gO5o366YsM!q*|@Qz*)*)yiY82hef zTC)9_4VRX~gY8$LX3BKv^UMS15*f(st3e^lA?%C%i`lNm?DQH@tTLO-zs4On|F{wI z!q0-a!gXF>ybC#>yN1_relA!gUWb@fVsN3m3tE?KVeTN8**YY`or-=%IstD6~|crFGi9z`^JLG;cSp7(;LmIRZa#0lt;-2jh2f8&;~ zG)I@PN>0l22e3q6r*X}>W_hxJhI83%k=A@NbG9(x8olDuf7!}EN5~T@b;tKBqKGIdPCsH zV00eyLm~5a9Ok!#w?o%yfyohg_V*8-_|=TphV<~ajh_Np9XuS6^ z${PY+OX;A~t{PO!%Fbt3eNkfDu4uA1O}0?67iYoSYbg%wzDn&%0x>fD1rf;+!1VZ3 z^q(7qdRbA}FZH-O?&JsZLHr^<**nVHuyYj4uMFbt*bMWSzFLhA z{tq!Tt{d-U*rUCrGk%yFhhatxr7pePkK*6);=UiW$^9H=3YXAp8W*wO z`3iJ=3!U6cvNXi5m$W*F(Op+7xuKIDUwSSVht~#EGD8w4^e>>sB_Wb-grmX&5X>8ODS2=dxe2 zia`C|MY!bGfI`m4(CL*3%KX_=Rq`^E_$LVg{H`LKE*V4phpX7`7KMqm)0m4EFGzUQ zCk%HIVEd1pz?TY_NZ`3fTDfF3zW#8YbL93W^ln?oKCOHZpF8x>i4IP!M4vKc+TV`>off++OD3?y6Vot_MS1ExV#YNSCnyW zJX-KTMKitoN(zqO@WA-v&*%~Lt?bw1Qf%6OQFeRRBJ5~Xq@fmP2ek!yOsYr!F5|K(#k>u@oKh2l_fe-eHke|C&m{~O z*5*{4(#S+K`~SbSh7y#ZcFzU)^kfwB7&F$0n6e52#?bswhHKl)&wc6mV)#N@mi^%K z9e%{GXFBW_Lc~oL(sO0lt>4|*;II(3|M_3C$;XbSuh7L2;*2_WbK!4s8TC6n!N@q+ z)655Zz}9dlyZh)Sc5!DmZy-?s&wgKyf6P|lUj;*OP<=yB)a6k3`R!mU^^MpxUI4xS zy5V}-8eCm_gkuc1VwhGmJf2((b$SAj;yVQt?rE@%gN|&%ra*G3I_BT}-iEbOR^Y7J zLrs;d;6=6r`=sI%Xp7qbb5n6)j46 zZ?t?cOhS|nMZ6`-8J#4-I)}<_KZh6l&f>}(X*6Dag)S~P!iLr9)TtquUi2uSa}1VY z*VzcV`^5=dmmZB3lCSYn=OiYHv1BZwdPMq_IL=|^Cz*(qRrTqa)RKXxu4m#SRD1=PvDbR zl5}PEQmVY-4hS}iu^~13u-#Reoy~Z&Yy4k;c9;jeO^YFUI>S^wsR$rJi5(&dt)y7efa#(R18ctCz;{_+D=_FeEzE6$OIEKSqD_cZ72QPI)>LBsn-egcJ`QUZZel;r z$%A2Q1*YtSAV?jbi*-BYNo~~+h}_&n7U>^lCS=SY?_>xxnd`C-{6*L#jSQk)Geo>x z3Q4>4L-OOP41DLJVZ$GBSf3LOVV{%1XC;TVsRy9-#CNdTQ4SF`??}msO5*v?r%srB z#TOnc>08|~qLyBarxtgShPNrm9h%Bb{+-S)A(QW~}74r_lT;6Wnt{p`YI64WF^c>5IImRWOomy6^`r=J-7Cdmx|J8*E1X2k7dYS- z>8)T_XvYpng|oSdT5Q6US?oPu8#sO57h4tg;Fv5Ax}9d@q*Q&9*V0Hg1xCUGlVH$Y zxs09v!j4_9wvbI*I!;oqDKpD7Z-PT<8~l`3gbH+l0`nu}^hznJ?$$(O=DU;B(|)Yp zt9fkAr(`Owo($^?C$oGO9IR_Cq{nV|F(xD<;9A0JaY804HC5cKdfRI%4!3Wb%GPS=2Tx6|&~2K?u%%r&J-mPYiW; z_>&x+9GHK|9{vtSz+|6gtgD|q{PgO=?FtrLt*QaHWyNAhzV;e|Mw1Lrh-6WzP8oP7 zbsB9ht>GCLHjzpn0Xm}5il^&*sh7b%IHf&8M9bgMJ*|dtv=qsPrrtyzhAfwXN4yC6qJ)f~u@_N18UfuxzRcXz+q}9A z4}ALe8tL%83G;&5;h0oy#rXtdxZR_J7k{ddIju{99_*)=4=*QU{}>}nji1!b{sDE} zUf`+tlxJk%h?^3#uvpKLxxRcGs6A{aXD)gZYxyhKeYcx;gl`k6k_vzu2Mh81F*O*q zFU3oXZqwc{YnZz04axj$NAv9s!26pP=3FzumhN@<*0h=G%x-|f-jncf#ao>G$_mcB z_{1Z!74*pF(?rj@o58ibpTK2+ z0kCXIfjOtWu-4=)8g9vEGKD6HQra6*8{&ywW6J1wpa`dwUq;J@490_mk@Ks+^3LpX zB(-HL=)^-!dZBL}&Cn0w#VTZzFBfLfD|y0j@Aq=JI+#V|?&{EI`>*1QA1@7qW3Cf5 zn=N$a_nV*_S_u6y2rEJaVdnb95YqFVJZiKc@>-&F+^3RsCOBe^pbz7^q_yIxqdPgs zZ;7|=O(uzdQ&IQWOs?gG6nDJpD)+MDAa@eO@m_}oF4!W<9ojnskEpa(RBg>Arf;S3 zLjN;7nkmJ-E?UKD2E0X*=fceu11`c>jHjHl7P-HASS(&o6`C}uZDbDaoFmN1HLv3i z92mxjJ@qt8Y6j(-`X0||t;ALP4RF`y3TpE}84@3#!R%xIJYt0+*F1Y6_x9>ne0IK% z;cp+rM}1PJmft#$J|R}ux4WzjIQjWTJuF%m~kFzO%{OVleN^< zNST|)+szF=KgqGpf?St}3wEuX$*#1R0A-g?kQ|T+{ZSFnr)m%Ng4&QA){7_GM$x`b zm@{qWaO=iBjC#~@NOw#Ewb#fi{@X$>CwM~kk&DFgssn`YI7XBkdGOW41Nd(hFeR7I zL8avg&*t`juw{oJc>a}zxnnjUHl7c+A1T1&l3=hHu7;Jyg^U*MhOJwpLFL93Ug>2K zp1fEzSbm%fR@+_S%-g##?tBxRT|beITo*L&od)w%N1^=tC}ezm1;(2Kq1XlB_Nq?u z##98JjJgu#&}dA*yK?u5HVJdl@P`pDXJ~y~a%Dor4HIzcZQsotKX0 znf9n@<`41bl}Nd#FgJU}6P&Cp#l>$?=H3aN!rJR`~tPTr8`lC}!4#O~KKptzbXDikzG_7hX?^1+6YWsJrINR&@8k;igNZ zNA?Z`KJJ6H=M-^U$|&g&p2hM@=%dFgOI|!*1Qc%eg{@A=yXg0f#d7#J?b)(wBCy*UjhjX zZ%Tx#87tumOv3n$LY!o#5=y+Y=g!pl(u|e6;m*T%q^H50+2UQQU;6qv{jGa|`c~%S z)QY5vV~O8!qwF&jb_k?NIwgji!lhslNJIFM45GZ>imX+TB`V2Mp!6bzmZZqSVX<_| zM-Sk~EuWboW)3wSm%-u|UASU*lO$C!bfUheyrXhD{zwqPw|7h+P?Sf16LV3wX3Svs;3dZ(UX3e+aSfvxjl%11#=FKOVJ*k8qLl|pzYHwoU(u)%^e zcIZ&=P5Unzp|$@eu+8o!H6Mi7BLbVTgufa2U(JG(2QE|D1|`laO`G#Q8%uxsbNH)y zFJ3jzB&R<;fSmejVwSs%v(OGAhx(-;Be)!`W*_Iw8;+uN@?>V@?M9q)=ON{vs{k=g zepqp?8_h3gV_%mFNOmh@TJ|?gJ!H(;xeJig^T^YEx&TKV1#rnzes1v}M{eQ%w23mGkK`B>z473VJKDuu5YB z{pZa><99-+dhG~KdK^ghR)`btz#b;KA&>VXLz=lqzQlAt;KDJTd*QHnSOY%1@=ek!t(hK2wUP$ zAyS_SJGulveENjlxo6ZxTumMrYAo!+a3BBVz^wn===H|>hbZkr)t!#90Ye^73Fhnd-iNfFW z7IC%7_i*U2JdO^g;*n+vE?l?=#WuV{0f)X5)LLkqh6j1kg*y+C3-9hh!HTU=RJ4+;;ziL@ zeqlr~+ZrSzZo!+9Zk(sS81H7xgO*G`2(`Weu{UNzg>nRmi&4WomvG*Di!3Jl%m(N( zSxcY4??t(#^C9(NA|1{Z0;{tPK-M0E!_Rhtio{~lmYt5#YHLfz+*-&lnMfQsugG0i z(}kX(VUQdMg0h|-*gmkGbyqJ1+vF68Iv0vT}7@s*G-ijQC0-3Aury&#UV?|lsLvOa^ffxI2VJ^GA{3M$*zMCC; z+zgUS)8K4dFkI}r0K;atVV@d5+ghZ~*0rw#5-7qN*A9Zh1{L=6^o7u{+KG2ua2s*@ z^qM3ETqcum%?Ho93iM)GAa65&AX)oTjJ>}#6I25)SExTf2%EQV;yJg7!eMhkd~{ry zM7le{T>lco`752U^wA+k>(6QWMZf~TEuD@}Hddj1oIIGBNaGLJjhM_+#z2SlG&Ob+ z*YB#2i7!8q`(OvB<9+e5z9TMDHK8{bw$k@|8gNf|6s=EuV|bv`7X??(KpFEhctbq^ z-IdF5cE}v$H~x=QI^U;{zog*n<@;fGybM}rbdoA|hTd3R3cAG$qK<|<7RS%TB{w$` z)$UZ-knozgI5^M;93^Ed6`|ks88kTqUWm2Chf?9<_vz;;Pq27|7JCLll>9y_}3e9m-%2u z{y6VuL=bP~Tqz98%LKDXqkoPS1Y%O3@VEE^aAH@ni%p%Nb7KW$_t`_j{&%1&zXq&E zCrFaM3~RmaDh#!U(u32l!r-I=!aT@>I9qAz;gfaIkG?%D#lD zCMM**CqtjV`@(zv@GE0|8Ofc@#kiwk0R1g}v6rFPk22ijh(g@?b2S&`AcSv+bMey! z1wfTBIP#>1xE$Js=kH2$im@u3g7gM-J#-siu~)dZ4@Qd7B! zR}e}^=mGhvdV#-$gqH~8zX7egcF`wz7NJYa_eL~hr2}9cSeV0uw=XRM zk^T9!JK_i;JA=Esy`Sm~Hqo@@mY7pMk9XEK9BuEs;=4=Z06 z(Sr-5X+Xy{Oq_X?OVs#|zkrR=>+zvg$R@t&3pI+vRZTn=h!kUc@KG z9W*5M4%mbVvI^2hOK!Fp~S@LL7%V#swY9(;*A{`K7>UKjrDTZi3G&EWCdM^G%gj{P%Rn2kBu zLd;tlNnUP{f%}w~SiuQ%tg;X{Q%iy)KI=LCmwu>sNSdAWsGU5Vx}4roh#^jr74+Ma z1Ty16B~2;SgzU&{Vj~?-_u1>i^wT-8)_ObGHZ4Spia>I-*omAOyuzC?C6CN#pT$e! zX)tT@GofJ8L!#gs3Wag0V1C>fzQ+y2Lk|{;mxw}ZrZU{;5_w%#NJeuCnA}5;;iSJd zBo5{il|S;VhT0_dTY>-!JEyY~cf;Xkpa=|>AK>LmeJs!IT@A;p%Se~eK2*AVhVn)E zP`k8V-qG_uIBfp`M!Of12PeCDF+!q{o2EyKPYuFtlNv}qF&8x7d2zWK2RXSsYi?G? zV&a;XO&94E(8A0actT?io}c@Oc=0>InvT!#-`TCuAQ?#pCduHs{xlS-j>7xFqc|3~ zn3KcuScNp2~=! z(SJLLUD+1c^=2D7rO0zOd+YFMxG|etG#Qh9%+W728aL@U!+X_UP|q-c8&~I&FnR@> z2D~}jE<-N6?+I)j-Ot|35`&1cs|3XY!A{~D%+L^LFWxWZ)#c9vxHy6>J(syl^|@HR za|HG{MnI2BF;#ypg1h5~L0LEg_W4zV*NR_ckBB2$$9LfH+c>6GfI_v4Hruez%`pA! zPx^Y+0$5=dMYh`8!MLY49A15gG5ZxxcHMXhC2n8f;l_AyEq;shCSKu|56@tB)=%gu zIYUwlwaAS{m%)-Gz(apqIM%feQsrku-)S?dQ2GffPZHmpBFgt8 z$fL~$tl4T`c%HtI{POhTDS2CB#>jIb8COIbs=bk4iowd>d*s&6+hl&QIty3d!Rf*W z^zpGzyp3%)D^^oms3})~0^*1nIsW+Yq#6y@k4BzJ4#_U=0(ovf<&zIUg{LN5!q@X) zIO#cjJvV{3t&|}hgst^YzR5>L*Q*Q4aHJH~Y#u~k8h8NxiC_C>GQO6=G zut5pVT)F_e*i$tNM}cP^X` zYe5t{h#sm2aExoBRw`52vE2%+lSv-$e6Ax{d#94Ut{d>MK^uu238LaXQu??4)gnXO7#d$mb!{^2hGq*F$N{p zcvI_l`$3O)9-Jfvc&=_*up+yOT+FHGWh6S{_`*sI?mk0bm;<@)7eEUewNY?P1QZN8 zdLZjDp-KVdjg2N0{Z2GI`{N;9My}G1$RZpKyM@2Clc?%!F|M^W52uZ;qhaBZ^nNvA zEUj)3Y;(n-S%>k3us)a5V8bz{l9>1RE7S6}w_-_tC<^ZtXRVo?uw#f1_b>lRY+Blg zi=HinWK#NB?K!cH{)=p%D+b4WgN5OKKq7wA&8xiuwQo`7fO?wJUr*DrRoJS8No=5J z4b}RYju$7fXu)?47M{KYW5JrRYSJsi*HV>~Nff1I4J8kvSU45)gbe@8#J!Tecxz0G z(>~aZh94MmP$!i6`>qmq@vVc8t51V?a4t<2SLLE+1aT#)YdA-3!gY3PaP+ArF7kH7 zEE7Re$SgPbA@hRfU$LVJ|7NEyavgU~M4!9=MuVGC9>&eHzm74tcaz8FF3b~?ARZed z3gx?F@%_ucXj{YLr)#HCAk81MR`nxDzokB16R_;IBy0XhfNgy80WK-OA<@ICsBMvp z4oSDEsP`toF<}s7Vp&?!$abz>#nxt+uoLb!tX0lscz(hHUbi|zicSbzoArT&t?-4t zWtouGxQD&5;sV<)?ZG~F_6M&Hc~;L(3BpsigFrwh`DSZD60KEXc0e#VU(p5WB!Tkd zopZ2cRE*7CyMT^=&;!2VGa&j{8PG$BxHMWprOpgEy>usi)?Yw}vJ`kK_qT$s<~G>p z97_Ar#IOXXkoy;lsLP*uP-rrp*ZpW3Cic(6tK*B%d$JMoX70dLp;l_xco0LU)|Y=a zGD6FQ<+$Oonf`}aWt1Aaqw}HrIQ75_v|j3k2ZQEvT}>{S>?n#kkK*yfv@7(rbUkf) zR6{aG`{}gJ%{adN3QC$7p}5)&^xFFlt;IGn3e$c=gY8;+a^V`Hdd`YbUnhfh?%|l3 z5QJAktDG&I(?E{5i_LlVE=?{tA9Qd9YVu7|_jTOp?L%B`ZqlQoS7A<%0Bn!%;7K$~z!&F(RQ-(=yzM&(olkVh z&!4#v<4_CMrk6sjwE*)v*9fZcAW?c#Nncmz(<2(Hl)rH;Wz$k=$K%D^w%iXq zrVMcPTz}-t_QZ2-shGIy2fdMR1OBWC{aqG|JKQNQ?fU0mgOj*@ZeK8M<7w_#=XNeY zox|7RLY(?_Q(RiRnZW@M1 zBSfh^5!cNx$GN%-urS~usto_ZYs(e6qW@-c2bAMb+>xVOrUX&5*8=S9x?Xtcb&oDI zHN^BeCuzCrJ?37*HQFz(kIY(G&iJP*cgAfKmA(3hW^R&XZ|{Byho~}*?~@zJ>)@ZLi%ZU20 z-Xf~3{03Jz)))-JT0xMtiI4qJwU|xX{)}g0`I-Eh-Uu&_{si5G|mEdnN z!ls-fU%I1dc7`@RCpHs?pQ~WRN`9P?a}nkDOu^QXxxl|)4kDI@f=Q+T(VO2!&nF0@ zg!B>m(`pqwsTPK2-68OPj}N#e-s8=>AV@wQUk-AfL!kCf6%STkC6ZR> zaD~VpvaUS@u6wP*i{Ufb`4P`xrq>0Y_XjPKCvgh`PaI+wsx1e7)hy^AI0tzO`LLz% z9L(|UArbQ(k2@r6)vNVpokcXcSN^MX@M};e0Vap}G zOvU8D+gO%bgx`z*Bcj>9RC#+j+3;;Lny#%u`=c?`bcY;B_}8F%DZ|~YS^-uEJ#bgj zeqQ>WP-fFBE#|dUG_!l%VrGkh5=!ZdliBx8;p1IC*7)TJ%3>mQeQl@WZj1e#7;akMviqYf*_>{L4 z|7Iz2=l^j-hOacMdTs_gnmqw@+yK@uSWP_(onYv|ebDWYW2@f{Ly~+k7;e{wm7A6j zXZ4d%{@ns}ViZ7krZTjLvoN4Jz&y()*RNSC=7--6O1Xeu2LIPl&kFVz?tX7nX?%k=O-msPmTqvNYxreBLh$TZNZ1qkJ=P zT~R0%d}Iry;jLuxY6%b?SB0$nYU0?e1pdb>NtWSpMk7T4uQm13-7`99#7sjf|N9nc zVCCqZ4?#G%P6VfieW5eAy73zIV<14i9?hHeQ9j37j z{#=n?T|q>cS48-IIB4$(#S!(h_#;@3yY-=xDi#Rim!u-Bm%c^P8~w<}tb_2PR-88+ zvV`{i$|DylFX2(QLnt-n9og2ENBo5v@z`Qr?#lIWddV#hN`9y@o42;p>YBy4&GigA zSlq(g8W;R~`#4M!`w8Llg3wqZ!u@zz53)&)JgI|WBx3nh610tn$z}!g%IzU4T|AZT zIt;}B$~^WWmQvl^44gE$0gt*K#`I%(sBi9y=XZzGoE3)1?_>;XtY3jkjT}3}UIG8k z*@u%ef8&}H|GKQi0{3o~#})IgGe;Yeaj0oO*>HLSWCf}Ke;b0wq%u@I>`Oe`>ku;Y zu^c;yOri&F7-7RTFNl=28b*W>SKff*n0FT0EqO0Nw>`*rAv0((?$wu5oe0h0T|k=iUb0`YZ%fH99M z6w~Iwbc5~GMFsvAMpvT&KnV`gEjINr3IVVf#V!J3LeBZ&d zPnbP3x)Xv!mC3{lLtYN(gU|yR*hZ7+`sfZAx}MFfDz0YK26gDNlkUiBrO~IItLX7f zX}Cd72;Ju7^R~ThCp&~vU~2Spy7Tf0h-}`1$EKQcFR~i(%73dN`m7A~tmNU9dwO{N zWGQ2LR2w~6D=@Oxp>FVw-2bs2Mb0aubHF=1HCvqfFK>4_f4Cf4PYltPks_Y8@Dd0r z7lNz`4g9i1gxg){j0M3-@Fo8Pu5Qyqt$HauG5sMV@wq|gs%BE-@rC@@7=#`neB6Nd zYA$%U3@52lMsN)eW54A#qz+i!SI?|(u)&|Em#B9666`n7;l3?w;=O#c0fdgKfRrmA z2o^4brsGmU<33=Bs$LT#EOybh_USXiQiAS%ubc&8ILbxT+<;bXX-ZzCq< zf27-ur{b)haMaRQK@7i1u&}sdQqC({<+dD@E(e0?>2lImH%LRa-$ExQ5=W2jG;q*W zz`n2A=w7Xf`~IH7AsH2L`Lmn!M>O&_J3Em&4_DswrfHm^I>Fbq0Vo~g2VOc-oEmcr zqiZUtnkWyY7TZ?X$Svf3N}5gYE(jrk*D~n-J-0Ezv4-+%ZGib612_@TZ`gE;pKCq$ zp4!|kr1H8qX#9_O$j_uSuA!W2^ef|{b+3q!+95LTGC(H!pQHa`R~-Ga9(_7Kkapi) zn6)&J@cnk=1sXr5N7ODsp;`exDw1bE$}7={tTAl0m*)oTh2Zw)QTl~h4;2wJuyyV= zI#6SQlm13S&&`)4(kl)|PIurFjjJ@|<`gddP5?fdJx=E*+cNuRv#5T(6YWh+v1nFJ zxqFTe=*?Zti#fau%PvgiZA@Oz%s8BciVf>=iDC-xTwfw4jw%zku2|geUPqtrdQSH1 z6_BCv1t?pf1s%<1yk8If>2RheF`lyn`@BoY2JZ_rsn-?9EsLm6_&w}$=i|PMTtX*@ zWT=~G3|H#JaaMOR5#6+znEUrK9%}aFlH_S@J3q{8neT(L8tbvFL=58VL&0*fAiiu8 zgOLR*=;r0y;Bk=v{P|J<|7k9Oo>EzKlv@PXCr`%Oa7U=GUJfhj&-3nwgp>5zH8k8{ zH`>QeW=)rPz{AWl$aCkBRqX*VX0wMZpy`JgZa!UwXXl>4*KArd#sP;X%z3)Zeulj>_!hrLuQGSzQ@( zqO;Lpb^zYe=*Ia`PTUUh9oXhnS>a@}1>J5M?WWGzc(ytE&=w@42XxXcVL-cjMZt`R2f#Mok9^wf0oED2VQ{z>q&{W9Jc-Hd;Py0-m|_a8 zwcaqlz69#VjmQCkC@{7*0OJEWMAW(vjQ5DLX-n_WNn%HE*9wN&t8N6N+76(4LKxoL z+=Si|E%=*JW$=8;K!wV$3P{V*fmw^cqfE>x&MilP>sS?&N-vEqqQg~&_;aNo zMyOnc&Vf)Gd%PV#2no&uogxuP@1tcTW!K>07;?g~7*u??VR82bI86C59$8~ao<9Hcx0?c=(^pUjfEjsf6A4UiK)Tz zF(Za)eo3qX4}$t!e)jQA6?pn2ik>s9plkIfasSQa?f&$$7%13zq?_ub6_XNi$;$S2(MB=XWGf(jX?ENVUTceF2cCS0g z{p*S5)phvEGaP#_kD-~^)g!8`S>^$R_Xua?h_k9a{3rdKWe}Ro6Tf@KllKH z&Q(xlrw3*k(?MQ0kX$mp2-))ti9Shz*r6(zINlF#)`wvF-(WB_rZ8neIHVk!55KO< zLvy1Io|&@GP(w`;OcrN==D}b%Zx!#=xvQm0&DC8w}^H;-%hH#fyu|Ax#wE zKSOyqs22cfCj&vzvIOc=rbEoxFdS(Pp|^C($Z5EQ4;&=%^?n7om3W7Aoe^a3Rq#W+ ziwtB(B!Sz26})!6hvx+3Im6Hl!!Kc#cp_;Q=d$D|8o6G8*BeBj`PgaTVnyMO?qdA7 z2)OHx-_dHC7`_^+1Cu|xuqZnQ54D6-Yt1}p(Rm8ZSvjyFw}U6~z8UfIDAv0b(nQNo z22a}wsF>xWYiKcg_0%yPy9HSNTzv?idKL7Hevsq|$#UIFVSFZL0xF&9;J2xvLW)aA z(eF)of^RB`JUa_*P70$Vmr1T}i-5s{ir8`mF}OpF9XWdhx_xJHRzad=MN{9S$kqcm zl1uQ-zdLdmx&d{&9>Tt7+RV#Ih;xhhY21J^O6>=(Sm_;#3$NwsclBVSss$d){z%fT zpO9as7r?kz6BU2#N2S!=_}uv$RZ#qj%v2K$9(zx=KS-qaD(eiN3N9ctvXi{8FCtQf zK&@We5I)~)q;jq|v9GUYK774L?p<+!-TFo_^?g2(h#Mxd&28jQTrBL65CX6A2QdC2 z5{xxRsMXkEy5QI_RckZ?rvu(#W+e!A)91p_h1=x5{w{K>{s!dx#)5>~Az0b-6f!?a z5{3PPFmi1k+Zx8l(nFWYy9>L)(Ch*@eJg|N$+aN_;Vglv9uktk#1K!|U0l3DK-wm=GmHgQUtan%qr!j60sXV8pfp zjO@IE<44+1Z)QAJ{W4`QevM_T6t&r7(oJwSLyhJB@#nDReiUp-;GJcPuubj`GF^)? zP_Gwymu_TR`#!;zh72b7a049ucmX!ie@?8IPB-b@AdGkux<>lq-8@;=YTsj6zqtxp z3VfmH<2V(Oi-lX$gvo1ZWumPY!4w8Kq6L)W+ZPw<6f*+jA`c+BEFX3o=+jdI;e@l0 z$Ei#Bxwy}-@Z9q_6mtBH!v8ryX3iD3*!&dykNkk_K6mI%%RrYKDR@2Ao7*2C%^l?S zpsds^?sQi)mR`L=YaOL?rC zAPRpxVX<=@{)+WLk?EnJ@IC;n>Xy)+@BkEdJx(T9%)>bge=!w7?c|81G+v{M=+Czs zO|tgUr_)Jx($gy8K*0Y<_u8TWi#kFBmo*tdPa(08Z^7eDajRi$0T z=FbLLkAawBqJbe{m1NsGZOFWKf}S|GiP_Xbp+_+QKIbFWpZtzT5165rr6vTgI04gF z6~U;e4?K0$N4f{-w1jLp7?lC1`}}yX?+bIE){o$SGRukj%?Rpa-9tX+#FleTL3H5n z9Q-geiNq?&5ijMBI3gU%sXyJs>AhLWO_`E{y8J2lafva?bXm|RPm}SeSvvLX&mu*Z z_i(PjWbWirLGHI@8@lg(injuMwDuC|5kCTNOE19(=ScW__fjCtKgOlM6I8qt_alzZ* zXJ*7d??v!U&md)omVtLxExl=$0Xw&tuoVvfft5oy%%A@NM?kp024ri3=;r5x_BxJp-D(ZtCQ+KI}GbeL9= zMqWLbO(tw=P;&e#8U|UhhS4kFn(R*c(98fO6l@I*m&$-21 zG}`lIBYU<7VRAj*Sb?m?l5Bz*gI3tlfSCGW!Wsd(@|Han~W6aR^kr1sO`xhIZvl)S^N zQ9I6Hay-YcoQU!n(YS81EVi2bVqOmCppd~T-rw$W56UNAH=hiHl+^ZUle$6FUV$=B$MmtFOYy7as^6%Y+3h z;^E8TkFa4|I(RzI1F^j&^k(K0(r#!E(W8a%ro{`2JO>%huMtikX@yBso#9@cA7tNs z1??^Nyt~^INbCL)xYzj|yq?6+Js+o0ofMWdxfnoWVki8TT!^+P22t4vT#5FW{b zqW8U!+0SU#|Av%ox$EK6n(gl>f+LVaH5~q3l z7Ua_nXOzi~@k$g|45ER<^I5SZ703P!Wvf7XGi0|X++&hm4aHsWu6r5)u zSKlAUkrml1B#Nv^sf>F*H$+mYNE(_*Li&jYlCpPZl3A1z3K72Na|_X4MjDFJL?sO> z7zxM={gLj<$#@@=g96~&<4dTJlV$E*)VI=gR-q_ zaL=yqaA&d#M4yeIS5-A=qRX!?fwi5DmL+B&SMUlqEmY?Y3YFq)|IK)2|9#9=HHUS60#L># zf!(<(*!z{>^jjxz#zkpPZlxht^tBB4zCI0493R#zP8Gs=QXhDK)z;Da6H)c+>^Sf( zn!>r?WI5?}EiUMxF83pEJ$gh+5$79%a7M|P3YfUUr6)Cv`}<9>JD`{6W>E*b9i2%; z#RDe!hz({I|D+}<74Z0AG*3fQ2e$W=lJLwfV!K@w+RgGoX7C|#wkQYLu@p0FHw(P< z#F)o#I0fT{&(a#tAnMWl!u+O!Hnab58ZY(Ee2_e~845RL;nTJ*a-sYOUB6GCx?SaH z{d#lU6xc=^@AIK%u@qeQ*iNZb7a3Tx5Q9a2<8RN$SYSSvE3FsiHcaYAyT|F+Sd)sm zMeaC+EAVjZLYNol!E@ft;QXIn+^<<8+zrzgJmrxxDmUMNyOdmqu}Wq1YE?Oo3`(Mm zHHYoA5(su9pl+*h*rpBkvIR14BddnjDJhU6#)WXO;CjrtLp-(KcSHk7l z+VB>V>6y9O^m5Nl*h)v>)bZ)CdEPmc6E(wq-YZaP=Q-FC90M;;-y@$F_+f4ifa~)* zz^6NTe`00Wq3fAcpke}tvM4s*jKGP>8?nF7kf)jM3U`@ODn-we<-vXCHc8X4ey1(? z?hK-4>@m#GK8;4fbr^B1mb8vfg5T~f%ul^SUYQXes1B`x^V*N$+I}hEtgnDbz9gHf z^Bh`tjWa*sn_2dkdz9b(18?^0E4=3P3KFw)I@IrW1F6VLuw4I)D!u8VmD3iny#?)b zy09l^a=DCUw=6!^iN~bHxzwXq3iLuFm?N{Mut%k8iSAPYZuJ!hu@zsUJV5a%C;omS(~2*(1#kbFoz3dxGxSateB?#n`IwwV;xm2Wh`nLRk1E zhJRH#dd1yh-mjBG(Zjj8@Wuwt;<6(5yY@Z~npM-a%%XbL4ViF3IRh40o{qtCIMQ(R7+76W+;b{(cosdyGN3(ke!d(Thi-SPAMl{$2oXr><7+1 zh4hlBFU+_W1_SG3;o0Q1xJc?5bAH-3$lm{&nvXT1nQ;pw_`CthNiB@fs5z8fzDOSU znS;oIK=Q+SH6;@lNZM*us2(k%+awO)v$cT1hn9nD+%85zR2h!ui^9Oo)gYIp3r-JM z@QEI$mRqdxcKSwWYAmElPM&b3N{3$d)xt?{gKM*5m8kH7>ENzOsd&v>BKhB2+U$0e z{yBPx=xIKr%?VwML%4IjUTu+ioWeA+@0S?_Rhz=WKN7IycM@$lY=Es_>wsf}h`(_k z9=m)2nXLxc^-2}JytUEaxV8Rz=37wadj`GFM8Ps@1T}w&pi*B7+W+}Wt2|23^~F}~ z>dfbbZyRBT)rYCuq> z>)Qgt!Jlc%s0z=tG9HfYOopICN5~Q5JS>&`Mp6D273UA5n`<`^H-2lZrjeM~6^Hw8 zIw4)Q3b$O%!5Lmfs9*UE8y_FTkNPTH!;({Yd-X5srnijpy^)5%?5XJbumR5<567SU ziFlwwgY$b4j=E3d@X>cMGSjA$RvmmtydPd50w1bL=z&D&`PUCmkM4wQ=Rc@^JroTG zj^mPQ1(=rR13jKv}ehn{jC^;E%?YzWj>geT|=f0EJeSFUD*9F2L5|eNQSh+N$lTJDwZ7!Z+SVS z>ZCl~7xM_NZu~<(hTh@D->8QpR_dtrbRGI{n2&Qi-EoFnED>z)A?X2o&?a91g3iRk zHk~h2_n`$`8{LKOe|F)QbD5w%Isi7SrqPfHeHi3433c3s!joQ;R?k1U_fZS%XtAI+ zN}}xUMy*N}DXRFzI1(;r{o|=CS!nc4j5_;I$D@b&S;?Q#?5#0DH0~3`Y>R#DjYLm2a_uVC z_wg+-F}X)J2oLx^IdQ``lcS^M~nOps1-5i+KuZoWq)j4V2Oso>A!J3N~m_+{yh_p{I|Fe>x)vvxu-=3NP5hXtM zLyI`XBsIdH-5$8HX(xAQ$Q0vC&SRU%F?jtu3@)TBs@J${4)=Zw!M$~IZ0Dgzr1&3? zTFjH-yxcRm`RXcMf{O{)DSsQ&Ce7l_xpRQnHy(pBeN)Ib>7l7UJ!mlzNu5jWsP{lB z>PDZXqCLXYQCpcL-kuBgMM0os+XRmJad2kFzxiA9oNODhLyNuQ=)C5gCSb$omHts}G`SJ|A~fG=-{6T0(Z}q|g=p4cKrw(ddb45LNYM3b(vL0y1+A&Vds2r1M6QCaADJNI433t zn=~)u-UxB-olDc```?-Z^-V-K!l zF5nXj#ed%8&%=50aDSB@Y(K}s`Nu_s?G=a6HA>veW4F*!N{EY(Q{fyO1RlNVA?M@zNi$Z+67`!w~C*pk3 z)FvezPwVk$T1yCS3VB8^3N~Pb=1$zF(E+aqwc)y%C&^OQfwf;Y!i_7F@xJ~}I_3E` zI$hPAd`HTlc{82JfFmo?c}bAK~xQkP*0dloi(n1jcWHlpxZ9PW%=Ab*dFLPy`f z`(5z{R&JlnZg?32jfc$oU$S@i_m~r$yxF2{( zEh6RFH#>rIZ7BulT<#q-q;j4YE;C22Wd*xIlMy+0ic>{jXF!%$1v+=kV3qD#v4;6s)a?QvoW6UPMEtqI@QbQ~y>k*zq3}PR z+f9B>cKd65!FiJ&ksq)>T8jO4*A2{Oy(S)867h`gW;6@=K%6zYh(qcftQB$PTsCaw zR@uFxw*pVXfii9M^q#^UPF%778Xy(h!{}RZ(&rso5OIz$YKNX_aJf${2O-Z*z9H?^B=&tRxIO)AT7qeKB%jwla zY11|M(Rl{G@6e~mlD05ETKj0pnHRi+JM^G=D1pPy$ zyoFmnFqR_E>Q(j%!1$pv@cN+!e97V`sl7$?&2<@+NqR)GD^3$%!XwGi{Jf`Mg>c;V z1@HOkN@_nC3}s<{uu$Fw<9we{|9oj|-F*QA6%EkidMuqgY=+f?WsK#;OXQr27~H7+ z1l^K`AR;^+^OSBcEI zR;QV|gIVaFJxXj}{6MpM38FSp2G7L`7%_u9`grkiRO+6|c@FO99<3jxucQM&UNaqJ z`rpx;$%`P!>?Az;APgTn5T>(-=#jiJG+V=AVuK2(EjrKA^lbLyvV54Xk_Fa(+F`Q1 zIGipi;H^lzPl~4&;uNiU+$a->`|_RGK8XnSLfSIcYr82s_cA{#G35_=@-2ccXq^ux zYA@l5Yy-|)8%{rF{D6YK9jxr295@82)US}wgOyj`5e@Yyd}p?wxAuK9OnLu;M1{yf z`QT@wVLt>dPOm{(Lj#Q^PvQP)=jt_uHsQ9_XUyjfN?}L)b8@)R6j2&e-${BV*u*doM~-5u>U2Y7;*< z!1oco;)_w5O+)JeImi<4A*n7JIPY5^Z})>OyyEM|WT~V+UeJ`mi8E)(W5rweU3Vp} z@6@4DU(Q42$EA4g$RzShG1=T@{|0y`zZTR+vcYI?H!N<7fly%{Xv$FN%s&8GhWkiE zPS!u)GJzjIOo)>61UWk+3DipOf~M385MLy~&WYIu^%q1zvo4b=54Ygqui-eov!6Qh z`N7QxH$gj{(6Rfkna8Eduz2<$owYd(NaoXEzY?<09<7ZpA&Ga~bb;WRTi-v+z&oQ7Ae#4{Rd4fIO=q-&h;YQEN8$)IFCB z=;hE`yh)t8^&0MW#ue;1YC~eyn!u&PbEMft5xNrfQ7@|m75SBL+08?QH${%C4Ozj} zRT*#&b#tNnwh*>&Gay0>9ZC3pX=oU>#bafqkU)P>U+lol^D^Aw~Qkob@NB!{%wGK+dE8L36?EO3&WczcWDRR9~nqc^ch^bISu$3C2s8QIG$TxjG3w`=#o4OXO`Zh zo;oG?vC@L$e?NyF%6Sd(qF2DOZ8o=~cqXUn9>Ju9$a7Z~gks{P8C2w5K8Cd#a>kFX zxaNln?1cPrw!QWu)a#rep+_dOT{DY_TeT^w?7U9l@>F_u<0CZfmgn-nhw%(|ZD5TW zwAh1w$KkM@0(<4*ahTirnVgVW3$CBC!1B{}oECQ+pD|yUTHV*sJHwErsej;0yg8U= zE3s%Rz^XV|fY+M@d@nm4KXsS#E@ySp(z5|%2BQHzvoG-$rj=l&sUl^b4r6%SdTwNs zCU~*ENgJA{q zieMi){V3oqekFvdeaKs0y8u-t__V{7R8HA)EvIVVh8tREfd4SkMJt}5q3=v| zzZygTeS$XyRnhw8U2@Jx0cmUl=Jd&t!|;?CKmCvD{BU7@RIfpYCua1TS{}5k`-6l0 zGvX9%jy~Iukhrj5Cb9W1J?!O-d*z(zuze!6*k8bl6%M156ED%_#e?*D&QBV%z7_Wi z<>Q#rY)&*k2oES+N9Qgjlns=ETT_?tB0|?Q-V3^+YtW0C>h+6S_4m{8dBWU{%E?^Z zG9B)TzbGe|yaFpeW#Z;?C*1K|jb2{9lzIhd;Vh#&EuzXGx zzonXwxt_<0FI!M8^A!M9_hi=h*+4j5BXtjqd41pb|LGfV~Fn!&Y*_Ub~CN#>6m+Q4RRMR6Z<{V;H7s0%CCk% z)MyIyhNi*TOar*Oe?BL`^x~f3Nb+j)JvwB$5PT*nv-MJ|Sx#g&J0zb5yKhyILPm$y zC7j2d9jYAbZp@ABn8F5MkcD|E{!lq-J3D<_3cL4QBzvp%4XLoy2jPeZbl1u_p1;To z+7hOP>$DXhFWwAhxvpo+mhWZvESb$7y06C?X34>sfqi6R+8i3@I31tF#6wT)E9#JU z4;+Re}xYQO(63r z70gNtN!*&VWToI2@+XuJPAZR)ir!HABz`4)u@A)9Uvaog@;i;n&)`kz2V!zrlyqs% zA~J!#pnLE&X{x@!`%%ErPfDUVAfJWbb}L}%_#CV?v%u~v(s<;Z0@l4%z|T!a_~-N# zsy_Idc1+Bnci!!SD)$!N)21W1F>#DM+;o%n$}7rJ1=$Q2yc z%V9h|ZHFFlWp41^AM8lohM!)az=F<5YTh)8t4uHQUL4EA*+E;-e%luMr|2{-T{q6_ z7nkCE>TD2JwNZmgHyl)-LBk(spv>aim=hd{Z}fDyEAG-TlJyWf^WNix^i7<5uof%N z^`q-EC9d^FJlQ6Gi^i~Z=+J%vyB8fpB~J(3=g6Vn5q?}LI}fXedg#o?DBjTY5|mbc zM_0;=Le!ZESiHg(W-qBCkG@Rd<@H3OU}Q4g8x@VWqUPdN|3v6cRHSSF{H#masR&=c zh@z43I})KIiSAP0@p$PkI_klP8Sm85J?S%V!e}mDIciM0t>!}M*5mZ$5*6)5xCn-r*!+0u>v0B*fJSCcb}*3wjuOH zt{6J^9L4(P1H64YG310~G=;*8Jo`;{ybyJD$|oU;MbQUIpPCWeA2WrSRT*@B+#R0% z=tG|T9A%t*U_J>^kcH(RN@!r{XQDDDL7x3MhUVE~;L_R#J2bx$;r+vee_tC!sL6x= zB3tBr+y{2%Ddt^;o8Xu71sG}1U|%^efQq%n`0Qm9I2Anv*Us~ByWb12b9wz!8-n>e zwwu065Wtm_3qkF5C_C@QzPgTgrSySc8Vp#=urv2+ljL_N=$UWk81OL>4^KLVdqv~% zYtbBb*E&HglB$9DzbZU2#duI!djlk6-SN}1yZACF7vs!B@M)Pmm#|q1`p+(BwVHz9 zu-UHQ0ZT@~)aZB?$) z{u-&0m;tRnC$OOGGj=!6ud{#h_#dY)MX~r+X1xD2em0m1Rj1UkWT`G!>#zk(Y$EX9 z{7GDbmo2T2O+u6VVfa-2EY;q%9p{{zi@mTIBRUqD1ES0M+yJmHPkZz#2hfK$s2>GXgY)O~sl z;pA7Cn4$vBB{2}>bPs-JGGMo+ftUB^3^CPZ;iZ!x%r~=vi}UiR$(wB8(-z`f56AHa zw~4R<8J++9LIKQHY^J?A0XS}x%gY{Vgj=HO88y4ry4@H1lL#Z6gfdjWQ+U=%I~hQkb)OaqeDc@MQZdGAUu z&@`|iVp$BkW7Q-!p(fruH$069&X;8??X=*Qk{7$xa1<2pX|NGtb6AJpmx$exEXcn$ z0p#o@=9STUa=@^Nk*TnS^IQoWvJYdI@DkWOe;M|-)+u;Y6ht?RRFYkN67XVW8VIV^ z!MBah@VHBZdwN(AG~qlvXlsD3p3fj)G6CU>W-xvwDVQCvPG0i9z=!T|D6CmUhP5W( z+`w;`anOOq&}pph3<@vS?F3mbPlnh(C*u!~LP3r?Tl3C{&0E0FT4ZRlNgjr5!Mjkn z#5+T#be-iXdT2sfvliGC&!m@{-9W9c5Xh_Z#3y7clwAG{s(P28*f*W|KHv%dy3)|< zERT!!y`U9;`CzqF8Byslz@!)3>5{cmF>mYwNz#gd6-iIfz_$h+aDwg)6y;X*S2Nu% z`q&p3hP&o&!8td+VEpHHRPgWNZQK=%#RvOwQFS!t1lnU-e;Jn6y5pM@y)-mcnt9hZ z30==-Va-)_oE++dznO7dVyDGvt90X5w+R$);^?%#vqZP;G!6>OLqz=v-j%jiS`+_~ zw(SsN?q|87(Nq)8&S?eqoST8AKX1{OwM~8aI;() z?vb+*cl(7j2pkZQ|ikNI#_A~IaHu{0MnEsYo&y3>z4&M!Q@sQL^|E{dzqOk1kF}<5(ME+oaYlsJDo0MBwph}~LM zTKKY*&gvWHt@e+GdFpR@wJ*xx?QkBklUxk^Njh}~N80IQw}m9h(;a564S>R`d@}o8 z0hY&<*3a?WP6C?r@y76eGL&UV*-}qB!yo958a0sIoPd^7n(^287;S%| zLS3Fpb7co6ahx++(%r&~;=X?V{1qyI$XGwEKey^!#@jMut zWC8Yz>M?n*J+7W^M8AEM!f}t4WbOGP91PXvjtrgQXkdU;a~sV7}$lI zawn75DU-n?dorYcJBlPbp7T2v$w`f8aHDl4Tt-MHo$+}x*PC@4ZMzv1=$nd@N<-*3 z&2U5wZO+WRj9dIFgR|)f$M!e2-1t^sPV&r3?y;08x6NCJqy_fW9e6cBzwbMSf*SnX zkcuiNdvz*j5zz|479&`=UmdE{>uSwqmv}J@nA4)+L{Ih3$FsZIUA0)9Vex8I#5=27IVB}0qbOw%0?C{ zvp4Qq^?}t0`woux>9P7#_b79Iiu~|>^-@cWo^OpytKJOdg z**M0HPX;|!gyXLXPke7C!cBfKmpfeK&S{)i<-`VCp~3kq6ci?bW}^(<=^jh=SvsR( zt_S5`djwZWSmL64&+uAyJlcp4VNNaJi}?bi=F%HjFy;upW)G?7r5^f5QJWlW8fW%O zI5Gz^|MiuA8qP}HMcg!_$rRCGGBjuny_3p_V1To^c`nT_fcJ!GLqq<3!BT+5cu~ zvV!v7^wNBJ?$CO3PUoZy7wou*3EKFo$ z&H}opf$Gi#@VKK6_Tw|5f&UlJDboeC`A@=iAtAOwqm)T9NF{ITVw302?|Dq8-kVu=51e zQp;h3z7Le$69j>SS@1Hzka%xQh2mg6w(`sb@B8~0Y-&qn;*;Z{%JeiWwd;UK7Yb-+ zXA3ITc0y<);#&np_#-r(W|~)kK$a$bQ74LPN)2H8{wrjK%n+{rn2oE7?!ahd8ck43 zqwm(LK<1`D=9TMSfU&7Hq-~7BkV`ys0Y!P-{YRKv6P^#4r_IK)QlPj)2;_uULEy8E zyg$>5;fli`G4K(j+0HX@+NV4sT(ulGVH%W2MZm!yGjM^5DIQ#wLeJX1z(+X?fvisi zlawH8d&H8m&OMArMi+f9Ey5=6P-5GN3AgW-4&8J)6w$kY309Y!nrT%l_JGR zOhzU#xmg6w9{_e29LE!iUYz+AJ^9aoZ_`v-VC^14WST^O`3cE%Ihab)*239iNE zFUki9a2Xv5%*gu-L}zaRwrS@urg#@U8T0x^|bZ) zRX83n3dfae$Y5nL+*%|9S-$(pr)GQeiP4|bB~XeU+>n6v>vWmqnxD|^sL5`N{zCNa zMtJ3}vAl5`0MqaxnA@619wa1_H3iQ2a^`8?p56g^T5t4WQz-1C)&( zp--(IlDq&%_{JRvS>rU|46WI~JEO2VeHoh^bqdUT&ccO(t>n7y0p7On|FToL8>neM zbJRx~6=O@_+GTZ;QcweHl|-@s#Z{w8Vq zQE3R0g6D#>d^)|}vzV1l2&T#(S8-8_YhBP>O`xjPqt>CI>Y{JnNJ`&I#K{Z16z;L)NNQ9J=K>qpMjXl8_7Zr@W zuaW3B?I_WDX@~`fx5M4Nk)R%^!gRi9CpXDiYP)$3F`l@N6&6vrR51!(RU6}?OA4f` zO@LF|xD&FLo`q?5GkG&V93x#PTIjQ-Y7n$e65ekLCwVT5ct#)7;J>;{cyXo!-jQ@g z@q{rVwOfctPD&?kW}$H7j{+!2_<$FE0JZl;+3u&gP`*o)TIYnAyI9#$-92(pa&k5_ z*0+(DlMBe9pmXF{*JrZCBORP0nu&J)33zyCItZRBg2z+ukqqrKOj}3>nY`o$=|7PG zLuVJm+qUfo5(1pK;IXDpiMI1J!f5AeMv6Njy8s? z`g4%~ACooq9qOC#>SowZ3QFA^Dr_6uz?AH|GwdpIluis+1 zrkqp^Z!pJf|5#K}3cyRY5;$x1K{)fn8m_&wf;xi{)Rf=B^<=H&#vdK#&a4sOy#Kq0 zF+m<&Vzr}rQ2%FYa^fcx*Yd#!i3+;A{3e#TD{(n|6FB3M7`OL?KeyIbolEPzgJ+Bf zsc>wD`P5%a!QN>nX}0ReS)(kMy{!?~x(;LE?c?~X)`A;uD&+>(7UH~eZTxWZB~*;` zF@=5_xV0n|9e#FWrpayWtjeZB{gc@o$qzUv8_0z(biq;et6-U)1Ix9~!|}SQ@Oz-4 z_OVkMZmN^Ra=Y7bpnp0WW_beUohU+~v6u9)k2gdu-3jlN%>$PvDETlW4U+0kd)zVcS7Vc;cJ|e7$CHs4I!43?3#^2VCL&d~GmzqQ`x>Hi_GB zG>J0|-%b5;GwLp-D?zhz2W)!h0zJAJ%zP<57}NSmvK7oAZNDw)&aD8uN>SE-Z#PJO z{MVm;(y(UF0Fj7jWmdQ7)lbj;Ov*FT$?}mal=(6Pg!jhP8dOR_kxv+$*8fPAa{cJ4 zfkmVwwu~CRHAV~FAjktbkk~#%LnAxs)1O!Iyr3niEiWd|H)MgKtPk3SuSVnDIv{%} zpSYHlLrT{owmpS|(P~pXy=F7|ZhnMYn)SJgx!zoALm2WsDI#CI1>s|sI0TMXl6z9w z$Thif6`vMkOPDa1FnbigTWNATS~sCli!dxbn+I(z*6?+gC0I5b!K=px@xwD?&fIY| zS05e9#ax!;tXf{8NzHp^aX}7Qz>9*i^fkEs(-=J|?#dmk*5=IpRJa;xKaS}&4b#rT=3c4fNKm5FyW&e z&u1NHi=JdJ2&FmX$VO>=(3 zg~WXD{ie=}y(=sMGfP1}kCjWIZjAFRsa|^RzSO|W($3Tya9De$6iWf8D2J00&$vjI1kgMIt z%UhiR6_1y)I)0-t6g-_}7hELKB$DAuVqnH$5i~6P&?Yee& zrlkTt7DhnNfrs>vU@EftXF%eTB3mOfACBF$#B1ZFxG6~k=Oi={MISkO`l%YrmfOSG z$OtaHMGF1SbU{H02NBlYj9g_c3hBGyqfaFyJMbPzYw2M9>K!onc)UK@C6QbRmuKj- zHSG8Ji?CU)f_~3Ejv8hc=$Dqm@M1|KIQB25)sNJ8!jhJBTGLXni%S8&z|HImsZNM7 zPr&;cYv|O{a(JBh$=q_rZFQHjDVub8ol%)kChbNRlnG<&oCcnF zr!~CqSVW&`M1a`8e(G#DVvm_gv#0!o*nPu-*x}PcW9RT;zeOhe>8=Lf5NUYnISqQ2 zyn=SOmGH14iO8t8!8*0=(EI#Yec@sX*81yVUs4G?oE#3CA;(}OQnmqDdrGi)Ft zxbSos#vi;ywVmv7&7*pF71IE-SM$sqPihSZeeYQ-a_c2Pq=XP6i|IO1ogis$UFZZRQA0( zuIn+Sfqnzb!j~gN{g5G2hdB7jZp5QE#W*~q0n+R9(B~6J*4I9vSAVX+#VT63YETJR z=q2FeTRm8xdJu&QM>RIWLQ+3=?#N| z`ZrBs^x7mJvT?;IS*@B1KPLYsVoww5?x!vyui091@C!#aXi<`KaV~rt`C+!IK8Jj0 zYJq8&6xiFTyV>J*GuhR*c@XWZ$?D4s0&klbPf$w}B7B;e=KIPZn)i|B-`zr`7mY*Q zK1a4kMVGy&dh}oZWWl4q^Vk;&7h%dLC+ObO$P{-*kt!=sT&k0Xe4>Wz?kA>odh<3? zyNJ)A|L{HieB2i_{xgH<1=%2bkB`1>*g+pQ9L9tCOL0>M{3RJi z96NGNWpzK1g2qOuD3JoQlatV5^Hdao3i>X{80$+N!6`?a%R3>8?q z@%XLonfa<0ml;!mSUP;(7BXkX!MeEsv*{`lD}I!Be()77$~{HnBD7%j;-et5JPB-r z3ZOmj3E0iM3AT&MV7YHR?3RikbH@LYptsR5|9c*paX}UyJBx4@>VaTi6$8>8`tYOi zE<}Hc2mK|n1dC`zG%<9X5pG#+vm2=^iLpf@{RY88k8qAh` zK=$3+2SS}PV81mFUhX#lCOL^Wb~=w%*q_3ZZw}b*_8oc!{p%0C+Jm=KkAu}^DHwSB zhonASLLM)00I;1ya%2@a*DS=)_(E*<9w2t#8pyTZeVEP&a&g=4QqMFwxU!Z(;o3v6 zy?!ZJ88+fIe=7)RiKZ{!2cZ++HzpxTfRm}Yi-sQmde}us{k6-c{pqnH)6z zo{F_fgCu(B6f|wDfy>L{Vd0-L60Q&eZ{#-6x%0Nes_|{$kWfbd@G)GoRwm{L@1fU} z({X-iBdoBR%3kU}VIC$~Nv;2CLWSEUsLlm;Fm#+?p9r^D)|-o~dyO+M-h;x*C2W7={2+bU7T!n@II^Y+{_B;2ziSw% zPKt!gJtOdUtu0)T7$SEnk|226COG3bnWy+5mZ!R_jkFxTMV`c@k?H5&Ga6?%g7pcg&Lc)o?3Gm%fq=!B0lM zarrZgIE#bk+`Dy`aN4RRoayQ|A9#%XM-A!aU(L+@Uto{+w#} z6)tA78F$@sCgvWwfioNvxe4tJT&%bP7Zdb`)G6Np&tJai(e?|iy3@Fv6T)0H-leu~ zcI?*8HL%88pF6%j5o6@V*ado>;D03Ax<{V5WNrW1)a8kqSJ?Y&jgpczr(xcTdLyzt$ge@M97^y5uag@S`eK za#F?4CQYjJb1^+sC=G|Eq`;2JQ4C*~5{};Qpy>v#q*Ni2oDM!q{sf46N zly)JZNq_%G=jnN!`@XL0eLXr=WU=&BPSc5}Ai|m2zsw%`vDcaSp1nd>$m~N&>#eBo zP()uHH-c2hK4NW@3~?`_;JuJ7+>)z@voDNL{(zOKLS8K8lQPAZQf0KrI*iJ-Ho(M=@PnO0x?V)`BI`r6lcbGFV7ppJFPjQMkbF|WcsSl1KhB8z9lJk&DWo>Y7ggE}a zJHV~kB1^~e@6q~+M)IwLFrPibm{+&$7>Ur+pxt|o@Hm%IXv)D znj`Xro8YZS^6>183&4F__^;2ea=u}+Nx};rn&qAi0h@Hez|MkMx~&LyYKD^K)&fMc zvxaQvZ#UfvDA_`t&1G^nC`#Y}Fz?e+wY_^c`~k z#4S3I5rw_k9&oMH6y%njVkX>8VBs5n_VJTju)>;;B>eq`fjkZ5X7>$FzP zJec1eJ`k`c6Bn;d#g=>T=}gBIvSA4eYWY&Idxi}hcruKg4zIC6@F^_!l!MCFY`SQ$ z3KN#(QmqTOfF4{4>&;w2n=clvL%X24=0kBqTYOMW}pcw7T$+zvzMoJeMC2v|H1 zsmzQyNn$iVlLQe?BvJ3-|I!8`ew2`osI4E13LGz0z=()$Q>6)K{ z$Rk-@X^>Jzx=vJ+o;@{)H%rJv86DU^qDgl?8{oW|e~_c-vx9^kJ4-9Rsp8<^E>IPX zgGTdG;J;T42mcnM;mUF<#*;uhtUWo7yu0W}8#lC6YN4yw9HU|9{=jDq!t}eGAVYl& zq}FEx=a4=olwTmeZYt=pqnYc*r%ZJ4Dm@S6;>2FcyjuqiwXDZyQxQ+f7cCp2Vc6Y$*Iz0p{k;9LeK;oMUJ9QWd%PT;pYTA(p=i z-PD%C`$;uY@oO10e)5B9HlARqeICL_S@?568a5wq!2IzoxJ}=M6Y`xGqt0d%y>%|| zxk$T*rn($4FW~f!!pNQ~359XFMw(C1eFDc|S;a3y#q5K0nFW z&2(r~(MN+$BWPQ47WcJB!M9Og`cCj8apsw88qpL-@7Ai}sW-{6a8W4y)46B*$Kn|t ztkHn%o*|ML)KfX5NQ3_OPyoArEu>kA9VSYSm%!^_Go0TQ27CTYOZ#Y>%fv3L+;=Dv5Zg9->gg!rb29$E9^}gh8 zU%DF$lcv^sUKmmO!Gm)Xj$-+2eA4!% zl0WS-RoW@SloAQ1?N={s7J8FQk%VZFE*b(7*@ zIL=}p;BrtX5FnbI=;_^{HLA8<+;y~$E3`t2#+jOIwG)svat4cA6=dNp4cqC0FBS) zQ670i!gt0A!{23dmTSEw28N*sb+gIQf5y1S*@Qj0XbZ9C|4KhU{fzv#E};L_*%&f3 zM!x4K&}(M@(X7T;toR#_4w_o@$89U9S{YBtyUD3O-H5*}ol&XvGPdIa;5pSlc2Bv^wcqNh@M+t%F&c3~=)JX)=B>0#zPuL7tNlG$AP$Ccg(mh;S5y zOsu14)-0h)CyR)bU?sOjg&%qn%wU6`JuH~kLh^3wK@mXOuT}_Kz&C#XpFhx zhRSsOvOW$UK0c4pv-8n+qc&T@`B$UXj&GvC>s+&=woSw@jO94><_!n;*e)`z6HsXcO8h{=up>0_GVr^Mimwc(OaEMhs|KG) zHIoZIqs!3i=VA2oScX0N$6;s0EV5u7Qj2LkI5ATnN_Q%Pu$U}!E%+ESQXB>)W1+y+ zkfp3{CbsApg8Um9kP&D!4Yx9c(8}}hV|FB%A6UeE+Ze+nAG^*ur56mRW*vi1{id8t zF4d3}#!ExDwbFVaO*$bVO}#ccP=6zJrh811VfxacBuAQ^ zA0*ap9c0Iz;Z1ibaX!ogrf%1XLg-?KU8l%61TAEmzubdQdG}!QCkOsh6@ugW$s9oiIpF;( zM0j5wgyIh)pteRI4&K^{LW;9F+pa~?+n=tQoJibG{g3|Sob5D+3*NVh{54y^=t3x3 zxP!6vwq-1izXjv#DWv?zb%?cl1J^TcpmY2IdE0rN+%+~q16w`N<4**&sAEu6A<1~# zn&IW0ujwkyT4EU(2meW>a`ve3ktG6};Pc=qzS$~)l|pl&yX+CyMJS0Q)_WhXYJBH} zmWM#tw@;j(3MXk?SpxJQ5TiCDg*ZEZHy+mA2gU_dR?g%1HOl_M^dlBfye|DIes7QCKX{g z>M|8Nwgd(~e}edfo9SIP6km6xz>Ya?AV6MWJnX=g7ye+*ov#&(E;Z7M_rl=(yAu3< z-GIGvzu=RuHn0Xyh*{|eEbvePvH4HAn^ID7x@-eDyF=P`iEqhXv0DIHR~=q<6>vH|{6YJ=&?>ktxmlS^;an7-m|jIov{ z)3v)CzO+@6v*1c*d)=o#UrRWvwx)nfZ8q1xD*_{=D7m6x2Od`qAoG<4oU>{mrzRyR z4VwXZdxAhuHv}$TXoR0ZzsQ+reVk#NgO>6V$QWG5K`~o8*JzZa%)A8A)1~2{upxL) ztb>FMJ;*<=jfp$fu>ZcTWS8U~;3Qt*XHx6xq3KjF%pZDBg8DolYD58)Yc|2Jwm;O= zKbaePCx9cne~nkJECWqSFsCxV~};NATkN$^fJX8g@r{=tV z-dR$9ErjfIr#NGF3cOs~0{+d{!Rd{qRaq;Pbyq;800&$dww7IARE&!K zSFj+$5Y+Y-K$8;yEULna@-3`*ks6y>dIisEYLYk7_4vnb75k~|9!=XN#PBI=Gg6M- zpcKum^m$N$r}FvPwliDsg31U`lbOum`DILCYB26RUjt(ig3Mg~Z%|4S$;|~Vq`Xpf0?n@zIZ9AAmyoB7uOyYD(1i0;7y0{$4v<>2wv~xf7_ewJ>W417^TQV5& zPurM^RtrX{^aSjh)`*{sw&CK(YiNo2YvS9o9E$AJFehDun7ANu3%f}+9t?nyfggDD z{#vv=v5?*6v=`e~1D>0AnT8zph04YDBzMbeI%{q+OjZzw*+e~-i<#-o}pDj zFvwne?cte^6bW@sRDiKKZ0JrNLM zn(7bIX{0Sb9VM=$AUJ#` zb2ceqfJOwFocIY<(WcDJ$BURNzdV@bQJxh-0y1azrufCn0)sC)w)~kU#bLX>%Ym$)oEyLX1 zqO5hGK9jpcp1Ie@3yG_y`rf-sT(6yVl=rRz?);?0I%>bfyIy{1QCi34d9V|kq&G5T zWfYhzF6BLRAW#%vYAt2B(_TUsUpTA@sV09S z_H&AbqVUT}dDOVDALm+sseIok$lSkb!`!!7$js&0%{=?7$?UkF4ncUYLdHb{M}I`1 ze&A^mqVGr_x#q&IHmpe0rTilqwiu2}*)#YSRKZzp$n zZvh>&yhW7e9cCiy<}oI7dckL9E*M2WCo5M8K+9oET${;93r0IDm;Q1>)h9;u#zI-# zkah-SHa>*8p(2czWuwg6VlLyeVO)A#4~siVFF-PEg3Zch$#JNIPZvHQui zBK|oB$ZgqIew&6>s9! zms}8*yi6taPGM8QJ51Rp&RTk%rJuIuz^M6xDUVnVS&i4=+Db=sE>(u&b_wvhUxdbX z^?3MjELOU!0MuNSU`-mcz6XqFPyrQ@&&vd7lps%gK%H45;<-_2i-XO8QFz*X_=xm z?&91d`<~X~94myv6*+JNWYA{5J3cP$pvQC@NY51mGTdNG%~rgmpSFjiRk$;RjC51i z^0nlpdOms|7iLG6^RepEpXla-0BZ0%kvdFHCkmgJ;Q9kmxa>|n+>^+K?~y++<>3PM zkX`}j_T_9kTopua4!GdXH8FTc?II@;i{Mt6FI31bU_@hVU zc}L;5bqHz?C6PK46ZqP{knxgI!L23DB<))@E^hh5JuK=?Rlcg=;q^Q4n(1-QiA6b7 zE-Q>yfBi>)iv}Q1P9xEL$HP2Vi=!o5&jOzTKh>$p2Gyt+ngXov$>lJzXBg^! za2QpqXc!i4L`h32Y(LaXpAR(?!A}oygM}*2K_fK!hk&btG76N4)5+~=bdkg~l%!(ZX|{1tp^PK z3eMKKVd&_c50`=-(7*o#n59xmc;~eb-P3TF?kt;$Yo7-q3haR1N2ej%D-f;aB-v>- z)!=r>3zjIS;E#?`^78!(l&_8_-HMJx_ug!LbzwgHv;PD3ALn5`wpHV&Ws9k7l@Rl< z-;;U0{x;;Ccth@8Ddv6>w#P5?LolxY2wuLbiJ>K*k>}SiEv({YN={y393OI+W2e4? z<$YHewl~E_-*x2d-v~0RD+3n(oTLplU3kDS0N&(L$cVQl8Oc$QoL&i{5{96cc#E47 zGC}xesG;PiCv@N!mxk{@2L{rIdEa72lD zrDR*FAY1+3gcS?_NkbxSaq09TSWJJx)+_tLb5jB=*IEwqTcYW@s9LlUX~&8t4OTu< zm;KbffK|kL3{`jp$C}m2wM9f&`^T)CG7{L#;a*LD zy4?8)JmyHz)?5qFd{WOH)N17fNGRifzKQgzHXrQPQo!$Tw4nIQ47@zIAIGl^(<76E zL}qatCoU(1zDS*g+39KY?s996VB94CDmHyA`f<|8x!$~-W(kT})G**Be6)&XX7aNJ8S1-N~Yokxo z-qW{-0Ns|l;*+&HEYG$a3=g@40UM6c8#NA~m3|n-t^eX*{ppo{`?ioavv_P)oQJ=E z4B?;hI~->13Y>E!grtUig*NUPeDHQLdwa(y>OU$%qf<9AI7$FTmWtuKxh-Vu?ieZQ zuz)Iz0lvO6u)4nsb^Qpd(jSXT!Dn&Ly+3qE3?Dj|&nI3Vl?YLGK*giu#N6{8`zjd8@TM@>=-VYA5`$2N!UZR@030g%@;Db4PphI?; zR1WClG_zUU=L;@XD%xux|Bw5ewF~<3dK3@qDBy%Y&a{w(-|NAnqYMsLaG-R>T0HKp zhLg2FxQ5-fY>{|Bz4H1x(yixEHvS+=RR!V4no%hHt;HnN#giI4-Ew)yCAe2ih82E1 zi|w}&riWhr!dF)k*%$qUZR1ZV9sbJ{It!zCn#XdD#2(&kX zxa=U@pO}YtmIdIpxz8Xhhk*lQRb(_m0J4TtaLiGRot~aS9ZxT324?JGCfd$I)N2zc zoSX%752OHhU=!x$b5M7wC+Eq?P0qHlGvph88JQJ*lgs7bOxn68K=#yG(0RKM#ecr0 zJ(7HQ`C$%zZoWG|e|k5b-1UZ@)_zRbZ3{r0GlR*zCCG%Uu7k}AMr69%FS7KzI12av;;iKlB72w> z@ZYl;lnhqG!d<&bh~jR@c_oFZQ6X3v3Uq^A2Dz|G9#sTA$WXxvSZE~=Aov`!gWGVs z>OTw!xdJ&6=RkIIHhmy+hlY2|hP12&`11EQc%)no5$c8DcQ^zM8j33a465Tuayq^v z?fA#(Ka5e7#OnBBA`$?i)!ws^^|ikUjv3U{ysQA0)^awQrOy*b5=A zu5rCi%{X6>rXwmfTBZu)S{TOdvH{iok_=P^Ibt zr)Hfn9bGv>H)KhG^t@S&t1W?r;`QKpNtronWCvc0Hj-*yBRID#obyVYmsQpD$3E-j zwCRuyazuilMO%ir{mTP=NfYp$R{&!dJ`leB5vF;cwqxx}e%5}4J!HPmuWY=6P)si2 z3gQC4q@Lri1sia7_XKgT5v6TAZA{PRmsGZ47F7J4fYrM+!1#n3*gF=W`Hwk_Npl0) zb+wMJ7z%-h+QHOXP7_Xul)!gXWvtdF!rqT=a7Vd~yn6DSdz&|jYcA4H*uvs7Wq|+GUw>!^h5m(Q6ZIDa^+|XR^`E zxDhLkMB-01Bghcoa?hTU#{b;PP}u4ux%K)Jsof_AKaQ;=@9W~}>D`gsS--;IfrACO zZhZ@mL8r)^%X5(beId@8@WFynkIJ1r8sIUQNoCw`!G-h>9M6c^AT7BHSNl%`9iCNq z=4L+T6kkOc(=?2Ac`zeDdfJY)G^h?1#vJr)=q5a3SrleT>P~(7Nxq1aJupeZ221pa(w;dq4a)g^K%xH5tRn*MK7S_ zNe-QOu8)`eI&kMKWi~o_1#3Qc9y|YQ8d)~o1)lU~60?C5xW^=wnmqqOOm*j0CaKua zSHtOWM!oam_=8jqr z6IUz1)=2W>nBY4yoRALVmQCP0r8%a2E;G9Qr)gDcJawOU2j=QDfk2xaKD;~=uG})> z2H)xc#ef8e{-Db23r&T5_AK-l>tXvNKH6Zs5tX)QkYEQzv@D*(@)*RUpJxp$yL=@MXg|cx8h5Dv*9E3k;>;PTneZ~O z74~pGaF#FJ0bH#YbS(S<{TKR&&WyfXoM#KK~^8O-0QTs)BP z4Sz$jIbj|5xYk~cuqg8%2u&*ozBAR}+vUwkn_{XXPfWr1;Z;y>ItZdKYC&*`0rT#= zuSxIiUixj_acW-a1<&_>A_JkJ^yt7Y(){}xc^&CXLp3tdxRitMymVm5Q-^Wkm0*I_ z2{U=QebAol0X*x~;r)Y|kUi8ug*kz!&LhEw=a1nD@Aa(a4jp#<<~MpS>jZ@7lwwVo z0(^1OqgBl!@aM?)%FzRf*briZ;jv5LR&gS3biIq$bnfd6eMw}LLy2=iH#aQtIcLkZ zQSvM56?`rL=EGk_#@bDk{rI5@m+gK_Eu9rXD87gD@a!cn_nQI8XB@&lwt)_|zQ)Rx zXQ8A_jy>A6kIl)rg0Isfp?N5Xv6s$=LOpp95fuf6YdYNemTV|^p##|-W!%Nyf^5T9 zRaUm|95J#_gWYK+%$}F!uuW(Mal2bf?vr}FXnPrFOU}j_2|}z&rao(_EQ0BFMTBI< zLEQEp==o3$$7(FVKbi;DIplKRXvTpH=MxDnn?$Gix3OVRo(;I6huLrpR7P!K*Eeyv z%a=g*%p+9p(OS5)B?j-BEW)E3XR_g{0c^v6LagSGwMb4rg6Zc8*c-XQoSiOY+f;AY z+sjWc9ZtlX_a33)V@>3VzW`i;E7VFy1imQtk#FtMq-{cx-tBl!?uUgDcBqT~`<+2} zwC#}}gHUZ|3MVOYlw5D}sVs|_PDAI;M2WI=D$>VKyZuDTCkI)=y=}))bJ9ZRwe^*M z-Y&)$`Clp1xrB5+9wGMOs=(X&jl^tNPLm;qzQ{MmT|YBv>5L{KZ&!idswG%3Zj7g$ zYjJCNAD$WdL)ugdsLezNnLjukW_sFVWQQPIu_c&w8OUa9M#R|3Z5MD0v4lltQS`=O z3gny>!G9Wqgl!)sUrTE+VRIketuw^TykM4RVl_LtkWyM#i2N~A93c0QG;MYzahXb} zb1N0+9M)#{qzJQjejmqv9T{9;#bGVKU&ODiBjkYVZ7{?l7|OANbSVz*3hcwfAkEG+ zJWq2srP8`4C91Cch>ot0gT+gOVNFpbaI>y)GTJA(hq~lAmERpq1E7a)Q!yZkdlJBS zZZeIreG9oW<}o=79Wb{8sEMd6v82VGU*#sk1v*p2wO;cC;8~ zK+kJET$p?wFU`7(K}iC*IC>ZE$hgOqNR;B{xRr5)^_N51%Lq{CvnO@B6J(FvThcrF zgN|Mdq59KZh-KFvsIS`#N0%JIFP(?E<`s3M0~b*DU`<+Da-aCP#gjGPy>WuBK<>G6 zEZElw2A!*5)bK6QJe&b5_RNRaZh5$@Vh_%ZGr4`6Lb<>9Nw8{Pg;^tNhfjJsz# z2o#lL_CKG>{|On0n;U~_BB!AO`S9A~!x;0^nsw={!WStakh?{Wc{%D278$RIf}b#4 z)N|p+kk2H*s*_$k7D3hyy+qC4Smbft2fs%JnG#D;#^A<6x;*DOeo!l~Ov^n0?@X=W z+V{W2Y|bhyJIHcH%mkSgIlN4qhBD*3-jO*lmOGU>owzNv1w%eIz^X4ZVTFV^xH%4S z`T7H4wX+p-aCKFsS=etfWZwX9yeDalz$~_>&H|q&WYOI0_b9VaAC*d1K;;%Lh^~GC z&zJ7N$BIqpqA5qBFHZx9hg_O?poO-2SJKxLR;YA|BhU17BExe1c*Rui3 zL{5_zPuF6yfB@&SM=<<;t4O^?&rqp7W#o}_8V!Bzg};^`$L3{UiSwpGYM;CuZ*(lI z*kIp?0&{dhPWCHq+g*yYwY@mj5p!VUrdF!9zXaM=R+IetF5;sm!P!gKJXoJwpK}31&QmET_5{im%aGq}TXKwQDVDv~IbW~@9Mco;YDYyq;GkQQme+5{r zx=A9E)-!|gGK|qAAERRIzz7M-GcNCM!7{b=%uF5)X8vDk@T+ei?();=H6OP1ShN-GjNV6$-kMO)w^s!5z}N3|>~z)T&U0n-JJce)?9B=da4}zmQwlp7)3> z`E~)W9eD^JNBEiF7P8Q%qesgxtRhL#-Vo_KNzT64BXfT`!J)JsAmE^>DAxq)YH52@t&h-oK9SV@B|*t6dpocKow{}-10 za?B&&%;&+PG%JqL!CrEgKNH3#r^61;9o#gQiJl)nP^S$e829=nZYEuL=ambpj9Ow+ zO%RElbPxP* zVNUmLlump=Yt7DZOndI2Lw+tD&+|eTUr#it>LO_oO=R!eWU_@f7P{4Y$Tu}1G%(qT zF^R)uUfK=tGYO`DV^?8AR1oemSppWD8^PaWGk6P(`4BGi}1fZEg(<9F6#R5V~|0I=aunyLC%J-!syblmC(2+Zj!j za&!F$`(zHfto_sQgq zUN_8I?FMT5G~oBrHexcsfa}O_&iUiLlC0CAvly`3hZLzCW?j04S&xd_*!)-mM!yx1i;EJ7fA4OL z(2v5AHh#{#uN~N%l@2Cu6<~k80TTmwS=-JI+G_qE1nsk~^hzn=J_uHZh@?yKNh+T< zT$6*=U`fXLw<~%}_o7V0DZCIkkC<*@7}HZVu=9c|+#IQbMXkLgc7_#hnbt{fKOKjt`^vVvY-c8|2qJ3Av4+Kallq9 zRg;^p0N1whFax7$@NoMx;9DyXzHRU5K`}dQ>CHj)URicgQ9ibL6ZXa@V=5mm!8~5i z%gmP^0ogl|rY5ehxxY{6;0>EzG`|(bnq_h^YI0 zh{)W_2rpR3RQhuv=lgTmTp$c;Gj-^h_+qY1tR0Hi$#6`v&7uCA2(!SHWun7PMu+k*QuBA718kI;8ShFK7Ho8Z$T?AoM& zrMbUoad({KZEbyl7TQ%9Um-m8iYyzX<`w`~6J3!a&o5#KlyN%;2QRo%|=-Ocl zOU6&ZPlYIWsbYgi*ZN_Q$TViJnmehr|4Czv&Z6eyV4M+k1YZGAEm^nl zc+Lz~wUU9dfe85HFGG4}$lQlMn5U0+rpfIE26?2 z-zm?O=q`Z+TZQqd<{-Mx&BIeJN2$f%0Xlso6aJ;gGd4ozjGV|drgZ))X5qdq%r*xH znB^xz^ZlJ#g3Dlx0S6BAa)QIJX}G3*MH{pkF}9I4FoJtl$(y9 z6GS_k2ei^{9jYYDk(j=jq=i2XAAIFud{crL@8Kq};6CRri(AJ1opTbttsA6=b=Kiv zq7oEY2VnQ+P`olEi2Isjajw4w&bua!2U~^M(1tne+d>U0TS&;U$E|Sr+ACmo*8)7= zOMS*gabRWxUDEKIO!JH*w=~q*&JW9JUraqN8+L?}jyv#XZ7x&{09wt?gqom0a&3PU zW`~8)h^HLb!M=kVS`rXUrMbyyPhZHdgyt#DTAkjG!Y5{u>4UZyd_a|DZ0_Q#Q+<`^ z{_(=Wui51EsW@8tCWtQoxB=__y~Mj;VsVB615T~(Xz}blehyJ(GnO7i_jwCpw$nRu z>_#30Y^tMIcjcnp5*b#~c>@|$9)K%jKZ$YFL%OJFHp{Cli#E^B5=D!Z#8AWulD^y~ z)$=z)wby>4tm;m$3ZI10LnSa&6%3Nvjd*YdFLNL<9Tv@6gUOG>sP`)^NQyoPW*454 z+-;H2n|7I)>70hv&$EdGuLYIcOyRH7Cs2%yt=PseFyJeUYP+v-dDsekt1EzWl%&b- zo?y_~BE)!DFJ!jYl!3r0hVJd~hVtQl%KxdDZZ%v;#-r*$%GHS)j7npP-WAw+(}ylC zn*{zi{Cj^B_k?U$s@Y-Xvw(m66Zj3+|_c@p*x0q0+ z3uKpvGS2-g0XuurDgFMBW_ssfXmT{#kDrHz!>=IbeIFnM^=p{Lr_NJP3ki^LTLVy(jIjqV(=N4q^cA~@ z0nABEGnvi|Tb^LF)=7Zg@p7EFno0|wNaMdfVz|6@N+-(+)I6Po%}MKV+E#sxxBN&x zB~`)DnJ-X~a~BP3d04~U+1Ragn~0cCCuX1J(Ri8~?VhaW(#MpT2}V&LuYbg%VFdHk zcCs7K7_n#89!Jmd2yWZQ2@^q?Ao}av7qWd_Du$=tMxM9A?AzFj*zv%cyI0X2VahXpnYsGY;bhay?Po9zm{ zv4SW)Ul?rSpOJgbij~@G@9Dw))7i!xO_nOGLAR_caAxQQ$Vb@2PyIindqR}^q1~4o zsZc}g*9~BM_YvH2a3@(CbPK$3Q8$kwo6D!9CKSKwD*pLof?8L z_}&I(_FW;XUaNrL?=x^A$`1s$?0_1p8PK-&5Am*l$k|aC0y0`drvHQ{EANk3LSID{ z`L?dGyeM#zNH6}xz2hiEd2Fr8%{BW$vVMptiMoJ?ZU%Hjroh?tCNPj`kLoK+@!HsH z+%xoqDl~p0x^{su`=L6<`n$mF(b7_a%|pg&&t_tWK)t<*|shv*4X(bCe5^CpGV} zc{$i^;g8g82`e$c&uZ8xuyNJVtijAR?ApoIto!{0EZ1+rzJJruabOWV6Q}eJGfa63 zRM}^SBe*Jm5YLwoYIVSty^%SGZOR|QybeXY60-`1)vF z3in9346~MX0>ixqxKDQ@R{!WH+I{&@F~r0Cvxp?C{$zt`-~w1DM4T(+BJ16L4qBQKGzmfTYCdle6 ze6J`5sw)rw{nVtUtO80cJpe~`S>S1DV!G=~&)LaLdmGbZ>yn~b&9)hrsGE789 z8u$MFY>1V!(W zy`_4{tHuv^SYBMX7lV&NXtra^OGQSK9T+G2g z;tqKrBL!(K!MIx!X=0WU=K}vleC?*eI-ixoH5qPX#Y8*V*VfNn@a8FM*c#(csUaGz zu>?=~ye2}Qjd9mjD->D#4uq`hptHz|**-X*`T8*ro=&U72e-9A!O{crww}b((!A{U zl|4A?hYcCHwT}6{TZ?&Nv4P2}j-n$x;h^K`2;y!?Yz;j)@>9)iPDd9`$X4Q!6k%p% zkqkp|2&(ocGOxPyz%h#lK0n}RCJHl1<3>F^@a!Eul9ou~N^~L8?&CQ9?s&N+uw(^TL^qe3&aYAS?mnGH)x}j#F=g+!8Vujv&X-DAYu_bnDncUShrN* z0r7a08A_r@YOS#9VJq%eoy}(IxuaKTCMVXq3m58tCBNSAkc(-XN%Sl+_E-x=jlf>~ zcRvno)TS6~&sF@mO^B7=;sbYG%(!=)cvb6r1;7k8c~s(_Rt{q&=026zX%G zSCJ^{Ym_vENKzrY>^7BDXo`v!4N<83I`51!LPbeLQISz7lB_(Q*Zm*duj4$9_xp!y z{yp6GDis^t((pbxiP3LkP)ID2ovMq4^3n$|-fcU5@is+JB(s1ou#7|XeW7?>G9KF{ zSKtxXELPO(0)Z|{5H)Ze-nj)){~K1cvO5T_WN$!?@H?zy-&YctHjY(qc}0fad$aFV zS!`OF3HFM4Vv3FsHhdMv?1(ZLDKi1rXR0hw<{aC7rm{+?;4qu%B_!C?HcTA-O(Dzs zI;;;Xg%9bIAkuUO_`Tf@zwc!1QD34tO^$~PwtQUrG=5^J z7(d2rDetmIiCPl+7UV#U1IikQv+Uf9PjkM5; zo)GMK{fl^&Cga9{vAp1F9@;Jw{^y5rR%(Sx7+5O9-%%3bFU`>8H9VZK+x0eSm)C;Z zGHbY)pUd&cU>SZ7QH4RVk0hM@V0Nxz#J(sV++)wc`{luq^s*chp7axKn*unfzYGpr zmqLl+YbX+2f>rJUJc6Ype@+;r&+>s2HKkA$`-6nly1~%}gRthV4i&LlOIDUi(OnCvc!O|WJin|58|Wnzu%7N(5Oke{t10?pDfgbn{Z!OijuQp zW+2Lrz&H;jsM)FuPlKA_X<8}xTfc-Ycb^LOeKv>qQbTB5tc%n2O0D+lCBiZbOER}Y zK%1t2f;qQLK(W05Z5=2?<&J@mg9Fg==?Wnmzp*1;mgqRImMu4OWd7YX@V+t&LdWgl z0)-^#kFDZ#XwpfDc{U$Io;$*(?oQS>RD!|$jDN0ULH~Ay(w4#J(6dn!rsPbZqw-X! zgZe2vd;(6Lu?ZrCH&W>b4BXe~07pQ$zi}U@oQL@u;cQ&aMm$dS zcm-)AUT#M`>MLL3F7hIi{e0E5R;d{?LtLY4zs-q0hPxjr_zF9!GgF2Rh! zWti~5n(sURjmuau2QLy!u(%k9j*IrOpRaOZdvgg0a^zrSiko2P1q*?0E z9lpd`z`N)`(6p6-U3}NyV3S^s zHSgZxHRI!GJw_f=L$vVy$p^T}rG{DWZHGdY1@yz?mmpg-4~2AvV z1w9s7{{h2m=JJ!Hc$hXjf@Vt2p-U$e(tYbT(Qk9JVg9;e2-;Os6=&wgnoEN5Su5f5 zCho+l*}*i-(~2G}ZG$fX-SFksH`o{w!ieh(5QOAmp!7!a?9M`z{(c^3o|B}9%H8R) za$WkU{({xjy~mk+qarN4=SjD}DFwB;E?DbG*~AqNcwvzRH%oO7U2c37oVTxoV?O)v zWRD`R9q&(WjV=f2>RVv5Mg!hVc0~{O10=7^2z&;+1jTnN*s^5`yvMZwzIV?%%+9X_ z*}aLt-X|g29LH`oMWh}gnCf51>~2$hUH+JJcZJ^@{K`z6 zS}?f36$RH-v1bLxwrH;uJk8anQ(iyfWa73H`DwL+!@mo$(oK}_@qCM`WU5ie!W`P2 z*TU7?3RLpw0K|SYr&INJvhj5~R)>Yf1m6F=Cu!*w-1B-LhS%LnA3G(O4us!ct*>)g<`KQp6m<&oBwhEU&|Oxd`&#twG}WCYQwj z%bCPm4_F!~#6Rg@i|XyyK{@vt%#+&+b_*r~H)}cASEZAVa|P%iG>LdHQQqNP3sL+j zkGoT*V)7=yl}*36*I&+(l(h-4rmYGZCA%SQlqvHabshJ*e8g#nj(qd0qiDO<7LBEo zu~3T_lpR)tcWWPkZLBslE_}yw^B&+7!!>BC(2u2lZA`I88l*)FV2$W))Ue8gujjwO z;-Dxpw{9{P<7<3XP=Fy*f1;?00e@h+#J_!S#Qg(Zn5m)#*Z!7*{z_mao8xeCS{N^w zn};qgW;kZ^1|0g~iDE7BX!F<~HwnjM4mE@iSE@nP>J5wV@Ws`^2hqdo0&>gG!`@Fv z=?nfh8X&}ZUDxATS0E27*~rGx{8nLE=owLfM=y-veVYY+Dpvy)mjmI= z@LEChuQ*hxc1A`0)%*nsPu^Z-KJW5!0d?m>VX|`r4E`dtIJp8YF0F*`Lz>`XbC=lm zC_+cbFizIc=Q|FG!<+;F`Tdy!(UVcoHjn|l?-j5cjwj}y;z`>raX3|=KrRGLgGC>O zLFrdD-iwgOT_wi__fD0==uaC+mfCdS{T7koupY8~wjHd!BLe~VMfqC?c7W#YUP$lt zqs~g+v>+jx>Z%CQ|6bmKc^9TZZ}}KF_3D)0xap(ye2SfQK3!w9Gp@Yf(79p$@JdK zJYJB8^Zjj6D%p-wp+)r0L1TLNWE`Nr1Qnh$mX?%A(W>$9z}Dg`8RI+=y~J*_ z0EJQXeC0T*?NdmMr6VBN={Q*RAHcj$4wT)k2;P=q_tUV77<&p_CS|~A?;bLvEQL5^ z$?@al#^I;a*HLrN0M1rDfd{J3fQ)A|i7@)fmgq<`l^v-9%kQ0B)yCr(q#nuMCYz8~ zWe2McMBZeFc1+?gbVsmvZ(RO)e@c~`I)h80li6NVUo;>2f(PXz@%HQ0c>YQ@nlOsn zSIp+?k4f=!bLX(rc`5AnUvHSL{*!3zUB$W~3syIG!mp4QFjY^FMyDKQM>d~CrL+IA zv*|RtSzcyp3o^*+j(=TU6$7Jv^5NB(T1Yq7r) zdZsu{dnka?0$JYXh6Ml3B?k?;V_Z^oKfC)OkvRT$6;^q4!Bzjf6RmnNUVs3ku9qTR+Qbo~LY z7-|Rm*)K@xD+CAQFxU{^fKX!0Z@gQF=VW7W;FJoVHh&_&eytAg5D|$-^Iu>`X9~#} z{s@u+cXVz_MAP8~=#pBA2{PfZO7k#{dAyb8q#PmUQq35*IRZV^uR+t4OCXsxK;l9K zc=*o}$kbKC*6+*dp&yIs&5B20cHaYj|JBD$+s8ob*k(91tp?;28)43FJ7~4;1NF^O zaI>%fZH9(JmGE3wAKJhC5Il13 zBs2PB;m}|cJQO|&^9Jw3wcX{Qd%g%}HhvIX9bAf?lk(VPGaYH57-`WAM()cs9l7hgHR$t0Z4U4Fbme^y@Ay zs5sjROW7#-P2|DHA)K*L4f3un0LLHOh@JEqK~KXV zJ8)_aJXTl6Npo-GRBto9ZFilhd&$$9)3MMSrc4*5>(K7nUUtCi7z|#@g706#ah~d5 zoMp9@mr|UE?<|aHqLUMCxZz4&E(g$2sbO@%;UK6huY?VfrQEXF|1x8;onK$}2n+Nh z!TX~e&HAfE6OB$lj!iLy^gn~*{v0mj>rFTqFd92weZ#fk=MYYZL!kX293POUBM!x| z%PE<;X{ho|8|q>7m~1j zyeJyJU3&(vmZrm*{o-)#X)jqD(+e84qv68Zleli%2@Jk94+CB)^EV95z}?UdV*l{? z(83ZGzQ>|%Q91nmdmTI~El?}z3?3SF5NB;&4l@#^`318xIl~*m{2Swk?A`T`tY>v2 z+cW%u-Ot#9dnJYWlKv(9XYEqlIdqR`gf4^Jfht^+J&upmc3>)l5pc`hhCKOQA&^;G zi^?%oY)xDlKGkX#xbY_Raq)B_p|l(0u9o2SRScU0jBtEHJiC}u#G0MYLD_04I_-7` zL}d!ot2a;6)B*!2FZsdb3WK;7Uv>8Gd?)+m9{g6PlfXHjtX3F0VwOh>w*4MJuYFp`9yD=Bx((prrA2hzS3_85+eP}PMzQV9 zvmwdLg!LTUjuP91`I#o3nEAkkw9hSqiQ36fvvv|0+MUaqcZU&wX(!wmSj%bdIZ1Ms zTBGj7SM16Y7wlf7L(^o9*sHbr{1bTrZY`=Kzc+=V#J$bn>>`I&3$Kz*j+*%HxC+XA zDk5omdStbxKAAJN3?KX5##eUwXnJ0p`2EZUf8{xx&14-IzO@8y-#oP56Wse|f)8&P}QF+34xilA};#$GrM`@N%Kr?v+~Po0ah5f9Mhx+rW8tb&5WFJRbJ zpN}{)mWR|;%uH!ING+NS&xNbVjB`maH7E^=ZtRES((lk~ixI!tJO+1Y601AAI+>S* zEr{KsaI`TL?sz(ISJn=*Q%j`4e2E-*r`;2nxsSzwG-Xtm*2W8l&qf63sn>{$7sgv{$@@X1|9c7-%Qi9@w==NY$ee0SaG|fJAA!K@&q3B*l?o?b zhqR|nc==cci>NyTOU?GMofeQ=t;pao#YkSfKHPl%F{T$?wjA_$7n&&P90X_hfK-D8qkRGn(9Oe+B76>cn`H zD?Q8l!9ZCPGQIs^hT%y#a8Uym89W5)vJ|FV`vi}l9Hh^82T@&(8C0O=PAyIZ(Pttb zfo)3!A!bNY?gW5p`+Hblu%FmYP=~;67PNR|108KGLa%oy!MfRgFuGzhSPY+oZ>no? zzM487D_J5~VaEyD(yQ6iX^Y4Qx2w1)B?Jdm6>+O~4;S*GkxLbgKtr*APB*Wgldn0& zw6iVHQ9hpSEZV`$eN?SXqdG}^&~t&fjs~g)Cy?$F#%$}%scf6zJa=e|6Z?JNi+d=Z z4u!>5v~SOP(D|T4XD3d?N%Ibopl3Q{;-e^#xpJNaz2vxcf&{b)%!PyLqO?!$65KG_ z$oA2nOvdLBQ9IKI8#_O7qlHsh_IFp56g|nBWq06Fl>n&iSq3{t4Ki)F1!(@f8r>TW zXi@52*wz;gA@Ac*M@$J9e``l&^TW7pOqtas-+C5*`U);K7KT4n2}I{lC!~Jf2}TXk ztn^4Ax`%0DQ1ojo&b1=V%??cUUmxBZ8;7>4Vo-avid3#FuyjEkay9cIyYRpWm27Sa zWH}So_26$xy-Nv!r)V1@}YB0mAKCs^bPy*A}8CDSyp?L9o z01i8gVM~EJ&ae5({U@aaQt9>VvfBiHJJCZc5ecHdE)?hZxRXCoDS~G!5@C`>C0GxA z1%>6i;MD3{(0ph%Slvp(@`op?bk@t`iBAjQ>$2(O%&S*K{Tl%bHja|(%i(L)EAVxS zBF7BA2)ypdkZnWr$gPd@;JaWexE{!abrxc*>NRSW=Yb+Vf92~Q70@s+XU79v#E^PIv8U;3g*6a zXN4WdaP6NF+`0BHPQ7#hdlwdBi&iyEku8AsLLFFgSDZSQo`tZnTF6PhW$t02cv z^P4$1Sly4IRudtjMxA!LAvjJy1x}kn!2f9*nd6WQao1~ENRb(xJ5h*kKlPAEMQ&hz zbS`L0X2Nne8IW1x2l|<*@ZsJsvZnhKG-dB5Gnc&uS?TvEvSXMO%8ByUqNx~eCQ5w0 z2HBT4+Nidag8pz3Y}iI2;!6zE4%EW;5(@m1X9leAS{mn;y$D2hEQ5m|j^I+=5*)N1 z%W^BEVOQ`Wl2-7R^N_RSg~AweU&7#btEyni+6ufsrHT!kH3{T?HNz;ocres7gg4>& zaM&^q?BkCJB=SGPv``JYRf+~F zfzl6^`98OPG@WCLQK#2~?DPtvmhqT-H=l!*2#XXT+iiQ*#>Q{%5*T)3*-!k1fG6=eD%b2 zyfuH2-z}%WZ<-;)H-sF*Y3Zv-{NXG%|NLxNh_ckmM1}kjZ^e%XEcm-EN&Ex9?^tnj z15F4Mr&CsXa}OSfVA6p*YGCPzRB>hYNMgBZzJ`brUe5t z595iYzme#FAw&NDP-J!yJU4g2g^b5w=QN6no2B8A<&u0)z;W{Z&Kc%3^*PGvJi#u@ zLZ)9*1XIH1!2D6!@aysyIFjy9U;p#0Z5#W+x@HD;?o%PtuSG)N>{_PsLW2Iy(5E*K zDbg0HLP#q6MS|BH1C{qNaOXc;-lldX-!}M;^P4mWHXNM^Hm;IX@$@iQw5ZVE+Z=&K z?T34i05UV@LGJc^Z12Pe^1smm2h0xZp%8}k8}7OgMsFi z*t_E{-all)HppoR9@d|zO8VeWMoaY)yMWCgwNs6B3?vh|d#^~~JUKqy3P%Scmg%@iD&o!oyf`-w2M#mx4JQ9Y+`ZD}>F)uhdsTVbV zk41lvRB*0NBl8|fjTRuaFa=xOm3gs{wfLr4A3j8hL!a|iE2Y?nq~!5aQgR^x%^kcU zNx6v8#GK zxn6AtNp*jSgb5EHJOiP4-QlXR^UIn0^at!)zYCcg5J&cxj>qG2F+}bAIhdwVLzww9 z&iS}I*_Iwn4tZT+<8P{h$e(zuw6Vu3G7BI1acEH)&aQkZ;8vSo6?KeQ~FAXTSItr$y^O!(-96nXkCv41mBx6DhOAIrqWT*i20h|?87QgF5^Tb{=N1VFC?b3qU%%e<#KP(lt_Su zNi(_4{^ImuyaN4Jcm%bsp5i>;Nn?r4nt%Qg#44Je5mndcu=n&KG`{$ct$*9Y$LA9C zcR?PU=}*9ITnBO@4rH}qh+tXGGRSO@f&7_wV5y-lpY(nV$~CN@4jLCA)5`))ZAJN$ zHG^#XHy{Jx0Y4yj|sH^A3qRfX_71_^v|4L)s@K4sg)fa5`U4YyEa*v^TE?_&oIYJ0u16Ql=mP&KiLiRE zENqyhg^tF9I6OCkzxlos3*YX7CD~HoVm}0yf6YL5%PBJQrV^agc@{nKB|Ezy93A(& z@|RAAWAOn|PR;ylDvkrreMyabLhR<7bJWxz{ri=MI%-&bIc>15J4vygjet^^I2dr8>PHnmi!hxjLe3_zSU6Y$po)nn!wzF1k!v?8Nx2UW)f@Cpdw@}@pnIn zvU%?+JGWa1%x6pmetrqrak-y8eVtF*7OP-NqZQd|u^tvqx(veZh|1AXI3bY2?GPV< zm0T5J;2*yc+a(FUHbjfAX#{2V9m$VZbCE{)vMxX7>uA-pK$i^+Gd|vc3%2 zOp&Vo3T3-roIs}yx-`nX8HVpX!p40jI2Fh9_us$9XWdmy#9$m;VESxtkT8wbI>=(= zvY7mkG46e&MUx8b(A0Mm-yl+kKa_*us_$;*f32R}ostj1!at$z?0MKRFq4f{jwEeU zFQGziBE*iq43l&g=Q*eAdySNiv~b$rmcnP%arjx^AF2FlG~8){;w__iyKS>@spdlvD>k85=rUTe zwGH;|0$Bf37M2v(a870kY-GX(ocm`2GoJ2`frl*-LmcUlmLc6$p-y-0>4v8rlH_{Y zHcokEJNcxu5|sUtVa3yU&U}glYsq*hIGGg$2l--XTu=%zItDO(^Q*u{_9X6b_<{Fxb|Y(i4i-7S^jfPm z^$I8>7L)I@+X=oPK0ev%zRh)Zs(TL#Z<6PONgAfCDE{YN$LO7F-7qV^mfWAN3$Hud z1YBDNj12aZCmju3on0wzS(1d4-ra*kEu*RZZVkHVwF0O;a>Sz8E;uAH2NrHw#|jSY zB<+`_aY>FaONrEi%E`X;#9K$|J4=VA9XSsjGRauGav~q-`5u?m|7D6=_NZ~}2~o=& z4US7iXv_KewBPY6bWQWa7aivOsjC*4J2edtUGe1WpEe`^Y6*Kf;9pfNlm=t8bKtH) zFYNJaLibe;=>7F5-x6cVk0d3*^}}U2ZN&qWbr!EO2MIiiJ~-ub8hY-|#23G{c{QfZ z+g!PaA7=M5ul=GZ!DC2%nPO1-FW;LHNOOs|CxK!hw>{?0w){+$s5&#aC+oWBdT9`L!3^f0e*n zW=K@OSCRK$L#wjXK_PgfEMZ5<>#>|2P*o+bEar4>Krj3sY7ISwivjX+rQB`0<#p66A) z_!jd%{Le<1mH)SiWPP0lx@s>48Ph3_w$j9%D#dVfF{OPo|B_1=ocN^)=g{@sHX^1v zj!s$s0sM_hVY{0W1l@hg4!(ZPjSr3md9U9f>ZUw`?a%kbrKOzd*dM}yi)RJvLR4^#@RQ1k zv(!mi`X;t`g$S50e+j=zzQG!|2M}d9k%U(UvgG(MR6bM9WX2nUlHLjOXLg>|DW45^ z?{G3+`*lMwV(3KbQ5}AJ7&3h?Z{p%$gzd{Bpkj0iOqf>=p894moUDZ`Jd*7$cfoR( z_e`StCMz3~Az$VXvR%jH2``Zcerfh}j=^Q{zjYLTZFaz7&I=SDgyNg9Vi;(RCNCcJ zGL0rz{M@Sq%KgirL|&avnOzCKW5e*`iz}ckI+NxH{J`sY8NkvCT!LS*i3YNKeDXMK zoT0!cmcE0LjfE&lX7XnPdRfEdLO9s<49$;BBMv*};gjjFv2ArX8f~q?J>~|yOJr^3 z$)~^A;R8In_s-x07d~ghWloU4E|Pt+PD0;r))<>nN^ZK1gNNh7@r#ZGOcVQeXMeZA zX2n;e&E+hL)E*n7Oh5 zYO|-&@dmoMIn@Xq+NTn6Q-m+GZo`)yYRqHbC!A>J4&QF%(#DOl zpM%$gesD%}pECWf!>nVsJt(hhhpkf_Xx1!uin-6g=FW8B9LD3|idW>#ViR(3bsb1$ zT9I?l&*A%qd$6qeHjFsGg%`?A;51_!@znDY?BxwAf1ixRC*?W#OH4B+;dIO3Q436ClM!hwaCaNnm%ICHp?Su}g%R>d25WBGG3`qE)=h|r^1dvxi6 zU`H^z6vJv2Z$gH=E)$+`4)--&MU6m7K6v#VTvv&Z{@^y~Ij^OnUw6~XVxM5Y{07*2 zG>&Zhri=%Yr;r`x_wcf4BOYd_D>c$N5Hi>Y|Ect`@iC=f(5?lG+WX+@-z>6CohN6` z7-R87d45H|Hl|NwENH7S{)y0nh_B=Lh0fI&TYD2E4}XU}BaNiIGYLkC*>lqOpWs7m z$2;#AfOvK}7G?)Qny52BFFclC^ud>??7jy#ArN!dj3R;egHdv|K1!?HVBA|#HZ$rJ zzSC&OZFG>ky+Vu^QF;am@(0P*Prc~CUb7ejWwd*tg0X?w82EVxcY4bf5)yg`?p<02 z85vK}T~vhc{B;b3{)>lW)_1Vq;y1>s7hrtj609ChARP^raQ1aMwl%MVfC36XQ;Ueg zwg=o8dq<-3sE>=B<%Rlnqxh&j(nReqo{8RN1L<-gEiT|8wW1=m1_)R0< zG;*=Cvm3jLsxfBrSyWjsf-)}x;P{trnA_|`5;yIohm^%>@q=qbys3<})Wk6U+AZ|Z zjbV|d8R$LB7*!+|q12fz?AXOLSpR4>IIaIo#)w2iVNw*anU;#XR-|I(&&MqPd~8+p zku;L_W;~g--w@?5m9Uy4fjHo51MAwvVEyQ|g0Bk&kl7MX7A8ko?jHKimD5vjv}Oir zzVw29E6l*|>YIYQ2h}mp$XFmYmT<>pgP1~#6W-acfs&iX2<`+Gk_kO>U|hL{fxbB3 zb<_{nEy^Q3`Rka&ws;&=bw?|sgJj`qKPI*6KjIaU4ML;{M$J!RAt}>&uh&yiZ^#c_ zV=m&VCHW}(@dDm`IvIlPw?ek~F4(_Tf+h~RSuMJ^oEPuY<^os<`(tl_?Ukp=$Ejf$ z+GvVCGfd#Z)|Z5z8;6t9zoCS&C7&2NhreW$iR%xK<+q5>;GsDPleXPv{YKm2GM^69 zlTTydswC7X6Yv_{2E69CXv_$xVtYlUcm;Vy-d*!DP7@zPFK#fV?n`8-qw_W9JF658 zwkzX&0})=aMS-4K{F^-OnG2S$g0bXf8~7Bs(WTrwDBFLs>hSeG!QkmFP_KA~$kaYT z^Y8}D8hQiAUd^UC>HoSjbR+n5HNmzULR74oBN@vVz{KXU^qt=?aFDd68b5`p>C@G; z%(@@0YffNRtd_~1(Swn$3}$h4n^l{b6xMHQXHhs4518H}Nz1;IKk-k{WAi24zvdL4 z2;7I`oop;MOC)jJ1TUzt{>=P!MEJu~rTL|H4qSUfR^@~Lo|C}xt3-K}6;u>x!sAt8 z@Y-7odRA?KGUqHovgdfnY)$1(8R@`XQI6d0(L%oFI_I^*1;SgW3eNnp$GVNb+2&RQ z_?>=(eBgWqUfE;W$`!NWB3+H0oG!a2cUmyPcN9%t7Y(oHyeBu5_L0RUp19A-iQQUr zR`6`aTYTZ_h2Q(<;;g)6+~zY6BVHs!llVmv^mI96ieK?@*k-}fe>?Es(yh$)c@BOW zHNr(0w-SS})2t;V6CDSBacdh?d6!dNEX?~C3%r;hShPKiI20bgJSC+PO3sa@F0GSj zP}n+R6+MIx|EpzkotFI8RTqi6vkWv`>n4&(vzc~SK5&(5A>gG8ggG+w5D~+pmeKr} z%oyIqXBFNo>B7g?9x$sFo1t=yN##+q99D607Y@q>2)*-wx31+? z)$@*#XJPJ;Hb;WSj|LiCRRFK*)c76Dk~es?03F3*$WfOMM0vy%>N*#~1dkbzXzxzi z6`w=dx5ZHPtQa2;EQA}TUl^OCP1c=>fzN;X*#7_W|M7t$g!cGh(8Okp^;CDg?#8bud4* zm*mKL;g4Ad*mc!1HjCJi;@K2eW!E$Dkr+XG*KbKBk8*z7kiOpmB1YxpsJS&U41R|qM+;D}GlIF^ zSx%nHO#r`@H(5Gv;7cSo@ilIPxNzJ-v^i#t!LKJ^Vn_`pz6&0jXbc_APC6e>;LDG}&jIQl-*#tKfaN{gjujnvH>21=u@93_hGSm9SIOw4E^UHvyq(_S%h&I z?7m_T)2|1!ri1Yib+SfKY`PToRl9&*2@judh(mpHJrN%1hJd&APLmq9DKOby2~3aKLBPN7>(V-b;UYa=yULFj*BQZ_)Jmj1 z4)AexHN;g~(TB?v=-rcr;Jku|_$YJeBGGvB{&ZewS`Z%^T+7#ml;B*mTW~xjmToD? zq#g=mC|`LIZY$p=8*9V4`)Y3dp#yHb<#KJl_s@6ybvIuyR@sxrpPfz9&L5^H<)i7X zUKzScuMFIsG&uh|4QS)8j|m@p*q}!rre@9~W8-$y(fzVCS9m5}c~y=IiFd$iu?x`o zI0zk0Uot(8%O@K}5cWF>8di4~*iUpX`Qvc(q$yRt~n@2xD$ z@Cr`O`h?a0ylt?ko;@C@f`xPmgpEE4$5%cETR$ndBJvoHDtJJ8;0nB{pM!!IdVET# z9=~_#2Mj!YxoTp|A#y~#w(5@VfS|`*2u4(^;7HyqFzL62)>*Y6_Nxx>ZZu-gtIXg) z=}TNQ&ls{SU2($obi8XUEvWk11LfjB$VOjVT$1sVo1c3HjE0Xv&5>3p{#*{ShXbJ5 zM+yoI&SLHFf9#OQL&1pzIMG-QHw%R6{ouPW%ax7jW?tV@JNgjPiIZy_roug zqLm;wb6B7fITc;K5(Rrpp0JtUlbGw;r`+rFXUL}YDOFceM)7Oj{KPpK;=F}nC0^PZ z1naKa;?LMLbp2FL#>^~&6XY~VX^bT?u}5*WxEkLZWzA0xPvXPt{Mgogqv#K(n=on4 zLYk;K0Ndt#2HOfP_!}L@xJ!9>Z=*Ndl`-cxwA%75><^gi`vlvsiCpP;qk4y)apC!q6$ z;HTseF6LaBWXJ{Z_##IQW}9MJiaxxylfiG*FH!y6EgX5^#4WgN1`&Uj!Rw06Od&ZO zU6L;gVvEjJtx=EWRm~s69@A_%PTXM8iR&10QxOmQE`|WvY^(MiH$l8)7H((?Me$Xm zc;o-SCA{H9v&=1MZj2~B(O<>_ZqGz%-Qs{yBK9);jx6{;H=Nf-R& z;96}b+~|&lNqcI*X_OS+|5Hb9o-an@%@w%f$Bi0+w3+~mQ z5KP@%Vm0io#`Qm|7RY;s6TQP@xKE;~T0jx7#1Y4!r&61tO$~Geeu~5w<33HagYm@xy7u-1;^@IDB*&?C9%($buelks1xo zN0eb~>?;!Ov73dyT?s)=qaevY1Is>CaZ~@@?nH?I;Mg6gYiNMwkCh>AdnZ)bABXC$ zH0by?MD~W7(cBrDRAN^+brT*>V};BAZBaW+oSF_X7jntxO-H%S2bSaVq0emhV_|wZ zs1=&touo;_QuLcsD`*9t{pX#9AXU8wruN-tdv0y!qVwX(NYenia>i6xeI8{+QB+^L zl+3zv*D5gM35ZNcfh}LfsUUI^R<`Q1KJGGeetQwC&M9GJb3Zt5-b*`Nt6+`)eE76f z1El6|2lDj;goJGe@68H=m0MP^O}aPGZLxs&@-2d7r2=v}L5$L&cF;0B$yBe4LG#K* zFeq~XY<{~EA6XT8GB z9xaSm`%Qr73b<(<6nghxnDumbF1Xd7A-`h=1ZXgtxJ$K@-*?^Ei3ozXR(=tbo^~OF z^7n|Fq9sKOoPX(!{O(Ta#+}R3{1x@rc)(n!m5@}U@6@}Jd;ge z408rI*SRoI|C-qCYG;oMYQZ$bh)O&>3+gv#(xaQYpuWR_TAwTh#r@ha)9DO(%c;Pc zk21K?SqRTXeI|yo<*<);ge|V;;i^$QQt7eut%V6#pG#yfH4YKm)knz~%|vo}#R|B5 z$_2INAL4)OFN2mHi)o9F5UxA(tn$9;1vaL{3k$cl2qG+EstOWfp*GbS&#bq`1V4Lz z7=XgIM^89fEY2JlQdq%ZcB*rdlt^*L&d*?UHZQ* z?GmLmy9rI1S$6Y+?B#gvMBlmw>@7ARqlOc z(eEo*ovS$-Uq8)W>=VV=BgX~HD%=E@GAMX0Fu)g$#<= z58VT$+(g(^Z^dc?8p*Wx!dBiLqwvZ32V8SnERlVc2S39+pzo0~W502i3J(!&n;~+(!wpZI8OtkW9z&JYX&5AogycL$!?nt2^IRP^E|bNiagyY= zygB}gn~hChx3XF1Pmu*L$72*-jPNlGo`f-W>&QOXUt2(?-wDQz9Sa44Q~qUhZ9cox z&;|t}i@@ZJ07oCF0&aaZOdP)in%D0pP0i|%Hq91OHjIWC_kUc&sj^XDafY5WP)V`T(qeL!WO|d=Q~ie@d$V%nh10oQ!uDv zJimR>IR1vOC$4{xf%f}NasCN4`t|r2>gk#cxBafd;L7u)_mT=oo)YK3jrQOdJf6>+ z{FjVw4qmKmpETWkMvN{zAxop4%fm8729}9FV5sy6=hWAr&2dY9zk@0NXyq$LWpz>G z{yT`P&W7fMMNpXW35s*F$?5-5aNhr1e{UEkD=UgnSrKJ~ka(Z_B`H}IDpI8JQPM<7 zLuHR-lOjZfjLhVH?pGzFBxNO$Xo-?iS}MMM|ATWL*LAMzdHr%4lEE(jbP~Ym0?O#8=+a;2PS-%;mDeYzPjr`81)54-flDvd_9D*yZ=T&|XIscSyEze=cvM z0`IfQwh#GauTl(+Ragk$k0{U;oDekbQfKM@E$mUu!VjMY@owxIlrp8b(a@MJ6*jjfB7tAgN)tCYv>K5@Gu z4LutOSUWPf$1wm-1kZ)6%G;o-cpAh9UE#{6TEemT&Pl)jl$&<%2Yq4rm#&;k;BI{~ z#4N1mUTf|l-l^6QAQ%k-3uQ^2eJfs?nZT;g+roaM8)}^7eCdPtN{pbvaVA8K!|e7? zqGdK(z;6;vHD&eKHT%!9VPE9gpymR6&gmx_yw~9TEM*1*cQfauzCvFlAG34CEpol; zJJuH{v7O()W1;9gw*AL-)DWi-lW7Btm^^drzB`y!$uY}M-iN*M$&kPIW=;9;UK&(- z19!(Hp)>z8D(K4(k3x^bPo?Y3I;~C25a%1bJn9dbS9igu`doNC6iQqRj9J}YefH%M zN%o6}1mwD%B9ZIXGxw6Rn6X*vjNR))i{`V_-o>yo`WEb-_Zd{~ z`9p}Casz(;5ZuD+Nd%pdQ=8Zh@mlV9KBJ0m`yHfk*?ykkRh=yzdEdH(uK6g*Rp#uRh_aEcUZ@*32GV}0-Zv%Ds zbDp!Odm20*6NhIJxo|t|E9?)IVuE(cGe34YF&@bP8$TQ+PpYkO$J}}v7huLU4H~EC zD-9tt&lJR$@zHr!F*yD@mu@pe>^*9Uj^Wa5^T%~WeWHeRmPt`jhv`IA@;cf6(v)+? zT#%L?cm|K^6hUcA8`xv2paUbzZpwFZs{Udb@nktqQsynL{S) zhHLE|*-4>TyxuBCHPxD-up*7RWSPOzIxjk6{FFQCIYze_uEpsNC+JmmOIG*g5S|K* z#E&kb>>8O)^6St9ck%W#=t>9#OY43p*AilN_e9YG?J{_ltjbmer{F!G2yzi}@mos+ z>|MVAWY#;w)h&O3*z}>pUqd!OUl_E)<(Y(6;;gLX6^u5U4R#(eWR z?a{}uzXc$14hus|E18MG7lb|Uz}kDS$Mv@3)Z-{{s!UFTq@pdfxA9>}eLP%$Z3;4H z7cytds+q0oZ>Zz8X>8z?6Y%%eBE~8_9Ev(iAw}^#{D_$e8h`xA@rDhs@0`Wxf2sLbn@{c{Q0$<4(f}+F71?1KQ6-pf--3sB{HD_{ zMZ>khk9~hyd&AQ~4_&;rCRda2a z8p@}{kAdAwSl&);wsqqoGmK6&%eNhSy@mz2RVEq> zI}o~=N|Lr+L8rElG~r+b$^IP;mHZX3JiZXk`_|$jf!{=;&=))&|I@-u0b3f+5+BhS zwD}>IULLv!w{@$qmAyqD9%E2$Ss!Lsz5vXI3J-GDy2`$OfCP#lR0O??_^i@Y9LIBW%-CbeYG%~>#@%cY-e?~s#!`=I7i8YF+S!pRZ?I3xF* zewDmP7QL#52(uJ=ulh8RyIV$MnlivkbUP$hBys8=@scZ2M#yt{g1G1v!^U(IZXN#> zc>7rf_$M3Gl5+3J!tZ6?Oc$I zO(M5#t>D9(z0BBoUdD58AiCa(p>u2ma9M!?1jOFqJdzdzL(67*ZeuHGuhJprGF)TH zyi+)T{Sepw!g^qjG(c9wBzNI)Lr~Z9ft3sSxtofUKzcG8vK;^I*uQ_t@svgEx}W0g zD@g&yY3*!ASRooGEpnh@*aSq6{2;u`V?n1W8D#t9F@%|c&%L&>^7RkV@l+s_A_~l3 zn>6n6u210n!vv(dZ;=-eZ-#4C3;)RAvru6$KWQ8Jx!$*CDM4pS`^=}>8D}VYq*|E zi^#__@tnEkym&}%8Ou3uiY0b3WJhl;r);!~Y`t*LM0I5|@f)52?5#qw_>(-{SxsP? z#0gyMs>N>H-j65G+{fvBlnWmA@Vk`-8__UW@TG#Q>)lDTa*gnvT>u{BcH*kmGMwG^ zgj=jWM7Emz0KuuR5H$G zXEaX+FedS*AZ<#BxovbEwjb^$GiC}f5As5d3!1HHq}E<2`&tD&@8&Z5jaA^Rq8Oub zegN#|d4ZHK3?7QbaOa8;Bm2r4{I}0!f+S}#=~w2!{CmI2 z*Gm$=@=Nm&xwEvJ*MJ{p{HC1Z&7E`mK*#<`DY$%1TZ6u4~}h22z?xwugga%WwDKqG*6 z*a(F!yWr>=ZR))94(`2mg?`iSLX9$YP`Y#r`XZJy-bL{+YJVR*V+>(&syk}D%xuM-;6A+u{%RXRr_@OZJQc{=Xgp)zXdh-T z2U2W&{}iqpio*Ek0CF&FGqdCO9S9KVhP?sOaCXp!-Th#gjj!@!$3zTSwV@h1GNQob zexnezQI456eiuqBTEK1OD!d+AfX!_+ROEXm2{&ELddgj7JKgQ6eI_OMpB`X-ZMzMJ zXMccwyk$^6kqEjL`u{w8ok*u@vMF~xaZ}wW$@p`DHf|GR{;ExK-u%7<0cWN$Mm6!o zG~q1RmM!4qYqnr%PX=BKbpa#2oj zM5E@t^Jvozhu3!DwVYpM724ubX=Utw<_voaH^DiofdziE&@B5E_l4tb z&gk_DbjlCLuMb_|sazJ^6F5k|ZuJ4qP%fyf-vNiDXG5331G--^6Jfdy>H3il-!+37 z-{CIEEG;HAzqf&fPdJeoa-Nm2ZtpdOh_ihdZ=HdT!-sHrTLJan7R@bscnj}K>frFP z75G`Nn+(T3;wth*VT0qKiSMz;cv4Ueu}y&$oR>t;2XTo0JvHnN)TOIq<pWS$xAKiPn~gm93W5CfADF+9g3x6-WWYTL_5|L8 zmoAx5qxu$(h^0a9x+XIJu_?6lR>8aNET`neFu6}-=!u{#qU_K>ehe-ly!J(KZN?#N zTUh{qXU9O-jjO0L0MZ@r3B5pS@mCXd^-Fpg}l zNQbM#!9X~dAZ<$$H}1L8u{qZFfcz($>O|I~nM|54fvhoEh&#HFF>6s`TnpPvT)8a#)3uLq%|TOa!V z$iN$kvoLqgEI7VPpB~&cpSe_{!>o6VVT6+>VTWJ=>d)JXPe75?YTAO+I~_PvF$dw& zic6qVSxjqRNHL*Ro=kIb93whl!YpuA23lun9NPK8pUs;2|xVS!+ARS(|F`_Qo2oi(u6l?+#C zpz2@;f!|N*y`g3JA&nQ;3rA5~YCsFlj1Z&KFSrNVdZ_G-X8IkxQE#3o&QUvuS1q>U z+?P7&6@lF4T6q|8#e`I4?jd}B{q$F!95sz>=j!fUiuz%>U{|@AWWTzB>7vG1d`lNU z2yG*dJAUEOpnsgVS%enbucEz=@4$H*3TjLDf$zq7@SwN}LR0(5k$wgj7`a2B@|S!6|l<@Y*dU4-`kq^%MJ%S7ARX87J(m*2l!z%^F4%R6%<|1qrbX zrHb{zAhAe|^X+vNA)ImyZhA-Wom6FRUX+2yeoIM|>PdRnvx|~;C%Sxr5!{dA2fZI( z$+m6k^rws}o1}gaPUeR&>NeAvYnQCC@a;#UI`EigZ`wo093=n$Upw@%WuPSUjoa!U zgH2w7Oa@;Z9B>z6c*4!0ez=@tc(RNr#Fx}$)D&@&1mZw==nx96YX{M{yr_@ST(9rH zsefJo@CYwM{T+?m<$19jTfr_WkOTC%$OM&`e2O!~nlUHI8#yiFn4zGC>(@xKjcX5M zq=qe?7)+-f0(PLVS%OaHzo*lZwsQU}%fXH>)9|Qd3TO42Of1>+3^^*nxK8a6-M=Kx zBxX_rF71|vUgv2bJjM%4tml)vU9D8Sez)-|eQiv3{zCU1m4b&ew5jlm$HeMl6fMrN z!0dzqe0|UmAAga9dYvECu3rr7r5W58*H5JareR*+Dzv;5hox%^xbEB9xLZTIFy|Bx zdzW93E_TXy?BpZjPv;xs+XBXY!yc7MEH6xYc)d3fe;L~lZ60HezPu~yM~2Z~3(et_?J#$0pB_d_ zhM-JhCjC{_gXezwrR4v59d+ z%}ul5jIApiHLRpDQNOv-g9g~4vVktsPsFkIHTb7r2%b-TuAcP0hcfX>XqjHc9c4t3 zqq!1a3Z2CzH%;+p?kW7mPN({J&tSsceroj%mWY$Ptra9~9g|2}x}d ztGOOuKTM<(y88)>09)tiW5)9foHvW+;)70pcA)nW?me;riF_?J;=f4VTggDhAu+P% ziw?{-6M)a*wlEl1NR6(>kyEGlqxwo~;^CG9ykj>Zdc`R4rrafCneiOwAFiNoa)%?+ zkwd3Wbztd-030v~t|s3mL8rA2jQ8mmiEAZKZO_xh^mAlFG#Dop zHCQpX``BnE$h<%5&A2n#%*-}9X7r0cEZHUsvIiy?&+HXYp|_jU>hXa3UuE%I!a;U$^&)ci&0|O;@err0%9PGe zC)<={=%<@|pse>A2|1F2ez_lT(=|JGjpi`weF{UKb9ZU1Sqv^IXaw6LFQT=no^DYr z=Pn7~0GzM6^lWiBIieuVJ`nf8T5&V8hn*(AbD z9bsmUTPPzTrp`!dmxFHiHk#*kfwUy4V#DAo6F)x*NcE3}gv%WyNScE;{YS~bZA);s zDh06|A@aKIAa0<7#OJs!gv6YOukT%nxwJndRy`u;wqCCZdh0@N310+H<{WuvaR83% z-{NRS$&-^?i^$yX3{>0jLEXVBDm2%YIC^gQ=c9czX>KvbiA|7x8CMKgZG`3%RaC3( z3*4>bCC~fMg0{z8>LU{lo6cIp1NRi}YmaKW?jzvrr>pQ;MjH3VyU+BFe;lOdNWi4a zNveK-4ecnoEOBouPe!)-_g+bg&(eNst4DNixvR#(ato39NRTA7n=D!bs1)lGqDSH}o-m(z{Hjlzqx3`3U`*$+f z)dyWG??Q?h9~AFtC*KySLZ^HaN7LOCOk7Lp*uz(FYE>oVZcXPbOOjz)_ReGqKX@?e zd#0$w+Z1y1hAt^q%O@V{Ld;6{_agU01=dm2cZUIurJyl!3?xN*$j{CD!R@Oa zI8ECKbIX1c$MQ_zM0>%w(Irm#qGYI$tRugqei44Y{ZzSOF2pIg!1S&B$l;N|!5A-S zNmqlZKao&APzRAO6+y~q5v0DCA)dg4B8&bK|3w-cht7QJ`N@TI^iC;OC^$hb-)a0> zm_(dX1&Hy{`>?!%fp0FEL?R{`_vyr=RZ2U3@6}0zPRz#jpa2u;Uhp{LU#472hEriR zWYWk0R?eEs_#6s^;e7@8cu};;$ixmpUYxM)CQ)H=B4 zW`fgFO7KJAXZ*N*4{qFS3YNAv;GWhn#J~LuJBu5j=CKd#yH^N%OPc762jv(a_8gmU z7h_NHZTvFbo?cMmVXCAAnYNerpmRqXxbii?iI|JD&E9bBeXGR|^3%qP4It^e(VpSG=Z?MZdkWK}z>?H0|NMJlq#dj%LxR|jV2 z%}tDOnF9lHP7J?~A4m^sQi)Zv?E2kptk_a6n{RZB)i5u@Q!^q!7nK?PL3L*C(vNWe zW<6Yx&4lm!((s0p2e)XYGduSXutIYS*ex-DAbJ{>GJ(v6K0#*beM5*^;tbOz)@x7o|{hX7e;EKI353@yM|FMhPce4^9C3sv& zo5{PZ%tY?cq`W(35VzP2NK9s-%wG~lHwMBp_XG$Q<7KWb-_KkuqRfx7Jm&a|=g{4r z!aXEa4E5G2v|D}?sh4^}Wv6bC>TEqwh_oRNt!3ornN^I`sdBDgYA3#QRDv^6nWRXi zloK`oJ7?cr!Q1z8O}<7%_7o8V+gy#*h4bz-}*rrgTeimGvgW2c1#l;UwpS<^c@Z z@)Pt8AXK~=QgseXtI`gfdQqlSS^>$u2vRo`WGT(sHW zF6%H!S%kTeEe_TBD=6$;OzWyo;(?7pD77OHE0#0t9EbI6yOJI2{Z*DRdpDEu=I1ab zRqx=epby7hY7YB@zk!-O9z;t=OSbn=2%9J!z^c99fp7K&p?1~{d_B>}ts*?kfI>MQ z{ZfF9M;BspcP;Mh-^Ci|3b9fS3hZwiWA@6U-rzDiGW;=ZlJ=uv6b zcGd!RQsV-fby=OA=M{(nU*6KVoHCfNB?}7^N6Au=U(~YfHYeuV9XhKdkz8oMOh?5_ zQ2p&H?61ipN7S!^)&3^f{jC@(o_JEu$T~EzDkJ$nSz`Thh)k66T}c=v)9>}VQ+ zlKpL{8WMxK&BB;0rwo&!snBj$0~&oTuy{o>@%V8a>li_h-|WuZ?ieJ`%6OpVz&VVM zF(YH{on*UE9Bi>VLQGMH$&MHx*?qq;d^Cgb-VsI8_640buOwzoD$M3%bx@K}1kHRs zq}=3N&4uhsAQhVn1}8Jo$$kv$54^#&1*@3K2dkI{XLX=nTu{2<38DoFSZ!BIKL~5% z_oa5Y`Q2*(f{p-3A(Qj_Lqc=6h8 zd@1UM+BHSc)GLpgNv<`~N4q(piMwdApEg=#KjT&y2f%oz1of(mfk9Vq%GKqN!4Y5h z!35wtgH6!nJYdqIt^?yD+ad1adGff&8+0WXK^=(T)KVA1U3wC4xW2_j4+n5+`5@t$ z3q&FN8{IA_0;!4G@Ofkvotl1$*z7q&g8a%rP(&7rRB8!T+K$fpcTMc>Hq-rIhjHJ% zgCL!L4qf`w;d*Ul&0)`LT>ot`xUl#acvW45iW{4mgn1IooKq99RO1QpPm71L^Y!3p zGDsxDj+6gfKahSaduTJsCqoO?F#Si{Bu2+!7nQ1Gz0S}A7-gFPlOOOWP@C4ZA@(UCdmcxsj znK1Mq3T%cpF`|l6%%UFz9;JPwMIVfrXM#zfyVwvu97=-&R3G;0KcMG@lerp}t)$|Q z2y^nkvrIuo59BOgOT)^RLGaoZDx!CWaB91t@IPlb`R+4pQdcFm?Ze#o?+oelJ%x`K z9_J=vFnUkFMOGE7lRfWB$txdcD0?o$H1!BEh06xu#@Rh>8RC;*vN|d${WD+dpn5P?G!WZ7B)VNKEb=WkDftqpnu=fRB_d0^^`)Und z5BkYunlN107zJ&-Ga1LkTF^hW9=Qe9R6$7xrCSb?XQK;XB0&I-f42l4)nM3@#Km1;WDW40!Zr9X!7?6Qx6inSy)=#{a_@NDD7!YQBVm z@9h})ZT}Z0PTwS>Ygdqf(lmIp#gkYqZX*UqE_Ih*y<6{FIVn z{Vv6^Qq0}10C;H{O*BJCh=Z02bOj|rbTls% zuqn9Vxh;PBtIu8yJBPhzk_jKznCu;^qhZWz`odToUJn|=1+E6{ZfF8=2|3Uiiy~LH zAL4LM8{v)vQjEW{BiQ&<3^mg&ajl{&h(5PNhd1){%VrgPWETRf zzEB7^@PxBdeNY$pFaKSSu-Wrxuz6xEaA7Uj=~PhhzgeI-@s?j@!lxz{9tTyfFMiRGA>sd7YQBI68&hhh153*Zp=*0&_Dxv|aOcO!QcmUF#d0@|oA#2w%9|OIWIjq@N;<6_b z%5?{U=Vmk(^(TQ*|3loD(g7N=Ync5RvUohL2s1t`tl7WEdD(EcE}a~m$vk=_#&lFm zV5O4<-k$ylpSk{lCy~!UXCFc38-|QXN;{LZ z+#(MX9O;3D+GL0MFFLhq8TfitlaBJ=^yQ2U6B#Z08p}(UAu`SzvWFzmf!A`jSWB~LIH=y}%J#=hHAhADJ)B7cJK~5+MnOsFGtCvOp+nbD+9k0@# zCEeJ1cqN9uT*O}WcV?AeU5C#n=EKi!W#)u?2$s#?34iPaQDs*Ors}lNeVwU72jIV7X5_Au!l*B>1{(Eq5cIAA!rVb5DSYkB& zAw9polQi_$a2u2Y;jLOMx|KzvkWmHk$?gY_gIb*Oe_O#eHy+cs3UJIW_)wE&>dW>nmkFw8`(w#eFm5gh$I#P}s9^Jst7jX57=*2FJ>4N!<@w>*t!cf7xin^ayy zG_GKNDJw83#T1f^`MAm*>9{8JDxP|D97V#nqyLw0c(2o$b=afIp8On0?0=+yuMi7u z`=;prx}#L}We0wZSj63Vb0$7Xb7PCeb=acuZv3zI896pw3w5Wn!2Zz?Dau_;Z>b}8 zsc2*W77s|2`;1pd&a(fdG3-!@3;VMq0iMuwqmKJWpM&CaVn{=60_`X+!IyVd;rKs(mh5v!)8nS_M%s-#ws14GXy_-7g6HY% zO?r5f|01%G*w1 zvj1`w{rY+%jj&t|-(#wwUda>%H{QpyUuRIK$zke$*o%12yboowl^NyURG874NxBR! zz+TnQ;N{H+ZAAjOzsHjJDsQ8&Ld5ZlYHLmSW*&UnY>eXSddz|7WE@^o0VCttuun&j zv8Z1LvX8o9QlkzImp`MroBFZh&0Rcjc`sa5bHVpBKjMzh$D!xk2QpiBDYUKIOK&p{}Lqsq+@Ez26Pl zlMJ)*?-8gN`be)a8?lOW0Bsy2(XDFRkD1O zFSqI`FG?#=vd%;j3VIUY;+eVNlUN0XeL28$#~wptff+t!!R)CrWI}lpVN}2xc1n7X zk*0N!6=eeHC>`{bDT>y7ZK*a&vSU4Yfci)eC^4C|w>3_ctl>JbHyj_kVMH`7=pN#xSX!;R5gW`oO)8C&cHS z7_@pm#ky}JHKOjbm_v=5L05Juh8^UGgk^g8_?-vj|BME6jyedQ@P#NBThvn4hprfL z<}Kl85-XQ6x6(Pxs!#Fov+oAP*QtX2kysdWxCfBh0RrQ_q-CIybALDmp5~r`c@N)0 zOKJ?5T1?I#5dqST3+~^sML-T^0J5csgKi~97AK69Yp4m zQWEWy%#A!yLbglE;I%Dkrgk9Cd}zv$-4fT!Y3AW$hi=~nRe8Tt9Pah_+?YUuTYfxp!XZB(vJXM<6lHJ&5wNf zkHM|8kUP+J1QIqJfgi~_xF)}r<7u9V1F5at`DRbyZu(`D6Fj3d$m=|m)vJN=wkqiR zvI=*<*CoOxZ}E+M4l48~aCX+2;VVOPSZ%WrxH>#w?VkmruPtwu*Pg{yX^C+B?H2l> z=q|PnzeB5yx9MinB)ZPu7It5$CgqZAIAha7z^%-So~~|#yT1&eSjNKSgp)e^QeqR< zr*DAK6XkS=X$}!tP(xg=aq#8v11dTw3~~WE)bn>8)=aEnkEUqRk6A)YU49nl%=?pQ zJ7`f8`k)40xGe(a@ng;y?>$Iu6J^Ge1TgkUEtbeF$Gfl2LHTe7mvWtOPxLIX7V#m6 z@7u#p)A!spdaBf@_z9+siLj;ZMqlD1ui`?M&D)-Nt1xAW6UwB%99 zIi?2d)W3kosSWULiyn91mny<4Ne3?5scQ_MpnHvpfipwqx)w^6BTU>{L2(^ z8dRog4(_OeTNisthHjrp@#JwBc)t~lp3R4e3WQBDaqwi01Blr*<4UtVxbajhF1?h( zO)Rpf=aFK_2Q|zgeOv6&^-CT}&nP6*(iU*7w$2A8zZ!VMW-@cU zO_|4YEaAuRE6{oFEimqDf$6G7Z>u13+WRl(;h}Ego4XgxnK;_Evj^_{)1G-d2@#z~ z;O2WirhH>1SWI)mbcdP5O->E!?bboyicg%N9aq3T`w`*$IhWC%cL{bc=pfSz2f@z$ zGFi9eJ$e2zlpY`bKwcf*OHNxK1ZS@bazIXqO3utBE0Tsxc$bdTVBsKKQNABbq!Kuf zFHVu3Q`6}5iU#r^WH-dtNCTLt!LF!o^eR_i-x^h+(4|fy{aq8n2P0tl_HbI`^pn`H z5C$WeE)wkG2(NDPk$Jn$qKZp1##|VrhL^69aknz~(tVWVw~Bz>+aPjtNg<49O_7B| zapZXKE241879XEG!{Nv%VenlSoOSUIP4p7L0{0QxCs|8thqS1O<{mJwlQ&tK`5CLG zeMj7P0u4Uap}k!W4z)j}Zu38pVG(!G7}6wh0S-i{#ga}~kCBQ$8nApB54*F-gWdT| zlnuJ(4()0!Fvn4!u|1{63@2TH&ZDYa$AV|%IVS@rHV3m~YeHBZKSz9VJ_daX#b~`! z7Mu`h1Nn=ym@f|#U=?o^b^O>u^jv4LS57vf)Qv3ESXPH|{E5Ws4i8i6;=zmwZ)0fG zCs-2Ci>ZdLIKzOD?K>9Z*8>9>KStQ!S?a82`2%`gt)0vtpT;bHw*@StwwA>B_c}~lexj!3(*)<4V>Mh@!owW;F3WU(=7PoqA1um4T$VJA zZ8qNu&8-X2>u091xc5zRp64izJU&4p?*7}m4?lB-vii6@I3Kmn9HiE=kvP%ulP<{< z;~0&a6Pr1UX~DTI&~dVg=(RnjHbuUeI(rn)Rt%yFmf?yG5mdoP8Z}Dqk%7erVV*`L zERqkW4*N?u=DXb~$K)H@xwWH7k|5fzNX4FkhjiB90b=u2n@m%Q1phu>e30To&fj@N zCj$%7K8@f$ zG>*a0{A|+Rp9T>%3^Q~3e=vDA8DzeTG9v%@{`J)$(l1bW zbPBvTnn6g4l?lx^$5@gL!I-=_*_{G3A%Zj9%=HRY#Dpt$7B2_}=@Di81MfL!^<$~hfwd(4 zix)PF+2K8jEjTH3f$Z2T&&_>jNmRDV!X3Wenw>Wuk_kOtuEIzH`8BYI9DEiEdkccV zKQIAAzm5{;mT^eElmv~>rorU@7%mTooWCfHmr6<#4TY8!m6__j=Tb_dC`C%hNQx*K zk=amMN;{MmQlzEv-t$c&iV`Xs(jxT}A}J+){)BsQUEBjJe|tf0_y@=d zy#ykAa3U)bm0Vj z+Eyh>lXQ(~oq8TzQojZP?%N^o-XWOVJf7^Rs|JB~6X3bcC(A?gU{E|3tQ}?PH@$E`Z;*X?SDjI#^U&0K%7NL+%|LFxlV-DK2-&{5mHfaSFh!gy{Q*JdFG2 z;pZ||vXg>s@F-G}zG*xUDm%h>2|?lzqh8BSWyFB%#IG<^JU~8}90lHob6B!$8~NsD zNwpTQ0+q>^;jmj7>aSak;!T&p+eMVto}ACi?0E{?7mTs)_;T!#{|bFJAK}I7gC)QJ zUdEFbg77WX0s})=IB&KL{zl9L(iy`Nq{rYy;CO13r$S#(vW81q zrdqIp{FZFv6~1aF&1-FWLHF9=TlZdwtp5#SvAqz~{gEe>5P^^HCbHymwUVd9^4RL; zfHT^Ek}SX55V>54=31Qt0X+ylCeL8#?_0|adn zz`(8(<=>6xejIh+M7z&(l@GnSZ^oir{y%n~bvTHG=_jCY(@ak2TOqn+43hiqOCZDM zE(n`TbIRxDaka{7TtN3^F3vEW+&D84cIK?cMU|S^YtRNN8*adiqIaOvdKEqu90PUp z7*rA|WnMlWc=%53>8=r={s4h1>4Yl->2S_hhwin0`OkGiL2J$^uWI64di#3^A?cSvwZ)lx z4+)T1V+p}|HLyxd1Ki$R2Optv{NIU#$JEQ&lwSO4bp%;)r=Nv-rK94|LVRKzfDevl;)kU*AW#%Z3Q`Wkt<*zLWkBy4b zTy550{(oCqVBCjb6xpo-vJP)~^3uipYroDhFPR_g*pNBc3{S&k|3#d#sR)-nPlk@X znL!U7c?U{;zBu%J8}2&QM>f!4-hItApdND_dkt+lL(2eerr{zKKz8~~z_(N}wCX2*8 z%-dxPzngXOwD~-)(R?wFO}(c{uo&qT*-U$yqr{;d9X>_jo_D&HS~|_L1aq-x*Mr6 z5BYcyKi)@-(E$71jKHL88cS5RB6`md0ijS*z_ zy$^T3?B3y0E3})(kZ10-`i4ISGX@a?48Z|OZDNY zjCf3l-jB<7%*87GzcA7k3NJ1Nu(xx+ki|{S{5jKpFexn+&ed%hr_(uu^IBDf)vk}> zYQq?;_H&?A_zmRW?POE)!pM+KI*U9Z%(+ca=7j!Ab2CkOTvzoS{)K(hA=mvLB$Oyq z!=p8@-`WyT@6uIKM9h}f=VeT|^Gf#UFaGJT1hQ$)vv{9E@ceub& z4@KU+{}jRMX)$@fq!@i|AENk%I(A<#nWxg2i+6k^=pugu`tpbhJ*@YHXjPBn?fJ)# zX;BBj-Xj|BN*CdJMS0GuO@d3mJIYtPm;e@iS#UQ-4?1{N5VLFoES)L{s^y=_-gPEW zv&J2By2_AW`V1%kyb8TuhEOrO3WKqT+#8#KJx7zs_I1)Ib!j!bD)NTCJzs$bGjzGP zSw8rvTMd#z_{^@h4V!$*P{lU^pN>lg+3I1UX{X9n#)e_{*nG@CG#AI`>cE^-#>1=Vxo+@$Y`*nCVN>Iad+_?ML~ZUK{ygHB0GPV`1tuPYb?0nuwio+`sHT zvP-HH!9YreU!9Z6-Y;Cvw#o{#m?Hz^)7h=;k!B8Wsf9EgnEZhaFa0+w*9OVX98-Rc zb_JQbwwqY*jv)~lqCj3XmqcxkW&4l)ES|15#3Y^nBW636V)3?byxIMg>oXU{Mq87Tsi`c+JI(hZ!r_7V))OogLkKCo2gJe>Nk6BcK7 z@B(+l!J@0LdC%u3!<%E{VUNyFvae=5XZ16ad~tgSUdQLcj&VnU46i0iYZO5JtQfee zsKSokB;^uOV-vL44t7C{KHlpB(1zwVt?u(xoMt&w*{uc@?uSJTh(n)Icq*Vuyn$f zzY+iL<3*yT(*ms@&EWHN8?gK`ftLun&^F~B`7I0V@V5tiL5G(hx9BU(Sw6_Dw|Jr^ z*$>`V*Ta!^9Sq<5iw*8Dh1bFRK-cX&2xkk>on!7Sdf{TCUTT3x=Mus4iYtsxC?kLE zc<6QDKKmP{j1~9K!r>$r>iB9Nd|4!ed!yXpOY;gy@Qx#LZLws!LL~2b@*bSJNs&K6 zP_AUrf90T=UjdLh8+VAPuqk(aG2X=-?cXRfE%Rke^NI;<6i6fWLDyh-c?Pr{$%UWY z9GoytB8@J#OkG2cdop#2!P#AVnMj);@zvc4_y9scy}wuu?i^SH%6{4at`AF;eRa_) z<~7ru>Vp9_S^U=u1R4`YNKc6$*|k6vRzJSMT1CgRZ<@JKR6YW=1{3JSm{=&^u1p7< z8{k;FD@YkQg4IesNm(Pq+Jkh7vvDU87|emVe@;Y;3*hEkg3eo;_+jg>@`opP;H;Xb z_`O66oJ;e_xQ?9|^87ss+_jbFq|Kpf*%wHxMhAI(XARd|G>#i`$;Kbju|yy!0!|-N zG^o!y2su*%;dSga`2NP9VC5PjW$6pk(%rbX67n46yhO=?a@8vDnPSZ_#{a_3(4^Yw0$40Q{i{6y$tP7ykJUUB1x0JNG`9)g4hEI zY{fP`rjV(|zcuuM{M~#BLSKl|-=Z@>FX9skRVe_?83lYl=h^rrDj)q;*5R}_PIz>G z64Y$zfLZR};M(0(@Yq^I>FGDqiEkJ$UW~jN)M5?0gaQA=*c8|=(+^1>yG}RG;yq3^*e=GXNZ49QHl)w~z z45**m4}T{LfJ5bXvipGw{*@Z!8))2z@SMA_EOIB+t}&o(?^Nlu!MXIa-BKu(34)Q1 zQy`P=$@3WNTYDmcy69Jzo=^%gE8d!dkeVaS&`zRgkWw-S~FP z1zdhumx~|Xi1#{8sZq`lIC@m#KyL-{uDJrWbDjdn-2knX;Y1>!8o$d4;jhC|+`hWc z`~~ZO!uY@X+=qPHh(gP3QF*ktMBO1CwEKkUTugq<(x?D~VH4o~rn3#T+K* zCl4#vA0Vc)-mwbh4=}!883fpWut|I^ly`W+5s^AFKd9c|N~jyTcP)n;c{mFunkI z3(k{yqQ1CPx{?3U%of(%dx4vuzQ<@?H&T4+7<3USXl?Namo-V`V399*)?$LM3o5`% z(g3zs--hCq*$7gjxHLQp122z~`Ey>eT`m9EYGnX?!o?r!<Rb&Nrld*QK zMRDqG2KRylsM3K@Xk8En1yg2HN$qV^Y}Gv4vTHXrEt!Pr0ZN>FYb?xfs^gho`UzUe zsbD=Vm?R6lgp{3T^tr|k>NvrN-p`Y#7Th%)Z~u>X)6&TjoidW2n+GeGEu>SO-H3VO zA=oN!PowUL)9Hr$sdubA{h{FrUUe=2*4nhVbv(_}tb{V5>!9vy4(8v7n7hmj`f|cd zD)QZ*CJ$VLY-4SZ3Eqja-B%#$fek(Ium=v0&mzB<9U(Qsk>q@f5G8-N&{?h%X@;c; znN&WVNiKYk8p>(-B%m55+?YX}rlpZPGi}M|-^wMO0s?^cMs&0(5BhBPl6^5U?2WS> zy8Q8HkG4(1=cek4?5aPVCMQ6h;yUxT;yn;*a0f!$>8g;P55c`M9%SK5GVVTvRAL};PWhO5AdWmg z;sD1^p25>o!iiI10$BIO!@Ea|srh*sXv&>T!-GX>ifSx8$dIIhQSIQfQ4-!5ZY2vc zUhzf?F2Lly^J%f%DCp`eg6R|2(Q$`Lcp_Id;N47juo(FX(>^Wy=MIdZ&Ro4GF0C$GhFh)Dc+)}tne`R0Np$F@tcwm<@om-1ki zb0+-gNQK@EYnZ!N9#nmK@ag3NxO&qV?ZghC%quxA|HMH~OVA(ZowUdBe;r-@;tiD8 zxxs7QSonV15QLPxNT8&lftcAwP9tS5Cz-aGyVNnAn2V`U$%n@D;#W0l<9Cw`9qTc$ zed7e}(gJX*VKe?(C(UJj^TJ^nJG6V%1Lf6=X~xVYG{d(MngiBBtV%sEbJJdSbDBGb z*NAZLk9Trb78`gZ_X!&(R}L}j-+<89mtbe2M!A13YdJohblpBwaQgje+cuzZC z_7Z{lExPbKvmErUe&#hbN>E#@V2{>*A^OfQ+0P{b#LKLJ1SXqc)|W_hTHemv5pt1u z--(C(6$9{Kfh{$#9U@VAZ+LN0{cQbMFTd_=D()>*=Cp)@IIdtEr?hf2S}A^kdY=?{ zx`IcO>}G+<+O2%mF*A^i3nfRD&f(}K4}80@0_$TWxG#>8;Pd_qJmNyp|K}1;seA;r zD?Xu}EfRglUBJ`V<*sat#Wnc?koH0iLteaw$uHmVwutk%H$iPUD)tk%t-Z~j4PJr1 zOikGNLj&_I%s_apG2PZAL48Gp=&lrJm@*m&1|65kW2sV>pxe(A)SUr}NefUD62L>K z8g}N~gb)3iv@EX@8b>{W#BK)H79$)Mn*+Lc;^1-iLE^mp94wt1NPOmt;(Pml@0fp{ z^y%G!w{O#6U!)uzzw9ooaY_X1AX%8}9>m+(m%z&9Z?M0M!$_4&DXzM?5E`BtlGlCZ zWZ+Ra>9X1eM>KlDKT8p23Uu>A$2+sCShp?^>VFE5 zoVux?zh*PI6>fp29UQPpJXle`4eS0fv+?~)SQ$D2uP&71&Y}tLU1tuf-SZ2!_^pG& zp(tn@yu+gIEu~^F&Vg=)1Q%Kwj&<}T98G@)f!qC=`*jm`_}{*yac;nu`~gP`{piP8 zK&LchLz>A4(8~1(^`xf;$9G@G-U(~Key2WsQ}n?XJCDNPym9ov;|NR=+6nO!_QMV( zF&fh32w}EA8T;>Z@!?izXUhj(*e&nh7yTE5t{r` z19rRSu)Nz#`S)w}$@=cASUbFkdmZM&nUr*(>AfjfefSBfu!;h^rcH3|kt|rZg_FPL z3B1_lcgVQS6wle6Wzo;eh*RY`yjFCDZK*bca|djR_o8Rydee9E@xo$K_1G7l=-(lM zPtT!otR^uEzJ<4@rr?k9%edW}A}~g*2JgJRf~|E5+`bie@q$7j8L^pxMC|#)xa1 zj-1$@(_EBNKD;rxORY6?;A&L}q0ae)HYYQ$3)e864xr=CW!%-O@!V3asaSh$9GC_s zlG@-QW;+OOk7U|f4Gvb0!m`>%~UR*+-R#9$~l{;iy-48?Y7LYFJpucQc8U$sU zqRz`!_Nu{$Oe#r5g@|m7IkkdI`EiCT_>+KkkK7=ANgjwAQ~`g}3g{f%xjM9d3b`52tjg7)Phig9PbJT>kkynZ4l{=}E}suN2IK6%~T?XW#@>GyaHAw*332 zuq&ANvI_krJMn2^1m1I2!y^U{n3vKR-@augY)Wk)(&zrNRWf`v`oNL2H+z%-)?y7s+?D$#nVm-hzs^;s~{e?mqyq#(OBlpMU|14W^exSv+*xWf&?e6~jx zJo+Y~!7M|An_0Kevgk6eUYo&%lN}J1@cBAwh;W zf2*V2%0Hy0u9PS%$xv_0XON~elj^^VM+?(GsA=dAa+zM>G%}gaohpiD{T}H5Is#g( zK9Q6VRk~j%3GUAbXFUhqVMxXg6E_B8p2JJnm4V=;jx4yf5gx=Yf&BuziT?g#C|r1i z$$9qTM}Y#Y5q^YkZmlNYtc zwBmmd2g5n!nn^6H&HKU{m$Wd4gK`*^y9Fh5uD}o7t@vSyGu*M@h(+BLn7A_=R`L3X zlfM)Mo)KcZQx=2RpfcSRHC)o`xCjn;JZHYqJp`st=N&)eMy3o$!Y)n_@+3leIm`Bd zQEoX599hP7ABw=KALOv$<#qnSf0=AeoeS4G+IZU{S3vSsA9DDM9}b# z=oxOp9b7aSMOOEdZv7H4{(JvuZ(;<6+w31@*_w0D{%Yyp%^MYNIGBI(r^3B zXzSxN-WUD(xav_Iey>j@aX%)&-ljf-_Bo?$P-+V+-J{O5H`~xAqC~rsrD-znMzPb> zJY1$W39B-0kpB{2u_fijJoPbI-k43K{{EaMaB*;jxKaha^-%{{HX|6D6waV*t~}ZC zWQ^TOxI}7}yl34x%}n35gjpm$V5h&YXNNy2{^NsHY|QsQ8kJpSGmF<_WYSw^R-}lX z*4C&W^Ny9g7l82feay=H3opGjgWmv_XqDH>Ke2r$S#kecNxX9b*?((1Bqj-?Ooktc zypxM}UPQ5vVVP(ud<)jSJpsE-S3_5w1z1l-Lbg^Id~o?m*0(+7C5Fx>UE+V3Ro`qT zWdHBRXxG5N@Fbd?mjD;H%!D^eU!bH(2{wj!^5+ez!dl(Au;Q#B$-dV`{$%Bm1ri*L zUtR$9GJ+sF=LYB=aiK+$u4He#2?$S?pl4pZ1NGc$5FVIMV}H3))qj2Q{izK&7fI1G zT7(Yq57W-}nJ`7+G5_g~8*G)yX+w-1B z7xMFh#7MzUU?X-|lko<393OrhWG76QfX|TqE{KlfewYnB^oed$#Z8DN5 zL%5t!O17-t#gb%h^QHH<^8Zsj&5}m$K)THcKPl=p(eN*WpW9{O^2#c9e8NdI`0=tATo4=+}mx>-`uI{abffeE~m^>9ctD9%63mAa>=l%PYR(Q;|vkI8=lV?r(>5+eLU@(wivwWbnO~1(W8f zEzCI15|?M3V>;L#b|vkiH2f?{7o*4PkEEcqz`|Z!>?mX*ryX>?G3+4Im=r z1=%Zm3Nv2oK!&9}y{oB8--k;;wDSZ`(BvC_i_PNYI2~XsBUM3u%LKTpf04zD&IE7e zJ}9;kZ&7>wTrHeY=pGDZO9e=kR4PeiW) z6|T$f3koLX!S*C4kn4FzPK7r@_+o9i#k2ulEARw{OL%4#n{le4A9}wK#oIB-Xl?x( zg3cw9YrDqNXWF9B5@f*3u$;%p89g|%zlwz4bmZMUDgisX?0LVA2x0kxai~9}jXzXN z_-Q58Z0eJD?7xOZB=F)bQ1~Pcx95a|@PuFdjl}|NRI~*(4#!~RiYI7NAx={HHc<0M zgU$`v4L8JV;l!dG;uWL?wwfyBq2o*b_E&4TGe~v-dh1ZDDF@vm_?R^7?U%JipZ2EahA%8+_<4=OchIH6YIv{VEk%&&1flo^l=A`nW6%=6aVmd zsyKJK| z<+LF8{?$j^7qElhqaBMdmIm$?OQ^z1Lg`o;S(_RGn)++OFzgKU4EJM?uLZZ{#xIne z)QFdFwy>uM{K$~35baG|PWLMr!*!Q5zRZv_=}+>&x2H4k_9s#9RH5vdN1pUx{(O4DB~QQ68P5yP|MTCF1C7(Hy5Y)}w0Fh;p?19%p5ID1uubClJyieSpXnXmf%;-6O+x|9wzua@O zHYgwF?r(ulJ4ES}#tJBl>fu=%Z-x^+8vK^Cn_y|Y8QXSo84k_T!qM+1nRxdK8v8(k zI`+$gbGtS)MJ$I;?NgyZI1x6kIY(UPq@mn{E2K<0o3~D07eXTEQT07Vyy`Yrob74M zOD{|1Zx5dhUq>&JNd?;tW(cJaTdAw?{ER(*s*rTD!v_#`qZ7}q>%`Y~E!0W945kVVb8z#EubM`lV4mh92iA=Zh~pv$ucsU8;) zaX7%AqLl{ss{`PLgFW8+jATlx2Ob{s#<>d%*uEphq$bb?<{eMq?R;|zDyFS~mflJ@ z@zWo|Rc^Dxr#jg6+wW1%Fc#0%FGMRNMew*aO2XG(AxEB_X7m2tp2ma=;O68;vwNyQ z^v7X5q%jMV>jZKBh9E+050JR2XG`q&N0Xn`O+@@hH~+p$Hol8|#E<^5kG=mS4@K=W zaPs=UZ{l3v)*0mP;%IA}`yXX0>N7g{R$Out6)(SGm@4|$H@RI(1 zXK0-_z%sTplCh3!WNJhJzkKU7`r13)&kNY-=mcOvx)j1WMM!YlVRqtjcy4O|X6Z__HfK5g z@>7P|y&DIkKjk^0;%k^zIDl%W9C1Qw4vAFMB_~D#p~SVC#5L~+k25=feGR1Z<&|ls z+HB7B#6r$PI~Zp_bAj+!S#Y120~Vgze3R^=5AdOzrKZAd}c--yReB?j- zhDTzf!GnmP{OxdC>$OyTjwgk1%zzk=humo5c3MilC^`*ZJ8vXS_i#T3-q>WiZM<$ z3HQwqhuIo^uY;AYSwvnhYfI{?lF-cWe*n zI@!VC^`rcc+QJ-}5YN^3t>J>kY2c^30eG^+1{QriPxfqz!ShZ(c=7u6M4#+HS! zo-H@=o|`_Gc}$W6%bsMoo_R85RGPrGPSaA?8b^1xEfeT(iT}_!IF2_ zIMoh++<(MooSVkkb|#{(k{O%!aSR)kWl*FtjjTis>^(UKt*Oe?e_}uDj9*3C%kGq||Lq8E_OIBBx@z!uSAcz+j}k#&H#EAl z2u{8f!?eSBCFXaO*i-!q*r(+J^2c_-tv}P~+mVm(eadsVAZFAmQCOb2tE&ih&~j)wdV zlnHsEV{Iig6E$l8YaUGgrm44%dkkeE|1!I~5sDPI!RcQE%u&s`*o9_8)$w(7?^i#f z`!)+}-j0VyYt%5bYBviJoC%eqalkLEX7Y^@JB=dZ;@Ii%x( zufZi!aq94DzA2oTeiK&zw**y8@<2178wBUxg68M_p!|=Q{|aw`kJI{DWa1uZeV#>f zmb*b%F+jj`NvNfA)G@-DCJgt(Z!II}I8w#WH(Af(4qJd=@@4p09ZP04^^!+3!dUQ+ zuO)`RD#!x4AacYfl32`>f|ZI_z}`0s#;#w7b$Ul(ozWC97n{hYolfN$!|GJ>q(uYj&Enbb_F|Y@u1KHt>QS#? z6`BUFFyU%H`ZP#$6RO^>0xRF6g*TGROP5_C~7<=ePQ!UDG*;wx;eJ<5zvZv?CRDAO#0^ui|CAg0gavcB?%>LPfPyfblCqX1Vo^9zR8TxCh4`-oXl5KI}F%9gvQ zvavlIpmcB#NZfOVO%~6H;3+3?5i$UYvlDP-Mm9PKorklSP571u0i>YF8JHdK}>r#+#<8!TD%y! z{~wPl|9gmY7LVfYXEmY5u}^T!(}Tv@+@*^&|IJ`QHXPmh917%iL)#U9zIFHv&OJAR z`*Ad!D-}}V{I==RxM*wY)i;Z3X>FuuE6zgiKaOg-exA2Eya?OvPIH?(qq+4HHgGx$ z4rmmi1CBGF5e;*H@E31_a1shXXZ8V6J&51>WU*6Z6i+04VoMj5vfTsS{1YISdUp^~(Glsei?U;un_$eqABaL67b5twD>A#1(!eO}Sa0Ui< zWx(6I&EOpuO}5JVqI&!x?$0w9?t;!a?(sEk&U<4a4mQQIoy>&9OxcACcyValu^kGJ z?P4Pb#c{XXDXu(MjCO!@R059c?3$68L==S3KiT2>jgVK_ z&ithd$o4bw=o$VMubQR6p~1=UyI}&pO56Z{?YmJsz7YD_)uHs^1-5yQDKi**Ktx*K zv7kP{v2|DAnQK1qt*;P=+-FcJpNL*<*J1tFPdwFWyIF&*je%&uD>hxB14O07$(0YW zSm;xMdvY5|Q-d1aRr;LS?=pwC-zq?+U?Idz)nnayr@+6}AGSA(LBuaX?xovTeBc)g z8mBu!wK*AAU5ow4rpv+i^)SoV4T0d3Ley)09Piky=Wzb&R}5|cgo5!tw5>>lPW*Tk z_wSy^U$EDXoaO}ivG0zb&$_f_GGzmL!|p%0HvnS!gm$CIA6RJK>oip`BlST<^yhQ(Re82uVB3$l(QI)Iu+c-}i{aI5L$R zsQ_r~nLDK5?U)?VAn!<_<0MwSUKVc%v|&?ZHLMMp&wPs&p})6) zobBkwh*L{Aza>|3tTr6f4X&eXj19!5Z7lx0W|l$vh$Xn5nnVJs{<5(eRqpuxQuI51 zhRYY-L8Ze~=(gEm(6Lm6*8X+?)tC*u-Qjn^H-9h42X^4`i&eO)c^#*Fa|$={&0MN~ z=O(N)zRk)n+$F8cTA{!G0g()hVpfG&P?q6^hdvjfOZ^sHTm1tc&hh7)>x|^K(ZU5;4QY@S&4s{9G*L#OJ3Jq zTm>im|M}v&NZ9wMl-+21!mJjiq0yzgOj{!aqdFSc179Av+nMuqHhtyS4U1vD zUMvZ74!|`-7U(p74`x+d!pbQZ45nOEqtoL2;6zpnFY~hkEKbg3qghgT`oB8-Hn^BO zD7b(-m|ew2{sNqqAnfG=bsEH(&~FR7NNnId@R?}{e?*foZgB{PiOF-f9wee@PclDX zlL)PxTm!zFDLvXvsnM%am>DYyk>X9b$j+Q|SMugW4Gp=xWA1o<(MewRyCOK1HJM)M zD~61mjqsFL4rcME;o-B3SZSY*BB}12jIAcOewr0mwO$oHPD;{x&m=0)Eae+m zrpzf(gG_eU#!0F}*f=qai^yxnSt{Nr^mZdi|Ks5+#DmJuxd(^KC0WWsOI*BgJfAbR zMg487I7hWD+^4^4TsAKl#6oMp+f9b9K5z}T#9zmw#(cCJ=Z{$bke9FXlIgjdaC+`B zoKNB@u0kRc3PT{qw?Y#YHI13zycuw0$9JCD;CogV6a+$U0k~yrHAwzkN!@M@ zK~Ciru>E)$rUoB|1sT4Kmxz_J;Vf%xGkW}(15cbda^PMv znKiACWK|`y*>CR=xx7E9Q-2jpmI`C@`daq=X)B-qqkye~@9;Wy3+%v4@ZnfL30}V) z&wNg1Q`-+>k;8d>F87U%_qhsz*UMn*Fdv3QRH$?4I#|5)Jg;MkF=Q{sAIf$tSqdaw#^>wkg9S5B~O_e-XlydE75gwa8_9jin4a_x$b z@k#4)wzqW^9x0sy9q)C)`&|y18-^_N-YU4}vIVWa)nUzq9T>cC1*h32&3SmFpx%u< zaC}ezsX_l!aNdtxzF!!(_g-a%j0kDSc<%E^p_C*=Drsvd4V7rfR@p=p3Y8TqS?~Ki zA`L{S6eTK3Q8av-(%1JdxPLh3I@jy<%UwqekG{r~Oj%55Vc^TWnJ7MU8@R@Ory2QC zsIce(y?u8&oIha)awbjX?SG1MJle!`;1pTz$h` zY+0)WZ$b;8cd-vni8+N8319Ha;-gS>`xO4CIt))5!a@O}78yMZgNpx^aELj+1z?S_eU@a0jSX?)Ugquvlfu!>YMPGPjg*nVW zT`yv+mw-%JC|OR^k;Zq>^yi86K+!F1TNjS~m`oNJYY-)oP-@o~N!^~_Bv$izWa+N6 zRBpOD&RBa39Za9mex4i+ft=5Cw-dMQyU?wQ~w9?a`gULumg>|6T6CxLtjQeLB zbNlj_a&FUJ(5Ii(QC7-|y{9D165l>3h>^!k=X2n9com#}Gl^E^8)L@cbNu#hGlqR$ zOmvF{Sm7Ib?CuryB=EdFxpj!+oqHe-FIQzU?!{LpGIYXPWZ(A!zJrC)Z|+q08kzu(kXGJI6Vl?UMCm4HlHcYvsFSSXYEm@H$3ItFF-E zYbIcx)(T0H-q>kp!Oow0g|+$U!x~(PmmW)b*I6K zThdS>x0bbcJPrys3cMp zkl|KM;pZ05i^NInca+!dw$?6rOmqe)(>gJeSY;pf$`*H4q4g6O_kSm23u>43CbzbV3pwz=3@R*y|lVl;YT8BzLZh^hZg zqF0?9LA5y#qH^kB)-5lXHct;uP7i|+@_^a086jBG5vmeepnZ-YdnYpvc9m1Gl_>=G zd2h*S%^}|2QAciAen0oUZxI*q95}r`U2b2k8y=UM!YUdJ!Hf2MSa?1W(l5@%)?@QI zQ!a#yG>PZTANq2#vWZ;g9B=Nh!3nCH=mC%UT1l^@Jn?zAmpIlQ)WRv$cCt*+YeV+3RA)FIkgdhHV#Z_{isJGW2A1P!*)zA%SorW+P zQ^^YujKv$5B0+V?7v3%I#_@IPT{1T!vwws+>krLowH=D!uB?h(6>AY z_j?GVqPy`%ZYbyBWy$p%n92FS*WvaHyKt8NrdXMfgKJ98GA?^hkW-a8aCY|-T?n0mQRZY!Fm_yzE}Va4>Z^mjW&3ZwF_Ks7-15> z7kbWrf?JI}aq2)KBeu{L{@Z8(@=q_()G85Po0kLLmwHYAeer|lIEE3osDgc8oZ#1c zCn%Y31s!U|*5^}unUB*0z)MWOI&aNwR6Oy``b_3E#(cgqnCP;2mhT>Io-NGAhufgQ z?Q3+UfgN=*6~tEckBoFd5r*$s!^w&EptJmU47YISycDmY)urut#YL8K1|d*s=gb`0 zP)x0txzR1Qn%s(G3-PXi85g-}1*d;46|IYU$n71Obe32>yE@d5 zFzn0Mk;M6E8LT&+!CJPQsm@P60f!!cBkz2cfTWl^OqchAnVG_DPIfQ|^Hk86Tqjz) zmxFC&EIdq%2dASWDgP=qh=YHx<_ESkY?!9NPRol4OUy zBMLza!N%zztu8{?twqV$?xyOCRH0t81Ni z_z&m^4#A(pQ(mF1;Zea^*r;?Hy{4;SINx<%uYNy?u{#D0?iZ}r>a0NDm5=e< zTm{nmBnE>5Ehuf(oa z+GhPAQjc|-77RuHQ^|A3CdM$v1V;vv$iT`9p4agNsNW#Ys?OR+ueOInsahNCkp}ku z^GV=W)Xkg`<-;lahfq+i5PJeuxM1!HmK*WY7Y$|DAoq`v-7O8lhF$O}XbU;?B%QV# zZpR^)LHwdF$KAg9oH|WC1O>ZI*qIKQ`1Onuw`jx)zP(C-2FM`Mdmf|AUR&N#w+Qm^ zdJL9CN^^1F?=wHAO0xxHXVA?d8Toa^IP)dbAox}`h(z&$SzJGKy1s+wRzvvuL_Kz& zUjVySn1GtMHKZl|!X@_ro_Y;#N%fFz&lh7-y9)lk zzXwJ)ThpRfy1a%t{17R;27)ep0*9n6?37gt*gv<=lFuqJxc`Y1_#YkO>0dM?9j{JO zoi$RhO>#Lr&b>3i;Ggy-u*A#;TfsCDO)zk};& zv@JgbK2yM`qn3DOO&c;RrMSKCbIBV#jbXlba5%hzvQ0eYo=2qfcqPx$R*}x5xMO7-8h=Q1`_a8p4H^Z)! z-*BQtjh!JX$9~GtVCVO{!lJu-m?_7)tzT(>WF+!KNU%@@D!+E-x&p;n9X>sF&WttS zv$z-@Je~n9Vwu&m0!3h}@@d}Hx9Tvcn^3*J{V00R^u@<9=XmR0H1akavcF@wWlF-W;?Lufd{IomA_SDc5hb7EZhwg8%qg)M>bH{orXQ zz3UbVpIrl>rurz|X(2%J4Z~sla3GH4Y{%bUby-t>E!Jpm2X*~EhNJiSu&8n7+G`Lf)OzC);dp12^jl2Jp{E+lX~|B0in>JLMGB z+y9o@e2-$jz9aMp*c0K&S9lUH-&6D7`FMB#XY3H~#WkinNNrD2nfdmRyly8g<8P;m znQA<;@D6!2Y=j-tB2mHNC~j(Oz&XWw)=IQ{AV1DK zGshmSI`r_n+&lxPSS?hrLfr80Q^k|{2NSxvN}n2*2fMaw7-{8 z8crbsg7?93ohCcE=Q?wxAssc`%4x1-3=|v2g2i$HHhnyXzU31K-U}hR$ft;W?b^l$ zKXrvNPjA9gH^Tt6KAP}+Jxsoz3ES2@p+g~iVcYlt=KYc<#I&UgQV&Z}Esa{T{@MyO zE?tXGHUCv>SVq9L4XYtc?Hi3V7$OZ@iZQG4993>g#PB0aQOaA08=Iz^=vb| z*c$?T@k;Q*sD@~6N2;tNhi{z}t8;cY(O8ovS~Ic@=i11_DUB%d;iDJ|7Md`Y-oEH5 z`*6aaRe1}XyuqpR2H81&1{%F}8KJ5An9-4M`M$B9T7N%7L<5}Yhp)$QTU7`>G?}0C zY*~a4?k=TgokhU(`z>Z)=Qw?vJp+R(eHn@K2gr^+zNAIzATxcXGoL}b-gVphV3GWC5ZxmKL46U`#4 zgk!9N1r_M^#8mX$p2i#6{ejFi4~9pZHj_HN-s-$v=d5M3J&9*e4*J9(Zd3!*Nayb(?+YeL%`$6mIALf_QXmx;$H@Z$a1Wmu5lF`?n zh>L_0s0t{-+N1~~8CnN1;qyyXFaw4^%lySs=>nlGs{&0+PBPSE6q&d3~7Mx=JQDWH;UzA$MCg$8!r212Alq6LS^AtuiLf=x1BknB3h17yfuK}vuz9c_NJIok*XhBfck{^^ z-eTx?9e}$Z8^~^D1=dln2_9~F4;T0TBNi6NK-j1l!c9u)g>DHh;ZHqkn-AhnjcJ@* zrz9t&yckoP^k6MoLseu7BXU#@#1!}-%lam@D4pPgMm^3%+L-HISAdU>$YI)|1JDV5 zP#!-(Gh||znxt1`o$YQYv=#uRJNdZbkT~~l_yDInBNd{bRe+{KBy&Bu8wQ)cTFVUH zrF~%sA*@*sHCK$F<}L-!uuGeR2OKWG@e!!}PRN@!iIwd#Vy_q4!uYOJR5g_Ww&W5v zEbYX^j^{W!8*!8G4|30FGX(rvLhoGuLi7V(z?iox)MQ;J3rfP_z@{PEYS>7<9?!rp z06IX$zd0FrZ2cv|XP^gdVMX8phN#>#z~l?{f%`;m0($IT%7MNVlfm~60Jn+<#>l0Ms*2L*?Stj;msCpEq z|ENbT2Pdv_sXO;MxD5TbJ+uhBPy#<9EOEYrD#|_pI2-?s_u}j}7}hI5F@+q?HAst# zj~YfN^~Y#^coRx!IY4-99y#F<04d|DtXFFs9F(+$tlDa_H>?QVTa~%*?uq#0PXTu8 z*pSFr0^!XG^vF3rV5HAd!CelJx3>iR(<8y<`c>WwXKUCvBN)tVPlMc#rfPhC7($if zLE`W!Jw{&}S5LI`hJ*g2ZFI2JztC}wnj8A09Mv!qQa zg=p1Hfo0)SxZ^z%c&JH|-8NmEO=`LhU#@zCp4=?>c4QK}BXt$*vP=X0lQ!(`q;zbE zZ)fh_AA^~!0c&_&nH_XTT%)4Et|G4>;kPc^5UI@u=_<1+MkCPMa|0tL31G)(0XEOI z3?M5GnB8-^v4apCK`AuVIIVADG=qhYtnc z@y3pq`21iLRM<^p&CeePXE8^Zx_mG2mS^Jwereu!dwJr|JjZi3*05nxCk`q9LOG8( zXq&kcPVaj`W=uUx(^|4oev&GuFE@z8YQJei*&WP(ERRP(PD6WZv|#3qa3ofPY&h+3VK6tiSmY z(2BOjG@~f;0rZW}Nu-=OkOSfH zK`aDDU$w)*R}s))be?DgBXe`EI^InfL;Ji!lwL8x_-;n z8M|B$T5CPJL9aZ&TWxUh1`X7YA+b^a(bO?ZR2bEQ1J8Caiw0~6X?37&F?XoGsxS%2 zT?z}=TEab{1H3TpIe2_7jXgws%7BX2T}Hy z-hB4OmMn$}XHWs}esWhXja<-;qn}O$Qr+{>s66RC25Bz>oy(7)s`G<&K%)d(xqu@> zmt{aC$O(#Dx~ZYwdh%7k1#H6yaCoOU7ybJIExv45y}o({rn(BVBiYdq^Gh35)sK)_ zO%e3#vLc8t(T41u=h0@V8K)*42CJ-1@Ndd;^yXUx(x3Rr$4hO@9ijJR(IN>e!-C1aZ8EWth*ybj7c38vfpcK0LM3 zvfA@a2Cl47h2RNC5Z|)}A1#kWjaC&be_970%Tnn9_5}GPP)Mk#0IaUsP0lWxM)bp_ z;GRG%jO;SOu!uP{Gv_Lr7Vx24iwyZudXGHZc?$A1&O(<>I5>+KgZRR1qL^k(4}vaT zw!R+&e?BG0d$Qr2a1dMCwSWzE3}=6fZf3XX?E}F#PK=UfDCzJ#jD8oQ(EIrhoO7xG z)y57$yNfNGwa6DjbA{RZaTRvaGYvSG5eas=7f8j$K`gts3L6p#JpU01OIO&zN+CW@ zD9RTqGv(QSzIJ%pk_aY0R@1KWA)?k|M!9Kk@vwsocl1vt9vWGU@vA+!g34R;uZjpP zd+)`o`f?WLbjCB|%QVs0ZW>Q}M=CB+yTzrb4!#!&u+t4@vY!$jLg;WAEX(tO zNWLo&-+UCrb@RY`Ponj9om*7XB9+V*F5(&IN`ua1D>gevm96%C2&?3OlL*%y;+q_S zE2@+^v$lQQ;a(+f`+-PqC75yh7hS_^JcK9oFD$FogNd$&!I5+@c8bHhxvx>4JVAjw zC%C-|^SL-zEw0+@5gC>4f}0BK;74R45xj8=*3?{p6R%pCNs+S{YiVOAFGacBqOiR?5VNFsl?NWhx(iCu2h zXX|GV!X$lvp69xmP``M2bzbWt&RgRn)@JWwi+d#5i{~czz9bkI>4xz9HZNd>TbIFP z?@nU4aUXO$&%}rq6==3GhZrSEVMSsQ#tx})B0Njl_S6ep&grmA&2^KlDs2i$qB*L81_=D8Hw{TBzJ6JI?a)mKc3z25ucAvnTpr`BEKJbiM<-6?*I*&!2GM zhz-k^(+xA$$f8c+EPQ$U5bYOckuOt|C-Ce7sEKqy->z>!HqT{yiXX!CvmYQo@E*Jk z?7^WtG0ypkIPLmsZ{^>SLbA56!Bc6m^pbfz=EN2g$=@Z=DiRJygS#NcTaNt|f^gX; z+N$NZ8oF zHoEViH|^wkdJ4bD^^AvfMY|AnG>*gXKX<~OE?ubIRDj=n6uBo$=HULZ12}p8Qgleq zBJry4aLtsnC~m!p?0B>eHYp{+tDg>7v_+2#>NDe{+|J=uR)+I;oX$ObCCIH>C(6}7 zZfA~+RZzX#Q&_sgo)rk5g|l-cIL#kMXg*#=BwPZJIaY-tTQ7rpEQiZ(f5NGnTDYT5 znCx}&rp?=`=tx#1PI3B2EerM0D_}Bws4&1xgGL-(-cNt#Jmra-$+Q1?yae}dA>fS6 zNrC2W;!r!loI3QF>{}CzKV@E#SCx*`y;&ANxxD~g%W%@r=nYZ}f`C36gt(qkSau>4 ziVcL|_kkIB=DsC&;PC;x_4Fgg|IDxQFS@k*@)cey&^yfK@<7$GL_N&l7-x424=~K6@m++b973?<{ zhkJ>sbnQG_XzeiqxtXUyMah~R`_;}wiJ!#8Td`zJH3aysT0vc29LS97uxC80AlQ4D zY+hmrf``K)EKme}1)_k_SAk6$Mwka~U}IiQE|m8|-S9W?D3qOWsqds(HGvqXPGd(o zOOWfF%Qlo3LH4t6q;}4GVz_rR-g-Wre(08Ch5rh&^6vSh=FvZp_77o?^!x#-*lGw( z{tNXT(|M=m5A&R#jalso(ts@n=CDdZ7WU{MbAZ1N9xF+((zO9#Y8Zg>Q8u(-{W`qh z6^<`1_(Q^F7pVU4KHdFjIV@PwMM^iFf(=bpAbRW-6krbxQ+i3CZC2sNvd*J=b1q8n z3SgRdtw8JCGHRIohZK)_f`P^%m{-=wYYj>P@pmcs@v=LvUDSaRo;Rra%1U0FZV`@3 zUqPwxNk5JMcqx&+{zBP zJ0~$LK7fw5W)t&|EG)J2rhXTaFxSkUmDtU%_ic_~BaOzDNj@zG-5oXg7My$*``!bP8+&gRQmS z`_rg+Q+#*$H&eG}oXm!kP&fXI>}^h>M0~lm|LSpAH$#Ti4DcW?h8OZ8_!G%41!D}_ zc#bw)%Eq>fznGo={Frj$I9i@K#5}zPY(iHHs3+|pyC*znI+@QX_$1?X?1N;o|VFC zvIG~&%&pdnn_%`NTYTX4neNcM0y~Y3;N|ZOco}R;OQ&$8QJeD0_63l-N7i(3q=8&o zR72ITM^pV4A3Cfcfjdh1*(XYi*c6wW;4G&A4HyD`LJ_#ooA7qIT;h4BPr^T4(G#8b zf~wyW#BcxZf!-r|)^ynztk^d~rbtTSx7cQ4aX$j{^v{Aoj{*I4U+D=;2P~W` z!j3Qf4_Z%Jl6g_bX}8=T=BLuv>W^;6@O?kQv!OaP;ZQ4Y^0#|5VladbbQY6GCQ2l% zstIMXp5kCiB^222hNF2+c)fE477a_o;*;)R{!582Qr(T`ZFWQW?UR_%QHutxWhAX^ zEy)uJfW!YRQU0V9qvfB%Y+YOco&7b~d0-Mm)jpwdTZ6IX>Rz(+kq1;?O@a?Agh^e+ zexCOSWoxVQNjT;9Jeaio7(S6vz(_?>CHGAoH3JKvCD(?1C0PV6o0dT4wbP{K^Bejq zbC9kzu!f!LZq&-Zf>!jG;@d%a(pMo(L?qPMhWWCrT;T$keP|ZCu>Mr=;X7JYdWzgv zPJ^>`{&Z5(0bKOwEv@epV5OgKhR$|v`b^52CN5bD8>UHKq^!ituvS7g1e>@o}fVc8x>(;Uq87VSi&@~8=$cs zf~c$JN0q9tkmnOwZr!~I+a3}~h}{ZCHl@shCpAQ>QXAyb8%WPcEzkY^M(lVU!H7(- zmCwaSB0Jjzx{V#^rnVSn%k3O`Bq5nM@X{HrCs_kss)GK>YcR|~f@*9uqs#L%;nTST zptn$g&TWh&zAGJZpS29xug|O9)uv|jD@}AvWa^&`2?1%`Y zZ<;4_Gv8c7wWw8?>7By6Pkd>5jxm@w8Phj{<0R53BDe3%uN}^B)nLsc-;)PT8({EmDrs@@BZ-MMyc+@jpu8a+bmAky ze$^P0)h>Y*Gn3&;{z>R)%4A}b=3>wI8A{|su;k=?OgiRCM4e7T({K!&IJg;PSLcC6 zL@E4zW)4>qvp^y>4W>&ZkbNTwICIfneA0fANNi>rMQ( zNCXzowj$i3Z4lxA3&uu&60I$Uyl;b3peyR3Ww}W!>KX7j2R8}UX zk+j&Xqte4Kcw<}aK=^ErmDuZi>h38^UfcB0vv{b1 z6kuC;$?$K&GyjFWq7PJcF=u2O>}*k`S9<0lu`Pwo;vp!s@F{H;nGH>2*MPrGp3PHu zN7TZu;g13yQGC+?Dw9TvC9L5dV^rjh&^hYXeMGCgjimU6#H|J7MnC9 z1r$%Hzx165>J9G`!9Xd|@R{sR!<60n>{1#qUMZl@OFQ8S|6^e^AP^sq* zNV@8<&$ZWpMZX}cx@jwp4y2)gNde5Y{0kKw^6b)Ae?X#r76|y{lXrJ~KyKeSB))wJ zzx7i<_(>E0*?37S@R(YL zS?{mmB^NjFo5;Vop$zWWJwR7Kx&+%6{i0WfwNcqYl)n1Z21~x)gR;mUxc0!|u9v2W5lpmvWEL^T({D7`^%r&)2mt0r-eI{COW7e%>4 zT6?%_=7yYIWilLAKMHp||B%2^FR-ssg@2~`7IS!I=Idw1gE+Z&baSMKT z3v%Nk6yL<|$J1-J!qFL*d1D8b(Dx%hNWGjn=coJ_2O1QiuppNP_HBUTv2I56h8j3J z9>9zpCg}c64ukaHLzQtKSruo4;zs}%+r0;+qYdDvqr$of+ks#88j$d?#>f|r#P!-U zc-k-m?cTLe*(waeCHC0yRR$i1=EBgGJkS%GMSQL}5rcim`+2&MB-AMKq_z-@sI=yK zf8D{1?E7ecE)C^kcHrMzuFyFp1QuP@0ja-(6Yt0q@t-;5$|ZtzN$b(&=2h&D%_5)M z!pR$3Wr#VW3}Js3(xgNQ{CTRAWKMGc5tZ-Y-W1CE{#(i3ZPS9^BCD$|7I-6HBBWRPh^;$w2Gm-j~d{i=olt{UJ!lR98Y33 zBgqEl0?}RcgU6ejhHum|aNj~oGvpmn=(-E>G8y7|oZC(U{Y&vvwi@s9hcmb^0y-EZY9u$X$JI$hl4L#ENuV(4AvL-$sOB_j%y>v*vOKugP+EPB~-N;ZAs$ zE6PcEt)Xu!Z<7GmLR2cB453U2KB+sv9XPg%`=e;g3BDV}wdV}E)U8+1Y@-`?T@hu^ zf18Dxn`^MqP>a?pUBwp{!?+U;saOzqjpjsYp;Sb2^|kqJAj|g#g0sVU;X4OOq3i+P z()2JAaqSqIr3>(~^>Q(B;Xk@9pcA5<(qQgv21m56K|-lB{8d;3V{b3Qe`=x3ML~7c zoiE9q{;A1{=UZ_XR>^^wbtPR=QwYsJELiN*V8`RdSk-rFFm^7GH^;*OZkDfsjy06= zaxKCGy4#V@C5;ST6=Rz=7_zRV3R2wLxUp1*-k?I~84#j|(oRAwD??OOzLZ*&;qx z2vpgsXFtJo_#l3_gRQHni*fcY<3ZqbeT^^D=(v+;Z@9XFrXSUyI}i-7i(-$frlHdz)EF+QC%Vj zbCw1&YfXHyaZWn<&oUNQ3<+_QK3Bu3+@llgvLeN2XN65vNAzANRmZM;_7D%JDF+bRT*HUxH)48oiccO=i3wr1L70 zn76|h@k8+iIAJ#vY!!0BqiYWsbd`Z-(i}K1yA&_H5yxef?p(s&M6zV^F3A5*VRD}+ z8=|>~anP$~Hp*nd>XIsGeN;l4_&llingo35o`r`039&^7zd`E6J(f&718pMf!A0;2 zaMOfVx9Qos9h0=X|p6zi(iZeMP|_O zSF12_*t;kQmRT#|nnrw`j;j!z`8-&aD6?h!^{PZjU= zE+=rjqm5gxDRCiRCc!89m9X)zFU)@#3?k$6VVUnTaP#w_zd1LeoVt*it73uQJ~ZG% z7i~^bxCB-loX6(YS%O*542HRU1R8Qm7@mm@*~^zgj(lyPNvoo9Z}cm?$fr+k$#=o^ zpRFYF=q8?)&UrYy$C_@uoI_ev60E+hUItxNpP*~n5uR`PRgxI{m#8Jmu?k@a*wn=F z2|sIsOS!Qi@OwMySyw{F_i}LdnIgu`x=0&73!=rQCnSQr0d+4E_NElD!)pxKBlDpTOgGH)t)=>;#cJ^>0GDVY3x1Y$Szp)p2`ttkHv_BUsNuFOES{p~ym zsq2CdMUB??FSX*Z7^dt5B}IH!Kpk&R^k_7+dH&b z=4=V3(H6R0Hx%Odli=v;K5H_yksQ~QBfm?9$yT`>YX4T1EzwtJ+fSSXC7*0FoNm!BY$Q~~iVO@*FSpE0|i>AQ-R&@xcOQAilfj5w%%DcOHGcL`R#zM<8%*v8X5M6&9B4R@!f7THw z`gE3z_3k4=ld@s=@>6uw-GZJ8GT?+##knuf40+#IZ-46>e@2WE1PkVAL}n1|%2bX5l>i zua1XJ<09OZ;2lhKb7}R8$+d7XCKfUZ*Rb;)lvu?zeZ=BtB?(d#WrF)((w@U1@WC$x zh7Sv{rj_!n>(p~3HX{!Hq8Iyo##bV7hk-ZAvf$FV8mgw2GB;QJ$Aq*@rULw85dI<; z!X0k#9_{=AbuJ^|Z6n9Z%(8(e@_wN1F$6&(ikNco1jhUpK#R4TK;-LolF%lGsh@5_ zfO|Tb*ZYWAtc(PaG6zun`J<+*Q8>Tvk{Bod_(N4Acy1(+dbo$=%b z*qz@DMsCTF_Tv{keb@tcoL14!{ViykBg%c8rNIgA>qF7@19$iCajIKP(doZ;LV@gFdX7O@`2jyaJpcLz=St=P+j@OAbL#= zKBf0S!D%P#*?bjN#u`C~Y`L}E+S6badlpU@r|?29>SO%Mi@ea3d`9xLFPtA4B-({u zq*vt_2tqmh7PErE;v-K-@V6>|+yZd}+gZ2VA^849401VJbQHOPGj^x&HgC=$mGV*a z@XA=|UgC_$(-W*awm*i+(Sq!x&&v3U3|Bus{e}cPT*L^OLvX5oYjwqy*I@bO9`BNv zF1)<_0Spc1v&L0JAR+3=Wq)x436}!6=3I)eH>pDT78XO3??d1pTULs5XSElo!n+7p zxKd|~wM}P0UQ~&F5%2`|=Ip2A#*yH!Rturks_gQ-$?S~>rM!}x(PWRIA57WFk%*}a zph-rSbyM zHN+6u_bwFvoz4WER$uaBMH+5U^?-=;SLlBEAB68}5-7#zgR0?M$gU8_K~WYoSM}54 z2dPl_vkJMeS43gzD^gsm%pIIFfUQgJ;}$gsXpT<@kKHP`s`NejetJ%`5?J`DxEk|B z_~CTHBP#to1BV3as9@W9y6tejwM+X>X4$NN=wezCXnTs_p2g$FF61u1IG;KS~qf@+Z(I085%v=3Wv^G|Z+`KKo zPTueu5+ByW_W4IZT4@P97|CE(tu&>6+wao_)m_Bj><8oeaW~Bl`pNvfH3KGBJpx}# zAjze%u*1$DW@QJ_zaG8xzZ18p(49d>J4XONjZDMz7&9`-R2GITG@-?|4GnY z;jg}&hE5np4G{dy`J?aWous4X1no;*1tBx^Fyvnw=60M#ahaPCcO(SlsBzlfHChy#alY-+hX_6d~ns5&HY7r`v zk^^xWhhXaF%h1_71LPFKL22$vC{5c1qrSCd`C=aktp33WH>Xgk^D|h<>a#FieH-&a zb{$&OW#G@DrM%pwjRvJ)VUj2V?CK6v{%!OJh!#83SP75-+4t;;I#vH33CqEU)} zUp|EH2WMbQuqAwM=mXKlD=AWaL$>g2eWYt#^;Bv^+(#`wI@f@_^E&q++&{ht=! zvEk1Q?)B9v+-TB0WOfMR*ufc~`OLSbGY^W-)`z69QCa1!=U`J~7{JM1p-#mC>kpM2g!(rOdC-8YmJo!@k z1Xs&$hXduAIPy1^MjzHj#a~K96#0nGf4Z!r?J$Tguw|Qa%vk$D3feoSqr?Vn(9HCr zAN6CgYT8<2dw(mP6}5--TUtS?d@YgwI~TTHkOBXfY0Ug-3+a^vQ+#IW3#HQAz(eIS zGiUJ+vVD;)Js;;w-C{-Hrsib&;PL+$E)Tz+yD$uE541Ei&>jjYO26}bBci29cA6q& zWF-|^TC{g*s+39#)$crCM9L;AX-FwTD)pKfZ-2o#pXZ$Wey*z$7S$**NwUA8M8gJ! zFJB@C9|qxpt}HaDSi;Sqha}rM1H^U(f#|I$ka+!x2vC29Kl27GGuI$PHqGGW`w$jR zK7m~g3NR%1ob2V%p$ZRIqte)K+Mk>SXS+P$n3xi?NplAbw=akMDoPhsh%tX`1jxUR z_Z+_`Goa3^mv*ccVZ>{-nC!^A^<9U#urEdw4|J|!oHKs>tIW$FB38P5Z( zoFM4X0^q%N7u=+$akypKxI}gfG!;%~rDx{jBgF^Ul_1D|zoN!IUwaR6`by@*S#!oD z@IC(Z%YYw?0ts_DlSnrdP~CTnVIsa69~etxzMLACrul=j(*WnwnL7A1APegplBwoC zO?234H=HY!<>;)_(9>@rBG@xr^|K@5R&WE|XpN zO-Y-_a){nrPUxo)h}aiFuXdL~{`6k>SgU|@?W{SkZ?5EamWvT9QFACg>T9TrC6NODr zqfEdGvO+Q#ZeO@fj)<;j=B@T-p4fykZsx(DAm9l~HQH4ALN1DKA{fTkg`X3pFm1jO zKFhF%=d02nE>xd6IKGcL9WBKqzCH)}^@O;+2t~!ScBIJ45+eI+AwF3NTBG?`=GSsi zzRS-{n_RFDyLEaqo+ zP5srh5ea6((||ed5=3YHa^v1o%R?KN1?-A~UAXjICDm;>2Ww9?QNa*pcyQ}ITpa9& z#uhPj^{Tqfj_J|7d4g&5sAsSw2*L-;$|u&rb*hF!V`kIl^K(&8OtMUFCh zYi-72l~&XZ2_ud3MWCJB;>2`Ivyb(JSgALrIDFs>+4Q>=LUi|ohyxG!xN0*;cII-g zT}uWzjswT!%xAPLEy9_L0ezlcAdwGC$qQQo`F9_}Q;9Sbm?@0gFDzk3zK%eNe=P}e zVmTUSs^oLCDoIrM1joA&&K;>W;cHKa+i!bFFLyb--KW9$+xRlhGY^psCB0zjm;rke zW2M9F%_qvsBtap(h6( z#}C7e#c@!jmkNQ)wCLvFHTd{nBYswYNM|4HCtUZfFsC~WGRK!Nol+;^&BF>%@YIEq zuPWf0q(4VLD;<4vzf(z>4Nx7?2rK%<7^&)6j3NI<#=2`c17IdC15c#8gLVMk1b$C_i|uC{woN|8HGm~Hqdri3wDJ*#{KR8Kxoa5EGaO8lj@j#VVxp%r9G%i$)6a*rMRi2EK!;w?rJR-4~|f6Zp# zA6h`UK@H^PEE)35FbL*2$AMFp7&LCOfTqA0IIvir#_CFddH5^1@K6j+y|3W7JDS2* zAz=vexCZGf%Hc}*d_wb8X?OjTWk=@}k)yAp;AyH4?91~4->_GlnU(WEu4DxX@6Ujs zbuzGj>u<6{DgxRAzfy-|+W6#)9p>&S3|2B zp}P)_)*4{0>_x2dFr{;D*y88qvsqq+*VKKT2Peg?oUg}nJ2pevmq)@-E( z1+g^Y`!F6`5yFb_2C;)?&Xy^bZnmoF7|7NudV86qVW^{ z$k%|G2tTk_ok7@lCs}r?0hYXo=JZOKpoxnWIeT-8yVlHRzF%#ClaH;Khr0q`+xHN> z#LR~q@u{TsM-S`@426>$2WeJb7YUxn&osGjhqyEmrqr<+eklaeeCKG??B#*nORn(c z(@{=6YY7)3yeO_Qf#j$+&|;@N#jBnm7a9&~&0$a&Xht^a*Hgy>>+xTdDK2jbgvQgn zQcZ#2FyY9ddHi{Q0-7`bh^h4vgT z#%PZa>X@?*i1BU|KJ7?D6l*a*rv^Q~ny@m(OJJJwdJxh~!h&--MD_k+5VX5VLw}e- zZ0Q(BB2EvFye}ft8{D{Ry=nBR`INi!Jp-S&IrNt07Hq8XM>N#N4{{vp8FT>u* zGHmD#2G^HEb!Q6H8TUN`jPdS#`0d{X$+j}|VA%&+z-tIhd=lJvmy8W@hkgHG#Zi54G$b>;|%`a51e}LL5UKliI6<#aI$JMLeV8KR$C$iTN z&Q(!pw>%Gl-AUN#(}{a>FJpnUE-Fs=;SrR;qy!<=^;wsHk?9+yT$3;C(TrAAs775d4cwt zfqDgv)u8$B3uNnAgD%M9Em=y0JN^(WL0f?N4#c^$k~1=>hkuW8@#0chw)}<;bzjgz zquP$*uqq#}|FMSiY{ez=UQ`aGzjH{tWf3)4$j9zDC&`|UeTK6q$7;tP8*V8h>ugjwMV>(;z&2a0@oc zrDKa@7dLM<52pP1i4Cnj>?+qZmRG)r{gz?C7JiL_SHpG;<9ZgBL?oit)Lkn@7h=e} z4R|EYn$5O|XUP_Kwp`x=L-ibh@N%KEnv$z+40x;Q(3yk%IP=$S(!?*p>YYBsF7xtY zt?MG$im~PF)!lR8%>pafRxRxmCON;EhW%?4ChER&-uC z4KI^|x6Mo7iwr|l$}T|JV`0!bzX0}~9RbtLg3JctFSuvzN%qa=wP+I9h^E?_B-Cy< zz06aL=jV-(DupUoYW5I%78)}m8~7OW?}wl|M}%$J>VU;b2eJ70DCH!|ky%1ZA>LRF zrj^M+RG%eR|8*Cd4HV(qSN!a{qC!lWm`5}2+nCr4dxN3KZ&I|fj~GkEKm;wIXMBff zk(mQ5(=0^&K5dfd`VhYktwY@ie{Q3!Amk_7z$H!O^7Bw`*ilh%?v};obrE<;eGcpI zu>gsdKD-z!G}-<=3PLn)K>m`5DXzLsbQ|}O))_3}7g~lLihd-mvI$yc?ZHk$j_KuG z2aAgiAnKP6C{jbJ^c_Lhqk-%X-$fsHvh?k<7hKOmd*XO(wBDwohkn{qLmu#W!xhU} zaK1K&GcFYl(`MCxd zYy-bhO_cmk0t>aK(;=U&&~iMOoY?Y`oH}y^Zu~tBGD>s6F<+M1WFWvuUg4)Zgrzy3 zsHr3amA1fs+%PKp0rk*6sv(?Ty@tn{#1Z^W$Y@jvL|F z(iGTtn~#xh83f`y4tK)%7`xm95Hje>*>qf=&9Y*t`6?$;bEF!si!Nfoq6Q3whT)%f zCYYY7g6noOpxIWBecb28{yw6}%B1DfZ5MpujOcx+)nCRG?UH7EH;6Ml#~Q%=%6cgL zBZNi^_p!W24y?eU#cb*g9`Zr^EeI6?W2ZNtk>bu|UMJ3E9L}r2PG>@-H?GF0xP`2A zmjX(B^&vq?M$9eyVQ7faV@yu%V02@EDQwD|>hVEvUz`By7KwOmr8Tat-vr9`uAp%& zA5~mWW6qN!FsvEK$i1D#Y*w6v2E#09t@of}brCd7Vlh-TPhjdd1JwAuiOo2*5uDsZ zptWWn^oHs{@6ULMc{u@pMN2?EAqKdkSI}-)1wYFRutyz?!Oc1jMuX-+|GRV!kHB~G zXx=?&y=K4+?KwY{pEVGvcLz;#RZx zeXFv;)jopM_Fuzvg(6Jruf|;`|8h35ifl^%U$p-+56|2eqVAcwfa+0X-l!B)(CCHL zBG)ldH5JH7FAT_@V!ubz+2!A!VE>Hic+BcHXnre&N6YHrgn}*H8F&hB+8-0|rGiX~ zVmf3VeTm&WH<30UDG1=2!wx=dP`C;zn zN8~3NfozMN;Bo2*OwHEhS1%vF*jPYICv7Ruw;*z<;VKwwDl$nz520G&EL@D*Mpcqi zQM7dv=jH)7ypw&Ec0EYJ;n84J)scjr{b{gHARJ5w9AHcyD*0_@7|TUguumatKrp?}iP;oibV zd?6o=-woDt-8BW6cO7CNv!a@_I%kZdp>hlN9S7FQYBx-JEJN|9f!O&)gw0^M^>;sC zL)-E-%+9U9xohrM!;%~{q58k^!ti4pT~!Dwe!ke%m_qyhJBbs5KS`{kD>KmV$t;up z1#zSs`h0)G*bC(9|F(lypZ`MpV@<3H>n0}8m*YFVoy^Q_rbWwSAE-pxprdqE$6UPn;5;7v z#l!BpEx_(-P+_H)I1stFx6oSgI#>Ab5&V2;Klj>7Ue2Xwm+Nx|W}(?7WjMUw8Z&)6 zY1Hf_OgP$#3v}n=Ng|3`Ia8i|Lj@9D#K^zN#=65|JBUcLF6^(c#vlC$&`aVFu2<*< z^1TN{58i`U+OF`~-VFkeWs`Fw$+UzYao;g*_JC(S?K}L!gf%S%-^y#8BY$7RCk+F} zYr7b;w?cps-OrHl#-E%GYu1D1p=fNhD4{E#2{TNYDL2M10hx~__`pXLQje!{zP!jI z1rqx>y4xb~%(yi1Ivxe}qV6cFyc=U}N^oPj8OlwaUpAwRewYlwqxp6)_mC8HU9v^b zZ~ADLw}+iAT#F5dt=Mh5*K)SYzkma67ePxrovX9pH)cs%qj`}(owq6ndpEy9+ps+P z@0UEg?$$1L!S$KoU@5`yr5HT7Dft zvm;MHvXzf%?46A}7OZELcstOWgyEN)R^;=}g>Wi)8cGJwAp5S{!+jSIhGW_TX~(Kj z;Q3L3$Tq`M3oCf$(_1(Sif0^DOnQ?%tHsrD;0pUDie4=cM<9;pCh}6 z7Gh?=A(J%~sqjg&8@k>JFxFSAAzUq(n>p|k+BLtKxUMbc(2YHuQfC8h!OT#?>pn!* zd3_|=t%EfGZwRT?wWEUkvtVoeTd;lD4JqL-U~Z`fk(iW)$VC^($F6v))a8Xn4hs)>c6?F7jQ&iFQ(lUCZ=yjm zS&Z?m`3beh3-IcCaT<5ilPpSXBHwvl1j2oS~6JvUoDzjb>k3k5{4{QRew zd;BT=Q8S$@?4g7|gQCD*ZVvOdr5IRe4w|LhCRbV_xI*=dIKQ2qLC8Hdv}<_zw z^Q<(^*E#%5du};|lz4&IiCi)wp$u`?tBLH+7_?SqQ-Q7sK1p^ZGp$z4{dQZnS|b(QkIu9rn863w+d)fHxZl@x<%%xX>(?yyH8Ajng-9RCGCX z{=fxpn1UZllhkQ2JxXNwjDojwuT1qQk_2m zXf?wN#0B1x=ldie@RuK&|D4H2UJzlo@9o93ef#k0S1URIBX~_X3j5^BY25V-(3kgu z>fCI?=O>o1PL2ZXl9l4vQE(2g$LOKj@MiYsWnT8#q6+kti^cgJe!wqw7KBc_!>dRx zWWDc)7q05exHcbC(E1t!61jM2#s{1}n#1M0ex6LUWsv}_?}V`tWqxQ3fpV-U^LFbi zh*8W3-LeU~Li#rT=dc*PcQ>G)l{=kusU*Md1%SC|E@{|)k0ZNV6=mL>=kml6IJoj1 zTztw0l5b~IL8TV1@8}cm*tB+XxA-CHFX|!57kFuwZzooEzrf{gKA1YM&t%4bJ+MUD zhAtNiCHeb$i0j!!pt>*+yw2!j%9BVE$4R9l2U}=Miz)i96ktUU3{YX>0_L0?{OA9K z6ILg{?YU?G{naT%@nk1g+|?XqW;xMy4bv&RyOgHn#*zeG1(LiWiAJ>?C)zxd^xF+z z`e2G}Kl{E$n!KCS^5Fq0_UDse^`+#?{O{Cj)C=Ye{-F1agX;eos^K@~U-dE9!%5W4 zw{&S^Kj!5O;EPqgRD5Ov?sXi63PBV0qc#V;pH#q-D^;X0y#wC!0{8CIa9Aj1#O}Bt zh3C`P(*Gh417DW~JR3fMtK%e5IAWY8S%kvdbyj#KBph50s1wt-CxN#;9o*+iV61B| z*{b!PCh2Y@mIsCK^*~hJ%-|~G=9bO<`aBA|qF&?kwrE&CG#_~BHc%QIqHWh>(T0B> ztlF^<_YcY7s(oSPQu98{E9yrv;oV%iSdY0`QVR*y(jf5r9vr#9e%{sJ9M5adi)ZdVPK87dY$l% zeGI1jxn{yNKLMSkt09CF4z~~MgN*zg?wb~Q+&h*>?zdENY)r<;1?Qb;eS-&kM|;3K zX(JO$e?#_JVJ7>6Bd{CJBKNo++i?9iso{A~gWX!_Pa=Y9_x(^vrx#j2B{LtUe+7rk z4S1v68#3)}(QT z9jc}S>unGV2d~Q_vw9}(NsYn7+g`%TL*}@%wF$B!Tgj1i5{!G}2K=j_$~MJ};z~XN z=KA&qV!Jnb67A5tlz(cIb7CkX4oBMV^&SQ zL9d4HL45UYJw;O*ZL7+Bdx z`FH#zOZKdW+mD^WwZ$IPwl#5&a7XBI%8Pne&G6>oApE&91cK|*K;p4Hyw|HETV=kI z4pR~8_HCS2uNGz1Ojff7B0q3?j5-wwOQ*dT)37*jAMCf%Bf|McP#d(4J3YCR-tWjm zH3b8l~PG`mD&tm7C6l6dCi$>lx z@~}Rg7Z&uzg1DP0LpQgPCzE+lEF_6X|0HA70y}p4N@F(ocL!<>73K{{;kOcgdM_yfLaf6LW%|AaXiMc6Q0f&I%LQ1{KN z;lHjiqFJ>7=S%t!y(6wzQEkLZ3jM$UZ&^$-Nk_X);_TbChOCUwTe?r?IR{=DKt^CN zXTu8_2oDlxk9_8^_w`@mhg=p5+_qz{Z4FxZ4dJR4iRf%S4fxLW5kHyBl-F()rRPNB zoxni6|Ku6HQ;>ygGS%3>E4HvHAE(%$vk+Iw&VxxkV>sJ#88&YCOHw_Zr=|GUK< zxYj_V_nxEHek$1Jw-XL_Z2(BBqU@@~r0@4*_;eJQ3IREo7?DMj^#Y8al@rO4PT+VDd*V{=0mGi5 z*fC9m$*tVVXmZyxLr<&0woHN*{rwF@lK7c5{?nN~*UwGur2+_X$^a=DNfN3R$BYm& zrcFSG3Ex;q8^?mEar1R}Wn&Wwe(s z!{=KVx94{(Xs~SMVm8sU3;PO zsQ@_13gIl}@3_l<9!AVsgfgKP7+XIdk;)$}zn=l=eihy_d5xX! zqG0j%95_tKz#{24^x8U8Dw94JN9GUHv|GF2Wvekd9T7*t?TYN~n!m(qYa^WOJ;d#) zxXX2Sy@j$xlIWe?NF#PHK?9ZFIP#pIE$v>xKGau7O;b@&vsZwmp>K6?ME>}UQ+Cli|774S2S3~P$2ep zg+7ieS@mLm)@<=%Hu~^8d|RT7!hILOptlo(E?tBdso@YX>5I3^ZeYc>LUml5*FEQlP6yNJGf71+9nOf-x+iJt4C=rCtJ zKJAkMXJsjHP95e{=SOl5)pt=Vp&(BGL%{VZ1Zj>_E)YVdt^f`{!$F2{yI;njgvC&HBBVnd)+WneL8%P z6ae|w2UrvE2d%XK;hl$C?1+UQJEvHYov$^E-Q=5y`=6xauAp%YJP|YH!y0h$Any6wK;~~mlPnj#(d0sP6RA1{zbI6#lmEE3f%JR1Kw>JaA)~#4(Et37A6mn zAHze`ahm@wggY6oH+9aMIS7<;AjH|49;f{vRP;7`v4`OoAgoU(|9Lsy$QcAu5% z|K)t<3RXNJq4yGyKd%RPtD=~>{Q68u*F02pAkgS0z?@&L2BPWN&~@nw`R`OVc^&tM z++9-1;n$BR`YWV38ikMHE>9K7PTfzJsGf$%*VXtUp%T6>GJ8BtY<`avT(rs8UzjV zL#K%*o4sfOKGP9qYXdvc{ZASA49JK11#4h6m_!i(^0 zU{Et1R@kbMZ<~`zRi*}8xiS~YnUl4xwxlEHCA7b#>L-K6HPP%rn zJ!?B$h$$Jb@yY3CeE()4Cag_>hmV`VKA?%~9IK1l%$jIus}mZ+zsIq?R)W7LM?=Y`qWI&pTc z&vH)Ho)27qxl~Ns+DaROzLEUC=Oo&7HniNn&zT*fMGCYNsLRY_%ieskAd2T-z%wZU z#?X8bW9cOh^r|K?##C~5M-w@fC=CCOhmngnHe;lNFWP9#V@-G6LB^&JFU-3Ozg`x= z^SzEBST4o<4Lu0Fdy6^4IdT{|gJQa(6pIQ!@##o1_5^fMbvpxE*EpYP`H~O3LxFH^ zvYErw8qzD|3fzr|q1_}7Ex?CcLe=rqo73?4wjSuM3xz9t;^D8Q4_?}Pi{@VG<(%4Z z2s~D{a}MqhMWMF6Xs$cuGWR_|;r?7^aLZNLd@>X#w#~#!pXoR%@PbzEzk$yq0$7*b z5$yYCPf&WrD^!|@13_6IrkHODv-jF3^1<8*jk29!*yjK=Hzc6L7eiKXB!K<+^dLLA zWDz=K&jjQ9Qp_=tDCn1o$3is*Bjp6Z==)vpO1ex^J!&vU`7ZKmFT|AO-{imEc<^x3 zV8o8pqr8(2YqI+vuAgY5vrmVT6cr8FraVX=O>x5B4oSw`qaDnuq6tq}HCF63M+pc- ze3WXEWOIk?%8UT%E@gCH83{F6TJSRa9|+}HVCnKlxMtlDHdlFI_L^RLu)+iM`R2o} zTrEay??z_Q+lp!5v4Xjjzh}ztx;gznr?U(Be6cD|o_&)Phki=E^ytP;^8K?t{3tbM zda{ie-M8Azu7{f$-J{z<-eM63yCrkle}&@h5;ZC;X$IF#TF6sVQQRTWMWcu6PR(WXzIP ze*i^3o0uqUhU4}EXs6- zmiNL8`P)o*^8ayLTNT;j?)gl|?Y|&yb`4tYM}vpC9Nu3nkAs&gF|)0N4v?)V)76R7 z52&MQpbS^+)DO_sIL2gs$b=pH&*G;?BjnsdFH$hN7K`txv%#}@*%L17@rcDR^x;7XkQH!in8=z zm|uO;+h_FDSS-Ts6kPUaIi8j5$Bs;W_Dr?{n{nHmJvdm0jxI0ZP`wL$tx<%C9lN=5 z4NLISrSWCPmjr3iBX*0LE6zfjp|2h9F-9T$}(kpN{6jCT)2rHl$P z(;x`c&eoGxB6|rhGu5$Ylc@HuTeP(+2$y7k=Ds4yM50vzHp!3G1-n$4--bkT zX&Dc_7ycg#bzkBb*~QYg_i~{;-4v@7CPSi@0KO}QMELU+un0It>4jo&^Y_BLxxVO^Tm-R36)+TU4lweQs;1h} zW;Ovv7YmZDdE)e-P9@CymWpMzrnInE5#)NCU~i!^W1JOEzNw1i)CB5H4P3#4X94}E z@{7I{E5q?>Y1XgiG*@&*3`mTMFgZ?juOKD+cgenMc+*H59@ffYnra)Jf3XTR z^j5)+dPgcS7D&$hRE349x5>n{lX%i69eqA*z+dcqxYH532%9SmT~v13ILT3BD7>gGeRvd9$tUlhQ)#92)2wN+$D=mA#O)}np%d6a!{ z1jcz9uzRHyY12%l6SmHzuCt#yoz_Ch*4M-@JeTful))Cu&q%Z^G1b(I?mGFA+P_&q z4hMWE>ORrr{oLyub8Bz#2wTDF7AnHy;}>zacQeLbHo<+YJ=)@KxPQ$YGVKE)`ko%# z5oTy1jiN?kZ^(bnEo7^oJ~pq@#rLXtu)F0hjBl?48L7qaad{m;_8chsT~6oDm`&Z< zKhU zqK&tGO@gCq`LR~~5?!*2hxu3E15c{fl9Qn;V0L6440s5`jMa)$o_>v<@s?%2peS?R zwwS6Nj6kR7iAqkDoIpcQwp1pm?+egkYZJ-bwhd-xWWd!+QJgz2!fZvcF*{2=ANNwQ-9_#O!MVq-2{6eN?ec${KSPP`2+OCop)IDtqtGB3bJayj^h20an9QVF`Oc$ z5PGBA3dBE1GP!!~(J9GHDCk={k$saYY4tR{`O&<8aYr zIaId1f{MIKP|`U|`F?Jr`|6}&Y0m;UGd9Hon&NQ(%Y9I=u!ZsZAnNU`&h;|4!Uv)k z(CT&->1vjO+H&hU=kN2$JE^an=jn#@Q_&y#`4BTPo} z-;$#Kr!>V*9)iObq5hv~@O4N5k1RidO8$Z<|C|rU4$Y*sS@Ut%4LRgpe4A=lD#16y zBqBH*!&!BH0e!5}K{+-juwOHe^Xc^tQk7~833H}FR7?UT4SKA-+&60Ka0b7c>Y$Z+ zGsm-T0h$*IpeuPxN@o;sHYcWm_Z@5KxB|4iCK#*#y}^jHLaalUCuj4;CK^G{({DY> zAS8Sg`g?Q9T&=T^-scP|1rD&ZA_n@KBWW%Fb-a@Mo3;qFn`rj&acZA1u=K_fEXqC# z!prY~Y)cRHoEjy|j#kwnd+vD z?^g-9E5XCMPTZr0-ii$SDh@J+!;BlQM?-sjA`ZMgY4V|e1s&-bBZh6q;Kj=_c)q!)4Xib({>O2vn1I=A?vZlumT@`I*;)e^{`v~6L->K3;kiV6!O}h(}Z_I_;GVF zdA1}b_*ahpspU8~tik7-R~9|_5!z}Azv z&Apw}4a%Unh7c1FI}iMp%W#hD7R2m$c{FRgO+(M{4VcOd|Rl*_&dgOHWmo8 z9s6$49lz^{hi@q99hQgIS81@tBol4N&*J$LOVKY$0v`B2gYZoo!C+q;8qKvPRoVn~ zW<^lZ1$@9)H%hg#1~_}nWpVjC1LmD;3xvny!=e`|Ff&fwWNlChW~{hHet93j*LDG1 z>ozyATW7+^MhY?;^R$>g?*d4YC?GCUA~2bsihb{X!@$XRu=FICBmY_s6vOlA7HwN% zE*AuM#;lm|x=ylntvwC6D$X|a4xyE06=$Rcp*B?j|G*fzo%ax()k4Ypnjjob@W4K| zZgOn?NthmL!j9W}(Yk3b;B%2aGb~vRor~tfk$iPH*?SzX>CJ`P{t+;`(~^B%C&@~Q zdm-*QjnRj+QM6ecZXB=We$facXKor{uhef7ciES)=9L(Gt|5$VelrifJ)TpV`<~n} z2t|XFLUi%48dy3Tm^683;&=3fi(C3IcGWsI?jMJZik4;GgjSFf&rU!!uPiPUNHlqB z%n!SRG(gSj6#Xb*jH?&Kk@!YzRrYEb9Z7oLk;e#ETZ@ApX29H4mD4ZBUR!oOTqW|2@6n7zM6 zLZfVGUFZW+6E2K{#?Qzx|9Gloavlbqx5B%YtDI9`MVYYR5U_!NoMUP-c+@QqtJ@wy zjYxxW#N$@Z3dtGlpvil*&RoJRoYzhaJDp+GX*K4e`a|$)`3AOOVoZtqO6I|grC?aJ zjZIMGXFtUmuv|(|$`X>=i;S9}ai3^8>uAQUJEyEu1XQr+Q19rJ%Sum53f{ zfbJd99xu1PXapb(DxJ|OYCYUtbejkvia zjlLW@2LG<6az^S+5p6V?k_J-{esmt1{)K?>{SXKUeF?qg(j?;K5PDUzShOI6uDLsb zvCS-5=~6@M{P;lvfJP&jk5{;cfx|v zI`ZRR8@!6Y0dIapLha>56le%XCq*kvc6^Q@QaPA1Tb^BUCLcu(2E&n?l5pW?3(VPn ziOj8x0M6o>Os!fPDed~h-Ig|lTTa{~i}}N`e9#^}_WvQhrz+uLe+X$EGyq=R9@?E1 z2n#QVQZ>Ca+}JjsJM+#krd?Qy9iP=9FVXbrb4fXl6+FbZsWoZ#)KDs=EOf=-`>Yr-cU5M)PzR)c6o-}V;V_&&O7~q3$A;sJ;bqXZ`n+u`Xi1?Z zyvx^Nd^;8~OaH9~n@5Xb-{U&ax_b%rzgJor{UE|JxTRl!>kqC!E9?j z$M~K($NVx1VSdGVF!xVq;?51Rc)8ygs@ID%sz)O96I@zQaD5!kEj!gR1=V5)L)!EbqH}KW?L5}WiGx+dP0{#eSqHMDzs@&d2TsFO< z59+>i_Z(7VH+#jSOE?o|}WmCA2wGcjizH=>lT=;0M{JH9&6OTLL(l2ObK% zc)jNty?4b2i^j!hjI|IGE^>)XUXKEW^NFDH)ES0O%pq-$tf9Bfocm{HDT*8qLS?%< zbU=C#28F9(v>_kV_K7gU%|XCtolfLCK2jz3w)%!Y3?1$3#D?3M_;0@ulBgr9fr&|<$q#HxljHBSmz937+by$l4WlWYm$|SB`$mA>@q=80@@L-ER zY)yXv)*t1OH+mTfc&!L4wdSCzmI!VCH~^8#hv~CQ7Z7RIVrMg{m{jBrwVyK3?R6t6 z@l}wOw|BvzMegu-wI_3i>q4|mA5gV*Mr^AqAA3`F0V&fHg5H)VbmChZQ5SqizO7jT znUj0Sm8MksU-K67^t3u$7zsz^&QMS_JpgJR0?@cVhjY5hksMOf#8KUHY#ge`Y=z(dV9v3Q@hqTfQa!y29X{eTQgwjb)Z6o3X)2mA81kjGs7r zA#eRe7YeODgW|DBW@l6bRr>YtT@;A_RT(mA^n3Ea&xu>4^#F61p2U~NdqDojN%8_6 z&`Zc44o^7`IocM)O+^WGFS|mkb|9VQdQ%i;W>8UCf#{8qgoRIE7(bEg);7u7;|LJjG? z)r+CZb1Qr_Pk>#4xn$k52;9A0pD&!Ei)%!rY4{Lhf>Vb{a?*Y(GjAn0DXa&(L~$^> zdlIbk8^N+~JKQ(@mk;GSu;`kN=WnKiLg06@P{fGtx)lqbU9!Q&qy&tEf0D2U6G5Z* z9mu_U1)k3=#@;XG=rdq|mRWN2+#+L|KP(ANvCd$5Nt<%{J&^LsmS&%lrJKvfLhFe~ z0;PryFpBg5JJmlq1BfbAPuSckwIOi9@?};z* zP3U*n==2Q)mk-0HBnqiJZUg(fiH7IB1rb_-FOCcNkRM9C-o!w3Nb$7Ztfx)Rd}|^t z)l;D3(n2DLP6R*A0k~ThNlZ3~@Y<%Pe5kT5FSM)#MKvW^*0c+3exfYw*f$*>Z;63< zhPxrKvH-RhUj?NE6Z&!80Gz?METm=xGtc_7Z26T$(Q5_QbaF0SPso6$Sr@@^)DS!o z3!eTe6(st-5BaVFh9Fk0G>E@^Y4 zRsPYmMBR=)*&+^sf9|tbM{zp&^9ZO;8AW?$sez1>z{~1czSfxUvf>&pTAcl z0Oi*oVaK0UF!Cq@rtR7S#@YpBwp1Hf`P>0@;pMOm?daE2qSndg6ZlxSNyK5jEX`eh zkHqL}0nd2y>p~|C9ulG~T9p0%erz}VBFwBZvUPEIWdMT zzpYiUv`h)xq~g)L#~l-f{jkI1F!|841eQ7^g7;twsfpW1PS3f?Y+YvI-I%d_;(8@M z^h*@(w`~=u;xoJ>GD5b5%TrzdKjh2R29g^RN`9-v;HRT%{4BlseB{9}Uc615&xreu z@B1~79`}T{&G%r+m7@^f?FCg+bJ_V*TIfA(5^s`z4*6F-Shql(Ke%!cbN5eUH;)~M z`&X1{kEbWuq-r795j+*;^o_A0VGKWa|7_mwz$BhcJAj+l_~ZNkzA`OIY4|wtI+^k$ z0@fM2!M)96a4@qF4+cx{<9_}`-<#ht^V0~Eo$ih~4(4RfE7oNBrx<2uC_|TM1dxKJV(6}(LuWUN66I|c zXzVPHvWqncxpNe$wwK`4?K~podkaRKUqi^OpKx~9zs{RJ0`4Yebb|L~R;f_OB;G8; zm19n!(G_nH9qc%2tQfAx2`ZTJ@k3<6)GUX2Ckb->wgGYkB1SrAyg0|MzxR5bWVmc@?7Fj|MN zT2#@tb26IU9>B=EGx$5FRsZ?{sZeE&G2RBL3pro2|C_c&6EP?3&ehSqJ6qN|9oN`3x4m5>(nCfnU@_adbSXx zeP&bJm`<2~QyL4xk8z=YPO;BRl;FmUG`9a_4<5KL!pu~RwYrYLa=LC|+ zj=qB0J}Y>|Ylw&a;NOGE1RDv=)w8eusOhNB?zU4L6>sp|9#)LEo?Gs6P81QTcKil%l13=k?sIZE?8!Qy(g<^5cHEoj~6PQ(R_rl-RZA!MR69R8>NY$X`xF z+0=>ruAK{U)vt6+?g~Ob{gr~uxP5{G&0ri_ACF(dkCNsFQ?jhC3(rnIgg4iW=MOtL zaue!5a>Y3-@t$w3_2Z{+iKJURZdehDcB(FTZgB}}cm*=E# zA;s-Dx_a$HmmRtoyyT(vpkf*ZFP7n#ebM7b?nuM<-n;O%cQ%zA+z1;36QFcw5iYPY zMLDzmn0+voMPD+;suzWLAz2K!?NFd)ZzoclO{-yAd=7Kn`2rX2Z@}9&<*4o-jMJ?X zIsFn_w)NLrtgcbVg~y(e;oT`XSk%n$p%9td8^WedpUwAjofz66j9{CAdBX27-baFs zUKWP4E2azTb+%#KOl>x=Wge?|A4fc%l_4jt%pY9$mMlE+n=?}jXS&m)am>9uWV0iz zA1}XBBfT*lVt$)a^(HymWI9X~R>Wb1(cPef}}7`t@69Ri}Bkw?aNA!=$7QFo5Op8en0 zwk6vIs~hE6=u?CRS+Xm@EfHc#OMV!6i9?KBN&zYYi&&L9dej}h}# zq2%n6cmehD0Y&jWuiXw1HY#z=BH`K=3}1 zU8DOTah(NRFr5QBdTnH(c`#{xJstXL{;&k+@0fjSEPrrrAg?Ju29|76;w@`3@kO8u zs~Fn>GW{2bl&%dd56oo+CE+OCxC?)k-^ZYh`RvXrNnA0_7cI8+qfka9>u3z(7Qcw+ zOr&xI6D;+(GTQ@4&g9_fv_f`0PKV!I8I*^ zRVBs;uFk*(N7V4ETq`)1MnibDh#B2TRBH2BokIfp zyq*dlhDX6HJ^}O^hRH44EO34w4V!n>6NAzoVl-A4HoO_dZ{OJ|c-elwCaFx3%)dB; znN1OcH4ontZLva-8gD}XeHJ|9M^U9utLZh#iLmaiIu2(9J`IPyWE4{bE%w91Gr&em8Ay?!^Mq_O1vi4>P56PRmGx- z&p_O1giRh!B%j8cLsIfJ^5Dn6ua@v#Oj=dNjt8XH86+CvjO@v`ignnzR$Ja(- zXcgg3K2Au6hDALj4V>`Rs!K3x)(1%1cF#J@!4{?(Xw%W-nxUk9ItI@hkNaE}fwo;Q z^d8Q^q}^8Bu^E?PO365MebWfrXI>$D?n(>ph(}||Vm0{u6o+k(v!exUI( z4W=y!=s)e~?%% z3hA9o1)rBTvfm0#=*g?|nQiCrt8NSPx4%k`S1q9$)4#x>uex-x-YWPp{UlkKx*Yq{ z&O@M4Ij&aFfRi@U(VSlad#q)tSExMotZs!_@x@TTd}DzG+zBJ4J~!)1kzFn)3g zd$)8g6pU5E!t+{8dR8*TT`mA6m*)ci1W9<^d!1`{m%u4gGBDNUBs%JNqx1W_)-II@ z(QDq4gOUIXyer6;AT4k^6Hbhm7J=D*RZv`zEg0Bt!!69bg>Tnr(Obz1blWj|I6A0W z^VdWOL|%5(Oy3+2*PH?&d1^Y??X@T0U#H;2_IMUheuBBG2+^~pJDBCs`#9_TA3Szb znJ;;=0Yb`j=(5dGBsAkZirgPUo$agGk8m|mZ>WR`4`x89#CTk|w*akk4DtTsJ>cnN zN_*2xAY17Vtdog_iNBVT2Qw?kOPjyUzATfA{j~~H%lh!3&pLAG)?QM*`UBjP@uUwM z#Hp*^IC?}&jhgQ($LL^o97*Jx4wYQ**l4-#5`qTJ0$SlmM5HAOf(q18V^F| zzoCBK0BG!ZfLcY_7;`C$Y#kL(_V&x-wu~%rS&>4z4qMUUG3#mlfh!QAc>%6RsnXrL zwXnDF0^Iz(kd@iW!-R@^#C_LPrd4kO1)6)oYH&W)I;2S@ANo+=oekhE7Xw8*_mcJU zFNoK&*F+&+pKZ;qhv)${>h37T3@hE>W1uiyDJn|2d)I(ZuOyLHXPNNJHdZ$^Sdb;O zn%&HbW+@r@#5sQksEyqW*klaiBB^*^To01-EUEJoW!AT@$9l{vT^OTzmQ+r0hgsw; z>06~t7ybGKa_?;DZ$EX~7%-X|4RH_!{p{^Kd1AFd52)4~$Q_#k|MeO`?j~nywmq0i zoDZQk`}R`FF{j~Hq9lz=^+5Ysy_nQOkSMwNBLx_lz) zuL<>yQaGZx3C{f(2iND=z;zXMk~wP;$+d_C0~;0Cl}(6qf*HKKngsH{n_ytN8n;43 z40C*uok`pUHEZ`mPSziRX7V&xZ!`r0>JF1@oG*&6y@?q&F5&KCC0@H~2YSrDMV?N( z3|jaBpV~hnEl&N!XM_XAYnPelx>uaW(=qI8ixThNajk~$oJ!xC$I*^gZv<+0XW$x- z5>Bk)9+C5!FDUj;1FOzwU}jT_W8*b=*Bwbv+wzbJJ{*I5$%AaF-$hVPj$(@GEo7fr z6ihMYz$5Aw*ZiaiLTc6M*zrbmckWx*srrU(#kH&^)`O)E_G7z@Hj0gEAs2ct6U%$D zG~`hNRWrIm*N)DmU2_)EE3lgSU9_aWGE33NQjVW`;u{w1xkw`K8$jepFpa7Wq^~5? z>8>4nXo-a!Z7FxAGA~qUO@j{_+W+$j1$E3`+i3m4T@ix~-hfGiD=ex?gGm8T!9%>A zRZi(-0U=SacCZf3Psy>7BX!u-B?T*1Jcs8w6CvE#2lwgLF_qhIiMIA=UeDweIv%^n z%#Sv}-Ere+LDDlKy-0&wcYtGBuM64j_vO$Ydk}@!UB$6~HsRFcRge%H3_G8`1Qmy6 z@F;T%^u4(cE5#PUd|sG_{Fb8UzF&nqIumFK?xjI0^XPwzTOj_-LU6Z}1(k0`$qSr4%+_EQj+WUc_nbZ{pZm3%|;4 z8)69p+)sYMzcu^(lE*IEQ|Hp#@A1q2;8&f z#5{5pOjvdh9Obq!v)hMZOxi={v9K5qf38IKL6jf0Xc~Wb63@HZWe) zgQhR5(Wv<#4)#j$PxqdM(ax*Uqq+w-w1@E5n*t$W<^jms6$RBREx|r|kQCgOdw-yf@m4Swe!QdgV*-l)Ro|9y!vb9sSFybNlcu*Wa|ogu@nS*%*?FEn?H z(I&{i)&xiTtnLSTO?Bo^bBj^;nk?BT<_*d+uUPDlWbXX&K~gN`j6dX*cy6aTp1kh> zQRDyO?(d3xvtb&SZn79gE{1c@BGmyO?BD@&#ZZ=xKb>GN7oqWJf*qhGWf8P@I74o>QQ}0@pHG@W@xC2AwzHj_PFa{+tLtYkZ;1K;hq~rkG6_~6}ArqGe)1oc? z6C1n!aADK3*npc1KRZ~MWi)>#%}%2*92&Wbg{>(2axPpAEWlCgg_-`i!x+9A_%)46 ze3_dM)Na@cdQP{=f^$j?e%)r<+D(}Fl&7#;TpHYi#`2Fm-r->04ff~RM=bGaC;L)l zp}gUfU{qZW7N}jqX|EQtWgiI<5`VupkT>2 zT}<6-&P%a(BrN1Ktj-Xi#{Mq&PiG&brQHQlH(^*Wtc?#Rb_s->Y{}K*57^DJRj4mD zNM5_|A_jGZr1!Zu_P9FJQF(C!)#w;OcG(Z6y4ivx9oWLHtb5K4x}-q+qy=bY_nhrk zuq1gp&so}uW(c~iOBFk#;7^|fHkZvHCy)Q&cAI3dEw_=KmR*PeE}>lO8~{H+z`q-e z?Q~E+&IA#b@(LFP0Ug8}HlCFSh zUzXvq#T;s@`7`Zc5fam2%6<%OXNKAc@v}QXVaSXMyO`2R+Lz(jl_!{nFNprFL>RZl z4DM)-LZ7nhWNbsaAkOs~nX7b)Deo}HG1F#%i=Y@Sw6sxT?_~HO$>4439ei(8h%TAx zcyx)Wb+}43k=P@_`>7v+H~R)K&@72Lx+Ou+YKqb1%FIo*iLA5eF@?`O8 zu4QEhrkCHsD{DrxjZZg$aKJ|Rm?+1KJ-vjk!cKVc`bW%b&c?Pi-?&fPbCF(3KsGN1 z1@_)#)UYWQsQ8o5V*YsJvk33>)fJCtG1h&(kl3c3#)e0qnWDTsi!7YLrB+7aB>hMX z*VW|rk4q5@CSQa-Emh$7?J}$i7!6}d1jZlX+0NcegL z^@d$)gxt=4#vE*WA$xf#+$s1-?p^r{)nQ9upGPL#`uLBtCO;&n z(=&PMms}#5So!c%S-?Fx@8bQCLEhJ>$5k2k(;L z9v!?JUPJW0nwI@psJ&yJ)9 zz;tLMWs*lAwwZ(Zjt-0prExEIzGgCyzOcWsyI8!_b$0d0H}2rmEYR^1hIO*#a3OgX z4yRrM4LihdgFfI_?!n};-J#xi6FxJUDLAQg8K$r5BJXcS<1D`^I48&rFS-=rYQId> z*l>ltUVEBE-=BifmU)7+ch}seb>BJI>5sTQ&KZd_?j8F_~*z*q8os5Ob{^MAi z>y4Agj}S4#0XTNq1N>Gj1O3OR!ApTb(~ER+AwCQbMJ-|jpMG-dZqCN9q#8F@*Act! zk09AAMfQ)V)8DCEsosn2bn|Zy`q$A965%ruozFqZk2yH*fDnKBoe;E&W|Nnz1u(6U z(BO_r`q(C)ZWQ@RtXc~Iv+|+wQ$76m*^3{jkmpS|-XvpX0!XiAHkfWBv|A*GUYaFE zhXM!D|I-}&ajKN{Mdf4A_s#s46LNfjZ8S47(!g9fPt<}(+yldd=;bekbooL4M3@(E z-1?5S``h7(8x{C%oCmfXuVDd&HP~-|0*5@V;GF>(UUl;d{`tsXJQVX0GY{XuYR#Ga zTv>A*cX^1!4s?)T<_d7j`!IYpdrEqw2%YkLD_wsm4CXDDL~;93pf=YVQ}xAByxWX> zm~xE`pLT)aqVpuzdqgn*_EM;LxtUW8mw1)ymH15Thjt zeQzSW_LaiQp{bPfsDiEQ|2fED1nnz~rPagcG+wKk4jJA6>3CWC{?Zd9B6fJ*ejFq( zdj?y}eW|8c4$V7RO4}NJX?xfy;AX2)rHkX}mdavyef2L2B3sdP@I9xB=b$2T0+qTN zM30}FMdcn*nsiE-{+jt04j6@V7rrgyZ3+(YvHlEyP6@zU_aw0Gu_(kG-%f(g-@&Ky z^|*1_J>;`*GUrhu{KN3`Sh`Dz_XyaGv5sGHskjCor0LCf6|UhsJ(uuBF^0UOD&_OF z2JvXkOZ=1Af;WmTGQQ$0QU2i}7@4#O`@QF|4lP?^{lOR(ufGq~mEriubumm>7YEZ9 zYGJuSJ5w9+g}G*PNP%}8?9JXnb{z}^__K!`KN1Zgaj)6g#8$H5*8%AHDoKsP*bMLO zB6!nM8g5%&B}1}nnRS#FYMnbloL+ljP5T+x8!C&BHy)(U>s4tEdqh@bXbJu(eTKW{ zo4{ebd5vU-KX>n5HcU!!BhRX`**ht*|R(>9NE1UcemHX6P-%;7olY@9B?6}k5lk>4B4 zNf@}Hr^LVensXcY!LQuooANNyS2uDt?)6$!`>Tiycy3sJYMu zj-3*NU0aUVY_8EDPCeG}B6BmP55B@@pHo|glAg=R#@o+9 znk}Y*n;XE-?+>Rmm;_p?3UvERH&B|J1e53%IP>8ZJYTyI=4@LJJDpB}p;#}>|NI{~ z!k0c@Pt6Vp=<;K{*>FnfJ1+=yF9BYT%n5o04d z$ON>%XDrx%zDh^ljJt&2g

_#>*lE&}~ZtWmf=0?N-6lY-XER8dQVpB*%dD*b4{rHdQTt|g3feKeVs+wcmM zyAKPNJe-AI0YT(tffCU&{f)=_j-d6i_moQ;pdXIj#L|vakiJ0YpVr2+OwSf5I++MA z52Z=T!C<_3NQ%$8`{CdD+vvFe6hd?~ZZ(bv2fuA>f(r-l{Y!|u$TRA3#{#bO+hPA0 z3BKd;8h-e|LY{OT$0eon;6%hU*c#AB?v8fDd-oL1_KheSR$sD9RQM)HQvb`WRJx3> ztoPv}vnTX!UM8sdw35aT8hGdGPLd=zfVV$a(e^_-K)NjntWV9xbvdVL<0ms>)O3t` zys5|d5f{wu`GqEHdP)4-V>oA)D2j^~f{@KSl9qJ^cE4Va)3QF0#M!%{WUMj>-HU<2 zfN%7H|81(f=>jTGtfkr|$`CAnm1>)W;ctiKWSwXMja_;hO5NpH`TcJ}s>+rO1_{A` zQ(~CslCjWe5e+@H*X;_&dBGC(3GB=(hODtn7Pzl92H7z=nBZ)TFPw(4`-KQLg-(P$ zt9QWKAsOQSt(S~%?}G=|SctXLfzKO$QfUWQJey^W=BHBe;iVPKmj4*~>&<)+PDzF> z#gtIxY}!@+p0>&!wE3d_kuKa?1&boKkWX57A>-~R&^s~=+fpSUKhF)|#v1x~!F`Td zFb0!Dm|8K>d)wt3K_WLb0Zzdml| zhf6pWqVUdn9aw6-j(C3dVe*au#sy(?iKQ8d$cri~Cy@3pP)k;N|>uIR7UNESDUjS`CQ0 z)7z=l?&Y8{IvIBPPa|RXGnu5t6CpTcHoa7%4ujuj;Dnpsxv^>=?WReG5J>n5^&Y8= z_+C|N{tU^_CJ8Vr$|t)np9jB}SD@YL5?tEw4AQOUfccUNn)u)`4W6M5!6oI4;tB)e z{oi}~;^Qv}+G)g|Q#cPk8&p_}vObuqp9s5~Us01O{?Oks2?k655akR}VrjsDp}ahs zvV0+^Ub_SsIG1Yv5ocv*wZZ4jVW5%~Lc{KslD`F0NQPP`S#q!otgOD16rraerZ@-U zO(S6DFP_xB(tz>%cEAIxOg!3Cs*TNslvkqUCg=sdNaD2E|Wo0%8d z!Z0-apWXg%A>bZ;9#Z1!8Cx|aB3)lV_GSlyjDZ@gntp?sXNp8J^(&dxY7d^_1pEG~ zpvdxN|1{q~yr;|2x~tu`&42 zJKh&$pJdaY=4E7m#c_OPWemq^CX@f~e^w|wiO!*jg$7pq_X~!&^ky#IF#RR574xM! zuYK`O0$_MY9dsVJMo-)o=LbrxX|&n^**K>d3g{QQ_^%Y?{8vZ@mr_nmYA4Ox> z<X7{nmb_YI7QXOjg7^k5HU(>;Py#fci%sAB3aO!7}bXZ2g~QeeW0tV|-G zmej$mOc_l1^Bk%*x0AY-0@PCt#I=Jm_-I`XuJ+)tI`The!iFCh_#_2)9bwt+>?~*> z+y%P^w*m8Pi1g3Sp{cP3XqVZ8ujLQnUaNE1v~3JO&3GJSkguG?wFi_G=A-JuSg=gg zfq^zkr;Z-QRn!dQqK9xyt{m@jPlXo`@<*N7a=iWQH^@d+;f@v^*qe6~%9P&G_wu1Q z{*?vJ%*?>+MT*$*b^`Bf$?!Ha-{JlBX~fAh5$0w5rYl~m;gWg@5@k4_`t_EQoZC=qi%Cc`nUdMK>0!*A!M z@p$b?h&K_ykBxb-rsfsI4W&YAz6M{T7D9I@2H=uch=Fl-eA}=aE`OH{<7R8amb2Or z_4pG!>3R;SUoLW+Mq@Evsq`OnRb!8$J>~>{z;B(4@X`bo$Ztv|v8pq{xF-@O@Q-2J z-C#HmTrX11{roy zojNVq*93_s$JwpjZ@}g8G}f`Roa{9I0!{4>|GZqBJ?SxqHN1M6%s%rO;%cU|xeXFD zLSKYFQ_*Kzu2{0#J>5hQe+5?0T?OZkxj>4hAsp87h0Ar}V93mZlaJhqj)f9j?F%PD z#X4{+#)1#EN;C6X-{ zVZ&`5lKEtS+#A~rZq0|G%sUPa%d8|(_Zj%`&y&-eY``q=2f1{Yr)~Y6baQ?+d3X6I zc|Pz4E-EUqM#os#5wi%C&rV=JO}Gk<(T|B~@oQ4WNHgsqf>%8=m^BMqz{FpjJ>Odj zi>3v_%_sFV<$NZbJ$sKEI=>vUPKhEjb`_p+mIR@L-H# zf}38$>EU=mneALim8+rUkAQnx4>_#6HOQl!Ss$|_;uq9l*Cae9k&=AZdszn z5ly^SGKSIVpMs*VY(elV86J(gaD5kcz=;DD@M=sk+#$z^!FF+8{nK;|GjTxwr!T4W zqC~p#;S}oDCdBQR1$Z(k2<+d>qNckXJn7KppXVE4aNQMbFFA_(VJh%8Gn+iz8%Sc4 z+i~Ug{hWIAR%$A>hrYhSRP(# zmXNaU9K64Di1?ZDu*xn5uH6WOi|VgwWqBR_#bncdwRx!hD3*L}lHjdgkKX#2e<&oRAH{Vu`8~B%({{BIv<*g`t!r}^CzmiS9sXv1QLsej7_zYA$*8)cGBW{tJ z#BxO<-u_X5XD-R|A6+K%Kl_g2rqws8`Jv5R{mcz^UmrhY#{SFpsjL0L>3|3pUATbu zOg=WmTk_$-GW>zePgond9*YiF!8~e@r#)8yFwP*oC4lCh664*kM&dkQ0bcxa12cEX z^I@Mh(KnO!LR)wXtY?fNSac2X4_AP)`1N+Ri*0y?=f7~v7F}N7E1sXZZ3w&G&&Ap2 zE#OVO5EzPoMvdCpI77RVxVR*ut(F;IToKOu+)3w|vWIv~PK!FWinFHTd%^g@B(PN3 zMNe(N$cSejqM;E;jawJt4~KF5{JrwL)(lZzyD|-CN{X|$W=?0f+2w=o8w*&faRxn? zPO>8@TbYlYlley*?D@4CiM$%w$&dbN!hWGD=vf;JZuVMmSTvK?>Ne1=vbm6Z?*VB3 z_(GBtk70DEJ5H4>p-yrZz>Y|>3mp|fWN#B;FU6tl*M-zdJOv7bY(cDLI^4BnXkkV* zW9lf)dP^9yDOZHqs8znOFfs-v8gxKgYb@bA4v@iyXyQ>}jRWE`aHH-oNe}x*mS~4Dgs^PU(X6%0!#~?kwOH|Er!sm@(^_|0Bi?5NKztCf*Kdnq}RKE7dZ+-ueU&(!#eoccXR7pdXfX;3?7E9`#O zL%kQe*fm={hhx7_z{>*+c&sZ1J$wN%ZXbxf+z{s8=%+z(H;A0ID#@BB36?jTL2=19 z;;sCWypFv?H806v$XrT1?^Y0{tqCypMJu^b-C{Q!@POI=AsZS7J0UYV%I5L<$$a?{ zXMRw9GQ3u~PJ_>ykY#sT$V|mGU~ns+JbCItZ~lG{rXC{fE$ta-!L?zB`8Zy|`!dt) z9Ef9IHBrd{chc_UOv*APKqb(C+={yl?L${UN3$33(l&T&;7jjlim-`3%HSbifKLL& zplW&xb1HEaNOpOH=z&JEDmeslD!!A#Y(ID%*bUxiP6#xYUm)^PO=u$-O>H;5B;@r0 z`0Y4>T8w){`nyEgPm3QC9q|IxndU>|^lU(N!YJaWhm#)!!@GCg^zr@&^t6>O)OQb% zc)tNbR^&^@?(HYRk0vENw24KpHR(*=gD%ECx0oAP`GR#m_;aR;gA78}^~q@Da|Z^Pe0 z@u)D(57ub^;A9T&M+J-1C>)qZe~K32{FOSCnBPN(2gX=7^)y(gDzK}aV`%CfkDWe0VY`l(NUEFV2xm2ma;JkOmA`UMKq3n?WN*4uVCr$kEaS zd}mmMxz@ha=Z+V7cKQZ4c&Hx3ymk?rw-xwUd^$YXJ|8y5X24!^T{}hGNS}PMz}2f< ziDkfQSh-IdoDAjp9jeOQgye9}N+}Fv#wpM*%w>`}&Jz-5PsiB>X(-w#%2^!Ysix!r zyfux$1q~AXi>cSptC->f_k3ok;ykQhYy{`F9!K$p5jw<0V~fcd^0Iv*jO*i|%RdgS z_iw?5azE6|pUh7+Jq=UL{AvC646;qOnpozIrC(Oegc6Yw7_MK!ey-;TJ?RUi*8mr! z%JRh{_vpkUDR8B#m#j7{rv(!V>C50;GJ0V@4G|uo>^o6Bs#k~y?&V-%&VDdAcoh1YutN8oTEY7?gh6fNj4G zIkfshJuhkUKR*XkOW97Ib zS7@uqV)X9Xk8$H8kSw0e8x(qD`L78Wv*s+R^BN*CyRMO+MdHYgs_>(gAJ9H>68|+L zg^I6Q&d(pWl~)QjXOi#tj=zoSxV!o1*3 zHGT7Vh&ZFCWSRb(Jyjcl#PF4Os|g85{6gwiaZBjbY7Jl@k36WoUE7k*|OC8ebo5 z#-2)Lm}jWZz7!^0hH)Xr4aMQz{ngycg))#-9tDx*d+_9-D8FrDIsTQ;vs3((Kpdua z!iO3|6k$bhuB(8Y>U+ursr+MXA8!=oyg_kp7tWb-3ghSJH6@&u;w2_Hi%o& zU11Z@+3Ru_f#|g zpP$%rBOB(>@-ZoNAg>=wO)F9Qp&X7BwBX?eRuHvhHtha>kA4Y`#wxQ=>MfcLbuv+4 zRf15q;68lsna|SJPjJ>2m@RQ7#M?s$q!R=2T6zd(4f5nfof5q;;i^l z1y*P1w%xcJ(owyiGiE-dZVJB%8SpXHvcYus7f{8l!s2e#;YTrzuc?1&qYdpVpk~uH3;1WJ7PlQUjeo}q>-@iM(0ycK9Acx1V0J){>@zjo0eD6IW zUKak%QahRVxS2y6lcvD-(W3;0l3<5MI=8KGFFAMa5Gh{01V6lfjt-*z$i7ja=}O(? zTahj28ugbvZk7OFe|3ykET-ZmLlkcam^$xN8Zf~Yu5?^x9-qh~$saCK(efM|P%A|3 zwg?RRFBK&tO(1G6UMt%I(3c}pT)w|O&8R*R=w|Mlu050hcW4Kdi&uLm6l zt0Df~ziPSS1`U0C4L6byF0z-WR|X_#z^x=~J5`Mp7tiA8g3E9{;TB2POor_a#&F@G z627(@LXYupQEqMyo_}`*|4LfY=Zbp#(RtJ8;qX&%T*i|5rQ}D9y?d#!fj$4DMx5Wf z@BvQVFdlnmUB&(O;xI2=1z-L1@x;M!*xBr9Vk!y0}}g%5lj zJa2S_B}S)Ve0w{L1nma-Q`rzy-%d&go1o}T6_>vw60VOCW)~?HlCiTUgRHqMc`^AZ z6m7W;uiK6O-$9|kS@hpCpZ3oG^Q|R|`5$-+JL;}^;!ItC`L^l2e zcuS2(+mG=W8+w8Gn;Juor6K(mH$snJFvIUD>9pKDfRQ?K76u!}<7usVK))FfIhP7z zxh53Cru=|$d3jKDP7SP!>&dahvLt$aI`LVS1qDHS$k3JN^s(&(8gV_0bEaXI!HMWhVxF@NW}LQ%Nr&9w%m)Ev zmsLQym^tipIS0PRK4kLXZM+eghj%ImX-ujF|FT$z@BO5LYZF;;-FUTT+kbVG-q{9j zIw#2IMR&2qa~&Vj(u7hiLm*qX4Qi6MGlD2b>Xg>jJ)D=5e(8 zHlL7P^K}K5aGFcPpx);=wcmtyRT;|{_>DoKj96H- zN|KemE6pm-90Aq&;~;3Hn=$wh$}QG(<}EtPa9(E(N`)PzCb{b&>bDD|?NDYOqv{)?Zwk7<7rS?2!zO|!sH#|Shv#wdYxCodhz>YxQrt?2Q#1}vlpCx zEM#3&gxPE9mw^6lhnUH(V5pk{?HP73p}rD`^lXU!#~LnEo!~)qCp1NJ(DqJ<{gU(r zG+(Q-6EKu4U_OvUGC*eMFM{{Ib>zLRDArO%JoaNgnk8A_DbaN>QC0$`>Xp&pSPg8z zC-m7nJFx9)hK+wG61S;2)K&K`PIQpL*xzT-_lz_zKV}#II3^48qwdm~xkacjPZLaD zAA;kP(Sp=O23t|4R zZx~OEcuz+ozDe93O(rjcD?y$#?}Rj2?_tLL2wX_W6H(Ap8^<1aaDfbm^HelYlHL!t zX3X$0^IywSuD|dUwsl3ZV7DfjkwQz@&r6@zxd*b~MMF zRjI2c-F;`^YTXG=)4LkR$>%|T*B%l^gHbXd5yPS{kay$G3Ewp-8I6}u1&LXj7 zlk5OTK)Anx^_I}_X1j4?=NNM3^=_QmAS0+z%Z6K?da!9yJn7I91s(f4f>Yx{K*DFel=Tvr8+y*vpcoF;P@ju@vpG#L&y@K;|9O1EEAp7OJ zHXDC$Jez#bl`Z8XL8&qloHSF}Hz(Gx%kr$@tJf{??p+G5fnG!}{wd7)&jAkZ{6oB7 zc(T6F4zMdCi_j;3fb+a4%GxV`XT+N;LFq#Xm2_T@W7X?1z9<05#4KF%(F@|`e?y1r z6Wrj`itn67*jGJqusJW1T$=e7D=aVK_^3yCWKJ)<;9DWAhsUxEF zY|EcN0zXSrTDYt#&5rvHNoir}2n)&g!kcqzK zkM_#O3N1LGb_!*e|OBarR$;I}M z|GKQy3jW=lo0#@40*7>U=$q4d*qLL9_ec8}_XrzQNc)d#yB_9?63`0ESjHndA85r@?)i9lUsb zgYGPCB$NAJlL}X5Y+X4jNWVMG~!nE11KN&bYDHqaeZ$PxKCkZ%HLpBZP zV1M>~nA^XI-D4ibhPubFiT9k@?#V@9JOZ%Ppb+}A#M!pI1@OsN36gi80u7A~5VF&g zwUE|eyWWpyzgFJ^+TREkg*a(+1Wj=PS2t-^d?%m`^YlR`rdZ-7Z?0%v?XsDkAfSg=lmDiq7G?zf%U5ZPgs`cQmlBhDHt!;931LhZ#1)F<{NF8LcwRgd&ji_#VF)o~+~H0i>D4YinE z6^x>B4`?~f!myK8AZqf0$h--o%I$eH;`mce{w7Cn9*hS%SCQSOszH) z(2KHFnAzF*bREJ;)m&nQ*d^n(0RpPWcft zZ_{irH;Kk^ZziL}2M(sm4nxv`GB~(l4%lhDfh#`oF#X7VRP0Z|otzlTo>Yde>$B*B zt@1!y4d81;CB(VfvdQ}E@y&um{KpyR@l1jOu)8H-j)OWmZevL-f^^W$-<&${6F~e> zF>ZBp!2?krk&&|IZ{3N-NhuT96BANMozoj4wQez!9;Hm5_jiDf?*>LB*Z}w|cd&1p z8%~ssVA@2*$j$$+yZHQ&_?1lIvg);A+s9ydR$0shJQro--W%i9e~h%s{-mv7WePd8 z+L0dIra*EI#o(nKOR=y~5{QQx*w&e2s_hQgxn2%!tNhWUPZj*`-G%rJXR4#sk4s|4 z@e2p5sQYLccllT;6*mzAjXEJZZOsFE;pt~`>q8E>;dnTFQiXjvwTzixc91Gv)&#qn zG2ncxgdAHC40bQ&U|1;vjG{%+(~P+iERq1z^}9g3J_RgJOTpCoPV#1vBXeR+Km50_ z4J4hSahD(&Z;u4v=d}q`Fxm;NLc^2^oXk-vAKEPD&-K@45xca{%%53%!R1{7uC<#4 zGM5#JzNk1z1_nW9yj3^Bx zqJ+vQBZ{^}18FO1C<=+z>s-%_yra^x8dOpeEh7@*>+}5+&h4DX;)_*^Ub7QtWl_!*oyi6tv4% z!2*u}I1*gW{poZPXC-P>+*S6%y*VnlWd9x5`MV!=o*Uuy{5k0FPpRqEa1_(d279FyP^zp9syfp2L2Mh@ z8#O?4+S7=RS_TOAlu`We2DFz&!cmsNU4F(eTi`sLu+o4=#e1}0F$}Z3X4A39eDG&s zHFpxMi0cn!=vruke|lWm;^qroPjRP}TK{M}tdx;NHw z)&F}*m|=Z1j9!3GPCg?pDShy3ZY&c%n9NvP7%){&AH%|rig4nV0(Qn9$ISW(?5((q zC%)+8pJ6#N`Qb9$JL3r-P8$Q;?gS?^`Qgw!XY;zJyC8+P4#=Oou=*}P%rkjKlC4Z& z^!f&f-~82LEVhLVY|H`oPe;KeD4*=n$|dug-MPY!UT`ybfDXN3;Y*k|5nonBj#@t^ z-ck}U-d~BY#3?EoD8h=?DiXc67z6&i!~88Vn7A+xC;sfD;5^9PqL1906`~xT*a@ue z|BZsq>mXzB8t0)y4mvt2upf0k!y`P?=Y!fPN?`w*I+$5OR7uW{z~O(>;40|OTw zmjA8$L&-6u9F*>^0;T=Qvm)ft-d zCIcSWB7{(!F2GQI!NTqLb2_5Ha2^`$IGiL zvDEqsT^ziR78>s4zKY}L>|JCD?>BdnjZSyq;d_06cSG>`LpWFLNeeeWs0FJd(=qTN z4^d1zg;6I2X|A9%+P|&F9=j%z(&NaQTApTQeoM38KU|@<#$v2NsUa-0RcBH^W@GVl z5pchM4u7xdMRV&&vUj}|yX?dn)|gX{UPle+z4#oeE!qs`HcCvO+&-K!`GOqy^bn0^ zyu@+)lUUBlqcWDA_-p(Kv9jw1v-~J1^OtAZw^c)@z(PD%vx{@?TRXn(bc3xQhT-Xq z5~laS3`XUB4K$804B4`rWG@ba=!#XalsADUntjHi*GVWo^$}wC*)T= z0{5OTFY|WH8Ww+5#9cSlnaR!W==Itdm*-@Xg#A)X$-U!@*h53ckIW>u?mB`0a~lZW z9}lzEC(%zc%gOMJUo_Q!A#Sx?4KpTPn4_l8;aXMzQ&Gx=b!GRVS=Ipcp4j5v;DvZm zG8EsbbP~xe)>!*O7cWWeU>rI;8D^{<)@Ch*F`gFOX!QUeF^@T`cP#>;b62SR-^;{o z!8%g=c!2ZU^ephF=`xRgZU81?nEq_9L4k_5s4^zYmWP{Qwz4OV@afTE(~Bf`^F1=j zSI^C9C;|QPe)Ft`S?mMi!1n!pi9PG4xYGMfapIykees4td!4nkJ!p(}ujoYK)6rm% zQ$<9_Z_v-~{N&c(AoA$X|`*T)!~(v9C7 zRzkt1d9=9fvPG1QAe(wn85hs_jK{JB+5L*!phEf<)Okds^x}2w+3N@KgrytXbwY&w zq`wfHGj5{S#$*Vi0r)}N4O4njxr=QrVENZ4II~-b&HpUQ#zsZ4J+dyW8hH-EeOJKu z5)Y1E%Hg)9r{joAI#;qy3;(N@WSh5JBcHks*10aEVH=b1R|_GHCkN;>$yhWC)aHK4 z4#EGXsgQkQk@Wna5%`r9b2^{&LP;DYLo0RRNYQB!f26{?@n++D?{yqeiBX*XR19O^ z)^a(w&wzHb52PHHWn6bZf%xg3q*w>Dsdi4L#u_;RpF|?&)1-xm>4sB z%8>Ex2#4)L{_xt(4;-TM$S!R@RF_hRy1Rl{G|dPqn%!u}R2b3J{5Pwo^DsK+SAl9q zJbYSS2J_EHRn1(r6D}&d<4xJk_)|5P@V%}kS0=mgzg-U@r>PF~u0@im*LHAeX%)us zwUOk7lzT&ADSqy2BJz`_$X{W`=?qE1gYQzfT2F4{k+n9sf6q&cBQ%p}%c+7*RtSE0 z?~5y9&d}WZ8F--gA?{gZiYq%EaKprP%x*nPABU_*-yavSOF|iG*(vOb*oceW`>3h; zX_`OiWZ|PU4PLZ!spNbWEajPl4+^r;POFiQ{k8$U=h8&|eK+9|kEh4BF_=5mS?XaB`1`LVbA>BsFf5 zG~Wnk!@qCGuQ_``XJ9=@nCRp9(p|Lm)f6ojO2Jo|4q$W1nw)gv!{_zRILkC2pZQnO zAiqH}s_~C^Q)WT)LkAQzdqXB|iZOrV1eMQG0V}~faLYlP{Wa?a=AKeR?W=-#*e?M( zx0aFqr|WQ2%w-IStfyhS-q8(3qNHGD1%z%(!NG)u_}9IM6h6F#^XNU||1JVEThj4G z@fDnt#$fWRwN&$T0qKu4CjS52|2V%RUTIneTEBhKUM_~H?-IhpD=p9@oZ(#f9M6fX zzr*p;z6V*;%c1qXEo?lw5IoCxSas8tsIjCFOCPMowZcp3yWT~xKeZRmS-yn+wwG|h zzXRUgxl9jwb&~702WZmMZ|FSp3P#V{36%kb(z5|{6>CTyy`0LNy} zWu5N7M29#lT<#gb<`gzlzdtGDt$7^e>UhKKN&r`lL}H$tgt_(8X;#n)R%EU@`zKEm zw?6gd-q>G3HGLI?tg#$$H;v+!nTEMC^JI_xh3i}HfoBLH(!T!Vdb#i?kBnbWEw>Olq1L4 z!m6P~lQ8GYZ4wop2aLL|4GpP#1)6ep(>ceGcM}DWjSBCvIqtCJ1kMM3ao;aNA;os)G0woO|>b(n%rG|6Bv4 z!p=dTX$H8?PzBHECshTd^U<)zAM^GIvnzr%*t@sn*uM|&;HX9)%{@7Rmk;OCgH(gz zjrXBG5Dj5Xs;uG%EtYr~qVUc)&>SVoj(=8TM{cZP-DHnq!Lb$i(;*3_o7r#+WFJvE zNpto9=weS$9-QDEho&GAa^)W*`e^F0_Vd*7cV<40yU&IDM{lA~ycoME=^1*?D#z@( zGg=KBV_vMaQr!R+#}m_AHSwzD2#W zfRE&@SsSeZ{2=}c|LTaa+o#D;tyd9LSnd}ciW;NU0|jJycoF0Y z8R5N{2~KR^R#dAvM|3`#;;xGY^nI-1hK$?#qe+?oq)$=<;!;Ib|j|_F_9x68=h8_!y&B zT^hDsThGeohT&9^5^9~_Ov1fFz-LJbSUj=<$4)CSs!pX75>2E|R2C{*TX2PkIvZhr z0S}~()95Zw;vRVeR;F(Uqg6tnkX!~@=hVPz!^cYXDFNgNT*utGFOmOjFQ%{AO5Y#! zMw=_nsNM7c=EF@`DjbnhXVx7kpsxA`(U$jmd2h{Pm{OX%v=s+F`*zlI@`}vGGw^M2v zvk&Lxt8rZ3>!Q_*Uz}x{b7&l~&6%^}L;P8A=Cagr8 z`S8F0hyWXU=y5faoW23ZD~iBwe<-j`dQdnxi`bff$F68QcEf^AtZcm=H=l1iGuU_o z;vWn{aE%xQ#{@&7!vk_n(-H3f*??>2OJeneAW8)7K-0K-Y<+o!$$b6`YId!p(#yWX z?K!((iTyOl-?0Z?w9Ta-SDnQqy9l^t(MTkY)MIUtB`E*c#_U_;N-~ceg-^pn@NjqQ zzgfrwZHteXRV5`-UNVQbL{m6+V-BS18GNh3o;LxW{mHYXtZfw!!xveWvQG zE_02aVINBuu)#uFtabKsY_vZGMQ`2^>Cj~y$&o~;Z@C5EzXmeqLz+youq}kjo3NqA z-fT;1CU!{ivKKe;u@7C+IoA(J!M4sx;N8c^(AQ@mPD~oUPt%0UxfL+HZU+1E>^2rP z+Azi^ffG3^p8NUW1z2{W3FwD%C|ddpj^^dS+^u(sQ}kXOYhHtQ+~Oc)MI?A_HU+)J z`P_S>>7*sKhrEgwM{1lyw`ZQf$NEp`%CJ+k?WHE?p}+|JDi;l!L>yf9U*&E|xX;x& zArA_{>C`@97m>2rPK9-qV8Mf8I$)5Dc?SqdJtKw7`Ugm=zc`5L3X{v*v+47`ja5P| z#-MKI2M>=~b8?L?g3;sS@Ow=Q^h=1r-L_~N&ursFbUKieT>*6Av0LOo;90mH*+r`I z3{ZDNB?yl5pz(|!W*Ry_V1I-t*H565yY>h_6^ra7ipNd3%A3SMczX*OUZf4KQ(Sl$ z8csI8&gOi5F+eJP7jR22h@qyGHyGXjRQ0L+I$iB^i{r4(0LsFiL7&oDNUu!=T&H7bP6qj|9HG(WTZmkd-~TSpBtd@wEbB^g!sgXjir9FR$+YQ@{> z^NcLWs@e*XL&XWCKxxxyMk!v1DKNKwBKG!gz_AzHbb@NkF`s^0H zS3e8a;RG%7(j+Or|Im>8zUY%8!3G6x#cB8QxN8jG)9XqLNG+F;(ZPG9)l?3$-8;az z%NRb=7|2PuMfGa#(`io~aPmMIuOaDJcy0jBEkLRi4CnN}HBIx8x%;o=n}}$Z>RUNPT*AJNi=i3gl#u7skht>G?-LFL#Ks!f#V5Z zBUi((p1WlAK|v6xjNv$^ZXtW-NMljeKCZ{;A-euU5%RMe@%MlNrb*3VHYx6cN1YY) z;H)^Xt~2B|l|3i6Ggi>`ZrgEt?=KYJvmBx~RnsNAn~2KNc;Nex2%?(`p+?Xe7JS{z zUAA9{CIy9A9N*)NUOcJvqtzhfy48`w1Bp=hQVU|Y<^kW9Ng|xe2fwEu;2eG`j#ySe z%Rjt9@0AtwPG20yK)?gyo}2>bhAr@*HjAi~tCG60ak6h_1ASrUN8?N#FsXkH=8HuT zkK_;ZfNl$^ezXss@GRiO|5*iZUk;J(-w$Z%3N`$_Hk<1ibCWtM33H@tU(=doVcfog zVup$r?&gifWg%sp1q;5?_ zMR1xCPd}@A!s})Ocrz`X=DpW|rv`^A!_U0qqwWY-sYSfZQ+&zmYi-fjjQJ&=SZF&&umUWEO6 zF#%PxqG>~8G3hY1LRa-ws3)y}vHj0bwXp#|TJOP4#}e7x%RKBAi$HXWk3>lUFRXuJ z1v^7c@Xf|PO!zN+!L=fy0DKgPvW+W zNa}7b&vcD9!4kU!+|k638qIk$hwLPUoRwTNV=v@*9l;H)?dUps3V&Q@7_rcokicIE zmIrM)yDn9sqkK8tZ;?W$_Z_DjxVAWV#DE(1$fNhh^QgJ%9So?oqHxA*3}4zqoK^P}5k%ge&A-ZQ{E!x<89Z^NFaC-L^-M`Y;EWjxk+fm_^mpVN@9ga0*G(1m$E z;5L*<9>iqBZp}h6uY3voh*!WEgROAj;0p-O%ZBVSaVoA=O*(Hy!JO!=uxRWuJPWMi zJS10%ir`GpKjQ;e71om;B`fAmL^R~bY2e8sWqk8$9Ma7Eq10&<#NUK+4lU>bYlE|> zAhnJ1rEUiipIMwV;Y`}y`wqIq7Q*W*l8gwf1l62>^l9V)A1xG!#;q~>zC)4ZzACct zy4nvvXGSuMp0|-7v&^jrqE2Hlrq>3r&Nv%(t{$l4QCDtQ_P} z#6B59U@vs57-J*v1vtq6mt3%uWQ65}n0$jAh@H2P#+HS_!J1k)F}M~jyawpdgGngZ zT=@UH5q`BF0;dB8Ot=ffBwt=;@vWu@+waP9pP62V?i@9`=IanwD(5_S&kKV$8x1(2 zvyZ{OD@EW^*#w5Ci|Eo{9_Vmp6`DMFK#m?cgIWIXC?{MK@;4Sh<)ll5ASk=5hH z_UqBq`^OaCbT7h4V=>G=6o6BIL!q(504iVmg4@NViETCU<00JKJ=!^Ry2g z-(<&eYraqJnZG1F8Wt^^gu$S{JJcyD!~OSSAa~Y^qdU`&7=F*P@O21>_G4vq_UCx= zzE_mVV$+ypkpz&5=40A?YT-(n3kKcyuhRTB!im^F3|jkDQSsdqG9DyJ1o1q4I6@d{ znI4XPMI;=bN`}+nr{Tl`0QvN3MAFX;o_JP6LURwd@|yxC?vKK@>bVT_pp8ttIYB=Z z2{4CW-6f+kcVJEJS$eSRJ%rtS086|sqw9P_)$vn6a*Y$c_GuZd$VJn@~kI{6{pg61V_HMuRl@q6OTu4JRj6lAuV0 zgI1Rra^LhUOp5kl$`WZ-C`+C7_g#+z-UT>#{UbfSwt{;NhKSpaG6+5rfo*>0(5>?t z+&XX`f=t!$#P%0x6VQcfMQge8<{^;T{G6OoyZ}0q=OHj}BM5FeO}`ue<9{9(YS`Ay z`K*=zo+1id?cqTSk?{3!-R&Gan-dCi7bVhO#c=ANzK4DtQX{wcO<=peFLa(IP&VAo z&7P?OwJWSbhpZ=W_ z4?BaK$l-%JxLZ97kH3?_AjdYc>ZLng>^ET9RxkFGjS)Nd4`Dkjr{RU2>X6;a2OmT3 zqtD&r?4@N)!+`Cl*Zxr&vNOucH<{PlD` ztJo*urtGO5Ygi%4|1fHU1w?+}pv(O$s5r8ejbkV)^LHLAu`iHOAvR*SIWZ^;a9x&!Ed}zt9ERbEL4TcL3WDMPPRPK8{GP z6ueYq0*NK9Qc|69^yPq=z?ctOS1thmS@81)(fGl%Pwl*SxPD_ufRQN3XTIi z7~$SoOhl^_EcPI@+9DS7%*Ih$TM$wMP12~9fim|>u|%#O_ph@<9q~(O z)Nqf8dh)?6xhRq`x(#o{8sQ9021C4N;qtaT^qf^oAL{mUSKF+CHi=&l7wU{BrSFmT z`ad}8PBGZny8?J>WT>-c5=T9ymj>7e;N?OMh%yi2m~2LPwDl^Ml)`1$+s?c2(1t6x_NX0p7u~}-ONz1B zi=SPilEtl2c~5_HGhu=23h3H-5epnA(Dz3Na%U|=7xi#DEp;(=i^;NitvQ&m=^@F9 zdIBlJkKtL&EM_I24esijPum2qP?7n9ly@o)cbv#UrLRvgR8xXIxHuav^TcrGt~1QW zT|$h+K_2G0;Vfp`+^cZ>%1k`F=P$SG=QN9%`LkHQjW=;P))6zi@;Qs^teDHimP}4f zzJ-7EGH|>(Mt=Anqu*w&MNjv3oI4eOOGkpCuWSNt#>g`xLshWl`%Rj8aynh{T@1$j zopHF$316zKQSD(na$)EMtzMV`jh|mb++s!IRIwi?rWSyoVjPak$Z$jYvamlR9w$w* zXyE#TWR{&YuHEH>e3Gl-y{ab(e|`)T_N)cl`**lTe4<3K;s|%S*J+aZ$C`K^4Z}_; z4hq@3kCrm^^HMmsp9l!3uVTSivm7}Mgq)9k*|60blOqTYM?i#56Llyzg}T;oIPfBfzKIcM)ZQ8}BilkjExDEcx8yoztXqs> zg2(7Gc@xZEGn>1I{YWwge^-qLOTk{vaT?FRncg{DjeB;#KozxeOxh>{tlE68u2eHE zvUx}j3U$)+=BhNL^C_wS_JuTiC85Q7X-3)k0y*dJ0L!&MK-H6K5-UF&mbuoG(By1- z{YedZ_B;VHTyt>pgdm>VP)J%$iXeHeCZoSKpWc`hWi+=KFy{;9!>UJ|(0yANh}sFAFV4a9QAgNxXFZ)a>IQ>1YDxO0TH+MA3Es}(XV{yr;1n>Ij1G#sgAkuWU#r3e!ynXrG3CfrI+g*)L7 zNkHBw@^{D&UIe?r1Tx5@V-HnoZ*YIgBT}-&hCF=i3fC`cv8GNvbft?Y4qpC76`uRS zIu|J{7Rcdv)%!vI8yWHhcY=33FL-)eW7Mo8>;%6rdzF7aySyivlX{_zCfHArXMqgP zvI>WZ!3^jXj-`{w-SOagcb0c^3acP;iQUb&n%#9woXu^^z-epa>Glm;^!8eLy3geq zw6&iF-Nwgo`BOBEe_e`gGjedv88x=l;1Np26kx!^RBn0DL*gqXjR)%2aI9u$;Gm&3 zUQG~V*IEj|xj#GMz`{5XyfFv5gOlm~u521)(+%3=S0UlQW{%8554`CuhS!2!FlAv|(!g4^2vyljmcoXNZeVo&&S_knLT?h}`D{-QecoTecB zmY?yj9RhydDDb`$19^W=QtGD6UVg|2Ssrz$+Np&0UCW48`@c6U_Xq}4^Wk^@bCS67 zKTsYl!!_%y+26-Dvl5?e*cB0JIDM5IDfJu%*}`I?se1utjvIlNZv~y@YfM+R7UEnf zT{dct2CI2&1IxCI;*y_Jn4zW!-4f$OK~D*y=mhCGc{@2To6!;+C7Oc(KBs?3Xxzlhdao$FUgyv@gf7 z$9!b*xFqh~CdVjy_=9Oe00ezhg=y}g*pz;YMnsn2@*QWe(_fiohHB_g`ZIF-?o-l~ z_7$Y2m%+uI-C*Yu0f$#5(!hh&_@Rggeu|EuM^y`{a+*mMeJi+Ba|1Y@cmOJ>Bo1M;=oH=YCyVIu7-MllH@?nT3%B&@aI;1s zHQEt}>wnB+6Su#kV>>EQr$Yu^JY;c?*62T1NW^=lYcN}*A8+`rWmop7vS%NKk`IuG z5sCrS=vS?Iqp~7tz(>%tN*OKIWnlE&e@xqX2))~K@p02bnkF`lIojIJ>5sU?edxFf zmRc5qxmf}6_e!Nfp8Mg&)w!JiE+s;2xI7bhN|yQc&w*SUR5`)o=g3CoWT=du4;8cX z=~>=N@R~6MLgkM@^y*wjqV6r&=(;i8Eo(RxVMXXMyN9f^D}xZL335tFA9T60RKC3l z6q{C)6EFXQ=qpubW}hw-Xv53wUOrm2fm{ch8Y8%O(iN(dgW;859M~p}LHr&mrYmF? zv#0hf9P%_`)X)eFcT&hO4JA=yL9is1AC8?fz&d|NOxo>ApDoXaBegfca-|N#-*E%{ z6@;1d3#%YhDvbI+c?v&^E`dN!0`8tLL7mG<&Cnrz*uTA>4tH4K^;~!37 z+6VgSU?Ocj#E;d}GGT}NI;g#r1OM9zbxGKlgls;KQ0axniF)K!Qz?C&E{TWU8sfg* z-Ov)01VX3-vI<#XP{Ggml{ew=)m`*l^IsY;bfqdc5B&HQjWLAHIigBx4T`kjG};ggq|G&e7J#iF31I{DKbCZkYh#@*Pll zD;CUGz97#z(XiOMksh?aX0iOxfKP=hi38f;7z-*TVw~f~c{AW#&(7I`u9M^?f z6;}v)deY7rTFk;q7moCc5Pasdl{9}Sp~B-M#P3uE{MhMAWglIF_t&JDNtx*&akLtw zo{Z9V2Y&YJj$%yu$50;=mC>WEmz&?vZPu|V6r8`yafdf=0=}Pxm@8I^BA=7c5T)1% zxfQtX@hRl4HNeNVl-h20z^vXZ+9rCBuF$T-IukV%x@_EJID=i1BaM^$JxE{cJl3{r9M2_+v1cr7Sn+o%OxUgkjP>nD^or>S zH?vchopPwc=HsJOb$F1gw6z%<9*p68b~`Kd-2*d=FEQI-Gc#*`6E=AKb9dn}+_CW` z8b1}J&vvcG?z`79cW!lvW3WEf1KOy9~2RLI75Yp2ILsApLb#f%_rrKl;O7 zl|6j+9p)E)LH&RYctrRe40U8P^-eieBjKlUROJGGzIGTjh0}13PaS5Q%)&S;dG?gf z4K#alkqZADhr{!&ncXYX(RooVN^1?%$MMgp%y)fE`IAjs-K$B-=PE+)O(8ygfJ^#( z$-?p3Bv*Ni_*r^mjY1$!i%{gs2j3%0nQHpv_-x>{YoP^Y7c5N9eIO@-Td;m}EFKn_ z4Y>h}!R4?jgv{JQHzclw8eM&A+;)wcjBG*~js=bRuYefnlyL_O=i@D%D!RDu5I(*q zM#Z(~6A?X2$kMaHQ|sPP-A)JmsT5x+Hjo2?vyl|GXv2m^Ge-4SA&i&Y$Filhn5}J3 z^P{(0*wyHx{fq?|ZF(2S%g%E$a=p09TO`@>4Pop#Zx@XFZyB!X7GtfCw~>?C`Y>c9 z4xy_HQKL*3s5YsrQAX+n>df?C(TM&IaUp77hrl#92tnMBC{53pdI#0iKD6$ zdNh|)D~J0;A%uh3KhLlWA6~;HQbH*8UIK$_)v$Qv6g?aeO8Q?3am@W*l0^$t&_y8( zMVsfcl1JyT|Cx_adoGeVrPcUWLl;f^BC)ga+Vzx^TMth{l*4Hvc~ltwbFUgHF7`jlahCG*nBk=AN&l1>mM(J#R4(lhG(L{ zNDwB6+M$C*2|YXG5j8pgkyNjrg1O6-8B4tim=T!*l~!-NTUcvj_BA=Q2NUJq5p+E1~$|ewes)iY^sg1O+0>%=ji9M)BJWMz_in zo*#ZgVkNhdDy`Mfu!M(kveRW^SOYThDhMCyOu=2z61Y+SA6SRif&|**&K4&;(x=PH z$IVBvJ$js`3vx__geJqcJ|0|bE`sT7DPl4p#WcTK)4}=N4IZ=304p zXVwhfbK}5u+68#+vK21sv|y6%5;pW}3VXiKmMwArjczaHSw%l#+?{Y31}rYZul!+X zvrNPP#8gO^mO0yeG?;zXZp5!K!Wq`jP-=_kv6ROA5>!6@*X-~r3}6|BwvwXECj zrL4Q49$jZ|gG_NT1_v!+zf6CPefCGuVf{yVKmHwJFU)3!XRBkNdu`P>D?YF@<7bAY z14*Oj37lFT@h?XVz84TD9+r=w^3W(uy8MKvZF(HDYo^>#yQPpA8Opre&C94Z$idSw zH~jPGpX=}Bft-uSV5hS%vs-IAvsf$+cDtORRu3)77SRkS-|&Y#wN1sDe={NX%T~|~ z?uGYS@enw#2HYLw;XrUYJ!5hg)zS(`>trbXH4={=-uI!#MwXep+6BVhU*Pp4e&%}j zYZ$COXW^meOv~mw;`XBvz)2|w_s-KW@q>psp%cp7atdRl-~9n887^FFUIb%;-Q>`^ zF5LfGo%!$X7kKeQkNGKR&Ma`_W2P^j&P1FEXBHfp$2dKk!-&sqhRv4CQR-JCC?1K0 zzPt7Cc=ua0d6SOD{R)`4FCEJ@Ovvc;)9~?@45RWa50)8~gQ?R4uniMpK0jChM(&H* z9|7xFD?xL-SbPb0rw0)k=Qs$u-UJqDHIThrjhWw+2v2lpvyD!ZxOPC3bzR}l`fMG; zZp%P={@MhcEx-d^nY+O^ARdlpQA|FQjxXOb?5V>m*l(ZTp>dKl+^j?HgWEId?@I@0 z^W_&@naK!PXFmrnKQ&?P4gO%v;V^d0NP+z%(Tf`OU8vT;!`2gXR_FLnyr#2)YaDy) zUsvpgL%ypp;=gBTYG=)E`Vq}m-{`|nk37*=@F@nB?!mgJT>3<}1wO661LnPvAg416 z9QD2MJN=Ck#f>O_QVey4ZdnNZv4+Sz4O%j-fY{p4VmM=5_&in*20^80Y~YH#xjxXU zAi?+#o&yn!lf-V$Z^FuNM=#4LI5m45GHwTh)>|&{)I1|5_tRmR{~1S2nU~So7Z2Z# zYry{L(XhX`8}v(sm_w%B5UF|+e*cYu3ro`=f4~WD_P-`uLgz5YB*`nqUH6lo(->mO1XUR~^-d!Jh> ze+VWEevxh06~IVs38_nUg^Mwpuw?-cyDI+>jhG(;3VoZA881PfkNS|{Z3$kX8^~1y zZ49-@!2_qSp}zDSHr2Wkw`SzPG$AjL?RrmpzN*u>sKvPVmk?}k-&2)yXCBtg&%w6F zr#KnR$JRJR;oXG)xY}dgP{8ZLad<>vk@ianoXD@*s+aIk*GaBzt%PgO=isIkE*w;zgGQF4G&yG%?A7}X z)2RY9tI5H|&@A{pdko%~F9ea48{}P20{4Kw8o3xHh6Rd7WW{||5FdyGVJUg0+d-K* z2e+VFXCVwezXA8XlJH8-Z`^0_2A@jY#Xdd_^0=*ovqH)p-1v!U6Bg-^mJY82U`bqVbywoY8y+7hH)%>wjmjiZ3A5wvt#C{sp40Sb*XV z2{>kF2O9hixU1j@ev5ku{1FE%T&9=duyiZQS9Haf0fMYM(?OD7Ou_2C$#Cf1I|$X2 zBw0<;wC~0XP+7+hkEWQ`Ii|@ zX3OvdblWO1fm=_J&%tK6bAL5p%}EH$XeFLakBLJ-DEMjhLWz1DbWY#P^qZ(L&v*O= zN&av=w_60pT#~sXM;E}sos-l>$D4R>qu?yO0-C;h!ur|ugh#g@gub%PyCLv{gMcE@Y`; zUpyzDrwpv(XTpW4FQlTw2ZYV%W4W6Il)X=d=t{zFHj>f7>!3C# z3>I=Ob0lBMlP!LGiDuDp#9B@Cz1BguWY*I5RF;F!o4Nd2Yl)Ak7?e71f+Hmid|j{) z8s}G1*-uhj%Ya6>>l{TEe`zQ4E%-^*{tF=JYCwE^7jkjyNAg|73HFMHLvFqgr&m7& z&Spk|c~Bgj&z-?k{cZv!9D%&mNn~$sB-p3szzLIbcvF59oR`^9eb4EPMc^HnDoVt| z38%5ve+uqteWq|Qo%kEZ!i`s-iF?O6`1UXN25o7uu0oGF^W{1C?kRwZt-~m5Re~PJ zmtl&|C2H0WFl|!;`QFn7Ql5vPSIr2njm}`UO#XoB{xjk8<2`ux#Vf4Zz~by5u~_KN z3-7Py(oE99)iUkG5wS3~%9_K%kO^pA-T@ZTA4%gIe)ho8ee~xxef)TQik{zCLTr`a zQ2(P-7&RQpdMI9G@4PZVe&!~4Ug2j~R5>Gge3vdt^`tf#C1mpFO&A_1zy*G)tY>T! zD=g>A`f0jx|LVm;UF`yP*Stq~Cp8UoUgdKOGUOrLZK*}Jvmm?nn;5IqSi%-;KgAyV z8BcXeUePN`4Y)|`D#myPU_n_X+}L{+e3oZ%T$2DzK(fD*u%SnkUHV3q{i8xr``v!@ z8?|ApJo|8Xw=g?0&jP#R1>qdm1o-ow0pEoZuE?zdcoTUatKBV8a`ksi-($#5H?+mv zC>FuBwkmINAQ<=Of>HBE=BZ%_411$HFSJW;57s z{+Yb8J_)Nd$2dk=u2jmXigVX+0Tr*vBrdxz!uZogFl&wi3j%Fh;rW7|HG zuV>B4Q`J=BwlNJjYa~%-ffl&MB!akKEq(HR6iTWyWlIT<&Rf2lP(>>uNdH?5?{e;Z=m z963y5LaAA$1Kv{@#+g1l*dZ-rRxPrG#;v=IhHGD;6B~hn#*V0{$#8dsin^_rISs9@yTN&SbK4~BkO46V-RVoc7rD3lkBH1GJ6J?9H;aGLZ|B_MSWN&L4xT`h2maW?y9TM39e?cGfNtYAs0Y6Gn54f{6--h*D`T`(~;VC3scVZ5dl_C4$*n-lWUBR>uok7i<^ zv;}LtdmYBweS)Cr0n91u>C7QpGbS$iJ{dW*3T`f6kFM|3@NfkGIG8bj;iT8oI*D}zu48ftoQd%;(7q2vn;BzOL)!(vA)c`diM1SsSu`%~jOY zPllE8T7sjzQaEq90&A}FmHYHt3oI4_pznL({XQ-}%hF;417gvW(Zokj6KJeX5G|T_ zo8JAs-SU=X3K+y}fuarCOlD3XOw+HU&Tq%Dv}ZG0Q6SW8V#*VUKA9@?xc3#jeEAd}`h5ti_2Q9kszW=SQPOi% zjZUV@p-SLo8tQoreubUqENBygMYqmlL!TAe2+gHFF?F~NLWtiDHS`PLL<}S6!Zz10 z*zrr7ZTPks`@7e{4i91CxGaz8yQdMCqgSvIR^rLikyQG02IrVhJJBdj#9Ci*R&1s< zRm|pPHfUagt{ER8NjnWpGP z@#3crh}DmR+j&KpA1q9i&aMVFw3up6?PelPV;E~wABK2!L2Gjr*yh@hHIaVYvoH9V zn1wr0M>3YaRGwS?NOu%mV&WO!-!GW*ik(c*^JtC>-(DDVEhKR{E%0GQ1BCa-g5Sna zs*ZpKJEk$x8kLONgcNgSKnmuMv}2X;2H3Z11de3dFn8<4nXZrPQ0AKnw&b{TeWY}m zd|oT&m$M`j5j-0n2dw$W%DZ7kMj8m;HDD^!WZ=b$Cc4ZwmToBEWzFv@k)JE4F{*h< zuzQCTt95|le^5@HZbk#onFf%VuYim~C&%lJC-kkZr#*I!@P>H`j@r9neXJNObS45H zU?pz{F+!i&0mW3FP3n#Z{%7WyHSF6R=$?$ z`oE~^#UprEeWpn9h}zs0(VMD5Q$AMY1yCO)S)AfJL^*qQERk?PeoB= zZk8ui`7lVB<`nX<|2B9Q6hiH?WU!F5WsZkWXVw{8GK+rCWadSFgs6;WSgqsBSx{(? zs>jd6QnRBl8vF=uYveG=f9EkC<#&niXd2W8UxcKq{7h-02-DG>2p!gYE^_NNL|)ZuFc=DlJt6%EvDg!&zlG8gY}1 z&R1tA{>ZX-DsyoD)~gudXUrGBZ4%HWBV!eAEP74rc#~Np` zN7MT0oBg8rpg#zM_t&D+;basM?I!zn-Gr_+Ccp`(#oeZ|?9jz*+#?f(de2@F1^(aE zX`3BxFK_XSQz$l1lW6nBUoHzfh{uy;2e)6HELDkh_udP>)t1# z{)iJdsMG~2_`lN2r_+#U=@tCDZw7nQsDYk2<%SCH_kih!bTCcKqr;1Pxc)7=aI;JR z=GN~bnR$xD(!v)n>?9vFdP^QQud~40 z_rB9jhwV{fTOSc9n;@5NEhC5S#ahlb$if9@=HZ;YX4<(=0WB3D(hvR7_`1A=l&7r3 z^q~EqFw+t)EsVnL`780%l34Cwk`|T*bb-YA6}a-rb^6Gv4ArN-r6SkriA<;vc*&W{fi-~-cwk7M3nHwNsx+l3NZBKEZ&^+haR4< z&zu;E172=A-SX)silyj*Xss)}{%b~F_?@6RXQIeDjZ82(2oQUwm;RdLi}U{VtyfK_ z`G#%{*tA9FpJ%8-X;=c}`gKy?g?n%`*OBb|aT8~Cm%`ng5_mAf12p6YiI1fcZTC9L zX}PhUJZXx9aVQ|VGzyuY@FYd?ny@9U=46Kknix;v*!*OjszcAzu;CQ((;Ci~Ys zrAm8(h@i1H@|@I!|Au7Xn2-yV^D(6_Z{8vGa!GJR_!KSM5J!YulDL+RVN_aqFFL(g}{FOe?B0Ef8aU0NkV-r41ZooG|p0urK z2Z;HE;6YC_6fbjNuW!A?#$@kiZ|gQ<@cOkF7+{Ffr+?C*LxK3#Vm;03>!nJ&a;Ug` zE1q8aipDLO&BhhaXI~D6;@M*l;EYx-TzBcBf3^1DnJHy*GAEaQ$e)kn^HS)8mU6D} zeiv3y(w`M+_r`^Dm%;Yr*qVNCH+-9^&bhxw8wc~g0nhC^)cRVC7ptPseU%^k!%dyN zyKfeF^^X%PvK>ZW58}2&4SZnek6NiW;9&Dc+T>q=ZkO-kru&3V^sPW^zkE#Da{^T- zy15pOwlwT3-bOp?gasi#K=VAO&6-;RIGFuH? znX;RDjP2`bjQao!nbzSbeeM_dY#k@2f3l&`tb;}`M;Pn80E^1b0!P`B>CG*NWgI2O ztRoEOtKIyk+EE~0upYwxWv7^8Hy6UCF#pCoQ zJ);iR{J08btKWfwo-3>h*5t_k7l#erFX(0wLFUUpo{BP5XPkO7fIE8wh=29~o}g}8 zcJezM8s#UYZRIfiuP(Z*J_iG5wc*cGghN~#nwM|{HiRyK^`OZJ@yM_T(Gd;=e}HY` z)5z3(Q@SiwnY?XmB3W&n&~;)K2prsq9NjHY9Jve*f3(6g4&C5!x&B}7I$4Iwtbwq) zI9g>FOIpN=iTj>8An!YD*>uaFj7J$_l&3gsSFPc&)PlsvhhosTG}8;X3aeMqw@pi8s4>>rDTo|osNOUeN|e#dz_?Ip61#N5oUC`B6HQii157T za&{hii!SRnVXV|@j2DsS+>H$azLg3vChLYWVynPVmBYx?=EJOMVw`ISmV%Mm5$NV| z6#yB`Qe?4^E+euSq8{jezH5^=QMJxEO(-Q$1 z{3r1u*sZ@GBv`W zleH9A#@~UbRc}C~J^(wWzEB&fFSyGx8Yk5LpuB-4WR_?$1up||+ujzuK1-J_Rghq9 zjTYeW(?{_A+AX@GWHuY)5J94ft*|Luis>SY8Ix(VkO+Jt6}dy0nJ10DKQ@uM1sj;Z zWxt5i-L23j*hf~qIY&PnSOMWrFTpT7m%6N8PGh_F;lh(qAYgWwDUGRQ{HM)l^15Zw za$h@f@%>8Azt$u(TaH3luMf9Mvk^~l_JQ;2VXpEu8HPQ*ooT%`gUP8lfnNG%MB(BT zXW+gvtnT!IJZoWmUK@h*#!Dd1^#+M4Dr0({#52mAYw%9<4JYWN15Q6<4&TkCn8!PW zpeF1f4G!Fb`bKf&{@+|qN?j?_cE*mm^CAOYwS~Ys4Hx7ZyF+W}3pm+u9c6cU)B8`S zu?r3ev(2tjB(m;=nN+v~tWVtzx%Z>R* z?l5-;Iwa9WuT^QNLf zFZm`+Ma9EepO0WR^$A2K)FJC(8B82+gOi(By7N~KNqxJWvtgJQwD`_r+OPyZ%h?ZQ z@~dILz*>;7Z-Y~lUto7hC+DV04emP7MwRo%A$D9ILg$o&WAi^QuY>r7vtSy0 zlXJTv5&e^jX_1m5dem%THW+I%8hoxq(nXv;YZil6>#OkAY#AK?WK5^_1k&4AwAq14 z1GcT=7kZ}tN7^4P1lNP{+!wtARI7%-9Pg!Id~p;m-3}vcjT2mRYb0lGJjWM_KQJq- z0RoKxH`%9Q#jQoSE4PSzO6G;ryyxIb;tU!nbc)J1Wr4+xqin-;VK!f749D6HSYgc| zEWT5V7cBYM6>e(7#ICycla_kR;z(RI@p*X{ z7CyKMOWb3~=(YWDXO1Pf*2U10iw`(r&mVD~PLpPNH|k=|13k|45BH$z-h1G4HDbP& z=rdE7=EBp?AS%0XHsQOMO9w97lJPlG;I+>N?%P_!eP${}J?w*7`x&wOj% zS^_Q?ErZsGm5`yU%%myLq2bQfoafhb=(Q95oP|lZsD{K}+5C!jC17gz@!j*qN_aAFlVRqveTy3St_5^%K_ieM-h~-DIEOG_& z*ls5C_h|^Y^|(XKWDtni$dbIb30N|Vi}%jB(axhuC~PLlbgq=aL#-bmLLiLk$@7G- zag==7T?jYal0oTGDi}=)GvYmEWb3atz-^FWUZ`2ai9IGT8Mc+FDV2tW-;Tmab{9N3 zf;SYWv|>=J1l#Pc%~nkRxBg&15r52r<8LVtsM`!`aeCmpwGQ0g7eHsU4>dhpfsM|B z?48*Wtp6W=)~56UNUih%kv1vL%TucG?dKKXSI>kt(KIL;)I~MjaeVy#BHP+#!Saqp z;A@#WxGOM1eJb0iczGDP^6(Di2!Di`V=j0-W(-Bv?ByzXkE4yDHZ{KDNQ(J5_{+i% zr?)JHQ^);b)YTlCR4-BoJ#`FEb)#`Mk6=mpX?oIA+0yrR5Ls5KL4j8hx0}nsl?UhP z#yTzR|Llt*F9xu-Je+PysJ8fGcO5L`=WLlwneT)QDRto|8>dd-P= zXW73V*j`C3_vyfyoB+#B_8OeEIai5A`X+jYM~ih|Esn0z=TWLHhMsZ{yqWhUX;O4bH;o17C4SBNYvN?XZ1gCssedNlip|pvC26?yO(#cyd`N4(yU= z_sk1q^P*M$dCx9FAGv^1T0xC3Uj=HrD3hXDcgWRe*I+U?ihfNl!O360XzHscFny*l z6MT0Vf<`D5|EMBy-{(=$8*&gC>JF!kjG0n_Pat-CHxu!7Ci6HmnK^UZm9br{YN=ZO z7(Y%Gb5o+~Ny7>yIDKa+O#9gZ^4Xst@-8r2TjUuZo^Nn;ZwWLC%Hm4DA87Mf7yI6+ zp|yuAl<)rzzZo}D^NW|s(V4@rw6LVd1N?FVArSO^P_U!+zGKX9ksO_1W82#opN z4+8zoqHk?HRZ0O>Lv>iX!!r16}sSDvjcoj+(Jw5M|dD$E}rgBz_q@5bV^zaZb=q{ zu6HYF+L?oV*e$pgfbe-A7YfyepxkROB*Z?Y-+DDMPw$_rI&X$Hqh>JhsDlEbb6~PG z3Vc={B-K3wB3>X~| z2J~JCCvWUwN*+Grs6S&Ye!RPa^Q@(C_4(uEgo_!J8>W-rqfdz}Uk>-e^mC}|ZjYXQ zNWSfv2eXs6z|U*xxayNKJ8}0bz0A`~H%lJko}ZjXcU_3YEt-*7)prd`R>V`Ei>FDV zb1KJf`yj{f`!zJyD<@(BUrF!LgP>;=2ZgdJII-p}&GS8n1YSvgSI+*?N~I+tA>RxDdr#-5+|7MI+rMv3|qPR3|3etLZ!{Ye77d*mtQ`@SCz zdL?oHREuEz9%DAgd^PK|F{>K;y)O?~}_U51r96&hZW)g26L}J`jq4Vt#xOsaNoa^){w>_QuCB)+yzD!)TCkc;@X@li!6XwzI za){`#LH(BbWcsb8pfgJyB6>d(%%k+Jg9Mwn7AWq}f{qYFIGa!b&qaTM`h7(vtI!8z z6#8iM#1@!}8KUkng6y8NJtS7D8IB%)0N05zD%g||g;(!k^u%LYJQYm692Rry(}Rg` zSpqj`=_dLp4q>%rH3TU~VOv=o-hSfD+P+)E-lz?y>x*4bbj}{maNEDTR0|^wX&zua zLxoAL`a~`Hs))GCX>j4OqR-em^o+E_$?S7n*TxXCaZD7xNL17NXgUKc@0S`t(^88iLPwlFEV4D8cp zuw!N%sOnAv*WL(>4Gw{=`jy0kkB6)3qyTL}DP+y8NK#oJ4FOBaNlt}7$8xhYxp#US zvDz{pj(_8UA+y=wHt`aR87VMq-HLVUGtrVqfKmAR9R3bA(x(S`u}f(=;0rmVjULdU zbBp%YFQq1*V_=kID)}l2C1#)ha8U2TG8x%tCzHrhWdl<$)8PL{y`!T)nEAYHs z0L=J3(lqjpRvcRf->-Jzk~tfx^CqB%UPrOC^a1$@56N+}TGGh9$O(%Vmef~J)UTOdxP8~FxUL+4w|B^VL^^p4YJ2%ip3FRjL5Ru3GiQ=?OEOmKHH&I8< z;JSX|yuJyfc{{l63(869NprBN;KzWEw{U&H1jK;|)6Hq3I}EaGq<$u#_JanrS?7et zp&w{XToJx8dqUTR)!?K_HD+&bhQWjwGH}j}IXtS&&Rv^LLcadQYlolV^UM^kpG+K8 z=TF8zyz=bsk8AP$*#Rt|IXHHG1~a@l2SwK}$D}=WsNu+qHZ~5NExb{%&iWD+_%#!e z=&>Q4{;YLv10F5d0UeWERBsDIX?8N>4 zGgy=UZi?f^v`}Cj%$Ca}`|4JsfszC!{CAH#`;ihWrqYdz2p_8#Hj~|ytjm4v#0U16 z2d<@0U?NAA5x`a8w9pF%f@|nZha(C^$y zT-37`UtP1u_y}G2xVMPBIxq*Hybs~jC5}`FzFCJ-`P0b~K@IZPy`VrDGT{DffcsUo`<|d$t#1uZ1K86l_=b*==4)tZ^*mp%f7;2TnS{%2a z3w)jEs82Bd7=8%%z5eaFtcrp&|B#azj$mo2iAqC~m@ftF#Ed&QDxMD;Hiy8~Xg6A1 z@C3r=)Vo4KSshbzeHW6Yl? z^vvxDQvE`YS+%x~%u-ZjR*NS?(hUy!pAIIW*Vn-+nOS5_+uNFpD`KdX|IeC2`5@By z(~0vitOBkC3o`Rc1>nO#G71e1Lxc0WnjaTSiQBc)qCsT^{|=5j8K9?@SIxEf4A4-v!Y-*__@!bgCR|G4W;o9T zL8%H@ym%UO$MxTg-1{7gdDA&7wKE}DZ2(L^=;NNhM^M)77}v$_JlwuJ3;m8oK~Ljz zGOpr?p=3Nc~;mbHJ2RO_m|i#Ql-Iay!0ZY3O8R1fQzRDicLNs&CkPV z(9ZAN)$8jys@=l$!L1DJ98-iTAC|koA{SPF;K03_c*rg-qKaF(i0k6(^!Tb%bkUzx zX!G(SeikaBCB42leYz#PcW5?BYp(~34RxH9U7yL`e|f>DBMb7&=Meuke^Qh49+_o7 zxg8l{@ZNodOxr7r*>eQhx|0Mn9V_8#<}DbuumH1K9q!%-Lde|WP-O{a&Xc|z{J>nt zH{qHr@9uPzL0L|eyCziFE`*=ro8aM&UOG2sl=%5? z=$cb7@xzWzN;rYkLs@pE^E6P_7RQ#}7Fv6y3fpT1pvYR6_D)q$jlxCvQBDx6u5cly z*B)xe-s12NG4`6N9-14o7VB?JkmG56WH(l!am^y!@wJsUvIkK_ppNv0RDu2bEhv9l zmTm1C!^8{GXuIVe*2~PI3Hn<(UYQR#!H?J1MBY<^vQ4vznFd1h5_=eK?<2p3sxel{ znj8@sq$&l<=w=i{1$r8Anc#cNtx|8ODVW04mIu%r8cjyWD#~*UA>IFTlev$rm8$#*Xu{ahMirZ2}Yx4N+)D)%# z!iW8B#LmW>Ol~*?30iryoU@8}#Fc>ESqWrL&4$sf7m-KZ7pC%?XeGBAxKpiAdZ!wW z|86BV)@|GlcX8%=a0aZE)nRax3M0GtJCvseFjW`7!K2k<#QS9r%rFsR1pl0bUD+F9 zsp3xhuoed=P# zY>{A?lV*wMcmO^;d`Z78k*5iiYf7?kL2)-x zph@s1;0b-MrdiW|?kDkoBt=WNxN}y-ZO8jx^oZ}aqZoEC0%tav;koWuYHInG4&{o% z`vn_t&X;*89=R4}o|#h1quE?3op4;R&mCX>T2G=sBlXxEPa7XIII+2m&}A#hx!9eQ z{dgENb@ibo+zXD?oTqK?8MNkEjH7NA9KSm+=(WYmDDNkA;9I;BQ?_hEj>;#SQ=|D`xxTlAp!-h*n&?(xa!Uk^Wf?>F2?7;q>mjyU4UV+G zqVTAcdZ?!29DjovrJ1i_x5iSSoK@TjNj@ee$s3yP2r}RFhRC%#m7 zhcgT?GGV|wbqn74?E*VL1jqCQOgd@`x+%*zo8MSh^Lq1R(AO;(Z*vJ^)3`9G>x(&I z5=`3j({RJ^In21AM~(G$@aD;{^to9FE&7s;bsSSN>!vkaSZhJVUz{g4wufPn!Ao+e zHy)y7kCCx>U39J9MV>7+K>Z3)R?zAIReO;G0mr5|5}PFPb&esf8#xT}rSmySPO=cT z;46(vljJJeCD1g>k5s?#5MH=d0i7E|N%r=CGeRhw*nPP{191!&YL;NSLk?P5z9(xF zj^fZ$f~ImO@Dl_R5I^%q>@GL3$}SXix^{NFGO{p_zE^mKUZ)MsfXDUgd6x z8ppj3GiZ;o98*jJ;rIPR&^bpBzx-ZatsBDy~B z8nv~S!x;;d83U_svS@`k>mgH*m@!IsRGJVnD$jm7wiCRrbx?uU<;X1cfHJo`;C(<5 zUVhsI9rN^YSM(An+9kkzJh_`x^heSpoQanP2I(>PpR}#kit#myB8m>5VcL=eOsMO| zkzYU}puSEyJN_ZvIZJ5P)9BBco z!5hG1`J2qit)<ZU4#U4@^u~9CdR?K z%lWV?kR>a&AvJF^$Cf{7pwRvjv|^-CqW(L_u!u`0mnkqivcwn*jT~rfu?6j?EPiV5 zpuc+f8O5Xqi2Py*pYrX|VU`_i*?)|NIwpf!-)nfXjd`@q9z}Zxe!T!yWYT+(meE>l=LcJ{56%Gf6+WlsT0Bg$$k1 zLC{-7MDJgta-*%nJTj?|jUjjjNf=DJ5p-`g3%eT?)B8rNGvB3bVIQ3b8LT&ZB+T zPL9}F6S{8h2%O*COw>2Ek(>>#q_r!G+n%5Tr`9D<2hRb{W8pjWGb2Hl6s;k{`Nh=k z=rme-9$?2>JLnURfypK9)cWRosu<`D0^}*x|JaE3({Iy&%fgU&M-Scxg^=brWw@;F z0E3p#D2G{11#=gI>zYae3(Kf_zcmy*eMM(QtfsBoRzSo#jwL;xOfvTzhK{f$bpNqD z+$NTQ8nd2ol#Ybspl57NWqUmtXeh;6o0OVv2Oc0w;xJPFkRI71fg3ADNzYG zhbj{hSsh%Y7DHC(TjK^TJMdq)4u1}w1kamSIZHR$QLAgWFzSmvW{w-9kW4yq?5DFi zfev{2kpbD=Du{PlvcS2~AEek(?#Uc&;@Fp2BL*ed+kXM=IbN*IgD9-qVuMMk6&UYn zil=AjldZOT&}iGtk=n+Oo_ES%-p%_Mc1eca*d2mL8dsx}&lpPHwq`}tX5%)4Bk0(u z0rsLnurcBh_PTN2zE30I_lX9b%%|HG>&ayH zd;E1l0aq4Evpt@UsPTc9o#(xQn%dV|Cid!qn`0VB{E{?qof;st(+^S)sd1EB4`F?7 z7&dRENR@gp&LH=IyZLJuDoR?~g*YcYFuCRVReh8gz+AoZ{hBwu?>ik3*A zqLCim+@%86&!n-FZ;FQa)RSYf_MBxh_9&vd!P4brDD0PLBI`$l$Y#4aq)R=47)-xT z^qW2qtCP;??pnwZx3Wf;>VM29TZk{KK45WA37+e`%YiOWB6QUR9L>@pK;SWC?|Mc( ziUI2yf~cIQEKZkH$M5;uSq(8amYRMe8EA-Sb{R8g-nufHu~LlpnOCGuSQb8xPRC;Y z4vuV-0h1bcoZ)dgK^o@_L(2z2Ml!*kxgFjHKQ~sx*Tzor$$ulcS}hF?BS}nBN)5wq z&SrKA{Dd4WV5ZftV2+$^hG5Y&7^u#K21beQw3ovD0|>#V5}5rixr~u{2ID*bAgrsD zz*aRQCU=h$v;9jqEMFrUf1Nos?EU=6u>YsgMrK~{W;9|*Ay!AO$Xv$t1(5j zj?BgQ2jK869@6;5u&^~wbayG3)#oPWc0iyO#I>_!S8oM!}7J%X!IbR5%97m!!(U^^wmie>>t5Z z%Y(?0CvC*_zz7{vc?K7{UAY(6FCp&yDzJy;$C8$8lI1Rh6Ed$YAGJke(N2CgaBeDj z>ktLuM)Hu;+CmrRJ>)jqyx~|YvSfkkUczk-!yge@c$6%}!K0&iLpKGke({IV^5dBH z@hq%9^a5lfq`|3C1-0wG6PqaxHayS3CeJmv<4q;8DeHn&1}m`BJeHQpUZfM>v&pzr z7JMmRhj(T~&_!#_P`54||JVrP$u+CsbYK&f7=8m~+s(vemb!f9Yi;B=AGLGbIi^G+=GVJi-W_vd&WK-m|B4s#vXIx&O{)jXhFzYKFG_vO8u6K;i+^(OyTn33a2Z; z&MpNlQG{&)$*_CgH{vbGL&S$%pmIYgOxbnf1D-(?P#VSqi9sMEw~~=OtH(Sl_|BEd zozML-8cQ24>%rNGI9R#voMqCf9F)GTz|NX?5HIdI2=f+G_8_cW z?lKM5E-|G(M@6VZ;bZR9!8qt>t^uayEL@Ymg};h#QzPH^#DeMIL|RQp{RPiq*}1R8 z_?|127>GfNY7BjNuNZ^XKXE*_?V&-vd7PuUFUb!$4GvcFVAItH8h7_WhDj9}{KJc* z-ZwDg&_Qsq+{BK4c!UL$+h}vZBAj~qh&t!A!v4u~FnMo?(=;Ma{_K^aK^jG9w7eZ_ z+?1Hb99QCctO%EV`A%xSiovcfam!;NMUa2d06uwiaIH6dBI_gyux_>t8>Kjhksiwj z!x~BE*l-e--3W)DZ_+?!)(o)wI1}dE4AYB--LOyfFQ%rOv4-Puup?~)W23g7!THnS z-17#A9{j+y65I%@XAD4lR57`K_c75tGJ{DB8%LkjGg%Mi7%Y}p3~siYxvvDjLowY% zL@W2e4%JqerCQ4o5Shj}y050!nv#jOFgkIV z?tG6mrQ8+l&ew*l+r{0i{vT=fdVM{{E%mBtNE+vEiCF+4`%*xtNSO)dc|kI!M`NJq z1@`A!cXpuXgkYcZLM$1$%q0%j zP|oieI(--+@fK2`eD(;8@g%`ihYLJe^8f}5709d!W$x#<#-v8Sgl4%3!OH6M@ZabW z@XWD?KmR-%W(eUand8*hwTrAg%5wAj6-b=;33Ld!4iaXnFyghH6nqTkww|gbtvc7J zz<($4(0VH>EqR0f^em+Q>vzEh4<69`5kWp$2r?Q<-2h82g4kIhyi=$EC5mYn{@-`} z-uDPi2W>EYaVkVqX3<4|!y#0`9pJYgE_68$oh!%CeU}A%kG_HrUkc**DO2wGonJ}7 z%dK4H-Eq4cgDo}!a(+O_ovY){3 zb%**K@W7(Tz1WbK0WG^+m{r{xOnh&@L9vv|M`w3l4WdL(eTvb}j?uX5LUMlLIR<_*p&M zW)xlfjN3EK3U?WAfPy0|{ND4C{4~_EXlO>%9t3yXv`(*<3pGDHnHgHCW&0 z60FrgHO7sH;Hoe!@}Kr|I<4Ct^&I_SqoF#SahoFgIS&t594#Bd6qVtui1$?^KRpZl^pQ@ zVg^Q1*WtGPQn2O?Cu`=<$Ajx;vpfQCanUVF_KL4I`)QsCY99>4poKSy-lrbuD_O@} zIUv9YxvYX8&K8)HCBzO_39%L;o7vphx$NTKHt3dGhM6Chg3s0@a@n($Zp*JH)rYL{ z>|HTjqy2_PpDHB*zY568Sb47F%q%K6P|nG0)`JaC8mTa=j(c_(VdANBl3`j;zZxzB z?)O;88=l6jDES2eCjE2??@WjYvx2IpV(7^GfhO>7$C=+glOw{RptDK`!ZlSn-Ce_U ztz15wZP`t|o=SjHM;|e~Cy5S=kKx3E3eX8H0K+@?Y4g^Ztm{F*SI<1D@@FNcH%^#w zjR=PJGr`b(>o)eSjG?WMP2teBqcH!6EgLi7kA7kTaBAQQ#HZYc->0-0wMa1%eMyvw zs*k{_Zz{N>?lBQf@Fn~D&7enZ6t=qPF=2)KnAW|&;CQq)L)lpecs0)l{JuShl%RDaS0R}bdRdBbn<~Pl3^SaN3xU?Hxs>~%8hsbv#IN7` z@yXhJx|`A9*fgckX`CfwYtCyp^Uq&a38aAf-&(k_yOf;J>qfDRs%}|`=^KNudUA~Wjj!bXp(nIkU4+EW z@Iueh9`1znG9;%;>0i^UX!N}XTgU}WDI)Oo?i6%?9_1*h$8k5UOP4qhO!ni>3yD%{of!d=uD#T^#3DsxGQM?)MJvTm5VV- zmc-^!6Xn^V0{Xhoz=H25nBKRCJEKvsn)fp3D*>z--DK$}r9t;be#O0O6>#p(ci?`T zpRra*g^OQif~jQ&Z25WxYOZVmgBw~@&no}}9Cs5dsc*!tw;Id7*O2VI9;$-(as8Yk zwEQgx7v0T}-|aA$XKx7&%8J2|H>bH1+ul;qb?Y$Zp$OR%qjCvcaPfRme_~%iOUt(+3|n_=gnZ+Z)=j^1MuVL zTGA$%!zuIbr?Q`iYS!CCLO<&S)j=t+MY$RFs~5wg*@a*}TOPj4#KRBEWDqeRr0!20 zjcE{q2mUi?QQkJlZ8v9lhaWPxrM;LD#R{+;r6jSh6-3+f=!MB>kZ-f2H$o5LZoOK% zyyy|`?70RCE-8=|nof6~DaPw(Z(_aT6V!R_g=_8S5t+3!C@0ecy`xpwrr^Eo>hu9* z)zq^Li)`v!kS4x_l`Ab#>}!c~0p;S!%Y{t3}wb^pe)=7!O1e~Awp9Vf)j`7Z&9 zc|14d>V9mK3d32Yt;kiGL*C2ZxiOm_Z%$5@f}Ghn^>0SJDa$Bu0CV12dbv85h= zknyXfXN&~d8MgkcrIRyzhX%1T&5F?6W-}wj2?62xJL#ln7rv~z%5id1q{GE#+^Zvr z=*&@O^Z#>W<=kXgyJyj;*l-GTqOF(!{EVd&#rQ7n8O0@MaQN^?qGBxoMdxg(z}r(` zUHBiaEDNHIMM1FM?H8_VSHSi`4Xo;m!}mq!$fnX+m}eXdsa|zZJ>*MfuDpTJ_Z`Fg zELiIY1DNh3&Cc^(gx8Y}W7F0y`gz3?SSDOdicihMr<0?!q3|3&u}Z<;)@+Tca6Oqn zy@xibIFZBWPC|~;a@ZApnfi_1;>uaP#L~2Voy{}2_stxiQOqd2Ow4`8A~C`1XZ;Xd1V7Ub-wGbJ7SnU^U<_55^UxV^Ngw2-7ki-;oCZ_cQYlqFkfAt|I3B1@!yT4@hST0~`uB$4{f z`Kpk#5lM;`rLvZUlIZcgoOko$ocq46`HU#{hkMJ8X>{SL&8;ZLB?50ipPRC5GB;j& z4>!DVJlPTJhQ&u!VcvZyGR5j8hPYnB7wsj?qg{oYbNWA+yPyZvUY6pk63SajyJ+0FS?Xz+F=cThl{`?Ir}Gzi}%U7A_{cwiXI=LTb#(xsB1 z$Np?|q!@pWOX1rZwV|(r0cS0s1R~;wbcpW7KflDeR%r!JMoNS;n_EtX`5SRXvm?$m zQQ~&=2=KkK7n8hRS=yaf0D>Op;k395u6baI_xvBQ&DD!wU*`&}OgoEPYjn8dkGJCJ zy%EgFT}abT8`1zMN1;f9$Ky>>TR8*FoET@eLz#FB#kCQwE6ZvfWA6#_6a6i0_{XitrZ?Pc0I5u0j!O4&gsCO2EbuN?W zeMwguUpT<_y>(;n05w3$zvF_74?eFXPFEJdis_}$^yCBYwbuaLlu@M5H(Vi-j_t%D zT9TezAw@GgYT&g2C4wvY@X$dCep=s$t;4^V(7Pp|{5TPI$bTo>8l!Nx#Tl|H;vHNM zlcT%6_3?}DArd|z00!F9$llp5C~E!B69O~9Fjya6&XD8S%or9I?FtL0S-_m6LcFEd zjpU{u_yy*GoTCfA@LNj2*a^qpCy;D|M!wVQP_vQsnW(86K=Lc}7}lqvcE%?Dv(w%n zb;6D)s=g()my)2Q`wMFC972=&aoqTRcQiO9#~mwd$5eMAEU?%Ek<0JHg(GQXNTUi< z*YV)P;^R;_7>{F0e{qS_bS@=t5GR+VVM6*TmamcptMXQW(~$#U9xBZ2Ot!G;UnMZ1 z!vxD+i^1en6nxz=i7oy-LPk#RgmwCSl6^y#9V$La8jo3l->r9Si{@oAc?UqocLCaJ zeh5QWiQ=!}`K0WrHe6xJOz?;wwCtz^t z#}`ghu`;NitQXFQ;#LiiqdN4*usDrB&;!d#MY#p70-TDi9eYzfnI)G5VbxU!yf%CS zQqONd^A(?%#XTun@XmqmTckywjBTWYe_PqK#&qm?nu~&6s@P(!kL7>tK+LHMV$O=Q zf5Zc?*G56&v@!TAbDMnoYC#`QKEq4ylIEV?R^=wm34^+W@8Q#^7VoEw5sNKB{1Fl8s2HTz(Mv=s`MdhQF%ddO;W)Gdm?=ga^$C~o2Ww@l?Yi9x*1%Lhfn_mFq@ z4&1;5lC@izJf88)tm;(D2 z#-Phep3Ez6W2gO)3GEwCo(kCF_SNNBDmaak-mnaVRttmTu*5&#JjYY*eo{ob|!2+^_V5$MRqzqfhXT=4l)ZL!BT@n zGIMnjEc^T#e^7T8A>zmG85gq^+Yb@D!AgC%EcB7cRSYm~U^B#57yW zG22oNm0r6O=JOFf)-AzRsb|>PFc-4;euP=ny;xRGBf;#@B%bb-6YSY)3R6;fFy<)> z7Ooa}dx-?(7^P{xJcy^l)2A}v$^$Vg4_weaOe>WC*H})C4VkF;!EZQz_c1Q>Udx=t+(DzXB_MU zewzaK%OQph>8sOeS%<0FkIi(y-CL;N`2bVT`+&=~N+`M_Oofb^K|eE=}VS62V#F#I^W8qTXnfYk9ww5zh_I(OMYpt3q$`s@pg{VoF8 zRhE#-I}67`ZZdJ6Hf#8@8_sAolb7oe|K3i*|L(5heR#E>abSpzmv^I8O%?95evP`j z_c5t0Z^*qvc5K(OQId5w0Ji<}kgt*olu1iaqx%)S=CH%4Q~4HGP$jH0T!{u#uaL}p zA#7)d5W0BUv7XBb{7a9-ApVsAsd_bq{Qv#A*}w@lJlxOo+LTf<(IAjag}E@keJgAi z(S(-u*?jTF8k}V90yo3OY331Oy3tS#?#dm*;RaE@l!FS3^!9>f$5+!EktgW)vSga0 zp-ELwH^IYAxhUlO8P>ZlK*c9A-1@&^_q|L$WWKQ|oA1nlM3_Ps^r)Ev0aUf33pNi5c^C|P| z)J4OR8hlcE84a60@wTZ6u!w_|ciOWL zFU--TyTm%+dAcc_jM%}Sx>+4_W|Wbk;`ri`o$*Zkb1K$_e#J5iIj+mL6w>|xJ5dsgt0tC5N5*-N*KK)!@Oi$Kj7Fk6A~p1&yzDptvU!@;XD|r)wnM zdD_KXTvoE=*b_v_L;#ch%*pESCB+fBS6GHZ9h*9(o@Epdn(>m9i25~k7~TJue}CIs zo>s+eGV^>R+x$m|Tpe)9>uNBzQhQ}YQ*$3MpO@FbR}@QUvhx9M)B)2P`Le@PZ& z+(1^eMBwsXDS9pWEqsAjlnlq`QI{De53&b7cRmCXAMp$(FR{ieL{RsaZB>q;@%+*oT_z=&HK>A z%9$6&Q=-pwpYvoz7qz;x{tLL|cUT6GTA5-lu4Xou&7@5G2VxBKr*tY2rxFui` zB&_{RXlDaIPxqtQ-O1rhci=0L{$)wHM?bKiy2Mf*zEA5Ox-RT=ha0( zLUkYMnZClzZOLY`>tY$H_EEu9>6v)G(-r(QG~tL@Hfok0hp6jU0cBT0uCoCw)xE>S z{wrmxRg?Kk7ijaj9f7`J(0y{x>ENfdO5J>3#>TCRUU?oCH}z zGNfbEMK~z%9+wJ8z>>DbEU!3>90YB!ijE^i>x)2tPZ6}2WfGSy_UQQ~2ZaPC!=7F# z@G{8fZN4J{G^L7IxX%Waj5?nD$OX1%egSzH-op0yIiaz#B~g+%fNr~$K>xivY#yGE zwLY`qwWJF?KWPYmlNPdS{Z97c+*)wgeuXB_y77Kk8njiV^IauB@lWq7V0N1t*bt`< zRSjvpgMU}CLk+iJ(`6grd!}LeFEwTzPTBmR)nxjQHdgRS1~#tMfZUw#YH(@GJJRj8ojkHPC;cWB{M>66kd=Fie9B3N9_=Ci z3@B%xg}sST>to_NBa+R#bcns1$YW0$#K;pleInwq1ePVv=XKbQgVz(oAzg??-HeHtpWkcu4qvun(kx7!I@az;Cvv>l{Jsu9lnZh9S%#LZT98d2qOMYdRwnUkZsULzRWur_x*BCbbw4mc(^uP(P4loFj zr|~>zJe3g$_affF=#)+L#Rqk|euqBPhjp?;idLXga~w2(&ZP|^TJ%r27#Y9rD^6RJ zgE0n;@NPtm8plkbT1hhS=fVP*ks}Gq&yI(=NB!B_(ki@cZp7`V8N$DT-DsV$gQqMQ z$vY@?7-RjFSv=p4S7U1osN6)}hOA9Xbd;^{wUB*2& zV;GiJWa=Vl2JV+NA$~-YP>Tt8v^ES~Ckye9>CB>qYX!LI?N_l#e-KlhY_T~AX z8%odlz|yc%vZ>_^4o%iV+1_X(Y*C5ko`+f1CvV0*ME<2+bNR;Oe29?w9;Q7jfGtrt z35K`U!Rn}S*e24BJ9{cw)V?U<(TVK--50#iF1~F0Vr#rU(hfTAlj(KERuFQTL>~8> z!ocKZocxdkSMpbwAFKBiJ`L-m8Z5!IX*w*zEtASC#m*~G z6I=@!UPAPEK;YfeXCl!?T8wkLxsAkVp8%nsQ7~$IflQ0pOs3ie;krd0u)R~5cC1}M z=j{!Ig@0CIim@8KmY4ut)&g{OYX)3NJ`IC|AHn05CuuglMH~|svgxmMxSu|voWbt} zob?NNPGNd7-0)k4@3yQV@Zk+=hMs2evnCVcTXIkq8i)BGMY%V2QCx*;1b1T^kDJse zk3VZ`@#8~HBA;N$)ostk7yr7+-rEFht>%MUasoUp2_agWs_>V?H5~U|lA84;kg#YW zZdR5mSGvpqf3FE=>gE^W`4mG~@%<)bTvP#_N4p@Pq7ob?tb+xE(J)Rf2jWluCO5fp zuvl^uvCs;JPxA-J-$qHeW>ZP31Ezt+jQQAF;R@pd6zG|8zrf$V9ik^*hrgZIK|Kxq$N|tobfMioYIJ0RL&Pte# zYkKB$ZK=N8CDBxFO;rH5Tht#runGiLoP$2EA0)f5hkwiWsaeDKYTR})3=H0@auc^` z;B`k2Zi?eHPLinu_vtwVtqB9g?ne0j>>||sl!8fmp{TjimP!fmsL(YT3O-}l{BjOm zwp5tz@z%hX4X&y`@c?i2rHV*&i#-wkRP{OGqtOR95gE7VLC;vDD6(@Ll3@ZDX2 z)0^@N++D@#CV_EaJ8%pNzA;ePbDB!m1=Cw!_d-?MN=|3e1V|MSrS}zcV3|rIX)4+P z`=lwKweAP6zaK#O?PCZwoJuc$oX)~hexnGPL1!FyrL*r5desfd#m%kcXNe#YUK$DO zCK}@J;?9zpE4pA-wE-3PF{T0ov+2V1LA0kumA2&@^X3%qW9~A!q~lFDdGg^9hVAhK zO>q2>nT`v|P^;@D2n98$D!4i-7;qS8y`1QyxZ3yNz`Aq5c2@s2FVchL3?Eg8BF4PZznG^I(P0W<3@X$M= z@_sW@DbIp~<^g1P<7C|EA^<7}4ij;H9=nyu$Mo-EIMMPibeCw+xBnROto}`yv`7wG zVvmpxff?{!UKvZPB)H4f?YRG+n?L%I%S7KSrBhxR;8E!*Ty5t{XnQsR2ag1T(GDHx zZrq8Q>czM+#RR?XoudOJ@F{<8Svu?$J3v;U6MRTaz|%#S*z2K7(;3P>p;Lx=TjIOiN7C-Qd3D7c%1g zh5zJt1oWHkhE+v3*m++qu%0f?9?^Z^6=OlJh1RpXV8>o2=0JI4JzH*clRf)MKyI-W zyOm}QvJbkTS??d){c2*CALhbmCugP+EDPT9op8rkpYLfG4esyTK&>(b)-7EI{Y~$2 znWP~1`{FjR{&a$jc26L$Ru;epH9?%QJsi>#ooMPI2RhQXjvjfk7RSyfaP{XVa$M>* zrW`nd*ArX<(SLhj!wyw!>=wnW+AOH>5#}Pz>tXfmNSN+Bi~P{0Y*cP4G)+6gs(bv2 zvSBbxvG&0??*4c4iit4 zRe2MkZEG5I{&{2;n4%6VOH-h(>Ke;PJb83fB#-^JSp&*B}`5ma(bMpSkADr=M86Nb z^ZheOfMP5$o~8?a)jIguvH~aZPO_&NHst-NAlNum!!w=Tuy*tiGz%pVwbl6`HsdS* zd(U)OKx=Q2?%f})|B!JYR%YU&p$l#QcrxMP(T(Rm;qinvec$( zD@-W4&mz`M;0kW3aq&ZYIK{asQ25E6SbW-sSDG@}-nB=G-?DM^{zxrs7|@_m>ggcs zxsYW`ECloJVAk@ig#X~du-UfjzL4eONs99tVNi84M5la)J#sDZP4gub#r?q8xuZCn zQ{?3Iy0JZMEqEu+fhDnS_Bj9MS2)Kz4qPYIPFs3{^ zhuqH$#q(?G*{S|6oH4Bw1;pN9%f0Vd^4^Ji^c=YBKA||eFA3{c&o0SVS`sIDy_l@z7X2ceTdscvB-&?zD$?X~aX*nox4JHrJ*&m7DT8 znw$C|7WclAB@g7ElKu;s>}CH5Q_B@+3*D{YV~99ueNEA%_YJd|s>;m^bHTGVH7M|P z4KmVa=FptZ>$_mZl;;1(3$k>Eon>#KpD*>GM5bFm9e5&hvc2>%STR z7RPeHQKlYr$92NoRjJr1=fT-u`-UUVbGX;ehtNN$4nrCXNVES@-c0kC%vPxh%w;}9 z#r{dSZT3MHJMbGN9Yncz(=OxDq<*{-97CEPdSjdr58cN6No&zeQjvB8AAPQXqec_S z!^Ly>t&ZwY*tV5({M82DO2%+~xB-{vQqZ-X2CYHSz+HGt47RqTPz=y{zxniGH4kbm zr*hm>N$QuUNiXQkrDm%n=;!h0!6-nAHrM|K&&KB<)VrLX`RGia7He?DIE`!VS3(ih zVOV{mg>AnZh|4uH@O|n_PzqI`k*Ci9_KBeDJXLP@(tBKk(tXTX)e7#tjwm4b3#$BU zq1joI-M*U-1&1~0razMOf}#<`A1lHRt#6oDuTGT~jj`S@NbY2)Qv0D^u+KLD{bEHb zIr<$sE&o8~^D(@?FC!(swD(`;@<|#t=bVCp3=!C5D@)a{-h^xy zJ<@n_6!TSOxd)q1V)UzKVs+dVqns3pd6*@ ziSTZ}5H7CHVD`u5DGTAa?7#CVW(i^b_WkOR*M5h7kz$F%Qn1-m1Xu)<1=lO0>n z?>sb%cl~2JUb$0xjZ-oHUqX?GNOd@d$NgD=>z32Vs7q(xAsSj1DF?~3`q8d%g~ z0o1xPh!?C3n3dB~8oX!$^|6+qr)2M=RrF5upZ^{87F_&q@1564VU_v{_aXZtt z0RJB|Z+m?gQsOp(ou@EHE4*bvH)^m?SB`8GbwqKaRs5#tam+`=5DR5Kf`IyGxOp`a z2a1YH1}a9F$qyrF{^W*(z7c4iIYxHWZNL%bcJ`=O6$=al!LH*l2yDv+Re3QOy#0(_ zoU0C^R`syKKL!t+J%O63gKUbNE^nN_ASwrJVk^6vVUCRj2pC4Q>`iaTmzVEhp2m6R zv)cf21hROa1Y6h%2Wgx?`#eVX*5bC(2t09O1FR{H1tlYI=-+=E^ui~R+h!k$iKhZt zwR94OzgUL9bdAwAOM+8{9QI>T0Gy03h5Doza29{d`g_cvs^~DYKemP+0)njSj4VkF z9plU0`~uFe802o>26M~bG0_5j+9@#}Rc+_s@pT!D-rC=};U03yK$1-~ zngoYVs=*7hb#UNUE;CZLg>i54V7cW?Qg-lfLg z@2-6Owzm$w?l-gOv42jv|1s}iWJ$@^)gff_yt}N~r;qiu5i+x(4X?Z6eE6xO;e%^=alm0^LwF@NL znvZ5pe{q7uV@x^mi(TDn2m6R19CcmIl*{tr&J|yX5HCQJxz9*j#%Er5P88Z*^T&6u z>xjqvOtQIEf_=X>2d?CwBL3d8BxL9l>nw@mcOM=iU$l1+#fA>vmv=oR@68`pUFgar z&T7D0BTbY^JI_#X1~$n*V_HFe7=CLyE>Ikg6D#h)cCWoKKI9PdS2I8#CXBMlE$ojk^~Btd?DA?9_9b4N#LhQNa4=2 zStYN`=E8QF5O6C?#0N{nxY(-A;5%zJhSfxq<%%ar&NT z5dKRFzDIAup0mEVav+{q2MK}yITZ|?dk}gDuAoNe1-xIr34?7yLI2ux7)@7(=>n2C z@6BbH^7}2>8!#P{f_0gJ#!yMq3qwfUP{L;XH2{aU^^A<7`MQbo-p-!_!*7nT zik%zrWYAIcXjp}Jod2*JvZ4G8aWznKW=v6|hFr_s&7=-WaQ*Bi+px6-Qq=oNfY4>K zJF1b~7MO)5mS_3nRX#EeJ8`_0wwFz?yM!%X(s-{e9PSBEq3wy)psuZl0nzqsuGoC+ zT@ntL2b{4Z|0=uo#Q}oW-e%QuWjrpa2eyz!xc|8o>inoe$=nq{8SDWIt>}&XX z|9h5F*3E7%5`u6qDJt^G3+fM4pw%WpOs{{B>1X`#K;2$4r+EVM{|jY7LpBI&R-wkL z2h1ny5;*zYW;Qi-cqlg-KP7GElz(4jhlj&iw-V6!7O-uw3;9 ztdVkr7{8rpBfc2_#Ssjz1P&$t+{Iig3erAmJvRcUR+|TY;D#1oq zV?36#i7#TA3l1u|kTfLDUzOs(a=I_FRDq!qR~s+3`V@itrqf{Q0zvpb=tv~W^H|fA zS1fp04smoaB2v?qva!EENdN2)q@nu`+2$?6`%k)>ch#Vk7cjN}sPsmnan+I4)5Wl* z^ESH})M=8niX(lW4lzxuE_No*p5=5+hC@#C;M?w*^w>lxdZd{TyiKp+V@nV$?&=~B zzANIs!Bc$gdnRVf?IodU=q0=`T}T_Rc0%RLIxut}h6&^E@`u(caE~lJVR3T~&d}ch z|845ywOa+iABj1T9J!32*Le!QzO{tKt9J5hvdd6&=NrDU)&{KL*<+-(C``XU9lza3 zVVb^D#VLWYWZc3;*tuJWuKn2buQ$RGE1sfGyBNJ++l%#Ctz#C48UXN_IfuTza_J)Ps-VMw^c;U!=5aaXW;r|H>_%ogiQxVNDy}j ze*8_~yAw+$U?IcP&icW76u6jK!cViTl@73=Y85N{wg)yEoPwlN@1gtj36Spi%0G3q zin)1yf^^YLRQWZ42fVbox*zvp?};!}6>f()s#4&;F^;^f34!I|Gf?n!APy!Au-LtE zc&1658!D!pk){*rU$~2Gno>r_cF%-m6XN;00t^jjzC-(4ckoTc3ief(aC#E^$d(EB z(P(IViP+NPIBCm&kZP_AIz3{T7~&36;ThO#bq>jwpiGW_&3%uthK(&)+@ls6Q!og>v^rZb+$p3s3 z+}=&cvChRi6aTIB=V|nJS$4Fh&lS#G!@SI85Dt18p{SGaZGG?A(SYY<$;l=twW*Yp>Xh`{ml?88qXTU@iIQE7@IU2pf7yDa}=U&c+k528EAai!V6r#n)K}1 z#&@lg!4p;lKCkU$Qo=qMYqFE|)b4}nTtB(Ea2k#@{y+uA9ay+^A-aevf%IB&bUD#X z+*fO%XoMju1oYw#*>}7oSsTtLRh%n%7R1G+S2MF%2iyUwIKSyi$pe{j%;BQ|*TYX` z(cflrJpz*4<^L48wsW=UlOf4z@~3d#l49JF0!?f)RwU1b^6-wxTg<(y$NfGM&y_d% zK*03tpyjxPiI>Ook2lWcz6i^3epaDumo^6rOtzs-e+-`fv4M}Q{Pq){*}C^XnBH+^ZgS~VZbharH|5R*Zn)Erd;VD;KJ0zL z-(-3PGheyT9ie(*vpG1SFbxeYjP{!C11d728l+G+- zvwwePE}Pzh`sDX8Aa)*Pf5;Q##!K^>|k{}BUa9()})UpbQnOYxwimfI@zY&j5dV)nF%UH!bYw$dK z0o?s2pt->`GBEH2%0`+&Ek}h4owx*~KM8CKy(`f4sw!74s zNDunM$#JrDFgAti{HH@L2ZS+B|2CP`rvtGX_rUqO4LKAnf)7+@G6Q`BGRwA%B=Iv@ z&QS>}WgA09|C@#KMSA4x(sZy@5TH$8kAdalNEGRf1h=8BopN;s6{|?0rMeer zO;bGnS)7B$5(-q-BbIG`9D<&P30NZX6cq=eV8X&9FiE`>R{W@k&!N|u_>#l8&$kh7 z_v8VryNW`}X>daEK9CueL~#)X8|$g`b#^saDL;nyJK}Ls^K5kRZ|3hS{*7HRaagl) z20eXFoC+P(AkrGM_z8#WK}<~*x?UW>g3@;G4(7T?!e#F~g$ba8{-jj}x99z!7!{i%!UbL!<-^>>Ee# zyQ=cSRf5U4y8p1z-v?vtQ<-SWQS3L&=BN4Y#rG#4GI4=ZaCh588aAp;N8gy!p;z{_ zqdytGKb`@n zZEbVFXPkQ3<;c_hp9<-(rFBqIl!1!h#X)H4Q(pYX^>Ayt3};ec!8bjTi7io~ zs2?Fp_s_jdj}KbV>F2&M1#vlhaEC1!#NtSv#fV3+_vX#1fN#^-k zP`5Xc&JU5JqHp?`k^cw`Nxp?oU4FRaOFE|6=#lP@Y+g9e8ke@qq4*_pYUy^0{-p~* z?i#@}`%c28_f=rEd7oL>`$+U$qm8p)9m7;{YyOGM7+BH0l~&ci1lL*L z_x@$%RsL08|EUv0#vx}M_Z%g%U1r-vu2xtSNND@}gw(L&pWRjkXc z8dl7VCr>|@;ezo!#AV14C&W(0%xTRaEqt9{;Qx_*Hrh!p+}7l_PS)qFf5(vEhIJg> zX^j3Nm28`12kxD?1(m%&GatDo9xOWsR`2@Aubz{bvLPRX@&&k%%h^!9dM*9*ZYl7c zRO#7qCUDp&1d2TphPxecY(d&{IE)S)l%}DJ(jZ;;9WmWg z&N8YiAULXsXr76uoAT4BxVcHk!kS6TZ}MmJmHNU{BNHoM>{k71N)v2BeOK zv+HqVKn5>EhEf~9u|prCS{}ocC6sO&egY1YfjVq>1k$gsuzlz9iT#-pB04z$o?e)M zFBF$R-kvug@r{D=$=__(U^4F&?~{?G3JVUOn|SQD zh5m;@(DOPCuJaw~Oa0|=9`fLK@=Us3u!py1Sv5L3PUB(%&R}_vETaGq(Cxj9osXW#lU5A~&&VZX=3oN!yLRNJSYYjrVwDT9a zDf6Q6?=K0w{_lP=E7#()1&5)^GYhPa_nI#I7Kt?us@%-y)||&9AI{;{BdmOUpG?x; zX6Bh8Oy6A!griR-A=@MjK3A6TW1_8a)zx;aA5`aj&OJw&xGDhMVfId_6C-p?NwM-O z%-X8QQ^A#Bq>x1Td{i*-6)>WYgBo;#B(Y1G0SQEqt{`4$s?1LC$9$n2*}wr&fKqw9t^W zA8-YJ^9t&t%E3Caf*1-uVs<@7=rS-7_Ac51yeWNT!Uc2Ko!(v2tZ)h=>Mo$+Z%e%2 zyA~C$O~n~6Zt^Ra>$8se;gFZM64r~~AkBplGs%);TKkZDlg`U)N`(Ik8F`wJ2o{DH;lJB%kkS+b)>~iV;cQEkbiGMtN^S&I zkrya_w3xULpM%65RZ!lpLsukZ!1lIb@;FGAPO7F*$BW6d zSPRyYVQ7loOIvHlr)@9ZUZQ}(F?|>#I*3{4Ze#6UMKBYd#3ej&;+iaP zp~s60l>g88tQ>_}59LvD>^CQq~Lj-n_Q2gV1n#|p7T2jum5!TE@>xn+sBkGyCS5j@jj-UjF>GHST0+eE{AX z>?frzB_yKaEXjD04@Yz7!vf!SxO2oC6h=f~`G107oBI$dbtQ;gcqMKaS;ZL?IB`n5 zG+E`M->`k;258?HhVGl%$PN{;k)|ea?R(FTI{R|Z9ThpP@L0}qwFr00L;x~(MUsfh z0C>@p!M4~dfs}0#xlw)}nyP=|fapx_-XB#?eL##={;Gh1=@U5d!barBpG3vlB|vLa zVD6h$ustarex^^sc~jrvys!6)Zf>xmKXrD|DOn9*Hrs)kP1}HB7Rmh5k|MG;c@FaT~q zn-&Kt&m@3Kz7hl-m15j->LqWbh$zkeQ%+`S1%XzDI4vHmV^22flJ)C4$hsaI`g5-q zy>Qxy-?!}yD>E+St2hk8^|~}FKwaoXy+1(H5q5N@vIMt$_%Y)e#5@-RuILb~YyS(E zCxpRymoxCK$cvht5~3B^PT=$N6};-tf|-s@Ap0Q+{J+FOy@m(Om)%YWD%I%ty=GLt z{|6lDxqZHWc15J{)S;aB+RcOYkDelj zjuh}NM0c_jB^i9EBSd5xW&%I%3VY}R7_hh;cTD<$lWcNLK?t)JpqIKs=v$=(n6yuZzOd_o zj*Ut1#Vr*cG#p|VqF2D#camJ3n>@U9pGBqaE}+e(jW9J~2d2)t#`eB@0bT~l>|&t+ z_!#adAJXm@zsi-tI<@6wd%z1wcV0vM)m>3w;&p8E6(GG;YFv#_AzVzk1CC@Ttcl2B zfBE7tW7liQw;lkIg)vaz-wiWrk752;JS-5NN_Q)W(YxxsFlNv}eubtH;r=-+GV2rW zmwkXCV{zzZm_#gO{D}Vgh+>(Y)4|GC4*q6#@Fbk`NW(`jtQ&ZUD@z^lSjs34Jlf9V zo?V3sK{Y%u`UZ{*-oui;kMZ4tWf-$^8@t*x#v*1mGF2%-dNkD*hL236CQs+neVLPJ z?b{FVW=;qWe^*22Idkxc*m`!QFw^8n@IclGlwJ!2Byf>Att{$VQOLK1l=rus^(<7a3+wZQ zkd6;kkCDcmWjxo}O(5?tNv&%xK!j;17*#zl(YYlJp(kficx6npZbpIehv_)-pwsL> zm0e~MZkp64E{DALZiN5XIa=#m0BG8XM$cE{JvV~xe|bEMAFpvB(v;VrnhF!IC_|r{ z8m)gTPxW^7vbUGoh}XphT#21Jm+lzD)x9(3n&zCr&%26o;I%3@u}O#PH+>Dt2FY|{ zY#c58r9!j^Ww_>>a$Ki(2wRb;iiHDXyuOFhSlyj~U#|+&g^oe=kA)xgf9Xn5cNwhS z8iH$sUg0KbQ(VEdVAJkK+^WT6<)X=K=VmEZ_vI^_zIuQ}&hkQq^Bnm&s|;T%+{DqL z=XfMkfYZ2E&Yx-A$+T6EfKvZ>II?4ar9AwC$y@x%?(XrJa)98WzYocRxD!x5ZipSQ znvA=2bMR}0HvX*;;$;5hpw}j2E?vkS%WtW2u@7G3-QlyCa%BpZng53=cbD)vmss|` zW;SPIhT{rV@G(D`l*i@Z%I-Y;dUt?H{g0ya{^$Db;&d1V`U+Eu~V9*U!GGD+~JAri{h4Uwi7mQd&J zK_Wk9(DM(*30{>{;pz9HO#fUJtZ~U~lzu&~X(4vPlr~)$C{YLJkV0r*SwffW`$8m- zXkn2^9$j`p4xO{)@IccN5@1>mf;yhQ{CI|}pOZ%Cs9D3*H&@Z;<5{9N;zLSZ60!Nt zMQW66E(o4nk5*4Mp}CF`yww%vGFAuCALT~SUNsI={+!46ZFAUNxq0wLA|IXwlwj-A zWZd{BgWkWrgyboW*sRa4CR(zNu895&YZ}lR)#iB6s}rcy5_qFLXJ@vzZ5rK|^j2ZF(V2ei{3L&+RWHCBlxsc|!q& zl3$Zu)9WE`iZ@)%4})<@WAM( zqnj=g-H%_^jbX7rtZ>=R1AwB{FgC!De0{Z_MAYpe+UvH^jz{SvN4W_?TGHrjQxW!A zYBJk4-49(you`63;+&78FIn@*c{3S$mq0F8SDE5km~5SC?Q zq0|Ti*>hp-!&JEFS`W`c%D_PS2_!23HFx#IDWxq~TCT`S+ZM8`$0VlV6)p!J*7pykM$;@Hz$!18JC)7ZVJmVYaw8zWSgK{TH;rGu@EmXa$H!X2G2i23>Vkkk`~MXe$U}VLRqA zl}2OsNM{wuyX*jugSv3f>Ii`Q5LqkRL7V;F3byXOFW7>C*t$^}$88d0nI#I$-DV{k zOF81L&}C#p<$aLq8ib%xg{YW28pk|#!)gy_#y(q6UA7l*4|XEG`3jrDn{oCxj#Ty) z!KK%IFnN6+Je%Z2maU6oQtOl1>_wKW{(L)`B2`T{AL-;*Y}iUyVj4+UdKM-fV~{)~ z&MB3eqGP!;yZyzJ$zB)1@*Qs=(O8SypPLMc6<#nT^cuoE9>Op)GXH# z^zb1an7a#q8$YK<7d?huGj_t?XQM#+XfpgLolPgr3IPcT12Xx)JiPm003&Xkrb|ZN zk#A9T{P2SR$hlMlkTR;Id1G5?&DV28WPAk)`(h2R)+*ujNoK6+lnzt<-HGWb!#MV# zBHpOmOJkZRAh%2rMf-J#%7hm*S;L$g@{I-h=n;`I5#X;I;>`WCD0>sPm&zScLbaI| zkos{REj*k^+q7=NU1t|KH#r+Ly{B=rKSx8vq+C$bOsh{w z!_~YV=((-U&G&h0^JK+5vg)!7`&qpc?-FUY=<_Fm&~zP8DxZ#HqFS)Q@DzExVH&yo zdM>Uk?+vB75{?evitIT1a)1yts8+G9lCSIrTaEQ(*LaCN4az#vH}F@VnX%sxhYm zXD!P`*;R;fFBPz`Sqkg5r{clTYBDly8=bV}F4^r_fOqV3N#1l(=Ko2PiHjvMThB2} z3r(5qY9rQm|295wPQ^>6vGm!`GejrShsd1L0*!6f%ra-AL?Vz*D5;uN*zu*HWdqZj$+%h_c9wd8Mdagh8b9RvO6^WQ9C*ut5g3xG?Ht0`WM!tM5(aK`=f zcxIkIl#huK*vAag>%T_?M&Vu1b-F^phT`z^u^M{#;zGzviNYm4fMR3X(d^C({4VXo z>Z6U=HLDJ^{koC7tDA}Eev1h*eByBDkF$7e`&eevV~v4R!)?-+CE%@{o0!@WG0r6K z8}ZXw0IQqopr%<1B`G@sbyvYEG)kW_J!u$@C-NZ*fkYCFL^3Ev*Rc1cR4ALHW3(l+ouY&$wh zT!+SxCvbjB5LfotlG`lT%IkR)py44cT&p?-Yhq8q;>mH)F?61&3M=D<{QwRFMQ}t! zl2gC<5>`hF;kE1cK_&MEy2(^xg;EA|O*P>bC?AyAEHd%2Rh4rC+{;}1!@B|p!%o~nlK$)yG$N_j%xs3IuYon2C_uHm{>eDfk}y1 ziFA%IZvQwLm{ANg4dvoy-V%d-7)DxVpmCum(SGq89KP*^Rl6+c`H^#i)IX|tB;r@o zr8k)VWU za_Z2fe7vrA%=RzE|4`aa6dGM#-72^Zrsa~fyd_KO0_#|{=&>01slB>hwO$qxl zBE~6%`_S|Jder3zr2Wh!%O4+r{2_fRbvc9P?M+83vwA$MF$)L2{vstK@|>=!5x;uY zFkSQMDmuD(kg1hr^sbL67WVD2xj(Fh?N99B=kZM7A1|i8=KHAL%Qo`ON)fh<^(HD| zNpO8k9~ka+!Ht1cv{d_F-c0C++utf^=fqvGMo6Abh#bc%=FNdkkF&`gJ&xWI)WR=G zL)uzn2f}W>7%1IBt@eH=teLaFry?a>TTd*Kl#n zbC?^Vgozaa>!Z80R$NAb4|L5)@3Oz_?BXMY_`Hs$<7(+H0Ii@t$tpWzuh6GBp5{ zNAiL5SxM8!TI0+6d6buM#yN)fs7H24qvVyf#I)`()_xV`XV}Eix_zQ-y4F$r+Hnx| zcQn%Vho;+9>|8{y96P~ZzP1w{rw33=%U5tt>pX1By9cue?&8ntcARiun@#msVIPdM zF(h>tzOUFzUD`CsY2l4<#mJ6ZZI}!t2Wz2MKOfwb!}v?j<5AVaft_DB3oGsw;`r~& zapn(G_?Wo{Z7X!SasGi^c-|36(>x80!bd^SBM+5^5p0seQOp?sk=&j5foPQ&<5Uq% z`a1mv2(8hB-3>Wl)ZYmcZ)kB^WxXI&^l#}-DPifkB6xM(?O%qzBLk_Mcp0@jcsDqX zJ)Bp9@u|A-b(#>D-x5zW-)^Q-^}?*6-4Rm?Xww#14>-nWVcY8WI68b38}d&F*YRrT zr!t8)h?u~&`;Ap&bDqRB}xOILUjIooz4o;Sxek#H& zLqu`(9c|hh=1TRwgm|L|jmXb6V+VG)u^n^Puw=~xXcc)3#xzZ0CM!>4P|Iw*7hKPO zzSl^aGCXkpl?xId4l8|?V_o+>*2nq0L*t4ga7$`f{V%b1cs&iKtK01%=q?`d>XAqE!R%P7L&8o zqjrej(ENbr{3ph2_9?R(tLf~)&&@c~L=|l?8tyG=0~6H};8z`n)!i3J?jmnof3hD} z2z#=Z7FMh-DgeuRrReGtM~G&8H8`ghC-8@T9sm^436UApCf{(k3AV*91I6*m2XS-%5t@~tnpnLa1;eD{OUS9_RCYI(&>MR75*Ryj1jpn2L|bGxBlJr`O5fR7xT1-<%>_4o|@wO5Tkdx`#1ot3H~Y zD&wc-jS%VA>ij*gmH1%YJgVhnhT$@|`Th@gNq6gN>=K;B8N+9Bf?ft{1pJ4M9+EgS zZa12Qe8uRdL`>f^4to7o633E35--uof672q&VPVOCz|nytv1yVe?{$9-^DvBRw%Oh z9sTL3iesk*k!^gvpfXqnr=Hcs%P%$yZuD!S^HB$^x_Vu3KEDp>>T+!CvOpi784zIk zm49tG6;fw#(0D_dPJUg?`@5gOhl_8Mm3w&jT)7Z7x@`yDryIf3TOIu05n|+V4)AUp zOp3LHtkJE!qjD)OczpvS`s7KnR~5v&{}L3%T*1CaNbBP^qq?j=Y}jr9a~}`G)7}Gc za=Qo`+!4Zg%UW^T!ddLNiVLQB&&B?l@i^mSEeWfh#V-+Y#mOo$WLuONK8`FR8T>JF zaJ?GD?zl+B?nr>Y)-1@fyAB1@CzAV*50YDJF8||C#&?f&K-+>xsFk~x9nq<2daSh- zFBBbt3C+J@=>|!g-B)hfd=<|GrdGzw_MITLO}bF{MF5U-McLo31a|1aIQHVs2D}}i zfqMNCpfHjQYx4uZ?|ledd!Y!k*6xL+Ey*Y@^B6z1>an*W&&lo^i|DSP2V|elH&XTr z>G>uO%2Fbl%(4pbZ*wdj)NiEq6meUIET%}FA<_HdNc*%M@Oys_j=%hhEIfKr;Q3yJ zUsSaSJz8DxRJ{Q^yw04B{y3eHyVC62_F($)=2O&5oR8Cjg7MU(P#AI@wy|oX)Vth- zT`^tDVpB?4#`2f=?TJ0)aB;M2I3IUTE5`G_syKgcAIUW+gwch^$+gb)5GkCCQ})O+ z%h5_rd!1LJZ+9JaTzwjwe_Ru^Jn0rhdu#-{=MFtKAS2jcU4YfqKbo>n`Jzry9EmlL zN74B4WcKJJs&i8e9%Q{E=MQg0yW)Ia@2ET)zKA6SmkVi5pBj07Zzs`96@|57@qz$Z zaq1&hCJ>pdFL1JR!O;_w>4I4i7~Qo2^8qkE#C3Y{&VfSa5a$lj&DvQ;0OGhkC-Ljotj$VSCV2P39|jZyXVx zh|0UfSa7;KmcLhJO*T60?XVNmtcz#Ti4N#LegbD@eh=z+D{%YLMspS2S?=pj98KTQ zPS*e?yKg6uc|r&x<~%P*#oQ6lYzn2ABRh=J`XuHu)La+>!$`IIUNv++cMoY}d#lVn=wY zB2-Q4r=_4{|G(MKzeD}}^0@(H)qmv|&Q+QUxEtkZrTcR z*?~QA5%eFKW_VR>` zFIFf?)vzPz3Mn|+-SlUd3x@$SIWL(GB#!p~lvv zti>za#n@T-Xml1iiaSn-3mz<-f_XW47;)hUK3@0-gKnLpyFiRhkL55p{t;@2k6^IM zL_E|UjwJaCJy7}@XT`5#x}E8$e&Hw{KUan>A&2mro)LI|J4JtLj>87YXLQeQU934_ zhnHi=;v$(af#_DGvmB0s#h9Hq?CJ{3UTiYi1G7S_5@LLN1jIC)C0#=OJU}_S`c~y+)SbD zMuXe}JXUJRUhXntoSP=9qZpb#*hhs|g<^m(pmt~v{B$u81PMNqhPDSb?mr_KZ?=JD z1jOO()mb=m&t|eZbT9vTyAz&Ps=<$SQTTan5B;x5h8sHTN)DNp;>H~rxUKFcO|CkJ z#v>AFe(5^78z_q>;x5o2%SJd~_(8zAm~!3G{(>~S4`lhWB)BXx2Eu{>GG2PYP(Tq+ z>MjdjX^Hc%%s5V_F%=bWZH5Dn6>-ahx!|?yBj`yZ+$#%daB$XxhW|wQw#>w)s;!k| zffoROD-EimEb+|ED$-W0&xKtRg_xdxa#;E%`7&3IcW>0kUxw-EZn+Zn=H%K$ zD-^+oFGp=eU6&D^qF0dndJ8O#`yp6|<@E70IT+gIfv>tw(fjqz^kj+!S!koi9jNnz zhQu3i$+H90&8Icl%-BPUlBCG)iQ>T9O7Xo?7Fam<6fqoF#SfIeg*>I@oaTQMxaNCP zfW7uYg{qALQ*B4I-8#sN?za}aOe-a&Hz|EmEXIY^2yy%EmT==YICIWJW5|{noph8` z6S0eqrr(yxqR*n|bc*^AwX$}AC0z}~?0FVHU08#T+BO%bc-$t>T=GeSrVwOWs=$$O zJ6O`5Mq<S`js>NeeS!j^AA2k01ffBhnwn3;*{*4Id~yauX%xPd--9vC%c8c6u0@_i}A zP~2Vyb^>E!TP%t-nZ5MWk7eZbkTe(WXGKPNMniu~4O|HN43P`g(SIS0@vIY8jw>d2 zC2nHX6BQ6Tyxyq~e8LYpujvnw{&)-X zZhyfk3y;C>P0Jvr_=4a@wJ03Z^20sD+H7_B7|inChk>*8LGN}SIqUQQFYZ;xs>jnn zX32WI>>x_J_2y!FfC~%%y$sF%`^T|elFag>H|g+xL~DQ|8Ez8PuAL7%VF=!X4$%ql+(W2GF>v^1&^ZI$vweR2G8n%W@=Ci??HNt|nc39l= z&-2d6u-c27czypHK4RGu>Yew{M#?mc56PJ$*lqEYyb;z#`Hb6SL5Mqi_CF0)vNN#u z*LxZ-vKX4@U#5x2A+pT`B+u-nhU^OQSy_R#;aMp6ryR8Y6i`cFGtl&0 z3ZXhNU{IYw+~jAIU9V3;Z~S+NeK$eS6%>RD1~r&nnSd+hB_Z_gCmLHXMds;ukWUxa z(Y-qegxZ|LJ2qy6XEga99$UJfK#=C zaLTmJIOz8d9py$jmx;uf_{N4-cy5jMWvXw#Vu?$DFSr*d0f1?D38M*0QQru{M4mlo4Bs?H3?F7+gN&t=g5^?aIpaTNML_(PoJ zjA8QoaQLz|8A~D#(cYvYQu(``bVaQ|-v<)>^*1X?!%tcA_iYlrp)SOcaYy0d_hv}x z9D+{~k#IKfJJEDL01nS43*Nm?x4yov5KsB7fQlOjLC;5r3cYJ;x^e3VXholcHDfRG zQ`sA6h+YGie=oub{W+w(a3fRbsHJfUeRO_pJ?>d%3N{WB+@989esPT}%o<1}GD-VM zSD-S<&Do0)x5qQ9!3OBpN~K!YC6H^)AxkaqKv>N#IBl7TKNmSt(O#@V|t92#3 zcCH65t_|4fMtnDyV_W+CATs4JbeEK1Qkf%dxKPfkkF|t=sbe75&J8M!rjsFM1MdFW zA0+HXKIo4lu=SAxHoA>s6=kVtb7%rBG5rHUIt{SoKUq#LWie-GI}I||WWb|>iz} z2XUi@ZN3r}yCZ zQxh?7QwE;H@%T|NfxP)`ieppzz};{G-0b*3%$})pX<1s_v<8AVgXZAe-&xiI!#GIy zOoi%0E+l5fPqOs-HGx&<5Aqdzsh0f*qLN@p{5Go6fVum~xFvIm;a6jujy=cVp2~iB zu~ZuNY!%0i6IanFT?J?l35A45S%M#R9^_DaB{BLU3g*9-fYC}v;Qm@euSp~bANU~{ zC9((q=F79Qn`g4ev;R40`)uCJ-n+SPpK9L@(P=sRxX3(~OJ=|9?6?}hMNJm2Jv9L3R+N^pG zCoD!m+%#KUIJgGx+_Hj}(ROs+*jVr_l!wE-I195kWBCcuY>~o$q}~58IHy?9`toho z>iOB=)qV+X{N4%yo}o}R^$yMbs*A^_Y{jaT_4tin0{_3EIe!j9TSfu-d~g;`d1eZh zMr&d8+XgaaQ3sZc93p2FDzW$Od8*tRPh>RDgV5_u@TjAKBpFoToHIK>@M!@Awmv3a z&ek;T%@U^FV9HdJe&U_82T@E+6Lt+BCi`O6!m6$V=Wc%Wg_&OE^sSK;yEuLq>-d?+ zIw~yLxCAK{G_sPhiIF&|O%rox=u-86+%Vek477WA!tQNd7~ZVQ0#1aoT~f>0k7}eD zAMIE}h6cN~h+?x{8TKsLN|NMDF9Irs4;&0LgB9^`!`&L`iXSkNCd zSx|>@L+MoYi72{y#gOfqs-!XI4H@6%K<+kLk#S{dG;>}o5uYswosL52aIl$fJZ1zV z0md-V|AinqauFolScX3nmSdP^BU)Z^#*z_|~ z8ppwED+i*5pRoMw8g|gQ80AihvdzVXX#H<~YEK^EUo&sM=KFVEC1*J%o$4mGk#n%a zXf-?Y$&6JlG-a8Iy3F0mgSnJDv8c}XyuyJDQ1kjA7!U}-L)$ipE0SQ@;cHohWFEV^ za1T5DYYj91^q0u}oCr!);qagLZn}BHN}SjCiNs$N$KQ(gv1^?wu6A6_UYnMo+uthC z5XykAyT>6cU6_l1H^>JXI-$+N5=j4kgi3bRLAZkzW_|yIAEuthRlDv()`qjZu^NMC zAEe;%&fU<5yNRu^3Gp>CMEIwV=unI^`${pX^|-(jt6GyNPv8ASNAG#EG*- zk=~q1e50q)@kKoP{f?wtD#oJCrybB4y9u5KyW=CK0U`d6=-x?75t615?$z4Vqb{p_irv{#UMmr~8l5x8bdVs?z1~p}-u}Zz}?5P2s#A3vmJNLR{E_ z+a%b;oZD2V2x}_DAtkYg%#;&?ULRf5X&*;_K41a|v0VHcD+*5aH(|G&8(axVg!v{) zM89e=Nw%L!UT5AW&Wgiij#@GQCD9Z6g6CsoM-&9dE`k1SVS;`yX-@jP0@V(5A;+5C zVfq~psQKbRGQJE*x8r=@uVVq_2Cfy@bX5@hNX}fc?Z@rWl~XFiXyscI62D!)eih7 zvX2Y60s9Ot@9sBnUgUtor*G4cpmrkH`Gxdki$P$92)x^r2WnzhVESZf&Q{_RZ2YUi zt$iuZxhL0CKJqFGi9aNp-4)@<{TLpD{!;hkZ(wF9%n6rCa8oA=Kx#;dw^nlGic((^ z;n&_I-&>fg{&9vb_$3WH^s_O_aX-+FS71Z)XwLuAJnnr^0c_Uu;q3K(!2FuGa7Hc; zgzXQ|gJ(yG?C%W0s&W7JcEtc>9lpi=ZOP)kD-6SxL>F$r&x1>!BEk(WX@yNyl%UV| zrj+gbVTQ>OXvz=bzW0=HQ?)j82lpv*p|QKU$9dNw<5xZCb?hcTEqeHmTjWTRTL5W| za)TnnMI4vo3|7H2X@y8Tc`ql&Jz5`_9vIfvf$IKouyUF|AMvh`hG<@-g*S^~^JM}aLD66-l}SAF7=2iE8K=c4 zGVM9)to&6e9yz`neGcYgWcNJWeIu1~AG=sxiGpMPr9@~rpLWNLH z@mvY$S9(OgC)vQYd|gt1shw<9JVMitYC+SZv4VNcr$9&IE3x(2PtUwEfhFI*LwMqB z@})wU^S;W#mxKp+dPoA-do|!?|0FDSFn}NS=Rwy<1x!-9VbkY9cze|nH}%wEl};dQ zp7sg9v@M4#%Zu>V$!Pi~GFULqq>0}3lxN#*))E#eN6t!?5_QjJys&%&rUxEJ-CAYA z{!QWNDlbk(MeN1ZLVc*)JP*Z>@25gx;h^%(TfZc?mlQ^+NVO*<^tW!T_q1k6@k;-!(h0$4|=z3fQb8HFfbeiI@g;ZdcO~q z>X*aMhAQlcmNJgNXuv7fm%{Rw$8fOrG}xG}1<$e^n%87V&URk}mHFpL*Y{@3_Sa%E z0teh9T8~k2!sI_~A#QiE92mT4g03$Y!S<2^EO=4{&H64jzid?46`AMw)W(p_IJF2X zzw5xX=rEG^G@ZzOI10dI^CE5%ImG_ae=cL#X zy=%BGEFQuPW5B8AH5vb3G%QC|;FC-yWDp?b{{cji&-^S@oFk+4-Q{ z6#^&86|j6B%c%$Eadsx9@ZgjoQ~#WcbNhQ?-hdX_G)9e^^C26osuU3NzN* z2V$<)@bdcwzC`*0iFD5e%djt0a@!~R^lvYU&%A;T{zIg{Ee};s8nW{%Qqiu^iViKG zz-%?^Xtv-FS#Dq{ka#5rdJ$p3Z`5Ux*E4a)k^{7&U^=_C`xl}Qn%Tl>qGeWupTVV(v4zG%UGC+RX*g_o#V-;UFc5$s6HBBjcbY;cAM z^V>F;2?fn%U11h@Kc@;l2v^|F2qm_mdI;-OY;dObLE54fPx~*=p`HguLGp72bbGf7 z4{pqcqAA*(%$qute*Xkag^rV~;2nbH(iAwzZUjqu5Krg&K8prEs_4+ecw zLG9)M3EuvPR7V^mMItGJP3pPyw)RVMP4_GLI9Q8WA}{g$wlWwS{DU8!v5u~eDunh& z44h}20E6ZNGPrU#-(xR_slg$b*(Aq4t(GG%4xb=qC+;KOjR$m9;=Fn;1D;jn$P0IV z-Kl&*DSbdYf_|fzL$m5S6dw!W$|L8(i!JTl z;g8SmednW{M$!4|Jm#p^uOo`N^9knfgZK9-^L^#|dp}L!?;)Z&NlDh!X3HtDOLL)uc zrH^w^uN*CJTDriO?z0hvDI#vFI{C5pv(`2Mg%}8f+`UMm3w@p89f{alRQhycfZ> zKO*qzyC@8DGy<71uH^ZEC*0J0PnNw3A^HAN*0(oQP!){@Y(`5zgni$QUt8O#W~(EF z+`CGop39>BicHx0EEp#6yYOL~FgGFktxd9omDNV+$>6X%fq(6AirRD8m=ie;74$># zP{v$Xem@@+9!-FnLwW&^Q2cO1{ei$i{`5ms&fM&9hm0tNRhQvRfg95>(uK2|Si^~4l# zim$<+inXAV9g8)yB{=8e4H zIVFsBKMfDg2}s_I0UGjm7qM-5O)keLGAeJ zSCzQ@QPsrU#GX#uX$mU}){uc;Mes>hlI#-8!RH^E!P3(YVmkY=@J9k%bj*R)rIEDl zwlX+)r12Wlr-GAl74g7WFkbb6Dun)~8Xk|V2Y$4ZQ=UPvMzxRpC)f$M&N=~m6GA8I zRS{128@Unp9wLj?z$|4s>>ikl+ds%-+!AG+bvF}M8fuZm$YaDZX%3!@xd_|llta^B zZ?3cNFbs^ez>AdeT-;n0R;aGQxDCJ2ZKV>78{4xR%42g4Bf&u`L`<=7STZIB@>Ou0ML z(4onQtp8mNsU0HNGRY9460Z{*#TH0Y{nge*5BVtw2HQEj{o}8IPS#P1JSU9?;dkhUSY`;`20D`lR-^pfgDbrf#XHn}x^Y z$_x5vYMcarq66UPb#rc^Z#1b~1+? z%_qO$w5&fjTF8p?-+2O#rtibUave=&g(4Uba)fj*SWkl9Os88+O5l5pCzK7gk#Sk_ z+%a6ljmvt{Xszytk0+XwEnWtsa?&N@9QmARSct)W!FaS?kVqSyHxv1Ua58$JI?kN}ms!Fn+cOzdybwdSU!*>ko#d()Oi_;J}@+E`3ZbvwB zcN~{JIu^A38Ug2T5meOlQ!k^J6#U;c_066ScRRG9M${IsYuuzWpXAWM-rq3MT@D_3 ze*!1VNkGo^5XX_*_|zeXcHcWlT*iC=swcxa33tKvZFR7HekL5-gK&QxZjm#=d#K5#%)T6uIl_D;On@R?MG(v&C$%M@<$c zw)8-}Pc;s%HDR88=1eQ39vj>?;YgSe3)NqVhH;%#>T)7En5qg7qs=)tD|0Ykssby` zzoF}jKAb>RIpM)y@ZnfK1g_dd3mTWA|Ake=-QASVvuq&8 zs^LHoaEgheh_HM-M7s(J^!)~?PE`&~Ty+huSv%t0yn1ZC9muJkaEDckGbzD2eCupK z$aB(yNq;9n_~rxDwqJ1Yq*M~JI{A~jE47JdM4?XDQCNLM?trq9>3A2oL`o% z2T~$KME|=M%$Au%Qdu>Tes~I;pHGEJ9W}6`dM=>975Hn~!OosVpx>xKB+NvhIAo4M z_^&O|{xc2@e(=~?^%0Hk4q&!hHa7We!rhxd0DFgkFwR^wdVmiij} zEme-%W$W4OZ#z*oWFAJfo=3ZzI@DiH9?op*q^fCE;E^H8<)yiR*q(GEfKIZ zu?;M3sxe;4lf|yhEi@*+ixyno1~El5p*}W;oJx8NS*` zaZlFf!}-v9*fu*FxD*XYD=NSeQ76(G;DY)rlLnZ~A!-}a>0g86_|EDl*lvCbroKI7 z#j|{Bo}Q1bN2`$Es{?avyYcGPHBejkyU|d5C8~UwPL6l3fI6-g0?tcA%PbF={ZbFl z33b|daO!y7cs$8!T?`+-+=T;b4Pn&)`>lJxZ_dkEL>!(#(}tVQFSt*(Fa4_Bce0HTDeQ$|I-J=1q5wvp7I+&MPKs0Wg zhci=R$PQu*rCS!#z?deio0f}#+!Ji$$}u2$C;hlV0fTm)At$f-gV1$^-Gi>+v0^GU z9h`*{SG6EvK!vG~62YOaa@>DLiz(!kk;$K@kW&3M#4>gSR)ntw`LDYmS~Ev*Twyux z(UHeJr~Y8<3lq#PRlpXPYl7G-mr48`b@FVSIh2+XLcZrL{izm&YnK(` zY|mU+{PY!79H#^gx}!<2ZzwLKGAv}ol^LIqWX{tA;mLz2T3f$}EE^k7|12wmb;?PY z{^0}(tyIT{-?K>m4|TkK<`o(y7vWdz#;rFN*ra{DK~vr+qfk)@X%F_dnbO{mH=X;D zZIoh@WgOYrjiFelpvmq|+J#&4_TZK1B%2C5guE5m^m#D^}U~Ah$Cbc8zB+TgeIJf9!^Hix)w6$SgQH z_p;#5uL_b&BA{G&EiB*k!Dc~V4te|69%k-c0>S~6RA2-EJhegROa5wMT7aF zxisN(0XRQs#)x}2v1_9!+q6oK$vPaJp*`~i2=BiE6AIfwrC$QFarOGBZ@km+-jIj{s`V!>H>X8sSdg^-U;&nm(!3)7|9ciKxv54k;JB`N$ zF`T_m5(ZdZByNeD!1tXFm$?18zz$8JroMsJI$wt$>$+jlG#O^K@B_MD?}u$I>9k6# zh8HAFM zh%A-ou5Pt!C^PB@t&n66BP_Vn!}q~%YCI7SFQ@p-4n(&$(%-qh;5TX)*{CuAuMSQE z_Y4U#v0R-ys3^zne5SxTJ05~f2LJdb{xaFH;56B^ID<@%c7*tgPWKW9I$!0VTgPg>Lv*i!H|_0 zLl^gH!lSziAfqG7my9N`;8P{hI{pZqF6&}f<15}yS)BP$DZIUa!pfHu@qE=+SSA0H z{0Ywm6>SBWI;RK6J{rbkZ%LM-@5D~5%g3ivGeMRpbL)>tLui%(H<>*aY(J+A%QEaq zuBHSkJhNbxd827*Wd*8~=Rlv5Ety+=8jY{b#00%=XsHWrbW1z|Y~%t7Kk1C_w~vs( zmR67~Y=AuVdN7PqBqxe0afjMp>^}64#zyp$%8u!{PxXHcmxo`DUl_(y(pK6-LraUw zXuRh>R9aS1$SPzD@k60#Yich-DNTx^^`84tBt*(eXecu!lx*?qA9y~`ea?NZ>-)8Z zt>1E?{aPvv3WY<6G=q{rOL{0~Dt>RPXS%-y(ckwDE=;@4uGIZuTWZ?j_=fqAZKX;j z&i6smH7T-NuZ$f{BOo+SfP2_m2`8;(Sbg0@dd5!@ytcUlarnTyb~p@bcZ$<+jrYWO zXEJCWs)pXMk6;Tr_LONUSW<6zPmT@ZM}2V%E|PTU>I{v_^(x-HW|;IKMbGkG&agq?vN zr&VAYWCg42{v#HLa)|0`6;R#a%->Woogb{BM2_rMgx2-SIA6XUlrOJ^tdAdI%l?<_ z?Fws1xoimGi&8=H%QRTu;sLxlDiC_-9OgD7^L3dFS34WPdG96uxIOb=ieoi|^aex5 zscImrv&c&~BWx;k;kUSE!>=78FxAtL^Yhoni?UOpG*bq@UG^bG3%tQn=P|;Oa|lNV90ZRi0bE; zajp*}sOlP95WIAqWR;vkh452k&-it~*N=uZQnw-Kaz05H)!=*;H90q-S{(o9FRIKO zg5t#<^xJR>dh1=mjOsL&zBLTa^$9}F{S0dt-oYCdw49-gD5cbDzCV`$0 z;qbFq*lYL+u04r>OeGgw-%*d6^4%<3tq`TVOVEA0C|5Y44{OKeLfX(_5Z_md_-*QBT(9GH{O!!#Lb_Y!N27tx##3X;rL(Vpmp1=eDr>I7^`g4@zJzNQ2l)lS^cFPZk)1W?d>+O z_?ir7ALqk`s9Ysm+|FZ~P$ZE&y&UrvG%&lwD3H3ooK#HS2Kyol;dr?;4ton=>{~}T zQr*E04Q0UML4ESGF$vMb8M>NhfX7U2$c;V%&2w(Ttmf%p=9dqmGk%cIFZY4uhKq1} zUN31pc9Dn&SAoV%36N3)Sm`4IiXXUKY@P-Q%HGgaun!)lgg{r%EJ%u%;j0JM zlk=a$;nG7%_}*0l?m{m}dO~Auw4(?toNtLQ+I`W`q z8PcsXyesLc3oLoxpehGnG!!JZ#b1Qg!N+P@B|hpSBgHHOqdJvwR69 zI|foG?f^~Q2>$(;1Gw{(3fhKez|Mg@aKG?}GQ{DKzkz7+u?V30m#!@YR`oD}Nz37x*F*3bkfG5|jj-X26C71=XFfbl&Q8XKd;G9~sBTjv?rN4i zeXF}9Nmvd-&UC@Kzjcs%@(BFAc?*)#QefLaXHB~lk7j=cs+YQr>gG?Pb2N0U8~wjR zQim5D4Jm@iAyYbD>IEFL@g)V1Vj*+w6ngYXH=KiT7;4Xev`16OW|dzs(L;j1;AN47 z*r%e+jU9q<*6>B_GNpX8E?A~PtCL^b7pQVJbbDyVDdvh~7+$cmNcFd>CL@$D~ z#CqO*ttWVT_!Wp>HpG`5N$i4W3A$=LLw9l(E?l;t6$4w~*BdFe?DPVBl`q64BxYjZ zwEwWXDGZIbT_@HRUYG_|xaLYCw4QXP*+MJXg11lk>Q4>0E^5X}D&Als8<%l4lEtjZ z_&)!Yz6GxSxeR};ZHAVhO6XcL1%swe<@P)}!yQ|+h>IzW;QSQIv7^Kpy-L0DKWS4O zZ&ty~mMnqTH6;)dS%5Ng{-D)@MO<}U1m}}$#kDnyb8l*AVs?)z_hKxg2W4l2$hAiJ z`0z2fSR99*A^q`M}-CSMPt z^tlSoosgtqViBxwqa%hK6=ZIT1oX16@Xv^)!ar9P_FmZ!Y1?aZ&!`TDCFQBwBylR8 zcMOkKUc}lQNqqMwf}I~ZO~MWJ+4h3#tmUUIIL#A*^2Su&ZN5ACIC&h59Jk>XyqU~Z z|B`3-;&QRfZ#KK`T0<(HcA@?@RqWRkW!lw8ai+RC#r+T9#a0<>@#qPho7a7;yOMyG z@xJ_b8~VwW=Nw*kv_Narg2{`miKW>gT2flY6ub1O^4ub@oA-d6wwVNundgb0#|QGK z<_xa+u8fC=9pFgkU#4_E84mhv;%J%#{QIm&{urB}L7O^Te=r4<2MKv{%n-RX;iP8A zRoG(O3hu@|pck%>(o0w11q2;+gO_b0 zG%(N=pJ$6O#RpfIy_7$?rBr}anH*LIPX;AXAzUOT#X0;pii>61;ey@-x=GoLen|X9 zo;S4Mo`M9@lsCkx?nvX?ryH32mQmi$`ZSz9+`~dLr_*beQ|LLBBkCJ_P zg8cg4B=Q<8@l2T#jMl8MHpIJQb0?FpEu(zzDbGnwuN2ETkd1lcpRt6t6TFo=7pxP{ zZ-AK4Q2qt?MA*MI3Vxqz<-hRJ=GRodBZ3=BnW$bk7>Ienk-Rw&`)EHittx>qNVB|Bo*`k8IW`*#k(1u=Lc@`{; zAHmLc3;5w}kGqSExR4kn&Pm0UH_7ifv;C66Tes;hp7W4~0e(O1^f?VS7cJ=YGo!#x zp2z8u`rP|t-_hu<4436Ej^jpBiDHQ?#65FkvzF?>!g=GVRbwjMyvB`woUTH54U}W( zetoXG_c>lsRm9Ho`Q*!nNc{fX00Y+964Np{7GzmS4iqc`YY9jCP+GhE2!Y~Fxb zVzK(N0HC26Y#4YO6j9ar1t`LY^$t{P%$9k^hLq9V7mADP?Hg>4s&?Rd`SSjpgPm z6-qz*QF=X&{vP}W=8b*q^Hm2_68;DI2Q{$YficZZ1-K_}faTPw!tbmRTrIf+Rv!Ha z(@6mqrV?yREadg<7NY*!`7r6GCr(mRC1r1d!8EA~Og;+3idu2n>#$=ib{p`B{d!n> zc^pkS(G61tRZy%i5&3zOIpKX$q@FKIU3~Llrbiseu3Z698!fnhw}W71YBn70k^>3j z7jVhb4rPCMvG>gr@yxqF&@W;M=aYkBQgR*kSY+{|ANjM6+?HDFHwi?k=P4|S&LwRo zSwuQ-i1$0}CSk)7ct7bLjxGu0mb!mO?%6Sxmn@D7?HWX@HiG|sl_mRKx0D%=870=k=~v z#*z(Qyo^24SY9y>BId>VWD-@+hkfTv5v>FNI* zSl;tKruTO>I9|zR>t)OEr=C0uRer{bKE5MobFJY^;3(XD8V-SH0x&lIIcS6woL zL@qvs&GQQ7?|CwgtdUH_O^1cq&Mq(BlnX^H?p7xIdEo?!@#awAV-FU7jK`$J72rN` z1_=;&#NRTsl9-*1V>L$Qyp*>})O7krEZ-)BrRf-n7@59I@tnwKijtrDUj6rsxDO)oro?jTnDDB@j_yv;1OM_G*oJt1B?8YC^a zh+dxALT5Iq!y}Ii=$|njuIpGpclQel%oWb4E79e1oald7@bftmV1H7>sF|pQw6jz9kokdS#Qjl!EM{A1XF+B1p~=H zq_}Stv+X=g(!aG?pBulI0UGkYo~y8~-L;i-OPIhdJ-9j*rUV$t-A2l9?qvZ7 zce2>+mP|o*F`leb$0rNQ@Sevha`sC!S@%7hSdB5%=(sp?=niGByRTZmf31q*rRFHH zL66M(CV;l487!=HkiX?o7`|WVi5F9}YtD^iz@U&5Z+Dk7d$k~%y>Yt2U#J3b(?AgN zog=Lj#ZEEXW%7i4UIOn6qS)g?8#aA`I%d7Sh{0=$_^+I@`3XL=!F~M=5L5ULTdHfI z$XlJJZeI*w`Ud%jmvTpPYnha%6M6{=di z&)}@L(cBu1H2j`jNyz4Lxc$lsENm!*utVAS`B5dQ57LCkw`!QS?FI6zK!n~L+6VT2 zzw!8mNbC>du{udDUZ6z_8SP3$v#=SQ?7aIJ>S_$1=|^_zLIjMfe-CGlc)^5)JPK<@ z`Pz=B_$gbu_*Y#w;G2Sb=+s}%p1+-s)dKBke7GO~ES*I+*(|3~0_9NrJ&yd|=g+?p zRKVQ-p1^svSMd1m6!>F4mFm76W>dCK;S`r$hpwh~Fxq;Xq?edt-vVp0sWgdw7XFUq z=ZBbLW-mG{&%)x{Re0CtH`2B9@nU-nrhMIidN-S_uiu_Xej2Ib+!N!ueRrg|lQtvx zY5y(!Z1f&CI204psXTmd+=yrRdN|T@mY>!rf};+mIIU$D7HE9Mi^tW;;Mg5pms6nM ztcG|m;4J3ENpMHi!|~kRa2$VY6Nb%|LbF^kmb_*j%6fH@#QJE+>llU^iY=siiXv7; z<>AL!6Zio;rOEudUGPyLAI=CAK+Wl;AW$32&e&Q*&HcONI{zfROBJVjFLkKf+bXy> z^(L$wKL~Focab5_K&bfA%v@dPaGKd`cp57MfTdVb=e?Okt9um&7&YSKnG&$Kw+vc% zugE^5K=MYfACrzO=JvRYbGGuDT)LSv?VFcOnA z{iu}V$?3&UhcgpwscO%7nsY&os-3fR7bxSb1~QG?(icMyg(XJEdFG`F$N zmVb(dT}cSaCv(@hgUmNy219>&NHM zVo&)*G~GHCzVk{UIye+otga*vXZEB1k0LZqu;ZB;Qc!+TPrgLNU`4AkCpdQjHu>%Z z!Kfeb@#q|yIopD!*BYaQggCZMtA>U7ZSW=D9`DD?aE^O)xvM90uy6GRwr8RYG)Mh| z;K}k-zQm12%=h6>7;Zv?JGyu*3URq(D8^@PM*~eWwq>>-j6Z1zD`y43Xk7~E&R;}D znm1DQA~Tw$x)?qjY(~>!8GPlr0C%WaVBOYSayY^i!c$z}-n+Z}Z%(mr;K~V*6f~qi zJLiF6u^I#yuE8Udd~0n+v|+LQAEMmQ3C<$z@F#8yWF?RJyF)1`|80exrkb>`={Y2= zkF3`8dqN&x`2c!#&q3bw1T1;ssXSy{$&cVe`;$T?r|_q{`KuQU-Nr|!kZk1;T684EgU z)-X-o9^ptLw`E~E2j@?4;vXEjl=JntM)42SonK7@qHU?UNDHAs$Dtr-35*ENv&#Bp zOB$nRa(5#|xE0mTsIi$NOAixp8?J4j@E>8{B$s8g~P>7GBC z3tAw^eNFsLvZaqgjer(KpLK9=2A^#Ca|i6_guVVu?_2-*IOJh#qfVSl_xgx_WOB3%fE{-M^v zW~L}|{0scrZbYYlwxc7v6=;(AAlbHMIbIJf~tX_nK0@E!8x z>ccu*Dx8Z8ic;{)Co4SP`GrKLErPbLaNc+$8zLfL1C}ig@L$R+vg(o;mlK?cSr!wJ z^aSAer-s}q&qnffW)E!Ds{r|Hny~A)7O|SG42v%*jh(?UTvc9)`Wh`zSSW!asvcb3 zS0OGpTLuF(#p#K9N|L=ipejila=O&$)t-0=|Kma99xk9yGmF6bPZpya;@IfaBs{0r z4^f4)iLl#pxW!_T7)=9eYzA7t%whV+MEajV9^~#5-8S0U=f*MZS;O5D%ifW-O|_&R+8Pxi4fEUJkEOW$OuDWdlK)%#%7W&FNSv%=d*R%H;8;wBvTx33Lo>TV9%qou=PeAsg6p>1@MO6+`)cZhk1yq6Xqh+4{as6nc_l1z@3+dd zTRwPd$~lPC_{hw((?NFnVmwL*p?JIria)u?e&wm+y+!}A<(=HI{F&) zXKjKR)Bdr91E5W{hR~z29Q=B|!{x(4px2|zJ<#6Htlr*4hsq&xLq5uKalbc~W=hi*qv84utiWp2x+^&b3&R())-9c+ z(a)SUOps)HnC4d>{kc>{V+&*jeC1!DiAv=Lpd+c4MNR$H8ah77WThgKDol2&B__ zE@rtX-L8Ry$tR(Ejuz=-OV}CFPG0zy3w)O{UAUVO!_0OFVB4poc)vdZb9`H|<8B+< zZlTGBF_Wm-RFhTiXZUu@4+S*O=ND1=0i(E z1o1f7$akx}&3?@)1D@kPR{JRs?5lMlI_w3zV4TN7cU~jC(H4+bQO9OntRzXjC&|`@vsL#y9bAO>F{ zB_;qW9V_?}tv0Y^+BulrP)cNtQi#ugw|Umid+|l5Bn@653fel=;9@q)v0HGKS{*}ZO9+J*2JgtO z<9~@zk_*fG;Ew{X_wZCyDQExi5by80GKkueNmoiI($?QAsiTP^9oi5Kzn&U`TU7zu zx^xoC%n9L|{}ggNN~>^*zYJZ-x1$R+O)1PAM?dbKLU(>Cf(f>QbnlH67~FA{e9ZOX zTE7)=@mWE{b0)WF$vgIKcO^D_^TZt|H{iiviTqB! zDvZ!TNOsGC#Oykdf4-mSB=r%+!Vql!a1!I16!6vU$@o-Tmp^HY@$J6)L-t%zxTJFy z7WdoGZhs>hZKpy9ukD1{OGN14HYc8cT_A70YY%IaA5S)W_z?}u3`o3K4=*P;Lqc2= zx^+Mr{`BT28mmjDHj9R}JUdzw?(}Asr@9{ys zm@gM-O1$qQekf1HbxM^uq}0LQ;XYXH6<0f8v;hw0M&Lrnlc?QLfb;4Hi0sTX$bHZU z(t=}M^g9xA(k-w@cO`k>GYOIojYnNFf{N-pI5U}G&S~K)bPaca2mU-7niWQ`$?c%O z_B{h#(YMSYBcAQ*E<(jJ1DMFu$)d`CEnH8MTC(8Yt4v^_gRRSV!#N9^k!W zj_9yQkK1!eo$K1xg5Q##5|PSJVD>7GW&GBFYnO$9x2t%}Keo^I4d2SkKC8vOGCGKZ zt3%N2k0M8K($ZhU@vAYtFH?+k{c-&`rENYQyoy_Bptz0N=PC zM6aOJ81elgekyeY>mojrF;0c6*L~q^TO>=US3pZ8N$#=TcYI)}&GpL0;05KAxY}79 zy)vpAHU(_ zlEpAEnFF^RH`qG#2ksAN!34=MX4lLG9iA~Xmqd}^u7Bj%DGe5TCk*C^ye7-%#DUh5 z3FtRIk2m-ABx0zbNaIqT!H}m4dh9R+{Xxjo4(z+!6?KH00rw3)-O4-^o4ZN&~ zaoj!ca#XG@!x#P~oX_`bI2Q6)ebgtXcuLcXhCrYm1pJ zyUAi5pTbAoTC#Ua6pT#j#vKKYC@?6-ts2SYG^dF34TE*)MP3;B_ct1D>xGbij)p9! z`~h4V_Y$5}%aS8LtKjIgTHfgDE69_mf;@@m@Vo66E7la`HOcM)g%*nU2Jb-nuoxYG za~vyPe+L4iQb2gcIL>i;4eYMqcoGx(Fk|OR0qH2+YH&e$`%a#|gb?#PhS2d>IQeITCFoSwt zR;S-SWx}TFS8 z3BwPM-k@K816gC13v7QbOLZRyjj8I~{V9Z0K_&aQVF6~euO#=9weaHQEtvCCjtlP< zB=$nLV2yhVPV*7sTDQKz6=4xrJJF0w+UtvpG)@x#AAd++=0=QDo;=3jK_t{859&8G zqtQQSu1EPw?b5C+JTxGM8vDPn6zO_W?7obg>0Hh?G|6G=4Ltx0qsgN(9WM6B_%Wv+ zVe0SmiL$H%h+4m^{go(=SATo5(0AV0*5<_Wln89oa)zcPV=n4k9U0nW3H!-S5DJfk z!@1)zrd0}h9Ae4Rm`7wlOU61t;t$!QGeTz1*2lL$vY;mIFl*3{AiBLW^KbAp6=LnoS6bwbd&7^RM58tHHpxey=YMY$!cdHDVJWeH3*+wSc+rz&;`kVJf z%Z+VPK>VU*PYU192ERNL*!c1}i|rS|1idz5d3QX1*O!B{FRwsa+I;vcB1Y%$=RnMT z0%+Y60%QI6?BSyka$s>c2|tocx!W7h}oL%OKE371tKQo+7JXHpXVN2o6#z?3*Z(YQBVTn8g*(iYiBcNK_O$L^j<5WR6j6YP4c3&+q zx4RkC&BsysvwJw{v>b9#Pz_|4z6AQEij3R(oaMEq5$kh`DE%`5PkxTV^&3p-mgZ0# zi4EY4+KXXU=Ra8W(~NA>X(ti8He+wpFcXh`!rwB`iIe6kpqJnP7+qhB=`&5aswE?= z<)IMFDtpOqGqfXe($?(35+3q@+mqNuZ5TJ-h>PHI!Dja(Oj1zg!poO{Ja3fQB+VLg z*bhu}-Y({>hWsqQM{vwr4j+BB<^1bJ>7v3FI5k0x^Q@MJBk{`Ae}G}_Bo)X#VTMK? zu6SX0DoAv;*2uUmK?ylim^;)D#oOQDiCKkYU+xEZ6^X>y!Ui7i5r%I+?z4cdMDm}) zJP7z1g5?ed5O7l#%Pf?!*-!zsMNP0bSC~JLx*9qJ-jR_eYbLImOyYM4q0N#!cI)t7 zJm6xA$D3;KpkX9<=^ucD+d}y_f4YzvkOGM{_^6@%ptod2SYY(XWz&N(Az!c z?7Kv$z;ik3qVy7S>%!rtm=Xv|7BRv7#q2@PG7S0Y%%y*c#p?>KcYG$!jeGF7`=R%|CX z)>{VDtuTbSRvuvy?>6uo)I#vS-Zeb`=^QbNT|(!b(xkf-X3>%gIV$Fu2rKwID6<*i zuipmXw#xwZ7Mwt_`_kNE1y%O;Ts7Euo6yXx+mLT8N?i*!qsVDn?1dDwEP6n76_#&=)Ovu07m@-+_ZaNcRY_u)2pIA;dEqvV0>11@qEzEWIc zmJ7o#!nFc3qfwYv;K~DG_%R`f?=hUj-t5SMPHA0mw@SdyE&gcld7bFzq{At(bkv`* z5y!ip##(`7Mzg2GP~tT5q}U7=>PLgw4`(vxY!L~KD1{rcR#Z+P8!woLqUfhE{ubI;s`GjbI`rfi5f0gNxrysOWzMu-h^Yri>o|x1WYkcxD~mJpBuI&)>sIB`)X6B%d;&T21;Z zaw7FS4D{mUDfGpnbuhO%8{k1GJY3B9pNK10wl;&4_*leUG?C{1WFLSsF$L;lZ%8GW zDgCN949}O{g?LB=;VJbvQ{@!bzW)H{dZB=e4vga_nk9kx?4=Z@ET^quD`}E|F}*Gj z2+Di4Y55p$3hQM9) zsu$J4INOuZ-6zOx3a!Rn4YPosaSycft6+PaJXpPm2bEdfAXcahyt@bBy-71{FA0O6 z-{e`}&HxB%8U)KDkyy^|V1Qa1uV(i-US0AFi0~dFp$-is6|V4)Efwd=kIQl=GcI7$ zz!cmNtj6g!3Uc;ic|OZ<5wGA@EW+K(>m%j4uF6~Z-LH*b zD6Ng3Ba-=_=gN~c-_l`bu?aPIsD*nrN5EiuA=EAwp@zvx}EYd+wP&Qn_1;x?JueG3!uhTDAXnp}(u0XAf4 zb~}qMPs4g~AvAXwF)P)o15qP2C_c8Fzhd@6 zC~iFD@LKK{trDcoe!lkn8lpj2FdpzILd~OBamM#E2!?CX6`Jsf^V>K`!5ab>;iF5m;7lGeYYjDwB3aV$e!u5_)STXMx zn2#=}AFRZz#1xR&ISyt!O~jBFm&nR? zBS<>F3!V=xqOM`fiB^mn*ZboLzpu@ir#>vm9W;8wR+QGjY2|6yb?!m!v_Bi5=y?m= z0bS}Pst>|yS8!m~R}A(a2fc6a;^&km7HgP8QY)8{QD=Dw-TjK>Up@gx|J(rkj_q)% zVm>@$Dj<|ey@Jcb;xzSgKdjFcfTn}j zKxM8v6t6i;Mz382!c7NHFA4BTH5q$HpUL|sdtMTLW`Y-vu(vbDqiR4H)+B{78*@vz z{y+#m-PuGM1GG`Fub02X5NC?O|j1Y@&gB>G>{K*?Qw7-Dh)NA7-rgclOD z_+2_lw}>HmKTq%`pRqx+8QV~Jk3U|{_=*a@ZPAw#;8vArb4{MzIB-gmO>G><^k3!i zD&4}Ey|^9!#kyz=%kBWF4{K=OaS4!~u^C&6y3n&O0v6nv3Yl6Wyw)Sq;E|cYUTr%G z=B~j!%acDLa@|?j+ap8e&sXyd$SzDtt7FUR0oI*Y1{;-^v-fGWXQ2p>L-w3jxLN*uLy|S^m zYZ2%{9lyrT9M<3442!>3GKaZ`nA6%+o>RRhh}eCrEm^V=O&2bMSL-4$cx-Rh=ug56 zB5}~K?nutKAsaork#}pNE*YHHM%tIeqjQ@L-Z*AYHy?k)y7R1L;$t2h{_+y|CV=Y&Eym9BBe8z?f(&SmGHIFAssW|F ztXR?&60N4e>HQPIZ2k$-zWqKZ^S45oyd8 zqX~6H?WZ&AiMWcNM{lEJ(iL*)!VG3x*UJ2Kc3}01X13$rOxREn3Ll2k@Yl_9+@u(LXg6Mh5x_#1>St!~PRlyP^jh}vTEf$=orgcwBhmi96!gvzLWS4o!CBlK<+pES zJp#obp)v(Lx=*tl_x&JPX^-x~S!nZ5hTJSkL5F`E(X96s%-R-(Z~a@@C%s(&#!+&!XxE$OF6QB(_orr~Na8q=p-CNB?#0iDw0D z(&`_)xLh~9a`qW}8g>KaHGbh=Cr_4~HVQ*C-EiaQNZzV~iQt}hhCFjxM-0FE5S?*q z>{*u~E)da!FY%>3)44z3enBLZn3Tiif4;<5>m7Ng?*nG3$H}QBIruSo3RfjNiR10yVX6BQVy<`z zg4cV|x0eK|SHK7O2=XwJ7XiGSsSuYk2}GYx<}6pabKjNA*@?NcVX3^$l@>KQp0!>=q*G0I0s0U)PcJzN?`D3 z3h(3VW03#s3s5y_^6hyhx65HQH{Tw(=p0L^K5-pCoiQO^pC6N~4tH=~=mqzRnqXsP z4%m0jqOVPN!>K?=woGOrce~>OcJSXI(_exM#ADdP z@5uQgNsLzbh<}eZ@`K8C!8vNol@2T)o8v4b6;4OtH-k`hd4QRSgfjCJVpM3;VX(R_ zOYX+&@h2YE0R7%e(03<+9RDXx%jFGelB6q*$r7i}1J}|C+G@1*mIo9~A7VpSFAyC! zah`?J5ZV192Bw>wC4HR*u>Fq+v@2PF^YOzh{%IHf(ziu1PLk%$^a8aVkN6!wvY|j@ z9fZoiC-Rz>;N&|9!!FBs=U41RvSlfwM>V+pJUbZYc?}jFSx>f$o*{-*mK53c@{OaE z>C4If)VcEmzsRQ!ZT}=-m*5vPkUm4IoW!YZY8`B_DT9x#)jVHO2Obw6$M;l^q!V{8 zq;y&+XD{Bc@sh9{d5=zc7hSV4SeTQam-BHhDxNYp+k;wJni`z zplaaG>&-7Aej=q%HegO7(n5K@j%tuatU1Ol|`>_h?c=ej^gKKy*4~@s3)=m;P zMT@*O3x`Aff*cigB!Q{XbYJiVsQzy$`rR@|Yqu8|;aq^%=G}n1gDy}o@f3OedS|fy)NkC$_5f=OPqWs_{>`i$AF*g(Gt-op5 zpKrh-Yo%zvN-gPgp3E0(%poaX=fT}vXTme;VR8H}{8teSms|wsTDv(|XwVJWb5_u( zFF_>f+E8uXu|2Tj^Gs5yFavffErCz1m(Wzu19jxZ@$ZT*6!!|EI$}>?%GPdD^7J^U zEXaZhZ*5rSHU`@dGq{;_f}O7Wi>@anP;~nee0#7SWJiueQnoWZzPlDmeip&Hm{_J{ zL}0eBDs4(PVOar!usF5>AKzY%S#@5RFk*?f{1}uVZasJui);S5$4|V?}B}>DV^r4NSkCGV1I)@Tn`_C zGwH5yGIAV5G$`Rn<8R#5mB4MjdyFd+o{ld1kx;pHGboOWgO0-K^tI?cD0=z^299+R zd+$T|FzgLhxfF3))&IDAn?pHAQqL3Vod^RLUV@dRBn@1>kbZ4^1sm&y>83e)v^;1W z6dTxcUN7!(E;~9{CJaEoY(6&z4HQIY4K*ThWx z6X#L2i#yuUz;rKvhVt#=L@4wTYne2Ur2G)0jisj`_n8z`{=ASL+3*2^xJq)b`VLRN z`y)B+e-0JiYjAVMU&g8+cXr-UhtB=B2Bx=;FlB3Xsy9uVHt4y-fy;LxXr==Z)>r2q zthMDrp3cR9S64`WuL$i42`0CV`0V6_y>O@_ki5G#6{D8?;$IyJLx-hGTnPUY5zZ?l zGvB0v%A+0N^Hc@6h5D!vdKDKWJi*yd9${6>Bb>RunDjhbNVFpC@L0)pBJ`+~MEBK@ zg)1E(WA*^7H&LOA9~zl|wSDXh4dEoiW6&lqI^7DUl1rhj!3Eo{}`{;1?&#|eL2KFb5Yc$AXlcT3o|AJb@U zQ!n{=b&L_$&EvWr^x){waS-v*<~VVEJX~;@yi-Od(r}&K>^loGVN2_G?JNhnDQ_!B-qfCCS%L+F1Uu+4Neyh?pZn6(lNWNpU)$=P^jG4e`7e)8)rawq{fpjx<5+2wVoS)CCf^0H|-0Ld&c1Fg~Im4vjxf z%9WLAA~H2Z~Q)TEmN9x@4U?1*1W`_zrg)>&w`tO-iZ@Y7UA5k*Wo)eXHb{Vj%>1YjwLn;2Ex19LO3bo0$6!ulIUG}Amo3E*P{D^^?h7G z?w>d0g!E}}t8#k9opNk-u3a3NCH1D4ecq0T@L*uUDtt4>Y8 z5OXP96Jtqke9vW}Vz#*T^l{SZ`3ekjcfkqAI$WKa05(fR;FrV__W9H`QewIe9OUM} z-=$OGL!l+UoE?K{qt{t;%S>3gtOT;Xuao`1h4`LB$2_POwqp6g#yk5+44Xj$7Iu zn0aG&zw2YRM&htJ)O&p8K9mmm1}-mvkV5T??TtYcAyRtKqOk2+`{- zAOT_b(cqm5W@`na(R+DZU8@3jDl_=iljh*%oL3cR9_qoUS0-JVbBy{ouA)=ju0q~Y z8$1y{1r>fJ!1V`}05?ywnC}i|zM0-QQF)MzI-R8oC+}0i;b{8vs49p!#j^69+c0di zF6{71ho`ZF#Pa%KoRSiP5-yi;y0|xlbPCe21ZgT3qlyymCSX$iYSKS=1Up2O;D^s~ z*50!fpFXZ6rxsK0b8!y0^ul}6*rQAB?>3k=x5?2{mu=wCxB=p7sK~2!F=9WK9*0g1 z4`!pF%E|rpxuUorH5GbH!(qdjr?|#A z2W{3ahq8=m*iohfAHCaPRa7F3J6B7>bAA&w**-Ej`2k!Go=iJFvUy%tNs<3K_Jlp* z={zxk5P_LsF(?dSDHFguUyj{_cE$<5L;bTgSmv-B_(i|rUCKv@lT-!U)>@J~B^UaC zM3!BiW{%V4B)LB(i@1Fg<8XQYez26yfRB3ppwu>wdZaeMe(Q0xN-!VhOB{#u{nt?A zy8V%Hu)Ueqh5i@?c14c z|4%p|8bo7HKZI00cY4$}53qOzy(4EyC1aG?`44gI{D1@B#kmk0GE}*}bB^NMikGCV zG=ceEK8Mb8n#RVgnlCwB1O5vNhS{S$*lu3T21l)6B&(P-tdzkmBj-V*W;XZSSeMJ# z`5BGdF5_m;5EN()10Q7q?Iz1$?`|VHd(|$GSbi5b;tG6s$C}gDl;iS@G*QR%DDKhD z!0YQHcyH_XkUkX&I==E89QV4#Hh!Fe6WcYp7ZatpBM~XMQ%sBVnDPomI%C=Bf;Hqm z$0v8b=z*GLiM*Sg zPJ#9b6_~N~6y8{R9gXxihRVqFoXU&Ar+X#>*ipYRO>z?=z{&y2+{%xAQLRszZNQJS5(KKuROz zAkDTJ(rfcz{|!wT-nknLtfoPG^J$V@<<4@C+2C34b7XJV8z@>BP~nuJ%x+0qu)5Uu zEHC;hY1ej!TSAIZdbg1j_#ea9AHIRYJr^o)LIDzD?_s9rdm`Rd0xK6zg?qV?B*MCz zA9wm0|7(CJuG%w*oA>=CDyti?qUAgbDvx1prB+O2bPX@t@-!?FT?q>)eNV1p$GP^#rYs%|MWz$CLcjkQs9uMOl zYpOtnaVcTS>g@MY}jlT)4FH_jm z&QuP{-1T-KcSPpXH!|8Bw3?$zMw8_e8VMBsU+ z3Cc7-#CF#QXg;-(WEd)e9xgwA3G@0s zLhmgKYk#zW$n!&RaYhqZx)gx$g-dWA(}{&_H2<3PBC=036KrN^(Szsb!qb9Icsi>P zs!bYT4L3~e{Z2w#_9vFezskFRFqh=%4zSkg(|ERW*I}ceF3o5-0RvxSP>**4-Twu_ znW+C@rP&u&DCA9^znj8l44Yx{&W4ISMK3&Wbqi-Y3Uha-ui|eow#Swi$~d6_7uAMVP1^U%S6#TR+g8i%0kWghwLX9y}MmVnJ* zD=&Rh2u9X)LyfaITsgjgWiGNsq4ednU(^V~*44tAuO4vQpb@0EmXjuBe}d;{u$lzQ zR9$w$?VC5CUCR+qS!Gb0#B}ggQ~>=!H>mg1fN5=_yiDJ@Fx&bWx}{XH)N7MqySEl~ z+kXaHe$Sz^>rP;bi3L_2&NJJxb{dH<(I5tYLqL7SNj4!`5QX{?w0pln^^E5*A&0@p zKp2~xY6zmYY+yji1t;x`B)anq;Oc!fdUh7U%_u8e9{D;9&PYsA=p9i=#<=_q#i zr4puY%pzV|16w$kx#jUeWK$Y>*LoSUX8tA-U*}?;?G5ItCB@#XbR#i8qw&L=Nw^>@ z5{C*ch;r*S{(2cH5N;SCo+Z+Bcxp9V)w=)^m;NIaE}@JYiDJQGE7AReAMzJ0#xK5M zc+q)uEVn#>#pqvS?n!Mv z*6h@!f7m$s%=0^$9EQ06gFG7g0mWQkJyT3@j6 z;33oA;E8J#e8A8r54x)wVRwosEoS8qARY{V&7{#Kvxzi{X7F7_elelUbkwbM=ZgO9 zKK$MbiIW*62-g3X05MA`l*R7yPrG5!EgK(N0FI^)rLFkdLnsYa~Bs7Y!}N<^MD zJ5}MH^YSF>=Q5(yT2Ic4oq_AT4{%z10N$OmVv5a&P(o4@rKY;#y50MD6WSJ#TN49W z;`|U8_v9&=?^X*}Hx$B$8X<^Za|m0NMBu-#=}_%=g&Zl0W;17AW1mNC7?*~mq0a$# ze~M=7=Z2OmI*kLnE=N%5Xo5Kr|KODB9^!B0M$$r#@z*|+2aQfY*qohAM(3WxId)^* zAoGMQIP659n3%)qje{T+^AYkLlptV-1pa|4@@W5T&}z+w1Y-r3X-44o1vUE8c?Dg1 z$CtkF6{2Z(vO(*k0!c2&CiSlZAadDXVz^xvT&p!<&(S2@=w(69O*{qJud?8_Sql7C z)TOF5K;4`t)92gx5E&2+)|;lo3ki-H-^*Y_uO@LW)ylYO@mLnLorsFo>wx^Rq9s-W zbiUGUSYH%(N}zQwbs#cy$H{!Nm8me!%R&(@7;S1MTN-r|KN zCSs$>C$w~LWvzkL1{a@)-xJ!P)ZY$Vn;V!gFCGS6UcdqGEC{wWq`S@@ zf?ta+V9f!4j(2mIFClvt*Lpi)^88VL=%qN^w)83d%4>j9mt{2dU^LD1AT(&oQ7q!t zaZYicaM4+DZdg1BRp(D(!qvaXsyzU7h)=qechdd4Lg{Kd4|;#l8TUPmLyMFDq3yG3 zv^=QA1s+MkOZA2*u{jE6(|ME|vZhPkD$sKx2OubH5Xt`UEMQY2wBD9u%cg2$$f=EN zFiw#*I^O`5TzLpN{)bqL+tIjHk?h>2TKpg)#fr9gP=$f@aLX)@s3_>d_uDBjpqdDr zxjCN%rsBTLP{{jn*Q}bTGPzJ$s;v@8FRI%^(Dh9C*c}cdBN6a%fP%%YHlDw=JCuIj zK#E({kvg0OB!Xe`__xq&JT@PXYJg4s2Nz$JgY+LB&nkZfJk7F$ zT7i`?CGI@P?Q*B-Yga*#%nrhnYz4J3SI>+p%qoH4i(>TGn6G_3-a@u{c*Bt=i_v?f0M|T4g1fl=G22(k@&AT)!RBix zV3+zo=-xj+>KBU#&&=VjB#S}3tSUq`c!S5{AnIo%M5oVQOm}Yf zq8*k|F!;|Nmcj^s=yfLY1V=FuZ8^)}y)b=a7dS~e;HaJp{L8T9y-)6htpiWN&-fx{cF zvT_JY_!FpL>2-)cTt;5^Or*ctYsks=OW?}=0iF6~a5lCNzTN!=BY*C|q%&{Ho)1Bg zsu2JW^-`fmG8XuYW$4^D>!4oIgQOTpv3^y5nDgH+;_0;zB0N6wyzAbRYVFvH>+b3# zGD{E1@g?wI#0~yVp;@r4nT(x5nV1IbgxUA%$cn$oxVmE{*ViA-rR*NSM==$+ zGr1R%n+Ks!c`K>vi-%E>KSV#~0@;=n#xAKn!bG2=+}?MLtFMsYZ0%gZ?a&1JAb$$A zyd+HH>J;eG(g3pX&oNTD^Z--ps7He*YTP)JMDD}TDSp!9Q5M;h3d~HHHfy|xz(3>Z z&!|*TtC<3VFPGt5&!uS6tcC8Ea`0!}I4}@(B;#`Sk~^=J!93L#M_lGY_s&2l`|tqJ zRRE{t%pcRb`P3mrhX%9OQ98jCxOW7p!D^Cl2ukF7AZ>9vQF<=zz5|mQmpYI`oi0HK-K_f?>*WJo9%Y zZkjWVEJ;!Tn|V>>rdAA5^jwZxpUuU#i$M^3;ueTqx&&?B8RYw~$H11m^TZsgV0xAx zSa#=;8{(_jVWBw89f?DssajO8t_T)SdCof$ycJpnIzWA`7@gl!4-0>sBk3Um%%@5f z$IVpax}Mpyxr-G*Hzpe;qysU^qZ>Btv;mW*kMPlF8@Q@#;N_%w4J% z;m9=;Znj$wv)KHKw`9?Bu+K|}fSb>uBG(r6Upyt(UU|`bD&i2CuFVa5R-=)T02lQ= z9Nz8DhqP~bW1RDm?6(o8+HG2N#k3yKxhhI4MK9p|MrC}qx)~-s;j?B{O)#eKNPp2^ zvc}gNHuk8{Jw$;@pSZA>)J(J_{_l$F5v zek0hCmd!t?U@IIm<@n=^-$=N!WC-g?}XP95%VMhNPNDB=sj*RWY| zBUu>~h10W6kpnlb5jnL_Jlk(6@Z#=Ubc;C2nLG`_=$)f5^q&V?aq1K_w2$KPTq({r zER4TR}j!s!wbC}t_c>1>|CDV!7JMpGtn+n*)i2c=Mc&wwD5 z#aT1o{4x-Aol9@sGNPtyltBDxJycg&pm+a%4)u+>vg6s9YyE`mEsG>e%skO+xh7M% zFq7)>JZR2?cKG?55BFC5z)$xkaPihh@zuvI7-;Nkw(x)*U;4oxp4!rl;N5wWoiG<5 z8!`*oSS-cxkren`J(ktPeBeWIFe=^|hgo}6cspFK@*YGg(77*qYL&2=Oqe>qAi|wDS+trh z?|nrgk4n(T35C3WpBi}os3vzsD;DFH&*7dGyhkS5fZ6AfCD=6ZM+#Sweh&|rk+TBC z(&BNl=Q&)!MUCD2No4Dkah!%xD}TqJCRW`X%ejNP%qpjrv>MzY+GFb$hh2Eq_6*~{ zT8oF>&Y4C1SIc(CmSeqF3Z6PMhisB{CF)m}K%$BcxH?6_LWNs6{qrq6{>B5}#3rNm zW()K@6N9Z*+lissS|a#K2DZ9yXTBMY?8W?8_N6$5O})LAZEpF;%J!7-#hxt3mw9V3 zxLAcP-_*%kX1yh3u$zr@_2Zdv7LadMK(<`D$98P~!j^Q8XICA(+1Kd%Y>m)#GS8~c ztYKRyBx;-mi|S%f`u314S;%LKKT}DFkrWr3;e{_erc>L#mGrc321xv|g?8T;Ah_o( z>HQSL3-aHELC<8l%U=uNME^wEyFC`)H{6EAH=p6;lXY}ZT%Oupc?#A)xA7K)CS(38 z9ZugxpEGN8;uhS>CIdZ1ps~>zHicgyU#GtXnXI>P*)eWKJ*KQ3JH*lvi4J9Bwst2Enb+F^WIPUoVRooY&FfJrh7WQ43 zMzj5r;lSug(sIO{hS^zC&0}uxa8DE5^p}K(K4E0-&v>lM)8bs*j&R{CYw><$1bS>M z;?wwYST?E;=f`*=>xnB^oq7ZPFIUn>U-)pKh{Mc+HyE(?2KqErVf4w(c=zu|Ue!<% zRQ!GfGRsUzXW~bgymbu?K5Gndj+DDGvXhJSQ9%)-65P!Sv6a_|4^Et6!HbW<-@TVW zRbdo5YmUJqH+gpJX$E%X$#WC7C*%9F@A%ua25;7mpmUHHn2c`*7E%OD4p)-F@4__c zTQE*JF3PPY?bw(3k=U=%<8GK-B5&oVkdV4mIHj2cT5m&Pm%YvW&$9AR^l$(cy}!#A zNfg4Z`y8oSb(R;nyM!J6x*GcDmqCR4VaPJffRo?C7=J+)?D~-aEH^e4IBPha9vIG` z^7E5H^NIk??{tG-$8NIwokc8-#jz(6HT<&PJD4-=7%`ig2O*vY)cCFy-7owJc5N9N z^RYI_+&P_`ejLJnzfb`K$4X56oQVOtLe%rZVS0Bfp?mIE!?j(uu&hg%Hg?_yEBT{j z#CrywwJhWfXVswEx>ERL>`I4!C)1Gszx!FStzyYNUwk=X2s+qgXz_3$otIXkp}hat z{+*#H?>YRk@uLZweW>^YaeB-88}atdCMmT~U~t}M{>)|(w7q6Q4AowgzvZt3pOhQ0 zRJIe`=LL}C3(ROrnIF1X*O0fyTiJe*heT<|bDpXFN0K;m4n8(K$(+RFF>cZ`A~rLE zm}N|1JElD)H?Az8t+yspy@}HBW7l&s%eIF_yzV1zyK30X2^Wam9A`|Ll)gZw5{?ywC54EyPAuTao2k$n>tr<(PZ&>3EVrH3cN-Fxax zbLt$rlIqf$l9|+@SeH{By@+`)4#E}Y2ls-O!aLbV%p>(4F0!8u7BM%7Mq&*lhfSuA z3)6_=@Gra+eh~W)S&^NNDNJ$qTk?JTDVSFkOZ;rY!K%iV$mb7{@MB@T?lC6w&;7t^ zV+qpEQ2txhr!blo!e&eXtTqv6mGL6bc})!lIz{l@${?1u?>sb3nMCbw%W)$wp5w(e zJJHpukg*I^*fK>J%XS0IsXhv7@{#PwD43oWSI|D^G|c@Nig%u^L80a)L}5uXyQSg=C*J%d<{dS><6?De zv)U@6b2%8d!+E}(?>gX1X^hpmiCr&Gzyq(o^ZZ&jF{@R^V6(r0#~(gL-Z|XiUoEXC zL2XAtzcZC=3@pRzXEMNVc(h{K+eo;2*%A3KCZmnA7;5W>6A!!NW^oU2a}ayv93znCN|W=HED)Vkk(R>NUB)A-x!M=Qg_> zJRUzO-D7DVoydU~GWfwYk+<4Q5Nq8s$h6}?d%B)N;a@FoL8dWxUV=g4`Wx&<&U&zo z9LL*H)Wlz~WC5EHWy;sOX9-g-Y16iWgYa(!qGr7#7XBv&kw4s6Apa@fh8*KB@3MyT zE|QS!tq+FTpUD+dLHPRb7jy;*a)zIEAuL!Ed>>ViZKk?#|Hm%!eZYn-esBRC(>QSb zx)xO9+wsJEL0a9=$Tw=*1|#3XNYT6%AlGuDV&evLP!}7UXJ>1W_!!9xQhEa)3J&6z z9APYcX9XuWAv}zRG7YW85PZ~*K)n(f7nRKvY~G!?gGhW&200W3;cp( z<9OdT8KUO3HT?eAI`(zIfT!xU0y3h6*i<usvCujd z;}Qb7hyJ@cuRU|QB~K-(#eNSe*Ck2ke0HG|W$%DiUIWiv@iEET`jSnrQ^pm%ZhR4^ z#1+=|;_vT3lh%sToJA3I^@7t>t3rfsIyg)^izG;W$iIs4l11#0#zuUo%b3}wd2GE# zDKy8Q2Is2VkYyDN8QZRaknd6W>b;kwKe^v=evYrJ zX2j{Pl*8`I54?Xf!^jo80y4)ui9IekOI+>8gH5{xG~7Q1pD#LL?c5S9yl;#&c`+VY z7zU48s^E7`Ik>(&#_lVdR4gwDVj45pi+ZB#ImxQ|T5KQ-)%x~T7ODD^&q*l&hVKAYtf)jQ-C*Hi>2ZYS;s zdgd#cE^&l71e(+7@7vjMRu&d%T?DGx1LW8^SioIklQ*n^cW)fQvq6LwKJ7LOFZqWS z$;y<|66LJoUb6EmG_ZgB6Qb6l3`H+fi0p@%u*}*6ULQIIs=fzM{je_v$(@4;$0I0w zXbn$%tvNc_UnfHn8Ki}?V|P3A$*u{}u)lK!9L>@sQD<{N`e7u@ee3`^L80tKV+gCW zXoUki_+X%Umb`oE1B$jspoCq7(4iS9KU9N8b1PxIZ49(&jW9E@Qqu#;2cdOy9@))( zBKJ35=j-Ra=D!|Z&cybr5S@)D#`1s$ZJIC@Q6z$yq(;K!hHtz`-ZCgXdx3XIP8pVs zp9#|aAIUco1I=gGRD2jTh8}q*kkc-KM{109OWX28cN#+ea16h@w2v>lN(5v5^6}BX zYa~Q6o&=7IAhXU#0PWg=UP)18+u7yp!@_0QVs?(j=U?+Ccez z0@P-G7L3>V3%<`6kOlQEaHMsR-zX(dJo&%bjeug-H^yf39?U1-7JETNRUc?;eS_*t zv50_l4=%C7JA#g4jFye-B_#F1wYi!!o_f$lTjMLlO&IKp6hT?d+XZr~mq zAIEJv>cd6r%3yN-4r0dn!C~hBwnyHUNO%8WmNEK>X1bihzZOua-Gt*3Oo4>z+ixeX% zBR15Me}R@6ggnI@2$Ukd{& zL2O)CE!_P31kQbph1WHv)VXsH4otU0(?gfpC7m1CBR+u(;3m+$_6gK8$(v4?5kwop z+Q1;-4!-?dzr#|9?lUpi=blGmbkm@J;5$6Ol!q2>JT$uZhn1MxV2<=I z++tfwR9)+MwKeW=ce@Eu-TH%>D5`_UI}sv~eiP0nY#uYzF0y4(FF$dXAp9O54<=tZ za&1*Kxjm$h1_uV2o6#4rU&Mn4KV@nDw?PtP7ezR|$E3E{mP|bGi3n|zA*Ym-$p)hr zC^yrR^Hg8UO*gd1^E-6N#J%HbZ?qM^t@(S!iz7$afysZ#>~s5|>Ea=BD0Aen6@r~cPOia9M4{i!>{u3 z>R=-rsh>ox@8m+CV;iiQb^~&21HfU63fwFdL;jn)r0hj6PxN~v$~OH(sg;l5k?|>z zGBDiqNx5Vv zp57gUnhS)v(uW1i+BmN~^5{53&wP#-L$)`IYDJ+1y2x^o=gE*b^BVZPjvmw6?GPj914oys68(b)FiW0i7H~)w_3V`4*U}+K zjrb2#SC+!Gel2$?HLm6 z;0CQZtII={AAtPpxsYmm1qx?hh86=8wqH(`(@DAjZx@K5?=Km;e603gouWZJQW(|- zw35oeB=GBqhUTU!c6fIb>RO*eXYUuhlJTc-=Bx&oF37-E&kWw$BDlM6f{&eF;qOKh z*ytAw|J3h6>(3Jqd29zPeXoKBXH$Vw-v`%6InY%*3A>`rp`b4n8pDo5rJoR8XxPF0 zM5;;f#3Hond(H0T6hKcx78nYIL&Cmwuwoum^cc0U;s@#M)CN-?8{?Tlxg6L#bt1#Q zwM0=-9992BL*e&-;Ck2+gi5^F-e)h^cI|6KA~PJ$HrBzGj3ks1c#YW`mFdOq1$5QX zH)Q{!ySQdRo2+WfW8ZVNap(QV%sJZ`4sUo4q7f&cBe<3KVAEF;5*7`YH|~e|jXr3b zREW>)>Iv_QC5(TYf;l^vW757lR!Ta^Kb32ECsLJrB*Wp&-&>f~O=Zsdkt@2hES7E= z&$m{JGK)L;gSk}w0hJfx6io@|D|(Zwt$B@i655%C zwt&dmeO&MTr*L9)G0_i6LKV@mxovMIqEg3U$~RGZrN9VIgx+IqK4&5G2IC#5TZt1k zpxdJs?lh#b zhUJ}P=g$|AEq0!X+5SYQ2^Ya{Ec2XpwZb`*+RFbXRe@vocBpg{z~3JRn5gnO=3u=D z)by3m$Uu}!u&`k^3);b<&;reL7V|@eI!H)*1=~LV9{=*6D=gVZo+m4@4}5HQkqR(^ z(=(FD1;u#gwQ3cUFIi)v)Wte+Bkd{cby;%8O{kQDfRP$AYSj7}Bl@LiB`VC3uC;B(1~G zdG@l);QnYIXswNfgMHu0()ll-M|U61YFGjyN4LShf*a)K=1+XxxV@|i6IjjjJrx?p(#AO-tc;=}|J|_!IAJ`HKdA33$x;Gw#KRc?Y~f?{cbtuC{y#u* z&o-D8XiN@h{vx?Y>fynM9>`g51h+LVu+*y}+_MFlDDp*uzmV5S7LxxJ$OLP?Rm|~;0-7&Ct3uYpy0hOvZ~iIpx}G=2606~AygD{~ z>j3vM2dW+zOH8-_2J6N4Fm!!2l@32dt=y*2qF>+P**A6gF-rwrwvWff9~9WWH)&{W z5y`}U@Ki_1vci5F<8Je`|clE&>g`vcd92y!yM z9c+&9C7e5tz!J;1OeFmgxJ*a_*tQ0$Ok{CaI~-s-*fK?LBTqw89#(WyMC^ttrHH)ym_zN?TCzR)yamBSCMK z4i$44N4?q=Xyl4*v|Dj4N*jwa+m*Ax!dL+V4!$*;+II_@ojOUuxyA5l$c&mzT}bDu zJOjmUVM^RD;zH-UINAIJ&ZR-*=cQxtEw2=M?z_P4)0bh@*-+l915(5_lwwP$3k*Il zB+}tikrz=1B75i1mRI8NQSbxk|GEKl6WL^k_ymIeBFg zs7qglV{iuwetO~H%{ykxlli=v2MtiNZyl4JCx&)rx7fJ)aFkOkgrXOJ$<11QY`hr4 zgfE%$Efd_ZOWF`GPnP5wkIQiC?}a!m%ago4C&j6`tsc5sO#&g|@i4JtKG8`EWQV3} zklfw*tn;c2$Mem_M+P%6aH2hDzCeZd*nAh6q`e>J7(QUTWA@_VO^N)S7Kx~}sUC$F z33EF;#p!(KKM-auz)lW{QWf7*)cdqD9cT=OMJqRwx7|}&gVH6O)^-Uk?tH6oofSjd zM%-wLBp<|M7t?b_$Emy7d{D6Ug5L6+iftX|(erW&9`SL+{_9!LdTb>ver8X})mfaD zRZSTNILz8_O=&FkbTt+nMbT0SPiBdf6a5aC(PXfLS8% zKJ3HM_cr)5Z9J##--3dLTS(TiDMZ{z4U%5G;)h57!uHp3`1$2h465-${VSqqKRF)A zPzpTO$$+q5eXy|BhpD~F;2U@U!2sSryz4c}22U5U10sho%5wwLDwxf>62z&Jog6DT zdl@>$`c`GT2IrpE!F2EIOsH@ktK2o6T~q!_r25a22by-osNb76!|fRH32T9fTNBWJ zQv}2gtcHL0yTB|h5|#xbYIXVYPG*&xyI7=+j$ae8r^ zD|}z^3GQFWhj)6(u-{k(O#8!d)$CwAe`+&y#vf-Jgk&Jbeg+h0n&Q_7f>6@X3!7D9 znCG7ya`=`8jH?phK0L7FvGgzv`$t>$ca!Q3u+wh6K57Y%eFF~}*Pe$$kvSF|9Tiyky7JTu` zj4My)%(zNLFzejMz5il}N3ZDd6;!Vg-8qxsKNAH|Pb-DB$qg`^6VA^RNWu?xu2eBR znaDvnms%GJTlPt?^vj1Z;_EWlPzw-cz~IBvQ3&rSf}TnvQZl(4EO$+#1=<>%!H@6o zcBd+oug@~QU#3P)2PW_{FJ(Y_j{tQ#y$1aY=aFZw>p}iuJe)YZ5WggSCY?H`pypLI zIA#2Wk{DZNrh5PuUQ7i4veCcO=#R?h&LFtP-Jz&L$pr7B!uXXx_ zb1~&rn|~o@Nlm0VSQj20y9aOf@1i>2(#Vr=BRIU44>N1ZVePw!F$UrBikrf~QlN<3 zt$R$|d)h0M+gsqJ%5(6=+0^lqCe#k9@Ln}c;=kJUjyxG30_I#AB<(FGbM~7+<;8i# z^uoc4*}YvnGd4uD&hLZo?n^*D3&~~ZW#SW0LZtZ_IBvENzWoTqdXu}@QJjD>N(4gJ zWs*tb+X>yGMU8?d&>iPqfcdOc;``zXd7-DrUi9do!6^|=r@9vpN-pKL4!%aKb_*1C z`vL_oyP*5@O_KIl8s60HhL>++*~7#*v?{4Vr-m8av#T)}xYh&I(x#E^WB)u08-$ctFJ(@1A%|;jwh-wrneDP@8yLrbW1P>tW#wRGgBke$kAgD|$Lj0iurefLh!8T9DIvqN*DfMM zq!FbE%|xT-keN)GBBjU_N}=%VbrcfKiR!PCBAU~jNWHxu&ewfi=h|!ie)oMo9J3_r z{=@&lvF+388Wg2@R^NGs^XJ2rVKq47@t(h|RhgY_No0+u*N|zYBjlJ^Eb$(14+Bg8 zLY&+^xchDpEN4Z)rO!dEmZrnT9g1YB!U5K{>I#{BG?DZL__@K$_J z+Pw|oy!;&Kw{0eVGQ!|PGoWNll^3aK2HQm*@|G`DC&!Wt*rRiz81rBT$8)&BUz{RK zFSPLCbm}IeSvLcZ9NNgXan(d6Z!^>#y~3vMJWo#kb0{U-4t5DAaEkh}iQYVdKiqhJ$9e*{IZi zJk3^T2pInhtmNm@pz!%rSnnJZRCZvItT7d13YajK%7RYrun|2HNm`7Qs8HiP=&`XmtN?Mi3*gc(PCvwr0e4-3d-l*8G>dv+ z!^i{RC(E+2kmoG_b|V&_w89#3%6pFiAoy zD+SE-DdQ_HcSY*k!1(di{y32|lcR=Es6soUd6rQf7gWIAYVO<-G|8^HE;*8D^2s^ItX zA+z%X^ioR4me-Rp)B7-fss=23m_x1^D}dNWKj!%dOcQnKNhGih7TN3Yxa(LOW| z4)>pcoZnk8=))L)t>-y%YFh~26pw*;M@{8e3afi^UPPIZz&!TouQHkb@-o=nGb8T#vhz^qEzLDEHmR0#8l;!Crhf z;9ZM($S!7CV0di;svc7VF9?VKZhGOTgiEkrNEq)KG29=p4lQS^pn&f_R9)Up#7iP@ z`&BC}{v=J`$UKB%xlVl2WPk}L^|7~00$0?O)elQ)^CV`A!}~Rr!b&bTq?<&J<8k>0;A6R^ifd|2%b58Vv0aL?ee0@>@rY<|j{~Prh7%+3(um@%31^ zmhp^;Nv1HPN+A?AlEbdnarj_l4ST1bMuOrhAWiEr$glSYqkx^fg?nW2Q|UbZF*Qki zWnjY#_PR_C8%^bJ5KacXd>e|h;~{TXB7UD=NIdw{;BAdCcz}R)aJUniHd?`$ZUqS# zk|skAS4n}G1dTtL4ENS+z;?TB;9C+$&Rn=jHfLXC)Bviv4 zrj#VhANXSdr<*Kbw&FYTd4f0Q6iMJQ-xoH|KSvYmK`m5I_TUVr8FEwWqRC#dK3HQY z!&zK9$?!bO|?uk-RbY;Bgf9@Rc+TTQ3BGFXmwKn)6_NXd)bK z4uz*LmJz!NVz@+Z0u@Y4r+(}1LYhPYcuzM2?%V{f%2|?&JN=l~lAA}Gic)xaU#5Z1 zMq@~QcohzgWl?2INqR|q7Tvrsotxa7hJRAN;L81?`0|?=a#yY}lh!!cmf-@tXgTVx z^dFd2B*JlCAZC}&#e+TfSj(nKD7e-XzJ63=xVw%d4TX~(OGg>cZX6~kOk{^=53o5J zCaAKm0$vZzrCELD>{RwBY5Q8kFL`)YQg~6bqb#7fDgfJ#hZ}7G6j0 zf2GjF;bG z4{M}5NJsxgqA+nXoZtEizwEsNn?kx_c(E!q-pS#LPu{5cI0*{8k3g8)Sy(oq0*Xz` zpgpS`7pWR@>h<4o;#NM^y^m#zvk}BEe1$8b+Eh;DJ;_U$1oQM|K;iCT41MzhrGE)= z-|F1BfHUR1g-I8HcYQbQ7muO*BS&eK_vO)Lu{^5QyR73_~9t!PA8G8g!$P>?lL&hSZ?G?u8Syz4N&3AL zftxTNzNdZXHO|i$#<@z+*?o}sPqu*Txhf<@b{pG&>>LXBY2&#+%V6o>@6dL@6Vm^-qxi*e zvhT?uh*tbe%x&cOng7;DY4uG^eLb7&ywHlCHJh2A>JhLjpT&yiT?ZfQ@4Q|53`$=M z@j7nq!v~xj3LH9uZsw(UxKoVdwuF$^r+2ZnVV5A*@i4qQB?%RWyg|%Oo=L8CL-}2d z2!@MrPaJa4v~WMZX!FIr59}MpQW}Wntyau=oC6L;!({5c6tYYGpVL~qlh`Ak=oNVY zmCkB%QZL7GrdK!PbdyOq>8Us-uUZXm`311!tugbh7KU}R~ACmyAP4YX>Zu0P=W^N$H|*@;hggMoXhqe z{5C!l$s8pzI^F<=40upTZEq>|%};@QMoO^v?p-ihdV!B z6uvj>VfR8_^QIiI=fBxw0E!_ANag0hV9g}hZi<+&C>vkyn1m*CbvWtA9sf8;45z79 zg4yj#y!hJ!r*9D8_8hx{tGwmtaNSZW@$5A8OuEaTm12tWa@uUjS%n;a?*$JYwX+#h zq&Qd4X4F5W%6)pGL?d1tWxnb4*tYc_8;x^J_DHDMM#jz*t}Jwc?7@0C()*cMwM9b7-D@ymnjkHj zqs;a`_z3s?^yqG9G3Iaol-#(wja|^W0B4mo;NnJ#`(wHxC_#jJCaA(A&pXguR}1$g z9>V4h#@1+sz>Mj0fsMJdpD!O0=dM?*=e!_XGHW1XXU{<0>nu!|Ckj2PGvGt=baZjC z0xN-Uyj|Nf$jno(iG8dH?zpDKq7Ovk&Sx)qLvtIM=PDhZ(Tr+hVUSPgmPHWOxePYl zKg%99rXvcQVSd*nkh*h~^!)tI{LQ6dW&X{nu|X zSfi{6Pe#k(c(o>NR&=6UTvcduXA6U`zxdieezL}$?dZ>K<${+_;@&#-vuA^)o~97fAQDsjT}z=guln)FuAFW z#D|XO?*HSOO~e1*wN(+v9)HGrXLHbE`YBlRq?zBLdW4JJF@V#4mqX#^Htf49kEhqf zv4r}7Rb>CP}yx-VLq+wn`1TlcBC{x_qTl|ReoTWbT6`E!QduFr*^eOJkr z>b>-(!%Ns0@ezeC1(G#3^(d2)Nz#v;Ab}I_kbQav;Jx%S3u*6Vk6Q=$*OR?LMQ02O zUev(R^fs8{ei?X~Mzr6)j@$_6@!azh$&$DXXl~DhN#aMr;ByETCI4ly+-bg-yFSbn zP=c0OuR!*u1MEAtoT#SFA@zS_SXQ7Ztn?G*J$k(e#9$`Ub|3gpa|=YbJ|iJfo$SrL zzkJ0_#5(7Y2k1UW*ta4D#wO*ldH$ztZZ;K?PnTyhvtwnvYVplD??EmGiTsAA_a{@Q z&%sc*cRskzm4Nq|*O_(ecvKKF#++Ok{JB<>^N+m2dp3Ar`o ziSlElmSch zaaQ5lC8g=_f4vpsxCO$MwcwJFF=WiR&(4jX39EKbs?GL*Vrmo9eSL`8O864*6?6D+ z)%D1psk4~Fncd{cy+u%{9mq|;wH2dk-S`ij)Od!Hr|_(hJRFhCCks6yq4v1Yzr5=O zkUk6REXzSUX+F;O|A@+mM{u070(?U$nCT}A=Qh-XDrZl!cI}2M?_){9^gHl1$r;@D zEMo;X>RJ6G3zFMh1GjxM;jxnku@^WDmiA}C@wgf3*LX+jF8QI|v!n1|q!rlictiH{ zw!`bW5ok9~6Z)F(!W83d2-+_VZSHG$HqkRNVv`;X&vvJuYg16fZwxE9#X$J#LTqjM z17!Uy@UFQ|CR#Z_rM&>N6q?E0hWEgx0ezmpfvNvy;4OafpTM1No5HEqTj1tBC!wD2 zz&f=mi0zMN5>>k#R94t9KN%6clF6ZL*Z_*xIC2d>+1!8}k9%sVi!R%WutU3+q@AZ z7JSnH6MCsHkj^%%#0yUUGN|byGbaDKM4%sz_sxWzHV=r0Nh~b9lEOcqqJifUrRms> zA$SrumGf4z#dP&5*wTLtT?n7ts}qJvvo(0j)TOB3?Hdp=Qy1zxqd>fL4pjc=!VNBe zN$JQqc-nG@q*PypN!F*KchWmDuzfsr(-))9-^Q|(qx10kv}$JVNnrM+#SPDY?}U;> zQ99_?1WE-VP?d5JN*@funWqzBQhW&xO}fXjt(u7b`a*EFc7=|?VhGwanez6nZxC4` z%C8GWa=|46`c(z7rffsQ)BYAnQ+o)Jo4j%Fn^kOyK{RNO`NHT_`-VwEN7#a7r|6k%!2NmRuZ^R7@Bn6kXpGT z5WKpV7_=F16rnsakG0fT|Mu+{( zX?27fRTGMZWpZ`!E%r7XR5(UPKFr|$x~p?vweIk4sTRSkS?6q)lbfU=aR)e$I6-RP zN0NAcIdFOsR6bjeW)$p!s=_+l8~>DJe+Iir?1C~@drOaP z*;ff6Nvr6yGi#yMyAG|c+Ty#}KT&e&2JHUFqPJbDSeRW0|M#^JJi6bAGZagM49x^O zJD7tOpGf%SgRpD$CX}?aCHiX7L}}VpCf}1r{B@gg;LHi^e3S_??bY;$pFSO}>R=0} z8ew+f9k%-XRrtC^5uH|^sP{eelCj;ZaryU)*kNXk^^^L+X5k7N-2VZ&z1qB~s}I7# zB`ZPl$|&je`9x~=SzxO{2;NUiMycs?-1!wzFg8IHZMIu*?-x&_4;(td^|1<6&0P(b zt2^1za4YP3QBP+56yet0Hsvb(|Ja0o9*<6X5hyOKM_1RU6O(tpNaT+tWJg*r`|(Hv z*~jJOo*D(i>Re9tXo-iu9(ECdL@vCGXbNk(=o=h|70lWXi!Hf42~n zE@Y8y&!3a5{`ZmK?$L?$+3~nkw*ePC zT+K6&+>PDQwm9QZKhDdHhN{qEh!GlwYqhp$$hngp$FJb6LnrZSN*Nl~y}_Be2DtUV zNQ_ygz*#od5y|u`ggrkFHWT7--s5{L{%{>W@Y3U4%?xpasS+v$Ou~@gml)kF&J7a{ zyr$ep6SnQ8R~zSWYWkD7n!k=%)7Onn8RMXFr7ZVDijNN-9mD?g;~0I*nEfSrwC`vs zoQk}~`qz1Y^&K^^5D7-UnGreQSH{eY|FBnn$v7~o#p%tQjXihg(Q9s3z&w2)Cf>v89u7Pd(|4~A!%&?x8kAg|g>GAfh6rF{ar zy$R&KJvRzBP1}ivkpOqndYEZu; z3!v|&8x<39A)}_^kexgOrWOk0>Xtk*1bW<)gM?GD(&EOOwUN5_`g9f=(@RNxurvNJ ze2LqJm&fk2g1!2<)AA0B&9A^!lXN*V_X;jd_8p#hp+$xBLa2?7GL3gvrAo;n&~oTF zf4s62`z_JW?j1-#pO;&)Zq^xYXPzhb@YGTG-8qFmm9K|G1y)qfz8%ijDM9s`X<#Bg z0QTS4K;>p5E^*BnE@|IMF80W3RCVfr|2(xoaOyso_c0shmTU5kfAt5Q#s@GK!K2+{ zKrS7RRpJ3Hn%d zxPrffNib~-VXn5I4|8jZP@*CT7tB};czz#FU!ufyv?oIQF%5X@IY2h~=z?m(S@LfV_naJ^H)cdN6BX!PEjh?d6vN1y_GlZ`VdHAJhVbfFVrt+6 zR)295@>AZjAyaSsazqH`<#&(+Ut;(LhHiL^A5AuAjzgt)U97r>;Kr(QTzoVUcik$0 zz#(ASkuk3`g-U ziSutF%a(6N>Ds6NSZqI=qmcm9q~p+8QkR?mW-a$YF_SCZ^8}4ufAE(qctzyizqNVi z)k$<7slWlNA*eT&q2DSssOMlHCoJyHy(t*a{Vco5%+E-13!DVG>h04};^AbR=Wv~j zYrINocdewx_tw!371eBMRSznjFGAfbD{#f}UAVF_6fYi+L*JS}=(u*CNF7V$EpAh% z8E<>wms2WV3W5R8-Usa!9QrJ7#-ip>%)B!LIbB6^;*}jv4S9}jZC$u0dl561nOLW6 zYltNW8rioS$p5`50#hv)!Q$Uy)H&dEl%YQU=4nF;;g&Rhnvt7NqP_#;zCS`4)dP1A1G*6p;_j$}WcD>JJ zZP%mu>emgmGm0QIT@9|=ID+e;wGiek1o0-%n5ShHziWplak~)@xlRFe%2qj=bm#_& zY*mA{^DoH5+H#mNNd`SyGI;0zwjqu4W8M0uyz?W|VC`2;x_eUrC^+tg7qcv3-=;`t z9^3#UJ{~OcTP@u9lz}T61i1TY+T6;@QM|rj9FqG-AhuDA9ES-oz48XRRCbZ6sI0_o zZyae(xil4NbVWP*0xQ2YLD3>1dc8`HuK8*T_ipKdRI#JYx%3q=cn*>Nl=4Mz&F!OY0I9@r#|CmW%KZjpg{siJ?rNg8XCqU@45WM@f1RoA+p-cN*2z*-y zsi&-{c=$&0)zu%Tr(DKWo_ESbE{x}u_svBQ3aenQ55V(J;Co=3V19A*cmYjh88Ixl5-l)ac|j( zO&m7P1>)ErNqB<#;2!1z-I<5sQr!t6(7lLk)lTPc|2qxxZ%l;Y1b31XeG*yXTjCgbf6kZJzS16N)~tlR$L-eXLV=Jt=+aK_-06Cz1mvP~4@C?|Co}BTw!@_xImXccngtx*fqSj?wr``3rGb zUk^L|XA>L2_2%PangS%y8$$9wm@Qd;5-puvvP;qL0hi_&c+?`F~xw zNzp-E&BYS-Udfi5JasXrc=H#|u@Hm+kvQ09+)iSPrQoewJh{2S4uvNzM#tpacs^Vi zGjh*ie~lSevHA~>Y;$d}<9pK|8;z*!;YDB^B1A*y#em+g2Fv$ur$Mqj2lD--sp*o# zwC?LIh}VA)i-hJ-+xy;hWJC@2c-?|f=SftsISw93pQ7cuN9f#`0Qz+9F)AF^L|J(~ zosf2tKKiOfe~#P)?@@jD>F^G`zB7nZQvo;k<#ae|4VCfCqUKSIs=m&kxfdo=jimoT z)Z`{iF{}ph8JVm&{0dQ*TFm^<9%S`=Kk%754Pt7IsDI}MS}u7VvezF0B_mt1#rOo% zv73iagVy5qw+=XK;sEZqmgN>7@WbX(iu1f)Lr|L+oWA&iOw=0W#}@LSn_h#JoeUP! z2#EaW1Q}+#NMx`d^wms9ouDPmcytQsl2_s74keSXOI(3JrU0F1jK~)KIua?90;MA5 zaGTdm=1sAH(fBi9qWuo0x>rKXqlxg%QXT(G_G=ioF#|a19Kev5MEPed`To3--8(*$ z4uCR!kp^?p(l*9GaPnd4d2{0HMM#UG-7`?X~3^IekRr@~KvTQsx zo@)ix$NoUf{#K~Y)5r9H67qO^9^`#J0oyZe=%;B)r2cj=MqksS-4_$^z@6xZR*yn{ z){0w1Iph=mIJX~v-7ds{Yu>DLpo;|XoA9@(2sgCkGTtk~VS(?H<&3TWjm#@Q*-6br1-x?5Hy%m0xo#68Y{NY^5U4G>hb$VfB zBeak3*z%PUoLQX}%lw&3#P6kp$pm%yWK|3)qSo-cawVyinT%HEU&!M%TJ*=#K>DD2 zH(k+ui3m*y0Oi?Z#5N(DMCho}i^~m>>?i{{Hx*bk^AzuWqX&3|E}_p>$kJ;a;iT{F zeK`AgDlKb}pm7F@bccZi^cNn1?Gl^OGF_J|9C|{QikO0;#4vuz%4OOA&KAp_MysEE zg{_h`pmucvJS=`mB)V$&--El+e9B?Wx4wf>!Jc@qW&~1`bTLwU9i$qK2eW%7FtTGd zSZod?s;gDumZB?O>Rm{90X{S*ES$DU9VT?ydTXARy4~kE+a)jtN432%K>RX%-doMi8^s`MJ;86Azu|}Ad>F1!MmW0!q~5K> zD+NXP_3sie<9UJDwJdn|;eLa<-ept{RO5OVsB>fUNd1Gt*Tl!x5*5n6VOEC)iH*4e z-Z9(YrG+{hbh$zzXP4r-g?sS9*n8N2I*pDh&Y_>5xX^>#0*Kg|5Bp!=fZ@ah{_}H= zkQjTM>^`K<3A$ZH&zavaytM=@%UAGjOKH=I=f*=~(FvmE70sKRa0laP9)F;}30|JK zhEI<-K;-)Ymigc>&I{>8Q(0eZ3iP5kO*QG|HeI@6bs>L9q{=2>jwGy@6$H+S%2f9s zqhuHP!>aumP!yvMQw@^n;7twsNc}1d7euqB-c;Ds_qG1DR4s;1kYIxw2iZZtYVi8k zL2jF0Lu*$nJTmGdmoBQpr+FJ-*0jZ7GH?_MHqC}#N7{HHkiZff#-PiV53BRbNS1{< zJ-M+MM&F8|cj#Ks-*$)H`7<87c^`?vbQ3boK?2`|MKXoDEaExD!K%$PQL>BU!>w({adUqE|$nC8NMaAsBx73*~N0a`z0?aMQ1P-poHk zP&DN)boBk}h^R@ZE1-n;#v~!MBMK+q8DUEgN#n^IR$Rr93u?}CL5T-nU`^v4a?QsI zH$~WyEgLhjp|FSTIFrHNo=qjkWTt>z=|nEUqZpP+hjGh3eP)>-EupMx24{Od3Ve>8 zCg*yWVQq~bU+$GC!{8p!NfhAT|CvO$X_;^fCpdGeRT;!LVjgCTy#nPKH(=jUQ@os$ z#AN2w;@++yHp8qERDLg`O?$#|?^=13h}(q%wLhWxi7<-ZGzQDj$85>XC~_%U7fm%D zqe-wJ>3o%hoxe7qx%pbSwd4%MscfJI`M!8rXM{P=9|zmF?-{Be8%-_&~HzZnNXb4n6fSfh+x7W0_buN+*!rQqw?cd;SY!GDrk zG2*$e8(fOq?U}HeC*L`GK@n13DDHB_wL|IIlBIXPalg{t?IP>pQxIA$@rx%vT z+U}h|?G6jbR!hR64b@E1*A_>M#$$_YASs-EpBN5nai@$jQD=8A*(>JN;L*#6$*U@{ zL{pKr1ssKSk4i8us)v;bpJvB&7vpQcF8tOi&4_n1ika;I>oWo(S4z=h??H5g4)V4k^~@KOB}US3is>+|15#ClC&u3Ts)C%tHmrzcp zX(faWOh$RZ*|56z5a@O(@P_TTBEQ}Ob^jY8QQ~^UZmblqmzJ~BPd^ZoBZ=_g?iR3( zE(L4nMDp#kEGw#Bi5cM=aD!4p!@-#j@c4%x7o~KG$t0Lz>b6DX+q)O=a8wnRshHq& zm_;r{Hjoj|12}&yi|Nj{U=E$nF=^vkRNd{?(C5>Qf!Chf1f1Ut*4>}@)3lbuy?M__ zX(%HjT1jk0(PFYA{w#YRRX~=V>jKSX(`n77@zi3|6uLMv3Rc~YgE0Tq@Gj>O*|}C3 z^adShyQnl>{B{r&?3HNOq%^qlVgsF%rbOF@R{(C*V;Sy&?9Ge~_^t8^WL`C(HIcbx4cxamY6l9WCzy#@3n3FaE+n#EH#JG#7pD%$LJaY(oWC~WtWtmmL2N?E!1xB)I z5dHBo@Ha%#k8w(L_Z&$YA1OdX)C5@d?;B9P=s4U<^a9I|LR8)3BV5z-g^T^Oc)$;a z409edAzb$F_>*Oom>2( z0ZT@PaoVj(+&IsE#AnwDH^&avrki7KY8*Cn-$Cg$Cfqo1=K`H#x#0JruvA8v`|+;_ z^7GsI6Xasp?Uhf-1k*%(JtV;0c2ME^^vgJbt?`_Usx+t1%sH)3L7YlQ1zPUA3O9D2 z0%KQS2=ZObGwuk-%eu#G`c=krlZgUY{Z2$C6U%JVH0U?aT{P+5CTgl_PSdw5f$ij} zbiQ_4gT=vGP*Z;fCwI)I8J>)vY9hgakjc7b?P#p2`0%fLt-KHX&=IYij^p@mX9;CH{ivVcDDP^Gjx0V zi3#fKktGU6|918*FP@c=-BF&rf>k@MKQ?vnQ#EIUdaVfN3~WHYv=)BeBgcL5-i*aA z>(P5x5T<(1Ap_1e>~X0a{4HtZ?>S*fN1Gk#`bbS0JHHvP?rFjj>$70z8V3oLdx_rm zbx@t($}D^xq084D9*ps5{C`^TEnJswRX@tEzn_D8vDe|p{t|Llqzb-os)g3IOITf3 znvKVcP3#>1G0fkU1e;^8!BQhx>LJF%s_%DjpZ_HKP1=)QtdzvxIc-GwfISW!?jwbs zO3-?shx|CN1Cr+j=|s~LpnJ&?G~5*F#>%O*S?p|rw*Xs_wF^iyPU^NJ~)#2tYLu6*6{O*MbEUfMboZ2ytdmHPBNON%qo}Wda7-> zAr*Y`^&B&=zlV9VQ^Bu2w&Cn`Uuw2WjXUqvhWjc`FfBU+41c$e9nnf-r3bDx2s%9^ zdZvMRG-VMk4L`;29h0H1t;P5<=_k(d%!dKsTm0|0|3*ga@m#nHln9HCQu>9Nwwk&5JvF-0|kn^c!7lcjW z{4I5u^~Ri87bufk#udB`4R&}VI~%(T6)~f(%7%73Vx+Y(<{3-E+_ZT1mkY#+y|37` z!Z`DPz)+C;o{X0-uMXr%p;954%p<$r&Yk={(E zka-D$$JfH%?A74O8^Nhju~?+u4`sVXV6(t-P#FrK9Tj)UXV;xn;m10d zsr?rgKi|jm3Ms&2A`;w_bJgT8Ng$7pXwg+4irB~PE9rU{M_RF4iasCoVI_lRP+Jua zN~!i3M%+)A8eu8WQ~Jl+E`!2F69^K&9!v&4dvXkZ!w=WXAU@CDU;L3?k; z^lUIKD}gi6EauifsppRRrgE=Bthwnr7C5Y^X0tly1g|he4iDR_P|pTyes@(8%zdZB z75q%#?p@U2!n{?mTOkH(+J<>5y@9AR5Xn3wyRk7&3myu0LQ;n)?VDClBJT>KQgk+^ z1=h0Nqj8w*?@jXdIIINTeWvkjqjLj@K8P$WID-uK z4Kr6=EtIdRVi(;*_~w(4M;1@TC_72~DC$gR*l9qMsvyi!7AI2{O$V(SGq^kP1_`N* z;P2@(0g>WZmb}au0t50OP{AL|ULIj{y=;*`htJ#Ovka;p`4htu1IT@}6rvU#fM|zW z=2|))ujb28%{l`dENNrYq{~2PxE^A-0pfb7pRMFP!9BK&xdc9ieRg)Rcx@CF=#!x4 z;(I_pvH_#VRpKh62*~qqW`?=u=waS$gBw-wR!<(}=ESnwUJ>w2kb==0EpEw?UHHl6 zEeo@L&lmU#$mZ|F`)ie%t0S{MV;2o8hCf02R6A}#VKCh`(Uk2y?15>`@9?{61^YW$ zmz~Q$fttOs#8^a>tD1I#oWJRUY3l0S+ugY|Fe3nkJ1yyqIj8VOUOh|6sU{E1=Auby zI%I9MK_`z5Fm~0IOI~r0NIUO@Pt{7CgJcrCUZ?_flBQsL_#4k{@o^GyZw6I(@tJ)7 zEzT_L^RP5yA~%pMN~iU#M9KEE;QJvDHW5;k{*RlwI zb~s#vb8vdV2>t|IuG_ER4(B1ZsspiJWXs) z`D1?26uf_U54qvCmApwwU}iySY*URC8fZNs*@b zj;~Xf;B=GAcy4Pp=JfBz_r)bRYh@tLTJ4ODX7Zf!ts+Q>iv;aEU)Vhf z{GK$@G}^+F4Rz`JZ94Qy=qNei`~cqTN%9WZyW<(oTJTEoCv0&jr-{91|<;J*@s6e^w8{*1o9@{;cY6CBFBGR zfQS>CTxFp?ck*!}j;xmEy!u?Yh8ijE!`B>qw5J@deTswT<<;bw_Z?`prax;Z=EPNwFx)ScqLcYTF|Hv;(7m(Oq1~##!Z0D6PCgQ z7jalRGY?+31;fIoL9$pg3{P!HW0UUJLqyhkdiruSEx*B|CU;Iz1J!TPaUd2xcMO63 zfj*MfSpl;G6JfnjKa2XY2=+c$M{iVH(%V{hAjS6pJ*HGbkKazCb{}NvI?*hW`N9?) zLM4baw&Tnu1>kw{;ROa$wWryzZSP!~no~iAH?60`HizIve=NBW7>27N!|)edh}+tR ztqZPOVerZp?3akd!DnvlYz(|xj@}>kvhi9n3Lm-l0ysDVOBkgg4!FIjgVF zQSO`$8h(xeMI8syDK!l?F0_GF%VdEpSO?FC1nC}8bMP2C2sN*6v%-my*x(o2&}1zK zLt9=z&8;$M`2LMtIg>zC9wuY+$X0USYCUV8TgG3uUL4|ITGGG(6>9J0$U5d{qlNhg zHf7Cza;8TfFC55dSXjIS_FdY;bN0SZM$P{c&uhKlw(K(m7I(s+t_wLn>tcicoLsUj zTNh;{s>rcXQy4DwN2@vBDDmbdz7n!xQ$p&=j=+iZwEk**@~oQw_wN?og{E2%7<@q# z0;)k#CRQS3>E>1R$rKL03qtnmZgpbEJ9atqiNUV=`(6I__5 zMa$L=f$V%CD!)C>#=v77KA)-s{f_DIa^W-3*2^Wy3c0Xt#e*x~{XdG$JDlsUjpJr0B0^RwBcl*9zUMwE zDvdh{ zh;uuBwPK@YBhG%Ig`bxp?lLpOBPMZVSy?mAnZFyhKJFrxPhyd8sm}eeO~9oAZP5G1 zo!gK5;YHpiTscRIuXs*?iLBbq1TW-4Qt&fg`}VWYuj@;~N6*8OPX_d>OFVvW{>K}? z_OYxA%7z{t1{INE{yi;A5LT1}kDsIPa$EO2jpnOn@;{x&;6D`>yvrw&+P+Yn{yy? zX9u{wTv2P>g!nb@0UpzN&h`nM#0^sAtm2qD)wTHuf(swOT%QE^esL4n`zNvTR4>x! z7RRQT`H-^YIqJapMqAbunSp>m+C1Ht0Fs z$<{|sged|`ncwc27&R%6UuBR=-am3isR^Fsa0}p%QU#Q22xcLnc{sIVD@k}?h!A#^=aIiL&f=LnSVAkD*k2ciekE_{exV@Qa zT~@;T4P~r(_y+sWW)r#ntAc$tCnN(|U+` zAAU~;M;GEwJu&{W&m3QVj}JMhhT#2j97b;}W{X-TLj1Q_63*L37AEMk5tqGqLA4o0 z1MZ;A6hTxO76yZVF1uMM0qz}ZWIc=0@l0F_i6_HsSw{p&lv;7J$GXrocPSTUM~HE^ zH=)L>*-P8qxZbu3L?kER=fu}!rfMs;25$qMk|~^q_(yX5-fZse>ZRPWNh(}XY%oXfzRS-rzCD6<{piPH+fXu9 z`VCog)g0SI5A$ShtjEXe8sX`U6-0T54fy?%#|E2reD8G<XhJ7h^>-$w zbO~6#|1!w$lu5Sq_?pFb=3U_t*C!yXsf9Soz-Plsaz!AY@3lIBH*?A?GSfAm*mjJ^ zr-%OIomSJs^_Ab)*s(o)u_q-co*77Vmz=fedoUdXY}!s8=!gpIHb)+Qv6D--KD;W}%q(T#yZ|CDO6kWcs8* zpan<4R6H3r9{R<9a!?LM`;IW73*orTFN2MKlV#o-Q(?*CDx#}g2Zc4U5cTCUF&+_P zd2jUi@8Zf)`C~AfcOw+T#&)2=;5?jmG?Qe+KLk_z+3@+lm*k=TE#fHqjyK;f8Xk`y z!n3D1(l(~dPE8)igvfNf;b03#f6Bs+CHL4*$1P-i^9#5;?jcCOZsiHfS>XZwfBk#g zpC?-BNlv7?;42+%p1)KB&ib;4cVS#Gd=b@Wex;I-QIU-uGG+L3cpiLhQAP<~4al|k z6SC?CX#T!}3c{%<{p2*xY;VWh4OduiNdju0+r$&{ia~1SihiGC$X1nX^4ri36w-yc z$Q2djTS7khBGbZl3U*_R^F=J-$&juOfuO5Sa5!#&XsjGSpGWf`vv?}Md$u{8b?k%_ zSFJG1=L9KFy3ITTeDUBoE7lq%jgw_v@R|Gqe7_?cM)Xf(oOPw;`nDeCyV@>=Y-6sort4YeQ5)jo~1Q(Wcl4p^kY;&Ls2)i@B z>Pia|xF(6++bE1d-Ll+-W1<|f-O8OmsKV)9`Gix>8gPepnlZHrCcJWTj_j0sLXMrz zhL~9~{6#ufNPKkx4!QK9TkJdR9moRDMIp@bK@i&#LqQ|n16B)gpjns>Po~+xncWOc zysbcY)*>|UIF1g!!FZ-34R*c00nUq-!3Kdih+LilN;eOKD}4$-ss`Ai?fYSa+7KJ& zPvd^tK@V3#@z|9v2rzhxw#4?537Q- zv;`(#lcDZjd?Gzp8IP%{@_AczQM9X;d@7y8jm&-zLA8}&-=#u>yHBzGE?QVV#TW)` zCO~KQel{gxfbfHp(QgLD%GR}VN*pA*x? z1+e>Vgr#$LGQX?E62Q`onooEI;tLiL%{Nm>T;(QqUs?x)=JQd_`5yXO$Fg5Bj5I23 zfsu)!{J4b|Vd|n6q^s}{gQ&g4@ZMSwc~VdO^0P_J$2chFX@Eapodn8h!+_C2i2V}; zBi0*8j_4awaw!=e*JXp>xD@!Vm9QytY3w#t|yy+}jxG#b??~5D8j_=|3 zIi$e_`E2-FFHhTY2<3 zX$wct+z-%bTMJjYWEi-63|>3_fu}p7V2=p{GI)j+to{ROnn&S$Z76+vF&y2JVqma9 zg66+%hi0ibn5Ul!Z#&O}Q}bz3eQG(}w|@`Tzpi7ju_s-+;utYq*u=fW6jrT!@T0R6{H-VEmE#zm+K2(a_3H7NH$%P%4_}z~daS)ov z&G~zVy^ToYQmS5I;1+!@r~DaKO-z8cZBxO*xEMYSS;J|c2+MnOdU5>mGx&5!4-6_4 zI3uT}Xtqg={ZYp1ck3YSD8f4+Fpf>nnbOTJsg-~N-2eL|JBH!QnDm)HSgGdcG zNZzHuGB#9!;-`EPl68|!tbfi=(blAiHn%}`U_W-4X~8C?>(DNgP3umaff8R2{?6rl z;p>~3@Mq_BqQ3t!J8(>pn>R5GFBIqF!!p)Ln)B$@tcf%SOA79 zUx=J%6IpUY44vj41;a~YAU*yg%$aP*5326AOa%^_50wDhvzAz?6l2A!zc}T30?zVi zN3R_|_;Z>U)4FAjPhQR8)MMuHHLs14P{R}`*dvAd75muv8Xq(be#)FJi?Fp$99<1| z@B<@`Gv_Na;OCNbcF{Qo)*tx}7O$#7|6DgT4i)o$sO&(G{M|%VrGedi8i>c+V$pYg zBqW}>0WHLoN@gX(%U>^HMNd2oow?7~R%jxse}2Q%iWt-sYr*Yfv+#kp27F%n3N}Ft zl!P9FJ1?CeczOq!yEGJZjNd|$QYdfEPkXGWk)^l51bnoMnclOzu<^=Yi2BN_b(kH? zruuu~Uabgb_)w3_O+AZ_QE$Ph^fI_l=g>shoiiN^;j3F~Q>T4)L|rctSH~yfP@Xua zdrp;Gq7s4o)yuHIuNK=X+t~WU)8P2@2~@s#5|wy#A6y@efxPosylr5^-JfJd7AVK? z&aZf2S#B@GM09%Kn4&7Jd~Hn=rBk7>tNe0mq9-&Lx}ouu^O$q_KGU;51P{II$lyRG z+Fbfh=H7Fne*dlz~x#nZt@VZl%L0>y)N=spW4gPd)C1xz6<#78b^1k+fa+mPe6BIF__Q) zT^GB*1Md%wvDrTP$XED*`yY?z%zoX&)X5B8Zfd~qUAoNDEAwA(rs3c_HRQq~d>e?JJ4nX&za!RnV=z+J8>fd(AR8A?fxy^d&<}YAPTD8v zr`hGyR&g&~W+_FZr&dCU{X|GUnVJPA<}uKt1aX_lNX~>o*WnLu@%2wy=^Hfcp4W$ z2z#00$l0Agibo$F!oCz0uv#L@`|fT;66ZC;GCe-eEtX^BGkCbi_%`b3yRnNiUSZ7R zcNpf-3DcuzQ!cB3sAW%wSLZX>lgdyK&(Om0UGkWhp@K>OcJBU7$Xlh<0B-9-=w_`2 zRAN>rb&5)&eEwb7tDOpw@-e6?mxE!iOK?SNDig>!kGn4UqMdRm28{}nG{?21B!4kc zG(82EtRIn0OWkqo@LH5ucY%rBIzT$aAF-8#Uy0iSTSm-}VE5A`G}o@cIE_Z!HGdkj zT#-W7b46^t^t+<~&W!rZOIW{x3jD~1`H||RY}#M`jn{mlv&0%o zDlWtH*~%CtsnB}W_a?_H4;JCS%W-uR?FB4~C`D1Wnmk&0c6y#dYo@XL^#_fC@&U^;SLP=m%y&AsP&jmK`8s_ed;1=wyM3`jo z#or83Y%q!4EYf|@A;X5H ztnX_lJL)C}#%rJbW7tx3^PGjB`ed2^7HzB$UkbeV1#s%I8SG4mfc@4-*`#eh*!w32 z*eZMmHT4)je|3-Ly}EJWDZG#I1zVV2mm%-=%8g`SY$|S^`;1>@VMq7meTLR2#ZcOj z4_7{Cv*URVOlvrn`7M@&Rb~euM)xA@iunj(Pj7;}g#^6FxWFzeo8!A@Rj8;o%BGVx zOcOD{r$72gYu79C^wK-@7CXxH^ah~y?RVT($H#q7?6GIlSJwOL0(sXF!g>8^U_YES z$mjMU_FuUbx83z23L7lIQ+dC!p~;^!nr;l%Tr4z)X25^n=W@JjTd;kKExS-JfqN@@ zaq#gbjyOedk;?*Ey_Y`cIO78L_iTeJL%BqGNfj~F0-Sk6k4RQ0)Nz5G@W;A@na5sa z;*y0tEhiT|7^#Jid*`5GS|@L1_c%K9ya;JNbsE6B8g3>FQ}y~uobo0ykj{P&JFY6w zAF;PUX9U0~BmmB8&0-rY#KCF$Y1sJp9ZOd!g0mHNl#G7_R@p^(qkWh~jJKri=CMp6 z`Vl;-j3XDv+2YsD;!GqM`MR%j!6DoORQtx!RR#j^+^EVjETRzp8oY+kfOL2$uSsCo zhXpKlA?c6B@J-NOtkk@KPsVOwz*V)8oxopH5dd|O zg3w%ZjpVFyfxJ&UStZ_NX@3*QciY3bqN|Cd;3%6n*@%7MWiZ2#8e%PX9(J@GfXQ{O z&_j;EwfXiGBDX`S%6%5RdK}G{5~p%9*I;&dB3#os37PK&!1=WR6qcmmq+64?vU$Rs z!Mv#)Kiz?|>@h+?+efUf^9!MJd%)?&0kX7kHdtLqK#8XB%)i8$J71*6Irj;0@&y50 zbU`@xsZ5pg_%DWRKAz5UzfU5eJNB|rvsZXiRF#{PeF2|Mt;AC4S?G|SPtw9>!1KS8 zNOk`i(CATTaXvFZqe=wYz6o&Y4USw==Y163*@&FNK3xBCKK>YI1&g+-(6Y8kv_Ou~ z*n`P%l)n|!be(xI#rw&yV+rZ0_zNK+N>oPhC@A#Ig1Q%;)FW{hjXvf<9lZ)cEU^ZR zX5EE19%|63YDfS6eMpmJo>8~oPiXS8GqnG6I=$p-LYMc8)29Ohu*EQ%9CxkbyJkzl ze9g&_G*y!-{Su<*{_dsnFU4u8ZYQ+0{zoSAv_W9jJ~%UeC9GXhhb6BIacW#LH^SCo z-t;zhd?|s!v(E76V>lS@X@$__pAfX#k+j`n9#OM zOzd3S29f_PW zk#r1Z^HuM@C8FD(vWn`z_}*-;<%F+2c%-lupV(OAp|vJhd*KzaJ|+T6F&367*7xwz zz#Q0qdW^i3b|RPTzp*1BCU{u%ChQKl&oZs+An;Ztcy3K(RNoE6d|i0fCtpMG=Qhxz z8Q>aN%YIIhprCsj_P0eb=DrzfeRYYj#CQn%>%kriZ)FLl@c=_WyuZ*PL{WFnG2$)R z$3Jg(0+N4y1ldcYOuA4CY+o4kh5i!oK&1egI60-$B`!T{aYy6B`^#-oxhQz`y}`YS`CD( zlBu8BvK zy+V$=p1qH=Iw;1S{E&+ozs-oZN(gx_q6M9W4bHY$a*o}mHi~wqALy)s!qU&krznbt_R62)2ZI!9ke`YCw=lrg&JvOgXfkQ zSXE|6eryrKN0ZLNnrRz}MQl8rICc-zPRc?>`3Rhs%Y*kJsSss<81~lokh#a#^5CQp ztl!YeE=a_}&CM@(Cp$$UGA9JveY(#}EMTtjC1uM3B6|8wv;0XRJ09jz0K@J>=7eyGetA5S}OX^#q5 zRw}{GuqwuccY0j<@EP>izm0dlo8pjJJUc9I%a#mw;Ao^1_GQl`vllyoe{3~eUYiZ) zuFM4UqQxljAcXu?nS~3zRCw#HlR-9In3jEh!7BE6qA1vd-2fwNCmZm>T$DJ|<&G?8 zS2A{{qycx))bjED$&j$B9opuo(XwBeY+aQYWULaR!drTH*@sF{x#b))83>03MoKjO z=w|$r-oO%H3Rw!Nc7USJe{5W68(8lWr6rw0w5O^VN7mTkN)z@?^F*R*4wa5gwzc1#8Y}V$Q{QS7E z!Dz1CaW1z$6c=}+rYu75 zi-tmYyaC;#dj#HhooBZ4nk?)1Nfvp;1XR>>;nEZl_@imSZY{~88ZqK@=k5(O%x=V z-_ydC`Ek5VKULf&<3&O)%fMkXEtq~X2?IN}<7#P9Ud{1B2-$pwe@pNeGbj{>FIi43 zE?0;hQb|HzyArfBNy5G+7j6aQf#Bvnq~7ExD^xkbw+o(vm67sf){r-k|7koo-)0mI zEy~ymZejk)eGQEcBzW2i_Tk0!@9;QY?-xIOn6N;>xv#pb<4S7$DG zi|xkIPiry0=qgX@Wh`{``@jv$>G&>fm{s#*nETde8$+<4wm$)jwjTo9%v zs&P{PP2_eesc`lIQG_*IXNSl%PRB%xE9VqB14V`}qfJrmZ6!JKuKgdPzeaPXbnJhS zfeRMB$BncO<fIQHYVsFArczK%Rh^k!+ z`+H6SHCLX;(dq+W_eO>8KV%Qi4OiLNLT5Y>f17Y;?($2;vdH+g8}RliGf*jPgn(ZM z`DGPq9{ zJC0ElPCYN+a8k3AxA%9vaQ+g_nO_AXk z;BW+=z1xir4c2U5MLO9wCl({!7uJ3F?G9BlFObk4MZ9tBIXw91-Zb|n`DxRFdz(es zkw+$QMMx5Ne--2I=iS4BIa~QD4?Mv&uK`@etKdUfHN;5DQMoW_`g3I~nXUI3Ha3LN z#71*a$X!O?DUhhe!Pn*Q()68Uk&eRe#3Y4cO zHNL~RVPR0-xe+fsTh8?;Z{kvaTXP~e3$VdNlFOH|IV;Q8{aM`u5ul z__OpHxpll3znOhyTk4z{*d}7YFF9^zycnk=b)Oe^`xYe0`~jJuGq50l05*MKc?nU- zOA~=eODXofd@trS&)|mIPobRNX$<$~kx9)Npr24hF6P)kbW|qzm{>s1j+(E=iyUaXP z(hEja{zMWVD~7HYq`90obGWp%F5KT~-5Ax!c<(`=Xc2tNkKwJH{vRf>Ow5jOLbswMlzBJEMA>*)bzd8wE6T9vZ{9-uSTdBB zWRj2WYmk<9v29CdVNlp0uJaP*f@>$D>5N?TDcOp{`H?tL?-tqJ^@G37@-2BVUJ?bR z>v)$pm$P0)Pq;omhpaVt$lq_U3~u&Ck->Y9Aw27sW%kS!e23OYOz^EV_$s;bR-OoE zXK%%@?^T{G{@WMQ*;q}6mNqe|&>E)l@g`FaJIT7EDBRb{<_iTJB|ZJZu;P&s)!80K z54AmoWf@Uy`V?Ut?(+dvzXRZv_7vvLFM+JzFUkCVMc`ue=)tzh%t$&9Kc0^Q)65(Q zx*7vlR7*kI;TvewWkKiq3gV_SM&`@x=e(^mh;r;XK?St%Q zemlk`=w5R4-b=nHJ;TadQ@F_oOIgjGAzqJjD9T5NfxEm2o(|GtTO^}cFDHZ3&PAh` z#!{RckDvyaQj=_mc!k|)87WR^e03A zriT!9c`ZJh5zfn=rAK{jPQmQu-^llkqqP>;!ny_=aB|!(92+}J9*3PEv#xJO+mS*N zEije(eJz4ji#6U4h5nXX#y5j_;-nrVe_l+qO zJy3_}ZwugY_%;&$ejJtYlc3x-IgnmaM&?~`2fI60z-jtZh&bv=!}#5BuRek#|8t@m z>2l&@zknXodk4qvMS$JGk4&-u8TJG%AiYt67@T<#`+omN-i2ns0^UCOxxL2na&;bT zWg*Z}kjuYNf0?;XJB^d0s!=aC1>0|Xv&P25Fy*-sD7!C&A=xF!HjG+Klhwi?8)-~5 znv5%iTsV^+$_aQ$qOikF_Bm1n`RxZlN8ttRaWo`aonlv=rVtl7>GotLrX9uNfKmTCxx;JyqdSnJX6kYD1I8 z=h%9%uhz0|9f^0iMAG$~p?yy&^!3f85>1Abwk(9Rin;ivVjCCm{WVU?ptx81Hir7# zB=ynTAjjqhf60kHUhbd-Y#jOyD=&D^(|iuf9l>B29U^;SAplH zN>raqqyF$F{2kEA#HWui-%wLLdp`^Vu6^grEKI^})(xbhaWz|1>x`?SE7;-kadgq! zXYjLnKdRK4bN05*cyqyd^c%d2uSOiO%;p5FUN(>TrJuyQlpS2Q%ohyuzmBOdPNK=2 z4zwxoWlrMRXeJZS4^tBY$M{}SR;tKfTa<|+!CqLm%AOnT_vhw*N#;M#w#I|j?qrdE z7tvIW=e3U;05w}@7@i{!kq-Aj+5ZR#9}i}9t1|AMrp$KcOrjBq=OJ<0XXsCV1fhyI z!Rq!|c(gbk>Jnzt+M7`j@^}=ik7Uycv2JwL;2-#tSU|g~)9GuaeUx{r6W*AJfzBBP zFmR27jgAxfUGbUZ+r1x9@{dV*WwJEAD3cZ$M$_2y^7KL7GPqK3pX}{a#P~`@^k3Y7 z)(`t}t8pIQU2Ds=WoEM_EhW%eK8=q2mki5=x`}gLADP~yhBe`P@O7&!_wC_qF0|$k z1~u*BMAnLO9rxa#qL3 zc{8{6kTt=|VDzVoc^;`^3sUxh&l@*55O>e@cO5n0V{0pFZP|c-P3o|7su9=PIGJnnj$tQjM_Ew~$2(pV4v)G6 zp#RV_kUchuw@W}37bhv=Ldvk%Vgz>?3v+)CzryLsj!fg#0CT-t40d9_nV6$3d~Wq* zMZt{amI~sI(#xQ9_YNe<2LC%(1ukE<2jh&F!^elG;fYfne@4nR_?jaOL3YC6M(&Vz zLrPSARF|$bO=I6`$4E$U1}ty741&2ia7-)#EK4MTQ0!W@A3!V|i&|5A-iqev?tU#QL4_b_wiGw6-(J$uV8bfOT%K=o2 zgl|LJz|VzmX(}iR?2Ir(FMEO8pL$tx#)kiVtAM}Fhlk6fYS3g!I=p}72a5!~_=Rrb z;6h9xE2xF+JKupF&n}_dA!|qkFdDE3emi_+ zfid@Zjt2#Z@Xf0%EPNIVUz)`pe!qcY;Y*O@sE|2IYD8njZqR-s57jZ!u)<9T{)W2} zLD?RH3gf8FlozD;YYuqqlcttF($sr$C;Xk(1L9XDV20xc*thT`eEY|D=c>mrQmG%e zTPbs13uHKvF+F^K<{LY(^cRnlIz`;?ZiDq35K3(_QEjCzcevpo_qMr`Td$wWy-&D; z)`LNuPtH?3dd2}SDrw@FX9f&L@8U~*e1y*Np4<|@Yq%m@ft%tuhRaDW3O-+r*&_;I zd)t64?v}?j)jY`f{+pSl<>TaCU$IJkKDViUI#;F;hA-?noFfUSy{m$7p}Sz(_(_l? zb_8U!M|o^hJ*Gw0k`>w2ys)Rw+354H(v6k$+Zi?R6v==Y zq5^c0Z8^Beih$pY;B8Bs3ZC1afcFzEi2byUm#p{(HGePRs=AiqK*45M5mfi$24xHd`w1u^HT*b>PWOWl&1LK&BqF=N*qpz?7Zu`F*B)QQkL%`zcq;7P!uV zh311We9I0-SA@a5GBYSO&W1N97r+Un<-DW%zBr$5XC-&q(PLyk33>dQt(`9q6N)4t zr`#Hrb$Ii48&>l+%1t8SR3G=$`{K{{rZ73_9M6+q&K}=uW>=3aU~&tU+0cT8Q0O&5Z0{NWAAr?L6UH{q|p6ZJ4I#ORNNp3Qkf zO#T0P)UL_2CvhgtKWB@b|J`64Zj18cpWgrHc&9N&_n~>S|6Fclyf++*355wAYSh`` z4>V04CZ$`N(cEnvJFEGgciLEy8+bYkf(9hHZe9i#vq_!%GGPPPq+EdRS!bAYPBs1= zi^C$nW|9*uOk2N9V%Kix<6v7N3J;v%N{yajUy3JYrYq7rfgL1dFcAwgzc9HZaf}JR z36Vit=}?mrP34usTipd*dgnEKv8{&1X$sP5rw>5Ul()QQeL=i4_qyf7oJOW%EJM4j z-@u;x7vQ>YK5E>10nrQ0X~pm{m{)O?T`VlX)cJaNy?i>J_mF@c;t|Ath7c@Lh=o0! zGw3Ux2sJa`Nad#vLsyC$dzj+D7CF2n^9m=B#J!QE@%|R}MDho3@az?ms3e2Isg~s8 zcx5V{ufu;m90xCc)w5H^nM{2Pk1QGZRQu~jD)g-~WR6ENV6E67toy7*zZN^uiZD02 zIBNop4BSr4Pb`5w0rC7pS6}hlJD%Y4e>>t#bqh{<_5!cC_Yg@%hTonQLBWg*%t*I@ zuO0Rgy_aS3no~ZpU&G~iv8VuZ!j!mpmkn@jtuw0qiATFnnoQgC8G9Z-mso9{juC#P ztl`@uNYz{cJqKm^#UgLn=`%mcGc6UK@W63Q)PIJ0d$+@)u{W^OdogQq5hSi_D1U;V z7?>|X(0-i;*N*wK2?wpfZ~qAv=~|2i#+&e4%yszQ(hUj2;v{?BF>uR@KqBo5GWnp@F{o^o^w*AIdj%VCsf0^zScK|W(8YA^a~X(h1Qa@(QtoVdCfjeN2{3o`)0m>vF@TFL26BOYV-TFUG1JgQ1vVvi93$FnRk2 z-d+6)yP%5rhGsIam)miYfI0r0tc4DTW?@*$CH!4dha2BNB!}_^sqp3TFs%QJXEdhH zOf&!7LCyRhKTh&`Egh&wlOoODOy~y%b12$*8Tk*kTdW!H%GSj<^A}8A z$`f69jx6fDMCQ&7;p?adlG8PhFk0XZWTsyxN0JN4?@AA1B%Vd`W-li@UycXIyGJ0m zUm3Wzk7%KG5v@nO&6->`JT8e ziy$Rtlj&)_y^wIO(^6pC0_N5@6E6fGVgc`8!ug*j)b8v!cpooIceMXw<5n@+__YL@ za+i_X`bzlAZjcDaRMPh8BswdF;UA_>KlRk2hqM^I-F=A;cz~q-yG`8PVpU#n0->|}(B~^3eyNf=iC_W*wi`v2QwG3@6f5VD|&fr$vZ=gFAMmP8D zMP7U(3DT4RmBaDy#laR6*=wF#oB~)pKSRd+HbHXRL|VA}EVSoE(te92;F2baJ0Hu# zvU(+>j;@q=MWFQ&8s=n# zTcpXk%Mhrt{Yaj;C17^!3ixmK1+s3&TsYMHsLpd$G1`ynbNa(yFmg*F9#PaovBkSE z*Q*;Ng2iheH|{0Vs{G*R{Bh<%{W^F?_!2tSH{h109Ms&k8^2x}$N36{a&b+sFg90` zct8HbdJPZ1OKeHhyI&tF2mqso+Xl3>{yB!mg{3 zYc2&1V!g0_pAwy-5kwW}F-TAAgJIJrOeEL=_je@W{=tbT`sX@xH#p4Pm9*i`Y;`ca z{vEQHDN)NAV_@lS3aK`G$wra)yj@ELx!v`t%l{4es* z*qBUIjpT@8^kQBNzlePZ_2RdlPh<%$N~orgM{NG_|0IuoBKLkN(|GibbSx2M-8UA( zj86(M@p>u0bEX3XRhgmLaW($6hB4Nrn#Qa8GKG6wHjHLbjl|z)ljX)_1sG>91#=$l zf+lN8{2_G&E*q=UDBlujx!@1M`j%MyFdmyy+@WA?D*6Ok5Yyy(w(C;{?O%FgMM-)RHwb1IsOnT|hDN_C36-;p>yP=VSUZr!nhugQ{uKJHe;8zl6Db(Wd zYa8T80GY{ZSV5T~+zU9snm0~Feq{-%j2T3yXNSr7bD9{^XG6?&y~+LE(%emnV|?O! z4-Xzp!1Sqh5^!)wVz;@6;vrpfW-U@l|2_7m{4X8?Hfw&6v{uD#L!i5&2efX6#! zv2cbt{CHi-&lNbpGi#SY_38r{wn>LGy|t6{&RPOlZ%zX5emPw0G{z`9Zx*$4E}JQ6 zRyXSyp*}H7@!IZlxGc#Fez#a~Rs%z%_24`FJ=2M&_~bmfT_D4@<+`I%jU(AxKa(Yw z#`43oM|gwvYlxH0wYqJxNw9cQHIoZE4fzKm2>YT8u3y{Oi0u_7a5#rpc<*9=Px%p9 z&vay4`NaJ6c#zb|#7hwU*3OV8j7o4Y79B*rgk@jz`g z4Q~I2AhzOsE2(|M*u=X!#LPZ`_f}{zs`4JeEB`w7^3yknUcZl3yiG&Hvh(E2)x(U0 zyTUJxB=A4shg5Y98jl}>%7FLqv}!xay?cm?2v4QYs;-d(2Li}-#RITg>=wjz#)GtU z4PN?Lh`o#D;fK;fxM{VNMmm_$+m)lxpBzfESJjg6jV17WXd#{6J`q;+Il)xB!?0lW zJ{C3MEZl#78?Khy&_j?l~&JuIE~O|DfU@S?=>JZ9KNy3pAWQ z)p^v^l8>M6v3Hj#@Ait1SoL`lW)+EoiB%{Hcv;o`_%4aRw!guhyz|(lSHy-e+%9*{1BDpXn##TMN6gou_obp81bNZEN1KAIZiDW6XMx0Gz=t*pT2KKJLhl4??% ze~C1H@gY`j_u7$T)(LYAn2Q@RN!+|5xFrK@>Y?_)d*s2yE_kCqros;oZp)-~o z-jBTacK2YiD?{712?70;li2iaX%0!bR$(;inb}EWa)a1ya-C zSkrj8z*IOntGQg#9y@Ni;Rig10bG1T2Is%}5AHviMjmP?&?Xcu60Uq*tKqF6`>b2g5LaBcopfVoB&m9Nd;8;k~ zN~T>mPtnOYbf~2NIC@ri6c&cZ{G0g$@sSarm@h!3t^V~Gu133(=g@8Z8(w^wLCekb zXmtH9n7q&p9L6rfOfe4LOx1)p=Us62vRGEP+M1kH7vk2m2=Wv189;_KT`L<#=bzQ5 ze^c(je_xd$(NT<~Ty@6K&PE*g$L2FWOL5DsmUF6QyHKS4ApRQn5a!n#(VxZD@K);> zT$P#%0nzC^Dzz3X>aX+D`Mpf&kty?-8-y~U`TwKny#IRs-Y{Nir(H@VmD1Lb#{1ky zlu$@%$S7HTWM+i2+S1mLG|Yr(D2?~IUy({8qL4x;B%)yz;_Le#oX0uWxvuB+!~M9~ z#pfZg;-mqb5Pd_mLb`b0Hr^zrvQF^!OCggnJ_3p7N+F|eEBOTb@Kxq0nKBs7>!=H7 zkKVfDx#;)o=fsojPDe6p&*~*vFKl^QYjPm!R}61M;tyut_=r?@8I#RV>lmnS9WkIIH66B_ZbrR=$4s`@nRUKz z!?)#~xMI}}e*ZZG680*IKX33h23UyE2QN31)NEx?HL1gt6_U8bJpw=ec!c6Lx?Hw$ z4W5WG0`<+cxY64X^OnZK&yOcz>fK$S`%f>610UHnT#q9?%7JKikARMc0gcacM2~{QAYE_-e`U|53;w$blO|PQkCzrV z%BS4kLNiR__p+{orDU1iIyyF_M;8c-(nkp=VMWCVDS9hO4%N@XarYz8ATkjb=N`tF z&tJ2}0*1JK)o-xb?Lu!p4kU{dmFa;v16uDc%uVo3$KE&L_@OZd)ef3s@TP8lhTaH2 z=j#;`^m-D!UZ}wumu8T~vK?^1R*H+eosK)7ykl=AYtTK!0Sm`Yus3tAAb zdLQQ6Ia-Ild>i+wsdy`Q^|CO+&9CZb4-Yy_K~LMORQn< z+1JoW*MfLy8rVohkORREC>7Pjx*N|jO|AFft2GM-p3S0rvf}7>UrpNA97Zouduk(> z4C0G*pr-jCTk2xWIVvq>l?L0WSCkgisuV-vLSs7J;~Rg}^|T^VG6t0tNc9T z?5oP|y*$FJKiP%9ZXbnr5e-lpBM-F#zJP67+(_1ETz;_u*IL$R?h>3lBv&-W#tGXkS-=B~pr9VYfTy z8rXnGgJW>#79B3s?K74~A4jXy0@VGJ&Yvx`fbDUUryBk8(BfHzAJ!j*LWv|)o0N=) zPsZaf+wCalppWfmPhni1E?>H#o5`g(fo7~MTlsAouG!Ji`a=WS)}%wX*hu*-jgA%vKgQi+N#1s1H#% z@r5K`7-ROIr$B9HGHEUAW{d5Daa)20EQol?n=ru`)JF=~uO3&X)P0`JH8z5kWFp-4 zb7GM-;`q1eJ$x-w1Mjwb{1vFiYI0Y?pO;(sJ+jAO=F3ue+`S2=S=@jS%c-cnV-z2I z?Z=XMDcaHz%$|0Ze7QD{UH+5HY*NEuXR{>r{4qqz1SJBqDinuOy!is8D`24a9<`_<mTRYX zal4oVN=v z%~%ymwce7Yb6(@@&9Uh3n#O7Gs>RLm=G>Q8sciS>Y7FYgfY*Fcu*gXTw)7j1Uv!l` zP@Mv2A9iB0iz>Ia!VwnFI)~qkK0rZIubsw`0x}Z*1Lp3sfj!A0;CJy6ct_R3lv|xd z@8ku$PMkv3rzX>t+$w6JBS91S(x9T>2SV5H!<`BL-f)~Xt(BVqQ|1)Gy}tr9)>@D% z)K`IbuN@s{phO*=wQ2T{DQ(w&50?KJ4@3p&aFjalPGS=ThiGByCS=&qPNa{i(#`e4 z)OxWl{qMsKen`$w;?|)JqI)^AROmjIkDWmuM>Vb`%acoylVDvhw}WqcEPO1J1*bH7 zJTTr56h7#|>0>LvM7{z|^G$H>NmFj|!7Oab2tnnwH}T1kB3M^$Ay=e!LwRF2C|S-z zsyjrUT*-xfD=UIYWt8OV#6iSp||LW#93y)!zx3UN)C!H=PGxqw<;7#W=jTN{R-o_NOx( zQD2#W^!I~&k0F$1+$w(*>DgyD5;Ax!@^$e-3pS!vx1#!d@@ zj*=P`+3QHNv%^p(?i_l~DZ^kDS?*6(4$S|30u6=p+1X=nSTt9~e18WbnKyqPs?3o;-3=~o zQ-StCKcafbfsX|X(Ee*XPy68%{CSs0&2Pn%DR=gxir0VmQTaVO>Yqc^XF-^|)Rjms z66B>{>tF+ucEIG)h2VB*EtU7}C7mlBF?yFKddC`)NmefCy*Z!tm_8*D9oo!RKbxO@ z@*$({D(p|+B+UD%0mmy}vqZZvEZ1~oZ`g5ovLzM2M&82v#vQoe)f%Q`xs-3UUW%LF zV!%?DrNe;72%4i9=U_XDTj$k6Ja@Jbp7c0w?WNC{wZMZ5@o?rgFO}eo{WZ9H10(KX zqdIqHCBq4S`dQ9*1<+~tWG^fhV{FwCvS`GD%kYRtISFa*?i~$op|lJrGJ03H!5)SxwY z?5W*jJ9<~>Fj<&{uzFDq@RjOd@2jKq{`V&&L%f_9BkBlg5-u>wV+M$yzRJ7zI0LE= z>r&e1gMYpi+6o!fgSgZ-s&J(h+CKeZ>x1%ayB`R{_{A;EXH)`bh>C+t!+tP)T!6<% z#^IadN9=p|L@J}UkN5gQJ)b{+HOcM#%=f> z8_k2~4Q|jH6ON`;?{Uq`47)`K9N^CdSz71O4lakx==slHXeHMQ-*%mWxi0yju__*x z>Gt9j30uy`Dgni-yW!NfXHY!egdFo-M|U3HKo?)S0Y@TDNavg>baeJ8V9aw|v!Dwd zr8466i@;vl96X|VBG&)B3R_u_3Nfk8ucaL(rk zF?2CQBi|FecP1v_;ynqiw^oy~5Dq(Tx#0{q8!$1fBIe)XaM2u&-AF#h)128{9Xr_% zvTW_ZQ=|a)uRli4WL@S7P8YSyQx>D;DNmS|W-AfM>0{aPt$bDO4mRCNgGtmVvNUI7 zFnCc@=loI9S(=+ZZK7u4*px>S<$KnmT@Nor60$jn7THne|QquFY+d#j;A2(S0_gP z5akXTShB(S;;2^fgs0ow%fB`IBuX#)iQ3ysd5>l7S(}ak?a&$zH=pK%)|E3LC4UN> zz2?BcQA6mtXAG(;qD-e@fF)rs^R}>s=dJ*K{)sp>aw1*aBtspd0m4UG!Dg(Pytc`N zis&M8XUb08rl$?-|MRp6GTDxg8zh~e-uyF}elh`r2Unn!&>$PgQ3vHF9(kEOlT9rP zA=&b35cV*XNID&ZcCi}vZgW4&&K|(tC?5A5_=Qj6_Jxo=@z-83}Oa2jHH){>YtHgQnGAY%J{eV6T!qNaywu zjcHOCDtMS!Dms!KXN$sBRZklj@pDdM45TLyUru5Pn!uzvLtXg_0ak$RN2@yT$RdOXkJ8GPx7(xU@0DVGe*8%121CSB=+cZ5Xn8hmKy(K#88_& zIDKB`ABz`2S>!GFbw3r)3k6{Mu6&;6`BsvsXwH7U$>p~P)j?U>DF~O9;bN}Uf#iG% z>aOQV-Fyw`y3%<#vGgG1k4Un)vj&)_wI2E@#G-1>gR7zU(zZ zUHT8PhRSBX-;z4k_x2@5ttdhH=Ym|1XFb2E#}51M%5b|k?twtwYIyE23@ufau+YZ> zwHC|55%DQ#vvnMob14FT%Do2XKsVOz9|G#GkD%}3R$2yH^t>(uA3Gi!{b9?zUG-qP zl{%NGMDhHTb$CU59gce41QXS2c-?drmU?p#tTYGKwM}Er4p-3L{tt#)Xw&!4afGMs z|1jAr8VWZ)CB3Ii;k!X>^^|SeFj=sYzj^$3k~n0~Hy?{&4})qkS|JTnf=kJKnelY8 zZaUh>BogamyZB|726$hd&nGAL$it>*jCZ2Af`sP>z>(WeSglM0@62O2co!IjD`t1H znI4R26j8=M>dkj?;@F#)?|HAsu9CBN718YaIC%Kd3--@G2fC?&`0=$g4eHB)4$=;u>7DbW>&o=4ivbLb(*E*6uLmvOA?q&q-CKKb(X85G#H zz}X~qdcbxTbRJs|x(%XSDjSEADobHy({VQL&Oi38UxY(BJJ^P$wX7aCKvBFheKe$p z4JSO{NWx0AIoZp4$ZcpI&Sp(1_PmVpW2kFCh}?l{=6TV+YW9*g;vk#^Wd}aP&4l0N ztMx{{nPUSfU+RGMIW`FUI81r0!P#8P$9~gK#3E9b)9i3#1wqH*{>;BDbY?0}H!I;y zHBo?pELCWgT8`O8-?61A9~Xuj;m&upcrR}T&Tya4iTjqJW~mqi4u9ZPpPo%z(-g2Y z;5n-h9jzO&cE&6M4^zIcr=*K5> z=LbTQw2q_qhG?T;8@*51B=gDw&Znjh%&L(j;yN0b}D(bNpDvp4?$( zuQmj_xQye86{pCVUpk4=^Usj0gJ~fB z@C?&lc9GOS%Y+zzcTkFa!0+oj$KR544g6nc@U}*j!luav+?~p17TqgIo$pMgZ4y#6 zupk~jlpI3K_Z@t9B`Y|nP)5ooxpK}M!noNJHgG!|vSHuG+4Mggg((Zg=+#r@FtBbO z`cANit9Rz$MFB%@3XkFNMqRdoOMv%_0^x+qbXxJ*mIgkRrXKOvA)?Y1dUPVtS>!3c zAE!(-sRWwkej%3LibVE68VK%4Bg}08s&1E&(h1_U`DYq=wbh+3th0&KYsj)Qhaxbp zc>oqA+tBeki|kr@M|nDvZbIEjK3S<*!LA0%!?FD}u(L}LnvU$Fer5-8(Y;F~U!#cZ z7dC*A#zK&>dCu+{-DClu3Spy!JiIvl5L%Kfus|gey0hPd`bY@)g$r|m>pp@(Py{Pm zlS%BJH;|iGE#c1k8qzw;hovc}V#n9pM0a96-kQA`dL6Ri?p=AT>G(`eu2AIGi=+`{ zoj0WO@i3_jlBK#@7qH7~BIoayfLL4tCg&XJyXUzO_$&eE?XkkMZ|{&|xhXJsc_oN# zJ^*rkUx@f8UHt!AoT!nruyoIJ5MFx?xDD+r?)FbMS2???X`U}kNjp!Dt~){2no5GR z6#+q8SJ-pDX$SuhtQ`bBvyL6LA$ zy@P-8;0Mw%U<z7OL$s}IV!YKI!<(I1aX zubhXaPYOX4uMn$y;lPPJfn|e<#MH(U%YUkJ>*d9kt2d=?MxoP0F zPlt$}yNq3*#klg$0yIfd;et06V)p3(^ti0CG}OLshwuIy!*+(FV%x(cr!V0#*TMbZU@uG47SbZAo>MolfRCIcCQvG(*qw|sJ#9U_;1n_ za9i;jZbhcS1;Z-7lWivp%}haaqfy)z!{eGmZsTF$BJ!kFhKA%dKulg34BU`~xcSEL zcH=sT5NIM%i{>#`l{%6vZ4CRq9b>#r$d?f8VEZ;?lFu<|aC-PQky@xq1deHe@%NRC zrfHy@+Zt=$}@@WAPo6 z7AWCg@(1grjhN>3R8n-$310_4;;Su*BW^-rq%v_U95uJczRjobSlwduF)-x@v)b^1 znJ72X%iAzw^Ku+!fDgDRr<3^|nGVw8=CCkjDf|9s6Sx@8 zC3mx5G2xYwxc2-ZxU$s^oVQ8A9(!SMvmb(MzEk*9x{JV3-G!B2djYR~d|^YxW+J!Z zK8$_e32CeRK+>lY8hh#>XyRq)eUuGbfBKX84ckcO{@eUnIjt;2ED2f_O-Zbt5S}%g zP1+VsCo|Yp7`eL_4wUJGL;oPDc)p20uCIa5`6u`=!=uV7r;E%}6vMq$#eAbg1=jICp4EhCVv6$ywAb*1 zz>HPwzSB0ac;N(x|9O+((^@$FYacTkw;q4}{ls>}Cy|2L4sg~o5iZ>gBs?_q?W3_7&N9?(t>ss`rvCHT#4$3tka=fBKW6O&yO?YiEioP^TKD3O+WRcx%N024{R~W&i9pU$ zbt*|`(U&KmfxS@^)Oeg@5nrBU!qGZ;*-1oO)o zFwUZkI5oe)A&V2_wRk@K&`m~vNhJB73Q^g01NSIEn={n##>StDV0~W|4b2upNxLQL z%x!0V(huRmj4Yfcw1AeD@X*cDl`~Ozi7z>Q{_pOM#Q4M_{ufIfA`lz?kEf5J+d4<6R6MrOuWy=@DVB#}=^R*lp%AiEFGIwx`w(VS1S(Ij zfXMRAKtk>iwZ1Uey^g?xMQ^L;$L)eP?R{{Ze;Jg#&#^blucDMl1z0V3520Oa;A^KB z7}TETts)nu6c^bvga=^~SR&cU;i33xza5H;rh z{>`WStBuq_L$Zm7}tc1gN=*JTp-GjCPBr%deJrWqN(#&Lz)q? znCk2xwDR3B{9Ix{y({zh=Z3REdXFkywNIH=T}`A3!W(Ip)D9}UZ!*ZAkfCblqnTdI z0hCs7<6T#kXqW^iY2(qeTaL8e&V2q3?3Oj z3s0!Ufy_mlY5*%h)W4lHPh7sf7yolq-~>Mla|w#&xU~jBI8Egw{?bvvS$m7H*Chu(CdZ=T&(EO$5kOE`o9*Jc z!xptU_|r)XF7P(fCuU}Feo-_zS{DqVAjLvn#;{BOd}PX;-SFbt2${QW0~ox_0>iHj zFgIZ%?EB#XuQ#{A*W1eUmYW7V&=}mZyP)&^NCUFhE;K@ZN;rx&mH z@=u4?k{@Mlyd^m~(DCptsF{wE(ia`Pyw>aBW}yfdUq_R#V>-Ao_B4oTS%ARkDypj% z20BV(q`0h%gk4g^f=_wuirNwQ;~mHPr)l7*k{z?YVGi3$>^O_0o4l>ZRJajELFDZ= zgxy+&IGA{ieQkY1_VruxGcO+}rE7hNaGw-+PJbU7&6~;9cz$R1s+{qo++O@%{*7sW zQHMc9~1BkmI9eI6XAiwArih` z89r5X!t5^rtm$DQS{%87Q><3QN+osLWxV|Va|O8Lz8z%$V;CFPx8T&8#J_p-7TCzo zqdrfJXlqUgEz=64B{rqlQ<=#$vk${+RDqI)DG(~=L*v?S!;NotbYb3j>iK3P6b6aW zx211D>Sq%?@off$kI|qrD-L4Xis7c%Dflxufd)2*!kQ#Im@jb-dgqGJHPa8%(7$r@ z-bG*jkL0Tm_Anki4-0|!vE|Ho@mro=WdJN_@I>C6OqdaCi(L&!0#{#v%=Qa#C3u*) zCMCe~oOs^8gh;mkfe>UhIl~RTF*}jy6+Ed!2Vt6f9IGsH!}BGnpd)-9_Cz-G*8H?0 zGna0FH6#!MLaab!gA`7+(8L;%y>M#oMd%ICgS#rK@T}$q`Figyf5$3uV3k*};I#})VF@3^smE6l+FdgbXPsF?Ok;k- znwb~if#}!jzI1UK`!^kSM+D$p*DBH-D+LSdieQV}PY6@B!^E>;_$k|;PAk==S4NIO z!227}{@*N6PI^p^Nv1-}kRAP`E=y(C{Dv~2bli5+hsJ)`LY*gYpj&kuvi48l@N5Cw zv_y)?2CSrShr1wbzbL)j9K()#$#J)4oU(oEUXD{5%228UBWw)Hu)yh@o0*UVGb zbpy%I!t`3yRPya^CiiLLUM^Xfj~e^EdD0JESckDC4!hssYdE~ZS1f>Y)(QX=)4989yo!HtU`Z&?G;%qoE&)@#9Dpr0sg6o6bsCFbvK*q{A)O zG2>ciJi%RVKTxDgfs@>*17DYmkX6@D5^u_Q_e2;R%gTV;KlQQn;595fT#NgHiowZy z6c3!1<3h40aDB#caCm=7b@7cy@amBd94#mzv9XcZEPDoZCOzWK@i~bP13XFOwNsdl z3f#lYb;Qd5IVjmoquqaHNZ+Bk?0}s$?#&bBmi%W6>07#>|IR3HaGM03v7i@z9?byK z`5vwtyo3gKE%>7z3?}Qtcsi0_nV|AYbg7V`tEMfblEz1A-iQ+IiWH}T^2_M*TW`Vn zeIXHW$%H=|!kko@KIiG@2cC!4(!JK+bU;RnE*YZK^R_nqDom)=G9`L8)e4r(Spv2b zk!^DHz>*>zT6y^>J>(ij1?PW&pWZj&lUY2Cx|~1SQ@URW6$d-pX+fFj@<6lqPDT05sL$Kw*VWy{)jT_F3 za5kTOaa!5}p78X=*C`3J>Ck)F$_PAd+F5oA#cVJ}98CbK}- zAR;-rhin;PY{{Z%zNGXHu=f_Cwnsha<&#EK_FxJ1I$@8>H43=TeH!Wo3&O5@KBV#8 zJqF!MB(=u{Vgw9n;i_|>vDlm_EBa88AI@x+`W#dV3Bc5GvvKnTAJ`bRncY!~!ozOy z?4Cjd=*!XP><$pwR-D-#N z%%CdQ82b^?C?22qXu;G*9rj6M4;Wv04#TBw@HC>17r*2+smk-ZXoG<#TezVq^H6G;G zhHmz-Zo4TYJP;B%zf-sI)jZzqu^|#8l8LZFHAg~&89eKvcX0-QYJ9MiUZ>K1`m^A zm*X6~9chPsqyps&zv7>Xf7tw?Tk!vVk+O z%!TuQ--kvE`M7IpE}mKY0#~%1Md6!gal$|s+T#5W<;rAHcefM6i5j3PpVgf(w)3&CouG*xADaPc4)w_QIc1 z>fE9E$1s*>z+F$+0XIYml~)z47Mv>tA(0DdiP8WZZP3N$fd-6PIvIT&fLmX}G5<+_ zFn4Y+ihW&z7NW;xK~du;_+qj zoacWska$!MT3TB0(-DSi6hC0*($h?T(+T)}Sd;REKS0RH7+!ptPn7F7!G9$ccxnDy z47aYuP|4$XWuzY$w>&|w{%(F@bT(>Nb5O3rBTGAyp>v-Eop`kerzSteBdfl%@yGAr z*1SO+*3LnXqZvkgP+ zWSclXJZuQ=N)$9@g{!E)Il3sW;y$qcBpZQ*Y=F=W?Yq{4@t5pba^2B)8uORwST zMLKZvSvIfznGnrrR-%=WK2+@-&}xlFSTgqnTnl*xwULQHt3t8pQ_?@Z%To)tWN_Je zotQkEP96K==%cD=$|?SWD0Y_UT5V>Y_Q#pvNG^%5kcaw>rqt?`0JS@?1>$Fnr#EsP zY1!g`cW_`1=uPiochmP_bLbm(o3|T3N+;scd&kHPiS1YuwiE2uJA>kRQEFBn47r}W z&Iyz!2&-1;VN7$FT6sI7rzQ0Tmun*c$(o z@uT!{_4QQTKDGtxB{{z634jSEvQ5_NlC{Hd|6$HehV&R z=UE9@`fD}*czuM~l?EV*>B0PS&v+-_z5xl#*Wl81hfUml3FqGP!NjeDU=lG3*;}X6 z(Pw7(YfmIhyq5}%|N6g6bUY-mjFdd8feV{T_;c^OF~~f^R&y7a ze!!~AuKum$SMhODWA&BnZ;|7wS94f<(z80#VJ?#mJ_*mxd;rbq_Fx{)Bjy&b>?Z%J z!$;w+Txi{1E^73Fill=)ecdME+T!HuCZAX>z7989pp|N!EsG4 zEK&c!woKK4y`w2ORf%BoEhE0EY9!2E_?EA}@h36TO<@(Oc91(-NiK&4K{jtP9XXm0 zov~YSgQfulyFDf5Yp0Pj+aHlD(o-RQzZ>NC%%IUK9Z>l`7)X2+wEVqTef^F&j>`|n z`o%{<&7zA8-5%i$v6Uq6WE1RL>_JZt`p`U$F8mZB%LOl;h*Dey+g-FCLkk_?K*|Sx zsaFDf6q13b)~^Tdq6Q?7ma~LcHGBn2Nv>R(!{zb)D0bZw2f~eEa-At!zdwhDDrVfl z%I#=s7Kh1Yk`T%T!1yCanEZ^z*m_TpTVp>)7S1$-Pp%bqKPq&%jx`6k6*G0Y^}Ms_ zHQ^Q3$0zVg1!ZLqZ}SAci#e@q>L;s2^T~H>X-EwjPh+cY;n2GaL?e3#Ixj_d|J)yLA06VwMoB|k z-fB47bsT;^?SdV6gVjD(qVj=1p<%rXebaIc`oqM)V&(zrZxclmt4iUv;3pW8TS4S+ z>?DpV37Ah$gHyOGZBEcZi3#njdJiMNmsr!8osM+Vi~D@X^b}BNF9(NuT@v@lnmsl; zT5WZ-k?aZ`&&6nM!u8A->{BfH)AmTv+-2>6)1_g4m=;w0y1@L>URFOG&F6*v>%)W3 z=kfAPB)JHM0%CYNsM=&g1^F~b0v=cH<4<4sisVbjz>I25cz!SiHk_*G*FGA6kwnDK z=RD#tr;r5ih=$vTR>I%AE8)Y3i6o)299$c-*b9*?c6H}r{ADG@DeD{K4TI2I@6rO=Jt9Mg z=4-Q0{>+>@G@u(@M8k`R-+0NeE2Za&5x{mx&Q-y32{61qfw^n8}{6- z#9dxTAV_vTd=qeooX!L6w2(4R=q_jJKDH2EqKEx!KjVweHr7@i0nJ~e=wP%6BzzA8^E`czD*V!_8^bEw_tm%7Sw2bBSD@P*s@L;%tf5>TJmr76jkLs5|8bgZloc(tNT%V#$Vw7+AMZ#xsS&K+?5 zSq@J`W*lz+J%h>a)&=GGVi0?vM8n4^(q~uig7qa)D%Ca~9u?dmLuy*^psN%@tqOn% z8A0kSVR(C95pLJ5fD;X0NXqrcAh$FU2KI`BVT>}Yi(^E{vdB*Mawaq^Zzl(*{$K+g z8jw|L2b&(}z=&uPuwA3jWorx*atz^qaWw1yISxJ?cVdm+(%iGg-)Q}zoV2cZ234o+ zX?gK?c(=%qs*D$<<5$msM%3V~3{=KYvvDkc`72Vp;Wx4OE5zNiZrjz?on&X9zlYB! zj)2<20a)Z?1UjwKuNnf}@$5?os*$J06KkR0v5Cmo zOVI|$KnO}-&rbYM;Xac9HX-XVn{%KRMRbJd6tyBy{#6f`U7hSS_swM@FHXbrv;;Wy zCx-v<_9$eO!iMYtn5VQ}s^M-58aE_26sV^1+fxs*{qqiBZU(jOf z0-NE#*`;s>Ub7Ri)4BNlHss;e2n<|tjdxjdH4ge+XM+18AxGs3|9M#ySWk*!%8BV9 zn;DLUdy-guyfT-2Lk%-?M{t?{UH0hJCD?oY0g-M?X7@~uu-eK5dp@@F*UCM?R2qyX z%P-^di&L@hfeHC`Dge@s8$(!wHPL%B3wG=`qSl6Da5Do?vbvO<-L(pq`xsE?qD^q& zbrv}i&<8;hg?y7E^T`#9f4Nc|N#3;W#IWNkczMAOP@0<$(=Vri(3e8O+c=({Q1*c6 zG;4D6p&oe7KEdRqU3nkZdSK9$TvQ;V?BRJM2tD9y7i1`cucqB*P5r_!TUZF<6XZZ9 z+^l+a{&D`}--UQxMGd>Y`f{5-471mfx^Q$sH~Hl8gr8j$f*WsT^Qnjd<4yj``%ku? z*LOmbWjV#LN|Qd4To=zaHy_5F_sXbpga@C}E3tW&J%I>Ya$)LYqIm2U@szy-7Rvgt z!@mdac+I4j(vvav$TU#2lmfwEGkCu73(38v319oN_+t=q{ z0NM?I$=7*-cwM%%I?2li!kav)v`H8>aVdqUdL)&k5F1)oqJ5JAW{5{)OP~@=(;r~9 z>77u0eigOtm8ADx2-1eINpR!RJXFt0zzrWoaeievnX}RfWR*WwcSy`&Jih`sm@P|> zd-2)4C0o(iAr0>d%X9q=kJ;I;0^q8Df!FGE!8WnR7*`nSv9WY9`em^(lzh*|hd<_H zT)H{BpGihH-&w3>`Xv@8@`&8KFqyo{nN8%5Ek|>SeD;@jnVpuQXgc4S#fEngMNK3N zqqne%*#Xr*?4|MeGiemtKZt&`oFD}#wg=xQ?a8va{9EefH2CX@`QezE!U84@? z?53l2Mjm?>w-;M&Rdx{sV+@;1a>Yy5PZ80F53v8{qH=87175D+kaQz z$sXhHd*06u?N4RzmrFvXcmuiA(+P*IWMQ$b79HGo0}}UdgAJGlPG*efd(IoTZry<@ z*5(-a@(-LhjE2Z1Es$h56>rYn1Xhb`U?^JyRy$bs+g>e3-GN`(@ z5Pr-PqL1|J85^&_TVrR=E`NCrx7{Yy#hzElPXL!ksF2 ziCbYjuRT{1J#U}KG5JW?_I;Gx_O+)m2Nu$s;!mOTkr${W6tfct)5yB(hOE5q9N8Ct zl^pPyiw8qf$y&ZF-Mg%gcA~N zEu!?_M;2Uf&Tje1GW&y!JRGnD)s_dOEqXq=s(1>=_i5nneluKk;yu|v`6yqYSetCu z`~TjL2>kt@2Oi3-XJ-e>$j!~0(5LYlS$H`Wo*vzZe`=Kx76&n*8#BlWq5EWSsx18K zmcY6tU4&2ynePrU@rOHca_>$43i%dvcc|wbj8McmrTJtBG$YH>#_EP}cJ}z7?P)1p zIP16#JjzQ+(7ZT)!8#T0>o3BMshmV_>G7Pgtp%AHafDp+3?gBd?C{w(89ctG1ii)? z!}w+XY(Pf~M}B@|voFS=^R_BmXvP~4yotFA|3TB;GrJX}FU<}G4D!Yf(k6btwex{2Ta>^6VF?kc!0 zL~w)5x9Z4vQMfgBjgY(DO!2f2>cz#dQo`u=* zdN^V6e|X>G5ZVa-`^ckSxFt^-`3k>yY5Qm6{dslxR9g!SLsv7sEhVJNRuXa&1mIof zTXdhzC%G0kh|Q}%?1n}puPgozTK#q7=2|DHuH%jEqI zUd-C{@3T|7j<~&2l6lMf^Bq+VgQJEcydBQtjg|tczrH{m1x)yRr%bQ@bs(J#Uh{^4 zcOOWPM+a#(DPt~g!%2Y%KH zyy%fos4cgmQ#=WE+9*Z`FMovb-e#b-u>-FDJq?E%V^OHB9c32x;OZygobWk0D2`r4 zFH6m(PGU>xi8+0cKITXrr};wQs4HBPIDzMd6*=)HhM9M#;=I)p=+9aex=8sdjTBF# zj@4GQL3#q+bbTuAU2=g;aLGlvk4Bt8O*$DrP94>CjAv)8@$4^ z0@d{nSQx*bjo)Df$0FW>ifsfewO!3uIoeN>PnlDvf<$WJn@-!tl4!;HA@C1f4nI|Q zV6w#k?_%H?IDL8=nERJQ^y}l~VR98n>7Qi|auq*>H9Fb{r;EF-(~&!Ksc7botwhnv!( z#o5Of!5{sZbcNjZ@V+F70K zIg9o=SmU0|j>cgx3@8@}MpT_jomW4JsRa%{se+|*D? zkrEXeC`m>2-q)kZ$|^#NXecUaePo1&wkGW)Ek#42@!r=XrA0%^NXRNmlM*3){=qZO z^SI6f{p$wc)xBMeyZr)YcWY6_?oEkgo#$;B(nx?=XKvsiUj#mE5o2Xn@UZ)%McLTi zPb5tt5Ylwdf{~sJ6dbU{Gx>aAmA8|=OIE|hqeA3|(`~exX-^K9eIQ|Ze_*cLLR{H4 zjn#XV2i#^k{Jh>AQofnfHNG0$dB11U8A;jXuKfpCP&keACbSj1+t#un30zFSD24VN z9Jr!v2M2^A$ssEdv?bQ?ek>H+(zn9dxPDBsyn;MOrPwgfA{3au5o@p1l9;y)Xw?gF zbcH*)j-FB=`i=*#*Tup}kv=g9--I=#TJW&o0>HysvO7xx>i90fvLm-)P_`Zf%`>4% zOpw{+8V8q%J4tvHN;O|-li<)G_;NiJ#|i>F6Cg`4k6vyaf$ND|A@PSO zh(-5-h)WF3*=K+n+rzoP79_yksY?APbPPo7E`!^s1-X&t38syYY4F7xB*ue)-$y}) zm-j7MeR?h&b}fL6fCPBt>jnHXJ`)i+Wl~-GhkWxYrEyc?w0lE7t;&nT^1rhndukjL zn=g|e>W@hB3|_|A&-vx4An;X{)9<`!qZ z`YMbKMi4XoO@k=Zz0C5o7Mm z>Q_p@yPRUsUtd%>U5&a1>mWNk0Mx9;D@+d?64A6!;_Df~%zAK=vHx`uh8#!m;)`84 z`%f^ne=x@RmVcYmv^j)8;Wgr_`5G?B?jcK#W`Yur8{I9}L|s3dLr7#5Jy#tA*G+hs z2epErxJLmhA0+|ru_v%4^)CF~(g>>!5zN5@KKJbgNAn1n|8IkPCe^_{mlT*2)K7}y z8|Y}E2ClfVjTA^NBXV1%;Cn?D7AM-^y@B5(agG62R~J^;cBn$c^b%Uqa}=}{Lf}hl z6?{11L#kixz;%5UR4kp3RdB1v73b<{$SN7S@Uav4HAdq~pG9!=TrWs@H^D94cXZF2 zi;zFb$MTd7;GeQe+|qf07H27A`rPu?9$ z(u%mZZd752%sPXYE>g61{(bsE=?eB2UB^`loAK%j)#^Z%i$YPtavmn1=HM(6549`45}~g$5Mz4_2kwiJ zKxQsXD-pmeXCIIOQcTyRXF(KKoFuAc(aOhF+$tYMm}j>aCvS<7#2+#=E5r}X4N4*2 z&mXR8ETtv55$&>bsr?*NP_->1dS6mGAzhsu?I&E)STmoS{O}2>zbeTL6${csZ|mqM zm*Y^t9p#RBETnh)L+G>BuC#he8P!^Zz}ZNCT3w&lg~ z;xz7)33*7()F-Wr{b>Fof=?!p_(>|j^bMzINU=C|`ZO1BN#xOc3p7ACxsGPU&48}s zu_Qd~0QHPrh9|dYkeVHxAbYiw*kr6nxz+MeY##}42kw!Z8LhNvy9!8#2H>0vLNqa} zk4}g>W1{jBJa+aqzHMYc;2(>kDyPWb&6C^%9;4*_^J!#-x)DylTTT!29KmuiQFPlX z%v7!W4^uW2;DgK*G&C>4!*(a=tT#FMjsF#yD4C4|lRN3KWh?%69;FvnS~2Cv&vEZv zm1f_pdduB*L5)sEvGi?!IX(Edkvu6XBQMYQ!!*?iEXaC6ABKGZ_0dMcP0FUH7U(mJ zGv%2bb!&kK<>0lK1QcoX5>ty85PE75H%?#1ochksjtL6kzJ?ymdLhcNd-g*SttC~J z+W5zdmnOD1R0LJ!koX&qa9=%zXMOT)Q*a}Wet(8a`yJqcJrDD&>o$B^8jk8u{Ly5e zJ7|2~1>Z!K$>i`9UGOFbGmm%R^ZpuC+`g7MD>Rcas(sH<82v)~jte2@tSMxKnZTE@ z>!jXrANHT|hr4p~A#n2!5bvA-@wh=)8+e!Fz9fjlmN?NhZ*ErTLmTz+h{Rx>St#qz z$LQ~WXkb2OOgFFQVW&N0ahpN2@J0k6g~*mUeRy>dm6gvBkvZ0#O=yi=5YIHgRJ zpPq@>w~o_ zO3b}GM;PHQvKgyLbuDhl40 zU!$GzPO$yt9N1bhoq2tB5%bIVDYcp-0~TYU8rN3m!>h|5cXMFbxVJvQMI z-c$7L^GYZYUc|`f`@(a*Y%=4FDREF=KzvSY0=6uHD!L?*$|hcj40#QuQij~KVVCjn zR$t_7W6|1rfFubFfqd~nB5T+{MYd~@)m$0kkS@SZF6OY>HR)_v;}Leml!sZd@iNnq zumGwbD>9Eg!az{}CM@~+io0ih49;J&nsxR&z#3l>X1{^~Y}7+gt~<#X&+uoaeY*{3 z6&YrSUltV9eWl`j&oOGyo^5)i%1VpHVp)q*exRw04r^;-4fW+ISo0)=&9>XY@}EmF_%rPYutu}N@>D1+$hC&Qa~DF@-A+3E zYBjv5UyDw0!fZuX4{8f}{PXwAaL2t4?tM-q$LDm@GtQY<5FY_U&jd;3s%!XR+GWlP z-9r4?oW%}uJlN4R#RXVUbsvq~g&BHwyOXYtx z(y-W%6)V>SaK$uY>9k-K?5me%#m;}C6Z;>~{p@|*wIc`z$31b|=nity{1bQgpSkQB zk+3^wX_`qW`PU~zzo^xe*WzPs2tnp!YlP73)CIPPWfxL!KUClNUzdk>^KA_U%CQzeyl;_$X=&wc)jKV>~62M+cn3 zahv#e9DHAfd!04uViAgiCaGw-K!^O-S5J~N{kSG6sn}>I#5Ue6!Q?-_^ukqn_D=C> zh{@t7f7Cuvm1oZQtThTHzGo2ak_h7PU=#jmibn(2ak}x-XJY=J9jx_5C|}zFI<*0? z?ztykzMM=I-t}{vJ^b*@#!Ni&ZXCtl^y0DYp;V?e6BE)m(FRSRRuzp{eoK~>3*luG zW4__jqc>4&V+rnT3WG$i2e8e4J1FPn!`I#d@Xo0L@4Dwi?{*Pv>x_V{gJ0m>(k|#S zmF$Shsi8I%WU>^V$AJ$nbu$z z+~}%>KPs#6m!lEs+$qn@y_E>>Z@(f6gXU6ne^~~uCC`8fuqW#N6c);P zfYUb{k~bBEjE+D3^TCY6e|#O79NGdu3#g+4E$BFD>j>)N{Azg)hA$E z>oQn>G>DD~DC0My5hxA5h$FwZavih8aG%5om-*+HXZYnv#WhXTw>iYU=UqtoGwfjc z(R@g)X@T#RWAvEXGuRbAL0#NJhzk_ph<6qi_VAF>+BrCX_?N+fk_uAsWF4_s?++ta zKT`!`8~9Hqp9n41LC!fTsDIPXIW*ZvMql=jqmRAlwSUR-s+!w9EVH&>bTiHj&|3M(>qvZ zu-{_~=X>BBs%@yoZJ003{ZsExd@t)#{*HNU!_zAIXVRaVj9Fo-u{1T8%;8XhM|8>K zwdBc1cT)2`mn7eHp;z)n(BV`FUic}B+xn9^E#HKpq;dD$FXViGNpN`4zKTvh84_Z(hO^`Pe7fS_?o{6*hk3TQxcSOkp~*xC z6odq^HOC)eWIxAP<^@O5x%l7dbL6f*_nU^-2w?cZcpNy82GP#vKzpYrWDe$$N9UFj zt=>3X)oFsu)BUiarkPtPFI?`TwjY~f9m%zF?Z79VW!!rmHQ0Lb0_wj4kPo^}nQvP$ zXv20orn3YuKUTmc2YYd8!Z_865r(;!gt()@EWN|tr{a&dTlS~fU+t+ zJiCUvd1T`L(7SjiDudHjJxTZG?gKx!ZJe<>N0M=92Hv-vi7)hK;PIk|I2t~T0UtEk zZ@+$`$~Qqag|~yOmy%?Z|D1$fuOncmV-&rs#!p1;n#nQYi$rebEEH|$#iWNlwDD94 z?Em{6HoUL^JpP9Mu3gRX<_Kfh;RwQQG@_#gTPtkdZy`r&Cn~wtMd4SA4h z#962En(V!{5uXPNpnqc_Eh|1tsomm=!97{rVXhNhKWb#~MPf1fKHP!TBi_tc~?F; zETWAotfqs>L19K>nJyDxB*@H8y#aDA{-7Eu4u7op*e!#SY@*b0gQxc%kn{;1v>1;D z)lz51Rjv`H?Jj_LOLe$JWMHB2AnCDqhHd{gyqWGdwDfbs?>=GW*rLqjJ2lWU%K~`A z_lwM)JxTA}b}yH6H-w*ZVp#F~CjMtGzb6ZPjG$J>sCPB=!xEvaPg`JO(yBBPu{ ze?+bg?;UPZe?NA^1AS4=b!^v!9J?~&ENOG|f>l$3Y<0RdP9)XQ-ou0Rgw{5)bA~$n zo_URm`&Xj2n=roFkxLKcJmJiaio_`ES9GFK17d{aVHR&;MN!lOdb>0ZH=8El%9;vv zm6HeO&TSB9_6O#bJ}T#o`4W+35oAS42%d9luUPsZk~F^hOT%BqVsmUWHb)r4@GuKQ z4l9{BV;25A<`Of{L}JpbkC|Fq;nWEeh|I8nb~#7b8n%M#zs;Oz$gd=#seVAUJYmx5 z3#WQ{ERna3A`VBwiRs!{uxYEQxTY}=&I(C_aq3o(mp=n$N^{F{zo(KIR|mNEeiiWM zJp##w`&4xzi%ML87yya zh6BT+;NfwR6f1Xt+~Nk%4*8Aij<(bGVsq+qrik{1+i;c(ountXM3L_b*I}Nx1>ESq z2)50S0bQb*q0XhSZ^tzlmnkA4eKWCjh82o9X=6xlG;|m?fZL7+s5?88Icc_*Icylq z2>#v*IyRdbo(%6O3co8FS#B*O?e97V2TneWp<}(WyD=_}~?#v-6f5voMGIwU` z1}2&olH>e)VbYzq!n>&zym(AN3r-R1ZvxEE{=KlpUWMU(e40^Z?}0|ZS5Tbw3k>}C zgR(3?m@~qpqtvNFueX|XUss~Zqc`b)`z4tXML*{1qlHAY-Iw_jAO$`OGoW0!jaZ!a zq7r@QU}O9_DCG;rHQH$gOUikf+S_tW@~c$H&?|+VCNXq?dD4tOl+0=ng_PbT zAc=|?7W0MFi6z0F%mbjfOo>K+XhDmnt0=KJAAh+TQn5EV^!m6BZ1X84&#x~fQGC{L zMkEz(6r6^P-f&!{cOPY&s?fP(s{FQ^Fqt8>26*+XU^65__xmQe;n)jGt+tS*-447` zRg^0r$F<-QXLwPBX}snK8D}4WS#}vbI5G}=iayY6R0pkHKM22F3BGul0^jdv5*_ah zyuZ*B4Avf|0j3GCc(k8b#|tw@z6vlsqKBc6MbMPkN6conqw*guS|-Uw96OCtR*%S0 zFKb|Z3gM#CMW`;wfSSScB;Z&L8F{A#M*{`fRW@GGY${6}@B7m}DGy>dFC6CV8-&Ri zNhUb44IIv>!D-NBBIQMy(tn#|Xy!NAvq6|q*f^bWn=oP)&bk6kTZSQe`gX=(WG=Jq z;Y@ft%Z%Zlw}$aJ?}v64{OIZWkqp>qLx{5g^Pjpf!!z)&tB(wrvH?v-KiLhEZn`sq zT`tU<$F5|*LOmwe<&kd3au~)XOwp%bz_aTsn7fC;HrIC8zOWRcCkgY}X+L9=>ju$E zt2ysidXcH+<$$j@Fjq|iAoE}fblehRB-ziTXVZM9Zmtp|Y#GkPZP?97jE_OttD_a? zN^&5WQ26yQ)2L?dp9yF!O(!GsyiT{THuv9n&X$#ZH^b$Gd*sg;d@1bZY-PuN->Zif7Z60va z{395jOn^FVew=$SvLbEzbB^>*VbEB*loQUIK%N~}Bxj2X!PV&&oL%Vo(7a79HABrPGVYV#KL<*Z_NU{3jCge-4Vh; zWM3baVZGdi$RB%k#*nok@+Em_`%WFr_yefQzrKqdS_4O=Uenzt>oHhJo^5YJoQzsS z8wVUvX31N;({`OoyNF_FF%KiOVKJQf)I*%Ky2;rIibiI2c%6qA>r!5m^D1kgYtLfB zwTQsW%kF}*P#!58`2+i6&x5FF3n)Hq1^=-Pa5B&vCiJ>NkE;RA4KcVIn!xR77Cc=r zlUNOk<61F4jOVYx*T;t`U$!C2@P%S%mj^`uW6HPDWUjb~1gbR0(<=iecv0XQ>b~Yj z%brYnXzLM_S~5sR6tltoz%5Smb1xbcR6zHt@5PPcXE4BV+0#(L+MctpNBW3qMiG)KuJ6XpeOzfq2}^mEHc(k>v|~jGoRC>@c$z_w~(VY6Ci8B-e;+ z^^he8e-&WX##E$F)p7VhHS(Wa%6d)+v;3WU?5Vzmc+TSyT5t7-fiwZ;)1n%bWEQZ_ zPlWN@UtxS^uFfv)n9BzIX+_wZEz}a`wa8JN(bgiyNkpy?t z`(()4r_E*e{(OewW2&r5w+o%OBLuY51A1M zn6KnumK~#u<#6I61OBN3cyQtxj+_3Zl@81BTkkRK6<`04JE1VS?ce{MkYhISQch^n zD%>cbgIzBz@o;SbTK8v@CjNaetpAfdO^k(@Erw92p$A!yGsqWnA8vYXJyEd_BSyK) zp?E@%Y)a7Ph%h-Q3Wl^ao`>B0!3R8&17II5%v}C^12h_2NT1~mQtX`!>Yf5nBjkuD zHL}Rx_gr`}v<~N|@}OWv4J?(;f!#TGVg1s2u6g-)Qrd1vG{rhNzx1_9bNGAihxxnl zSo98jbnyY?ZFm5M>-m|o;?H#b#tY=g^bZjC&*9!4md69<&%vq2b-+E;ie3)Waof~< zF5ho8lrN6p28Am@(bgU^cDRb{P;S9~-)`>i-~@;kUQMprsIx+|Uf|wh4(ryRhSblW zY(6K$>}VBat~pJI{P;k8bf^_1wa*gKxDImKApk2$9d));!srzb@J+&HaDq$&n@Z|Vlv$^(-U#tf@z zwoEK~AACrU-)us;fBn7qbrF8vl>#5WI-;|WB%3$bia-Bz!NE;~6*HCcxj7<{MANW> zGz>ngxO6v~(S{ZA$K5+Q$){w+lXJj}dp3s0zWkoy4+W z3D)&Zqh~%9RUEFqNJN&;fDLNnoE78F#K<|HWc3xJP`L$YuHoReLw|5_zcQP4Wic-8 z|BT*Bx>U=SV0M5Hk&@E}uSq@nM>2#Ku33+oMgnZ#t@{`L@2OxnDRT)o;xn|xl7o>Oy}w#Qj$H5`LOgH9l6?}`tUv^d4~4j^B( zi}=pk2k$2&7ywm3s=vp1MR0mzI`bkbl-VT6FdDC2IF{{!)KQD#^S>8}`}82VsC|(f zZ`LAXW(CZ34JXF`&Kr>S>4t-5k|6irPMrNE9aJ~l5(W3$oUds@SkzxlbIx%&D|iCo z#`AvI)wKvhpH9HLz$s415;^?)Ga0ncUV!C=a?HpZ3jgg)AvsUx;pPt!G{__YBgU%n zfh2$j-*R{<`VxFHKY(j)F8I}c1O5H`;dgQ^rN%?##@R(Q&H+(Qh!6SKB}0D_VK^sT zz%Z%>!v9uqJ(<1wVd9aTZcQarb`FAQYg1VGX)aiWDMF)#9o#M5O3&UOCOe+Kq;Yc> z;qRc`pu~|!_j$>LUF!|l@D%u*G?@HJ8>aMrB}pujWQ+H-;mtFlXsmV}Q(rlvmSi+t zZ+sqVkU>^RR_Z3zrnzin}h7HKsek`44c9ctdg~0>gx@vDR2_SXBFeI z-TY`hcozb{$uVec!N@s@F($tqA#iLV#1=$=f%7Ei8S9R3S6#v4j8fbYW6DX|no6_P zBf-EemdZE;0SUClxXW8O$KRI0V8RWM9yQ=FNA=L{)IBuMwZZ9!COK=D-o!I^$H;fz zX!v6JoU5#_3ejQnn9JdApndQ*baly5MW<1NOfPMiyQB=(t=>o)8k=aryEJ^sn@eiL zlF9QW5=?q@I<)H}?5>UiwflF$?e%qf!h1F|TW>q_H>iTd>=I}Awq616t6QPo>>@lr z84BG>_kq>A2^}voh}N(^xbu90L^&Zw>(Ch8b2=F`-)siO3l(G__!kk%vw@4JlA*}! z2B_R|;aX-y;BE0tu15S7qFOFT*1Ar^Kc_iFJSU3#l;4t66a|2O>n$Sn=nRqEtANva zrCEcI8(8-j{upg?3>Rr;7oruCo~<<`OVc z;o$6e6^j?&$D^hR7?@`a&YD`FzT!3*-_^&Asyfb&BRb5y0CD(p(h$8CYoWqparWGN z7K>_&AVWk0VkI9yYd|9nh*TnS8inAurI75~c?Y{MFNcGYW!$LPkLVU6iKF-SGKn?& zA@6TIWGaqu_IrP%y3<~eQq4rzpYBV|B!Xa0#Z3C^nH$^=zXv)2>%gGkYIU=>r;3Z9`K2y_x2`Oxz&MW7J6cNR6OW^4hPPrj)dTWs(fkE^g(#ms<{Xg|p$=OaUkgmu6JP9l&73 z58jr1p|_2Li7WXI1^z$auyFkN{>h_mYNDFYreO|qxK9kgGBpu2S;O4nK8V{#mgZ&r?#tCd`y1sp;Uo z+MCojM-~}260=?`#2i+GExfA9uHBhSr**B-zf>Xz2dycH+osVMqmwj#sVAC72jf>I zJFaifd5k}K1s$ISVbw?(#{S46(JgN)=8Z;y-p63PwYiI)cmGP;9TKTP{V=xQ48Y;r z5!6d!8mlk8jBV0*M&QvZy48FcjLj`XKUrQlXWY+Ks1=3Yz!}&%HiyWjD6&3`G`pc? zK8jX-f)k6nL6_$^6$*7j*JbMXzR#Q9f3=a*9&-+_dkN9Zra7#FcQ!5^N@9VEvT-^g zIAnYSr6Ojr!3i5Nti6(|)OK;=E2g7W&vNWluR;IuG~B*#5$pN!5(-~?i1$NI;GpJH zl&`!=CjFBB<@_tvjfuc>7DZ_0y_qbEK1tJ))Uk(09&z19Jd)f>aX#WX&2Sv6N=0UHAGRpw!0gd$6e5>0=O0Ca=Yu-(cvlUHoga;B+ShR{URBV@ zJ8$SIp=L5`-y8g((NB*|*+9V(C*Xax3>$aN#*^tuXra3S^Zhfh=vfu!D)iuz?gsqS z(TyjI!!XO*j=Z%0$hk9v!LAo#xaMaieo~aD&-3hXz~~;9X(U$UMBl+Qy&BZ??!r_R zF=&oXAuTdr@w;6-Uij}O9^533B5vpK@rn}E+3Sq;CaRzO)O(Gj}dv^x{`2x=NgF61c>MFlp?!zUl1J zm~wi;K^A=NvS7Q=boAfN%YII?MqA@lJg6N93rb8eG-V~bUWtdjzpfWOchAN}oK~vm z`-Xh7@xn}E3r?}S@X{4;l+6Byy}uUYzPxIZA2v$t)t=GIOU=Q$Z8=JazbijK z=7&qvH1URdKPvT#W6zEX8Z2^&bUWHW#pE73yU!hC|$_W5IIJUhs+}mtEa(irH7nzRExd~I7~PE+Jn)d z`?0$)j{I1$1wKDtz~rpUhxKG8jQz88Yp(#V$6Gm4)~#m{*-dF&%TpkpF?8oQ6WBW% z0cs`-nHknsp*YtT*2bQKRk=sNC36uRc;X8pVbkDAzArTBE=8juYp%4DCZPonIlB|$ zP_aRY-P8Qp<~l%Yhb!#vmu7QsDuMK=*=$VsG1g*1GL4a`MTd7>@Xj{wnLa@FdHqVA48*_D-|vmj-zV%UPx1|gefy|co`CgbEi7>cRAjMjXR8?C3ptB zG7ErZZQ-DvdYe4Ia*zC+p#a{RGuZK^ziFel4^fz&MASLLaQVkvDASB3@0SJRdf`jR z)hVWW5n`;0=~~vnd?y@`D}lYnb74eF7Wq&F&baY`tw9cV<*b6gz8^HZrB=996DEOG2v2l+=5IY;>l2qKvt3DLnK|0)_87gjXjV zQaeh>`R$)^pkY31%i(8T{Tyhx>Ln;R`x@Q_C&A{MieULk9_Y_H$UCb6%OCq=RNpjq zPrU%^A-{>8yt0T5{=0^C$`oXCAB*CZ=3dJCwwW+vbD4&zBzV8}3U_L~5gMDQvsUll z;mvcB?7q_$oX?ATINdF=gkQablp77ewt4dz$H;$KTXKx_SFd1~6*l9!W%f8JJ014Q zsx$E`SA*kwZ_edaS&-|o20nX_LDkvaoUP{3czez%)Q$g5D(7t><}H)tJLw%XIJbDa{yoD+G78#X51=QM&8l|=wi7JTc3AO!543cN7yCU z*LDZgO#(rEofkAX%EFx)b5O3f0Bir4VSZ#8aqJbRw?6ei?WJ-u_rg9Lp0S)Rvb_Yk zf7D=n?kBQ7ONiBWQ)h?w3s4`v9DJSRK|fAM_#7908t=Kd) z`xQegHqB>qTz{jqP%pNS0BN1?hjFe~i?yZg~_kvUDqoHO8^h5+~{<$~#p zd5ptwC`dV3LaUG})EvDDPqQyU;fZ75Ns7o$Q3H(Zya{$M6Ag?to^XUl^5Mzh9gH&n z5cmq7f}6vN!0VsJUF1+eJOlkX<$*_VR{wmwn$SX0muAC)4+j`NCwoSDVm;&NkO@J@ z_kdxrA#UH30x98hQ7Ysq?HpW6`Su`IJDEUlS30pdHc9OcC@`N~Wne{o3#nX$aB>Df zLZl)X zn8~O|po<^KOKV4<0sPF0b}O=fF$*f=GI+nykm$JjVDYT|Ah{qNg{O~!x@IIfe%lYE z`2JxmY62=PeIZE0fesf@_{C9%EzdV`RtW@Q@qq%g->{RF9&bgH%}1z^6$dnA8(_Tk zJ8b8^15KVBk`^?V^W(w+$Z|4=-BZi4-{TmrewBrf?ki*Rs#K0ghzD+3t^|u_Y7$ws zW0>xm3@@h@LfchA;L#1lm9MYh*v=(*d_y#G^W?aCQ{>e_EPU$-EUq&YM{;&mcw_#}6bc}+W z3ZCOHhWxe$7-XLUvwJRc%zqVp*y#r;v97Rp)oh5`F+#qjtb=06gDvzv)GV(75xFT? zR{NU!UVwqZ@&{xk=MD(GorLL0JfL>Tn+$wh38~p?AY>#8?Zq3RVpbr8kSB1@AOrpm zJ|(YSR)Jn?IM{yLOX70glgyD|qQXX#Ul-E3qGOd*=dd-0Tb2l=9?1~D?mL`JkYL{S zmO$liNk~i!D<2E+qitgO__AODI&2;x4dF*QJ%<0d7q)?k*ZTm&yWGK9cRtR!HO!3| zCXnDXqvj(6Ie2unHSrZEtk|B7$PKv!KvJGu@!Lc z#uRyXk|7>P4;#oW^dv{ckK?9jcdqDdmCNzz47OlT(0bKQM!3iboYYu)@L@ z-6PUSdhZ0s)mI8mZMXv5R39?qqYgfM>H{;ZV=&i$25Y<79izj#5gzZuidU<^=88R> ziS>h+p68ru)q7+#%^i%&%785A7}VZPKpydGx{lL@=j3i+Qr#DFw`V1+ebGifWDkM- zN?#Z|R0e*|N^tpJiNTq#Q?z?*Gy0CW;qSX~M0{KY=VjTF+x7gAz%R-4iJ3AZI~Ork z{F|6%&)VSW5oNp{xDxCCo&Yz4SX}$01mvGwhe?Oa3`22>;zXsN??2QSMu{{Hs}tqXg~WF47qoZ&w4pv)xIA%1~D*np%SvD zvSGeTCk(8Oh5+|^=xzL$$%Tuc{GKGUHTfk(TvKE+TgM>!#Ul_tEWpg#x*L?DSTMF< zMLu}-(}ZAUwAh%#eY4dP@-~KHm&_inYE3>IQ?3TRWo0C9nkZMrO9C5CSaG*z8KY?u zFB%L4p_h>~+wNPBkBjQ*&u_P|*eDR0DP3?}+RmZYT99^b8cvCo;vCsp)E3cTi_;`o zp7)?@QqJ zx2pK^x(*73E3l5DKQSk8KkE~_h4uZ(V6~$w6KOmSLoaOMqOmwUueYan{7T7}v|;Yo zriS5wb-;Fk5@o~ryjc6 zHo{+HLn7XxiU~st44Oxx2`q^q3xtAjW^X9&YLF&(BR5fJ15L`gp9e8PF>p@tCgE&6 zL_FW~;-q#m-QVSa4?V77yHFa!&?7u1>wr%>&tSX#D`KL}!`Md-kwLX;n)+M@mu-K; zS^N~a*9B{^tvd_H@{8$_fe5UT(JudQ-xv5e-wReMgp!2#J{lkwMc7;ma!WLYcG%s- z*oE8h&J#1(zjTEBxObh)DH(y1ic2twM`5?_HCT5w5S%V^fN#}R%3X03MbsO(x}#(G zQv3%#o*zejE3bff79W$KITMfgd4b|f5yIIq%DGjdfZo+xIP0Q9h@|R9e0BT*dj8jk z{EA&f@G%!z^U z&U$k2&~>_^^A;@?T3IpXq=LnlxcFanBHl9W#e}EI`13+6=aI_`u(p+A-r7F}|Gtad zvnGW!x#S9cZDoyao9rT(x{GSn-9%%K7?n8R45vPyAj@*5A-&~Hub z=ad3wOPJ%00|!CstSD+7)`XoiqUd<51bUdRHmI<5q5K<)>9%q;xIEQH&jdzrFQ_Gv ztL$_PPAVp%e(&i};a^%Qu>myJ7jlkV=%rj&5t44Y9S#WAaL4buK<+DfwEf)8QT^Qs zNfCpfTxdhOTNc25x&`W2#(B~R_}puX?&V3QFK+IGwuHru7={DD)< zNWpYwx#&+2Kaj*V&e7p0Stw(e(;O7*b4DLuHT-+#73}BO*HKl@O<{yzWwE`Y33&#Ut{UE(2AExQ>FrE?Rkb80*o;CEr=lPqspS%TG-Po7h zcgd@9gO@C&?tf{Qj}$ZGD}tB&VaV8I1Ph0Gn5M)5s3JRI`cyvocrc1GgolYdyoxcP z5|Fnb4*UKZ-MGbOE9huL>-?= zGE_B8q+XQJsr#dxMb7C&pD!M6RjT36J>sZuAA?`D1lUta^GLtg># z+>iF!P}J%}BqxnPrePi!Yd4b$EdwxHCB`i7`UE)|-Vm1eoDB27;M(v{kkGvMZAHX9OF1|&Z4KL9^&^P zefEEb%R8LQFAU>mW_FQmp@FQzd!AEL8Hpqfl~O4cNkdabNU}*HQi>=EncwrgMnggp zDHScFDE-=7{rdY{*SXGh&U5bj^C=FN=fBNy<7b_Cgv+v);~U*;%yjh>lD^4Ff{jWK;JBF~H4M|I@n6%?+diN5uQ%tHD>uN4CF|I< zv1$-yS_saLPE@#YDSa!ui*{=tr1Kh@LGNJ;`*Z#`G|5Xd<9DiH`MiofYM+a9jY9;* zF{ae}^98zCGl8bEcM!NPxVl}g1)4(U(Ts{NxY~;3UG7p0+v!K-l;oL*(tGAO=N`nl zOTqEzG)%EIV}F~c(FuWKbpP7Pkn60C4tpkJQCt{1wS|%CSz0*qI2(L(tI+y}F#pxc zgqJ%~f%n^G*!RZ@xLLcv*3ZG2EPm&QgRMW9nNtSlj7veYpQCZJ{tRxt{}QPFPZGRi zHxu1_CuZ2FhdR&unQ!AUmKa$k81+{PyESV`M=1rLv5BzIy#p4f>d}?$;gH|;p1XbA z2HhXtA!NA_v2fs^Nj3ycX5D7unkxJrtqfxAtWN)ycfieMXF+Z9Oz2dzhVCO9uq~;R zaQjQpy;Fv1IbSB-sEVa$!{NBCB7SyGC;hIua80-XUpZeR$9CJXLE{D_q2fHTRK-Q{ z*6_u>oSU;)&h`c`M>7ZAnV#Wf&>MSUX#R=2&wP4(eZ`( z)Jot8?iqjC?3xJNnXL7%tlPQBXZLZYogcQitMiiis(kqZRa9$RMSsQz(DRle)E9+F z=loFoD&E6h6!~%w6#CikZGaj^7qPZ=7TPRZLu5kb>CzZN&qoHr_~8QV7H>n}rK@n^ zw>enk)(V#|?6cjd8N(jFy^pQxDePs(0ni=LgZd3wWa;Hh)D%nR^2aikCZU19ADkD2 zD!XBY(rAjk&)~t0HfX7nXM(v34E_j*Y+$w>3DVR}AT2RpFED0aPfpsp6P zIYW5i<-pW(o(a_ax5C8;HQs@~MA;K%SbD{b*9#kk+T{W?Hamu<#g%Z`%1zK`kO*(n z%fR+&AM*?MLz@dCcvG&8YYx52;xFw$FP}8X&)xs8FEilH(-ZhiQpEOgb{#Ps)`63@ zD%|<#c`ReiHnwWyF&e0~5Pn3S-be@qcQ0|^WS+ayoo^Cc{i~2Dvc?p>Q(o ztUzzX8eNY`aN3fXAi&?8TmA z#CY6V6lt)=6(YL$WYPt}se_74Te=!Xw5~#H_ZwT$z6AJ~c?0J-it*<)JGh$FWth4> znVVbKR$bq#LCm9vSm@7e>>P?yMC zh8Mu*5J+90&(^5Vz=a=x%=T;sm*Yp_=iN0>tI|!Te>w%%*W180F!VFGlh-|+zLhcH(BXeRe2ejcNkF}l{Iw0_XmWC`O?c7 zD)jwkVYrj+h0m58hO-}Iv9MQ|pSW%q>%os{Z6#=|a2)Q5<$>wBXh=?*OfHOD%&sKK z!p!H6Y^%2z)IK-h?--f$@;mP`qsDml*z+Dy`921OMC*x^#8EIEcqQonrbxbvPGHxk zZ->+lYeC4GHWIO1lfOSfiVstX=9bN3BzA8#GzAQ@amSz8{_wSjo!>^oD7^(3HaCw& zojAo7pV^0(KBTfOYisaB1I1-CF2ma?P2{Q8DYmwmLmbFL&3Wp4sO>@YYsn(V6;7jk z;T!BZ@C~na{ma4dCGhKMBRLUSPjngvpj&Jfn20!5H(!;5Gj`M93HJu*x-AfXaTBZz zmO`rbQ}D1O4l;||!Sf@9GrqO3u3{Aw&(fn+H`Hn1B1anMoeFL9Kf#QS5(rgP#y3iS zWYSPF5EBMFzf2(EpJLeN+f#{G{}BOKILKDbKE(w=INaTxNs8vzk!{1Lpz~QI$dz>w z-PT<8T4OFbW;+2!t*ZjFdqJ47I)tSUE5J9eG1&a+DIwuI!O%XP80S{O!qDA- zA0yy=!Z?^sMR~*CcvkErjw|JlSBq`@L&`6FCVn5RVOY7F8)_*hUN^(ZpidR-JSdPezE4X^`0yU&F^4;!bY$Tj0Ej% z9fCo*KX7R0d}tX`0nPi0FnQH@3`vZH^wUcym*5I{A$uTn@Ef@}!x+ma{Sl~d3L|o= zEnpqo# zA5@JyMEVv;Q$2qls7=POR({y4Ju5(UrRx5Qhc z1e6!6Q_&sGVEaoC6=N@v{yR>v(%pq6yUm4&FW#_Wcq|Ob7J=olB2Wp_A;MFYsremo zeqHNDcD^i>2t|uxi?S%Oa!!Tg)mz~5jKyT?#48X|p#`sE&x3weEBATW3J;u@1C_Ke zxVylXJ^8mbuDgyaldxuoT(2;rwc0Q~Oa}gx9|dh44(?j$V{CUQ-gi>Kv{xKyYG_G(_}gKlM>YO zcN1*iuYpC!|M{HMHlF-x!39VBP}To78<_M5^OFj2%iKny+i(kl0$+gJC~b&t%0VXs z5q@FZYMvYWj$Ih`WXV~lS>IGE9E`WaCE-$R;lqXCARJ8fN}t1*9wB~5R3>WIX5f#4 zh5vX@8?OK3`t}+HexrRVE@{)G7nWTG^^XQr^bkTlJ4SN;OF}J0S+rHPCF>Ll$nD>1 zOu1B;A8p!!_ZA+9ET=Gt*fkae*>Z4tgEFKW$k9DEugK#AAJ~kRi^R7i1~c;a(&Ws>e|2bN3$1XT8@qmrnDMN0F`;p+rXDspGUvbk{L&x3; zn4t6nou0H{kYxr=uD?ZQy^tca|4TsEl{aDa8)xu2cMirhT_uUn_Y(^kW}nD+wrFXd zZS9FHxTif1bOT#pp~n{Te0C%}vg;>$XH9W7n+<(>6$}iM@bexY_AjSE_2mPScKagS zoRmNY>@uK1G6~Y=OJhb$28R6> zZsCFE2TVaS5?;P0pce9-_=j(!Dd%Se=mXy9GL_;-x;*ZL_)!#LI_s9P%Nk1X$2@U8BWINkbB1WVVm4dkXV$$)|=YcDvq3G(w1{@jj#nQ&b5t^6Y~v0a^i5F0 zQ5(+*{P!ziNQVq&T1(-)xyt;?XkqsJ4bP;9A9D3EbMbtxJWt&tvBRvq`eu2Uo9<1;ER%LTIiiO4hw4~QelbQpea05}EE6cC@`B5kEn)tlxiFM)9X!AOwF&*; z!1nr>qu2fgWapZx991>KlyZA)`*sq{OS;L1fSs^D*Z@v`ae_t(9xfj|3cI2cp>c;U z6n>>pum6*@)xYAltW$(n49R0gVi-jdWJ0`PL6}* zWBP4uF;U^03U`v`1-8(c&4bCaOw#Z!8T@p`=}Bun==)Fso-RRbQ=2)j@kEy|veV)} zezeBB35(EEcp`LdxkR4dItqr$^7MtXCfyWaNQXF6x~*U$FL-=}cLWLk`yplCXx0^+ z|LqQGohyLZQKMjbB~X1sD;hpH4+g{BXhd)}hTdGp%P3yN-3Jx;Jva^vw)_OeS!p2F zlM4f@J?YX_Y2dP3hOSwjO1G(&k}BOR`2BPzS-&a?H$5HA#uq43;WlGvo}2@>v;%1G zx$ES|@=0{QdNA!Ck-}UX4_Kg-1XHc{k|$yXFk7+&u2sC`dOdg&7`2i<@YbQ;dxPk@ zs2u9+{Q-7eKLxTTM6m0L+r|*0RAoTb7DlWW&CE1pPlwla1pBzekds1o1w{=u{ zwk%CI@~70t4$86_9QyJGvLy>Z++a6hFJ{4(%uJfG73fWICEEUZ6qRn6K)Kb@bc=2+ z<|f;hLJ64PqFC<`2jonHK=ow5Z&CbPZYeifL_%$CdzHB*3&m28#OB6 zq4ITTJF*czd2uk)d^u=s?dLYE_P~~9m)VPX>fr17m|Hq@pF})vgm6*-ueJywJ0nK! z2u87s6_e5M=ZxxbVPjZkzlI!gyoYZ@21&8>1wm52I0n}ha4vUv!Oxf&fd}fd$*h>5b~yPsI><3CmLAM>$iwgeQcRD_Xp0XWxT1nr~*D4u47 z>$XaR(XVLcva=jtW|T7b?HPn*q+sb3SN@}c82`gJ6=|w7Ua&pED$O(n*=jdP?z?TA z`i?9(c|I3jY2}a<%c=a({xY1%O=o8N_u$Ouh2+B1UC`K>1PA0~=v4Jss2XiR6Q;`1 zPxEq^7hi#O4q@1rZ-6_3cc94lFKnO0d64?rLwu#?L#RS9%xh6(OHRzh_|vDM;ot*e zrJD=GCJwCVyDF38a*6e|iRdA5lx?*=%>-L!a&tC`@=ov*4R*XHH6=$$y{J6h+`1J4 z6>Px2(hLlY#L!gD0AF_i=5GbI=u-v06&?%kRff2kJ1uc(O9b1qZ#k|wra+8`$1_)z zLU!?29f@H7v8jD?aC=@7K5{HaqiNx2`}qVuNXZ~urY!<+)L~QB$#Si8eaTICbHVrn zqnNzfK0I!844-*d;m$36Saj+hyQ-oEUsC01+^XGR;Zz8->+EcEt4&}_=U5a?lj1EF zy75`d2>&Rz1`CHCa(4!s)sIGk!J)>a)3V+XoLCYbqsBCAio(ki4Q*mCT(-RLp*MquiK{Pst(WGm^ z^m?Tco!2=LN=h%mxSNN`#w~Z)@;xcQiO+|~Ap>rneD}0oA&h`oOR#Ku7pBlgkW`mbXH<;^qW6I|UoLIky;}w>Yc*70Q-!TzH zt{TwQW9vwG@OLu1;XSeXU<(uL?!dHB<~U+x$(h*i6{M)&X9EtZ@aR(~8@jRy-ddi4 z+Wc5SWt%U1zI{HMQPqJ@WNzb{RxK7E=gX$siov#(io~^F5Arn@L3ivUIL)OJ{vTs{ zyl&u*jYPA(HDNgLY#K58PXsnRJI$GnY9!0+hRFU=#&9CF7pxo(!q6TSGEuvSeEAu| za=rzEX3$2sV=RlcE|>7llLUyYnL#JJ{sQq_H~O+^JiU2#HAZ?qWgWV5xP81j^ymwS zTgg0}Gp>?MxRXX7a}M;{tan^sPB;v_HNgA#cVYQ6p3qw_xi6=FaQ8Rqb3K+l+}4Cr zXqVNa(_NoH40FYAPaS!of8DJ;y$5&uy8+j`6|O5Kk|S=)Sl^dRdc8{_Ofwp~$B)64 z*&6(Jiyb&`l?uOe>BFX8A+%e57e0H%VMoXywCYU)=vs@5)Rp+ZTN3cfupOvRc+6g_ zEAtnN<8gKEhU%bB2Yi&}2tAe3)UNjeMEJ;1y*^3UacMHHI~a=2#|605BnFE->+n$v z!7o#y*vF~=I=k`&cr6lU{{2?$u2v`>XcOhLFP*{b4ONU6L7UG%Wto~-B1BkpCZ^9UQSVI?VyhXXyw_cD{x+dK3h-vspBnj=MEAYS1);KWlyx_*;2etucn%Vf4 zeYC4gk*d5q2I}WJh?dhCmXMW!-YaKg^~zFQb~F?xhdT1_2VdiYx=~c|q#xwBj-m^9 z8iQ*{J_z<5Wpnx6xOJlzKh4aE7eDliJgEqw)8xH@#Ga<7UZ(-*yHU|+rPb%(XakeB z#_|<6tKB9JVtR@;#HFc%+L%I`o$5`mJhh^dYMHdj$AHfKuN}6yr^5N|4dh$)althG zUTC*G$8M<(ksV^c$RDlyq`ZsL)IIa)7gtH@B{Bk&_vaFYFAi|SxQ|@emju>#&tnzb z#mUd!GhS7KpO@l5J!fpEIW?uUe7!YId;g0J7eosJ_FiN8E2D8=)CKOq?cK=B$n%ok z6pyY|p?ZlnG_~E4?wMvlZEAEe*;S35(YVMg_Bo-RSqZv?PbGFgHWOLb+ptnkf`0Yw zf!ZK1xM7qAUAt@0d14KxRus;G#2Z1Ea1!ov7s1HTGi2Swjd(-flQ{hIf$oN}>}10d z+^@7-ur4KvulXalY3(){DBCiJ<=Fy3S;{`9-Y zs;(%(^b}EeUZO}HcDI6&WeZr`u3&RVWH7s{jm^5%gq_1}*mOV$w3PeEFW}&&IFd)Q zE^y0y7L4C!O^;vP3^E6fqvYYu=p26mb_c}5%D$_R;UNbF>u(Vmj|%wDdKCTZs6xkn zo=YQ^KY~fm&y!Mxtx)Q|P9XjL0=O=`2npqsl=-&%C~%5#zyfz#5cGRXYR2_*QZi+#^Jrt8!(!B2wlKDq0QvAU85lM zeK_>L3MYv_HbPXZ9!~E%$u+IaM#}}BuolNNugg=RV&yNg*GPsXTpJ{Zc6Y)wPL?jZ zQ4HNr7UAdd?I;^=$+re7qtpyT61@F>_5AEUeEseR3l(++jTvV2u6i8QpH-wQQdRh`;hSP~T5$~|x_QB|#^2=D zKL#6OKG0FpL3S3{z=jv&!LuQeja>T6!aW`fdaTWfL1`9bT(XCa$~ka-zds0X_k-VG zg}AQGdr|4d9o)4&4b9Hvvy8exaB;b*VV#$S$+*Y_wJsUVmc^^#NmG*RxWV5>SW>I@Ym^K34qptz-Dug(EC} z^jVb648qZ0Pq7O_4~e?UMRwdl1gxg%qx<8B?9EvLS~$!=iwvGLOdJcH_RBzOSb}(& zEk-H(w`}f_^{l8pU2w8YAFl+AMkn_+ysRL@*Z!V}{nAx%#aN2=e6A#-H`Wn7yl1lh45hm15NKX-7~0?}87}M=@+j8)l3YlLZ=hWXG3jr19QFuK9f^e(;$K;|@#*vuZgw z`CkSU&ygdai?%W6{9s~dEXjULt%f<1cY|4>3C#RRSo^JPY?ORSX8c^nX@}I4lgh_Q z$7%#M&96|kUJA|(>j^r)UlYuEX^v}m*rVZtOgs@40pEHK9v<&x%>;R)us|Az2j)r8+m#_*_d}+?S$$tE6MzSo+bbBE)4%V2yNyb=+*gw z{2h4>H70@dP5%*ke=v;x+NA-JMZ&~tTok5#E5($PnUMKPmy8e-v~5zRUDlG6X{XY# z_u=%u%V=sk7vYfCW31hqi$5#hbC;u+0d<)T9!aOj4_7@Z+|&n)<85e>OeFQ_KT2%} z#c1cga<S+86=c-5ELb9~3$u+Qp~Y%FS(mf`8d0B2$sGj{ zAVtyL1TKiiR+@{Lwv@mLNtX?|fyyZNy=<&{XoNWtb(uc*tEy z73cgtF2HME8lvNyI0a>8#%m_axaTJwlj;^`)q*ae?zOsh|k2@_E4Ozeu71; zsuVcuO+md#RhBZVhpe7;l^l2jkmkG*G+OIns9y}_hi>54^j4H_|6-#cCCj!YTXBz{ z?qpsaW~8ZWm>rFO!cq>L;@X`KgKdWtY}w+=mc)I-m;nI>`A6Zp1;^RyIbYc#^Xd3i zPohd@ksca_MX{YCOTqUmK*vA^ie{d`dG<3g^PVW5`RKO5-fIKa{D?x$kWm8r zr_0cCXEmHS_Y35EBFTlkqjPA(QIiTu-9fH<1L6-3Gg1K?FzM$SK*9wtibWpLbj+o4pQvLk;F~k32855`#lA0i%~OpJRU_Qp4!ng zt5(pL(+8;qv$5A92`fK{g6NDLAW5E)?WvN`GdGlcn0^>mP38#EYZAQa$Youc7l>=c zW%lB)E8ArrPMVF)G0FNRFAj&pOUl{r28Q`WtVtrj8giu{MAl?gDr$ zJS}iK;VTep(1i!zLrLznbi5XKgK0if!vXtce4Nk_-c376PP%bqr%Do;_Qe*sPB&=$ zeHiM>GYI@@gJ19L@wWUH)P0b`-~8E(kq0&j#@>=8hT{>ItLa1Cyv6YRVFA9nCSVo% z7eH#u64+9wh-YFf_%WK(acROE^!r-{Dudgg{E-FN1eY-F#x2;~w}`KrXU|) zO!)^A3jBPFf8Or`MCR^T<|jXbD#I`FuitreYkm$l9&Dhq zmYY(cO?{xXF%c$}1i|qy_T*_}B=lk-%lXe1Cx5(x2M-;Gf(hwVG}D+qu>AsNDdJRE z>>~G8PQ*wMM8w{h$<6kG?{(TW>(kn}@a`QLSXH(rt3w zX)Vk*-wtX&>eyBBIqdz?$LQ^n0k)hq+&OUwW!Biil~f-P4OYZSwK?oz^<>C6S%u|a zuAPq zwHh^6m`^2_d(cNWFTm7{TcDW#hm_AG%)==KwJ)#1-^s09{;S_;zp5Lr@4bnegkF++ zb0tvL;S1;q6@fw06Hqx94`0WOhd&2y634==WO!dHPOnwq1Nkz%+g`-b^et4|+yj?X zO+xkdu-L0xAnUI+SPgu~ZO3wLSEk+qr7#tKz(bTz3_S&QnF}Gc_C1(O7s1Chv3Rk2 zCU@_>EjhAW2?s}8^TyF{@yae;+`Cy6Wi5tb@|Sra?QD`~2055|u9%%pR)L<8GtmEa7PZZpK_9QP zqs_COC@Z`VV}E5q_*4P&JX}M%4@Ujt)`QUd-5fr~A;%C7_hmY!#qw%z&q1(_~gPOT)3tlmSvZM&dmkuwkl%U9YBI! z<)F6CQ?fv{8JoApk=9p{(DQT_EL>O!sQViHw(1b?v?Jt}jV2s4PbZ>3YDn-hX}au9 zzM$L48Z1XFm?K+&tAA#|4~<8VSF{n1_zybIl|k=n zHQf4pC4^m1fw!~flU6>aUZz_q3bG$RsVg1#c{t7w9SOr1Ur_W*4(Neml2jvkl(Vz5Ux3I~2? z#bXM%k4wU#bwf1x?y{wa&Uw%`VeYg}6(OlY3l7ys2y&;DV(FnOye_hkf7wpreBlf2}VS4bL9|r58KE+=0QD zJtyJm{^t<=HN#d`QiiS@5u(G-V{!XqV}4KG2NY3|L&d-b=rsBb!NNk2Ymg7O{zgG& zd^yhjtH@1#K8fAQQ^nFF6Zj3s(=kD3FCLj6caR$mc=8vQ<&S?P);lIIuplOaz85*#6C`fpHTsDu*nvRUUATW z%bfhqUJdIu96-$P!iRa{Fi_$PtuB|r?3g&{|MiB82AhdMS03m8S&UkiU&%f_X?PSW zN!oS_(*b#NIyAQw^0P-sot9$tq=!pDV44eOC%Rzzo{a*LuxWHyd>L5m^v3HFn)HKo z1PUu9qetWwG&HIrT^^&s_+uhG`#T+~4m^OY?AK7Vs2Z>Qc)@z@Z25~L)A%;4bkzSU z%6tAf2mT)?!r_=tf|fc}*lpAb^K)*pPdm){C%yr^e^d~EID8!MG{w?3!|x?CKd}e8 zA9~~H50Zi;jU(^`6WOGR-u%sGeg3uce+WOO^JR}T*&WyQ5URJ5uxVwi{_SF9|LMbz z^m-=Zv>Z&8)$#KeY2IFG5`RLYp5-j}!uY_oxNLJK?(EmYBfeYUtL1niviTH@nf7nX zP3ADt-67DhZXvhUCZfwOA>QSuE&tyBIJ(|G!li03TqCYSR#;a;?-jlSouLhgE;pvcJWvphfK^d)OI;cK_br;?)=Ij|sv1P>m~Cu6<_uv@o;KtbUH zNO*jJ{hbWSL7`xl?(i=^1*G!63(O#onRK}##ue$3_Rsy~l3R{IC*&hPy7oyqx$(>kwaW}dkM@*nL1ho6ZUY-tHYALqdRU9R{_ z_Eh!iY2M_Z}+x8a~Iu`l?P&=yn5}rZfr; ztT}^yX#p^?rWrx!1W1Mew(My^ZN<6pK5ZZVF=-(In=V62W-!MQAJWhs1M%yX>Cy88 zW){IjCF;f9Z-!C9*yd~%_4;MPiV?H&|Cv&`%Tqs_X<+!zeSU7-Lhl7lqzAh->GMgI+`;ie zWKr8^?v-Z-cU~R2X#%7tNw0&wXiBWfL@~*9&&^1rw8}USMR{M{w3pCf6TN z!0IsBrhJ52gdYR?v>e8C{pFs`T8zRsZsGa$D!8kBGtAp^9cFr-ARCrB3j7R8Y>k!| zgPSG~?B7}DMVf%?y+o{8Z-9L(4iZ~oClISmfh@}a*!{7Q7&mu8@c!NKvpbZi=X1=A zKSrk9Ux2RuvM}rE3{bXP0kSLCz`?!B5cT+B)zH2h0xQovsCghs_gBBKKD>R{w#)Yz zoOGaY=Kz7q|JK5$p-kqWQp>3GG4M9(fV213LQ1R>tvzSSe9RGl#AajO9A{2nMv;sa zD}lp@*0ajt^RV%-CGEH~hn9OhgfeSw?Ec4zIg^C>e!D2V8qUzDD;eK^O$FIB3s{$} zL|4d9p+-iL(0NpZ|CyVLSC;?Au|-n+(uYR;^|KGq-F^ao`g9KC%%#A7a2iz$m!Q`B zM0w&#_~&|_Ov$q!Jhx0Z(*5ri;nhnXN<8#R8`8M$Cej9UJDuk8a$AFoZ zFqGbs!<13xc=5ajc~KX{t?h8fw|^Aj-OoZ&FMWf#^ffZ->I|u|3#hC3eF#)9<4zph zL=t@_@bU146NF_7?WO4 z=3<&Ike-^YuaZuq{7KS~RusdC+3Gu;(xw(@KH~?^Riw!(Iq9k%2zZ zqs0A~B22W80bTPd)UXa=Q{&Pqx+SFGw5bB*x`z>*qX+3bli`{3@v1`ASTI&y4~-%V z!M-*I)aO2e&(iJyuA=np@*kjeX%YCxGe~>y4~IT{7t}0jBGEgxL%UZHB(=<@uNK5m zqt9M+UBOf;tRY2L7y7}M$_Zfc?mgMU9Ym$5U}bS4mSDoj|yk-2|6=*ao5rO2FEYt)o)3foKyfer`W-P*h)CFItX@+sV7yE z2{`}$b6lQ%6Thzdi&yqsV@xTIi3Cr?PX&g&iQ*F$6%hbCU5>%g^RzZO5O{0V+#$Jve44Ir$b3iivA(8us0-gh$PcRBCny~k|h1&0>n+Q^-F@vU@GR}R5pGh_CC*DZ*3xkV;TaQa7}>NsO;Eaa@yq&euXzJ~$%hLmS`cQ5+jhoA?7Xd3_(u98JNhz z7)~j$n!H@<2zR9eL1t*ZAbKw)9hHP>FG?lRhd#2W740Nmxv9G4*lEVEd`Etz9mew9 z#iSG(x%)SN5;wC1ZbVrJ{r+{OzTF9SAh3-%dlZwPBV&>Idx4eXCj2CxgT7A1VDhjD z-@9T)}W?JDxl%Lq&Z)fXUBu7@n9Uc=crlHXZiD z`zLP+_RKLxlaK=V`U>Ip#&ZzvFo5n3&7jYnf}jIR{G@w}VE_Gd#8uvp-1%F@=KKFg zx);VUh0}N8`+p1qZ(rv&iz&gjQ+g2eQ-?peV^cunvX}}^OX%K;dzOhvtme~_InEiEZdIf>n;nry$>+MY;y>kn?=M1 z_JZSWJL;RXmo9J+qd{qHVA*>gGEYZ=w0bkXGRPG8WzB#cH+q=P+axqkw`QUfLa48q zEloRZMs-hz!gm(UQhcoNZ>2o4;&}?VATPdo~*n>s&^{7;?gOMj}+1;rM_^nQxeV7n| z)~Z`^{Ez{zo^T9XuJ7e4R4)puB|?zwDr1FiS1>%niMPs{!jGP3hJIPnlD zLB^d`2h*;J z(gOq2X>@5G1owX+38xd#Y0PcLRt#`9Ps>?cQ5;^-F$H$x1)2zycyaHEFfjicacN9~ zZ3fXeFHIdsJ0O!O_JDIiVbE)E93#j#0*3mmUVI!5pKT(e(=iVR3IZ$VyUbN0 z3uDSk+26rj5*Vn4hf{ChIw2AMltMq&c_@?gpt-Q-lmvKNf8ji|6WEF^NrDU;GaxtX zNT6OL`fUxwKNn-*#dbRg_y0v^yjH*kLA69oPYM6?Ig2-*rel}JA{&uqW1ufYg8le! zJbM|DMXo<7Mn$P4)G|7ZX^95t>6?r;Qzv0rQ7iKr5NEQjmzj-rCc$$qY;EH*7IWw#%^%hH&4pQ*>(+ximYihf(P8Y0!!UF3) z0~=!|v2eZnL}%!GwMl|5cYESIE_stBEUfKzSFh{S5BmzB(>{VVoLR|#&K$(g+Hp9o zYdvmo`wxqjm9f1CW1%FXhs^pg2nqWG$!h(%`$rB5=GK6#rX@j`s)Yy;-Lz!8`B629uvKM#B@&etc1^KyGXqg&|?JlE!m2ae6- z+j(u?`)?LjK72{6k90AQRUY_DzYC50x-oxTDcWBgL2ua~s2XXtMmpxg{LS=rD zg*8E}FN%;wG>)Viy(Zc1E5XfDie63?rENNyWN3>qCtH|@o6MdO^&8?Kl_E}L{+uI~ z60%^|X-F?7g~M{^T~y@NE?O7tNFONerQ4!)=<7f4Y(0Cl*{?6v+!()jHc(MmEjtoT zI+D(k+&v>OR`n`-{%bnS`1ynV{cDMNwWnD5*CxU3{0ZcX&=e-LS)A;ByPhaNj)cu= zqiEqiRT_L+6J>3$GrikUIHjtZO)N+wd8_l7)TMK5t?Yh*X~k4LAtcH_S~7$b{8RzDr|GmICwOc z6C5!UVTYd&p~=ASe;)V|rE-skr#yH)XYP8KN4ZsPW}nxfnG z68suGi-}3R!g*6I`LE?xI9PKPMm{FuomIKEuUr!G+`V`boHri7&b@;BLPF7(UPjM| z#k~B5CA@Iu47e3C4aSOo7Bo+8!aq+E$kKXou+M*IJKe~iZI{vE@0~X1e>WH5oV~sH z{%$^6Ka(Q{-%^l0I*69;hhgR&QGB9$jSbcA7JO*lhs9eb@zM$t@JVF_+bLm&>Di0G zODL8TMKXI1>vy14OA-KgJ|7tBsc(_OpggKm8!?CAc-OI!em zo|y@Q|4n9V*2IzCk8$|$LIG~5Q9_fgdy$Eo)1tgrkm6PgQXj6v$v-m0RdO0}3_b(O z|K$?(jnEsdrQK=%Wx-bdFxGQx=T`*`jyn%e-^d)z8ubu?tyniSLf5={@MRibl#6#es35rdzDccA){PW2@smUfw5vTpy}U?|>>auh29r@2kec8m5psw3l9e`WVf( zu0zS8Cz!QpHRtjRF>GBKI#q|^k)dtu!_N<>?_w1wm5ZnT#}Lo>p2BULPGd`nD<_sR zgPZH|3}rt5#<#;JFzLKBbg_3S|4#+9TzmsRIwSoNmcvf|m-U5B2f2hADX#7F1l5-~ zi9=T+(7E?3=~^ZQd+c8kF$)H+G`&J;)v4UrZe#92RWKLo6@X~D6YDKPFs$w~R({B3 zJ5qgNVHGo9a>tmMlBYeN>2E8Z$omH7PNQb^> zqOX+;m+&EpyWaBy2O?*3O_dtBr0otEEMG{OlrzwBX+A{8akQ%^3AOgrqs&4#?tAKS zF7D(EuG`a$9=fPP<+`HHYd>_buG^%U-cnyiYJZkmx%mN~Spf6g?gq0j z|2&g8;}xW{XW>!bez>G|9Yh1JfZ}0(Mp?BQ4j~2QW0M#rNR+%Vk^(EoVQ9{ap??}! z@;ZeF@;M8@h=~K^j$Rm?#m`*7)&xF(Dl&J)PQyCct&mjxA4IWjWP>oNT-~35 z*Q4D*=gL>Q7fraiUsG{j)Cp!R%Zusy*X3yZ8gj4rGM3|3OwD2~+#G+M=C0j{rnd&L zOLQwwNmq>7TyTMrbv9&3KZ%CFQFlOM-E0t7Ooh(7IpMVFWQ?iAZ6#jQ%P8J^)$<^f$HMrIuVDL+ubjpO;kNM;SU=VUlNXABe#cAd z_H-3}KO+QO+&_{8cO?`#_mJf;ya ziP_xlVIxkEzCdADLyk-NgiXIhxy@_CFhsWyms>wsm^x`LaKh8Lw;vseRA(qJx;&1{ zd)9<|78byaff(=?P@;RzZ-Q?-6hJHC4Qae$0Q$VGmBffdF5_{ZuXaeI+PyIb6OCsn3!rSuIt zWcSfmV?E@~+#Xb&_X0-?%{hbAa8%6`WfuBg0f(*ciMZSZn01$s6~%&ZmJ!3-d{MCD z&KrF7cNnE+bGS@03I%MoGyK+NRaGaKN6Tq!wz#GicHe~n03t_Qm@S4dTy31@#I%u-AyiW6Gkj<!_qcm>{+jXS6P41;$H%Lue>9%BC~PQEC;gZ-C8(2 zIh^&K5<|}=MZ$%=RPy2D2+JFq0V(|kaA+U^RyEv)TmHKEXx?V%+`f|@di1SAGcyZs z3U$B%`%H|Pn9RKN$N(y=fQ|+Kf%mlau;-=?%|D<*`gu2TdPEFNI{X-{_ne^X;x=*@ zJ*IM^igvi8djkp2d&lhfQEp@EVwR zqJXEpa}CC5uE3m_6%Z!$ADq<seowqFUaoPSE*KM;ZPfo|&SlEmg@ z4$x*7S#)|;34-S7ASiwokH4_Mi+hFe@~oBc{_>4Vd#;8?`Ec~--C3l;a4mMW{iQik z+o5}*7IFK24-eE0epAl z10Jerg{6+|bea852x{+u?wX6d&nkXoN!4mNz40{2oY)Un``=-qwpW0^>txyIE<^Y_iF@U^Xnwz(XJC+jZIBlBwTn|}$hcl7`>`w)DPH3Kz% zSdqT*g{(-{37&?y8GJcVYIdhImgXmHrYncfekOv3@VJ={)=WJmKe_aEK(p_rSG~ z_v1__XK4J20Y*{z3G8 zRl(+2m~hg%S{yN%%)M91Bg?YYp!D1vTz8)j`ajh|Psm|l86H?}Gl6@bQZVSO7Psq* zEO+Uz4Awka1^w7lIWxrxjP6xMt*S&!D2v7;8v0zu zvKic@FA?-a=XU5dDTdY$dm!kNBKQ2w8LndKZFb~~5Qy9i#MQTEq02xl8h`AhUaKR> zrBlr$dCO4GOD;-K#OR#+tw4JXsbVd@7vQsOmA zCT1nm)gQIEO^2tUUm-t}e98sx&C_EZ#O^Qye86UjuBM=30kWBE zAp1=-d9~exOscMg@NIv{n=93@?P3O$N)N&1x=f&MqR{jz3lxv61ed#SX!BcHE@8(h z6nf)}Z!}tnkq;k+obdyT+f$)%Nhv!sRtT-$Z6|H-JaL*`7LHt3hdz>t-L)TS@yi>#p$9Z%x|ab7`Ukbsxptl zoP#GJW+D%6ZmPf?{ZG(;em~kIL~<^JEG_?+OA;@-fj;;G{67~k7LEnrU@XZ*JkVxV zOb^0Tl}H*)2T(140FRwYhidT+%-hF3&^)yY1k4UI>k}q3(Y<$}$MgcIuhWCChp(8| z-W3Bi?|#`A0jZ2go@GoE%3KXF-z z%NL~WJDL#r)VT7^qo`8#9{C*v%*V!T>8CY;g!4&*kjNKg>elaIxN;nhiAzBDzAIqU ze;O_-+(La#K4{7a1;f`@Ansxr>`wYhUhZ-M!ruxV#w>jLriorVMxaMs2x@a;%4fPb zkkFkc0Ze1$a(JTgkPT^+B;mU1T3+xD`K#uBoUq-a)or)4pb^kLI>e1II?vSCMy0%Xu&pc`zQ<hzcx^#n?e-=%5c_kb4Gb?7t4KMF~R95S3P8nQc8oMV!MDo`>zP6 zN~Xc!(**Kvvls3BT~A$?%|I#jJTj%TnOCMO!tG1R#ZNz5k*rkYdLCPFg@(Q4N!&U7 zFp)@ILVD=fbbrdU-UGegrf~Ch3VS(P6&pTH;pCRdV7GlM{&L@d%~Q6}dvTA+E7v5L z_AHvDC7*}$MyEjDRiD;XS;6O*EAZ^Z1ksJ!K;v7cpsrdlB=qp$-hn9kW+=fttu}+? zzbkocIUWG=RK8bPC|37Q$4f~3C_G*MtPsK^6dnXwzyXWp$m^&x1%nd#R-ZD~2g z{k{c>8|E`wuHEFwcpBaO<0JhwxC5T}Pq0r_pQ8JeL^MBo1=7ED!!qA+QgC4nvq|JV zBtFw&DrC2^g)=!2?z#wK&SGGkI~#0Y5_GpeWUfEVFQ z+#UI0_0eZU$SQ^U$_ZdXt1EfbyM+`fw&3crE@*je#N29J%6KnzVlEXc;=5VeWOh9z zQ+KYXHqwH4t$GDI+{-38V(TE%Ntdzz?*$~dsqk_RH-I`^Bka~05Ik~&`sUhVv&%J} zW`-r?-=D_YxA-lry(+>CznBA;)up(#<>KftV;bH~=L2V*X`uN^5Hp&@z+;C9hU-3p zkzPlbEt(1smkE){g>C40#19|XrlCy}vO~=$=)qKPTz^%Qw`oiOY?X^3iAcfeV-JbW zx)8cc?J7#6Jm>iBIr81VhyJ#~INKx^ug1TwOe@nz)%7w^9j?gK9+`<#ZaZR*!)0Xr z($J&j3yS<9=zdm<`b$isAG;e^pXcXUuKGKgs4a!jBjymkCzIZ~YC#s+NR!z<*5DrC zf=gqb^4^Dzk{MAM>?SdJH0!emkv;B2G*$}Z8w?RdYby(V3&|_%8me^hGBFY{B0_5) zk-$$O=8p4f$cewzJojW%sDCL#y)WH>of{lLA+C}fh|mMSb6wPQu%6a5%h33rK`edS z0P^xpj;^=6|x! zVfA4T)O_v>(_DT)^uciIQ8j|w(9R z^7AKzPSeF}lE3ksbHDiwZI&+Gb%v*dQeaY~MDy0A;t^L%UW~Lj3RYhwO|K?Vr$g&; zgUvDQR28PDE~`SC;dCNAzZLeMYbJth2fY__k?6F9Qi-bwVpqSA2{&OZ4yr>hFJYXw z@ERn%&VuS>AzT075dJ7!bIc&NGtXhTJA|s*f(n1V&M+Zz z6erl77;{&IoAX?fo9|-688@1t!-WeFSg@9xpFf}5Tazwjbgu9)q z#6_&(=cb6nF~rS5c%!(VBn$*ngK#w%_1caT`udmr*Dv6BFxzBnL(~xUO>hyGU&lj zPf)Tcz(2QDxj@4hE_svf!|=ru zFYbmD;<2Z-WH0CPqzLzL7UuuCgBW zr66Gx2tNH*bmtlc_DhT%HSACVk&H6(Xl^tT}JNWc5`i(lQ{bq;~4)gGUtrp5yy~NKKOL3i3Io2OMiN~Vd@pmwcBp>&VXf0((Y61B7t*Un1A@L^Yov$|paN9j3< zUzNnB?pQ}ICOU!N`txLX<+;kz;K``Dt`l37WH|0pJTB>e4SJs5s4#62NROML@8D_t zd|?TOYYUR4)ZktS)_|#Y0NzjO#XY4eWXH&3Ue(#rieKamNDD*& zX}JS>r@N3CNpdruoa98cK2VW4QK&7l9q$KN;^M(MXmkDznRc-chTUq3c*zznWlJ#% zKh@>3rj}Da2|d`?f@ssY03@Eyhtwm$$oFO*7VX%CU$Yuv|DtC^fAVLzKZ}5nxFz%1c@gs@ zL6tc=QqjpSWNjLfhz9~P#>v9Oj%hB)A22Vx&1bR$sSZ>3_q2EpyfL- z-Eb5h2{=M^K{$<+vO%ZeS}^t};A66u2^2PGoLB2GRc+V6S#K8{S(5@O+mAs&$uY8{ z`z8L6DW{Tdacug=^(1AinaV%VWFM@OfR{nl@N*x<;qI8qp(z4kk&gIqu_8FStYt2wA;_Zj;(9p)3^xptHzSic3p|9 zew_w&v9I90BL(QJR-VVzT%KBACP+Qz@%)yXL;dkAFzs2$>^&>Moa|2r^XVeYoia_P zeEATFYehiH%6PJ}Qw3C1_!+-tmC(DH0mJc^!0gka!;iv2flY*9=PcM({tM3g)UXdK z@6t1QIbfZ33Qn)IgLQL)c!lYLTt~xK9DO4OIpRt1{I&+wlL<%D%?fCk2`KQsk-C)a zgbV9ftUC6K)vEe~57*D;@){=STH6$OIQ#)xSA^i8ZVHwwuCBCDjyAs)D8?N>`4o$e zW@3NvHFU5Qz&qK`$)I^NyzM36D7lS@3@pX#4|gMrq8a4`6WA2B= za8_1>(_i*+s6VE@tTJH*j*}d~zU69pW9t znLESbL~&*msOYKV2RvEvtR;i4*jEZC5(+{8T`$B=(_{V?hQn{?9@za~Jmh6efpaUa z@J_vKrrs(_}M(}wByiB-^abv?Iym1_gHt&Jkr5E5*k~6VcdXD%k!tO3Um=h4ne6Wk7CL?`hQ%4M{rU=6F?FOK-^9eaB)UdnO@mVHrn21?{}Sqv>$@xmH9$gW}8vbXe~yhN+wa4{V8P9V{anz&oLXu zY@mCgDaQ9-BgaM_!}HM-;P%BGOvfg{!&`BnzVaJvstF+$HN#H|&JvyHAoG_xBUiS0~8l-M7g3 z(|znZm*x1xGn8%PX_CxWvuQnD#2)N6rwSQ0^ovv&h~4{3wJzPPe6#F(rIBwm8{|`u zb>hcK+%7l#s5Kw97abs*Yki<^c>?hb+DXpZo1x4Rer|TyWvtvLfzey4G2JkL?Hx6z zruS7+u7^ma(DkL$_f2AZaJO&C?0 zL3HO%0cHsj*Fqs2s#L&%>pbE(ya4`~wo?JMYVa2RfYKZCi0v$M?vcY^sC!UL45#bi zozXCoZnPb5Y3PEmelJ=0{uJ16F{ktWCll9}N2K=iLQE)G!;8_s0hxzuNPTWLIg~a; zZ4GnH_YIxL#)*75?#a>2_s6if*9#Af@S$gK4ZJW5VA+R}pg)5TylJlwsV0w;Ah!!rSGa9i9;^B#2(U-2!KGdJGgSru=B z4-!4)2bD#^>HG*OnnsJV+8AWYE0ZUeNgd0)ZuFOoYo>c&)1kCqnCCzspOqn5k7nWA1KbTU~VQ_Gd%BLC^pw6i?aryw=5hs%O58Z^2Vq!+CmG? zq~d;CQD(e(6{Dq=0QrJvz{Fkz^efMSzK0wW@As1g+8Ln7bw|{3jHJ!l|9`8%j8Px` z4CmJAGFHP;#F}q1cBPzz;DDPjo3EUwJLHYrGJlL%+)kcbWrJYQA4ocq5Aq5ABs}8) z{?-n`+yOZ#+K@wA((CA-9&@U{RuSEG&%nYi3C7@!B-2wj7uNNz!Lirx(e{8k!s1La z|L$_Ix~_zCjSo<9Ph$*wpb9xld2lsX85Z1Apj$06G3#mw^*{TB>~yGv2hpw|v*s9l z3N|A;3zKQljC|^+^v%@3laCl?-GI7ZC1fPL6vh-!!;+vncsA${wI#VUKsK9Bdge}i z->;@`?i#?7qir z;zRL;@?%sl4W$kpa_FzP6wey1#rngMc+KE8uFc_LTYV$ZglX_`^%(V-ycnm;>2T3H zOS#vBf!wNVDeSJhpV4!_8n;Ne1w#^c^YWi7K~2kadcJNx$x2=W*@_oXLCl$RnAeF$ zY4$urUL0(>R6>%A_u>64Rs61WllNEsDJgD>1iO`DM9w;rZeKZ#%N`Kp1b+9@!eVts zO*bE076p@pl0~3zs|TaEa_M!!%RD99<8bsu8gE0U6%Jp`1?^N3FmqnXeEb+q9(062 z<&9)|*Q$yd?~H@Nfr~J-&<7TkZ=lU3H!H*NDa1TRSbO(0nQ)9nf1|IY#W4~L3Zhy5 zZMTTmj!@8BxEl5^JqhLV@{l4H#hiFG9e%Z3!{D4^nixBcD;oBO%!%o+=IUJ7o_!OK zRo3Co{3gr*VNUSK?t>WLbpY*GA@eTS@G2F{zO2KIlDQ};Jq63bSVENf#ZUqW>C}z7gY0)Fa97sV8tvXF(-2T_Zkal0yNEj_q&Gq0}EEGPUp$ zm~Sb?hGlxV!p4@pAkdCWI<;VtXDxl1tBTR>@o25F4`;f+Mvo^m@%nNzm}omrqS|Wk z%@R?(+%?K3{yV!zjWFn;Br*9h3-&2i!?Y}dwnx&?+&qbP-gL+OvP|r$79c~Bk)(6? zY0&lBN-hX|?@A-2epp-)${TMv_B%6xNI>oA&JTi|~ z6bI)8h44z&6%t*1VeZLX+~ehpvy7y800(X{I;-1Fa=(;$P-brgE6Okq0s_sP9F5jjf`ve$Y z?`RqoREShHo3`B(g&T_eT!X$UH-(YIwFmvd<_AKZKOgzB^e{L-wFAwzNZOTAgV4c8 zj#5d8J+8<_Ovtm^*+aNtvMFqA?FR2H-UN#}h9||MzHOhtamfXkHGUC|#HU(;K z|1yv33xOc1y-<}M#%?h;23v6vX3yyr%$gT>V3PMQj1LDijc!NV86`Nm&w$#+{DAeH zHZY@GA5SJ-ffbjlp;R~@PHR};B-s@eJIzL*XVnf!j{N`KU=?uOeFjR3TH&G6Wp;N= z5sc{EgPM(t*~b1rIP8{0Zz?x{fW$8dj+zC%kqw~hQUP~T{h@8)Ibgo#k`X}*(43Nt zN6#iAclQHaJtoCmQCPtwom#|{R2~G4e@?Tp@fLizHVx#ZX0jdCh31dapVP}xf_QL1 z3@wV|;l%iESpNPw2zwPnooE8w**-`$E9ViP*V*jyiF$;GvA6?M@v_ZLM7b~cvwS1Y zN)+M_C9??&v&z&MLA1+eZ?)n-Q_xBolY8 z;7cS)m%Bte$LvVMhIpvCnn&char$2B46f+trTo#}`1@!nZG2mXGC_|}&d(oo2frdNJT8EhflhGTza02} zhqG_iAv^bi9fUMUaf`-Z;ha5Np^P(Q;$KWglH!H;W6Q~Q$rk`VYRt=nQlgHpdM=mQNF^E8x1MPNaZe89+Jruo*I}%^gz136~kTo2GhM}a@(_nIb!Tsx#?Uo z9=1CHrS2+?|v8`Ot3k@*8B?RTlG35DB zcBOZnB}lJR2El+yWd5eB=z44_Cp#j={XUt@`HJaqcjxOd&p*y3Yo`0s;5>ci;Vo;% ze%dZ(UZXTT_aTAJDi*865jsp+Lff@zJ$lj<%ixfeS}q zSJZT#oQ?^7;?qr(F4RNvBr&E_U>P$xO#o3quD_o-7q83M7xloFX@O8u7DdBuU*wfK zCekMr^;BT2i?o0H$1Z6vFs!BzUw$4!_fe(8mOPI4OQ)7F#p*w$sMeLQbvpMxl;~#-Hk+Q zWCk-c_%#UisX#=s7PLKeLe1$P$$>*3iEx)7Szju`xGXnjV&6?=E_`|emJ+9#6Kx*M z&1rdXTHhLk{giQvqbaq{u>h6EW_VIR2;|XIc=Npkd^e84t)K&pT!IdhG$IP}b^37g zbS8dL`$$%5z6QsbQ_P${j*P0h6x^4&LB5C02IVv>hECZHm!4P?)eQl-XtabTn@@%t zs%A(oihKjs1ZM| zbLOJ@cKpxIi6m;UTPI?7`Cx(+;?Q-cLAyDD9`4@2VF_hee{ zZ`Ag2$MNfuDB`jn+Zx+w#j^x7>z8KBqyG{&*DXxppVdsS>l7yBNi;-$--ZVauCeQ_ z@^FwH<$-$gKUNM#F_1&c|CU!4OTQzov#!&q$QH8e*A4pLtqImLN&=Tgx8Y083bXYO zR+HY}GvMRMf2@~hDGV(A1aI5tftkw^y4kA&Q(N^w+o>2|U8**hlG($XIl3DY;`yN- z&k-q=K=?gth=z4E!7uG)P`D=!=CG3(nb8Td{*fR|cK%4585O+D7x6FiL*Z%)(qnR0 zVdWZO-rcK4SgL*-;z<%jJ)6oLS}(wSycbQ?WM@(7@&~ZGYY=#`mq6x$IV2QZ0~tLQ zKkVO$w#-F1^xBd(B<?`g~~^3aVW-y*>|uHs%{-elV4)Y&R7*jLF^)gN84h`BP~?8 zki)(S9HNJFRO#`PlfcYx4s)pb3Z`*R=9ceYK&0SpSUA26h8d-Q4l0fpTNN4JX=Ru^ zA`dxlSJBzoH_)><9=8g~gLil%s7;^F>pRm&Y>UoO`{`aNE$f6 zuc@E4Io3)qBu`WMVVai@Y|&Y1zS~)rnOqSMyR;;jHpeWu7jguoyQHbvCmXQYIFp?G zAONYQ;T2~ms$j!|IQm>O2ekZb!LoiW4E#!^Pck3!=G=NpOSa92^wv4N?FW)r$Cw1n z@2khPi^VxT-3gjL)eFBnoy3`!W00G_1=EQ%V&ydUdB{8nXfLNKxe=_!^1pN;`AK2? z9DFBrfs%{#mXnS5;e=*h9| z!d%%oemwbg1saQ8RpZ6PJ> z3+>I=g4+B;Y+T0yD6ThQ=1w+VS=aV5~?p4^fAPA^m1N19Cg;3`@II=;K zIXSTv7W4oduDD6tf0$4kb8WPEkY8E4d=mIs9blJ6TjLpnabBA9EPP5QbCZOp;FY)= zG|R3F4P5(ieV7mKCq+c-<1h)Eyp_5HZecBR7UI6gE%>-Y0}Ymk;RerW&T>GOD-xW{ z`P9eK{VO+vZQyOH9Q*`V?M=YFa-Y!CN1OY;I}wLe{@{ldBHRm0Z%!p#gtORl-n?ho zKmSPZAmvjV@eIzR#+K8$65lCYxyKU7Fw$kL@)GDQt8%t3K8JvwC@Af!0@so+74GYP zVUYP4j=%Dl)5Tu7b~|>rkv8LySu|!1il@=p7Fuyq2{X zYZWeFucSBpy(dC1ZWxEACPk+8Rw$(2N{2E&iWcT6EZL+^Q&P(5*B!#}DnAcW8|4^< zFYWN@s5s2N`xZ`)rqj8}#jxhfGO|QiyCY^plPjyM)>{muin7bvDV(|+s z@D@06(_r$E5Gdhyf$PhkVt}(3Zj$(lY`-`+E~~5n2LAM(Z&Kc!6Xf?pEwHEc}cJJyOFfKAoW(&qZBejDJcW1hHPYk%15%9eKqH?8T9yTs3 zh3FgCNN51Tai?(TJ6aAo{KnvMXglzYrs999Hvy}};c=cE_#6rc!Js9$_D38E{8ItO z>)YU+MJZT^mx6pu3%MAOMCUoqhjUp~;4rV5oZ9{uDtZ)|%1$$;W6>~%UNB_bkDjKo zYt1X|`YP#TW`wxCPK6vbckut-hTcDKny<%Hm?n9Um_C=pGiP6-gS;8H)_$DEH%y|R z58R;boldGQHCYkCo_&F)0ni)>tTt(9C~rd}+ zIO+r@(aJ3zboY1${d~j*M;aYqt$jF7^0`S#O$<3@EkJgt@}pUM30Y=#56|AB)L}0a^s{qm^_HnNc+Zu1+4O5$pEC8Sx;16ZeRa(Hq_l z+bo!2)J~+nEvLWS+;|VgG$BG-52wzsfdi_YpfX$uD|WOIL5U{%xKoH8>JEaek%+qe#+=N$ z7qqfu01wA@qUaSPf1o;nIew}N@%JCe~d`vf(v zN@LwjDf%gtkhx!tiSw0obb9+0)f!Z(bJQ~COZFo;R`q~P`A-n$G>U_Z!8OwOB?8wT zYXG_3>1f2`@Z$^98a;3$~PBqH>XP z^h&H8b86QQ;&At&> zE2JZCHFQXT$6I9{OR^qi&y=hbUlMZo<>R0?=0K zg^PM-|J{zHkxP_%Xs zfDEg1RPsC@Q`Yu}XO%Y%em85=>jyIMn$#uYd&mcppUA-KGDOqbshswoD0Q#O8L?@;lI51+2f|fJe=2U_6Nda`- z(Z^f&N&+I6ZpBptv3N=D1Cpiu%!`(Oz!Q&Pp>hlfn+OM`2u0GuYhe527a_ltCJav% zW%$C(n5R|?nU(L98EU1$R9kv7=avssQ+m+cwzh#jKe7hTnf@?eGCzuJ2>1xL@eyG8 z%?>_D$Kv3rQy948I|1SA*nIXfPQ4pPQ;RmSzTS(e#(F-G!B%poxt~Pj3o+Tp?ICWD zGpx4sBSqgUNyScQvUXn@-4ZQ_M+-lY`N<9R-bF=@9$}H6KME`K<=G{{=h@}f`k0^~ zhu_tGpzo}md6vo+q`}^Fd$Ju?*J^VWhcoe)(tu3&-z?6R42WWU841IltP;@YeOc?&#(Zq5(KR}f3t5%|Zn=)`T zFowk4%g42Uj^ot+chuFt4Hj*j43F++!F9D_=r~kB_zO(X@bz}oQcmNw{_EqafoY6T zS1ZsqbH-zG0^H4(W!7E13|mYCs5W13<+RVq^-g1Lw(7QVWnr{d*I_ZYY%RvgR zF@M2zu?2L-ogyvsY=GFA(-X;-PGVZjxVS$K>vopls$f-o$oCi&jRZl1?><)jdJhZNuB5AeekOD7NP*;URY+w& zo2P%MrOVhebnQM>vf3jNhHaMMK$8~MJXWHkW;$plxBgC9cR?LS_Aa_|^cQmw{SM+7DAKUC2gO@IYy#9_}Z9gHg5{Zb$gCg@aeA zx|J5W`AUFITCESgI?7!5jyLF$qsx70*P;6x8TPGs6NH^j0nO~UP-fCtt*6n-INvD5 z6E+fHBPYuR(T2LQ@_te69v-^&){kHPcE7b#;H+wqZ?ZBWZJbZ(^cKc9hw;+^m@`3O|j3bHHdC$M^S2>cYOwQ0r@SQB=M zr>xXNq*UC%h?kG^0;2HUgKzjaMU!)GEyJXnc6cwkoiSRFiI0n;@CgcXM%6RXxb-{9 zf3_b7HkM+&8zIxjui}NUQT(74M0fNc=2vGS`_J9_V)o+3K~?%!su)z}TnEio8+2>v zL&co=+{uMYxFx(8q}`XW-qMX0e0xjG{~Y1v#A|}@90ii)nMhXZeZc(EUl;^Boa>`e zF_nwj-i^u4}(xcKF1y0LgBUfy{a1lptErf?MuZ1ID6?JFU&PZ;_iHp09UbE|i+il!?( zFOj%9TgYM<*#Dmp+*V0s+N@4Mq2g4K51s>N?w({veLKyOTZ*nC${?g_MKHXJ=(?W% zS7sB59SwsW`u6$&W2ChEIJ{jS0SZw+p{nd9*%-yb;m()D{cj2=8+$>~ z(PLzbsfV?hP|@68^^*`hMF~c?Tj3J}Tih=xfp0!2!_`yoLG+3^8*}ym8S+UY53;rZ zn2W>R+mB#)b}?MlT?6ttdazAVnf5w};q&qd;P;G%6<@E=*b|SaZ0;?(y8jleidYCZ z7)m!86rg(LY^XNzLAfK|uV#35Klb>V@q3!bnE_m>Q;@ z(}a795x^^MfULo5w4&@^?#-Oad-e4dW~|Hv%cCw}c2=Cd#wvr|DhtlqvH}+G6J#a6 z4ua8z=OiOY65EoS82#gN?DOYNZ1><)_LI$L_!YhaejX79pA230llUkpy3|9gR5w6b zQ4~xmje~Pvtl6KnFCZtM!3WNvsJTB9s?x;Z(7(NY>tGoaR)oXgCV%jAJVD~hz456D zAD6-up}f2%m#8Vu{g|oC-IIwz(G45H$ao$k$H-aNe7pp@br+$oWf+ziYO>uw0$|pM z6J-CSsW2<30mKuU;NIg}Nbr0H2mad+54Vfc{G8ul$)x=ASU)iH5#u(vNZ`}ghGg)N z3mJ}$!qMRZT2~Yfu6zbCbafT>#7$ie zs9MsmnFZ52Dqzm4JglmkkI#gZSf70|?3``Doym~ruB9*I)c1!H{v+b#j6o2rjk`+~ zyOxsI&%)73qZBqTpTTN`DuU`NbMDZ(Uzjmp0Nu}iCWrYZAZk(q9O9<))X;!&vRMZ$ z*I8CA_%f{QNx@yE*^sbiF{aRQc*52~=}jv(rXw3J?m0>HGR28VYzkzpn8H3amqVrB z$}}zSH7VV(7~C)Gfb38ktk#|av$wB?=>hX#XX6;i*(_wuJr&vIA&=?A`)e?qn+Jw5 zJeXA>z-mR7fYlKe^27?^?v*a+Y@NleUUPs-t0v&BEG_u5 z;yUdA(E_zETVR2=IQg%+n{NI_arZd}t4{t#^K(hqu(O9$gg1~~heOFm-$K}ta0hnq zEMed3Kjg*iW#HT#34hJ=twX%B=;xUS;Nwg~tax$@OnOhlmijGl<9ZTI{1JsuZ<~o< zaS72^YNvvWlIXNt5l$}E6RdAN#hR4RaXMRU)Rt_J&OeFI0v?$RsfTx#Vy$$%*~qWjw4BG|N1Ej%YGf9 z)>VQCG@4nL!+_bDc*@_E2IH=AbWJEiNzf#iJuna0k!6@aT8}&T7-Qt$J|-w&fE=h| z(8axyjyosfu5<6O$|D=s?a{|Ad_y$;b~&Dnj>7p;zG%2+7T);p3AwOoE4J(I#eK8@ zww?(L>zty?Puee1}FcpTKpjlN@^%K~wCtz@%{xC`LL#Ku;o7 zIYjVW);UbDc81_3$8rCVF#EW+AIx`-K>g<=(3zeCHna?4Cxw#8@z;baYNAZTc6!ot zDW21fz%0JmP&aPKHX2K?E?Eh1QP&XC$~XVZ`Bh|{LJQAH>LL!Fc7+o&#V~u~4z#}`gR?&pnaZ{FyTth$S)FS^sni21|GXt*C%nl0@mBnMPzC3f+{AqQ zRd{#nb-M6f9?5y)2q71ql8Hxyq_H3fYL8}-tFrf?>-0@<41NiRj-}G&XXoMFH$eLe z+vu*r)3j(oEbQe|MenXL+I%~o!k^vv?88r-w@a40w|gU}{c02E)5ga=l01Re$_1%v zs}@YGH~`gTIz}E3#n3*iX(k%!4V@ zltK3FdnR@L15{nOksIzX=gNvM;Eu(2(Np&@p8ZjV>wc)>&h|8ri#Q2-PuigPhZ|;% zm~!REXL4=Q3%P3*qFh(gQiwP=4_f?;nHbaMZ^;4xHq^36FodNcOadvxD8TVB+;3%v=~mJC9g$ha;}ykvkbs@K%T28>7Md z?J+^beJklF=VXZ8s>SZ%f51rGjUqaqOK>pbI+jYE<`PEuxWkLvP_*wIbGV}g3_j~X zvB3)%Q+f(-4ElLrPY0pDW+R4}w=<$_DQeVAC##3Tuw(K#EcRK+wtx5qU$;rIpT$Jj zCEjiHK5v8deZO)XDih{97V2=j&z{1sZvx9VaGS3+a?Nm#J{ z32=wpAmZ;v%vd^t6gWJRq{S`$cUNC8Sc9PPWOm<;E#QBi5B_|qhU*pg=~Jm#)SIe} zF>6Jcq;e2+KJ!z+>a#hxVk)+-@?ssS{l1~ae1%Wo8^uYX%ruk`c8_H>j62MM2Xz~%(uzUJ9fipN_<&nfF@z7_NAw zgAON;@z!qZ$AjR(nR)QTk`hz)N$@VPe|rqvp9xdf>P*yg%3{pEd-C)*Tt(^Mf;iW3 z30@2cK&dr6^sPvTE%Hv>e(R@~vR=eFI!ep2jJ9IB}Ev7jv_98kr@c zqsWRk;`#Q4#7T@2kAUs4(8`uPIAjjH?X>8pBchy3dmvVbDsyrwa;UC<6o>2+FkzK7 z&hawBn^Ps2b(fdol_BcnPdCFx9W!R7A4;+=Yi-H>t$FBMe;Q?$J?FhTb02NkE;Mgm!2RZ* z&V7;f;${hma{E>nRu8^AjvK@Ix$7IN@oD27%v-+*Jgj2HS&&SP3;FHuU~X zR$=TE_@7N9vAZ1L)_XyAS(PQ^t#GCi@29|0-|47U`j3OnR9U`q3D$pf6fPQn01H2vjXe;qZU=?KE$s(cH;wyY2?tRBAPh$7(MeDk z$nLA8uhts_tNvxfmM&T`jgKeyA{ZlwEdy9dn|x-j^CsIx&B83ip8nQV<{}TbDC;4 zc_QcShoTOH)+6gAaLVL&^i{I~8fIA2vh+=Kfm$+?puG$n7Vn{o57z**=k|>>i%-l* zo;oS{8wLyR%_2@~1;NR17M(1U2~)=+V9LR@41T~Z4}tdB`FJnN3VC`$yz-ZmFnHL63Eh7JO;dKuhUAjG;y?gN``#?Z06f+yoh~7lDu$y33DB!F=xh@^~<&Zx>ZsS|MRj#z70jZU5DS%r-oZWaJY?%-blrbva|lZ z%irMSBEc0@FlbQkk71pQpw}rF@0nlXWek*&Yj2gQnN26wyicW1BO~C|*>E^;R|u=T zzE$g#8bGt*M*KVQh`D8Th8ieH5T%tNG;L}Uwhz_QGb?hz-L(VGcN8${(}cLGbyaYC z;xYc#6vr(uTFC8XZKU{P0D6}0BJN36STIMN>3pk>2@3n6D6=1%9top}&qB;!??BIg z9T7$zZZilcCF50pU<2DDi{^f z*@3V2HIu@B9RK*r7brK{!n65n%c+kC;rQkcWb=<)QvLZHFdGj|Edl#soZOI@x zn=i^{TvW%TU2Abk{AD6zrU_B-mjrYNF&_XwTnHcmM6gls%Qa$AgB%bn+8=;B_r? zRojQxAf5?dmVD+tvB>59?Xm;D>w!#OdkO6l8R8YFJ)_J0U(>I*_wX+Kc}GKj8InKC zuaWEHs#NW`qV>MKTGE&!gC`wR(CS4BYVA6M&t__4%bI*fbN)7Rs%C^RN^`-=GKt<< z`iq>OsS0w$pZ8;*uedKGU(iuE@{s)gqow|*AJu``% zPr1W%&VEk>+9lazAt6v}CkAr67Lwm4zfs|HEIy9y$1VEXpron_+;kdY-{VXw5w{d7 z_c?;|SRed(+y)&bFW`fK5l)YNN#6{`qVj@|41F&LXACcqF9&3C=m8&%TY3lXhkl}N zJa;xA!kaO^SdX`RW?)9{MvRzRMO;-*(FdjTtkY^D;H+E@EMKq%J@$#yT&4A_9{)Ke z?}r(dZ~Bf08!6^pI*huPLt$;vIvD$q4nG#uknbf?+~UAK*p<=1I*VMw)``hnQqd}I zRnsA?s13%xY0E+K&o8p*Z8w%{hH@TClel)BIc#BT6uU+HB+S=I#wc5V&S~R8^t>ld zZI>lfr%d}qrm*JRg%*2GHesCZyX8$X`%S6;8iq@I9fBj33LIl!h!+$ekjTjQyvt>A z;IUGi#_sw>(efddXDM*fcYdR4!F(?Dj5`+Hn1m4}ojjS|Qz-PL4;NiuMxO8g$jb{F zgslsG;G290ty9^GLP;IC!|^h1zOV*!{A+l(E=3cQO>?1Wwka$ZSq&4OouvF;Em?43 z4jq<|gyTE>abCwDdXG!e^wCq+AO0K!znn{Od2TpF&MAXOv#)}ha1}&E*sx1>Jt9Va zGeG7!KXy8cz{-mSB&TdYEI)Y|wjcV$?8*~?-}Wwl*4Ub&RwvejnXfS3&@+h@k<@?FK-`+P91^9wQL z`l)BD8u1X{O=sCjaCNzxv6q`-?Yi8JOKMKwY}IXWT0$-6w$-ACrA>BLOdg2^@BhIP5RIMd=7_$nI_uVtZ(@t_f0 zuD3$N^Q$q{X9xF1A{kGKxq;q=da&-=0ACE&!|Quf!B6%n)5-4y^9EyZN7F5gx)2M6 zM+CTSx8mTrM-vQBz7D2GS|G=782okWNzC;GvLc1@oLxpSceg4R_Qi(qS;bLvRUc9* z&`v$xbo0`L?amaJp16-bX}lD^aD@WZ0JbVHLrv=pSnsX_`)jqdE5zx{ABqyl7o z71>GZYHW*fJXMe?rlxh5koo63FUMCxwN4ToPyYlG4#Mo`ziRB=ZDkN9w-q#_3}N}= zE@E6HK;Fit;m`EtTtxm~Y+v#lk4j158BUv=T6cnpkeCWy`LoGck;Nd9avl6AxFwe~;!T)y7iI7NmS=~hD=)K`tyt)c}tM-zQ(;8rZ-&uOtSObzJ zrjQnE8{WDX;&?<`5Y$$tLFubwsG}%I7aQji-KV11w)!mcNf+Q(y&d>>ni%KpV9xDu zRii4?Y9P>UIo&cn5@+<>qYE}K!It4{JoLK*PqT^8A25T9pPt0s`;|_WMMa3iKr38u z(16PAalGAo$55A~Vc)%JR98NeXf5Ugy(Rjbw6HQal(7igFYiN>+k9;L!^dRDhzhKz z%EPkAE$DStl+~3JhrMc*V4fbpnHkA&5C49o*1^tbbn_Bfw5SkvpV>$nil;!ddkopJ zb~n4&V=`;2IE8(?cN=F=lL2n4Gm*71;l5~v;+^3bFqwLn@=D&oz(6lFe6?fyzi$TV zq$ntU5Jy{PxRK+|F{tZVg7fZu0P6J;vWO4d(HN(E=hlF0uo|A8Fh@nHTgdu4ayHyo zJiYlCUQ$0xY+88W@!1^=mR10t@B=h9_(Bf1@o?SKQrweM&+z-sB!TB;pf$IM&OU7o zG2gEdk@c})!={thHhD1F-vA%_-lwj1(Y&*3ZE%l@E|F@MfWz{BP*Ob?{s{$Hl~%#q z-`Pr9w~0WH=x;FjRft0^YTSi7U0fCa6ywh=MOU3LW|`e7nEzb`yc&J+l?lg-TImnZ z3oTgN%YLAt&5tgUX0#{TiKjPof<9ej1SDk`GVP0K&&EtlBG&lz@D$c^QyOsUzOX~E z8pc!An5VxcVEXNI5dBG#UG8fH@d+iQ_EIkX8PTSHA_l>0F;;h|ABNzU>%dj(2WI5RF>;P%fq%LbBi&24bx;b41C%DzU}4-beE#p?h3lZH|vH%e$DOIqTRy3wHfsH@4IJJ2~6@ z9v3gq#`#mtxs&k+I7zw5+|=q3oT9FW35zG;#h;6@^2#~h zA<11{KZ$c`m^5)G$lJ(;XIc*sZ{f>XA-XlF)!xsg;SIVi{ zyeG8nmLP_Cgp*ZX9ps0t0F}_b##Ge|(M2ye64S#5@VPr01`<+`ud9}NTi9Z{*kar? z;6N1$PSZ+B9lX-43DXN_q35xy^ooN6RV|N^(RW%sm^HS)Fq*CHvGeG8kPKHZP2Hfn0!2RNjqFz9YMHP7H3bV^hzcGIKkyJo;4wZ4+K@aPlqs|45v?eEy_o`3@kIlP> zTlP)i62EIOckT98YZYt*Jxyh7VWf%1=p~5m8|KaI4~G!qtSQ<&+tTeRwzDIohYpH0$roC)w_>}(=VMW$*@2B!H8DQhRhb?poVB0Ik zN!oiw_ODDISck~t$c}5gZPIt(_{WFPmTwOCldG`dngII`h2RyC4<1&cwj{Vr_2e?j&xoWhp1I`ZJ1s>Oz+{I@qTKuz%Yl zm_?*OQ9_6;t$9v`e$}AX3`wqv|2016RS^|&1#WoA6Xp7P;DcQzmTV^5A^@BJcg>-^^btMJV~H4d!NPV4b!K0M66UH$W;TFNW0v z68LbX7Q{D6u|CcbH2AkCo-WKn8r_f9*7jI4FOt_~u8gZbuAzM6TGfVWsf7PfKJIy! z2z}LJtdmC*FZZ1|p4RKY-qb%hytk8>ZRsGNEv~_;)_d^qrYr1}cZ0OGdaT;t=~yr= zd2YMwJggM_LSMVe)8HEhxMqI>{cR+O*P@HDU#1(S47R|>no}^kpoTZ5QG-rm*J!zT zGYD1sg0OBC{dxWnd3qoZ`h?LDU2GHr=r=rFw_rq z{)?So9~;BBlr1A<5L2E^Lvm-f_RydZ0KK&NV>dT@+x-aO5=?W1@Oyq3-8v-OSGc54}EgAkQtqf-2>aJ{|Y9MxHUGQ zyqQP#o-T#Hu193#r!L&Ln$Ih=PsXrG8c?g#Zmr!L%PR}jB|~$IV4AozV`Uq_JPQ|s zZ|fat;Pl6|bmmW*3d(dx_cBP*Y^H8KafG)x22AZt;PJyqe8>I4tDP}uVey4*`2YXT z<(pJ2PYD!?2gxbXRp95j87T zazDI$9RZK7zNYaN2Z_bk3aGrDgv#e*Y1f8h;GpmmWDY2DO`iIwzIPE@b#WckdW7T6 z|2(jDu01v?3BZ&jmhM#@2^ykdJOeEK zD1(jOnbdumK08a#hP}xSkoYMJ8UOnV+?7+?+0dR{*em~lSnRL@$-LQk_`xmO=irD} zwL)2MQAO6eR)O0UG=fhZ6u9dLrqO2!W0=#1nux2y{UnzLwj@He%QQaLS;;g~=)^F&%`;fe762Wrk zHuOH{i${A3@Ydn4=>ORqDlJ#w#85ddVXUo14?LrbR;rS+W=q~`%YHnja2yUi`~h)E z;V6A}658B+O|2CFqkCtRfP3CJFC%;|?%7jJzVBa*eQWiJUBfYe{-qw&I{Y6 zk7Iv+DmjU5kntv+;TOF{6XV5LHDJJqi6^T(GSQ>6iSaE7r6vl?VX2xuB#RV~m`_;{ zrjbc9e?((&=~38R>xCT~p3xeUEm$XEiGLSXK!<5KDd`enT^qBAjJ5$BRsTZ*f4SnU zN9%~e&KTHpECZF&2J!yKS`wd@%LGNt1E+cxPK?Kq>m~O1Zr3qd=ifv%c1*$B?)$-s zvq#TYClH#`@xMC*%=%-Ic*Uv}{jI(bb^S}UnJcC}50=u|DQ;wVTP(!urO!>vxkn%U zETf%n1t?{*4NFwq8Ogk@)=}w$Wc`>d1g|iLMz=^tcjzvOi+Bm3;K}y)2C}Z5kKwOq zKYUpu1%VlHkR>vmep_2el0Mh-+IF5|+|~+n7SDyqNH<4D-)OS$XPm&0t8+mfw!)~0 z9CBk4+>dMFBs8UvSYEY3n?hS`-4%_2JJ+MFivhF3Rg$}&Cd>U06W|J5d1!a-Cmu+@ zMwZI10poXRxc}5uT;H9GMai}Fc3cTlIe8WQ60yS1cNTMvwb}UJ*1ssW>rM4AKH>Se zRnbi0D17+H9HnamId8wq*fU9o9q8Kk&nKZSB!dj;n(6n?7cn%CRq2YU&_>HZ!DAS!&xZud`s&BTI7OuhrD?G^h z+j5|@wuJh9x5p5D87%(|_`$ve-6y}H%U&(P^Ya#QE7Dfs{ns8`>aq!RDc+6=XXgXq z=ff4b$C3HKVz^x%>VNG)<7bOe>aZav(1z$0y&R<*F4A5tv+9d?)K=Cq=$hb)-%}K$IS9NIddNt}@WN&yx>+#O(CeWrop8tBM zOuC=9lhaOZBr44Wi)!A{C4v{poG06O>aT0*q(>J?$iE(cy>ymDP?PFS(RL8f!Ggf* z9@4J$n=TovAx_~VRHUJVbTux7vfoo+ZrlvwRh3GcSIg3=r6N#Rpasr%Y@sSQn7Fqu zhMbssEIoG&6piI!zN1^ipSxUyAN;KA7OGjNs9gGdki+0zhOKE zd&oj53wUZaP%X5Lpz_<(^hJo)zd7S$_CA`9YuutCzDJgIpB4ZY`{z+k!U^r%KG0bi z3i!;=9p~?Q!Q`G>2p?{EGi$Ol=sltTP`hs$>^iy_7T!Gt$y*(uYOB=H@kPt?fv#uCEi<@Q-&It$ZmEJ{Y!Kdw+sxbHRskD|Ysl)4!E{@>GLfywAcv<~M}gj z6e4am(k%aaLwd43rTVl+Du#t#r^7>en0ci1hJ9ZOUbR|+Q^*h6^Iq3F!$b|5ugL?w z^&L%Z25A3d5pMEEcbxO?AkCIZrsF1& znlvhHs6PJ58&>KS5|Nj`$d3LLGF(2Rcucx2-9w1M*h}8ewN&-VD%rv)wSKU_d`|e|yy2zG{4!)!> zihGI7^>*Ssc^N)emf_lV>XL3@KGxunG+TJ00zO~UWv|_~0-Gj&n4-`^8fP3QKNkAa z4NtycZv7nQQ~gQY5iiPBMT)XZ=ElHHxgN0SdJ46VtjRjNTIx8Vg-yaSc&pwWax7Hg zLevekspR4Qt0B1TVIdmqZD!Uni(p?tK3%an4>#VQ3_|P|!oGY?uX_i=`@`bw+0Bda zgx+;5ov36&g17MkmAdE)LqWPVs+4SeF$PBh#dsXw3hYM-Hmx8L-8r+$@sHG;LoB@4`QAyKeaJQ@=wh7Znnvon~WtuSIx*fU>U8cO_ zmdNv}Bl;`95#j1uVzX5hx|>5 z{7cEL#t!xodfEyNwKQ>;L1&;Y*ZF}bd@oB$f8$t{gugNkG%+eE435kCJFIYA50*}qP8-(mH(^m-x>mEZDpC)o>tJ} zC&-$=$cE5+^3c0~J{7sT8xtC$FmpJV7#DmbhpuSA8mB#QF-8yAb#vgFY!8f{I|